@goway.to/maps 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/LICENSE +676 -0
- package/NOTICE +25 -0
- package/README.md +59 -2
- package/app.plugin.js +19 -0
- package/dist/CameraBinding.web.d.ts +24 -0
- package/dist/CameraBinding.web.js +46 -0
- package/dist/DefaultMapMarker.d.ts +8 -0
- package/dist/DefaultMapMarker.js +30 -0
- package/dist/GeoJSONSource.d.ts +2 -0
- package/dist/GeoJSONSource.js +17 -0
- package/dist/GeoJSONSource.web.d.ts +2 -0
- package/dist/GeoJSONSource.web.js +68 -0
- package/dist/InteractionBinding.web.d.ts +7 -0
- package/dist/InteractionBinding.web.js +35 -0
- package/dist/Layer.d.ts +2 -0
- package/dist/Layer.js +21 -0
- package/dist/Layer.web.d.ts +2 -0
- package/dist/Layer.web.js +46 -0
- package/dist/LayerStyle.web.d.ts +10 -0
- package/dist/LayerStyle.web.js +45 -0
- package/dist/LightBinding.web.d.ts +5 -0
- package/dist/LightBinding.web.js +19 -0
- package/dist/MapAttribution.d.ts +27 -0
- package/dist/MapAttribution.js +149 -0
- package/dist/MapBrand.d.ts +22 -0
- package/dist/MapBrand.js +91 -0
- package/dist/MapErrorState.d.ts +9 -0
- package/dist/MapErrorState.js +58 -0
- package/dist/MapPlugin.d.ts +6 -0
- package/dist/MapPlugin.js +3 -0
- package/dist/MapPlugin.web.d.ts +2 -0
- package/dist/MapPlugin.web.js +43 -0
- package/dist/MapView.d.ts +2 -0
- package/dist/MapView.js +425 -0
- package/dist/MapView.web.d.ts +5 -0
- package/dist/MapView.web.js +418 -0
- package/dist/Marker.d.ts +13 -0
- package/dist/Marker.js +11 -0
- package/dist/Marker.web.d.ts +15 -0
- package/dist/Marker.web.js +51 -0
- package/dist/Markers.d.ts +2 -0
- package/dist/Markers.js +13 -0
- package/dist/Markers.web.d.ts +2 -0
- package/dist/Markers.web.js +13 -0
- package/dist/PluginProps.web.d.ts +7 -0
- package/dist/PluginProps.web.js +19 -0
- package/dist/RasterDEMSource.d.ts +2 -0
- package/dist/RasterDEMSource.js +7 -0
- package/dist/RasterDEMSource.web.d.ts +2 -0
- package/dist/RasterDEMSource.web.js +44 -0
- package/dist/SourceData.web.d.ts +6 -0
- package/dist/SourceData.web.js +14 -0
- package/dist/UserLocation.d.ts +2 -0
- package/dist/UserLocation.js +19 -0
- package/dist/UserLocation.web.d.ts +2 -0
- package/dist/UserLocation.web.js +21 -0
- package/dist/brand/BrandedChrome.d.ts +47 -0
- package/dist/brand/BrandedChrome.js +51 -0
- package/dist/brand/GowayLogo.d.ts +28 -0
- package/dist/brand/GowayLogo.js +49 -0
- package/dist/brand/artwork.d.ts +130 -0
- package/dist/brand/artwork.js +176 -0
- package/dist/brand/logoAccessibility.d.ts +26 -0
- package/dist/brand/logoAccessibility.js +7 -0
- package/dist/cameraReports.web.d.ts +50 -0
- package/dist/cameraReports.web.js +117 -0
- package/dist/cameraTarget.d.ts +14 -0
- package/dist/cameraTarget.js +8 -0
- package/dist/chromeLift.d.ts +15 -0
- package/dist/chromeLift.js +15 -0
- package/dist/clusters.d.ts +57 -0
- package/dist/clusters.js +102 -0
- package/dist/commands.web.d.ts +16 -0
- package/dist/commands.web.js +158 -0
- package/dist/compactCredit.d.ts +52 -0
- package/dist/compactCredit.js +40 -0
- package/dist/creditHeight.d.ts +3 -0
- package/dist/creditHeight.js +12 -0
- package/dist/creditLabels.d.ts +30 -0
- package/dist/creditLabels.js +30 -0
- package/dist/creditRise.d.ts +28 -0
- package/dist/creditRise.js +33 -0
- package/dist/dragAxes.web.d.ts +65 -0
- package/dist/dragAxes.web.js +70 -0
- package/dist/engineContext.web.d.ts +13 -0
- package/dist/engineContext.web.js +12 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +12 -0
- package/dist/index.web.d.ts +13 -0
- package/dist/index.web.js +13 -0
- package/dist/labels.d.ts +202 -0
- package/dist/labels.js +451 -0
- package/dist/loadedCamera.d.ts +64 -0
- package/dist/loadedCamera.js +56 -0
- package/dist/locationStore.d.ts +16 -0
- package/dist/locationStore.js +132 -0
- package/dist/mapRef.d.ts +4 -0
- package/dist/mapRef.js +13 -0
- package/dist/moveMarkers.d.ts +27 -0
- package/dist/moveMarkers.js +22 -0
- package/dist/nativeCameraReports.d.ts +44 -0
- package/dist/nativeCameraReports.js +73 -0
- package/dist/plugin.d.ts +63 -0
- package/dist/plugin.js +2 -0
- package/dist/queryLayers.d.ts +19 -0
- package/dist/queryLayers.js +54 -0
- package/dist/shared-exports.d.ts +17 -0
- package/dist/shared-exports.js +13 -0
- package/dist/shared.d.ts +170 -0
- package/dist/shared.js +337 -0
- package/dist/sourceContext.d.ts +2 -0
- package/dist/sourceContext.js +9 -0
- package/dist/styleUrl.d.ts +19 -0
- package/dist/styleUrl.js +22 -0
- package/dist/testing.d.ts +41 -0
- package/dist/testing.js +80 -0
- package/dist/types.d.ts +348 -0
- package/dist/types.js +1 -0
- package/dist/useMarkerSlots.d.ts +6 -0
- package/dist/useMarkerSlots.js +56 -0
- package/dist/useUserLocation.d.ts +44 -0
- package/dist/useUserLocation.js +247 -0
- package/dist/zoom.d.ts +2 -0
- package/dist/zoom.js +10 -0
- package/metro.cjs +70 -0
- package/package.json +115 -4
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* `<UserLocation>`, native — Bloom's location puck at the reader's position,
|
|
4
|
+
* the same component as on the web. Drawn only against a permission ALREADY
|
|
5
|
+
* granted (`locationStore.ts`): a map that renders this never prompts.
|
|
6
|
+
*/
|
|
7
|
+
import { useSyncExternalStore } from 'react';
|
|
8
|
+
import { LocationPuck } from '@oxy.so/bloom/location-puck';
|
|
9
|
+
import { userPosition } from './locationStore';
|
|
10
|
+
import { Marker } from './Marker';
|
|
11
|
+
export function UserLocation({ visible = true }) {
|
|
12
|
+
return visible ? _jsx(DrawnUserLocation, {}) : null;
|
|
13
|
+
}
|
|
14
|
+
function DrawnUserLocation() {
|
|
15
|
+
const position = useSyncExternalStore(userPosition.subscribe, userPosition.getSnapshot, userPosition.getSnapshot);
|
|
16
|
+
if (!position)
|
|
17
|
+
return null;
|
|
18
|
+
return (_jsx(Marker, { coordinate: position, children: _jsx(LocationPuck, { state: "located", testID: "map-user-location" }) }));
|
|
19
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* `<UserLocation>`, web — Bloom's location puck at the reader's position.
|
|
4
|
+
*
|
|
5
|
+
* Drawn only against a permission ALREADY granted (`locationStore.ts`): a map
|
|
6
|
+
* that renders this never prompts. Ask with `useUserLocation()` from the
|
|
7
|
+
* reader's own tap.
|
|
8
|
+
*/
|
|
9
|
+
import { useSyncExternalStore } from 'react';
|
|
10
|
+
import { LocationPuck } from '@oxy.so/bloom/location-puck';
|
|
11
|
+
import { userPosition } from './locationStore';
|
|
12
|
+
import { Marker } from './Marker.web';
|
|
13
|
+
export function UserLocation({ visible = true }) {
|
|
14
|
+
return visible ? _jsx(DrawnUserLocation, {}) : null;
|
|
15
|
+
}
|
|
16
|
+
function DrawnUserLocation() {
|
|
17
|
+
const position = useSyncExternalStore(userPosition.subscribe, userPosition.getSnapshot, userPosition.getSnapshot);
|
|
18
|
+
if (!position)
|
|
19
|
+
return null;
|
|
20
|
+
return (_jsx(Marker, { coordinate: position, children: _jsx(LocationPuck, { state: "located", testID: "map-user-location" }) }));
|
|
21
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the surface around the map is already showing GoWay's brand.
|
|
3
|
+
*
|
|
4
|
+
* ## The problem this solves
|
|
5
|
+
*
|
|
6
|
+
* `MapBrand` puts the logo on every map, with no `enabled` prop and no way for
|
|
7
|
+
* a screen to turn it off — the same reasoning as `MapAttribution`: a mark
|
|
8
|
+
* that must be on every map cannot be something each screen remembers to add.
|
|
9
|
+
*
|
|
10
|
+
* On a surface whose own chrome already carries the GoWay logo (GoWay's own
|
|
11
|
+
* map screen) it is redundant: the badge in the corner is the brand twice on
|
|
12
|
+
* one screen, and the second one is sitting on the cartography.
|
|
13
|
+
*
|
|
14
|
+
* ## Why a context rather than a prop
|
|
15
|
+
*
|
|
16
|
+
* A `brand={false}` prop on `MapView` would hand every screen the ability to
|
|
17
|
+
* remove the mark by writing one word, which is the property `MapBrand` exists
|
|
18
|
+
* to deny. This inverts it: the badge is on by default, and a surface that
|
|
19
|
+
* ALREADY shows the brand declares so, once, where it draws it.
|
|
20
|
+
*
|
|
21
|
+
* The failure modes are what make it safe. Forget the provider and the badge
|
|
22
|
+
* appears — the brand twice on one screen, ugly and immediately visible. Forget
|
|
23
|
+
* it in an embed and nothing happens at all, because an embed has no chrome to
|
|
24
|
+
* mount it from. No arrangement of mistakes produces an UNBRANDED map in
|
|
25
|
+
* somebody else's page, which is the only outcome that actually matters.
|
|
26
|
+
*
|
|
27
|
+
* Not a boolean threaded down as a prop either: between a screen and the
|
|
28
|
+
* `<MapBrand />` inside `MapView` are components with no opinion about
|
|
29
|
+
* branding, and a prop crossing each of them is another chance to drop it.
|
|
30
|
+
*/
|
|
31
|
+
import { type ReactNode } from 'react';
|
|
32
|
+
/**
|
|
33
|
+
* Declares that this subtree's chrome already shows the GoWay logo.
|
|
34
|
+
*
|
|
35
|
+
* Only for chrome that really draws the GoWay logo above the map. An embed in
|
|
36
|
+
* somebody else's page never mounts it — that is the case the badge exists for.
|
|
37
|
+
*/
|
|
38
|
+
export declare function BrandedChromeProvider({ children }: {
|
|
39
|
+
children: ReactNode;
|
|
40
|
+
}): import("react").JSX.Element;
|
|
41
|
+
/**
|
|
42
|
+
* `true` when something above this component already shows the brand.
|
|
43
|
+
*
|
|
44
|
+
* Defaults to `false`, which is the whole design: a map rendered anywhere that
|
|
45
|
+
* has not said otherwise gets the badge.
|
|
46
|
+
*/
|
|
47
|
+
export declare function useBrandedChrome(): boolean;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Whether the surface around the map is already showing GoWay's brand.
|
|
4
|
+
*
|
|
5
|
+
* ## The problem this solves
|
|
6
|
+
*
|
|
7
|
+
* `MapBrand` puts the logo on every map, with no `enabled` prop and no way for
|
|
8
|
+
* a screen to turn it off — the same reasoning as `MapAttribution`: a mark
|
|
9
|
+
* that must be on every map cannot be something each screen remembers to add.
|
|
10
|
+
*
|
|
11
|
+
* On a surface whose own chrome already carries the GoWay logo (GoWay's own
|
|
12
|
+
* map screen) it is redundant: the badge in the corner is the brand twice on
|
|
13
|
+
* one screen, and the second one is sitting on the cartography.
|
|
14
|
+
*
|
|
15
|
+
* ## Why a context rather than a prop
|
|
16
|
+
*
|
|
17
|
+
* A `brand={false}` prop on `MapView` would hand every screen the ability to
|
|
18
|
+
* remove the mark by writing one word, which is the property `MapBrand` exists
|
|
19
|
+
* to deny. This inverts it: the badge is on by default, and a surface that
|
|
20
|
+
* ALREADY shows the brand declares so, once, where it draws it.
|
|
21
|
+
*
|
|
22
|
+
* The failure modes are what make it safe. Forget the provider and the badge
|
|
23
|
+
* appears — the brand twice on one screen, ugly and immediately visible. Forget
|
|
24
|
+
* it in an embed and nothing happens at all, because an embed has no chrome to
|
|
25
|
+
* mount it from. No arrangement of mistakes produces an UNBRANDED map in
|
|
26
|
+
* somebody else's page, which is the only outcome that actually matters.
|
|
27
|
+
*
|
|
28
|
+
* Not a boolean threaded down as a prop either: between a screen and the
|
|
29
|
+
* `<MapBrand />` inside `MapView` are components with no opinion about
|
|
30
|
+
* branding, and a prop crossing each of them is another chance to drop it.
|
|
31
|
+
*/
|
|
32
|
+
import { createContext, useContext } from 'react';
|
|
33
|
+
const BrandedChromeContext = createContext(false);
|
|
34
|
+
/**
|
|
35
|
+
* Declares that this subtree's chrome already shows the GoWay logo.
|
|
36
|
+
*
|
|
37
|
+
* Only for chrome that really draws the GoWay logo above the map. An embed in
|
|
38
|
+
* somebody else's page never mounts it — that is the case the badge exists for.
|
|
39
|
+
*/
|
|
40
|
+
export function BrandedChromeProvider({ children }) {
|
|
41
|
+
return _jsx(BrandedChromeContext.Provider, { value: true, children: children });
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* `true` when something above this component already shows the brand.
|
|
45
|
+
*
|
|
46
|
+
* Defaults to `false`, which is the whole design: a map rendered anywhere that
|
|
47
|
+
* has not said otherwise gets the badge.
|
|
48
|
+
*/
|
|
49
|
+
export function useBrandedChrome() {
|
|
50
|
+
return useContext(BrandedChromeContext);
|
|
51
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which drawing to render.
|
|
3
|
+
*
|
|
4
|
+
* - `wordmark` — "GO" over "WAY", the full lockup. Unreadable below ~48px.
|
|
5
|
+
* - `mark` — the "G" bubble alone. The one to use below that; see the note on
|
|
6
|
+
* {@link GOWAY_MARK} for where even it stops reading.
|
|
7
|
+
*/
|
|
8
|
+
export type GowayLogoVariant = 'wordmark' | 'mark';
|
|
9
|
+
export interface GowayLogoProps {
|
|
10
|
+
/** Rendered width in px. The height follows the artwork's aspect ratio. */
|
|
11
|
+
width: number;
|
|
12
|
+
/** Defaults to the full lockup. */
|
|
13
|
+
variant?: GowayLogoVariant;
|
|
14
|
+
/**
|
|
15
|
+
* Accessible name.
|
|
16
|
+
*
|
|
17
|
+
* Defaults to `GoWay` because that is what the image says; pass something
|
|
18
|
+
* else only where the logo means more than itself (a link, a button), and
|
|
19
|
+
* pass `''` where it sits beside a label that already reads "GoWay".
|
|
20
|
+
*/
|
|
21
|
+
label?: string;
|
|
22
|
+
testID?: string;
|
|
23
|
+
}
|
|
24
|
+
/** The height that {@link GowayLogo} will render at a given width. */
|
|
25
|
+
export declare function gowayLogoHeight(width: number, variant?: GowayLogoVariant): number;
|
|
26
|
+
declare function GowayLogoComponent({ width, variant, label, testID, }: GowayLogoProps): import("react").JSX.Element;
|
|
27
|
+
export declare const GowayLogo: import("react").MemoExoticComponent<typeof GowayLogoComponent>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The GoWay logo as a component — one implementation, web and native.
|
|
4
|
+
*
|
|
5
|
+
* It draws {@link artwork} through `react-native-svg`, which resolves to a real
|
|
6
|
+
* `<svg>` on web and to the native SVG views on iOS and Android, so there is no
|
|
7
|
+
* `.web.tsx`/`.native.tsx` fork to drift and no platform where the brand is a
|
|
8
|
+
* different drawing.
|
|
9
|
+
*
|
|
10
|
+
* **Nothing here loads a file.** A logo fetched over the network is a logo that
|
|
11
|
+
* can fail to arrive — a slow link, a bad deploy, a 404 on a path that moved —
|
|
12
|
+
* and it fails by being *absent*, which is the one failure a brand mark must
|
|
13
|
+
* not have. Inlining the geometry makes the logo part of the bundle: if the app
|
|
14
|
+
* rendered, the logo rendered. `public/brand/*.svg` exists for the cases that
|
|
15
|
+
* genuinely need a URL (the favicon, an `<img>` in somebody else's page) and is
|
|
16
|
+
* generated from the same data by `scripts/build-brand.ts`.
|
|
17
|
+
*
|
|
18
|
+
* ## Size is given as a width, never as a height and never as both
|
|
19
|
+
*
|
|
20
|
+
* The two variants have very different aspect ratios — 1.582:1 for the wordmark
|
|
21
|
+
* and 0.98:1 for the mark — so a caller that sets both will letterbox one of
|
|
22
|
+
* them. `width` is the single input and the height follows from the artwork's
|
|
23
|
+
* own `viewBox`, which also means a future artwork revision re-proportions
|
|
24
|
+
* every call site instead of cropping in some of them.
|
|
25
|
+
*/
|
|
26
|
+
import { memo } from 'react';
|
|
27
|
+
import { Platform } from 'react-native';
|
|
28
|
+
import Svg, { Path } from 'react-native-svg';
|
|
29
|
+
import { GOWAY_INK, GOWAY_MARK, GOWAY_WORDMARK, aspectRatio } from './artwork';
|
|
30
|
+
import { logoAccessibility } from './logoAccessibility';
|
|
31
|
+
const ARTWORK = {
|
|
32
|
+
wordmark: GOWAY_WORDMARK,
|
|
33
|
+
mark: GOWAY_MARK,
|
|
34
|
+
};
|
|
35
|
+
/** The height that {@link GowayLogo} will render at a given width. */
|
|
36
|
+
export function gowayLogoHeight(width, variant = 'wordmark') {
|
|
37
|
+
return width / aspectRatio(ARTWORK[variant]);
|
|
38
|
+
}
|
|
39
|
+
function GowayLogoComponent({ width, variant = 'wordmark', label = 'GoWay', testID, }) {
|
|
40
|
+
const artwork = ARTWORK[variant];
|
|
41
|
+
const height = gowayLogoHeight(width, variant);
|
|
42
|
+
return (_jsx(Svg, { width: width, height: height, viewBox: artwork.viewBox, ...logoAccessibility(label, Platform.OS), testID: testID, children: artwork.paths.map((path, index) => (
|
|
43
|
+
// Index keys: the array is a fixed, ordered drawing, never reordered
|
|
44
|
+
// and never filtered by anything but `part`. Draw order is the artwork
|
|
45
|
+
// (see `artwork.ts`), so a key that survived a reorder would be a bug.
|
|
46
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: a fixed, never-reordered drawing (see above).
|
|
47
|
+
_jsx(Path, { fill: GOWAY_INK[path.ink], d: path.d }, `${path.part}-${path.layer}-${index}`))) }));
|
|
48
|
+
}
|
|
49
|
+
export const GowayLogo = memo(GowayLogoComponent);
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The GoWay logo, as geometry.
|
|
3
|
+
*
|
|
4
|
+
* This file is the MASTER. `goway.source.svg` beside it is the unmodified
|
|
5
|
+
* artwork as it was delivered — 118 kB, twelve `<path>` elements buried under
|
|
6
|
+
* 69 `<g>` and five nested `clipPath`s, with a `viewBox` 42% taller and 23%
|
|
7
|
+
* wider than the ink it contains. It is kept for provenance and is imported by
|
|
8
|
+
* nothing; every GoWay logo anywhere is drawn from the data below.
|
|
9
|
+
*
|
|
10
|
+
* ## What was done to it, and how that was proved
|
|
11
|
+
*
|
|
12
|
+
* The export tool's structure carried no information. Every transform in it was
|
|
13
|
+
* a pure translation, so each was folded into its path's coordinates; the clip
|
|
14
|
+
* paths turned out to clip nothing, so they went; the `viewBox` was cropped to
|
|
15
|
+
* the measured ink box (x 210.51, y 256.45, w 1404.59, h 887.91), which is what
|
|
16
|
+
* removes the phantom padding an `<img>` used to inherit; and coordinates were
|
|
17
|
+
* re-encoded relative to a QUANTISED current point at two decimal places, so
|
|
18
|
+
* the rounding error stays bounded at 0.005 units instead of accumulating along
|
|
19
|
+
* a contour. 118,067 bytes became 53,496 — 55% smaller.
|
|
20
|
+
*
|
|
21
|
+
* That is a lot of surgery on artwork, so it was measured rather than asserted.
|
|
22
|
+
* Original and rewrite were rendered by the same headless Chromium at
|
|
23
|
+
* 1405x888 (one unit per pixel) and compared pixel by pixel:
|
|
24
|
+
*
|
|
25
|
+
* flattened, NO rounding at all 0.598% of pixels differ, max delta 70/255
|
|
26
|
+
* this file (relative, 2 dp) 0.630% of pixels differ, max delta 70/255
|
|
27
|
+
* the same data at 0 dp 44.6% differ, max delta 255 — destroyed
|
|
28
|
+
*
|
|
29
|
+
* The 0.598% is the floor, not the error: it is what removing the nested
|
|
30
|
+
* `<g clip-path>` layers costs on its own, because Chromium composites each one
|
|
31
|
+
* through an offscreen buffer and antialiases the seam between the outline and
|
|
32
|
+
* the fill differently when it does. Rounding to two decimal places adds 0.03
|
|
33
|
+
* percentage points on top of that, every differing pixel is an antialiased
|
|
34
|
+
* edge blend, and the average difference on those pixels is 3 levels out of
|
|
35
|
+
* 255. At the size the badge actually draws (90 px wide) the two renders differ
|
|
36
|
+
* on 165 of 5,130 pixels by an average of 4 levels — which is to say, they do
|
|
37
|
+
* not differ. **0 dp is recorded because it is a trap**: integer coordinates
|
|
38
|
+
* collapse short segments, the non-zero fill rule flips, and the wordmark comes
|
|
39
|
+
* apart. Do not "simplify" the precision further.
|
|
40
|
+
*
|
|
41
|
+
* ## Why geometry and not a file
|
|
42
|
+
*
|
|
43
|
+
* Because a logo that arrives over the network is a logo that can fail to
|
|
44
|
+
* arrive. `MapBrand` renders these paths through `react-native-svg`, which
|
|
45
|
+
* makes the brand part of the bundle on web and native alike: no second
|
|
46
|
+
* request, no 404 after a bad deploy, nothing an embedder's page can interfere
|
|
47
|
+
* with, and one implementation rather than a web fork and a native fork that
|
|
48
|
+
* drift. GoWay's app writes its `public/brand/*.svg` back out FROM this file
|
|
49
|
+
* for the cases that genuinely need a URL (the favicon, an `<img>` in
|
|
50
|
+
* somebody's README), and its `brand:check` fails if those files drift.
|
|
51
|
+
*
|
|
52
|
+
* ## Draw order is load-bearing
|
|
53
|
+
*
|
|
54
|
+
* The outlines are drawn first and the fills over them, and "G" and "O"
|
|
55
|
+
* overlap horizontally (x 869.8–952.0), so O's outline sits UNDER G's fill.
|
|
56
|
+
* Re-sorting this array by ink, or by part, changes the artwork. Filtering it
|
|
57
|
+
* preserves the order and is safe — that is how {@link GOWAY_MARK} is derived.
|
|
58
|
+
*/
|
|
59
|
+
/**
|
|
60
|
+
* The three colours the artwork is made of, and the only three it may use.
|
|
61
|
+
*
|
|
62
|
+
* These are INK, not theme. Bloom owns `--primary` and `BloomThemeProvider`
|
|
63
|
+
* rewrites it at runtime from the user's chosen Oxy theme; a logo that followed
|
|
64
|
+
* it would be a different logo in every theme, which is the one thing a logo
|
|
65
|
+
* may not be. So GoWay's blue sits BESIDE Bloom's primary rather than
|
|
66
|
+
* overriding it — overriding would also repaint every Bloom control in the app
|
|
67
|
+
* — and GoWay's app declares the same two values as `--color-brand-goway` and
|
|
68
|
+
* `--color-brand-goway-tint` for its className side, with its artwork test
|
|
69
|
+
* failing if the two spellings ever disagree.
|
|
70
|
+
*
|
|
71
|
+
* `way` is a literal white because the "WAY" counters are white in the artwork,
|
|
72
|
+
* not because the surface behind them is light. It stays white on a dark map.
|
|
73
|
+
*/
|
|
74
|
+
export declare const GOWAY_INK: {
|
|
75
|
+
/** The heavy outline that carries the mark on any background. */
|
|
76
|
+
readonly outline: "#004aad";
|
|
77
|
+
/** The "GO" bubble fill. */
|
|
78
|
+
readonly go: "#acd0ff";
|
|
79
|
+
/** The "WAY" bubble fill. */
|
|
80
|
+
readonly way: "#ffffff";
|
|
81
|
+
};
|
|
82
|
+
export type GowayInk = keyof typeof GOWAY_INK;
|
|
83
|
+
/** Which letter a path belongs to. `g` alone is {@link GOWAY_MARK}. */
|
|
84
|
+
export type GowayPart = 'g' | 'o' | 'w' | 'a' | 'y';
|
|
85
|
+
export interface GowayPath {
|
|
86
|
+
/** The letter this contour belongs to. */
|
|
87
|
+
readonly part: GowayPart;
|
|
88
|
+
/** `outline` is drawn first, `fill` over it. */
|
|
89
|
+
readonly layer: 'outline' | 'fill';
|
|
90
|
+
/** Which of {@link GOWAY_INK} paints it. */
|
|
91
|
+
readonly ink: GowayInk;
|
|
92
|
+
/** SVG path data, in the wordmark's coordinate space. */
|
|
93
|
+
readonly d: string;
|
|
94
|
+
}
|
|
95
|
+
export declare const GOWAY_PATHS: readonly GowayPath[];
|
|
96
|
+
/**
|
|
97
|
+
* The full lockup: "GO" stacked over "WAY", cropped to its ink.
|
|
98
|
+
*
|
|
99
|
+
* 1.582:1. Everything in {@link GOWAY_PATHS}, in order.
|
|
100
|
+
*/
|
|
101
|
+
export declare const GOWAY_WORDMARK: {
|
|
102
|
+
readonly viewBox: "0 0 1404.59 887.9";
|
|
103
|
+
readonly paths: readonly GowayPath[];
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* The compact mark: the "G" bubble alone, a 0.98:1 near-square.
|
|
107
|
+
*
|
|
108
|
+
* Not a second drawing — the same two contours as the wordmark, seen through a
|
|
109
|
+
* `viewBox` that crops to them. That is why it can never drift from the logo.
|
|
110
|
+
*
|
|
111
|
+
* **Its honest limit is 16 px.** Rendered at 16, 32 and 64 CSS px and looked
|
|
112
|
+
* at: at 32 and above it is unmistakably a bubble G, spur and all. At 16 the
|
|
113
|
+
* heavy outline closes the counter and it reads as a round blue letter-shape
|
|
114
|
+
* rather than as a G. That is acceptable here only because it is shipped as
|
|
115
|
+
* SVG — a 16 px tab slot on a 2x display rasterises it at 32 device pixels,
|
|
116
|
+
* where it reads. Do NOT bake a 16x16 PNG from this and call it a favicon.
|
|
117
|
+
* The wordmark is worse: it is unreadable below about 48 px, which is why it
|
|
118
|
+
* is never the icon.
|
|
119
|
+
*/
|
|
120
|
+
export declare const GOWAY_MARK: {
|
|
121
|
+
readonly viewBox: "288.87 0 452.59 461.62";
|
|
122
|
+
readonly paths: GowayPath[];
|
|
123
|
+
};
|
|
124
|
+
/** What {@link GOWAY_WORDMARK} and {@link GOWAY_MARK} both are. */
|
|
125
|
+
export interface GowayArtwork {
|
|
126
|
+
readonly viewBox: string;
|
|
127
|
+
readonly paths: readonly GowayPath[];
|
|
128
|
+
}
|
|
129
|
+
/** Width ÷ height, from the `viewBox`, for laying a logo out without magic numbers. */
|
|
130
|
+
export declare function aspectRatio(artwork: GowayArtwork): number;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The GoWay logo, as geometry.
|
|
3
|
+
*
|
|
4
|
+
* This file is the MASTER. `goway.source.svg` beside it is the unmodified
|
|
5
|
+
* artwork as it was delivered — 118 kB, twelve `<path>` elements buried under
|
|
6
|
+
* 69 `<g>` and five nested `clipPath`s, with a `viewBox` 42% taller and 23%
|
|
7
|
+
* wider than the ink it contains. It is kept for provenance and is imported by
|
|
8
|
+
* nothing; every GoWay logo anywhere is drawn from the data below.
|
|
9
|
+
*
|
|
10
|
+
* ## What was done to it, and how that was proved
|
|
11
|
+
*
|
|
12
|
+
* The export tool's structure carried no information. Every transform in it was
|
|
13
|
+
* a pure translation, so each was folded into its path's coordinates; the clip
|
|
14
|
+
* paths turned out to clip nothing, so they went; the `viewBox` was cropped to
|
|
15
|
+
* the measured ink box (x 210.51, y 256.45, w 1404.59, h 887.91), which is what
|
|
16
|
+
* removes the phantom padding an `<img>` used to inherit; and coordinates were
|
|
17
|
+
* re-encoded relative to a QUANTISED current point at two decimal places, so
|
|
18
|
+
* the rounding error stays bounded at 0.005 units instead of accumulating along
|
|
19
|
+
* a contour. 118,067 bytes became 53,496 — 55% smaller.
|
|
20
|
+
*
|
|
21
|
+
* That is a lot of surgery on artwork, so it was measured rather than asserted.
|
|
22
|
+
* Original and rewrite were rendered by the same headless Chromium at
|
|
23
|
+
* 1405x888 (one unit per pixel) and compared pixel by pixel:
|
|
24
|
+
*
|
|
25
|
+
* flattened, NO rounding at all 0.598% of pixels differ, max delta 70/255
|
|
26
|
+
* this file (relative, 2 dp) 0.630% of pixels differ, max delta 70/255
|
|
27
|
+
* the same data at 0 dp 44.6% differ, max delta 255 — destroyed
|
|
28
|
+
*
|
|
29
|
+
* The 0.598% is the floor, not the error: it is what removing the nested
|
|
30
|
+
* `<g clip-path>` layers costs on its own, because Chromium composites each one
|
|
31
|
+
* through an offscreen buffer and antialiases the seam between the outline and
|
|
32
|
+
* the fill differently when it does. Rounding to two decimal places adds 0.03
|
|
33
|
+
* percentage points on top of that, every differing pixel is an antialiased
|
|
34
|
+
* edge blend, and the average difference on those pixels is 3 levels out of
|
|
35
|
+
* 255. At the size the badge actually draws (90 px wide) the two renders differ
|
|
36
|
+
* on 165 of 5,130 pixels by an average of 4 levels — which is to say, they do
|
|
37
|
+
* not differ. **0 dp is recorded because it is a trap**: integer coordinates
|
|
38
|
+
* collapse short segments, the non-zero fill rule flips, and the wordmark comes
|
|
39
|
+
* apart. Do not "simplify" the precision further.
|
|
40
|
+
*
|
|
41
|
+
* ## Why geometry and not a file
|
|
42
|
+
*
|
|
43
|
+
* Because a logo that arrives over the network is a logo that can fail to
|
|
44
|
+
* arrive. `MapBrand` renders these paths through `react-native-svg`, which
|
|
45
|
+
* makes the brand part of the bundle on web and native alike: no second
|
|
46
|
+
* request, no 404 after a bad deploy, nothing an embedder's page can interfere
|
|
47
|
+
* with, and one implementation rather than a web fork and a native fork that
|
|
48
|
+
* drift. GoWay's app writes its `public/brand/*.svg` back out FROM this file
|
|
49
|
+
* for the cases that genuinely need a URL (the favicon, an `<img>` in
|
|
50
|
+
* somebody's README), and its `brand:check` fails if those files drift.
|
|
51
|
+
*
|
|
52
|
+
* ## Draw order is load-bearing
|
|
53
|
+
*
|
|
54
|
+
* The outlines are drawn first and the fills over them, and "G" and "O"
|
|
55
|
+
* overlap horizontally (x 869.8–952.0), so O's outline sits UNDER G's fill.
|
|
56
|
+
* Re-sorting this array by ink, or by part, changes the artwork. Filtering it
|
|
57
|
+
* preserves the order and is safe — that is how {@link GOWAY_MARK} is derived.
|
|
58
|
+
*/
|
|
59
|
+
/**
|
|
60
|
+
* The three colours the artwork is made of, and the only three it may use.
|
|
61
|
+
*
|
|
62
|
+
* These are INK, not theme. Bloom owns `--primary` and `BloomThemeProvider`
|
|
63
|
+
* rewrites it at runtime from the user's chosen Oxy theme; a logo that followed
|
|
64
|
+
* it would be a different logo in every theme, which is the one thing a logo
|
|
65
|
+
* may not be. So GoWay's blue sits BESIDE Bloom's primary rather than
|
|
66
|
+
* overriding it — overriding would also repaint every Bloom control in the app
|
|
67
|
+
* — and GoWay's app declares the same two values as `--color-brand-goway` and
|
|
68
|
+
* `--color-brand-goway-tint` for its className side, with its artwork test
|
|
69
|
+
* failing if the two spellings ever disagree.
|
|
70
|
+
*
|
|
71
|
+
* `way` is a literal white because the "WAY" counters are white in the artwork,
|
|
72
|
+
* not because the surface behind them is light. It stays white on a dark map.
|
|
73
|
+
*/
|
|
74
|
+
export const GOWAY_INK = {
|
|
75
|
+
/** The heavy outline that carries the mark on any background. */
|
|
76
|
+
outline: '#004aad',
|
|
77
|
+
/** The "GO" bubble fill. */
|
|
78
|
+
go: '#acd0ff',
|
|
79
|
+
/** The "WAY" bubble fill. */
|
|
80
|
+
way: '#ffffff',
|
|
81
|
+
};
|
|
82
|
+
export const GOWAY_PATHS = [
|
|
83
|
+
{
|
|
84
|
+
part: 'g',
|
|
85
|
+
layer: 'outline',
|
|
86
|
+
ink: 'outline',
|
|
87
|
+
d: 'm512.77 132.86 185.18-9.57 15.28 19.95c17.03 22.25 26.36 48.97 27.97 80.16 1.6 30.9-4.1 57.36-17.1 79.39l-13.04 22.09-36.69 1.89-2.46-47.68 47.68-2.46 5.31 102.73-15.69 15.11c-21.54 20.75-46.8 36.73-75.77 47.94-27.76 10.75-58.71 17-92.87 18.77-42.38 2.19-80.89-3.58-115.52-17.31-39.4-15.31-70.81-39.35-94.23-72.15-25.05-35.06-38.89-77.93-41.51-128.61-1.83-35.37 2.01-67.49 11.51-96.36 9.98-30.32 26-56.65 48.05-78.98 20.57-20.98 45.13-37.14 73.65-48.5 27.16-10.8 57.67-17.09 91.53-18.84 33.46-1.73 65.48 1.7 96.05 10.27 31.56 8.84 57.42 21.1 77.58 36.79l17.24 13.41 1.13 21.81c.7 13.43-.01 29.35-2.11 47.76-2.31 20.26-6.09 36.72-11.35 49.35l-11.57 27.79-172.31 8.9-2.47-47.68 36.42 30.89c-.64 .74-1.43 1.98-2.37 3.7-1.47 2.67-2.95 5.96-4.45 9.85-2.1 5.47-2.94 12.29-2.52 20.47 .28 5.32 1.03 9.63 2.27 12.92 .64 1.7 1.36 2.96 2.16 3.78 .47 .49 .73 .77 .79 .82-.03-.03-.07-.06-.14-.11-.33-.23-.71-.43-1.15-.6-.42-.17-.81-.28-1.17-.34-.06-.01-.09-.01-.1-.01 .12 0 .27 0 .45-.01-2.15 .11-4.43 .51-6.83 1.19-4.77 1.35-9.22 3.62-13.35 6.78-5.99 4.59-10.45 10.38-13.41 17.37-2.52 5.97-3.62 12.11-3.3 18.42l-.32-6.2 47.69-2.47 2.46 47.69-2.97 .15c-13.04 .67-25.37-1.37-37-6.12-11.48-4.69-21.67-11.79-30.58-21.29-16.27-17.36-25.15-40.49-26.64-69.4-.84-16.13 .76-31.2 4.81-45.22 4.37-15.14 11.45-28.71 21.25-40.72l13.38-16.42Zm4.93 95.37-2.46-47.69 37 30.18c-3.61 4.43-5.18 11.32-4.7 20.66 .21 4.05 .71 7.17 1.48 9.37 .12 .36 .21 .57 .26 .66-.18-.31-.44-.64-.78-1-.6-.64-1.59-1.24-2.98-1.81-1.53-.63-2.88-.91-4.05-.85l50.66-2.62 2.78 53.89c.43 8.29-.94 16.19-4.11 23.68-3.59 8.52-9.08 15.6-16.45 21.25-9.24 7.08-20.23 10.95-32.99 11.61-13.99 .72-27.18-1.39-39.56-6.34-12.44-4.97-23.28-12.37-32.51-22.19-10.06-10.35-17.76-22.6-23.08-36.74-4.72-12.55-7.47-26.42-8.26-41.62-1.12-21.69 1.8-41.59 8.76-59.69 6.48-16.82 14.18-30.5 23.12-41.04l13.35-15.73 162.86-8.42 2.47 47.68-44.08-18.34c1.8-4.33 3.34-12.16 4.63-23.48 1.51-13.17 2.04-23.84 1.62-32.01l47.69-2.46-29.32 37.69c-10.29-8.01-25.2-14.75-44.73-20.23-20.52-5.75-42.3-8.03-65.34-6.84-44.84 2.32-78.89 15.34-102.16 39.06-11.55 11.7-19.98 25.62-25.29 41.74-5.78 17.57-8.06 38.1-6.85 61.58 1.66 32.1 9.61 58.11 23.85 78.04 12.38 17.33 29.61 30.28 51.72 38.87 21.73 8.62 46.87 12.19 75.39 10.71 46.26-2.39 82.04-15.76 107.34-40.12l33.11 34.39-47.68 2.47-6.65-128.67 58.75-3.04 2.47 47.69-41.12-24.27c3.26-5.52 4.58-14.16 3.97-25.92-.59-11.46-3.4-20.47-8.42-27.03l37.91-29.03 2.46 47.68Zm0 0',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
part: 'o',
|
|
91
|
+
layer: 'outline',
|
|
92
|
+
ink: 'outline',
|
|
93
|
+
d: 'm848.51 217.58c.41-7.96 .58-14.52 .51-19.69-.05-3.49-.14-5.61-.28-6.36 .24 1.28 .65 2.68 1.26 4.21 1.22 3.12 2.96 6.1 5.21 8.94 3.47 4.38 7.72 7.9 12.77 10.56 5.32 2.8 10.93 4.35 16.86 4.66 4.34 .22 8.62-.32 12.83-1.64 3.97-1.25 7.59-3.08 10.83-5.52l-28.63-38.2 47.66-2.83c.17 2.91 .47 6.91 .88 12 .61 7.55 .41 21.19-.61 40.94l-.91 17.54c-.71 13.77-1.59 24.19-2.64 31.27l-2.07 14.12-.8 5.93-47.32-6.41 32.42-35.06c-2.98-2.75-6.39-4.95-10.21-6.6-4.06-1.74-8.25-2.72-12.6-2.95-5.92-.3-11.67 .67-17.24 2.91-5.3 2.12-9.89 5.18-13.8 9.18-2.52 2.59-4.56 5.38-6.1 8.36-.76 1.46-1.32 2.81-1.68 4.06 .21-.73 .52-2.83 .93-6.3 .6-5.13 1.11-11.68 1.52-19.64Zm95.37 4.92-1.21 23.48c-1.12 21.76-3.2 37.78-6.24 48.06-3.22 10.9-8.36 19.98-15.45 27.24-5.47 5.61-11.79 9.85-18.95 12.73-7.44 2.98-15.2 4.27-23.28 3.85-7.05-.36-13.79-1.93-20.22-4.69-6.21-2.67-11.84-6.34-16.89-11.01l-18.23-16.86 4.28-31.57 2.11-14.35c.6-4.04 1.17-11.4 1.73-22.11l.9-17.54c.8-15.53 1.07-24.96 .8-28.29-.47-5.78-.82-10.48-1.03-14.08l-1.52-25.63 20.55-15.4c5.5-4.12 11.47-7.19 17.93-9.21 6.68-2.09 13.55-2.96 20.59-2.6 8.09 .42 15.67 2.5 22.76 6.24 6.83 3.6 12.67 8.47 17.54 14.61 6.3 7.95 10.49 17.51 12.57 28.69 1.96 10.53 2.38 26.68 1.26 48.44Zm-70.99 239.57c-39.47-2.04-75.48-12.18-108.02-30.42-34.17-19.18-60.94-46.93-80.3-83.28-19.12-35.9-27.4-78.68-24.84-128.35 1.83-35.51 9-67.31 21.51-95.38 13.08-29.35 31.75-54.24 56.02-74.68 21.68-18.09 45.99-31.22 72.96-39.38 26.07-7.89 54.34-11.05 84.82-9.48 33.08 1.71 62.86 8.55 89.34 20.52 27.53 12.45 51.08 30.2 70.64 53.26 19.23 22.66 33.18 48.41 41.84 77.25 8.35 27.76 11.68 58.08 9.98 90.95-1.85 36.03-8.71 68.01-20.55 95.97-12.59 29.69-30.61 54.54-54.06 74.56-21.34 18.12-45.74 31.22-73.18 39.3-26.19 7.72-54.91 10.77-86.16 9.16Zm4.91-95.37c20.41 1.05 38.49-.75 54.26-5.39 14.51-4.28 27.24-11.05 38.17-20.33 12.03-10.27 21.41-23.34 28.13-39.2 7.46-17.61 11.84-38.81 13.11-63.62 1.13-21.84-.89-41.35-6.06-58.54-4.84-16.11-12.58-30.44-23.21-42.97-10.29-12.13-22.68-21.47-37.16-28.01-15.53-7.03-33.84-11.08-54.92-12.17-19.38-1-36.8 .84-52.24 5.52-14.56 4.4-27.59 11.41-39.1 21.02-13.08 11.01-23.19 24.51-30.31 40.5-7.69 17.26-12.15 37.74-13.37 61.43-1.65 32.04 2.93 58.22 13.76 78.54 10.58 19.87 24.82 34.83 42.73 44.87 19.55 10.96 41.62 17.08 66.21 18.35Zm0 0',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
part: 'g',
|
|
97
|
+
layer: 'fill',
|
|
98
|
+
ink: 'go',
|
|
99
|
+
d: 'm515.23 180.54 160.08-8.29c11.03 14.42 17.1 32.3 18.2 53.63 1.1 21.32-2.41 38.87-10.53 52.62l-11.08 .58 4.19 80.99c-33.87 32.61-79.86 50.42-137.99 53.42-35.44 1.83-67.26-2.83-95.45-14-30.76-11.95-55.09-30.45-72.98-55.52-19.65-27.49-30.54-61.93-32.67-103.33-3.04-58.84 12.23-105.28 45.84-139.32 31.88-32.5 76.44-50.23 133.66-53.19 28.26-1.46 55.17 1.4 80.7 8.56 25.54 7.16 45.92 16.66 61.15 28.5 .56 10.81-.07 24.1-1.85 39.88-1.8 15.78-4.47 27.91-8 36.4l-142.25 7.36c-5.45 6.42-10.44 15.52-14.97 27.3-4.53 11.78-6.42 25.14-5.64 40.08 1.05 20.51 7.01 36.35 17.89 47.53 9.54 10.15 21.32 14.87 35.36 14.14 5.77-.3 8.55-2.43 8.36-6.39l-.33-6.22-2.99 .16c-11.88 .61-21.98-3.51-30.29-12.36-8.31-8.87-12.91-21.94-13.8-39.22-1.12-21.6 4.01-39.37 15.39-53.31Zm0 0',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
part: 'o',
|
|
103
|
+
layer: 'fill',
|
|
104
|
+
ink: 'go',
|
|
105
|
+
d: 'm896.2 220.04c.92-18 .75-30.41-.52-37.23-1.27-6.83-4.07-10.36-8.39-10.59-2.7-.14-5.17 .64-7.42 2.32 .19 3.25 .5 7.6 .94 13.04 .44 5.43 .22 16.97-.69 34.6l-.91 17.55c-.63 12.24-1.37 21.14-2.2 26.69-.82 5.55-1.51 10.3-2.08 14.23-.29 2.15-.58 4.3-.87 6.46 2.06 1.91 4.44 2.94 7.14 3.07 4.32 .24 7.47-2.98 9.44-9.65 1.97-6.67 3.41-19 4.34-37Zm-20.86 194.35c-32.04-1.66-61.09-9.78-87.13-24.38-26.04-14.6-46.54-35.95-61.51-64.06-14.97-28.11-21.4-62.6-19.28-103.45 3.05-59.22 23.25-104.55 60.61-136 33.18-27.71 74.7-40.28 124.56-37.71 54.16 2.8 96.18 21.79 126.03 56.97 29.85 35.19 43.37 80.14 40.55 134.86-3.14 60.83-22.45 106.39-57.94 136.67-32.27 27.4-74.23 39.76-125.89 37.1Zm0 0',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
part: 'w',
|
|
109
|
+
layer: 'outline',
|
|
110
|
+
ink: 'outline',
|
|
111
|
+
d: 'm578.01 588.22c1.81 16.22 3.57 33.74 5.29 52.59 1.91 20.88 2.24 41.83 1 62.84-1.41 23.9-6.43 46.33-15.07 67.28-9.97 24.22-25.86 44.33-47.65 60.35-21.47 15.79-49.14 25.57-83.01 29.35-25.12 2.8-48.09 .76-68.89-6.12-22.25-7.36-41.3-19.91-57.16-37.65-26.14-29.26-44.49-69.22-55.06-119.9l46.1-9.62 5.22 46.8-2.77 .31-5.22-46.8 47.08-1.18c1.3 51.95-7.74 95.17-27.13 129.66-11.65 20.74-27.52 37.13-47.61 49.18-18.8 11.27-40.76 18.32-65.87 21.11-33.86 3.78-63.01 .34-87.43-10.34-24.79-10.82-44.71-26.94-59.78-48.37-13.03-18.54-22.87-39.31-29.52-62.31-5.84-20.22-10.13-40.73-12.86-61.51-2.48-18.77-4.62-36.25-6.43-52.47-1.71-15.37-2.96-28.36-3.75-38.96-.72-9.73-1.54-19.54-2.46-29.44-.93-9.9-2.22-22.3-3.88-37.17-3.04-27.35-.06-51.12 8.97-71.33 9.52-21.33 23.71-37.75 42.57-49.24 16.46-10.05 34.44-16.15 53.93-18.33 18.66-2.08 37.12-.78 55.41 3.92 22.17 5.68 41.07 17.48 56.71 35.41 15.69 17.98 25.21 42.02 28.56 72.12l14.66 131.46c.09 .77 .17 1.37 .25 1.79-.04-.19-.13-.55-.28-1.05-1.88-6.31-5.69-12.01-11.43-17.12-3.74-3.33-8.06-5.84-12.95-7.53-5.68-1.97-11.49-2.62-17.43-1.96-4.95 .55-9.64 2.06-14.08 4.51-4.37 2.42-8.09 5.55-11.14 9.37-5.11 6.4-7.98 13.15-8.59 20.26-.07 .71-.09 1.25-.08 1.63-.01-.31-.05-.79-.12-1.44l-.46-4.16c-.27-2.38-.8-7.99-1.59-16.86-.74-8.18-2.16-21.72-4.26-40.61l-9.1-81.55c-.94-8.5-1.26-17.81-.95-27.93 .42-13.65 3.29-26.86 8.6-39.64 6.78-16.33 18.28-29.84 34.5-40.54 14.49-9.57 33.26-15.63 56.3-18.2 22.94-2.56 42.66-.57 59.14 5.97 17.69 7.02 31.53 17.43 41.54 31.23 8.13 11.22 13.93 23.53 17.39 36.93 2.54 9.8 4.28 18.95 5.23 27.46l9.09 81.54c2.11 18.89 3.7 32.41 4.79 40.55 1.18 8.82 1.9 14.42 2.16 16.8l.47 4.16c.07 .65 .14 1.13 .19 1.43-.07-.37-.21-.9-.43-1.57-2.16-6.8-6.44-12.76-12.84-17.87-3.82-3.06-8.14-5.29-12.94-6.68-4.86-1.43-9.77-1.86-14.72-1.3-5.94 .66-11.46 2.57-16.57 5.74-4.4 2.73-8.05 6.13-10.97 10.2-4.48 6.25-6.94 12.66-7.38 19.22-.03 .53-.05 .89-.04 1.09-.02-.43-.07-1.03-.16-1.8l-14.66-131.47c-3.27-29.33 .03-54.21 9.91-74.63 10.4-21.5 25.69-37.62 45.88-48.36 16.43-8.74 34.1-14.16 53.01-16.27 19.19-2.14 38.08-.27 56.66 5.63 21.08 6.68 39.02 19.02 53.8 37 14.79 18 23.76 41.06 26.89 69.18 1.66 14.88 3.13 27.25 4.42 37.12 1.28 9.86 2.64 19.61 4.07 29.26 1.57 10.52 3.21 23.46 4.93 38.83Zm-93.61 10.44c-1.58-14.22-3.07-26.01-4.47-35.38-1.53-10.23-2.97-20.57-4.33-31.01-1.35-10.43-2.89-23.37-4.61-38.82-1.07-9.6-3.09-16.2-6.05-19.81-2.99-3.62-6.16-5.97-9.52-7.04-5.88-1.86-11.79-2.46-17.74-1.8-6.98 .78-13.39 2.72-19.22 5.83-2.08 1.1-3.85 3.17-5.32 6.2-.63 1.31-1.1 3.37-1.42 6.19-.53 4.66-.41 10.33 .33 17.01l14.66 131.46c.72 6.48 .91 12.3 .57 17.45-.76 11.28-4.11 21.06-10.04 29.34-4.38 6.11-9.68 11.1-15.92 14.97-6.95 4.31-14.5 6.92-22.66 7.83-7.53 .84-14.9 .21-22.08-1.89-7.13-2.07-13.63-5.46-19.51-10.16-8.45-6.76-14.48-15.79-18.08-27.11-1.67-5.22-2.88-11.23-3.64-18.02l-.46-4.16c-.19-1.69-.83-6.61-1.92-14.76-1.18-8.82-2.85-23.02-5.04-42.58l-9.09-81.55c-.46-4.06-1.39-8.84-2.81-14.32-.49-1.89-1.31-3.63-2.46-5.22 .6 .83 1.2 1.46 1.77 1.88-.26-.2-.86-.47-1.79-.84l-.07 .01c-.63-.13-1.42-.24-2.38-.32-3.09-.25-6.93-.12-11.51 .39-4.94 .55-9 1.31-12.2 2.27-1.03 .31-1.88 .61-2.54 .91-.16 .07-.28 .13-.36 .17 .05-.02 .12-.07 .22-.13-.42 .27-.75 .52-.99 .72l.07-.08c.59-.67 1.1-1.53 1.53-2.58-.88 2.14-1.36 4.27-1.43 6.4-.17 5.66-.03 10.53 .42 14.6l9.09 81.54c2.18 19.56 3.67 33.78 4.47 42.65 .73 8.18 1.19 13.13 1.38 14.82l.46 4.16c.76 6.79 .91 12.91 .43 18.37-1.02 11.83-4.92 21.98-11.67 30.43-4.7 5.88-10.3 10.62-16.78 14.21-6.56 3.63-13.6 5.87-21.13 6.71-8.16 .91-16.11 .02-23.83-2.65-6.94-2.4-13.21-6.1-18.82-11.09-7.62-6.78-13.04-15.58-16.26-26.41-1.47-4.95-2.57-10.67-3.29-17.15L153.7 528.83c-.71-6.32-1.82-11.54-3.35-15.65-.88-2.35-1.73-4.01-2.58-4.98-2.82-3.23-5.86-5.26-9.14-6.1-7.15-1.84-14.34-2.35-21.57-1.54-5.65 .63-10.76 2.34-15.33 5.13-2.18 1.32-4.05 3.73-5.61 7.23-2.06 4.62-2.52 12.11-1.36 22.48 1.72 15.45 3.07 28.41 4.05 38.89 .97 10.48 1.84 20.88 2.61 31.2 .7 9.45 1.84 21.28 3.43 35.5 1.74 15.58 3.8 32.45 6.19 50.59 2.13 16.11 5.45 32 9.98 47.69 3.73 12.9 9.09 24.32 16.07 34.26 4.96 7.04 11.77 12.46 20.44 16.25 9.03 3.94 22.13 4.95 39.3 3.04 11.5-1.28 20.79-4.04 27.86-8.29 5.8-3.47 10.45-8.32 13.94-14.54 10.92-19.44 15.95-46.49 15.08-81.16l-1.08-43.19 88.29-9.85 8.74 41.94c7.13 34.21 18.17 59.66 33.1 76.37 4.68 5.24 10.18 8.9 16.5 10.99 7.77 2.57 17.39 3.22 28.87 1.94 17.17-1.92 29.72-5.79 37.66-11.63 7.63-5.6 13.08-12.39 16.36-20.35 4.63-11.23 7.34-23.55 8.13-36.96 .96-16.3 .71-32.54-.77-48.72-1.67-18.22-3.37-35.12-5.11-50.71Zm-61.18-105.69c4.92-6.15 7.86-13.26 8.84-21.32 1.16-9.68-.69-18.69-5.56-27.02-3.66-6.26-8.71-11.29-15.15-15.08-8.41-4.96-17.45-6.9-27.11-5.82-6.26 .7-12.15 2.83-17.67 6.41l25.6 39.53-34.42-32.14c11.14-11.94 23.36-21.03 36.65-27.28 12.54-5.9 25.64-9.61 39.32-11.13 16.37-1.83 32.92-1.04 49.63 2.37l-9.4 46.14-45.07-13.64 2.46-8.14 45.07 13.64-8 46.41c-10.12-1.74-18.69-2.22-25.73-1.44-4.19 .47-8.24 1.61-12.15 3.42-2.86 1.32-6.01 3.85-9.45 7.58l-34.65-31.89Zm-73.57-58.8 1.02-1.29 1.11-1.21c11.93-12.95 25.01-22.71 39.24-29.29 13.17-6.08 26.91-9.92 41.22-11.52 15.89-1.77 33.28-1.03 52.17 2.22l52.51 9.06-30.32 100.2-42.05-8.56c-7.04-1.44-13.83-1.79-20.39-1.06-3.33 .38-6.56 1.29-9.67 2.76-2.37 1.11-5 3.22-7.9 6.33l-3.96 4.24-4.86 3.15c-6.92 4.48-14.62 7.19-23.1 8.13-11.13 1.25-21.51-.96-31.13-6.63-7.64-4.5-13.75-10.67-18.34-18.51-5.8-9.92-8.01-20.52-6.65-31.82 1.16-9.67 4.87-18.41 11.1-26.2Zm-246.43 100.1c4.92-6.15 7.86-13.26 8.84-21.32 1.16-9.68-.69-18.69-5.56-27.02-3.66-6.26-8.71-11.29-15.15-15.08-8.41-4.96-17.45-6.9-27.11-5.82-6.26 .7-12.15 2.84-17.67 6.41l25.6 39.53-34.42-32.14c11.14-11.94 23.36-21.03 36.65-27.28 12.54-5.9 25.64-9.61 39.32-11.13 16.38-1.83 32.92-1.04 49.63 2.37l-9.4 46.14-45.07-13.64 2.46-8.14 45.08 13.65-8.01 46.41c-10.12-1.75-18.69-2.23-25.73-1.45-4.18 .47-8.23 1.61-12.15 3.42-2.86 1.32-6.01 3.85-9.45 7.58l-34.64-31.89Zm-73.57-58.81 1.02-1.28 1.12-1.2c11.92-12.96 25-22.72 39.23-29.3 13.17-6.08 26.91-9.93 41.22-11.52 15.89-1.77 33.28-1.03 52.18 2.23l52.5 9.05-30.32 100.2-42.05-8.56c-7.04-1.44-13.83-1.79-20.39-1.06-3.33 .37-6.56 1.29-9.67 2.76-2.37 1.11-5 3.22-7.9 6.33l-3.96 4.24-4.86 3.14c-6.92 4.49-14.62 7.2-23.09 8.15-11.14 1.24-21.52-.97-31.14-6.64-7.64-4.5-13.75-10.67-18.34-18.51-5.8-9.92-8.01-20.52-6.65-31.82 1.17-9.67 4.87-18.41 11.1-26.21Zm240.29 37.98c4.77-5.98 7.69-12.89 8.75-20.75 1.44-10.75-.76-20.65-6.63-29.7-4.07-6.3-9.52-11.21-16.33-14.73-7.85-4.05-16.13-5.59-24.84-4.62-3.28 .36-6.56 1.16-9.82 2.37-7.79 2.89-14.32 7.64-19.58 14.22l.81-1.02 .87-.97c10.66-11.91 22.41-20.84 35.25-26.77 11.57-5.34 23.58-8.71 36.04-10.1 14.88-1.66 30.09-.91 45.64 2.24l-9.35 46.15-45.21-13.18 2.03-6.97 45.21 13.19-8.98 46.23c-3.92-.77-7.67-1.23-11.26-1.41-3.32-.16-6.32-.09-9 .21-2.85 .31-5.69 1.15-8.54 2.52-2.36 1.13-4.88 3.11-7.56 5.96l-34.29-32.28Zm-73.57-58.81 1.19-1.49 1.31-1.39c10.7-11.38 22.52-20.16 35.44-26.35 12.44-5.96 25.37-9.68 38.79-11.18 7.68-.85 15.69-1.08 24.04-.67 8.08 .39 16.29 1.4 24.62 3.02l50.68 9.84-28.61 98.11-42.44-8.6c-5.9-1.2-11.4-1.51-16.49-.94-2.33 .26-4.66 .92-6.98 1.99-1.04 .49-2.56 1.84-4.55 4.07l-35.1-31.4 36.79 29.4c-8.45 10.57-19.69 16.64-33.73 18.2-10.18 1.14-19.8-.63-28.84-5.3-8-4.14-14.5-10.05-19.48-17.75-6.77-10.45-9.32-21.8-7.67-34.07 1.26-9.38 4.94-17.88 11.03-25.49Zm-31.16 392.12c8.09-.9 15.36-3.87 21.81-8.9 5.24-4.09 9.26-9.06 12.07-14.9 4.76-9.93 5.64-20.2 2.63-30.81-2-7.06-5.47-13.05-10.41-17.99l-33.29 33.32 18.99-43.1c4.47 1.97 8.98 2.7 13.52 2.19 1.34-.14 2.71-.48 4.12-1l.1 .08 29.53 36.68-36.79-29.4c-4.33 5.42-7.09 11.78-8.26 19.08-.99 6.13-.69 12.21 .9 18.24 1.56 5.97 4.25 11.36 8.06 16.17 4.66 5.89 10.52 10.24 17.58 13.05 6.56 2.61 13.27 3.53 20.15 2.77 3.29-.37 6.56-1.16 9.82-2.38 7.8-2.89 14.32-7.63 19.59-14.22l-2.91 3.64-3.57 3c-7.63 6.41-16.33 11.27-26.11 14.56-7.34 2.48-14.91 4.15-22.7 5.02-20.96 2.34-39.96-.46-57.03-8.41l19.88-42.7-16.26 44.2c.44 .16 1.05 .36 1.83 .57 5.34 1.48 10.93 1.89 16.75 1.24Zm-10.43-93.61c7.73-.86 15.85 .28 24.37 3.41l1.84 .68 1.78 .82c1.1 .51 3.38 .58 6.83 .19 1.09-.12 2.1-.34 3.06-.66-1.48 .5-2.96 1.36-4.42 2.6l30.3 36.05-36.78-29.41c8.45-10.57 19.69-16.63 33.72-18.2 8.73-.97 17.1 .14 25.13 3.34 8.53 3.39 15.67 8.72 21.42 15.99 4.35 5.49 7.41 11.61 9.19 18.35 1.79 6.81 2.12 13.71 .99 20.69-1.45 9.02-5.17 17.26-11.15 24.74l-3.22 4.04-4.03 3.24c-7.75 6.23-16.53 11.18-26.33 14.82-8.66 3.22-17.49 5.34-26.51 6.34-21.35 2.38-41.99-.82-61.93-9.61l-8.07-3.55-6.23-6.23c-6.63-6.62-11.18-14.27-13.64-22.96-3.47-12.25-2.44-24.13 3.08-35.63 3.56-7.43 8.53-13.63 14.89-18.59 7.56-5.9 16.13-9.39 25.71-10.46Zm221.03-117.87c-4.57 .51-8.59 2.08-12.05 4.72l1.44-1.09 1.51-.98c-7.4 4.79-12.77 11.45-16.14 19.97-4.23 10.72-4.25 21.35-.07 31.91 3.2 8.08 8.53 14.62 15.96 19.61 8.89 5.97 18.59 8.37 29.1 7.19 6.62-.73 12.7-2.89 18.22-6.47-9.02 5.84-18.31 9.29-27.9 10.36-14.44 1.61-28.14-1.21-41.12-8.45-14.29-7.98-24.24-19.54-29.88-34.69l-.65-1.76-.52-1.81c1.33 4.67 3.42 9.02 6.29 13.05 3.6 5.06 8.08 9.18 13.45 12.34 8.22 4.84 16.88 6.75 25.98 5.74 6.05-.68 11.76-2.6 17.12-5.77 7.33-4.33 12.95-10.29 16.87-17.86 3-5.8 4.61-11.9 4.84-18.3 .12-3.43-.17-6.72-.88-9.87l-45.94 10.36 44.14-16.42c-1.58-4.25-3.97-7.38-7.18-9.38-3.44-2.16-7.63-2.95-12.59-2.4Zm10.45 93.6c-16.79 1.87-32.74-1.92-47.85-11.38-14.88-9.32-25.25-21.85-31.11-37.6l-1.1-2.97-.7-3.1c-2.88-12.79-1.47-24.72 4.24-35.77 4.38-8.47 10.67-15.13 18.88-19.99 6.24-3.69 13.03-5.94 20.37-6.76 11.7-1.3 22.46 .94 32.27 6.72 11.64 6.86 19.33 16.88 23.07 30.08l-45.31 12.84 44.14-16.41c-2.42-6.53-6.58-11.43-12.49-14.73-4.59-2.56-9.66-3.54-15.23-2.91-5.15 .57-9.43 1.97-12.86 4.19 6.92-4.48 14.43-7.18 22.54-8.08 12.35-1.38 23.63 1.36 33.84 8.21 8.75 5.87 15.12 13.84 19.1 23.89 4.97 12.53 5.01 24.98 .12 37.36-4.02 10.19-10.78 18.36-20.27 24.51l-25.6-39.53 28.56 37.45c-10.37 7.91-21.91 12.57-34.61 13.98Zm-175-13.06c6.05-.67 11.76-2.59 17.12-5.76 7.33-4.34 12.95-10.29 16.87-17.86 3-5.8 4.61-11.91 4.84-18.3 .13-3.43-.17-6.72-.88-9.87l-45.94 10.36 44.87-14.3c-1.46-4.6-3.75-8-6.85-10.19-1.33-.95-3.05-1.74-5.14-2.39-3.6-1.11-7.36-1.45-11.28-1.02-5.84 .66-11.14 2.75-15.88 6.26-3.32 2.48-5.85 5.26-7.57 8.34l41.12 22.96-45.39-12.54c-1.35 4.86-1.73 9.9-1.14 15.13 .83 7.5 3.48 14.31 7.96 20.44 4.51 6.19 10.32 10.86 17.42 14.01 7.17 3.17 14.6 4.33 22.3 3.47 6.81-.75 13.06-2.98 18.76-6.67 3.75-2.43 6.97-5.33 9.66-8.69l-36.78-29.4 40.57 23.9c-3.97 6.75-8.87 12.39-14.7 16.94-8.12 6.34-17.25 10.07-27.37 11.2-9.04 1.01-17.86-.02-26.48-3.09-7.2-2.56-13.87-6.43-20-11.63-10.12-8.57-17.14-18.58-21.05-30.02l-.41-1.19-.35-1.21c1.33 4.67 3.42 9.02 6.29 13.05 3.6 5.06 8.09 9.18 13.45 12.34 8.22 4.84 16.88 6.75 25.98 5.73Zm-10.43-93.6c11.69-1.31 22.45 .94 32.27 6.72 11.63 6.86 19.32 16.88 23.06 30.07l-45.31 12.85 44.56-15.25c-1.69-4.95-4.08-8.73-7.18-11.35-2.61-2.22-5.72-3.96-9.32-5.24-5.01-1.78-10.18-2.38-15.52-1.78-7.54 .83-14.25 3.55-20.13 8.15-3.59 2.79-6.42 5.96-8.51 9.5l1.7-2.88 2.09-2.62c3.67-4.59 7.91-8.44 12.71-11.55 6.75-4.37 14.08-7 22-7.88 9.17-1.03 17.94 .31 26.29 4.01 8.28 3.67 15.12 9.21 20.52 16.61 5.36 7.34 8.54 15.55 9.55 24.62 .76 6.8 .2 13.59-1.68 20.38l-1.51 5.47-2.76 4.95c-4.85 8.68-11.01 15.79-18.48 21.35-8.89 6.6-18.85 10.52-29.87 11.75-17.04 1.9-33.18-2.54-48.41-13.31-14.07-9.96-23.57-22.66-28.5-38.11l-.62-1.94-.45-2c-2.88-12.8-1.47-24.72 4.24-35.78 4.38-8.47 10.67-15.13 18.88-19.98 6.24-3.69 13.03-5.94 20.38-6.76Zm208.45 202.37c9.66-1.07 18.05-4.96 25.17-11.64 5.44-5.12 9.26-11.14 11.45-18.05 2.92-9.2 2.74-18.39-.53-27.58-2.72-7.65-7.16-13.93-13.32-18.85l-29.4 36.78 11.09-45.77c3.61 .88 7.21 1.67 10.79 2.39-.56-.12-1.42-.11-2.57 .02-2.94 .33-5.73 1.29-8.37 2.88-2 1.2-3.53 2.51-4.6 3.93l37.66 28.27-45.39-12.53c-1.34 4.86-1.72 9.9-1.14 15.13 .83 7.5 3.49 14.31 7.96 20.44 4.52 6.19 10.32 10.86 17.43 14.01 7.16 3.17 14.6 4.33 22.29 3.47 6.82-.76 13.07-2.98 18.76-6.67 3.76-2.43 6.98-5.33 9.66-8.69-5.6 7.02-12.11 12.69-19.52 17.03-8.12 4.75-16.88 7.65-26.28 8.7-7.08 .79-14.47 .5-22.16-.86-5.3-.94-10.68-2.27-16.16-4.01l-8.33-2.65-6.83-5.45c6.59 5.26 14 8.45 22.24 9.56 3.45 .46 6.82 .51 10.1 .14Zm-10.43-93.6c14.03-1.56 26.33 1.88 36.9 10.33l-29.4 36.78 14.23-44.89c1.52 .48 2.87 .83 4.07 1.04-1.2-.21-2.76-.21-4.66 0-3.85 .43-7.46 1.63-10.84 3.61-2.66 1.55-4.83 3.38-6.5 5.46 3.68-4.6 7.91-8.45 12.72-11.56 6.74-4.36 14.07-6.99 22-7.87 9.17-1.03 17.93 .31 26.28 4.01 8.29 3.67 15.13 9.21 20.52 16.61 5.36 7.34 8.54 15.55 9.55 24.62 .76 6.79 .2 13.59-1.67 20.38l-2.38 8.6-5.36 7.14c-6.28 8.37-13.66 15.11-22.15 20.22-9.13 5.49-19.05 8.83-29.76 10.03-8.54 .95-17.31 .53-26.3-1.26-4.84-.97-9.69-2.04-14.54-3.22l-10.16-2.46-8.16-6.52c-7.79-6.24-13.33-13.94-16.6-23.12-3.81-10.72-3.99-21.55-.52-32.5 2.75-8.66 7.35-16.02 13.82-22.1 8.13-7.64 17.76-12.09 28.91-13.33Zm5.33-22.64c6.6-.73 12.77-2.91 18.52-6.53 9.12-5.74 15.4-13.71 18.85-23.93 2.46-7.28 3.02-14.64 1.69-22.06-.62-3.45-1.62-6.67-3-9.66-2-4.33-4.96-8.29-8.86-11.9-4.09-3.77-8.77-6.68-14.05-8.7-6.77-2.6-13.77-3.5-21-2.69-10.57 1.18-19.54 5.46-26.9 12.82-2.4 2.4-4.37 4.92-5.92 7.55l1.69-2.88 2.09-2.62c-4.37 5.48-7.3 11.67-8.78 18.56-1.36 6.38-1.33 12.73 .09 19.05 1.5 6.63 4.27 12.35 8.32 17.17l36.05-30.3-21.62 41.83c7.25 3.75 14.86 5.18 22.83 4.29Zm-10.44-93.6c10.93-1.22 21.21 .66 30.85 5.64l8.36 4.32 6.07 7.21c5.77 6.87 9.6 14.45 11.46 22.72 1.61 7.14 1.65 14.26 .14 21.36-1.63 7.61-4.88 14.46-9.75 20.56l-36.79-29.4 40.57 23.9c-2.49 4.24-5.36 7.98-8.6 11.22-8.2 8.21-17.96 12.95-29.27 14.21-7.97 .89-15.69-.11-23.18-2.98-5.98-2.29-11.36-5.64-16.12-10.04-5.26-4.86-9.51-10.79-12.74-17.79-5.87-12.69-6.68-25.33-2.43-37.91 3.7-10.95 10.44-19.5 20.23-25.66 6.43-4.05 13.5-6.5 21.2-7.36ZM211.79 486.98l.06 .55-46.8 5.22 45.59-11.79c-2.58-9.99-8.24-18.03-16.99-24.11-8.87-6.18-18.52-8.68-28.95-7.52-10.43 1.17-19.32 5.68-26.66 13.54-7.2 7.71-11.08 16.7-11.64 26.96l47.03 2.55-46.8 5.22c1 9.04 4.9 17.04 11.67 23.99 5.28 5.42 11.54 9.23 18.78 11.42 5.66 1.72 11.37 2.25 17.13 1.61 10.43-1.16 19.29-5.73 26.58-13.71 7.2-7.86 10.95-16.94 11.27-27.26l-47.07-1.46Zm-93.61 10.43-.37-3.32 .11-3.35c.39-12.95 4.86-24.08 13.38-33.4 8.63-9.43 19.45-14.87 32.47-16.33 7.05-.78 13.92-.16 20.6 1.86 8.25 2.5 15.39 6.84 21.41 13.02 8.26 8.47 13.07 18.9 14.45 31.27l.44 3.87-.22 3.89c-.67 12.52-5.2 23.27-13.57 32.23-8.51 9.11-19.09 14.38-31.74 15.79-13.02 1.45-24.78-1.47-35.27-8.77-10.37-7.21-17.17-17.09-20.42-29.64l-.83-3.23Zm413.61-51.74 .06 .56-46.81 5.22 45.6-11.79c-2.58-9.99-8.25-18.03-16.99-24.11-8.87-6.18-18.52-8.68-28.95-7.52-10.44 1.17-19.32 5.68-26.66 13.54-7.2 7.71-11.08 16.7-11.64 26.96l47.03 2.55-46.8 5.22c1 9.03 4.9 17.03 11.67 24 5.28 5.42 11.54 9.22 18.78 11.41 5.66 1.71 11.37 2.25 17.13 1.61 10.43-1.17 19.29-5.73 26.58-13.71 7.19-7.85 10.95-16.94 11.27-27.26l-47.07-1.46Zm-93.61 10.44-.37-3.32 .11-3.35c.39-12.95 4.86-24.08 13.38-33.4 8.63-9.43 19.45-14.87 32.47-16.33 7.05-.78 13.92-.16 20.59 1.85 8.26 2.5 15.4 6.84 21.42 13.02 8.26 8.48 13.07 18.91 14.45 31.28l.43 3.87-.21 3.89c-.67 12.52-5.2 23.27-13.57 32.23-8.51 9.12-19.09 14.38-31.75 15.79-13.01 1.45-24.77-1.47-35.26-8.77-10.37-7.22-17.18-17.09-20.42-29.64l-.83-3.24Zm-70.77 11.26 .06 .56-46.8 5.22 43.57-17.88c-2.57-6.27-6.68-11.66-12.31-16.17-4.55-3.63-9.64-6.25-15.26-7.87-5.56-1.59-11.19-2.07-16.9-1.43-5.2 .57-10.15 2.06-14.88 4.46-5.71 2.9-10.56 6.85-14.56 11.86-5.79 7.24-8.93 15.32-9.41 24.23l47.02 2.55-46.8 5.22c.99 8.92 4.76 16.86 11.29 23.8 5.27 5.61 11.59 9.59 18.94 11.91 5.91 1.88 11.91 2.48 17.97 1.81 10.62-1.19 19.6-5.71 26.94-13.58 5.35-5.72 8.81-12.26 10.38-19.62l-46.05-9.85Zm-93.6 10.44-.85-7.59 1.6-7.48c2.06-9.65 6.36-17.97 12.88-24.95 8.51-9.12 19-14.37 31.46-15.76 7.18-.8 14.16-.13 20.95 2.03 8.22 2.61 15.29 7.06 21.2 13.34 7.81 8.31 12.37 18.4 13.7 30.28l.43 3.87-.21 3.89c-.6 11.18-4.3 21.01-11.07 29.48-4.5 5.62-9.95 10.06-16.37 13.32-5.43 2.76-11.2 4.48-17.33 5.16-6.63 .74-13.14 .2-19.52-1.64-6.44-1.85-12.3-4.87-17.56-9.09-7.08-5.65-12.42-12.87-16.02-21.64l-2.5-6.11Zm0 0',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
part: 'a',
|
|
115
|
+
layer: 'outline',
|
|
116
|
+
ink: 'outline',
|
|
117
|
+
d: 'm899.34 627.34 0-.06 47.09 .15 47.08 1.4-.6 19.87-2 73.8c-.15 9.86-1.1 20.8-2.86 32.83-2.37 16.27-7.95 31.71-16.74 46.33-10.33 17.18-25.58 30.69-45.74 40.53-18.57 9.06-41.84 13.38-69.82 12.94-27.71-.44-50.64-5.53-68.8-15.27-19.53-10.47-34.16-24.41-43.88-41.8-8.33-14.9-13.42-30.51-15.28-46.85-1.37-12.08-1.97-23.22-1.81-33.43l.72-45.81 31.86-10.47-.01 .03c.24-.18 .58-.56 1.01-1.15 1.17-1.6 1.89-4.07 2.14-7.41l46.96 3.59-.75 47.09-13.95-.22 .74-47.09 46.98 3.29c-.86 12.37-3.5 23.53-7.9 33.46-5.47 12.32-13.37 22.39-23.72 30.21-16.34 12.34-34.56 18.36-54.66 18.04-19.9-.32-37.87-6.79-53.92-19.42-10.29-8.1-18.03-18.42-23.24-30.94-4.22-10.17-6.57-21.52-7.05-34.05l47.06-1.8-.75 47.09-13.95-.22 .75-47.09 47.04-2.1c.15 3.34 .79 5.83 1.91 7.47 .41 .6 .73 1 .97 1.18l-.01-.03 31.51 11.47-.72 45.81c-.17 10.21-1.12 21.33-2.88 33.36-2.37 16.27-7.95 31.72-16.74 46.34-10.27 17.08-25.33 30.54-45.18 40.4-18.46 9.16-41.54 13.51-69.26 13.08-27.97-.45-51.1-5.49-69.37-15.14-19.84-10.47-34.65-24.46-44.43-41.95-8.33-14.89-13.42-30.51-15.27-46.84-1.37-12.08-1.98-23.23-1.82-33.44l.33-73.43 .03-19.74 47.1 .08 47.07 1.34 0 .06-94.16-2.08c.37-23.13 1.82-45.78 4.37-67.94 2.84-24.63 8.48-47.81 16.93-69.52 9.43-24.23 23.35-45.38 41.77-63.48 18.89-18.55 43.08-32.61 72.56-42.17 27.41-8.87 60.46-13.01 99.16-12.4l11.72 .19c38.7 .61 71.6 5.79 98.71 15.53 29.17 10.49 52.9 25.3 71.19 44.44 17.84 18.67 31.09 40.25 39.74 64.76 7.77 21.97 12.67 45.31 14.73 70.03 1.84 22.23 2.59 44.91 2.22 68.04Zm94.19 .29-47.1-.15-47.08-.74c.31-20.03-.32-39.61-1.92-58.74-1.38-16.65-4.6-32.14-9.66-46.47-4.17-11.79-10.51-22.14-19.03-31.06-8.07-8.44-19.72-15.4-34.95-20.88-17.3-6.21-40.08-9.54-68.35-9.99l-11.72-.19c-28.27-.44-51.15 2.17-68.63 7.83-15.4 4.99-27.27 11.58-35.59 19.76-8.8 8.64-15.47 18.79-20.01 30.45-5.51 14.16-9.22 29.54-11.13 46.13-2.2 19.08-3.45 38.63-3.77 58.65l-47.09-.74-47.07-1.34 0-.06c.09-3.03 .46-6.03 1.13-9 .67-2.96 1.62-5.84 2.84-8.62 1.23-2.78 2.71-5.42 4.44-7.92 1.73-2.49 3.69-4.8 5.88-6.92 2.17-2.11 4.54-4 7.09-5.66 2.55-1.66 5.23-3.06 8.05-4.2 2.81-1.13 5.71-1.99 8.7-2.57 2.98-.58 5.99-.86 9.03-.86 3.09 .01 6.16 .31 9.19 .92 3.03 .61 5.97 1.51 8.83 2.7 2.85 1.19 5.56 2.64 8.13 4.36 2.57 1.73 4.94 3.68 7.13 5.88 2.18 2.19 4.13 4.57 5.84 7.14 1.71 2.57 3.16 5.29 4.34 8.15 1.18 2.86 2.06 5.81 2.66 8.84 .6 3.03 .9 6.1 .89 9.19l-.04 20-.33 74.49c-.1 6.16 .31 13.26 1.22 21.31 .43 3.8 1.73 7.64 3.9 11.52 .72 1.28 2.78 2.82 6.19 4.62 4.98 2.63 13.94 4.05 26.89 4.25 12.47 .2 21.1-.89 25.9-3.28 3.41-1.68 5.52-3.21 6.33-4.56 2.29-3.81 3.71-7.6 4.26-11.38 1.17-8.02 1.8-15.11 1.9-21.27l.2-12.28 47.08 .75-16.1 44.25c-19.09-6.95-34.58-19.1-46.46-36.44-11.24-16.42-17.34-35.25-18.29-56.48l-2.24-49.98 108.59 1.71 1.71 44.59c.03 1 .11 1.78 .22 2.34-.03-.12-.13-.4-.3-.83-1.09-2.6-2.91-4.91-5.48-6.94-.61-.48-1.57-.73-2.86-.75-1.5-.02-2.7 .31-3.6 .98-2.62 1.99-4.49 4.25-5.62 6.78-.11 .26-.2 .5-.27 .7l.01-.05c.13-.62 .24-1.45 .32-2.51l3.11-44.51 108.59 1.72-3.82 49.89c-1.62 21.19-8.31 39.82-20.07 55.87-12.42 16.96-28.28 28.61-47.58 34.95l-14.7-44.74 47.09 .75-.2 12.28c-.09 6.16 .32 13.26 1.23 21.31 .43 3.8 1.73 7.64 3.9 11.51 .77 1.38 2.83 2.97 6.18 4.77 4.72 2.53 13.32 3.89 25.78 4.09 12.95 .21 21.95-.93 27.01-3.4 3.47-1.69 5.58-3.16 6.34-4.42 2.29-3.81 3.71-7.61 4.26-11.38 1.17-8.02 1.81-15.29 1.91-21.8l2.01-74.06 .59-19.87c.09-3.04 .47-6.04 1.14-9 .68-2.96 1.63-5.84 2.86-8.62 1.22-2.78 2.71-5.42 4.45-7.91 1.73-2.49 3.69-4.79 5.88-6.91 2.18-2.11 4.55-3.99 7.1-5.65 2.55-1.66 5.23-3.05 8.05-4.19 2.82-1.13 5.72-1.99 8.71-2.56 2.98-.57 5.99-.86 9.03-.84 3.1 0 6.16 .32 9.19 .93 3.03 .61 5.97 1.52 8.82 2.71 2.86 1.19 5.57 2.65 8.13 4.37 2.57 1.73 4.94 3.69 7.12 5.88 2.18 2.2 4.13 4.58 5.83 7.16 1.71 2.58 3.15 5.29 4.33 8.15 1.17 2.86 2.06 5.81 2.65 8.85 .6 3.03 .89 6.09 .88 9.18ZM789.3 587.6c.03-2.09-.13-3.97-.49-5.65-.07-.32-.14-.6-.2-.82 0 .01 .02 .07 .07 .18-1.98-5.29-4.96-9.94-8.95-13.95-3.25-3.25-6.87-5.78-10.87-7.59-3.49-1.58-6.45-2.39-8.88-2.43l-.74 47.09-3.94-46.93c-2.3 .19-5.03 1.08-8.19 2.66-8.42 4.22-14.45 10.9-18.1 20.04-.6 1.49-.91 3.63-.95 6.43l.62-39.62c-.04 2.08 .13 3.97 .49 5.64 .07 .33 .14 .61 .21 .83-.01-.01-.03-.07-.07-.19 1.97 5.3 4.96 9.95 8.94 13.95 3.25 3.25 6.87 5.78 10.87 7.6 3.49 1.58 6.45 2.39 8.88 2.43l.74-47.09 1.73 47.06c3.14-.11 6.61-1.11 10.41-2.97 8.25-4.05 14.23-10.41 17.94-19.09 .69-1.61 1.06-4.01 1.11-7.2Zm-94.17-1.49 .62-39.63c.15-9.14 2.31-18.59 6.47-28.33 5.45-12.74 14.5-22.22 27.16-28.43 8.2-4.02 17.41-6.23 27.63-6.6l1.24-.05 1.23 .02c10.61 .17 20.11 2.15 28.5 5.95 6.45 2.92 12.11 6.82 16.98 11.7 5.61 5.64 9.81 12.17 12.59 19.62 3.68 9.86 5.45 19.24 5.31 28.14l-.63 39.62c-.14 8.75-2.06 17.76-5.75 27-5.2 13.03-14.26 22.78-27.18 29.25-7.66 3.84-16.36 6.17-26.12 6.99l-2.34 .19-2.34-.03c-10.61-.17-20.11-2.16-28.5-5.95-6.45-2.93-12.11-6.83-16.98-11.71-5.61-5.63-9.81-12.17-12.59-19.62-3.68-9.85-5.45-19.23-5.3-28.13Zm31.12-95.71c4.99-4.84 8.56-10.68 10.69-17.54 2.68-8.61 2.67-17.2-.03-25.74-2.88-9.14-8.28-16.54-16.19-22.21-7.38-5.28-15.5-7.99-24.38-8.13l1.12 .02-.75 47.09-20.01-42.63c23.44-11.01 49.59-16.29 78.43-15.83 30.8 .49 59.77 6.61 86.94 18.35L823.38 467l-10.7-45.86c-7.55 1.76-14.21 5.64-19.98 11.64-5.09 5.27-8.64 11.44-10.67 18.51-1.83 6.38-2.21 12.81-1.14 19.28 1.69 10.22 6.44 18.68 14.25 25.4 4.61 3.98 9.65 6.69 15.11 8.15l-5.36-1.43-4.88-2.64c-5.45-2.94-11.36-5.14-17.74-6.58-7.38-1.68-15.01-2.58-22.91-2.7-16.22-.26-32.19 2.86-47.93 9.34l-17.95-43.53Zm-65.54-67.64 6.47-6.28 8.34-3.44c27.72-11.43 56.16-16.91 85.33-16.45 14.43 .23 28.53 1.9 42.28 5.03 14.76 3.35 28.64 8.54 41.65 15.56l-22.39 41.44 12.15-45.5c8.41 2.24 15.76 6.06 22.03 11.46 9.46 8.14 15.21 18.35 17.24 30.61 1.24 7.5 .82 14.87-1.26 22.11-2.27 7.92-6.28 14.86-12.03 20.83-7.1 7.37-15.91 12.28-26.45 14.74l-15.13 3.53-14.26-6.17c-15.71-6.79-32.72-10.34-51.04-10.62-14.32-.23-26.62 2.07-36.92 6.91l-9.86 4.62-12.01-.18c-10.74-.17-20.39-3.33-28.96-9.46-9.11-6.52-15.37-15.19-18.79-26.02-3.23-10.23-3.26-20.44-.09-30.62 2.63-8.43 7.19-15.8 13.7-22.1Zm216.21 305.97c-4.38 4.24-7.65 9.44-9.81 15.6-1.86 5.29-2.66 10.75-2.42 16.4 .26 6.04 1.69 11.78 4.3 17.21 3.76 7.82 9.4 13.96 16.94 18.43 6.52 3.86 13.49 5.86 20.9 5.97 6.29 .11 12.4-1.27 18.33-4.12l-20.39-42.45 30.08 36.24c-12.56 10.43-25.83 17.9-39.81 22.42-13.18 4.26-26.65 6.29-40.41 6.07-16.47-.26-32.79-3.14-48.93-8.63l15.16-44.59 42.98 19.24-3.46 7.76-42.99-19.24 13.81-45.02c9.81 3.01 18.26 4.57 25.34 4.68 4.28 .07 8.35-.54 12.22-1.84 3.38-1.14 6.95-3.29 10.72-6.44l30.21 36.13Zm65.54 67.64-1.24 1.2-1.32 1.1c-12.83 10.73-26.53 18.55-41.11 23.45-14.09 4.74-28.67 7-43.74 6.76-15.98-.25-33.14-3.19-51.47-8.81l-50.94-15.62 42.76-95.57 40.62 13.82c6.8 2.31 13.5 3.52 20.1 3.62 3.35 .06 6.67-.44 9.94-1.51 2.48-.8 5.36-2.56 8.64-5.27l4.46-3.71 5.22-2.51c7.43-3.57 15.41-5.28 23.94-5.15 9.26 .15 17.81 2.54 25.62 7.17 8.83 5.23 15.47 12.5 19.95 21.82 2.97 6.18 4.61 12.69 4.9 19.52 .28 6.44-.66 12.72-2.81 18.84-2.75 7.83-7.25 14.78-13.52 20.85Zm-315.49-71.25c9.82 3.01 18.26 4.57 25.34 4.68 4.28 .07 8.35-.55 12.22-1.85 3.38-1.14 6.95-3.28 10.72-6.43l30.21 36.12-32.77-33.82c-4.37 4.24-7.65 9.44-9.81 15.61-1.85 5.28-2.66 10.75-2.42 16.39 .26 6.05 1.7 11.79 4.31 17.22 3.75 7.82 9.4 13.96 16.93 18.42 6.53 3.87 13.5 5.86 20.9 5.98 6.29 .1 12.41-1.28 18.34-4.12l-20.39-42.45 30.08 36.23c-12.57 10.43-25.84 17.91-39.82 22.43-13.18 4.26-26.65 6.28-40.41 6.06-16.47-.26-32.78-3.13-48.93-8.62l15.16-44.59 42.99 19.23-3.47 7.76-42.99-19.23Zm-78.56 74.42 42.76-95.56 40.63 13.81c6.8 2.32 13.49 3.53 20.09 3.63 3.35 .05 6.67-.45 9.95-1.51 2.48-.8 5.36-2.56 8.63-5.28l4.46-3.7 5.22-2.51c7.44-3.57 15.41-5.29 23.94-5.15 9.27 .14 17.81 2.53 25.63 7.16 8.82 5.23 15.47 12.51 19.94 21.82 2.98 6.19 4.61 12.7 4.9 19.53 .28 6.44-.66 12.72-2.81 18.84-2.74 7.82-7.25 14.77-13.52 20.85l-1.23 1.19-1.32 1.11c-12.83 10.73-26.54 18.54-41.11 23.45-14.1 4.74-28.68 6.99-43.75 6.75-15.98-.25-33.14-3.18-51.47-8.81Zm176.5-141.86c6.08 .1 11.98-1.09 17.7-3.55 7.83-3.37 14.16-8.57 19-15.58 3.71-5.38 6.08-11.23 7.12-17.55 .56-3.38 .68-6.68 .38-9.89l-46.89 4.46 46.23-8.98c-.89-4.64-3.15-9.05-6.77-13.25-4.83-5.61-10.73-9.24-17.7-10.88 2.63 .61 5.22 .95 7.78 .99l-.75 47.09-10.69-45.87c-8.59 2.01-15.91 6.56-21.94 13.66-4.44 5.22-7.49 11.15-9.14 17.79-1.34 5.38-1.64 10.76-.9 16.16 .7 5.06 2.29 9.89 4.78 14.46 3.04 5.59 7.11 10.3 12.21 14.1 7.31 5.46 15.29 8.25 23.96 8.39l-4.47-.07c-6.42-.1-12.98-.95-19.67-2.55-11.28-2.69-20.71-8.3-28.28-16.83-6.83-7.69-11.2-16.77-13.13-27.26l-.13-.75-.12-.75c.73 4.8 2.25 9.38 4.58 13.74 2.94 5.48 6.86 10.13 11.79 13.94 7.53 5.84 15.88 8.84 25.05 8.98Zm1.48-94.17c11.77 .19 22.16 3.77 31.17 10.75 10.67 8.27 17.03 19.19 19.07 32.75l-46.57 7.01 46.32-8.51c-1.24-6.76-4.27-12.85-9.08-18.27-5.56-6.26-12.32-10.34-20.26-12.24 .09 .02 .16 .04 .21 .05 0 0-.02 0-.04-.01-.25-.03-.55-.05-.9-.05l4.46 .07c11.64 .18 21.94 3.62 30.91 10.31 5.93 4.43 10.66 9.9 14.2 16.4 2.98 5.49 4.9 11.37 5.77 17.66 .91 6.61 .57 13.09-1.02 19.47-1.91 7.64-5.41 14.45-10.5 20.45-7.38 8.66-16.84 14.35-28.42 17.04l-5.64 1.32-5.8-.09c-9.35-.15-18.64-1.31-27.88-3.48-12.9-3.04-23.59-9.49-32.08-19.35-7.27-8.44-12.04-18.52-14.32-30.25l-.43-2.24-.22-2.28c-1.24-13.06 1.67-24.71 8.73-34.95 5.41-7.85 12.5-13.66 21.26-17.43 6.65-2.87 13.68-4.25 21.06-4.13Zm50.83-1.57c9.16 .14 17.6-2.58 25.32-8.18 5.04-3.66 9.11-8.18 12.21-13.57 2.47-4.28 4.14-8.81 5.02-13.58 1.93-10.58 .06-20.58-5.63-30.01-5.37-8.91-12.83-15.05-22.38-18.4l-15.6 44.44 9.16-46.19c11.33 2.24 20.95 7.29 28.86 15.14 8.29 8.23 13.46 18.25 15.52 30.06 1.19 6.84 1.75 12.67 1.68 17.49l-47.09-.74 45.48-12.22c-2.05-7.64-6.15-14.23-12.29-19.77-8.01-7.25-17.37-10.95-28.05-11.12-5.12-.08-10.15 .77-15.09 2.57-6.86 2.48-12.74 6.45-17.65 11.88-4.32 4.78-7.42 10.21-9.29 16.28-1.15 3.73-1.76 7.46-1.82 11.21l47.09 .74-47.01 2.87c.07 1.04 .25 1.88 .56 2.54 2.02 4.4 5.01 8.18 8.96 11.34 3.75 3 7.81 5.01 12.19 6.02l10.59-45.89Zm1.49-94.17 4.99 .07 4.86 1.13c9.57 2.21 18.06 6.28 25.48 12.23 7.63 6.1 13.53 13.69 17.72 22.77 4.62 10.04 7.26 20.41 7.91 31.13l.11 1.81-.03 1.81c-.21 13.28-4.59 24.66-13.16 34.15-5.58 6.17-12.28 10.67-20.12 13.52-5.92 2.15-12.09 3.17-18.52 3.07-12.91-.2-24.11-4.59-33.6-13.16-7.61-6.87-12.79-15.43-15.54-25.68l-1.71-6.37 .1-6.6c-.02 1.09 .01 1.91 .07 2.47-.06-.51-.18-1.28-.36-2.31 1.38 7.89 5.02 14.77 10.93 20.64 5.53 5.48 11.92 8.94 19.17 10.38l-3.28-.65-3.16-1.11c-11.76-4.12-20.79-11.4-27.08-21.82-6.59-10.93-8.71-22.79-6.37-35.6 2.47-13.48 9.17-24.19 20.1-32.13 9.23-6.69 19.72-9.94 31.49-9.75Zm100.04 5.14c.07-4.45-.58-8.85-1.96-13.22-2.08-6.58-5.54-12.36-10.37-17.35-4.84-5-10.51-8.63-17.02-10.92-4.32-1.51-8.7-2.31-13.15-2.38-3.73-.06-7.49 .43-11.25 1.46-6.13 1.69-11.66 4.61-16.57 8.78-5.59 4.73-9.73 10.49-12.44 17.26-1.94 4.88-2.96 9.88-3.04 15.01-.07 4.35 .58 8.67 1.93 12.97 2.06 6.51 5.48 12.23 10.27 17.18 4.79 4.94 10.41 8.54 16.85 10.8 4.25 1.5 8.55 2.28 12.9 2.34 5.12 .09 10.16-.77 15.1-2.56 6.85-2.49 12.73-6.45 17.64-11.89 4.32-4.78 7.42-10.21 9.3-16.28 1.15-3.73 1.76-7.47 1.81-11.2Zm-94.17-1.49c.21-13.29 4.6-24.67 13.17-34.16 5.57-6.17 12.27-10.67 20.11-13.52 5.93-2.15 12.1-3.17 18.53-3.07 5.84 .09 11.44 1.08 16.8 2.96 7.55 2.65 14.08 6.83 19.61 12.53 5.52 5.7 9.49 12.36 11.9 19.99 1.71 5.42 2.52 11.05 2.43 16.89-.11 6.43-1.32 12.57-3.66 18.42-3.09 7.74-7.81 14.3-14.15 19.67-9.75 8.27-21.27 12.3-34.55 12.09-5.75-.09-11.27-1.07-16.56-2.93-7.48-2.62-13.96-6.76-19.44-12.41-5.47-5.66-9.41-12.26-11.79-19.82-1.69-5.35-2.49-10.9-2.4-16.64Zm64.48 290.73c.14-9.1-2.7-17.53-8.54-25.29-4.55-6.04-10.29-10.61-17.19-13.7-5.4-2.42-10.99-3.67-16.79-3.76-10.49-.17-19.86 3.24-28.1 10.23-8.13 6.89-13 15.43-14.62 25.62l46.51 7.4-47.09-.74 .01-.56 47.09 .74-46.72 5.93c1.29 10.24 5.9 18.93 13.8 26.07 8.02 7.24 17.28 10.95 27.77 11.11 10.68 .17 20.16-3.18 28.44-10.05 6.03-5.01 10.29-11.06 12.78-18.15l-44.44-15.6Zm-94.17-1.49 .12-7.64 2.53-7.21c3.27-9.32 8.58-17.03 15.93-23.13 9.6-7.96 20.66-11.85 33.21-11.65 13.09 .2 24.39 4.6 33.88 13.17 9.37 8.46 14.87 19.12 16.5 31.97l.42 3.32-.12 7.25-.52 3.31c-2.04 12.79-7.87 23.27-17.51 31.43-9.75 8.27-21.18 12.3-34.27 12.09-7.1-.11-13.83-1.59-20.2-4.44-7.88-3.52-14.41-8.73-19.59-15.63-7.12-9.45-10.58-20.4-10.38-32.84Zm-110.06-3.42c.15-9.1-2.7-17.52-8.54-25.28-4.55-6.05-10.28-10.62-17.19-13.71-5.4-2.41-10.99-3.66-16.78-3.75-10.5-.17-19.86 3.24-28.11 10.23-8.12 6.88-13 15.42-14.62 25.62l46.51 7.4-47.09-.75 .01-.55 47.09 .74-46.72 5.92c1.3 10.24 5.9 18.93 13.8 26.07 8.02 7.25 17.28 10.95 27.77 11.12 10.68 .17 20.16-3.18 28.44-10.05 6.03-5.01 10.29-11.06 12.78-18.16l-44.43-15.59Zm-94.17-1.49 .12-7.64 2.53-7.21c3.27-9.31 8.58-17.02 15.93-23.13 9.6-7.96 20.67-11.84 33.21-11.64 13.1 .2 24.39 4.59 33.88 13.16 9.37 8.46 14.87 19.12 16.5 31.98l.42 3.32-.12 7.25-.52 3.3c-2.04 12.8-7.87 23.28-17.5 31.44-9.76 8.27-21.18 12.3-34.28 12.09-7.1-.11-13.83-1.59-20.19-4.44-7.88-3.53-14.41-8.73-19.6-15.63-7.12-9.45-10.58-20.4-10.38-32.85Zm0 0',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
part: 'y',
|
|
121
|
+
layer: 'outline',
|
|
122
|
+
ink: 'outline',
|
|
123
|
+
d: 'm1279.91 736.8-3.25 25.47c-1.29 10.13-3.47 21.08-6.55 32.84-4.16 15.9-11.42 30.64-21.77 44.19-12.17 15.93-28.82 27.66-49.95 35.21-19.45 6.95-43.06 8.66-70.82 5.12-27.49-3.51-49.72-11.11-66.69-22.8-18.25-12.57-31.24-28.04-38.97-46.4-6.63-15.73-9.96-31.81-9.99-48.25-.03-12.16 .61-23.31 1.9-33.43l7.23-56.68 92.11 11.74-5.96 46.72-46.71-5.96 2.04-16.06 46.72 5.96-5.96 46.72-30.45-3.89c-26.54-3.38-49.5-11.1-68.87-23.16-20.94-13.02-37.06-30.58-48.39-52.66-19.16-37.35-25.21-83.74-18.14-139.15 .67-5.22 1.56-11.44 2.68-18.67 .99-6.38 2.05-13.98 3.17-22.79 1.3-10.13 3.48-21.07 6.55-32.84 4.16-15.9 11.42-30.63 21.78-44.19 12.17-15.93 28.82-27.66 49.94-35.21 19.46-6.95 43.07-8.65 70.83-5.12 26.32 3.36 47.69 10.38 64.11 21.07 17.85 11.62 30.89 26.15 39.12 43.58 7.1 15.03 11.03 30.49 11.79 46.36 .59 12.37 .17 24.16-1.26 35.38l-5.72 44.85c1.05-8.26-.86-15.76-5.75-22.52-2.43-3.35-5.5-6.19-9.24-8.5-4.28-2.67-8.89-4.31-13.83-4.94-4.58-.59-9.18-.19-13.81 1.2-4.87 1.46-9.16 3.83-12.85 7.11-5.87 5.2-9.27 11.43-10.2 18.71l5.09-39.87c1.29-10.13 3.48-21.07 6.55-32.84 4.16-15.9 11.42-30.63 21.78-44.19 12.1-15.84 28.56-27.55 49.38-35.14 19.36-7.06 42.78-8.83 70.28-5.33 27.75 3.54 50.18 11.12 67.27 22.74 18.55 12.6 31.72 28.14 39.5 46.61 6.63 15.72 9.95 31.81 9.99 48.25 .02 12.15-.61 23.3-1.9 33.43l-7.74 60.67-.27 1.41c-4.15 21.79-10.92 42.78-20.32 62.96-11.06 23.76-27.51 43.85-49.34 60.28-21.88 16.46-50.12 27.33-84.72 32.61l-7.1-46.56Zm-93.43-11.91 4.5-35.24 35.11-5.36c18.96-2.89 33.07-7.81 42.3-14.77 9.29-6.99 16.15-15.24 20.59-24.77 6.1-13.09 10.49-26.7 13.17-40.8l46.27 8.8-46.72-5.95 7.56-59.25c.78-6.11 1.16-13.21 1.14-21.32-.01-3.82-.87-7.78-2.6-11.87-.57-1.35-2.45-3.11-5.64-5.28-4.66-3.17-13.41-5.57-26.25-7.21-12.37-1.57-21.07-1.44-26.1 .39-3.58 1.3-5.84 2.58-6.8 3.83-2.7 3.53-4.53 7.15-5.5 10.84-2.05 7.85-3.46 14.82-4.24 20.93l-5.09 39.86c-2.06 16.13-8.98 29.42-20.77 39.87-6.65 5.9-14.17 10.1-22.55 12.62-8.14 2.44-16.53 3.11-25.17 2.01-8.62-1.1-16.6-3.93-23.93-8.48-6.77-4.21-12.57-9.64-17.39-16.3-9.67-13.37-13.46-28.23-11.37-44.61l5.72-44.85c.74-5.76 .94-12.08 .61-18.96-.16-3.37-1.12-6.92-2.88-10.64-.63-1.33-2.41-2.95-5.34-4.87-4.36-2.83-12.58-5.03-24.64-6.57-12.85-1.63-21.92-1.51-27.22 .39-3.63 1.3-5.89 2.53-6.79 3.69-2.69 3.53-4.53 7.15-5.5 10.84-2.04 7.85-3.46 14.82-4.24 20.93-1.23 9.65-2.4 18.08-3.53 25.31-.99 6.38-1.76 11.77-2.32 16.15-4.6 36.12-1.77 64.2 8.51 84.24 3.39 6.61 8.18 11.85 14.35 15.69 7.73 4.81 18.08 8.04 31.03 9.69l77.17 9.85-13.97 109.48-92.12-11.75 5.96-46.71 46.72 5.95-1.27 9.97c-.78 6.11-1.16 13.22-1.15 21.32 .01 3.82 .88 7.78 2.6 11.88 .62 1.45 2.49 3.26 5.62 5.42 4.41 3.04 12.8 5.34 25.17 6.92 12.84 1.64 21.92 1.51 27.22-.38 3.63-1.3 5.9-2.53 6.79-3.7 2.69-3.53 4.52-7.14 5.49-10.84 2.05-7.84 3.47-14.82 4.24-20.93Zm81.34-250.27 4.31-7.33 40.59 23.88-18.71 43.21c-9.42-4.08-17.65-6.56-24.67-7.46-4.18-.53-8.38-.38-12.62 .45-3.08 .61-6.74 2.33-10.96 5.14l-26.15-39.16 28.81 37.25c6.23-4.82 10.77-11.03 13.61-18.64 3.42-9.13 3.75-18.32 .97-27.57-2.08-6.95-5.8-13.02-11.16-18.22-7.01-6.8-15.34-10.82-24.98-12.05-6.25-.8-12.47-.11-18.68 2.07l15.56 44.45-25.88-39.35c13.65-8.97 27.66-14.93 42.05-17.88 13.57-2.77 27.19-3.29 40.84-1.55 16.34 2.09 32.23 6.76 47.68 14l-20.02 42.64Zm81.18 47.75-21.76 36.99-38.84-18.24c-6.5-3.05-13.03-4.99-19.57-5.83-3.32-.42-6.67-.29-10.05 .4-2.55 .52-5.61 1.95-9.16 4.29l-4.85 3.19-5.47 1.91c-7.78 2.73-15.9 3.55-24.36 2.47-11.12-1.42-20.68-6.02-28.69-13.79-6.37-6.17-10.85-13.61-13.46-22.31-3.3-11-2.95-21.83 1.03-32.49 3.41-9.12 9.07-16.74 16.96-22.85l1.3-1.01 1.37-.91c14.64-9.78 29.65-16.18 45.03-19.22 14.24-2.81 28.49-3.3 42.78-1.48 15.85 2.02 32.58 6.84 50.18 14.46l48.89 21.17Zm-293.25-16.34c6.23-4.83 10.77-11.04 13.61-18.64 3.42-9.14 3.75-18.33 .97-27.57-2.08-6.95-5.8-13.02-11.16-18.23-7.01-6.8-15.34-10.81-24.98-12.04-6.25-.8-12.48-.11-18.68 2.06l15.56 44.45-25.88-39.35c13.65-8.97 27.66-14.93 42.05-17.87 13.58-2.77 27.19-3.29 40.84-1.55 16.34 2.08 32.23 6.75 47.67 14l-20.01 42.63-40.59-23.88 4.31-7.33 40.59 23.88-18.71 43.22c-9.42-4.08-17.65-6.57-24.67-7.47-4.18-.53-8.38-.38-12.62 .46-3.09 .61-6.74 2.32-10.96 5.14l-26.16-39.16Zm-57.64-74.5 1.3-1 1.37-.91c14.64-9.78 29.65-16.19 45.03-19.23 14.24-2.8 28.49-3.3 42.78-1.48 15.85 2.03 32.58 6.85 50.18 14.46l48.89 21.18-53.09 90.23-38.84-18.23c-6.5-3.05-13.03-5-19.57-5.83-3.32-.43-6.68-.29-10.05 .4-2.56 .52-5.61 1.95-9.17 4.29l-4.84 3.18-5.47 1.92c-7.78 2.72-15.9 3.54-24.36 2.47-11.12-1.43-20.68-6.02-28.7-13.79-6.36-6.18-10.84-13.62-13.45-22.32-3.3-11-2.96-21.82 1.03-32.48 3.41-9.13 9.07-16.75 16.96-22.86Zm124.04 320.57c9.42 4.08 17.65 6.57 24.67 7.47 4.25 .54 8.36 .37 12.35-.49 3.49-.75 7.27-2.49 11.36-5.2l26.03 39.25-28.82-37.25c-4.82 3.73-8.65 8.54-11.48 14.42-2.43 5.05-3.84 10.39-4.22 16.04-.42 6.03 .38 11.89 2.37 17.58 2.86 8.18 7.79 14.92 14.78 20.18 6.06 4.57 12.77 7.33 20.11 8.26 6.25 .8 12.48 .11 18.68-2.06l-15.56-44.45 25.88 39.34c-13.64 8.98-27.66 14.93-42.05 17.88-13.57 2.77-27.18 3.29-40.84 1.55-16.34-2.09-32.23-6.75-47.67-14l20.01-42.63 40.59 23.88-4.31 7.32-40.59-23.87Zm-86.31 65.26 53.08-90.24 38.85 18.24c6.5 3.05 13.01 4.99 19.56 5.83 3.33 .42 6.68 .29 10.05-.4 2.56-.52 5.61-1.95 9.17-4.29l4.84-3.18 5.47-1.92c7.78-2.72 15.9-3.55 24.36-2.47 9.19 1.17 17.42 4.5 24.67 9.97 8.2 6.17 14 14.14 17.41 23.9 2.27 6.47 3.17 13.12 2.7 19.95-.43 6.42-2.06 12.56-4.87 18.4-3.6 7.47-8.85 13.88-15.75 19.22l-1.36 1.06-1.44 .95c-13.94 9.24-28.42 15.49-43.45 18.75-14.53 3.15-29.27 3.77-44.22 1.87-15.86-2.03-32.59-6.85-50.18-14.47Zm243.98-316.89c-1.16 9.03 .74 17.72 5.68 26.08 3.86 6.51 9.05 11.68 15.57 15.52 5.09 3 10.52 4.87 16.26 5.6 10.41 1.33 20.1-1.03 29.07-7.05 8.84-5.95 14.63-13.9 17.37-23.85l-45.4-12.51 46.71 5.96-.07 .56-46.71-5.96 47.08-.71c-.15-10.32-3.76-19.47-10.83-27.44-7.16-8.09-15.95-12.8-26.36-14.12-10.41-1.33-20.12 .96-29.1 6.87-8.82 5.79-14.7 13.61-17.66 23.45l45.1 13.56Zm93.43 11.92-.5 3.87-1.12 3.73c-3.61 12.01-10.54 21.38-20.79 28.12-10.41 6.85-21.94 9.48-34.57 7.86-12.99-1.65-23.73-7.27-32.21-16.83-8.37-9.46-12.66-20.66-12.85-33.61l-.05-3.35 .91-7.19 .89-3.23c3.44-12.49 10.4-22.26 20.88-29.3 10.61-7.14 22.41-9.88 35.41-8.22 7.03 .9 13.56 3.11 19.57 6.65 7.44 4.38 13.36 10.28 17.75 17.7 6.02 10.19 8.25 21.45 6.68 33.8Zm-248.59 10.7c10.41 1.33 20.1-1.02 29.07-7.05 8.84-5.94 14.63-13.89 17.37-23.85l-45.41-12.5 46.72 5.96-.07 .55-46.72-5.96 47.09-.71c-.15-10.32-3.76-19.46-10.83-27.44-7.17-8.09-15.95-12.79-26.36-14.12-10.41-1.33-20.11 .96-29.1 6.87-8.82 5.8-14.7 13.62-17.66 23.46l45.1 13.55-46.72-5.95c-1.15 9.02 .75 17.71 5.69 26.07 3.86 6.51 9.04 11.69 15.56 15.53 5.1 3 10.52 4.86 16.27 5.59Zm11.92-93.43c7.04 .9 13.56 3.12 19.57 6.66 7.44 4.37 13.35 10.27 17.75 17.7 6.02 10.18 8.25 21.45 6.67 33.8l-.49 3.86-1.12 3.73c-3.61 12.01-10.54 21.39-20.79 28.12-10.42 6.86-21.94 9.48-34.57 7.87-12.99-1.66-23.73-7.27-32.21-16.84-8.37-9.45-12.66-20.65-12.86-33.61l-.05-3.35 .92-7.19 .89-3.23c3.44-12.49 10.4-22.25 20.88-29.3 10.61-7.13 22.41-9.87 35.41-8.22Zm-.23 356.35c1.15-9.02-.75-17.71-5.69-26.07-3.86-6.52-9.04-11.69-15.56-15.53-5.1-3-10.52-4.86-16.27-5.59-10.41-1.33-20.1 1.02-29.06 7.05-8.84 5.94-14.63 13.89-17.38 23.84l45.41 12.51-46.72-5.96 .07-.55 46.72 5.95-47.09 .71c.15 10.32 3.76 19.47 10.83 27.45 7.17 8.08 15.95 12.79 26.36 14.12 10.6 1.35 20.39-.93 29.38-6.84 6.55-4.31 11.45-9.85 14.72-16.62l-42.44-20.43Zm-93.43-11.92 .97-7.58 3.31-6.88c4.28-8.9 10.41-15.97 18.4-21.22 10.42-6.86 21.85-9.49 34.29-7.9 12.99 1.66 23.73 7.27 32.21 16.84 8.38 9.45 12.66 20.65 12.86 33.61l.04 3.34-.91 7.2-.89 3.22c-3.44 12.49-10.4 22.26-20.88 29.31-10.61 7.13-22.41 9.87-35.41 8.22-7.04-.9-13.56-3.12-19.57-6.66-7.44-4.37-13.36-10.27-17.75-17.7-6.02-10.18-8.25-21.45-6.67-33.8Zm0 0',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
part: 'w',
|
|
127
|
+
layer: 'fill',
|
|
128
|
+
ink: 'way',
|
|
129
|
+
d: 'm531.2 593.44c1.77 15.9 3.5 33.12 5.19 51.65 1.7 18.53 1.99 37.13 .89 55.78-1.09 18.65-4.96 36.02-11.59 52.11-6.64 16.1-17.31 29.55-32 40.36-14.7 10.81-34.81 17.64-60.33 20.49-36.6 4.08-65.18-5.37-85.72-28.35-20.53-22.99-35.22-55.69-44.08-98.12l-2.78 .29c1.1 43.31-5.93 78.44-21.09 105.41-15.15 26.96-41.03 42.48-77.64 46.56-25.51 2.85-46.64 .62-63.38-6.68-16.73-7.32-30.1-18.09-40.11-32.32-10-14.23-17.59-30.33-22.78-48.28-5.18-17.95-8.99-36.16-11.42-54.61-2.44-18.44-4.54-35.62-6.31-51.53-1.65-14.79-2.84-27.19-3.58-37.22-.75-10.03-1.6-20.14-2.55-30.33-.95-10.19-2.28-22.87-3.97-38.03-2.1-18.85-.38-34.48 5.16-46.89 5.54-12.41 13.58-21.83 24.09-28.25 10.52-6.41 22.07-10.32 34.65-11.72 12.94-1.44 25.78-.53 38.5 2.72 12.71 3.26 23.68 10.18 32.9 20.75 9.23 10.58 14.98 26.03 17.25 46.38l14.66 131.47c.82 7.4 2.17 11.93 4.04 13.59 1.88 1.67 3.93 2.38 6.15 2.13 2.59-.29 4.7-1.47 6.34-3.52 1.63-2.05 2.04-6.77 1.22-14.17-.09-.74-.24-2.13-.47-4.16-.23-2.04-.73-7.32-1.49-15.84-.76-8.53-2.21-22.41-4.35-41.64-2.14-19.23-5.17-46.41-9.08-81.53-.71-6.29-.95-13.38-.71-21.27 .25-7.89 1.93-15.57 5.02-23.03 3.1-7.46 8.75-13.89 16.95-19.3 8.2-5.4 20.07-8.97 35.6-10.7 15.16-1.7 27.34-.72 36.54 2.94 9.21 3.65 16.14 8.68 20.78 15.09 4.65 6.41 7.96 13.43 9.93 21.08 1.97 7.64 3.3 14.6 4.01 20.89 3.92 35.12 6.94 62.3 9.08 81.53 2.15 19.23 3.79 33.09 4.92 41.58 1.14 8.48 1.82 13.74 2.05 15.78 .23 2.03 .38 3.42 .47 4.16 .82 7.39 2.26 11.91 4.31 13.56 2.06 1.65 4.38 2.32 6.97 2.03 2.22-.25 4.05-1.39 5.51-3.42 1.46-2.03 1.78-6.74 .96-14.14l-14.66-131.47c-2.27-20.35-.44-36.65 5.5-48.92 5.94-12.27 14.47-21.37 25.6-27.28 11.13-5.92 23.17-9.6 36.12-11.05 12.56-1.4 24.96-.16 37.19 3.72 12.22 3.87 22.78 11.22 31.65 22.03 8.89 10.8 14.38 25.63 16.49 44.48 1.69 15.16 3.19 27.82 4.5 37.97 1.32 10.15 2.72 20.2 4.2 30.14 1.49 9.94 3.06 22.31 4.7 37.1ZM386.44 463.58c-1.32 1.63-1.52 3.25-.59 4.84 .92 1.59 2.12 2.29 3.6 2.13 1.11-.13 2.01-.42 2.72-.88 7.02-7.52 14.45-13.12 22.27-16.8 7.82-3.68 15.99-6 24.5-6.95 11.46-1.28 23.13-.71 35.01 1.7l2.47-8.14c-14.51-2.49-27.5-3.09-38.97-1.81-9.25 1.03-18.14 3.52-26.68 7.47-8.55 3.95-16.65 10.09-24.33 18.44ZM66.42 504.87c-1.31 1.65-1.5 3.27-.57 4.85 .93 1.58 2.12 2.29 3.6 2.12 1.12-.12 2.02-.41 2.72-.87 7.02-7.52 14.45-13.12 22.27-16.8 7.83-3.69 16-6 24.5-6.95 11.47-1.28 23.14-.71 35.01 1.72l2.46-8.14c-14.5-2.5-27.48-3.11-38.94-1.83-9.25 1.03-18.15 3.52-26.7 7.47-8.55 3.95-16.66 10.09-24.35 18.43Zm166.72-20.84c-1.31 1.65-1.51 3.17-.61 4.56 .91 1.4 2.1 2.01 3.58 1.85 1.1-.12 1.82-.38 2.16-.79 6.33-7.08 12.97-12.22 19.9-15.42 6.94-3.2 14.11-5.22 21.5-6.04 9.99-1.12 20.35-.59 31.08 1.57l2.03-6.96c-6.13-1.19-12.12-1.93-17.95-2.21-5.82-.29-11.32-.14-16.5 .44-8.14 .91-16.03 3.19-23.67 6.84-7.64 3.66-14.81 9.05-21.52 16.16Zm-73.15 315.92c-1.48 .17-2.61 1.04-3.36 2.63-.76 1.57-.3 3.2 1.4 4.89 12.2 5.37 24.77 7.34 37.71 5.9 5.17-.58 10.28-1.8 15.31-3.67 5.04-1.87 9.44-4.33 13.22-7.37 1.64-2.07 1.92-3.78 .83-5.14-1.09-1.38-2.55-1.96-4.4-1.75-1.1 .12-1.82 .39-2.15 .79-3.1 2.59-6.72 4.58-10.86 5.97-4.15 1.4-8.44 2.35-12.88 2.85-12.21 1.35-22.85-.09-31.92-4.32-1.56-.56-2.53-.82-2.9-.78Zm221.06-117.89c4.06-.44 7.82-1.98 11.26-4.61 2.1-1.35 2.75-3.01 1.96-4.98-.78-1.98-2.1-2.87-3.94-2.66-.74 .09-1.46 .34-2.16 .78-2.79 1.83-5.29 2.86-7.51 3.1-4.44 .5-8.75-.43-12.94-2.77-4.19-2.34-7.09-5.66-8.7-9.97-.61-2.19-2.21-3.13-4.8-2.84-2.59 .28-3.52 2.07-2.8 5.36 2.16 5.75 6.15 10.45 11.99 14.11 5.83 3.65 11.71 5.15 17.64 4.48Zm-175-13.05c-2.6 .29-3.52 2.07-2.77 5.36 1.72 5.43 5.32 10.09 10.8 13.97 5.49 3.89 10.82 5.54 16 4.96 5.19-.57 9.34-3.66 12.47-9.25 .53-1.94 .35-3.51-.55-4.72-.88-1.22-2.07-1.75-3.55-1.58-1.1 .12-2.14 .81-3.12 2.05-1.89 3.19-4.12 4.94-6.7 5.23-3.7 .42-7.32-.86-10.85-3.84-3.52-2.98-5.83-6.09-6.92-9.33-.62-2.19-2.23-3.13-4.81-2.85Zm198.01 108.77c-1.48 .17-2.49 1.12-3.04 2.87-.56 1.75-.01 3.29 1.64 4.6 4.22 1.02 8.44 1.95 12.65 2.78 4.21 .84 8.16 1.05 11.86 .64 7.77-.86 14.26-4.77 19.47-11.7 .54-1.93 .37-3.49-.51-4.71-.88-1.21-2.06-1.74-3.55-1.57-1.11 .12-2.15 .8-3.13 2.03-3.96 4.93-8.71 7.7-14.25 8.33-2.59 .29-5.51 .15-8.76-.43-3.24-.57-6.61-1.41-10.09-2.53-.42-.33-1.18-.44-2.29-.31Zm-5.09-116.23c-2.23 .25-2.73 1.71-1.5 4.37 1.24 2.67 2.6 3.92 4.08 3.75 .74-.08 1.58-.93 2.53-2.53 .99-1.23 .62-2.87-1.11-4.92-1.19-.62-2.52-.84-4-.67ZM164.99 492.19l.06 .56c.65 2.54 2.27 3.67 4.86 3.37 2.22-.23 3.4-1.48 3.51-3.73-.36-3.33-1.84-4.86-4.43-4.58-2.59 .29-3.92 1.75-4 4.38Zm320-41.3 .06 .56c.65 2.56 2.27 3.69 4.86 3.39 2.22-.24 3.39-1.49 3.51-3.75-.37-3.33-1.85-4.86-4.43-4.58-2.59 .3-3.92 1.75-4 4.38Zm-164.39 21.7 .06 .56c1.04 2.5 2.48 3.65 4.33 3.44 1.85-.2 2.83-1.44 2.95-3.69-.32-2.96-1.59-4.32-3.81-4.07-1.85 .21-3.03 1.46-3.53 3.76Zm0 0',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
part: 'a',
|
|
133
|
+
layer: 'fill',
|
|
134
|
+
ink: 'way',
|
|
135
|
+
d: 'm946.43 627.49c.01-.74-.18 5.87-.59 19.81-.4 13.94-1.06 38.58-2 73.92-.14 8.19-.93 17.3-2.39 27.32-1.46 10.02-4.96 19.64-10.5 28.85-5.54 9.22-14.22 16.7-26.03 22.47-11.81 5.77-27.95 8.5-48.42 8.18-20.09-.33-35.86-3.56-47.3-9.69-11.44-6.13-19.78-13.9-25.03-23.28-5.25-9.39-8.45-19.11-9.6-29.18-1.14-10.06-1.65-19.18-1.51-27.37l.19-12.27c9.72-3.19 17.82-9.21 24.29-18.04 6.47-8.83 10.18-19.38 11.11-31.64l-13.95-.22c-.96 13.75-5.31 23.54-13.03 29.37-7.72 5.84-16.23 8.67-25.53 8.52-9.31-.15-17.82-3.26-25.53-9.33-7.72-6.07-11.83-16-12.36-29.78l-13.96-.22c.55 12.28 3.92 22.95 10.1 31.98 6.18 9.04 14.08 15.3 23.7 18.8l-.19 12.27c-.13 8.18-.93 17.29-2.39 27.31-1.46 10.02-4.96 19.64-10.5 28.86-5.53 9.22-14.12 16.71-25.75 22.48-11.62 5.77-27.48 8.5-47.58 8.19-20.46-.33-36.5-3.57-48.12-9.7-11.63-6.13-20.06-13.9-25.31-23.28-5.25-9.4-8.45-19.12-9.6-29.18-1.15-10.06-1.65-19.18-1.51-27.37 .19-35.35 .31-60 .34-73.95 .03-13.96 .04-20.57 .03-19.83 .33-21.57 1.69-42.67 4.06-63.28 2.38-20.63 7.06-39.9 14.04-57.83 6.98-17.94 17.28-33.59 30.89-46.95 13.6-13.38 31.62-23.71 54.06-30.99 22.44-7.28 50.41-10.65 83.89-10.12l11.72 .18c33.49 .54 61.33 4.8 83.53 12.79 22.21 7.98 39.9 18.86 53.08 32.65 13.19 13.79 22.98 29.76 29.39 47.91 6.4 18.15 10.47 37.56 12.19 58.25 1.71 20.69 2.41 41.82 2.07 63.39Zm-204.21-40.63c-.06 2.98 .72 6.62 2.32 10.93 1.6 4.3 6.5 6.51 14.69 6.64 7.46-.63 11.96-2.88 13.5-6.75 1.55-3.89 2.35-7.32 2.41-10.3l.62-39.63c.04-2.97-.74-6.61-2.34-10.92-1.61-4.31-6.5-6.53-14.69-6.67-7.07 .27-11.48 2.45-13.22 6.52-1.74 4.06-2.63 7.58-2.67 10.56Zm-48.74-130.28c-1.52 1.47-2.01 3.05-1.48 4.74 .53 1.68 1.72 2.52 3.59 2.54l1.13 .03c16.87-7.92 36.09-11.71 57.67-11.37 24.55 .39 47.54 5.22 68.98 14.5 2.99-.71 4.31-2.09 3.97-4.14-.34-2.05-1.98-3.47-4.94-4.25-9.23-4.99-19.13-8.68-29.7-11.08-10.56-2.41-21.43-3.69-32.59-3.87-22.69-.36-44.9 3.95-66.63 12.9ZM909.7 762.55c1.87-1.83 2.45-3.5 1.73-5-.71-1.51-2-2.27-3.86-2.3-1.11-.02-2.05 .16-2.81 .52-7.92 6.57-15.99 11.2-24.22 13.86-8.23 2.66-16.62 3.92-25.17 3.78-11.54-.18-23.05-2.22-34.51-6.14l-3.47 7.78c14.06 4.31 26.86 6.55 38.39 6.74 9.67 .14 19-1.29 27.98-4.32 8.99-3.02 17.63-7.99 25.94-14.92Zm-296.55 7.58c14.07 4.31 26.88 6.56 38.42 6.75 9.67 .16 18.99-1.27 27.97-4.3 8.98-3.02 17.62-8 25.93-14.95 1.88-1.82 2.46-3.49 1.75-4.99-.72-1.5-2-2.26-3.86-2.29-1.12-.02-2.06 .15-2.82 .51-7.91 6.58-15.99 11.2-24.23 13.86-8.23 2.66-16.62 3.92-25.17 3.78-11.53-.17-23.04-2.22-34.52-6.14Zm112.5-159.53c-2.6-.04-3.74 1.62-3.42 4.98 1.36 7.09 5.02 11.33 10.95 12.72 5.94 1.39 11.88 2.13 17.83 2.22 2.99-.69 4.31-2.24 3.97-4.66-.34-2.42-1.98-3.66-4.95-3.72l-4.47-.06c-2.98-.05-6.14-.47-9.49-1.26-3.33-.79-5.34-3.06-6.01-6.8-.34-2.24-1.81-3.38-4.41-3.42Zm52.32-95.74c-2.62-.04-4.13 1.06-4.54 3.28-.4 2.22 .5 3.72 2.72 4.49 4.08 .81 6.46 3.18 7.14 7.09 .69 3.92 1.02 6.81 .99 8.67 .7 2.63 2.17 3.96 4.4 3.99 2.61 .04 3.93-1.43 3.99-4.41-.31-4.85-1.53-9.61-3.69-14.29-2.16-4.69-5.83-7.63-11.01-8.82Zm53.7-42.7c-.04 2.61 1.24 3.93 3.84 3.97 2.98 .05 4.49-1.22 4.53-3.83 .05-2.98-1.41-4.49-4.39-4.55-2.6-.03-3.93 1.43-3.98 4.41Zm-29.69 289.23c-.05 3.36 1.22 5.06 3.83 5.1 2.6 .04 4.11-1.24 4.51-3.85l0-.56c-.32-2.6-1.78-3.92-4.39-3.97-1.86-.03-3.18 1.07-3.95 3.28Zm-204.22-4.9c-.05 3.35 1.22 5.05 3.83 5.09 2.6 .05 4.11-1.23 4.52-3.83l0-.56c-.33-2.61-1.79-3.94-4.39-3.98-1.87-.03-3.19 1.06-3.96 3.28Zm0 0',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
part: 'y',
|
|
139
|
+
layer: 'fill',
|
|
140
|
+
ink: 'way',
|
|
141
|
+
d: 'm1233.21 730.84-3.25 25.47c-1.04 8.13-2.84 17.09-5.4 26.89-2.56 9.81-7.11 18.98-13.64 27.52-6.53 8.55-15.99 15.03-28.38 19.45-12.37 4.43-28.71 5.34-49 2.75-19.93-2.54-35.26-7.49-45.95-14.86-10.69-7.37-18.12-16-22.3-25.9-4.18-9.92-6.27-19.94-6.29-30.07-.03-10.13 .48-19.26 1.53-27.39l1.26-9.97 45.41 5.8 2.05-16.06-30.44-3.89c-39.51-5.03-66.62-21.89-81.33-50.58-14.71-28.7-19.15-65.94-13.31-111.72 .61-4.79 1.44-10.59 2.48-17.41 1.05-6.81 2.17-14.82 3.35-24.04 1.03-8.13 2.82-17.08 5.39-26.88 2.57-9.8 7.12-18.97 13.65-27.51 6.53-8.55 15.99-15.04 28.36-19.46 12.38-4.42 28.72-5.34 49.02-2.76 19.19 2.45 33.99 7.06 44.37 13.83 10.4 6.77 17.81 14.84 22.24 24.21 4.43 9.38 6.88 18.89 7.34 28.52 .46 9.63 .15 18.68-.94 27.17l-5.72 44.85c-.52 4.06 .41 7.74 2.8 11.04 2.4 3.31 5.44 5.19 9.13 5.66 4.06 .52 7.57-.52 10.53-3.14 2.95-2.63 4.72-6.16 5.29-10.6l5.08-39.85c1.03-8.13 2.83-17.09 5.39-26.9 2.57-9.8 7.13-18.97 13.66-27.51 6.53-8.54 15.89-15.04 28.08-19.49 12.19-4.44 28.26-5.39 48.2-2.85 20.3 2.58 35.89 7.57 46.77 14.96 10.87 7.39 18.39 16.04 22.56 25.96 4.17 9.9 6.27 19.93 6.28 30.06 .02 10.12-.48 19.25-1.52 27.37l-7.56 59.24c-3.4 17.95-8.98 35.25-16.73 51.89-7.75 16.65-19.41 30.82-34.97 42.53-15.56 11.7-36.73 19.59-63.49 23.67Zm75.19-232.34 4.33-7.33c-13.52-5.84-26-9.49-37.44-10.95-9.22-1.18-18.45-.85-27.68 .97-9.25 1.81-18.58 5.87-28 12.17-1.67 1.28-2.25 2.8-1.72 4.56 .53 1.76 1.53 2.74 3.01 2.92 1.1 .14 2.05 .07 2.83-.2 8.6-5.66 17.14-9.36 25.61-11.09 8.48-1.73 16.96-2.05 25.44-.97 11.44 1.46 22.65 4.76 33.62 9.92Zm-281.45-29.72c-1.68 1.28-2.25 2.81-1.72 4.56 .53 1.76 1.53 2.74 3 2.92 1.11 .15 2.05 .08 2.83-.2 8.6-5.65 17.14-9.35 25.61-11.08 8.47-1.73 16.95-2.06 25.44-.98 11.44 1.47 22.65 4.78 33.62 9.94l4.31-7.35c-13.51-5.84-25.98-9.49-37.42-10.95-9.23-1.18-18.46-.85-27.7 .97-9.23 1.81-18.56 5.87-27.97 12.17Zm76.5 326.53c13.5 5.86 25.97 9.51 37.42 10.97 9.58 1.22 19 .82 28.27-1.19 9.25-2 18.39-5.99 27.42-11.97 2.08-1.61 2.85-3.2 2.3-4.76-.55-1.57-1.75-2.47-3.6-2.7-1.1-.15-2.05-.09-2.84 .18-8.6 5.66-17.14 9.36-25.61 11.1-8.47 1.73-16.95 2.05-25.44 .97-11.44-1.46-22.65-4.77-33.62-9.93Zm223.08-288.87c.42-3.34-.66-5.16-3.24-5.49-2.58-.33-4.22 .77-4.92 3.3l-.06 .56c.03 2.64 1.33 4.12 3.92 4.45 2.22 .29 3.65-.66 4.3-2.82Zm-195.91-30.07c-2.59-.33-4.23 .78-4.92 3.32l-.06 .56c.03 2.62 1.33 4.1 3.92 4.44 2.22 .28 3.65-.66 4.3-2.83 .42-3.33-.66-5.16-3.24-5.49Zm-40.98 303.69c-.42 3.33 .66 5.15 3.25 5.47 2.58 .34 4.22-.77 4.9-3.31l.08-.56c-.03-2.63-1.34-4.11-3.92-4.44-1.86-.23-3.29 .72-4.31 2.84Zm0 0',
|
|
142
|
+
},
|
|
143
|
+
];
|
|
144
|
+
/**
|
|
145
|
+
* The full lockup: "GO" stacked over "WAY", cropped to its ink.
|
|
146
|
+
*
|
|
147
|
+
* 1.582:1. Everything in {@link GOWAY_PATHS}, in order.
|
|
148
|
+
*/
|
|
149
|
+
export const GOWAY_WORDMARK = {
|
|
150
|
+
viewBox: '0 0 1404.59 887.9',
|
|
151
|
+
paths: GOWAY_PATHS,
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* The compact mark: the "G" bubble alone, a 0.98:1 near-square.
|
|
155
|
+
*
|
|
156
|
+
* Not a second drawing — the same two contours as the wordmark, seen through a
|
|
157
|
+
* `viewBox` that crops to them. That is why it can never drift from the logo.
|
|
158
|
+
*
|
|
159
|
+
* **Its honest limit is 16 px.** Rendered at 16, 32 and 64 CSS px and looked
|
|
160
|
+
* at: at 32 and above it is unmistakably a bubble G, spur and all. At 16 the
|
|
161
|
+
* heavy outline closes the counter and it reads as a round blue letter-shape
|
|
162
|
+
* rather than as a G. That is acceptable here only because it is shipped as
|
|
163
|
+
* SVG — a 16 px tab slot on a 2x display rasterises it at 32 device pixels,
|
|
164
|
+
* where it reads. Do NOT bake a 16x16 PNG from this and call it a favicon.
|
|
165
|
+
* The wordmark is worse: it is unreadable below about 48 px, which is why it
|
|
166
|
+
* is never the icon.
|
|
167
|
+
*/
|
|
168
|
+
export const GOWAY_MARK = {
|
|
169
|
+
viewBox: '288.87 0 452.59 461.62',
|
|
170
|
+
paths: GOWAY_PATHS.filter((path) => path.part === 'g'),
|
|
171
|
+
};
|
|
172
|
+
/** Width ÷ height, from the `viewBox`, for laying a logo out without magic numbers. */
|
|
173
|
+
export function aspectRatio(artwork) {
|
|
174
|
+
const [, , width, height] = artwork.viewBox.split(' ').map(Number);
|
|
175
|
+
return width / height;
|
|
176
|
+
}
|