{"id":2925,"date":"2025-05-15T17:17:52","date_gmt":"2025-05-15T17:17:52","guid":{"rendered":"https:\/\/rentamac.io\/?page_id=2925"},"modified":"2026-07-09T19:33:42","modified_gmt":"2026-07-09T19:33:42","slug":"%d9%85%d8%a7%d9%83-vps","status":"publish","type":"page","link":"https:\/\/rentamac.io\/ar\/mac-vps\/","title":{"rendered":"\u0645\u0627\u0643 VPS"},"content":{"rendered":"\n<!-- ============================================================\n  Mac VPS landing page - rentamac.io\n  Self-contained Gutenberg HTML block: one style block + inline scripts.\n  Every selector is prefixed .mh- so nothing leaks into the theme.\n  Image paths are relative (images\/...); swap to WP media URLs at\n  port time. CTAs: https:\/\/rentamac.io\/pricing - \/demo\n  Design refs: reference\/manifest.md + reference\/user\/manifest.txt\n============================================================= -->\n<style>\n\/* full-bleed: break out of the theme's content container *\/\nbody{overflow-x:clip;}\nbody .mh-page{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}\n\/* Hide the theme page header on this page *\/\n.page-header{display:none!important;}\nhtml,body{margin:0;}  \/* kill default body margin (white edges) when viewed standalone *\/\n\n\/* ---------- tokens ---------- *\/\n.mh-page{\n  --mh-bg:#0a0a0c;\n  --mh-bg2:#0e0e11;\n  --mh-panel:#121215;\n  --mh-card:rgba(255,255,255,.038);\n  --mh-line:rgba(255,255,255,.10);\n  --mh-line-soft:rgba(255,255,255,.06);\n  --mh-text:#f5f5f7;\n  --mh-text2:#a3a3ab;\n  --mh-text3:#7d7d86;\n  --mh-accent:#4a8fd4;           \/* brand blue (matches homepage CTAs) *\/\n  --mh-accent-soft:rgba(74,143,212,.13);\n  --mh-blue:#4a8fd4;           \/* homepage primary CTA blue *\/\n  --mh-blue-hi:#5a9de0;        \/* homepage CTA hover *\/\n  --mh-green:#5bd27d;          \/* machine light only: LED, connected, live *\/\n  --mh-glow:255,196,130;\n  --mh-mono:ui-monospace,\"SF Mono\",SFMono-Regular,Menlo,Consolas,monospace;\n  \/* motion system: one easing family, three durations, nothing else *\/\n  --mh-e:cubic-bezier(.22,1,.36,1);\n  --mh-fast:200ms;\n  --mh-base:450ms;\n  --mh-slow:700ms;\n  --mh-radius:22px;\n  --mh-sec:clamp(96px,13vw,180px);\n  font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Display\",\"SF Pro Text\",\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n  background:var(--mh-bg);\n  color:var(--mh-text);\n  line-height:1.5;\n  font-size:16px;\n  -webkit-font-smoothing:antialiased;\n  text-rendering:optimizeLegibility;\n  overflow-x:clip;\n}\n.mh-page *,.mh-page *::before,.mh-page *::after{box-sizing:border-box;margin:0;padding:0;}\n.mh-page img{display:block;max-width:100%;height:auto;}\n.mh-page a{color:inherit;text-decoration:none;}\n.mh-page button{font-family:inherit;background:none;border:none;color:inherit;cursor:pointer;}\n.mh-page ::selection{background:rgba(74,143,212,.28);color:#fff;}\n\n.mh-wrap{max-width:1240px;margin:0 auto;padding-left:clamp(20px,4vw,40px);padding-right:clamp(20px,4vw,40px);}\n.mh-sec{padding-top:var(--mh-sec);position:relative;}\n.mh-page section{scroll-margin-top:84px;}\n\n\/* ---------- type ---------- *\/\n.mh-label{\n  font-family:var(--mh-mono);font-size:11px;font-weight:500;\n  letter-spacing:.18em;text-transform:uppercase;color:var(--mh-text3);\n  display:flex;align-items:center;gap:12px;\n}\n.mh-label::after{content:\"\";height:1px;width:44px;background:var(--mh-line);}\n.mh-h2{\n  font-size:clamp(38px,5.6vw,76px);line-height:1.02;font-weight:660;\n  letter-spacing:-.032em;color:var(--mh-text);text-wrap:balance;margin-top:22px;\n}\n.mh-h2-sm{font-size:clamp(30px,4vw,52px);}\n.mh-sub{\n  font-size:clamp(16px,1.7vw,19px);line-height:1.6;color:var(--mh-text2);\n  margin-top:20px;max-width:56ch;text-wrap:pretty;\n}\n.mh-head{margin-bottom:clamp(44px,6vw,84px);}\n.mh-mono{font-family:var(--mh-mono);}\n\n\/* ---------- buttons ---------- *\/\n.mh-btn{\n  display:inline-flex;align-items:center;justify-content:center;gap:8px;\n  padding:15px 30px;border-radius:980px;font-size:16px;font-weight:600;\n  letter-spacing:-.01em;line-height:1;white-space:nowrap;\n  transition:transform var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e),\n    border-color var(--mh-fast) var(--mh-e),box-shadow var(--mh-fast) var(--mh-e),color var(--mh-fast) var(--mh-e);\n}\n.mh-btn:active{transform:scale(.97);}\n\/* button colors mirror the rentamac.io homepage CTAs for brand consistency *\/\n.mh-page .mh-btn-fill,.mh-page .mh-btn-fill:visited{background:var(--mh-blue);color:#fff;}\n.mh-page .mh-btn-fill:hover{background:var(--mh-blue-hi);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px rgba(74,143,212,.3);}\n.mh-page .mh-btn-line,.mh-page .mh-btn-line:visited{border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.6);background:transparent;}\n.mh-page .mh-btn-line:hover{border-color:rgba(255,255,255,.35);color:var(--mh-text);transform:translateY(-2px);}\n.mh-btn-sm{padding:9px 18px;font-size:13.5px;}\n.mh-page .mh-btn:focus-visible,.mh-page a:focus-visible,.mh-page button:focus-visible{\n  outline:2px solid var(--mh-accent);outline-offset:3px;border-radius:6px;\n}\n.mh-page .mh-btn:focus-visible{border-radius:980px;}\n.mh-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}\n\n\/* ---------- reveal choreography ---------- *\/\n.mh-js .mh-r{opacity:0;transform:translateY(14px);\n  transition:opacity var(--mh-base) var(--mh-e),transform var(--mh-base) var(--mh-e);\n  transition-delay:var(--d,0s);}\n.mh-js .mh-r.mh-on{opacity:1;transform:none;}\n@media (prefers-reduced-motion:reduce){\n  .mh-js .mh-r{opacity:1;transform:none;transition:none;}\n}\n\n\/* ---------- hero: THE WAKE ---------- *\/\n.mh-hero{padding-top:clamp(40px,5.5vw,84px);min-height:100svh;display:flex;flex-direction:column;\n  position:relative;overflow:hidden;}\n\/* fade the top of the hero into the pure-black header (#000) *\/\n.mh-hero::before{content:\"\";position:absolute;left:0;right:0;top:0;height:clamp(90px,13vh,170px);\n  pointer-events:none;z-index:0;background:linear-gradient(to bottom,#000,transparent);}\n.mh-hero-stage{position:relative;z-index:1;max-width:960px;width:100%;margin:0 auto;flex:0 0 auto;}\n.mh-hero-bloom{position:absolute;inset:-12% -18%;pointer-events:none;\n  background:\n    radial-gradient(42% 46% at 50% 44%,rgba(var(--mh-glow),.17),transparent 68%),\n    radial-gradient(24% 26% at 50% 46%,rgba(var(--mh-glow),.12),transparent 70%);\n  filter:blur(6px);\n  opacity:0;transition:opacity var(--mh-slow) var(--mh-e) 120ms;}\n.mh-hero-img{position:relative;margin:0 auto;width:min(100%,860px);\n  -webkit-mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);\n  mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);}\n.mh-hero-shade{position:absolute;inset:0;background:var(--mh-bg);opacity:.5;pointer-events:none;\n  -webkit-mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);\n  mask-image:radial-gradient(74% 74% at 50% 50%,#000 40%,transparent 93%);\n  transition:opacity var(--mh-slow) var(--mh-e);}\n.mh-awake .mh-hero-shade{opacity:0;}\n.mh-awake .mh-hero-bloom{opacity:1;}\n\/* graceful fallback: if the hero image is missing, collapse to a clean dark\n   stage (bloom + terminal only) instead of showing spilled alt text *\/\n.mh-hero-stage.mh-noimg{min-height:clamp(300px,36vw,500px);}\n.mh-noimg .mh-hero-img,.mh-noimg .mh-hero-shade,.mh-noimg .mh-led{display:none;}\n.mh-led{position:absolute;left:59.55%;top:48.5%;margin:-3.5px 0 0 -3.5px;width:7px;height:7px;border-radius:50%;\n  background:#f7f7f2;pointer-events:none;\n  box-shadow:0 0 10px 2px rgba(255,244,214,.75);\n  animation:mhBreathe 3.4s var(--mh-e) infinite;}\n@keyframes mhBreathe{0%,100%{opacity:.16;}45%{opacity:.95;}60%{opacity:.9;}}\n.mh-awake .mh-led{animation:none;opacity:1;background:var(--mh-green);\n  box-shadow:0 0 9px 2px rgba(91,210,125,.8);\n  transition:opacity var(--mh-slow) var(--mh-e);}\n@media (prefers-reduced-motion:reduce){.mh-led{animation:none;opacity:1;}}\n.mh-term-line{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);\n  font-family:var(--mh-mono);font-size:12.5px;letter-spacing:.01em;white-space:nowrap;\n  color:var(--mh-text2);background:rgba(12,12,15,.72);\n  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);\n  border:1px solid var(--mh-line-soft);border-radius:980px;padding:9px 16px;\n  opacity:0;transition:opacity var(--mh-base) var(--mh-e);}\n.mh-awake .mh-term-line{opacity:1;}\n.mh-term-line .p{color:var(--mh-accent);}\n.mh-term-line .ok{color:var(--mh-green);}\n.mh-caret{display:inline-block;width:7px;height:13px;background:var(--mh-text2);\n  vertical-align:-2px;margin-left:2px;\n  animation:mhCaret 1s steps(1) infinite;}\n@keyframes mhCaret{0%,49%{opacity:1;}50%,100%{opacity:0;}}\n.mh-caret.mh-done{display:none;}\n@media (prefers-reduced-motion:reduce){.mh-caret{animation:none;display:none;}}\n@media(max-width:560px){.mh-term-line{font-size:10.5px;padding:7px 12px;bottom:2%;}}\n\n.mh-hero-head{width:100%;padding-bottom:clamp(24px,3.5vw,44px);flex:0 0 auto;position:relative;z-index:1;}\n.mh-hero .mh-hero-stage{margin-top:auto;margin-bottom:clamp(8px,1.5vw,20px);}\n.mh-h1{font-weight:680;letter-spacing:-.04em;line-height:.96;\n  font-size:clamp(50px,8.6vw,112px);color:var(--mh-text);}\n.mh-hero-rule{margin-top:clamp(26px,3vw,40px);\n  display:flex;align-items:baseline;justify-content:space-between;\n  gap:14px 28px;flex-wrap:wrap;}\n.mh-hero-sub{font-size:clamp(17px,1.9vw,22px);color:var(--mh-text2);font-weight:560;\n  letter-spacing:-.015em;line-height:1.4;max-width:44ch;text-wrap:pretty;}\n.mh-hero-sub b{color:var(--mh-text);font-weight:600;}\n.mh-hero-cta-row{margin-top:clamp(26px,3.5vw,38px);}\n.mh-btn-xl{padding:21px 46px;font-size:18px;}\n.mh-btn-xl svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2.2;\n  stroke-linecap:round;stroke-linejoin:round;}\n\n\/* ---------- inline section CTAs + risk reducers ---------- *\/\n.mh-cta-block{margin-top:clamp(40px,5vw,64px);display:flex;flex-direction:column;gap:13px;align-items:flex-start;}\n.mh-cta-center{align-items:center;text-align:center;}\n.mh-reduce{font-family:var(--mh-mono);font-size:12px;letter-spacing:.03em;color:var(--mh-text3);}\n.mh-reduce b{color:var(--mh-text2);font-weight:500;}\n\n\/* ---------- mobile sticky CTA bar (shows after hero, hides at final CTA) ---------- *\/\n.mh-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;\n  padding:10px clamp(16px,4vw,20px) calc(12px + env(safe-area-inset-bottom,0px));\n  background:rgba(10,10,12,.9);\n  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);\n  border-top:1px solid var(--mh-line-soft);\n  transform:translateY(120%);transition:transform var(--mh-base) var(--mh-e);}\n.mh-stickybar .mh-reduce{display:block;text-align:center;margin-bottom:8px;}\n.mh-stickybar .mh-btn{width:100%;padding:15px 24px;}\n.mh-js .mh-stickybar.mh-vis{transform:translateY(0);}\n.mh-page:not(.mh-js) .mh-stickybar{position:static;transform:none;}\n@media(max-width:820px){.mh-stickybar{display:block;}}\n@media (prefers-reduced-motion:reduce){.mh-stickybar{transition:none;}}\n\n\/* ---------- 01 proof band (ref: user\/stats-band-01) ---------- *\/\n.mh-proof{border-top:1px solid var(--mh-line);border-bottom:1px solid var(--mh-line);\n  margin-top:clamp(20px,4vw,48px);}\n.mh-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);}\n.mh-proof-cell{display:flex;flex-direction:column;justify-content:space-between;\n  min-height:clamp(240px,26vw,340px);padding:clamp(24px,3vw,40px) clamp(20px,2.6vw,36px);\n  border-left:1px solid var(--mh-line-soft);}\n.mh-proof-cell:first-child{border-left:none;padding-left:0;}\n.mh-proof-n{font-size:clamp(44px,5.4vw,84px);font-weight:300;letter-spacing:-.03em;\n  line-height:1;color:var(--mh-text);font-variant-numeric:tabular-nums;white-space:nowrap;}\n.mh-proof-n small{font-size:.5em;font-weight:400;color:var(--mh-text2);letter-spacing:-.01em;}\n.mh-proof-cell b{display:block;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--mh-text);}\n.mh-proof-cell p{font-size:13px;line-height:1.55;color:var(--mh-text3);margin-top:6px;max-width:26ch;}\n@media(max-width:640px){\n  .mh-proof-grid{grid-template-columns:1fr;}\n  .mh-proof-cell{min-height:150px;border-left:none;padding-left:0;padding-right:0;}\n  .mh-proof-cell:nth-child(n+2){border-top:1px solid var(--mh-line-soft);}\n}\n\n\/* ---------- 03 setup: sticky heading + rows ---------- *\/\n.mh-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(36px,6vw,96px);align-items:start;}\n.mh-split-head{position:sticky;top:110px;}\n@media(max-width:860px){.mh-split{grid-template-columns:1fr;}.mh-split-head{position:static;}}\n.mh-steps{border-top:1px solid var(--mh-line);}\n.mh-step{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:30px 0 32px;\n  border-bottom:1px solid var(--mh-line-soft);}\n.mh-step i{font-style:normal;font-family:var(--mh-mono);font-size:12px;color:var(--mh-accent);\n  letter-spacing:.08em;padding-top:7px;}\n.mh-step h3{font-size:clamp(19px,2vw,23px);font-weight:600;letter-spacing:-.018em;}\n.mh-step p{font-size:15px;line-height:1.62;color:var(--mh-text2);margin-top:9px;max-width:54ch;}\n@media(max-width:430px){.mh-step{grid-template-columns:44px 1fr;gap:12px;}}\n\n\/* ---------- 04 use cases: editorial ---------- *\/\n.mh-uc-bento{display:grid;grid-template-columns:1.55fr 1fr 1fr;grid-auto-rows:minmax(158px,1fr);gap:14px;}\n.mh-uc-card{position:relative;overflow:hidden;border:1px solid var(--mh-line);border-radius:20px;\n  padding:26px 26px 24px;background:rgba(255,255,255,.018);\n  transition:border-color var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e),box-shadow var(--mh-fast) var(--mh-e);}\n.mh-uc-card:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.03);box-shadow:0 8px 30px rgba(0,0,0,.35);}\n.mh-js .mh-uc-card.mh-r{transition:opacity var(--mh-base) var(--mh-e),transform var(--mh-base) var(--mh-e),\n  border-color var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e),box-shadow var(--mh-fast) var(--mh-e);\n  transition-delay:var(--d,0s);}\n.mh-uc-kick{font-family:var(--mh-mono);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--mh-text3);}\n.mh-uc-card h4{font-size:18px;font-weight:600;letter-spacing:-.01em;margin-top:16px;}\n.mh-uc-desc{color:var(--mh-text2);font-size:14px;line-height:1.55;margin-top:9px;}\n.mh-uc-feat{grid-row:1\/3;display:flex;flex-direction:column;}\n.mh-uc-feat::before{content:\"\";position:absolute;inset:0;pointer-events:none;\n  background:radial-gradient(90% 60% at 12% 0,rgba(74,143,212,.12),transparent 58%);}\n.mh-uc-feat>*{position:relative;}\n.mh-uc-feat .mh-uc-kick{color:var(--mh-blue);}\n.mh-uc-feat h3{font-size:clamp(24px,2.4vw,32px);font-weight:640;letter-spacing:-.02em;margin-top:14px;line-height:1.06;}\n.mh-uc-lead-p{color:var(--mh-text2);font-size:16px;line-height:1.6;margin-top:12px;max-width:42ch;}\n.mh-uc-tags{font-family:var(--mh-mono);font-size:11px;font-weight:600;line-height:1.7;letter-spacing:.08em;\n  text-transform:uppercase;color:var(--mh-text3);margin-top:16px;}\n.mh-uc-feat .mh-runner{margin-top:auto;border-top:1px solid var(--mh-line-soft);padding-top:16px;\n  font-family:var(--mh-mono);font-size:12.5px;line-height:2;color:var(--mh-text2);}\n.mh-runner .ok{color:var(--mh-green);}\n.mh-runner .dim{color:var(--mh-text3);}\n@media(max-width:900px){.mh-uc-bento{grid-template-columns:1fr 1fr;grid-auto-rows:auto;}.mh-uc-feat{grid-column:1 \/ 3;grid-row:auto;}}\n@media(max-width:560px){.mh-uc-bento{grid-template-columns:1fr;}.mh-uc-feat{grid-column:auto;}}\n\n\/* ---------- 06 stack strip ---------- *\/\n.mh-stack-strip{border-top:1px solid var(--mh-line);padding-top:clamp(28px,3.4vw,44px);overflow:hidden;\n  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);\n          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}\n.mh-stack-track{display:flex;gap:14px;width:max-content;animation:mhStack 40s linear infinite;}\n.mh-stack-strip:hover .mh-stack-track{animation-play-state:paused;}\n.mh-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px 22px;\n  border:1px solid var(--mh-line);border-radius:100px;background:rgba(255,255,255,.02);\n  transition:border-color var(--mh-fast) var(--mh-e),background var(--mh-fast) var(--mh-e);}\n.mh-logo:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04);}\n.mh-logo img{width:26px;height:26px;border-radius:7px;opacity:.95;}\n.mh-logo span{font-family:var(--mh-mono);font-size:13px;letter-spacing:.04em;color:var(--mh-text2);white-space:nowrap;}\n@keyframes mhStack{from{transform:translateX(0);}to{transform:translateX(-50%);}}\n@media (prefers-reduced-motion:reduce){\n  .mh-stack-track{animation:none;flex-wrap:wrap;justify-content:center;}\n  .mh-stack-track [aria-hidden=\"true\"]{display:none;}\n}\n\n\/* ---------- 10 specs sheet ---------- *\/\n.mh-specs-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,80px);align-items:start;}\n@media(max-width:920px){.mh-specs-wrap{grid-template-columns:1fr;}}\n.mh-specs-copy p{font-size:clamp(15.5px,1.65vw,17.5px);line-height:1.65;color:var(--mh-text2);\n  margin-top:18px;max-width:52ch;}\n.mh-sheet-grp{margin-bottom:24px;}\n.mh-sheet-grp:last-child{margin-bottom:0;}\n.mh-sheet-gh{font-family:var(--mh-mono);font-size:11px;font-weight:600;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--mh-blue);margin-bottom:2px;}\n.mh-sheet-grp dl{border-top:1px solid var(--mh-line-soft);}\n.mh-sheet-row{display:grid;grid-template-columns:148px 1fr;gap:18px;padding:15px 0;\n  border-bottom:1px solid var(--mh-line-soft);}\n.mh-sheet-row dt{font-size:13.5px;color:var(--mh-text3);font-weight:500;padding-top:2px;}\n.mh-sheet-row dd{font-family:var(--mh-mono);font-size:13.5px;line-height:1.65;color:var(--mh-text);}\n.mh-sheet-row dd small{display:block;color:var(--mh-text3);font-size:12px;margin-top:3px;}\n@media(max-width:430px){.mh-sheet-row{grid-template-columns:104px 1fr;gap:12px;}}\n\n\/* ---------- 11 pricing: commitment slider ---------- *\/\n.mh-dial{border:1px solid var(--mh-line);border-radius:22px;padding:clamp(24px,3.6vw,48px);\n  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 45%);}\n.mh-dial-top{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;min-height:150px;}\n.mh-dial-plan{font-family:var(--mh-mono);font-size:12px;font-weight:600;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--mh-blue);}\n.mh-dial-price{font-family:var(--mh-mono);font-weight:600;font-size:clamp(50px,7.5vw,100px);\n  letter-spacing:-.04em;line-height:1;margin-top:14px;font-variant-numeric:tabular-nums;}\n.mh-dial-price small{font-size:clamp(15px,2vw,22px);color:var(--mh-text3);font-weight:400;letter-spacing:0;}\n.mh-dial-note{color:var(--mh-text2);font-size:15px;margin-top:12px;min-height:24px;}\n.mh-dial-side{text-align:right;padding-bottom:6px;}\n.mh-dial-day{font-family:var(--mh-mono);font-size:clamp(21px,2.6vw,30px);font-weight:600;font-variant-numeric:tabular-nums;}\n.mh-dial-day-lb{font-family:var(--mh-mono);font-size:10.5px;font-weight:600;letter-spacing:.13em;\n  text-transform:uppercase;color:var(--mh-text3);margin-top:8px;}\n.mh-dial-save{display:inline-block;font-family:var(--mh-mono);font-size:11px;font-weight:600;color:var(--mh-blue);\n  background:var(--mh-accent-soft);padding:6px 10px;border-radius:980px;margin-top:14px;visibility:hidden;}\n.mh-dial-save.mh-show{visibility:visible;}\n@keyframes mhSwapIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}\n.mh-swap{animation:mhSwapIn .26s var(--mh-e);}\n@media (prefers-reduced-motion:reduce){.mh-swap{animation:none;}}\n\/* the slider: thumb is 26px wide, so label centers track (100% - 26px) * i\/4 + 13px *\/\n.mh-slz{margin-top:clamp(28px,4vw,46px);}\n.mh-sl{-webkit-appearance:none;appearance:none;width:100%;height:36px;background:none;cursor:pointer;display:block;}\n.mh-sl::-webkit-slider-runnable-track{height:6px;border-radius:6px;\n  background:var(--mh-slf,linear-gradient(90deg,var(--mh-blue) 50%,rgba(255,255,255,.09) 50%));}\n.mh-sl::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;margin-top:-10px;\n  background:#fff;border:6px solid var(--mh-blue);\n  box-shadow:0 0 0 5px rgba(74,143,212,.18),0 4px 14px rgba(0,0,0,.5);}\n.mh-sl::-moz-range-track{height:6px;border-radius:6px;background:rgba(255,255,255,.09);}\n.mh-sl::-moz-range-progress{height:6px;border-radius:6px;background:var(--mh-blue);}\n.mh-sl::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:6px solid var(--mh-blue);\n  box-shadow:0 0 0 5px rgba(74,143,212,.18);}\n.mh-sl:focus-visible{outline:2px solid var(--mh-blue-hi);outline-offset:4px;border-radius:8px;}\n.mh-sl-labels{position:relative;height:48px;margin-top:8px;}\n.mh-sl-lb{position:absolute;top:0;transform:translateX(-50%);text-align:center;background:none;border:none;\n  padding:6px 2px;color:var(--mh-text3);font-family:inherit;cursor:pointer;\n  transition:color var(--mh-fast) var(--mh-e);}\n.mh-sl-lb:nth-child(1){left:calc((100% - 26px)*0 + 13px);}\n.mh-sl-lb:nth-child(2){left:calc((100% - 26px)*.25 + 13px);}\n.mh-sl-lb:nth-child(3){left:calc((100% - 26px)*.5 + 13px);}\n.mh-sl-lb:nth-child(4){left:calc((100% - 26px)*.75 + 13px);}\n.mh-sl-lb:nth-child(5){left:calc((100% - 26px)*1 + 13px);}\n.mh-sl-lb b{display:block;font-size:14px;font-weight:600;color:inherit;white-space:nowrap;}\n.mh-sl-lb i{display:block;font-style:normal;font-family:var(--mh-mono);font-size:10.5px;margin-top:5px;white-space:nowrap;}\n.mh-sl-lb.mh-on{color:var(--mh-text);}\n.mh-sl-lb.mh-on i{color:var(--mh-blue);}\n\/* CTA integrated into the card *\/\n.mh-dial-foot{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;\n  margin-top:clamp(26px,3.4vw,40px);padding-top:clamp(20px,2.6vw,28px);border-top:1px solid var(--mh-line-soft);}\n@media(max-width:700px){\n  .mh-dial-top{grid-template-columns:1fr;min-height:0;gap:6px;}\n  .mh-dial-side{text-align:left;padding-bottom:0;display:flex;align-items:baseline;gap:12px;}\n  .mh-dial-day-lb{margin-top:0;}\n  .mh-dial-save{margin-top:0;}\n  .mh-sl-lb b{font-size:11.5px;}\n  .mh-sl-lb i{display:none;}\n  .mh-sl-labels{height:32px;}\n}\n\n\/* ---------- reviews (auto-sliding carousel, homepage style) ---------- *\/\n.mh-reviews{position:relative;overflow:hidden;padding-bottom:clamp(64px,8vw,120px);\n  background:linear-gradient(to bottom,var(--mh-bg),var(--mh-bg2) 16%,var(--mh-bg2) 84%,var(--mh-bg));}\n#mh-demo{padding-top:clamp(60px,7vw,110px);}\n\/* aurora field: a soft, slowly drifting color wash used ONLY where the page\n   needs lift out of flat black (into Reviews, into the final CTA) -- never on\n   every section. Pure CSS, masked so it dissolves at every edge. *\/\n.mh-aurora{position:absolute;left:0;right:0;top:0;height:calc(var(--mh-sec)*1.75);\n  pointer-events:none;z-index:0;overflow:hidden;\n  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 52%,transparent 94%);\n          mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 52%,transparent 94%);}\n.mh-aurora i{position:absolute;display:block;border-radius:50%;will-change:transform;}\n.mh-aurora i:nth-child(1){width:min(880px,78vw);height:440px;left:1%;top:-16%;filter:blur(66px);\n  background:radial-gradient(50% 50% at 50% 50%,rgba(74,143,212,.20),transparent 70%);\n  animation:mhAurA 24s var(--mh-e) infinite alternate;}\n.mh-aurora i:nth-child(2){width:min(700px,64vw);height:400px;right:-4%;top:2%;filter:blur(78px);\n  background:radial-gradient(50% 50% at 50% 50%,rgba(96,120,220,.14),transparent 70%);\n  animation:mhAurB 31s var(--mh-e) infinite alternate;animation-delay:-8s;}\n.mh-aurora i:nth-child(3){width:min(520px,48vw);height:300px;left:38%;top:20%;filter:blur(72px);opacity:.8;\n  background:radial-gradient(50% 50% at 50% 50%,rgba(70,180,220,.10),transparent 70%);\n  animation:mhAurA 37s var(--mh-e) infinite alternate-reverse;animation-delay:-14s;}\n.mh-aurora::after{content:\"\";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;\n  background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'\/%3E%3C\/filter%3E%3Crect width='160' height='160' filter='url(%23n)'\/%3E%3C\/svg%3E\");}\n@keyframes mhAurA{from{transform:translate(-3%,0) scale(1);}to{transform:translate(6%,8%) scale(1.15);}}\n@keyframes mhAurB{from{transform:translate(4%,3%) scale(1.1);}to{transform:translate(-5%,-4%) scale(.92);}}\n@media (prefers-reduced-motion:reduce){.mh-aurora i{animation:none!important;}}\n.mh-reviews .mh-wrap{position:relative;z-index:2;}\n.mh-final .mh-wrap{position:relative;z-index:2;}\n\/* breathing room between the pricing CTAs and where the aurora begins *\/\n.mh-reviews .mh-aurora{top:clamp(36px,5vw,72px);}\n.mh-rev-head{margin-bottom:clamp(36px,4.5vw,56px);}\n.mh-rev-src{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:13px;color:var(--mh-text3);}\n.mh-rev-src svg{width:15px;height:15px;flex-shrink:0;}\n.mh-rev-src a{color:var(--mh-text2);text-decoration:underline;text-underline-offset:3px;}\n.mh-rev-src a:hover{color:var(--mh-text);}\n.mh-marq{position:relative;overflow:hidden;\n  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);\n  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}\n.mh-marq-track{display:flex;gap:16px;width:max-content;animation:mhMarq 48s linear infinite;}\n.mh-marq:hover .mh-marq-track,.mh-marq:focus-within .mh-marq-track{animation-play-state:paused;}\n@keyframes mhMarq{from{transform:translateX(0);}to{transform:translateX(-50%);}}\n.mh-rc{flex:0 0 clamp(280px,32vw,338px);background:var(--mh-card);\n  border:1px solid var(--mh-line-soft);border-radius:18px;padding:24px 24px 26px;}\n.mh-rc-top{display:flex;align-items:center;gap:12px;margin-bottom:13px;}\n.mh-rc-av{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;\n  color:#fff;font-family:var(--mh-mono);font-weight:600;font-size:15px;}\n.mh-rc-nm{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--mh-text);}\n.mh-rc-st{display:flex;gap:2px;margin-bottom:12px;}\n.mh-rc-st svg{width:14px;height:14px;fill:#f5b400;}\n.mh-rc p{font-size:14.5px;line-height:1.62;color:var(--mh-text2);}\n@media (prefers-reduced-motion:reduce){\n  .mh-marq{overflow-x:auto;-webkit-mask-image:none;mask-image:none;}\n  .mh-marq-track{animation:none;}\n}\n\n\/* ---------- 15 demo split ---------- *\/\n.mh-demo-panel{border:1px solid rgba(74,143,212,.28);border-radius:26px;\n  background:linear-gradient(120deg,rgba(74,143,212,.07),rgba(74,143,212,0) 55%),var(--mh-panel);\n  padding:clamp(32px,4.5vw,60px);display:grid;grid-template-columns:1.2fr .8fr;\n  gap:clamp(28px,4vw,60px);align-items:center;\n  box-shadow:0 0 80px rgba(74,143,212,.05),0 40px 90px rgba(0,0,0,.4);}\n.mh-demo-panel .mh-h2{margin-top:14px;}\n.mh-demo-panel .mh-ctas{justify-content:flex-end;}\n@media(max-width:860px){.mh-demo-panel{grid-template-columns:1fr;}\n  .mh-demo-panel .mh-ctas{justify-content:flex-start;}}\n\n\/* ---------- 16 FAQ ---------- *\/\n.mh-faq-wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(36px,6vw,96px);align-items:start;}\n@media(max-width:860px){.mh-faq-wrap{grid-template-columns:1fr;}}\n.mh-faq-list{border-top:1px solid var(--mh-line);}\n.mh-faq{border-bottom:1px solid var(--mh-line-soft);}\n.mh-faq-h{margin:0;font-size:inherit;line-height:inherit;}\n.mh-faq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;\n  padding:21px 2px;text-align:left;font-size:clamp(15px,1.6vw,17px);font-weight:600;\n  letter-spacing:-.012em;color:var(--mh-text);line-height:1.45;\n  transition:color var(--mh-fast) var(--mh-e);}\n.mh-faq-q:hover{color:var(--mh-text2);}\n.mh-faq-ico{flex-shrink:0;width:18px;height:18px;position:relative;\n  transition:transform var(--mh-base) var(--mh-e);}\n.mh-faq-ico::before,.mh-faq-ico::after{content:\"\";position:absolute;background:var(--mh-text3);\n  border-radius:1px;transition:background var(--mh-fast) var(--mh-e);}\n.mh-faq-ico::before{top:50%;left:2px;right:2px;height:1.5px;transform:translateY(-50%);}\n.mh-faq-ico::after{left:50%;top:2px;bottom:2px;width:1.5px;transform:translateX(-50%);}\n.mh-faq-q[aria-expanded=\"true\"] .mh-faq-ico{transform:rotate(45deg);}\n.mh-faq-q[aria-expanded=\"true\"] .mh-faq-ico::before,\n.mh-faq-q[aria-expanded=\"true\"] .mh-faq-ico::after{background:var(--mh-accent);}\n.mh-page .mh-faq-q,.mh-page .mh-faq-q:hover,.mh-page .mh-faq-q:focus,.mh-page .mh-faq-q:active,\n.mh-page .mh-faq-q:focus-visible{background:none;border:none;color:var(--mh-text);text-decoration:none;box-shadow:none;}\n.mh-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--mh-base) var(--mh-e);}\n.mh-faq-a>div{overflow:hidden;}\n.mh-faq.mh-open .mh-faq-a{grid-template-rows:1fr;}\n.mh-faq-a p{padding:2px 40px 22px 2px;font-size:15px;line-height:1.65;color:var(--mh-text2);max-width:64ch;}\n@media (prefers-reduced-motion:reduce){.mh-faq-a,.mh-faq-ico{transition:none;}}\n.mh-page:not(.mh-js) .mh-faq-a{grid-template-rows:1fr;}\n\n\/* ---------- 17 final ---------- *\/\n.mh-final{padding-bottom:calc(var(--mh-sec)*1.02);text-align:center;position:relative;overflow:hidden;}\n.mh-final-bloom{position:absolute;left:50%;bottom:-40%;width:120%;max-width:1400px;height:80%;\n  transform:translateX(-50%);pointer-events:none;z-index:1;\n  background:radial-gradient(50% 60% at 50% 100%,rgba(var(--mh-glow),.10),transparent 70%);}\n\/* fade the section into the pure-black footer (page bg #0a0a0c -> #000) *\/\n.mh-final::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:70%;pointer-events:none;z-index:0;\n  background:linear-gradient(to bottom,transparent,#000 92%);}\n.mh-final .mh-h2{font-size:clamp(44px,7vw,96px);letter-spacing:-.035em;}\n.mh-final .mh-sub{margin-left:auto;margin-right:auto;}\n.mh-final .mh-ctas{justify-content:center;margin-top:36px;}\n\n\/* ==================== live demo player (ports rentamac.io\/demo; canonical source: build-demo-player.py -> rentamac-demo.html; this is a SNAPSHOT, re-sync if the demo changes) ==================== *\/\n.ramac-live{--bg:#000;--panel:#13131d;--card:rgba(255,255,255,.03);--card-h:rgba(255,255,255,.05);--stroke:rgba(255,255,255,.08);--stroke-h:rgba(255,255,255,.16);--text:#f0f2f5;--text-2:#aab0bb;--muted:#7b818d;--accent:#4a8fd4;--accent-2:#5a9de0;--accent-soft:rgba(74,143,212,.14);--accent-ring:rgba(74,143,212,.3);--live:#e82f2f;--ok:#43d15b;--warn:#e0533d}.ramac-live *{box-sizing:border-box}.ramac-live,.ramac-live{margin:0;background:var(--bg)}.ramac-live{color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.ramac-live .wrap{max-width:980px;margin:0 auto;padding:44px 24px 84px;position:relative}.ramac-live .glow{position:absolute;left:50%;top:230px;transform:translateX(-50%);width:820px;max-width:96vw;height:460px;border-radius:50%;background:radial-gradient(closest-side,rgba(74,143,212,.13),transparent 70%);pointer-events:none}.ramac-live .inner{position:relative}.ramac-live .eyebrow{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.ramac-live .eyebrow .reddot{width:9px;height:9px;border-radius:50%;background:var(--live);animation:rlpulse 1.6s ease-in-out infinite}@keyframes rlpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes rlbreathe{0%,100%{opacity:1}50%{opacity:.55}}.ramac-live h1.title{font-size:clamp(27px,3.4vw,40px);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin:12px 0 10px;text-align:center}.ramac-live .sub{color:var(--text-2);font-size:clamp(14.5px,1.6vw,16.5px);line-height:1.55;margin:0 auto 28px;max-width:560px;text-align:center}.ramac-live .player{position:relative;border:1px solid var(--stroke);border-radius:10px 10px 0 0;overflow:hidden;background:#0a0a10;aspect-ratio:16\/9}.ramac-live .player video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;background:#0a0a10}.ramac-live .overlay{position:absolute;inset:0;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center;background:rgba(5,6,10,.78);padding:20px}.ramac-live .overlay.hidden{display:none}.ramac-live .overlay .od{width:11px;height:11px;border-radius:50%;background:var(--muted);animation:rlbreathe 2.4s ease-in-out infinite;margin-bottom:4px}.ramac-live .overlay .big{font-size:16px;font-weight:700;letter-spacing:-.01em}.ramac-live .overlay .small{font-size:12.5px;color:var(--text-2);max-width:380px;line-height:1.5}.ramac-live .paused-ov{cursor:pointer;gap:10px;background:rgba(5,6,10,.82);transition:background .15s}.ramac-live .paused-ov:hover{background:rgba(5,6,10,.72)}.ramac-live .paused-ov:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.ramac-live .paused-ov .pic{width:54px;height:54px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff;box-shadow:0 8px 28px rgba(74,143,212,.45);transition:transform .15s,background .15s;margin-bottom:2px}.ramac-live .paused-ov:hover .pic{transform:scale(1.06);background:var(--accent-2)}.ramac-live .paused-ov .pic svg{width:22px;height:22px;margin-left:3px}.ramac-live .islandbar{position:relative;display:flex;align-items:center;min-height:32px;border:1px solid var(--stroke);border-top:none;border-radius:0 0 10px 10px;background:var(--panel);padding:4px 12px}.ramac-live .coolline{position:absolute;top:-1px;left:0;height:2px;width:0%;background:var(--accent);pointer-events:none}.ramac-live .island{display:inline-flex;align-items:center;gap:8px;max-width:100%;border:1px solid transparent;border-radius:999px;padding:3px 0;transition:border-color .3s,padding .3s,background .3s}.ramac-live .island.expanded{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03);padding:3px 12px}.ramac-live .island .d{width:8px;height:8px;border-radius:50%;background:var(--live);animation:rlbreathe 2s ease-in-out infinite;flex-shrink:0}.ramac-live .island[data-state=connecting] .d{background:rgba(255,255,255,.5)}.ramac-live .island[data-state=offline] .d,.ramac-live .island[data-state=paused] .d{display:none}.ramac-live .island .w{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap}.ramac-live .island[data-state=offline] .w,.ramac-live .island[data-state=paused] .w{color:rgba(255,255,255,.4)}.ramac-live .island .sfx{display:none;font-size:11px;font-weight:600;color:rgba(255,255,255,.5);white-space:nowrap}.ramac-live .island.paused .sfx{display:inline}.ramac-live .island .msg{font-size:12.5px;color:var(--text-2);max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .35s ease,opacity .3s ease}.ramac-live .island.expanded .msg{max-width:560px;opacity:1}.ramac-live .island .msg b{color:var(--accent-2);font-weight:600}.ramac-live .acthead{margin:34px 0 4px;text-align:center}.ramac-live .acthead h2{font-size:19px;font-weight:700;letter-spacing:-.015em;margin:0 0 6px}.ramac-live .acthead p{font-size:13.5px;color:var(--text-2);margin:0;line-height:1.5}.ramac-live .tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px}.ramac-live .tiles .tile{grid-column:span 2;min-width:0}.ramac-live .tiles .tile:nth-last-child(-n+2){grid-column:span 3}.ramac-live .tile{position:relative;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;font-family:inherit;border:1px solid var(--stroke-h);border-radius:12px;background:var(--panel);padding:12px 14px;color:var(--text);min-height:64px;transition:background .15s,border-color .15s,opacity .2s}.ramac-live .tile:hover{background:#181826;border-color:var(--accent-ring)}.ramac-live .tile:active{background:#101019}.ramac-live .tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ramac-live .tile .chip{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);transition:background .15s,color .15s}.ramac-live .tile:hover .chip{background:rgba(74,143,212,.24)}.ramac-live .tile:active .chip,.ramac-live .tile.running .chip{background:var(--accent);color:#fff}.ramac-live .tile .chip svg{width:15px;height:15px}.ramac-live .tile .chip .spin{display:none;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:rlspin .8s linear infinite}@keyframes rlspin{to{transform:rotate(360deg)}}.ramac-live .tile.running .chip .gl{display:none}.ramac-live .tile.running .chip .spin{display:block}.ramac-live .tile .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ramac-live .tile .t{font-size:14px;font-weight:600}.ramac-live .tile .s{font-size:11.5px;color:var(--muted);line-height:1.4}.ramac-live .kc{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--stroke-h);border-radius:5px;padding:3px 8px;box-shadow:0 1px 0 rgba(0,0,0,.9);transition:background .15s,color .15s,border-color .15s}.ramac-live .kc svg{width:9px;height:9px}.ramac-live .tile:hover .kc{background:var(--accent);color:#fff;border-color:var(--accent)}.ramac-live .tile:active .kc{box-shadow:none}.ramac-live .tile.running .kc{display:none}.ramac-live .kc.count{font-family:var(--mono);text-transform:none;letter-spacing:0}.ramac-live .tiles.cooling .tile,.ramac-live .tiles.paused .tile{opacity:.45}.ramac-live .tiles.cooling .tile:hover,.ramac-live .tiles.paused .tile:hover{background:var(--panel);border-color:var(--stroke-h)}.ramac-live .tiles.cooling .tile:hover .chip,.ramac-live .tiles.paused .tile:hover .chip{background:var(--accent-soft);color:var(--accent)}.ramac-live .tiles.cooling .tile:hover .kc,.ramac-live .tiles.paused .tile:hover .kc{background:0 0;color:var(--text-2);border-color:var(--stroke-h)}.ramac-live .tile.active{background:#181826;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ramac-live .tile.active .chip{background:var(--accent);color:#fff}.ramac-live .tile.active .chip .gl,.ramac-live .tile.active .chip .spin{display:none}.ramac-live .tile.active .chip::after{content:\"\";display:block;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.ramac-live .tile.active .kc{display:none}.ramac-live .tiles.cooling .tile.running,.ramac-live .tiles.cooling .tile.active,.ramac-live .tiles.paused .tile.running,.ramac-live .tiles.paused .tile.active{opacity:1}.ramac-live .tile.tip{z-index:6}.ramac-live .tile.tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);white-space:nowrap;background:#0a0a10;color:var(--text);border:1px solid var(--accent-ring);border-radius:7px;padding:6px 10px;font-size:11px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.55);z-index:6;pointer-events:none;animation:rltip 3.2s ease forwards}.ramac-live .tile.tip::before{content:\"\";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:5px solid transparent;border-top-color:#0a0a10;z-index:6;pointer-events:none;animation:rltip 3.2s ease forwards}@keyframes rltip{0%{opacity:0;transform:translateX(-50%) translateY(5px)}10%{opacity:1;transform:translateX(-50%) translateY(0)}82%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(0)}}.ramac-live .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ramac-live .cta-panel{max-width:600px;margin:48px auto 0;background:var(--panel);border:1px solid var(--stroke);border-radius:20px;padding:36px 32px;text-align:center;position:relative;overflow:hidden}.ramac-live .cta-panel::before{content:\"\";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.ramac-live .cta-panel h2{font-size:23px;font-weight:800;letter-spacing:-.02em;margin:0 0 10px;color:var(--text)}.ramac-live .cta-panel p{color:var(--text-2);font-size:14.5px;line-height:1.55;max-width:440px;margin:0 auto 24px}.ramac-live .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.ramac-live .cta-rent{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font-weight:700;font-size:14.5px!important;color:#fff!important;background:var(--accent)!important;border-radius:12px;padding:13px 26px;min-height:48px;transition:background .2s;transform:none!important;box-shadow:none!important}.ramac-live .cta-rent:hover,.ramac-live .cta-rent:focus{background:#4381bf!important;color:#fff!important}.ramac-live .cta-rent:visited{color:#fff!important}.ramac-live .cta-rent:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ramac-live .cta-faq{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font-weight:600;font-size:14px!important;color:var(--text)!important;background:0 0;border:1.5px solid var(--accent-ring);border-radius:12px;padding:12px 24px;min-height:48px;transition:background .15s,border-color .15s}.ramac-live .cta-faq:hover,.ramac-live .cta-faq:focus{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--text)!important}@media (max-width:880px){.ramac-live .tiles{grid-template-columns:repeat(2,1fr)}.ramac-live .tiles .tile,.ramac-live .tiles .tile:nth-last-child(-n+2){grid-column:span 1}}@media (max-width:560px){.ramac-live .wrap{padding:30px 14px 60px}.ramac-live .tiles{grid-template-columns:1fr}.ramac-live .tiles .tile,.ramac-live .tiles .tile:nth-last-child(-n+2){grid-column:span 1}}@media (prefers-reduced-motion:reduce){.ramac-live .eyebrow .reddot,.ramac-live .island .d,.ramac-live .overlay .od,.ramac-live .tile .spin{animation:none}.ramac-live *{transition:none!important}}\n\/* --- embed overrides: sit the demo player inside the section, not full-bleed --- *\/\n.mh-demo-head{margin-bottom:clamp(28px,3.5vw,44px);}\n#mh-demo .mh-demo-head{text-align:center;}\n#mh-demo .mh-demo-head .mh-label{justify-content:center;}\n#mh-demo .mh-demo-head .mh-sub{margin-left:auto;margin-right:auto;}\n#mh-demo .mh-cta-block{align-items:center;text-align:center;}\n.mh-page .ramac-live{background:transparent;--mono:ui-monospace,\"SF Mono\",SFMono-Regular,Menlo,Consolas,monospace;}\n.mh-page .ramac-live .wrap{max-width:900px;padding:0 0 8px;}\n.mh-page .ramac-live .glow{top:-20px;}\n\n\/* centered single-column sections (two-column sections -- setup, specs, FAQ -- stay left-aligned) *\/\n.mh-hero-head,.mh-head,.mh-rev-head{text-align:center;}\n.mh-head .mh-label,.mh-rev-head .mh-label{justify-content:center;}\n.mh-hero-head .mh-sub,.mh-hero-sub,.mh-head .mh-sub{margin-left:auto;margin-right:auto;}\n.mh-hero-head .mh-ctas{justify-content:center;}\n.mh-rev-head .mh-rev-src{justify-content:center;}\n\n<\/style>\n\n<div class=\"mh-page\" id=\"mh-top\">\n\n  <!-- hero: THE WAKE -->\n  <section class=\"mh-hero\" id=\"mh-overview\">\n    <div class=\"mh-wrap mh-hero-head\">\n      <h1 class=\"mh-h1\">Mac VPS server, on a real&nbsp;Mac.<\/h1>\n      <div class=\"mh-hero-rule\">\n        <p class=\"mh-hero-sub\"><b>macOS on a whole Mac mini M4, yours&nbsp;alone.<\/b> Full root, 99.9% uptime, and no oversold VPS slice, from $3.30 a&nbsp;day.<\/p>\n      <\/div>\n      <div class=\"mh-ctas mh-hero-cta-row\">\n        <a class=\"mh-btn mh-btn-fill mh-btn-xl\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/a>\n      <\/div>\n    <\/div>\n    <div class=\"mh-hero-stage\" id=\"mh-stage\">\n      <div class=\"mh-hero-bloom\" aria-hidden=\"true\"><\/div>\n      <img fetchpriority=\"high\" class=\"mh-hero-img\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/07\/mac-vps-server-mac-mini.webp\" alt=\"Mac VPS server: a real Mac mini M4 waking under a warm halo of light\" width=\"1536\" height=\"1024\" fetchpriority=\"high\" decoding=\"async\">\n      <div class=\"mh-hero-shade\" aria-hidden=\"true\"><\/div>\n      <span class=\"mh-led\" aria-hidden=\"true\"><\/span>\n      <p class=\"mh-term-line\" aria-hidden=\"true\"><span id=\"mh-type\"><\/span><span class=\"mh-caret\" id=\"mh-caret\"><\/span><\/p>\n    <\/div>\n  <\/section>\n\n  <!-- 01 proof band -->\n  <section class=\"mh-proof\" id=\"mh-proof\" aria-label=\"Key features\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-proof-grid\">\n        <div class=\"mh-proof-cell mh-r\"><span class=\"mh-proof-n\">M4<\/span><div><b>Whole machine<\/b><p>A physical Mac mini M4 you never share. No sliced cores, nothing&nbsp;virtual.<\/p><\/div><\/div>\n        <div class=\"mh-proof-cell mh-r\" style=\"--d:.07s\"><span class=\"mh-proof-n\">1<small>&nbsp;Gbps<\/small><\/span><div><b>Gigabit uplink<\/b><p>A full gigabit line into your Mac, not a throttled virtual&nbsp;port.<\/p><\/div><\/div>\n        <div class=\"mh-proof-cell mh-r\" style=\"--d:.14s\"><span class=\"mh-proof-n\">24\/7<\/span><div><b>Always running<\/b><p>The VPS keeps ticking around the clock, connected or&nbsp;not.<\/p><\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 03 setup -->\n  <section class=\"mh-sec\" id=\"mh-setup\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-split\">\n        <div class=\"mh-split-head\">\n          <p class=\"mh-label mh-r\">Getting started<\/p>\n          <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Live in three&nbsp;steps.<\/h2>\n          <div class=\"mh-ctas mh-r\" style=\"--d:.24s;margin-top:28px;\"><a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a><\/div>\n        <\/div>\n        <div class=\"mh-steps\">\n          <div class=\"mh-step mh-r\"><i>01<\/i><div><h3>Pick a plan<\/h3><p>Daily, weekly, or monthly, cancel anytime. Your Mac mini M4 is ready within minutes of paying.<\/p><\/div><\/div>\n          <div class=\"mh-step mh-r\" style=\"--d:.08s\"><i>02<\/i><div><h3>Connect over DeskIn or SSH<\/h3><p>DeskIn remote desktop is preloaded at no extra cost, so the full macOS screen is one tap away from a laptop or phone. Want a shell? SSH straight in as root. No HDMI dongle, no headless workaround to babysit.<\/p><\/div><\/div>\n          <div class=\"mh-step mh-r\" style=\"--d:.16s\"><i>03<\/i><div><h3>Start building<\/h3><p>Load your tools, point your pipelines at it, and work on genuine Apple Silicon. The machine stays up 24\/7, so nothing stops when you log off.<\/p><\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 04 use cases: editorial -->\n  <section class=\"mh-sec\" id=\"mh-use-cases\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-head\">\n        <p class=\"mh-label mh-r\">What people run<\/p>\n        <h2 class=\"mh-h2 mh-r\" style=\"--d:.08s\">Made for real <span style=\"white-space:nowrap;\">macOS<\/span>&nbsp;work.<\/h2>\n      <\/div>\n      <div class=\"mh-uc-bento\">\n        <article class=\"mh-uc-card mh-uc-feat mh-r\">\n          <span class=\"mh-uc-kick\">Flagship<\/span>\n          <h3>CI\/CD and iOS&nbsp;builds<\/h3>\n          <p class=\"mh-uc-lead-p\">Compile, test, archive, and sign Xcode projects on your own Apple Silicon. A private runner with no queue to wait behind and no build minutes to buy.<\/p>\n          <p class=\"mh-uc-tags\">GitHub Actions &middot; Jenkins &middot; GitLab CI &middot; Buildkite<\/p>\n          <p class=\"mh-runner\" aria-hidden=\"true\"><span class=\"dim\">github-runner<\/span>&nbsp;&nbsp;<span class=\"ok\">&#9679; online<\/span><br>last job&nbsp;&nbsp;<span class=\"dim\">ios-app &middot; passed<\/span><br>queue&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"dim\">0 waiting<\/span><\/p>\n        <\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.06s\"><span class=\"mh-uc-kick\">cron<\/span><h4>Automation &amp; cron<\/h4><p class=\"mh-uc-desc\">Timed jobs and scripts that fire on schedule, day and night, with no laptop left running.<\/p><\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.1s\"><span class=\"mh-uc-kick\">team<\/span><h4>Shared dev box<\/h4><p class=\"mh-uc-desc\">A permanent macOS environment the whole team can sign into.<\/p><\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.14s\"><span class=\"mh-uc-kick\">web<\/span><h4>Apps &amp; databases<\/h4><p class=\"mh-uc-desc\">Run Node, Nginx, Postgres, or WordPress and reach them privately through Tailscale.<\/p><\/article>\n        <article class=\"mh-uc-card mh-r\" style=\"--d:.18s\"><span class=\"mh-uc-kick\">ship<\/span><h4>App Store Connect<\/h4><p class=\"mh-uc-desc\">Push finished builds to TestFlight and on to the App Store.<\/p><\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 06 stack strip -->\n  <section class=\"mh-sec\" id=\"mh-stack\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-head\" style=\"margin-bottom:clamp(28px,3.5vw,44px);\">\n        <p class=\"mh-label mh-r\">Your toolchain<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Install anything you&nbsp;need.<\/h2>\n        <p class=\"mh-sub mh-r\" style=\"--d:.16s\">Root from minute one. No sandbox, no whitelist of blessed apps, no locked-down image to fight.<\/p>\n      <\/div>\n      <div class=\"mh-stack-strip mh-r\">\n        <div class=\"mh-stack-track\">\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/xcode.webp\" alt=\"Xcode logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Xcode<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/docker.webp\" alt=\"Docker logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Docker<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/homebrew.webp\" alt=\"Homebrew logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Homebrew<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/vs-code.webp\" alt=\"VS Code logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>VS Code<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/git.webp\" alt=\"Git logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Git<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/nodejs.webp\" alt=\"Node.js logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Node.js<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/flutter.webp\" alt=\"Flutter logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Flutter<\/span><\/div>\n          <div class=\"mh-logo\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/cursor.webp\" alt=\"Cursor IDE logo\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Cursor<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/xcode.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Xcode<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/docker.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Docker<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/homebrew.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Homebrew<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/vs-code.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>VS Code<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/git.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Git<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/nodejs.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Node.js<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/flutter.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Flutter<\/span><\/div>\n          <div class=\"mh-logo\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/rentamac.io\/wp-content\/uploads\/2026\/03\/cursor.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\" decoding=\"async\"><span>Cursor<\/span><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 10 specs sheet -->\n  <section class=\"mh-sec\" id=\"mh-specs\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-specs-wrap\">\n        <div class=\"mh-specs-copy\">\n          <p class=\"mh-label mh-r\">Specs &amp; access<\/p>\n          <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">You have full&nbsp;control.<\/h2>\n          <p class=\"mh-r\" style=\"--d:.16s\">Administrator rights from the first login, with nothing sandboxed or pre-approved. Add software, flip any setting, run any daemon. The macOS VPS is yours to shape.<\/p>\n        <\/div>\n        <div class=\"mh-sheet mh-r\" style=\"--d:.1s\">\n          <div class=\"mh-sheet-grp\">\n            <p class=\"mh-sheet-gh\">The machine<\/p>\n            <dl>\n              <div class=\"mh-sheet-row\"><dt>Hardware<\/dt><dd>Mac mini M4 &middot; 16GB memory &middot; 256GB SSD<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>macOS<\/dt><dd>Tahoe 26.4 or newer<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Network<\/dt><dd>1 Gbps straight to the Mac<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Uptime<\/dt><dd>99.9% uptime SLA<\/dd><\/div>\n            <\/dl>\n          <\/div>\n          <div class=\"mh-sheet-grp\">\n            <p class=\"mh-sheet-gh\">Access &amp; billing<\/p>\n            <dl>\n              <div class=\"mh-sheet-row\"><dt>Security<\/dt><dd>Two-layer physical &middot; GDPR compliant<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Access<\/dt><dd>Root access &middot; single tenant<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Connect<\/dt><dd>DeskIn or SSH<\/dd><\/div>\n              <div class=\"mh-sheet-row\"><dt>Billing<\/dt><dd>Daily, weekly, or monthly &middot; auto-renews until you cancel<\/dd><\/div>\n            <\/dl>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 11 pricing sheet -->\n  <section class=\"mh-sec\" id=\"mh-pricing\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-head\">\n        <p class=\"mh-label mh-r\">Pricing<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Plans and&nbsp;pricing.<\/h2>\n        <p class=\"mh-sub mh-r\" style=\"--d:.16s\">One price for the whole period. No metering, no bandwidth charges, nothing buried at checkout.<\/p>\n      <\/div>\n      <div class=\"mh-dial mh-r\" style=\"--d:.1s\">\n        <div class=\"mh-dial-top\">\n          <div>\n            <p class=\"mh-dial-plan\" id=\"mh-pr-plan\">Monthly<\/p>\n            <p class=\"mh-dial-price\" id=\"mh-pr-price\">$99<small> \/month<\/small><\/p>\n            <p class=\"mh-dial-note\" id=\"mh-pr-note\">The everyday VPS plan.<\/p>\n          <\/div>\n          <div class=\"mh-dial-side\">\n            <p class=\"mh-dial-day\" id=\"mh-pr-day\">$3.30<\/p>\n            <p class=\"mh-dial-day-lb\">cost per day<\/p>\n            <span class=\"mh-dial-save\" id=\"mh-pr-save\"><\/span>\n          <\/div>\n        <\/div>\n        <div class=\"mh-slz\">\n          <input type=\"range\" class=\"mh-sl\" id=\"mh-pr-slider\" min=\"0\" max=\"4\" step=\"1\" value=\"2\" aria-label=\"Choose a billing period\">\n          <div class=\"mh-sl-labels\">\n            <button class=\"mh-sl-lb\" data-i=\"0\" type=\"button\"><b>Daily<\/b><i>1 day<\/i><\/button>\n            <button class=\"mh-sl-lb\" data-i=\"1\" type=\"button\"><b>Weekly<\/b><i>7 days<\/i><\/button>\n            <button class=\"mh-sl-lb mh-on\" data-i=\"2\" type=\"button\"><b>Monthly<\/b><i>30 days<\/i><\/button>\n            <button class=\"mh-sl-lb\" data-i=\"3\" type=\"button\"><b>3 months<\/b><i>90 days<\/i><\/button>\n            <button class=\"mh-sl-lb\" data-i=\"4\" type=\"button\"><b>6 months<\/b><i>180 days<\/i><\/button>\n          <\/div>\n        <\/div>\n        <div class=\"mh-dial-foot\">\n          <a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a>\n          <span class=\"mh-reduce\"><b>Cancel anytime.<\/b><\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 14 reviews -->\n  <section class=\"mh-sec mh-reviews\" id=\"mh-reviews\">\n    <div class=\"mh-aurora\" aria-hidden=\"true\"><i><\/i><i><\/i><i><\/i><\/div>\n    <div class=\"mh-wrap\">\n      <div class=\"mh-rev-head\">\n        <p class=\"mh-label mh-r\">Reviews<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">What users say.<\/h2>\n        <p class=\"mh-rev-src mh-r\" style=\"--d:.16s\"><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 01-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\" fill=\"#4285F4\"\/><path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#34A853\"\/><path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\" fill=\"#FBBC05\"\/><path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#EA4335\"\/><\/svg><a href=\"https:\/\/maps.app.goo.gl\/iwsyfPoiFETp2JkW9\" target=\"_blank\" rel=\"noopener nofollow\">Google Reviews<\/a><\/p>\n      <\/div>\n      <div class=\"mh-marq mh-r\" style=\"--d:.2s\" aria-label=\"Customer reviews\">\n        <div class=\"mh-marq-track\">\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#4a8fd4\" aria-hidden=\"true\">C<\/span><span class=\"mh-rc-nm\">Carlos Mavros<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;The easiest onboarding I&#8217;ve had across many platforms. Professional and proactive team.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#9b6dd6\" aria-hidden=\"true\">M<\/span><span class=\"mh-rc-nm\">Malak Alwazeer<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Great pricing, easy setup, outstanding communication. Fast support.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#e0894a\" aria-hidden=\"true\">A<\/span><span class=\"mh-rc-nm\">Ahmed Monsef<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Excellent service. Outstanding response time. Support follows up until resolved.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#35a865\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Suman<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Performance is awesome. Affordable to code on Mac from my Windows PC.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#3aa9a0\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Sami Arfaoui<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Transparent and friendly. Mac instances run stably. Fair prices.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#d16aa0\" aria-hidden=\"true\">E<\/span><span class=\"mh-rc-nm\">Emama Shakery<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Super easy to get a Mac. Fast delivery and the machine was in great condition.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#4a8fd4\" aria-hidden=\"true\">C<\/span><span class=\"mh-rc-nm\">Carlos Mavros<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;The easiest onboarding I&#8217;ve had across many platforms. Professional and proactive team.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#9b6dd6\" aria-hidden=\"true\">M<\/span><span class=\"mh-rc-nm\">Malak Alwazeer<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Great pricing, easy setup, outstanding communication. Fast support.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#e0894a\" aria-hidden=\"true\">A<\/span><span class=\"mh-rc-nm\">Ahmed Monsef<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Excellent service. Outstanding response time. Support follows up until resolved.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#35a865\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Suman<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Performance is awesome. Affordable to code on Mac from my Windows PC.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#3aa9a0\" aria-hidden=\"true\">S<\/span><span class=\"mh-rc-nm\">Sami Arfaoui<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Transparent and friendly. Mac instances run stably. Fair prices.&rdquo;<\/p>\n          <\/article>\n          <article class=\"mh-rc\" aria-hidden=\"true\">\n            <div class=\"mh-rc-top\"><span class=\"mh-rc-av\" style=\"background:#d16aa0\" aria-hidden=\"true\">E<\/span><span class=\"mh-rc-nm\">Emama Shakery<\/span><\/div>\n            <span class=\"mh-rc-st\" role=\"img\" aria-label=\"5 out of 5 stars\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/span>\n            <p>&ldquo;Super easy to get a Mac. Fast delivery and the machine was in great condition.&rdquo;<\/p>\n          <\/article>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 15 demo -->\n  <section class=\"mh-sec\" id=\"mh-demo\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-demo-head mh-r\">\n        <p class=\"mh-label\">Live demo<\/p>\n        <h2 class=\"mh-h2 mh-h2-sm\">See it running before you&nbsp;pay.<\/h2>\n        <p class=\"mh-sub\">An actual Mac mini M4, streamed live. Click an action and watch it run on&nbsp;screen.<\/p>\n      <\/div>\n      <div class=\"ramac-live mh-r\" style=\"--d:.24s\">\n        <div class=\"wrap\">\n          <div class=\"glow\" aria-hidden=\"true\"><\/div>\n          <div class=\"inner\">\n            <div class=\"player\">\n              <video id=\"rl-video\" autoplay muted playsinline><\/video>\n              <div class=\"overlay\" id=\"rl-overlay\"><span class=\"od\" aria-hidden=\"true\"><\/span><div class=\"big\" id=\"rl-ov-big\">Connecting to the live stream&hellip;<\/div><div class=\"small\" id=\"rl-ov-small\"><\/div><\/div>\n              <div class=\"overlay paused-ov hidden\" id=\"rl-paused\" role=\"button\" tabindex=\"0\" aria-label=\"Resume the live stream\"><span class=\"pic\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M8 5v14l11-7z\"><\/path><\/svg><\/span><div class=\"big\">Stream paused<\/div><div class=\"small\">Tap to resume the live stream<\/div><\/div>\n            <\/div>\n            <div class=\"islandbar\">\n              <div class=\"coolline\" id=\"rl-line\" aria-hidden=\"true\"><\/div>\n              <span class=\"island\" id=\"rl-island\" data-state=\"connecting\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"d\" aria-hidden=\"true\"><\/span><span class=\"w\" id=\"rl-word\">Connecting<\/span><span class=\"sfx\" id=\"rl-sfx\">&middot; actions paused<\/span><span class=\"msg\" id=\"rl-msg\"><\/span><\/span>\n            <\/div>\n            <div class=\"acthead\"><h2>Now run something on it<\/h2><p>These buttons send real commands to the Mac above.<\/p><\/div>\n            <div class=\"tiles\" id=\"rl-tiles\">\n              <button class=\"tile\" type=\"button\" data-action=\"simulator\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"7\" y=\"2\" width=\"10\" height=\"20\" rx=\"2.5\"><\/rect><path stroke-linecap=\"round\" d=\"M11 18h2\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Open iOS Simulator<\/span><span class=\"s\">Boot an iPhone on the Mac<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"speedtest\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" d=\"M4 14a8 8 0 1116 0M12 14l4-5\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Run Speedtest<\/span><span class=\"s\">Latency, upload and download<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"xcode\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" d=\"M9 6l-5 6 5 6M15 6l5 6-5 6\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Launch Xcode<\/span><span class=\"s\">Open the full IDE on screen<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"sysinfo\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"14\" rx=\"2\"><\/rect><path stroke-linecap=\"round\" d=\"M7 9l3 2.5L7 14M12.5 14H17\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Show System Info<\/span><span class=\"s\">Hardware specs via Terminal<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n              <button class=\"tile\" type=\"button\" data-action=\"reset\" aria-disabled=\"false\"><span class=\"chip\"><span class=\"gl\"><svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" d=\"M4 10a8 8 0 1014-4M4 4v6h6\"><\/path><\/svg><\/span><span class=\"spin\" aria-hidden=\"true\"><\/span><\/span><span class=\"body\"><span class=\"t\">Reset Desktop<\/span><span class=\"s\">Close everything, fresh start<\/span><\/span><span class=\"kc\"><svg viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M1.5 1l7 4-7 4z\"><\/path><\/svg> Run<\/span><\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"mh-cta-block mh-r\"><a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a><span class=\"mh-reduce\"><b>Cancel anytime.<\/b> From $3.30 a day.<\/span><\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 16 FAQ -->\n  <section class=\"mh-sec\" id=\"mh-faq\">\n    <div class=\"mh-wrap\">\n      <div class=\"mh-faq-wrap\">\n        <div class=\"mh-split-head mh-faq-side\">\n          <p class=\"mh-label mh-r\">Questions<\/p>\n          <h2 class=\"mh-h2 mh-h2-sm mh-r\" style=\"--d:.08s\">Mac VPS FAQ.<\/h2>\n        <\/div>\n        <div class=\"mh-faq-list mh-r\">\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a1\"><span>Can I keep the VPS running 24\/7?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a1\"><div><p>Yes. Your instance stays online for as long as the subscription is active, so it behaves like a true always-running server. Just avoid shutting it down from inside macOS, or you will lose remote access until the team powers it back on.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a2\"><span>Is a Mac VPS here a real Mac or a virtual machine?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a2\"><div><p>It is a real Mac mini M4, not a virtual slice. The entire machine is yours, with 16GB of memory and no other tenants sharing the cores.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a3\"><span>Can it act as a CI\/CD or iOS build runner?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a3\"><div><p>Yes. With full root you can set up a self-hosted runner for GitHub Actions, Jenkins, GitLab CI, or Buildkite and compile, test, and sign iOS and macOS apps on genuine Apple Silicon.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a4\"><span>Do I get root access?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a4\"><div><p>Yes, full administrator rights from the very first login, with nothing held back. Install what you want, change any setting, run any service.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a5\"><span>Why a Mac VPS instead of a cheaper Linux VPS?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a5\"><div><p>Because Xcode, the iOS and macOS toolchains, code signing, and notarization only run on macOS on Apple hardware. No Linux VPS can do that at any price. Anything that touches Apple platforms needs a real Mac.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a6\"><span>Where does the VPS run, and how reliable is it?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a6\"><div><p>It lives in a datacenter with two-layer physical security and a 99.9% uptime SLA, and it stays online for as long as your subscription runs.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a8\"><span>Which version of macOS does it run?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a8\"><div><p>Every machine ships with macOS Tahoe 26.4 or newer. Rolling back to an older macOS release is not supported.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a9\"><span>Can I use SSH, not only remote desktop?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a9\"><div><p>Yes. SSH works out of the box, and DeskIn remote desktop is preinstalled and free. Use the terminal for headless work, or DeskIn when you want the full desktop.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a10\"><span>Can I get several Macs for a team?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a10\"><div><p>Yes. Volume pricing kicks in at five instances (5% off) and at fifteen or more (10% off), and Thunderbolt clustering is available on orders of fifteen and up.<\/p><\/div><\/div>\n          <\/div>\n          <div class=\"mh-faq\">\n            <h3 class=\"mh-faq-h\"><button class=\"mh-faq-q\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mh-faq-a11\"><span>How does billing work, and can I cancel?<\/span><span class=\"mh-faq-ico\" aria-hidden=\"true\"><\/span><\/button><\/h3>\n            <div class=\"mh-faq-a\" id=\"mh-faq-a11\"><div><p>Plans start at $3.30 a day on the monthly term, with daily and weekly options too. Everything renews automatically until you cancel, which you can do anytime from the dashboard. There is no hourly metering and no free trial.<\/p><\/div><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- 17 final -->\n  <section class=\"mh-sec mh-final\" id=\"mh-get-started\">\n    <div class=\"mh-aurora\" aria-hidden=\"true\"><i><\/i><i><\/i><i><\/i><\/div>\n    <div class=\"mh-final-bloom\" aria-hidden=\"true\"><\/div>\n    <div class=\"mh-wrap\">\n      <div class=\"mh-r\">\n        <h2 class=\"mh-h2\">A real Mac, reachable from&nbsp;anywhere.<\/h2>\n        <p class=\"mh-sub\">A genuine Mac VPS server, online the moment you pay. From $3.30 a day, cancel whenever.<\/p>\n        <div class=\"mh-ctas\">\n          <a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- mobile sticky CTA bar -->\n  <div class=\"mh-stickybar\">\n    <span class=\"mh-reduce\"><b>From $3.30\/day.<\/b> Cancel anytime.<\/span>\n    <a class=\"mh-btn mh-btn-fill\" href=\"https:\/\/rentamac.io\/pricing\">Get your Mac<\/a>\n  <\/div>\n<\/div>\n\n<script>\/* base64-wrapped by deploy-page.py *\/eval(new TextDecoder().decode(Uint8Array.from(atob(\"CihmdW5jdGlvbigpewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgcGFnZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtdG9wIik7CiAgaWYoIXBhZ2UpcmV0dXJuOwogIHBhZ2UuY2xhc3NMaXN0LmFkZCgibWgtanMiKTsKICB2YXIgcmVkdWNlPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM7CgogIC8qIC0tLS0tLS0tLS0gVEhFIFdBS0UgLS0tLS0tLS0tLSAqLwogIHZhciBoZXJvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC1vdmVydmlldyIpOwogIHZhciBzdGFnZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtc3RhZ2UiKTsKICB2YXIgdHlwZUVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC10eXBlIik7CiAgdmFyIGNhcmV0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC1jYXJldCIpOwogIHZhciBURVJNPVtbInNzaCBtaW5pLTA0LnJlbnRhbWFjIiwicDIiXSxbIiAgLi4uICAiLCIiXSxbImNvbm5lY3RlZCIsIm9rIl0sWyIgIHwgIHVwdGltZSA5OS45JSIsIiJdXTsKICB2YXIgYXdha2U9ZmFsc2U7CgogIGZ1bmN0aW9uIHR5cGVUZXJtaW5hbCgpewogICAgdmFyIHNlZz0wLGNoPTA7CiAgICBmdW5jdGlvbiB0aWNrKCl7CiAgICAgIGlmKHNlZz49VEVSTS5sZW5ndGgpe2NhcmV0LmNsYXNzTGlzdC5hZGQoIm1oLWRvbmUiKTtyZXR1cm47fQogICAgICB2YXIgdHh0PVRFUk1bc2VnXVswXSxjbHM9VEVSTVtzZWddWzFdOwogICAgICBpZihjaD09PTAmJmNscyl7dmFyIHNwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICAgICBpZihjbHM9PT0ib2siKXNwLmNsYXNzTmFtZT0ib2siO2lmKGNscz09PSJwMiIpc3AuY2xhc3NOYW1lPSIiOwogICAgICAgIHNwLmlkPSJtaC10c2VnIitzZWc7dHlwZUVsLmFwcGVuZENoaWxkKHNwKTt9CiAgICAgIHZhciB0YXJnZXQ9Y2xzP2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC10c2VnIitzZWcpOnR5cGVFbDsKICAgICAgaWYoY2xzKXt0YXJnZXQudGV4dENvbnRlbnQrPXR4dFtjaF07fQogICAgICBlbHNle3R5cGVFbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0eHRbY2hdKSk7fQogICAgICBjaCsrOwogICAgICBpZihjaD49dHh0Lmxlbmd0aCl7c2VnKys7Y2g9MDtzZXRUaW1lb3V0KHRpY2ssc2VnPT09Mj8zNDA6MTIwKTt9CiAgICAgIGVsc2V7c2V0VGltZW91dCh0aWNrLDM0KTt9CiAgICB9CiAgICB2YXIgbGVhZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7bGVhZC5jbGFzc05hbWU9InAiO2xlYWQudGV4dENvbnRlbnQ9IiQgIjsKICAgIHR5cGVFbC5hcHBlbmRDaGlsZChsZWFkKTsKICAgIHRpY2soKTsKICB9CiAgZnVuY3Rpb24gZnVsbFRlcm1pbmFsKCl7CiAgICB0eXBlRWwuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0icCI+JCA8L3NwYW4+c3NoIG1pbmktMDQucmVudGFtYWMgIC4uLiAgPHNwYW4gY2xhc3M9Im9rIj5jb25uZWN0ZWQ8L3NwYW4+ICB8ICB1cHRpbWUgOTkuOSUnOwogICAgY2FyZXQuY2xhc3NMaXN0LmFkZCgibWgtZG9uZSIpOwogIH0KICBmdW5jdGlvbiB3YWtlKCl7CiAgICBpZihhd2FrZSlyZXR1cm47YXdha2U9dHJ1ZTsKICAgIGhlcm8uY2xhc3NMaXN0LmFkZCgibWgtYXdha2UiKTsKICAgIGlmKHJlZHVjZSl7ZnVsbFRlcm1pbmFsKCk7fQogICAgZWxzZXtzZXRUaW1lb3V0KHR5cGVUZXJtaW5hbCw1MjApO30KICB9CgogIC8qIGlmIHRoZSBoZXJvIHBob3RvIGZhaWxzIHRvIGxvYWQsIGRvbid0IHNob3cgYnJva2VuIGFsdCB0ZXh0OiBjb2xsYXBzZSB0aGUKICAgICBzdGFnZSBhbmQgd2FrZSBpbW1lZGlhdGVseSBzbyBpdCByZWFkcyBhcyBhIGNsZWFuIGRhcmsgYmxvb20gKyB0ZXJtaW5hbCAqLwogIHZhciBoZXJvSW1nPXN0YWdlLnF1ZXJ5U2VsZWN0b3IoIi5taC1oZXJvLWltZyIpOwogIGZ1bmN0aW9uIGhlcm9GYWlsKCl7c3RhZ2UuY2xhc3NMaXN0LmFkZCgibWgtbm9pbWciKTt3YWtlKCk7fQogIGlmKGhlcm9JbWcpewogICAgaWYoaGVyb0ltZy5jb21wbGV0ZSYmaGVyb0ltZy5uYXR1cmFsV2lkdGg9PT0wKWhlcm9GYWlsKCk7CiAgICBoZXJvSW1nLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixoZXJvRmFpbCk7CiAgfQoKICAvKiB0aGUgbWFjaGluZSB3YWtlcyBhcyB5b3Ugc2Nyb2xsIGl0IGludG8gdmlldyAqLwogIGlmKHJlZHVjZXx8ISgiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiIGluIHdpbmRvdykpe3dha2UoKTt9CiAgZWxzZXsKICAgIHZhciB3aW89bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5pc0ludGVyc2VjdGluZyl7d2FrZSgpO3dpby5kaXNjb25uZWN0KCk7fQogICAgICB9KTsKICAgIH0se3RocmVzaG9sZDouOH0pOwogICAgd2lvLm9ic2VydmUoc3RhZ2UpOwogIH0KCiAgLyogLS0tLS0tLS0tLSBzY3JvbGwgcmV2ZWFscyAob25jZSkgLS0tLS0tLS0tLSAqLwogIHZhciByZXZlYWxlZD1wYWdlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5taC1yIik7CiAgaWYoIkludGVyc2VjdGlvbk9ic2VydmVyIiBpbiB3aW5kb3cgJiYgIXJlZHVjZSl7CiAgICB2YXIgaW89bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5pc0ludGVyc2VjdGluZyl7ZS50YXJnZXQuY2xhc3NMaXN0LmFkZCgibWgtb24iKTtpby51bm9ic2VydmUoZS50YXJnZXQpO30KICAgICAgfSk7CiAgICB9LHt0aHJlc2hvbGQ6LjEyLHJvb3RNYXJnaW46IjBweCAwcHggLTYlIDBweCJ9KTsKICAgIHJldmVhbGVkLmZvckVhY2goZnVuY3Rpb24oZWwpe2lvLm9ic2VydmUoZWwpO30pOwogIH1lbHNlewogICAgcmV2ZWFsZWQuZm9yRWFjaChmdW5jdGlvbihlbCl7ZWwuY2xhc3NMaXN0LmFkZCgibWgtb24iKTt9KTsKICB9CgogIC8qIC0tLS0tLS0tLS0gY291bnQtdXBzOiBydW4gb25jZSB3aGVuIHJldmVhbGVkIC0tLS0tLS0tLS0gKi8KICBmdW5jdGlvbiBjb3VudFVwKGVsKXsKICAgIHZhciB0YXJnZXQ9cGFyc2VGbG9hdChlbC5nZXRBdHRyaWJ1dGUoImRhdGEtY291bnQiKSk7CiAgICB2YXIgZGVjPXBhcnNlSW50KGVsLmdldEF0dHJpYnV0ZSgiZGF0YS1kZWMiKXx8IjAiLDEwKTsKICAgIHZhciB0MD1udWxsLEQ9NzAwOwogICAgZnVuY3Rpb24gZnJhbWUodCl7CiAgICAgIGlmKCF0MCl0MD10OwogICAgICB2YXIgcD1NYXRoLm1pbigxLCh0LXQwKS9EKTsKICAgICAgcD0xLU1hdGgucG93KDEtcCwzKTsgLyogZWFzZS1vdXQgY3ViaWMsIG1hdGNoZXMgdGhlIGZhbWlseSAqLwogICAgICBlbC50ZXh0Q29udGVudD0odGFyZ2V0KnApLnRvRml4ZWQoZGVjKTsKICAgICAgaWYocDwxKXJlcXVlc3RBbmltYXRpb25GcmFtZShmcmFtZSk7CiAgICAgIGVsc2UgZWwudGV4dENvbnRlbnQ9dGFyZ2V0LnRvRml4ZWQoZGVjKTsKICAgIH0KICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmcmFtZSk7CiAgfQogIHZhciBjb3VudGVycz1wYWdlLnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWNvdW50XSIpOwogIGlmKCJJbnRlcnNlY3Rpb25PYnNlcnZlciIgaW4gd2luZG93ICYmICFyZWR1Y2UpewogICAgdmFyIGNpbz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsKICAgICAgICBpZihlLmlzSW50ZXJzZWN0aW5nKXtjb3VudFVwKGUudGFyZ2V0KTtjaW8udW5vYnNlcnZlKGUudGFyZ2V0KTt9CiAgICAgIH0pOwogICAgfSx7dGhyZXNob2xkOi42fSk7CiAgICBjb3VudGVycy5mb3JFYWNoKGZ1bmN0aW9uKGVsKXtjaW8ub2JzZXJ2ZShlbCk7fSk7CiAgfQoKCiAgLyogLS0tLS0tLS0tLSBGQVEgYWNjb3JkaW9uIC0tLS0tLS0tLS0gKi8KICB2YXIgZmFxcz1wYWdlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5taC1mYXEiKTsKICBmYXFzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7CiAgICB2YXIgYnRuPWl0ZW0ucXVlcnlTZWxlY3RvcigiLm1oLWZhcS1xIik7CiAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7CiAgICAgIHZhciBvcGVuPWl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCJtaC1vcGVuIik7CiAgICAgIGZhcXMuZm9yRWFjaChmdW5jdGlvbihvdGhlcil7CiAgICAgICAgb3RoZXIuY2xhc3NMaXN0LnJlbW92ZSgibWgtb3BlbiIpOwogICAgICAgIG90aGVyLnF1ZXJ5U2VsZWN0b3IoIi5taC1mYXEtcSIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIik7CiAgICAgIH0pOwogICAgICBpZighb3Blbil7CiAgICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCJtaC1vcGVuIik7CiAgICAgICAgYnRuLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsInRydWUiKTsKICAgICAgfQogICAgfSk7CiAgfSk7CgogIC8qIC0tLS0tLS0tLS0gbW9iaWxlIHN0aWNreSBDVEE6IHJldmVhbCBhZnRlciB0aGUgaGVybywgaGlkZSBhdCB0aGUgZmluYWwgQ1RBIC0tLS0tLS0tLS0gKi8KICB2YXIgc3RpY2t5PXBhZ2UucXVlcnlTZWxlY3RvcigiLm1oLXN0aWNreWJhciIpOwogIHZhciBmaW5hbEN0YT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtZ2V0LXN0YXJ0ZWQiKTsKICBmdW5jdGlvbiBzdGlja3lDaGVjaygpewogICAgaWYoIXN0aWNreSlyZXR1cm47CiAgICB2YXIgcGFzdD13aW5kb3cuc2Nyb2xsWT5oZXJvLm9mZnNldEhlaWdodCouNzI7CiAgICB2YXIgbmVhckZpbmFsPWZpbmFsQ3RhICYmIGZpbmFsQ3RhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8IHdpbmRvdy5pbm5lckhlaWdodCowLjkyOwogICAgc3RpY2t5LmNsYXNzTGlzdC50b2dnbGUoIm1oLXZpcyIscGFzdCAmJiAhbmVhckZpbmFsKTsKICB9CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsc3RpY2t5Q2hlY2sse3Bhc3NpdmU6dHJ1ZX0pOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHN0aWNreUNoZWNrLHtwYXNzaXZlOnRydWV9KTsKICBzdGlja3lDaGVjaygpOwoKICAvKiAtLS0tLS0tLS0tIHByaWNpbmc6IGNvbW1pdG1lbnQgc2xpZGVyIC0tLS0tLS0tLS0gKi8KICB2YXIgcHJTbGlkZXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLXByLXNsaWRlciIpOwogIGlmKHByU2xpZGVyKXsKICAgIHZhciBQUl9QTEFOUz1bCiAgICAgIHtwbGFuOiJEYWlseSIsICAgcHJpY2U6IiQxNSIsICBwZXI6IiAvZGF5IiwgICBub3RlOiJGb3IgYSBxdWljayB0YXNrIG9yIGEgZmlyc3QgdHJ5LiIsIGRheToiJDE1LjAwIiwgc2F2ZToiIn0sCiAgICAgIHtwbGFuOiJXZWVrbHkiLCAgcHJpY2U6IiQ0OSIsICBwZXI6IiAvd2VlayIsICBub3RlOiJBIGZ1bGwgd2VlayBhdCBvbmUgZmxhdCByYXRlLiIsICAgICAgIGRheToiJDcuMDAiLCAgc2F2ZToiIn0sCiAgICAgIHtwbGFuOiJNb250aGx5IiwgcHJpY2U6IiQ5OSIsICBwZXI6IiAvbW9udGgiLCBub3RlOiJUaGUgZXZlcnlkYXkgVlBTIHBsYW4uIiwgICAgICAgIGRheToiJDMuMzAiLCAgc2F2ZToiIn0sCiAgICAgIHtwbGFuOiIzIG1vbnRocyIscHJpY2U6IiQyODIiLCBwZXI6IiIsICAgICAgICBub3RlOiJXb3JrcyBvdXQgdG8gYWJvdXQgJDk0IGEgbW9udGguIiwgICAgICAgICAgICAgICAgZGF5OiIkMy4xMyIsICBzYXZlOiJzYXZlIDUlIn0sCiAgICAgIHtwbGFuOiI2IG1vbnRocyIscHJpY2U6IiQ1MzUiLCBwZXI6IiIsICAgICAgICBub3RlOiJDb21lcyB0byBhYm91dCAkODkgYSBtb250aC4iLCAgICAgICAgICAgICAgICBkYXk6IiQyLjk3IiwgIHNhdmU6InNhdmUgMTAlIn0KICAgIF07CiAgICB2YXIgcHJMYWJlbHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1oLXNsLWxiIik7CiAgICBmdW5jdGlvbiBwclBhaW50KCl7CiAgICAgIHZhciBpPStwclNsaWRlci52YWx1ZSwgcD1QUl9QTEFOU1tpXSwgcGN0PWkvNCoxMDA7CiAgICAgIHByU2xpZGVyLnN0eWxlLnNldFByb3BlcnR5KCItLW1oLXNsZiIsImxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1taC1ibHVlKSAiK3BjdCsiJSxyZ2JhKDI1NSwyNTUsMjU1LC4wOSkgIitwY3QrIiUpIik7CiAgICAgIHByTGFiZWxzLmZvckVhY2goZnVuY3Rpb24oeCl7eC5jbGFzc0xpc3QudG9nZ2xlKCJtaC1vbiIsK3guZGF0YXNldC5pPT09aSk7fSk7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtaC1wci1wbGFuIikudGV4dENvbnRlbnQ9cC5wbGFuOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtcHItbm90ZSIpLnRleHRDb250ZW50PXAubm90ZTsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLXByLWRheSIpLnRleHRDb250ZW50PXAuZGF5OwogICAgICB2YXIgcGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLXByLXByaWNlIik7CiAgICAgIHBlLmlubmVySFRNTD1wLnByaWNlKyI8c21hbGw+IitwLnBlcisiPC9zbWFsbD4iOwogICAgICBwZS5jbGFzc0xpc3QucmVtb3ZlKCJtaC1zd2FwIik7dm9pZCBwZS5vZmZzZXRXaWR0aDtwZS5jbGFzc0xpc3QuYWRkKCJtaC1zd2FwIik7CiAgICAgIHZhciBzdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWgtcHItc2F2ZSIpOwogICAgICBpZihwLnNhdmUpe3N2LnRleHRDb250ZW50PXAuc2F2ZTtzdi5jbGFzc0xpc3QuYWRkKCJtaC1zaG93Iik7fWVsc2V7c3YuY2xhc3NMaXN0LnJlbW92ZSgibWgtc2hvdyIpO30KICAgIH0KICAgIHByU2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixwclBhaW50KTsKICAgIHByTGFiZWxzLmZvckVhY2goZnVuY3Rpb24oYil7Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtwclNsaWRlci52YWx1ZT1iLmRhdGFzZXQuaTtwclBhaW50KCk7fSk7fSk7CiAgICBwclBhaW50KCk7CiAgfQoKfSkoKTsK\"),function(c){return c.charCodeAt(0)})))<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"Can I keep the VPS running 24\/7?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Your instance stays online for as long as the subscription is active, so it behaves like a true always-running server. Just avoid shutting it down from inside macOS, or you will lose remote access until the team powers it back on.\"}},\n{\"@type\":\"Question\",\"name\":\"Is a Mac VPS here a real Mac or a virtual machine?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It is a real Mac mini M4, not a virtual slice. The entire machine is yours, with 16GB of memory and no other tenants sharing the cores.\"}},\n{\"@type\":\"Question\",\"name\":\"Can it act as a CI\/CD or iOS build runner?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. With full root you can set up a self-hosted runner for GitHub Actions, Jenkins, GitLab CI, or Buildkite and compile, test, and sign iOS and macOS apps on genuine Apple Silicon.\"}},\n{\"@type\":\"Question\",\"name\":\"Do I get root access?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, full administrator rights from the very first login, with nothing held back. Install what you want, change any setting, run any service.\"}},\n{\"@type\":\"Question\",\"name\":\"Why a Mac VPS instead of a cheaper Linux VPS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Because Xcode, the iOS and macOS toolchains, code signing, and notarization only run on macOS on Apple hardware. No Linux VPS can do that at any price. Anything that touches Apple platforms needs a real Mac.\"}},\n{\"@type\":\"Question\",\"name\":\"Where does the VPS run, and how reliable is it?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It lives in a datacenter with two-layer physical security and a 99.9% uptime SLA, and it stays online for as long as your subscription runs.\"}},\n{\"@type\":\"Question\",\"name\":\"Which version of macOS does it run?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Every machine ships with macOS Tahoe 26.4 or newer. Rolling back to an older macOS release is not supported.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I use SSH, not only remote desktop?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. SSH works out of the box, and DeskIn remote desktop is preinstalled and free. Use the terminal for headless work, or DeskIn when you want the full desktop.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I get several Macs for a team?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Volume pricing kicks in at five instances (5% off) and at fifteen or more (10% off), and Thunderbolt clustering is available on orders of fifteen and up.\"}},\n{\"@type\":\"Question\",\"name\":\"How does billing work, and can I cancel?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Plans start at $3.30 a day on the monthly term, with daily and weekly options too. Everything renews automatically until you cancel, which you can do anytime from the dashboard. There is no hourly metering and no free trial.\"}}\n]}\n<\/script>\n\n<!-- live demo player: SignalR + WHEP (points at api.rentamac.io). SNAPSHOT of rentamac.io\/demo; canonical: build-demo-player.py -> rentamac-demo.html -->\n<script defer src=\"https:\/\/cdn.jsdelivr.net\/npm\/@microsoft\/signalr@8\/dist\/browser\/signalr.min.js\"><\/script>\n<script>\/* base64-wrapped by deploy-page.py *\/eval(new TextDecoder().decode(Uint8Array.from(atob(\"CihmdW5jdGlvbigpewogIGlmICh3aW5kb3cuX19yYW1hY19yYW5fcGxheWVyKSByZXR1cm47CiAgd2luZG93Ll9fcmFtYWNfcmFuX3BsYXllciA9IHRydWU7CiAgdmFyIENPTkZJRyA9IHsKICAgIHNyczogImh0dHA6Ly9zcnMtZGVtby1yZW50YW1hYy5nZXJtYW55d2VzdGNlbnRyYWwuYXp1cmVjb250YWluZXIuaW86MTk4NSIsCiAgICBhcHA6ICJsaXZlIiwKICAgIHN0cmVhbTogImNhbSIsCiAgICBiYWNrZW5kOiAiaHR0cHM6Ly9hcGkucmVudGFtYWMuaW8iCiAgfTsKICB2YXIgQ09PTERPV05fTVMgPSAxMDAwMDsKICAvLyBUaGUgT29rbGEgc3BlZWQgdGVzdCB0YWtlcyB+MjBzIHRvIGFjdHVhbGx5IHJ1biwgYW5kIHRoZSBORVhUIGFjdGlvbiBzdGFydHMgYnkga2lsbGluZyB0aGUgZGVtbyBhcHBzCiAgLy8gKGtpbGxhbGwgU3BlZWR0ZXN0KSwgc28gYSAxMHMgZ2F0ZSB3b3VsZCBsZXQgc29tZW9uZSBjdXQgdGhlIHRlc3Qgb2ZmIG1pZC1ydW4gYmVmb3JlIHRoZSByZXN1bHQgc2hvd3MuCiAgLy8gS2VlcCB0aGUgYnV0dG9ucyAoYW5kIHRoZSBwZXItTWFjIGNvbW1hbmQgZ2F0ZSkgbG9ja2VkIDIwcyBhZnRlciBhIHNwZWVkdGVzdCBzbyBpdCBjYW4gZmluaXNoLgogIHZhciBBQ1RJT05fQ09PTERPV05fTVMgPSB7IHNwZWVkdGVzdDogMjAwMDAgfTsKICBmdW5jdGlvbiBjb29sZG93bkZvcihhKXsgcmV0dXJuIEFDVElPTl9DT09MRE9XTl9NU1thXSB8fCBDT09MRE9XTl9NUzsgfQogIHZhciBMQUJFTFMgPSB7IHNpbXVsYXRvcjoidGhlIGlPUyBTaW11bGF0b3IiLCBzcGVlZHRlc3Q6ImEgc3BlZWR0ZXN0IiwgY2xhdWRlOiJ0aGUgQ2xhdWRlIGFwcCIsIHhjb2RlOiJYY29kZSIsIHN5c2luZm86InRoZSBzeXN0ZW0gaW5mbyIsIHJlc2V0OiJhIGRlc2t0b3AgcmVzZXQiIH07CgogIHZhciAkID0gZnVuY3Rpb24oaWQpeyByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOyB9OwogIHZhciB2aWRlbz0kKCJybC12aWRlbyIpLCBvdmVybGF5PSQoInJsLW92ZXJsYXkiKSwgb3ZCaWc9JCgicmwtb3YtYmlnIiksIG92U21hbGw9JCgicmwtb3Ytc21hbGwiKSwgcGF1c2VkT3Y9JCgicmwtcGF1c2VkIik7CiAgdmFyIGlzbGFuZD0kKCJybC1pc2xhbmQiKSwgd29yZD0kKCJybC13b3JkIiksIG1zZz0kKCJybC1tc2ciKSwgbGluZT0kKCJybC1saW5lIiksIHRpbGVzRWw9JCgicmwtdGlsZXMiKTsKCiAgLyogLS0tLS0tLS0tLSBpc2xhbmQ6IHJlc3RzIGF0IExJVkUsIGV4cGFuZHMgdG8gc3BlYWssIGNvbGxhcHNlcyAtLS0tLS0tLS0tICovCiAgdmFyIG1zZ1RpbWVyPW51bGw7CiAgZnVuY3Rpb24gc3BlYWsoaHRtbCwgbXMpewogICAgaWYoIW1zKXsKICAgICAgdmFyIHdvcmRzPShodG1sLnJlcGxhY2UoLzxbXj5dKz4vZywiIikuc3BsaXQoL1xzKy8pLmxlbmd0aCk7CiAgICAgIG1zID0gMzAwMCArIE1hdGguY2VpbCh3b3Jkcy8zKSoxMDAwOwogICAgfQogICAgbXNnLmlubmVySFRNTCA9IGh0bWw7CiAgICBpc2xhbmQuY2xhc3NMaXN0LmFkZCgiZXhwYW5kZWQiKTsKICAgIGlmKG1zZ1RpbWVyKSBjbGVhclRpbWVvdXQobXNnVGltZXIpOwogICAgbXNnVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGlzbGFuZC5jbGFzc0xpc3QucmVtb3ZlKCJleHBhbmRlZCIpOyB9LCBtcyk7CiAgfQogIGZ1bmN0aW9uIHNldFN0YXRlKHN0YXRlKXsKICAgIGlzbGFuZC5zZXRBdHRyaWJ1dGUoImRhdGEtc3RhdGUiLCBzdGF0ZSk7CiAgICB3b3JkLnRleHRDb250ZW50ID0gc3RhdGU9PT0ibGl2ZSIgPyAiTGl2ZSIgOiBzdGF0ZT09PSJjb25uZWN0aW5nIiA\/ICJDb25uZWN0aW5nIiA6IHN0YXRlPT09InBhdXNlZCIgPyAiUGF1c2VkIiA6ICJPZmZsaW5lIjsKICB9CgogIGZ1bmN0aW9uIHNob3dPdmVybGF5KGJpZywgc21hbGwpeyBvdkJpZy50ZXh0Q29udGVudD1iaWc7IG92U21hbGwudGV4dENvbnRlbnQ9c21hbGx8fCIiOyBvdmVybGF5LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOyB9CiAgZnVuY3Rpb24gaGlkZU92ZXJsYXkoKXsgb3ZlcmxheS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsgfQoKICAvKiAtLS0tLS0tLS0tIHByZXNlbmNlIC8gdGlsZXMgLS0tLS0tLS0tLSAqLwogIHZhciBhZ2VudE9ubGluZT1mYWxzZSwgc3RyZWFtVXA9ZmFsc2UsIGlkbGVQYXVzZWQ9ZmFsc2U7CiAgZnVuY3Rpb24gcmVmcmVzaFRpbGVzKCl7CiAgICB2YXIgYmxvY2tlZCA9IGlkbGVQYXVzZWQgfHwgIWFnZW50T25saW5lIHx8IERhdGUubm93KCkgPCBjb29sZG93blVudGlsOwogICAgdGlsZXNFbC5jbGFzc0xpc3QudG9nZ2xlKCJjb29saW5nIiwgRGF0ZS5ub3coKSA8IGNvb2xkb3duVW50aWwpOwogICAgdGlsZXNFbC5jbGFzc0xpc3QudG9nZ2xlKCJwYXVzZWQiLCBpZGxlUGF1c2VkIHx8ICFhZ2VudE9ubGluZSk7CiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHRpbGVzRWwucXVlcnlTZWxlY3RvckFsbCgiLnRpbGUiKSwgZnVuY3Rpb24oYil7CiAgICAgIGIuc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIiwgYmxvY2tlZCA\/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgfSk7CiAgfQogIGZ1bmN0aW9uIHNldFByZXNlbmNlKG9ubGluZSl7CiAgICB2YXIgd2FzID0gYWdlbnRPbmxpbmU7CiAgICBhZ2VudE9ubGluZSA9ICEhb25saW5lOwogICAgaXNsYW5kLmNsYXNzTGlzdC50b2dnbGUoInBhdXNlZCIsICFhZ2VudE9ubGluZSk7CiAgICBpZighYWdlbnRPbmxpbmUgJiYgd2FzKSBzcGVhaygiQWN0aW9ucyBhcmUgcGF1c2VkIG9uIHRoaXMgTWFjIHJpZ2h0IG5vdy4iKTsKICAgIHJlZnJlc2hUaWxlcygpOwogIH0KCiAgLyogLS0tLS0tLS0tLSBzaGFyZWQgY29vbGRvd246IGEgMnB4IGxpbmUgdGhhdCBleGlzdHMgb25seSB3aGlsZSBkcmFpbmluZyAtLS0tLS0tLS0tICovCiAgdmFyIEtDX0hUTUwgPSAnPHN2ZyB2aWV3Qm94PSIwIDAgMTAgMTAiIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xLjUgMWw3IDQtNyA0eiIvPjwvc3ZnPiBSdW4nOwogIHZhciBjb29sZG93blVudGlsID0gMCwgY29vbGRvd25TcGFuID0gQ09PTERPV05fTVMsIHJhZk9uID0gZmFsc2UsIGNkS2MgPSBudWxsOwogIGZ1bmN0aW9uIHJlc3RvcmVLYygpewogICAgaWYoY2RLYyl7IGNkS2MuaW5uZXJIVE1MID0gS0NfSFRNTDsgY2RLYy5jbGFzc0xpc3QucmVtb3ZlKCJjb3VudCIpOyBjZEtjID0gbnVsbDsgfQogIH0KICBmdW5jdGlvbiBwYWludENvb2xkb3duKCl7CiAgICB2YXIgbGVmdCA9IGNvb2xkb3duVW50aWwgLSBEYXRlLm5vdygpOwogICAgaWYobGVmdCA8PSAwKXsgbGluZS5zdHlsZS53aWR0aD0iMCUiOyByYWZPbj1mYWxzZTsgcmVzdG9yZUtjKCk7IHJlZnJlc2hUaWxlcygpOyByZXR1cm47IH0KICAgIGxpbmUuc3R5bGUud2lkdGggPSAobGVmdCAvIGNvb2xkb3duU3BhbiAqIDEwMCkgKyAiJSI7CiAgICBpZihjZEtjKXsgY2RLYy5jbGFzc0xpc3QuYWRkKCJjb3VudCIpOyBjZEtjLnRleHRDb250ZW50ID0gTWF0aC5jZWlsKGxlZnQvMTAwMCkgKyAicyI7IH0KICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShwYWludENvb2xkb3duKTsKICB9CiAgZnVuY3Rpb24gc3RhcnRDb29sZG93bihtcyl7CiAgICBjb29sZG93blNwYW4gPSBtcyB8fCBDT09MRE9XTl9NUzsKICAgIGNvb2xkb3duVW50aWwgPSBEYXRlLm5vdygpICsgY29vbGRvd25TcGFuOwogICAgbGluZS5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgIHJlZnJlc2hUaWxlcygpOwogICAgaWYoIXJhZk9uKXsgcmFmT249dHJ1ZTsgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBhaW50Q29vbGRvd24pOyB9CiAgfQoKICAvKiAtLS0tLS0tLS0tIGFjdGlvbnMgLS0tLS0tLS0tLSAqLwogIC8vIFRpbGUgc3RhdGUgaXMgZHJpdmVuIGJ5IHRoZSBTaWduYWxSIENvbW1hbmRTdGF0dXMgc3RyZWFtIHNvIEVWRVJZIHZpZXdlciBjb252ZXJnZXMgb24gdGhlIHNhbWUgcGljdHVyZToKICAvLyBleGFjdGx5IG9uZSB0aWxlIGlzICJydW5uaW5nIiAobGF1bmNoaW5nKSBvciAiYWN0aXZlIiAob24gc2NyZWVuIG5vdykgYXQgYSB0aW1lLiBUaGlzIGlzIHdoYXQgc3RvcHMgYQogIC8vIHRpbGUgdGhhdCBhbm90aGVyIHZpZXdlciBsZWZ0IG1pZC1ydW4gZnJvbSBzcGlubmluZyBmb3JldmVyIG9uIHlvdXIgc2NyZWVuLgogIHZhciBwZW5kaW5nTWluZSA9IG51bGwsIGFjdGl2ZUFjdGlvbiA9IG51bGw7CiAgZnVuY3Rpb24gdGlsZUZvcihhKXsgcmV0dXJuIHRpbGVzRWwucXVlcnlTZWxlY3RvcignLnRpbGVbZGF0YS1hY3Rpb249IicgKyBhICsgJyJdJyk7IH0KICBmdW5jdGlvbiBjbGVhclRpbGVTdGF0ZXMoKXsKICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGlsZXNFbC5xdWVyeVNlbGVjdG9yQWxsKCIudGlsZS5ydW5uaW5nLCAudGlsZS5hY3RpdmUiKSwgZnVuY3Rpb24oYil7CiAgICAgIGIuY2xhc3NMaXN0LnJlbW92ZSgicnVubmluZyIpOyBiLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpOwogICAgfSk7CiAgfQogIGZ1bmN0aW9uIHNldFJ1bm5pbmcoYSl7IGNsZWFyVGlsZVN0YXRlcygpOyB2YXIgdCA9IHRpbGVGb3IoYSk7IGlmKHQpIHQuY2xhc3NMaXN0LmFkZCgicnVubmluZyIpOyB9CiAgZnVuY3Rpb24gc2V0QWN0aXZlKGEpeyBjbGVhclRpbGVTdGF0ZXMoKTsgYWN0aXZlQWN0aW9uID0gYTsgdmFyIHQgPSB0aWxlRm9yKGEpOyBpZih0KSB0LmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpOyB9CiAgLy8gQSBicmllZiB0b29sdGlwIGFib3ZlIGEgdGlsZSB3aGVuIEFOT1RIRVIgdmlld2VyIHRyaWdnZXJzIGl0LCBzbyB5b3UgY2FuIHRlbGwgdGhlaXIgYWN0aW9uIGZyb20geW91ciBvd24uCiAgLy8gQ1NTICgudGlsZS50aXApIGZhZGVzIGl0IGluL291dCBvdmVyIH4zLjJzOyB3ZSByZXN0YXJ0IHRoZSBhbmltYXRpb24gdmlhIGEgcmVmbG93IHNvIGl0IHJlcGxheXMgZXZlbiB3aGVuCiAgLy8gdGhlIHNhbWUgdGlsZSBmaXJlcyB0d2ljZSBpbiBhIHJvdy4KICB2YXIgdGlwVGltZXIgPSBudWxsOwogIGZ1bmN0aW9uIHNob3dPdGhlclRpcChhKXsKICAgIHZhciB0ID0gdGlsZUZvcihhKTsgaWYoIXQpIHJldHVybjsKICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGlsZXNFbC5xdWVyeVNlbGVjdG9yQWxsKCIudGlsZS50aXAiKSwgZnVuY3Rpb24oYil7IGIuY2xhc3NMaXN0LnJlbW92ZSgidGlwIik7IGIucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXRpcCIpOyB9KTsKICAgIHQuc2V0QXR0cmlidXRlKCJkYXRhLXRpcCIsICJUcmlnZ2VyZWQgYnkgYW5vdGhlciB2aWV3ZXIiKTsKICAgIHZvaWQgdC5vZmZzZXRXaWR0aDsgICAgICAgICAgICAgICAgICAgIC8vIGZvcmNlIHJlZmxvdyBzbyB0aGUgQ1NTIGFuaW1hdGlvbiByZXBsYXlzCiAgICB0LmNsYXNzTGlzdC5hZGQoInRpcCIpOwogICAgaWYodGlwVGltZXIpIGNsZWFyVGltZW91dCh0aXBUaW1lcik7CiAgICB0aXBUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgdC5jbGFzc0xpc3QucmVtb3ZlKCJ0aXAiKTsgdC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtdGlwIik7IH0sIDMyMDApOwogIH0KICB0aWxlc0VsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oZSl7CiAgICB2YXIgYnRuID0gZS50YXJnZXQuY2xvc2VzdCgiLnRpbGUiKTsKICAgIGlmKCFidG4pIHJldHVybjsKICAgIHZhciBhY3Rpb24gPSBidG4uZ2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIpOwogICAgaWYoaWRsZVBhdXNlZCkgcmV0dXJuOyAgIC8vIHN0cmVhbSBpcyBpZGxlLXBhdXNlZDsgdGhlIGJ1dHRvbnMgYXJlIGRpc2FibGVkIHVudGlsIHRoZSB1c2VyIHRhcHMgdG8gcmVzdW1lCiAgICBpZihEYXRlLm5vdygpIDwgY29vbGRvd25VbnRpbCl7CiAgICAgIHNwZWFrKCJOZXh0IGFjdGlvbiBpbiAiICsgTWF0aC5jZWlsKChjb29sZG93blVudGlsLURhdGUubm93KCkpLzEwMDApICsgInMuIiwgMzAwMCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmKCFhZ2VudE9ubGluZSl7CiAgICAgIHNwZWFrKCJUaGUgTWFjIGlzIG5vdCBhY2NlcHRpbmcgYWN0aW9ucyByaWdodCBub3cuIik7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJlc3RvcmVLYygpOwogICAgY2RLYyA9IGJ0bi5xdWVyeVNlbGVjdG9yKCIua2MiKTsKICAgIHN0YXJ0Q29vbGRvd24oY29vbGRvd25Gb3IoYWN0aW9uKSk7CiAgICBidG4uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7CiAgICBidG4uY2xhc3NMaXN0LmFkZCgicnVubmluZyIpOyAgICAgICAgICAvLyBpbnN0YW50IGxvY2FsIGZlZWRiYWNrOyB0aGUgInNlbnQiIHN0YXR1cyB0aGVuIHJlY29uY2lsZXMgZXZlcnkgY2xpZW50CiAgICBwZW5kaW5nTWluZSA9IHsgYWN0aW9uOiBhY3Rpb24sIHVudGlsOiBEYXRlLm5vdygpICsgMjAwMDAgfTsKICAgIHNwZWFrKCI8Yj5Zb3U6PC9iPiBydW5uaW5nICIgKyBMQUJFTFNbYWN0aW9uXSArICIuLi4iKTsKICAgIGZldGNoKENPTkZJRy5iYWNrZW5kICsgIi9hcGkvZGVtby1zdHJlYW0vYWN0aW9ucy8iICsgYWN0aW9uLCB7IG1ldGhvZDoiUE9TVCIgfSkKICAgICAgLnRoZW4oZnVuY3Rpb24ocil7CiAgICAgICAgaWYoci5zdGF0dXMgPT09IDQyOSl7CiAgICAgICAgICBzcGVhaygiVGhlIE1hYyBpcyBub3QgYWNjZXB0aW5nIGFjdGlvbnMgcmlnaHQgbm93LCB5b3UndmUgbWFkZSB0b28gbWFueSBhY3Rpb25zIGluIHRoZSBwYXN0IGZldyBtaW51dGVzLiBJdCBmcmVlcyB1cCBzaG9ydGx5LiIpOwogICAgICAgICAgYnRuLmNsYXNzTGlzdC5yZW1vdmUoInJ1bm5pbmciKTsgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZighci5vayl7CiAgICAgICAgICByLmpzb24oKS50aGVuKGZ1bmN0aW9uKGopewogICAgICAgICAgICB2YXIgbT0oai5lcnJvcnMmJmouZXJyb3JzWzBdKXx8ai5kZXRhaWx8fGoudGl0bGV8fCgiRXJyb3IgIityLnN0YXR1cyk7CiAgICAgICAgICAgIHNwZWFrKG0pOwogICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsgc3BlYWsoIkVycm9yICIgKyByLnN0YXR1cyk7IH0pOwogICAgICAgICAgY29vbGRvd25VbnRpbD0wOyBidG4uY2xhc3NMaXN0LnJlbW92ZSgicnVubmluZyIpOyByZWZyZXNoVGlsZXMoKTsgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBzcGVhaygiPGI+WW91OjwvYj4gcnVubmluZyAiICsgTEFCRUxTW2FjdGlvbl0gKyAiLCB3YXRjaCB0aGUgc2NyZWVuLiIpOwogICAgICB9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICBzcGVhaygiQ291bGQgbm90IHJlYWNoIHRoZSBkZW1vIGJhY2tlbmQuIik7CiAgICAgICAgY29vbGRvd25VbnRpbD0wOyBidG4uY2xhc3NMaXN0LnJlbW92ZSgicnVubmluZyIpOyByZWZyZXNoVGlsZXMoKTsKICAgICAgfSk7CiAgfSk7CgogIC8qIC0tLS0tLS0tLS0gU2lnbmFsUiAtLS0tLS0tLS0tICovCiAgZnVuY3Rpb24gY29ubmVjdEh1YigpewogICAgaWYodHlwZW9mIHNpZ25hbFIgPT09ICJ1bmRlZmluZWQiKXsgc2V0UHJlc2VuY2UoZmFsc2UpOyByZXR1cm47IH0KICAgIHZhciBjb25uID0gbmV3IHNpZ25hbFIuSHViQ29ubmVjdGlvbkJ1aWxkZXIoKQogICAgICAud2l0aFVybChDT05GSUcuYmFja2VuZCArICIvaHVicy9kZW1vLXN0cmVhbSIpCiAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KCkKICAgICAgLmJ1aWxkKCk7CiAgICBjb25uLm9uKCJBZ2VudFByZXNlbmNlIiwgZnVuY3Rpb24ob25saW5lKXsgc2V0UHJlc2VuY2UoISFvbmxpbmUpOyB9KTsKICAgIGNvbm4ub24oIkNvbW1hbmRTdGF0dXMiLCBmdW5jdGlvbihzKXsKICAgICAgdmFyIGFjdGlvbiA9IHMuYWN0aW9uICE9IG51bGwgPyBzLmFjdGlvbiA6IHMuQWN0aW9uOwogICAgICB2YXIgc3RhdHVzID0gcy5zdGF0dXMgIT0gbnVsbCA\/IHMuc3RhdHVzIDogcy5TdGF0dXM7CiAgICAgIHZhciBtaW5lID0gcGVuZGluZ01pbmUgJiYgcGVuZGluZ01pbmUuYWN0aW9uID09PSBhY3Rpb24gJiYgRGF0ZS5ub3coKSA8IHBlbmRpbmdNaW5lLnVudGlsOwogICAgICB2YXIgbGFiZWwgPSBMQUJFTFNbYWN0aW9uXSB8fCBhY3Rpb247CiAgICAgIHZhciBzdCA9IChzdGF0dXMgfHwgIiIpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsKICAgICAgdmFyIGlzRmFpbCA9IHN0LmluZGV4T2YoImZhaWwiKT49MCB8fCBzdC5pbmRleE9mKCJlcnJvciIpPj0wOwogICAgICAvLyBUaGUgTWFjIGFnZW50IG9ubHkgZXZlciBhY2tzICJzdGFydGVkIiAoaXQgbGF1bmNoZXMgYW4gYXBwIHRoYXQgdGhlbiBzdGF5cyBvbiBzY3JlZW4pLCB0aGVyZSBpcyBubwogICAgICAvLyAiZG9uZSIuIFNvICJzdGFydGVkIi9hbnkgc3VjY2VzcyBtZWFucyAidGhpcyBhY3Rpb24gaXMgbm93IHdoYXQncyBvbiBzY3JlZW4iOiBtYXJrIGl0cyB0aWxlIHNlbGVjdGVkLgogICAgICB2YXIgaXNVcCA9ICFpc0ZhaWwgJiYgKHN0LmluZGV4T2YoInN0YXJ0Iik+PTAgfHwgc3QuaW5kZXhPZigiY29tcGxldGUiKT49MCB8fCBzdC5pbmRleE9mKCJkb25lIik+PTAgfHwgc3QuaW5kZXhPZigic3VjY2VzcyIpPj0wKTsKCiAgICAgIC8vIFNoYXJlZCAxMHMgZ2FwOiBldmVyeSB2aWV3ZXIgc3RhcnRzIGNvb2xpbmcgdGhlIG1vbWVudCB0aGUgYmFja2VuZCBhY2NlcHRzIGEgY29tbWFuZCAoInNlbnQiKSwgbm90CiAgICAgIC8vIGp1c3QgdGhlIGNsaWNrZXIsIHNvIG5vIG9uZSBmaXJlcyBhbiBhY3Rpb24gdGhlIGJhY2tlbmQgd291bGQgb25seSByZWplY3QuIEEgbm9uLW1pbmUgInNlbnQiIGlzIGFsc28KICAgICAgLy8gZXhhY3RseSB0aGUgImFub3RoZXIgdmlld2VyIGp1c3QgdHJpZ2dlcmVkIHRoaXMgYnV0dG9uIiBtb21lbnQsIHNvIGZsYXNoIHRoZSB0b29sdGlwIHRoZW4uCiAgICAgIGlmKCFpc0ZhaWwgJiYgIWlzVXAgJiYgIW1pbmUpeyBzdGFydENvb2xkb3duKGNvb2xkb3duRm9yKGFjdGlvbikpOyBzaG93T3RoZXJUaXAoYWN0aW9uKTsgfQoKICAgICAgLy8gcmVzZXQgcmV0dXJucyB0aGUgTWFjIHRvIGEgY2xlYW4gZGVza3RvcCwgbm90aGluZyBpcyAib24gc2NyZWVuIiwgc28gY2xlYXIgZXZlcnkgdGlsZSBvbiBhbGwgY2xpZW50cy4KICAgICAgaWYoYWN0aW9uID09PSAicmVzZXQiKXsKICAgICAgICBjbGVhclRpbGVTdGF0ZXMoKTsgYWN0aXZlQWN0aW9uID0gbnVsbDsKICAgICAgICBpZihpc1VwKSBzcGVhaygobWluZSA\/ICI8Yj5Zb3U6PC9iPiAiIDogIiIpICsgImRlc2t0b3AgcmVzZXQgdG8gYSBjbGVhbiBzY3JlZW4uIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmKGlzRmFpbCl7CiAgICAgICAgdmFyIGZ0ID0gdGlsZUZvcihhY3Rpb24pOyBpZihmdCl7IGZ0LmNsYXNzTGlzdC5yZW1vdmUoInJ1bm5pbmciKTsgZnQuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7IH0KICAgICAgICBpZihhY3RpdmVBY3Rpb24gPT09IGFjdGlvbikgYWN0aXZlQWN0aW9uID0gbnVsbDsKICAgICAgICBzcGVhayhsYWJlbCArICIgaGl0IGEgc25hZyBvbiB0aGUgTWFjLiBUcnkgYW5vdGhlciBhY3Rpb24uIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmKGlzVXApewogICAgICAgIC8vIExhdW5jaGVkOiB0aGlzIHRpbGUgYmVjb21lcyB0aGUgc2VsZWN0ZWQvZm9jdXNlZCBjYXJkIG9uIEVWRVJZIHZpZXdlciwgY2xlYXJpbmcgdGhlIHByZXZpb3VzIG9uZS4KICAgICAgICBzZXRBY3RpdmUoYWN0aW9uKTsKICAgICAgICBzcGVhaygobWluZSA\/ICI8Yj5Zb3U6PC9iPiAiIDogIiIpICsgbGFiZWwgKyAiIGlzIG9uIHRoZSBzY3JlZW4gbm93LiIpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICAvLyBpbml0aWFsICJzZW50IjogYWNjZXB0ZWQgYW5kIGxhdW5jaGluZy4gU2hvdyBpdCBsb2FkaW5nIG9uIGV2ZXJ5IGNsaWVudCwgdGhpcyBpcyBhbHNvIHdoYXQgY2xlYXJzIGEKICAgICAgLy8gdGlsZSBhIGRpZmZlcmVudCB2aWV3ZXIgbGVmdCBzcGlubmluZywgc2luY2UgdGhlaXIgYWN0aW9uIGlzIG5vIGxvbmdlciB0aGUgY3VycmVudCBvbmUuCiAgICAgIHNldFJ1bm5pbmcoYWN0aW9uKTsKICAgICAgc3BlYWsobWluZSA\/ICI8Yj5Zb3U6PC9iPiBydW5uaW5nICIgKyBsYWJlbCArICIuLi4iIDogIlNvbWVvbmUgaXMgcnVubmluZyAiICsgbGFiZWwgKyAiLi4uIik7CiAgICB9KTsKICAgIGNvbm4uc3RhcnQoKS5jYXRjaChmdW5jdGlvbigpeyBzZXRQcmVzZW5jZShmYWxzZSk7IH0pOwogIH0KICBmdW5jdGlvbiBpbml0U3RhdHVzKCl7CiAgICBmZXRjaChDT05GSUcuYmFja2VuZCArICIvYXBpL2RlbW8tc3RyZWFtL3N0YXR1cyIpCiAgICAgIC50aGVuKGZ1bmN0aW9uKHIpeyByZXR1cm4gci5vayA\/IHIuanNvbigpIDogbnVsbDsgfSkKICAgICAgLnRoZW4oZnVuY3Rpb24oail7CiAgICAgICAgaWYoIWopIHJldHVybjsKICAgICAgICB2YXIgdiA9IGoudmFsdWUgIT0gbnVsbCA\/IGoudmFsdWUgOiBqOwogICAgICAgIHNldFByZXNlbmNlKCEhKHYuYWdlbnRPbmxpbmUgIT0gbnVsbCA\/IHYuYWdlbnRPbmxpbmUgOiB2LkFnZW50T25saW5lKSk7CiAgICAgICAgdmFyIGNkID0gKHYuY29vbGRvd25TZWNvbmRzICE9IG51bGwgPyB2LmNvb2xkb3duU2Vjb25kcyA6IHYuQ29vbGRvd25TZWNvbmRzKSB8fCAwOwogICAgICAgIGlmKGNkID4gMCkgc3RhcnRDb29sZG93bihjZCAqIDEwMDApOwogICAgICAgIC8vIExhdGUtam9pbmVyczogc2hvdyB0aGUgdGlsZSB0aGF0J3MgY3VycmVudGx5IG9uIHNjcmVlbiBhcyBzZWxlY3RlZCwgZXZlbiB0aG91Z2ggdGhleSBtaXNzZWQgdGhlIGNsaWNrLgogICAgICAgIHZhciBhY3QgPSB2LmFjdGl2ZUFjdGlvbiAhPSBudWxsID8gdi5hY3RpdmVBY3Rpb24gOiB2LkFjdGl2ZUFjdGlvbjsKICAgICAgICBpZihhY3QpIHNldEFjdGl2ZShhY3QpOwogICAgICB9KQogICAgICAuY2F0Y2goZnVuY3Rpb24oKXt9KTsKICB9CgogIC8qIC0tLS0tLS0tLS0gV0hFUCBwbGF5ZXIgLS0tLS0tLS0tLSAqLwogIHZhciBwYz1udWxsLCByZXRyeVRpbWVyPW51bGwsIGxhc3RUPTAsIGxhc3RBZHZhbmNlPTA7CiAgZnVuY3Rpb24gdGVhcmRvd25QYygpeyBpZihwYyl7IHRyeXtwYy5jbG9zZSgpO31jYXRjaChlKXt9IHBjPW51bGw7IH0gfQogIGZ1bmN0aW9uIHJlbGF5RG93bigpewogICAgaWYoaWRsZVBhdXNlZCkgcmV0dXJuOyAgIC8vIGlkbGUtcGF1c2VkIG9uIHB1cnBvc2UsIGRvbid0IHNob3cgdGhlIHJlY29ubmVjdCBvdmVybGF5IG9yIHJlc3RhcnQgdGhlIGxvb3AKICAgIHN0cmVhbVVwPWZhbHNlOyB0ZWFyZG93blBjKCk7CiAgICBzZXRTdGF0ZSgib2ZmbGluZSIpOwogICAgc2hvd092ZXJsYXkoIlJlY29ubmVjdGluZyB0byB0aGUgTWFjIG1pbmkuLi4iLCAiVGhpcyBtYWNoaW5lIHJ1bnMgMjQvNy4gT3V0YWdlcyBhcmUgcmFyZSBhbmQgYnJpZWYuIik7CiAgICBpZighcmV0cnlUaW1lcikgcmV0cnlUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgcmV0cnlUaW1lcj1udWxsOyBzdGFydFdoZXAodHJ1ZSk7IH0sIDUwMDApOwogIH0KICBmdW5jdGlvbiBzdGFydFdoZXAoaXNSZXRyeSl7CiAgICB0ZWFyZG93blBjKCk7IHN0cmVhbVVwPWZhbHNlOwogICAgaWYoIWlzUmV0cnkpeyBzZXRTdGF0ZSgiY29ubmVjdGluZyIpOyBzaG93T3ZlcmxheSgiQ29ubmVjdGluZyB0byB0aGUgbGl2ZSBzdHJlYW0uLi4iLCIiKTsgfQogICAgdmFyIHdoZXAgPSBDT05GSUcuYmFja2VuZCArICIvYXBpL2RlbW8tc3RyZWFtL3doZXAiOwogICAgdmFyIHRoaXNQYyA9IG5ldyBSVENQZWVyQ29ubmVjdGlvbih7IGljZVNlcnZlcnM6W3sgdXJsczoic3R1bjpzdHVuLmwuZ29vZ2xlLmNvbToxOTMwMiIgfV0gfSk7CiAgICBwYyA9IHRoaXNQYzsKICAgIC8vIGlPUyBTYWZhcmkvV2ViS2l0IGRvZXMgTk9UIHJlbGlhYmx5IGhvbm9yIHRoZSBsZWdhY3kgY3JlYXRlT2ZmZXIoe29mZmVyVG9SZWNlaXZlKn0pIG9wdGlvbnMsIHNvIHRoZSBvZmZlcgogICAgLy8gZW5kcyB1cCB3aXRoIG5vIHJlY2VpdmluZyBtLWxpbmVzLCB0aGUgbWVkaWEgbmV2ZXIgYXJyaXZlcywgYW5kIHRoZSBwYWdlIHNpdHMgc3R1Y2sgb24gIlJlY29ubmVjdGluZyAvCiAgICAvLyBPRkZMSU5FIiwgd2hpbGUgQ2hyb21lL0FuZHJvaWQgKHdoaWNoIGRvIGhvbm9yIHRoZSBsZWdhY3kgb3B0aW9ucykgd29yay4gRGVjbGFyZSBleHBsaWNpdCByZWN2b25seQogICAgLy8gdHJhbnNjZWl2ZXJzIGluc3RlYWQgKHRoaXMgaXMgd2hhdCB0aGUgU1JTIHJlZmVyZW5jZSBXSEVQIHBsYXllciBkb2VzLCBhbmQgaXQncyBjcm9zcy1icm93c2VyIGNvcnJlY3QpLgogICAgdHJ5IHsgdGhpc1BjLmFkZFRyYW5zY2VpdmVyKCJ2aWRlbyIsIHsgZGlyZWN0aW9uOiJyZWN2b25seSIgfSk7IHRoaXNQYy5hZGRUcmFuc2NlaXZlcigiYXVkaW8iLCB7IGRpcmVjdGlvbjoicmVjdm9ubHkiIH0pOyB9IGNhdGNoKGUpe30KICAgIHRoaXNQYy5vbnRyYWNrID0gZnVuY3Rpb24oZSl7CiAgICAgIGlmKCF2aWRlby5zcmNPYmplY3QpIHZpZGVvLnNyY09iamVjdCA9IGUuc3RyZWFtc1swXTsKICAgICAgLy8gaU9TIG9ubHkgYXV0b3BsYXlzIG11dGVkK2lubGluZSB2aWRlbzsgcmUtYXNzZXJ0IGl0IGFuZCByZXRyeSBvbmNlIGlmIHRoZSBmaXJzdCBwbGF5KCkgaXMgYmxvY2tlZC4KICAgICAgdmlkZW8ubXV0ZWQgPSB0cnVlOyB2aWRlby5wbGF5c0lubGluZSA9IHRydWU7IHZpZGVvLnNldEF0dHJpYnV0ZSgicGxheXNpbmxpbmUiLCIiKTsKICAgICAgdmFyIHAgPSB2aWRlby5wbGF5KCk7IGlmKHAgJiYgcC5jYXRjaCkgcC5jYXRjaChmdW5jdGlvbigpeyBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IHRyeXsgdmlkZW8ucGxheSgpOyB9Y2F0Y2goXyl7fSB9LCA0MDApOyB9KTsKICAgIH07CiAgICB0aGlzUGMub25jb25uZWN0aW9uc3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpewogICAgICBpZihwYyAhPT0gdGhpc1BjKSByZXR1cm47CiAgICAgIGlmKHRoaXNQYy5jb25uZWN0aW9uU3RhdGUgPT09ICJjb25uZWN0ZWQiKXsKICAgICAgICBzdHJlYW1VcD10cnVlOyBsYXN0VD12aWRlby5jdXJyZW50VGltZTsgbGFzdEFkdmFuY2U9RGF0ZS5ub3coKTsKICAgICAgICBzZXRTdGF0ZSgibGl2ZSIpOyBoaWRlT3ZlcmxheSgpOwogICAgICB9IGVsc2UgaWYodGhpc1BjLmNvbm5lY3Rpb25TdGF0ZSA9PT0gImZhaWxlZCIpeyByZWxheURvd24oKTsgfQogICAgfTsKICAgIHRoaXNQYy5jcmVhdGVPZmZlcigpCiAgICAgIC50aGVuKGZ1bmN0aW9uKG9mZmVyKXsgcmV0dXJuIHRoaXNQYy5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKS50aGVuKGZ1bmN0aW9uKCl7IHJldHVybiBvZmZlcjsgfSk7IH0pCiAgICAgIC50aGVuKGZ1bmN0aW9uKG9mZmVyKXsKICAgICAgICByZXR1cm4gZmV0Y2god2hlcCwgeyBtZXRob2Q6IlBPU1QiLCBoZWFkZXJzOnsgIkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3NkcCIgfSwgYm9keTogb2ZmZXIuc2RwIH0pOwogICAgICB9KQogICAgICAudGhlbihmdW5jdGlvbihyZXNwKXsKICAgICAgICBpZighcmVzcC5vaykgdGhyb3cgbmV3IEVycm9yKCJ3aGVwICIgKyByZXNwLnN0YXR1cyk7CiAgICAgICAgcmV0dXJuIHJlc3AuanNvbigpOwogICAgICB9KQogICAgICAudGhlbihmdW5jdGlvbihqKXsKICAgICAgICB2YXIgc2RwID0gKGogJiYgdHlwZW9mIGogPT09ICJvYmplY3QiKSA\/IChqLnZhbHVlIHx8IGouVmFsdWUgfHwgIiIpIDogajsKICAgICAgICBpZighc2RwKSB0aHJvdyBuZXcgRXJyb3IoImVtcHR5IHdoZXAgYW5zd2VyIik7CiAgICAgICAgaWYocGMgPT09IHRoaXNQYykgcmV0dXJuIHRoaXNQYy5zZXRSZW1vdGVEZXNjcmlwdGlvbih7IHR5cGU6ImFuc3dlciIsIHNkcDpzZHAgfSk7CiAgICAgIH0pCiAgICAgIC5jYXRjaChmdW5jdGlvbigpeyBpZihwYyA9PT0gdGhpc1BjKSByZWxheURvd24oKTsgfSk7CiAgfQogIHNldEludGVydmFsKGZ1bmN0aW9uKCl7CiAgICBpZighc3RyZWFtVXApIHJldHVybjsKICAgIGlmKHZpZGVvLmN1cnJlbnRUaW1lID4gbGFzdFQgKyAwLjA1KXsgbGFzdFQ9dmlkZW8uY3VycmVudFRpbWU7IGxhc3RBZHZhbmNlPURhdGUubm93KCk7IH0KICAgIGVsc2UgaWYoRGF0ZS5ub3coKSAtIGxhc3RBZHZhbmNlID4gNjAwMCl7IHJlbGF5RG93bigpOyB9CiAgfSwgMjAwMCk7CgogIC8qIC0tLS0tLS0tLS0gaWRsZSBhdXRvLXBhdXNlOiBkcm9wIHRoZSBzdHJlYW0gYWZ0ZXIgNjBzIG9mIG5vIGludGVyYWN0aW9uLCByZXN1bWUgb24gdGFwIC0tLS0tLS0tLS0gKi8KICAvLyBTdHJlYW1pbmcgdG8gYSB0YWIgbm9ib2R5IGlzIHRvdWNoaW5nIGp1c3QgYnVybnMgcmVsYXkgYmFuZHdpZHRoLCBzbyBhZnRlciBJRExFX01TIHdpdGggbm8gdXNlciBpbnB1dCB3ZQogIC8vIHRlYXIgdGhlIFdlYlJUQyBzdHJlYW0gZG93biwgZGlzYWJsZSB0aGUgYWN0aW9uIGJ1dHRvbnMsIGFuZCBzaG93IGEgdGFwLXRvLXJlc3VtZSBvdmVybGF5LiBBbnkgcG9pbnRlci9rZXkvCiAgLy8gdG91Y2gvd2hlZWwgaW5wdXQgcmUtYXJtcyB0aGUgY291bnRkb3duOyBwYXNzaXZlIHdhdGNoaW5nIGRvZXMgTk9UIChvbmx5IHJlYWwgaW50ZXJhY3Rpb25zIHJlc2V0IGl0KS4KICB2YXIgSURMRV9NUyA9IDYwMDAwLCBpZGxlVGltZXIgPSBudWxsOwogIGZ1bmN0aW9uIHNob3dQYXVzZWRPdmVybGF5KCl7IGlmKHBhdXNlZE92KSBwYXVzZWRPdi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTsgfQogIGZ1bmN0aW9uIGhpZGVQYXVzZWRPdmVybGF5KCl7IGlmKHBhdXNlZE92KSBwYXVzZWRPdi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTsgfQogIGZ1bmN0aW9uIHBhdXNlU3RyZWFtKCl7CiAgICBpZihpZGxlUGF1c2VkKSByZXR1cm47CiAgICBpZGxlUGF1c2VkID0gdHJ1ZTsKICAgIGlmKGlkbGVUaW1lcil7IGNsZWFyVGltZW91dChpZGxlVGltZXIpOyBpZGxlVGltZXIgPSBudWxsOyB9CiAgICBpZihyZXRyeVRpbWVyKXsgY2xlYXJUaW1lb3V0KHJldHJ5VGltZXIpOyByZXRyeVRpbWVyID0gbnVsbDsgfSAgIC8vIHN0b3AgYW55IHJlY29ubmVjdCBsb29wCiAgICBzdHJlYW1VcCA9IGZhbHNlOwogICAgdGVhcmRvd25QYygpOwogICAgaWYodmlkZW8peyB0cnl7IHZpZGVvLnBhdXNlKCk7IH1jYXRjaChlKXt9IHZpZGVvLnNyY09iamVjdCA9IG51bGw7IH0KICAgIGhpZGVPdmVybGF5KCk7ICAgICAgICAgICAgICAgICAvLyBjbGVhciBhbnkgY29ubmVjdGluZy9yZWNvbm5lY3Rpbmcgb3ZlcmxheSBmaXJzdAogICAgc2V0U3RhdGUoInBhdXNlZCIpOwogICAgc2hvd1BhdXNlZE92ZXJsYXkoKTsKICAgIHJlZnJlc2hUaWxlcygpOyAgICAgICAgICAgICAgICAvLyBkaXNhYmxlcyB0aGUgYWN0aW9uIGJ1dHRvbnMKICB9CiAgZnVuY3Rpb24gcmVzdW1lU3RyZWFtKCl7CiAgICBpZighaWRsZVBhdXNlZCkgcmV0dXJuOwogICAgaWRsZVBhdXNlZCA9IGZhbHNlOwogICAgaGlkZVBhdXNlZE92ZXJsYXkoKTsKICAgIHJlZnJlc2hUaWxlcygpOwogICAgc3RhcnRXaGVwKGZhbHNlKTsgICAgICAgICAgICAgIC8vIHJlY29ubmVjdCAoc2hvd3MgIkNvbm5lY3RpbmcuLi4iIHVudGlsIGxpdmUpCiAgICByZXNldElkbGUoKTsKICB9CiAgZnVuY3Rpb24gcmVzZXRJZGxlKCl7CiAgICBpZihpZGxlUGF1c2VkKSByZXR1cm47ICAgICAgICAgLy8gc3RheXMgcGF1c2VkIHVudGlsIHRoZSB1c2VyIHRhcHMgdG8gcmVzdW1lCiAgICBpZihpZGxlVGltZXIpIGNsZWFyVGltZW91dChpZGxlVGltZXIpOwogICAgaWRsZVRpbWVyID0gc2V0VGltZW91dChwYXVzZVN0cmVhbSwgSURMRV9NUyk7CiAgfQogIGlmKHBhdXNlZE92KXsKICAgIHBhdXNlZE92LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgcmVzdW1lU3RyZWFtKTsKICAgIHBhdXNlZE92LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBmdW5jdGlvbihlKXsKICAgICAgaWYoZS5rZXkgPT09ICJFbnRlciIgfHwgZS5rZXkgPT09ICIgIiB8fCBlLmtleSA9PT0gIlNwYWNlYmFyIil7IGUucHJldmVudERlZmF1bHQoKTsgcmVzdW1lU3RyZWFtKCk7IH0KICAgIH0pOwogIH0KICBbInBvaW50ZXJkb3duIiwia2V5ZG93biIsInRvdWNoc3RhcnQiLCJ3aGVlbCJdLmZvckVhY2goZnVuY3Rpb24oZXYpewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldiwgcmVzZXRJZGxlLCB7IHBhc3NpdmU6dHJ1ZSB9KTsKICB9KTsKCiAgcmVmcmVzaFRpbGVzKCk7CgogIC8vIExBTkRJTkctUEFHRSBPTkxZIChub3QgaW4gdGhlIC9kZW1vIHNvdXJjZSk6IHRoZSBkZW1vIHNpdHMgYmVsb3cgdGhlIGZvbGQsIHNvCiAgLy8gZGVmZXIgQUxMIGJhY2tlbmQgY2FsbHMgKHN0YXR1cyBwb2xsLCBTaWduYWxSIGh1YiwgV2ViUlRDIHN0cmVhbSkgdW50aWwgdGhlCiAgLy8gc2VjdGlvbiBpcyBuZWFyIHRoZSB2aWV3cG9ydC4gQW55b25lIHdobyBuZXZlciBzY3JvbGxzIGhlcmUgcGF5cyB6ZXJvIG5ldHdvcmsgLwogIC8vIHNvY2tldCAvIHZpZGVvLWRlY29kZSBjb3N0LgogIGZ1bmN0aW9uIGJvb3RQbGF5ZXIoKXsKICAgIGlmICh3aW5kb3cuX19yYW1hY19ib290ZWQpIHJldHVybjsKICAgIHdpbmRvdy5fX3JhbWFjX2Jvb3RlZCA9IHRydWU7CiAgICBpbml0U3RhdHVzKCk7CiAgICBjb25uZWN0SHViKCk7CiAgICBzdGFydFdoZXAoZmFsc2UpOwogICAgcmVzZXRJZGxlKCk7CiAgfQogIHZhciBkZW1vU2VjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1oLWRlbW8iKTsKICBpZiAoZGVtb1NlYyAmJiAiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiIGluIHdpbmRvdykgewogICAgdmFyIGJpbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlbnRzKXsKICAgICAgaWYgKGVudHMuc29tZShmdW5jdGlvbihlKXsgcmV0dXJuIGUuaXNJbnRlcnNlY3Rpbmc7IH0pKSB7IGJpby5kaXNjb25uZWN0KCk7IGJvb3RQbGF5ZXIoKTsgfQogICAgfSwgeyByb290TWFyZ2luOiAiMjAwcHggMHB4IiB9KTsKICAgIGJpby5vYnNlcnZlKGRlbW9TZWMpOwogIH0gZWxzZSB7CiAgICBib290UGxheWVyKCk7CiAgfQoKfSkoKTsK\"),function(c){return c.charCodeAt(0)})))<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Mac VPS server, on a real&nbsp;Mac. macOS on a whole Mac mini M4, yours&nbsp;alone. Full root, 99.9% uptime, and no oversold VPS slice, from $3.30 a&nbsp;day. Get your Mac M4 Whole machine A physical Mac mini M4 you never share. No sliced cores, nothing&nbsp;virtual. 1&nbsp;Gbps Gigabit uplink A full gigabit line into your Mac, not [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2925","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages\/2925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/comments?post=2925"}],"version-history":[{"count":14,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages\/2925\/revisions"}],"predecessor-version":[{"id":5240,"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/pages\/2925\/revisions\/5240"}],"wp:attachment":[{"href":"https:\/\/rentamac.io\/ar\/wp-json\/wp\/v2\/media?parent=2925"}],"curies":[{"name":"\u062f\u0628\u0644\u064a\u0648 \u0628\u064a","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}