{"id":18952,"date":"2026-11-14T10:24:20","date_gmt":"2026-11-14T10:24:20","guid":{"rendered":"https:\/\/morvalley.com\/?page_id=18952"},"modified":"2026-11-14T10:24:20","modified_gmt":"2026-11-14T10:24:20","slug":"morvalley-shop","status":"publish","type":"page","link":"https:\/\/morvalley.com\/de\/morvalley-shop\/","title":{"rendered":"Shop"},"content":{"rendered":"<div class=\"product\"><div class=\"product\"><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@500;600&#038;family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&#038;family=Italianno&#038;family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600;1,700&#038;display=swap\"><style id=\"mvloja-css\"> \/* Isolamento: o tema e o Elementor n\u00e3o tocam na loja; a loja n\u00e3o toca no site *\/ #mvloja *:not(svg, svg *, img){all:revert;box-sizing:border-box} #mvloja img{box-sizing:border-box} #mvloja{display:block;width:100%;margin:0;padding:0;text-align:left} .page-header,.entry-title{display:none!important} body.page .site-main,body.page main#content,body.page .page-content{max-width:none!important;width:100%!important;padding:0!important;margin:0!important} body.page .page-content > p:empty{display:none} #mvloja{--chao:#EAECDD; --chao-2:#DADDC6; --papel:#121A10; --cinza:#4A5340; --ouro:#715420; --ouro-forte:#5F461A; --fio:#CBD0B6; --vermelho:#C8332B; --f-titulo:\"Playfair Display\", \"Times New Roman\", Georgia, serif; --f-marca:\"Cinzel\", \"Trajan Pro\", Georgia, serif; --f-texto:\"DM Sans\", \"Helvetica Neue\", Arial, sans-serif; --f-pintura:\"Italianno\", \"Snell Roundhand\", cursive; --margem:clamp(16px, 4vw, 64px); --larg:1440px; color-scheme:light;} #mvloja [data-tom]{background:var(--chao);color:var(--papel)} #mvloja [data-tom=\"0\"]{--chao:#EAECDD;--chao-2:#DADDC6;--papel:#121A10;--cinza:#4A5340;--ouro:#715420;--ouro-forte:#5F461A;--fio:#D4D8C3;color-scheme:light} #mvloja [data-tom=\"1\"]{--chao:#E2E5D2;--chao-2:#CED2B7;--papel:#121A10;--cinza:#465039;--ouro:#6E521E;--ouro-forte:#5C4419;--fio:#CCD0B8;color-scheme:light} #mvloja [data-tom=\"2\"]{--chao:#D7DBC3;--chao-2:#C0C6A5;--papel:#10170E;--cinza:#3F4834;--ouro:#654B1B;--ouro-forte:#543E16;--fio:#C2C6AB;color-scheme:light} #mvloja [data-tom=\"3\"]{--chao:#CACFB3;--chao-2:#B0B893;--papel:#0D140B;--cinza:#353D2B;--ouro:#5A4317;--ouro-forte:#4A3712;--fio:#B4BB9C;color-scheme:light} #mvloja [data-tom=\"4\"]{--chao:#BBC2A3;--chao-2:#9FA781;--papel:#0B120A;--cinza:#2C3424;--ouro:#4C3812;--ouro-forte:#3E2D0E;--fio:#A7AE8F;color-scheme:light} #mvloja [data-tom=\"5\"]{--chao:#A7AF90;--chao-2:#88926C;--papel:#0A100A;--cinza:#232A1C;--ouro:#3E2E0E;--ouro-forte:#33260B;--fio:#969E7E;color-scheme:light} #mvloja [data-tom=\"6\"]{--chao:#4C5C46;--chao-2:#43523E;--papel:#FBF8F1;--cinza:#DCE0CE;--ouro:#EAD3A2;--ouro-forte:#F3E2BE;--fio:#62715B;color-scheme:dark} #mvloja [data-tom=\"7\"]{--chao:#2E3B2C;--chao-2:#273326;--papel:#FBF8F1;--cinza:#CDD2BF;--ouro:#E0C38A;--ouro-forte:#ECD3A2;--fio:#435040;color-scheme:dark} #mvloja [data-tom=\"9\"]{--chao:#F6E7DD;--chao-2:#EFD9CB;--papel:#2B1B14;--cinza:#6A5246;--ouro:#9A5B2E;--ouro-forte:#7E4823;--fio:#E6CDBE;color-scheme:light} #mvloja [data-tom=\"8\"]{--chao:#F2EFE3;--chao-2:#E7E3D3;--papel:#141A12;--cinza:#4D5444;--ouro:#76581F;--ouro-forte:#634A19;--fio:#D8D4C2;color-scheme:light} #mvloja *{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:200px} #mvloja{background:var(--chao);color:var(--papel);font-family:var(--f-texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip} #mvloja img{display:block;max-width:100%;height:auto} #mvloja a{color:inherit} #mvloja button,#mvloja input{font:inherit;color:inherit} #mvloja :focus-visible{outline:2px solid var(--ouro);outline-offset:3px} #mvloja .contentor{max-width:var(--larg);margin:0 auto;padding-left:max(var(--margem), env(safe-area-inset-left,0px));padding-right:max(var(--margem), env(safe-area-inset-right,0px))} #mvloja .topo{position:sticky;top:var(--mv-topo,0px);z-index:50;background:var(--chao);color:var(--papel);border-bottom:1px solid var(--fio);transition:background-color .5s ease,color .5s ease,border-color .5s ease} #mvloja .barra{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px} #mvloja .logo{display:flex;flex-direction:column;line-height:1;text-decoration:none} #mvloja .logo b{font-family:var(--f-marca);font-weight:600;font-size:22px;letter-spacing:.14em} #mvloja .logo span{font-family:var(--f-marca);font-size:11px;letter-spacing:.42em;color:var(--ouro);margin-top:6px} #mvloja .nav{display:flex;gap:28px;font-size:14px;letter-spacing:.12em;text-transform:uppercase} #mvloja .nav a{text-decoration:none;color:var(--cinza)} #mvloja .nav a[aria-current]{color:var(--papel);border-bottom:1px solid var(--ouro);padding-bottom:3px} #mvloja .carrinho{display:flex;align-items:center;gap:10px;font-size:15px;font-variant-numeric:tabular-nums;border:1px solid var(--fio);padding:9px 16px;background:none;cursor:pointer} #mvloja .carrinho i{font-style:normal;background:var(--ouro);color:var(--chao);font-weight:700;font-size:12px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:11px;padding:0 6px} #mvloja .carrinho.pulso{animation:pulso .6s ease} @keyframes pulso{50%{border-color:var(--ouro)}} #mvloja .regua{position:relative;padding-block:10px 14px} #mvloja .regua-trilho{position:relative;height:22px;margin:0 4px; background: repeating-linear-gradient(90deg,var(--fio) 0 1px,transparent 1px 100%) 0 100%\/calc(100% \/ 70) 8px no-repeat, repeating-linear-gradient(90deg,var(--cinza) 0 1px,transparent 1px 100%) 0 100%\/calc(100% \/ 7) 16px no-repeat; background-repeat:repeat-x; border-bottom:1px solid var(--cinza)} #mvloja .agulha{position:absolute;bottom:-1px;left:0;width:2px;height:30px;background:var(--ouro);transform:translateX(-1px);transition:left .25s ease-out} #mvloja .agulha::after{content:\"\";position:absolute;top:-5px;left:-4px;width:10px;height:10px;background:var(--ouro);transform:rotate(45deg)} #mvloja .paragens{display:grid;grid-template-columns:repeat(8,1fr);margin-top:8px} #mvloja .paragem{background:none;border:0;padding:0 2px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:var(--cinza)} #mvloja .paragem:last-child{text-align:right;align-items:flex-end} #mvloja .paragem b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:17px;line-height:1.15;color:inherit} #mvloja .paragem small{font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--ouro)} #mvloja .paragem[aria-current=\"true\"]{color:var(--papel)} #mvloja .paragem:hover{color:var(--papel)} #mvloja .abertura{padding-block:clamp(56px,8vw,120px) clamp(48px,6vw,88px)} #mvloja .abertura-grelha{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:start} #mvloja .abertura-grelha > div:last-child{padding-top:clamp(0px,3.4vw,52px)} #mvloja .sobretitulo{font-family:var(--f-marca);font-size:14px;letter-spacing:.32em;text-transform:uppercase;color:var(--ouro);margin:0 0 28px} #mvloja h1{font-family:var(--f-titulo);font-weight:400;font-size:clamp(56px,8.4vw,138px);line-height:.95;letter-spacing:-.02em;margin:0;text-wrap:balance} #mvloja h1 em{font-style:italic;color:var(--ouro)} #mvloja .abertura p{font-size:clamp(18px,1.4vw,21px);line-height:1.6;margin:0 0 18px;max-width:34ch} #mvloja .abertura .nota{font-size:15px;color:var(--cinza);border-top:1px solid var(--fio);padding-top:18px;margin-top:28px;max-width:none} #mvloja .coord{font-family:var(--f-marca);font-size:13px;letter-spacing:.2em;color:var(--cinza)} #mvloja .atalho{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center;text-decoration:none;background:var(--papel);color:var(--chao);padding:22px 28px;margin-top:28px;transition:background .25s} #mvloja .atalho:hover{background:#000} #mvloja .atalho span{font-family:var(--f-marca);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--chao-2)} #mvloja .atalho b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(26px,2.2vw,34px);line-height:1.1} #mvloja .atalho small{grid-column:1;font-size:15px;color:var(--chao-2)} #mvloja .atalho i{grid-column:2;grid-row:1 \/ span 3;font-style:normal;font-size:34px;line-height:1;border:1px solid var(--chao-2);width:58px;height:58px;display:grid;place-items:center;transition:transform .3s} #mvloja .atalho:hover i{transform:translateY(4px)} #mvloja .filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:clamp(40px,5vw,64px)} #mvloja .filtros span{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-right:8px} #mvloja .filtro{border:1px solid var(--fio);background:none;padding:9px 18px;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s,color .2s} #mvloja .filtro:hover{border-color:var(--cinza)} #mvloja .filtro[aria-pressed=\"true\"]{background:var(--papel);color:var(--chao);border-color:var(--papel)} #mvloja .capitulo{padding-block:clamp(36px,4vw,60px);position:relative} #mvloja .cap-cabeca{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:end;margin-bottom:clamp(40px,5vw,72px)} #mvloja .cap-etiqueta{display:flex;gap:18px;align-items:baseline;font-family:var(--f-marca);font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);margin-bottom:14px} #mvloja .cap-etiqueta em{font-style:normal;color:var(--cinza);letter-spacing:.14em} #mvloja h2{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(52px,6.6vw,108px);line-height:.98;letter-spacing:-.015em;margin:0;text-wrap:balance} #mvloja .cap-texto{font-size:clamp(18px,1.35vw,21px);max-width:36ch;margin:0;justify-self:end} #mvloja .produto{display:flex;flex-direction:column;gap:18px;min-width:0;transition:opacity .35s ease, filter .35s ease} #mvloja .produto.apagado{opacity:.16;filter:grayscale(1)} #mvloja .produto figure{margin:0;overflow:hidden;background:var(--chao-2);aspect-ratio:2\/3;max-width:100%} #mvloja .produto figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)} #mvloja .produto:hover figure img{transform:scale(1.035)} #mvloja .ficha{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:start} #mvloja .ficha h3{font-family:var(--f-titulo);font-weight:500;font-size:clamp(22px,1.7vw,27px);line-height:1.15;margin:0} #mvloja .ficha .tipo{grid-column:1;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)} #mvloja .ficha .preco{grid-column:2;grid-row:1;font-family:var(--f-titulo);font-size:clamp(22px,1.7vw,27px);color:var(--ouro);font-variant-numeric:tabular-nums;white-space:nowrap} #mvloja .ficha .iva{grid-column:2;grid-row:2;font-size:13px;color:var(--cinza);text-align:right} #mvloja .quero{justify-self:start;background:none;border:0;border-bottom:1px solid var(--ouro);padding:6px 0;font-size:15px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--papel);transition:color .2s} #mvloja .quero:hover{color:var(--ouro)} #mvloja .quero.feito{color:var(--ouro)} #mvloja .escada{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,2.6vw,44px);align-items:start} #mvloja .escada-cabeca{display:flex;flex-direction:column;gap:24px;padding-top:clamp(8px,2vw,32px)} #mvloja .escada-cabeca .cap-texto{justify-self:start} #mvloja .escada .produto:nth-of-type(2){margin-top:clamp(80px,12vw,192px)} #mvloja .mesa{display:grid;grid-template-columns:minmax(0,1.9fr) repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:clamp(18px,2.2vw,36px)} #mvloja .mesa .produto:first-child{grid-row:1 \/ span 2} #mvloja .mesa .nota-mesa{grid-column:3;grid-row:2;align-self:center;font-family:var(--f-titulo);font-style:italic;font-size:clamp(24px,2.1vw,34px);line-height:1.3;color:var(--papel);margin:0;padding-left:24px;border-left:1px solid var(--ouro)} #mvloja .mesa .nota-mesa small{display:block;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);margin-top:18px} #mvloja .data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.2vw,36px)} #mvloja .anos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center} #mvloja .numero{font-family:var(--f-titulo);font-weight:400;line-height:.8;letter-spacing:-.05em;color:var(--ouro);font-variant-numeric:lining-nums;margin:0} #mvloja .anos .numero{font-size:clamp(180px,24vw,380px)} #mvloja .anos .numero sup{font-size:.14em;letter-spacing:.02em;vertical-align:top;margin-left:.15em;font-style:italic;color:var(--papel)} #mvloja .anos-texto{display:flex;flex-direction:column;gap:28px;min-width:0} #mvloja .anos-texto h2{font-size:clamp(44px,4.6vw,76px)} #mvloja .anos-texto p{margin:0;font-size:clamp(18px,1.35vw,21px);max-width:38ch} #mvloja .prova{font-family:var(--f-titulo);font-style:italic;font-size:clamp(20px,1.6vw,24px);color:var(--cinza);border-left:1px solid var(--ouro);padding-left:20px} #mvloja .anos .produto figure{aspect-ratio:auto} #mvloja .anos.inverso .anos-foto{order:2} #mvloja .vinte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:clamp(18px,2.2vw,36px);align-items:end} #mvloja .vinte .produto:nth-child(2) figure{aspect-ratio:1600\/1226} #mvloja .seculo{position:relative;padding-block:clamp(40px,4vw,64px) 0} #mvloja .seculo .numero{font-size:clamp(190px,37vw,600px);text-align:center;color:var(--ouro);user-select:none;line-height:.74;letter-spacing:-.055em;margin:0} #mvloja .seculo-palco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-top:calc(clamp(190px,37vw,600px) * -0.30);position:relative} #mvloja .seculo-palco .produto figure{box-shadow:0 40px 90px -30px #000} #mvloja .seculo-esq h2{font-size:clamp(48px,5.4vw,92px)} #mvloja .seculo-esq p{font-size:clamp(18px,1.35vw,21px);max-width:30ch;margin:22px 0 0} #mvloja .seculo-dir{display:flex;flex-direction:column;gap:22px;padding-bottom:12px} #mvloja .seculo-dir .preco-grande{font-family:var(--f-titulo);font-size:clamp(48px,5vw,84px);line-height:1;color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .seculo-dir .preco-grande small{display:block;font-family:var(--f-texto);font-size:14px;color:var(--cinza);letter-spacing:.06em;margin-top:10px} #mvloja .seculo .ficha .preco,#mvloja .seculo .ficha .iva{display:none} #mvloja .estudio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,96px);align-items:start} #mvloja .grupo + .grupo{margin-top:clamp(40px,4vw,64px)} #mvloja .grupo-titulo{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-family:var(--f-marca);font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--ouro);padding-bottom:14px;border-bottom:1px solid var(--fio);margin:0} #mvloja .grupo-titulo em{font-style:normal;font-family:var(--f-texto);letter-spacing:.08em;text-transform:none;color:var(--cinza);font-size:14px} #mvloja .ocasiao{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 14px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--fio);padding:16px 0;cursor:pointer;color:var(--papel)} #mvloja .ocasiao::before{content:\"\";grid-row:1 \/ span 2;align-self:center;width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--fio);margin-left:4px;transition:background .2s,border-color .2s} #mvloja .ocasiao b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(24px,2vw,32px);line-height:1.1;transition:color .2s} #mvloja .ocasiao small{grid-column:2;font-size:15px;color:var(--cinza);line-height:1.4} #mvloja .ocasiao:hover b{color:var(--ouro)} #mvloja .ocasiao[aria-pressed=\"true\"] b{color:var(--ouro)} #mvloja .ocasiao[aria-pressed=\"true\"]::before{background:var(--ouro);border-color:var(--ouro)} #mvloja .painel{position:sticky;top:calc(env(safe-area-inset-top,0px) + 190px);display:flex;flex-direction:column;gap:22px} #mvloja .campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px} #mvloja .campo.largo{grid-column:1 \/ -1} #mvloja .ficheiro{display:flex;flex-wrap:wrap;align-items:center;gap:16px} #mvloja .ficheiro input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none} #mvloja .ficheiro label.botao-f{border:1px solid var(--cinza);padding:10px 18px;font-size:15px;letter-spacing:.06em;text-transform:none;color:var(--papel);cursor:pointer} #mvloja .ficheiro input:focus-visible + label.botao-f{outline:2px solid var(--ouro);outline-offset:3px} #mvloja .ficheiro span{font-size:15px;color:var(--cinza);overflow-wrap:anywhere} #mvloja .campos-nota{font-size:15px;color:var(--cinza);margin:0} #mvloja .campo{display:flex;flex-direction:column;gap:8px;min-width:0} #mvloja .campo label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)} #mvloja .campo input{background:transparent;border:0;border-bottom:1px solid var(--cinza);padding:10px 0;font-family:var(--f-titulo);font-size:26px;min-width:0;width:100%} #mvloja .campo input:focus{outline:none;border-color:var(--ouro)} #mvloja .lema{font-family:var(--f-titulo);font-style:italic;font-size:clamp(22px,1.8vw,28px);color:var(--ouro);margin:36px 0 0} #mvloja .futuro-cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center} #mvloja .botao{display:inline-block;background:var(--ouro);color:var(--chao);text-decoration:none;padding:16px 28px;font-size:15px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border:0;cursor:pointer} #mvloja .botao:hover{background:var(--ouro-forte)} #mvloja .futuro-cta span{font-size:15px;color:var(--cinza)} #mvloja .vidro{position:relative;aspect-ratio:1;max-width:min(470px, calc(100vh - 470px));min-width:min(300px, calc(100% - 34px));width:calc(100% - 34px);margin:26px 0 30px} #mvloja .vidro-area{position:absolute;inset:0;border:1px solid var(--fio);background:var(--chao);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:8%;overflow:hidden} #mvloja .v-topo{font-family:var(--f-marca);font-size:clamp(13px,1.15vw,17px);letter-spacing:.3em;color:var(--ouro);text-transform:uppercase} #mvloja .v-num{font-family:var(--f-titulo);font-weight:500;font-size:clamp(84px,9.5vw,160px);line-height:.92;color:var(--ouro);font-variant-numeric:lining-nums} #mvloja .v-num small{display:block;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:.2em;color:var(--papel);margin-top:4px} #mvloja .v-letra{font-family:var(--f-pintura);font-size:clamp(58px,6.4vw,108px);line-height:.95;color:var(--papel);overflow-wrap:anywhere;max-width:100%} #mvloja .v-letra.ouro{color:var(--ouro)} #mvloja .v-letra.media{font-size:clamp(42px,4.4vw,74px)} #mvloja .v-sub{font-family:var(--f-titulo);font-style:italic;font-size:clamp(17px,1.5vw,23px);color:var(--cinza);overflow-wrap:anywhere;max-width:100%} #mvloja .v-data{font-family:var(--f-marca);font-size:clamp(14px,1.2vw,18px);letter-spacing:.24em;color:var(--papel)} #mvloja .v-ceu{width:62%;height:auto;margin-bottom:6px} #mvloja .v-meio{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:1;min-height:0} #mvloja .v-meio + .v-meio{border-top:1px dashed var(--fio)} #mvloja .v-logo{max-width:70%;max-height:70%;object-fit:contain} #mvloja .v-vazio{border:1px dashed var(--cinza);color:var(--cinza);font-size:14px;letter-spacing:.14em;text-transform:uppercase;padding:18px 26px} #mvloja .v-zona{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza)} #mvloja .cota{position:absolute;font-size:12px;letter-spacing:.14em;color:var(--cinza);display:flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums} #mvloja .cota::before,#mvloja .cota::after{content:\"\";flex:1;height:1px;background:var(--cinza)} #mvloja .cota-h{left:0;right:0;top:-26px} #mvloja .cota-v{top:0;bottom:0;right:-26px;writing-mode:vertical-rl;flex-direction:row} #mvloja .cota-v::before,#mvloja .cota-v::after{width:1px;height:auto} #mvloja .vidro-legenda{position:absolute;left:0;bottom:-30px;font-size:13px;color:var(--cinza);letter-spacing:.06em} #mvloja .servir{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,72px)} #mvloja .servir h2{font-size:clamp(44px,4.6vw,76px)} #mvloja .lista{border-top:1px solid var(--fio)} #mvloja .linha{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:baseline;padding-block:22px;border-bottom:1px solid var(--fio)} #mvloja .linha h3{font-family:var(--f-titulo);font-weight:500;font-size:clamp(22px,1.7vw,27px);margin:0} #mvloja .linha p{margin:4px 0 0;font-size:15px;color:var(--cinza)} #mvloja .linha .preco{font-family:var(--f-titulo);font-size:clamp(22px,1.7vw,27px);color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .produtor{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center} #mvloja .produtor figure{margin:0;max-width:100%} #mvloja .produtor h2{font-size:clamp(46px,5vw,84px)} #mvloja .produtor p{font-size:clamp(18px,1.35vw,21px);max-width:34ch;margin:24px 0 0} #mvloja .assinatura{font-family:var(--f-pintura);font-size:clamp(52px,4.6vw,76px);color:var(--ouro);line-height:1;margin-top:28px} #mvloja .telefone{font-variant-numeric:tabular-nums;font-size:16px;color:var(--cinza);margin-top:6px} #mvloja .rodape{padding-block:48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:14px;color:var(--cinza)} @media (max-width:1100px){#mvloja .nav{display:none} #mvloja .paragem b{font-size:15px}} @media (max-width:860px){#mvloja .regua{display:none} html{scroll-padding-top:80px} #mvloja .abertura-grelha,#mvloja .cap-cabeca,#mvloja .anos,#mvloja .vinte,#mvloja .estudio,#mvloja .servir,#mvloja .produtor,#mvloja .seculo-palco{grid-template-columns:minmax(0,1fr)} #mvloja .painel{position:static} #mvloja .cap-texto{justify-self:start} #mvloja .escada,#mvloja .data{grid-template-columns:repeat(2,minmax(0,1fr))} #mvloja .escada-cabeca{grid-column:1 \/ span 2} #mvloja .escada .produto:nth-of-type(2){margin-top:56px} #mvloja .mesa{grid-template-columns:repeat(2,minmax(0,1fr))} #mvloja .mesa .produto:first-child{grid-row:auto;grid-column:1 \/ span 2} #mvloja .mesa .nota-mesa{grid-column:1 \/ span 2;grid-row:auto} #mvloja .anos.inverso .anos-foto{order:0} #mvloja .seculo-palco{margin-top:32px} #mvloja .seculo-palco .produto{max-width:420px;justify-self:center;width:100%}} @media (max-width:480px){#mvloja .escada,#mvloja .data{grid-template-columns:minmax(0,1fr)} #mvloja .escada-cabeca{grid-column:auto} #mvloja .escada .produto:nth-of-type(2){margin-top:0} #mvloja .campos{grid-template-columns:minmax(0,1fr)} #mvloja .linha{grid-template-columns:minmax(0,1fr) auto} #mvloja .linha .quero{grid-column:1 \/ span 2} #mvloja .carrinho b{display:none}} @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} #mvloja *{transition:none!important;animation:none!important}} #mvloja .grelha{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4vw,64px) clamp(16px,1.8vw,28px);align-items:start} #mvloja .cab{display:flex;flex-direction:column;gap:18px;padding-top:clamp(12px,1.5vw,24px);min-width:0} #mvloja .cab h2{font-size:clamp(46px,4.6vw,78px)} #mvloja .cab .cap-texto{justify-self:start;max-width:28ch} #mvloja .cab-linha{margin-bottom:clamp(28px,3vw,48px)} #mvloja .peca{gap:0} #mvloja .peca .marca{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--papel);margin:0 0 12px;min-height:1.6em;line-height:1.6} #mvloja .peca figure{aspect-ratio:1;background:var(--chao-2);overflow:hidden;margin:0} #mvloja .peca figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)} #mvloja .peca:hover figure img{transform:scale(1.03)} #mvloja .peca .ficha{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding-top:16px;border-top:0} #mvloja .peca .ficha h3{font-family:var(--f-texto);font-weight:500;font-size:14px;letter-spacing:.14em;text-transform:uppercase;line-height:1.45} #mvloja .peca .ficha .preco{justify-self:end;text-align:right;font-family:var(--f-texto);font-size:15px;letter-spacing:.04em;color:var(--papel);font-weight:500} #mvloja .peca .ficha .tipo{grid-column:1;font-size:14px;letter-spacing:.02em;text-transform:none;color:var(--cinza)} #mvloja .peca .ficha .quero{grid-column:2;grid-row:2;justify-self:end;font-size:12px;letter-spacing:.18em;padding:0 0 3px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s,color .2s} #mvloja .peca:hover .quero,#mvloja .peca .quero:focus-visible,#mvloja .peca .quero.feito{opacity:1;transform:none} @media (hover:none){#mvloja .peca .ficha .quero{opacity:1;transform:none}} #mvloja .aparte{align-self:center;font-family:var(--f-titulo);font-style:italic;font-size:clamp(24px,2.1vw,34px);line-height:1.3;margin:0;padding-left:24px;border-left:1px solid var(--ouro)} #mvloja .aparte .ir{display:inline-block;margin-top:18px;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);text-decoration:none;border-bottom:1px solid var(--ouro);padding-bottom:3px} #mvloja .aparte .ir::after{content:\" \u2192\"} #mvloja .aparte .ir:hover{color:var(--papel);border-color:var(--papel)} #mvloja .aparte{display:flex;flex-direction:column;align-items:flex-start} #mvloja .aparte small{display:block;font-family:var(--f-marca);font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-top:18px} #mvloja .anos-cab{padding-top:clamp(8px,1vw,16px)} #mvloja .anos-cab .numero{font-size:clamp(150px,15vw,250px);margin:6px 0 4px} #mvloja .anos-cab .numero sup{font-size:.15em;letter-spacing:.02em;vertical-align:top;margin-left:.12em;font-style:italic;color:var(--papel)} #mvloja .nota-prova{align-self:center;display:flex;flex-direction:column;gap:22px;font-size:clamp(18px,1.35vw,21px);max-width:30ch} #mvloja .nota-prova p{margin:0} #mvloja .seculo{padding-block:0} #mvloja .seculo .numero{font-size:clamp(190px,37vw,600px);text-align:center;line-height:.74;letter-spacing:-.055em;color:var(--ouro);margin:0;user-select:none} #mvloja .seculo-grelha{margin-top:calc(clamp(190px,37vw,600px) * -0.26);position:relative;align-items:end} #mvloja .seculo-grelha .cab{padding-top:0} #mvloja .seculo-grelha .nota-prova{align-self:end;padding-bottom:84px} @media (max-width:860px){#mvloja .grelha{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:40px} #mvloja .cab,#mvloja .aparte,#mvloja .nota-prova{grid-column:1 \/ -1} #mvloja .nota-prova{max-width:none} #mvloja .seculo-grelha{margin-top:24px} #mvloja .seculo-grelha .nota-prova{padding-bottom:0} #mvloja .peca .ficha{grid-template-columns:minmax(0,1fr)} #mvloja .peca .ficha .preco{grid-column:1;grid-row:auto;justify-self:start;text-align:left} #mvloja .peca .ficha .quero{grid-column:1;grid-row:auto;justify-self:start} #mvloja .peca .ficha h3{font-size:13px;letter-spacing:.1em} #mvloja .peca.so{grid-column:1 \/ -1}} #mvloja .seculo .peca .ficha .preco{display:block} @media (prefers-reduced-motion:reduce){#mvloja .peca figure img{transition:none}} #mvloja .esgotado figure{position:relative} #mvloja .esgotado figure::after{content:attr(data-faixa);position:absolute;left:76%;top:22%;width:80%;transform:translate(-50%,-50%) rotate(38deg);background:var(--papel);color:var(--chao);text-align:center;font-family:var(--f-marca);font-weight:600;font-size:clamp(15px,1.6vw,24px);letter-spacing:.5em;text-transform:uppercase;padding:.7em 0 .7em .5em;box-shadow:0 12px 30px -16px rgba(0,0,0,.5);pointer-events:none} #mvloja .esgotado:hover figure img{transform:none} @media (max-width:860px){#mvloja .esgotado figure::after{font-size:11px;letter-spacing:.32em;left:77%;top:19%;width:96%}} #mvloja .esgotado .ficha h3,#mvloja .esgotado .ficha .preco{opacity:.85} #mvloja .vivo{position:relative} #mvloja .vivo canvas{position:absolute;inset:0;width:100%;height:100%;max-width:100%;opacity:0;transition:opacity .9s ease} #mvloja .vivo.pronto canvas{opacity:1} #mvloja .peca:hover .vivo canvas{transform:none} #mvloja .luz-agora{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--fio);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);font-variant-numeric:tabular-nums} #mvloja .luz-agora button{background:none;border:0;border-bottom:1px solid var(--cinza);padding:0 0 2px;font:inherit;letter-spacing:.14em;color:var(--cinza);cursor:pointer} #mvloja .luz-agora button:hover,#mvloja .luz-agora button[aria-pressed=\"true\"]{color:var(--papel);border-color:var(--ouro)} #mvloja .abertura{position:relative;overflow:hidden;padding-block:clamp(48px,6vw,88px) clamp(56px,6vw,96px)} #mvloja .abertura-luz{position:absolute;inset:0;pointer-events:none; background:linear-gradient(112deg,rgba(255,252,238,0) 18%,rgba(255,252,238,.62) 27%,rgba(255,252,238,.62) 61%,rgba(255,252,238,0) 70%)} #mvloja .abertura-luz::after{content:\"\";position:absolute;inset:-12px -24px; background:url(https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-ramada.png?v=1) center 18%\/max(1300px,105%) auto no-repeat; animation:brisa 9s ease-in-out infinite alternate} @keyframes brisa{from{transform:translate3d(-8px,0,0) rotate(-.3deg)}to{transform:translate3d(8px,4px,0) rotate(.3deg)}} #mvloja .abertura-centro{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center} #mvloja .abertura-centro .sobretitulo{margin:0 0 24px} #mvloja .abertura-centro h1{font-size:clamp(48px,6.4vw,104px);line-height:1;letter-spacing:-.02em} #mvloja .filete{display:block;width:56px;height:1px;background:var(--ouro);margin:6px auto 28px} #mvloja .abertura .abertura-sub{margin:26px 0 0} #mvloja .convite{display:flex;flex-direction:column;align-items:center;margin-top:clamp(28px,3vw,44px);width:100%} #mvloja .abertura-centro p{max-width:none} #mvloja .abertura .convite-nome{font-family:var(--f-pintura);font-size:clamp(76px,9vw,140px);line-height:1.05;color:var(--ouro);margin:0;min-height:1.05em;max-width:100%;overflow-wrap:anywhere;transition:opacity .25s} #mvloja .convite-linha{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--papel);width:min(440px,100%)} #mvloja .convite-linha input{flex:1;min-width:0;background:transparent;border:0;padding:12px 4px;font-family:var(--f-titulo);font-size:22px;color:var(--papel);text-align:left} #mvloja .convite-linha input::placeholder{color:var(--cinza);font-style:italic} #mvloja .convite-linha input:focus{outline:none} #mvloja .convite-linha:focus-within{border-color:var(--ouro)} #mvloja .convite-linha button{background:none;border:0;padding:0 2px 0 16px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--papel);cursor:pointer;white-space:nowrap} #mvloja .convite-linha button::after{content:\" \\2192\"} #mvloja .convite-linha button:hover{color:var(--ouro)} #mvloja .abertura .convite-nota{font-size:14px;color:var(--cinza);margin:14px 0 0} #mvloja .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap} #mvloja .abertura-sub{font-family:var(--f-titulo);font-style:italic;font-size:clamp(20px,1.7vw,26px);color:var(--cinza);margin:0} #mvloja .abertura-centro .filtros{justify-content:center;margin-top:clamp(36px,4vw,56px)} @media (prefers-reduced-motion:reduce){#mvloja .abertura-luz::after{animation:none}} #mvloja .abertura-ir{margin-top:28px;display:inline-flex;align-items:center;gap:18px;padding:10px 26px 10px 14px;background:#5A7052;color:#FBF8F1;text-decoration:none;text-align:left;box-shadow:0 18px 40px -22px rgba(40,56,36,.55);transition:transform .25s,box-shadow .25s} #mvloja .abertura-ir img{height:72px;width:auto} #mvloja .abertura-ir span{display:flex;flex-direction:column;gap:4px;font-family:var(--f-titulo);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1.05} #mvloja .abertura-ir small{font-family:var(--f-marca);font-style:normal;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#D8B87C} #mvloja .abertura-ir i{font-style:normal;font-size:24px;color:#F0D9AA;margin-left:6px;transition:transform .25s} #mvloja .abertura-ir:hover{background:#4F6448;transform:translateY(-2px);box-shadow:0 24px 46px -22px rgba(18,26,16,.7)} #mvloja .abertura-ir:hover i{transform:translateX(4px)} #mvloja .convite-bloco{display:flex;flex-direction:column;gap:8px;justify-self:end;width:min(460px,100%)} #mvloja .convite-bloco .cap-texto{justify-self:auto} #mvloja .convite-fim{align-items:flex-start;margin-top:8px} #mvloja .convite-fim .convite-nome{font-family:var(--f-pintura);font-size:clamp(68px,6.4vw,112px);line-height:1.05;color:var(--ouro);margin:0;min-height:1.05em;max-width:100%;overflow-wrap:anywhere} #mvloja .convite-fim .filete{margin:4px 0 22px} #mvloja .convite-fim .convite-nota{font-size:14px;color:var(--cinza);margin:14px 0 0} @media (max-width:860px){#mvloja .convite-bloco{justify-self:start}} #mvloja .vida{margin-top:clamp(28px,3vw,44px)} #mvloja .vida-abas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,3vw,40px)} #mvloja .aba{border:1px solid var(--fio);background:none;padding:10px 20px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--cinza)} #mvloja .aba[aria-pressed=\"true\"]{background:var(--papel);color:var(--chao);border-color:var(--papel)} #mvloja .vida-linha{position:relative;display:flex;align-items:flex-start;gap:clamp(24px,4vw,64px);border-bottom:1px solid var(--cinza);padding-bottom:2px} #mvloja .vida-linha[hidden]{display:none!important} #mvloja .marcos{list-style:none;margin:0;padding:0;display:flex;flex:1;justify-content:space-between;gap:8px;min-width:0} #mvloja .marcos.sempre{flex:0 0 auto;gap:clamp(20px,3vw,48px);padding-left:clamp(20px,3vw,48px);border-left:1px dashed var(--fio)} #mvloja .ocasiao.marco{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;padding:0 0 18px;cursor:pointer;color:var(--cinza);text-align:left} #mvloja .ocasiao.marco::before{content:none} #mvloja .ocasiao.marco i{width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--cinza);margin:0 0 12px 1px;transition:background .2s,border-color .2s} #mvloja .ocasiao.marco b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(20px,1.8vw,28px);line-height:1.1;color:var(--papel);transition:color .2s} #mvloja .ocasiao.marco small{grid-column:auto;font-size:13px;letter-spacing:.06em;color:var(--cinza)} #mvloja .ocasiao.marco:hover b{color:var(--ouro)} #mvloja .ocasiao.marco[aria-pressed=\"true\"] b{color:var(--ouro)} #mvloja .ocasiao.marco[aria-pressed=\"true\"] i{background:var(--ouro);border-color:var(--ouro)} #mvloja .agulha-vida{position:absolute;bottom:-2px;left:0;height:3px;width:40px;background:var(--ouro);transition:left .45s cubic-bezier(.3,.7,.2,1),width .45s cubic-bezier(.3,.7,.2,1)} #mvloja .vida-palco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start;margin-top:clamp(32px,4vw,56px)} #mvloja .vida-foto{margin:0;aspect-ratio:4\/5;max-width:100%;overflow:hidden;background:var(--chao-2)} #mvloja .vida-foto img{width:100%;height:100%;object-fit:cover;transition:opacity .35s ease} #mvloja .vida-foto img.troca{opacity:0} #mvloja .vida-foto{position:relative;container-type:inline-size} #mvloja .vf{position:absolute;left:0;top:0;width:100%;aspect-ratio:4\/5;pointer-events:none;transition:opacity .35s ease} #mvloja .vf.troca{opacity:0} #mvloja .vf-l{position:absolute;white-space:nowrap;line-height:1} #mvloja .vf-l b{font-weight:inherit} #mvloja .vida-palco .painel{position:static;gap:16px} #mvloja .editor-titulo{margin:0;display:flex;flex-direction:column;gap:6px} #mvloja .editor-titulo span{font-family:var(--f-marca);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro)} #mvloja .editor-titulo b{font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(40px,4vw,64px);line-height:1} #mvloja .editor-titulo em{font-style:normal;font-size:17px;color:var(--cinza)} #mvloja .vida-palco .vidro{max-width:280px;min-width:0;width:calc(100% - 34px);margin:28px 0 30px} #mvloja .vida-palco .v-num{font-size:clamp(60px,5.6vw,90px)} #mvloja .vida-palco .v-letra{font-size:clamp(38px,3.6vw,60px)} #mvloja .vida-palco .v-letra.media{font-size:clamp(28px,2.6vw,44px)} @media (max-width:860px){#mvloja .vida-linha{overflow-x:auto;scrollbar-width:none;gap:28px} #mvloja .vida-linha::-webkit-scrollbar{display:none} #mvloja .marcos{flex:0 0 auto;gap:28px} #mvloja .ocasiao.marco b{white-space:nowrap} #mvloja .ocasiao.marco small{white-space:nowrap} #mvloja .vida-palco{grid-template-columns:minmax(0,1fr)} #mvloja .vida-foto{max-width:440px}} #mvloja .atelier{border-top:1px solid var(--fio)} #mvloja .atelier .cap-etiqueta,#mvloja .atelier .cap-etiqueta em{color:var(--ouro)} #mvloja .atelier .vida-abas{display:inline-flex;gap:0;padding:4px;background:var(--chao-2);border:1px solid var(--fio)} #mvloja .atelier .aba{border:0;padding:12px 22px;color:var(--cinza);background:none} #mvloja .atelier .aba[aria-pressed=\"true\"]{background:#FFFCF9;color:var(--papel);box-shadow:0 1px 3px rgba(43,27,20,.12)} #mvloja .atelier .vida-linha{border-bottom:0;padding:18px 20px 0;background:#FFFCF9;border:1px solid var(--fio)} #mvloja .atelier .vida-linha::after{content:\"\";position:absolute;left:20px;right:20px;top:29px;height:1px;background:var(--fio);z-index:0} #mvloja .atelier .marcos.sempre{border-left-color:var(--fio)} #mvloja .atelier .ocasiao.marco{position:relative;z-index:1;padding-bottom:16px} #mvloja .atelier .ocasiao.marco i{width:11px;height:11px;transform:rotate(45deg);background:#FFFCF9;border-color:var(--cinza)} #mvloja .atelier .ocasiao.marco b{font-size:clamp(19px,1.6vw,25px)} #mvloja .atelier .agulha-vida{bottom:0;height:3px} #mvloja .atelier .vida-palco{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(20px,2.4vw,32px)} #mvloja .atelier .vida-foto{position:sticky;top:calc(env(safe-area-inset-top,0px) + 190px)} #mvloja .atelier .painel{background:#FFFCF9;border:1px solid var(--fio);padding:clamp(20px,2.6vw,36px);gap:14px;box-shadow:0 30px 60px -40px rgba(43,27,20,.35)} #mvloja .passo{display:flex;align-items:center;gap:12px;margin:10px 0 0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--papel);font-weight:500} #mvloja .passo:first-child{margin-top:0} #mvloja .passo i{font-style:normal;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--ouro);color:var(--ouro);font-family:var(--f-titulo);font-size:16px;letter-spacing:0;flex:0 0 auto} #mvloja .passo em{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--cinza);font-weight:400} #mvloja .atelier .editor-titulo{padding-left:40px} #mvloja .atelier .editor-titulo span{display:none} #mvloja .atelier .editor-titulo b{font-size:clamp(34px,3.2vw,52px)} #mvloja .atelier .vidro{margin:30px 0 32px 40px;max-width:260px;width:calc(100% - 74px)} #mvloja .atelier .vidro-area{background:#20140F;border-color:#20140F;--ouro:#E2C287;--papel:#FBF6EF;--cinza:#CDBBAE;--fio:#4A3A32} #mvloja .atelier .vidro-legenda{display:none} #mvloja .atelier .campos{gap:12px 14px} #mvloja .atelier .campo label{letter-spacing:.12em} #mvloja .atelier .campo input{border:1px solid var(--fio);background:var(--chao);padding:12px 14px;font-size:22px} #mvloja .atelier .ficheiro label.botao-f{border-color:var(--fio);background:var(--chao)} #mvloja .conta{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--fio);padding-top:14px} #mvloja .conta-linha{display:flex;justify-content:space-between;gap:16px;font-size:16px;font-variant-numeric:tabular-nums} #mvloja .conta-linha b{font-family:var(--f-titulo);font-weight:500;font-size:26px} #mvloja .conta-linha.leve{font-size:14px;color:var(--cinza)} #mvloja .atelier .quero-magnum{width:100%;margin-top:10px;padding:18px 24px;font-size:15px;background:var(--papel);color:#FFFCF9} #mvloja .atelier .quero-magnum:hover{background:var(--ouro)} #mvloja .garantias{margin:6px 0 0;font-size:13px;color:var(--cinza);text-align:center} @media (max-width:860px){#mvloja .atelier .vida-palco{grid-template-columns:minmax(0,1fr)} #mvloja .atelier .vida-foto{position:static;max-width:none;aspect-ratio:1} #mvloja .atelier .vida-foto img{object-position:50% 40%} #mvloja .atelier .vida-abas{display:flex} #mvloja .atelier .aba{flex:1;padding:12px 10px;letter-spacing:.08em} #mvloja .atelier .vidro{margin:28px 0 20px;max-width:240px} #mvloja .atelier .vida-linha{padding:16px 16px 0} #mvloja .atelier .vida-linha::after{left:16px;right:16px;top:27px} #mvloja .atelier .editor-titulo{padding-left:0}} @media (min-width:861px){#mvloja #fds .grelha > .cab,#mvloja #data .grelha > .cab{grid-row:span 2}} @media (max-width:860px){#mvloja .atelier .vida-linha{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}} #mvloja .ver-ficha{grid-column:1 \/ -1;justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:6px;background:none;border:0;padding:4px 0;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cinza);cursor:pointer;transition:color .2s} #mvloja .ver-ficha i{position:relative;width:15px;height:15px;border:1px solid currentColor;flex:0 0 auto} #mvloja .ver-ficha i::before,#mvloja .ver-ficha i::after{content:\"\";position:absolute;left:50%;top:50%;background:currentColor;transform:translate(-50%,-50%)} #mvloja .ver-ficha i::before{width:7px;height:1px} #mvloja .ver-ficha i::after{width:1px;height:7px;transition:transform .2s} #mvloja .ver-ficha:hover{color:var(--papel)} #mvloja .ver-ficha:hover i::after{transform:translate(-50%,-50%) scaleY(0)} html.sem-scroll,html.sem-scroll body{overflow:hidden} #mvloja .gaveta-fundo{position:fixed;inset:0;z-index:90;background:rgba(18,26,16,.42);opacity:0;transition:opacity .3s} #mvloja .gaveta-fundo.aberta{opacity:1} #mvloja .gaveta{--g-fundo:#FBF8F1;--g-texto:#141A12;--g-cinza:#5A6150;--g-ouro:#7A5B22;--g-fio:#E2DDCD; position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(500px,100%);background:var(--g-fundo);color:var(--g-texto);display:flex;flex-direction:column; transform:translateX(100%);transition:transform .32s cubic-bezier(.3,.7,.2,1);box-shadow:-30px 0 60px -30px rgba(0,0,0,.35); padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)} #mvloja .gaveta.aberta{transform:none} #mvloja .g-topo{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--g-fio)} #mvloja .g-topo span{font-family:var(--f-marca);font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--g-ouro)} #mvloja .g-fechar{background:none;border:1px solid var(--g-fio);padding:8px 14px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--g-texto);cursor:pointer} #mvloja .g-fechar:hover{border-color:var(--g-texto)} #mvloja .g-corpo{overflow-y:auto;padding:28px 28px 40px;display:flex;flex-direction:column;gap:22px} #mvloja .g-tipo{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-cinza)} #mvloja .g-nome{margin:-12px 0 0;font-family:var(--f-titulo);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,40px);line-height:1.05;text-wrap:balance} #mvloja .g-citacao{margin:0;padding-left:16px;border-left:1px solid var(--g-ouro);font-family:var(--f-titulo);font-style:italic;font-size:19px;line-height:1.45} #mvloja .g-citacao cite{display:block;margin-top:8px;font-family:var(--f-marca);font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--g-ouro)} #mvloja .g-bloco{border-top:1px solid var(--g-fio);padding-top:16px} #mvloja .g-bloco h4{margin:0 0 8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--g-ouro);font-weight:500} #mvloja .g-bloco p{margin:0;font-size:16px;line-height:1.6} #mvloja .g-bloco ul{margin:0;padding-left:18px;font-size:16px;line-height:1.7} #mvloja .g-bloco dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;font-size:15px} #mvloja .g-bloco dt{color:var(--g-cinza)} #mvloja .g-bloco dd{margin:0} #mvloja .g-dados dd{font-variant-numeric:tabular-nums;text-align:right} #mvloja .g-pdf{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:4px;padding:14px 20px;border:1px solid var(--g-texto);color:var(--g-texto);text-decoration:none;font-size:13px;letter-spacing:.16em;text-transform:uppercase} #mvloja .g-pdf::after{content:\"\\2197\"} #mvloja .g-pdf:hover{background:var(--g-texto);color:var(--g-fundo)} @media (prefers-reduced-motion:reduce){#mvloja .gaveta,#mvloja .gaveta-fundo{transition:none}} #mvloja .peca figure{cursor:zoom-in} #mvloja .lupa{position:fixed;inset:0;z-index:95;background:rgba(14,18,12,.86);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));cursor:zoom-out} #mvloja .lupa[hidden]{display:none} #mvloja .lupa img{max-width:min(1400px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px -30px #000} #mvloja .lupa button{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));background:#FBF8F1;border:0;padding:10px 16px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer} #mvloja .v-letra{font-family:var(--f-titulo);font-style:italic;font-weight:600;letter-spacing:-.01em;line-height:1} #mvloja .vida-palco .v-letra{font-size:clamp(30px,2.9vw,46px)} #mvloja .vida-palco .v-letra.media{font-size:clamp(24px,2.2vw,36px)} #mvloja .v-sub{font-weight:600} #mvloja .v-topo,#mvloja .v-data{font-weight:600} #mvloja .v-conteudo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;min-height:0;transform-origin:center center} #mvloja .atelier .campo input{background:#FFFFFF;border:1px solid #CDB6A8;border-radius:0;padding:14px 16px 14px 44px;font-size:21px;color:var(--papel); background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239A5B2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'\/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat;background-position:15px 50%;box-shadow:inset 0 1px 2px rgba(43,27,20,.06)} #mvloja .atelier .campo input::placeholder{color:#A8958A;font-style:italic;opacity:1} #mvloja .atelier .campo input:hover{border-color:var(--ouro)} #mvloja .atelier .campo input:focus{border-color:var(--ouro);background-color:#FFFFFF;box-shadow:0 0 0 3px rgba(154,91,46,.15)} #mvloja .atelier .campo label{color:var(--papel);font-weight:500} #mvloja .atelier .campo label::after{content:\" \u00b7 hier schreiben\";text-transform:none;letter-spacing:.02em;color:var(--ouro);font-weight:400} #mvloja .preco .iva{display:inline;margin-left:7px;font-family:var(--f-texto);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:none;color:var(--cinza);text-align:inherit;grid-column:auto;grid-row:auto} #mvloja .linha .preco .iva,#mvloja .seculo .ficha .preco .iva{display:inline} #mvloja .comprar{grid-column:1 \/ -1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px} #mvloja .peca .comprar .quero{opacity:1;transform:none;justify-self:auto;padding:0 0 3px;font-size:12px;letter-spacing:.18em} #mvloja .qtd{display:inline-flex;align-items:center;gap:2px;height:26px} #mvloja .qtd button{width:24px;height:24px;background:none;border:0;border-radius:50%;font:inherit;font-size:16px;line-height:1;color:var(--cinza);cursor:pointer;transition:color .2s,background .2s} #mvloja .qtd button:hover{color:var(--papel);background:rgba(0,0,0,.05)} #mvloja .qtd output{min-width:22px;text-align:center;font-size:14px;font-weight:500;border-bottom:1px solid var(--fio);padding-bottom:1px;font-variant-numeric:tabular-nums;color:var(--papel)} #mvloja .peca .comprar .quero{white-space:nowrap} #mvloja .peca .comprar .quero.feito{cursor:default;border-bottom-color:var(--ouro)} @media (max-width:860px){#mvloja .peca .comprar .quero{letter-spacing:.1em;font-size:11px} #mvloja .comprar{gap:6px}} #mvloja .aviso-legal{flex-basis:100%;margin:0 0 4px;font-size:14px;color:var(--papel);letter-spacing:.02em} #mvloja .legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px 24px;padding-bottom:20px;border-bottom:1px solid var(--fio)} #mvloja .legal a{color:var(--cinza);text-decoration:none;border-bottom:1px solid transparent} #mvloja .legal a:hover{color:var(--papel);border-color:var(--papel)} #mvloja .peca .ficha h3{font-weight:600;color:var(--papel);letter-spacing:.12em} #mvloja .peca .ficha .preco{font-weight:600} #mvloja .peca .ficha .tipo{color:var(--papel);opacity:.78} #mvloja .preco .iva{color:var(--papel);opacity:.7} #mvloja .ver-ficha{color:var(--papel);opacity:.75} #mvloja .ver-ficha:hover{opacity:1} #mvloja .resultados{padding-block:clamp(28px,3vw,44px) clamp(48px,5vw,72px)} #mvloja .resultados[hidden],#mvloja section.capitulo[hidden]{display:none!important} #mvloja .res-cab{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:clamp(20px,2.4vw,32px);padding-bottom:14px;border-bottom:1px solid var(--fio)} #mvloja .res-cab .cap-etiqueta{margin:0} #mvloja .res-limpar{background:none;border:0;border-bottom:1px solid var(--papel);padding:0 0 3px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--papel);cursor:pointer} #mvloja .res-grelha{grid-template-columns:repeat(3,minmax(0,1fr))} @media (max-width:860px){#mvloja .res-grelha{grid-template-columns:repeat(2,minmax(0,1fr))}} #mvloja.a-filtrar .agulha{opacity:0} #mvloja.a-filtrar .paragem[aria-current=\"true\"]{color:var(--cinza)} @media (max-width:860px){#mvloja .atelier .vida-foto{position:relative} #mvloja .atelier .vf{top:-10cqw}} #mvloja .quero.a-carregar{opacity:.55;pointer-events:none} #mvloja .comprar.ligacao .qtd{display:none} #mvloja .comprar.ligacao{justify-content:flex-end} #mvloja [hidden]{display:none!important} #mvloja .gaveta-fundo:not(.aberta){pointer-events:none} #mvloja .gaveta-fundo{z-index:2147483000!important} #mvloja .gaveta{z-index:2147483001!important} #mvloja .lupa{z-index:2147483002!important} #mvloja .numero{pointer-events:none} #mvloja #fds .cab{container-type:inline-size} #mvloja #fds .cab h2{font-size:min(clamp(46px,4.6vw,78px),15cqi)} <\/style><style id=\"mvnatal\">\n\/* ===== NATAL 2026 ===== *\/\n#mvloja [data-tom=\"0\"],#mvloja{--chao:#F6F1E7;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#5B4B3F;--ouro:#7A5A22;--ouro-forte:#654A1B;--fio:#E2D7C4}\n#mvloja [data-tom=\"1\"]{--chao:#F3ECE0;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#58483C;--ouro:#775820;--ouro-forte:#62481A;--fio:#E0D4BF}\n#mvloja [data-tom=\"2\"]{--chao:#EFE7D9;--chao-2:#E7DCC8;--papel:#1C1410;--cinza:#554538;--ouro:#73551F;--ouro-forte:#5E4519;--fio:#DCCFB8}\n#mvloja [data-tom=\"3\"]{--chao:#EAE1D0;--chao-2:#E1D4BD;--papel:#1A120E;--cinza:#4F4034;--ouro:#6E521E;--ouro-forte:#5A4318;--fio:#D6C8AE}\n#mvloja [data-tom=\"4\"]{--chao:#2C4A39;--chao-2:#3B5E4B;--papel:#FBF6EC;--cinza:#DCE3D5;--ouro:#E3C27E;--ouro-forte:#F0D59E;--fio:#466853;color-scheme:dark}\n#mvloja [data-tom=\"5\"]{--chao:#1F3A2B;--chao-2:#2D4A3A;--papel:#FBF6EC;--cinza:#D3DCCD;--ouro:#E3C27E;--ouro-forte:#F0D59E;--fio:#3A5A47;color-scheme:dark}\n#mvloja [data-tom=\"6\"]{--chao:#6A1A20;--chao-2:#7A252B;--papel:#FBF6EC;--cinza:#F0D9D4;--ouro:#EBCB89;--ouro-forte:#F5DDA8;--fio:#86353B;color-scheme:dark}\n#mvloja [data-tom=\"7\"]{--chao:#3D0F14;--chao-2:#4D1A1F;--papel:#FBF6EC;--cinza:#E9D3CF;--ouro:#E6C584;--ouro-forte:#F2D8A2;--fio:#5C2429;color-scheme:dark}\n#mvloja [data-tom=\"9\"]{--chao:#F7EFE6;--chao-2:#EAE0D0;--papel:#2B1712;--cinza:#6A4E44;--ouro:#8E1B22;--ouro-forte:#741419;--fio:#E8D6C8}\n#mvloja [data-tom=\"8\"]{--chao:#F6F1E7;--chao-2:#ECE3D2;--papel:#1C1410;--cinza:#5B4B3F;--ouro:#7A5A22;--ouro-forte:#654A1B;--fio:#E2D7C4}\n#mvloja .vivo canvas,#mvloja .luz-agora{display:none!important}\n#mvloja .abertura-luz{background:linear-gradient(112deg,#fff0 18%,rgb(255 248 232 \/ .7) 27%,rgb(255 248 232 \/ .7) 61%,#fff0 70%)}\n#mvloja .abertura-luz::after{display:none}\n#mvloja .abertura-ir{background:#1F3A2B;box-shadow:0 18px 40px -22px rgb(20 40 28 \/ .6)}\n.parras{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}\n.parras img{position:absolute;height:auto;filter:drop-shadow(18px 26px 22px rgba(70,45,20,.28)) drop-shadow(3px 5px 4px rgba(70,45,20,.22));\n  transform-origin:var(--ox,50%) var(--oy,0%);animation:folhaBrisa var(--d,11s) ease-in-out infinite alternate;opacity:0;transition:opacity 1.6s ease}\n.parras.on img{opacity:1}\n@keyframes folhaBrisa{from{transform:rotate(calc(var(--r) - 1.2deg)) translateY(-2px)}to{transform:rotate(calc(var(--r) + 1.2deg)) translateY(3px)}}\n#mvloja .abertura-centro{z-index:2}\n.parra-loja{position:absolute;pointer-events:none;height:auto;z-index:2;filter:drop-shadow(14px 20px 16px rgba(40,25,10,.26)) drop-shadow(2px 4px 3px rgba(40,25,10,.2));transform-origin:50% 0;animation:folhaBrisa var(--d,12s) ease-in-out infinite alternate}\n#mvloja .capitulo{overflow:clip}\n#mvloja .barra-natal{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.2vw,36px);max-width:1440px;margin:clamp(18px,2.5vw,40px) auto 0;padding:0 clamp(16px,4vw,64px)}\n#mvloja .barra-natal span{font-family:\"Playfair Display\",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(34px,4.4vw,70px);line-height:1;color:#721723;letter-spacing:.01em;white-space:nowrap}\n#mvloja .barra-natal img{display:block;flex:0 1 auto;width:min(62vw,880px);height:auto;filter:drop-shadow(4px 8px 7px rgba(40,25,10,.22))}\n#mvloja #dez .barra-natal{margin:0 auto clamp(10px,1.5vw,24px)}\n#mvloja #dez .barra-natal span{color:#F3E2BE}\n@media (max-width:600px){#mvloja .barra-natal{gap:8px;padding:0 12px}#mvloja .barra-natal span{font-size:26px}#mvloja .barra-natal img{width:auto;min-width:0;flex:1 1 0;max-width:60vw}.parras img{width:min(120px,30vw)!important;margin-top:-24px}.parras img:nth-child(2),.parras img:nth-child(4){display:none}}\n<\/style><div id=\"mvloja\"><header class=\"topo\" id=\"topo\"> <div class=\"contentor\"> <div class=\"regua\" aria-label=\"Zeitleiste\"> <div class=\"regua-trilho\"><div class=\"agulha\" id=\"agulha\"><\/div><\/div> <div class=\"paragens\" id=\"paragens\"> <button class=\"paragem\" data-alvo=\"noite\"><b>Jeden Tag<\/b><small>54\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"fds\"><b>Wochenende<\/b><small>ab 22 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"data\"><b>Ein Datum<\/b><small>ab 39,90 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"dez\"><b>10 Jahre<\/b><small>65\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"vinte\"><b>20 Jahre<\/b><small>ab 125 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cinquenta\"><b>50 Jahre<\/b><small>500\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cem\"><b>100 Jahre<\/b><small>3000\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"ainda\"><b>Noch nicht geschehen<\/b><small>54,24\u20ac<\/small><\/button> <\/div> <\/div> <\/div> <\/header> <main> <section class=\"abertura\" id=\"inicio\" data-tom=\"0\"> <div class=\"abertura-luz\" aria-hidden=\"true\"><\/div> <div class=\"contentor abertura-centro\"> <p class=\"sobretitulo\">MorValley Shop \u00b7 Weihnachten 2026<\/p> <h1>Gr\u00fc\u00dfe aus dem Douro.<\/h1> <p class=\"abertura-sub\">Willkommen. Ich empfehle Ihnen, mit einem der Aush\u00e4ngeschilder des Hauses zu beginnen.<\/p> <a class=\"abertura-ir\" href=\"#fds\"><img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-res-branco-mini.png?v=1\" alt=\"\" width=\"70\" height=\"240\"><span>MorValley Reserva Branco<\/span><i aria-hidden=\"true\">\u2192<\/i><\/a> <div class=\"filtros\" role=\"group\" aria-label=\"Nach Stil filtern\"> <span>Anzeigen<\/span> <button class=\"filtro\" aria-pressed=\"true\" data-f=\"todos\">Alle<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"tinto\">Rot<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"branco\">Wei\u00df<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"porto\">Portwein<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"caixa\">Kisten und Sets<\/button> <\/div> <\/div> <\/section> <!-- I. Todos os dias --> <section class=\"capitulo\" id=\"noite\" data-paragem=\"0\" data-tom=\"1\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Zeit I <em>Kisten zu 6<\/em><\/div> <h2>Jeden Tag.<\/h2> <p class=\"cap-texto\">Ein Qualit\u00e4tswein f\u00fcr den t\u00e4glichen Tisch. Er braucht keinen Anlass.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"tinto caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-tinto-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-tinto.webp\" alt=\"Sechs Flaschen Vale de Escadas Reserva Rot\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Rot \u00b7 Kiste zu 6<\/span><button class=\"quero\" data-id=\"4258\" data-preco=\"54\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"branco caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-branco-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-ve-branco.webp\" alt=\"Sechs Flaschen Vale de Escadas Reserva Wei\u00df\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Wei\u00df \u00b7 Kiste zu 6<\/span><button class=\"quero\" data-id=\"4450\" data-preco=\"54\">Das m\u00f6chte ich<\/button><\/div> <\/article> <\/div> <\/section> <!-- II. Fim-de-semana --> <section class=\"capitulo\" id=\"fds\" data-paragem=\"1\" data-tom=\"2\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Zeit II <em>ab 22 \u20ac<\/em><\/div> <h2>Ein <span style=\"white-space:nowrap\">Wochenende.<\/span><\/h2> <p class=\"cap-texto\">Ein voller Tisch und lange Gespr\u00e4che. Daf\u00fcr mache ich sie.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"branco\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-res-branco.webp\" alt=\"MorValley Reserva Branco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Reserva<\/h3><span class=\"preco\">22\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Wei\u00df \u00b7 2022<\/span><button class=\"quero\" data-id=\"130\" data-preco=\"22\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-res-tinto.webp\" alt=\"MorValley Reserva Tinto\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Reserva<\/h3><span class=\"preco\">22\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Rot \u00b7 2022<\/span><button class=\"quero\" data-id=\"129\" data-preco=\"22\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"Ausverkauft\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-touriga.webp\" alt=\"MorValley Touriga Nacional, ausverkauft\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Touriga Nacional<\/h3><span class=\"preco\">27,50\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Rot \u00b7 rebsortenrein<\/span><\/div> <\/article>  <\/div> <\/section> <!-- III. Uma data --> <section class=\"capitulo\" id=\"data\" data-paragem=\"2\" data-tom=\"3\"> <div class=\"contentor grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Zeit III <em>ab 39,90 \u20ac<\/em><\/div> <h2>Ein Datum, das z\u00e4hlt.<\/h2> <p class=\"cap-texto\">Ich suche die Vollendung der Region. Das, was aus technischer Geduld entsteht.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-gr-tinto.webp\" alt=\"MorValley Grande Reserva Tinto\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Grande Reserva<\/h3><span class=\"preco\">39,90\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Rot \u00b7 2016<\/span><button class=\"quero\" data-id=\"127\" data-preco=\"39.9\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"branco\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-gr-branco.webp\" alt=\"MorValley Grande Reserva Branco\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Grande Reserva<\/h3><span class=\"preco\">39,90\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Wei\u00df \u00b7 2016<\/span><button class=\"quero\" data-id=\"126\" data-preco=\"39.9\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-mew.webp\" alt=\"MEW Douro 2016 neben seiner schwarzen Box\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MEW<\/h3><span class=\"preco\">75\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Rot \u00b7 Douro 2016<\/span><button class=\"quero\" data-id=\"125\" data-preco=\"75\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto branco caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"Ausverkauft\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-collection.webp\" alt=\"Ge\u00f6ffnete MorValley Collection Kiste mit den sechs Flaschen, ausverkauft\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Collection<\/h3><span class=\"preco\">209,50\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Kollektion in der Kiste<\/span><\/div> <\/article> <\/div> <\/section> <!-- IV. 10 anos --> <section class=\"capitulo\" id=\"dez\" data-paragem=\"3\" data-tom=\"4\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Zeit IV <em>Portwein<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">10<sup>Jahre<\/sup><\/p> <h2>Zehn Jahre im Fass.<\/h2> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo10.webp\" alt=\"Portwein MYO 10 Jahre neben seiner wei\u00dfen Box\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 10 Years Old<\/h3><span class=\"preco\">65\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Portwein<\/span><button class=\"quero\" data-id=\"6719\" data-preco=\"65\">Das m\u00f6chte ich<\/button><\/div> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Trockenfr\u00fcchte, Vanille und Gew\u00fcrze. Frisch am Gaumen, mit langem Abgang.<\/p> <\/div> <\/div> <\/section> <!-- V. 20 anos --> <section class=\"capitulo\" id=\"vinte\" data-paragem=\"4\" data-tom=\"5\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Zeit V <em>ab 125 \u20ac<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">20<sup>Jahre<\/sup><\/p> <h2>Zwanzig Jahre sp\u00e4ter.<\/h2> <p class=\"cap-texto\">Mit zwanzig Jahren hat der Portwein keine Eile mehr. Wer ihn bekommt, auch nicht.<\/p> <\/div> <article class=\"produto peca\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo20.webp\" alt=\"Portwein MYO 20 Jahre neben seiner Box\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 20 Years Old<\/h3><span class=\"preco\">125\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Portwein<\/span><button class=\"quero\" data-id=\"6778\" data-preco=\"125\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"porto caixa\"> <p class=\"marca\">Auf das Glas gemalt<\/p> <figure data-zoom=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-lmd-zoom-scaled.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-lmd.webp\" alt=\"Set Leva-me ao Douro: die Holzkiste mit zwei Gl\u00e4sern und der bemalten Flasche Portwein MYO 20 Jahre\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Set Leva-me ao Douro<\/h3><span class=\"preco\">450\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Portwein 20 Jahre \u00b7 bemalte Flasche \u00b7 zwei Gl\u00e4ser<\/span><button class=\"quero\" data-id=\"9659\" data-preco=\"450\">Das m\u00f6chte ich<\/button><\/div> <\/article> <\/div> <\/section> <!-- VI. 50 anos --> <section class=\"capitulo\" id=\"cinquenta\" data-paragem=\"5\" data-tom=\"6\"> <div class=\"contentor grelha\"> <div class=\"cab anos-cab\"> <div class=\"cap-etiqueta\">Zeit VI <em>Portwein<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">50<sup>Jahre<\/sup><\/p> <h2>Ein halbes Jahrhundert.<\/h2> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure class=\"vivo\" data-garrafa=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-myo50.png?v=1\" data-vinho=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-myo50-vinho.png?v=1\" data-fundo=\"#43523E\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-myo50-repouso.webp\" alt=\"Portwein MYO 50 Jahre, beleuchtet von der Sonne des Douro-Tals zu der Uhrzeit, zu der Sie die Seite ansehen\" loading=\"lazy\" width=\"1000\" height=\"1000\"><canvas width=\"1000\" height=\"1000\" aria-hidden=\"true\"><\/canvas><\/figure> <div class=\"ficha\"><h3>MYO by MorValley 50 Years Old<\/h3><span class=\"preco\">500\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Portwein<\/span><button class=\"quero\" data-id=\"6781\" data-preco=\"500\">Das m\u00f6chte ich<\/button><\/div> <p class=\"luz-agora\"><span>Licht des Douro, jetzt<\/span><button type=\"button\" aria-pressed=\"false\">Den Tag vergehen sehen<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p>Er reift im Fass bis zu dem Tag, an dem er abgef\u00fcllt wird. Keinen Tag fr\u00fcher.<\/p> <p class=\"prova\">Vanille, Orange, Haselnuss und Honig. Voll und frisch, mit Gew\u00fcrzen im Abgang.<\/p> <\/div> <\/div> <\/section> <!-- VII. 100 anos --> <section class=\"capitulo\" id=\"cem\" data-paragem=\"6\" data-tom=\"7\"> <div class=\"contentor seculo\"> <p class=\"numero\" aria-hidden=\"true\">100<\/p> <div class=\"grelha seculo-grelha\"> <div class=\"cab\"> <div class=\"cap-etiqueta\">Zeit VII <em>Very Very Old<\/em><\/div> <h2>Ein Jahrhundert.<\/h2> <p class=\"cap-texto\">Anders l\u00e4sst es sich nicht sagen. Hundert Jahre Douro in einem Glas.<\/p> <\/div> <article class=\"produto peca so\" data-tags=\"porto\"> <p class=\"marca\">&nbsp;<\/p> <figure class=\"vivo\" data-garrafa=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-vvo.png?v=1\" data-vinho=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/10\/mvloja-vvo-vinho.png?v=1\" data-fundo=\"#273326\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-vvo-repouso.webp\" alt=\"Portwein MYO Very Very Old neben seiner schwarzen Box, beleuchtet von der Sonne des Douro-Tals zu der Uhrzeit, zu der Sie die Seite ansehen\" loading=\"lazy\" width=\"1000\" height=\"1000\"><canvas width=\"1000\" height=\"1000\" aria-hidden=\"true\"><\/canvas><\/figure> <div class=\"ficha\"><h3>MYO by MorValley Very Very Old<\/h3><span class=\"preco\">3000\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Portwein<\/span><button class=\"quero\" data-id=\"6784\" data-preco=\"3000\">Das m\u00f6chte ich<\/button><\/div> <p class=\"luz-agora\"><span>Licht des Douro, jetzt<\/span><button type=\"button\" aria-pressed=\"false\">Den Tag vergehen sehen<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Orange, Karamell, Walnuss und Honig. \u00dcppig und frisch, mit langem Vanilleabgang.<\/p> <\/div> <\/div> <\/div> <\/section> <!-- VIII. Ainda n\u00e3o aconteceu --> <section class=\"capitulo futuro atelier\" id=\"ainda\" data-paragem=\"7\" data-tom=\"9\" data-lang=\"pt\"> <div class=\"contentor\"> <div class=\"cap-cabeca\"> <div> <div class=\"cap-etiqueta\">Zeit VIII <em>Magnum 1,5 L \u00b7 54,24 \u20ac<\/em><\/div> <h2>Noch nicht geschehen.<\/h2> <\/div> <p class=\"cap-texto\">Das Magnum-Atelier. W\u00e4hlen Sie den Moment, schreiben Sie die Namen und sehen Sie sofort, wie es auf dem Glas gemalt aussieht.<\/p> <\/div> <div class=\"vida\" id=\"estudio\"> <div class=\"vida-abas\" role=\"group\" aria-label=\"F\u00fcr wen\"> <button class=\"aba\" type=\"button\" aria-pressed=\"true\" data-aba=\"gosta\">F\u00fcr jemanden<\/button> <button class=\"aba\" type=\"button\" aria-pressed=\"false\" data-aba=\"empresa\">F\u00fcr Ihr Unternehmen \u00b7 Weihnachten 2026<\/button> <\/div> <div class=\"vida-linha\" data-aba=\"gosta\"> <ol class=\"marcos\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"nascimento\" data-sub=\"Der Himmel am Tag der Geburt. In Gold auf das Glas gemalt.\"><i aria-hidden=\"true\"><\/i><b>Geburt<\/b><small>der erste Tag<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"true\" data-o=\"aniversario\" data-sub=\"Es gibt Zahlen, die man feiert. Ihre.\"><i aria-hidden=\"true\"><\/i><b>Geburtstag<\/b><small>jedes Jahr<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casamento\" data-sub=\"Sie haben Ja gesagt. Ein Hoch auf das Brautpaar!\"><i aria-hidden=\"true\"><\/i><b>Hochzeit<\/b><small>das Ja<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casanova\" data-sub=\"Ein Schl\u00fcssel, eine Schleife. Alles Gute zum neuen Zuhause.\"><i aria-hidden=\"true\"><\/i><b>Neues Zuhause<\/b><small>der Schl\u00fcssel<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"bodas\" data-sub=\"Der Tanz geht weiter. Jahr f\u00fcr Jahr.\"><i aria-hidden=\"true\"><\/i><b>Hochzeitstag<\/b><small>25, 50 Jahre<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"reforma\" data-sub=\"Die letzte Bef\u00f6rderung. Die sch\u00f6nste von allen.\"><i aria-hidden=\"true\"><\/i><b>Ruhestand<\/b><small>die letzte Bef\u00f6rderung<\/small><\/button><\/li> <\/ol> <ol class=\"marcos sempre\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"familia\" data-sub=\"Hier fehlt eine Familie. Ihre.\"><i aria-hidden=\"true\"><\/i><b>Familie<\/b><small>jedes Weihnachten<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"obrigado\" data-sub=\"Es gibt Dinge, die man nicht bezahlen kann. Man bedankt sich daf\u00fcr.\"><i aria-hidden=\"true\"><\/i><b>Danke<\/b><small>an jedem Tag<\/small><\/button><\/li> <\/ol> <span class=\"agulha-vida\" aria-hidden=\"true\"><\/span> <\/div> <div class=\"vida-linha\" data-aba=\"empresa\" hidden> <ol class=\"marcos\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"empresaPinhas\" data-sub=\"Es gibt Marken, die man verschenkt. Ihre.\"><i aria-hidden=\"true\"><\/i><b>Unternehmen \u00b7 Tannenzapfen<\/b><small>f\u00fcr Kunden<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"empresaVideira\" data-sub=\"Der Douro auf dem Tisch Ihrer Kunden. Von Ihnen signiert.\"><i aria-hidden=\"true\"><\/i><b>Unternehmen \u00b7 Weinrebe<\/b><small>f\u00fcr Kunden<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabPinhas\" data-sub=\"Jedes Teammitglied. Mit dem eigenen Namen.\"><i aria-hidden=\"true\"><\/i><b>Team \u00b7 Tannenzapfen<\/b><small>f\u00fcr das Team<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabVideira\" data-sub=\"Ein Jahr Arbeit. Ein Prosit mit Namen.\"><i aria-hidden=\"true\"><\/i><b>Team \u00b7 Weinrebe<\/b><small>f\u00fcr das Team<\/small><\/button><\/li> <\/ol> <span class=\"agulha-vida\" aria-hidden=\"true\"><\/span> <\/div> <div class=\"vida-palco\"> <figure class=\"vida-foto\"><img fetchpriority=\"high\" decoding=\"async\" class=\"skip-lazy\" id=\"editorFoto\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-m-aniversario-limpa.webp\" alt=\"Die gew\u00e4hlte Magnum, bemalt und in ihrer Box\" width=\"800\" height=\"1000\"><div class=\"vf\" id=\"vfPint\" aria-hidden=\"true\"><\/div><\/figure> <div class=\"painel\"> <p class=\"passo\"><i>1<\/i>Der Moment<\/p> <p class=\"editor-titulo\"><span>Ihre Magnum<\/span><b id=\"editorNome\">Geburtstag<\/b><em id=\"editorSub\">Es gibt Zahlen, die man feiert. Ihre.<\/em><\/p> <p class=\"passo\"><i>2<\/i>Schreiben Sie <em>und sehen Sie, wie es auf dem Glas aussieht<\/em><\/p> <div class=\"vidro\" aria-live=\"polite\"> <span class=\"cota cota-h\">10 cm<\/span> <span class=\"cota cota-v\">10 cm<\/span> <div class=\"vidro-area\" id=\"vidro\"><\/div> <span class=\"vidro-legenda\">Aus der N\u00e4he \u00b7 die bemalte Fl\u00e4che auf dem Glas der Magnum<\/span> <\/div> <div class=\"campos\" id=\"campos\"><\/div> <p class=\"campos-nota\" id=\"camposNota\" hidden><\/p> <p class=\"passo\"><i>3<\/i>Best\u00e4tigen Sie<\/p> <div class=\"conta\"> <div class=\"conta-linha\"><span>Magnum 1,5 L \u00b7 auf das Glas gemalt<\/span><b>54,24\u20ac<\/b><\/div> <div class=\"conta-linha leve\"><span>Geschenkbox<\/span><span>inklusive<\/span><\/div> <div class=\"conta-linha leve\"><span>MwSt.<\/span><span>inklusive<\/span><\/div> <button class=\"botao quero-magnum\" data-preco=\"54.24\">Diese Magnum m\u00f6chte ich<\/button> <p class=\"garantias\">Lieferung in die gesamte Europ\u00e4ische Union \u00b7 Kostenloser Versand innerhalb des portugiesischen Festlands<\/p> <\/div> <\/div> <\/div> <\/div> <\/div> <\/section> <!-- Para servir --> <section class=\"capitulo\" id=\"servir\" data-tom=\"8\"> <div class=\"contentor\"> <div class=\"cab cab-linha\"> <div> <div class=\"cap-etiqueta\">Rund um die Flasche<\/div> <h2>Zum Servieren und Verschenken.<\/h2> <\/div> <\/div> <div class=\"grelha\"> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-frape.webp\" alt=\"MorValley Weink\u00fchler aus Holz und Edelstahl\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Weink\u00fchler<\/h3><span class=\"preco\">175\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Holz und Edelstahl<\/span><button class=\"quero\" data-id=\"7791\" data-preco=\"175\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-selection.webp\" alt=\"Selection Douro Valley Box f\u00fcr drei Flaschen\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Selection Douro Valley<\/h3><span class=\"preco\">20\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Premium-Box \u00b7 3 Flaschen<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-selection\/\" data-preco=\"20\">Das m\u00f6chte ich<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-premium.webp\" alt=\"MorValley Premium Holzkiste f\u00fcr drei Flaschen\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Premium<\/h3><span class=\"preco\">15\u20ac<small class=\"iva\">inkl. MwSt.<\/small><\/span><span class=\"tipo\">Holzkiste \u00b7 3 Flaschen<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-premium\/\" data-preco=\"15\">Das m\u00f6chte ich<\/button><\/div> <\/article> <\/div> <\/div> <\/section> <\/main> <footer class=\"contentor rodape\" data-tom=\"8\"> <p class=\"aviso-legal\">Verkauf an Personen unter 18 Jahren verboten. Bitte genie\u00dfen Sie verantwortungsvoll.<\/p> <nav class=\"legal\" aria-label=\"Rechtliche Hinweise\"> <a href=\"https:\/\/morvalley.com\/de\/allgemeine-geschaftsbedingungen\/\">AGB<\/a> <a href=\"https:\/\/morvalley.com\/de\/datenschutzerklarung\/\">Datenschutzerkl\u00e4rung<\/a> <a href=\"https:\/\/morvalley.com\/de\/allgemeine-geschaftsbedingungen\/\">Versand und R\u00fcckgabe<\/a> <a href=\"https:\/\/www.livroreclamacoes.pt\/Inicio\/\" target=\"_blank\" rel=\"noopener\">Beschwerdebuch<\/a> <\/nav> <span class=\"coord\">41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW<\/span> <span>\u00a9 2026 MorValley Douro Wines \u00b7 Douro-Tal<\/span> <\/footer> <div class=\"lupa\" id=\"lupa\" hidden role=\"dialog\" aria-modal=\"true\" aria-label=\"Gro\u00dfes Foto\"><img class=\"skip-lazy\" id=\"lupaImg\" alt=\"\"><button type=\"button\" id=\"lupaFechar\">Schlie\u00dfen<\/button><\/div> <div class=\"gaveta-fundo\" id=\"gavetaFundo\" hidden><\/div> <aside class=\"gaveta\" id=\"gaveta\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"gavetaTitulo\" hidden> <div class=\"g-topo\"><span>Datenblatt<\/span><button class=\"g-fechar\" type=\"button\" aria-label=\"Datenblatt schlie\u00dfen\">Schlie\u00dfen<\/button><\/div> <div class=\"g-corpo\" id=\"gavetaCorpo\"><\/div> <\/aside><\/div><script src=\"data:text\/javascript;base64,KGZ1bmN0aW9uKCl7IGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdmxvamEtZm9udGVzJykpIHJldHVybjsgdmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOyBsLmlkPSdtdmxvamEtZm9udGVzJzsgbC5yZWw9J3N0eWxlc2hlZXQnOyBsLmhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q2luemVsOndnaHRANTAwOzYwMCZmYW1pbHk9RE0rU2FuczpvcHN6LHdnaHRAOS4uNDAsNDAwOzkuLjQwLDUwMDs5Li40MCw3MDAmZmFtaWx5PUl0YWxpYW5ubyZmYW1pbHk9UGxheWZhaXIrRGlzcGxheTppdGFsLHdnaHRAMCw0MDA7MCw1MDA7MCw2MDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDAmZGlzcGxheT1zd2FwJzsgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsKTsgfSkoKTsKCi8qIEEgZ2FycmFmYSBkbyBhdGVsaWVyOiBvIHRleHRvIGVzY3JpdG8gcGludGEtc2Ugbm8gdmlkcm8gZGEgZm90b2dyYWZpYSwgcG9yIGNpbWEgZGEgZ2FycmFmYSBsaW1wYS4KICAgQ29vcmRlbmFkYXMgbmEgZm90b2dyYWZpYSBkZSA4MDAgeCAxMDAwOyB0YW1hbmhvcyBlbSBweCBkZXNzYSBmb3RvZ3JhZmlhIChjb252ZXJ0aWRvcyBwYXJhIGNxdykuICovCndpbmRvdy5NVkdhcnJhZmE9KGZ1bmN0aW9uKCl7CiAgY29uc3QgT1VSTz0nI0Q5QjM2QycsIEJSQU5DTz0nI0Y0RUZFNicsIENPQlJFPScjRDQ5QTc4JywgVkVSTUVMSE89JyNEMjNCM0InOwogIGNvbnN0IEZUPXtzZXJpZjonIlBsYXlmYWlyIERpc3BsYXkiLEdlb3JnaWEsc2VyaWYnLCBjYXBzOidDaW56ZWwsIlRyYWphbiBQcm8iLEdlb3JnaWEsc2VyaWYnLCBzY3JpcHQ6J0l0YWxpYW5ubywiU25lbGwgUm91bmRoYW5kIixjdXJzaXZlJywgc2FuczonIkRNIFNhbnMiLEFyaWFsLHNhbnMtc2VyaWYnfTsKICBjb25zdCBlc2M9dD0+U3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ10vZyxjPT4oeycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdKSk7CiAgY29uc3QgTUVTRVM9e3B0OlsnSmFudWFyJywgJ0ZlYnJ1YXInLCAnTcOkcnonLCAnQXByaWwnLCAnTWFpJywgJ0p1bmknLCAnSnVsaScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09rdG9iZXInLCAnTm92ZW1iZXInLCAnRGV6ZW1iZXInXSwKICAgICAgICAgICAgICAgZW46WydKYW51YXJ5JywnRmVicnVhcnknLCdNYXJjaCcsJ0FwcmlsJywnTWF5JywnSnVuZScsJ0p1bHknLCdBdWd1c3QnLCdTZXB0ZW1iZXInLCdPY3RvYmVyJywnTm92ZW1iZXInLCdEZWNlbWJlciddfTsKICBjb25zdCBTSUdOT1M9e3B0OlsnU3RlaW5ib2NrJywgJ1dhc3Nlcm1hbm4nLCAnRmlzY2hlJywgJ1dpZGRlcicsICdTdGllcicsICdad2lsbGluZ2UnLCAnS3JlYnMnLCAnTMO2d2UnLCAnSnVuZ2ZyYXUnLCAnV2FhZ2UnLCAnU2tvcnBpb24nLCAnU2Now7x0emUnXSwKICAgICAgICAgICAgICAgIGVuOlsnQ2Fwcmljb3JuJywnQXF1YXJpdXMnLCdQaXNjZXMnLCdBcmllcycsJ1RhdXJ1cycsJ0dlbWluaScsJ0NhbmNlcicsJ0xlbycsJ1ZpcmdvJywnTGlicmEnLCdTY29ycGlvJywnU2FnaXR0YXJpdXMnXX07CiAgY29uc3QgQ09SVEU9WzIwLDE5LDIxLDIwLDIxLDIxLDIzLDIzLDIzLDIzLDIyLDIyXTsKICBmdW5jdGlvbiBkYXRhKHQpe2NvbnN0IG09U3RyaW5nKHR8fCcnKS5tYXRjaCgvXihcZHsxLDJ9KVsuXC8tXShcZHsxLDJ9KVsuXC8tXShcZHs0fSkkLyk7IGlmKCFtKSByZXR1cm4gbnVsbDsgY29uc3QgZD0rbVsxXSwgbW09K21bMl0sIGE9K21bM107IGlmKG1tPDF8fG1tPjEyfHxkPDF8fGQ+MzEpIHJldHVybiBudWxsOyByZXR1cm4ge2QsbTptbSxhfTt9CiAgZnVuY3Rpb24gc2lnbm8oZHQsbCl7IGlmKCFkdCkgcmV0dXJuICcnOyBjb25zdCBpPWR0LmQ8Q09SVEVbZHQubS0xXT8oZHQubS0xKTpkdC5tJTEyOyByZXR1cm4gU0lHTk9TW2xdW2ldOyB9CiAgZnVuY3Rpb24gZGF0YUxvbmdhKGR0LGwpeyBpZighZHQpIHJldHVybiAnJzsgcmV0dXJuIGw9PT0nZW4nPyBkdC5kKycgJytNRVNFUy5lbltkdC5tLTFdKycgJytkdC5hIDogZHQuZCsnLiAnK01FU0VTLnB0W2R0Lm0tMV0rJyAnK2R0LmE7IH0KICBmdW5jdGlvbiBkYXRhQ3VydGEoZHQsbCl7IGlmKCFkdCkgcmV0dXJuICcnOyByZXR1cm4gZHQuZCsnICcrTUVTRVNbbF1bZHQubS0xXS50b1VwcGVyQ2FzZSgpKycgJytkdC5hOyB9CiAgLy8gdW1hIGxpbmhhOiB4LHkgY2VudHJvIChvdSDDom5jb3JhKSwgZnMgZW0gcHggZGEgZm90bywgbGFyZ3VyYSBtw6F4aW1hIGVtIHB4IGRhIGZvdG8KICBmdW5jdGlvbiBMKHQseCx5LGZzLG8peyBvPW98fHt9OyByZXR1cm4gT2JqZWN0LmFzc2lnbih7dCx4LHksZnMsZm9udDpGVC5zZXJpZixjb3I6QlJBTkNPLHd0OjQwMCxpdDpmYWxzZSxsczowLGFsOidjJyxtYXg6MjQwLGh0bWw6ZmFsc2V9LG8pOyB9CiAgZnVuY3Rpb24gbm9tZUR1YXMobil7IGNvbnN0IHA9U3RyaW5nKG4pLnRyaW0oKS5zcGxpdCgvXHMrLyk7IGlmKHAubGVuZ3RoPDIpIHJldHVybiBbbiwnJ107IHJldHVybiBbcFswXSxwLnNsaWNlKDEpLmpvaW4oJyAnKV07IH0KICBjb25zdCBUPXsKICAgIHB0Ontwcm9tbzonR2zDvGNrd3Vuc2NoIHp1ciA8YiBzdHlsZT0iY29sb3I6JytWRVJNRUxITysnIj5CZWbDtnJkZXJ1bmc8L2I+JyxjYXNhTm92YTonQWxsZXMgR3V0ZSB6dW0gbmV1ZW4gWnVoYXVzZScsZmFtaWxpYTonRmFtaWxpZScsZmVsaWM6J0FsbGVzIEd1dGUnLGFub3M6J0phaHJlJyxyZXNlcnZhOidSZXNlcnZlJyxub2l2b3M6J2RlcyBCcmF1dHBhYXJzJyxvYnJpZ2FkbzonRGFua2UnLGZhbWlsaWFEZTphPT4nRmFtaWxpZSAnK2F9LAogICAgZW46e3Byb21vOidDb25ncmF0dWxhdGlvbnMgb24gdGhlIDxiIHN0eWxlPSJjb2xvcjonK1ZFUk1FTEhPKyciPnByb21vdGlvbjwvYj4nLGNhc2FOb3ZhOidDb25ncmF0dWxhdGlvbnMgb24geW91ciBuZXcgaG9tZScsZmFtaWxpYTonRmFtaWx5JyxmZWxpYzonRXZlcnkgaGFwcGluZXNzJyxhbm9zOid5ZWFycycscmVzZXJ2YTonUmVzZXJ2ZScsbm9pdm9zOidvZiB0aGUgbmV3bHl3ZWRzJyxvYnJpZ2FkbzonVGhhbmsgeW91JyxmYW1pbGlhRGU6YT0+J1RoZSAnK2ErJyBmYW1pbHknfQogIH07CiAgY29uc3QgRD17CiAgICBhbml2ZXJzYXJpbzoodixsKT0+e2NvbnN0IFthLGJdPW5vbWVEdWFzKHYubm9tZSk7IHJldHVybiBbTCh2LmlkYWRlLDI1NCw1MzgsMTIwLHtmb250OkZULnNlcmlmLHd0OjYwMCxjb3I6T1VSTyxtYXg6MjEwfSksIEwoYSwyNTMsNjMyLDYyLHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjIwfSksIEwoYiwyNTMsNjc3LDYyLHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjIwfSldO30sCiAgICBuYXNjaW1lbnRvOih2LGwpPT57Y29uc3QgZHQ9ZGF0YSh2LmRhdGEpOyByZXR1cm4gW0woc2lnbm8oZHQsbCkudG9VcHBlckNhc2UoKSwyNjIsNTcxLDkuNSx7Zm9udDpGVC5jYXBzLGNvcjpPVVJPLGxzOi4yOH0pLCBMKFN0cmluZyh2Lm5vbWUpLnRvVXBwZXJDYXNlKCksMjYyLDU5MiwyNC41LHtmb250OkZULmNhcHMsd3Q6NzAwLG1heDoyMTV9KSwgTChkYXRhTG9uZ2EoZHQsbCksMjYyLDYxMyw5LjUse2ZvbnQ6RlQuc2VyaWYsaXQ6dHJ1ZX0pXTt9LAogICAgY2FzYW1lbnRvOih2LGwpPT57Y29uc3QgZHQ9ZGF0YSh2LmRhdGEpOyByZXR1cm4gW0woVFtsXS5yZXNlcnZhLDE4NSw1MDUsMTEse2ZvbnQ6RlQuY2FwcyxhbDonbCcsbHM6LjA0fSksIEwoVFtsXS5ub2l2b3MudG9VcHBlckNhc2UoKSwxODUsNTIwLDguNSx7Zm9udDpGVC5jYXBzLGFsOidsJyxsczouMTJ9KSwKICAgICAgTChTdHJpbmcodi5hKS50b1VwcGVyQ2FzZSgpLDE4NSw1NjAsMzQse2ZvbnQ6RlQuY2Fwcyx3dDo3MDAsYWw6J2wnLG1heDoxMTJ9KSwgTCgnJmFtcDsnLDMwMCw1NzgsNzgse2ZvbnQ6RlQuc2VyaWYsaXQ6dHJ1ZSxjb3I6Q09CUkUsaHRtbDp0cnVlfSksIEwoU3RyaW5nKHYuYikudG9VcHBlckNhc2UoKSwzNDIsNjEyLDM0LHtmb250OkZULmNhcHMsd3Q6NzAwLGFsOidyJyxtYXg6MTUwfSksCiAgICAgIEwoZGF0YUN1cnRhKGR0LGwpLDMzOCw2NjgsMTEse2ZvbnQ6RlQuY2FwcyxhbDoncicsbHM6LjA4fSldO30sCiAgICBjYXNhbm92YToodixsKT0+W0woVFtsXS5jYXNhTm92YSwyNjAsNTgzLDI1LHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjMwfSksIEwoVFtsXS5mYW1pbGlhRGUoU3RyaW5nKHYuYXBlbGlkbykpLnRvVXBwZXJDYXNlKCksMjYwLDYwNywxNSx7Zm9udDpGVC5jYXBzLHd0OjYwMCxtYXg6MjMwfSksIEwoVFtsXS5mZWxpYysnIMK3ICcrdi5hbm8sMjYwLDYyNCw3LHtmb250OkZULnNhbnMsY29yOk9VUk99KV0sCiAgICBib2RhczoodixsKT0+e2NvbnN0IG49cGFyc2VJbnQodi5hbm9zLDEwKSwgeT1uZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7IHJldHVybiBbTCgnPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OicrRlQuc2VyaWYucmVwbGFjZSgvIi9nLCInIikrJztmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEuOWVtIj4nK2VzYyh2LmFub3MpKyc8L3NwYW4+ICcrVFtsXS5hbm9zLnRvVXBwZXJDYXNlKCksMjU1LDU4OCwxNCx7Zm9udDpGVC5jYXBzLHd0OjYwMCxjb3I6T1VSTyxodG1sOnRydWUsbHM6LjA2fSksCiAgICAgIEwodi5hKycgJiAnK3YuYiwyNTUsNjExLDI0LHtmb250OkZULnNjcmlwdCxjb3I6T1VSTyxtYXg6MjAwfSksIEwoaXNOYU4obik\/Jyc6KHktbikrJyDCtyAnK3ksMjU1LDYyOCw3LjUse2ZvbnQ6RlQuY2FwcyxsczouMX0pXTt9LAogICAgcmVmb3JtYToodixsKT0+W0woVFtsXS5wcm9tby50b1VwcGVyQ2FzZSgpLDI2Miw1MjIsOC41LHtmb250OkZULmNhcHMsd3Q6NjAwLGxzOi4xMixodG1sOnRydWUsbWF4OjIwMH0pLCBMKFN0cmluZyh2Lm5vbWUpLnRvVXBwZXJDYXNlKCksMjYyLDU2NywyMSx7Zm9udDpGVC5jYXBzLHd0OjcwMCxtYXg6MjIwfSksCiAgICAgIEwoJzxpIHN0eWxlPSJkaXNwbGF5OmJsb2NrO3dpZHRoOjQwcHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOicrVkVSTUVMSE8rJyI+PC9pPicsMjYyLDU4NiwxMCx7aHRtbDp0cnVlfSksIEwoU3RyaW5nKHYuY2FyZ28pLnRvVXBwZXJDYXNlKCksMjYyLDYxNiwxNSx7Zm9udDpGVC5jYXBzLHd0OjcwMCxtYXg6MTY1LHF1ZWJyYTp0cnVlfSksIEwoU3RyaW5nKHYuYXNzKS50b1VwcGVyQ2FzZSgpLDI2Miw2NTksOC41LHtmb250OkZULmNhcHMsd3Q6NjAwLGxzOi4xLG1heDoyMjB9KV0sCiAgICBmYW1pbGlhOih2LGwpPT5bTChUW2xdLmZhbWlsaWEsMjU2LDU0MywyNCx7Zm9udDpGVC5zY3JpcHR9KSwgTCh2LmFwZWxpZG8sMjU2LDU3OCw0Mix7Zm9udDpGVC5zY3JpcHQsbWF4OjEwMH0pXSwKICAgIG9icmlnYWRvOih2LGwpPT5bTChUW2xdLm9icmlnYWRvLDI0Niw0NTMsMzQse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPfSksIEwoU3RyaW5nKHYucGFyYSkudG9VcHBlckNhc2UoKSwyNDYsNDgwLDExLHtmb250OkZULmNhcHMsd3Q6NjAwLG1heDoxODB9KSwgTCh2LnBvcnF1ZSwyNDYsNDk0LDguNSx7Zm9udDpGVC5zZXJpZixpdDp0cnVlLG1heDoyMDB9KV0sCiAgICBjb2xhYlBpbmhhczoodixsKT0+e2NvbnN0IFthLGJdPW5vbWVEdWFzKHYubm9tZSk7IHJldHVybiBbTChhLDI4OCw2NTIsNTYse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDB9KSwgTChiLDI4OCw3MDAsNTYse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDB9KV07fSwKICAgIGNvbGFiVmlkZWlyYToodixsKT0+W0wodi5ub21lLDI3OCw2ODUsNDYse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDV9KV0KICB9OwogIGZ1bmN0aW9uIGRlc2VuaGEoZWwsb2MsdixsKXsKICAgIGw9bD09PSdlbic\/J2VuJzoncHQnOwogICAgaWYoIURbb2NdKXsgZWwuaW5uZXJIVE1MPScnOyBlbC5oaWRkZW49dHJ1ZTsgcmV0dXJuIGZhbHNlOyB9CiAgICBlbC5oaWRkZW49ZmFsc2U7CiAgICBlbC5pbm5lckhUTUw9RFtvY10odixsKS5maWx0ZXIoeD0+eC50IT09JycmJngudCE9bnVsbCkubWFwKHg9PnsKICAgICAgY29uc3QgdHg9eC5hbD09PSdsJz8nMCc6eC5hbD09PSdyJz8nLTEwMCUnOictNTAlJzsKICAgICAgY29uc3Qgc3Q9YGxlZnQ6JHt4LngvOH1jcXc7dG9wOiR7eC55Lzh9Y3F3O2ZvbnQtc2l6ZToke3guZnMvOH1jcXc7Zm9udC1mYW1pbHk6JHt4LmZvbnQucmVwbGFjZSgvIi9nLCInIil9O2NvbG9yOiR7eC5jb3J9O2ZvbnQtd2VpZ2h0OiR7eC53dH07Zm9udC1zdHlsZToke3guaXQ\/J2l0YWxpYyc6J25vcm1hbCd9O2xldHRlci1zcGFjaW5nOiR7eC5sc31lbTt0cmFuc2Zvcm06dHJhbnNsYXRlKCR7dHh9LC01MCUpO3RleHQtYWxpZ246JHt4LmFsPT09J2wnPydsZWZ0Jzp4LmFsPT09J3InPydyaWdodCc6J2NlbnRlcid9OyR7eC5xdWVicmE\/J3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDonKyh4Lm1heC84KSsnY3F3O2xpbmUtaGVpZ2h0OjEuMjUnOicnfWA7CiAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9InZmLWwiIGRhdGEtbWF4PSIke3gubWF4fSIgc3R5bGU9IiR7c3R9Ij4ke3guaHRtbD94LnQ6ZXNjKHgudCl9PC9zcGFuPmA7CiAgICB9KS5qb2luKCcnKTsKICAgIC8vIG8gdGV4dG8gdGVtIGRlIGNhYmVyIG5vIHZpZHJvOiBzZSBmb3IgY29tcHJpZG8sIGVuY29saGUKICAgIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy52Zi1sJykuZm9yRWFjaChzPT57CiAgICAgIGlmKHMuc3R5bGUud2hpdGVTcGFjZT09PSdub3JtYWwnKSByZXR1cm47CiAgICAgIGNvbnN0IGxpbT1lbC5jbGllbnRXaWR0aCooK3MuZGF0YXNldC5tYXgvODAwKTsgY29uc3Qgdz1zLnNjcm9sbFdpZHRoOwogICAgICBpZih3PmxpbSYmbGltPjApeyBzLnN0eWxlLmZvbnRTaXplPShwYXJzZUZsb2F0KHMuc3R5bGUuZm9udFNpemUpKmxpbS93KSsnY3F3JzsgfQogICAgfSk7CiAgICByZXR1cm4gdHJ1ZTsKICB9CiAgcmV0dXJuIHtkZXNlbmhhLCB0ZW06b2M9PiEhRFtvY119Owp9KSgpOwoKCihmdW5jdGlvbigpewogIC8qIFLDqWd1YTogYSBhZ3VsaGEgY29ycmUgY29tIGEgbGVpdHVyYSBkYSBww6FnaW5hICovCiAgY29uc3QgY2Fwcz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcGFyYWdlbV0nKV07CiAgY29uc3QgcGFyYWdlbnM9Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wYXJhZ2VtJyldOwogIGNvbnN0IGFndWxoYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWd1bGhhJyk7CiAgY29uc3QgdG9wbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9wbycpOwogIGNvbnN0IHRvbnM9Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRvbV0nKV07CiAgY29uc3QgVkFSUz1bJy0tY2hhbycsJy0tY2hhby0yJywnLS1wYXBlbCcsJy0tY2luemEnLCctLW91cm8nLCctLW91cm8tZm9ydGUnLCctLWZpbyddOwogIGxldCB0b21BdHVhbD1udWxsOwogIGZ1bmN0aW9uIHRvbURvVG9wbygpewogICAgY29uc3QgeT10b3BvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSsyOwogICAgbGV0IHNlYz10b25zWzBdOwogICAgZm9yKGNvbnN0IHQgb2YgdG9ucyl7IGlmKHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wPD15KSBzZWM9dDsgfQogICAgaWYoc2VjPT09dG9tQXR1YWwpIHJldHVybjsKICAgIHRvbUF0dWFsPXNlYzsKICAgIGNvbnN0IGNzPWdldENvbXB1dGVkU3R5bGUoc2VjKTsKICAgIFZBUlMuZm9yRWFjaCh2PT50b3BvLnN0eWxlLnNldFByb3BlcnR5KHYsY3MuZ2V0UHJvcGVydHlWYWx1ZSh2KS50cmltKCkpKTsKICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1mYWl4YScsY3MuZ2V0UHJvcGVydHlWYWx1ZSgnLS1jaGFvJykudHJpbSgpKTsKICB9CiAgY29uc3QgcmFpej1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXZsb2phJyk7CiAgZnVuY3Rpb24gYWx0dXJhU2l0ZSgpewogICAgbGV0IGZ1bmRvPTA7IGNvbnN0IHJzPVtdOwogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaGVhZGVyLmVsZW1lbnRvci1sb2NhdGlvbi1oZWFkZXIgKiwgI3dwYWRtaW5iYXInKS5mb3JFYWNoKGU9PnsKICAgICAgY29uc3QgY3M9Z2V0Q29tcHV0ZWRTdHlsZShlKTsgaWYoY3MucG9zaXRpb24hPT0nZml4ZWQnfHxjcy5kaXNwbGF5PT09J25vbmUnfHxjcy52aXNpYmlsaXR5PT09J2hpZGRlbid8fHBhcnNlRmxvYXQoY3Mub3BhY2l0eSk9PT0wKSByZXR1cm47CiAgICAgIGNvbnN0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsgaWYoIShyLmhlaWdodD4wICYmIHIud2lkdGg+d2luZG93LmlubmVyV2lkdGgqMC41ICYmIHIuaGVpZ2h0PHdpbmRvdy5pbm5lckhlaWdodCowLjUpKSByZXR1cm47IGNvbnN0IHA9ZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0yLE1hdGgubWF4KDIsci5sZWZ0K3Iud2lkdGgvMikpLE1hdGgubWF4KDAsci5ib3R0b20tMykpOyBpZihwJiYocD09PWV8fGUuY29udGFpbnMocCkpKSBycy5wdXNoKHIpOwogICAgfSk7CiAgICBycy5zb3J0KChhLGIpPT5hLnRvcC1iLnRvcCkuZm9yRWFjaChyPT57IGlmKHIudG9wPD1mdW5kbysyKSBmdW5kbz1NYXRoLm1heChmdW5kbyxyLmJvdHRvbSk7IH0pOwogICAgcmFpei5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1tdi10b3BvJyxNYXRoLnJvdW5kKGZ1bmRvKSsncHgnKTsKICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zY3JvbGxQYWRkaW5nVG9wPU1hdGgucm91bmQoZnVuZG8rdG9wby5vZmZzZXRIZWlnaHQrMTIpKydweCc7CiAgfQogIGxldCB0QWx0dXJhPW51bGw7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsKCk9PntjbGVhclRpbWVvdXQodEFsdHVyYSk7IHRBbHR1cmE9c2V0VGltZW91dCgoKT0+e2FsdHVyYVNpdGUoKTtwb3NpY2FvKCk7fSw5MCk7fSx7cGFzc2l2ZTp0cnVlfSk7CiAgc2V0VGltZW91dChhbHR1cmFTaXRlLDYwMCk7CiAgZnVuY3Rpb24gcG9zaWNhbygpewogICAgYWx0dXJhU2l0ZSgpOwogICAgdG9tRG9Ub3BvKCk7CiAgICBpZighYWd1bGhhKSByZXR1cm47CiAgICBjb25zdCBsaW5oYT10b3BvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSt3aW5kb3cuaW5uZXJIZWlnaHQqMC4yNTsKICAgIGxldCBpZHg9LTEsIGZyYWM9MDsKICAgIGNhcHMuZm9yRWFjaCgoYyxpKT0+ewogICAgICBjb25zdCByPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgIGlmKHIudG9wPD1saW5oYSl7aWR4PWk7ZnJhYz1NYXRoLm1pbigxLE1hdGgubWF4KDAsKGxpbmhhLXIudG9wKS9yLmhlaWdodCkpO30KICAgIH0pOwogICAgY29uc3Qgbj1jYXBzLmxlbmd0aDsKICAgIGxldCBwb3M7CiAgICBpZihpZHg8MCl7cG9zPTB9CiAgICBlbHNle3Bvcz0oaWR4K2ZyYWMpL259CiAgICBwb3M9TWF0aC5taW4oMSxwb3MpOwogICAgYWd1bGhhLnN0eWxlLmxlZnQ9KHBvcyoxMDApKyclJzsKICAgIHBhcmFnZW5zLmZvckVhY2goKHAsaSk9PnAuc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLGk9PT1pZHg\/J3RydWUnOidmYWxzZScpKTsKICB9CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcscG9zaWNhbyx7cGFzc2l2ZTp0cnVlfSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScscG9zaWNhbyk7CiAgcG9zaWNhbygpOwogIHBhcmFnZW5zLmZvckVhY2gocD0+cC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgIGNvbnN0IGFsdm89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocC5kYXRhc2V0LmFsdm8pOwogICAgaWYoYWx2bykgYWx2by5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6bWF0Y2hNZWRpYSgnKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSknKS5tYXRjaGVzPydhdXRvJzonc21vb3RoJ30pOwogIH0pKTsKCiAgLyogRmlsdHJvczogb3MgdmluaG9zIGVzY29saGlkb3Mgc29iZW0gcGFyYSBvIHRvcG8sIG51bWEgc8OzIGxpc3RhOyBlbSAiVHVkbyIgdm9sdGEgYSBsb2phIHBlbG8gdGVtcG8gKi8KICBjb25zdCBmaWx0cm9zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZmlsdHJvJyldOwogIGNvbnN0IGNhcGl0dWxvcz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2VjdGlvbi5jYXBpdHVsb1tkYXRhLXBhcmFnZW1dOm5vdCgjYWluZGEpLCAjc2VydmlyJyldOwogIGNvbnN0IG5vbWVzPXt0aW50bzonUm90JyxicmFuY286J1dlacOfJyxwb3J0bzonUG9ydHdlaW4nLGNhaXhhOidLaXN0ZW4gdW5kIFNldHMnfTsKICBjb25zdCByZXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VjdGlvbicpOyByZXMuY2xhc3NOYW1lPSdjYXBpdHVsbyByZXN1bHRhZG9zJzsgcmVzLmRhdGFzZXQudG9tPScxJzsgcmVzLmhpZGRlbj10cnVlOwogIHJlcy5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImNvbnRlbnRvciI+PGRpdiBjbGFzcz0icmVzLWNhYiI+PHAgY2xhc3M9ImNhcC1ldGlxdWV0YSIgaWQ9InJlc1RpdHVsbyI+PC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icmVzLWxpbXBhciI+RGVuIGdhbnplbiBTaG9wIGFuc2VoZW48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJncmVsaGEgcmVzLWdyZWxoYSIgaWQ9InJlc0dyZWxoYSI+PC9kaXY+PC9kaXY+JzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5pY2lvJykuYWZ0ZXIocmVzKTsKICBjb25zdCBncmVsaGFSPXJlcy5xdWVyeVNlbGVjdG9yKCcjcmVzR3JlbGhhJyksIHRpdHVsb1I9cmVzLnF1ZXJ5U2VsZWN0b3IoJyNyZXNUaXR1bG8nKTsKICBjb25zdCBsdWdhcmVzPW5ldyBNYXAoKTsKICBmdW5jdGlvbiByZXBvcigpewogICAgbHVnYXJlcy5mb3JFYWNoKChtYXJjYSxwKT0+e21hcmNhLnJlcGxhY2VXaXRoKHApO30pOyBsdWdhcmVzLmNsZWFyKCk7CiAgICByZXMuaGlkZGVuPXRydWU7IGNhcGl0dWxvcy5mb3JFYWNoKGM9PmMuaGlkZGVuPWZhbHNlKTsKICB9CiAgZnVuY3Rpb24gYXBsaWNhKHYpewogICAgZmlsdHJvcy5mb3JFYWNoKHg9Pnguc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLHguZGF0YXNldC5mPT09dj8ndHJ1ZSc6J2ZhbHNlJykpOwogICAgcmVwb3IoKTsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ212bG9qYScpLmNsYXNzTGlzdC50b2dnbGUoJ2EtZmlsdHJhcicsdiE9PSd0b2RvcycpOwogICAgaWYodj09PSd0b2RvcycpIHJldHVybjsKICAgIGNvbnN0IHNlbD1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBlY2FbZGF0YS10YWdzXScpXS5maWx0ZXIocD0+cC5kYXRhc2V0LnRhZ3Muc3BsaXQoJyAnKS5pbmNsdWRlcyh2KSAmJiAhcC5jbG9zZXN0KCcjYWluZGEnKSk7CiAgICBzZWwuZm9yRWFjaChwPT57Y29uc3QgbT1kb2N1bWVudC5jcmVhdGVDb21tZW50KCdsdWdhcicpOyBwLnJlcGxhY2VXaXRoKG0pOyBsdWdhcmVzLnNldChwLG0pOyBncmVsaGFSLmFwcGVuZENoaWxkKHApO30pOwogICAgdGl0dWxvUi5pbm5lckhUTUw9bm9tZXNbdl0rJyA8ZW0+JytzZWwubGVuZ3RoKyhzZWwubGVuZ3RoPT09MT8nIFByb2R1a3QnOicgUHJvZHVrdGUnKSsnPC9lbT4nOwogICAgY2FwaXR1bG9zLmZvckVhY2goYz0+Yy5oaWRkZW49dHJ1ZSk7IHJlcy5oaWRkZW49ZmFsc2U7CiAgICByZXMuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlcz8nYXV0byc6J3Ntb290aCcsYmxvY2s6J3N0YXJ0J30pOwogIH0KICBmaWx0cm9zLmZvckVhY2goZj0+Zi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PmFwbGljYShmLmRhdGFzZXQuZikpKTsKICAvLyBhIHLDqWd1YSBkbyB0ZW1wbyB2b2x0YSBhIG1vc3RyYXIgYSBsb2phIHRvZGEgcXVhbmRvIMOpIHVzYWRhCiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBhcmFnZW0nKS5mb3JFYWNoKHBhPT5wYS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsgaWYoIXJlcy5oaWRkZW4pIGFwbGljYSgndG9kb3MnKTsgfSx0cnVlKSk7CiAgcmVzLnF1ZXJ5U2VsZWN0b3IoJy5yZXMtbGltcGFyJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57YXBsaWNhKCd0b2RvcycpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5pY2lvJykuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnfSk7fSk7CgogIC8qIENhcnJpbmhvIHZlcmRhZGVpcm8gZG8gV29vQ29tbWVyY2U6IGFvIGVzY29saGVyIHVtIHZpbmhvIGFwYXJlY2UgYSBxdWFudGlkYWRlLCBxdWUgc2UgYWNlcnRhIGNvbSAtIGUgKyAqLwogIGNvbnN0IEFQST0nL3dwLWpzb24vd2Mvc3RvcmUvdjEvJzsgbGV0IG5vbmNlPW51bGw7CiAgYXN5bmMgZnVuY3Rpb24gcGVkZShjYW1pbmhvLGRhZG9zKXsKICAgIGNvbnN0IGg9eydDb250ZW50LVR5cGUnOidhcHBsaWNhdGlvbi9qc29uJ307IGlmKG5vbmNlKSBoWydOb25jZSddPW5vbmNlOwogICAgY29uc3Qgcj1hd2FpdCBmZXRjaChBUEkrY2FtaW5obyx7bWV0aG9kOmRhZG9zPydQT1NUJzonR0VUJyxjcmVkZW50aWFsczonc2FtZS1vcmlnaW4nLGhlYWRlcnM6aCxib2R5OmRhZG9zP0pTT04uc3RyaW5naWZ5KGRhZG9zKTp1bmRlZmluZWR9KTsKICAgIGNvbnN0IG49ci5oZWFkZXJzLmdldCgnTm9uY2UnKTsgaWYobikgbm9uY2U9bjsKICAgIGNvbnN0IGo9YXdhaXQgci5qc29uKCkuY2F0Y2goKCk9Pih7fSkpOwogICAgaWYoIXIub2spIHRocm93IGo7IHJldHVybiBqOwogIH0KICBmdW5jdGlvbiBhdmlzYVNpdGUoKXsKICAgIC8vIG8gY2FycmluaG8gZG8gY2FiZcOnYWxobyBkbyBzaXRlIGFjdHVhbGl6YS1zZSBzZW0gcmVjYXJyZWdhciBhIHDDoWdpbmEKICAgIGZldGNoKCcvZGUvP3djLWFqYXg9Z2V0X3JlZnJlc2hlZF9mcmFnbWVudHMnLHttZXRob2Q6J1BPU1QnLGNyZWRlbnRpYWxzOidzYW1lLW9yaWdpbid9KS50aGVuKHI9PnIuanNvbigpKS50aGVuKGQ9PnsKICAgICAgT2JqZWN0LmVudHJpZXMoZCYmZC5mcmFnbWVudHN8fHt9KS5mb3JFYWNoKChbc2VsLGh0bWxdKT0+eyBpZighL15bLiNhLXpdL2kudGVzdChzZWwpKSByZXR1cm47IHRyeXsgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWwpLmZvckVhY2goZWw9PntlbC5vdXRlckhUTUw9aHRtbDt9KTsgfWNhdGNoKGUpe30gfSk7CiAgICAgIHRyeXsgaWYod2luZG93LmpRdWVyeSkgalF1ZXJ5KGRvY3VtZW50LmJvZHkpLnRyaWdnZXIoJ3djX2ZyYWdtZW50c19yZWZyZXNoZWQnKTsgfWNhdGNoKGUpe30KICAgIH0pLmNhdGNoKCgpPT57fSk7CiAgfQogIGNvbnN0IGJvdG9lcz1uZXcgTWFwKCk7CiAgZnVuY3Rpb24gYXBsaWNhQ2FycmluaG8oYyl7CiAgICBjb25zdCBwb3JJZD17fTsgKGMmJmMuaXRlbXN8fFtdKS5mb3JFYWNoKGk9Pntwb3JJZFtpLmlkXT1pO30pOwogICAgYm90b2VzLmZvckVhY2goKGN0bCxpZCk9Pntjb25zdCBpPXBvcklkW2lkXTsgY3RsLmRlZmluZShpP2kucXVhbnRpdHk6MCxpP2kua2V5Om51bGwpO30pOwogIH0KICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucXVlcm8nKS5mb3JFYWNoKGI9PnsKICAgIGNvbnN0IGNhaXhhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBjYWl4YS5jbGFzc05hbWU9J2NvbXByYXInOwogICAgY29uc3QgcT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgcS5jbGFzc05hbWU9J3F0ZCc7CiAgICBxLmlubmVySFRNTD0nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdGQtbWVub3MiIGFyaWEtbGFiZWw9IkVpbmUgd2VuaWdlciI+4oiSPC9idXR0b24+PG91dHB1dCBhcmlhLWxpdmU9InBvbGl0ZSI+MTwvb3V0cHV0PjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icXRkLW1haXMiIGFyaWEtbGFiZWw9IkVpbmUgbWVociI+KzwvYnV0dG9uPic7CiAgICBiLnJlcGxhY2VXaXRoKGNhaXhhKTsgY2FpeGEuYXBwZW5kKHEsYik7CiAgICBpZihiLmRhdGFzZXQubGlnYWNhbyl7IGNhaXhhLmNsYXNzTGlzdC5hZGQoJ2xpZ2FjYW8nKTsgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9Pntsb2NhdGlvbi5ocmVmPWIuZGF0YXNldC5saWdhY2FvO30pOyByZXR1cm47IH0KICAgIGNvbnN0IGlkPXBhcnNlSW50KGIuZGF0YXNldC5pZCwxMCk7CiAgICBjb25zdCBvdXQ9cS5xdWVyeVNlbGVjdG9yKCdvdXRwdXQnKTsgbGV0IG49MSwgbm9DYXJyaW5obz0wLCBjaGF2ZT1udWxsLCBvY3VwYWRvPWZhbHNlOwogICAgY29uc3QgdGV4dG89Yi50ZXh0Q29udGVudDsKICAgIC8vIGFudGVzIGRlIGNvbXByYXI6IGVzY29saGUtc2UgYSBxdWFudGlkYWRlIChtw61uaW1vIDEpCiAgICAvLyBkZXBvaXMgZGUgY29tcHJhcjogbyBuw7ptZXJvIMOpIG8gcXVlIGVzdMOhIG5vIGNhcnJpbmhvOyBhIDAgYSBjb21wcmEgc2FpCiAgICBjb25zdCBtb3N0cmE9KCk9PnsKICAgICAgb3V0LnRleHRDb250ZW50PW5vQ2FycmluaG8\/bm9DYXJyaW5obzpuOwogICAgICBiLnRleHRDb250ZW50PW5vQ2FycmluaG8\/J0ltIFdhcmVua29yYic6dGV4dG87CiAgICAgIGIuY2xhc3NMaXN0LnRvZ2dsZSgnZmVpdG8nLG5vQ2FycmluaG8+MCk7CiAgICAgIHEucXVlcnlTZWxlY3RvcignLnF0ZC1tZW5vcycpLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsbm9DYXJyaW5obz09PTE\/J0F1cyBkZW0gV2FyZW5rb3JiIGVudGZlcm5lbic6J0VpbmUgd2VuaWdlcicpOwogICAgICBjb25zdCBtYWlzPXEucXVlcnlTZWxlY3RvcignLnF0ZC1tYWlzJyksIG5vTGltaXRlPShub0NhcnJpbmhvfHxuKT49bWF4aW1vOwogICAgICBtYWlzLmRpc2FibGVkPW5vTGltaXRlOyBtYWlzLnN0eWxlLm9wYWNpdHk9bm9MaW1pdGU\/Jy4zJzonJzsgbWFpcy5zdHlsZS5jdXJzb3I9bm9MaW1pdGU\/J2RlZmF1bHQnOicnOwogICAgfTsKICAgIGxldCBtYXhpbW89OTk7CiAgICBjb25zdCBmYWxoYT0oZSk9PnsKICAgICAgY29uc3QgY29kPVN0cmluZyhlJiZlLmNvZGV8fCcnKTsKICAgICAgYi50ZXh0Q29udGVudD0vc3RvY2t8ZXN0b3F1ZS9pLnRlc3QoY29kKT8nTmljaHQgdm9ycsOkdGlnJzonQml0dGUgZXJuZXV0IHZlcnN1Y2hlbic7IHNldFRpbWVvdXQobW9zdHJhLDI2MDApOwogICAgfTsKICAgIGNvbnN0IGNvcnJlPWFzeW5jKGZuKT0+ewogICAgICBpZihvY3VwYWRvKSByZXR1cm47IG9jdXBhZG89dHJ1ZTsgYi5jbGFzc0xpc3QuYWRkKCdhLWNhcnJlZ2FyJyk7CiAgICAgIHRyeXsgY29uc3QgYz1hd2FpdCBmbigpOyBhcGxpY2FDYXJyaW5obyhjKTsgYXZpc2FTaXRlKCk7IH1jYXRjaChlKXsgZmFsaGEoZSk7IH0KICAgICAgZmluYWxseXsgb2N1cGFkbz1mYWxzZTsgYi5jbGFzc0xpc3QucmVtb3ZlKCdhLWNhcnJlZ2FyJyk7IH0KICAgIH07CiAgICBib3RvZXMuc2V0KGlkLHtkZWZpbmU6KHF0LGspPT57bm9DYXJyaW5obz1xdDsgY2hhdmU9azsgaWYoIXF0KSBuPU1hdGgubWF4KDEsbik7IG1vc3RyYSgpO30sIGxpbWl0ZToobXgpPT57bWF4aW1vPU1hdGgubWF4KDEsbXh8fDk5KTsgbj1NYXRoLm1pbihuLG1heGltbyk7IG1vc3RyYSgpO319KTsKICAgIHEucXVlcnlTZWxlY3RvcignLnF0ZC1tYWlzJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICAgIGlmKG5vQ2FycmluaG8mJmNoYXZlKSBjb3JyZSgoKT0+cGVkZSgnY2FydC91cGRhdGUtaXRlbScse2tleTpjaGF2ZSxxdWFudGl0eTpub0NhcnJpbmhvKzF9KSk7CiAgICAgIGVsc2UgeyBuPU1hdGgubWluKG1heGltbyxuKzEpOyBtb3N0cmEoKTsgfQogICAgfSk7CiAgICBxLnF1ZXJ5U2VsZWN0b3IoJy5xdGQtbWVub3MnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgICAgaWYobm9DYXJyaW5obyYmY2hhdmUpewogICAgICAgIGlmKG5vQ2FycmluaG8+MSkgY29ycmUoKCk9PnBlZGUoJ2NhcnQvdXBkYXRlLWl0ZW0nLHtrZXk6Y2hhdmUscXVhbnRpdHk6bm9DYXJyaW5oby0xfSkpOwogICAgICAgIGVsc2UgeyBuPTE7IGNvcnJlKCgpPT5wZWRlKCdjYXJ0L3JlbW92ZS1pdGVtJyx7a2V5OmNoYXZlfSkpOyB9CiAgICAgIH0gZWxzZSB7IG49TWF0aC5tYXgoMSxuLTEpOyBtb3N0cmEoKTsgfQogICAgfSk7CiAgICBiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgICBpZihub0NhcnJpbmhvKXsgbG9jYXRpb24uaHJlZj0nL2RlL3dhcmVua29yYi8nOyByZXR1cm47IH0KICAgICAgY29ycmUoKCk9PnBlZGUoJ2NhcnQvYWRkLWl0ZW0nLHtpZDppZCxxdWFudGl0eTpufSkpOwogICAgfSk7CiAgfSk7CiAgcGVkZSgnY2FydCcpLnRoZW4oYXBsaWNhQ2FycmluaG8pLmNhdGNoKCgpPT57fSk7CiAgZmV0Y2goQVBJKydwcm9kdWN0cz9wZXJfcGFnZT01MCZpbmNsdWRlPScrWy4uLmJvdG9lcy5rZXlzKCldLmpvaW4oJywnKSx7Y3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pLnRoZW4ocj0+ci5qc29uKCkpLnRoZW4ocHM9PnsKICAgIChwc3x8W10pLmZvckVhY2gocD0+e2NvbnN0IGM9Ym90b2VzLmdldChwLmlkKTsgaWYoYyYmcC5hZGRfdG9fY2FydCkgYy5saW1pdGUocC5hZGRfdG9fY2FydC5tYXhpbXVtKTt9KTsKICB9KS5jYXRjaCgoKT0+e30pOwogIC8vIGEgTWFnbnVtIHNlZ3VlIHBhcmEgYSBww6FnaW5hIGRvIHByb2R1dG8gZGEgb2Nhc2nDo28gZXNjb2xoaWRhCiAgY29uc3QgTUFHTlVNPXtuYXNjaW1lbnRvOidtYWdudW0tbmFzY2ltZW50bycsYW5pdmVyc2FyaW86J21hZ251bS1hbm9zJyxjYXNhbWVudG86J21hZ251bS1jYXNhbWVudG8nLGNhc2Fub3ZhOidtYWdudW0tY2FzYS1ub3ZhJyxib2RhczonbWFnbnVtLWJvZGFzJyxyZWZvcm1hOidtYWdudW0tcmVmb3JtYScsZmFtaWxpYTonbWFnbnVtLWZhbWlsaWEnLG9icmlnYWRvOidtYWdudW0tb2JyaWdhZG8nLGVtcHJlc2FQaW5oYXM6J21hZ251bS1lbXByZXNhLXBpbmhhcycsZW1wcmVzYVZpZGVpcmE6J21hZ251bS1lbXByZXNhLXZpZGVpcmEnLGNvbGFiUGluaGFzOidtYWdudW0tY29sYWJvcmFkb3ItcGluaGFzJyxjb2xhYlZpZGVpcmE6J21hZ251bS1jb2xhYm9yYWRvci12aWRlaXJhJ307CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnF1ZXJvLW1hZ251bScpLmZvckVhY2goYj0+Yi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgIGNvbnN0IG89KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vY2FzaWFvW2FyaWEtcHJlc3NlZD0idHJ1ZSJdJyl8fHt9KS5kYXRhc2V0OyBjb25zdCBvYz1vJiZvLm87IGNvbnN0IHM9TUFHTlVNW29jXXx8J21hZ251bS1hbm9zJzsKICAgIC8vIG8gcXVlIG8gY2xpZW50ZSBlc2NyZXZldSBubyBhdGVsaWVyIHNlZ3VlIHBhcmEgYSBww6FnaW5hIGRhIE1hZ251bQogICAgY29uc3Qgdj1pZD0+e2NvbnN0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21fJytpZCk7IHJldHVybiBlP2UudmFsdWUudHJpbSgpOicnO307CiAgICBjb25zdCBkYXRhSVNPPXQ9Pntjb25zdCBtPVN0cmluZyh0KS5tYXRjaCgvXihcZHsxLDJ9KVsuXC8tXShcZHsxLDJ9KVsuXC8tXShcZHs0fSkkLyk7IHJldHVybiBtP21bM10rJy0nK21bMl0ucGFkU3RhcnQoMiwnMCcpKyctJyttWzFdLnBhZFN0YXJ0KDIsJzAnKTonJzt9OwogICAgY29uc3QgTUFQQT17YW5pdmVyc2FyaW86e2lkYWRlOidtdl9pZGFkZScsbm9tZTonbXZfbm9tZSd9LG5hc2NpbWVudG86e25vbWU6J212bl9ub21lJyxkYXRhOidtdm5fZGF0YSd9LGNhc2FtZW50bzp7YTonbXZvX2VsYScsYjonbXZvX2VsZScsZGF0YTonbXZvX2RhdGEnfSwKICAgICAgYm9kYXM6e2E6J212bl91bScsYjonbXZuX291dHJvJyxhbm9zOidtdm5fYW5vcyd9LGNhc2Fub3ZhOnthcGVsaWRvOidtdm5fYXBlbGlkbycsYW5vOidtdm5fYW5vJ30sb2JyaWdhZG86e3BhcmE6J212bl9ub21lJyxwb3JxdWU6J212bl9wb3InLGRlOidtdm5fZGUnfSwKICAgICAgcmVmb3JtYTp7bm9tZTonbXZvX25vbWUnLGNhcmdvOidtdm9fY2FyZ28nLGFzczonbXZvX2Fzc2luYXR1cmEnfSxmYW1pbGlhOnthcGVsaWRvOidtdl9hcGVsaWRvJ30sY29sYWJQaW5oYXM6e25vbWU6J212ZV9ub21lcyd9LGNvbGFiVmlkZWlyYTp7bm9tZTonbXZlX25vbWVzJ319OwogICAgY29uc3QgY2FtcG9zPXt9OyBPYmplY3QuZW50cmllcyhNQVBBW29jXXx8e30pLmZvckVhY2goKFtpZCxub21lXSk9PnsgbGV0IHg9dihpZCk7IGlmKCF4KSByZXR1cm47IGlmKGlkPT09J2RhdGEnKSB4PWRhdGFJU08oeCk7IGlmKHgpIGNhbXBvc1tub21lXT14OyB9KTsKICAgIHRyeXsgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnbXZBdGVsaWVyJyxKU09OLnN0cmluZ2lmeSh7c2x1ZzpzLGNhbXBvczpjYW1wb3N9KSk7IH1jYXRjaChlKXt9CiAgICBsb2NhdGlvbi5ocmVmPScvZGUvcHJvZHV0by8nK3MrJy8nOwogIH0pKTsKCiAgLyogTWFnbnVtOiBhcyBkb3plIG9jYXNpw7VlcywgcHLDqS12aXN1YWxpemHDp8OjbyBhbyB2aXZvIGRhIHBpbnR1cmEgKi8KICBjb25zdCBlc2M9dD0+U3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ10vZyxjPT4oeycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdKSk7CiAgbGV0IGxvZ29VUkw9bnVsbDsKICBjb25zdCBjZXU9JzxzdmcgY2xhc3M9InYtY2V1IiB2aWV3Qm94PSIwIDAgMjAwIDkwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGcgZmlsbD0idmFyKC0tb3VybykiPjxjaXJjbGUgY3g9IjE4IiBjeT0iNjAiIHI9IjMuMiIvPjxjaXJjbGUgY3g9IjUyIiBjeT0iMzgiIHI9IjQiLz48Y2lyY2xlIGN4PSI4OCIgY3k9IjUyIiByPSIzIi8+PGNpcmNsZSBjeD0iMTE4IiBjeT0iMjIiIHI9IjQuNCIvPjxjaXJjbGUgY3g9IjE1MCIgY3k9IjQ0IiByPSIzLjQiLz48Y2lyY2xlIGN4PSIxODQiIGN5PSIzMCIgcj0iMyIvPjxjaXJjbGUgY3g9IjcwIiBjeT0iMTIiIHI9IjIiLz48Y2lyY2xlIGN4PSIxNjYiIGN5PSI3OCIgcj0iMiIvPjxjaXJjbGUgY3g9IjM0IiBjeT0iMTYiIHI9IjEuOCIvPjxjaXJjbGUgY3g9IjEzMiIgY3k9Ijc0IiByPSIxLjgiLz48L2c+PHBvbHlsaW5lIHBvaW50cz0iMTgsNjAgNTIsMzggODgsNTIgMTE4LDIyIDE1MCw0NCAxODQsMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0idmFyKC0tb3VybykiIHN0cm9rZS13aWR0aD0iMi40Ii8+PC9zdmc+JzsKICBjb25zdCBsb2dvSFRNTD0oKT0+bG9nb1VSTD8nPGltZyBjbGFzcz0idi1sb2dvIiBzcmM9IicrbG9nb1VSTCsnIiBhbHQ9IkhvY2hnZWxhZGVuZXMgTG9nbyI+JzonPHNwYW4gY2xhc3M9InYtdmF6aW8iPklociBMb2dvPC9zcGFuPic7CiAgY29uc3QgTz17CiAgICBhbml2ZXJzYXJpbzp7Y2FtcG9zOltbJ2lkYWRlJywnQWx0ZXInLCc1MCddLFsnbm9tZScsJ05hbWUnLCdNYXJ0YSBGZXJyZWlyYSddXSwKICAgICAgcGludGE6dj0+YDxkaXYgY2xhc3M9InYtbnVtIj4ke2VzYyh2LmlkYWRlKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2Lm5vbWUpfTwvZGl2PjxkaXYgY2xhc3M9InYtc3ViIj5BbGxlcyBHdXRlPC9kaXY+YH0sCiAgICBuYXNjaW1lbnRvOntjYW1wb3M6W1snbm9tZScsJ05hbWUgZGVzIEJhYnlzJywnRnJhbmNpc2NvJ10sWydkYXRhJywnR2Vib3JlbiBhbScsJzEyLjAzLjIwMjYnXV0sCiAgICAgIHBpbnRhOnY9PmAke2NldX08ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2Lm5vbWUpfTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+JHtlc2Modi5kYXRhKX08L2Rpdj5gfSwKICAgIGNhc2FtZW50bzp7Y2FtcG9zOltbJ2EnLCdFcnN0ZXIgTmFtZScsJ0luw6pzJ10sWydiJywnWndlaXRlciBOYW1lJywnRHVhcnRlJ10sWydkYXRhJywnRGF0dW0gZGVyIEhvY2h6ZWl0JywnMTIuMDYuMjAyNycsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5Ib2NoIGxlYmUgZGFzIEJyYXV0cGFhcjwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYuYSl9PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSBvdXJvIG1lZGlhIj4mYW1wOzwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYuYil9PC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4ke2VzYyh2LmRhdGEpfTwvZGl2PmB9LAogICAgYm9kYXM6e2NhbXBvczpbWydhJywnRWluZXIgZGVyIGJlaWRlbicsJ0FuYSddLFsnYicsJ0RlciBhbmRlcmUnLCdSdWknXSxbJ0phaHJlJywnRWhlamFocmUnLCc0MCcsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi1udW0iPiR7ZXNjKHYuYW5vcyl9PHNtYWxsPkphaHJlIFRhbno8L3NtYWxsPjwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYuYSl9ICZhbXA7ICR7ZXNjKHYuYil9PC9kaXY+YH0sCiAgICBjYXNhbm92YTp7Y2FtcG9zOltbJ2FwZWxpZG8nLCdGYW1pbGllbm5hbWUnLCdPbGl2ZWlyYSddLFsnYW5vJywnSmFociBkZXMgVW16dWdzJywnMjAyNiddXSwKICAgICAgcGludGE6dj0+YDxkaXYgY2xhc3M9InYtdG9wbyI+QWxsZXMgR3V0ZSB6dW0gbmV1ZW4gWnVoYXVzZTwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPkZhbWlsaWUgJHtlc2Modi5hcGVsaWRvKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPiR7ZXNjKHYuYW5vKX08L2Rpdj5gfSwKICAgIG9icmlnYWRvOntjYW1wb3M6W1sncGFyYScsJ0bDvHIgd2VuJywnVGVyZXNhJ10sWydkZScsJ1dlciBzaWNoIGJlZGFua3QnLCdEaWUgRnJldW5kZSddLFsncG9ycXVlJywnV2FydW0sIGluIElocmVuIGVpZ2VuZW4gV29ydGVuJywnRsO8ciBhbGxlcycsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi1sZXRyYSBvdXJvIj5EYW5rZTwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEgbWVkaWEiPiR7ZXNjKHYucGFyYSl9PC9kaXY+PGRpdiBjbGFzcz0idi1zdWIiPiR7ZXNjKHYucG9ycXVlKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPiR7ZXNjKHYuZGUpfTwvZGl2PmB9LAogICAgcmVmb3JtYTp7Y2FtcG9zOltbJ25vbWUnLCdOYW1lJywnTWFudWVsIFNpbHZhJ10sWydjYXJnbycsJ05ldWUgUG9zaXRpb24nLCdHZW5lcmFsZGlyZWt0b3IgZGVyIEZyZWl6ZWl0J10sWydhc3MnLCdVbnRlcnNjaHJpZnQnLCdWb24gZGVuIEZyZXVuZGVuIHZvbiBpbW1lcicsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5EaWUgbGV0enRlIEJlZsO2cmRlcnVuZzwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYubm9tZSl9PC9kaXY+PGRpdiBjbGFzcz0idi1zdWIiPiR7ZXNjKHYuY2FyZ28pfTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+JHtlc2Modi5hc3MpfTwvZGl2PmB9LAogICAgZmFtaWxpYTp7Y2FtcG9zOltbJ2FwZWxpZG8nLCdGYW1pbGllbm5hbWUnLCdGZXJyZWlyYScsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5GYW1pbGllPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5hcGVsaWRvKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LXN1YiI+RnJvaGUgV2VpaG5hY2h0ZW48L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPjIwMjY8L2Rpdj5gfSwKICAgIGVtcHJlc2FQaW5oYXM6e2xvZ286MSxub3RhOidPYmVuIHVuc2VyIFdlaWhuYWNodGVuLiBVbnRlbiBJaHJlIE1hcmtlLicsCiAgICAgIHBpbnRhOigpPT5gPGRpdiBjbGFzcz0idi1tZWlvIj48c3BhbiBjbGFzcz0idi16b25hIj5HZW1hbHRlIFRhbm5lbnphcGZlbjwvc3Bhbj48ZGl2IGNsYXNzPSJ2LWxldHJhIG91cm8gbWVkaWEiPkZyb2hlIFdlaWhuYWNodGVuPC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4yMDI2PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idi1tZWlvIj4ke2xvZ29IVE1MKCl9PC9kaXY+YH0sCiAgICBlbXByZXNhVmlkZWlyYTp7bG9nbzoxLG5vdGE6J09iZW4gdW5zZXIgV2VpaG5hY2h0ZW4uIFVudGVuIElocmUgTWFya2UuJywKICAgICAgcGludGE6KCk9PmA8ZGl2IGNsYXNzPSJ2LW1laW8iPjxzcGFuIGNsYXNzPSJ2LXpvbmEiPkdlbWFsdGUgV2VpbnJlYmU8L3NwYW4+PGRpdiBjbGFzcz0idi1sZXRyYSBvdXJvIG1lZGlhIj5Gcm9oZSBXZWlobmFjaHRlbjwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+MjAyNjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InYtbWVpbyI+JHtsb2dvSFRNTCgpfTwvZGl2PmB9LAogICAgY29sYWJQaW5oYXM6e2NhbXBvczpbWydub21lJywnTmFtZSBkZXMgTWl0YXJiZWl0ZXJzJywnQW5hIEZlcnJlaXJhJywxXV0sbm90YTonRWluZSBNYWdudW0gcHJvIE1pdGFyYmVpdGVyLCBqZWRlIG1pdCBkZW0gZWlnZW5lbiBOYW1lbi4gR2ViZW4gU2llIGJlaSBkZXIgQmVzdGVsbHVuZyBhbGxlIE5hbWVuIGFuLicsCiAgICAgIHBpbnRhOnY9PmA8c3BhbiBjbGFzcz0idi16b25hIj5HZW1hbHRlIFRhbm5lbnphcGZlbjwvc3Bhbj48ZGl2IGNsYXNzPSJ2LXRvcG8iPkZyb2hlIFdlaWhuYWNodGVuIDIwMjY8L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2Lm5vbWUpfTwvZGl2PmB9LAogICAgY29sYWJWaWRlaXJhOntjYW1wb3M6W1snbm9tZScsJ05hbWUgZGVzIE1pdGFyYmVpdGVycycsJ0FuYSBGZXJyZWlyYScsMV1dLG5vdGE6J0VpbmUgTWFnbnVtIHBybyBNaXRhcmJlaXRlciwgamVkZSBtaXQgZGVtIGVpZ2VuZW4gTmFtZW4uIEdlYmVuIFNpZSBiZWkgZGVyIEJlc3RlbGx1bmcgYWxsZSBOYW1lbiBhbi4nLAogICAgICBwaW50YTp2PT5gPHNwYW4gY2xhc3M9InYtem9uYSI+R2VtYWx0ZSBXZWlucmViZTwvc3Bhbj48ZGl2IGNsYXNzPSJ2LXRvcG8iPkZyb2hlIFdlaWhuYWNodGVuIDIwMjY8L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2Lm5vbWUpfTwvZGl2PmB9CiAgfTsKICBjb25zdCB2ZlBpbnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZmUGludCcpLCBMQU5HPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhaW5kYScpLmRhdGFzZXQubGFuZ3x8J3B0JzsKICBjb25zdCB2aWRybz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkcm8nKSwgY2FtcG9zPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW1wb3MnKSwgbm90YT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FtcG9zTm90YScpOwogIGxldCBhdHVhbD0nYW5pdmVyc2FyaW8nLCB2YWxvcmVzPXt9OwogIGZ1bmN0aW9uIHBpbnRhKCl7CiAgICB2aWRyby5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InYtY29udGV1ZG8iPicrT1thdHVhbF0ucGludGEodmFsb3JlcykrJzwvZGl2Pic7CiAgICAvLyBhIHBpbnR1cmEgdGVtIGRlIGNhYmVyIG5vcyAxMCBjbTogc2UgbyB0ZXh0byBmb3IgbG9uZ28sIGVuY29saGUgdHVkbyBwb3IgaWd1YWwKICAgIGNvbnN0IGM9dmlkcm8uZmlyc3RDaGlsZDsgYy5zdHlsZS50cmFuc2Zvcm09Jyc7CiAgICBjb25zdCBsaXZyZT1jLmNsaWVudEhlaWdodCwgYWx0bz1jLnNjcm9sbEhlaWdodDsKICAgIGlmKGFsdG8+bGl2cmUpIGMuc3R5bGUudHJhbnNmb3JtPSdzY2FsZSgnKyhsaXZyZS9hbHRvKS50b0ZpeGVkKDMpKycpJzsKICAgIC8vIGUgYSBtZXNtYSBwaW50dXJhIGFwYXJlY2UgbmEgZ2FycmFmYSBkYSBmb3RvZ3JhZmlhCiAgICBNVkdhcnJhZmEuZGVzZW5oYSh2ZlBpbnQsYXR1YWwsdmFsb3JlcyxMQU5HKTsKICB9CiAgZnVuY3Rpb24gbW9udGEoY2hhdmUpewogICAgYXR1YWw9Y2hhdmU7IGNvbnN0IG89T1tjaGF2ZV07IHZhbG9yZXM9e307IGNhbXBvcy5pbm5lckhUTUw9Jyc7CiAgICAoby5jYW1wb3N8fFtdKS5mb3JFYWNoKChbaWQsbGFiZWwsZGVmLGxhcmdvXSxpKT0+ewogICAgICB2YWxvcmVzW2lkXT1kZWY7CiAgICAgIGNvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGQuY2xhc3NOYW1lPSdjYW1wbycrKGxhcmdvPycgbGFyZ28nOicnKTsKICAgICAgZC5pbm5lckhUTUw9YDxsYWJlbCBmb3I9Im1fJHtpZH0iPiR7ZXNjKGxhYmVsKX08L2xhYmVsPjxpbnB1dCBpZD0ibV8ke2lkfSIgbWF4bGVuZ3RoPSIkeyhpZD09PSdwb3JxdWUnfHxpZD09PSdjYXJnbycpPzQwOjI0fSIgYXV0b2NvbXBsZXRlPSJvZmYiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJ6LiBCLiAke2VzYyhkZWYpfSI+YDsKICAgICAgZC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JyxlPT57dmFsb3Jlc1tpZF09ZS50YXJnZXQudmFsdWUudHJpbSgpfHxkZWY7cGludGEoKTt9KTsKICAgICAgY2FtcG9zLmFwcGVuZENoaWxkKGQpOwogICAgfSk7CiAgICBpZihvLmxvZ28pewogICAgICBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkLmNsYXNzTmFtZT0nY2FtcG8gbGFyZ28nOwogICAgICBkLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9InYtem9uYSIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5GaXJtZW5sb2dvPC9zcGFuPjxkaXYgY2xhc3M9ImZpY2hlaXJvIj48aW5wdXQgaWQ9Im1fbG9nbyIgdHlwZT0iZmlsZSIgYWNjZXB0PSJpbWFnZS8qIj48bGFiZWwgY2xhc3M9ImJvdGFvLWYiIGZvcj0ibV9sb2dvIj5EYXRlaSBob2NobGFkZW48L2xhYmVsPjxzcGFuIGlkPSJtX2xvZ29fbm9tZSI+S2VpbmUgRGF0ZWkgYXVzZ2V3w6RobHQ8L3NwYW4+PC9kaXY+JzsKICAgICAgZC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsZT0+ewogICAgICAgIGNvbnN0IGY9ZS50YXJnZXQuZmlsZXMmJmUudGFyZ2V0LmZpbGVzWzBdOyBpZighZikgcmV0dXJuOwogICAgICAgIGQucXVlcnlTZWxlY3RvcignI21fbG9nb19ub21lJykudGV4dENvbnRlbnQ9Zi5uYW1lOwogICAgICAgIGNvbnN0IGZyPW5ldyBGaWxlUmVhZGVyKCk7IGZyLm9ubG9hZD0oKT0+e2xvZ29VUkw9ZnIucmVzdWx0O3BpbnRhKCk7fTsgZnIucmVhZEFzRGF0YVVSTChmKTsKICAgICAgfSk7CiAgICAgIGNhbXBvcy5hcHBlbmRDaGlsZChkKTsKICAgIH0KICAgIG5vdGEuaGlkZGVuPSFvLm5vdGE7IG5vdGEudGV4dENvbnRlbnQ9by5ub3RhfHwnJzsKICAgIHBpbnRhKCk7CiAgfQogIGNvbnN0IGZvdG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRvckZvdG8nKTsKICBmdW5jdGlvbiBhZ3VsaGFWaWRhKGJ0bil7CiAgICBjb25zdCBsaW5oYT1idG4uY2xvc2VzdCgnLnZpZGEtbGluaGEnKTsgaWYoIWxpbmhhfHxsaW5oYS5oaWRkZW4pIHJldHVybjsKICAgIGNvbnN0IGFnPWxpbmhhLnF1ZXJ5U2VsZWN0b3IoJy5hZ3VsaGEtdmlkYScpLCByPWxpbmhhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCBiPWJ0bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgIGFnLnN0eWxlLmxlZnQ9KGIubGVmdC1yLmxlZnQrbGluaGEuc2Nyb2xsTGVmdCkrJ3B4JzsgYWcuc3R5bGUud2lkdGg9Yi53aWR0aCsncHgnOwogIH0KICBmdW5jdGlvbiBlc2NvbGhlKGJ0bil7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub2Nhc2lhbycpLmZvckVhY2goeD0+eC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcseD09PWJ0bj8ndHJ1ZSc6J2ZhbHNlJykpOwogICAgbW9udGEoYnRuLmRhdGFzZXQubyk7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9yTm9tZScpLnRleHRDb250ZW50PWJ0bi5xdWVyeVNlbGVjdG9yKCdiJykudGV4dENvbnRlbnQ7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9yU3ViJykudGV4dENvbnRlbnQ9YnRuLmRhdGFzZXQuc3VifHwnJzsKICAgIGNvbnN0IG5vdm89J2h0dHBzOi8vbW9ydmFsbGV5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8xMS9tdm5hdGFsLW0tJytidG4uZGF0YXNldC5vKyhNVkdhcnJhZmEudGVtKGJ0bi5kYXRhc2V0Lm8pPyctbGltcGEnOicnKSsnLndlYnAnOwogICAgaWYoZm90byAmJiAhZm90by5zcmMuZW5kc1dpdGgobm92bykpewogICAgICBmb3RvLmNsYXNzTGlzdC5hZGQoJ3Ryb2NhJyk7IHZmUGludC5jbGFzc0xpc3QuYWRkKCd0cm9jYScpOwogICAgICBzZXRUaW1lb3V0KCgpPT57Zm90by5zcmM9bm92bzsgZm90by5vbmxvYWQ9KCk9Pntmb3RvLmNsYXNzTGlzdC5yZW1vdmUoJ3Ryb2NhJyk7dmZQaW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Ryb2NhJyk7fTsgc2V0VGltZW91dCgoKT0+e2ZvdG8uY2xhc3NMaXN0LnJlbW92ZSgndHJvY2EnKTt2ZlBpbnQuY2xhc3NMaXN0LnJlbW92ZSgndHJvY2EnKTt9LDQwMCk7fSwxODApOwogICAgfQogICAgYWd1bGhhVmlkYShidG4pOwogICAgaWYobWF0Y2hNZWRpYSgnKG1heC13aWR0aDo4NjBweCknKS5tYXRjaGVzKSBidG4uc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGlubGluZTonY2VudGVyJyxibG9jazonbmVhcmVzdCd9KTsKICB9CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm9jYXNpYW8nKS5mb3JFYWNoKGJ0bj0+YnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ZXNjb2xoZShidG4pKSk7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFiYScpLmZvckVhY2goYT0+YS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hYmEnKS5mb3JFYWNoKHg9Pnguc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLHg9PT1hPyd0cnVlJzonZmFsc2UnKSk7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudmlkYS1saW5oYScpLmZvckVhY2gobD0+bC5oaWRkZW49bC5kYXRhc2V0LmFiYSE9PWEuZGF0YXNldC5hYmEpOwogICAgZXNjb2xoZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudmlkYS1saW5oYVtkYXRhLWFiYT0iJythLmRhdGFzZXQuYWJhKyciXSAub2Nhc2lhbycpKTsKICB9KSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsKCk9Pntjb25zdCBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vY2FzaWFvW2FyaWEtcHJlc3NlZD0idHJ1ZSJdJyk7IGlmKGIpIGFndWxoYVZpZGEoYik7fSk7CiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Y29uc3QgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub2Nhc2lhb1thcmlhLXByZXNzZWQ9InRydWUiXScpOyBpZihiKSBhZ3VsaGFWaWRhKGIpO30pOwogIGRvY3VtZW50LmZvbnRzJiZkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgpPT57Y29uc3QgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub2Nhc2lhb1thcmlhLXByZXNzZWQ9InRydWUiXScpOyBpZihiKSBhZ3VsaGFWaWRhKGIpO30pOwogIG1vbnRhKCdhbml2ZXJzYXJpbycpOwp9KSgpOwo=\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIEx1eiB2aXZhOiBub3MgNTAgYW5vcyBlIG5vIHPDqWN1bG8gYSBsdXogw6kgYSBkbyBzb2wgc29icmUgbyBWYWxlIGRvIERvdXJvLCBhZ29yYS4KICAgQW8gY2hlZ2FyLCBhIHNvbWJyYSBwYXJ0ZSBkYSBwb3Npw6fDo28gZml4YSBkYXMgb3V0cmFzIGdhcnJhZmFzIChhcyBkZXogZGEgbWFuaMOjKSBlIHZhaSBhdMOpIMOgIHZlcmRhZGVpcmEuICovCihmdW5jdGlvbigpewogIGNvbnN0IExBVD00MS4xODk5LCBMT049LTcuODE1MCwgUz0xMDAwOwogIGNvbnN0IHJlZHV6PW1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICBjb25zdCByYWQ9TWF0aC5QSS8xODAsIGRheU1zPTg2NDAwMDAwLCBKMTk3MD0yNDQwNTg4LCBKMjAwMD0yNDUxNTQ1OwogIGZ1bmN0aW9uIHNvbChkYXRlKXsKICAgIGNvbnN0IGQ9ZGF0ZS52YWx1ZU9mKCkvZGF5TXMtMC41K0oxOTcwLUoyMDAwOwogICAgY29uc3QgTT1yYWQqKDM1Ny41MjkxKzAuOTg1NjAwMjgqZCk7CiAgICBjb25zdCBDPXJhZCooMS45MTQ4Kk1hdGguc2luKE0pKzAuMDIqTWF0aC5zaW4oMipNKSswLjAwMDMqTWF0aC5zaW4oMypNKSk7CiAgICBjb25zdCBMPU0rQytyYWQqMTAyLjkzNzIrTWF0aC5QSSwgZT1yYWQqMjMuNDM5NzsKICAgIGNvbnN0IGRlYz1NYXRoLmFzaW4oTWF0aC5zaW4oZSkqTWF0aC5zaW4oTCkpOwogICAgY29uc3QgcmE9TWF0aC5hdGFuMihNYXRoLnNpbihMKSpNYXRoLmNvcyhlKSxNYXRoLmNvcyhMKSk7CiAgICBjb25zdCBIPXJhZCooMjgwLjE2KzM2MC45ODU2MjM1KmQpLXJhZCooLUxPTiktcmEsIHBoaT1yYWQqTEFUOwogICAgY29uc3QgYWx0PU1hdGguYXNpbihNYXRoLnNpbihwaGkpKk1hdGguc2luKGRlYykrTWF0aC5jb3MocGhpKSpNYXRoLmNvcyhkZWMpKk1hdGguY29zKEgpKTsKICAgIGNvbnN0IGF6PU1hdGguYXRhbjIoTWF0aC5zaW4oSCksTWF0aC5jb3MoSCkqTWF0aC5zaW4ocGhpKS1NYXRoLnRhbihkZWMpKk1hdGguY29zKHBoaSkpK01hdGguUEk7CiAgICByZXR1cm4ge2FsdDphbHQvcmFkLCBhen07CiAgfQogIGNvbnN0IGZtdD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tR0InLHt0aW1lWm9uZTonRXVyb3BlL0xpc2JvbicseWVhcjonbnVtZXJpYycsbW9udGg6JzItZGlnaXQnLGRheTonMi1kaWdpdCcsaG91cjonMi1kaWdpdCcsbWludXRlOicyLWRpZ2l0Jyxob3VyQ3ljbGU6J2gyMyd9KTsKICBmdW5jdGlvbiBwYXJ0ZXMoZHQpe2NvbnN0IG89e307Zm10LmZvcm1hdFRvUGFydHMoZHQpLmZvckVhY2gocD0+b1twLnR5cGVdPXAudmFsdWUpO3JldHVybiBvO30KICBmdW5jdGlvbiBkZXN2aW8oZHQpe2NvbnN0IHA9cGFydGVzKGR0KTtyZXR1cm4gKERhdGUuVVRDKCtwLnllYXIsK3AubW9udGgtMSwrcC5kYXksK3AuaG91ciwrcC5taW51dGUpLU1hdGguZmxvb3IoZHQudmFsdWVPZigpLzYwMDAwKSo2MDAwMCkvNjAwMDA7fQogIGNvbnN0IGhvamU9cGFydGVzKG5ldyBEYXRlKCkpOwogIGZ1bmN0aW9uIGluc3RhbnRlKG1pbil7Y29uc3QgZz1EYXRlLlVUQygraG9qZS55ZWFyLCtob2plLm1vbnRoLTEsK2hvamUuZGF5LDAsbWluKTtsZXQgdD1uZXcgRGF0ZShnLWRlc3ZpbyhuZXcgRGF0ZShnKSkqNjAwMDApO3JldHVybiBuZXcgRGF0ZShnLWRlc3Zpbyh0KSo2MDAwMCk7fQogIGZ1bmN0aW9uIG1pbnV0b0Fnb3JhKCl7Y29uc3QgcD1wYXJ0ZXMobmV3IERhdGUoKSk7cmV0dXJuICgrcC5ob3VyKSo2MCsoK3AubWludXRlKTt9CiAgY29uc3QgaGhtbT1tPT5TdHJpbmcoTWF0aC5mbG9vcihtLzYwKSUyNCkucGFkU3RhcnQoMiwnMCcpKyc6JytTdHJpbmcoTWF0aC5mbG9vcihtJTYwKSkucGFkU3RhcnQoMiwnMCcpOwogIGxldCBuYXNjZT00MjAsIHBvZT0xMDgwOwogIGZvcihsZXQgbT0xO208MTQ0MDttKyspe2NvbnN0IGE9c29sKGluc3RhbnRlKG0pKS5hbHQsYj1zb2woaW5zdGFudGUobS0xKSkuYWx0O2lmKGI8LTAuODMzJiZhPj0tMC44MzMpbmFzY2U9bTtpZihiPj0tMC44MzMmJmE8LTAuODMzKXBvZT1tO30KCiAgY29uc3QgbWlzdHVyYT0oYSxiLHQpPT5hLm1hcCgodixpKT0+disoYltpXS12KSp0KTsKICBmdW5jdGlvbiBsdXooYWx0KXsKICAgIGNvbnN0IFA9W1stOCxbODAsMTAwLDE1MF0sMC4xNl0sWy0zLFsxMTAsMTEwLDE2MF0sMC4xOF0sWzAsWzI1NSwxMjAsNjBdLDAuMzVdLFs2LFsyNTUsMTYwLDgwXSwwLjc1XSxbMTUsWzI1NSwxOTgsMTMwXSwwLjk1XSxbMzAsWzI1NSwyMzAsMTkwXSwxLjBdLFs2MCxbMjU1LDI0NSwyMzJdLDEuMF1dOwogICAgaWYoYWx0PD1QWzBdWzBdKSByZXR1cm4ge2NvcjpQWzBdWzFdLGk6UFswXVsyXX07CiAgICBmb3IobGV0IGs9MTtrPFAubGVuZ3RoO2srKykgaWYoYWx0PD1QW2tdWzBdKXtjb25zdCB0PShhbHQtUFtrLTFdWzBdKS8oUFtrXVswXS1QW2stMV1bMF0pO3JldHVybiB7Y29yOm1pc3R1cmEoUFtrLTFdWzFdLFBba11bMV0sdCksaTpQW2stMV1bMl0rKFBba11bMl0tUFtrLTFdWzJdKSp0fTt9CiAgICByZXR1cm4ge2NvcjpQW1AubGVuZ3RoLTFdWzFdLGk6MX07CiAgfQogIC8vIGVzdGFkbyBkYSBsdXogcGFyYSB1bSBtaW51dG86IHZlY3RvciBkYSBzb21icmEsIGNvciwgaW50ZW5zaWRhZGUKICBmdW5jdGlvbiBlc3RhZG8obWluKXsKICAgIGNvbnN0IHthbHQsYXp9PXNvbChpbnN0YW50ZShtaW4pKTsgY29uc3QgTD1sdXooYWx0KTsKICAgIGNvbnN0IG5vaXRlPWFsdDwtNiwgZWxldj1NYXRoLm1heChhbHQsMik7CiAgICBjb25zdCBjb21wPW5vaXRlPzEuMTpNYXRoLm1pbigzLjYsMS9NYXRoLnRhbihlbGV2KnJhZCkpOwogICAgY29uc3QgYXp2PW5vaXRlP01hdGguUEkqMS4yNTpheiwgbGVuPVMqMC4wNzUqY29tcDsKICAgIHJldHVybiB7dng6LU1hdGguc2luKGF6dikqbGVuLCB2eTpNYXRoLmNvcyhhenYpKmxlbiwgY29tcCwgY29yOkwuY29yLCBJOkwuaSwgbm9pdGUsIGFsdH07CiAgfQogIC8vIGEgcG9zacOnw6NvIGZpeGEgZGFzIG91dHJhcyBnYXJyYWZhczogc29sIGRlIGNpbWEgw6AgZXNxdWVyZGEsIHNvbWJyYSBwYXJhIGJhaXhvIMOgIGRpcmVpdGEKICBjb25zdCBmaXhvPXt2eDpTKjAuMTAsIHZ5OlMqMC4wNzUsIGNvbXA6MS40LCBjb3I6WzI1NSwyMjYsMTgwXSwgSTowLjk1LCBub2l0ZTpmYWxzZSwgYWx0OjM1fTsKICBjb25zdCBsaWdhPShhLGIsdCk9Pih7dng6YS52eCsoYi52eC1hLnZ4KSp0LCB2eTphLnZ5KyhiLnZ5LWEudnkpKnQsIGNvbXA6YS5jb21wKyhiLmNvbXAtYS5jb21wKSp0LCBjb3I6bWlzdHVyYShhLmNvcixiLmNvcix0KSwgSTphLkkrKGIuSS1hLkkpKnQsIG5vaXRlOnQ8MC41P2Eubm9pdGU6Yi5ub2l0ZSwgYWx0OmIuYWx0fSk7CgogIC8qIGEgcmFtYWRhOiBmb2xoYXMgZGUgdmlkZWlyYSwgdW1hIHPDsyB2ZXogcGFyYSBhcyBkdWFzIGdhcnJhZmFzICovCiAgY29uc3QgcmFtYWRhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyByYW1hZGEud2lkdGg9UyoyOyByYW1hZGEuaGVpZ2h0PVMqMjsKICAoZnVuY3Rpb24oKXsKICAgIGNvbnN0IHI9cmFtYWRhLmdldENvbnRleHQoJzJkJyk7IGlmKCdmaWx0ZXInIGluIHIpIHIuZmlsdGVyPSdibHVyKDdweCknOwogICAgY29uc3QgdG1wPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyB0bXAud2lkdGg9UyoyOyB0bXAuaGVpZ2h0PVMqMjsgY29uc3QgeD10bXAuZ2V0Q29udGV4dCgnMmQnKTsKICAgIGxldCBzZD03OyBjb25zdCBybmQ9KCk9PntzZD0oc2QqMTY4MDcpJTIxNDc0ODM2NDc7cmV0dXJuIHNkLzIxNDc0ODM2NDc7fTsKICAgIGZ1bmN0aW9uIGZvbGhhKGN4LGN5LHQsYW5nKXt4LnNhdmUoKTt4LnRyYW5zbGF0ZShjeCxjeSk7eC5yb3RhdGUoYW5nKTt4LmJlZ2luUGF0aCgpOwogICAgICBmb3IobGV0IGk9MDtpPD0yMDA7aSsrKXtjb25zdCB0aD1pLzIwMCpNYXRoLlBJKjI7bGV0IHJyPTErMC4yKk1hdGguY29zKDUqdGgrTWF0aC5QSS8yKSswLjAzNSpNYXRoLmNvcygxOSp0aCk7Y29uc3QgYng9TWF0aC5jb3ModGgtTWF0aC5QSS8yKTtpZihieD4wLjgyKXJyKj0xLShieC0wLjgyKSozLjI7Y29uc3QgcHg9TWF0aC5jb3ModGgpKnJyKnQscHk9TWF0aC5zaW4odGgpKnJyKnQ7aT94LmxpbmVUbyhweCxweSk6eC5tb3ZlVG8ocHgscHkpO30KICAgICAgeC5jbG9zZVBhdGgoKTt4LmZpbGwoKTt4LmxpbmVXaWR0aD10KjAuMDg7eC5iZWdpblBhdGgoKTt4Lm1vdmVUbygwLHQqMC4yKTt4LmxpbmVUbygwLHQqMS41KTt4LnN0cm9rZSgpO3gucmVzdG9yZSgpO30KICAgIHguZmlsbFN0eWxlPScjMDAwJzt4LnN0cm9rZVN0eWxlPScjMDAwJzsKICAgIHgubGluZVdpZHRoPTY7eC5iZWdpblBhdGgoKTt4Lm1vdmVUbygwLFMqMC41Mik7eC5iZXppZXJDdXJ2ZVRvKFMqMC43LFMqMC40MixTKjEuMyxTKjAuNjIsUyoyLFMqMC41KTt4LnN0cm9rZSgpOwogICAgeC5saW5lV2lkdGg9NDt4LmJlZ2luUGF0aCgpO3gubW92ZVRvKFMqMC4yLDApO3guYmV6aWVyQ3VydmVUbyhTKjAuNSxTKjAuNixTKjAuOSxTKjAuOSxTKjEuNCxTKjIpO3guc3Ryb2tlKCk7CiAgICBbWzAuNDUsMC40Ml0sWzAuNjIsMC41XSxbMC40MiwwLjY4XSxbMS42MiwxLjVdLFsxLjQ1LDEuNjJdLFsxLjcsMS4zXV0uZm9yRWFjaCgoW2N4LGN5XSk9Pntjb25zdCBuPTMrTWF0aC5mbG9vcihybmQoKSozKTtmb3IobGV0IGs9MDtrPG47aysrKWZvbGhhKFMqKGN4KyhybmQoKS0wLjUpKjAuMjgpLFMqKGN5KyhybmQoKS0wLjUpKjAuMjIpLFMqKDAuMDcrcm5kKCkqMC4wMzUpLChybmQoKS0wLjUpKjEuMitNYXRoLlBJKTt9KTsKICAgIHIuZHJhd0ltYWdlKHRtcCwwLDApOwogIH0pKCk7CgogIGNvbnN0IGhleD1oPT5bMSwzLDVdLm1hcChpPT5wYXJzZUludChoLnNsaWNlKGksaSsyKSwxNikpOwoKICBmdW5jdGlvbiBHYXJyYWZhKGZpZyl7CiAgICBjb25zdCBjdj1maWcucXVlcnlTZWxlY3RvcignY2FudmFzJyksIGN0eD1jdi5nZXRDb250ZXh0KCcyZCcpLCB0ZW1GaWx0cm89J2ZpbHRlcicgaW4gY3R4OwogICAgY29uc3QgZnVuZG89aGV4KGZpZy5kYXRhc2V0LmZ1bmRvKSwgYmFzZT1mdW5kby5tYXAodj0+diowLjc4fDApOwogICAgY29uc3QgaW1nPW5ldyBJbWFnZSgpOwogICAgY29uc3QgY2FtYWRhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO2NhbWFkYS53aWR0aD1TO2NhbWFkYS5oZWlnaHQ9Uztjb25zdCBsYz1jYW1hZGEuZ2V0Q29udGV4dCgnMmQnKTsKICAgIGNvbnN0IGdjYW49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyksIGdjPWdjYW4uZ2V0Q29udGV4dCgnMmQnKTsKICAgIGxldCBtYXNjLHZpbmhvLGd3LGdoLCBwcm9udG89ZmFsc2U7CiAgICBjb25zdCBsZWc9ZmlnLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmx1ei1hZ29yYSBzcGFuJyksIGJ0PWZpZy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5sdXotYWdvcmEgYnV0dG9uJyk7CiAgICBsZXQgbW9kbz0nY2hlZ2FkYScsIHQwPTAsIHZpc2l2ZWw9ZmFsc2UsIHVsdGltbz0nJzsKICAgIGNvbnN0IGltZ1Y9bmV3IEltYWdlKCk7IGxldCBjYXJyZWdhZGFzPTA7IGNvbnN0IHRvdGFsPWZpZy5kYXRhc2V0LnZpbmhvPzI6MTsKICAgIGlmKGZpZy5kYXRhc2V0LnZpbmhvKXtpbWdWLm9ubG9hZD0oKT0+e2lmKCsrY2FycmVnYWRhcz09PXRvdGFsKXByZXBhcmEoKTt9O2ltZ1Yuc3JjPWZpZy5kYXRhc2V0LnZpbmhvO30KICAgIGltZy5vbmxvYWQ9KCk9PntpZigrK2NhcnJlZ2FkYXM9PT10b3RhbClwcmVwYXJhKCk7fTsKICAgIGZ1bmN0aW9uIHByZXBhcmEoKXsKICAgICAgZ2g9TWF0aC5yb3VuZChTKjAuNjIpOyBndz1NYXRoLnJvdW5kKGltZy53aWR0aCpnaC9pbWcuaGVpZ2h0KTsKICAgICAgY29uc3QgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtjLndpZHRoPWd3O2MuaGVpZ2h0PWdoO2NvbnN0IHg9Yy5nZXRDb250ZXh0KCcyZCcpO3guZHJhd0ltYWdlKGltZywwLDAsZ3csZ2gpOwogICAgICBjb25zdCBwPXguZ2V0SW1hZ2VEYXRhKDAsMCxndyxnaCkuZGF0YTsKICAgICAgbGV0IHB2PW51bGw7CiAgICAgIGlmKHRvdGFsPT09Mil7Y29uc3QgY3YyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO2N2Mi53aWR0aD1ndztjdjIuaGVpZ2h0PWdoO2NvbnN0IHgyPWN2Mi5nZXRDb250ZXh0KCcyZCcpO3gyLmRyYXdJbWFnZShpbWdWLDAsMCxndyxnaCk7cHY9eDIuZ2V0SW1hZ2VEYXRhKDAsMCxndyxnaCkuZGF0YTt9CiAgICAgIG1hc2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7bWFzYy53aWR0aD1ndzttYXNjLmhlaWdodD1naDtjb25zdCBteD1tYXNjLmdldENvbnRleHQoJzJkJyksbWQ9bXguY3JlYXRlSW1hZ2VEYXRhKGd3LGdoKTsKICAgICAgdmluaG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7dmluaG8ud2lkdGg9Z3c7dmluaG8uaGVpZ2h0PWdoO2NvbnN0IHZ4PXZpbmhvLmdldENvbnRleHQoJzJkJyksdmQ9dnguY3JlYXRlSW1hZ2VEYXRhKGd3LGdoKTsKICAgICAgZm9yKGxldCBpPTA7aTxwLmxlbmd0aDtpKz00KXttZC5kYXRhW2krM109cFtpKzNdOwogICAgICAgIGNvbnN0IHI9cFtpXSxnPXBbaSsxXSxiPXBbaSsyXSxNPU1hdGgubWF4KHIsZyxiKSxtPU1hdGgubWluKHIsZyxiKSxzYXQ9KE0tbSkvKE0rMSk7CiAgICAgICAgY29uc3Qgdz0oIXB2fHxwdltpKzNdPjIwMCkmJnBbaSszXT4yMDAmJnNhdD4wLjQmJk0+MzAmJiEocj4yMDAmJmc+MjAwKT9NYXRoLm1pbigxLChzYXQtMC40KSozKSpNYXRoLm1pbigxLChNLTMwKS82MCk6MDsKICAgICAgICB2ZC5kYXRhW2ldPTI1NTt2ZC5kYXRhW2krMV09MTUwO3ZkLmRhdGFbaSsyXT01NTt2ZC5kYXRhW2krM109TWF0aC5yb3VuZCh3KjI1NSk7fQogICAgICBteC5wdXRJbWFnZURhdGEobWQsMCwwKTt2eC5wdXRJbWFnZURhdGEodmQsMCwwKTtnY2FuLndpZHRoPWd3O2djYW4uaGVpZ2h0PWdoOwogICAgICBwcm9udG89dHJ1ZTsgZGVzZW5oYShmaXhvLHBlcmZvcm1hbmNlLm5vdygpKTsgZmlnLmNsYXNzTGlzdC5hZGQoJ3Byb250bycpOwogICAgfQogICAgaW1nLnNyYz1maWcuZGF0YXNldC5nYXJyYWZhOwogICAgZnVuY3Rpb24gZGVzZW5oYShFLGFnb3JhKXsKICAgICAgY29uc3QgYnJpc2E9cmVkdXo\/MDpNYXRoLnNpbihhZ29yYS8xNzAwKSo2K01hdGguc2luKGFnb3JhLzczMCkqMi41OwogICAgICBjb25zdCB7dngsdnksY29tcCxjb3IsSSxub2l0ZX09RSwgYng9UyowLjUsIGJ5PVMqMC44MCwgYW5nPU1hdGguYXRhbjIodnksdngpOwogICAgICBjb25zdCBjPS0wLjc1KnZ4L2doLCBkPTEtMC43NSp2eS9naDsKICAgICAgY3R4LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7Y3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInO2N0eC5maWx0ZXI9J25vbmUnO2N0eC5nbG9iYWxBbHBoYT0xOwogICAgICBjdHguZmlsbFN0eWxlPWByZ2IoJHtiYXNlfSlgO2N0eC5maWxsUmVjdCgwLDAsUyxTKTsKICAgICAgbGMuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtsYy5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249J3NvdXJjZS1vdmVyJztsYy5maWx0ZXI9J25vbmUnO2xjLmdsb2JhbEFscGhhPTE7bGMuY2xlYXJSZWN0KDAsMCxTLFMpOwogICAgICBjb25zdCBrPTAuNSpJOwogICAgICBsYy5zYXZlKCk7bGMudHJhbnNsYXRlKGJ4LGJ5LWdoKjAuNSk7bGMucm90YXRlKGFuZyk7aWYodGVtRmlsdHJvKWxjLmZpbHRlcj0nYmx1cig1cHgpJzsKICAgICAgbGMuZmlsbFN0eWxlPWByZ2IoJHtjb3JbMF0qa3wwfSwke2NvclsxXSprfDB9LCR7Y29yWzJdKmt8MH0pYDtjb25zdCBsYXJnPVMqKDAuNTQrMC4wNCpNYXRoLm1pbihjb21wLDMpKTtsYy5maWxsUmVjdCgtUyoxLjUsLWxhcmcvMixTKjMsbGFyZyk7bGMucmVzdG9yZSgpO2xjLmZpbHRlcj0nbm9uZSc7CiAgICAgIGxjLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nZGVzdGluYXRpb24tb3V0JztsYy5nbG9iYWxBbHBoYT0wLjc7CiAgICAgIGNvbnN0IG94PU1hdGgubWF4KC1TKjAuNCxNYXRoLm1pbihTKjAuNCx2eCoxLjYpKSticmlzYSwgb3k9TWF0aC5tYXgoLVMqMC40LE1hdGgubWluKFMqMC40LHZ5KjEuNikpK2JyaXNhKjAuNDsKICAgICAgbGMuZHJhd0ltYWdlKHJhbWFkYSwtUyowLjUrb3gsLVMqMC41K295KTsKICAgICAgbGMuZ2xvYmFsQWxwaGE9MC45NDtpZih0ZW1GaWx0cm8pbGMuZmlsdGVyPWBibHVyKCR7KDEuNStjb21wKjEuNCkudG9GaXhlZCgxKX1weClgOwogICAgICBsYy5zZXRUcmFuc2Zvcm0oMSwwLGMsZCxieCt2eCowLjI1LGJ5K3Z5KjAuMjUpO2xjLmRyYXdJbWFnZShtYXNjLC1ndy8yLC1naCxndyxnaCk7CiAgICAgIGxjLnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCk7bGMuZmlsdGVyPSdub25lJztsYy5nbG9iYWxBbHBoYT0xO2xjLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInOwogICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPSdsaWdodGVyJztjdHguZHJhd0ltYWdlKGNhbWFkYSwwLDApOwogICAgICBpZighbm9pdGUpe2N0eC5zYXZlKCk7aWYodGVtRmlsdHJvKWN0eC5maWx0ZXI9YGJsdXIoJHsoOCtjb21wKjMpLnRvRml4ZWQoMSl9cHgpYDsKICAgICAgICBjdHguc2V0VHJhbnNmb3JtKDEsMCxjLGQsYngrdngqMC4yNSxieSt2eSowLjI1KTsKICAgICAgICBjdHguZ2xvYmFsQWxwaGE9TWF0aC5taW4oMSxJKjEuMSk7Y3R4LmRyYXdJbWFnZSh2aW5obywtZ3cvMiwtZ2gsZ3csZ2gpOwogICAgICAgIGN0eC5nbG9iYWxBbHBoYT1NYXRoLm1pbigwLjYsSSowLjcpO2N0eC5kcmF3SW1hZ2UodmluaG8sLWd3LzIsLWdoLGd3LGdoKTtjdHgucmVzdG9yZSgpO30KICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInOwogICAgICBnYy5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApO2djLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbj0nc291cmNlLW92ZXInO2djLmNsZWFyUmVjdCgwLDAsZ3csZ2gpO2djLmRyYXdJbWFnZShpbWcsMCwwLGd3LGdoKTsKICAgICAgZ2MuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uPSdzb3VyY2UtYXRvcCc7CiAgICAgIGNvbnN0IGc9Z2MuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLGd3LDApLCBjbGFybz1gcmdiYSgke2NvclswXXwwfSwke2NvclsxXXwwfSwke2NvclsyXXwwfSwkezAuMTYqSX0pYCwgZXNjPWByZ2JhKDAsMCwwLCR7MC4xMiswLjIyKigxLUkpfSlgOwogICAgICBpZigtdng+MCl7Zy5hZGRDb2xvclN0b3AoMCxlc2MpO2cuYWRkQ29sb3JTdG9wKDAuNTUsJ3JnYmEoMCwwLDAsMCknKTtnLmFkZENvbG9yU3RvcCgxLGNsYXJvKTt9ZWxzZXtnLmFkZENvbG9yU3RvcCgwLGNsYXJvKTtnLmFkZENvbG9yU3RvcCgwLjQ1LCdyZ2JhKDAsMCwwLDApJyk7Zy5hZGRDb2xvclN0b3AoMSxlc2MpO30KICAgICAgZ2MuZmlsbFN0eWxlPWc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTsKICAgICAgaWYobm9pdGUpe2djLmZpbGxTdHlsZT0ncmdiYSgyMCwzMCw2MCwwLjI1KSc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTt9CiAgICAgIGN0eC5kcmF3SW1hZ2UoZ2NhbixieC1ndy8yLGJ5LWdoLGd3LGdoKTsKICAgIH0KICAgIGZ1bmN0aW9uIGxlZ2VuZGEobWluLEUpewogICAgICBjb25zdCB0PShFLmFsdD4tNj8nTGljaHQgZGVzIERvdXJvJzonTW9uZGxpY2h0IGFtIERvdXJvJykrKG1vZG89PT0nZGlhJz8nLCB1bSAnOicsIGpldHp0IMK3ICcpK2hobW0obWluKTsKICAgICAgaWYodCE9PXVsdGltbyl7bGVnLnRleHRDb250ZW50PXQ7dWx0aW1vPXQ7fQogICAgfQogICAgZnVuY3Rpb24gcGFzc28oYWdvcmEpewogICAgICBpZighcHJvbnRvfHwhdmlzaXZlbCkgcmV0dXJuOwogICAgICBsZXQgbWluPW1pbnV0b0Fnb3JhKCksIEU7CiAgICAgIGlmKG1vZG89PT0nY2hlZ2FkYScpewogICAgICAgIGNvbnN0IHQ9TWF0aC5taW4oMSwoYWdvcmEtdDApLzI2MDApLCBlPXQ8MC41PzIqdCp0OjEtTWF0aC5wb3coLTIqdCsyLDIpLzI7CiAgICAgICAgRT1saWdhKGZpeG8sZXN0YWRvKG1pbikscmVkdXo\/MTplKTsgaWYodD49MSkgbW9kbz0nYWdvcmEnOwogICAgICB9IGVsc2UgaWYobW9kbz09PSdkaWEnKXsKICAgICAgICBjb25zdCBkdXI9MjIwMDAsIGluaT1NYXRoLm1heCgwLG5hc2NlLTUwKSwgZmltPU1hdGgubWluKDE0MzkscG9lKzcwKTsKICAgICAgICBtaW49aW5pKyhmaW0taW5pKSooKChhZ29yYS10MCklZHVyKS9kdXIpOyBFPWVzdGFkbyhtaW4pOwogICAgICB9IGVsc2UgRT1lc3RhZG8obWluKTsKICAgICAgZGVzZW5oYShFLGFnb3JhKTsgbGVnZW5kYShtaW4sRSk7CiAgICB9CiAgICBidC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgICAgaWYobW9kbz09PSdkaWEnKXttb2RvPSdhZ29yYSc7YnQudGV4dENvbnRlbnQ9J0RlbiBUYWcgdmVyZ2VoZW4gc2VoZW4nO2J0LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywnZmFsc2UnKTt9CiAgICAgIGVsc2V7bW9kbz0nZGlhJzt0MD1wZXJmb3JtYW5jZS5ub3coKTtidC50ZXh0Q29udGVudD0nWnVyw7xjayB6dSBqZXR6dCc7YnQuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCd0cnVlJyk7fQogICAgfSk7CiAgICBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZXM9PmVzLmZvckVhY2goZW49PnsKICAgICAgY29uc3QgYW50ZXM9dmlzaXZlbDsgdmlzaXZlbD1lbi5pc0ludGVyc2VjdGluZzsKICAgICAgaWYodmlzaXZlbCYmIWFudGVzJiZtb2RvPT09J2NoZWdhZGEnKSB0MD1wZXJmb3JtYW5jZS5ub3coKTsKICAgIH0pLHt0aHJlc2hvbGQ6MC4zNX0pLm9ic2VydmUoZmlnKTsKICAgIHJldHVybiBwYXNzbzsKICB9CiAgY29uc3QgdG9kb3M9Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2ZpZ3VyZS52aXZvJyldLm1hcChHYXJyYWZhKTsKICAoZnVuY3Rpb24gY2ljbG8odCl7dG9kb3MuZm9yRWFjaChmPT5mKHQpKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2ljbG8pO30pKHBlcmZvcm1hbmNlLm5vdygpKTsKfSkoKTsK\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIEZpY2hhcyB0w6ljbmljYXM6IGRhZG9zIHRpcmFkb3MgZGFzIGZpY2hhcyBlIGRhcyBkZXNjcmnDp8O1ZXMgZGUgbW9ydmFsbGV5LmNvbSAqLwooZnVuY3Rpb24oKXsKICBjb25zdCBQREY9J2h0dHBzOi8vbW9ydmFsbGV5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvJzsKICBjb25zdCBGPXsKICAgICd2ZS10aW50byc6e25vbWU6J1ZhbGUgZGUgRXNjYWRhcyBSZXNlcnZhJyx0aXBvOidSb3QgwrcgRG91cm8sIFVudGVycmVnaW9uIEJhaXhvIENvcmdvJyxjYXN0YXM6J1RvdXJpZ2EgRnJhbmNhLCBUaW50YSBSb3JpeiwgVGludGEgQmFycm9jYScsCiAgICAgIHByb3ZhOidPcGFrZXMgUnViaW5yb3QsIGludGVuc2l2ZSB1bmQga29tcGxleGUgTmFzZSBtaXQgcmVpZmVuIHJvdGVuIEZyw7xjaHRlbiB1bmQgd8O8cnppZ2VuIE5vdGVuLiBBbSBHYXVtZW4gd2VpY2ggdW5kIGRpY2h0LCBtaXQgcmVpZmVuIFRhbm5pbmVuIHVuZCBndXQgZWluZ2VidW5kZW5lbSBIb2x6LiBEaWUgYXVzZ2V3b2dlbmUgU8OkdXJlIHVuZCBkaWUgRnJ1Y2h0IG1hY2hlbiBpaG4gZWxlZ2FudCwgbGFuZyB1bmQgYW5nZW5laG0uJywKICAgICAgc2VydmlyOicxNiBhIDE4IMK6QycsZGFkb3M6W1snSmFocmdhbmcnLCcyMDIxJ10sWydIZXJrdW5mdCcsJ0jDtmhlbmxhZ2VuIGRlcyBEb3VybyddLFsnQXVmbWFjaHVuZycsJ0tpc3RlIG1pdCA2IEZsYXNjaGVuIHp1IDc1IGNsJ11dfSwKICAgICd2ZS1icmFuY28nOntub21lOidWYWxlIGRlIEVzY2FkYXMgUmVzZXJ2YScsdGlwbzonV2Vpw58gwrcgRG91cm8sIFVudGVycmVnaW9uIEJhaXhvIENvcmdvJyxjYXN0YXM6J01hbHZhc2lhIEZpbmEsIEPDs2RlZ2EsIFJhYmlnYXRvJywKICAgICAgcHJvdmE6J0xldWNodGVuZGVzIFppdHJvbmVuZ2VsYi4gRmVpbmUsIGZyaXNjaGUgTmFzZSBtaXQgWml0cnVzbm90ZW4gdW5kIGVpbmVtIEhhdWNoIE1hbmRhcmluZS4gRWxlZ2FudCB1bmQgd2VpY2ggYW0gR2F1bWVuLCBkaWUgU8OkdXJlIGltIEdsZWljaGdld2ljaHQgendpc2NoZW4gU3RydWt0dXIgdW5kIG1pbmVyYWxpc2NoZXIgRnJpc2NoZS4gTGFuZ2VyLCBsZWJlbmRpZ2VyIEFiZ2FuZy4nLAogICAgICBzZXJ2aXI6JzggYSAxMCDCukMnLAogICAgICBkYWRvczpbWydKYWhyZ2FuZycsJzIwMjInXSxbJ0Fsa29ob2wnLCcxMiw1ICUnXSxbJ0hlcmt1bmZ0JywnSMO2aGVubGFnZW4gZGVzIERvdXJvJ10sWydGbGFzY2hlJywnQnVyZ3VuZGVyZmxhc2NoZSwgNzUgY2wnXSxbJ0F1Zm1hY2h1bmcnLCdLaXN0ZSBtaXQgNiBGbGFzY2hlbiB6dSA3NSBjbCddXX0sCiAgICAncmVzLWJyYW5jbyc6e25vbWU6J01vclZhbGxleSBSZXNlcnZhJyx0aXBvOidXZWnDnyDCtyBEb3VybyDCtyAyMDIyJyxjYXN0YXM6J0PDs2RlZ2EsIENlcmNlYWwsIFZpb3NpbmhvLCBSYWJpZ2F0bycsCiAgICAgIHByb3ZhOidaaXRyb25lbmdlbGIuIEZsb3JhbGUgTmFzZSBtaXQgTm90ZW4gdm9uIEhvbHosIFZhbmlsbGUgdW5kIHdlacOfZW4gRnLDvGNodGVuLiBBbSBHYXVtZW4gYXVzZ2V3b2dlbiwgbGVpY2h0IHPDvMOfIHVuZCBzZWhyIGtvbXBsZXgsIG1pdCBmcmlzY2hlbSB1bmQgYW5oYWx0ZW5kZW0gQWJnYW5nLicsCiAgICAgIHNlcnZpcjonMTAgYSAxMiDCukMnLGd1YXJkYXI6J0xpZWdlbmQsIGxpY2h0Z2VzY2jDvHR6dCwgYmVpIGtvbnN0YW50ZXIgdW5kIGdlbcOkw59pZ3RlciBUZW1wZXJhdHVyLicsCiAgICAgIGRhZG9zOltbJ0phaHJnYW5nJywnMjAyMiddLFsnQWxrb2hvbCcsJzEzICUnXSxbJ0dlc2FtdHPDpHVyZScsJzUsOCBnL2RtwrMnXSxbJ0dlc2FtdHp1Y2tlcicsJzwgMiw0IGcvZG3CsyddLFsncEgnLCczLDMyJ10sWydGbGFzY2hlJywnQnVyZ3VuZGVyZmxhc2NoZSwgNzUgY2wnXV0sCiAgICAgIHBkZjonMjAyMy8xMC9mdC1tb3J2YWxsZXktcmVzZXJ2YV9icmFuY28ucGRmJ30sCiAgICAncmVzLXRpbnRvJzp7bm9tZTonTW9yVmFsbGV5IFJlc2VydmEnLHRpcG86J1JvdCDCtyBEb3VybyDCtyAyMDIyJyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgcHJvdmE6J09wYWtlcyBSdWJpbnJvdCwgaW50ZW5zaXZlIHVuZCBrb21wbGV4ZSBOYXNlIG1pdCByZWlmZW4gcm90ZW4gRnLDvGNodGVuIHVuZCB3w7xyemlnZW4gTm90ZW4uIEFtIEdhdW1lbiBpbnRlbnNpdiwgd2VpY2ggdW5kIGRpY2h0LCBtaXQgaG9jaHdlcnRpZ2VuIFRhbm5pbmVuIHVuZCBndXQgZWluZ2VidW5kZW5lbSBIb2x6LiBFbGVnYW50LCBsYW5nIHVuZCBhbmdlbmVobS4nLAogICAgICBzZXJ2aXI6JzE2IGEgMTggwrpDJyxtZXNhOidSb3RlcyBGbGVpc2NoLCBXaWxkLCBCcmF0ZW4gdW5kIFNjaG1vcmdlcmljaHRlLicsCiAgICAgIGRhZG9zOltbJ0phaHJnYW5nJywnMjAyMiddLFsnQWxrb2hvbCcsJzEzLDUgJSddLFsnR2VzYW10c8OkdXJlJywnNCw4IGcvZG3CsyddLFsnR2VzYW10enVja2VyJywnPCAwLDcgZy9kbcKzJ10sWydwSCcsJzMsNzAnXSxbJ0xhZ2VycG90ZW56aWFsJywnw5xiZXIgNSBKYWhyZSddLFsnRmxhc2NoZScsJ0J1cmd1bmRlcmZsYXNjaGUsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LXJlc2VydmFfdGludG8ucGRmJ30sCiAgICAndG91cmlnYSc6e25vbWU6J01vclZhbGxleSBUb3VyaWdhIE5hY2lvbmFsJyx0aXBvOidSb3QgwrcgRG91cm8gwrcgcmVic29ydGVucmVpbicsY2FzdGFzOidUb3VyaWdhIE5hY2lvbmFsJywKICAgICAgcHJvdmE6J0xlYmhhZnRlcywgb3Bha2VzIFJ1Ymlucm90LiBJbnRlbnNpdmUgdW5kIGtvbXBsZXhlIE5hc2UgbWl0IHJlaWZlciBCcm9tYmVlcmUgdW5kIFBmbGF1bWUsIGZsb3JhbGVuIE5vdGVuLCBNaW56ZSB1bmQgU2Nob2tvbGFkZS4gQW0gR2F1bWVuIGludGVuc2l2LCBkaWNodCB1bmQgd2VpY2gsIG1pdCBydW5kZW4sIGZyaXNjaGVuIFRhbm5pbmVuLiBFbGVnYW50LCBzY2htZWx6aWcgdW5kIGxhbmcuJywKICAgICAgZGFkb3M6W1snQWxrb2hvbCcsJzE0LDUgJSddLFsnR2VzYW10c8OkdXJlJywnNCw3IGcvZG3CsyddLFsnR2VzYW10enVja2VyJywnPCAwLDYgZy9kbcKzJ10sWydwSCcsJzMsNzEnXSxbJ0xhZ2VycG90ZW56aWFsJywnw5xiZXIgOCBKYWhyZSddLFsnRmxhc2NoZScsJ0J1cmd1bmRlcmZsYXNjaGUsIDc1IGNsJ11dLAogICAgICBwcmVtaW9zOidJV0MgMjAxNywgU2lsYmVyIMK3IERlY2FudGVyIDIwMTcsIEJyb256ZScscGRmOicyMDIzLzEwL2Z0LW1vcnZhbGxleS10b3VyaWdhLW5hY2lvbmFsLXRpbnRvLnBkZid9LAogICAgJ2dyLXRpbnRvJzp7bm9tZTonTW9yVmFsbGV5IEdyYW5kZSBSZXNlcnZhJyx0aXBvOidSb3QgwrcgRG91cm8gwrcgMjAxNicsY2FzdGFzOidUb3VyaWdhIE5hY2lvbmFsLCBUb3VyaWdhIEZyYW5jYScsCiAgICAgIHZpbmlmaWNhY2FvOidUcmF1YmVuIHZvbiBIYW5kIGFtIFNvcnRpZXJ0aXNjaCB2ZXJsZXNlbi4gR8OkcnVuZyBpbSBFZGVsc3RhaGwgw7xiZXIgMjAgVGFnZSBiZWkgMjAgYmlzIDIyIMK6Qy4gMTEgTW9uYXRlIEF1c2JhdSBpbiBFaWNoZSwgNjAgJSBmcmFuesO2c2lzY2ggdW5kIDQwICUgYW1lcmlrYW5pc2NoLicsCiAgICAgIHByb3ZhOidJbnRlbnNpdmVzIFJ1Ymlucm90LiBEaWUgZmxvcmFsZSBIYW5kc2NocmlmdCBkZXIgVG91cmlnYSBOYWNpb25hbCwgVmVpbGNoZW4gdW5kIE1pbmVyYWxpaywgbWl0IFZhbmlsbGUsIEdld8O8cnplbiwgUGZsYXVtZSB1bmQgSGVpZGVsYmVlcmUuIEFtIEdhdW1lbiBmZXN0LCBkaWNodCB1bmQgdm9sdW1pbsO2cywgbWl0IGF1c2dld29nZW5lciBTw6R1cmUuIFNlaHIgbGFuZ2VyLCBmcmlzY2hlciB1bmQgaGFybW9uaXNjaGVyIEFiZ2FuZy4nLAogICAgICBzZXJ2aXI6JzE2IGJpcyAxOCDCukMgwrcgMSBiaXMgMiBTdHVuZGVuIHZvcmhlciBkZWthbnRpZXJlbicsCiAgICAgIGRhZG9zOltbJ0phaHJnYW5nJywnMjAxNiddLFsnQWxrb2hvbCcsJzEzLDUgJSddLFsnR2VzYW10c8OkdXJlJywnNSBnL2RtwrMnXSxbJ0dlc2FtdHp1Y2tlcicsJzQsNCBnL2RtwrMnXSxbJ3BIJywnMywzMiddLFsnTGFnZXJwb3RlbnppYWwnLCfDnGJlciAzIEphaHJlJ10sWydGbGFzY2hlJywnQm9yZGVhdXhmbGFzY2hlIFByZXN0aWdlLCA3NSBjbCddXSwKICAgICAgcGRmOicyMDIzLzEwL2Z0LW1vcnZhbGV5LWdyZW5kZS1yZXNlcnZhLXRpbnRvLnBkZid9LAogICAgJ2dyLWJyYW5jbyc6e25vbWU6J01vclZhbGxleSBHcmFuZGUgUmVzZXJ2YScsdGlwbzonV2Vpw58gwrcgRG91cm8gwrcgMjAxNicsY2FzdGFzOidWaW9zaW5obywgUmFiaWdhdG8sIEdvdXZlaW8sIEFyaW50bycsCiAgICAgIHZpbmlmaWNhY2FvOidHw6RydW5nIGltIEVkZWxzdGFobCDDvGJlciAzMCBUYWdlIGJlaSAxNiDCukMuIDkgTW9uYXRlIEF1c2JhdSBpbiBmcmFuesO2c2lzY2hlciBFaWNoZS4nLAogICAgICBwcm92YTonWml0cm9uZW5nZWxiLiBLb21wbGV4ZSwgdHJvcGlzY2hlIE5hc2UgbWl0IFZhbmlsbGUgdW5kIHdlacOfZW4gRnLDvGNodGVuLiBBbSBHYXVtZW4gY3JlbWlnIHVuZCBidXR0cmlnLCBGcmlzY2hlIHVuZCBTw6R1cmUgaW0gR2xlaWNoZ2V3aWNodC4gRWxlZ2FudCwgYW5oYWx0ZW5kIHVuZCB2ZXJmw7xocmVyaXNjaC4nLAogICAgICBzZXJ2aXI6JzEwIGEgMTIgwrpDJyxtZXNhOidHZWdyaWxsdGVyIEZpc2NoIHVuZCBnZWdyaWxsdGVzIEZsZWlzY2gsIGxlaWNodGUgR2VyaWNodGUgb2RlciBwdXIuJyxndWFyZGFyOidMaWVnZW5kLCBsaWNodGdlc2Now7x0enQsIGJlaSBrb25zdGFudGVyIHVuZCBnZW3DpMOfaWd0ZXIgVGVtcGVyYXR1ci4nLAogICAgICBkYWRvczpbWydKYWhyZ2FuZycsJzIwMTYnXSxbJ0Fsa29ob2wnLCcxMyw1ICUnXSxbJ0dlc2FtdHPDpHVyZScsJzUgZy9kbcKzJ10sWydHZXNhbXR6dWNrZXInLCc0LDQgZy9kbcKzJ10sWydwSCcsJzMsMzInXSxbJ0xhZ2VycG90ZW56aWFsJywnw5xiZXIgMyBKYWhyZSddLFsnRmxhc2NoZScsJ0JvcmRlYXV4Zmxhc2NoZSBQcmVzdGlnZSwgNzUgY2wnXV0sCiAgICAgIHBkZjonMjAyMy8xMC9mdC1tb3J2YWxsZXktZ3JhbmRlLXJlc2VydmFfYnJhbmNvLnBkZid9LAogICAgJ21ldyc6e25vbWU6J01FVyBieSBNb3JWYWxsZXknLHRpcG86J1JvdCDCtyBEb3VybyAyMDE2JyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgY2l0YWNhbzonRGFzIGlzdCBtZWluZSBwZXJzw7ZubGljaGUgU2ljaHQgYXVmIGRlbiBEb3VybywgZWluIEJld2VpcyBmw7xyIGRlbiBDaGFyYWt0ZXIgendlaWVyIGdyb8OfZXIgUmVic29ydGVuLicsCiAgICAgIHZpbmlmaWNhY2FvOicxOCBNb25hdGUgQXVzYmF1IGltIEhvbHouJywKICAgICAgcHJvdmE6J0RpZSBUb3VyaWdhIEZyYW5jYSBicmluZ3QgU3RydWt0dXIgdW5kIEZydWNodC4gRGllIFRvdXJpZ2EgTmFjaW9uYWwgZGllIGZsb3JhbGUgTm9ibGVzc2UuIFZpb2xldHRlIFJlZmxleGUsIGtvbXBsZXhlIE5hc2Ugdm9uIHJvdGVuIEZyw7xjaHRlbiwgVmFuaWxsZSB1bmQgU2Nob2tvbGFkZS4gV2VpY2gsIHZvbHVtaW7DtnMgdW5kIGxhbmcsIG1pdCBGcmlzY2hlIHVuZCBlbGVnYW50ZW4gVGFubmluZW4uJywKICAgICAgc2VydmlyOidWb3IgZGVtIFNlcnZpZXJlbiBkZWthbnRpZXJlbjogRXMgaXN0IGVpbiBuYXTDvHJsaWNoZXIgV2VpbiB1bmQga2FubiBEZXBvdCBiaWxkZW4uJywKICAgICAgZGFkb3M6W1snSmFocmdhbmcnLCcyMDE2J10sWydBbGtvaG9sJywnMTQgJSddLFsnR2VzYW10c8OkdXJlJywnNSwxIGcvZG3CsyddLFsnR2VzYW10enVja2VyJywnPCAwLDYgZy9kbcKzJ10sWydwSCcsJzMsNzAnXSxbJ0ZsYXNjaGUnLCdCb3JkZWF1eGZsYXNjaGUgSW1wZXJpYWwsIDc1IGNsJ10sWydBdWZtYWNodW5nJywnRWluemVsYm94J11dLAogICAgICBwZGY6JzIwMjMvMTAvRlRfTUVXLXRpbnRvLnBkZid9LAogICAgJ2NvbGxlY3Rpb24nOntub21lOidNb3JWYWxsZXkgQ29sbGVjdGlvbicsdGlwbzonU2VjaHMgV2VpbmUgdW5kIGRpZSBDb2xsZWN0aW9uIEhvbHpraXN0ZScsCiAgICAgIHByb3ZhOidFaW5lIEF1c3dhaGwgZGVyIGJlc3RlbiBXZWluZSBkZXMgSGF1c2VzLCBpbiBlaW5lciBIb2x6a2lzdGUsIGRpZSB6dW0gU2V0IGdlaMO2cnQuJywKICAgICAgbGlzdGE6WydNRVcgUm90JywnTW9yVmFsbGV5IEdyYW5kZSBSZXNlcnZhIFRpbnRvJywnTW9yVmFsbGV5IEdyYW5kZSBSZXNlcnZhIEJyYW5jbycsJ01vclZhbGxleSBUb3VyaWdhIE5hY2lvbmFsJywnTW9yVmFsbGV5IFJlc2VydmEgVGludG8nLCdNb3JWYWxsZXkgUmVzZXJ2YSBCcmFuY28nXX0sCiAgICAnbXlvMTAnOntub21lOidNWU8gYnkgTW9yVmFsbGV5IDEwIFllYXJzIE9sZCcsdGlwbzonUG9ydHdlaW4gwrcgMTAgSmFocmUnLAogICAgICBwcm92YTonR29sZHdlacOfZSBGYXJiZSB1bmQgaW50ZW5zaXZlIE5hc2UsIGdlcHLDpGd0IHZvbiBUcm9ja2VuZnLDvGNodGVuLCBWYW5pbGxlIHVuZCBHZXfDvHJ6ZW4uIEFtIEdhdW1lbiBmcmlzY2gsIGRpZSBTw6R1cmUgZ3V0IGluIFPDvMOfZSB1bmQgSG9seiBlaW5nZWJ1bmRlbi4gTGFuZ2VyLCBzY2htZWx6aWdlciBBYmdhbmcuJywKICAgICAgc2VydmlyOicxMiBhIDE0IMK6QycsbWVzYTonVHJvY2tlbmZyw7xjaHRlLiBBbHMgRGlnZXN0aWYsIHp1IGZyaXNjaGVuIERlc3NlcnRzIHVuZCBPcmFuZ2VuZGVzc2VydHMuJyxndWFyZGFyOidTdGVoZW5kLCBsaWNodGdlc2Now7x0enQsIHp3aXNjaGVuIDE0IHVuZCAxNiDCukMuJywKICAgICAgZGFkb3M6W1snQXVmbWFjaHVuZycsJ0VpbnplbGJveCddXX0sCiAgICAnbXlvMjAnOntub21lOidNWU8gYnkgTW9yVmFsbGV5IDIwIFllYXJzIE9sZCcsdGlwbzonUG9ydHdlaW4gwrcgMjAgSmFocmUnLAogICAgICBwcm92YTonR29sZGVuZSBGYXJiZSB1bmQgaW50ZW5zaXZlIE5hc2UgbWl0IFRyb2NrZW5mcsO8Y2h0ZW4sIEdld8O8cnplbiB1bmQgSG9sei4gQW0gR2F1bWVuIGZyaXNjaCB1bmQgeml0cmlzY2gsIG1pdCBlaW5lbSBIYXVjaCBPcmFuZ2UuIFNlaHIgbGFuZ2VyIEFiZ2FuZy4nLAogICAgICBzZXJ2aXI6JzEyIGEgMTQgwrpDJyxtZXNhOidUcm9ja2VuZnLDvGNodGUgdW5kIE1hbmRlbG4uIEFscyBEaWdlc3RpZiwgenUgRGVzc2VydHMgdW5kIFNjaG9rb2xhZGUuJyxndWFyZGFyOidTdGVoZW5kLCBsaWNodGdlc2Now7x0enQsIHp3aXNjaGVuIDEyIHVuZCAxNCDCukMuJywKICAgICAgZGFkb3M6W1snQXVmbWFjaHVuZycsJ0VpbnplbGJveCddXX0sCiAgICAnbG1kJzp7bm9tZTonU2V0IExldmEtbWUgYW8gRG91cm8nLHRpcG86J1BvcnR3ZWluIMK3IDIwIEphaHJlIMK3IGJlbWFsdGUgRmxhc2NoZScsCiAgICAgIHByb3ZhOidHb2xkZW5lIEZhcmJlIHVuZCBpbnRlbnNpdmUgTmFzZSBtaXQgVHJvY2tlbmZyw7xjaHRlbiwgR2V3w7xyemVuIHVuZCBlZGxlbSBIb2x6LiBBbSBHYXVtZW4gZnJpc2NoLCBtaXQgWml0cnVzLSB1bmQgT3Jhbmdlbm5vdGVuLiBMYW5nZXIsIGZlaW5lciBBYmdhbmcuIERpZSBGbGFzY2hlIGlzdCBtaXQgZWluZXIgSWxsdXN0cmF0aW9uIGRlciBGbG9yYSB1bmQgRmF1bmEgZGVzIERvdXJvIGJlbWFsdC4nLAogICAgICBzZXJ2aXI6JzEyIGEgMTQgwrpDJyxtZXNhOidUcm9ja2VuZnLDvGNodGUsIE1hbmRlbG4sIERlc3NlcnRzIHVuZCBTY2hva29sYWRlLicsZ3VhcmRhcjonU3RlaGVuZCwgZ2VzY2jDvHR6dCB2b3IgTGljaHQgdW5kIFRlbXBlcmF0dXJzY2h3YW5rdW5nZW4uJywKICAgICAgbGlzdGE6WydCZW1hbHRlIEZsYXNjaGUgUG9ydHdlaW4gMjAgSmFocmUnLCdad2VpIEdsw6RzZXInLCdCZW1hbHRlIHVuZCBncmF2aWVydGUgSG9semtpc3RlIG1pdCBIb2x6aW5uZW5yYXVtJ119LAogICAgJ215bzUwJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSA1MCBZZWFycyBPbGQnLHRpcG86J1BvcnR3ZWluIMK3IDUwIEphaHJlJywKICAgICAgcHJvdmE6J0dvbGR3ZWnDnywgbGVpY2h0IGdyw7xubGljaC4gTmFzZSB2b24gVmFuaWxsZSwgT3JhbmdlLCBIYXNlbG51c3MgdW5kIEhvbmlnLiBBbSBHYXVtZW4gdm9sbCB1bmQgZnJpc2NoLCBtaXQgR2V3w7xyemVuLiBMYW5nZXIgQWJnYW5nLiBFciByZWlmdCBpbSBGYXNzIGJpcyB6dXIgQWJmw7xsbHVuZy4nLAogICAgICBzZXJ2aXI6JzE0IGEgMTYgwrpDJyxtZXNhOidQdXIsIHp1IE9yYW5nZW4tIG9kZXIgS2FyYW1lbGxkZXNzZXJ0cyBvZGVyIHp1IFRyb2NrZW5mcsO8Y2h0ZW4uJyxndWFyZGFyOidTdGVoZW5kLCBsaWNodGdlc2Now7x0enQsIHp3aXNjaGVuIDEyIHVuZCAxNCDCukMuJywKICAgICAgZGFkb3M6W1snQXVmbWFjaHVuZycsJ0VpbnplbGJveCddXX0sCiAgICAndnZvJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSBWZXJ5IFZlcnkgT2xkJyx0aXBvOidQb3J0d2VpbiDCtyAxMDAgSmFocmUnLAogICAgICBwcm92YTonR29sZHdlacOfIG1pdCBncsO8bmxpY2hlbSBTY2hpbW1lci4gSW50ZW5zaXZlIE5hc2Ugdm9uIE9yYW5nZSwgVmFuaWxsZSwgS2FyYW1lbGwsIFdhbG51c3MgdW5kIEhvbmlnLiBBbSBHYXVtZW4gdm9sbCwgw7xwcGlnIHVuZCBmcmlzY2gsIG1pdCBUcm9ja2VuZnLDvGNodGVuLCBLYXJhbWVsbCB1bmQgR2V3w7xyemVuLiBMYW5nZXIsIHPDvMOfZXIgQWJnYW5nIG1pdCBWYW5pbGxlLicsCiAgICAgIHNlcnZpcjonMTQgYSAxNiDCukMnLG1lc2E6J1B1ciwgenUgT3Jhbmdlbi0gb2RlciBLYXJhbWVsbGRlc3NlcnRzIG9kZXIgenUgVHJvY2tlbmZyw7xjaHRlbi4nLGd1YXJkYXI6J1N0ZWhlbmQsIGxpY2h0Z2VzY2jDvHR6dCwgendpc2NoZW4gMTIgdW5kIDE0IMK6Qy4nLAogICAgICBkYWRvczpbWydBdWZtYWNodW5nJywnQm94IG1pdCBCYW5kIHVuZCBXYWNoc3NpZWdlbCddXX0KICB9OwogIGNvbnN0IG1hcGE9eyd2ZS10aW50byc6J3ZlLXRpbnRvJywndmUtYnJhbmNvJzondmUtYnJhbmNvJywncmVzLWJyYW5jbyc6J3Jlcy1icmFuY28nLCdyZXMtdGludG8nOidyZXMtdGludG8nLCd0b3VyaWdhJzondG91cmlnYScsJ2dyLXRpbnRvJzonZ3ItdGludG8nLCdnci1icmFuY28nOidnci1icmFuY28nLCdtZXcnOidtZXcnLCdjb2xsZWN0aW9uJzonY29sbGVjdGlvbicsJ215bzEwJzonbXlvMTAnLCdteW8yMCc6J215bzIwJywnbG1kJzonbG1kJywnbXlvNTAnOidteW81MCcsJ3Z2byc6J3Z2byd9OwogIGNvbnN0IGVzYz10PT5TdHJpbmcodCkucmVwbGFjZSgvWyY8PiInXS9nLGM9Pih7JyYnOicmYW1wOycsJzwnOicmbHQ7JywnPic6JyZndDsnLCciJzonJnF1b3Q7JywiJyI6JyYjMzk7J31bY10pKTsKICBjb25zdCBnPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnYXZldGEnKSwgY29ycG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dhdmV0YUNvcnBvJyksIGZ1bmRvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnYXZldGFGdW5kbycpOwogIGxldCBvcmlnZW09bnVsbDsKICBmdW5jdGlvbiBhYnJlKGssYnRuKXsKICAgIGNvbnN0IGY9RltrXTsgaWYoIWYpIHJldHVybjsgb3JpZ2VtPWJ0bjsKICAgIGxldCBoPWA8cCBjbGFzcz0iZy10aXBvIj4ke2VzYyhmLnRpcG8pfTwvcD48aDMgY2xhc3M9Imctbm9tZSIgaWQ9ImdhdmV0YVRpdHVsbyI+JHtlc2MoZi5ub21lKX08L2gzPmA7CiAgICBpZihmLmNpdGFjYW8pIGgrPWA8YmxvY2txdW90ZSBjbGFzcz0iZy1jaXRhY2FvIj4ke2VzYyhmLmNpdGFjYW8pfTxjaXRlPkpvc8OpIENhcmxvcyBQaW50bzwvY2l0ZT48L2Jsb2NrcXVvdGU+YDsKICAgIGlmKGYuY2FzdGFzKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PlJlYnNvcnRlbjwvaDQ+PHA+JHtlc2MoZi5jYXN0YXMpfTwvcD48L2Rpdj5gOwogICAgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5WZXJrb3N0dW5nPC9oND48cD4ke2VzYyhmLnByb3ZhKX08L3A+PC9kaXY+YDsKICAgIGlmKGYudmluaWZpY2FjYW8pIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+VmluaWZpa2F0aW9uPC9oND48cD4ke2VzYyhmLnZpbmlmaWNhY2FvKX08L3A+PC9kaXY+YDsKICAgIGlmKGYubGlzdGEpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+RW50aMOkbHQ8L2g0Pjx1bD4ke2YubGlzdGEubWFwKHg9PmA8bGk+JHtlc2MoeCl9PC9saT5gKS5qb2luKCcnKX08L3VsPjwvZGl2PmA7CiAgICBjb25zdCBzZXJ2PVtdOyBpZihmLnNlcnZpcikgc2Vydi5wdXNoKFsnU2VydmllcmVuJyxmLnNlcnZpcl0pOyBpZihmLm1lc2EpIHNlcnYucHVzaChbJ1p1IFRpc2NoJyxmLm1lc2FdKTsgaWYoZi5ndWFyZGFyKSBzZXJ2LnB1c2goWydMYWdlcnVuZycsZi5ndWFyZGFyXSk7CiAgICBpZihzZXJ2Lmxlbmd0aCkgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5TZXJ2aWVyZW48L2g0PjxkbD4ke3NlcnYubWFwKChbYSxiXSk9PmA8ZHQ+JHtlc2MoYSl9PC9kdD48ZGQ+JHtlc2MoYil9PC9kZD5gKS5qb2luKCcnKX08L2RsPjwvZGl2PmA7CiAgICBpZihmLmRhZG9zKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PlRlY2huaXNjaGUgRGF0ZW48L2g0PjxkbCBjbGFzcz0iZy1kYWRvcyI+JHtmLmRhZG9zLm1hcCgoW2EsYl0pPT5gPGR0PiR7ZXNjKGEpfTwvZHQ+PGRkPiR7ZXNjKGIpfTwvZGQ+YCkuam9pbignJyl9PC9kbD48L2Rpdj5gOwogICAgaWYoZi5wcmVtaW9zKSBoKz1gPGRpdiBjbGFzcz0iZy1ibG9jbyI+PGg0PkF1c3plaWNobnVuZ2VuPC9oND48cD4ke2VzYyhmLnByZW1pb3MpfTwvcD48L2Rpdj5gOwogICAgaWYoZi5wZGYpIGgrPWA8YSBjbGFzcz0iZy1wZGYiIGhyZWY9IiR7UERGK2YucGRmfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRhdGVuYmxhdHQgKFBERik8L2E+YDsKICAgIGNvcnBvLmlubmVySFRNTD1oOyBnLmhpZGRlbj1mYWxzZTsgZnVuZG8uaGlkZGVuPWZhbHNlOwogICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Zy5jbGFzc0xpc3QuYWRkKCdhYmVydGEnKTtmdW5kby5jbGFzc0xpc3QuYWRkKCdhYmVydGEnKTt9KTsKICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzZW0tc2Nyb2xsJyk7CiAgICBnLnF1ZXJ5U2VsZWN0b3IoJy5nLWZlY2hhcicpLmZvY3VzKCk7CiAgICBjb3Jwby5zY3JvbGxUb3A9MDsKICB9CiAgZnVuY3Rpb24gZmVjaGEoKXsKICAgIGcuY2xhc3NMaXN0LnJlbW92ZSgnYWJlcnRhJyk7IGZ1bmRvLmNsYXNzTGlzdC5yZW1vdmUoJ2FiZXJ0YScpOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3NlbS1zY3JvbGwnKTsKICAgIHNldFRpbWVvdXQoKCk9PntnLmhpZGRlbj10cnVlO2Z1bmRvLmhpZGRlbj10cnVlO30sMzIwKTsKICAgIGlmKG9yaWdlbSkgb3JpZ2VtLmZvY3VzKCk7CiAgfQogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wZWNhIGZpZ3VyZSBpbWcnKS5mb3JFYWNoKGltZz0+ewogICAgY29uc3QgbT1pbWcuZ2V0QXR0cmlidXRlKCdzcmMnKS5tYXRjaCgvbXZsb2phLShbYS16MC05LV0rPykoPzotcmVwb3Vzbyk\/XC53ZWJwLyk7IGlmKCFtfHwhbWFwYVttWzFdXSkgcmV0dXJuOwogICAgY29uc3Qgaz1tYXBhW21bMV1dLCBwZWNhPWltZy5jbG9zZXN0KCcucGVjYScpLCBmaWNoYT1wZWNhLnF1ZXJ5U2VsZWN0b3IoJy5maWNoYScpOyBpZighZmljaGEpIHJldHVybjsKICAgIGNvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7IGIudHlwZT0nYnV0dG9uJzsgYi5jbGFzc05hbWU9J3Zlci1maWNoYSc7IGIuaW5uZXJIVE1MPSc8aSBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPkZpY2hhIHTDqWNuaWNhJzsKICAgIGIuc2V0QXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJywnZGlhbG9nJyk7IGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT5hYnJlKGssYikpOyBmaWNoYS5hcHBlbmRDaGlsZChiKTsKICB9KTsKICBnLnF1ZXJ5U2VsZWN0b3IoJy5nLWZlY2hhcicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmZWNoYSk7CiAgZnVuZG8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZlY2hhKTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxlPT57aWYoZS5rZXk9PT0nRXNjYXBlJyYmIWcuaGlkZGVuKSBmZWNoYSgpO30pOwp9KSgpOwo=\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIENsaWNhciBuYSBmb3RvZ3JhZmlhIGFicmUtYSBlbSBncmFuZGUsIG5hIHJlc29sdcOnw6NvIGNvbXBsZXRhICovCihmdW5jdGlvbigpewogIGNvbnN0IGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGEnKSwgaW09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGFJbWcnKTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGVjYSBmaWd1cmUnKS5mb3JFYWNoKGY9PmYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICBjb25zdCBzcmM9Zi5xdWVyeVNlbGVjdG9yKCdpbWcnKTsgaWYoIXNyYykgcmV0dXJuOwogICAgaW0uc3JjPWYuZGF0YXNldC56b29tfHxzcmMuY3VycmVudFNyY3x8c3JjLnNyYzsgaW0uYWx0PXNyYy5hbHQ7IGwuaGlkZGVuPWZhbHNlOyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2VtLXNjcm9sbCcpOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2x1cGFGZWNoYXInKS5mb2N1cygpOwogIH0pKTsKICBjb25zdCBmZWNoYT0oKT0+e2wuaGlkZGVuPXRydWU7IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzZW0tc2Nyb2xsJyk7fTsKICBsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmZWNoYSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZT0+e2lmKGUua2V5PT09J0VzY2FwZScmJiFsLmhpZGRlbikgZmVjaGEoKTt9KTsKfSkoKTsK\"><\/script><script src=\"data:text\/javascript;base64,CmNvbnN0IE1WTj1mPT4naHR0cHM6Ly9tb3J2YWxsZXkuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzExL212bmF0YWwtJytmLnJlcGxhY2UoL1wucG5nJC8sJy53ZWJwJyk7CihmdW5jdGlvbigpe2NvbnN0IGFsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtdmxvamEgLmFiZXJ0dXJhLWx1eicpO2lmKCFhbClyZXR1cm47CiBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2QuY2xhc3NOYW1lPSdwYXJyYXMnOwogY29uc3QgRj1bCiAgWydmb2xoYTEucG5nJywnY2FsYyhjbGFtcCgyMzBweCwzMHZ3LDQ0MHB4KSAqIC0wLjQ1KScsJy02MHB4JywnY2xhbXAoMjMwcHgsMzB2dyw0NDBweCknLCctMTRkZWcnLCcxMnMnLCcwcyddLAogIFsnZm9saGE1LnBuZycsJ2NhbGMoY2xhbXAoMjMwcHgsMzB2dyw0NDBweCkgKiAwLjM2KScsJy0xNTBweCcsJ2NsYW1wKDE1MHB4LDIwdncsMzAwcHgpJywnMjJkZWcnLCcxNHMnLCctNHMnXSwKICBbJ2ZvbGhhMy5wbmcnLCdjYWxjKDEwMCUgLSBjbGFtcCgyMjBweCwyOXZ3LDQyMHB4KSAqIDAuNTUpJywnLTYwcHgnLCdjbGFtcCgyMjBweCwyOXZ3LDQyMHB4KScsJzE4ZGVnJywnMTNzJywnLTJzJ10sCiAgWydmb2xoYTIucG5nJywnY2FsYygxMDAlIC0gY2xhbXAoMjIwcHgsMjl2dyw0MjBweCkgKiAwLjU1IC0gY2xhbXAoMTMwcHgsMTZ2dywyNDBweCkgKiAwLjc1KScsJy0xNTBweCcsJ2NsYW1wKDEzMHB4LDE2dncsMjQwcHgpJywnLTI4ZGVnJywnMTBzJywnLTZzJ10sCiBdOwogZC5pbm5lckhUTUw9Ri5tYXAoZj0+YDxpbWcgc3JjPSIke01WTihmWzBdKX0iIGFsdD0iIiBzdHlsZT0ibGVmdDoke2ZbMV19O3RvcDoke2ZbMl19O3dpZHRoOiR7ZlszXX07LS1yOiR7Zls0XX07LS1kOiR7Zls1XX07YW5pbWF0aW9uLWRlbGF5OiR7Zls2XX0iPmApLmpvaW4oJycpOwogYWwuYWZ0ZXIoZCk7c2V0VGltZW91dCgoKT0+ZC5jbGFzc0xpc3QuYWRkKCdvbicpLDE1MCl9KSgpOwooZnVuY3Rpb24oKXsKIGNvbnN0IEY9Wydmb2xoYTYucG5nJywnZm9saGE0LnBuZycsJ2ZvbGhhMS5wbmcnLCdmb2xoYTMucG5nJywnZm9saGE1LnBuZycsJ2ZvbGhhMi5wbmcnLCdmb2xoYTYucG5nJywnZm9saGE0LnBuZycsJ2ZvbGhhMS5wbmcnXTsKIGNvbnN0IFI9Wy0xOCwyNCwtMzAsMTYsLTIyLDMwLC0xMiwyMCwtMjZdOwogY29uc3QgaWRzPVsnbm9pdGUnLCdmZHMnLCdkYXRhJywnZGV6JywndmludGUnLCdjaW5xdWVudGEnLCdjZW0nLCdhaW5kYScsJ3NlcnZpciddOwogZnVuY3Rpb24gbGl2cmUoc2VjLGltLGspewogIGNvbnN0IFM9c2VjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogIGNvbnN0IGVscz1bLi4uc2VjLnF1ZXJ5U2VsZWN0b3JBbGwoJy52aWRhLWZvdG8sLnZpZHJvLGltZzpub3QoLnBhcnJhLWxvamEpLC5iYXJyYS1uYXRhbCxoMSxoMixoMyxwLGZpZ3VyZSwuZmljaGEsYnV0dG9uLGEsLm51bWVybywubm90YS1wcm92YSwuYXBhcnRlLHNtYWxsLGlucHV0LGxhYmVsLC52aWRhLWxpbmhhLC5wYWluZWwsLm1hcmNhLC5sdXotYWdvcmEsY2FudmFzJyldCiAgICAuZmlsdGVyKGU9PmUub2Zmc2V0UGFyZW50JiYhZS5jbGFzc0xpc3QuY29udGFpbnMoJ3BhcnJhLWxvamEnKSkubWFwKGU9PntsZXQgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKC9eKEgxfEgyfEgzfFB8U01BTEwpJC8udGVzdChlLnRhZ05hbWUpKXtjb25zdCBnPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Zy5zZWxlY3ROb2RlQ29udGVudHMoZSk7Y29uc3QgcT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHEud2lkdGgpcj1xO31jb25zdCBwPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCdiYXJyYS1uYXRhbCcpPzcwOjA7aWYoZS5jbGFzc0xpc3QuY29udGFpbnMoJ3ZpZGEtZm90bycpKXtyZXR1cm4ge2w6ci5sZWZ0LVMubGVmdC0zMCx0OjAscjpyLnJpZ2h0LVMubGVmdCszMCxiOlMuaGVpZ2h0fX1yZXR1cm4ge2w6ci5sZWZ0LVMubGVmdC1wLHQ6ci50b3AtUy50b3AtcCxyOnIucmlnaHQtUy5sZWZ0K3AsYjpyLmJvdHRvbS1TLnRvcCtwfX0pLmZpbHRlcihyPT5yLnI+ci5sJiZyLmI+ci50KTsKICBmb3IoY29uc3QgW1cwLG8wXSBvZiBbWzMwMCwuMzJdLFsyNTAsLjMyXSxbMjAwLC4zMl0sWzE3MCwuNDVdLFsxNDAsLjVdLFsxMjAsLjM1XV0pe2NvbnN0IFc9TWF0aC5taW4oVzAsTWF0aC5tYXgoMTIwLGlubmVyV2lkdGgqLjIxKSksSD1XKmltLm5hdHVyYWxIZWlnaHQvaW0ubmF0dXJhbFdpZHRoLG9mZj1XKm8wLE09VzA8MjAwPyhXMDwxMzA\/ODoxNCk6MjY7CiAgIGZvcihjb25zdCBsYWRvIG9mIChrJTI\/WydyJywnbCddOlsnbCcsJ3InXSkpewogICAgY29uc3QgeDA9bGFkbz09PSdsJz8tb2ZmOlMud2lkdGgtVytvZmY7CiAgICBmb3IobGV0IHk9NDA7eTxTLmhlaWdodC1ILTI0O3krPTE2KXtjb25zdCBib3g9e2w6eDAsdDp5LHI6eDArVyxiOnkrSH07CiAgICAgaWYoIWVscy5zb21lKGU9PmUubDxib3gucitNJiZlLnI+Ym94LmwtTSYmZS50PGJveC5iK00mJmUuYj5ib3gudC1NKSl7CiAgICAgIGltLnN0eWxlLmNzc1RleHQ9YHRvcDoke3l9cHg7bGVmdDoke3gwfXB4O3dpZHRoOiR7V31weDstLXI6JHtSW2tdfWRlZzstLWQ6JHsxMStrJTR9czthbmltYXRpb24tZGVsYXk6LSR7ayoxLjd9c2A7cmV0dXJuIHRydWV9fX19CiAgcmV0dXJuIGZhbHNlfQogZnVuY3Rpb24gY29sb2Nhcigpe2lkcy5mb3JFYWNoKChpZCxrKT0+e2NvbnN0IHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKCFzKXJldHVybjsKICBpZihnZXRDb21wdXRlZFN0eWxlKHMpLnBvc2l0aW9uPT09J3N0YXRpYycpcy5zdHlsZS5wb3NpdGlvbj0ncmVsYXRpdmUnOwogIGxldCBpbT1zLnF1ZXJ5U2VsZWN0b3IoJy5wYXJyYS1sb2phOm5vdCgucGFycmEtZXh0cmEpJyk7aWYoIWltKXtpbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtpbS5zcmM9TVZOKEZba10pO2ltLmFsdD0nJztpbS5jbGFzc05hbWU9J3BhcnJhLWxvamEnO3MuYXBwZW5kQ2hpbGQoaW0pO30KICBjb25zdCBnbz0oKT0+e2ltLnN0eWxlLmRpc3BsYXk9Jyc7aWYoIWxpdnJlKHMsaW0saykpaW0uc3R5bGUuZGlzcGxheT0nbm9uZSd9OwogIGltLmNvbXBsZXRlP2dvKCk6aW0ub25sb2FkPWdvO30pO30KIHNldFRpbWVvdXQoY29sb2Nhciw4MDApO2xldCB0cTthZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCgpPT57Y2xlYXJUaW1lb3V0KHRxKTt0cT1zZXRUaW1lb3V0KGNvbG9jYXIsMjAwKX0pOwp9KSgpOwooZnVuY3Rpb24oKXtjb25zdCBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKTtpZighZilyZXR1cm47Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtiLmNsYXNzTmFtZT0nYmFycmEtbmF0YWwnOwogYi5pbm5lckhUTUw9JzxzcGFuPldlaWhuYWNodGVuPC9zcGFuPjxpbWcgc3JjPSInK01WTignYmFycmEtYXpldmluaG8ucG5nJykrJyIgYWx0PSIiPjxzcGFuPldlaWhuYWNodGVuPC9zcGFuPic7Zi5hcHBlbmRDaGlsZChiKTt9KSgpOwooZnVuY3Rpb24oKXtjb25zdCBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXonKTtpZighZClyZXR1cm47Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtiLmNsYXNzTmFtZT0nYmFycmEtbmF0YWwnOwogYi5pbm5lckhUTUw9JzxzcGFuPldlaWhuYWNodGVuPC9zcGFuPjxpbWcgc3JjPSInK01WTignYmFycmEtYXpldmluaG8ucG5nJykrJyIgYWx0PSIiPjxzcGFuPldlaWhuYWNodGVuPC9zcGFuPic7ZC5wcmVwZW5kKGIpO30pKCk7CihmdW5jdGlvbigpewogY29uc3QgRVg9e2ZkczpbWydmb2xoYTMucG5nJywyMl0sWydmb2xoYTUucG5nJywtMjhdXX07CiBmdW5jdGlvbiBvYnN0KHNlYyl7Y29uc3QgUz1zZWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgcmV0dXJuIFsuLi5zZWMucXVlcnlTZWxlY3RvckFsbCgnLnZpZGEtZm90bywudmlkcm8saW1nOm5vdCgucGFycmEtbG9qYSksLmJhcnJhLW5hdGFsLGgxLGgyLGgzLHAsZmlndXJlLC5maWNoYSxidXR0b24sYSwubnVtZXJvLHNtYWxsLGlucHV0LGxhYmVsLC5wYXJyYS1sb2phJyldCiAgIC5maWx0ZXIoZT0+ZS5vZmZzZXRQYXJlbnQmJmUuc3R5bGUuZGlzcGxheSE9PSdub25lJykubWFwKGU9Pntjb25zdCByPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscD1lLmNsYXNzTGlzdC5jb250YWlucygncGFycmEtbG9qYScpPy0xMDooZS5jbGFzc0xpc3QuY29udGFpbnMoJ2JhcnJhLW5hdGFsJyk\/NzA6MCk7CiAgIHJldHVybiB7bDpyLmxlZnQtUy5sZWZ0LXAsdDpyLnRvcC1TLnRvcC1wLHI6ci5yaWdodC1TLmxlZnQrcCxiOnIuYm90dG9tLVMudG9wK3B9fSkuZmlsdGVyKHI9PnIucj5yLmwmJnIuYj5yLnQpfQogZnVuY3Rpb24gcG9lRXh0cmEoKXtPYmplY3QuZW50cmllcyhFWCkuZm9yRWFjaCgoW2lkLExdKT0+e2NvbnN0IHNlYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIXNlYylyZXR1cm47CiAgc2VjLnF1ZXJ5U2VsZWN0b3JBbGwoJy5wYXJyYS1leHRyYScpLmZvckVhY2goZT0+ZS5yZW1vdmUoKSk7CiAgTC5mb3JFYWNoKChbZixyb3RdLGspPT57Y29uc3QgaW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7aW0uc3JjPU1WTihmKTtpbS5hbHQ9Jyc7aW0uY2xhc3NOYW1lPSdwYXJyYS1sb2phIHBhcnJhLWV4dHJhJztzZWMuYXBwZW5kQ2hpbGQoaW0pOwogICBjb25zdCBnbz0oKT0+e2NvbnN0IFM9c2VjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGVscz1vYnN0KHNlYyk7Y29uc3QgTT03MDsKICAgIGZvcihjb25zdCBXMCBvZiBbMjcwLDIzMCwxOTBdKXtjb25zdCBXPU1hdGgubWluKFcwLGlubmVyV2lkdGgqLjI0KSxIPVcqaW0ubmF0dXJhbEhlaWdodC9pbS5uYXR1cmFsV2lkdGg7CiAgICAgZm9yKGxldCB5PVMuaGVpZ2h0LUgtMzA7eT40MDt5LT0xOCl7Zm9yKGxldCB4PWs\/Uy53aWR0aC1XLTQwOlMud2lkdGgqLjM1O2s\/eD5TLndpZHRoKi4zOng8Uy53aWR0aC1XLTQwO3grPWs\/LTI0OjI0KXsKICAgICAgY29uc3QgYj17bDp4LHQ6eSxyOngrVyxiOnkrSH07aWYoIWVscy5zb21lKGU9PmUhPT1pbSYmZS5sPGIucitNJiZlLnI+Yi5sLU0mJmUudDxiLmIrTSYmZS5iPmIudC1NKSl7CiAgICAgICBpbS5zdHlsZS5jc3NUZXh0PWB0b3A6JHt5fXB4O2xlZnQ6JHt4fXB4O3dpZHRoOiR7V31weDstLXI6JHtyb3R9ZGVnOy0tZDokezEyK2t9czthbmltYXRpb24tZGVsYXk6LSR7MytrKjJ9c2A7cmV0dXJufX19fQogICAgaW0ucmVtb3ZlKCl9OwogICBpbS5jb21wbGV0ZT9nbygpOmltLm9ubG9hZD1nbzt9KTt9KTt9CiBzZXRUaW1lb3V0KHBvZUV4dHJhLDEzMDApO2xldCB0O2FkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsKCk9PntjbGVhclRpbWVvdXQodCk7dD1zZXRUaW1lb3V0KHBvZUV4dHJhLDQwMCl9KTsKfSkoKTsK\"><\/script><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Jeden Tag54\u20ac Wochenendeab 22 \u20ac Ein Datumab 39,90 \u20ac 10 Jahre65\u20ac 20 Jahreab 125 \u20ac 50 Jahre500\u20ac 100 Jahre3000\u20ac Noch nicht geschehen54,24\u20ac MorValley Shop \u00b7 Weihnachten 2026 Gr\u00fc\u00dfe aus dem Douro. Willkommen. Ich empfehle Ihnen, mit einem der Aush\u00e4ngeschilder des Hauses zu beginnen. MorValley Reserva Branco\u2192 Anzeigen Alle Rot Wei\u00df Portwein Kisten und Sets Zeit I Kisten zu 6 Jeden Tag. Ein Qualit\u00e4tswein f\u00fcr den t\u00e4glichen Tisch. Er braucht keinen Anlass. &nbsp; Vale de Escadas Reserva 54\u20acinkl. MwSt.Rot \u00b7 Kiste zu 6Das m\u00f6chte ich &nbsp; Vale de Escadas Reserva 54\u20acinkl. MwSt.Wei\u00df \u00b7 Kiste zu 6Das m\u00f6chte ich Zeit II ab 22 \u20ac Ein Wochenende. Ein voller Tisch und lange Gespr\u00e4che. Daf\u00fcr mache ich sie. &nbsp; MorValley Reserva 22\u20acinkl. MwSt.Wei\u00df \u00b7 2022Das m\u00f6chte ich &nbsp; MorValley Reserva 22\u20acinkl. MwSt.Rot \u00b7 2022Das m\u00f6chte ich &nbsp; MorValley Touriga Nacional 27,50\u20acinkl. MwSt.Rot \u00b7 rebsortenrein Zeit III ab 39,90 \u20ac Ein Datum, das z\u00e4hlt. Ich suche die Vollendung der Region. Das, was aus technischer Geduld entsteht. &nbsp; MorValley Grande Reserva 39,90\u20acinkl. MwSt.Rot \u00b7 2016Das m\u00f6chte ich &nbsp; MorValley Grande Reserva 39,90\u20acinkl. MwSt.Wei\u00df \u00b7 2016Das m\u00f6chte ich &nbsp; MEW 75\u20acinkl. MwSt.Rot \u00b7 Douro 2016Das m\u00f6chte ich &nbsp; MorValley Collection 209,50\u20acinkl. MwSt.Kollektion in der Kiste Zeit IV Portwein 10Jahre Zehn Jahre im Fass. &nbsp; MYO by MorValley 10 Years Old 65\u20acinkl. MwSt.PortweinDas m\u00f6chte ich Trockenfr\u00fcchte, Vanille und Gew\u00fcrze. Frisch am Gaumen, mit langem Abgang. Zeit V ab 125 \u20ac 20Jahre Zwanzig Jahre sp\u00e4ter. Mit zwanzig Jahren hat der Portwein keine Eile mehr. Wer ihn bekommt, auch nicht. &nbsp; MYO by MorValley 20 Years Old 125\u20acinkl. MwSt.PortweinDas m\u00f6chte ich Auf das Glas gemalt Set Leva-me ao Douro 450\u20acinkl. MwSt.Portwein 20 Jahre \u00b7 bemalte Flasche \u00b7 zwei Gl\u00e4serDas m\u00f6chte ich Zeit VI Portwein 50Jahre Ein halbes Jahrhundert. &nbsp; MYO by MorValley 50 Years Old 500\u20acinkl. MwSt.PortweinDas m\u00f6chte ich Licht des Douro, jetztDen Tag vergehen sehen Er reift im Fass bis zu dem Tag, an dem er abgef\u00fcllt wird. Keinen Tag fr\u00fcher. Vanille, Orange, Haselnuss und Honig. Voll und frisch, mit Gew\u00fcrzen im Abgang. 100 Zeit VII Very Very Old Ein Jahrhundert. Anders l\u00e4sst es sich nicht sagen. Hundert Jahre Douro in einem Glas. &nbsp; MYO by MorValley Very Very Old 3000\u20acinkl. MwSt.PortweinDas m\u00f6chte ich Licht des Douro, jetztDen Tag vergehen sehen Orange, Karamell, Walnuss und Honig. \u00dcppig und frisch, mit langem Vanilleabgang. Zeit VIII Magnum 1,5 L \u00b7 54,24 \u20ac Noch nicht geschehen. Das Magnum-Atelier. W\u00e4hlen Sie den Moment, schreiben Sie die Namen und sehen Sie sofort, wie es auf dem Glas gemalt aussieht. F\u00fcr jemanden F\u00fcr Ihr Unternehmen \u00b7 Weihnachten 2026 Geburtder erste Tag Geburtstagjedes Jahr Hochzeitdas Ja Neues Zuhauseder Schl\u00fcssel Hochzeitstag25, 50 Jahre Ruhestanddie letzte Bef\u00f6rderung Familiejedes Weihnachten Dankean jedem Tag Unternehmen \u00b7 Tannenzapfenf\u00fcr Kunden Unternehmen \u00b7 Weinrebef\u00fcr Kunden Team \u00b7 Tannenzapfenf\u00fcr das Team Team \u00b7 Weinrebef\u00fcr das Team 1Der Moment Ihre MagnumGeburtstagEs gibt Zahlen, die man feiert. Ihre. 2Schreiben Sie und sehen Sie, wie es auf dem Glas aussieht 10 cm 10 cm Aus der N\u00e4he \u00b7 die bemalte Fl\u00e4che auf dem Glas der Magnum 3Best\u00e4tigen Sie Magnum 1,5 L \u00b7 auf das Glas gemalt54,24\u20ac Geschenkboxinklusive MwSt.inklusive Diese Magnum m\u00f6chte ich Lieferung in die gesamte Europ\u00e4ische Union \u00b7 Kostenloser Versand innerhalb des portugiesischen Festlands Rund um die Flasche Zum Servieren und Verschenken. &nbsp; Weink\u00fchler 175\u20acinkl. MwSt.Holz und EdelstahlDas m\u00f6chte ich &nbsp; Selection Douro Valley 20\u20acinkl. MwSt.Premium-Box \u00b7 3 FlaschenDas m\u00f6chte ich &nbsp; MorValley Premium 15\u20acinkl. MwSt.Holzkiste \u00b7 3 FlaschenDas m\u00f6chte ich Verkauf an Personen unter 18 Jahren verboten. Bitte genie\u00dfen Sie verantwortungsvoll. AGB Datenschutzerkl\u00e4rung Versand und R\u00fcckgabe Beschwerdebuch 41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW \u00a9 2026 MorValley Douro Wines \u00b7 Douro-Tal Schlie\u00dfen DatenblattSchlie\u00dfen<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-18952","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/morvalley.com\/de\/wp-json\/wp\/v2\/pages\/18952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/morvalley.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/morvalley.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/morvalley.com\/de\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/morvalley.com\/de\/wp-json\/wp\/v2\/comments?post=18952"}],"version-history":[{"count":0,"href":"https:\/\/morvalley.com\/de\/wp-json\/wp\/v2\/pages\/18952\/revisions"}],"wp:attachment":[{"href":"https:\/\/morvalley.com\/de\/wp-json\/wp\/v2\/media?parent=18952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}