{"id":18951,"date":"2026-11-14T10:24:19","date_gmt":"2026-11-14T10:24:19","guid":{"rendered":"https:\/\/morvalley.com\/?page_id=18951"},"modified":"2026-11-14T10:24:19","modified_gmt":"2026-11-14T10:24:19","slug":"boutique-morvalley","status":"publish","type":"page","link":"https:\/\/morvalley.com\/fr\/boutique-morvalley\/","title":{"rendered":"Boutique"},"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 \u00e9crivez ici\";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=\"Frise du temps\"> <div class=\"regua-trilho\"><div class=\"agulha\" id=\"agulha\"><\/div><\/div> <div class=\"paragens\" id=\"paragens\"> <button class=\"paragem\" data-alvo=\"noite\"><b>Tous les jours<\/b><small>54\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"fds\"><b>Week&#8209;end<\/b><small>d\u00e8s 22 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"data\"><b>Une date<\/b><small>d\u00e8s 39,90 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"dez\"><b>10 ans<\/b><small>65\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"vinte\"><b>20 ans<\/b><small>d\u00e8s 125 \u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cinquenta\"><b>50 ans<\/b><small>500\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"cem\"><b>100 ans<\/b><small>3000\u20ac<\/small><\/button> <button class=\"paragem\" data-alvo=\"ainda\"><b>Pas encore arriv\u00e9<\/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\">Boutique MorValley \u00b7 No\u00ebl 2026<\/p> <h1>Salutations du Douro.<\/h1> <p class=\"abertura-sub\">Bienvenue. Je vous sugg\u00e8re de commencer par l\u2019un des embl\u00e8mes de la maison.<\/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=\"Filtrer par style\"> <span>Afficher<\/span> <button class=\"filtro\" aria-pressed=\"true\" data-f=\"todos\">Tout<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"tinto\">Rouge<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"branco\">Blanc<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"porto\">Porto<\/button> <button class=\"filtro\" aria-pressed=\"false\" data-f=\"caixa\">Coffrets et packs<\/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\">Temps I <em>caisses de 6<\/em><\/div> <h2>Tous les jours.<\/h2> <p class=\"cap-texto\">Un vin de qualit\u00e9 pour la table de tous les jours. Nul besoin d\u2019occasion.<\/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=\"Six bouteilles de Vale de Escadas Reserva rouge\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Rouge \u00b7 caisse de 6<\/span><button class=\"quero\" data-id=\"4258\" data-preco=\"54\">Je le veux<\/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=\"Six bouteilles de Vale de Escadas Reserva blanc\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Vale de Escadas Reserva<\/h3><span class=\"preco\">54\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Blanc \u00b7 caisse de 6<\/span><button class=\"quero\" data-id=\"4450\" data-preco=\"54\">Je le veux<\/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\">Temps II <em>d\u00e8s 22 \u20ac<\/em><\/div> <h2>Un <span style=\"white-space:nowrap\">week&#8209;end.<\/span><\/h2> <p class=\"cap-texto\">Une table bien garnie et de longues conversations. C\u2019est pour cela que je les fais.<\/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\">TVA incl.<\/small><\/span><span class=\"tipo\">Blanc \u00b7 2022<\/span><button class=\"quero\" data-id=\"130\" data-preco=\"22\">Je le veux<\/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\">TVA incl.<\/small><\/span><span class=\"tipo\">Rouge \u00b7 2022<\/span><button class=\"quero\" data-id=\"129\" data-preco=\"22\">Je le veux<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"\u00c9puis\u00e9\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-touriga.webp\" alt=\"MorValley Touriga Nacional, \u00e9puis\u00e9\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Touriga Nacional<\/h3><span class=\"preco\">27,50\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Rouge \u00b7 monoc\u00e9page<\/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\">Temps III <em>d\u00e8s 39,90 \u20ac<\/em><\/div> <h2>Une date qui compte.<\/h2> <p class=\"cap-texto\">Je cherche la perfection de la r\u00e9gion. Ce qui na\u00eet de la patience technique.<\/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\">TVA incl.<\/small><\/span><span class=\"tipo\">Rouge \u00b7 2016<\/span><button class=\"quero\" data-id=\"127\" data-preco=\"39.9\">Je le veux<\/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\">TVA incl.<\/small><\/span><span class=\"tipo\">Blanc \u00b7 2016<\/span><button class=\"quero\" data-id=\"126\" data-preco=\"39.9\">Je le veux<\/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 \u00e0 c\u00f4t\u00e9 de son coffret noir\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MEW<\/h3><span class=\"preco\">75\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Rouge \u00b7 Douro 2016<\/span><button class=\"quero\" data-id=\"125\" data-preco=\"75\">Je le veux<\/button><\/div> <\/article> <article class=\"produto peca esgotado\" data-tags=\"tinto branco caixa\"> <p class=\"marca\">&nbsp;<\/p> <figure data-faixa=\"\u00c9puis\u00e9\"><img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/morvalley.com\/wp-content\/uploads\/2026\/11\/mvnatal-collection.webp\" alt=\"Coffret MorValley Collection ouvert avec ses six bouteilles, \u00e9puis\u00e9\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Collection<\/h3><span class=\"preco\">209,50\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Collection en coffret<\/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\">Temps IV <em>Porto<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">10<sup>ans<\/sup><\/p> <h2>Dix ans en f\u00fbt.<\/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=\"Porto MYO 10 ans \u00e0 c\u00f4t\u00e9 de son coffret blanc\" 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\">TVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6719\" data-preco=\"65\">Je le veux<\/button><\/div> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Fruits secs, vanille et \u00e9pices. Frais en bouche, avec une longue finale.<\/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\">Temps V <em>d\u00e8s 125 \u20ac<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">20<sup>ans<\/sup><\/p> <h2>Vingt ans apr\u00e8s.<\/h2> <p class=\"cap-texto\">\u00c0 vingt ans, le Porto n\u2019est plus press\u00e9. Celui qui le re\u00e7oit non plus.<\/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=\"Porto MYO 20 ans \u00e0 c\u00f4t\u00e9 de son coffret\" 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\">TVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6778\" data-preco=\"125\">Je le veux<\/button><\/div> <\/article> <article class=\"produto peca\" data-tags=\"porto caixa\"> <p class=\"marca\">Peinte sur le verre<\/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=\"Pack Leva-me ao Douro : la caisse en bois avec deux verres et la bouteille peinte de Porto MYO 20 ans\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Pack Leva-me ao Douro<\/h3><span class=\"preco\">450\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Porto 20 ans \u00b7 bouteille peinte \u00b7 deux verres<\/span><button class=\"quero\" data-id=\"9659\" data-preco=\"450\">Je le veux<\/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\">Temps VI <em>Porto<\/em><\/div> <p class=\"numero\" aria-hidden=\"true\">50<sup>ans<\/sup><\/p> <h2>Un demi-si\u00e8cle.<\/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=\"Porto MYO 50 ans, \u00e9clair\u00e9 par le soleil de la vall\u00e9e du Douro \u00e0 l\u2019heure o\u00f9 vous regardez la page\" 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\">TVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6781\" data-preco=\"500\">Je le veux<\/button><\/div> <p class=\"luz-agora\"><span>Lumi\u00e8re du Douro, maintenant<\/span><button type=\"button\" aria-pressed=\"false\">Regarder passer la journ\u00e9e<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p>Il vieillit en f\u00fbt jusqu\u2019au jour de sa mise en bouteille. Pas un jour plus t\u00f4t.<\/p> <p class=\"prova\">Vanille, orange, noisette et miel. Ample et frais, avec des \u00e9pices en finale.<\/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\">Temps VII <em>Very Very Old<\/em><\/div> <h2>Un si\u00e8cle.<\/h2> <p class=\"cap-texto\">Il n\u2019y a pas d\u2019autre fa\u00e7on de le dire. Cent ans de Douro dans un verre.<\/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=\"Porto MYO Very Very Old \u00e0 c\u00f4t\u00e9 de son coffret noir, \u00e9clair\u00e9 par le soleil de la vall\u00e9e du Douro \u00e0 l\u2019heure o\u00f9 vous regardez la page\" 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\">TVA incl.<\/small><\/span><span class=\"tipo\">Porto<\/span><button class=\"quero\" data-id=\"6784\" data-preco=\"3000\">Je le veux<\/button><\/div> <p class=\"luz-agora\"><span>Lumi\u00e8re du Douro, maintenant<\/span><button type=\"button\" aria-pressed=\"false\">Regarder passer la journ\u00e9e<\/button><\/p> <\/article> <div class=\"nota-prova\"> <p class=\"prova\">Orange, caramel, noix et miel. Onctueux et frais, avec une longue finale vanill\u00e9e.<\/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\">Temps VIII <em>Magnum 1,5 L \u00b7 54,24 \u20ac<\/em><\/div> <h2>Pas encore arriv\u00e9.<\/h2> <\/div> <p class=\"cap-texto\">L\u2019atelier du Magnum. Choisissez le moment, \u00e9crivez les pr\u00e9noms et voyez tout de suite le rendu peint sur le verre.<\/p> <\/div> <div class=\"vida\" id=\"estudio\"> <div class=\"vida-abas\" role=\"group\" aria-label=\"Pour qui\"> <button class=\"aba\" type=\"button\" aria-pressed=\"true\" data-aba=\"gosta\">Pour quelqu\u2019un<\/button> <button class=\"aba\" type=\"button\" aria-pressed=\"false\" data-aba=\"empresa\">Pour l\u2019entreprise \u00b7 No\u00ebl 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=\"Le ciel du jour de sa naissance. Peint \u00e0 l\u2019or sur le verre.\"><i aria-hidden=\"true\"><\/i><b>Naissance<\/b><small>le premier jour<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"true\" data-o=\"aniversario\" data-sub=\"Il y a des chiffres qui se f\u00eatent. Le v\u00f4tre.\"><i aria-hidden=\"true\"><\/i><b>Anniversaire<\/b><small>chaque ann\u00e9e<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casamento\" data-sub=\"Ils ont dit oui. Vive les mari\u00e9s !\"><i aria-hidden=\"true\"><\/i><b>Mariage<\/b><small>le oui<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"casanova\" data-sub=\"Une cl\u00e9, un n\u0153ud. F\u00e9licitations pour votre nouvelle maison.\"><i aria-hidden=\"true\"><\/i><b>Nouvelle maison<\/b><small>la cl\u00e9<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"bodas\" data-sub=\"La danse continue. Ann\u00e9e apr\u00e8s ann\u00e9e.\"><i aria-hidden=\"true\"><\/i><b>Noces<\/b><small>25, 50 ans<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"reforma\" data-sub=\"La derni\u00e8re promotion. La meilleure de toutes.\"><i aria-hidden=\"true\"><\/i><b>Retraite<\/b><small>la derni\u00e8re promotion<\/small><\/button><\/li> <\/ol> <ol class=\"marcos sempre\"> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"familia\" data-sub=\"Il manque ici une famille. La v\u00f4tre.\"><i aria-hidden=\"true\"><\/i><b>Famille<\/b><small>chaque No\u00ebl<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"obrigado\" data-sub=\"Il y a des choses qui ne s\u2019ach\u00e8tent pas. Elles se remercient.\"><i aria-hidden=\"true\"><\/i><b>Merci<\/b><small>n\u2019importe quel jour<\/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=\"Il y a des marques qui s\u2019offrent. La v\u00f4tre.\"><i aria-hidden=\"true\"><\/i><b>Entreprise \u00b7 Pommes de pin<\/b><small>pour les clients<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"empresaVideira\" data-sub=\"Le Douro \u00e0 la table de vos clients. Sign\u00e9 par vous.\"><i aria-hidden=\"true\"><\/i><b>Entreprise \u00b7 Vigne<\/b><small>pour les clients<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabPinhas\" data-sub=\"Chaque membre de l\u2019\u00e9quipe. Avec son nom.\"><i aria-hidden=\"true\"><\/i><b>\u00c9quipe \u00b7 Pommes de pin<\/b><small>pour l\u2019\u00e9quipe<\/small><\/button><\/li> <li><button class=\"ocasiao marco\" aria-pressed=\"false\" data-o=\"colabVideira\" data-sub=\"Une ann\u00e9e de travail. Un toast \u00e0 son nom.\"><i aria-hidden=\"true\"><\/i><b>\u00c9quipe \u00b7 Vigne<\/b><small>pour l\u2019\u00e9quipe<\/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=\"Le Magnum choisi, peint et dans son coffret\" width=\"800\" height=\"1000\"><div class=\"vf\" id=\"vfPint\" aria-hidden=\"true\"><\/div><\/figure> <div class=\"painel\"> <p class=\"passo\"><i>1<\/i>Le moment<\/p> <p class=\"editor-titulo\"><span>Votre Magnum<\/span><b id=\"editorNome\">Anniversaire<\/b><em id=\"editorSub\">Il y a des chiffres qui se f\u00eatent. Le v\u00f4tre.<\/em><\/p> <p class=\"passo\"><i>2<\/i>\u00c9crivez <em>et voyez le rendu sur le verre<\/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\">De pr\u00e8s \u00b7 la zone peinte sur le verre du Magnum<\/span> <\/div> <div class=\"campos\" id=\"campos\"><\/div> <p class=\"campos-nota\" id=\"camposNota\" hidden><\/p> <p class=\"passo\"><i>3<\/i>Confirmez<\/p> <div class=\"conta\"> <div class=\"conta-linha\"><span>Magnum 1,5 L \u00b7 peinture sur le verre<\/span><b>54,24\u20ac<\/b><\/div> <div class=\"conta-linha leve\"><span>Coffret cadeau<\/span><span>inclus<\/span><\/div> <div class=\"conta-linha leve\"><span>TVA<\/span><span>comprise<\/span><\/div> <button class=\"botao quero-magnum\" data-preco=\"54.24\">Je veux ce Magnum<\/button> <p class=\"garantias\">Livraison dans toute l\u2019Union europ\u00e9enne \u00b7 Livraison gratuite au Portugal continental<\/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\">Autour de la bouteille<\/div> <h2>Pour servir et offrir.<\/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=\"Seau \u00e0 vin MorValley en bois et acier inoxydable\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Seau \u00e0 vin<\/h3><span class=\"preco\">175\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Bois et acier inoxydable<\/span><button class=\"quero\" data-id=\"7791\" data-preco=\"175\">Je le veux<\/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=\"Coffret Selection Douro Valley pour trois bouteilles\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>Selection Douro Valley<\/h3><span class=\"preco\">20\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Coffret premium \u00b7 3 bouteilles<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-selection\/\" data-preco=\"20\">Je le veux<\/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=\"Caisse en bois MorValley Premium pour trois bouteilles\" loading=\"lazy\" width=\"1000\" height=\"1000\"><\/figure> <div class=\"ficha\"><h3>MorValley Premium<\/h3><span class=\"preco\">15\u20ac<small class=\"iva\">TVA incl.<\/small><\/span><span class=\"tipo\">Caisse en bois \u00b7 3 bouteilles<\/span><button class=\"quero\" data-ligacao=\"https:\/\/morvalley.com\/produto\/caixa-premium\/\" data-preco=\"15\">Je le veux<\/button><\/div> <\/article> <\/div> <\/div> <\/section> <\/main> <footer class=\"contentor rodape\" data-tom=\"8\"> <p class=\"aviso-legal\">Vente interdite aux mineurs de moins de 18 ans. L\u2019abus d\u2019alcool est dangereux pour la sant\u00e9, \u00e0 consommer avec mod\u00e9ration.<\/p> <nav class=\"legal\" aria-label=\"Informations l\u00e9gales\"> <a href=\"https:\/\/morvalley.com\/fr\/conditions-generales\/\">Conditions g\u00e9n\u00e9rales<\/a> <a href=\"https:\/\/morvalley.com\/fr\/politique-de-confidentialite\/\">Politique de confidentialit\u00e9<\/a> <a href=\"https:\/\/morvalley.com\/fr\/conditions-generales\/\">Livraisons et retours<\/a> <a href=\"https:\/\/www.livroreclamacoes.pt\/Inicio\/\" target=\"_blank\" rel=\"noopener\">Livre de r\u00e9clamations<\/a> <\/nav> <span class=\"coord\">41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW<\/span> <span>\u00a9 2026 MorValley Douro Wines \u00b7 Vall\u00e9e du Douro<\/span> <\/footer> <div class=\"lupa\" id=\"lupa\" hidden role=\"dialog\" aria-modal=\"true\" aria-label=\"Photo en grand\"><img class=\"skip-lazy\" id=\"lupaImg\" alt=\"\"><button type=\"button\" id=\"lupaFechar\">Fermer<\/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>Fiche technique<\/span><button class=\"g-fechar\" type=\"button\" aria-label=\"Fermer la fiche technique\">Fermer<\/button><\/div> <div class=\"g-corpo\" id=\"gavetaCorpo\"><\/div> <\/aside><\/div><script src=\"data:text\/javascript;base64,KGZ1bmN0aW9uKCl7IGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdmxvamEtZm9udGVzJykpIHJldHVybjsgdmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOyBsLmlkPSdtdmxvamEtZm9udGVzJzsgbC5yZWw9J3N0eWxlc2hlZXQnOyBsLmhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q2luemVsOndnaHRANTAwOzYwMCZmYW1pbHk9RE0rU2FuczpvcHN6LHdnaHRAOS4uNDAsNDAwOzkuLjQwLDUwMDs5Li40MCw3MDAmZmFtaWx5PUl0YWxpYW5ubyZmYW1pbHk9UGxheWZhaXIrRGlzcGxheTppdGFsLHdnaHRAMCw0MDA7MCw1MDA7MCw2MDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDAmZGlzcGxheT1zd2FwJzsgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsKTsgfSkoKTsKCi8qIEEgZ2FycmFmYSBkbyBhdGVsaWVyOiBvIHRleHRvIGVzY3JpdG8gcGludGEtc2Ugbm8gdmlkcm8gZGEgZm90b2dyYWZpYSwgcG9yIGNpbWEgZGEgZ2FycmFmYSBsaW1wYS4KICAgQ29vcmRlbmFkYXMgbmEgZm90b2dyYWZpYSBkZSA4MDAgeCAxMDAwOyB0YW1hbmhvcyBlbSBweCBkZXNzYSBmb3RvZ3JhZmlhIChjb252ZXJ0aWRvcyBwYXJhIGNxdykuICovCndpbmRvdy5NVkdhcnJhZmE9KGZ1bmN0aW9uKCl7CiAgY29uc3QgT1VSTz0nI0Q5QjM2QycsIEJSQU5DTz0nI0Y0RUZFNicsIENPQlJFPScjRDQ5QTc4JywgVkVSTUVMSE89JyNEMjNCM0InOwogIGNvbnN0IEZUPXtzZXJpZjonIlBsYXlmYWlyIERpc3BsYXkiLEdlb3JnaWEsc2VyaWYnLCBjYXBzOidDaW56ZWwsIlRyYWphbiBQcm8iLEdlb3JnaWEsc2VyaWYnLCBzY3JpcHQ6J0l0YWxpYW5ubywiU25lbGwgUm91bmRoYW5kIixjdXJzaXZlJywgc2FuczonIkRNIFNhbnMiLEFyaWFsLHNhbnMtc2VyaWYnfTsKICBjb25zdCBlc2M9dD0+U3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ10vZyxjPT4oeycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdKSk7CiAgY29uc3QgTUVTRVM9e3B0OlsnamFudmllcicsICdmw6l2cmllcicsICdtYXJzJywgJ2F2cmlsJywgJ21haScsICdqdWluJywgJ2p1aWxsZXQnLCAnYW\/Du3QnLCAnc2VwdGVtYnJlJywgJ29jdG9icmUnLCAnbm92ZW1icmUnLCAnZMOpY2VtYnJlJ10sCiAgICAgICAgICAgICAgIGVuOlsnSmFudWFyeScsJ0ZlYnJ1YXJ5JywnTWFyY2gnLCdBcHJpbCcsJ01heScsJ0p1bmUnLCdKdWx5JywnQXVndXN0JywnU2VwdGVtYmVyJywnT2N0b2JlcicsJ05vdmVtYmVyJywnRGVjZW1iZXInXX07CiAgY29uc3QgU0lHTk9TPXtwdDpbJ0NhcHJpY29ybmUnLCAnVmVyc2VhdScsICdQb2lzc29ucycsICdCw6lsaWVyJywgJ1RhdXJlYXUnLCAnR8OpbWVhdXgnLCAnQ2FuY2VyJywgJ0xpb24nLCAnVmllcmdlJywgJ0JhbGFuY2UnLCAnU2NvcnBpb24nLCAnU2FnaXR0YWlyZSddLAogICAgICAgICAgICAgICAgZW46WydDYXByaWNvcm4nLCdBcXVhcml1cycsJ1Bpc2NlcycsJ0FyaWVzJywnVGF1cnVzJywnR2VtaW5pJywnQ2FuY2VyJywnTGVvJywnVmlyZ28nLCdMaWJyYScsJ1Njb3JwaW8nLCdTYWdpdHRhcml1cyddfTsKICBjb25zdCBDT1JURT1bMjAsMTksMjEsMjAsMjEsMjEsMjMsMjMsMjMsMjMsMjIsMjJdOwogIGZ1bmN0aW9uIGRhdGEodCl7Y29uc3QgbT1TdHJpbmcodHx8JycpLm1hdGNoKC9eKFxkezEsMn0pWy5cLy1dKFxkezEsMn0pWy5cLy1dKFxkezR9KSQvKTsgaWYoIW0pIHJldHVybiBudWxsOyBjb25zdCBkPSttWzFdLCBtbT0rbVsyXSwgYT0rbVszXTsgaWYobW08MXx8bW0+MTJ8fGQ8MXx8ZD4zMSkgcmV0dXJuIG51bGw7IHJldHVybiB7ZCxtOm1tLGF9O30KICBmdW5jdGlvbiBzaWdubyhkdCxsKXsgaWYoIWR0KSByZXR1cm4gJyc7IGNvbnN0IGk9ZHQuZDxDT1JURVtkdC5tLTFdPyhkdC5tLTEpOmR0Lm0lMTI7IHJldHVybiBTSUdOT1NbbF1baV07IH0KICBmdW5jdGlvbiBkYXRhTG9uZ2EoZHQsbCl7IGlmKCFkdCkgcmV0dXJuICcnOyByZXR1cm4gbD09PSdlbic\/IGR0LmQrJyAnK01FU0VTLmVuW2R0Lm0tMV0rJyAnK2R0LmEgOiBkdC5kKycgJytNRVNFUy5wdFtkdC5tLTFdKycgJytkdC5hOyB9CiAgZnVuY3Rpb24gZGF0YUN1cnRhKGR0LGwpeyBpZighZHQpIHJldHVybiAnJzsgcmV0dXJuIGR0LmQrJyAnK01FU0VTW2xdW2R0Lm0tMV0udG9VcHBlckNhc2UoKSsnICcrZHQuYTsgfQogIC8vIHVtYSBsaW5oYTogeCx5IGNlbnRybyAob3Ugw6JuY29yYSksIGZzIGVtIHB4IGRhIGZvdG8sIGxhcmd1cmEgbcOheGltYSBlbSBweCBkYSBmb3RvCiAgZnVuY3Rpb24gTCh0LHgseSxmcyxvKXsgbz1vfHx7fTsgcmV0dXJuIE9iamVjdC5hc3NpZ24oe3QseCx5LGZzLGZvbnQ6RlQuc2VyaWYsY29yOkJSQU5DTyx3dDo0MDAsaXQ6ZmFsc2UsbHM6MCxhbDonYycsbWF4OjI0MCxodG1sOmZhbHNlfSxvKTsgfQogIGZ1bmN0aW9uIG5vbWVEdWFzKG4peyBjb25zdCBwPVN0cmluZyhuKS50cmltKCkuc3BsaXQoL1xzKy8pOyBpZihwLmxlbmd0aDwyKSByZXR1cm4gW24sJyddOyByZXR1cm4gW3BbMF0scC5zbGljZSgxKS5qb2luKCcgJyldOyB9CiAgY29uc3QgVD17CiAgICBwdDp7cHJvbW86J0bDqWxpY2l0YXRpb25zIHBvdXIgbGEgPGIgc3R5bGU9ImNvbG9yOicrVkVSTUVMSE8rJyI+cHJvbW90aW9uPC9iPicsY2FzYU5vdmE6J0bDqWxpY2l0YXRpb25zIHBvdXIgdm90cmUgbm91dmVsbGUgbWFpc29uJyxmYW1pbGlhOidGYW1pbGxlJyxmZWxpYzonVG91cyBub3MgdsWTdXgnLGFub3M6J2FucycscmVzZXJ2YTonUsOpc2VydmUnLG5vaXZvczonZGVzIG1hcmnDqXMnLG9icmlnYWRvOidNZXJjaScsZmFtaWxpYURlOmE9PidGYW1pbGxlICcrYX0sCiAgICBlbjp7cHJvbW86J0NvbmdyYXR1bGF0aW9ucyBvbiB0aGUgPGIgc3R5bGU9ImNvbG9yOicrVkVSTUVMSE8rJyI+cHJvbW90aW9uPC9iPicsY2FzYU5vdmE6J0NvbmdyYXR1bGF0aW9ucyBvbiB5b3VyIG5ldyBob21lJyxmYW1pbGlhOidGYW1pbHknLGZlbGljOidFdmVyeSBoYXBwaW5lc3MnLGFub3M6J3llYXJzJyxyZXNlcnZhOidSZXNlcnZlJyxub2l2b3M6J29mIHRoZSBuZXdseXdlZHMnLG9icmlnYWRvOidUaGFuayB5b3UnLGZhbWlsaWFEZTphPT4nVGhlICcrYSsnIGZhbWlseSd9CiAgfTsKICBjb25zdCBEPXsKICAgIGFuaXZlcnNhcmlvOih2LGwpPT57Y29uc3QgW2EsYl09bm9tZUR1YXModi5ub21lKTsgcmV0dXJuIFtMKHYuaWRhZGUsMjU0LDUzOCwxMjAse2ZvbnQ6RlQuc2VyaWYsd3Q6NjAwLGNvcjpPVVJPLG1heDoyMTB9KSwgTChhLDI1Myw2MzIsNjIse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMjB9KSwgTChiLDI1Myw2NzcsNjIse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMjB9KV07fSwKICAgIG5hc2NpbWVudG86KHYsbCk9Pntjb25zdCBkdD1kYXRhKHYuZGF0YSk7IHJldHVybiBbTChzaWdubyhkdCxsKS50b1VwcGVyQ2FzZSgpLDI2Miw1NzEsOS41LHtmb250OkZULmNhcHMsY29yOk9VUk8sbHM6LjI4fSksIEwoU3RyaW5nKHYubm9tZSkudG9VcHBlckNhc2UoKSwyNjIsNTkyLDI0LjUse2ZvbnQ6RlQuY2Fwcyx3dDo3MDAsbWF4OjIxNX0pLCBMKGRhdGFMb25nYShkdCxsKSwyNjIsNjEzLDkuNSx7Zm9udDpGVC5zZXJpZixpdDp0cnVlfSldO30sCiAgICBjYXNhbWVudG86KHYsbCk9Pntjb25zdCBkdD1kYXRhKHYuZGF0YSk7IHJldHVybiBbTChUW2xdLnJlc2VydmEsMTg1LDUwNSwxMSx7Zm9udDpGVC5jYXBzLGFsOidsJyxsczouMDR9KSwgTChUW2xdLm5vaXZvcy50b1VwcGVyQ2FzZSgpLDE4NSw1MjAsOC41LHtmb250OkZULmNhcHMsYWw6J2wnLGxzOi4xMn0pLAogICAgICBMKFN0cmluZyh2LmEpLnRvVXBwZXJDYXNlKCksMTg1LDU2MCwzNCx7Zm9udDpGVC5jYXBzLHd0OjcwMCxhbDonbCcsbWF4OjExMn0pLCBMKCcmYW1wOycsMzAwLDU3OCw3OCx7Zm9udDpGVC5zZXJpZixpdDp0cnVlLGNvcjpDT0JSRSxodG1sOnRydWV9KSwgTChTdHJpbmcodi5iKS50b1VwcGVyQ2FzZSgpLDM0Miw2MTIsMzQse2ZvbnQ6RlQuY2Fwcyx3dDo3MDAsYWw6J3InLG1heDoxNTB9KSwKICAgICAgTChkYXRhQ3VydGEoZHQsbCksMzM4LDY2OCwxMSx7Zm9udDpGVC5jYXBzLGFsOidyJyxsczouMDh9KV07fSwKICAgIGNhc2Fub3ZhOih2LGwpPT5bTChUW2xdLmNhc2FOb3ZhLDI2MCw1ODMsMjUse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMzB9KSwgTChUW2xdLmZhbWlsaWFEZShTdHJpbmcodi5hcGVsaWRvKSkudG9VcHBlckNhc2UoKSwyNjAsNjA3LDE1LHtmb250OkZULmNhcHMsd3Q6NjAwLG1heDoyMzB9KSwgTChUW2xdLmZlbGljKycgwrcgJyt2LmFubywyNjAsNjI0LDcse2ZvbnQ6RlQuc2Fucyxjb3I6T1VST30pXSwKICAgIGJvZGFzOih2LGwpPT57Y29uc3Qgbj1wYXJzZUludCh2LmFub3MsMTApLCB5PW5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTsgcmV0dXJuIFtMKCc8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JytGVC5zZXJpZi5yZXBsYWNlKC8iL2csIiciKSsnO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MS45ZW0iPicrZXNjKHYuYW5vcykrJzwvc3Bhbj4gJytUW2xdLmFub3MudG9VcHBlckNhc2UoKSwyNTUsNTg4LDE0LHtmb250OkZULmNhcHMsd3Q6NjAwLGNvcjpPVVJPLGh0bWw6dHJ1ZSxsczouMDZ9KSwKICAgICAgTCh2LmErJyAmICcrdi5iLDI1NSw2MTEsMjQse2ZvbnQ6RlQuc2NyaXB0LGNvcjpPVVJPLG1heDoyMDB9KSwgTChpc05hTihuKT8nJzooeS1uKSsnIMK3ICcreSwyNTUsNjI4LDcuNSx7Zm9udDpGVC5jYXBzLGxzOi4xfSldO30sCiAgICByZWZvcm1hOih2LGwpPT5bTChUW2xdLnByb21vLnRvVXBwZXJDYXNlKCksMjYyLDUyMiw4LjUse2ZvbnQ6RlQuY2Fwcyx3dDo2MDAsbHM6LjEyLGh0bWw6dHJ1ZSxtYXg6MjAwfSksIEwoU3RyaW5nKHYubm9tZSkudG9VcHBlckNhc2UoKSwyNjIsNTY3LDIxLHtmb250OkZULmNhcHMsd3Q6NzAwLG1heDoyMjB9KSwKICAgICAgTCgnPGkgc3R5bGU9ImRpc3BsYXk6YmxvY2s7d2lkdGg6NDBweDtoZWlnaHQ6M3B4O2JhY2tncm91bmQ6JytWRVJNRUxITysnIj48L2k+JywyNjIsNTg2LDEwLHtodG1sOnRydWV9KSwgTChTdHJpbmcodi5jYXJnbykudG9VcHBlckNhc2UoKSwyNjIsNjE2LDE1LHtmb250OkZULmNhcHMsd3Q6NzAwLG1heDoxNjUscXVlYnJhOnRydWV9KSwgTChTdHJpbmcodi5hc3MpLnRvVXBwZXJDYXNlKCksMjYyLDY1OSw4LjUse2ZvbnQ6RlQuY2Fwcyx3dDo2MDAsbHM6LjEsbWF4OjIyMH0pXSwKICAgIGZhbWlsaWE6KHYsbCk9PltMKFRbbF0uZmFtaWxpYSwyNTYsNTQzLDI0LHtmb250OkZULnNjcmlwdH0pLCBMKHYuYXBlbGlkbywyNTYsNTc4LDQyLHtmb250OkZULnNjcmlwdCxtYXg6MTAwfSldLAogICAgb2JyaWdhZG86KHYsbCk9PltMKFRbbF0ub2JyaWdhZG8sMjQ2LDQ1MywzNCx7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk99KSwgTChTdHJpbmcodi5wYXJhKS50b1VwcGVyQ2FzZSgpLDI0Niw0ODAsMTEse2ZvbnQ6RlQuY2Fwcyx3dDo2MDAsbWF4OjE4MH0pLCBMKHYucG9ycXVlLDI0Niw0OTQsOC41LHtmb250OkZULnNlcmlmLGl0OnRydWUsbWF4OjIwMH0pXSwKICAgIGNvbGFiUGluaGFzOih2LGwpPT57Y29uc3QgW2EsYl09bm9tZUR1YXModi5ub21lKTsgcmV0dXJuIFtMKGEsMjg4LDY1Miw1Nix7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk8sbWF4OjIwMH0pLCBMKGIsMjg4LDcwMCw1Nix7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk8sbWF4OjIwMH0pXTt9LAogICAgY29sYWJWaWRlaXJhOih2LGwpPT5bTCh2Lm5vbWUsMjc4LDY4NSw0Nix7Zm9udDpGVC5zY3JpcHQsY29yOk9VUk8sbWF4OjIwNX0pXQogIH07CiAgZnVuY3Rpb24gZGVzZW5oYShlbCxvYyx2LGwpewogICAgbD1sPT09J2VuJz8nZW4nOidwdCc7CiAgICBpZighRFtvY10peyBlbC5pbm5lckhUTUw9Jyc7IGVsLmhpZGRlbj10cnVlOyByZXR1cm4gZmFsc2U7IH0KICAgIGVsLmhpZGRlbj1mYWxzZTsKICAgIGVsLmlubmVySFRNTD1EW29jXSh2LGwpLmZpbHRlcih4PT54LnQhPT0nJyYmeC50IT1udWxsKS5tYXAoeD0+ewogICAgICBjb25zdCB0eD14LmFsPT09J2wnPycwJzp4LmFsPT09J3InPyctMTAwJSc6Jy01MCUnOwogICAgICBjb25zdCBzdD1gbGVmdDoke3gueC84fWNxdzt0b3A6JHt4LnkvOH1jcXc7Zm9udC1zaXplOiR7eC5mcy84fWNxdztmb250LWZhbWlseToke3guZm9udC5yZXBsYWNlKC8iL2csIiciKX07Y29sb3I6JHt4LmNvcn07Zm9udC13ZWlnaHQ6JHt4Lnd0fTtmb250LXN0eWxlOiR7eC5pdD8naXRhbGljJzonbm9ybWFsJ307bGV0dGVyLXNwYWNpbmc6JHt4LmxzfWVtO3RyYW5zZm9ybTp0cmFuc2xhdGUoJHt0eH0sLTUwJSk7dGV4dC1hbGlnbjoke3guYWw9PT0nbCc\/J2xlZnQnOnguYWw9PT0ncic\/J3JpZ2h0JzonY2VudGVyJ307JHt4LnF1ZWJyYT8nd2hpdGUtc3BhY2U6bm9ybWFsO3dpZHRoOicrKHgubWF4LzgpKydjcXc7bGluZS1oZWlnaHQ6MS4yNSc6Jyd9YDsKICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz0idmYtbCIgZGF0YS1tYXg9IiR7eC5tYXh9IiBzdHlsZT0iJHtzdH0iPiR7eC5odG1sP3gudDplc2MoeC50KX08L3NwYW4+YDsKICAgIH0pLmpvaW4oJycpOwogICAgLy8gbyB0ZXh0byB0ZW0gZGUgY2FiZXIgbm8gdmlkcm86IHNlIGZvciBjb21wcmlkbywgZW5jb2xoZQogICAgZWwucXVlcnlTZWxlY3RvckFsbCgnLnZmLWwnKS5mb3JFYWNoKHM9PnsKICAgICAgaWYocy5zdHlsZS53aGl0ZVNwYWNlPT09J25vcm1hbCcpIHJldHVybjsKICAgICAgY29uc3QgbGltPWVsLmNsaWVudFdpZHRoKigrcy5kYXRhc2V0Lm1heC84MDApOyBjb25zdCB3PXMuc2Nyb2xsV2lkdGg7CiAgICAgIGlmKHc+bGltJiZsaW0+MCl7IHMuc3R5bGUuZm9udFNpemU9KHBhcnNlRmxvYXQocy5zdHlsZS5mb250U2l6ZSkqbGltL3cpKydjcXcnOyB9CiAgICB9KTsKICAgIHJldHVybiB0cnVlOwogIH0KICByZXR1cm4ge2Rlc2VuaGEsIHRlbTpvYz0+ISFEW29jXX07Cn0pKCk7CgoKKGZ1bmN0aW9uKCl7CiAgLyogUsOpZ3VhOiBhIGFndWxoYSBjb3JyZSBjb20gYSBsZWl0dXJhIGRhIHDDoWdpbmEgKi8KICBjb25zdCBjYXBzPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1wYXJhZ2VtXScpXTsKICBjb25zdCBwYXJhZ2Vucz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBhcmFnZW0nKV07CiAgY29uc3QgYWd1bGhhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhZ3VsaGEnKTsKICBjb25zdCB0b3BvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b3BvJyk7CiAgY29uc3QgdG9ucz1bLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdG9tXScpXTsKICBjb25zdCBWQVJTPVsnLS1jaGFvJywnLS1jaGFvLTInLCctLXBhcGVsJywnLS1jaW56YScsJy0tb3VybycsJy0tb3Vyby1mb3J0ZScsJy0tZmlvJ107CiAgbGV0IHRvbUF0dWFsPW51bGw7CiAgZnVuY3Rpb24gdG9tRG9Ub3BvKCl7CiAgICBjb25zdCB5PXRvcG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tKzI7CiAgICBsZXQgc2VjPXRvbnNbMF07CiAgICBmb3IoY29uc3QgdCBvZiB0b25zKXsgaWYodC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A8PXkpIHNlYz10OyB9CiAgICBpZihzZWM9PT10b21BdHVhbCkgcmV0dXJuOwogICAgdG9tQXR1YWw9c2VjOwogICAgY29uc3QgY3M9Z2V0Q29tcHV0ZWRTdHlsZShzZWMpOwogICAgVkFSUy5mb3JFYWNoKHY9PnRvcG8uc3R5bGUuc2V0UHJvcGVydHkodixjcy5nZXRQcm9wZXJ0eVZhbHVlKHYpLnRyaW0oKSkpOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWZhaXhhJyxjcy5nZXRQcm9wZXJ0eVZhbHVlKCctLWNoYW8nKS50cmltKCkpOwogIH0KICBjb25zdCByYWl6PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtdmxvamEnKTsKICBmdW5jdGlvbiBhbHR1cmFTaXRlKCl7CiAgICBsZXQgZnVuZG89MDsgY29uc3QgcnM9W107CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdoZWFkZXIuZWxlbWVudG9yLWxvY2F0aW9uLWhlYWRlciAqLCAjd3BhZG1pbmJhcicpLmZvckVhY2goZT0+ewogICAgICBjb25zdCBjcz1nZXRDb21wdXRlZFN0eWxlKGUpOyBpZihjcy5wb3NpdGlvbiE9PSdmaXhlZCd8fGNzLmRpc3BsYXk9PT0nbm9uZSd8fGNzLnZpc2liaWxpdHk9PT0naGlkZGVuJ3x8cGFyc2VGbG9hdChjcy5vcGFjaXR5KT09PTApIHJldHVybjsKICAgICAgY29uc3Qgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOyBpZighKHIuaGVpZ2h0PjAgJiYgci53aWR0aD53aW5kb3cuaW5uZXJXaWR0aCowLjUgJiYgci5oZWlnaHQ8d2luZG93LmlubmVySGVpZ2h0KjAuNSkpIHJldHVybjsgY29uc3QgcD1kb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KE1hdGgubWluKHdpbmRvdy5pbm5lcldpZHRoLTIsTWF0aC5tYXgoMixyLmxlZnQrci53aWR0aC8yKSksTWF0aC5tYXgoMCxyLmJvdHRvbS0zKSk7IGlmKHAmJihwPT09ZXx8ZS5jb250YWlucyhwKSkpIHJzLnB1c2gocik7CiAgICB9KTsKICAgIHJzLnNvcnQoKGEsYik9PmEudG9wLWIudG9wKS5mb3JFYWNoKHI9PnsgaWYoci50b3A8PWZ1bmRvKzIpIGZ1bmRvPU1hdGgubWF4KGZ1bmRvLHIuYm90dG9tKTsgfSk7CiAgICByYWl6LnN0eWxlLnNldFByb3BlcnR5KCctLW12LXRvcG8nLE1hdGgucm91bmQoZnVuZG8pKydweCcpOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNjcm9sbFBhZGRpbmdUb3A9TWF0aC5yb3VuZChmdW5kbyt0b3BvLm9mZnNldEhlaWdodCsxMikrJ3B4JzsKICB9CiAgbGV0IHRBbHR1cmE9bnVsbDsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywoKT0+e2NsZWFyVGltZW91dCh0QWx0dXJhKTsgdEFsdHVyYT1zZXRUaW1lb3V0KCgpPT57YWx0dXJhU2l0ZSgpO3Bvc2ljYW8oKTt9LDkwKTt9LHtwYXNzaXZlOnRydWV9KTsKICBzZXRUaW1lb3V0KGFsdHVyYVNpdGUsNjAwKTsKICBmdW5jdGlvbiBwb3NpY2FvKCl7CiAgICBhbHR1cmFTaXRlKCk7CiAgICB0b21Eb1RvcG8oKTsKICAgIGlmKCFhZ3VsaGEpIHJldHVybjsKICAgIGNvbnN0IGxpbmhhPXRvcG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tK3dpbmRvdy5pbm5lckhlaWdodCowLjI1OwogICAgbGV0IGlkeD0tMSwgZnJhYz0wOwogICAgY2Fwcy5mb3JFYWNoKChjLGkpPT57CiAgICAgIGNvbnN0IHI9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgaWYoci50b3A8PWxpbmhhKXtpZHg9aTtmcmFjPU1hdGgubWluKDEsTWF0aC5tYXgoMCwobGluaGEtci50b3ApL3IuaGVpZ2h0KSk7fQogICAgfSk7CiAgICBjb25zdCBuPWNhcHMubGVuZ3RoOwogICAgbGV0IHBvczsKICAgIGlmKGlkeDwwKXtwb3M9MH0KICAgIGVsc2V7cG9zPShpZHgrZnJhYykvbn0KICAgIHBvcz1NYXRoLm1pbigxLHBvcyk7CiAgICBhZ3VsaGEuc3R5bGUubGVmdD0ocG9zKjEwMCkrJyUnOwogICAgcGFyYWdlbnMuZm9yRWFjaCgocCxpKT0+cC5zZXRBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcsaT09PWlkeD8ndHJ1ZSc6J2ZhbHNlJykpOwogIH0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJyxwb3NpY2FvLHtwYXNzaXZlOnRydWV9KTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJyxwb3NpY2FvKTsKICBwb3NpY2FvKCk7CiAgcGFyYWdlbnMuZm9yRWFjaChwPT5wLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgY29uc3QgYWx2bz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChwLmRhdGFzZXQuYWx2byk7CiAgICBpZihhbHZvKSBhbHZvLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjptYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXM\/J2F1dG8nOidzbW9vdGgnfSk7CiAgfSkpOwoKICAvKiBGaWx0cm9zOiBvcyB2aW5ob3MgZXNjb2xoaWRvcyBzb2JlbSBwYXJhIG8gdG9wbywgbnVtYSBzw7MgbGlzdGE7IGVtICJUdWRvIiB2b2x0YSBhIGxvamEgcGVsbyB0ZW1wbyAqLwogIGNvbnN0IGZpbHRyb3M9Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5maWx0cm8nKV07CiAgY29uc3QgY2FwaXR1bG9zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzZWN0aW9uLmNhcGl0dWxvW2RhdGEtcGFyYWdlbV06bm90KCNhaW5kYSksICNzZXJ2aXInKV07CiAgY29uc3Qgbm9tZXM9e3RpbnRvOidSb3VnZScsYnJhbmNvOidCbGFuYycscG9ydG86J1BvcnRvJyxjYWl4YTonQ29mZnJldHMgZXQgcGFja3MnfTsKICBjb25zdCByZXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VjdGlvbicpOyByZXMuY2xhc3NOYW1lPSdjYXBpdHVsbyByZXN1bHRhZG9zJzsgcmVzLmRhdGFzZXQudG9tPScxJzsgcmVzLmhpZGRlbj10cnVlOwogIHJlcy5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImNvbnRlbnRvciI+PGRpdiBjbGFzcz0icmVzLWNhYiI+PHAgY2xhc3M9ImNhcC1ldGlxdWV0YSIgaWQ9InJlc1RpdHVsbyI+PC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0icmVzLWxpbXBhciI+Vm9pciB0b3V0ZSBsYSBib3V0aXF1ZTwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9ImdyZWxoYSByZXMtZ3JlbGhhIiBpZD0icmVzR3JlbGhhIj48L2Rpdj48L2Rpdj4nOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKS5hZnRlcihyZXMpOwogIGNvbnN0IGdyZWxoYVI9cmVzLnF1ZXJ5U2VsZWN0b3IoJyNyZXNHcmVsaGEnKSwgdGl0dWxvUj1yZXMucXVlcnlTZWxlY3RvcignI3Jlc1RpdHVsbycpOwogIGNvbnN0IGx1Z2FyZXM9bmV3IE1hcCgpOwogIGZ1bmN0aW9uIHJlcG9yKCl7CiAgICBsdWdhcmVzLmZvckVhY2goKG1hcmNhLHApPT57bWFyY2EucmVwbGFjZVdpdGgocCk7fSk7IGx1Z2FyZXMuY2xlYXIoKTsKICAgIHJlcy5oaWRkZW49dHJ1ZTsgY2FwaXR1bG9zLmZvckVhY2goYz0+Yy5oaWRkZW49ZmFsc2UpOwogIH0KICBmdW5jdGlvbiBhcGxpY2Eodil7CiAgICBmaWx0cm9zLmZvckVhY2goeD0+eC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcseC5kYXRhc2V0LmY9PT12Pyd0cnVlJzonZmFsc2UnKSk7CiAgICByZXBvcigpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXZsb2phJykuY2xhc3NMaXN0LnRvZ2dsZSgnYS1maWx0cmFyJyx2IT09J3RvZG9zJyk7CiAgICBpZih2PT09J3RvZG9zJykgcmV0dXJuOwogICAgY29uc3Qgc2VsPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGVjYVtkYXRhLXRhZ3NdJyldLmZpbHRlcihwPT5wLmRhdGFzZXQudGFncy5zcGxpdCgnICcpLmluY2x1ZGVzKHYpICYmICFwLmNsb3Nlc3QoJyNhaW5kYScpKTsKICAgIHNlbC5mb3JFYWNoKHA9Pntjb25zdCBtPWRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoJ2x1Z2FyJyk7IHAucmVwbGFjZVdpdGgobSk7IGx1Z2FyZXMuc2V0KHAsbSk7IGdyZWxoYVIuYXBwZW5kQ2hpbGQocCk7fSk7CiAgICB0aXR1bG9SLmlubmVySFRNTD1ub21lc1t2XSsnIDxlbT4nK3NlbC5sZW5ndGgrKHNlbC5sZW5ndGg9PT0xPycgcHJvZHVpdCc6JyBwcm9kdWl0cycpKyc8L2VtPic7CiAgICBjYXBpdHVsb3MuZm9yRWFjaChjPT5jLmhpZGRlbj10cnVlKTsgcmVzLmhpZGRlbj1mYWxzZTsKICAgIHJlcy5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6bWF0Y2hNZWRpYSgnKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSknKS5tYXRjaGVzPydhdXRvJzonc21vb3RoJyxibG9jazonc3RhcnQnfSk7CiAgfQogIGZpbHRyb3MuZm9yRWFjaChmPT5mLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+YXBsaWNhKGYuZGF0YXNldC5mKSkpOwogIC8vIGEgcsOpZ3VhIGRvIHRlbXBvIHZvbHRhIGEgbW9zdHJhciBhIGxvamEgdG9kYSBxdWFuZG8gw6kgdXNhZGEKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGFyYWdlbScpLmZvckVhY2gocGE9PnBhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+eyBpZighcmVzLmhpZGRlbikgYXBsaWNhKCd0b2RvcycpOyB9LHRydWUpKTsKICByZXMucXVlcnlTZWxlY3RvcignLnJlcy1saW1wYXInKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnthcGxpY2EoJ3RvZG9zJyk7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCd9KTt9KTsKCiAgLyogQ2FycmluaG8gdmVyZGFkZWlybyBkbyBXb29Db21tZXJjZTogYW8gZXNjb2xoZXIgdW0gdmluaG8gYXBhcmVjZSBhIHF1YW50aWRhZGUsIHF1ZSBzZSBhY2VydGEgY29tIC0gZSArICovCiAgY29uc3QgQVBJPScvd3AtanNvbi93Yy9zdG9yZS92MS8nOyBsZXQgbm9uY2U9bnVsbDsKICBhc3luYyBmdW5jdGlvbiBwZWRlKGNhbWluaG8sZGFkb3MpewogICAgY29uc3QgaD17J0NvbnRlbnQtVHlwZSc6J2FwcGxpY2F0aW9uL2pzb24nfTsgaWYobm9uY2UpIGhbJ05vbmNlJ109bm9uY2U7CiAgICBjb25zdCByPWF3YWl0IGZldGNoKEFQSStjYW1pbmhvLHttZXRob2Q6ZGFkb3M\/J1BPU1QnOidHRVQnLGNyZWRlbnRpYWxzOidzYW1lLW9yaWdpbicsaGVhZGVyczpoLGJvZHk6ZGFkb3M\/SlNPTi5zdHJpbmdpZnkoZGFkb3MpOnVuZGVmaW5lZH0pOwogICAgY29uc3Qgbj1yLmhlYWRlcnMuZ2V0KCdOb25jZScpOyBpZihuKSBub25jZT1uOwogICAgY29uc3Qgaj1hd2FpdCByLmpzb24oKS5jYXRjaCgoKT0+KHt9KSk7CiAgICBpZighci5vaykgdGhyb3cgajsgcmV0dXJuIGo7CiAgfQogIGZ1bmN0aW9uIGF2aXNhU2l0ZSgpewogICAgLy8gbyBjYXJyaW5obyBkbyBjYWJlw6dhbGhvIGRvIHNpdGUgYWN0dWFsaXphLXNlIHNlbSByZWNhcnJlZ2FyIGEgcMOhZ2luYQogICAgZmV0Y2goJy9mci8\/d2MtYWpheD1nZXRfcmVmcmVzaGVkX2ZyYWdtZW50cycse21ldGhvZDonUE9TVCcsY3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pLnRoZW4ocj0+ci5qc29uKCkpLnRoZW4oZD0+ewogICAgICBPYmplY3QuZW50cmllcyhkJiZkLmZyYWdtZW50c3x8e30pLmZvckVhY2goKFtzZWwsaHRtbF0pPT57IGlmKCEvXlsuI2Etel0vaS50ZXN0KHNlbCkpIHJldHVybjsgdHJ5eyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbCkuZm9yRWFjaChlbD0+e2VsLm91dGVySFRNTD1odG1sO30pOyB9Y2F0Y2goZSl7fSB9KTsKICAgICAgdHJ5eyBpZih3aW5kb3cualF1ZXJ5KSBqUXVlcnkoZG9jdW1lbnQuYm9keSkudHJpZ2dlcignd2NfZnJhZ21lbnRzX3JlZnJlc2hlZCcpOyB9Y2F0Y2goZSl7fQogICAgfSkuY2F0Y2goKCk9Pnt9KTsKICB9CiAgY29uc3QgYm90b2VzPW5ldyBNYXAoKTsKICBmdW5jdGlvbiBhcGxpY2FDYXJyaW5obyhjKXsKICAgIGNvbnN0IHBvcklkPXt9OyAoYyYmYy5pdGVtc3x8W10pLmZvckVhY2goaT0+e3BvcklkW2kuaWRdPWk7fSk7CiAgICBib3RvZXMuZm9yRWFjaCgoY3RsLGlkKT0+e2NvbnN0IGk9cG9ySWRbaWRdOyBjdGwuZGVmaW5lKGk\/aS5xdWFudGl0eTowLGk\/aS5rZXk6bnVsbCk7fSk7CiAgfQogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xdWVybycpLmZvckVhY2goYj0+ewogICAgY29uc3QgY2FpeGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGNhaXhhLmNsYXNzTmFtZT0nY29tcHJhcic7CiAgICBjb25zdCBxPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBxLmNsYXNzTmFtZT0ncXRkJzsKICAgIHEuaW5uZXJIVE1MPSc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InF0ZC1tZW5vcyIgYXJpYS1sYWJlbD0iVW5lIGRlIG1vaW5zIj7iiJI8L2J1dHRvbj48b3V0cHV0IGFyaWEtbGl2ZT0icG9saXRlIj4xPC9vdXRwdXQ+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdGQtbWFpcyIgYXJpYS1sYWJlbD0iVW5lIGRlIHBsdXMiPis8L2J1dHRvbj4nOwogICAgYi5yZXBsYWNlV2l0aChjYWl4YSk7IGNhaXhhLmFwcGVuZChxLGIpOwogICAgaWYoYi5kYXRhc2V0LmxpZ2FjYW8peyBjYWl4YS5jbGFzc0xpc3QuYWRkKCdsaWdhY2FvJyk7IGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57bG9jYXRpb24uaHJlZj1iLmRhdGFzZXQubGlnYWNhbzt9KTsgcmV0dXJuOyB9CiAgICBjb25zdCBpZD1wYXJzZUludChiLmRhdGFzZXQuaWQsMTApOwogICAgY29uc3Qgb3V0PXEucXVlcnlTZWxlY3Rvcignb3V0cHV0Jyk7IGxldCBuPTEsIG5vQ2FycmluaG89MCwgY2hhdmU9bnVsbCwgb2N1cGFkbz1mYWxzZTsKICAgIGNvbnN0IHRleHRvPWIudGV4dENvbnRlbnQ7CiAgICAvLyBhbnRlcyBkZSBjb21wcmFyOiBlc2NvbGhlLXNlIGEgcXVhbnRpZGFkZSAobcOtbmltbyAxKQogICAgLy8gZGVwb2lzIGRlIGNvbXByYXI6IG8gbsO6bWVybyDDqSBvIHF1ZSBlc3TDoSBubyBjYXJyaW5obzsgYSAwIGEgY29tcHJhIHNhaQogICAgY29uc3QgbW9zdHJhPSgpPT57CiAgICAgIG91dC50ZXh0Q29udGVudD1ub0NhcnJpbmhvP25vQ2FycmluaG86bjsKICAgICAgYi50ZXh0Q29udGVudD1ub0NhcnJpbmhvPydEYW5zIGxlIHBhbmllcic6dGV4dG87CiAgICAgIGIuY2xhc3NMaXN0LnRvZ2dsZSgnZmVpdG8nLG5vQ2FycmluaG8+MCk7CiAgICAgIHEucXVlcnlTZWxlY3RvcignLnF0ZC1tZW5vcycpLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsbm9DYXJyaW5obz09PTE\/J1JldGlyZXIgZHUgcGFuaWVyJzonVW5lIGRlIG1vaW5zJyk7CiAgICAgIGNvbnN0IG1haXM9cS5xdWVyeVNlbGVjdG9yKCcucXRkLW1haXMnKSwgbm9MaW1pdGU9KG5vQ2FycmluaG98fG4pPj1tYXhpbW87CiAgICAgIG1haXMuZGlzYWJsZWQ9bm9MaW1pdGU7IG1haXMuc3R5bGUub3BhY2l0eT1ub0xpbWl0ZT8nLjMnOicnOyBtYWlzLnN0eWxlLmN1cnNvcj1ub0xpbWl0ZT8nZGVmYXVsdCc6Jyc7CiAgICB9OwogICAgbGV0IG1heGltbz05OTsKICAgIGNvbnN0IGZhbGhhPShlKT0+ewogICAgICBjb25zdCBjb2Q9U3RyaW5nKGUmJmUuY29kZXx8JycpOwogICAgICBiLnRleHRDb250ZW50PS9zdG9ja3xlc3RvcXVlL2kudGVzdChjb2QpPyfDiXB1aXPDqSc6J1LDqWVzc2F5ZXonOyBzZXRUaW1lb3V0KG1vc3RyYSwyNjAwKTsKICAgIH07CiAgICBjb25zdCBjb3JyZT1hc3luYyhmbik9PnsKICAgICAgaWYob2N1cGFkbykgcmV0dXJuOyBvY3VwYWRvPXRydWU7IGIuY2xhc3NMaXN0LmFkZCgnYS1jYXJyZWdhcicpOwogICAgICB0cnl7IGNvbnN0IGM9YXdhaXQgZm4oKTsgYXBsaWNhQ2FycmluaG8oYyk7IGF2aXNhU2l0ZSgpOyB9Y2F0Y2goZSl7IGZhbGhhKGUpOyB9CiAgICAgIGZpbmFsbHl7IG9jdXBhZG89ZmFsc2U7IGIuY2xhc3NMaXN0LnJlbW92ZSgnYS1jYXJyZWdhcicpOyB9CiAgICB9OwogICAgYm90b2VzLnNldChpZCx7ZGVmaW5lOihxdCxrKT0+e25vQ2FycmluaG89cXQ7IGNoYXZlPWs7IGlmKCFxdCkgbj1NYXRoLm1heCgxLG4pOyBtb3N0cmEoKTt9LCBsaW1pdGU6KG14KT0+e21heGltbz1NYXRoLm1heCgxLG14fHw5OSk7IG49TWF0aC5taW4obixtYXhpbW8pOyBtb3N0cmEoKTt9fSk7CiAgICBxLnF1ZXJ5U2VsZWN0b3IoJy5xdGQtbWFpcycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+ewogICAgICBpZihub0NhcnJpbmhvJiZjaGF2ZSkgY29ycmUoKCk9PnBlZGUoJ2NhcnQvdXBkYXRlLWl0ZW0nLHtrZXk6Y2hhdmUscXVhbnRpdHk6bm9DYXJyaW5obysxfSkpOwogICAgICBlbHNlIHsgbj1NYXRoLm1pbihtYXhpbW8sbisxKTsgbW9zdHJhKCk7IH0KICAgIH0pOwogICAgcS5xdWVyeVNlbGVjdG9yKCcucXRkLW1lbm9zJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICAgIGlmKG5vQ2FycmluaG8mJmNoYXZlKXsKICAgICAgICBpZihub0NhcnJpbmhvPjEpIGNvcnJlKCgpPT5wZWRlKCdjYXJ0L3VwZGF0ZS1pdGVtJyx7a2V5OmNoYXZlLHF1YW50aXR5Om5vQ2FycmluaG8tMX0pKTsKICAgICAgICBlbHNlIHsgbj0xOyBjb3JyZSgoKT0+cGVkZSgnY2FydC9yZW1vdmUtaXRlbScse2tleTpjaGF2ZX0pKTsgfQogICAgICB9IGVsc2UgeyBuPU1hdGgubWF4KDEsbi0xKTsgbW9zdHJhKCk7IH0KICAgIH0pOwogICAgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgICAgaWYobm9DYXJyaW5obyl7IGxvY2F0aW9uLmhyZWY9Jy9mci9wYW5pZXIvJzsgcmV0dXJuOyB9CiAgICAgIGNvcnJlKCgpPT5wZWRlKCdjYXJ0L2FkZC1pdGVtJyx7aWQ6aWQscXVhbnRpdHk6bn0pKTsKICAgIH0pOwogIH0pOwogIHBlZGUoJ2NhcnQnKS50aGVuKGFwbGljYUNhcnJpbmhvKS5jYXRjaCgoKT0+e30pOwogIGZldGNoKEFQSSsncHJvZHVjdHM\/cGVyX3BhZ2U9NTAmaW5jbHVkZT0nK1suLi5ib3RvZXMua2V5cygpXS5qb2luKCcsJykse2NyZWRlbnRpYWxzOidzYW1lLW9yaWdpbid9KS50aGVuKHI9PnIuanNvbigpKS50aGVuKHBzPT57CiAgICAocHN8fFtdKS5mb3JFYWNoKHA9Pntjb25zdCBjPWJvdG9lcy5nZXQocC5pZCk7IGlmKGMmJnAuYWRkX3RvX2NhcnQpIGMubGltaXRlKHAuYWRkX3RvX2NhcnQubWF4aW11bSk7fSk7CiAgfSkuY2F0Y2goKCk9Pnt9KTsKICAvLyBhIE1hZ251bSBzZWd1ZSBwYXJhIGEgcMOhZ2luYSBkbyBwcm9kdXRvIGRhIG9jYXNpw6NvIGVzY29saGlkYQogIGNvbnN0IE1BR05VTT17bmFzY2ltZW50bzonbWFnbnVtLW5hc2NpbWVudG8nLGFuaXZlcnNhcmlvOidtYWdudW0tYW5vcycsY2FzYW1lbnRvOidtYWdudW0tY2FzYW1lbnRvJyxjYXNhbm92YTonbWFnbnVtLWNhc2Etbm92YScsYm9kYXM6J21hZ251bS1ib2RhcycscmVmb3JtYTonbWFnbnVtLXJlZm9ybWEnLGZhbWlsaWE6J21hZ251bS1mYW1pbGlhJyxvYnJpZ2FkbzonbWFnbnVtLW9icmlnYWRvJyxlbXByZXNhUGluaGFzOidtYWdudW0tZW1wcmVzYS1waW5oYXMnLGVtcHJlc2FWaWRlaXJhOidtYWdudW0tZW1wcmVzYS12aWRlaXJhJyxjb2xhYlBpbmhhczonbWFnbnVtLWNvbGFib3JhZG9yLXBpbmhhcycsY29sYWJWaWRlaXJhOidtYWdudW0tY29sYWJvcmFkb3ItdmlkZWlyYSd9OwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5xdWVyby1tYWdudW0nKS5mb3JFYWNoKGI9PmIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCgpPT57CiAgICBjb25zdCBvPShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcub2Nhc2lhb1thcmlhLXByZXNzZWQ9InRydWUiXScpfHx7fSkuZGF0YXNldDsgY29uc3Qgb2M9byYmby5vOyBjb25zdCBzPU1BR05VTVtvY118fCdtYWdudW0tYW5vcyc7CiAgICAvLyBvIHF1ZSBvIGNsaWVudGUgZXNjcmV2ZXUgbm8gYXRlbGllciBzZWd1ZSBwYXJhIGEgcMOhZ2luYSBkYSBNYWdudW0KICAgIGNvbnN0IHY9aWQ9Pntjb25zdCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtXycraWQpOyByZXR1cm4gZT9lLnZhbHVlLnRyaW0oKTonJzt9OwogICAgY29uc3QgZGF0YUlTTz10PT57Y29uc3QgbT1TdHJpbmcodCkubWF0Y2goL14oXGR7MSwyfSlbLlwvLV0oXGR7MSwyfSlbLlwvLV0oXGR7NH0pJC8pOyByZXR1cm4gbT9tWzNdKyctJyttWzJdLnBhZFN0YXJ0KDIsJzAnKSsnLScrbVsxXS5wYWRTdGFydCgyLCcwJyk6Jyc7fTsKICAgIGNvbnN0IE1BUEE9e2FuaXZlcnNhcmlvOntpZGFkZTonbXZfaWRhZGUnLG5vbWU6J212X25vbWUnfSxuYXNjaW1lbnRvOntub21lOidtdm5fbm9tZScsZGF0YTonbXZuX2RhdGEnfSxjYXNhbWVudG86e2E6J212b19lbGEnLGI6J212b19lbGUnLGRhdGE6J212b19kYXRhJ30sCiAgICAgIGJvZGFzOnthOidtdm5fdW0nLGI6J212bl9vdXRybycsYW5vczonbXZuX2Fub3MnfSxjYXNhbm92YTp7YXBlbGlkbzonbXZuX2FwZWxpZG8nLGFubzonbXZuX2Fubyd9LG9icmlnYWRvOntwYXJhOidtdm5fbm9tZScscG9ycXVlOidtdm5fcG9yJyxkZTonbXZuX2RlJ30sCiAgICAgIHJlZm9ybWE6e25vbWU6J212b19ub21lJyxjYXJnbzonbXZvX2NhcmdvJyxhc3M6J212b19hc3NpbmF0dXJhJ30sZmFtaWxpYTp7YXBlbGlkbzonbXZfYXBlbGlkbyd9LGNvbGFiUGluaGFzOntub21lOidtdmVfbm9tZXMnfSxjb2xhYlZpZGVpcmE6e25vbWU6J212ZV9ub21lcyd9fTsKICAgIGNvbnN0IGNhbXBvcz17fTsgT2JqZWN0LmVudHJpZXMoTUFQQVtvY118fHt9KS5mb3JFYWNoKChbaWQsbm9tZV0pPT57IGxldCB4PXYoaWQpOyBpZigheCkgcmV0dXJuOyBpZihpZD09PSdkYXRhJykgeD1kYXRhSVNPKHgpOyBpZih4KSBjYW1wb3Nbbm9tZV09eDsgfSk7CiAgICB0cnl7IHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ212QXRlbGllcicsSlNPTi5zdHJpbmdpZnkoe3NsdWc6cyxjYW1wb3M6Y2FtcG9zfSkpOyB9Y2F0Y2goZSl7fQogICAgbG9jYXRpb24uaHJlZj0nL2ZyL3Byb2R1dG8vJytzKycvJzsKICB9KSk7CgogIC8qIE1hZ251bTogYXMgZG96ZSBvY2FzacO1ZXMsIHByw6ktdmlzdWFsaXphw6fDo28gYW8gdml2byBkYSBwaW50dXJhICovCiAgY29uc3QgZXNjPXQ9PlN0cmluZyh0KS5yZXBsYWNlKC9bJjw+IiddL2csYz0+KHsnJic6JyZhbXA7JywnPCc6JyZsdDsnLCc+JzonJmd0OycsJyInOicmcXVvdDsnLCInIjonJiMzOTsnfVtjXSkpOwogIGxldCBsb2dvVVJMPW51bGw7CiAgY29uc3QgY2V1PSc8c3ZnIGNsYXNzPSJ2LWNldSIgdmlld0JveD0iMCAwIDIwMCA5MCIgYXJpYS1oaWRkZW49InRydWUiPjxnIGZpbGw9InZhcigtLW91cm8pIj48Y2lyY2xlIGN4PSIxOCIgY3k9IjYwIiByPSIzLjIiLz48Y2lyY2xlIGN4PSI1MiIgY3k9IjM4IiByPSI0Ii8+PGNpcmNsZSBjeD0iODgiIGN5PSI1MiIgcj0iMyIvPjxjaXJjbGUgY3g9IjExOCIgY3k9IjIyIiByPSI0LjQiLz48Y2lyY2xlIGN4PSIxNTAiIGN5PSI0NCIgcj0iMy40Ii8+PGNpcmNsZSBjeD0iMTg0IiBjeT0iMzAiIHI9IjMiLz48Y2lyY2xlIGN4PSI3MCIgY3k9IjEyIiByPSIyIi8+PGNpcmNsZSBjeD0iMTY2IiBjeT0iNzgiIHI9IjIiLz48Y2lyY2xlIGN4PSIzNCIgY3k9IjE2IiByPSIxLjgiLz48Y2lyY2xlIGN4PSIxMzIiIGN5PSI3NCIgcj0iMS44Ii8+PC9nPjxwb2x5bGluZSBwb2ludHM9IjE4LDYwIDUyLDM4IDg4LDUyIDExOCwyMiAxNTAsNDQgMTg0LDMwIiBmaWxsPSJub25lIiBzdHJva2U9InZhcigtLW91cm8pIiBzdHJva2Utd2lkdGg9IjIuNCIvPjwvc3ZnPic7CiAgY29uc3QgbG9nb0hUTUw9KCk9PmxvZ29VUkw\/JzxpbWcgY2xhc3M9InYtbG9nbyIgc3JjPSInK2xvZ29VUkwrJyIgYWx0PSJMb2dvIGNoYXJnw6kiPic6JzxzcGFuIGNsYXNzPSJ2LXZhemlvIj5Wb3RyZSBsb2dvPC9zcGFuPic7CiAgY29uc3QgTz17CiAgICBhbml2ZXJzYXJpbzp7Y2FtcG9zOltbJ2lkYWRlJywnw4JnZScsJzUwJ10sWydub21lJywnUHLDqW5vbScsJ01hcnRhIEZlcnJlaXJhJ11dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi1udW0iPiR7ZXNjKHYuaWRhZGUpfTwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYubm9tZSl9PC9kaXY+PGRpdiBjbGFzcz0idi1zdWIiPkpveWV1eCBhbm5pdmVyc2FpcmU8L2Rpdj5gfSwKICAgIG5hc2NpbWVudG86e2NhbXBvczpbWydub21lJywnUHLDqW5vbSBkdSBiw6liw6knLCdGcmFuY2lzY28nXSxbJ2RhdGEnLCdOw6koZSkgbGUnLCcxMi4wMy4yMDI2J11dLAogICAgICBwaW50YTp2PT5gJHtjZXV9PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5ub21lKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPiR7ZXNjKHYuZGF0YSl9PC9kaXY+YH0sCiAgICBjYXNhbWVudG86e2NhbXBvczpbWydhJywnTOKAmXVuIGRlcyBtYXJpw6lzJywnSW7DqnMnXSxbJ2InLCdM4oCZYXV0cmUgbWFyacOpJywnRHVhcnRlJ10sWydkYXRhJywnRGF0ZSBkdSBtYXJpYWdlJywnMTIuMDYuMjAyNycsMV1dLAogICAgICBwaW50YTp2PT5gPGRpdiBjbGFzcz0idi10b3BvIj5WaXZlIGxlcyBtYXJpw6lzPC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5hKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIG91cm8gbWVkaWEiPiZhbXA7PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5iKX08L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPiR7ZXNjKHYuZGF0YSl9PC9kaXY+YH0sCiAgICBib2Rhczp7Y2FtcG9zOltbJ2EnLCdM4oCZdW4gZGVzIGRldXgnLCdBbmEnXSxbJ2InLCdM4oCZYXV0cmUnLCdSdWknXSxbJ2FucycsJ0FubsOpZXMgZGUgbWFyaWFnZScsJzQwJywxXV0sCiAgICAgIHBpbnRhOnY9PmA8ZGl2IGNsYXNzPSJ2LW51bSI+JHtlc2Modi5hbm9zKX08c21hbGw+YW5zIGRlIGRhbnNlPC9zbWFsbD48L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2LmEpfSAmYW1wOyAke2VzYyh2LmIpfTwvZGl2PmB9LAogICAgY2FzYW5vdmE6e2NhbXBvczpbWydhcGVsaWRvJywnTm9tIGRlIGZhbWlsbGUnLCdPbGl2ZWlyYSddLFsnYW5vJywnQW5uw6llIGR1IGTDqW3DqW5hZ2VtZW50JywnMjAyNiddXSwKICAgICAgcGludGE6dj0+YDxkaXYgY2xhc3M9InYtdG9wbyI+RsOpbGljaXRhdGlvbnMgcG91ciB2b3RyZSBub3V2ZWxsZSBtYWlzb248L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj5GYW1pbGxlICR7ZXNjKHYuYXBlbGlkbyl9PC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4ke2VzYyh2LmFubyl9PC9kaXY+YH0sCiAgICBvYnJpZ2Fkbzp7Y2FtcG9zOltbJ3BhcmEnLCdQb3VyIHF1aScsJ1RlcmVzYSddLFsnZGUnLCdRdWkgcmVtZXJjaWUnLCdMZXMgYW1pcyddLFsncG9ycXVlJywnUG91cnF1b2ksIGF2ZWMgdm9zIG1vdHMnLCdQb3VyIHRvdXQnLDFdXSwKICAgICAgcGludGE6dj0+YDxkaXYgY2xhc3M9InYtbGV0cmEgb3VybyI+TWVyY2k8L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIG1lZGlhIj4ke2VzYyh2LnBhcmEpfTwvZGl2PjxkaXYgY2xhc3M9InYtc3ViIj4ke2VzYyh2LnBvcnF1ZSl9PC9kaXY+PGRpdiBjbGFzcz0idi1kYXRhIj4ke2VzYyh2LmRlKX08L2Rpdj5gfSwKICAgIHJlZm9ybWE6e2NhbXBvczpbWydub21lJywnUHLDqW5vbScsJ01hbnVlbCBTaWx2YSddLFsnY2FyZ28nLCdOb3V2ZWF1IHRpdHJlJywnRGlyZWN0ZXVyIGfDqW7DqXJhbCBkdSB0ZW1wcyBsaWJyZSddLFsnYXNzJywnU2lnbmF0dXJlJywnRGUgdm9zIGFtaXMgZGUgdG91am91cnMnLDFdXSwKICAgICAgcGludGE6dj0+YDxkaXYgY2xhc3M9InYtdG9wbyI+TGEgZGVybmnDqHJlIHByb21vdGlvbjwvZGl2PjxkaXYgY2xhc3M9InYtbGV0cmEiPiR7ZXNjKHYubm9tZSl9PC9kaXY+PGRpdiBjbGFzcz0idi1zdWIiPiR7ZXNjKHYuY2FyZ28pfTwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+JHtlc2Modi5hc3MpfTwvZGl2PmB9LAogICAgZmFtaWxpYTp7Y2FtcG9zOltbJ2FwZWxpZG8nLCdOb20gZGUgZmFtaWxsZScsJ0ZlcnJlaXJhJywxXV0sCiAgICAgIHBpbnRhOnY9PmA8ZGl2IGNsYXNzPSJ2LXRvcG8iPkZhbWlsbGU8L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2LmFwZWxpZG8pfTwvZGl2PjxkaXYgY2xhc3M9InYtc3ViIj5Kb3lldXggTm\/Dq2w8L2Rpdj48ZGl2IGNsYXNzPSJ2LWRhdGEiPjIwMjY8L2Rpdj5gfSwKICAgIGVtcHJlc2FQaW5oYXM6e2xvZ286MSxub3RhOidFbiBoYXV0LCBub3RyZSBOb8OrbC4gRW4gYmFzLCB2b3RyZSBtYXJxdWUuJywKICAgICAgcGludGE6KCk9PmA8ZGl2IGNsYXNzPSJ2LW1laW8iPjxzcGFuIGNsYXNzPSJ2LXpvbmEiPlBvbW1lcyBkZSBwaW4gcGVpbnRlczwvc3Bhbj48ZGl2IGNsYXNzPSJ2LWxldHJhIG91cm8gbWVkaWEiPkpveWV1eCBOb8OrbDwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+MjAyNjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InYtbWVpbyI+JHtsb2dvSFRNTCgpfTwvZGl2PmB9LAogICAgZW1wcmVzYVZpZGVpcmE6e2xvZ286MSxub3RhOidFbiBoYXV0LCBub3RyZSBOb8OrbC4gRW4gYmFzLCB2b3RyZSBtYXJxdWUuJywKICAgICAgcGludGE6KCk9PmA8ZGl2IGNsYXNzPSJ2LW1laW8iPjxzcGFuIGNsYXNzPSJ2LXpvbmEiPlZpZ25lIHBlaW50ZTwvc3Bhbj48ZGl2IGNsYXNzPSJ2LWxldHJhIG91cm8gbWVkaWEiPkpveWV1eCBOb8OrbDwvZGl2PjxkaXYgY2xhc3M9InYtZGF0YSI+MjAyNjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InYtbWVpbyI+JHtsb2dvSFRNTCgpfTwvZGl2PmB9LAogICAgY29sYWJQaW5oYXM6e2NhbXBvczpbWydub21lJywnTm9tIGR1IGNvbGxhYm9yYXRldXInLCdBbmEgRmVycmVpcmEnLDFdXSxub3RhOidVbiBNYWdudW0gcGFyIGNvbGxhYm9yYXRldXIsIGNoYWN1biDDoCBzb24gbm9tLiBJbmRpcXVleiB0b3VzIGxlcyBub21zIGxvcnMgZGUgbGEgY29tbWFuZGUuJywKICAgICAgcGludGE6dj0+YDxzcGFuIGNsYXNzPSJ2LXpvbmEiPlBvbW1lcyBkZSBwaW4gcGVpbnRlczwvc3Bhbj48ZGl2IGNsYXNzPSJ2LXRvcG8iPkpveWV1eCBOb8OrbCAyMDI2PC9kaXY+PGRpdiBjbGFzcz0idi1sZXRyYSI+JHtlc2Modi5ub21lKX08L2Rpdj5gfSwKICAgIGNvbGFiVmlkZWlyYTp7Y2FtcG9zOltbJ25vbWUnLCdOb20gZHUgY29sbGFib3JhdGV1cicsJ0FuYSBGZXJyZWlyYScsMV1dLG5vdGE6J1VuIE1hZ251bSBwYXIgY29sbGFib3JhdGV1ciwgY2hhY3VuIMOgIHNvbiBub20uIEluZGlxdWV6IHRvdXMgbGVzIG5vbXMgbG9ycyBkZSBsYSBjb21tYW5kZS4nLAogICAgICBwaW50YTp2PT5gPHNwYW4gY2xhc3M9InYtem9uYSI+VmlnbmUgcGVpbnRlPC9zcGFuPjxkaXYgY2xhc3M9InYtdG9wbyI+Sm95ZXV4IE5vw6tsIDIwMjY8L2Rpdj48ZGl2IGNsYXNzPSJ2LWxldHJhIj4ke2VzYyh2Lm5vbWUpfTwvZGl2PmB9CiAgfTsKICBjb25zdCB2ZlBpbnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZmUGludCcpLCBMQU5HPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhaW5kYScpLmRhdGFzZXQubGFuZ3x8J3B0JzsKICBjb25zdCB2aWRybz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkcm8nKSwgY2FtcG9zPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW1wb3MnKSwgbm90YT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FtcG9zTm90YScpOwogIGxldCBhdHVhbD0nYW5pdmVyc2FyaW8nLCB2YWxvcmVzPXt9OwogIGZ1bmN0aW9uIHBpbnRhKCl7CiAgICB2aWRyby5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InYtY29udGV1ZG8iPicrT1thdHVhbF0ucGludGEodmFsb3JlcykrJzwvZGl2Pic7CiAgICAvLyBhIHBpbnR1cmEgdGVtIGRlIGNhYmVyIG5vcyAxMCBjbTogc2UgbyB0ZXh0byBmb3IgbG9uZ28sIGVuY29saGUgdHVkbyBwb3IgaWd1YWwKICAgIGNvbnN0IGM9dmlkcm8uZmlyc3RDaGlsZDsgYy5zdHlsZS50cmFuc2Zvcm09Jyc7CiAgICBjb25zdCBsaXZyZT1jLmNsaWVudEhlaWdodCwgYWx0bz1jLnNjcm9sbEhlaWdodDsKICAgIGlmKGFsdG8+bGl2cmUpIGMuc3R5bGUudHJhbnNmb3JtPSdzY2FsZSgnKyhsaXZyZS9hbHRvKS50b0ZpeGVkKDMpKycpJzsKICAgIC8vIGUgYSBtZXNtYSBwaW50dXJhIGFwYXJlY2UgbmEgZ2FycmFmYSBkYSBmb3RvZ3JhZmlhCiAgICBNVkdhcnJhZmEuZGVzZW5oYSh2ZlBpbnQsYXR1YWwsdmFsb3JlcyxMQU5HKTsKICB9CiAgZnVuY3Rpb24gbW9udGEoY2hhdmUpewogICAgYXR1YWw9Y2hhdmU7IGNvbnN0IG89T1tjaGF2ZV07IHZhbG9yZXM9e307IGNhbXBvcy5pbm5lckhUTUw9Jyc7CiAgICAoby5jYW1wb3N8fFtdKS5mb3JFYWNoKChbaWQsbGFiZWwsZGVmLGxhcmdvXSxpKT0+ewogICAgICB2YWxvcmVzW2lkXT1kZWY7CiAgICAgIGNvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IGQuY2xhc3NOYW1lPSdjYW1wbycrKGxhcmdvPycgbGFyZ28nOicnKTsKICAgICAgZC5pbm5lckhUTUw9YDxsYWJlbCBmb3I9Im1fJHtpZH0iPiR7ZXNjKGxhYmVsKX08L2xhYmVsPjxpbnB1dCBpZD0ibV8ke2lkfSIgbWF4bGVuZ3RoPSIkeyhpZD09PSdwb3JxdWUnfHxpZD09PSdjYXJnbycpPzQwOjI0fSIgYXV0b2NvbXBsZXRlPSJvZmYiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJFeC4gOiAke2VzYyhkZWYpfSI+YDsKICAgICAgZC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JyxlPT57dmFsb3Jlc1tpZF09ZS50YXJnZXQudmFsdWUudHJpbSgpfHxkZWY7cGludGEoKTt9KTsKICAgICAgY2FtcG9zLmFwcGVuZENoaWxkKGQpOwogICAgfSk7CiAgICBpZihvLmxvZ28pewogICAgICBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkLmNsYXNzTmFtZT0nY2FtcG8gbGFyZ28nOwogICAgICBkLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9InYtem9uYSIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij5Mb2dvIGRlIGzigJllbnRyZXByaXNlPC9zcGFuPjxkaXYgY2xhc3M9ImZpY2hlaXJvIj48aW5wdXQgaWQ9Im1fbG9nbyIgdHlwZT0iZmlsZSIgYWNjZXB0PSJpbWFnZS8qIj48bGFiZWwgY2xhc3M9ImJvdGFvLWYiIGZvcj0ibV9sb2dvIj5DaGFyZ2VyIGxlIGZpY2hpZXI8L2xhYmVsPjxzcGFuIGlkPSJtX2xvZ29fbm9tZSI+QXVjdW4gZmljaGllciBjaG9pc2k8L3NwYW4+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+MCl7Zy5hZGRDb2xvclN0b3AoMCxlc2MpO2cuYWRkQ29sb3JTdG9wKDAuNTUsJ3JnYmEoMCwwLDAsMCknKTtnLmFkZENvbG9yU3RvcCgxLGNsYXJvKTt9ZWxzZXtnLmFkZENvbG9yU3RvcCgwLGNsYXJvKTtnLmFkZENvbG9yU3RvcCgwLjQ1LCdyZ2JhKDAsMCwwLDApJyk7Zy5hZGRDb2xvclN0b3AoMSxlc2MpO30KICAgICAgZ2MuZmlsbFN0eWxlPWc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTsKICAgICAgaWYobm9pdGUpe2djLmZpbGxTdHlsZT0ncmdiYSgyMCwzMCw2MCwwLjI1KSc7Z2MuZmlsbFJlY3QoMCwwLGd3LGdoKTt9CiAgICAgIGN0eC5kcmF3SW1hZ2UoZ2NhbixieC1ndy8yLGJ5LWdoLGd3LGdoKTsKICAgIH0KICAgIGZ1bmN0aW9uIGxlZ2VuZGEobWluLEUpewogICAgICBjb25zdCB0PShFLmFsdD4tNj8nTHVtacOocmUgZHUgRG91cm8nOidDbGFpciBkZSBsdW5lIHN1ciBsZSBEb3VybycpKyhtb2RvPT09J2RpYSc\/Jywgw6AgJzonLCBtYWludGVuYW50IMK3ICcpK2hobW0obWluKTsKICAgICAgaWYodCE9PXVsdGltbyl7bGVnLnRleHRDb250ZW50PXQ7dWx0aW1vPXQ7fQogICAgfQogICAgZnVuY3Rpb24gcGFzc28oYWdvcmEpewogICAgICBpZighcHJvbnRvfHwhdmlzaXZlbCkgcmV0dXJuOwogICAgICBsZXQgbWluPW1pbnV0b0Fnb3JhKCksIEU7CiAgICAgIGlmKG1vZG89PT0nY2hlZ2FkYScpewogICAgICAgIGNvbnN0IHQ9TWF0aC5taW4oMSwoYWdvcmEtdDApLzI2MDApLCBlPXQ8MC41PzIqdCp0OjEtTWF0aC5wb3coLTIqdCsyLDIpLzI7CiAgICAgICAgRT1saWdhKGZpeG8sZXN0YWRvKG1pbikscmVkdXo\/MTplKTsgaWYodD49MSkgbW9kbz0nYWdvcmEnOwogICAgICB9IGVsc2UgaWYobW9kbz09PSdkaWEnKXsKICAgICAgICBjb25zdCBkdXI9MjIwMDAsIGluaT1NYXRoLm1heCgwLG5hc2NlLTUwKSwgZmltPU1hdGgubWluKDE0MzkscG9lKzcwKTsKICAgICAgICBtaW49aW5pKyhmaW0taW5pKSooKChhZ29yYS10MCklZHVyKS9kdXIpOyBFPWVzdGFkbyhtaW4pOwogICAgICB9IGVsc2UgRT1lc3RhZG8obWluKTsKICAgICAgZGVzZW5oYShFLGFnb3JhKTsgbGVnZW5kYShtaW4sRSk7CiAgICB9CiAgICBidC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnsKICAgICAgaWYobW9kbz09PSdkaWEnKXttb2RvPSdhZ29yYSc7YnQudGV4dENvbnRlbnQ9J1JlZ2FyZGVyIHBhc3NlciBsYSBqb3VybsOpZSc7YnQuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCdmYWxzZScpO30KICAgICAgZWxzZXttb2RvPSdkaWEnO3QwPXBlcmZvcm1hbmNlLm5vdygpO2J0LnRleHRDb250ZW50PSdSZXZlbmlyIMOgIG1haW50ZW5hbnQnO2J0LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywndHJ1ZScpO30KICAgIH0pOwogICAgbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVzPT5lcy5mb3JFYWNoKGVuPT57CiAgICAgIGNvbnN0IGFudGVzPXZpc2l2ZWw7IHZpc2l2ZWw9ZW4uaXNJbnRlcnNlY3Rpbmc7CiAgICAgIGlmKHZpc2l2ZWwmJiFhbnRlcyYmbW9kbz09PSdjaGVnYWRhJykgdDA9cGVyZm9ybWFuY2Uubm93KCk7CiAgICB9KSx7dGhyZXNob2xkOjAuMzV9KS5vYnNlcnZlKGZpZyk7CiAgICByZXR1cm4gcGFzc287CiAgfQogIGNvbnN0IHRvZG9zPVsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdmaWd1cmUudml2bycpXS5tYXAoR2FycmFmYSk7CiAgKGZ1bmN0aW9uIGNpY2xvKHQpe3RvZG9zLmZvckVhY2goZj0+Zih0KSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNpY2xvKTt9KShwZXJmb3JtYW5jZS5ub3coKSk7Cn0pKCk7Cg==\"><\/script><script src=\"data:text\/javascript;base64,Ci8qIEZpY2hhcyB0w6ljbmljYXM6IGRhZG9zIHRpcmFkb3MgZGFzIGZpY2hhcyBlIGRhcyBkZXNjcmnDp8O1ZXMgZGUgbW9ydmFsbGV5LmNvbSAqLwooZnVuY3Rpb24oKXsKICBjb25zdCBQREY9J2h0dHBzOi8vbW9ydmFsbGV5LmNvbS93cC1jb250ZW50L3VwbG9hZHMvJzsKICBjb25zdCBGPXsKICAgICd2ZS10aW50byc6e25vbWU6J1ZhbGUgZGUgRXNjYWRhcyBSZXNlcnZhJyx0aXBvOidSb3VnZSDCtyBEb3Vybywgc291cy1yw6lnaW9uIGR1IEJhaXhvIENvcmdvJyxjYXN0YXM6J1RvdXJpZ2EgRnJhbmNhLCBUaW50YSBSb3JpeiwgVGludGEgQmFycm9jYScsCiAgICAgIHByb3ZhOidSb2JlIHJ1YmlzIG9wYXF1ZSwgbmV6IGludGVuc2UgZXQgY29tcGxleGUgZGUgZnJ1aXRzIHJvdWdlcyBtw7tycyBldCBkZSBub3RlcyDDqXBpY8OpZXMuIEVuIGJvdWNoZSwgaWwgZXN0IHNvdXBsZSBldCBkZW5zZSwgYXZlYyBkZXMgdGFuaW5zIG3Du3JzIGV0IHVuIGJvaXPDqSBiaWVuIGludMOpZ3LDqS4gTOKAmWFjaWRpdMOpIMOpcXVpbGlicsOpZSBldCBsZSBmcnVpdCBsZSByZW5kZW50IMOpbMOpZ2FudCwgbG9uZyBldCBhZ3LDqWFibGUuJywKICAgICAgc2VydmlyOicxNiBhIDE4IMK6QycsZGFkb3M6W1snTWlsbMOpc2ltZScsJzIwMjEnXSxbJ09yaWdpbmUnLCdEb3VybyBk4oCZYWx0aXR1ZGUnXSxbJ1Byw6lzZW50YXRpb24nLCdDYWlzc2UgZGUgNiBib3V0ZWlsbGVzIGRlIDc1IGNsJ11dfSwKICAgICd2ZS1icmFuY28nOntub21lOidWYWxlIGRlIEVzY2FkYXMgUmVzZXJ2YScsdGlwbzonQmxhbmMgwrcgRG91cm8sIHNvdXMtcsOpZ2lvbiBkdSBCYWl4byBDb3JnbycsY2FzdGFzOidNYWx2YXNpYSBGaW5hLCBDw7NkZWdhLCBSYWJpZ2F0bycsCiAgICAgIHByb3ZhOidSb2JlIGNpdHJvbiBicmlsbGFudGUuIE5leiBmaW4gZXQgZnJhaXMsIGF1eCBub3RlcyBk4oCZYWdydW1lcyBldCDDoCBsYSB0b3VjaGUgZGUgbWFuZGFyaW5lLiBCb3VjaGUgw6lsw6lnYW50ZSBldCBzb3VwbGUsIGzigJlhY2lkaXTDqSBlbiDDqXF1aWxpYnJlIGVudHJlIGxhIHN0cnVjdHVyZSBldCBsYSBmcmHDrmNoZXVyIG1pbsOpcmFsZS4gRmluYWxlIGxvbmd1ZSBldCB2aXZlLicsCiAgICAgIHNlcnZpcjonOCBhIDEwIMK6QycsCiAgICAgIGRhZG9zOltbJ01pbGzDqXNpbWUnLCcyMDIyJ10sWydBbGNvb2wnLCcxMiw1ICUnXSxbJ09yaWdpbmUnLCdEb3VybyBk4oCZYWx0aXR1ZGUnXSxbJ0JvdXRlaWxsZScsJ0JvdXJndWlnbm9ubmUsIDc1IGNsJ10sWydQcsOpc2VudGF0aW9uJywnQ2Fpc3NlIGRlIDYgYm91dGVpbGxlcyBkZSA3NSBjbCddXX0sCiAgICAncmVzLWJyYW5jbyc6e25vbWU6J01vclZhbGxleSBSZXNlcnZhJyx0aXBvOidCbGFuYyDCtyBEb3VybyDCtyAyMDIyJyxjYXN0YXM6J0PDs2RlZ2EsIENlcmNlYWwsIFZpb3NpbmhvLCBSYWJpZ2F0bycsCiAgICAgIHByb3ZhOidSb2JlIGNpdHJvbi4gTmV6IGZsb3JhbCBhdXggbm90ZXMgZGUgYm9pcywgZGUgdmFuaWxsZSBldCBkZSBmcnVpdHMgYmxhbmNzLiBFbiBib3VjaGUsIGlsIGVzdCDDqXF1aWxpYnLDqSwgbMOpZ8OocmVtZW50IGRvdXggZXQgdHLDqHMgY29tcGxleGUsIGF2ZWMgdW5lIGZpbmFsZSBmcmHDrmNoZSBldCBwZXJzaXN0YW50ZS4nLAogICAgICBzZXJ2aXI6JzEwIGEgMTIgwrpDJyxndWFyZGFyOidDb3VjaMOpZSwgw6AgbOKAmWFicmkgZGUgbGEgbHVtacOocmUsIMOgIHRlbXDDqXJhdHVyZSBjb25zdGFudGUgZXQgbW9kw6lyw6llLicsCiAgICAgIGRhZG9zOltbJ01pbGzDqXNpbWUnLCcyMDIyJ10sWydBbGNvb2wnLCcxMyAlJ10sWydBY2lkaXTDqSB0b3RhbGUnLCc1LDggZy9kbcKzJ10sWydTdWNyZXMgdG90YXV4JywnPCAyLDQgZy9kbcKzJ10sWydwSCcsJzMsMzInXSxbJ0JvdXRlaWxsZScsJ0JvdXJndWlnbm9ubmUsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LXJlc2VydmFfYnJhbmNvLnBkZid9LAogICAgJ3Jlcy10aW50byc6e25vbWU6J01vclZhbGxleSBSZXNlcnZhJyx0aXBvOidSb3VnZSDCtyBEb3VybyDCtyAyMDIyJyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgcHJvdmE6J1JvYmUgcnViaXMgb3BhcXVlLCBuZXogaW50ZW5zZSBldCBjb21wbGV4ZSBkZSBmcnVpdHMgcm91Z2VzIG3Du3JzIGV0IGRlIG5vdGVzIMOpcGljw6llcy4gRW4gYm91Y2hlLCBpbCBlc3QgaW50ZW5zZSwgc291cGxlIGV0IGRlbnNlLCBhdmVjIGRlcyB0YW5pbnMgZGUgcXVhbGl0w6kgZXQgdW4gYm9pc8OpIGJpZW4gaW50w6lncsOpLiDDiWzDqWdhbnQsIGxvbmcgZXQgYWdyw6lhYmxlLicsCiAgICAgIHNlcnZpcjonMTYgYSAxOCDCukMnLG1lc2E6J1ZpYW5kZSByb3VnZSwgZ2liaWVyLCByw7R0aXMgZXQgcmFnb8O7dHMuJywKICAgICAgZGFkb3M6W1snTWlsbMOpc2ltZScsJzIwMjInXSxbJ0FsY29vbCcsJzEzLDUgJSddLFsnQWNpZGl0w6kgdG90YWxlJywnNCw4IGcvZG3CsyddLFsnU3VjcmVzIHRvdGF1eCcsJzwgMCw3IGcvZG3CsyddLFsncEgnLCczLDcwJ10sWydHYXJkZScsJ1BsdXMgZGUgNSBhbnMnXSxbJ0JvdXRlaWxsZScsJ0JvdXJndWlnbm9ubmUsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LXJlc2VydmFfdGludG8ucGRmJ30sCiAgICAndG91cmlnYSc6e25vbWU6J01vclZhbGxleSBUb3VyaWdhIE5hY2lvbmFsJyx0aXBvOidSb3VnZSDCtyBEb3VybyDCtyBtb25vY8OpcGFnZScsY2FzdGFzOidUb3VyaWdhIE5hY2lvbmFsJywKICAgICAgcHJvdmE6J1JvYmUgcnViaXMgdmlmIGV0IG9wYXF1ZS4gTmV6IGludGVuc2UgZXQgY29tcGxleGUgZGUgbcO7cmUgZXQgZGUgcHJ1bmUgbcO7cmVzLCBkZSBub3RlcyBmbG9yYWxlcywgZGUgbWVudGhlIGV0IGRlIGNob2NvbGF0LiBFbiBib3VjaGUsIGlsIGVzdCBpbnRlbnNlLCBkZW5zZSBldCBzb3lldXgsIGF2ZWMgZGVzIHRhbmlucyByb25kcyBldCBmcmFpcy4gw4lsw6lnYW50LCBnb3VybWFuZCBldCBsb25nLicsCiAgICAgIGRhZG9zOltbJ0FsY29vbCcsJzE0LDUgJSddLFsnQWNpZGl0w6kgdG90YWxlJywnNCw3IGcvZG3CsyddLFsnU3VjcmVzIHRvdGF1eCcsJzwgMCw2IGcvZG3CsyddLFsncEgnLCczLDcxJ10sWydHYXJkZScsJ1BsdXMgZGUgOCBhbnMnXSxbJ0JvdXRlaWxsZScsJ0JvdXJndWlnbm9ubmUsIDc1IGNsJ11dLAogICAgICBwcmVtaW9zOidJV0MgMjAxNywgQXJnZW50IMK3IERlY2FudGVyIDIwMTcsIEJyb256ZScscGRmOicyMDIzLzEwL2Z0LW1vcnZhbGxleS10b3VyaWdhLW5hY2lvbmFsLXRpbnRvLnBkZid9LAogICAgJ2dyLXRpbnRvJzp7bm9tZTonTW9yVmFsbGV5IEdyYW5kZSBSZXNlcnZhJyx0aXBvOidSb3VnZSDCtyBEb3VybyDCtyAyMDE2JyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgdmluaWZpY2FjYW86J1JhaXNpbnMgdHJpw6lzIMOgIGxhIG1haW4gc3VyIHRhYmxlIGRlIHRyaS4gRmVybWVudGF0aW9uIGVuIGN1dmUgaW5veCBwZW5kYW50IDIwIGpvdXJzLCDDoCAyMOKAkzIyIMK6Qy4gw4lsZXZhZ2UgZGUgMTEgbW9pcyBlbiBjaMOqbmUsIDYwICUgZnJhbsOnYWlzIGV0IDQwICUgYW3DqXJpY2Fpbi4nLAogICAgICBwcm92YTonUm9iZSBydWJpcyBpbnRlbnNlLiBMYSBzaWduYXR1cmUgZmxvcmFsZSBkdSBUb3VyaWdhIE5hY2lvbmFsLCB2aW9sZXR0ZXMgZXQgbWluw6lyYWxpdMOpLCBhdmVjIHZhbmlsbGUsIMOpcGljZXMsIHBydW5lIGV0IG15cnRpbGxlLiBFbiBib3VjaGUsIGlsIGVzdCBmZXJtZSwgZGVuc2UgZXQgYW1wbGUsIGTigJl1bmUgYWNpZGl0w6kgw6lxdWlsaWJyw6llLiBGaW5hbGUgdHLDqHMgbG9uZ3VlLCBmcmHDrmNoZSBldCBoYXJtb25pZXVzZS4nLAogICAgICBzZXJ2aXI6JzE2IMOgIDE4IMK6QyDCtyBjYXJhZmVyIDEgw6AgMiBoZXVyZXMgYXZhbnQnLAogICAgICBkYWRvczpbWydNaWxsw6lzaW1lJywnMjAxNiddLFsnQWxjb29sJywnMTMsNSAlJ10sWydBY2lkaXTDqSB0b3RhbGUnLCc1IGcvZG3CsyddLFsnU3VjcmVzIHRvdGF1eCcsJzQsNCBnL2RtwrMnXSxbJ3BIJywnMywzMiddLFsnR2FyZGUnLCdQbHVzIGRlIDMgYW5zJ10sWydCb3V0ZWlsbGUnLCdCb3JkZWxhaXNlIHByZXN0aWdlLCA3NSBjbCddXSwKICAgICAgcGRmOicyMDIzLzEwL2Z0LW1vcnZhbGV5LWdyZW5kZS1yZXNlcnZhLXRpbnRvLnBkZid9LAogICAgJ2dyLWJyYW5jbyc6e25vbWU6J01vclZhbGxleSBHcmFuZGUgUmVzZXJ2YScsdGlwbzonQmxhbmMgwrcgRG91cm8gwrcgMjAxNicsY2FzdGFzOidWaW9zaW5obywgUmFiaWdhdG8sIEdvdXZlaW8sIEFyaW50bycsCiAgICAgIHZpbmlmaWNhY2FvOidGZXJtZW50YXRpb24gZW4gY3V2ZSBpbm94IHBlbmRhbnQgMzAgam91cnMsIMOgIDE2IMK6Qy4gw4lsZXZhZ2UgZGUgOSBtb2lzIGVuIGNow6puZSBmcmFuw6dhaXMuJywKICAgICAgcHJvdmE6J1JvYmUgY2l0cm9uLiBOZXogY29tcGxleGUsIHRyb3BpY2FsLCB2YW5pbGzDqSBldCBkZSBmcnVpdHMgYmxhbmNzLiBFbiBib3VjaGUsIGlsIGVzdCBjcsOpbWV1eCBldCBiZXVycsOpLCBhdmVjIGZyYcOuY2hldXIgZXQgYWNpZGl0w6kgZW4gw6lxdWlsaWJyZS4gw4lsw6lnYW50LCBwZXJzaXN0YW50IGV0IGFkZGljdGlmLicsCiAgICAgIHNlcnZpcjonMTAgYSAxMiDCukMnLG1lc2E6J1BvaXNzb25zIGV0IHZpYW5kZXMgZ3JpbGzDqXMsIHJlcGFzIGzDqWdlcnMsIG91IHNldWwuJyxndWFyZGFyOidDb3VjaMOpZSwgw6AgbOKAmWFicmkgZGUgbGEgbHVtacOocmUsIMOgIHRlbXDDqXJhdHVyZSBjb25zdGFudGUgZXQgbW9kw6lyw6llLicsCiAgICAgIGRhZG9zOltbJ01pbGzDqXNpbWUnLCcyMDE2J10sWydBbGNvb2wnLCcxMyw1ICUnXSxbJ0FjaWRpdMOpIHRvdGFsZScsJzUgZy9kbcKzJ10sWydTdWNyZXMgdG90YXV4JywnNCw0IGcvZG3CsyddLFsncEgnLCczLDMyJ10sWydHYXJkZScsJ1BsdXMgZGUgMyBhbnMnXSxbJ0JvdXRlaWxsZScsJ0JvcmRlbGFpc2UgcHJlc3RpZ2UsIDc1IGNsJ11dLAogICAgICBwZGY6JzIwMjMvMTAvZnQtbW9ydmFsbGV5LWdyYW5kZS1yZXNlcnZhX2JyYW5jby5wZGYnfSwKICAgICdtZXcnOntub21lOidNRVcgYnkgTW9yVmFsbGV5Jyx0aXBvOidSb3VnZSDCtyBEb3VybyAyMDE2JyxjYXN0YXM6J1RvdXJpZ2EgTmFjaW9uYWwsIFRvdXJpZ2EgRnJhbmNhJywKICAgICAgY2l0YWNhbzonVm9pY2kgbWEgdmlzaW9uIHBlcnNvbm5lbGxlIGR1IERvdXJvLCBsYSBwcmV1dmUgZHUgY2FyYWN0w6hyZSBkZSBkZXV4IGdyYW5kcyBjw6lwYWdlcy4nLAogICAgICB2aW5pZmljYWNhbzonw4lsZXZhZ2UgZGUgMTggbW9pcyBlbiBmw7t0LicsCiAgICAgIHByb3ZhOidMZSBUb3VyaWdhIEZyYW5jYSBhcHBvcnRlIGxhIHN0cnVjdHVyZSBldCBsZSBmcnVpdC4gTGUgVG91cmlnYSBOYWNpb25hbCwgbGEgbm9ibGVzc2UgZmxvcmFsZS4gUmVmbGV0cyB2aW9sZXRzLCBuZXogY29tcGxleGUgZGUgZnJ1aXRzIHJvdWdlcywgZGUgdmFuaWxsZSBldCBkZSBjaG9jb2xhdC4gU291cGxlLCBhbXBsZSBldCBsb25nLCBhdmVjIGZyYcOuY2hldXIgZXQgdGFuaW5zIMOpbMOpZ2FudHMuJywKICAgICAgc2VydmlyOidDYXJhZmVyIGF2YW50IGRlIHNlcnZpciA6IGPigJllc3QgdW4gdmluIG5hdHVyZWwsIGlsIHBldXQgZm9ybWVyIHVuIGTDqXDDtHQuJywKICAgICAgZGFkb3M6W1snTWlsbMOpc2ltZScsJzIwMTYnXSxbJ0FsY29vbCcsJzE0ICUnXSxbJ0FjaWRpdMOpIHRvdGFsZScsJzUsMSBnL2RtwrMnXSxbJ1N1Y3JlcyB0b3RhdXgnLCc8IDAsNiBnL2RtwrMnXSxbJ3BIJywnMyw3MCddLFsnQm91dGVpbGxlJywnQm9yZGVsYWlzZSBpbXDDqXJpYWxlLCA3NSBjbCddLFsnUHLDqXNlbnRhdGlvbicsJ0NvZmZyZXQgaW5kaXZpZHVlbCddXSwKICAgICAgcGRmOicyMDIzLzEwL0ZUX01FVy10aW50by5wZGYnfSwKICAgICdjb2xsZWN0aW9uJzp7bm9tZTonTW9yVmFsbGV5IENvbGxlY3Rpb24nLHRpcG86J1NpeCB2aW5zIGV0IGxlIGNvZmZyZXQgQ29sbGVjdGlvbiBlbiBib2lzJywKICAgICAgcHJvdmE6J1VuZSBzw6lsZWN0aW9uIGRlcyBwbHVzIGJlYXV4IHZpbnMgZGUgbGEgbWFpc29uLCBkYW5zIHVuZSBjYWlzc2UgZW4gYm9pcyBvZmZlcnRlIGF2ZWMgbGUgcGFjay4nLAogICAgICBsaXN0YTpbJ01FVyByb3VnZScsJ01vclZhbGxleSBHcmFuZGUgUmVzZXJ2YSBUaW50bycsJ01vclZhbGxleSBHcmFuZGUgUmVzZXJ2YSBCcmFuY28nLCdNb3JWYWxsZXkgVG91cmlnYSBOYWNpb25hbCcsJ01vclZhbGxleSBSZXNlcnZhIFRpbnRvJywnTW9yVmFsbGV5IFJlc2VydmEgQnJhbmNvJ119LAogICAgJ215bzEwJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSAxMCBZZWFycyBPbGQnLHRpcG86J1BvcnRvIMK3IDEwIGFucycsCiAgICAgIHByb3ZhOidSb2JlIGJsYW5jIGRvcsOpIGV0IG5leiBpbnRlbnNlLCBvw7kgZG9taW5lbnQgbGVzIGZydWl0cyBzZWNzLCBsYSB2YW5pbGxlIGV0IGxlcyDDqXBpY2VzLiBFbiBib3VjaGUsIGlsIGVzdCBmcmFpcywgYXZlYyB1bmUgYWNpZGl0w6kgYmllbiBpbnTDqWdyw6llIMOgIGxhIGRvdWNldXIgZXQgYXUgYm9pcy4gRmluYWxlIGxvbmd1ZSBldCBnb3VybWFuZGUuJywKICAgICAgc2VydmlyOicxMiBhIDE0IMK6QycsbWVzYTonRnJ1aXRzIHNlY3MuIEVuIGRpZ2VzdGlmLCBhdmVjIGRlcyBkZXNzZXJ0cyBmcmFpcyBldCDDoCBs4oCZb3JhbmdlLicsZ3VhcmRhcjonRGVib3V0LCDDoCBs4oCZYWJyaSBkZSBsYSBsdW1pw6hyZSwgZW50cmUgMTQgZXQgMTYgwrpDLicsCiAgICAgIGRhZG9zOltbJ1Byw6lzZW50YXRpb24nLCdDb2ZmcmV0IGluZGl2aWR1ZWwnXV19LAogICAgJ215bzIwJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSAyMCBZZWFycyBPbGQnLHRpcG86J1BvcnRvIMK3IDIwIGFucycsCiAgICAgIHByb3ZhOidSb2JlIGRvcsOpZSBldCBuZXogaW50ZW5zZSwgYXV4IGZydWl0cyBzZWNzLCDDqXBpY2VzIGV0IGJvaXMuIEVuIGJvdWNoZSwgaWwgZXN0IGZyYWlzIGV0IGFjaWR1bMOpLCBhdmVjIHVuZSB0b3VjaGUgZOKAmW9yYW5nZS4gRmluYWxlIHRyw6hzIGxvbmd1ZS4nLAogICAgICBzZXJ2aXI6JzEyIGEgMTQgwrpDJyxtZXNhOidGcnVpdHMgc2VjcyBldCBhbWFuZGVzLiBFbiBkaWdlc3RpZiwgYXZlYyBkZXMgZGVzc2VydHMgZXQgZHUgY2hvY29sYXQuJyxndWFyZGFyOidEZWJvdXQsIMOgIGzigJlhYnJpIGRlIGxhIGx1bWnDqHJlLCBlbnRyZSAxMiBldCAxNCDCukMuJywKICAgICAgZGFkb3M6W1snUHLDqXNlbnRhdGlvbicsJ0NvZmZyZXQgaW5kaXZpZHVlbCddXX0sCiAgICAnbG1kJzp7bm9tZTonUGFjayBMZXZhLW1lIGFvIERvdXJvJyx0aXBvOidQb3J0byDCtyAyMCBhbnMgwrcgYm91dGVpbGxlIHBlaW50ZScsCiAgICAgIHByb3ZhOidSb2JlIGRvcsOpZSBldCBuZXogaW50ZW5zZSwgYXV4IGZydWl0cyBzZWNzLCDDqXBpY2VzIGV0IGJvaXMgbm9ibGUuIEVuIGJvdWNoZSwgaWwgZXN0IGZyYWlzLCBhdmVjIGRlcyB0b3VjaGVzIGTigJlhZ3J1bWVzIGV0IGTigJlvcmFuZ2UuIEZpbmFsZSBsb25ndWUgZXQgcmFmZmluw6llLiBMYSBib3V0ZWlsbGUgZXN0IHBlaW50ZSBk4oCZdW5lIGlsbHVzdHJhdGlvbiBkZSBsYSBmbG9yZSBldCBkZSBsYSBmYXVuZSBkdSBEb3Vyby4nLAogICAgICBzZXJ2aXI6JzEyIGEgMTQgwrpDJyxtZXNhOidGcnVpdHMgc2VjcywgYW1hbmRlcywgZGVzc2VydHMgZXQgY2hvY29sYXQuJyxndWFyZGFyOidEZWJvdXQsIMOgIGzigJlhYnJpIGRlIGxhIGx1bWnDqHJlIGV0IGRlcyB2YXJpYXRpb25zIGRlIHRlbXDDqXJhdHVyZS4nLAogICAgICBsaXN0YTpbJ0JvdXRlaWxsZSBwZWludGUgZGUgUG9ydG8gMjAgYW5zJywnRGV1eCB2ZXJyZXMnLCdDYWlzc2UgZW4gYm9pcyBwZWludGUgZXQgZ3JhdsOpZSwgw6AgbOKAmWludMOpcmlldXIgZW4gYm9pcyddfSwKICAgICdteW81MCc6e25vbWU6J01ZTyBieSBNb3JWYWxsZXkgNTAgWWVhcnMgT2xkJyx0aXBvOidQb3J0byDCtyA1MCBhbnMnLAogICAgICBwcm92YTonUm9iZSBibGFuYyBkb3LDqSwgbMOpZ8OocmVtZW50IHZlcmTDonRyZS4gTmV6IGRlIHZhbmlsbGUsIGTigJlvcmFuZ2UsIGRlIG5vaXNldHRlIGV0IGRlIG1pZWwuIEVuIGJvdWNoZSwgaWwgZXN0IGFtcGxlIGV0IGZyYWlzLCBhdmVjIGRlcyDDqXBpY2VzLiBGaW5hbGUgbG9uZ3VlLiBJbCB2aWVpbGxpdCBlbiBmw7t0IGp1c3F14oCZw6Agc2EgbWlzZSBlbiBib3V0ZWlsbGUuJywKICAgICAgc2VydmlyOicxNCBhIDE2IMK6QycsbWVzYTonU2V1bCwgYXZlYyBkZXMgZGVzc2VydHMgw6AgbOKAmW9yYW5nZSBvdSBhdSBjYXJhbWVsLCBvdSBkZXMgZnJ1aXRzIHNlY3MuJyxndWFyZGFyOidEZWJvdXQsIMOgIGzigJlhYnJpIGRlIGxhIGx1bWnDqHJlLCBlbnRyZSAxMiBldCAxNCDCukMuJywKICAgICAgZGFkb3M6W1snUHLDqXNlbnRhdGlvbicsJ0NvZmZyZXQgaW5kaXZpZHVlbCddXX0sCiAgICAndnZvJzp7bm9tZTonTVlPIGJ5IE1vclZhbGxleSBWZXJ5IFZlcnkgT2xkJyx0aXBvOidQb3J0byDCtyAxMDAgYW5zJywKICAgICAgcHJvdmE6J1JvYmUgYmxhbmMgZG9yw6kgYXV4IHJlZmxldHMgdmVydHMuIE5leiBpbnRlbnNlIGTigJlvcmFuZ2UsIGRlIHZhbmlsbGUsIGRlIGNhcmFtZWwsIGRlIG5vaXggZXQgZGUgbWllbC4gRW4gYm91Y2hlLCBpbCBlc3QgYW1wbGUsIG9uY3R1ZXV4IGV0IGZyYWlzLCBhdmVjIGZydWl0cyBzZWNzLCBjYXJhbWVsIGV0IMOpcGljZXMuIEZpbmFsZSBsb25ndWUsIGRvdWNlIGV0IHZhbmlsbMOpZS4nLAogICAgICBzZXJ2aXI6JzE0IGEgMTYgwrpDJyxtZXNhOidTZXVsLCBhdmVjIGRlcyBkZXNzZXJ0cyDDoCBs4oCZb3JhbmdlIG91IGF1IGNhcmFtZWwsIG91IGRlcyBmcnVpdHMgc2Vjcy4nLGd1YXJkYXI6J0RlYm91dCwgw6AgbOKAmWFicmkgZGUgbGEgbHVtacOocmUsIGVudHJlIDEyIGV0IDE0IMK6Qy4nLAogICAgICBkYWRvczpbWydQcsOpc2VudGF0aW9uJywnQ29mZnJldCBhdmVjIHJ1YmFuIGV0IHNjZWF1IGRlIGNpcmUnXV19CiAgfTsKICBjb25zdCBtYXBhPXsndmUtdGludG8nOid2ZS10aW50bycsJ3ZlLWJyYW5jbyc6J3ZlLWJyYW5jbycsJ3Jlcy1icmFuY28nOidyZXMtYnJhbmNvJywncmVzLXRpbnRvJzoncmVzLXRpbnRvJywndG91cmlnYSc6J3RvdXJpZ2EnLCdnci10aW50byc6J2dyLXRpbnRvJywnZ3ItYnJhbmNvJzonZ3ItYnJhbmNvJywnbWV3JzonbWV3JywnY29sbGVjdGlvbic6J2NvbGxlY3Rpb24nLCdteW8xMCc6J215bzEwJywnbXlvMjAnOidteW8yMCcsJ2xtZCc6J2xtZCcsJ215bzUwJzonbXlvNTAnLCd2dm8nOid2dm8nfTsKICBjb25zdCBlc2M9dD0+U3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ10vZyxjPT4oeycmJzonJmFtcDsnLCc8JzonJmx0OycsJz4nOicmZ3Q7JywnIic6JyZxdW90OycsIiciOicmIzM5Oyd9W2NdKSk7CiAgY29uc3QgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2F2ZXRhJyksIGNvcnBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnYXZldGFDb3JwbycpLCBmdW5kbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2F2ZXRhRnVuZG8nKTsKICBsZXQgb3JpZ2VtPW51bGw7CiAgZnVuY3Rpb24gYWJyZShrLGJ0bil7CiAgICBjb25zdCBmPUZba107IGlmKCFmKSByZXR1cm47IG9yaWdlbT1idG47CiAgICBsZXQgaD1gPHAgY2xhc3M9ImctdGlwbyI+JHtlc2MoZi50aXBvKX08L3A+PGgzIGNsYXNzPSJnLW5vbWUiIGlkPSJnYXZldGFUaXR1bG8iPiR7ZXNjKGYubm9tZSl9PC9oMz5gOwogICAgaWYoZi5jaXRhY2FvKSBoKz1gPGJsb2NrcXVvdGUgY2xhc3M9ImctY2l0YWNhbyI+JHtlc2MoZi5jaXRhY2FvKX08Y2l0ZT5Kb3PDqSBDYXJsb3MgUGludG88L2NpdGU+PC9ibG9ja3F1b3RlPmA7CiAgICBpZihmLmNhc3RhcykgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5Dw6lwYWdlczwvaDQ+PHA+JHtlc2MoZi5jYXN0YXMpfTwvcD48L2Rpdj5gOwogICAgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5Ew6lndXN0YXRpb248L2g0PjxwPiR7ZXNjKGYucHJvdmEpfTwvcD48L2Rpdj5gOwogICAgaWYoZi52aW5pZmljYWNhbykgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5WaW5pZmljYXRpb248L2g0PjxwPiR7ZXNjKGYudmluaWZpY2FjYW8pfTwvcD48L2Rpdj5gOwogICAgaWYoZi5saXN0YSkgaCs9YDxkaXYgY2xhc3M9ImctYmxvY28iPjxoND5Db21wcmVuZDwvaDQ+PHVsPiR7Zi5saXN0YS5tYXAoeD0+YDxsaT4ke2VzYyh4KX08L2xpPmApLmpvaW4oJycpfTwvdWw+PC9kaXY+YDsKICAgIGNvbnN0IHNlcnY9W107IGlmKGYuc2VydmlyKSBzZXJ2LnB1c2goWydTZXJ2aWNlJyxmLnNlcnZpcl0pOyBpZihmLm1lc2EpIHNlcnYucHVzaChbJ8OAIHRhYmxlJyxmLm1lc2FdKTsgaWYoZi5ndWFyZGFyKSBzZXJ2LnB1c2goWydDb25zZXJ2YXRpb24nLGYuZ3VhcmRhcl0pOwogICAgaWYoc2Vydi5sZW5ndGgpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+U2VydmljZTwvaDQ+PGRsPiR7c2Vydi5tYXAoKFthLGJdKT0+YDxkdD4ke2VzYyhhKX08L2R0PjxkZD4ke2VzYyhiKX08L2RkPmApLmpvaW4oJycpfTwvZGw+PC9kaXY+YDsKICAgIGlmKGYuZGFkb3MpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+RG9ubsOpZXMgdGVjaG5pcXVlczwvaDQ+PGRsIGNsYXNzPSJnLWRhZG9zIj4ke2YuZGFkb3MubWFwKChbYSxiXSk9PmA8ZHQ+JHtlc2MoYSl9PC9kdD48ZGQ+JHtlc2MoYil9PC9kZD5gKS5qb2luKCcnKX08L2RsPjwvZGl2PmA7CiAgICBpZihmLnByZW1pb3MpIGgrPWA8ZGl2IGNsYXNzPSJnLWJsb2NvIj48aDQ+RGlzdGluY3Rpb25zPC9oND48cD4ke2VzYyhmLnByZW1pb3MpfTwvcD48L2Rpdj5gOwogICAgaWYoZi5wZGYpIGgrPWA8YSBjbGFzcz0iZy1wZGYiIGhyZWY9IiR7UERGK2YucGRmfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkZpY2hlIHRlY2huaXF1ZSAoUERGKTwvYT5gOwogICAgY29ycG8uaW5uZXJIVE1MPWg7IGcuaGlkZGVuPWZhbHNlOyBmdW5kby5oaWRkZW49ZmFsc2U7CiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntnLmNsYXNzTGlzdC5hZGQoJ2FiZXJ0YScpO2Z1bmRvLmNsYXNzTGlzdC5hZGQoJ2FiZXJ0YScpO30pOwogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3NlbS1zY3JvbGwnKTsKICAgIGcucXVlcnlTZWxlY3RvcignLmctZmVjaGFyJykuZm9jdXMoKTsKICAgIGNvcnBvLnNjcm9sbFRvcD0wOwogIH0KICBmdW5jdGlvbiBmZWNoYSgpewogICAgZy5jbGFzc0xpc3QucmVtb3ZlKCdhYmVydGEnKTsgZnVuZG8uY2xhc3NMaXN0LnJlbW92ZSgnYWJlcnRhJyk7CiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc2VtLXNjcm9sbCcpOwogICAgc2V0VGltZW91dCgoKT0+e2cuaGlkZGVuPXRydWU7ZnVuZG8uaGlkZGVuPXRydWU7fSwzMjApOwogICAgaWYob3JpZ2VtKSBvcmlnZW0uZm9jdXMoKTsKICB9CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBlY2EgZmlndXJlIGltZycpLmZvckVhY2goaW1nPT57CiAgICBjb25zdCBtPWltZy5nZXRBdHRyaWJ1dGUoJ3NyYycpLm1hdGNoKC9tdmxvamEtKFthLXowLTktXSs\/KSg\/Oi1yZXBvdXNvKT9cLndlYnAvKTsgaWYoIW18fCFtYXBhW21bMV1dKSByZXR1cm47CiAgICBjb25zdCBrPW1hcGFbbVsxXV0sIHBlY2E9aW1nLmNsb3Nlc3QoJy5wZWNhJyksIGZpY2hhPXBlY2EucXVlcnlTZWxlY3RvcignLmZpY2hhJyk7IGlmKCFmaWNoYSkgcmV0dXJuOwogICAgY29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsgYi50eXBlPSdidXR0b24nOyBiLmNsYXNzTmFtZT0ndmVyLWZpY2hhJzsgYi5pbm5lckhUTUw9JzxpIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+RmljaGEgdMOpY25pY2EnOwogICAgYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCdkaWFsb2cnKTsgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PmFicmUoayxiKSk7IGZpY2hhLmFwcGVuZENoaWxkKGIpOwogIH0pOwogIGcucXVlcnlTZWxlY3RvcignLmctZmVjaGFyJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZlY2hhKTsKICBmdW5kby5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZmVjaGEpOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLGU9PntpZihlLmtleT09PSdFc2NhcGUnJiYhZy5oaWRkZW4pIGZlY2hhKCk7fSk7Cn0pKCk7Cg==\"><\/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+e2ltLnN0eWxlLmRpc3BsYXk9Jyc7aWYoIWxpdnJlKHMsaW0saykpaW0uc3R5bGUuZGlzcGxheT0nbm9uZSd9OwogIGltLmNvbXBsZXRlP2dvKCk6aW0ub25sb2FkPWdvO30pO30KIHNldFRpbWVvdXQoY29sb2Nhciw4MDApO2xldCB0cTthZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCgpPT57Y2xlYXJUaW1lb3V0KHRxKTt0cT1zZXRUaW1lb3V0KGNvbG9jYXIsMjAwKX0pOwp9KSgpOwooZnVuY3Rpb24oKXtjb25zdCBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbmljaW8nKTtpZighZilyZXR1cm47Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtiLmNsYXNzTmFtZT0nYmFycmEtbmF0YWwnOwogYi5pbm5lckhUTUw9JzxzcGFuPk5vw6tsPC9zcGFuPjxpbWcgc3JjPSInK01WTignYmFycmEtYXpldmluaG8ucG5nJykrJyIgYWx0PSIiPjxzcGFuPk5vw6tsPC9zcGFuPic7Zi5hcHBlbmRDaGlsZChiKTt9KSgpOwooZnVuY3Rpb24oKXtjb25zdCBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXonKTtpZighZClyZXR1cm47Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtiLmNsYXNzTmFtZT0nYmFycmEtbmF0YWwnOwogYi5pbm5lckhUTUw9JzxzcGFuPk5vw6tsPC9zcGFuPjxpbWcgc3JjPSInK01WTignYmFycmEtYXpldmluaG8ucG5nJykrJyIgYWx0PSIiPjxzcGFuPk5vw6tsPC9zcGFuPic7ZC5wcmVwZW5kKGIpO30pKCk7CihmdW5jdGlvbigpewogY29uc3QgRVg9e2ZkczpbWydmb2xoYTMucG5nJywyMl0sWydmb2xoYTUucG5nJywtMjhdXX07CiBmdW5jdGlvbiBvYnN0KHNlYyl7Y29uc3QgUz1zZWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgcmV0dXJuIFsuLi5zZWMucXVlcnlTZWxlY3RvckFsbCgnLnZpZGEtZm90bywudmlkcm8saW1nOm5vdCgucGFycmEtbG9qYSksLmJhcnJhLW5hdGFsLGgxLGgyLGgzLHAsZmlndXJlLC5maWNoYSxidXR0b24sYSwubnVtZXJvLHNtYWxsLGlucHV0LGxhYmVsLC5wYXJyYS1sb2phJyldCiAgIC5maWx0ZXIoZT0+ZS5vZmZzZXRQYXJlbnQmJmUuc3R5bGUuZGlzcGxheSE9PSdub25lJykubWFwKGU9Pntjb25zdCByPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscD1lLmNsYXNzTGlzdC5jb250YWlucygncGFycmEtbG9qYScpPy0xMDooZS5jbGFzc0xpc3QuY29udGFpbnMoJ2JhcnJhLW5hdGFsJyk\/NzA6MCk7CiAgIHJldHVybiB7bDpyLmxlZnQtUy5sZWZ0LXAsdDpyLnRvcC1TLnRvcC1wLHI6ci5yaWdodC1TLmxlZnQrcCxiOnIuYm90dG9tLVMudG9wK3B9fSkuZmlsdGVyKHI9PnIucj5yLmwmJnIuYj5yLnQpfQogZnVuY3Rpb24gcG9lRXh0cmEoKXtPYmplY3QuZW50cmllcyhFWCkuZm9yRWFjaCgoW2lkLExdKT0+e2NvbnN0IHNlYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIXNlYylyZXR1cm47CiAgc2VjLnF1ZXJ5U2VsZWN0b3JBbGwoJy5wYXJyYS1leHRyYScpLmZvckVhY2goZT0+ZS5yZW1vdmUoKSk7CiAgTC5mb3JFYWNoKChbZixyb3RdLGspPT57Y29uc3QgaW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7aW0uc3JjPU1WTihmKTtpbS5hbHQ9Jyc7aW0uY2xhc3NOYW1lPSdwYXJyYS1sb2phIHBhcnJhLWV4dHJhJztzZWMuYXBwZW5kQ2hpbGQoaW0pOwogICBjb25zdCBnbz0oKT0+e2NvbnN0IFM9c2VjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGVscz1vYnN0KHNlYyk7Y29uc3QgTT03MDsKICAgIGZvcihjb25zdCBXMCBvZiBbMjcwLDIzMCwxOTBdKXtjb25zdCBXPU1hdGgubWluKFcwLGlubmVyV2lkdGgqLjI0KSxIPVcqaW0ubmF0dXJhbEhlaWdodC9pbS5uYXR1cmFsV2lkdGg7CiAgICAgZm9yKGxldCB5PVMuaGVpZ2h0LUgtMzA7eT40MDt5LT0xOCl7Zm9yKGxldCB4PWs\/Uy53aWR0aC1XLTQwOlMud2lkdGgqLjM1O2s\/eD5TLndpZHRoKi4zOng8Uy53aWR0aC1XLTQwO3grPWs\/LTI0OjI0KXsKICAgICAgY29uc3QgYj17bDp4LHQ6eSxyOngrVyxiOnkrSH07aWYoIWVscy5zb21lKGU9PmUhPT1pbSYmZS5sPGIucitNJiZlLnI+Yi5sLU0mJmUudDxiLmIrTSYmZS5iPmIudC1NKSl7CiAgICAgICBpbS5zdHlsZS5jc3NUZXh0PWB0b3A6JHt5fXB4O2xlZnQ6JHt4fXB4O3dpZHRoOiR7V31weDstLXI6JHtyb3R9ZGVnOy0tZDokezEyK2t9czthbmltYXRpb24tZGVsYXk6LSR7MytrKjJ9c2A7cmV0dXJufX19fQogICAgaW0ucmVtb3ZlKCl9OwogICBpbS5jb21wbGV0ZT9nbygpOmltLm9ubG9hZD1nbzt9KTt9KTt9CiBzZXRUaW1lb3V0KHBvZUV4dHJhLDEzMDApO2xldCB0O2FkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsKCk9PntjbGVhclRpbWVvdXQodCk7dD1zZXRUaW1lb3V0KHBvZUV4dHJhLDQwMCl9KTsKfSkoKTsK\"><\/script><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Tous les jours54\u20ac Week&#8209;endd\u00e8s 22 \u20ac Une dated\u00e8s 39,90 \u20ac 10 ans65\u20ac 20 ansd\u00e8s 125 \u20ac 50 ans500\u20ac 100 ans3000\u20ac Pas encore arriv\u00e954,24\u20ac Boutique MorValley \u00b7 No\u00ebl 2026 Salutations du Douro. Bienvenue. Je vous sugg\u00e8re de commencer par l\u2019un des embl\u00e8mes de la maison. MorValley Reserva Branco\u2192 Afficher Tout Rouge Blanc Porto Coffrets et packs Temps I caisses de 6 Tous les jours. Un vin de qualit\u00e9 pour la table de tous les jours. Nul besoin d\u2019occasion. &nbsp; Vale de Escadas Reserva 54\u20acTVA incl.Rouge \u00b7 caisse de 6Je le veux &nbsp; Vale de Escadas Reserva 54\u20acTVA incl.Blanc \u00b7 caisse de 6Je le veux Temps II d\u00e8s 22 \u20ac Un week&#8209;end. Une table bien garnie et de longues conversations. C\u2019est pour cela que je les fais. &nbsp; MorValley Reserva 22\u20acTVA incl.Blanc \u00b7 2022Je le veux &nbsp; MorValley Reserva 22\u20acTVA incl.Rouge \u00b7 2022Je le veux &nbsp; MorValley Touriga Nacional 27,50\u20acTVA incl.Rouge \u00b7 monoc\u00e9page Temps III d\u00e8s 39,90 \u20ac Une date qui compte. Je cherche la perfection de la r\u00e9gion. Ce qui na\u00eet de la patience technique. &nbsp; MorValley Grande Reserva 39,90\u20acTVA incl.Rouge \u00b7 2016Je le veux &nbsp; MorValley Grande Reserva 39,90\u20acTVA incl.Blanc \u00b7 2016Je le veux &nbsp; MEW 75\u20acTVA incl.Rouge \u00b7 Douro 2016Je le veux &nbsp; MorValley Collection 209,50\u20acTVA incl.Collection en coffret Temps IV Porto 10ans Dix ans en f\u00fbt. &nbsp; MYO by MorValley 10 Years Old 65\u20acTVA incl.PortoJe le veux Fruits secs, vanille et \u00e9pices. Frais en bouche, avec une longue finale. Temps V d\u00e8s 125 \u20ac 20ans Vingt ans apr\u00e8s. \u00c0 vingt ans, le Porto n\u2019est plus press\u00e9. Celui qui le re\u00e7oit non plus. &nbsp; MYO by MorValley 20 Years Old 125\u20acTVA incl.PortoJe le veux Peinte sur le verre Pack Leva-me ao Douro 450\u20acTVA incl.Porto 20 ans \u00b7 bouteille peinte \u00b7 deux verresJe le veux Temps VI Porto 50ans Un demi-si\u00e8cle. &nbsp; MYO by MorValley 50 Years Old 500\u20acTVA incl.PortoJe le veux Lumi\u00e8re du Douro, maintenantRegarder passer la journ\u00e9e Il vieillit en f\u00fbt jusqu\u2019au jour de sa mise en bouteille. Pas un jour plus t\u00f4t. Vanille, orange, noisette et miel. Ample et frais, avec des \u00e9pices en finale. 100 Temps VII Very Very Old Un si\u00e8cle. Il n\u2019y a pas d\u2019autre fa\u00e7on de le dire. Cent ans de Douro dans un verre. &nbsp; MYO by MorValley Very Very Old 3000\u20acTVA incl.PortoJe le veux Lumi\u00e8re du Douro, maintenantRegarder passer la journ\u00e9e Orange, caramel, noix et miel. Onctueux et frais, avec une longue finale vanill\u00e9e. Temps VIII Magnum 1,5 L \u00b7 54,24 \u20ac Pas encore arriv\u00e9. L\u2019atelier du Magnum. Choisissez le moment, \u00e9crivez les pr\u00e9noms et voyez tout de suite le rendu peint sur le verre. Pour quelqu\u2019un Pour l\u2019entreprise \u00b7 No\u00ebl 2026 Naissancele premier jour Anniversairechaque ann\u00e9e Mariagele oui Nouvelle maisonla cl\u00e9 Noces25, 50 ans Retraitela derni\u00e8re promotion Famillechaque No\u00ebl Mercin\u2019importe quel jour Entreprise \u00b7 Pommes de pinpour les clients Entreprise \u00b7 Vignepour les clients \u00c9quipe \u00b7 Pommes de pinpour l\u2019\u00e9quipe \u00c9quipe \u00b7 Vignepour l\u2019\u00e9quipe 1Le moment Votre MagnumAnniversaireIl y a des chiffres qui se f\u00eatent. Le v\u00f4tre. 2\u00c9crivez et voyez le rendu sur le verre 10 cm 10 cm De pr\u00e8s \u00b7 la zone peinte sur le verre du Magnum 3Confirmez Magnum 1,5 L \u00b7 peinture sur le verre54,24\u20ac Coffret cadeauinclus TVAcomprise Je veux ce Magnum Livraison dans toute l\u2019Union europ\u00e9enne \u00b7 Livraison gratuite au Portugal continental Autour de la bouteille Pour servir et offrir. &nbsp; Seau \u00e0 vin 175\u20acTVA incl.Bois et acier inoxydableJe le veux &nbsp; Selection Douro Valley 20\u20acTVA incl.Coffret premium \u00b7 3 bouteillesJe le veux &nbsp; MorValley Premium 15\u20acTVA incl.Caisse en bois \u00b7 3 bouteillesJe le veux Vente interdite aux mineurs de moins de 18 ans. L\u2019abus d\u2019alcool est dangereux pour la sant\u00e9, \u00e0 consommer avec mod\u00e9ration. Conditions g\u00e9n\u00e9rales Politique de confidentialit\u00e9 Livraisons et retours Livre de r\u00e9clamations 41\u00b011\u00b423.79\u201dN \u00b7 7\u00b048\u00b453.9\u201dW \u00a9 2026 MorValley Douro Wines \u00b7 Vall\u00e9e du Douro Fermer Fiche techniqueFermer<\/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-18951","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/morvalley.com\/fr\/wp-json\/wp\/v2\/pages\/18951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/morvalley.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/morvalley.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/morvalley.com\/fr\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/morvalley.com\/fr\/wp-json\/wp\/v2\/comments?post=18951"}],"version-history":[{"count":0,"href":"https:\/\/morvalley.com\/fr\/wp-json\/wp\/v2\/pages\/18951\/revisions"}],"wp:attachment":[{"href":"https:\/\/morvalley.com\/fr\/wp-json\/wp\/v2\/media?parent=18951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}