Beautiful Shadows
Meng ToCommunityCreated by Meng To
- Skill
- Tool integration
- Software development
- MIT
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Beautiful Shadows provides a set of specific Tailwind CSS arbitrary shadow utilities designed to create refined, neutral depth for UI elements. By moving beyond default shadow scales, these utilities allow developers to apply consistent, layered elevation to components like cards, popovers, and hero media without introducing colored tints.
What it does
- Provides specific Tailwind arbitrary shadow classes for three levels of elevation: sm, md, and lg.
- Offers a neutral aesthetic for UI surfaces to avoid generic or blunt shadow appearances.
- Defines clear use cases for applying different shadow strengths based on component type.
- Establishes rules for maintaining consistent visual depth across a design system.
When to use it
- When default Tailwind shadow scales do not meet the desired visual requirements.
- When designing compact UI elements like form controls, pills, or small cards.
- When creating elevated surfaces such as panels, popovers, or modal-like containers.
- When applying depth to hero media or feature callouts.
Advantages
- Ensures a consistent, neutral look for layered UI components.
- Provides ready-to-use arbitrary shadow strings for immediate implementation.
- Helps maintain visual hierarchy through distinct elevation levels.
- Prevents common design issues like mixing incompatible shadow styles.
Usage examples
- “Apply a subtle shadow to a compact form control.”
- The agent provides the shadow-[0px_2px_3px_-1px_rgba(0,0,0,0.1),0px_1px_0px_0px_rgba(25,28,33,0.02),0px_0px_0px_1px_rgba(25,28,33,0.08)] utility class.
- “What shadow should I use for a modal container?”
- The agent recommends the Beautiful lg shadow utility for the strongest lift required by modal-like containers.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/mengto/beautiful-shadows/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip beautiful-shadows.zip -d .agents/skills
Documentation by Meng To
Beautiful Shadows
Use When
A surface needs polished, layered elevation.
Default Tailwind shadows feel too generic or blunt.
The design needs neutral, refined depth without colored glow.
Shadow Utilities
Use these exact Tailwind classes.
Beautiful sm
Use for compact cards, form controls, pills, and quieter surfaces.
shadow-[0px_2px_3px_-1px_rgba(0,0,0,0.1),0px_1px_0px_0px_rgba(25,28,33,0.02),0px_0px_0px_1px_rgba(25,28,33,0.08)]Beautiful md
Use for cards, panels, popovers, and the default elevated surface style.
shadow-[0px_0px_0px_1px_rgba(0,0,0,0.06),0px_1px_1px_-0.5px_rgba(0,0,0,0.06),0px_3px_3px_-1.5px_rgba(0,0,0,0.06),_0px_6px_6px_-3px_rgba(0,0,0,0.06),0px_12px_12px_-6px_rgba(0,0,0,0.06),0px_24px_24px_-12px_rgba(0,0,0,0.06)]Beautiful lg
Use for hero media, feature callouts, modal-like containers, and the strongest lift.
shadow-[0_2.8px_2.2px_rgba(0,_0,_0,_0.034),_0_6.7px_5.3px_rgba(0,_0,_0,_0.048),_0_12.5px_10px_rgba(0,_0,_0,_0.06),_0_22.3px_17.9px_rgba(0,_0,_0,_0.072),_0_41.8px_33.4px_rgba(0,_0,_0,_0.086),_0_100px_80px_rgba(0,_0,_0,_0.12)]Examples
<div class="rounded-xl bg-white shadow-[0px_0px_0px_1px_rgba(0,0,0,0.06),0px_1px_1px_-0.5px_rgba(0,0,0,0.06),0px_3px_3px_-1.5px_rgba(0,0,0,0.06),_0px_6px_6px_-3px_rgba(0,0,0,0.06),0px_12px_12px_-6px_rgba(0,0,0,0.06),0px_24px_24px_-12px_rgba(0,0,0,0.06)]">
...
</div>Usage Rules
Use
Beautiful smfor compact cards, form controls, pills, and quieter surfaces.Use
Beautiful mdfor cards, panels, popovers, and the default elevated surface style.Use
Beautiful lgfor hero media, feature callouts, modal-like containers, and the strongest lift.Pair with a clean surface fill and a consistent radius.
Use one shadow strength per component state unless an interaction clearly changes elevation.
Avoid
Mixing these with default Tailwind shadow scales on the same component.
Tinting these shadows with strong colors; keep them neutral and refined.
Applying
Beautiful lgto dense lists or tiny controls.Stacking multiple shadow utilities on one element.
Using these as a substitute for clear borders in very low-contrast layouts.
Files
- ATTRIBUTION.mdAdded by AutoGineer856 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md2.5 KiB
- demo/PROMPT.md3.4 KiB
- demo/assets/source-preview.jpg93.8 KiB
- demo/index.html26.7 KiB
- demo/preview.jpg54.9 KiB
- demo/source.json3.0 KiB
demo/index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="neuform-sandboxed-demo" content="1">
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; connect-src 'self'; frame-src 'self'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; base-uri 'none'; form-action 'none'; object-src 'none'">
<title>Sandboxed Neuform demo</title>
<style>
html, body, iframe { width: 100%; height: 100%; margin: 0; border: 0; }
body { overflow: hidden; background: #0b0b0b; }
iframe { display: block; background: white; }
.error { box-sizing: border-box; min-height: 100%; padding: 32px; color: #fff; font: 16px/1.5 system-ui, sans-serif; }
</style>
</head>
<body>
<iframe id="neuform-demo" title="Sandboxed Neuform design demo" sandbox="allow-scripts" referrerpolicy="no-referrer"></iframe>
<script>
const encodedHtml = "PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJkZWZhdWx0LXNyYyAnbm9uZSc7IGJhc2UtdXJpICdub25lJzsgY29ubmVjdC1zcmMgJ25vbmUnOyBmb250LXNyYyBkYXRhOiBodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tOyBmb3JtLWFjdGlvbiAnbm9uZSc7IGZyYW1lLXNyYyAnbm9uZSc7IGltZy1zcmMgYmxvYjo7IG1lZGlhLXNyYyBibG9iOjsgbmF2aWdhdGUtdG8gJ25vbmUnOyBvYmplY3Qtc3JjICdub25lJzsgc2NyaXB0LXNyYyAndW5zYWZlLWlubGluZScgX19ORVVGT1JNX1JVTlRJTUVfU09VUkNFU19fOyBzdHlsZS1zcmMgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20gaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbTsgd29ya2VyLXNyYyAnbm9uZSciPgo8c2NyaXB0IGRhdGEtbmV1Zm9ybS1hc3NldC1ib290c3RyYXA+CigoKSA9PiB7CiAgbGV0IHJlY2VpdmVkID0gZmFsc2U7CiAgY29uc3Qgb2JqZWN0VXJscyA9IFtdOwogIGNvbnN0IHJlcGxhY2VBbGwgPSAodmFsdWUsIHJlcGxhY2VtZW50cykgPT4gewogICAgbGV0IG5leHQgPSBTdHJpbmcodmFsdWUgfHwgIiIpOwogICAgZm9yIChjb25zdCBbZmlsZSwgb2JqZWN0VXJsXSBvZiByZXBsYWNlbWVudHMpIG5leHQgPSBuZXh0LnNwbGl0KGZpbGUpLmpvaW4ob2JqZWN0VXJsKTsKICAgIHJldHVybiBuZXh0OwogIH07CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCAoZXZlbnQpID0+IHsKICAgIGlmIChyZWNlaXZlZCB8fCBldmVudC5zb3VyY2UgIT09IHBhcmVudCB8fCBldmVudC5kYXRhPy50eXBlICE9PSAibmV1Zm9ybS1hc3NldHMtdjEiKSByZXR1cm47CiAgICByZWNlaXZlZCA9IHRydWU7CiAgICBjb25zdCByZXBsYWNlbWVudHMgPSBbXTsKICAgIGZvciAoY29uc3QgYXNzZXQgb2YgZXZlbnQuZGF0YS5hc3NldHMgfHwgW10pIHsKICAgICAgaWYgKCFhc3NldCB8fCB0eXBlb2YgYXNzZXQuZmlsZSAhPT0gInN0cmluZyIgfHwgdHlwZW9mIGFzc2V0LmJhc2U2NCAhPT0gInN0cmluZyIpIGNvbnRpbnVlOwogICAgICBjb25zdCBiaW5hcnkgPSBhdG9iKGFzc2V0LmJhc2U2NCk7CiAgICAgIGNvbnN0IGJ5dGVzID0gVWludDhBcnJheS5mcm9tKGJpbmFyeSwgKGNoYXJhY3RlcikgPT4gY2hhcmFjdGVyLmNoYXJDb2RlQXQoMCkpOwogICAgICBjb25zdCBvYmplY3RVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtieXRlc10sIHsgdHlwZTogYXNzZXQuY29udGVudFR5cGUgfHwgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSkpOwogICAgICBvYmplY3RVcmxzLnB1c2gob2JqZWN0VXJsKTsKICAgICAgcmVwbGFjZW1lbnRzLnB1c2goW2Fzc2V0LmZpbGUsIG9iamVjdFVybF0pOwogICAgfQogICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSkgewogICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgWyJzcmMiLCAicG9zdGVyIiwgInNyY3NldCIsICJzdHlsZSJdKSB7CiAgICAgICAgY29uc3QgdmFsdWUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShuYW1lKTsKICAgICAgICBpZiAodmFsdWUpIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHJlcGxhY2VBbGwodmFsdWUsIHJlcGxhY2VtZW50cykpOwogICAgICB9CiAgICB9CiAgICBmb3IgKGNvbnN0IHN0eWxlIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIikpIHsKICAgICAgc3R5bGUudGV4dENvbnRlbnQgPSByZXBsYWNlQWxsKHN0eWxlLnRleHRDb250ZW50LCByZXBsYWNlbWVudHMpOwogICAgfQogIH0pOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsICgpID0+IHsKICAgIGZvciAoY29uc3Qgb2JqZWN0VXJsIG9mIG9iamVjdFVybHMpIFVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTsKICB9LCB7IG9uY2U6IHRydWUgfSk7Cn0pKCk7Cjwvc2NyaXB0PgoKPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPkF1cmFsaXMgLSBOZXVyYWwgQXVkaW8gRW5naW5lPC90aXRsZT4KICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9hc3NldHMvcnVudGltZS9ydW50aW1lLWNjYzg4OTRiMzQxOC1ydW50aW1lLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9hc3NldHMvcnVudGltZS9ydW50aW1lLTE2M2ViZDA4N2NmYy1pY29uaWZ5LWljb24tbWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9hc3NldHMvcnVudGltZS9ydW50aW1lLTI1MDIzYjUyMWQ3Ny10aHJlZS1taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Fzc2V0cy9ydW50aW1lL3J1bnRpbWUtMDI3MDUxZWZmYTQ3LWdzYXAtbWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9hc3NldHMvcnVudGltZS9ydW50aW1lLTY4OWNhOGRkYTQ0Yy1zY3JvbGx0cmlnZ2VyLW1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUdlaXN0OndnaHRAMzAwOzQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjwvaGVhZD4KPGJvZHkgY2xhc3M9ImFudGlhbGlhc2VkIHRleHQtZ3JheS05MDAgYmctd2hpdGUgb3ZlcmZsb3cteC1oaWRkZW4gbWluLWgtc2NyZWVuIGZsZXggZmxleC1jb2wgc2VsZWN0aW9uOmJnLW9yYW5nZS0xMDAgc2VsZWN0aW9uOnRleHQtb3JhbmdlLTkwMCIgc3R5bGU9ImZvbnQtZmFtaWx5OiAnR2Vpc3QnLCBzYW5zLXNlcmlmOyI+CgogICAgPCEtLSBCYWNrZ3JvdW5kIEVmZmVjdCBDb250YWluZXIgLS0+CiAgICA8ZGl2IGNsYXNzPSJmaXhlZCBpbnNldC15LTAgcmlnaHQtMCB3LVsxMjB2d10gbWQ6dy1bNzB2d10gdHJhbnNsYXRlLXgtWzEwJV0gbWQ6dHJhbnNsYXRlLXgtMCB6LTAgb3ZlcmZsb3ctaGlkZGVuIHBvaW50ZXItZXZlbnRzLW5vbmUiPgogICAgICAgIAogICAgICAgIDwhLS0gV2ViR0wgQW5pbWF0ZWQgR3JhZGllbnQgQ2FudmFzIC0tPgogICAgICAgIDxjYW52YXMgaWQ9IndlYmdsLWNhbnZhcyIgY2xhc3M9ImFic29sdXRlIGluc2V0LTAgdy1mdWxsIGgtZnVsbCI+PC9jYW52YXM+CgogICAgICAgIDwhLS0gR2xhc3MgU2xpY2VzIE92ZXJsYXkgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBmbGV4Ij4KICAgICAgICAgICAgPCEtLSBTbGljZSAxOiBTZWFtbGVzcyBibGVuZCB3aXRoIGJvZHkgYmFja2dyb3VuZCAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaC1mdWxsIGZsZXgtMSByZWxhdGl2ZSBib3JkZXItbCBib3JkZXItdHJhbnNwYXJlbnQiIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC44NSkgMTAwJSk7Ij48L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gU2xpY2UgMiAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaC1mdWxsIGZsZXgtMSByZWxhdGl2ZSBib3JkZXItbCBib3JkZXItd2hpdGUvNjAgc2hhZG93LVstMTVweF8wXzMwcHhfLTEwcHhfcmdiYSgyNTUsMjU1LDI1NSwxKV0iIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMC44NSksIHJnYmEoMjU1LDI1NSwyNTUsMC42NSkpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7Ij48L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gU2xpY2UgMyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaC1mdWxsIGZsZXgtMSByZWxhdGl2ZSBib3JkZXItbCBib3JkZXItd2hpdGUvNDAgc2hhZG93LVstMTVweF8wXzMwcHhfLTEwcHhfcmdiYSgyNTUsMjU1LDI1NSwwLjkpXSIgc3R5bGU9ImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsMjU1LDI1NSwwLjY1KSwgcmdiYSgyNTUsMjU1LDI1NSwwLjQpKTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpOyI+PC9kaXY+CgogICAgICAgICAgICA8IS0tIFNsaWNlIDQgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtZnVsbCBmbGV4LTEgcmVsYXRpdmUgYm9yZGVyLWwgYm9yZGVyLXdoaXRlLzIwIHNoYWRvdy1bLTE1cHhfMF8zMHB4Xy0xMHB4X3JnYmEoMjU1LDI1NSwyNTUsMC42KV0iIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMC40KSwgcmdiYSgyNTUsMjU1LDI1NSwwLjE1KSk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOyI+PC9kaXY+CgogICAgICAgICAgICA8IS0tIFNsaWNlIDUgKFJpZ2h0bW9zdCwgbW9zdCB0cmFuc3BhcmVudCkgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImgtZnVsbCBmbGV4LTEgcmVsYXRpdmUgYm9yZGVyLWwgYm9yZGVyLXdoaXRlLzEwIHNoYWRvdy1bLTE1cHhfMF8zMHB4Xy0xMHB4X3JnYmEoMjU1LDI1NSwyNTUsMC4zKV0iIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMC4xNSksIHJnYmEoMjU1LDI1NSwyNTUsMC4wMikpOyBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTsiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBNYWluIENvbnRlbnQgQ29udGFpbmVyIC0tPgogICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgei0xMCB3LWZ1bGwgbWF4LXctWzg4cmVtXSBteC1hdXRvIHB4LTYgc206cHgtOCBtZDpweC0xMiBsZzpweC0xNiBmbGV4IGZsZXgtY29sIG1pbi1oLXNjcmVlbiI+CiAgICAgICAgCiAgICAgICAgPCEtLSBIZWFkZXIgLS0+CiAgICAgICAgPGhlYWRlciBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB5LTggYW5pbS1lbGVtZW50IiBzdHlsZT0ib3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgdHJhbnNpdGlvbjogYWxsIDAuOHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1sZyBmb250LW5vcm1hbCB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIHVwcGVyY2FzZSI+CiAgICAgICAgICAgICAgICBBVVJBTElTPHNwYW4gY2xhc3M9InRleHQtWyNlYTU4MGNdIHRleHQteGwgbGVhZGluZy1ub25lIj7CsDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8bmF2IGNsYXNzPSJoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEwIHRleHQtc20gZm9udC1ub3JtYWwgdGV4dC1ncmF5LTYwMCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iaG92ZXI6dGV4dC1ncmF5LTkwMCB0cmFuc2l0aW9uLWNvbG9ycyI+UGxhdGZvcm08L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iaG92ZXI6dGV4dC1ncmF5LTkwMCB0cmFuc2l0aW9uLWNvbG9ycyI+U29sdXRpb25zPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImhvdmVyOnRleHQtZ3JheS05MDAgdHJhbnNpdGlvbi1jb2xvcnMiPkRldmVsb3BlcnM8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iaG92ZXI6dGV4dC1ncmF5LTkwMCB0cmFuc2l0aW9uLWNvbG9ycyI+Q29tcGFueTwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJob3Zlcjp0ZXh0LWdyYXktOTAwIHRyYW5zaXRpb24tY29sb3JzIj5Eb2NzPC9hPgogICAgICAgICAgICA8L25hdj4KCiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0idGV4dC1zbSBmb250LW5vcm1hbCB0ZXh0LWdyYXktNjAwIGhvdmVyOnRleHQtZ3JheS05MDAgdHJhbnNpdGlvbi1jb2xvcnMiPlNpZ24gaW48L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvaGVhZGVyPgoKICAgICAgICA8IS0tIEhlcm8gU2VjdGlvbiAtLT4KICAgICAgICA8bWFpbiBjbGFzcz0iZmxleC0xIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgbWF4LXctMnhsIHB0LTE2IHBiLTI0Ij4KICAgICAgICAgICAgCiAgICAgICAgICAgIDwhLS0gQmFkZ2UgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuaW0tZWxlbWVudCBtYi04IHctbWF4IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0zLjUgcHktMS41IHRleHQteHMgZm9udC1ub3JtYWwgdGV4dC1vcmFuZ2UtNjAwIHNoYWRvdy1bMHB4XzJweF8zcHhfLTFweF9yZ2JhKDAsMCwwLDAuMSksMHB4XzFweF8wcHhfMHB4X3JnYmEoMjUsMjgsMzMsMC4wMiksMHB4XzBweF8wcHhfMXB4X3JnYmEoMjUsMjgsMzMsMC4wOCldIGJhY2tkcm9wLWJsdXItbWQiIHN0eWxlPSJjbGlwLXBhdGg6IHBvbHlnb24oOHB4IDAsIDEwMCUgMCwgMTAwJSBjYWxjKDEwMCUgLSA4cHgpLCBjYWxjKDEwMCUgLSA4cHgpIDEwMCUsIDAgMTAwJSwgMCA4cHgpOyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDIzNywyMTMsMC42KSwgcmdiYSgyNTUsMjM3LDIxMywwLjYpKSBwYWRkaW5nLWJveCwgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZkYmE3NCwgI2ZkYTRhZikgYm9yZGVyLWJveDsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOyB0cmFuc2l0aW9uOiBhbGwgMC44cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTsiPgogICAgICAgICAgICAgICAgPGljb25pZnktaWNvbiBpY29uPSJzb2xhcjptaWNyb3Bob25lLTMtbGluZWFyIiBjbGFzcz0idGV4dC1iYXNlIiBzdHJva2Utd2lkdGg9IjEuNSI+PC9pY29uaWZ5LWljb24+CiAgICAgICAgICAgICAgICBBZHZhbmNlZCBWb2NhbCBTeW50aGVzaXMKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEhlYWRsaW5lIHdpdGggTWFza2VkIFJldmVhbCAtLT4KICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LTV4bCBzbTp0ZXh0LTZ4bCBtZDp0ZXh0LTd4bCBsZzp0ZXh0LTh4bCB0ZXh0LWdyYXktOTAwIGxlYWRpbmctWzEuMDVdIGZvbnQtbGlnaHQgdHJhY2tpbmctdGlnaHRlciBncy1yZXZlYWwtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBvdmVyZmxvdy1oaWRkZW4gcGItMSBwdC0xIj48c3BhbiBjbGFzcz0iZ3MtcmV2ZWFsLXdvcmQgdHJhbnNsYXRlLXktWzExMCVdIHdpbGwtY2hhbmdlLXRyYW5zZm9ybSI+Q29udmVyc2U8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IG92ZXJmbG93LWhpZGRlbiBwYi0xIHB0LTEiPjxzcGFuIGNsYXNzPSJncy1yZXZlYWwtd29yZCB0cmFuc2xhdGUteS1bMTEwJV0gd2lsbC1jaGFuZ2UtdHJhbnNmb3JtIj5OYXR1cmFsbHkuPC9zcGFuPjwvc3Bhbj48YnI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHBiLTEgcHQtMSI+PHNwYW4gY2xhc3M9ImdzLXJldmVhbC13b3JkIHRyYW5zbGF0ZS15LVsxMTAlXSB3aWxsLWNoYW5nZS10cmFuc2Zvcm0iPkJleW9uZDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHBiLTEgcHQtMSI+PHNwYW4gY2xhc3M9ImdzLXJldmVhbC13b3JkIHRyYW5zbGF0ZS15LVsxMTAlXSB3aWxsLWNoYW5nZS10cmFuc2Zvcm0iPkJvdW5kYXJpZXMuPC9zcGFuPjwvc3Bhbj48YnI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHBiLTEgcHQtMSI+PHNwYW4gY2xhc3M9ImdzLXJldmVhbC13b3JkIHRyYW5zbGF0ZS15LVsxMTAlXSB3aWxsLWNoYW5nZS10cmFuc2Zvcm0gdGV4dC10cmFuc3BhcmVudCBiZy1jbGlwLXRleHQgYmctZ3JhZGllbnQtdG8tciBmcm9tLVsjZWE1ODBjXSB0by1bI2UxMWQ0OF0iPkluZmluaXRlIFNjYWxlLjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDwvaDE+CgogICAgICAgICAgICA8IS0tIFN1YmhlYWRsaW5lIC0tPgogICAgICAgICAgICA8cCBjbGFzcz0iYW5pbS1lbGVtZW50IG10LTcgdGV4dC1iYXNlIG1kOnRleHQtbGcgdGV4dC1ncmF5LTYwMCBsZWFkaW5nLXJlbGF4ZWQgbWF4LXctWzI4cmVtXSIgc3R5bGU9Im9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXB4KTsgdHJhbnNpdGlvbjogYWxsIDAuOHMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7IHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7Ij4KICAgICAgICAgICAgICAgIEdlbmVyYXRlIGhpZ2hseSByZWFsaXN0aWMgaHVtYW4gYXVkaW8gaW5zdGFudGx5LCByZXBsaWNhdGluZyB2b2NhbCBzaWduYXR1cmVzIHdpdGggc3R1bm5pbmcgcHJlY2lzaW9uLiBFbWJlZCBzbW9vdGhseSBpbnRvIGFwcGxpY2F0aW9ucywgbWVkaWEsIGFuZCBpbnRlcmFjdGl2ZSBpbnRlcmZhY2VzLiBTd2lmdC4gUHJpdmF0ZS4gQnJvYWRjYXN0LXJlYWR5LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8IS0tIENUQSBCdXR0b25zIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltLWVsZW1lbnQgbXQtMTAgZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC00IiBzdHlsZT0ib3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOyB0cmFuc2l0aW9uOiBhbGwgMC44cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTsgdHJhbnNpdGlvbi1kZWxheTogMC40czsiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMiBiZy1bIzFjMWMxZV0gcHgtNyBweS0zLjUgdGV4dC1zbSBmb250LW5vcm1hbCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsYWNrIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBzaGFkb3ctWzBweF8wcHhfMHB4XzFweF9yZ2JhKDAsMCwwLDAuMDYpLDBweF8xcHhfMXB4Xy0wLjVweF9yZ2JhKDAsMCwwLDAuMDYpLDBweF8zcHhfM3B4Xy0xLjVweF9yZ2JhKDAsMCwwLDAuMDYpLF8wcHhfNnB4XzZweF8tM3B4X3JnYmEoMCwwLDAsMC4wNiksMHB4XzEycHhfMTJweF8tNnB4X3JnYmEoMCwwLDAsMC4wNiksMHB4XzI0cHhfMjRweF8tMTJweF9yZ2JhKDAsMCwwLDAuMDYpXSBob3ZlcjotdHJhbnNsYXRlLXktMC41IiBzdHlsZT0iY2xpcC1wYXRoOiBwb2x5Z29uKDEycHggMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDEycHgpLCBjYWxjKDEwMCUgLSAxMnB4KSAxMDAlLCAwIDEwMCUsIDAgMTJweCk7Ij4KICAgICAgICAgICAgICAgICAgICBTdGFydCBidWlsZGluZyB0b2RheQogICAgICAgICAgICAgICAgICAgIDxpY29uaWZ5LWljb24gaWNvbj0ic29sYXI6YXJyb3ctcmlnaHQtdXAtbGluZWFyIiBjbGFzcz0idGV4dC1sZyBvcGFjaXR5LTgwIiBzdHJva2Utd2lkdGg9IjEuNSI+PC9pY29uaWZ5LWljb24+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJhY2tkcm9wLWJsdXItbWQgcHgtNyBweS0zLjUgdGV4dC1zbSBmb250LW5vcm1hbCB0ZXh0LW9yYW5nZS02MDAgaG92ZXI6dGV4dC1vcmFuZ2UtNzAwIGhvdmVyOi10cmFuc2xhdGUteS0wLjUgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHNoYWRvdy1bMHB4XzJweF8zcHhfLTFweF9yZ2JhKDAsMCwwLDAuMSksMHB4XzFweF8wcHhfMHB4X3JnYmEoMjUsMjgsMzMsMC4wMiksMHB4XzBweF8wcHhfMXB4X3JnYmEoMjUsMjgsMzMsMC4wOCldIiBzdHlsZT0iY2xpcC1wYXRoOiBwb2x5Z29uKDEycHggMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDEycHgpLCBjYWxjKDEwMCUgLSAxMnB4KSAxMDAlLCAwIDEwMCUsIDAgMTJweCk7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwLjYpLCByZ2JhKDI1NSwyNTUsMjU1LDAuNikpIHBhZGRpbmctYm94LCBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmRiYTc0LCAjZmRhNGFmKSBib3JkZXItYm94OyI+CiAgICAgICAgICAgICAgICAgICAgQ29udGFjdCBFbnRlcnByaXNlCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvbWFpbj4KCiAgICAgICAgPCEtLSBCb3R0b20gRmVhdHVyZXMgUm93IC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImFuaW0tZWxlbWVudCBwYi0xMiBwdC04IGZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgZ2FwLTEwIHNtOmdhcC0xNCBib3JkZXItdCBib3JkZXItdHJhbnNwYXJlbnQiIHN0eWxlPSJvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7IHRyYW5zaXRpb246IGFsbCAwLjhzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpOyB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzOyI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8IS0tIEZlYXR1cmUgMSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQgZ3JvdXAgY3Vyc29yLWRlZmF1bHQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBoLTExIHctMTEgc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLW9yYW5nZS01MCB0ZXh0LW9yYW5nZS01MDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBzaGFkb3ctWzBweF8ycHhfM3B4Xy0xcHhfcmdiYSgwLDAsMCwwLjEpLDBweF8xcHhfMHB4XzBweF9yZ2JhKDI1LDI4LDMzLDAuMDIpLDBweF8wcHhfMHB4XzFweF9yZ2JhKDI1LDI4LDMzLDAuMDgpXSIgc3R5bGU9ImNsaXAtcGF0aDogcG9seWdvbig4cHggMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDhweCksIGNhbGMoMTAwJSAtIDhweCkgMTAwJSwgMCAxMDAlLCAwIDhweCk7Ij4KICAgICAgICAgICAgICAgICAgICA8aWNvbmlmeS1pY29uIGljb249InNvbGFyOnNlcnZlci1saW5lYXIiIGNsYXNzPSJ0ZXh0LXhsIiBzdHJva2Utd2lkdGg9IjEuNSI+PC9pY29uaWZ5LWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXNtIGZvbnQtbm9ybWFsIHRleHQtZ3JheS05MDAiPlNlYW1sZXNzIFN0cmVhbWluZzwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1ncmF5LTUwMCBtdC0wLjUiPkluc3RhbnQgdm9pY2UgZ2VuZXJhdGlvbjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRmVhdHVyZSAyIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBncm91cCBjdXJzb3ItZGVmYXVsdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGgtMTEgdy0xMSBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctb3JhbmdlLTUwIHRleHQtb3JhbmdlLTUwMCBncm91cC1ob3ZlcjpzY2FsZS0xMTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIHNoYWRvdy1bMHB4XzJweF8zcHhfLTFweF9yZ2JhKDAsMCwwLDAuMSksMHB4XzFweF8wcHhfMHB4X3JnYmEoMjUsMjgsMzMsMC4wMiksMHB4XzBweF8wcHhfMXB4X3JnYmEoMjUsMjgsMzMsMC4wOCldIiBzdHlsZT0iY2xpcC1wYXRoOiBwb2x5Z29uKDhweCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gOHB4KSwgY2FsYygxMDAlIC0gOHB4KSAxMDAlLCAwIDEwMCUsIDAgOHB4KTsiPgogICAgICAgICAgICAgICAgICAgIDxpY29uaWZ5LWljb24gaWNvbj0ic29sYXI6c291bmR3YXZlLWxpbmVhciIgY2xhc3M9InRleHQteGwiIHN0cm9rZS13aWR0aD0iMS41Ij48L2ljb25pZnktaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQtc20gZm9udC1ub3JtYWwgdGV4dC1ncmF5LTkwMCI+Vm9jYWwgQ2xvbmluZzwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1ncmF5LTUwMCBtdC0wLjUiPlN0dWRpby1ncmFkZSBwcmVjaXNpb248L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEZlYXR1cmUgMyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQgZ3JvdXAgY3Vyc29yLWRlZmF1bHQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBoLTExIHctMTEgc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJnLW9yYW5nZS01MCB0ZXh0LW9yYW5nZS01MDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMCBzaGFkb3ctWzBweF8ycHhfM3B4Xy0xcHhfcmdiYSgwLDAsMCwwLjEpLDBweF8xcHhfMHB4XzBweF9yZ2JhKDI1LDI4LDMzLDAuMDIpLDBweF8wcHhfMHB4XzFweF9yZ2JhKDI1LDI4LDMzLDAuMDgpXSIgc3R5bGU9ImNsaXAtcGF0aDogcG9seWdvbig4cHggMCwgMTAwJSAwLCAxMDAlIGNhbGMoMTAwJSAtIDhweCksIGNhbGMoMTAwJSAtIDhweCkgMTAwJSwgMCAxMDAlLCAwIDhweCk7Ij4KICAgICAgICAgICAgICAgICAgICA8aWNvbmlmeS1pY29uIGljb249InNvbGFyOnNoaWVsZC1jaGVjay1saW5lYXIiIGNsYXNzPSJ0ZXh0LXhsIiBzdHJva2Utd2lkdGg9IjEuNSI+PC9pY29uaWZ5LWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXNtIGZvbnQtbm9ybWFsIHRleHQtZ3JheS05MDAiPkVudGVycHJpc2UtUmVhZHk8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtZ3JheS01MDAgbXQtMC41Ij5GbGF3bGVzcyBjb21tZXJjaWFsIHVwdGltZTwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIFNjcmlwdHMgZm9yIFdlYkdMIGFuZCBBbmltYXRpb25zIC0tPgogICAgPHNjcmlwdD4KICAgICAgICAvLyAtLS0gV2ViR0wgQmFja2dyb3VuZCBBbmltYXRpb24gKFdhcm0gUGFsZXR0ZSBSZW1peCkgLS0tCiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dlYmdsLWNhbnZhcycpOwogICAgICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoeyBjYW52YXMsIGFscGhhOiB0cnVlLCBhbnRpYWxpYXM6IHRydWUgfSk7CiAgICAgICAgY29uc3Qgc2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKTsKICAgICAgICBjb25zdCBjYW1lcmEgPSBuZXcgVEhSRUUuT3J0aG9ncmFwaGljQ2FtZXJhKC0xLCAxLCAxLCAtMSwgMCwgMSk7CiAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuUGxhbmVHZW9tZXRyeSgyLCAyKTsKCiAgICAgICAgY29uc3QgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuU2hhZGVyTWF0ZXJpYWwoewogICAgICAgICAgICB1bmlmb3JtczogewogICAgICAgICAgICAgICAgdV90aW1lOiB7IHZhbHVlOiAwLjAgfSwKICAgICAgICAgICAgICAgIHVfcmVzb2x1dGlvbjogeyB2YWx1ZTogbmV3IFRIUkVFLlZlY3RvcjIoKSB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHZlcnRleFNoYWRlcjogYAogICAgICAgICAgICAgICAgdm9pZCBtYWluKCkgewogICAgICAgICAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiwgMS4wKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgYCwKICAgICAgICAgICAgZnJhZ21lbnRTaGFkZXI6IGAKICAgICAgICAgICAgICAgIHVuaWZvcm0gZmxvYXQgdV90aW1lOwogICAgICAgICAgICAgICAgdW5pZm9ybSB2ZWMyIHVfcmVzb2x1dGlvbjsKCiAgICAgICAgICAgICAgICB2ZWMzIHBlcm11dGUodmVjMyB4KSB7IHJldHVybiBtb2QoKCh4KjM0LjApKzEuMCkqeCwgMjg5LjApOyB9CiAgICAgICAgICAgICAgICBmbG9hdCBzbm9pc2UodmVjMiB2KXsKICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZWM0IEMgPSB2ZWM0KDAuMjExMzI0ODY1NDA1MTg3LCAwLjM2NjAyNTQwMzc4NDQzOSwgLTAuNTc3MzUwMjY5MTg5NjI2LCAwLjAyNDM5MDI0MzkwMjQzOSk7CiAgICAgICAgICAgICAgICAgICAgdmVjMiBpICA9IGZsb29yKHYgKyBkb3QodiwgQy55eSkgKTsKICAgICAgICAgICAgICAgICAgICB2ZWMyIHgwID0gdiAtICAgaSArIGRvdChpLCBDLnh4KTsKICAgICAgICAgICAgICAgICAgICB2ZWMyIGkxOyBpMSA9ICh4MC54ID4geDAueSkgPyB2ZWMyKDEuMCwgMC4wKSA6IHZlYzIoMC4wLCAxLjApOwogICAgICAgICAgICAgICAgICAgIHZlYzQgeDEyID0geDAueHl4eSArIEMueHh6ejsgeDEyLnh5IC09IGkxOwogICAgICAgICAgICAgICAgICAgIGkgPSBtb2QoaSwgMjg5LjApOwogICAgICAgICAgICAgICAgICAgIHZlYzMgcCA9IHBlcm11dGUoIHBlcm11dGUoIGkueSArIHZlYzMoMC4wLCBpMS55LCAxLjAgKSkgKyBpLnggKyB2ZWMzKDAuMCwgaTEueCwgMS4wICkpOwogICAgICAgICAgICAgICAgICAgIHZlYzMgbSA9IG1heCgwLjUgLSB2ZWMzKGRvdCh4MCx4MCksIGRvdCh4MTIueHkseDEyLnh5KSwgZG90KHgxMi56dyx4MTIuencpKSwgMC4wKTsKICAgICAgICAgICAgICAgICAgICBtID0gbSptIDsgbSA9IG0qbSA7CiAgICAgICAgICAgICAgICAgICAgdmVjMyB4ID0gMi4wICogZnJhY3QocCAqIEMud3d3KSAtIDEuMDsgdmVjMyBoID0gYWJzKHgpIC0gMC41OwogICAgICAgICAgICAgICAgICAgIHZlYzMgb3ggPSBmbG9vcih4ICsgMC41KTsgdmVjMyBhMCA9IHggLSBveDsKICAgICAgICAgICAgICAgICAgICBtICo9IDEuNzkyODQyOTE0MDAxNTkgLSAwLjg1MzczNDcyMDk1MzE0ICogKCBhMCphMCArIGgqaCApOwogICAgICAgICAgICAgICAgICAgIHZlYzMgZzsgZy54ICA9IGEwLnggICogeDAueCAgKyBoLnggICogeDAueTsKICAgICAgICAgICAgICAgICAgICBnLnl6ID0gYTAueXogKiB4MTIueHogKyBoLnl6ICogeDEyLnl3OwogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMzAuMCAqIGRvdChtLCBnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB2b2lkIG1haW4oKSB7CiAgICAgICAgICAgICAgICAgICAgdmVjMiB1diA9IGdsX0ZyYWdDb29yZC54eSAvIHVfcmVzb2x1dGlvbi54eTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBmbG9hdCBuID0gc25vaXNlKHV2ICogMi41ICsgdmVjMih1X3RpbWUgKiAwLjQsIHVfdGltZSAqIDAuNSkpOwogICAgICAgICAgICAgICAgICAgIGZsb2F0IG4yID0gc25vaXNlKHV2ICogMS41IC0gdmVjMih1X3RpbWUgKiAwLjMsIHVfdGltZSAqIDAuMikpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIC8vIFdhcm0gUGFsZXR0ZSBDb2xvcnMKICAgICAgICAgICAgICAgICAgICB2ZWMzIGNvbG9yT3JhbmdlID0gdmVjMygwLjkxLCAwLjM0LCAwLjA0KTsgIC8vIEludGVuc2Ugb3JhbmdlCiAgICAgICAgICAgICAgICAgICAgdmVjMyBjb2xvclJvc2UgPSB2ZWMzKDAuODgsIDAuMTEsIDAuMjgpOyAgICAvLyBCcmlnaHQgcm9zZQogICAgICAgICAgICAgICAgICAgIHZlYzMgY29sb3JEZWVwID0gdmVjMygxLjAsIDAuODUsIDAuNjUpOyAgICAgLy8gRGVlcCBibGVuZGluZyB3YXJtIGJhc2UKCiAgICAgICAgICAgICAgICAgICAgZmxvYXQgbWl4VmFsID0gc21vb3Roc3RlcCgtMC42LCAwLjgsIG4pOwogICAgICAgICAgICAgICAgICAgIHZlYzMgZmluYWxDb2xvciA9IG1peChjb2xvckRlZXAsIGNvbG9yT3JhbmdlLCBtaXhWYWwpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGZsb2F0IG1peFZhbDIgPSBzbW9vdGhzdGVwKC0wLjQsIDAuOSwgbjIpOwogICAgICAgICAgICAgICAgICAgIGZpbmFsQ29sb3IgPSBtaXgoZmluYWxDb2xvciwgY29sb3JSb3NlLCBtaXhWYWwyICogMC44KTsKCiAgICAgICAgICAgICAgICAgICAgZmxvYXQgYWxwaGFGYWRlID0gc21vb3Roc3RlcCgtMC4yLCAwLjYsIHV2LngpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoZmluYWxDb2xvciwgYWxwaGFGYWRlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgYAogICAgICAgIH0pOwoKICAgICAgICBjb25zdCBtZXNoID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKTsKICAgICAgICBzY2VuZS5hZGQobWVzaCk7CgogICAgICAgIGZ1bmN0aW9uIHJlc2l6ZUNhbnZhcygpIHsKICAgICAgICAgICAgcmVuZGVyZXIuc2V0U2l6ZSh3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0KTsKICAgICAgICAgICAgbWF0ZXJpYWwudW5pZm9ybXMudV9yZXNvbHV0aW9uLnZhbHVlLnNldCh3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0KTsKICAgICAgICB9CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHJlc2l6ZUNhbnZhcyk7CiAgICAgICAgcmVzaXplQ2FudmFzKCk7CgogICAgICAgIGZ1bmN0aW9uIGFuaW1hdGVXZWJHTCh0aW1lKSB7CiAgICAgICAgICAgIG1hdGVyaWFsLnVuaWZvcm1zLnVfdGltZS52YWx1ZSA9IHRpbWUgKiAwLjAwMjsKICAgICAgICAgICAgcmVuZGVyZXIucmVuZGVyKHNjZW5lLCBjYW1lcmEpOwogICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0ZVdlYkdMKTsKICAgICAgICB9CiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGVXZWJHTCk7CgogICAgICAgIC8vIC0tLSBHU0FQIE1hc2tlZCBSZXZlYWwgJiBzdGFuZGFyZCBlbnRyYW5jZSBhbmltYXRpb25zIC0tLQogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7CiAgICAgICAgICAgIGdzYXAucmVnaXN0ZXJQbHVnaW4oU2Nyb2xsVHJpZ2dlcik7CgogICAgICAgICAgICAvLyBIZWFkbGluZSBNYXNrZWQgUmV2ZWFsCiAgICAgICAgICAgIGdzYXAudG8oJy5ncy1yZXZlYWwtd29yZCcsIHsKICAgICAgICAgICAgICAgIHk6ICcwJScsCiAgICAgICAgICAgICAgICBlYXNlOiAncG93ZXI0Lm91dCcsCiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMS4yLAogICAgICAgICAgICAgICAgc3RhZ2dlcjogMC4xLAogICAgICAgICAgICAgICAgc2Nyb2xsVHJpZ2dlcjogewogICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICcuZ3MtcmV2ZWFsLWNvbnRhaW5lcicsCiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6ICd0b3AgODUlJywKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyBTdGFuZGFyZCBvcGFjaXR5IGZhZGVzCiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFuaW0tZWxlbWVudCcpOwogICAgICAgICAgICBlbGVtZW50cy5mb3JFYWNoKChlbCwgaW5kZXgpID0+IHsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLm9wYWNpdHkgPSAnMSc7CiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVkoMCknOwogICAgICAgICAgICAgICAgfSwgMTAwICsgKGluZGV4ICogODApKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==";
const assetFiles = [];
const runtimeFiles = ["../../../../assets/runtime/runtime-027051effa47-gsap-min.js","../../../../assets/runtime/runtime-163ebd087cfc-iconify-icon-min.js","../../../../assets/runtime/runtime-25023b521d77-three-min.js","../../../../assets/runtime/runtime-689ca8dda44c-scrolltrigger-min.js","../../../../assets/runtime/runtime-ccc8894b3418-runtime.js"];
const frame = document.getElementById("neuform-demo");
const decodeBytes = (value) => Uint8Array.from(atob(value), (character) => character.charCodeAt(0));
const decode = (value) => new TextDecoder().decode(decodeBytes(value));
const encodeBytes = (bytes) => {
let binary = "";
for (let index = 0; index < bytes.length; index += 32768) {
binary += String.fromCharCode(...bytes.subarray(index, index + 32768));
}
return btoa(binary);
};
const mediaTypes = {
avif: "image/avif",
gif: "image/gif",
jpg: "image/jpeg",
jpeg: "image/jpeg",
mp4: "video/mp4",
png: "image/png",
webm: "video/webm",
webp: "image/webp"
};
const loadAsset = async (file) => {
const response = await fetch(file, { cache: "no-store", credentials: "omit", redirect: "error" });
if (!response.ok) throw new Error("Could not load local demo asset: " + file);
const extension = file.split(".").pop().toLowerCase();
const contentType = mediaTypes[extension] || "application/octet-stream";
const bytes = new Uint8Array(await response.arrayBuffer());
return { base64: encodeBytes(bytes), contentType, file, kind: "asset" };
};
Promise.allSettled(assetFiles.map(loadAsset)).then((results) => {
const runtimeSources = runtimeFiles.map((file) => new URL(file, location.href).href).join(" ");
const source = decode(encodedHtml).replace("__NEUFORM_RUNTIME_SOURCES__", runtimeSources);
const mediaAssets = [];
for (const result of results) {
if (result.status !== "fulfilled") continue;
mediaAssets.push(result.value);
}
frame.addEventListener("load", () => {
frame.contentWindow.postMessage({ type: "neuform-assets-v1", assets: mediaAssets }, "*");
}, { once: true });
frame.srcdoc = source;
}).catch((error) => {
document.body.innerHTML = '<div class="error">Unable to load this sandboxed demo.</div>';
console.error(error);
});
</script>
</body>
</html>
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Meng To
- Publisher
- Meng To (Community)
- Source
- MengTo/Skills · agent-skills/web-design/beautiful-shadows · commit 5ea1661
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Meng To or Meng To.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download beautiful-shadows.zip