diff options
author | Bastien Wirtz <bastien.wirtz@gmail.com> | 2020-10-23 14:46:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-23 14:46:36 -0700 |
commit | c368290e32213f537b7b1479d767ee404b0a8399 (patch) | |
tree | 25d9fbb50bd3d6e3ded56124b229b7925889deb7 | |
parent | 00b069fc6f8e2af18bc3ac9af8904fa924ce757c (diff) | |
parent | 40d3e8de766c8c78bec73c38852fc8da24aa55b4 (diff) | |
download | homer-c368290e32213f537b7b1479d767ee404b0a8399.tar.gz homer-c368290e32213f537b7b1479d767ee404b0a8399.tar.zst homer-c368290e32213f537b7b1479d767ee404b0a8399.zip |
Merge pull request #127 from NotWoods/pwa-icons
Reduce number of PWA icons, fix paths
17 files changed, 29 insertions, 140 deletions
diff --git a/public/assets/icons/android-chrome-192x192.png b/public/assets/icons/android-chrome-192x192.png deleted file mode 100644 index 98cf18d..0000000 --- a/public/assets/icons/android-chrome-192x192.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/android-chrome-512x512.png b/public/assets/icons/android-chrome-512x512.png deleted file mode 100644 index 53bd8dc..0000000 --- a/public/assets/icons/android-chrome-512x512.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/android-chrome-maskable-192x192.png b/public/assets/icons/android-chrome-maskable-192x192.png deleted file mode 100644 index 98cf18d..0000000 --- a/public/assets/icons/android-chrome-maskable-192x192.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/android-chrome-maskable-512x512.png b/public/assets/icons/android-chrome-maskable-512x512.png deleted file mode 100644 index 53bd8dc..0000000 --- a/public/assets/icons/android-chrome-maskable-512x512.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/apple-touch-icon-120x120.png b/public/assets/icons/apple-touch-icon-120x120.png deleted file mode 100644 index e7cad50..0000000 --- a/public/assets/icons/apple-touch-icon-120x120.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/apple-touch-icon-152x152.png b/public/assets/icons/apple-touch-icon-152x152.png deleted file mode 100644 index cf35578..0000000 --- a/public/assets/icons/apple-touch-icon-152x152.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/apple-touch-icon-180x180.png b/public/assets/icons/apple-touch-icon-180x180.png deleted file mode 100644 index b567ac3..0000000 --- a/public/assets/icons/apple-touch-icon-180x180.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/apple-touch-icon-60x60.png b/public/assets/icons/apple-touch-icon-60x60.png deleted file mode 100644 index 9c7f001..0000000 --- a/public/assets/icons/apple-touch-icon-60x60.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/apple-touch-icon-76x76.png b/public/assets/icons/apple-touch-icon-76x76.png deleted file mode 100644 index 6149e65..0000000 --- a/public/assets/icons/apple-touch-icon-76x76.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/apple-touch-icon.png b/public/assets/icons/apple-touch-icon.png deleted file mode 100644 index b567ac3..0000000 --- a/public/assets/icons/apple-touch-icon.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/icon-any.png b/public/assets/icons/icon-any.png new file mode 100644 index 0000000..c444c5c --- /dev/null +++ b/public/assets/icons/icon-any.png | |||
Binary files differ | |||
diff --git a/public/assets/icons/icon-any.svg b/public/assets/icons/icon-any.svg new file mode 100644 index 0000000..89f4ef7 --- /dev/null +++ b/public/assets/icons/icon-any.svg | |||
@@ -0,0 +1 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 458 458" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g><path d="M228.515,7c122.257,0 221.515,99.258 221.515,221.515c-0,122.257 -99.258,221.515 -221.515,221.515c-122.257,-0 -221.515,-99.258 -221.515,-221.515c0,-122.257 99.258,-221.515 221.515,-221.515Zm0.602,155.453c36.865,0 66.795,29.93 66.795,66.795c-0,36.865 -29.93,66.795 -66.795,66.795c-36.865,-0 -66.795,-29.93 -66.795,-66.795c0,-36.865 29.93,-66.795 66.795,-66.795Z" style="fill:#fff;"/><path d="M210.443,0.454c-30.902,2.68 -57.723,10.284 -84.925,24.073c-44.377,22.496 -78.367,56.484 -100.84,100.837c-16.909,33.372 -24.413,65.036 -24.388,102.908c0.018,27.763 3.015,46.745 11.441,72.436c15.983,48.738 49.019,91.343 93.328,120.36c20.708,13.562 52.243,26.337 77.669,31.467c35.566,7.174 74.997,5.712 108.907,-4.038c82.411,-23.696 144.411,-91.178 161.485,-175.764c2.977,-14.751 5.421,-40.566 4.776,-50.456c-3.396,-52.026 -18.921,-95.168 -47.992,-133.355c-8.213,-10.79 -25.969,-28.975 -37.047,-37.942c-32.978,-26.695 -73.047,-43.844 -115.456,-49.414c-11.108,-1.459 -36.131,-2.052 -46.958,-1.112m0.701,18.027c-49.722,4.439 -95.627,25.944 -131.096,61.412c-32.648,32.649 -52.821,72.665 -59.999,119.02c-2.042,13.184 -2.335,42.995 -0.544,55.336c3.928,27.08 11.501,50.89 23.106,72.645c4.685,8.785 13.814,23.27 14.664,23.27c1.266,-0 6.104,-3.143 7.928,-5.151c1.172,-1.289 4.653,-6.452 7.736,-11.475c3.083,-5.021 7.273,-10.594 9.309,-12.382c13.587,-11.929 36.035,-10.822 47.948,2.364c4.888,5.411 8.349,13.509 13.225,30.946c5.377,19.225 8.333,26.997 12.691,33.369c6.278,9.178 14.497,11.32 24.281,6.329c5.001,-2.552 8.116,-6.867 15.215,-21.082c10.424,-20.871 20.719,-29.135 36.293,-29.135c13.179,0 20.531,4.828 31.467,20.663c8.435,12.215 11.783,14.772 19.487,14.884c4.206,0.061 6.278,-0.536 10.147,-2.917c6.234,-3.835 10.173,-9.77 15.381,-23.165c8.598,-22.117 15.209,-31.263 26.642,-36.856c4.829,-2.363 7.036,-2.828 13.289,-2.797c15.663,0.075 25.038,7.921 32.5,27.199c3.718,9.602 8.411,14.201 14.493,14.201c2.63,0 14.394,-18.033 22.485,-34.469c15.478,-31.439 22.339,-63.769 21.095,-99.412c-1.112,-31.871 -7.759,-58.287 -21.614,-85.895c-10.68,-21.282 -20.901,-35.697 -37.445,-52.806c-32.706,-33.825 -72.222,-54.528 -118.514,-62.091c-13.983,-2.284 -36.819,-3.197 -50.17,-2.005m-49.507,30.796c-1.456,1.564 -5.29,6.698 -8.519,11.41c-5.267,7.684 -5.803,8.93 -5.209,12.1c1.169,6.23 7.776,9.384 13.261,6.333c1.199,-0.668 5.235,-5.484 8.969,-10.704c5.572,-7.79 6.789,-10.181 6.789,-13.345c-0,-7.959 -9.811,-11.676 -15.291,-5.794m148.81,15.157c-12.212,4.523 -14.535,6.423 -14.535,11.898c-0,4.702 2.456,7.79 6.851,8.616c2.882,0.54 18.499,-4.204 25.215,-7.661c4.958,-2.551 5.693,-9.688 1.436,-13.945c-3.805,-3.805 -6.105,-3.672 -18.967,1.092m-87.687,42.34c-2.23,1.918 -2.781,3.232 -2.781,6.638c0,3.839 0.48,4.671 4.974,8.648c10.894,9.641 15.248,12.495 19.059,12.495c7.358,0 11.573,-8.986 6.742,-14.376c-2.517,-2.808 -15.322,-13.216 -18.015,-14.642c-3.413,-1.806 -6.95,-1.369 -9.979,1.237m-92.825,26.978c-1.817,0.805 -3.618,2.673 -4.402,4.565c-1.218,2.939 -1.006,4.163 2.558,14.857c2.161,6.482 4.871,12.653 6.106,13.903c4.348,4.401 13.195,1.795 14.735,-4.34c0.856,-3.413 -5.846,-24.052 -8.792,-27.072c-2.83,-2.901 -6.442,-3.578 -10.205,-1.913m201.4,11.879c-3.338,1.676 -12.616,24.055 -11.619,28.027c1.628,6.488 10.99,9.187 15.294,4.409c1.64,-1.82 6.379,-13.086 9.692,-23.036c0.817,-2.452 -1.746,-8.278 -4.225,-9.605c-2.654,-1.42 -6.057,-1.344 -9.142,0.205m-113.422,8.695c-8.28,1.217 -16.503,3.953 -24.955,8.306c-11.171,5.751 -24.412,18.993 -30.198,30.199c-10.071,19.506 -11.672,40.127 -4.706,60.61c8.081,23.759 27.762,41.419 53.357,47.881c7.099,1.793 10.398,2.057 20.482,1.648c20.224,-0.823 35.333,-7.426 49.57,-21.662c14.236,-14.236 20.839,-29.346 21.661,-49.57c0.41,-10.084 0.145,-13.383 -1.647,-20.482c-7.82,-30.974 -31.591,-52.548 -62.663,-56.869c-8.314,-1.156 -13.35,-1.171 -20.901,-0.061m1.869,18.033c-40.97,7.302 -60.962,53.331 -38.046,87.593c19.246,28.776 58.98,33.781 84.541,10.649c27.43,-24.821 24.714,-67.954 -5.58,-88.654c-11.965,-8.174 -27.896,-11.908 -40.915,-9.588m-163.947,16.405c-8.625,6.34 -10.235,7.961 -10.78,10.87c-0.716,3.818 1.39,9.003 4.076,10.034c4.568,1.752 8.223,0.56 16.537,-5.393c4.617,-3.308 9.408,-7.154 10.644,-8.548c5.126,-5.78 1.234,-14.413 -6.497,-14.413c-3.205,-0 -5.519,1.233 -13.98,7.45m341.896,6.992c-1.556,1.556 -2.453,3.592 -2.453,5.57c0,3.941 7.618,23.573 10.116,26.072c1.863,1.862 7.081,2.497 10.321,1.253c1.94,-0.745 4.541,-5.486 4.541,-8.275c0,-3.37 -8.046,-23.047 -10.272,-25.122c-3.07,-2.86 -9.14,-2.612 -12.253,0.502m-397.731,32.516c0,5.77 0.165,8.13 0.367,5.245c0.201,-2.884 0.201,-7.606 -0,-10.49c-0.202,-2.885 -0.367,-0.525 -0.367,5.245m338.495,35.695c-7.197,3.967 -10.777,6.568 -11.821,8.585c-2.908,5.624 1.25,12.669 7.478,12.669c5.149,0 23.685,-10.171 25.725,-14.116c3.056,-5.91 -1.254,-12.878 -7.945,-12.844c-1.888,0.009 -7.173,2.253 -13.437,5.706m-255.611,7.661c-2.222,1.911 -2.78,3.236 -2.78,6.6c-0,6.463 2.854,8.336 15.768,10.347c14.227,2.217 15.312,2.143 18.733,-1.278c3.625,-3.626 3.842,-7.886 0.594,-11.664c-2.019,-2.345 -3.781,-2.945 -13.239,-4.505c-14.331,-2.363 -15.793,-2.324 -19.076,0.5m13.401,59.625c-3.583,1.892 -5.285,4.087 -13.653,17.609c-3.147,5.084 -8.109,10.178 -13.073,13.416l-2.489,1.623l9.492,9.749c18.105,18.594 36.741,32.48 57.59,42.908c72.477,36.251 156.791,28.471 221.657,-20.455c9.035,-6.815 28.479,-24.48 28.479,-25.874c0,-0.41 -2.211,-2.178 -4.913,-3.93c-5.499,-3.562 -10.04,-9.763 -13.057,-17.825c-4.626,-12.365 -7.81,-16.256 -15.084,-18.435c-3.407,-1.021 -4.383,-0.862 -9.249,1.519c-6.961,3.406 -11.195,9.414 -17.012,24.135c-6.451,16.327 -10.25,23.204 -15.964,28.9c-13.514,13.474 -33.214,14.94 -47.604,3.542c-2.108,-1.669 -6.995,-7.681 -10.861,-13.361c-9.248,-13.586 -14.163,-16.747 -22.562,-14.512c-6.505,1.731 -12.195,8.535 -19.527,23.351c-10.729,21.679 -20.01,28.745 -37.977,28.915c-7.378,0.069 -9.241,-0.288 -14.201,-2.723c-13.015,-6.392 -18.582,-16.828 -30.216,-56.644c-2.006,-6.869 -4.749,-14.166 -6.093,-16.216c-4.797,-7.313 -15.664,-9.925 -23.683,-5.692" style="fill:url(#_Linear1);"/></g><defs><linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.79874e-14,457.069,-457.069,2.79874e-14,229.145,0)"><stop offset="0" style="stop-color:#206eff;stop-opacity:1"/><stop offset="1" style="stop-color:#c323ff;stop-opacity:1"/></linearGradient></defs></svg> \ No newline at end of file | |||
diff --git a/public/assets/icons/icon-maskable.png b/public/assets/icons/icon-maskable.png new file mode 100644 index 0000000..896ca66 --- /dev/null +++ b/public/assets/icons/icon-maskable.png | |||
Binary files differ | |||
diff --git a/public/assets/icons/msapplication-icon-144x144.png b/public/assets/icons/msapplication-icon-144x144.png deleted file mode 100644 index 679addc..0000000 --- a/public/assets/icons/msapplication-icon-144x144.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/icons/mstile-150x150.png b/public/assets/icons/mstile-150x150.png deleted file mode 100644 index fc64327..0000000 --- a/public/assets/icons/mstile-150x150.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/public/assets/manifest.json b/public/assets/manifest.json index c7a3329..1c98730 100644 --- a/public/assets/manifest.json +++ b/public/assets/manifest.json | |||
@@ -1,79 +1,42 @@ | |||
1 | { | 1 | { |
2 | "name": "Dashboard", | 2 | "name": "Homer Dashboard", |
3 | "short_name": "homer", | 3 | "short_name": "Homer", |
4 | "theme_color": "#3367D6", | 4 | "theme_color": "#3367D6", |
5 | "start_url": "../", | ||
5 | "icons": [ | 6 | "icons": [ |
6 | { | 7 | { |
7 | "src": "./assets/icons/android-chrome-192x192.png", | 8 | "src": "./icons/favicon-16x16.png", |
8 | "sizes": "192x192", | 9 | "sizes": "16x16", |
9 | "type": "image/png" | 10 | "type": "image/png" |
10 | }, | 11 | }, |
11 | { | 12 | { |
12 | "src": "./assets/icons/android-chrome-512x512.png", | 13 | "src": "./icons/favicon-32x32.png", |
13 | "sizes": "512x512", | 14 | "sizes": "32x32", |
14 | "type": "image/png" | 15 | "type": "image/png" |
15 | }, | 16 | }, |
16 | { | 17 | { |
17 | "src": "./assets/icons/android-chrome-maskable-192x192.png", | 18 | "src": "./icons/icon-any.png", |
18 | "sizes": "192x192", | ||
19 | "type": "image/png", | ||
20 | "purpose": "maskable" | ||
21 | }, | ||
22 | { | ||
23 | "src": "./assets/icons/android-chrome-maskable-512x512.png", | ||
24 | "sizes": "512x512", | 19 | "sizes": "512x512", |
25 | "type": "image/png", | 20 | "type": "image/png", |
26 | "purpose": "maskable" | 21 | "purpose": "any" |
27 | }, | 22 | }, |
28 | { | 23 | { |
29 | "src": "./assets/icons/apple-touch-icon-60x60.png", | 24 | "src": "./icons/icon-any.svg", |
30 | "sizes": "60x60", | 25 | "sizes": "any", |
31 | "type": "image/png" | 26 | "type": "image/svg+xml", |
27 | "purpose": "any" | ||
32 | }, | 28 | }, |
33 | { | 29 | { |
34 | "src": "./assets/icons/apple-touch-icon-76x76.png", | 30 | "src": "./icons/icon-maskable.png", |
35 | "sizes": "76x76", | 31 | "sizes": "512x512", |
36 | "type": "image/png" | 32 | "type": "image/png", |
37 | }, | 33 | "purpose": "maskable" |
38 | { | ||
39 | "src": "./assets/icons/apple-touch-icon-120x120.png", | ||
40 | "sizes": "120x120", | ||
41 | "type": "image/png" | ||
42 | }, | ||
43 | { | ||
44 | "src": "./assets/icons/apple-touch-icon-152x152.png", | ||
45 | "sizes": "152x152", | ||
46 | "type": "image/png" | ||
47 | }, | ||
48 | { | ||
49 | "src": "./assets/icons/apple-touch-icon-180x180.png", | ||
50 | "sizes": "180x180", | ||
51 | "type": "image/png" | ||
52 | }, | ||
53 | { | ||
54 | "src": "./assets/icons/apple-touch-icon.png", | ||
55 | "sizes": "180x180", | ||
56 | "type": "image/png" | ||
57 | }, | ||
58 | { | ||
59 | "src": "./assets/icons/favicon-16x16.png", | ||
60 | "sizes": "16x16", | ||
61 | "type": "image/png" | ||
62 | }, | ||
63 | { | ||
64 | "src": "./assets/icons/favicon-32x32.png", | ||
65 | "sizes": "32x32", | ||
66 | "type": "image/png" | ||
67 | }, | ||
68 | { | ||
69 | "src": "./assets/icons/msapplication-icon-144x144.png", | ||
70 | "sizes": "144x144", | ||
71 | "type": "image/png" | ||
72 | }, | 34 | }, |
73 | { | 35 | { |
74 | "src": "./assets/icons/mstile-150x150.png", | 36 | "src": "./icons/safari-pinned-tab.svg", |
75 | "sizes": "150x150", | 37 | "sizes": "any", |
76 | "type": "image/png" | 38 | "type": "image/svg+xml", |
39 | "purpose": "monochrome" | ||
77 | } | 40 | } |
78 | ] | 41 | ] |
79 | } | 42 | } |
diff --git a/vue.config.js b/vue.config.js index abee374..8e84dfe 100644 --- a/vue.config.js +++ b/vue.config.js | |||
@@ -1,3 +1,5 @@ | |||
1 | const manifestOptions = require("./public/assets/manifest.json"); | ||
2 | |||
1 | module.exports = { | 3 | module.exports = { |
2 | chainWebpack: (config) => { | 4 | chainWebpack: (config) => { |
3 | config.module | 5 | config.module |
@@ -10,94 +12,17 @@ module.exports = { | |||
10 | publicPath: "", | 12 | publicPath: "", |
11 | pwa: { | 13 | pwa: { |
12 | manifestPath: "assets/manifest.json", | 14 | manifestPath: "assets/manifest.json", |
13 | manifestOptions: { | ||
14 | start_url: "../", | ||
15 | }, | ||
16 | appleMobileWebAppStatusBarStyle: "black", | 15 | appleMobileWebAppStatusBarStyle: "black", |
17 | appleMobileWebAppCapable: "yes", | 16 | appleMobileWebAppCapable: "yes", |
18 | name: "Homer Dashboard", | 17 | name: manifestOptions.name, |
19 | short_name: "Homer", | 18 | themeColor: manifestOptions.theme_color, |
20 | theme_color: "#3367D6", | 19 | manifestOptions, |
21 | icons: [ | ||
22 | { | ||
23 | src: "./assets/icons/android-chrome-192x192.png", | ||
24 | sizes: "192x192", | ||
25 | type: "image/png", | ||
26 | }, | ||
27 | { | ||
28 | src: "./assets/icons/android-chrome-512x512.png", | ||
29 | sizes: "512x512", | ||
30 | type: "image/png", | ||
31 | }, | ||
32 | { | ||
33 | src: "./assets/icons/android-chrome-maskable-192x192.png", | ||
34 | sizes: "192x192", | ||
35 | type: "image/png", | ||
36 | purpose: "maskable", | ||
37 | }, | ||
38 | { | ||
39 | src: "./assets/icons/android-chrome-maskable-512x512.png", | ||
40 | sizes: "512x512", | ||
41 | type: "image/png", | ||
42 | purpose: "maskable", | ||
43 | }, | ||
44 | { | ||
45 | src: "./assets/icons/apple-touch-icon-60x60.png", | ||
46 | sizes: "60x60", | ||
47 | type: "image/png", | ||
48 | }, | ||
49 | { | ||
50 | src: "./assets/icons/apple-touch-icon-76x76.png", | ||
51 | sizes: "76x76", | ||
52 | type: "image/png", | ||
53 | }, | ||
54 | { | ||
55 | src: "./assets/icons/apple-touch-icon-120x120.png", | ||
56 | sizes: "120x120", | ||
57 | type: "image/png", | ||
58 | }, | ||
59 | { | ||
60 | src: "./assets/icons/apple-touch-icon-152x152.png", | ||
61 | sizes: "152x152", | ||
62 | type: "image/png", | ||
63 | }, | ||
64 | { | ||
65 | src: "./assets/icons/apple-touch-icon-180x180.png", | ||
66 | sizes: "180x180", | ||
67 | type: "image/png", | ||
68 | }, | ||
69 | { | ||
70 | src: "./assets/icons/apple-touch-icon.png", | ||
71 | sizes: "180x180", | ||
72 | type: "image/png", | ||
73 | }, | ||
74 | { | ||
75 | src: "./assets/icons/favicon-16x16.png", | ||
76 | sizes: "16x16", | ||
77 | type: "image/png", | ||
78 | }, | ||
79 | { | ||
80 | src: "./assets/icons/favicon-32x32.png", | ||
81 | sizes: "32x32", | ||
82 | type: "image/png", | ||
83 | }, | ||
84 | { | ||
85 | src: "./assets/icons/msapplication-icon-144x144.png", | ||
86 | sizes: "144x144", | ||
87 | type: "image/png", | ||
88 | }, | ||
89 | { | ||
90 | src: "./assets/icons/mstile-150x150.png", | ||
91 | sizes: "150x150", | ||
92 | type: "image/png", | ||
93 | }, | ||
94 | ], | ||
95 | iconPaths: { | 20 | iconPaths: { |
96 | favicon32: "assets/icons/favicon-32x32.png", | 21 | favicon32: "assets/icons/favicon-32x32.png", |
97 | favicon16: "assets/icons/favicon-16x16.png", | 22 | favicon16: "assets/icons/favicon-16x16.png", |
98 | appleTouchIcon: "assets/icons/apple-touch-icon-152x152.png", | 23 | appleTouchIcon: "assets/icons/icon-maskable.png", |
99 | maskIcon: "assets/icons/safari-pinned-tab.svg", | 24 | maskIcon: "assets/icons/safari-pinned-tab.svg", |
100 | msTileImage: "assets/icons/msapplication-icon-144x144.png", | 25 | msTileImage: "assets/icons/icon-any.png", |
101 | }, | 26 | }, |
102 | }, | 27 | }, |
103 | }; | 28 | }; |