# puzzle-shield icon

Puzzle shield. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/puzzle-shield

- Category: Development
- Use it for: trusted extension, verified plugin, extension security
- Example: Allow only trusted extensions
- Built from: puzzle + shield
- Tags: puzzle, jigsaw, piece, plugin, extension, addon, integration, module, shield
- Family: puzzle, puzzle-alert, puzzle-check, puzzle-off, puzzle-plus, puzzle-search, puzzle-x
- Component name: PuzzleShieldIcon
- Added: 2026-11-06
- Since: version 0.4.0
- npm: `import { PuzzleShieldIcon } from '@gentleface/react';` (@gentleface/react 0.6.0)

## Files

Each icon is drawn on the 16 px grid, and most also on the 20 and 24 px grids (at 24 in three weights: light 1 px, regular 1.5 px, bold 2 px). Show the drawing made for your size, or an exact multiple of it, on whole pixels: 16 for 16 and 32 px, 20 for 20 and 40, 24 for 24 and 48. A size in between or a fractional position blurs it. The code on each icon page is the 16 px drawing, an SVG with fill="currentColor"; the icon page's downloads follow its Grid switch, and npm has the 20 and 24 px drawings too.

- line-round: https://gentleface.com/svg/line-round/16/puzzle-shield.svg · PNG https://gentleface.com/png/line-round/16/puzzle-shield.png · https://gentleface.com/png/line-round/32/puzzle-shield.png · https://gentleface.com/png/line-round/48/puzzle-shield.png
- line-soft: https://gentleface.com/svg/line-soft/16/puzzle-shield.svg · PNG https://gentleface.com/png/line-soft/16/puzzle-shield.png · https://gentleface.com/png/line-soft/32/puzzle-shield.png · https://gentleface.com/png/line-soft/48/puzzle-shield.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/puzzle-shield.svg · PNG https://gentleface.com/png/line-sharp/16/puzzle-shield.png · https://gentleface.com/png/line-sharp/32/puzzle-shield.png · https://gentleface.com/png/line-sharp/48/puzzle-shield.png
- solid-round: https://gentleface.com/svg/solid-round/16/puzzle-shield.svg · PNG https://gentleface.com/png/solid-round/16/puzzle-shield.png · https://gentleface.com/png/solid-round/32/puzzle-shield.png · https://gentleface.com/png/solid-round/48/puzzle-shield.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/puzzle-shield.svg · PNG https://gentleface.com/png/solid-soft/16/puzzle-shield.png · https://gentleface.com/png/solid-soft/32/puzzle-shield.png · https://gentleface.com/png/solid-soft/48/puzzle-shield.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/puzzle-shield.svg · PNG https://gentleface.com/png/solid-sharp/16/puzzle-shield.png · https://gentleface.com/png/solid-sharp/32/puzzle-shield.png · https://gentleface.com/png/solid-sharp/48/puzzle-shield.png

The SVG of every style: https://gentleface.com/icons/puzzle-shield.json (`svg`).

## Code (line-round)

The snippets are decorative (aria-hidden). For an icon that carries meaning on its own, such as an icon-only button, label the button, or give the SVG role="img" and an aria-label. For another style, take its SVG from the JSON and swap the path `d`.

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z"/></svg>
```

### React

```tsx
// Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield
import type { SVGProps } from 'react';

export function PuzzleShieldIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield -->
<script>
  let props = $props();
