{"id":99,"date":"2026-07-07T00:38:53","date_gmt":"2026-07-06T22:38:53","guid":{"rendered":"https:\/\/malstrom.dk\/?page_id=99"},"modified":"2026-08-03T10:38:02","modified_gmt":"2026-08-03T08:38:02","slug":"malstrom-prisberegner","status":"publish","type":"page","link":"https:\/\/malstrom.dk\/?page_id=99","title":{"rendered":"Prisberegner"},"content":{"rendered":"\n<div class=\"wp-block-cover alignfull is-light has-custom-content-position is-position-top-center\" style=\"min-height:1501px;aspect-ratio:unset;\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" class=\"wp-block-cover__image-background wp-image-141 size-large\" alt=\"\" src=\"https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/pergament-baggrund-3-1024x683.png\" data-object-fit=\"cover\" srcset=\"https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/pergament-baggrund-3-1024x683.png 1024w, https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/pergament-baggrund-3-300x200.png 300w, https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/pergament-baggrund-3-768x512.png 768w, https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/pergament-baggrund-3.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim\" style=\"background-color:#d6be97\"><\/span><div class=\"wp-block-cover__inner-container is-layout-constrained wp-block-cover-is-layout-constrained\">\n<div class=\"wp-block-group alignfull malstrom-header\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\"><nav class=\"is-responsive items-justified-right alignwide wp-block-navigation is-content-justification-right is-layout-flex wp-container-core-navigation-is-layout-89b4c9e9 wp-block-navigation-is-layout-flex\" aria-label=\"Navigation\" \n\t\t data-wp-interactive=\"core\/navigation\" data-wp-context='{\"overlayOpenedBy\":{\"click\":false,\"hover\":false,\"focus\":false},\"type\":\"overlay\",\"roleAttribute\":\"\",\"ariaLabel\":\"Menu\"}'><button aria-haspopup=\"dialog\" aria-label=\"Open menu\" class=\"wp-block-navigation__responsive-container-open\" \n\t\t\t\tdata-wp-on--click=\"actions.openMenuOnClick\"\n\t\t\t\tdata-wp-on--keydown=\"actions.handleMenuKeydown\"\n\t\t\t><svg width=\"24\" height=\"24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M4 7.5h16v1.5H4z\"><\/path><path d=\"M4 15h16v1.5H4z\"><\/path><\/svg><\/button>\n\t\t\t\t<div class=\"wp-block-navigation__responsive-container\"  id=\"modal-1\" \n\t\t\t\tdata-wp-class--has-modal-open=\"state.isMenuOpen\"\n\t\t\t\tdata-wp-class--is-menu-open=\"state.isMenuOpen\"\n\t\t\t\tdata-wp-watch=\"callbacks.initMenu\"\n\t\t\t\tdata-wp-on--keydown=\"actions.handleMenuKeydown\"\n\t\t\t\tdata-wp-on--focusout=\"actions.handleMenuFocusout\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t>\n\t\t\t\t\t<div class=\"wp-block-navigation__responsive-close\" tabindex=\"-1\">\n\t\t\t\t\t\t<div class=\"wp-block-navigation__responsive-dialog\" \n\t\t\t\tdata-wp-bind--aria-modal=\"state.ariaModal\"\n\t\t\t\tdata-wp-bind--aria-label=\"state.ariaLabel\"\n\t\t\t\tdata-wp-bind--role=\"state.roleAttribute\"\n\t\t\t>\n\t\t\t\t\t\t\t<button aria-label=\"Close menu\" class=\"wp-block-navigation__responsive-container-close\" \n\t\t\t\tdata-wp-on--click=\"actions.closeMenuOnClick\"\n\t\t\t><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"><\/path><\/svg><\/button>\n\t\t\t\t\t\t\t<div class=\"wp-block-navigation__responsive-container-content\" \n\t\t\t\tdata-wp-watch=\"callbacks.focusFirstElement\"\n\t\t\t id=\"modal-1-content\">\n\t\t\t\t\t\t\t\t<ul class=\"wp-block-navigation__container is-responsive items-justified-right alignwide wp-block-navigation\"><li class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/malstrom.dk\/?page_id=178\"><span class=\"wp-block-navigation-item__label\">Film<\/span><\/a><\/li><li class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/malstrom.dk\/?page_id=181\"><span class=\"wp-block-navigation-item__label\">Museer<\/span><\/a><\/li><li class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/malstrom.dk\/?page_id=99\"><span class=\"wp-block-navigation-item__label\">Prisberegner<\/span><\/a><\/li><\/ul>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/nav><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:20%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/malstrom.dk\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/Hvid-transperant-1024x576.png\" alt=\"\" class=\"wp-image-149\" srcset=\"https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/Hvid-transperant-1024x576.png 1024w, https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/Hvid-transperant-300x169.png 300w, https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/Hvid-transperant-768x432.png 768w, https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/Hvid-transperant-1536x864.png 1536w, https:\/\/malstrom.dk\/wp-content\/uploads\/2026\/07\/Hvid-transperant.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\"><nav class=\"is-responsive items-justified-space-between alignwide wp-block-navigation is-content-justification-space-between is-layout-flex wp-container-core-navigation-is-layout-cfe5ce44 wp-block-navigation-is-layout-flex\" aria-label=\"Menu\" \n\t\t data-wp-interactive=\"core\/navigation\" data-wp-context='{\"overlayOpenedBy\":{\"click\":false,\"hover\":false,\"focus\":false},\"type\":\"overlay\",\"roleAttribute\":\"\",\"ariaLabel\":\"Menu\"}'><button aria-haspopup=\"dialog\" aria-label=\"Open menu\" class=\"wp-block-navigation__responsive-container-open\" \n\t\t\t\tdata-wp-on--click=\"actions.openMenuOnClick\"\n\t\t\t\tdata-wp-on--keydown=\"actions.handleMenuKeydown\"\n\t\t\t><svg width=\"24\" height=\"24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M4 7.5h16v1.5H4z\"><\/path><path d=\"M4 15h16v1.5H4z\"><\/path><\/svg><\/button>\n\t\t\t\t<div class=\"wp-block-navigation__responsive-container\"  id=\"modal-2\" \n\t\t\t\tdata-wp-class--has-modal-open=\"state.isMenuOpen\"\n\t\t\t\tdata-wp-class--is-menu-open=\"state.isMenuOpen\"\n\t\t\t\tdata-wp-watch=\"callbacks.initMenu\"\n\t\t\t\tdata-wp-on--keydown=\"actions.handleMenuKeydown\"\n\t\t\t\tdata-wp-on--focusout=\"actions.handleMenuFocusout\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t>\n\t\t\t\t\t<div class=\"wp-block-navigation__responsive-close\" tabindex=\"-1\">\n\t\t\t\t\t\t<div class=\"wp-block-navigation__responsive-dialog\" \n\t\t\t\tdata-wp-bind--aria-modal=\"state.ariaModal\"\n\t\t\t\tdata-wp-bind--aria-label=\"state.ariaLabel\"\n\t\t\t\tdata-wp-bind--role=\"state.roleAttribute\"\n\t\t\t>\n\t\t\t\t\t\t\t<button aria-label=\"Close menu\" class=\"wp-block-navigation__responsive-container-close\" \n\t\t\t\tdata-wp-on--click=\"actions.closeMenuOnClick\"\n\t\t\t><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z\"><\/path><\/svg><\/button>\n\t\t\t\t\t\t\t<div class=\"wp-block-navigation__responsive-container-content\" \n\t\t\t\tdata-wp-watch=\"callbacks.focusFirstElement\"\n\t\t\t id=\"modal-2-content\">\n\t\t\t\t\t\t\t\t<ul class=\"wp-block-navigation__container is-responsive items-justified-space-between alignwide wp-block-navigation\"><li class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/malstrom.dk\/?page_id=184\"><span class=\"wp-block-navigation-item__label\">Se vores arbejde<\/span><\/a><\/li><li class=\"wp-block-navigation-item wp-block-navigation-link\"><a class=\"wp-block-navigation-item__content\"  href=\"https:\/\/malstrom.dk\/?page_id=187\"><span class=\"wp-block-navigation-item__label\">Kontakt<\/span><\/a><\/li><\/ul>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div><\/nav><\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div style=\"height:187px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400&display=swap');\n.sp-wrap { background: #f4f0e6; font-family: 'Courier Prime', 'Courier New', monospace; padding: 0 0 60px; min-height: 500px; }\n.sp-punch { display: flex; gap: 12px; padding: 28px 52px 0; }\n.sp-hole { width: 14px; height: 14px; border-radius: 50%; background: #c8bfa0; }\n.sp-title-block { text-align: center; padding: 32px 52px 24px; border-bottom: 2px solid #2a2520; }\n.sp-title { font-size: 18px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #1a1614; }\n.sp-byline { font-size: 13px; color: #7a7060; margin-top: 6px; letter-spacing: 0.06em; }\n.sp-body { padding: 32px 52px 0; min-height: 120px; }\n.sp-scene-heading { font-size: 13px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #1a1614; margin: 32px 0 8px; opacity: 0; transition: opacity 0.4s ease; }\n.sp-scene-heading.show { opacity: 1; }\n.sp-scene-heading:first-child { margin-top: 0; }\n.sp-action { font-size: 16px; line-height: 2.1; color: #2a2520; margin-bottom: 2px; opacity: 0; transform: translateY(6px); transition: opacity 0.4s ease, transform 0.4s ease; }\n.sp-action.show { opacity: 1; transform: translateY(0); }\n.sp-action.sp-story { line-height: 2; max-width: 640px; }\n.sp-cursor { display: inline-block; width: 8px; height: 15px; background: #8b1a1a; vertical-align: middle; margin-left: 2px; animation: sp-blink 0.75s step-end infinite; }\n@keyframes sp-blink { 50% { opacity: 0; } }\n.dd { display: inline-block; position: static; vertical-align: baseline; margin: 0 2px; font-size: 16px; font-weight: 700; color: #8b1a1a; cursor: pointer; user-select: none; }\n.dd-label { display: inline-block; background: #e8e0cc; border-bottom: 1.5px solid #8b1a1a; padding: 0 5px 1px; min-width: 28px; text-align: center; }\n.dd-list { display: none; position: fixed; background: #e8e0cc; border: 1px solid #b0a080; z-index: 9999; min-width: 240px; box-shadow: 2px 6px 16px rgba(0,0,0,0.22); }\n.dd-list.open { display: block; }\n.dd-item { display: block; padding: 9px 14px; font-size: 14px; font-weight: 400; color: #2a2520; cursor: pointer; border-bottom: 1px solid #d4c9a8; white-space: nowrap; font-family: 'Courier Prime','Courier New',monospace; }\n.dd-item:last-child { border-bottom: none; }\n.dd-item:hover { background: #d8ceb4; color: #8b1a1a; }\n.dd-item.selected { font-weight: 700; color: #8b1a1a; }\n.dd-item.hidden { display: none; }\n.sp-beregn-wrap { margin: 32px 52px 0; opacity: 0; transition: opacity 0.4s ease; }\n.sp-beregn-wrap.show { opacity: 1; }\n.sp-beregn { font-family: 'Courier Prime',monospace; font-size: 15px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #f4f0e6; background: #2a2520; border: none; padding: 14px 36px; cursor: pointer; transition: background 0.2s; }\n.sp-beregn:hover { background: #8b1a1a; }\n.sp-price-section { margin: 40px 52px 0; border-top: 2px solid #2a2520; padding-top: 24px; opacity: 0; transition: opacity 0.7s ease; }\n.sp-price-section.show { opacity: 1; }\n.sp-fade-out { text-align: center; font-size: 13px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: #2a2520; margin-bottom: 20px; }\n.sp-budget-label { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #7a7060; margin-bottom: 8px; }\n.sp-budget-number { font-size: 44px; font-weight: 700; color: #1a1614; letter-spacing: 0.02em; line-height: 1; }\n.sp-budget-currency { font-size: 16px; color: #7a7060; margin-left: 8px; font-weight: 400; letter-spacing: 0.1em; }\n.sp-restart { display: none; margin-top: 28px; background: transparent; border: 1px solid #c0b898; color: #7a7060; font-family: 'Courier Prime',monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; padding: 8px 18px; cursor: pointer; transition: all 0.2s; }\n.sp-restart:hover { border-color: #2a2520; color: #2a2520; }\n.sp-navn-input { font-family: 'Courier Prime', 'Courier New', monospace; font-size: 16px; font-weight: 700; color: #8b1a1a; background: #e8e0cc; border: none; border-bottom: 1.5px solid #8b1a1a; outline: none; padding: 0 5px 1px; width: 160px; height: 1.4em; vertical-align: baseline; line-height: 1; box-sizing: content-box; display: inline-block; }\n.sp-navn-input::placeholder { color: #b09070; font-weight: 400; }\n<\/style>\n\n<div class=\"sp-wrap\">\n  <div class=\"sp-punch\"><div class=\"sp-hole\"><\/div><div class=\"sp-hole\"><\/div><div class=\"sp-hole\"><\/div><\/div>\n  <div class=\"sp-title-block\"><div class=\"sp-title\">Malstr\u00f8m<\/div><div class=\"sp-byline\">Tilbudsgenerator \u2014 v.1<\/div><\/div>\n  <div class=\"sp-body\"><\/div>\n  <div class=\"sp-beregn-wrap\"><button class=\"sp-beregn\">Beregn<\/button><\/div>\n  <div class=\"sp-price-section\">\n    <div class=\"sp-fade-out\">Fade to black.<\/div>\n    <div class=\"sp-budget-label\">Estimeret budget<\/div>\n    <div><span class=\"sp-budget-number\">\u2014<\/span><span class=\"sp-budget-currency\">kr.<\/span><\/div>\n  <\/div>\n<\/div>\n\n<script>eval(atob(\"Ci8vIEVtYWlsSlMgbG9hZGVyCihmdW5jdGlvbigpewogIHZhciBlanM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgZWpzLnNyYz0naHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9AZW1haWxqcy9icm93c2VyQDQvZGlzdC9lbWFpbC5taW4uanMnOwogIGVqcy5vbmxvYWQ9ZnVuY3Rpb24oKXsKICAgIGlmKHdpbmRvdy5lbWFpbGpzKXdpbmRvdy5lbWFpbGpzLmluaXQoJ3V3clZfcjZZWThXU2I3cHYyJyk7CiAgfTsKICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGVqcyk7Cn0pKCk7CgovLyBLb250YWt0Zm9ybXVsYXIKZnVuY3Rpb24gc2hvd0tvbnRha3QocHJpY2UsIG1hbnVza3JpcHQsIGZpcm1hTGFiZWwsIGZpbG1MYWJlbCwgZmlybWFuYXZuKSB7CiAgdmFyIG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzcC1rb250YWt0Jyk7CiAgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwoKICB2YXIgd3JhcCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zcC13cmFwJykgfHwgZG9jdW1lbnQuYm9keTsKICB2YXIgc2VjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgc2VjLmlkID0gJ3NwLWtvbnRha3QnOwogIHNlYy5zdHlsZS5wYWRkaW5nID0gJzAgNTJweCc7CiAgc2VjLnN0eWxlLm1hcmdpblRvcCA9ICcxNnB4JzsKCiAgdmFyIGJiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgYmIudGV4dENvbnRlbnQgPSAnQmVzdGlsIHByb2pla3QnOwogIGJiLmNsYXNzTmFtZSA9ICdzcC1iZXJlZ24nOwogIGJiLnN0eWxlLmJhY2tncm91bmQgPSAnIzhiMWExYSc7CgogIHZhciBmdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogIGZ3LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgZncuc3R5bGUubWFyZ2luVG9wID0gJzIwcHgnOwoKICBmdW5jdGlvbiBsYmwodHh0KSB7CiAgICB2YXIgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgZC50ZXh0Q29udGVudCA9IHR4dDsKICAgIGQuc3R5bGUuZm9udFNpemUgPSAnMTFweCc7CiAgICBkLnN0eWxlLmxldHRlclNwYWNpbmcgPSAnMC4xNmVtJzsKICAgIGQuc3R5bGUudGV4dFRyYW5zZm9ybSA9ICd1cHBlcmNhc2UnOwogICAgZC5zdHlsZS5jb2xvciA9ICcjN2E3MDYwJzsKICAgIGQuc3R5bGUubWFyZ2luQm90dG9tID0gJzZweCc7CiAgICBkLnN0eWxlLm1hcmdpblRvcCA9ICcxNHB4JzsKICAgIHJldHVybiBkOwogIH0KCiAgZnVuY3Rpb24gaW5wKHR5cGUsIHBoKSB7CiAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgZWwudHlwZSA9IHR5cGU7CiAgICBlbC5wbGFjZWhvbGRlciA9IHBoOwogICAgZWwuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICBlbC5zdHlsZS53aWR0aCA9ICcyMjBweCc7CiAgICBlbC5zdHlsZS5wYWRkaW5nID0gJzRweCA4cHgnOwogICAgZWwuc3R5bGUuZm9udFNpemUgPSAnMTZweCc7CiAgICBlbC5zdHlsZS5mb250V2VpZ2h0ID0gJzcwMCc7CiAgICBlbC5zdHlsZS5jb2xvciA9ICcjMmEyNTIwJzsKICAgIGVsLnN0eWxlLmJhY2tncm91bmQgPSAnI2U4ZTBjYyc7CiAgICBlbC5zdHlsZS5ib3JkZXIgPSAnbm9uZSc7CiAgICBlbC5zdHlsZS5ib3JkZXJCb3R0b20gPSAnMS41cHggc29saWQgIzhiMWExYSc7CiAgICBlbC5zdHlsZS5vdXRsaW5lID0gJ25vbmUnOwogICAgZWwuc3R5bGUuZm9udEZhbWlseSA9ICdpbmhlcml0JzsKICAgIHJldHVybiBlbDsKICB9CgogIHZhciB0ZWxFbCA9IGlucCgndGVsJywgJzEyIDM0IDU2IDc4Jyk7CiAgdmFyIGVtRWwgPSBpbnAoJ2VtYWlsJywgJ2RpbkBlbWFpbC5kaycpOwoKICB2YXIgc2IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICBzYi50ZXh0Q29udGVudCA9ICdCbGl2IGtvbnRha3RldCBhZiBNYWxzdHJcdTAwZjhtJzsKICBzYi5jbGFzc05hbWUgPSAnc3AtYmVyZWduJzsKICBzYi5zdHlsZS5tYXJnaW5Ub3AgPSAnMTZweCc7CgogIHZhciBtc2cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICBtc2cuc3R5bGUubWFyZ2luVG9wID0gJzEwcHgnOwogIG1zZy5zdHlsZS5mb250U2l6ZSA9ICcxNHB4JzsKICBtc2cuc3R5bGUuZm9udEZhbWlseSA9ICdpbmhlcml0JzsKICBtc2cuc3R5bGUuY29sb3IgPSAnIzdhNzA2MCc7CgogIGJiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKSB7CiAgICBmdy5zdHlsZS5kaXNwbGF5ID0gZncuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnID8gJ2Jsb2NrJyA6ICdub25lJzsKICB9KTsKCiAgc2IuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgIHZhciB0ZWwgPSB0ZWxFbC52YWx1ZS50cmltKCk7CiAgICB2YXIgZW0gPSBlbUVsLnZhbHVlLnRyaW0oKTsKICAgIGlmICghdGVsIHx8ICFlbSkgeyBtc2cudGV4dENvbnRlbnQgPSAnVWRmeWxkIHZlbmxpZ3N0IGJlZ2dlIGZlbHRlci4nOyByZXR1cm47IH0KICAgIHNiLnRleHRDb250ZW50ID0gJ1NlbmRlci4uLic7CiAgICBzYi5kaXNhYmxlZCA9IHRydWU7CiAgICB2YXIgcGFyYW1zID0gewogICAgICB0aXRsZTogZmlybWFuYXZuIHx8IGZpcm1hTGFiZWwsCiAgICAgIGZpcm1hX25hdm46IGZpcm1hbmF2biB8fCAnaWtrZSBhbmdpdmV0JywKICAgICAgZmlybWFfdHlwZTogZmlybWFMYWJlbCwKICAgICAgcHJvamVrdF90eXBlOiBmaWxtTGFiZWwsCiAgICAgIHByaXM6IHByaWNlLnRvTG9jYWxlU3RyaW5nKCdkYS1ESycpLAogICAgICB0ZWxlZm9uOiB0ZWwsCiAgICAgIGVtYWlsOiBlbSwKICAgICAgbWFudXNrcmlwdDogbWFudXNrcmlwdCwKICAgICAgbmFtZTogZmlybWFuYXZuIHx8IGZpcm1hTGFiZWwKICAgIH07CiAgICBpZiAod2luZG93LmVtYWlsanMpIHsKICAgICAgd2luZG93LmVtYWlsanMuc2VuZCgnc2VydmljZV9hYzl6a2JrJywgJ3RlbXBsYXRlXzhlcTNpeWonLCBwYXJhbXMpLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgbXNnLnRleHRDb250ZW50ID0gJ1x1MjcxMyBUYWshIFZpIGtvbnRha3RlciBkaWcgaHVydGlnc3QgbXVsaWd0Lic7CiAgICAgICAgbXNnLnN0eWxlLmNvbG9yID0gJyMyYTZlMmEnOwogICAgICAgIHNiLnRleHRDb250ZW50ID0gJ0Fmc2VuZHQnOwogICAgICB9LCBmdW5jdGlvbihlcnIpIHsKICAgICAgICBtc2cudGV4dENvbnRlbnQgPSAnRmVqbDogJyArIChlcnIgJiYgZXJyLnRleHQgPyBlcnIudGV4dCA6IEpTT04uc3RyaW5naWZ5KGVycikpOwogICAgICAgIG1zZy5zdHlsZS5jb2xvciA9ICcjOGIxYTFhJzsKICAgICAgICBzYi50ZXh0Q29udGVudCA9ICdCbGl2IGtvbnRha3RldCBhZiBNYWxzdHJcdTAwZjhtJzsKICAgICAgICBzYi5kaXNhYmxlZCA9IGZhbHNlOwogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIG1zZy50ZXh0Q29udGVudCA9ICdFbWFpbEpTIGlra2Uga2xhciAtIHZlbnQgZXQgXHUwMGY4amVibGlrIG9nIHByXHUwMGY4diBpZ2VuLic7CiAgICAgIHNiLmRpc2FibGVkID0gZmFsc2U7CiAgICB9CiAgfSk7CgogIGZ3LmFwcGVuZENoaWxkKGxibCgnVGVsZWZvbm51bW1lcicpKTsKICBmdy5hcHBlbmRDaGlsZCh0ZWxFbCk7CiAgZncuYXBwZW5kQ2hpbGQobGJsKCdFbWFpbCcpKTsKICBmdy5hcHBlbmRDaGlsZChlbUVsKTsKICBmdy5hcHBlbmRDaGlsZChzYik7CiAgZncuYXBwZW5kQ2hpbGQobXNnKTsKICBzZWMuYXBwZW5kQ2hpbGQoYmIpOwogIHNlYy5hcHBlbmRDaGlsZChmdyk7CiAgd3JhcC5hcHBlbmRDaGlsZChzZWMpOwp9Cg==\"));eval(atob(\"CihmdW5jdGlvbigpewoKLy8gRmluZCB2b3JlcyBjb250YWluZXIgXHUyMDE0IHNjcmlwdGV0IGxpZ2dlciBsaWdlIGVmdGVyIC5zcC13cmFwIHNcdTAwZTUgcHJldmlvdXNFbGVtZW50U2libGluZyBwZWdlciBwXHUwMGU1IGRlbgp2YXIgX3NjcmlwdCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQ7CnZhciBfd3JhcCA9IF9zY3JpcHQgPyBfc2NyaXB0LnByZXZpb3VzRWxlbWVudFNpYmxpbmcgOiBudWxsOwppZiAoIV93cmFwIHx8ICFfd3JhcC5jbGFzc0xpc3QuY29udGFpbnMoJ3NwLXdyYXAnKSkgewogIC8vIEZhbGxiYWNrOiBmaW5kIGRlbiBzZW5lc3QgdGlsZlx1MDBmOGplZGUgc3Atd3JhcAogIHZhciBhbGwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc3Atd3JhcCcpOwogIF93cmFwID0gYWxsW2FsbC5sZW5ndGggLSAxXTsKfQoKaWYgKCFfd3JhcCkgcmV0dXJuOyAvLyBrYW4gaWtrZSBmaW5kZSBjb250YWluZXIsIHN0b3AKCnZhciBib2R5ICAgICAgICA9IF93cmFwLnF1ZXJ5U2VsZWN0b3IoJy5zcC1ib2R5Jyk7CnZhciBiZXJlZ25XcmFwICA9IF93cmFwLnF1ZXJ5U2VsZWN0b3IoJy5zcC1iZXJlZ24td3JhcCcpOwp2YXIgcHJpY2VTZWN0aW9uPSBfd3JhcC5xdWVyeVNlbGVjdG9yKCcuc3AtcHJpY2Utc2VjdGlvbicpOwp2YXIgYnVkZ2V0TnVtICAgPSBfd3JhcC5xdWVyeVNlbGVjdG9yKCcuc3AtYnVkZ2V0LW51bWJlcicpOwp2YXIgcmVzdGFydEJ0biAgPSBudWxsOwp2YXIgYmVyZWduQnRuICAgPSBfd3JhcC5xdWVyeVNlbGVjdG9yKCcuc3AtYmVyZWduJyk7CgovLyAtLS0gTFlEIC0tLQp2YXIgU05EX0pVU1RFUj0naHR0cHM6Ly9tYWxzdHJvbWZpbG0taXB2eXgud3Bjb21zdGFnaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9MeWQtc2tyaXZlLWp1c3Rlci5tcDMnOwp2YXIgU05EX0tMT0tLRT0naHR0cHM6Ly9tYWxzdHJvbWZpbG0taXB2eXgud3Bjb21zdGFnaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9MeWQtc2tyaXZlLWtsb2trZS5tcDMnOwp2YXIgU05EX1NMQUVERT0naHR0cHM6Ly9tYWxzdHJvbWZpbG0taXB2eXgud3Bjb21zdGFnaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9MeWQtc2tyaXZlLXNsYWVkZS5tcDMnOwp2YXIgU05EX1RBU1QgID0naHR0cHM6Ly9tYWxzdHJvbWZpbG0taXB2eXgud3Bjb21zdGFnaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9MeWQtc2tyaXZlLXRhc3QubXAzJzsKZnVuY3Rpb24gcGxheVNvdW5kKHNyYyx2b2wpe3RyeXt2YXIgYT1uZXcgQXVkaW8oc3JjKTthLnZvbHVtZT12b2x8fDE7YS5wbGF5KCkuY2F0Y2goZnVuY3Rpb24oKXt9KTt9Y2F0Y2goZSl7fX0KdmFyIGxhc3RUYXN0PTA7CmZ1bmN0aW9uIHBsYXlUYXN0KCl7dmFyIG49RGF0ZS5ub3coKTtpZihuLWxhc3RUYXN0PDYwKXJldHVybjtsYXN0VGFzdD1uO3BsYXlTb3VuZChTTkRfVEFTVCwwLjYpO30KZnVuY3Rpb24gcGxheUp1c3Rlcigpe3BsYXlTb3VuZChTTkRfSlVTVEVSLDAuOCk7fQpmdW5jdGlvbiBwbGF5S2xva2tlKCl7cGxheVNvdW5kKFNORF9LTE9LS0UsMC45KTt9CmZ1bmN0aW9uIHBsYXlTbGFlZGUoKXtwbGF5U291bmQoU05EX1NMQUVERSwwLjcpO30KCi8vIC0tLSBEQVRBIC0tLQp2YXIgQUxMX0ZJTE09WwogIFsnZW4gcmVrbGFtZWZpbG0nLDE1MDAwLGZhbHNlXSxbJ2VuIHJla2xhbWVrYW1wYWduZScsNTAwMDAsZmFsc2VdLAogIFsnZW4gZmlsbSBvbSB2b3JlcyBldmVudCcsNzAwMCxmYWxzZV0sWydlbiBmaWxtIG9tIHZvcmVzIGZvcmVkcmFnJyw5MDAwLGZhbHNlXSwKICBbJ29wdGFnZWxzZSBhZiBpbnRlcnZpZXcnLDUwMDAsZmFsc2VdLAogIFsnZW4gZG9rdW1lbnRhcmlzayBtdXNldW1zZmlsbScsMTAwMDAsdHJ1ZV0sWydlbiBmaWt0aW9uLW11c2V1bXNmaWxtJyw2MDAwMCx0cnVlXSwKICBbJ2V0IHJvbGxlc3BpbCcsMzUwMDAsZmFsc2VdCl07CnZhciBmaXJtYU9wdHM9W1snZXQgbGlsbGUgZmlybWEnLDFdLFsnZXQgbWVsbGVtc3RvcnQgZmlybWEnLDEuMl0sWydldCBzdG9ydCBmaXJtYScsMS4zXSxbJ2V0IG11c2V1bScsMS4xXSxbJ2VuIGRlbCBhZiBlbiBrb21tdW5lJywxLjRdLFsnZW4gZGVsIGFmIGVuIHJlZ2lvbicsMS41XV07CnZhciBwbGF0Zm9ybU9wdHM9W1snc29jaWFsZSBtZWRpZXInLDBdLFsnaGplbW1lc2lkZScsMF0sWydUVicsMzUwMDAwXSxbJ3N0cmVhbWluZyBwbGF0Zm9ybScsNDAwMDBdLFsnYmlvZ3JhZicsMjAwMDBdLFsndWRzdGlsbGluZycsMF1dOwp2YXIgdmFyaWdoZWRPcHRzPVtbJzEwIHNla3VuZGVyJywwXSxbJzMwIHNla3VuZGVyJywwXSxbJzYwIHNla3VuZGVyJywwXSxbJzkwIHNla3VuZGVyJywwXSxbJzIgbWludXR0ZXInLDBdLFsnNSBtaW51dHRlcicsMC41XSxbJzEwIG1pbnV0dGVyJywwLjVdLFsnMjAgbWludXR0ZXInLDAuNV0sWyczMCBtaW51dHRlcicsMC41XSxbJzEgdGltZScsMV0sWydtZXJlIGVuZCAxIHRpbWUnLDFdXTsKdmFyIGRhZ2VPcHRzPVtbJzEgb3B0YWdlZGFnJywwXSxbJzIgb3B0YWdlZGFnZScsMV0sWyczIG9wdGFnZWRhZ2UnLDJdLFsnNCBvcHRhZ2VkYWdlJywzXSxbJzUgb3B0YWdlZGFnZScsNF1dOwp2YXIga2FtZXJhT3B0cz1bWycxIGthbWVyYScsMF0sWycyIGthbWVyYWVyJyw1MDBdLFsnMyBrYW1lcmFlcicsODUwMF0sWyc0IGthbWVyYWVyJywxNjUwMF0sWyc1IGthbWVyYWVyJywyNDUwMF1dOwp2YXIgYW50YWxPcHRzPVtbJzEgZmlsbScsMF0sWycyIGZpbG0nLDEwMDBdLFsnMyBmaWxtJywyMDAwXSxbJzQgZmlsbScsMzAwMF0sWyc1IGZpbG0nLDQwMDBdLFsnNiBmaWxtJyw1MDAwXSxbJzcgZmlsbScsNjAwMF0sWyc4IGZpbG0nLDcwMDBdLFsnOSBmaWxtJyw4MDAwXSxbJzEwIGZpbG0nLDkwMDBdXTsKdmFyIGFjdG9yT3B0cz1bWydpbmdlbicsMF0sWydcdTAwZTluJywxXSxbJ3RvJywyXSxbJ3RyZScsM10sWydmaXJlJyw0XV07CnZhciBsZXZlbE9wdHM9W1snYW1hdFx1MDBmOHJlciB2aSBzZWx2IGZpbmRlcicsMF0sWydzZW1pcHJvZmVzc2lvbmVsbGUnLDgwMDBdLFsncHJvZmVzc2lvbmVsbGUnLDE0MDAwXV07CnZhciBtdXNpY09wdHM9W1snYmlibGlvdGVrc211c2lrJywzMDBdLFsnc3BlY2lhbGtvbXBvbmVyZXQgbXVzaWsnLDE1MDAwXSxbJ2luZ2VuIG11c2lrJywwXV07CnZhciBzdWJzT3B0cz1bWydpbmdlbiB1bmRlcnRla3N0ZXInLDBdLFsnZGFuc2snLDIwMDBdLFsnZW5nZWxzaycsMjAwMF1dOwp2YXIgc3BlYWtPcHRzPVtbJ2luZ2VuIHNwZWFrJywwXSxbJ3NwZWFrIGFmIHNrdWVzcGlsbGVyJyw5MDAwXSxbJ3NwZWFrIGFmIGVuIGFmIHZvcmVzIGVnbmUgZm9saycsMjAwMF0sWydzcGVhayBhZiBlbiBBSScsMjAwMF1dOwp2YXIgaGFzdGVPcHRzPVtbJ2VmdGVyIDIgdWdlcicsMF0sWydpbmRlbiAyIHVnZXInLDFdXTsKdmFyIGhvdXJzT3B0cz1bWycxIHRpbWUnLDUwMDBdLFsnMiB0aW1lcicsNjAwMF0sWyczIHRpbWVyJyw3MDAwXSxbJzQgdGltZXInLDgwMDBdLFsnNSB0aW1lcicsOTAwMF0sWyc2IHRpbWVyJywxMDAwMF0sWyc4IHRpbWVyJywxMjAwMF1dOwp2YXIgcmVnaW9uT3B0cz1bWydTalx1MDBlNmxsYW5kJywxMjAwXSxbJ0Z5bicsMF0sWydTXHUwMGY4bmRlcmp5bGxhbmQnLDQwMF0sWydOb3JkanlsbGFuZCcsODAwXV07CnZhciByUHJlcD17J1NqXHUwMGU2bGxhbmQnOidwXHUwMGU1JywnRnluJzoncFx1MDBlNScsJ1NcdTAwZjhuZGVyanlsbGFuZCc6J2knLCdOb3JkanlsbGFuZCc6J2knfTsKdmFyIHJzT21yYWFkZU9wdHM9W1sncFx1MDBlNSB2b3JlcyBlZ25lIG9tclx1MDBlNWRlcicsMF0sWydwXHUwMGU1IGV0IG9tclx1MDBlNWRlIHZpIGxlamVyJyw0MDAwXV07CnZhciByc1JvbGxlck9wdHM9W1snMScsMV0sWycyJywyXSxbJzMnLDNdLFsnNCcsNF0sWyc1Jyw1XSxbJzYnLDZdLFsnNycsN10sWyc4Jyw4XSxbJzknLDldLFsnMTAnLDEwXV07CnZhciByc05pdmVhdU9wdHM9W1sndm9yZXMgZWduZSBmb2xrJywwXSxbJ3NlbWlwcm9mZXNzaW9uZWxsZSBza3Vlc3BpbGxlcmUnLDgwMDBdLFsncHJvZmVzc2lvbmVsbGUgc2t1ZXNwaWxsZXJlJywxNDAwMF1dOwp2YXIgcnNNYWFsZ3J1cHBlT3B0cz1bWydiXHUwMGY4cm4gb2cgdm9rc25lJyw0MDAwXSxbJ2JcdTAwZjhybicsMF0sWyd2b2tzbmUnLDUwMDBdXTsKdmFyIHJzVmFyaWdoZWRPcHRzPVtbJzEgZGFnJywxXSxbJzIgZGFnZScsMl0sWyczIGRhZ2UnLDNdLFsnNCBkYWdlJyw0XSxbJzUgZGFnZScsNV0sWyc2IGRhZ2UnLDZdLFsnMSB1Z2UnLDddLFsnMiB1Z2VyJywxNF0sWyczIHVnZXInLDIxXSxbJzQgdWdlcicsMjhdXTsKdmFyIGxTaW5nPXsnYW1hdFx1MDBmOHJlciB2aSBzZWx2IGZpbmRlcic6J2VuIGFtYXRcdTAwZjhyIHZpIHNlbHYgZmluZGVyJywnc2VtaXByb2Zlc3Npb25lbGxlJzonZW4gc2VtaXByb2Zlc3Npb25lbCcsJ3Byb2Zlc3Npb25lbGxlJzonZW4gcHJvZmVzc2lvbmVsJ307CnZhciBFVj0nZW4gZmlsbSBvbSB2b3JlcyBldmVudCcsRk89J2VuIGZpbG0gb20gdm9yZXMgZm9yZWRyYWcnLE1VPSdldCBtdXNldW0nLFJPPSdldCByb2xsZXNwaWwnOwoKLy8gLS0tIFNUQVRFIC0tLQp2YXIgdmFyTGluZUVsPW51bGwscGxhdExpbmVFbD1udWxsLGZFbHM9W10sZkl0ZW1zPVtdLGZMYmw9bnVsbCxzMkNhdD1udWxsLHJ1bm5pbmc9ZmFsc2U7CmZ1bmN0aW9uIGZyZXNoKCl7cmV0dXJue2Zpcm1hTXVsdGk6MSxmaXJtYUxhYmVsOidldCBsaWxsZSBmaXJtYScsZmlsbUJhc2U6MTUwMDAsZmlsbUxhYmVsOidlbiByZWtsYW1lZmlsbScscGxhdEV4dHJhOjAscGxhdExhYmVsOidzb2NpYWxlIG1lZGllcicsdmFyRmFrdG9yOjAsdmFyTGFiZWw6JzEwIHNla3VuZGVyJyxkYWdlRWtzdHJhOjAsZGFnZUxhYmVsOicxIG9wdGFnZWRhZycsa2FtZXJhRXh0cmE6MCxrYW1lcmFMYWJlbDonMSBrYW1lcmEnLGFudGFsRXh0cmE6MCxhbnRhbExhYmVsOicxIGZpbG0nLGZ2RmFrdG9yOjAsZnZMYWJlbDonMTAgc2VrdW5kZXInLGFjdG9yQ291bnQ6MCxsZXZlbFByOjAsbGV2ZWxMYWJlbDonYW1hdFx1MDBmOHJlciB2aSBzZWx2IGZpbmRlcicsbXVzaWNFeHRyYTozMDAsbXVzaWNMYWJlbDonYmlibGlvdGVrc211c2lrJyxzdWJzRXh0cmE6MCxzdWJzTGFiZWw6J2luZ2VuIHVuZGVydGVrc3Rlcicsc3BlYWtFeHRyYTowLHNwZWFrTGFiZWw6J2luZ2VuIHNwZWFrJyxmaXJtYW5hdm46JycsaGFzdGVGYWt0b3I6MCxoYXN0ZUxhYmVsOidlZnRlciAyIHVnZXInLGhvdXJzRXh0cmE6NTAwMCxob3Vyc0xhYmVsOicxIHRpbWUnLHJlZ2lvbkV4dHJhOjEyMDAscmVnaW9uTGFiZWw6J1NqXHUwMGU2bGxhbmQnLHJzT21yYWFkZUV4dHJhOjAscnNPbXJhYWRlTGFiZWw6J3BcdTAwZTUgdm9yZXMgZWduZSBvbXJcdTAwZTVkZXInLHJzUm9sbGVyQW50YWw6MSxyc05pdmVhdVByOjAscnNOaXZlYXVMYWJlbDondm9yZXMgZWduZSBmb2xrJyxyc01hYWxncnVwcGVFeHRyYTowLHJzTWFhbGdydXBwZUxhYmVsOidiXHUwMGY4cm4gb2cgdm9rc25lJyxyc0RhZ2U6MSxyc0RhZ2VMYWJlbDonMSBkYWcnfTt9CnZhciBTPWZyZXNoKCk7CgovLyAtLS0gSEpcdTAwYzZMUCAtLS0KZnVuY3Rpb24gbG93KHMpe3JldHVybiBzLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK3Muc2xpY2UoMSk7fQpmdW5jdGlvbiB3YWl0KG1zKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocil7c2V0VGltZW91dChyLG1zKTt9KTt9CmZ1bmN0aW9uIHJhZihmbil7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZuKTt9KTt9Cgpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLGZ1bmN0aW9uKGUpe2lmKCFlLnRhcmdldC5jbG9zZXN0KCcuZGQtbGFiZWwnKSYmIWUudGFyZ2V0LmNsb3Nlc3QoJy5kZC1saXN0JykpY2xvc2VBbGwoKTt9KTsKZnVuY3Rpb24gY2xvc2VBbGwoKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZGQtbGlzdC5vcGVuJykuZm9yRWFjaChmdW5jdGlvbihsKXtsLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTt9KTt9CmZ1bmN0aW9uIHJlbURkKGlkKXt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3AtZGQtJytpZCk7aWYoZClkLnJlbW92ZSgpO3ZhciBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzcC1kZGwtJytpZCk7aWYobClsLnJlbW92ZSgpO30KCmZ1bmN0aW9uIG1rRGQoaWQsb3B0cyxjYil7CiAgdmFyIHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3cuY2xhc3NOYW1lPSdkZCc7dy5pZD0nc3AtZGQtJytpZDsKICB2YXIgbGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO2xiLmNsYXNzTmFtZT0nZGQtbGFiZWwnO2xiLnRleHRDb250ZW50PW9wdHNbMF1bMF07dy5hcHBlbmRDaGlsZChsYik7CiAgdmFyIGxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2xpLmNsYXNzTmFtZT0nZGQtbGlzdCc7bGkuaWQ9J3NwLWRkbC0nK2lkO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGkpOwogIG9wdHMuZm9yRWFjaChmdW5jdGlvbihvLGkpewogICAgdmFyIGl0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2l0LmNsYXNzTmFtZT0nZGQtaXRlbScrKGk9PT0wPycgc2VsZWN0ZWQnOicnKTtpdC50ZXh0Q29udGVudD1vWzBdOwogICAgaXQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJyxmdW5jdGlvbihlKXsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO2Uuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIGxpLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kZC1pdGVtOm5vdCguaGlkZGVuKScpLmZvckVhY2goZnVuY3Rpb24oeCl7eC5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpO30pOwogICAgICBpdC5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO2xiLnRleHRDb250ZW50PW9bMF07Y2xvc2VBbGwoKTtwbGF5SnVzdGVyKCk7Y2Iob1swXSxvWzFdKTsKICAgIH0pOwogICAgbGkuYXBwZW5kQ2hpbGQoaXQpOwogIH0pOwogIGxiLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsZnVuY3Rpb24oZSl7CiAgICBlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgIHZhciBvcD1saS5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKTtjbG9zZUFsbCgpOwogICAgaWYoIW9wKXt2YXIgcj1sYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtsaS5zdHlsZS50b3A9KHIuYm90dG9tKzIpKydweCc7bGkuc3R5bGUubGVmdD1yLmxlZnQrJ3B4JztsaS5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7fQogIH0pOwogIHJldHVybnt3cmFwOncsbGI6bGJ9Owp9CgpmdW5jdGlvbiBhZGRIKHQscCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZS5jbGFzc05hbWU9J3NwLXNjZW5lLWhlYWRpbmcnO2UudGV4dENvbnRlbnQ9dDsocHx8Ym9keSkuYXBwZW5kQ2hpbGQoZSk7cmFmKGZ1bmN0aW9uKCl7ZS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7fSk7fQpmdW5jdGlvbiBhZGRMKHBhcnRzLHApe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2UuY2xhc3NOYW1lPSdzcC1hY3Rpb24nO3BhcnRzLmZvckVhY2goZnVuY3Rpb24oeCl7dHlwZW9mIHg9PT0nc3RyaW5nJz9lLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHgpKTplLmFwcGVuZENoaWxkKHgpO30pOyhwfHxib2R5KS5hcHBlbmRDaGlsZChlKTtyYWYoZnVuY3Rpb24oKXtlLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTt9KTtyZXR1cm4gZTt9CgpmdW5jdGlvbiB0eXBlVCh0ZXh0LHApewogIHZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2UuY2xhc3NOYW1lPSdzcC1hY3Rpb24gc3Atc3RvcnknO2Uuc3R5bGUub3BhY2l0eT0nMSc7ZS5zdHlsZS50cmFuc2Zvcm09J25vbmUnOyhwfHxib2R5KS5hcHBlbmRDaGlsZChlKTsKICB2YXIgY3VyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtjdXIuY2xhc3NOYW1lPSdzcC1jdXJzb3InOwogIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXMpewogICAgdmFyIGk9MDt2YXIgaXY9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtjdXIucmVtb3ZlKCk7ZS50ZXh0Q29udGVudD10ZXh0LnN1YnN0cmluZygwLGkrMSk7ZS5hcHBlbmRDaGlsZChjdXIpO3ZhciBjaD10ZXh0W2ktMV07aWYoY2gmJmNoIT09JyAnKXBsYXlUYXN0KCk7aSsrO2lmKGk+dGV4dC5sZW5ndGgpe2NsZWFySW50ZXJ2YWwoaXYpO2N1ci5yZW1vdmUoKTtlLnRleHRDb250ZW50PXRleHQ7c2V0VGltZW91dChyZXMsMTUwKTt9fSwxMCk7CiAgfSk7Cn0KCmZ1bmN0aW9uIGNsckMoaWQpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzcC1jLScraWQpO2lmKCFlKXJldHVybjtlLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kZCcpLmZvckVhY2goZnVuY3Rpb24oZCl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NwLWRkbC0nK2QuaWQucmVwbGFjZSgnc3AtZGQtJywnJykpO2lmKGwpbC5yZW1vdmUoKTt9KTtlLnJlbW92ZSgpO30KCmZ1bmN0aW9uIGdldENhdCgpe2lmKFMuZmlsbUxhYmVsPT09RVYpcmV0dXJuJ2V2ZW50JztpZihTLmZpbG1MYWJlbD09PUZPKXJldHVybidmb3JlZHJhZyc7aWYoUy5maWxtTGFiZWw9PT1STylyZXR1cm4ncm9sbGVzcGlsJztyZXR1cm4nY3Jldyc7fQoKZnVuY3Rpb24gdXBkRmlsbShpc00pewogIGZJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGYpewogICAgaWYoZi5tJiYhaXNNKXsKICAgICAgZi5pdC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICAgICAgaWYoUy5maWxtTGFiZWw9PT1mLmwpe3ZhciBmcj1mSXRlbXMuZmluZChmdW5jdGlvbih4KXtyZXR1cm4heC5tO30pO2lmKGZyKXtmSXRlbXMuZm9yRWFjaChmdW5jdGlvbih4KXt4Lml0LmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7fSk7ZnIuaXQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtmTGJsLnRleHRDb250ZW50PWZyLmw7Uy5maWxtQmFzZT1mci52O1MuZmlsbUxhYmVsPWZyLmw7b25DaGFuZ2UoKTt9fQogICAgfWVsc2V7Zi5pdC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTt9CiAgfSk7Cn0KCmZ1bmN0aW9uIGNsckYoKXtmRWxzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5yZW1vdmUoKTt9KTtmRWxzPVtdO3JlbURkKCdrYW1lcmEnKTtyZW1EZCgnYW50YWwnKTtyZW1EZCgnZnZhcicpO3JlbURkKCdycy1vbXJhYWRlJyk7cmVtRGQoJ3JzLXJvbGxlcicpO3JlbURkKCdycy1uaXZlYXUnKTtyZW1EZCgncnMtbWFhbGdydXBwZScpO3JlbURkKCdycy12YXJpZ2hlZCcpO30KCmZ1bmN0aW9uIG9uQ2hhbmdlKCl7CiAgdmFyIGNhdD1nZXRDYXQoKSxpc0Y9Y2F0PT09J2ZvcmVkcmFnJyxpc1I9Y2F0PT09J3JvbGxlc3BpbCc7CiAgY2xyRigpOwogIGlmKGlzRil7CiAgICBpZih2YXJMaW5lRWwpdmFyTGluZUVsLnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgaWYocGxhdExpbmVFbClwbGF0TGluZUVsLnN0eWxlLmRpc3BsYXk9Jyc7CiAgICB2YXIgZEE9bWtEZCgnYW50YWwnLGFudGFsT3B0cyxmdW5jdGlvbihsLHYpe1MuYW50YWxFeHRyYT12O1MuYW50YWxMYWJlbD1sO30pOwogICAgdmFyIGRWPW1rRGQoJ2Z2YXInLHZhcmlnaGVkT3B0cyxmdW5jdGlvbihsLHYpe1MuZnZGYWt0b3I9djtTLmZ2TGFiZWw9bDt9KTsKICAgIGZFbHMucHVzaChhZGRMKFsnVmkgdmlsIGxhdmUgJyxkQS53cmFwLCcgZGVyIGh2ZXIgc2thbCB2YXJlIGNhLiAnLGRWLndyYXAsJy4nXSkpOwogICAgdmFyIGRLPW1rRGQoJ2thbWVyYScsa2FtZXJhT3B0cyxmdW5jdGlvbihsLHYpe1Mua2FtZXJhRXh0cmE9djtTLmthbWVyYUxhYmVsPWw7fSk7CiAgICBmRWxzLnB1c2goYWRkTChbJ1ZpIHZpbCBnZXJuZSBmaWxtZSBmb3JlZHJhZ2V0IG1lZCAnLGRLLndyYXAsJy4nXSkpOwogIH1lbHNlIGlmKGlzUil7CiAgICBpZih2YXJMaW5lRWwpdmFyTGluZUVsLnN0eWxlLmRpc3BsYXk9J25vbmUnOwogICAgaWYocGxhdExpbmVFbClwbGF0TGluZUVsLnN0eWxlLmRpc3BsYXk9J25vbmUnOwogIH1lbHNlewogICAgaWYodmFyTGluZUVsKXZhckxpbmVFbC5zdHlsZS5kaXNwbGF5PScnOwogICAgaWYocGxhdExpbmVFbClwbGF0TGluZUVsLnN0eWxlLmRpc3BsYXk9Jyc7CiAgfQogIGlmKGNhdD09PXMyQ2F0KXJldHVybjsKICBjbHJDKCdzNCcpO2NsckMoJ3MzJyk7Y2xyQygnczInKTsKICBiZXJlZ25XcmFwLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtwcmljZVNlY3Rpb24uY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO3ZhciBfcmIyPWJvZHkucXVlcnlTZWxlY3RvcignLnNwLXJlc3RhcnQnKTtpZihfcmIyKV9yYjIucmVtb3ZlKCk7cnVubmluZz1mYWxzZTsKICBzMkNhdD1jYXQ7YWRkUzIoKTsKfQoKZnVuY3Rpb24gYWRkUzIoKXsKICB2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtjLmlkPSdzcC1jLXMyJztib2R5LmFwcGVuZENoaWxkKGMpOwogIGlmKHMyQ2F0PT09J2V2ZW50J3x8czJDYXQ9PT0nZm9yZWRyYWcnKXsKICAgIFMuaG91cnNFeHRyYT01MDAwO1MuaG91cnNMYWJlbD0nMSB0aW1lJztTLnJlZ2lvbkV4dHJhPTEyMDA7Uy5yZWdpb25MYWJlbD0nU2pcdTAwZTZsbGFuZCc7CiAgICBhZGRIKCdTY2VuZSAyIFx1MjAxNCBUaWRzcmFtbWUnLGMpOwogICAgdmFyIHN1Yj1zMkNhdD09PSdmb3JlZHJhZyc\/J1ZvcmVzIGZvcmVkcmFnJzonVm9yZXMgZXZlbnQnOwogICAgdmFyIGRIPW1rRGQoJ2hvdXJzJyxob3Vyc09wdHMsZnVuY3Rpb24obCx2KXtTLmhvdXJzRXh0cmE9djtTLmhvdXJzTGFiZWw9bDtjaGsyKCk7fSk7CiAgICB2YXIgZFI9bWtEZCgncmVnaW9uJyxyZWdpb25PcHRzLGZ1bmN0aW9uKGwsdil7Uy5yZWdpb25FeHRyYT12O1MucmVnaW9uTGFiZWw9bDtjaGsyKCk7fSk7CiAgICBhZGRMKFtzdWIrJyB0YWdlciAnLGRILndyYXAsJyBvZyBhZmhvbGRlcyBwXHUwMGU1ICcsZFIud3JhcCwnLiddLGMpOwogIH1lbHNlIGlmKHMyQ2F0PT09J3JvbGxlc3BpbCcpewogICAgUy5yc09tcmFhZGVFeHRyYT0wO1MucnNPbXJhYWRlTGFiZWw9J3BcdTAwZTUgdm9yZXMgZWduZSBvbXJcdTAwZTVkZXInOwogICAgUy5yc1JvbGxlckFudGFsPTE7Uy5yc05pdmVhdVByPTA7Uy5yc05pdmVhdUxhYmVsPSd2b3JlcyBlZ25lIGZvbGsnOwogICAgUy5yc01hYWxncnVwcGVFeHRyYT0wO1MucnNNYWFsZ3J1cHBlTGFiZWw9J2JcdTAwZjhybiBvZyB2b2tzbmUnO1MucnNEYWdlPTE7Uy5yc0RhZ2VMYWJlbD0nMSBkYWcnOwogICAgYWRkSCgnU2NlbmUgMiBcdTIwMTQgUm9sbGVzcGlsJyxjKTsKICAgIHZhciBkT209bWtEZCgncnMtb21yYWFkZScscnNPbXJhYWRlT3B0cyxmdW5jdGlvbihsLHYpe1MucnNPbXJhYWRlRXh0cmE9djtTLnJzT21yYWFkZUxhYmVsPWw7Y2hrMigpO30pOwogICAgdmFyIGRSbz1ta0RkKCdycy1yb2xsZXInLHJzUm9sbGVyT3B0cyxmdW5jdGlvbihsLHYpe1MucnNSb2xsZXJBbnRhbD12O1MucnNSb2xsZXJMYWJlbD1sO2NoazIoKTt9KTsKICAgIHZhciBkTmk9bWtEZCgncnMtbml2ZWF1Jyxyc05pdmVhdU9wdHMsZnVuY3Rpb24obCx2KXtTLnJzTml2ZWF1UHI9djtTLnJzTml2ZWF1TGFiZWw9bDtjaGsyKCk7fSk7CiAgICB2YXIgZE1nPW1rRGQoJ3JzLW1hYWxncnVwcGUnLHJzTWFhbGdydXBwZU9wdHMsZnVuY3Rpb24obCx2KXtTLnJzTWFhbGdydXBwZUV4dHJhPXY7Uy5yc01hYWxncnVwcGVMYWJlbD1sO2NoazIoKTt9KTsKICAgIHZhciBkVmE9bWtEZCgncnMtdmFyaWdoZWQnLHJzVmFyaWdoZWRPcHRzLGZ1bmN0aW9uKGwsdil7Uy5yc0RhZ2U9djtTLnJzRGFnZUxhYmVsPWw7Y2hrMigpO30pOwogICAgYWRkTChbJ1JvbGxlc3BpbGxldCBza2FsIGZvcmdcdTAwZTUgJyxkT20ud3JhcCwnIG9nIGJcdTAwZTZyZXMgYWYgJyxkUm8ud3JhcCwnIHJvbGxlciBkZXIgc3BpbGxlcyBhZiAnLGROaS53cmFwLCcuJ10sYyk7CiAgICBhZGRMKFsnRGVsdGFnZXJuZSBlciAnLGRNZy53cmFwLCcgb2cgc3RyXHUwMGU2a2tlciBzaWcgb3ZlciAnLGRWYS53cmFwLCcuJ10sYyk7CiAgfWVsc2V7CiAgICBTLmFjdG9yQ291bnQ9MDtTLmxldmVsUHI9MDtTLmxldmVsTGFiZWw9J2FtYXRcdTAwZjhyZXIgdmkgc2VsdiBmaW5kZXInOwogICAgYWRkSCgnU2NlbmUgMiBcdTIwMTQgQmVzXHUwMGU2dG5pbmcnLGMpOwogICAgdmFyIGRBPW1rRGQoJ2FjdG9ycycsYWN0b3JPcHRzLGZ1bmN0aW9uKGwsdil7Uy5hY3RvckNvdW50PXY7Y2hrMigpO30pOwogICAgdmFyIGRMPW1rRGQoJ2xldmVsJyxsZXZlbE9wdHMsZnVuY3Rpb24obCx2KXtTLmxldmVsUHI9djtTLmxldmVsTGFiZWw9bDtjaGsyKCk7fSk7CiAgICBhZGRMKFsnRm9yYW4ga2FtZXJhZXQ6ICcsZEEud3JhcCwnIHNrdWVzcGlsbGVyZSBcdTIwMTQgJyxkTC53cmFwLCcuJ10sYyk7CiAgfQp9CgpmdW5jdGlvbiBjaGsyKCl7aWYoczJDYXQ9PT0ncm9sbGVzcGlsJyl7c2hvd0JlcmVnbkRpcmVjdCgpO31lbHNle2lmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3AtYy1zMycpKWFkZFMzKCk7fX0KCmZ1bmN0aW9uIHNob3dCZXJlZ25EaXJlY3QoKXsKICBiZXJlZ25XcmFwLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTsKfQoKZnVuY3Rpb24gYWRkUzMoKXsKICB2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtjLmlkPSdzcC1jLXMzJztib2R5LmFwcGVuZENoaWxkKGMpOwogIGFkZEgoJ1NjZW5lIDMgXHUyMDE0IFBvc3QtcHJvZHVrdGlvbicsYyk7CiAgdmFyIGRNPW1rRGQoJ211c2ljJyxtdXNpY09wdHMsZnVuY3Rpb24obCx2KXtTLm11c2ljRXh0cmE9djtTLm11c2ljTGFiZWw9bDt9KTsKICB2YXIgZFM9bWtEZCgnc3Vicycsc3Vic09wdHMsZnVuY3Rpb24obCx2KXtTLnN1YnNFeHRyYT12O1Muc3Vic0xhYmVsPWw7fSk7CiAgdmFyIGRTcD1ta0RkKCdzcGVhaycsc3BlYWtPcHRzLGZ1bmN0aW9uKGwsdil7Uy5zcGVha0V4dHJhPXY7Uy5zcGVha0xhYmVsPWw7fSk7CiAgYWRkTChbJ011c2lrOiAnLGRNLndyYXAsJywgdW5kZXJ0ZWtzdGVyOiAnLGRTLndyYXAsJywgc3BlYWs6ICcsZFNwLndyYXAsJy4nXSxjKTsKICB2YXIgaEVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2hFbC5jbGFzc05hbWU9J3NwLWFjdGlvbic7CiAgdmFyIGRIPW1rRGQoJ2hhc3RlJyxoYXN0ZU9wdHMsZnVuY3Rpb24obCx2KXtTLmhhc3RlRmFrdG9yPXY7Uy5oYXN0ZUxhYmVsPWw7dXBkSCgpO30pOwogIGZ1bmN0aW9uIHVwZEgoKXtoRWwuaW5uZXJIVE1MPScnO2hFbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTLmhhc3RlRmFrdG9yPjA\/J1Byb2pla3RldCBlciBlbiBoYXN0ZW9wZ2F2ZSBkZXIgc2thbCB2XHUwMGU2cmUgZlx1MDBlNnJkaWd0ICc6J1Byb2pla3RldCBza2FsIHZcdTAwZTZyZSBmXHUwMGU2cmRpZ3QgJykpO2hFbC5hcHBlbmRDaGlsZChkSC53cmFwKTtoRWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJy4nKSk7fQogIHVwZEgoKTtjLmFwcGVuZENoaWxkKGhFbCk7cmFmKGZ1bmN0aW9uKCl7aEVsLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTt9KTsKICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YmVyZWduV3JhcC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7fSw0MDApOwp9CgpmdW5jdGlvbiBidWlsZFN0b3J5KCl7CiAgdmFyIGNhdD1zMkNhdCxpc0Y9Y2F0PT09J2ZvcmVkcmFnJyxpc1Q9Y2F0PT09J2V2ZW50J3x8aXNGLGlzUj1jYXQ9PT0ncm9sbGVzcGlsJyxwdHM9W107CiAgaWYoaXNSKXsKICAgIHB0cy5wdXNoKChTLmZpcm1hbmF2bj9TLmZpcm1hbmF2bisnIHByb2R1Y2VyZXInOidWaSBwcm9kdWNlcmVyJykrJyBldCByb2xsZXNwaWwgZGVyIGZvcmVnXHUwMGU1ciAnK1MucnNPbXJhYWRlTGFiZWwrJy4gUm9sbGVzcGlsbGV0IGJcdTAwZTZyZXMgYWYgJytTLnJzUm9sbGVyQW50YWwrJyByb2xsZXIgZGVyIHNwaWxsZXMgYWYgJytTLnJzTml2ZWF1TGFiZWwrJy4nKTsKICAgIHB0cy5wdXNoKCdEZWx0YWdlcm5lIGVyICcrUy5yc01hYWxncnVwcGVMYWJlbC50b0xvd2VyQ2FzZSgpKycgb2cgcm9sbGVzcGlsbGV0IHN0clx1MDBlNmtrZXIgc2lnIG92ZXIgJytTLnJzRGFnZUxhYmVsKycuJyk7CiAgICBwdHMucHVzaChTLmhhc3RlRmFrdG9yPjA\/J1Byb2pla3RldCBlciBlbiBoYXN0ZW9wZ2F2ZSBkZXIgc2thbCBsZXZlcmVzIGluZGVuIDIgdWdlciBcdTIwMTQgZGV0IGFmc3BlamxlcyBpIHByaXNlbi4nOidMZXZlcmluZ3N0aWRlbiBlciBlZnRlciAyIHVnZXIuJyk7CiAgICByZXR1cm4gcHRzLmpvaW4oJyAnKTsKICB9CiAgaWYoaXNGKXtwdHMucHVzaCgoUy5maXJtYW5hdm4\/Uy5maXJtYW5hdm46J1ZpJykrJyBnXHUwMGU1ciBpIGdhbmcgbWVkIGF0IHByb2R1Y2VyZSAnK1MuYW50YWxMYWJlbCsnIGZyYSBmb3JlZHJhZ2V0LCBtZWQgJytTLmRhZ2VMYWJlbCsnLCBkZXIgaHZlciBza2FsIHZhcmUgY2EuICcrUy5mdkxhYmVsKycuIE1hdGVyaWFsZXQgZXIgdGlsdFx1MDBlNm5rdCAnK1MucGxhdExhYmVsKycuJyk7fQogIGVsc2V7cHRzLnB1c2goKFMuZmlybWFuYXZuP1MuZmlybWFuYXZuOidWaScpKycgZ1x1MDBlNXIgaSBnYW5nIG1lZCBhdCBmb3JtZSAnK1MuZmlsbUxhYmVsKycgcFx1MDBlNSBjYS4gJytTLnZhckxhYmVsKycgbWVkICcrUy5kYWdlTGFiZWwrJywgZXQgcHJvamVrdCBkZXIgc2thbCBmaW5kZSBzaW4gdmVqIHRpbCAnK1MucGxhdExhYmVsKycuJyk7fQogIGlmKGlzVCl7dmFyIHByZXA9clByZXBbUy5yZWdpb25MYWJlbF18fCdpJzt2YXIgc3ViPWlzRj8nRm9yZWRyYWdldCc6J0V2ZW50ZXQnO3ZhciBzPXN1YisnIHN0clx1MDBlNmtrZXIgc2lnIG92ZXIgJytTLmhvdXJzTGFiZWwrJyBvZyBmaW5kZXIgc3RlZCAnK3ByZXArJyAnK1MucmVnaW9uTGFiZWwrJy4nO2lmKGlzRilzKz0nIFZpIGZpbG1lciBtZWQgJytTLmthbWVyYUxhYmVsKycuJztwdHMucHVzaChzKTt9CiAgZWxzZXtpZihTLmFjdG9yQ291bnQ9PT0wKXB0cy5wdXNoKCdEZXIgZXIgaW5nZW4gc2t1ZXNwaWxsZXJlIGZvcmFuIGthbWVyYWV0IFx1MjAxNCBmb3J0XHUwMGU2bGxpbmdlbiBiXHUwMGU2cmVzIGFmIGJpbGxlZGVyLCBrbGlwIG9nIGxvY2F0aW9uLicpO2Vsc2UgaWYoUy5hY3RvckNvdW50PT09MSlwdHMucHVzaCgnRm9yYW4ga2FtZXJhZXQgc2VyIHZpICcrKGxTaW5nW1MubGV2ZWxMYWJlbF18fFMubGV2ZWxMYWJlbCkrJywgZGVyIGJcdTAwZTZyZXIgZm9ydFx1MDBlNmxsaW5nZW4uJyk7ZWxzZSBwdHMucHVzaCgnRm9yYW4ga2FtZXJhZXQgc2VyIHZpICcrUy5hY3RvckNvdW50KycgJytTLmxldmVsTGFiZWwrJywgZGVyIHNhbW1lbiBiXHUwMGU2cmVyIGZvcnRcdTAwZTZsbGluZ2VuIHZpZGVyZS4nKTt9CiAgdmFyIHNuZD0nTHlkc2lkZW4gYnlnZ2VzIG9wIG1lZCAnK2xvdyhTLm11c2ljTGFiZWwpO3ZhciBleD1bXTsKICBpZihTLnN1YnNFeHRyYT4wKWV4LnB1c2goUy5zdWJzTGFiZWwrJyB1bmRlcnRla3N0ZXInKTtpZihTLnNwZWFrRXh0cmE+MClleC5wdXNoKGxvdyhTLnNwZWFrTGFiZWwpKTsKICBpZihleC5sZW5ndGg9PT0xKXNuZCs9Jywgb2cgcHJvZHVrdGlvbmVuIGtyeWRyZXMgbWVkICcrZXhbMF0rJy4nO2Vsc2UgaWYoZXgubGVuZ3RoPT09MilzbmQrPScsIG9nIHByb2R1a3Rpb25lbiBrcnlkcmVzIG1lZCAnK2V4WzBdKycgc2FtdCAnK2V4WzFdKycuJztlbHNlIHNuZCs9Jy4nOwogIHB0cy5wdXNoKHNuZCk7CiAgcHRzLnB1c2goUy5oYXN0ZUZha3Rvcj4wPydQcm9qZWt0ZXQgZXIgZW4gaGFzdGVvcGdhdmUgZGVyIHNrYWwgbGV2ZXJlcyBpbmRlbiAyIHVnZXIgXHUyMDE0IGRldCBhZnNwZWpsZXMgaSBwcmlzZW4uJzonTGV2ZXJpbmdzdGlkZW4gZXIgZWZ0ZXIgMiB1Z2VyLicpOwogIHJldHVybiBwdHMuam9pbignICcpOwp9CgpiZXJlZ25CdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgaWYocnVubmluZylyZXR1cm47cnVubmluZz10cnVlO3BsYXlLbG9ra2UoKTtiZXJlZ25XcmFwLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTsKICB2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtjLmlkPSdzcC1jLXM0Jztib2R5LmFwcGVuZENoaWxkKGMpOwogIGFkZEgoJ1NjZW5lIDQgXHUyMDE0IE1hbnVza3JpcHQnLGMpOwogIHZhciBjYXQ9czJDYXQsaXNGPWNhdD09PSdmb3JlZHJhZycsaXNUPWNhdD09PSdldmVudCd8fGlzRixpc1I9Y2F0PT09J3JvbGxlc3BpbCc7CiAgdmFyIGNyZXc9aXNUPyhTLmhvdXJzRXh0cmErUy5yZWdpb25FeHRyYSk6KGlzUj8wOihTLmFjdG9yQ291bnQqUy5sZXZlbFByKSk7CiAgdmFyIHZhckV4PWlzRj9NYXRoLnJvdW5kKFMuZmlsbUJhc2UqUy5mdkZha3Rvcik6TWF0aC5yb3VuZChTLmZpbG1CYXNlKlMudmFyRmFrdG9yKTsKICB2YXIgZkV4PWlzRj8oUy5rYW1lcmFFeHRyYStTLmFudGFsRXh0cmEpOjA7CiAgdmFyIGJhc2U9Uy5maWxtQmFzZSt2YXJFeCtjcmV3K1MubXVzaWNFeHRyYStTLnN1YnNFeHRyYStTLnNwZWFrRXh0cmErKGlzUj8wOlMucGxhdEV4dHJhKStmRXg7CiAgdmFyIHJzQmFzZT0wOwogIGlmKGlzUil7CiAgICB2YXIgZGFnc1ByaXNQcm9qZWt0PU1hdGgucm91bmQoYmFzZSowLjIwKTsKICAgIHZhciBkYWdzUHJpc1NrdWVzcGlsbGVyZT1TLnJzUm9sbGVyQW50YWwqUy5yc05pdmVhdVByOwogICAgcnNCYXNlPVMucnNPbXJhYWRlRXh0cmErUy5yc01hYWxncnVwcGVFeHRyYSsoUy5yc0RhZ2UqZGFnc1ByaXNQcm9qZWt0KSsoUy5yc0RhZ2UqZGFnc1ByaXNTa3Vlc3BpbGxlcmUpOwogIH0KICB2YXIgZEV4PU1hdGgucm91bmQoYmFzZSpTLmRhZ2VFa3N0cmEpO3ZhciBiRD1iYXNlK2RFeCtyc0Jhc2U7CiAgdmFyIGhFeD1NYXRoLnJvdW5kKGJEKlMuaGFzdGVGYWt0b3IpO3ZhciBwcmljZT1NYXRoLnJvdW5kKChiRCtoRXgpKlMuZmlybWFNdWx0aSk7CiAgdHlwZVQoYnVpbGRTdG9yeSgpLGMpLnRoZW4oZnVuY3Rpb24oKXsKICAgIHBsYXlTbGFlZGUoKTsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgLy8gTnkgYmVyZWduaW5nLWtuYXAgb3ZlciBzdHJlZ2VuCiAgICAgIHZhciByYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgcmIudGV4dENvbnRlbnQ9J055IGJlcmVnbmluZyc7CiAgICAgIHJiLmNsYXNzTmFtZT0nc3AtcmVzdGFydCc7CiAgICAgIHJiLnN0eWxlLmRpc3BsYXk9J2lubGluZS1ibG9jayc7CiAgICAgIHJiLnN0eWxlLm1hcmdpblRvcD0nMjRweCc7CiAgICAgIHJiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgICAgIHZhciBrcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3Ata29udGFrdCcpO2lmKGtzKWtzLnJlbW92ZSgpOwogICAgICAgIHZhciBkcmI9Ym9keS5xdWVyeVNlbGVjdG9yKCcuc3AtcmVzdGFydCcpO2lmKGRyYilkcmIucmVtb3ZlKCk7CiAgICAgICAgcnVubmluZz1mYWxzZTtzMkNhdD1udWxsO2ZFbHM9W107dmFyTGluZUVsPW51bGw7cGxhdExpbmVFbD1udWxsOwogICAgICAgIGZJdGVtcz1bXTtmTGJsPW51bGw7Uz1mcmVzaCgpO2JvZHkuaW5uZXJIVE1MPScnOwogICAgICAgIGJlcmVnbldyYXAuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO3ByaWNlU2VjdGlvbi5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7CiAgICAgICAgYnVkZ2V0TnVtLnRleHRDb250ZW50PSfigJQnOwogICAgICAgIGluaXQoKTsKICAgICAgfSk7CiAgICAgIGJvZHkuYXBwZW5kQ2hpbGQocmIpOwoKICAgICAgYnVkZ2V0TnVtLnRleHRDb250ZW50PXByaWNlLnRvTG9jYWxlU3RyaW5nKCdkYS1ESycpOwogICAgICBwcmljZVNlY3Rpb24uY2xhc3NMaXN0LmFkZCgnc2hvdycpOwogICAgICBzaG93S29udGFrdChwcmljZSxidWlsZFN0b3J5KCksUy5maXJtYUxhYmVsLFMuZmlsbUxhYmVsLFMuZmlybWFuYXZuKTsKICAgIH0sMTUwKTsKICB9KTsKfSk7CgovLyByZXN0YXJ0IG51IGjDpW5kdGVyZXQgYWYgZHluYW1pc2sga25hcAoKZnVuY3Rpb24gaW5pdCgpewogIGFkZEgoJ0ludC4gTWFsc3RyXHUwMGY4bSBcdTIwMTQgRGFnJyk7CiAgdmFyIGRGaXJtYT1ta0RkKCdmaXJtYScsZmlybWFPcHRzLGZ1bmN0aW9uKGwsdil7Uy5maXJtYU11bHRpPXY7Uy5maXJtYUxhYmVsPWw7dXBkRmlsbShsPT09TVUpO30pOwoKICB2YXIgZlc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO2ZXLmNsYXNzTmFtZT0nZGQnO2ZXLmlkPSdzcC1kZC1maWxtJzsKICBmTGJsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtmTGJsLmNsYXNzTmFtZT0nZGQtbGFiZWwnO2ZMYmwudGV4dENvbnRlbnQ9QUxMX0ZJTE1bMF1bMF07ZlcuYXBwZW5kQ2hpbGQoZkxibCk7CiAgdmFyIGZMaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtmTGkuY2xhc3NOYW1lPSdkZC1saXN0JztmTGkuaWQ9J3NwLWRkbC1maWxtJztkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZMaSk7CiAgZkl0ZW1zPVtdOwogIEFMTF9GSUxNLmZvckVhY2goZnVuY3Rpb24obyxpKXsKICAgIHZhciBpdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtpdC5jbGFzc05hbWU9J2RkLWl0ZW0nKyhpPT09MD8nIHNlbGVjdGVkJzonJyk7aXQudGV4dENvbnRlbnQ9b1swXTsKICAgIGlmKG9bMl0paXQuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CiAgICBpdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLGZ1bmN0aW9uKGUpewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgZkxpLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kZC1pdGVtOm5vdCguaGlkZGVuKScpLmZvckVhY2goZnVuY3Rpb24oeCl7eC5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpO30pOwogICAgICBpdC5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO2ZMYmwudGV4dENvbnRlbnQ9b1swXTtjbG9zZUFsbCgpO3BsYXlKdXN0ZXIoKTtTLmZpbG1CYXNlPW9bMV07Uy5maWxtTGFiZWw9b1swXTtvbkNoYW5nZSgpOwogICAgfSk7CiAgICBmTGkuYXBwZW5kQ2hpbGQoaXQpO2ZJdGVtcy5wdXNoKHtpdDppdCxtOm9bMl0sbDpvWzBdLHY6b1sxXX0pOwogIH0pOwogIGZMYmwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJyxmdW5jdGlvbihlKXsKICAgIGUucHJldmVudERlZmF1bHQoKTtlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgdmFyIG9wPWZMaS5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKTtjbG9zZUFsbCgpOwogICAgaWYoIW9wKXt2YXIgcj1mTGJsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2ZMaS5zdHlsZS50b3A9KHIuYm90dG9tKzIpKydweCc7ZkxpLnN0eWxlLmxlZnQ9ci5sZWZ0KydweCc7ZkxpLmNsYXNzTGlzdC5hZGQoJ29wZW4nKTt9CiAgfSk7CgogIHZhciBkUGxhdD1ta0RkKCdwbGF0Zm9ybScscGxhdGZvcm1PcHRzLGZ1bmN0aW9uKGwsdil7Uy5wbGF0RXh0cmE9djtTLnBsYXRMYWJlbD1sO30pOwogIHZhciBuYXZuSW5wdXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKICBuYXZuSW5wdXQudHlwZT0ndGV4dCc7CiAgbmF2bklucHV0LnBsYWNlaG9sZGVyPSdmaXJtYW5hdm4nOwogIG5hdm5JbnB1dC5jbGFzc05hbWU9J3NwLW5hdm4taW5wdXQnOwogIG5hdm5JbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsZnVuY3Rpb24oKXtTLmZpcm1hbmF2bj1uYXZuSW5wdXQudmFsdWU7fSk7CiAgYWRkTChbJ0plZyByZXByXHUwMGU2c2VudGVyZXIgJyxkRmlybWEud3JhcCwnIGRlciBoZWRkZXIgJyxuYXZuSW5wdXQsJy4gVmkgdmlsIHByb2R1Y2VyZSAnLGZXLCcuJ10pOwogIHBsYXRMaW5lRWw9YWRkTChbJ0ZpbG1lbiBza2FsIGRpc3RyaWJ1ZXJlcyB0aWwgJyxkUGxhdC53cmFwLCcuJ10pOwogIHZhciBkVmFyPW1rRGQoJ3ZhcmlnaGVkJyx2YXJpZ2hlZE9wdHMsZnVuY3Rpb24obCx2KXtTLnZhckZha3Rvcj12O1MudmFyTGFiZWw9bDt9KTsKICB2YXIgZERhZ2U9bWtEZCgnZGFnZScsZGFnZU9wdHMsZnVuY3Rpb24obCx2KXtTLmRhZ2VFa3N0cmE9djtTLmRhZ2VMYWJlbD1sO30pOwogIHZhckxpbmVFbD1hZGRMKFsnRmlsbWVuIHNrYWwgdmFyZSBjYS4gJyxkVmFyLndyYXAsJyBvZyB2aSBmb3J2ZW50ZXIgJyxkRGFnZS53cmFwLCcuJ10pOwp9Cgppbml0KCk7Cgp9KSgpOwo=\"));<\/script>\n<\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-99","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/malstrom.dk\/index.php?rest_route=\/wp\/v2\/pages\/99","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/malstrom.dk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/malstrom.dk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/malstrom.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/malstrom.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=99"}],"version-history":[{"count":19,"href":"https:\/\/malstrom.dk\/index.php?rest_route=\/wp\/v2\/pages\/99\/revisions"}],"predecessor-version":[{"id":322,"href":"https:\/\/malstrom.dk\/index.php?rest_route=\/wp\/v2\/pages\/99\/revisions\/322"}],"wp:attachment":[{"href":"https:\/\/malstrom.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=99"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}