body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(90deg,#f0f2f5,#e0f7fa);color:#212121;padding:0;scroll-behavior:smooth}code{background-color:#f1f1f1;border-radius:6px;color:#e65100;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.95em;padding:2px 8px}a{color:#1976d2;text-decoration:none;transition:color .3s ease}a:hover{color:#0d47a1;text-decoration:underline}h2{color:#333;font-weight:600;margin-top:30px}audio,img,video{border-radius:10px;box-shadow:0 4px 8px #0000001a;height:auto;margin-top:12px;max-width:100%;transition:transform .3s ease}audio:hover,img:hover,video:hover{transform:scale(1.01)}body{background:linear-gradient(90deg,#e0f7fa,#fce4ec);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0}.App{min-height:100vh;overflow:hidden;position:relative;text-align:center}.App,.App-header{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.App-header{background:#0000;color:#0fc;max-width:1000px;width:100%}h1{color:#f7e122;font-size:2.8rem;margin-bottom:10px}.MuiTypography-root,.content-history h2,.content-result h2,.node-modal li,.zoom-level,h2,label{color:#0fc!important}p{color:#0fc;font-size:1.2rem;margin-bottom:30px}.MuiInputLabel-root{color:#0fc!important;text-shadow:0 0 4px #0fc}.MuiOutlinedInput-root{border-radius:8px;color:#0fc}.MuiOutlinedInput-notchedOutline,.MuiOutlinedInput-root,.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#0fc!important}.MuiOutlinedInput-input{color:#0fc!important}.MuiButton-contained{background-color:#0fc!important;border-radius:8px;color:#000!important;font-weight:700;transition:background-color .3s ease}.MuiButton-contained:hover{background-color:#ff1744!important;color:#fff!important}.MuiInputBase-input{text-align:center}.content-request{align-items:center;display:flex;flex-direction:column;margin-bottom:30px;max-width:600px;width:100%}input{border:1px solid #ccc;border-radius:8px;margin-bottom:10px;max-width:300px;padding:12px;width:100%}button,input{font-size:16px}button{border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:10px;padding:12px 24px;transition:background-color .3s ease}button,button:hover{background-color:#f7e122}.content-result{word-wrap:break-word;align-items:center;background:none;border:none;box-shadow:none;color:#0fc;display:flex;flex-direction:column;justify-content:center;margin-top:20px;max-width:800px;padding:0;width:100%}.content-result audio,.content-result iframe,.content-result img,.content-result video{border-radius:10px;box-shadow:0 0 8px #0004ee26;margin-top:15px;max-width:100%}iframe{border:none;height:500px;width:100%}.content-history{align-items:center;background:none;display:flex;flex-direction:column;margin-top:50px;max-width:800px;width:100%}.MuiCard-root{background:#0000!important;border:none!important;border-radius:10px;box-shadow:none!important;color:#0fc!important}.MuiCardContent-root{padding:15px}.MuiTypography-root{font-size:1.1rem}.MuiCircularProgress-root{color:#ffca28}.starfield{background:#000;height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:-1}.star{animation:moveStar linear infinite;border-radius:50%;height:2px;opacity:.85;position:absolute;width:2px}.star.white{background:#fff}.star.red{background:red}.star.blue{background:#00bfff}.star.purple{background:#b388ff}.star.yellow{background:#ff6}@keyframes moveStar{0%{opacity:.8;transform:translateY(0)}to{opacity:0;transform:translateY(100vh)}}.App-footer{background:#0000;color:#fff;display:flex;justify-content:center;margin-top:40px;padding:20px;text-align:center}.footer-container{max-width:1000px;padding:0 20px;width:100%}.footer-author{color:#fff;font-size:.95rem;font-weight:700;margin-top:8px}.scroll-container{margin-top:8px;overflow:hidden;white-space:nowrap;width:100%}.scrolling-tech-wrapper{animation:scroll-left-right 30s linear infinite;display:inline-block;font-weight:700;padding-left:100%}.tech-item{display:inline-block;font-size:1rem;margin:0 10px}.react{color:#1eff00}.node{color:#e5ff00}.docker{color:#ff1744}.kubernetes{color:#1eff00}.aws{color:#f90}.nginx{color:#1eff00}.redis{color:#f0d}.git,.json{color:#1eff00}.prometheus{color:#e6522c}.grafana{color:#fffb00}.splunk{color:#1eff00}.bgp{color:#ff1744}.ssl{color:#55e900}.linux{color:#1eff00}.certbot{color:#ff1744}.dynatrace{color:#fffb00}.python{color:#1eff00}.sql{color:#ff1744}.mongodb{color:#fffb00}.newrelic{color:#f90}.tcpips{color:#1eff00}.cicd,.unix{color:#ff1744}.terraform{color:#e6522c}.ansible{color:#fffb00}.agile{color:#1eff00}.cdn{color:#f0d}.dns{color:#ff1744}.http{color:#fffb00}.tls{color:#ff00d4}.confluence{color:#fffb00}.jira{color:#1eff00}.javascript{color:#f700ff}.geneos{color:#ff1744}.odin{color:#fffb00}.wolverine{color:#f90}.autosys{color:#1eff00}.jwt{color:#ff1744}.oauth{color:#fffb00}.heart{color:#ff1744}.skills{color:#fff}@keyframes scroll-left-right{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes bounceRocket{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce-rocket{animation:bounceRocket 1.5s ease-in-out infinite;display:inline-block}.social-links{display:flex;gap:15px;justify-content:center;margin-bottom:8px}.social-icon{fill:#00ff0d;height:28px;transition:fill .3s ease;width:28px}.social-icon:hover{fill:#ff1744}.github-icon:hover,.linkedin-icon:hover,.resume-icon:hover{fill:#f7e122!important}.latency-chart-container{background-color:#fff;border-radius:10px;box-shadow:0 0 12px #00000040;color:#000;margin-top:40px;max-width:800px;padding:20px;width:100%}.latency-chart-container h2{color:#0d47a1;font-size:1.5rem;margin-bottom:20px}.cdn-map-container{background:#111;border-radius:10px;box-shadow:0 0 10px #00000026;margin-top:50px;max-width:800px;padding:20px;width:100%}.cdn-map-wrapper{background:#0000;border-radius:0;box-shadow:none;margin:60px -40px -40px;overflow:hidden;padding:0;width:calc(100% + 80px)}.cdn-map-wrapper h2{color:#0fc;font-size:1.6rem;margin-bottom:20px}.cdn-map-wrapper svg{display:block;height:auto;margin:0 auto;max-width:80%;min-height:500px}.pulse-circle{stroke:#fff;stroke-width:1;animation:pulse 1.5s infinite;transform-origin:center}.pulse-circle.active-node{fill:#0f0;animation:pulse-green 1.5s infinite;filter:drop-shadow(0 0 4px #00ff00)}.pulse-circle.inactive-node{fill:red;animation:pulse-red 1.5s infinite;filter:drop-shadow(0 0 4px #ff0000)}@keyframes pulse-green{0%{r:6;opacity:1}50%{r:10;opacity:.4}to{r:6;opacity:1}}.node-marker{cursor:pointer;transition:transform .2s ease}.node-marker:hover{filter:drop-shadow(0 0 6px #00ff00);transform:scale(1.4)}.map-controls{display:flex;gap:10px;justify-content:center;margin-bottom:15px}.map-controls button{background-color:#0fc;border:none;border-radius:6px;color:#000;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s ease}.map-controls button:hover{background-color:#00e6b3}.cdn-legend{color:#fff;display:flex;font-size:14px;gap:30px;justify-content:center;margin-bottom:20px}.cdn-map-wrapper .cdn-legend{color:#0fc}.legend-dot{border-radius:50%;display:inline-block;height:12px;margin-right:6px;vertical-align:middle;width:12px}.legend-dot.active{background-color:#0f0;box-shadow:0 0 6px #0f0}.legend-dot.inactive{background-color:red;box-shadow:0 0 6px red}.legend-dot.isp{background-color:#4287f5;box-shadow:0 0 6px #4287f5}.traffic-line{stroke:#f7e122;stroke-width:1.5;stroke-dasharray:5;animation:dashmove 1s linear infinite;opacity:.7}@keyframes dashmove{to{stroke-dashoffset:-10}}.traffic-line{stroke:#8884ff;stroke-dasharray:4 4;animation:dashFlow 1.5s linear infinite}@keyframes dashFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:20}}.isp-marker{transition:transform .2s ease}.isp-marker:hover{cursor:pointer;filter:drop-shadow(0 0 6px #80bfff);transform:scale(1.3)}.continent-label{fill:#fe0;font-size:14px;font-weight:700;opacity:.6;pointer-events:none}.node-filter{display:flex;gap:12px;justify-content:center;margin:15px 0}.filter-btn{background:#444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s ease}.filter-btn:hover{background-color:#666}.filter-btn.active-node.active{background:#0f0;color:#000}.filter-btn.inactive-node.active{background:red;color:#fff}.filter-btn.all.active{background:#0fc;color:#000}.zoom-level{align-self:center;color:#0fc;font-size:14px;margin:0 10px}.node-modal-overlay{align-items:center;background:#000000bf;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.node-modal{background:#111;border-radius:12px;box-shadow:0 0 20px #0fc;color:#0fc;max-width:90%;padding:25px;text-align:left;width:300px}.node-modal h3{color:#f7e122;font-size:1.4rem;margin-bottom:10px;margin-top:0}.node-modal ul{list-style:none;padding:0}.node-modal li{font-size:.95rem;margin:4px 0}.node-modal button{background:#f7e122;border:none;border-radius:6px;color:#111;cursor:pointer;font-weight:700;margin-top:20px;padding:10px 20px;width:100%}.node-modal button:hover{background:#fe0}.pulse-circle.high-load{fill:red;animation:pulse-red 1.5s infinite;filter:drop-shadow(0 0 4px #ff0000)}.mini-graph{margin-top:10px}@media (max-width:768px){.cdn-map-wrapper{margin:0 auto;overflow-x:hidden;padding:10px;width:100%}.cdn-map-wrapper h2{font-size:1.2rem;margin-bottom:12px;text-align:center}.map-controls{align-items:center;flex-direction:column;gap:8px;margin-bottom:12px}.map-controls button{font-size:14px;width:80%}.zoom-level{font-size:13px}.node-filter{flex-direction:row;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:15px}.cdn-legend,.continent-loads{align-items:center;flex-direction:column;font-size:13px;gap:6px;text-align:center}}.cdn-caption{color:#0fc;font-size:1rem;line-height:1.5;margin:0 auto 20px;max-width:800px;padding:0 15px;text-align:center;text-shadow:0 0 8px #0fc}.continent-yellow{color:#fe0}.teal-load{color:#0fc}.highlight-red{color:#ff1744;font-weight:700;text-shadow:0 0 6px #ff1744}.edge-server-icon{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .2s ease,filter .2s ease}.edge-server-icon:hover{cursor:pointer;filter:drop-shadow(0 0 6px #b388ff)}.edge-server-icon.pulse{animation:edgePulse 1.5s infinite;filter:drop-shadow(0 0 5px #fff);transform-origin:center}@keyframes edgePulse{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.MuiButton-outlined{border:none;border-radius:8px;color:#fff;font-weight:700}.MuiButton-outlined:first-of-type{background-color:#ff1744}.MuiButton-outlined:nth-of-type(2){background-color:#0fc}.MuiButton-outlined:hover:first-of-type{background-color:#ff002e}.MuiButton-outlined:hover:nth-of-type(2){background-color:#00e6b3}.user-marker{animation:pulseUser 1.5s ease-in-out infinite;transform-origin:center}@keyframes pulseUser{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.legend-dot.edge{background-color:#a45ee5;border-radius:3px}.legend-dot.edge,.legend-dot.user{display:inline-block;height:10px;margin-right:6px;width:10px}.legend-dot.user{background-color:#f7e122;border-radius:50%}.export-button{background-color:#444;border:1px solid #888;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:700;margin-left:8px;padding:1px 5px}.bounce-up{animation:bounceUp .5s ease}.bounce-down{animation:bounceDown .5s ease}@keyframes bounceUp{0%{transform:scaleY(1)}50%{transform:scaleY(1.3)}to{transform:scaleY(1)}}@keyframes bounceDown{0%{transform:scaleY(1)}50%{transform:scaleY(.8)}to{transform:scaleY(1)}}.chart-wrapper{transition:transform .5s ease}.pulse{animation:pulseEffect 1.5s infinite}@keyframes pulseEffect{0%{filter:drop-shadow(0 0 4px red);transform:scale(1)}50%{filter:drop-shadow(0 0 12px red);transform:scale(1.2)}to{filter:drop-shadow(0 0 4px red);transform:scale(1)}}.cdn-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 auto;max-width:900px}.cdn-logo-bubble{align-items:center;animation:floatIn 1.2s ease forwards;background:#111;border:1px solid #0fc;border-radius:12px;display:flex;flex-direction:column;height:130px;opacity:0;padding:16px;width:140px}.cdn-logo-img{fill:#0fc;transition:transform .2s ease}.cdn-logo-name{font-size:.85rem;text-align:center}.cdn-logo-img{background:#fff;border-radius:6px;filter:drop-shadow(0 0 3px #00ffcc);margin-bottom:10px;max-height:40px;padding:4px}.cdn-grid a{text-decoration:none;transition:transform .2s ease}.cdn-grid a:hover{filter:drop-shadow(0 0 6px #00ffcc);transform:scale(1.05)}.cdn-rotating-wrapper{margin-top:-40px;perspective:1200px}.cdn-rotating-box{animation:rotateHalfBox 1.5s ease-in-out infinite alternate-reverse;background:#000;border:2px solid #0fc;border-radius:20px;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:0 auto;max-width:900px;padding:30px;transform-style:preserve-3d}@keyframes rotateHalfBox{0%{transform:rotateY(0deg)}to{transform:rotateY(90deg)}}.cdn-rotating-box:hover{animation-play-state:paused}.cdn-rotating-wrapper{margin-top:40px;perspective:1000px;text-align:center}.rotating-title{color:#0fc;font-size:1.2rem;margin-bottom:20px}.cdn-3d-box{animation:rotateHalfBox 8s ease-in-out infinite alternate;margin:0 auto;max-width:900px;min-height:300px;position:relative;transform-style:preserve-3d;width:100%}.cdn-3d-box:hover{animation-play-state:paused}@keyframes rotateHalf{0%{transform:rotateY(0deg)}to{transform:rotateY(180deg)}}.cdn-3d-face{backface-visibility:hidden;box-sizing:border-box;padding:20px;position:absolute;width:100%}.cdn-3d-face.front{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;transform:rotateY(0deg)}.cdn-3d-face.back{transform:rotateY(180deg)}.cdn-logo-container{align-items:center;background:#000;border:1px solid #0fc;border-radius:10px;box-shadow:0 0 5px #00ffcc55;display:flex;flex-direction:column;height:100px;justify-content:center;padding:10px;text-align:center;transition:transform .2s ease;width:100px}.cdn-logo-container:hover{box-shadow:0 0 10px #0fc;transform:scale(1.1)}.cdn-logo-img{filter:drop-shadow(0 0 2px #00ffcc);height:38px;margin-bottom:6px;width:auto}.cdn-logo-name{color:#0fc;font-size:.8rem;font-weight:700}.cdn-comparison-table{color:#0fc;text-align:center;width:100%}.cdn-comparison-table h4{color:#fe0;font-size:1.3rem;margin-bottom:15px}.cdn-comparison-table table{background-color:#111;border-collapse:collapse;box-shadow:0 0 8px #00ffcc55;margin:0 auto;max-width:600px;width:100%}.cdn-comparison-table td,.cdn-comparison-table th{border:1px solid #0fc;font-size:.95rem;padding:10px}.cdn-comparison-table th{background-color:#222;color:#fe0;font-weight:700}.cdn-comparison-table td{color:#0fc}.cube-footer-container{box-sizing:border-box;margin-top:40px;padding:20px 0}.cubespinner{animation-duration:12s;animation-iteration-count:infinite;animation-name:spincube;animation-timing-function:ease-in-out;background:#ffffff1a;border:1px solid #ccc;box-shadow:0 0 30px #dd0031;box-shadow:0 0 30px #ff560e;box-shadow:0 0 30px #000dfb;box-shadow:0 0 30px #14ccff;box-shadow:0 0 30px #ffe205;box-shadow:0 0 30px #ff2f00;color:#dd0031;color:#ff560e;color:#000dfb;color:#14ccff;color:#ffe205;color:#ff2f00;font-size:100px;height:180px;height:200px;margin:0 auto;margin-left:calc(50% - 100px);position:absolute;text-align:center;transform:translateZ(100px);transform:rotateY(90deg) translateZ(100px);transform:rotateY(90deg) rotateX(90deg) translateZ(100px);transform:rotateY(180deg) rotate(90deg) translateZ(100px);transform:rotateY(-90deg) rotate(90deg) translateZ(100px);transform:rotateX(-90deg) translateZ(100px);transform-origin:90px 90px 0;width:180px;width:200px}.cube-footer-container,.cubespinner{align-items:center;display:flex;justify-content:center}.cube-footer-container{height:250px;margin-top:30px;position:relative;width:100%}.cubespinner{animation:spincube 12s ease-in-out infinite;height:200px;position:relative;transform-origin:100px 100px 0;transform-style:preserve-3d;width:200px}.cubespinner div{align-items:center;background:#ffffff0d;border:1px solid #0fc3;border-radius:10px;box-shadow:0 0 30px #00ffcc55;display:flex;height:200px;justify-content:center;position:absolute;width:200px}.cubespinner .face1{box-shadow:0 0 30px #dd0031;color:#dd0031;transform:translateZ(100px)}.cubespinner .face2{box-shadow:0 0 30px #ff560e;color:#ff560e;transform:rotateY(90deg) translateZ(100px)}.cubespinner .face3{box-shadow:0 0 30px #000dfb;color:#000dfb;transform:rotateY(90deg) rotateX(90deg) translateZ(100px)}.cubespinner .face4{box-shadow:0 0 30px #14ccff;color:#14ccff;transform:rotateY(180deg) rotate(90deg) translateZ(100px)}.cubespinner .face5{box-shadow:0 0 30px #ffe205;color:#ffe205;transform:rotateY(-90deg) rotate(90deg) translateZ(100px)}.cubespinner .face6{box-shadow:0 0 30px #ff2f00;color:#ff2f00;transform:rotateX(-90deg) translateZ(100px)}@keyframes spincube{0%,to{transform:rotateX(1turn) rotateY(2turn) rotate(0deg)}16%{transform:rotateY(-90deg)}33%{transform:rotateY(-90deg) rotate(90deg)}50%{transform:rotateY(-180deg) rotate(90deg)}66%{transform:rotateY(-270deg) rotateX(90deg)}83%{transform:rotateX(90deg)}}@media (max-width:768px){.cubespinner{height:140px;transform-origin:70px 70px 0;width:140px}.latency-chart-container{padding:15px}}.cube-icon{height:100%;object-fit:contain;padding:20px;width:100%;.face1 img{filter:drop-shadow(0 0 6px #00bfff)}.face2 img{filter:drop-shadow(0 0 6px #f38020)}.face3 img{filter:drop-shadow(0 0 6px #e41f26)}.face4 img{filter:drop-shadow(0 0 6px #232f3e)}.face5 img{filter:drop-shadow(0 0 6px #00bfff)}.face6 img{filter:drop-shadow(0 0 6px #007fff)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}.edge-icon.high-load{animation:pulse-red 1s infinite}@keyframes pulse-red{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.rotating-city{animation:fadeCity 4s ease-in-out infinite;opacity:0}@keyframes fadeCity{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.ixp-marker circle{animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%{r:6;opacity:.8}50%{r:8;opacity:1}to{r:6;opacity:.8}}.ixp-overloaded circle{animation:red-pulse 1.2s infinite}@keyframes red-pulse{0%{r:6;fill:#ff1744;opacity:.8}50%{r:8;fill:#ff5252;opacity:1}to{r:6;fill:#ff1744;opacity:.8}}.ixp-down text{animation:blink 1s infinite}@keyframes blink{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.traffic-line{stroke:#ff0;stroke-width:1;stroke-dasharray:3,3;animation:path-pulse 4s linear infinite;opacity:.5}@keyframes path-pulse{0%{stroke-dashoffset:0}to{stroke-dashoffset:100}}.reroute-glow{stroke:#ff4081!important;stroke-width:1.5!important;filter:drop-shadow(0 0 4px red)}.event-log{animation:floatIn 1.2s ease forwards;background:#000;border:2px solid #0fc;border-radius:20px;box-shadow:0 0 10px #00ffcc55;color:#e0f7fa;font-family:Courier New,Courier,monospace;height:auto;margin:40px auto;max-width:1500px;overflow:hidden;padding:25px}.event-log h4{border-bottom:1px solid #ffffff1a;color:#fe0;font-size:1.3rem;margin-bottom:16px;padding-bottom:8px;text-align:left}.event-log ul{height:400px;list-style:none;margin:0;overflow-y:auto;padding:0 10px 0 0}.event-log li{border-bottom:1px dashed #0fc;color:#fff;display:flex;font-size:.95rem;gap:10px;padding:8px 0}.log-time{color:#00ffe1;font-weight:700;min-width:140px}.log-message{color:#fff;line-height:1.4}.event-log li:before{animation:glow 2s infinite;color:#00e5ff;content:"🔁";margin-right:8px}.event-log li:hover{background-color:#00ffff0d;border-left:3px solid #00e5ff;font-weight:500;padding-left:23px}@keyframes glow{0%{text-shadow:0 0 4px #00e5ff,0 0 8px #00e5ff}50%{text-shadow:0 0 6px #0ff,0 0 12px #00e5ff}to{text-shadow:0 0 4px #00e5ff,0 0 8px #00e5ff}}@keyframes floatIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.origin-log{@extend .event-log}.origin-log li:before{color:#fe0;content:"🖥️"}.threat-log{@extend .event-log}.threat-log li:before{color:#ff1744;content:"🛡️"}.cache-log{@extend .event-log}.cache-log li:before{color:#0fc;content:"📦"}.ixp-log{@extend .event-log}.ixp-log li:before{color:#1e90ff;content:"🌐"}.origin-load-log h4{color:#fe0}.origin-load-log li:before{animation:glow 2s infinite;color:#00e5ff;content:"🖥️";margin-right:8px}.latency-log h4{color:#fe0}.latency-log li:before{animation:glow 2s infinite;color:#00e5ff;content:"📶";margin-right:8px}.alert-log h4{color:#fe0}.alert-log li:before{animation:glow 2s infinite;color:#ffca28;content:"🔔";margin-right:8px}
/*# sourceMappingURL=main.58597f55.css.map*/