</script>

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield. An <img> can't take currentColor: it draws black. Inline the SVG or use the CSS mask to color it. -->
<img src="https://gentleface.com/svg/line-round/16/puzzle-shield.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield. Takes the text color. */
.icon-puzzle-shield {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield
     Every icon of this style in one file: https://gentleface.com/sprite/line-round.svg
     Serve it from your own origin: <use> does not load from another origin. -->
<svg width="16" height="16" aria-hidden="true"><use href="/sprite/line-round.svg#puzzle-shield"/></svg>
```

### SwiftUI

```swift
// Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield
import SwiftUI

struct PuzzleShieldIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 2.293, y: 13.707))
        p.addCurve(to: CGPoint(x: 2, y: 13), control1: CGPoint(x: 2.098, y: 13.512), control2: CGPoint(x: 2, y: 13.276))
        p.addLine(to: CGPoint(x: 2, y: 10.5))
        p.addCurve(to: CGPoint(x: 2.144, y: 10.144), control1: CGPoint(x: 2, y: 10.359), control2: CGPoint(x: 2.048, y: 10.241))
        p.addCurve(to: CGPoint(x: 2.5, y: 10), control1: CGPoint(x: 2.241, y: 10.048), control2: CGPoint(x: 2.359, y: 10))
        p.addCurve(to: CGPoint(x: 3.052, y: 9.895), control1: CGPoint(x: 2.691, y: 10), control2: CGPoint(x: 2.875, y: 9.965))
        p.addCurve(to: CGPoint(x: 3.561, y: 9.561), control1: CGPoint(x: 3.245, y: 9.818), control2: CGPoint(x: 3.414, y: 9.707))
        p.addCurve(to: CGPoint(x: 3.895, y: 9.052), control1: CGPoint(x: 3.707, y: 9.414), control2: CGPoint(x: 3.818, y: 9.245))
        p.addCurve(to: CGPoint(x: 4, y: 8.5), control1: CGPoint(x: 3.965, y: 8.875), control2: CGPoint(x: 4, y: 8.691))
        p.addCurve(to: CGPoint(x: 3.895, y: 7.948), control1: CGPoint(x: 4, y: 8.309), control2: CGPoint(x: 3.965, y: 8.125))
        p.addCurve(to: CGPoint(x: 3.561, y: 7.439), control1: CGPoint(x: 3.818, y: 7.755), control2: CGPoint(x: 3.707, y: 7.586))
        p.addCurve(to: CGPoint(x: 3.052, y: 7.105), control1: CGPoint(x: 3.414, y: 7.293), control2: CGPoint(x: 3.245, y: 7.182))
        p.addCurve(to: CGPoint(x: 2.5, y: 7), control1: CGPoint(x: 2.875, y: 7.035), control2: CGPoint(x: 2.691, y: 7))
        p.addCurve(to: CGPoint(x: 2.144, y: 6.856), control1: CGPoint(x: 2.359, y: 7), control2: CGPoint(x: 2.241, y: 6.952))
        p.addCurve(to: CGPoint(x: 2, y: 6.5), control1: CGPoint(x: 2.048, y: 6.759), control2: CGPoint(x: 2, y: 6.641))
        p.addLine(to: CGPoint(x: 2, y: 4))
        p.addCurve(to: CGPoint(x: 2.293, y: 3.293), control1: CGPoint(x: 2, y: 3.724), control2: CGPoint(x: 2.098, y: 3.488))
        p.addCurve(to: CGPoint(x: 3, y: 3), control1: CGPoint(x: 2.488, y: 3.098), control2: CGPoint(x: 2.724, y: 3))
        p.addLine(to: CGPoint(x: 5.05, y: 3))
        p.addCurve(to: CGPoint(x: 5.176, y: 2.58), control1: CGPoint(x: 5.079, y: 2.858), control2: CGPoint(x: 5.121, y: 2.717))
        p.addCurve(to: CGPoint(x: 5.732, y: 1.732), control1: CGPoint(x: 5.303, y: 2.259), control2: CGPoint(x: 5.488, y: 1.976))
        p.addCurve(to: CGPoint(x: 6.58, y: 1.176), control1: CGPoint(x: 5.976, y: 1.488), control2: CGPoint(x: 6.259, y: 1.303))
        p.addCurve(to: CGPoint(x: 7.5, y: 1), control1: CGPoint(x: 6.875, y: 1.059), control2: CGPoint(x: 7.182, y: 1))
        p.addCurve(to: CGPoint(x: 8.42, y: 1.176), control1: CGPoint(x: 7.818, y: 1), control2: CGPoint(x: 8.125, y: 1.059))
        p.addCurve(to: CGPoint(x: 9.268, y: 1.732), control1: CGPoint(x: 8.741, y: 1.303), control2: CGPoint(x: 9.024, y: 1.488))
        p.addCurve(to: CGPoint(x: 9.824, y: 2.58), control1: CGPoint(x: 9.512, y: 1.976), control2: CGPoint(x: 9.697, y: 2.259))
        p.addCurve(to: CGPoint(x: 9.95, y: 3), control1: CGPoint(x: 9.879, y: 2.717), control2: CGPoint(x: 9.921, y: 2.857))
        p.addLine(to: CGPoint(x: 12, y: 3))
        p.addCurve(to: CGPoint(x: 12.707, y: 3.293), control1: CGPoint(x: 12.276, y: 3), control2: CGPoint(x: 12.512, y: 3.098))
        p.addCurve(to: CGPoint(x: 13, y: 4), control1: CGPoint(x: 12.902, y: 3.488), control2: CGPoint(x: 13, y: 3.724))
        p.addLine(to: CGPoint(x: 13, y: 6.049))
        p.addCurve(to: CGPoint(x: 13.738, y: 6.328), control1: CGPoint(x: 13.257, y: 6.101), control2: CGPoint(x: 13.503, y: 6.194))
        p.addCurve(to: CGPoint(x: 14.651, y: 7.226), control1: CGPoint(x: 14.122, y: 6.547), control2: CGPoint(x: 14.426, y: 6.846))
        p.addCurve(to: CGPoint(x: 14.705, y: 7.605), control1: CGPoint(x: 14.721, y: 7.345), control2: CGPoint(x: 14.739, y: 7.471))
        p.addCurve(to: CGPoint(x: 14.476, y: 7.911), control1: CGPoint(x: 14.671, y: 7.739), control2: CGPoint(x: 14.594, y: 7.841))
        p.addCurve(to: CGPoint(x: 14.268, y: 7.982), control1: CGPoint(x: 14.408, y: 7.951), control2: CGPoint(x: 14.339, y: 7.975))
        p.addCurve(to: CGPoint(x: 13.941, y: 7.899), control1: CGPoint(x: 14.161, y: 7.966), control2: CGPoint(x: 14.052, y: 7.938))
        p.addCurve(to: CGPoint(x: 13.791, y: 7.736), control1: CGPoint(x: 13.881, y: 7.859), control2: CGPoint(x: 13.831, y: 7.804))
        p.addCurve(to: CGPoint(x: 13.243, y: 7.197), control1: CGPoint(x: 13.656, y: 7.508), control2: CGPoint(x: 13.473, y: 7.328))
        p.addCurve(to: CGPoint(x: 12.627, y: 7.005), control1: CGPoint(x: 13.05, y: 7.087), control2: CGPoint(x: 12.845, y: 7.023))
        p.addCurve(to: CGPoint(x: 12.561, y: 6.939), control1: CGPoint(x: 12.605, y: 6.984), control2: CGPoint(x: 12.583, y: 6.962))
        p.addCurve(to: CGPoint(x: 12.096, y: 6.623), control1: CGPoint(x: 12.426, y: 6.804), control2: CGPoint(x: 12.271, y: 6.699))
        p.addCurve(to: CGPoint(x: 12.007, y: 6.588), control1: CGPoint(x: 12.066, y: 6.611), control2: CGPoint(x: 12.037, y: 6.599))
        p.addCurve(to: CGPoint(x: 12, y: 6.5), control1: CGPoint(x: 12.002, y: 6.56), control2: CGPoint(x: 12, y: 6.53))
        p.addLine(to: CGPoint(x: 12, y: 4))
        p.addLine(to: CGPoint(x: 9.5, y: 4))
        p.addCurve(to: CGPoint(x: 9.144, y: 3.856), control1: CGPoint(x: 9.359, y: 4), control2: CGPoint(x: 9.241, y: 3.952))
        p.addCurve(to: CGPoint(x: 9, y: 3.5), control1: CGPoint(x: 9.048, y: 3.759), control2: CGPoint(x: 9, y: 3.641))
        p.addCurve(to: CGPoint(x: 8.895, y: 2.948), control1: CGPoint(x: 9, y: 3.309), control2: CGPoint(x: 8.965, y: 3.125))
        p.addCurve(to: CGPoint(x: 8.561, y: 2.439), control1: CGPoint(x: 8.818, y: 2.755), control2: CGPoint(x: 8.707, y: 2.586))
        p.addCurve(to: CGPoint(x: 8.052, y: 2.105), control1: CGPoint(x: 8.414, y: 2.293), control2: CGPoint(x: 8.245, y: 2.182))
        p.addCurve(to: CGPoint(x: 7.5, y: 2), control1: CGPoint(x: 7.875, y: 2.035), control2: CGPoint(x: 7.691, y: 2))
        p.addCurve(to: CGPoint(x: 6.948, y: 2.105), control1: CGPoint(x: 7.309, y: 2), control2: CGPoint(x: 7.125, y: 2.035))
        p.addCurve(to: CGPoint(x: 6.439, y: 2.439), control1: CGPoint(x: 6.755, y: 2.182), control2: CGPoint(x: 6.586, y: 2.293))
        p.addCurve(to: CGPoint(x: 6.105, y: 2.948), control1: CGPoint(x: 6.293, y: 2.586), control2: CGPoint(x: 6.182, y: 2.755))
        p.addCurve(to: CGPoint(x: 6, y: 3.5), control1: CGPoint(x: 6.035, y: 3.125), control2: CGPoint(x: 6, y: 3.309))
        p.addCurve(to: CGPoint(x: 5.856, y: 3.856), control1: CGPoint(x: 6, y: 3.641), control2: CGPoint(x: 5.952, y: 3.759))
        p.addCurve(to: CGPoint(x: 5.5, y: 4), control1: CGPoint(x: 5.759, y: 3.952), control2: CGPoint(x: 5.641, y: 4))
        p.addLine(to: CGPoint(x: 3, y: 4))
        p.addLine(to: CGPoint(x: 3, y: 6.05))
        p.addCurve(to: CGPoint(x: 3.42, y: 6.176), control1: CGPoint(x: 3.142, y: 6.079), control2: CGPoint(x: 3.283, y: 6.121))
        p.addCurve(to: CGPoint(x: 4.268, y: 6.732), control1: CGPoint(x: 3.741, y: 6.303), control2: CGPoint(x: 4.024, y: 6.488))
        p.addCurve(to: CGPoint(x: 4.824, y: 7.58), control1: CGPoint(x: 4.512, y: 6.976), control2: CGPoint(x: 4.697, y: 7.259))
        p.addCurve(to: CGPoint(x: 5, y: 8.5), control1: CGPoint(x: 4.941, y: 7.875), control2: CGPoint(x: 5, y: 8.182))
        p.addCurve(to: CGPoint(x: 4.824, y: 9.42), control1: CGPoint(x: 5, y: 8.818), control2: CGPoint(x: 4.941, y: 9.125))
        p.addCurve(to: CGPoint(x: 4.268, y: 10.268), control1: CGPoint(x: 4.697, y: 9.741), control2: CGPoint(x: 4.512, y: 10.024))
        p.addCurve(to: CGPoint(x: 3.42, y: 10.824), control1: CGPoint(x: 4.024, y: 10.512), control2: CGPoint(x: 3.741, y: 10.697))
        p.addCurve(to: CGPoint(x: 3, y: 10.95), control1: CGPoint(x: 3.283, y: 10.879), control2: CGPoint(x: 3.142, y: 10.921))
        p.addLine(to: CGPoint(x: 3, y: 13))
        p.addLine(to: CGPoint(x: 5.049, y: 13))
        p.addCurve(to: CGPoint(x: 5.329, y: 12.261), control1: CGPoint(x: 5.101, y: 12.743), control2: CGPoint(x: 5.194, y: 12.496))
        p.addCurve(to: CGPoint(x: 6.228, y: 11.348), control1: CGPoint(x: 5.548, y: 11.877), control2: CGPoint(x: 5.847, y: 11.573))
        p.addCurve(to: CGPoint(x: 6.607, y: 11.294), control1: CGPoint(x: 6.347, y: 11.278), control2: CGPoint(x: 6.473, y: 11.26))
        p.addCurve(to: CGPoint(x: 6.913, y: 11.524), control1: CGPoint(x: 6.741, y: 11.328), control2: CGPoint(x: 6.843, y: 11.405))
        p.addCurve(to: CGPoint(x: 6.97, y: 11.903), control1: CGPoint(x: 6.985, y: 11.645), control2: CGPoint(x: 7.003, y: 11.772))
        p.addCurve(to: CGPoint(x: 6.737, y: 12.209), control1: CGPoint(x: 6.936, y: 12.035), control2: CGPoint(x: 6.858, y: 12.137))
        p.addCurve(to: CGPoint(x: 6.197, y: 12.757), control1: CGPoint(x: 6.508, y: 12.344), control2: CGPoint(x: 6.329, y: 12.526))
        p.addCurve(to: CGPoint(x: 6, y: 13.5), control1: CGPoint(x: 6.066, y: 12.987), control2: CGPoint(x: 6, y: 13.235))
        p.addCurve(to: CGPoint(x: 5.856, y: 13.856), control1: CGPoint(x: 6, y: 13.641), control2: CGPoint(x: 5.952, y: 13.759))
        p.addCurve(to: CGPoint(x: 5.5, y: 14), control1: CGPoint(x: 5.759, y: 13.952), control2: CGPoint(x: 5.641, y: 14))
        p.addLine(to: CGPoint(x: 3, y: 14))
        p.addCurve(to: CGPoint(x: 2.293, y: 13.707), control1: CGPoint(x: 2.724, y: 14), control2: CGPoint(x: 2.488, y: 13.902))
        p.closeSubpath()
        p.move(to: CGPoint(x: 14.697, y: 12.817))
        p.addCurve(to: CGPoint(x: 13.934, y: 13.959), control1: CGPoint(x: 14.515, y: 13.216), control2: CGPoint(x: 14.261, y: 13.597))
        p.addCurve(to: CGPoint(x: 12.879, y: 14.869), control1: CGPoint(x: 13.625, y: 14.303), control2: CGPoint(x: 13.273, y: 14.606))
        p.addCurve(to: CGPoint(x: 11.658, y: 15.474), control1: CGPoint(x: 12.482, y: 15.133), control2: CGPoint(x: 12.075, y: 15.335))
        p.addCurve(to: CGPoint(x: 11.342, y: 15.474), control1: CGPoint(x: 11.553, y: 15.509), control2: CGPoint(x: 11.447, y: 15.509))
        p.addCurve(to: CGPoint(x: 10.121, y: 14.869), control1: CGPoint(x: 10.925, y: 15.335), control2: CGPoint(x: 10.518, y: 15.133))
        p.addCurve(to: CGPoint(x: 9.066, y: 13.959), control1: CGPoint(x: 9.727, y: 14.606), control2: CGPoint(x: 9.375, y: 14.303))
        p.addCurve(to: CGPoint(x: 8.303, y: 12.817), control1: CGPoint(x: 8.739, y: 13.597), control2: CGPoint(x: 8.485, y: 13.216))
        p.addCurve(to: CGPoint(x: 8, y: 11.5), control1: CGPoint(x: 8.101, y: 12.375), control2: CGPoint(x: 8, y: 11.936))
        p.addLine(to: CGPoint(x: 8, y: 9.5))
        p.addCurve(to: CGPoint(x: 8.144, y: 9.144), control1: CGPoint(x: 8, y: 9.359), control2: CGPoint(x: 8.048, y: 9.241))
        p.addCurve(to: CGPoint(x: 8.5, y: 9), control1: CGPoint(x: 8.241, y: 9.048), control2: CGPoint(x: 8.359, y: 9))
        p.addCurve(to: CGPoint(x: 11.146, y: 7.646), control1: CGPoint(x: 9.362, y: 9), control2: CGPoint(x: 10.244, y: 8.549))
        p.addCurve(to: CGPoint(x: 11.5, y: 7.497), control1: CGPoint(x: 11.246, y: 7.547), control2: CGPoint(x: 11.364, y: 7.497))
        p.addCurve(to: CGPoint(x: 11.854, y: 7.646), control1: CGPoint(x: 11.636, y: 7.497), control2: CGPoint(x: 11.754, y: 7.547))
        p.addCurve(to: CGPoint(x: 14.5, y: 9), control1: CGPoint(x: 12.756, y: 8.549), control2: CGPoint(x: 13.638, y: 9))
        p.addCurve(to: CGPoint(x: 14.856, y: 9.144), control1: CGPoint(x: 14.641, y: 9), control2: CGPoint(x: 14.759, y: 9.048))
        p.addCurve(to: CGPoint(x: 15, y: 9.5), control1: CGPoint(x: 14.952, y: 9.241), control2: CGPoint(x: 15, y: 9.359))
        p.addLine(to: CGPoint(x: 15, y: 11.5))
        p.addCurve(to: CGPoint(x: 14.697, y: 12.817), control1: CGPoint(x: 15, y: 11.936), control2: CGPoint(x: 14.899, y: 12.375))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

// PuzzleShieldIcon().frame(width: 16, height: 16) fills with the foreground style. Keep it on whole points to stay crisp.
```

### Compose

```kotlin
// Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.addPathNodes
import androidx.compose.ui.unit.dp

val PuzzleShieldIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "puzzle-shield", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

// Icon(PuzzleShieldIcon, contentDescription = null) tints it with LocalContentColor.
```

### Android XML

```xml
<!-- res/drawable/ic_puzzle_shield.xml · Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M2.293 13.707C2.098 13.512 2 13.276 2 13L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10C2.691 10 2.875 9.965 3.052 9.895C3.245 9.818 3.414 9.707 3.561 9.561C3.707 9.414 3.818 9.245 3.895 9.052C3.965 8.875 4 8.691 4 8.5C4 8.309 3.965 8.125 3.895 7.948C3.818 7.755 3.707 7.586 3.561 7.439C3.414 7.293 3.245 7.182 3.052 7.105C2.875 7.035 2.691 7 2.5 7C2.359 7 2.241 6.952 2.144 6.856C2.048 6.759 2 6.641 2 6.5L2 4C2 3.724 2.098 3.488 2.293 3.293C2.488 3.098 2.724 3 3 3L5.05 3C5.079 2.858 5.121 2.717 5.176 2.58C5.303 2.259 5.488 1.976 5.732 1.732C5.976 1.488 6.259 1.303 6.58 1.176C6.875 1.059 7.182 1 7.5 1C7.818 1 8.125 1.059 8.42 1.176C8.741 1.303 9.024 1.488 9.268 1.732C9.512 1.976 9.697 2.259 9.824 2.58C9.879 2.717 9.921 2.857 9.95 3L12 3C12.276 3 12.512 3.098 12.707 3.293C12.902 3.488 13 3.724 13 4L13 6.049C13.257 6.101 13.503 6.194 13.738 6.328C14.122 6.547 14.426 6.846 14.651 7.226C14.721 7.345 14.739 7.471 14.705 7.605C14.671 7.739 14.594 7.841 14.476 7.911C14.408 7.951 14.339 7.975 14.268 7.982C14.161 7.966 14.052 7.938 13.941 7.899C13.881 7.859 13.831 7.804 13.791 7.736C13.656 7.508 13.473 7.328 13.243 7.197C13.05 7.087 12.845 7.023 12.627 7.005C12.605 6.984 12.583 6.962 12.561 6.939C12.426 6.804 12.271 6.699 12.096 6.623C12.066 6.611 12.037 6.599 12.007 6.588C12.002 6.56 12 6.53 12 6.5L12 4L9.5 4C9.359 4 9.241 3.952 9.144 3.856C9.048 3.759 9 3.641 9 3.5C9 3.309 8.965 3.125 8.895 2.948C8.818 2.755 8.707 2.586 8.561 2.439C8.414 2.293 8.245 2.182 8.052 2.105C7.875 2.035 7.691 2 7.5 2C7.309 2 7.125 2.035 6.948 2.105C6.755 2.182 6.586 2.293 6.439 2.439C6.293 2.586 6.182 2.755 6.105 2.948C6.035 3.125 6 3.309 6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.759 3.952 5.641 4 5.5 4L3 4L3 6.05C3.142 6.079 3.283 6.121 3.42 6.176C3.741 6.303 4.024 6.488 4.268 6.732C4.512 6.976 4.697 7.259 4.824 7.58C4.941 7.875 5 8.182 5 8.5C5 8.818 4.941 9.125 4.824 9.42C4.697 9.741 4.512 10.024 4.268 10.268C4.024 10.512 3.741 10.697 3.42 10.824C3.283 10.879 3.142 10.921 3 10.95L3 13L5.049 13C5.101 12.743 5.194 12.496 5.329 12.261C5.548 11.877 5.847 11.573 6.228 11.348C6.347 11.278 6.473 11.26 6.607 11.294C6.741 11.328 6.843 11.405 6.913 11.524C6.985 11.645 7.003 11.772 6.97 11.903C6.936 12.035 6.858 12.137 6.737 12.209C6.508 12.344 6.329 12.526 6.197 12.757C6.066 12.987 6 13.235 6 13.5C6 13.641 5.952 13.759 5.856 13.856C5.759 13.952 5.641 14 5.5 14L3 14C2.724 14 2.488 13.902 2.293 13.707ZM14.697 12.817C14.515 13.216 14.261 13.597 13.934 13.959C13.625 14.303 13.273 14.606 12.879 14.869C12.482 15.133 12.075 15.335 11.658 15.474C11.553 15.509 11.447 15.509 11.342 15.474C10.925 15.335 10.518 15.133 10.121 14.869C9.727 14.606 9.375 14.303 9.066 13.959C8.739 13.597 8.485 13.216 8.303 12.817C8.101 12.375 8 11.936 8 11.5L8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9C9.362 9 10.244 8.549 11.146 7.646C11.246 7.547 11.364 7.497 11.5 7.497C11.636 7.497 11.754 7.547 11.854 7.646C12.756 8.549 13.638 9 14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5L15 11.5C15 11.936 14.899 12.375 14.697 12.817Z"/>
</vector>
```

### Flutter

```dart
// Gentleface "puzzle-shield" (line-round), MIT. https://gentleface.com/icons/puzzle-shield
import 'package:flutter/widgets.dart';

class PuzzleShieldIcon extends StatelessWidget {
  const PuzzleShieldIcon({super.key, this.size = 16, this.color});
  final double size;
  final Color? color;

  @override
  Widget build(BuildContext context) => CustomPaint(
        size: Size.square(size),
        painter: _PuzzleShieldIconPainter(color ?? IconTheme.of(context).color ?? const Color(0xFF000000)),
      );
}

class _PuzzleShieldIconPainter extends CustomPainter {
  _PuzzleShieldIconPainter(this.color);
  final Color color;

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(2.293, 13.707)
      ..cubicTo(2.098, 13.512, 2, 13.276, 2, 13)
      ..lineTo(2, 10.5)
      ..cubicTo(2, 10.359, 2.048, 10.241, 2.144, 10.144)
      ..cubicTo(2.241, 10.048, 2.359, 10, 2.5, 10)
      ..cubicTo(2.691, 10, 2.875, 9.965, 3.052, 9.895)
      ..cubicTo(3.245, 9.818, 3.414, 9.707, 3.561, 9.561)
      ..cubicTo(3.707, 9.414, 3.818, 9.245, 3.895, 9.052)
      ..cubicTo(3.965, 8.875, 4, 8.691, 4, 8.5)
      ..cubicTo(4, 8.309, 3.965, 8.125, 3.895, 7.948)
      ..cubicTo(3.818, 7.755, 3.707, 7.586, 3.561, 7.439)
      ..cubicTo(3.414, 7.293, 3.245, 7.182, 3.052, 7.105)
      ..cubicTo(2.875, 7.035, 2.691, 7, 2.5, 7)
      ..cubicTo(2.359, 7, 2.241, 6.952, 2.144, 6.856)
      ..cubicTo(2.048, 6.759, 2, 6.641, 2, 6.5)
      ..lineTo(2, 4)
      ..cubicTo(2, 3.724, 2.098, 3.488, 2.293, 3.293)
      ..cubicTo(2.488, 3.098, 2.724, 3, 3, 3)
      ..lineTo(5.05, 3)
      ..cubicTo(5.079, 2.858, 5.121, 2.717, 5.176, 2.58)
      ..cubicTo(5.303, 2.259, 5.488, 1.976, 5.732, 1.732)
      ..cubicTo(5.976, 1.488, 6.259, 1.303, 6.58, 1.176)
      ..cubicTo(6.875, 1.059, 7.182, 1, 7.5, 1)
      ..cubicTo(7.818, 1, 8.125, 1.059, 8.42, 1.176)
      ..cubicTo(8.741, 1.303, 9.024, 1.488, 9.268, 1.732)
      ..cubicTo(9.512, 1.976, 9.697, 2.259, 9.824, 2.58)
      ..cubicTo(9.879, 2.717, 9.921, 2.857, 9.95, 3)
      ..lineTo(12, 3)
      ..cubicTo(12.276, 3, 12.512, 3.098, 12.707, 3.293)
      ..cubicTo(12.902, 3.488, 13, 3.724, 13, 4)
      ..lineTo(13, 6.049)
      ..cubicTo(13.257, 6.101, 13.503, 6.194, 13.738, 6.328)
      ..cubicTo(14.122, 6.547, 14.426, 6.846, 14.651, 7.226)
      ..cubicTo(14.721, 7.345, 14.739, 7.471, 14.705, 7.605)
      ..cubicTo(14.671, 7.739, 14.594, 7.841, 14.476, 7.911)
      ..cubicTo(14.408, 7.951, 14.339, 7.975, 14.268, 7.982)
      ..cubicTo(14.161, 7.966, 14.052, 7.938, 13.941, 7.899)
      ..cubicTo(13.881, 7.859, 13.831, 7.804, 13.791, 7.736)
      ..cubicTo(13.656, 7.508, 13.473, 7.328, 13.243, 7.197)
      ..cubicTo(13.05, 7.087, 12.845, 7.023, 12.627, 7.005)
      ..cubicTo(12.605, 6.984, 12.583, 6.962, 12.561, 6.939)
      ..cubicTo(12.426, 6.804, 12.271, 6.699, 12.096, 6.623)
      ..cubicTo(12.066, 6.611, 12.037, 6.599, 12.007, 6.588)
      ..cubicTo(12.002, 6.56, 12, 6.53, 12, 6.5)
      ..lineTo(12, 4)
      ..lineTo(9.5, 4)
      ..cubicTo(9.359, 4, 9.241, 3.952, 9.144, 3.856)
      ..cubicTo(9.048, 3.759, 9, 3.641, 9, 3.5)
      ..cubicTo(9, 3.309, 8.965, 3.125, 8.895, 2.948)
      ..cubicTo(8.818, 2.755, 8.707, 2.586, 8.561, 2.439)
      ..cubicTo(8.414, 2.293, 8.245, 2.182, 8.052, 2.105)
      ..cubicTo(7.875, 2.035, 7.691, 2, 7.5, 2)
      ..cubicTo(7.309, 2, 7.125, 2.035, 6.948, 2.105)
      ..cubicTo(6.755, 2.182, 6.586, 2.293, 6.439, 2.439)
      ..cubicTo(6.293, 2.586, 6.182, 2.755, 6.105, 2.948)
      ..cubicTo(6.035, 3.125, 6, 3.309, 6, 3.5)
      ..cubicTo(6, 3.641, 5.952, 3.759, 5.856, 3.856)
      ..cubicTo(5.759, 3.952, 5.641, 4, 5.5, 4)
      ..lineTo(3, 4)
      ..lineTo(3, 6.05)
      ..cubicTo(3.142, 6.079, 3.283, 6.121, 3.42, 6.176)
      ..cubicTo(3.741, 6.303, 4.024, 6.488, 4.268, 6.732)
      ..cubicTo(4.512, 6.976, 4.697, 7.259, 4.824, 7.58)
      ..cubicTo(4.941, 7.875, 5, 8.182, 5, 8.5)
      ..cubicTo(5, 8.818, 4.941, 9.125, 4.824, 9.42)
      ..cubicTo(4.697, 9.741, 4.512, 10.024, 4.268, 10.268)
      ..cubicTo(4.024, 10.512, 3.741, 10.697, 3.42, 10.824)
      ..cubicTo(3.283, 10.879, 3.142, 10.921, 3, 10.95)
      ..lineTo(3, 13)
      ..lineTo(5.049, 13)
      ..cubicTo(5.101, 12.743, 5.194, 12.496, 5.329, 12.261)
      ..cubicTo(5.548, 11.877, 5.847, 11.573, 6.228, 11.348)
      ..cubicTo(6.347, 11.278, 6.473, 11.26, 6.607, 11.294)
      ..cubicTo(6.741, 11.328, 6.843, 11.405, 6.913, 11.524)
      ..cubicTo(6.985, 11.645, 7.003, 11.772, 6.97, 11.903)
      ..cubicTo(6.936, 12.035, 6.858, 12.137, 6.737, 12.209)
      ..cubicTo(6.508, 12.344, 6.329, 12.526, 6.197, 12.757)
      ..cubicTo(6.066, 12.987, 6, 13.235, 6, 13.5)
      ..cubicTo(6, 13.641, 5.952, 13.759, 5.856, 13.856)
      ..cubicTo(5.759, 13.952, 5.641, 14, 5.5, 14)
      ..lineTo(3, 14)
      ..cubicTo(2.724, 14, 2.488, 13.902, 2.293, 13.707)
      ..close()
      ..moveTo(14.697, 12.817)
      ..cubicTo(14.515, 13.216, 14.261, 13.597, 13.934, 13.959)
      ..cubicTo(13.625, 14.303, 13.273, 14.606, 12.879, 14.869)
      ..cubicTo(12.482, 15.133, 12.075, 15.335, 11.658, 15.474)
      ..cubicTo(11.553, 15.509, 11.447, 15.509, 11.342, 15.474)
      ..cubicTo(10.925, 15.335, 10.518, 15.133, 10.121, 14.869)
      ..cubicTo(9.727, 14.606, 9.375, 14.303, 9.066, 13.959)
      ..cubicTo(8.739, 13.597, 8.485, 13.216, 8.303, 12.817)
      ..cubicTo(8.101, 12.375, 8, 11.936, 8, 11.5)
      ..lineTo(8, 9.5)
      ..cubicTo(8, 9.359, 8.048, 9.241, 8.144, 9.144)
      ..cubicTo(8.241, 9.048, 8.359, 9, 8.5, 9)
      ..cubicTo(9.362, 9, 10.244, 8.549, 11.146, 7.646)
      ..cubicTo(11.246, 7.547, 11.364, 7.497, 11.5, 7.497)
      ..cubicTo(11.636, 7.497, 11.754, 7.547, 11.854, 7.646)
      ..cubicTo(12.756, 8.549, 13.638, 9, 14.5, 9)
      ..cubicTo(14.641, 9, 14.759, 9.048, 14.856, 9.144)
      ..cubicTo(14.952, 9.241, 15, 9.359, 15, 9.5)
      ..lineTo(15, 11.5)
      ..cubicTo(15, 11.936, 14.899, 12.375, 14.697, 12.817)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

  @override
  bool shouldRepaint(_PuzzleShieldIconPainter old) => old.color != color;
}
```
