@pictogrammers/components 0.3.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.
Files changed (379) hide show
  1. package/@types/css.d.ts +4 -0
  2. package/@types/html.d.ts +4 -0
  3. package/README.md +49 -0
  4. package/dist/main.js +3819 -0
  5. package/dist/pgAnnoy.js +116 -0
  6. package/dist/pgAvatar.js +136 -0
  7. package/dist/pgButton.js +116 -0
  8. package/dist/pgButtonGroup.js +116 -0
  9. package/dist/pgButtonLink.js +116 -0
  10. package/dist/pgButtonToggle.js +146 -0
  11. package/dist/pgCard.js +116 -0
  12. package/dist/pgCardUser.js +196 -0
  13. package/dist/pgColor.js +136 -0
  14. package/dist/pgDatabase.js +236 -0
  15. package/dist/pgDropdown.js +686 -0
  16. package/dist/pgGrid.js +126 -0
  17. package/dist/pgHeader.js +116 -0
  18. package/dist/pgIcon.js +116 -0
  19. package/dist/pgInputCheck.js +116 -0
  20. package/dist/pgInputCheckList.js +126 -0
  21. package/dist/pgInputFileLocal.js +116 -0
  22. package/dist/pgInputHexRgb.js +126 -0
  23. package/dist/pgInputRange.js +116 -0
  24. package/dist/pgInputSelect.js +116 -0
  25. package/dist/pgInputText.js +116 -0
  26. package/dist/pgInputTextIcon.js +176 -0
  27. package/dist/pgInputUserSelect.js +116 -0
  28. package/dist/pgListTag.js +136 -0
  29. package/dist/pgMarkdown.js +346 -0
  30. package/dist/pgMenuIcon.js +206 -0
  31. package/dist/pgModalAlert.js +126 -0
  32. package/dist/pgModification.js +396 -0
  33. package/dist/pgNav.js +116 -0
  34. package/dist/pgOverlay.js +96 -0
  35. package/dist/pgPicker.js +116 -0
  36. package/dist/pgPreview.js +116 -0
  37. package/dist/pgScroll.js +266 -0
  38. package/dist/pgSearch.js +146 -0
  39. package/dist/pgTab.js +116 -0
  40. package/dist/pgTabs.js +136 -0
  41. package/dist/pgToast.js +136 -0
  42. package/dist/pgToasts.js +136 -0
  43. package/dist/pgTooltip.js +126 -0
  44. package/index.html +302 -0
  45. package/package.json +25 -0
  46. package/pg/annoy/README.md +18 -0
  47. package/pg/annoy/__examples__/basic/basic.html +8 -0
  48. package/pg/annoy/__examples__/basic/basic.ts +11 -0
  49. package/pg/annoy/annoy.css +238 -0
  50. package/pg/annoy/annoy.html +59 -0
  51. package/pg/annoy/annoy.ts +48 -0
  52. package/pg/annoy/index.ts +3 -0
  53. package/pg/avatar/README.md +23 -0
  54. package/pg/avatar/__examples__/basic/basic.html +6 -0
  55. package/pg/avatar/__examples__/basic/basic.ts +41 -0
  56. package/pg/avatar/__examples__/basic/constants.ts +1 -0
  57. package/pg/avatar/avatar.css +45 -0
  58. package/pg/avatar/avatar.html +8 -0
  59. package/pg/avatar/avatar.spec.ts +51 -0
  60. package/pg/avatar/avatar.ts +37 -0
  61. package/pg/avatar/index.ts +3 -0
  62. package/pg/button/README.md +51 -0
  63. package/pg/button/__examples__/basic/basic.html +11 -0
  64. package/pg/button/__examples__/basic/basic.ts +11 -0
  65. package/pg/button/__examples__/states/states.html +8 -0
  66. package/pg/button/__examples__/states/states.ts +20 -0
  67. package/pg/button/button.css +91 -0
  68. package/pg/button/button.html +3 -0
  69. package/pg/button/button.ts +45 -0
  70. package/pg/button/index.ts +3 -0
  71. package/pg/buttonGroup/README.md +28 -0
  72. package/pg/buttonGroup/__examples__/basic/basic.html +12 -0
  73. package/pg/buttonGroup/__examples__/basic/basic.ts +11 -0
  74. package/pg/buttonGroup/buttonGroup.css +4 -0
  75. package/pg/buttonGroup/buttonGroup.html +1 -0
  76. package/pg/buttonGroup/buttonGroup.spec.ts +30 -0
  77. package/pg/buttonGroup/buttonGroup.ts +50 -0
  78. package/pg/buttonGroup/index.ts +3 -0
  79. package/pg/buttonLink/README.md +51 -0
  80. package/pg/buttonLink/__examples__/basic/basic.html +17 -0
  81. package/pg/buttonLink/__examples__/basic/basic.ts +11 -0
  82. package/pg/buttonLink/buttonLink.css +91 -0
  83. package/pg/buttonLink/buttonLink.html +3 -0
  84. package/pg/buttonLink/buttonLink.ts +46 -0
  85. package/pg/buttonLink/index.ts +3 -0
  86. package/pg/buttonToggle/README.md +54 -0
  87. package/pg/buttonToggle/__examples__/basic/basic.html +10 -0
  88. package/pg/buttonToggle/__examples__/basic/basic.ts +23 -0
  89. package/pg/buttonToggle/buttonToggle.css +8 -0
  90. package/pg/buttonToggle/buttonToggle.html +4 -0
  91. package/pg/buttonToggle/buttonToggle.ts +44 -0
  92. package/pg/buttonToggle/index.ts +3 -0
  93. package/pg/card/README.md +21 -0
  94. package/pg/card/__examples__/basic/basic.html +5 -0
  95. package/pg/card/__examples__/basic/basic.ts +11 -0
  96. package/pg/card/card.css +11 -0
  97. package/pg/card/card.html +3 -0
  98. package/pg/card/card.spec.ts +30 -0
  99. package/pg/card/card.ts +13 -0
  100. package/pg/card/index.ts +3 -0
  101. package/pg/cardUser/README.md +22 -0
  102. package/pg/cardUser/__examples__/basic/basic.html +3 -0
  103. package/pg/cardUser/__examples__/basic/basic.ts +30 -0
  104. package/pg/cardUser/__examples__/basic/constants.ts +1 -0
  105. package/pg/cardUser/cardUser.css +67 -0
  106. package/pg/cardUser/cardUser.html +23 -0
  107. package/pg/cardUser/cardUser.spec.ts +46 -0
  108. package/pg/cardUser/cardUser.ts +53 -0
  109. package/pg/cardUser/index.ts +3 -0
  110. package/pg/color/README.md +13 -0
  111. package/pg/color/__examples__/basic/basic.html +4 -0
  112. package/pg/color/__examples__/basic/basic.ts +20 -0
  113. package/pg/color/color.css +21 -0
  114. package/pg/color/color.html +1 -0
  115. package/pg/color/color.ts +97 -0
  116. package/pg/color/constants.ts +357 -0
  117. package/pg/color/index.ts +3 -0
  118. package/pg/color/utils.ts +27 -0
  119. package/pg/database/README.md +28 -0
  120. package/pg/database/__examples__/basic/basic.html +9 -0
  121. package/pg/database/__examples__/basic/basic.ts +37 -0
  122. package/pg/database/database.css +0 -0
  123. package/pg/database/database.html +0 -0
  124. package/pg/database/database.ts +42 -0
  125. package/pg/database/index.ts +3 -0
  126. package/pg/dropdown/README.md +13 -0
  127. package/pg/dropdown/__examples__/basic/basic.html +14 -0
  128. package/pg/dropdown/__examples__/basic/basic.ts +11 -0
  129. package/pg/dropdown/dropdown.css +46 -0
  130. package/pg/dropdown/dropdown.html +5 -0
  131. package/pg/dropdown/dropdown.ts +60 -0
  132. package/pg/dropdown/index.ts +3 -0
  133. package/pg/grid/README.md +97 -0
  134. package/pg/grid/__examples__/basic/basic.html +29 -0
  135. package/pg/grid/__examples__/basic/basic.ts +139 -0
  136. package/pg/grid/grid.css +68 -0
  137. package/pg/grid/grid.html +6 -0
  138. package/pg/grid/grid.spec.ts +66 -0
  139. package/pg/grid/grid.ts +417 -0
  140. package/pg/grid/index.ts +3 -0
  141. package/pg/header/README.md +23 -0
  142. package/pg/header/__examples__/basic/basic.html +8 -0
  143. package/pg/header/__examples__/basic/basic.ts +11 -0
  144. package/pg/header/header.css +42 -0
  145. package/pg/header/header.html +15 -0
  146. package/pg/header/header.ts +28 -0
  147. package/pg/header/index.ts +3 -0
  148. package/pg/icon/README.md +26 -0
  149. package/pg/icon/__examples__/basic/basic.html +16 -0
  150. package/pg/icon/__examples__/basic/basic.ts +34 -0
  151. package/pg/icon/__examples__/basic/constants.ts +2 -0
  152. package/pg/icon/icon.css +9 -0
  153. package/pg/icon/icon.html +3 -0
  154. package/pg/icon/icon.spec.ts +46 -0
  155. package/pg/icon/icon.ts +23 -0
  156. package/pg/icon/index.ts +3 -0
  157. package/pg/inputCheck/README.md +32 -0
  158. package/pg/inputCheck/__examples__/basic/basic.html +8 -0
  159. package/pg/inputCheck/__examples__/basic/basic.ts +23 -0
  160. package/pg/inputCheck/index.ts +3 -0
  161. package/pg/inputCheck/inputCheck.css +45 -0
  162. package/pg/inputCheck/inputCheck.html +6 -0
  163. package/pg/inputCheck/inputCheck.ts +42 -0
  164. package/pg/inputCheckList/README.md +35 -0
  165. package/pg/inputCheckList/__examples__/basic/basic.html +4 -0
  166. package/pg/inputCheckList/__examples__/basic/basic.ts +31 -0
  167. package/pg/inputCheckList/index.ts +3 -0
  168. package/pg/inputCheckList/inputCheckList.css +70 -0
  169. package/pg/inputCheckList/inputCheckList.html +1 -0
  170. package/pg/inputCheckList/inputCheckList.ts +103 -0
  171. package/pg/inputCheckList/templates/option.html +8 -0
  172. package/pg/inputFileLocal/README.md +30 -0
  173. package/pg/inputFileLocal/__examples__/basic/basic.html +4 -0
  174. package/pg/inputFileLocal/__examples__/basic/basic.ts +23 -0
  175. package/pg/inputFileLocal/index.ts +3 -0
  176. package/pg/inputFileLocal/inputFileLocal.css +80 -0
  177. package/pg/inputFileLocal/inputFileLocal.html +5 -0
  178. package/pg/inputFileLocal/inputFileLocal.ts +82 -0
  179. package/pg/inputHexRgb/README.md +15 -0
  180. package/pg/inputHexRgb/__examples__/basic/basic.html +4 -0
  181. package/pg/inputHexRgb/__examples__/basic/basic.ts +23 -0
  182. package/pg/inputHexRgb/index.ts +3 -0
  183. package/pg/inputHexRgb/inputHexRgb.css +96 -0
  184. package/pg/inputHexRgb/inputHexRgb.html +9 -0
  185. package/pg/inputHexRgb/inputHexRgb.ts +79 -0
  186. package/pg/inputHexRgb/utils.ts +27 -0
  187. package/pg/inputRange/README.md +18 -0
  188. package/pg/inputRange/__examples__/basic/basic.html +9 -0
  189. package/pg/inputRange/__examples__/basic/basic.ts +30 -0
  190. package/pg/inputRange/index.ts +3 -0
  191. package/pg/inputRange/inputRange.css +0 -0
  192. package/pg/inputRange/inputRange.html +1 -0
  193. package/pg/inputRange/inputRange.ts +53 -0
  194. package/pg/inputSelect/README.md +25 -0
  195. package/pg/inputSelect/__examples__/basic/basic.html +6 -0
  196. package/pg/inputSelect/__examples__/basic/basic.ts +30 -0
  197. package/pg/inputSelect/index.ts +3 -0
  198. package/pg/inputSelect/inputSelect.css +36 -0
  199. package/pg/inputSelect/inputSelect.html +4 -0
  200. package/pg/inputSelect/inputSelect.ts +57 -0
  201. package/pg/inputText/README.md +27 -0
  202. package/pg/inputText/__examples__/basic/basic.html +9 -0
  203. package/pg/inputText/__examples__/basic/basic.ts +30 -0
  204. package/pg/inputText/index.ts +3 -0
  205. package/pg/inputText/inputText.css +20 -0
  206. package/pg/inputText/inputText.html +1 -0
  207. package/pg/inputText/inputText.spec.ts +59 -0
  208. package/pg/inputText/inputText.ts +59 -0
  209. package/pg/inputTextIcon/README.md +26 -0
  210. package/pg/inputTextIcon/index.ts +3 -0
  211. package/pg/inputTextIcon/inputTextIcon.css +24 -0
  212. package/pg/inputTextIcon/inputTextIcon.html +4 -0
  213. package/pg/inputTextIcon/inputTextIcon.spec.ts +44 -0
  214. package/pg/inputTextIcon/inputTextIcon.ts +26 -0
  215. package/pg/inputUserSelect/README.md +31 -0
  216. package/pg/inputUserSelect/__examples__/basic/basic.html +4 -0
  217. package/pg/inputUserSelect/__examples__/basic/basic.ts +25 -0
  218. package/pg/inputUserSelect/__examples__/basic/constants.ts +33 -0
  219. package/pg/inputUserSelect/index.ts +3 -0
  220. package/pg/inputUserSelect/inputUserSelect.css +174 -0
  221. package/pg/inputUserSelect/inputUserSelect.html +18 -0
  222. package/pg/inputUserSelect/inputUserSelect.ts +266 -0
  223. package/pg/listTag/README.md +26 -0
  224. package/pg/listTag/__examples__/basic/basic.html +16 -0
  225. package/pg/listTag/__examples__/basic/basic.ts +53 -0
  226. package/pg/listTag/__examples__/basic/constants.ts +22 -0
  227. package/pg/listTag/index.ts +3 -0
  228. package/pg/listTag/listTag.css +9 -0
  229. package/pg/listTag/listTag.html +1 -0
  230. package/pg/listTag/listTag.ts +48 -0
  231. package/pg/listTag/partials/tag.html +3 -0
  232. package/pg/markdown/README.md +13 -0
  233. package/pg/markdown/__examples__/basic/basic.html +3 -0
  234. package/pg/markdown/__examples__/basic/basic.ts +51 -0
  235. package/pg/markdown/__examples__/basic/constants.ts +129 -0
  236. package/pg/markdown/index.ts +5 -0
  237. package/pg/markdown/markdown.css +760 -0
  238. package/pg/markdown/markdown.html +1 -0
  239. package/pg/markdown/markdown.md +123 -0
  240. package/pg/markdown/markdown.spec.ts +87 -0
  241. package/pg/markdown/markdown.ts +381 -0
  242. package/pg/markdown/markdownReplace.ts +7 -0
  243. package/pg/menuIcon/README.md +13 -0
  244. package/pg/menuIcon/__examples__/basic/basic.html +3 -0
  245. package/pg/menuIcon/__examples__/basic/basic.ts +15 -0
  246. package/pg/menuIcon/index.ts +3 -0
  247. package/pg/menuIcon/menuIcon.css +168 -0
  248. package/pg/menuIcon/menuIcon.html +64 -0
  249. package/pg/menuIcon/menuIcon.ts +271 -0
  250. package/pg/modalAlert/README.md +17 -0
  251. package/pg/modalAlert/__examples__/basic/basic.html +4 -0
  252. package/pg/modalAlert/__examples__/basic/basic.ts +27 -0
  253. package/pg/modalAlert/index.ts +3 -0
  254. package/pg/modalAlert/modalAlert.css +43 -0
  255. package/pg/modalAlert/modalAlert.html +22 -0
  256. package/pg/modalAlert/modalAlert.ts +45 -0
  257. package/pg/modification/README.md +34 -0
  258. package/pg/modification/__examples__/basic/basic.html +8 -0
  259. package/pg/modification/__examples__/basic/basic.ts +63 -0
  260. package/pg/modification/__examples__/basic/constants.ts +416 -0
  261. package/pg/modification/index.ts +3 -0
  262. package/pg/modification/modification.css +311 -0
  263. package/pg/modification/modification.html +1 -0
  264. package/pg/modification/modification.spec.ts +33 -0
  265. package/pg/modification/modification.ts +201 -0
  266. package/pg/modification/type/date.html +1 -0
  267. package/pg/modification/type/iconAliasCreated.html +13 -0
  268. package/pg/modification/type/iconAliasDeleted.html +13 -0
  269. package/pg/modification/type/iconAuthorModified.html +13 -0
  270. package/pg/modification/type/iconCreated.html +13 -0
  271. package/pg/modification/type/iconDeleted.html +13 -0
  272. package/pg/modification/type/iconDeprecated.html +13 -0
  273. package/pg/modification/type/iconDescriptionModified.html +10 -0
  274. package/pg/modification/type/iconModified.html +14 -0
  275. package/pg/modification/type/iconRenamed.html +13 -0
  276. package/pg/modification/type/iconTagCreated.html +13 -0
  277. package/pg/modification/type/iconTagDeleted.html +13 -0
  278. package/pg/modification/type/news.html +5 -0
  279. package/pg/nav/README.md +16 -0
  280. package/pg/nav/__examples__/basic/basic.html +5 -0
  281. package/pg/nav/__examples__/basic/basic.ts +11 -0
  282. package/pg/nav/index.ts +3 -0
  283. package/pg/nav/nav.css +14 -0
  284. package/pg/nav/nav.html +16 -0
  285. package/pg/nav/nav.ts +21 -0
  286. package/pg/overlay/README.md +37 -0
  287. package/pg/overlay/__examples__/basic/basic.css +3 -0
  288. package/pg/overlay/__examples__/basic/basic.html +3 -0
  289. package/pg/overlay/__examples__/basic/basic.ts +13 -0
  290. package/pg/overlay/index.ts +3 -0
  291. package/pg/overlay/overlay.ts +26 -0
  292. package/pg/picker/README.md +13 -0
  293. package/pg/picker/index.ts +3 -0
  294. package/pg/picker/picker.css +56 -0
  295. package/pg/picker/picker.html +8 -0
  296. package/pg/picker/picker.ts +66 -0
  297. package/pg/preview/README.md +19 -0
  298. package/pg/preview/__examples__/basic/basic.html +11 -0
  299. package/pg/preview/__examples__/basic/basic.ts +22 -0
  300. package/pg/preview/index.ts +3 -0
  301. package/pg/preview/preview.css +34 -0
  302. package/pg/preview/preview.html +5 -0
  303. package/pg/preview/preview.ts +38 -0
  304. package/pg/scroll/README.md +42 -0
  305. package/pg/scroll/__examples__/basic/basic.css +4 -0
  306. package/pg/scroll/__examples__/basic/basic.html +11 -0
  307. package/pg/scroll/__examples__/basic/basic.ts +88 -0
  308. package/pg/scroll/index.ts +3 -0
  309. package/pg/scroll/scroll.css +7 -0
  310. package/pg/scroll/scroll.html +3 -0
  311. package/pg/scroll/scroll.ts +158 -0
  312. package/pg/search/README.md +59 -0
  313. package/pg/search/__examples__/basic/basic.html +3 -0
  314. package/pg/search/__examples__/basic/basic.ts +29 -0
  315. package/pg/search/__examples__/basic/constants.ts +3 -0
  316. package/pg/search/index.ts +3 -0
  317. package/pg/search/search.css +188 -0
  318. package/pg/search/search.html +18 -0
  319. package/pg/search/search.ts +252 -0
  320. package/pg/search/utils.ts +12 -0
  321. package/pg/shared/README.md +28 -0
  322. package/pg/shared/copy.ts +25 -0
  323. package/pg/shared/database.ts +35 -0
  324. package/pg/shared/databaseService.ts +230 -0
  325. package/pg/shared/debounce.ts +12 -0
  326. package/pg/shared/enums/modificationType.ts +19 -0
  327. package/pg/shared/filter.ts +14 -0
  328. package/pg/shared/http.ts +83 -0
  329. package/pg/shared/iconFilter.spec.ts +61 -0
  330. package/pg/shared/iconFilter.ts +71 -0
  331. package/pg/shared/list.ts +34 -0
  332. package/pg/shared/models/alias.ts +40 -0
  333. package/pg/shared/models/font.ts +31 -0
  334. package/pg/shared/models/fontIcon.ts +25 -0
  335. package/pg/shared/models/fontVersion.ts +22 -0
  336. package/pg/shared/models/icon.ts +97 -0
  337. package/pg/shared/models/modification.ts +45 -0
  338. package/pg/shared/models/style.ts +12 -0
  339. package/pg/shared/models/tag.ts +37 -0
  340. package/pg/shared/models/user.ts +35 -0
  341. package/pg/shared/models/version.ts +20 -0
  342. package/pg/shared/removeDiacritics.ts +94 -0
  343. package/pg/shared/toast.ts +47 -0
  344. package/pg/shared/uuid.ts +6 -0
  345. package/pg/tab/README.md +18 -0
  346. package/pg/tab/index.ts +3 -0
  347. package/pg/tab/tab.css +13 -0
  348. package/pg/tab/tab.html +3 -0
  349. package/pg/tab/tab.ts +51 -0
  350. package/pg/tabs/README.md +31 -0
  351. package/pg/tabs/__examples__/basic/basic.html +13 -0
  352. package/pg/tabs/__examples__/basic/basic.ts +11 -0
  353. package/pg/tabs/index.ts +3 -0
  354. package/pg/tabs/partials/tab.html +3 -0
  355. package/pg/tabs/tabs.css +69 -0
  356. package/pg/tabs/tabs.html +4 -0
  357. package/pg/tabs/tabs.ts +102 -0
  358. package/pg/toast/README.md +13 -0
  359. package/pg/toast/index.ts +3 -0
  360. package/pg/toast/toast.css +112 -0
  361. package/pg/toast/toast.html +13 -0
  362. package/pg/toast/toast.ts +39 -0
  363. package/pg/toasts/README.md +37 -0
  364. package/pg/toasts/__examples__/basic/basic.html +11 -0
  365. package/pg/toasts/__examples__/basic/basic.ts +86 -0
  366. package/pg/toasts/index.ts +3 -0
  367. package/pg/toasts/toasts.css +8 -0
  368. package/pg/toasts/toasts.html +1 -0
  369. package/pg/toasts/toasts.ts +51 -0
  370. package/pg/tooltip/README.md +51 -0
  371. package/pg/tooltip/__examples__/basic/basic.css +38 -0
  372. package/pg/tooltip/__examples__/basic/basic.html +21 -0
  373. package/pg/tooltip/__examples__/basic/basic.ts +55 -0
  374. package/pg/tooltip/addTooltip.ts +31 -0
  375. package/pg/tooltip/index.ts +20 -0
  376. package/pg/tooltip/position.ts +15 -0
  377. package/pg/tooltip/tooltip.css +36 -0
  378. package/pg/tooltip/tooltip.html +4 -0
  379. package/pg/tooltip/tooltip.ts +170 -0
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@pictogrammers/components",
3
+ "version": "0.3.1",
4
+ "license": "MIT",
5
+ "author": "Austin Andrews",
6
+ "scripts": {
7
+ "start": "webpack serve",
8
+ "build": "webpack --mode=production",
9
+ "test": "jest --no-cache"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/Templarian/MaterialDesign-Web-Component.git"
14
+ },
15
+ "dependencies": {
16
+ "@pictogrammers/element": "0.0.22",
17
+ "@popperjs/core": "^2.11.5",
18
+ "dexie": "^3.2.1",
19
+ "extra-watch-webpack-plugin": "^1.0.3",
20
+ "js-yaml": "^4.1.0",
21
+ "lodash-es": "^4.17.21",
22
+ "prismjs": "^1.27.0",
23
+ "remarkable": "^2.0.1"
24
+ }
25
+ }
@@ -0,0 +1,18 @@
1
+ # `<pg-annoy>`
2
+
3
+ The `pg-annoy` component is the clippy of the the website. It shows annoying notifications in the corner of the page that the user has to close. This rotates on every page view using `localStorage` to track the previously show item.
4
+
5
+ ```typescript
6
+ import '@pictogrammers/components/pgAnnoy';
7
+ ```
8
+
9
+ ```html
10
+ <pg-annoy></pg-annoy>
11
+ ```
12
+
13
+ A `localStorage` variable switches between the list of items below.
14
+
15
+ - `contextMenu` - Right Click Menu
16
+ - `extension` - Chrome / Firefox Extension
17
+ - `react` - React Component
18
+ - `upgrade` - Read the upgrade guide
@@ -0,0 +1,8 @@
1
+ <div class="example">
2
+ <pg-annoy></pg-annoy>
3
+ </div>
4
+ <pre style="color:#FFF;background:#222;padding:0.5rem;border-radius:0.25rem">pg-annoy {
5
+ position: fixed;
6
+ bottom: 1.5rem;
7
+ right: 2rem;
8
+ }</pre>
@@ -0,0 +1,11 @@
1
+ import { Component, Part, Prop } from '@pictogrammers/element';
2
+
3
+ import template from './basic.html';
4
+
5
+ @Component({
6
+ selector: 'x-pg-annoy-basic',
7
+ template
8
+ })
9
+ export default class XPgAnnoyBasic extends HTMLElement {
10
+
11
+ }
@@ -0,0 +1,238 @@
1
+ :host {
2
+ display: block;
3
+ font-family: var(--pg-font-family);
4
+ }
5
+
6
+ [part~=list] {
7
+ width: 12rem;
8
+ font-size: 1rem;
9
+ transition: 0.1s margin-bottom ease-in;
10
+ }
11
+
12
+ [part~=list] > div {
13
+ display: none;
14
+ }
15
+
16
+ [part~=list] > div.show {
17
+ display: grid;
18
+ padding: 0.5rem;
19
+ border: 1px solid #fff;
20
+ border-radius: 0.25rem;
21
+ background: #fff;
22
+ box-shadow: 0 1px 2rem rgba(0, 0, 0, 0.3);
23
+ }
24
+
25
+ :host(.footer) {
26
+ margin-bottom: 4rem;
27
+ }
28
+
29
+ [part~=close] {
30
+ position: relative;
31
+ left: 11.25rem;
32
+ width: 1.5rem;
33
+ height: 1.5rem;
34
+ border: 1px solid #fff;
35
+ border-radius: 50%;
36
+ background: #fff;
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ top: 0.75rem;
41
+ box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.4);
42
+ padding: 0;
43
+ color: rgba(69, 60, 79, 0.8);
44
+ outline: none;
45
+ }
46
+
47
+ [part~=close]:hover {
48
+ color: #453C4F;
49
+ border-color: rgba(69, 60, 79, 0.6);
50
+ }
51
+
52
+ [part~=close]:active {
53
+ box-shadow: 0 1px 0.25rem rgba(0, 0, 0, 0.2);
54
+ border-color: rgba(69, 60, 79, 0.9);
55
+ }
56
+
57
+ [part~=close] svg {
58
+ width: 1rem;
59
+ height: 1rem;
60
+ }
61
+
62
+ [part=extension] {
63
+ display: grid;
64
+ grid-template-rows: auto auto;
65
+ grid-template-columns: 1fr 1fr;
66
+ color: #453C4F;
67
+ }
68
+
69
+ [part=extension] a.chrome {
70
+ display: flex;
71
+ grid-row: 1;
72
+ grid-column: 1;
73
+ color: #453C4F;
74
+ border: 1px solid #453C4F;
75
+ border-radius: 0.25rem;
76
+ padding: 0.4rem 0.9rem;
77
+ justify-self: center;
78
+ text-align: center;
79
+ margin: 0.25rem;
80
+ }
81
+
82
+ [part=extension] a.firefox {
83
+ display: flex;
84
+ grid-row: 1;
85
+ grid-column: 2;
86
+ color: #453C4F;
87
+ border: 1px solid #453C4F;
88
+ border-radius: 0.25rem;
89
+ padding: 0.4rem 0.9rem;
90
+ justify-self: center;
91
+ text-align: center;
92
+ margin: 0.25rem;
93
+ }
94
+
95
+ [part=extension] a.chrome:hover,
96
+ [part=extension] a.firefox:hover {
97
+ color: #fff;
98
+ background: #453C4F;
99
+ }
100
+
101
+ [part=extension] a svg {
102
+ width: 2rem;
103
+ height: 2rem;
104
+ }
105
+
106
+ [part=extension] div.text {
107
+ grid-row: 2;
108
+ grid-column: 1 / span 2;
109
+ text-align: center;
110
+ margin-top: 0.25rem;
111
+ font-weight: bold;
112
+ cursor: default;
113
+ }
114
+
115
+ [part=contextMenu] {
116
+ color: #453C4F;
117
+ }
118
+
119
+ [part=contextMenu] div.text {
120
+ text-align: center;
121
+ margin-top: 0.25rem;
122
+ font-weight: bold;
123
+ cursor: default;
124
+ }
125
+
126
+ [part=react] code {
127
+ padding: 0.5rem;
128
+ background: #222;
129
+ border-radius: 0.25rem;
130
+ color: #FFF;
131
+ font-size: 12px;
132
+ text-align: center;
133
+ margin: 0.25rem;
134
+ }
135
+
136
+ [part=react] a {
137
+ display: grid;
138
+ position: relative;
139
+ grid-row: 1;
140
+ grid-column: 1;
141
+ grid-template-rows: auto 2rem;
142
+ grid-template-columns: auto;
143
+ color: #453C4F;
144
+ border: 1px solid #453C4F;
145
+ border-radius: 0.25rem;
146
+ padding: 0.5rem 0 0 0;
147
+ margin: 0.25rem;
148
+ text-decoration: none;
149
+ }
150
+
151
+ [part=react] a:hover,
152
+ [part=react] a:hover {
153
+ color: #fff;
154
+ background: #453C4F;
155
+ }
156
+
157
+ [part=react] a svg.link {
158
+ width: 1.5rem;
159
+ height: 1.5rem;
160
+ position: absolute;
161
+ bottom: 0.5rem;
162
+ right: 0.5rem;
163
+ }
164
+
165
+ [part=react] a svg.file {
166
+ width: 4rem;
167
+ height: 4rem;
168
+ grid-row: 1;
169
+ grid-column: 1;
170
+ justify-self: center;
171
+ }
172
+
173
+ [part=react] a .link-text {
174
+ grid-row: 2;
175
+ grid-column: 1;
176
+ text-align: center;
177
+ font-weight: bold;
178
+ }
179
+
180
+ /* Upgrade */
181
+
182
+ [part=upgrade] {
183
+ grid-template-rows: auto auto;
184
+ color: #453C4F;
185
+ }
186
+
187
+ [part=upgrade] div.text {
188
+ grid-row: 2;
189
+ grid-column: 1;
190
+ text-align: center;
191
+ margin-top: 0.25rem;
192
+ font-weight: bold;
193
+ cursor: default;
194
+ }
195
+
196
+ [part=upgrade] a {
197
+ display: grid;
198
+ position: relative;
199
+ grid-row: 1;
200
+ grid-column: 1;
201
+ grid-template-rows: auto 2rem;
202
+ grid-template-columns: auto;
203
+ color: #453C4F;
204
+ border: 1px solid #453C4F;
205
+ border-radius: 0.25rem;
206
+ padding: 0.5rem 0 0 0;
207
+ margin: 0.25rem;
208
+ text-decoration: none;
209
+ }
210
+
211
+ [part=upgrade] a:hover,
212
+ [part=upgrade] a:hover {
213
+ color: #fff;
214
+ background: #453C4F;
215
+ }
216
+
217
+ [part=upgrade] a svg.link {
218
+ width: 1.5rem;
219
+ height: 1.5rem;
220
+ position: absolute;
221
+ bottom: 0.5rem;
222
+ right: 0.5rem;
223
+ }
224
+
225
+ [part=upgrade] a svg.file {
226
+ width: 4rem;
227
+ height: 4rem;
228
+ grid-row: 1;
229
+ grid-column: 1;
230
+ justify-self: center;
231
+ }
232
+
233
+ [part=upgrade] a .link-text {
234
+ grid-row: 2;
235
+ grid-column: 1;
236
+ text-align: center;
237
+ font-weight: bold;
238
+ }
@@ -0,0 +1,59 @@
1
+ <div part="list">
2
+ <button part="close">
3
+ <svg viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" /></svg>
4
+ </button>
5
+ <div part="contextMenu">
6
+ <svg width="174" height="140" viewBox="0 0 174 140">
7
+ <path fill="#FFFFFF" fill-opacity="1" stroke-width="2" stroke-linejoin="round" stroke="#453C4F" stroke-opacity="1" d="M 14,8L 62,8C 65.3137,8 68,10.6863 68,14L 68,62C 68,65.3137 65.3137,68 62,68L 14,68C 10.6863,68 8,65.3137 8,62L 8,14C 8,10.6863 10.6863,8 14,8 Z "/>
8
+ <path fill="#453C4F" fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 38,22C 42.4183,22 46,25.5817 46,30C 46,34.4183 42.4183,38 38,38C 33.5817,38 30,34.4183 30,30C 30,25.5817 33.5817,22 38,22 Z M 38,42C 46.8365,42 54,45.5817 54,50L 54,54L 22,54L 22,50C 22,45.5817 29.1634,42 38,42 Z "/>
9
+ <rect x="51" y="41" fill="#FFFFFF" fill-opacity="1" stroke-width="2" stroke-linejoin="round" stroke="#453C4F" stroke-opacity="1" width="115" height="90"/>
10
+ <g>
11
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 72.37,57.9167C 72.37,59.3811 72.1372,60.6422 71.6717,61.7C 71.2061,62.7578 70.5533,63.5856 69.7133,64.1834L 72.4233,66.31L 71.0567,67.57L 67.86,65.0267C 67.36,65.1511 66.8322,65.2134 66.2767,65.2134C 65.0833,65.2134 64.0245,64.92 63.1,64.3334C 62.1756,63.7467 61.4583,62.9106 60.9483,61.825C 60.4383,60.7395 60.1767,59.4811 60.1633,58.05L 60.1633,56.9567C 60.1633,55.5011 60.4167,54.2145 60.9233,53.0967C 61.43,51.9789 62.1467,51.1234 63.0733,50.53C 64,49.9367 65.0611,49.64 66.2567,49.64C 67.4789,49.64 68.5533,49.935 69.48,50.525C 70.4067,51.115 71.12,51.9634 71.62,53.07C 72.12,54.1767 72.37,55.4689 72.37,56.9467L 72.37,57.9167 Z M 70.37,56.9267C 70.37,55.1422 70.0145,53.7661 69.3033,52.7984C 68.5922,51.8306 67.5767,51.3467 66.2567,51.3467C 64.9989,51.3467 64.0072,51.8272 63.2817,52.7884C 62.5561,53.7495 62.1833,55.0834 62.1633,56.79L 62.1633,57.9067C 62.1633,59.64 62.5261,61.0067 63.2517,62.0067C 63.9772,63.0067 64.9856,63.5067 66.2767,63.5067C 67.5678,63.5067 68.5678,63.0367 69.2767,62.0967C 69.9856,61.1567 70.35,59.8078 70.37,58.05L 70.37,56.9267 Z "/>
12
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 82.1233,63.8867C 81.3745,64.7711 80.2733,65.2134 78.82,65.2134C 77.62,65.2134 76.7056,64.8633 76.0767,64.1634C 75.4478,63.4634 75.13,62.4267 75.1233,61.0534L 75.1233,53.6934L 77.05,53.6934L 77.05,60.9534C 77.05,62.6556 77.7445,63.5067 79.1333,63.5067C 80.6067,63.5067 81.5856,62.96 82.07,61.8667L 82.07,53.6934L 84,53.6934L 84,65L 82.1667,65L 82.1233,63.8867 Z "/>
13
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 88.9833,65L 87.0567,65L 87.0567,53.6934L 88.9833,53.6934L 88.9833,65 Z M 86.9,50.7167C 86.9,50.4145 86.9956,50.1595 87.1867,49.9517C 87.3778,49.7439 87.6606,49.64 88.035,49.64C 88.4095,49.64 88.6939,49.7439 88.8883,49.9517C 89.0828,50.1595 89.18,50.4145 89.18,50.7167C 89.18,51.0189 89.0828,51.2706 88.8883,51.4717C 88.6939,51.6728 88.4095,51.7734 88.035,51.7734C 87.6606,51.7734 87.3778,51.6728 87.1867,51.4717C 86.9956,51.2706 86.9,51.0189 86.9,50.7167 Z "/>
14
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 96.5133,63.5067C 97.2,63.5067 97.8006,63.3111 98.315,62.92C 98.8294,62.5289 99.1144,62.04 99.17,61.4534L 100.993,61.4534C 100.958,62.1 100.735,62.715 100.325,63.2984C 99.915,63.8817 99.3683,64.3467 98.685,64.6934C 98.0017,65.04 97.2778,65.2134 96.5133,65.2134C 94.9778,65.2134 93.7572,64.6995 92.8517,63.6717C 91.9461,62.6439 91.4933,61.2367 91.4933,59.45L 91.4933,59.1267C 91.4933,58.0245 91.6945,57.045 92.0967,56.1884C 92.4989,55.3317 93.0767,54.6661 93.83,54.1917C 94.5833,53.7172 95.4745,53.48 96.5033,53.48C 97.7656,53.48 98.8156,53.8584 99.6533,54.615C 100.491,55.3717 100.938,56.3545 100.993,57.5634L 99.17,57.5634C 99.1144,56.87 98.8383,56.3006 98.3417,55.855C 97.845,55.4095 97.2322,55.1867 96.5033,55.1867C 95.5233,55.1867 94.7645,55.5306 94.2267,56.2184C 93.6889,56.9061 93.42,57.9 93.42,59.2L 93.42,59.5534C 93.42,60.82 93.6872,61.7956 94.2217,62.48C 94.7561,63.1645 95.52,63.5067 96.5133,63.5067 Z "/>
15
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 106.27,59.7634L 105.063,61.0267L 105.063,65L 103.137,65L 103.137,49L 105.063,49L 105.063,58.6567L 106.093,57.4134L 109.603,53.6934L 111.947,53.6934L 107.563,58.4167L 112.46,65L 110.197,65L 106.27,59.7634 Z "/>
16
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 72.4267,83.5167C 72.4267,85.0011 72.1767,86.2967 71.6767,87.4034C 71.1767,88.51 70.4683,89.355 69.5517,89.9384C 68.635,90.5217 67.5656,90.8134 66.3433,90.8134C 65.15,90.8134 64.0911,90.52 63.1667,89.9333C 62.2422,89.3467 61.525,88.5106 61.015,87.425C 60.505,86.3395 60.2433,85.0811 60.23,83.65L 60.23,82.5567C 60.23,81.1011 60.4833,79.8145 60.99,78.6967C 61.4967,77.5789 62.2133,76.7234 63.14,76.13C 64.0667,75.5367 65.1278,75.24 66.3233,75.24C 67.5389,75.24 68.61,75.5333 69.5367,76.12C 70.4633,76.7067 71.1767,77.5567 71.6767,78.67C 72.1767,79.7834 72.4267,81.0789 72.4267,82.5567L 72.4267,83.5167 Z M 70.4367,82.5267C 70.4367,80.7289 70.0756,79.3495 69.3533,78.3884C 68.6311,77.4272 67.6211,76.9467 66.3233,76.9467C 65.0589,76.9467 64.0639,77.4272 63.3383,78.3884C 62.6128,79.3495 62.24,80.6833 62.22,82.39L 62.22,83.5067C 62.22,85.2489 62.5861,86.6178 63.3183,87.6134C 64.0506,88.6089 65.0589,89.1067 66.3433,89.1067C 67.6345,89.1067 68.6345,88.6367 69.3433,87.6967C 70.0522,86.7567 70.4167,85.4078 70.4367,83.65L 70.4367,82.5267 Z "/>
17
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 84.69,85.0733C 84.69,86.7956 84.2978,88.1828 83.5133,89.235C 82.7289,90.2872 81.6656,90.8134 80.3233,90.8134C 78.9567,90.8134 77.8811,90.3778 77.0967,89.5067L 77.0967,94.8667L 75.17,94.8667L 75.17,79.2934L 76.93,79.2934L 77.0233,80.5434C 77.8078,79.5678 78.8978,79.08 80.2933,79.08C 81.6467,79.08 82.7178,79.5922 83.5067,80.6167C 84.2956,81.6411 84.69,83.0667 84.69,84.8934L 84.69,85.0733 Z M 82.7633,84.8233C 82.7633,83.5767 82.4922,82.5922 81.95,81.87C 81.4078,81.1478 80.6645,80.7867 79.72,80.7867C 78.5533,80.7867 77.6789,81.2945 77.0967,82.31L 77.0967,87.5934C 77.6722,88.6022 78.5533,89.1067 79.74,89.1067C 80.6645,89.1067 81.3995,88.7472 81.945,88.0284C 82.4906,87.3095 82.7633,86.2411 82.7633,84.8233 Z "/>
18
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 89.7733,76.52L 89.7733,79.2934L 91.8767,79.2934L 91.8767,81L 89.7733,81L 89.7733,87.79C 89.7733,88.23 89.8672,88.5595 90.055,88.7784C 90.2428,88.9972 90.5622,89.1067 91.0133,89.1067C 91.2356,89.1067 91.5411,89.0645 91.93,88.98L 91.93,90.5967C 91.4233,90.7411 90.93,90.8134 90.45,90.8134C 89.59,90.8134 88.9411,90.5578 88.5033,90.0467C 88.0656,89.5356 87.8467,88.8089 87.8467,87.8667L 87.8467,81L 85.7933,81L 85.7933,79.2934L 87.8467,79.2934L 87.8467,76.52L 89.7733,76.52 Z "/>
19
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 96.2367,90.6L 94.31,90.6L 94.31,79.2934L 96.2367,79.2934L 96.2367,90.6 Z M 94.1533,76.3167C 94.1533,76.0145 94.2489,75.7595 94.44,75.5517C 94.6311,75.3439 94.9139,75.24 95.2883,75.24C 95.6628,75.24 95.9472,75.3439 96.1417,75.5517C 96.3361,75.7595 96.4333,76.0145 96.4333,76.3167C 96.4333,76.6189 96.3361,76.8706 96.1417,77.0717C 95.9472,77.2728 95.6628,77.3734 95.2883,77.3734C 94.9139,77.3734 94.6311,77.2728 94.44,77.0717C 94.2489,76.8706 94.1533,76.6189 94.1533,76.3167 Z "/>
20
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 98.77,84.8434C 98.77,83.7345 98.9872,82.7372 99.4217,81.8517C 99.8561,80.9661 100.461,80.2828 101.235,79.8017C 102.009,79.3206 102.893,79.08 103.887,79.08C 105.42,79.08 106.661,79.6134 107.61,80.68C 108.559,81.7467 109.033,83.1656 109.033,84.9367L 109.033,85.0733C 109.033,86.1734 108.823,87.1611 108.402,88.0367C 107.981,88.9122 107.379,89.5939 106.598,90.0817C 105.817,90.5695 104.92,90.8134 103.907,90.8134C 102.38,90.8134 101.142,90.28 100.193,89.2133C 99.2444,88.1467 98.77,86.7345 98.77,84.9767L 98.77,84.8434 Z M 100.71,85.0634C 100.71,86.2834 101,87.2622 101.58,88C 102.16,88.7378 102.936,89.1067 103.907,89.1067C 104.887,89.1067 105.664,88.7322 106.24,87.9834C 106.816,87.2345 107.103,86.1867 107.103,84.84C 107.103,83.6356 106.81,82.6589 106.223,81.91C 105.637,81.1611 104.858,80.7867 103.887,80.7867C 102.936,80.7867 102.168,81.1556 101.585,81.8934C 101.002,82.6311 100.71,83.6878 100.71,85.0634 Z "/>
21
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 113.247,79.2934L 113.31,80.71C 114.172,79.6234 115.298,79.08 116.687,79.08C 119.069,79.08 120.27,80.4289 120.29,83.1267L 120.29,90.6L 118.363,90.6L 118.363,83.1633C 118.357,82.3545 118.171,81.7561 117.807,81.3683C 117.442,80.9806 116.874,80.7867 116.103,80.7867C 115.477,80.7867 114.927,80.9528 114.455,81.285C 113.983,81.6172 113.616,82.0533 113.353,82.5934L 113.353,90.6L 111.427,90.6L 111.427,79.2934L 113.247,79.2934 Z "/>
22
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 129.787,87.53C 129.787,87.0233 129.591,86.63 129.198,86.35C 128.806,86.07 128.122,85.8289 127.147,85.6267C 126.171,85.4245 125.397,85.1767 124.823,84.8833C 124.25,84.59 123.827,84.2417 123.553,83.8383C 123.28,83.435 123.143,82.9545 123.143,82.3967C 123.143,81.4678 123.534,80.6828 124.315,80.0417C 125.096,79.4006 126.094,79.08 127.31,79.08C 128.588,79.08 129.624,79.41 130.418,80.07C 131.213,80.73 131.61,81.5733 131.61,82.6L 129.673,82.6C 129.673,82.1067 129.449,81.6811 129.002,81.3233C 128.554,80.9656 127.99,80.7867 127.31,80.7867C 126.608,80.7867 126.059,80.9278 125.663,81.21C 125.268,81.4922 125.07,81.8611 125.07,82.3167C 125.07,82.7478 125.254,83.0722 125.622,83.29C 125.989,83.5078 126.654,83.7267 127.617,83.9467C 128.579,84.1667 129.358,84.4295 129.955,84.735C 130.552,85.0406 130.994,85.4078 131.282,85.8367C 131.569,86.2656 131.713,86.7889 131.713,87.4067C 131.713,88.4356 131.311,89.2606 130.505,89.8817C 129.699,90.5028 128.654,90.8134 127.37,90.8134C 126.468,90.8134 125.669,90.6539 124.975,90.335C 124.281,90.0161 123.737,89.57 123.345,88.9967C 122.953,88.4234 122.757,87.8033 122.757,87.1367L 124.683,87.1367C 124.719,87.7411 124.978,88.2206 125.46,88.575C 125.942,88.9295 126.579,89.1067 127.37,89.1067C 128.099,89.1067 128.684,88.9633 129.125,88.6767C 129.566,88.39 129.787,88.0078 129.787,87.53 Z "/>
23
+ </g>
24
+ <line fill="none" stroke-linejoin="round" stroke="#453C4F" stroke-opacity="1" x1="51" y1="101" x2="167" y2="101"/>
25
+ <g>
26
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 64.3433,107.853L 69.3033,120.213L 74.26,107.853L 76.8533,107.853L 76.8533,123L 74.8533,123L 74.8533,117.1L 75.0433,110.733L 70.0633,123L 68.53,123L 63.5633,110.767L 63.76,117.103L 63.76,123L 61.76,123L 61.76,107.853L 64.3433,107.853 Z "/>
27
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 84.6967,123.213C 83.1678,123.213 81.9245,122.709 80.9667,121.702C 80.0089,120.694 79.53,119.347 79.53,117.66L 79.53,117.303C 79.53,116.181 79.7433,115.179 80.17,114.298C 80.5967,113.417 81.1939,112.727 81.9617,112.228C 82.7295,111.729 83.5611,111.48 84.4567,111.48C 85.9211,111.48 87.0594,111.979 87.8717,112.977C 88.6839,113.974 89.09,115.403 89.09,117.263L 89.09,118.093L 81.4567,118.093C 81.4833,119.113 81.8078,119.937 82.43,120.565C 83.0522,121.193 83.8422,121.507 84.8,121.507C 85.48,121.507 86.0561,121.379 86.5283,121.123C 87.0006,120.868 87.4145,120.529 87.77,120.107L 88.9467,121.027C 88.0022,122.484 86.5856,123.213 84.6967,123.213 Z M 84.4567,113.187C 83.6789,113.187 83.0261,113.467 82.4983,114.028C 81.9706,114.589 81.6444,115.376 81.52,116.387L 87.1633,116.387L 87.1633,116.243C 87.1078,115.272 86.8439,114.52 86.3717,113.987C 85.8995,113.453 85.2611,113.187 84.4567,113.187 Z "/>
28
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 93.1267,111.693L 93.19,113.11C 94.0522,112.023 95.1778,111.48 96.5667,111.48C 98.9489,111.48 100.15,112.829 100.17,115.527L 100.17,123L 98.2433,123L 98.2433,115.563C 98.2367,114.754 98.0511,114.156 97.6867,113.768C 97.3222,113.381 96.7544,113.187 95.9833,113.187C 95.3567,113.187 94.8072,113.353 94.335,113.685C 93.8628,114.017 93.4956,114.453 93.2333,114.993L 93.2333,123L 91.3067,123L 91.3067,111.693L 93.1267,111.693 Z "/>
29
+ <path fill="#453C4F" fill-opacity="1" stroke-linejoin="round" d="M 110.003,121.887C 109.254,122.771 108.153,123.213 106.7,123.213C 105.5,123.213 104.586,122.863 103.957,122.163C 103.328,121.463 103.01,120.427 103.003,119.053L 103.003,111.693L 104.93,111.693L 104.93,118.953C 104.93,120.656 105.624,121.507 107.013,121.507C 108.487,121.507 109.466,120.96 109.95,119.867L 109.95,111.693L 111.88,111.693L 111.88,123L 110.047,123L 110.003,121.887 Z "/>
30
+ </g>
31
+ </svg>
32
+ <div class="text">Right Click the Grid</div>
33
+ </div>
34
+ <div part="extension">
35
+ <a class="chrome" title="Download Chrome Extension" href="https://chrome.google.com/webstore/detail/materialdesignicons-picke/edjaedpifkihpjkcgknfokmibkoafhme" target="_blank">
36
+ <svg viewBox="0 0 24 24"><path fill="currentColor" d="M12,20L15.46,14H15.45C15.79,13.4 16,12.73 16,12C16,10.8 15.46,9.73 14.62,9H19.41C19.79,9.93 20,10.94 20,12A8,8 0 0,1 12,20M4,12C4,10.54 4.39,9.18 5.07,8L8.54,14H8.55C9.24,15.19 10.5,16 12,16C12.45,16 12.88,15.91 13.29,15.77L10.89,19.91C7,19.37 4,16.04 4,12M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12M12,4C14.96,4 17.54,5.61 18.92,8H12C10.06,8 8.45,9.38 8.08,11.21L5.7,7.08C7.16,5.21 9.44,4 12,4M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" /></svg>
37
+ </a>
38
+ <a class="firefox" title="Download Firefox Addon" href="https://addons.mozilla.org/en-US/firefox/addon/materialdesignicons-picker/" target="_blank">
39
+ <svg viewBox="0 0 24 24"><path fill="currentColor" d="M9.27 7.94C9.27 7.94 9.27 7.94 9.27 7.94M6.85 6.74C6.86 6.74 6.86 6.74 6.85 6.74M21.28 8.6C20.85 7.55 19.96 6.42 19.27 6.06C19.83 7.17 20.16 8.28 20.29 9.1L20.29 9.12C19.16 6.3 17.24 5.16 15.67 2.68C15.59 2.56 15.5 2.43 15.43 2.3C15.39 2.23 15.36 2.16 15.32 2.09C15.26 1.96 15.2 1.83 15.17 1.69C15.17 1.68 15.16 1.67 15.15 1.67H15.13L15.12 1.67L15.12 1.67L15.12 1.67C12.9 2.97 11.97 5.26 11.74 6.71C11.05 6.75 10.37 6.92 9.75 7.22C9.63 7.27 9.58 7.41 9.62 7.53C9.67 7.67 9.83 7.74 9.96 7.68C10.5 7.42 11.1 7.27 11.7 7.23L11.75 7.23C11.83 7.22 11.92 7.22 12 7.22C12.5 7.21 12.97 7.28 13.44 7.42L13.5 7.44C13.6 7.46 13.67 7.5 13.75 7.5C13.8 7.54 13.86 7.56 13.91 7.58L14.05 7.64C14.12 7.67 14.19 7.7 14.25 7.73C14.28 7.75 14.31 7.76 14.34 7.78C14.41 7.82 14.5 7.85 14.54 7.89C14.58 7.91 14.62 7.94 14.66 7.96C15.39 8.41 16 9.03 16.41 9.77C15.88 9.4 14.92 9.03 14 9.19C17.6 11 16.63 17.19 11.64 16.95C11.2 16.94 10.76 16.85 10.34 16.7C10.24 16.67 10.14 16.63 10.05 16.58C10 16.56 9.93 16.53 9.88 16.5C8.65 15.87 7.64 14.68 7.5 13.23C7.5 13.23 8 11.5 10.83 11.5C11.14 11.5 12 10.64 12.03 10.4C12.03 10.31 10.29 9.62 9.61 8.95C9.24 8.59 9.07 8.42 8.92 8.29C8.84 8.22 8.75 8.16 8.66 8.1C8.43 7.3 8.42 6.45 8.63 5.65C7.6 6.12 6.8 6.86 6.22 7.5H6.22C5.82 7 5.85 5.35 5.87 5C5.86 5 5.57 5.16 5.54 5.18C5.19 5.43 4.86 5.71 4.56 6C4.21 6.37 3.9 6.74 3.62 7.14C3 8.05 2.5 9.09 2.28 10.18C2.28 10.19 2.18 10.59 2.11 11.1L2.08 11.33C2.06 11.5 2.04 11.65 2 11.91L2 11.94L2 12.27L2 12.32C2 17.85 6.5 22.33 12 22.33C16.97 22.33 21.08 18.74 21.88 14C21.9 13.89 21.91 13.76 21.93 13.63C22.13 11.91 21.91 10.11 21.28 8.6Z" /></svg>
40
+ </a>
41
+ <div class="text">Browser Extension</div>
42
+ </div>
43
+ <div part="react">
44
+ <a href="/react">
45
+ <svg class="file" viewBox="0 0 24 24"><path fill="currentColor" d="M12,10.11C13.03,10.11 13.87,10.95 13.87,12C13.87,13 13.03,13.85 12,13.85C10.97,13.85 10.13,13 10.13,12C10.13,10.95 10.97,10.11 12,10.11M7.37,20C8,20.38 9.38,19.8 10.97,18.3C10.45,17.71 9.94,17.07 9.46,16.4C8.64,16.32 7.83,16.2 7.06,16.04C6.55,18.18 6.74,19.65 7.37,20M8.08,14.26L7.79,13.75C7.68,14.04 7.57,14.33 7.5,14.61C7.77,14.67 8.07,14.72 8.38,14.77C8.28,14.6 8.18,14.43 8.08,14.26M14.62,13.5L15.43,12L14.62,10.5C14.32,9.97 14,9.5 13.71,9.03C13.17,9 12.6,9 12,9C11.4,9 10.83,9 10.29,9.03C10,9.5 9.68,9.97 9.38,10.5L8.57,12L9.38,13.5C9.68,14.03 10,14.5 10.29,14.97C10.83,15 11.4,15 12,15C12.6,15 13.17,15 13.71,14.97C14,14.5 14.32,14.03 14.62,13.5M12,6.78C11.81,7 11.61,7.23 11.41,7.5C11.61,7.5 11.8,7.5 12,7.5C12.2,7.5 12.39,7.5 12.59,7.5C12.39,7.23 12.19,7 12,6.78M12,17.22C12.19,17 12.39,16.77 12.59,16.5C12.39,16.5 12.2,16.5 12,16.5C11.8,16.5 11.61,16.5 11.41,16.5C11.61,16.77 11.81,17 12,17.22M16.62,4C16,3.62 14.62,4.2 13.03,5.7C13.55,6.29 14.06,6.93 14.54,7.6C15.36,7.68 16.17,7.8 16.94,7.96C17.45,5.82 17.26,4.35 16.62,4M15.92,9.74L16.21,10.25C16.32,9.96 16.43,9.67 16.5,9.39C16.23,9.33 15.93,9.28 15.62,9.23C15.72,9.4 15.82,9.57 15.92,9.74M17.37,2.69C18.84,3.53 19,5.74 18.38,8.32C20.92,9.07 22.75,10.31 22.75,12C22.75,13.69 20.92,14.93 18.38,15.68C19,18.26 18.84,20.47 17.37,21.31C15.91,22.15 13.92,21.19 12,19.36C10.08,21.19 8.09,22.15 6.62,21.31C5.16,20.47 5,18.26 5.62,15.68C3.08,14.93 1.25,13.69 1.25,12C1.25,10.31 3.08,9.07 5.62,8.32C5,5.74 5.16,3.53 6.62,2.69C8.09,1.85 10.08,2.81 12,4.64C13.92,2.81 15.91,1.85 17.37,2.69M17.08,12C17.42,12.75 17.72,13.5 17.97,14.26C20.07,13.63 21.25,12.73 21.25,12C21.25,11.27 20.07,10.37 17.97,9.74C17.72,10.5 17.42,11.25 17.08,12M6.92,12C6.58,11.25 6.28,10.5 6.03,9.74C3.93,10.37 2.75,11.27 2.75,12C2.75,12.73 3.93,13.63 6.03,14.26C6.28,13.5 6.58,12.75 6.92,12M15.92,14.26C15.82,14.43 15.72,14.6 15.62,14.77C15.93,14.72 16.23,14.67 16.5,14.61C16.43,14.33 16.32,14.04 16.21,13.75L15.92,14.26M13.03,18.3C14.62,19.8 16,20.38 16.62,20C17.26,19.65 17.45,18.18 16.94,16.04C16.17,16.2 15.36,16.32 14.54,16.4C14.06,17.07 13.55,17.71 13.03,18.3M8.08,9.74C8.18,9.57 8.28,9.4 8.38,9.23C8.07,9.28 7.77,9.33 7.5,9.39C7.57,9.67 7.68,9.96 7.79,10.25L8.08,9.74M10.97,5.7C9.38,4.2 8,3.62 7.37,4C6.74,4.35 6.55,5.82 7.06,7.96C7.83,7.8 8.64,7.68 9.46,7.6C9.94,6.93 10.45,6.29 10.97,5.7Z" /></svg>
46
+ <span class="link-text">Guide</span>
47
+ <svg class="link" viewBox="0 0 24 24"><path fill="currentColor" d="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z" /></svg>
48
+ </a>
49
+ <code>npm install @mdi/react</code>
50
+ </div>
51
+ <div part="upgrade">
52
+ <a href="/upgrade">
53
+ <svg class="file" viewBox="0 0 24 24"><path fill="currentColor" d="M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z" /></svg>
54
+ <span class="link-text">Guide</span>
55
+ <svg class="link" viewBox="0 0 24 24"><path fill="currentColor" d="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z" /></svg>
56
+ </a>
57
+ <div class="text">Update to Latest</div>
58
+ </div>
59
+ </div>
@@ -0,0 +1,48 @@
1
+ import { Component, Part, Local } from '@pictogrammers/element';
2
+
3
+ import template from './annoy.html';
4
+ import style from './annoy.css';
5
+
6
+ @Component({
7
+ selector: 'pg-annoy',
8
+ style,
9
+ template
10
+ })
11
+ export default class PgAnnoy extends HTMLElement {
12
+ @Local('contextMenu') current;
13
+
14
+ @Part() $contextMenu: HTMLDivElement;
15
+ @Part() $extension: HTMLDivElement;
16
+ @Part() $react: HTMLDivElement;
17
+ @Part() $upgrade: HTMLDivElement;
18
+
19
+ @Part() $close: HTMLButtonElement;
20
+ @Part() $list: HTMLDivElement;
21
+
22
+ list = [
23
+ 'contextMenu',
24
+ 'extension',
25
+ 'react',
26
+ 'upgrade'
27
+ ];
28
+
29
+ connectedCallback() {
30
+ let next = this.list.findIndex(name => name === this.current) + 1;
31
+ if (next >= this.list.length) {
32
+ next = 0;
33
+ }
34
+ this.current = this.list[next];
35
+ this[`$${this.current}`].classList.add('show');
36
+ this.$close.addEventListener('click', () => {
37
+ this.$list.style.display = 'none';
38
+ });
39
+
40
+ window.addEventListener('scroll', (event) => {
41
+ var d = document.documentElement;
42
+ var offset = d.scrollTop + window.innerHeight;
43
+ var height = d.offsetHeight;
44
+
45
+ this.classList.toggle('footer', offset >= height - (4 * 16));
46
+ });
47
+ }
48
+ }
@@ -0,0 +1,3 @@
1
+ import PgAnnoy from './annoy';
2
+
3
+ export default PgAnnoy;
@@ -0,0 +1,23 @@
1
+ # `<pg-avatar>`
2
+
3
+ The `pg-avatar` component takes a user object and renders an avatar circle.
4
+
5
+ ```typescript
6
+ import '@pictogrammers/components/pg/avatar';
7
+ import PgAvatar from '@pictogrammers/components/pg/avatar';
8
+ ```
9
+
10
+ ```html
11
+ <pg-avatar user="..."></pg-avatar>
12
+ ```
13
+
14
+ | Attributes | Tested | Description |
15
+ | ---------- | -------- | ----------- |
16
+ | user | &#x2705; | User object with `user.base64` defined. |
17
+
18
+
19
+ | CSS Variable | Default | Description |
20
+ | ------------------- | --------- | ----------- |
21
+ | `--pg-avatar-border-color` | `#453C4F` | Color |
22
+ | `--pg-avatar-width` | `3rem` | Width |
23
+ | `--pg-avatar-height` | `3rem` | Height |
@@ -0,0 +1,6 @@
1
+ <pg-tooltip part="tooltip"></pg-tooltip>
2
+ <div class="example example-flex">
3
+ <pg-avatar></pg-avatar>
4
+ <pg-avatar part="avatar1"></pg-avatar>
5
+ <pg-avatar part="avatar2"></pg-avatar>
6
+ </div>
@@ -0,0 +1,41 @@
1
+ import { Component, Part, Prop } from '@pictogrammers/element';
2
+ import PgAvatar from '../../avatar';
3
+ import PgTooltip from '../../../tooltip';
4
+ import { AVATAR } from './constants';
5
+ import { User } from '../../../shared/models/user';
6
+
7
+ import template from './basic.html';
8
+
9
+ @Component({
10
+ selector: 'x-pg-avatar-basic',
11
+ template
12
+ })
13
+ export default class XPgAvatarBasic extends HTMLElement {
14
+
15
+ @Part() $tooltip: PgTooltip;
16
+ @Part() $avatar1: PgAvatar;
17
+ @Part() $avatar2: PgAvatar;
18
+
19
+ connectedCallback() {
20
+ this.$avatar1.user = new User().from({
21
+ base64: AVATAR
22
+ } as any);
23
+
24
+ this.$avatar2.user = new User().from({
25
+ base64: AVATAR,
26
+ sponsored: true,
27
+ github: 'Templarian',
28
+ name: 'Austin Andrews'
29
+ } as any);
30
+ this.addEventListener('tooltip', this.handleTooltip.bind(this));
31
+ }
32
+
33
+ handleTooltip(e) {
34
+ const { visible, rect, text, position } = e.detail;
35
+ this.$tooltip.visible = visible;
36
+ this.$tooltip.rect = rect;
37
+ this.$tooltip.text = text;
38
+ this.$tooltip.position = position;
39
+ e.stopPropagation();
40
+ }
41
+ }
@@ -0,0 +1 @@
1
+ export const AVATAR = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEziSURBVHhelb1JcGXZeaD3Aw/Ae3iYgRyAHGsuFpMskuIgkewWqYFqa2yF5Wy3FLYXXnlpr3vjtUMOR9gR3njnlYMd4Qjb4bAXvXFHWEG3Bo4liqVSVVbOmZgf8Ob3AH/ff94FkFlVLekAB+fec889wz//Z7iY+lf//f/x/Yi4S4ypqSn+nnoZp1MlLXl/fzg9PY3JK/mO9wbTyWWGLEcbJ+Sd8MI4n49594T3TmNuphYzM9Mxy/X06VTUTqez3jF/atOnwaOYoUtTUycxzfV0baqkJ7Wo1Xg2fUIro5imjZl6xO2ri9GIkxieDLPtEx6PRyfR7g+jTdrtjmN3rx3DUVBmHIN+P462d2PKPtCXer0es7OzmVbhIkzymjhtJxjZCQMbj8d5bcfG9P2UcQjWAocCG0brTb5/MVoLASDl83zjLGRj/4BQAf/vC1W5s795D+AzZ3JPFEGjGAbgIfZBRi9Oa/04nR4zkBOeAdSY4QoMODBf54+9rQZWBg7SwYDtVrEK01MOnXsQXY3dZLpmbyx3/s7L735WsMgL5S5cV/mfVk9Vv3GCEIMFzwszrMnVZ4eqkpdDlXcxfTGvqlsugNJJa0S5JECG7DMlZ1ACmgN4Phd2UvgUFCiPWRfdP5GDpgEkdVFoalqEkDdFjVkWhMgWvFH1QWqWs0SEAKjxDr+JjNnZGcqdl78Y//7wGeVfevdimRfKEabtyKcywqfl/QPCyw1cDC8+KygXyCJEoIuQ0xPEDWmd3DolGoimOjxRJ28WsTNzMkA89UiHlINXrFPkJaUbHU9Bio8UHy8PPkUDz0VGuS59ERgziKmCkBc5q3r300LhyPNw/s4kYxK8/7R6zssnh9A4A6miFOnAsmD+/WSoXn45mJPxrAFFhvpiRL5ytVCeYichYKDQFBQ8BSXP0ptZ9ETtdBBziKrGaTem+62oDVoxNzqO084e+R2QcRw17qfG3aiBMKVPrTYDhdcSqALohPaUyONRac/rabiG4tm31EGME6YgzY7wW4RgDaSkkjP3bCzl/mIoiJ/oBAjJKDIrBHmtyDzxudeOmwCqz+p8OdJLRcN5zN5NEPKPDvYjO1O9X9Ks18tEOoBK6h5yOYgZRI0a43QWBT4LQIEuQiOa0+2oT+3Faf9eHO28F3v3/yr2H/447v/8z+Lg0Xvx/Pk9gN2NEYp4CgBKRDUQMjMzm20yPOqaihFaNclAxUo46x3PHGpyB6lCMIdNYZEr1wmgKly8NlTIOAe+xJeXGSbZk8ZKYpmX67kYCkK8eDkqmwn+PRcFn4wFwFmUlN4I7GnEiPDn3rrK88mgfQ8raHqGATvoCfJnQcE8lNwcdGJxvBfz40dxevRBtJ+9H4ePP4z29uPoH+/GqNOK3uFebD96AFJ+Ho//7sfRO3gaM6c9qqONbJdqqbtGG4qtESLrhHQMhY4n1GqX1DXTKB3TGhZVNSapesb+8Q6XL8SKw0sskkQDhD/+ZjC9GHP4XFC0IPxCEAEXo4EhJKTOYnY3fwXipPMvRwZRlCfXxsSfFSqWiNm6+SWdro24LgMoFDWIKUTOfG0QzXEnrtYH8draVHzp5ny8vjGIjfphLM/14vLSVNy6shab68ux2JiKxfkaZvFJbF1Zj7WFhdjaWI/20UEcHhzElEra0fBnCkCnGUofB+oQ7pNTQAh3Ej9lRIJiDIT4bhoEjgKE1OAyui6MLkbD2Zj5c6b8LQwoS7lJQSljgj9HXMLkGaEqdzE11r7zu398l3J3MtdgY5PLLHrh/ixYCb/mV88yzcrLC9lp7zILszULwAuks6edaJx0Yh1EbS1EfOGN9bjz1ka8/faluHZ9LW7cuBav3boRdYA0N61o68ZyfTYW56ZiuVnH18AvaF6K66/fiZuf+3Ks3dhC9iMGaXGGhm0KXCSga3RgaXGefmgsky8iiMJqjJ4YjBCY6K/BYJBcoHgdk3d8fJRW1wzRtOZ1ikYJsUT1laIwdQTvFhM7mzkDnn1RHQnsLOejCk5n1+cBhPzLuzy64+PPiuXPZ4ezcpnyI/fQTsmHK+CUqakZgDWHpTSKmVE7lmZP4/blhfjandvxys31WF2px/zyfDRXLqHYG9GYnkFEddAhWFU4cI2ZuaijHxpzxNmFWFi8GldvvBabr7wRr33+rbiyuhpNnLdBtxsnw0FCQQqerp3AWXMAtgAnOZRfgZQIGYIQ6u8PcBwTIbW0zI6PWym6VPAiseingpBE6gQpviGgx3DgReBWz8wz1ygyjDzMjFKmhOq69p3f/pd3gR4cUr1G4Fklkrx+OTi0T/6Ud8srIkAmLmLqhM7OgJS5US+ao6O42jyNr7x1Lb74xkYsNzBldf76veh1+nQFpGFLTQHYYasVg8NWBF71FDpmDpmiFaYHvQSHnE7N4jROxSzcc33zWlxaXY+rGxu01482+uYEw0HdtrTQiLm5AkxDAY6AmsJDByFAqQ/iE54qc5LkkAkiTNU3cxCDdRjNS2BTOC3JJIAJDCbtCBWDCMtyxFKCMLn4BId893f+xQscIqtXdrmR2s86kZEfVUb1/MXoELlSfHuvomfos+MjgNnGjD2I2+un8Suf34pry1BZby9Ouu0YH3XipN2NzsFOHD7/OA6f3Ys+18Ojvegd7cd4IKI0SQEClpmIRrAwwFGMhlBnF6DW5kEqiGjt8WwI0qbjuK3YiWgi5uawqdPnUW8A5BPGIkcMRpirqL2CEKid6xrAFiEUOUOIIssplAoZBR4FEQUZDPVC8LlAF+CJCFLLnJrv84RYyc+yBNPad37nP77LxR3zJvnn6dkfAX0eM+8s8ifLaOuX9MSBUU653ohu1PtPozbciVeuNuIrn7sW6w2A2UERA+hTAFobnsQIxJwOAMJwPwatnei2DqPT2o8hnKPo0ds+GSpWRoilfvT6BzHo9fK6BpXvttrR2t2J/e2nsf0Eq2zQi9XVNZirWGCNOawu6smxCVDRCqSGQxBCf3twoYrfwUiQLbjTIEISUKR68enhZxVAgvoSGSC2UHp5v4SSmlPm68oz/+azSbG8z+uSB7JlxxejHbBTWYzWpjHtClUKdICjSUvUZil2S5VaKXeYLNpbJ72DONn+edQO/zZuNsfxldubsYqvISWPIcWTnCbpRG8E4E+OoPZejDu0MZyJkwGjHMNnJ3AF4krnkYsAgumlzyLnp3EUY/+j6Dz4YfQ++MtoffjDaD/5MIa729F5/DRaT5/Gyvw89YxiDoA6RcINRgKWFH2dhVtmyJthzLMzdcYkwGmTMQiHl8Opk5apDwVjxR3AIgGuNLgYyOPHSdF0ChMhWXU+SwVPd0qp89QRk3x2FC8VS31WyJIMTqEyBbXNTY1ifmqAKHoaew//JtZRqu+++VpsYO1EvwtQEQ+jIeJB79YBlUGlWarfQCwdJ5CfrXNfgchnNR3LgZ78Me1sx+jxe9F78NPoPvhZjJ7+IkbPP4jW/V9EZ+cp1tlcnKgosgaj4gai03pKIlQMmWeZggw54uVQqJy3J8jytiCj5FfX/5DoeD4tX961f5+MnxFyIKTnQ5sACkQ4ByWgZvv70Xn2QRzivF1fn4lvf+1dfIklFHMvvfMY66mD7KR6KU6AVIPMnpZueG1KLG1NfiQQkDYDAGdO8fbx2OeHrZjt7keInEPiwfMYEp9+9EEcPH/O+7xjdaXKDGkWgxTrKz5I8nUSxezsXCl0IUgw2VdiBcAqXLw+D6VMUerncfLk/PpCmt0oGRfiC/fnIQFhmn9L0PfDryVPhdnHQjqOk6NHce+9H0Cd9+Pzr9+MK5fW8AcQaVg/zub6PryUA7NKLZikSlKdtQyTTiYiuMw2yTM15hSLCtdn5CunUwwAtBMU9RRx1GnHsH0cDz+6F0fqBN5RLE14Lisqs770nTQ5RZFFmJsr6x8VsAzV+A3mV7EKhdPlsvK8Emnc5H1VNlMvTS48M1ajLwmhGrAhKedCzLyMdLyKZkwqn0aBjzq78fDD9+J451Es1Wfi9vUb5TmdU5z5Vg0fo8zGlhezDupPxKB/chLQe0pzl6l1ZIcnfbGsVlEOASCPcBbVXVZZ01QSGBgNJ70u5nQ7njx8nA7fVG0ukS9haCjksECI3CJSBKd9c5HMcqWPJZR7OeUcuFWwT+ZV+dZTKfOL8DsL5EtMVajeU3JOfqjUv5NCn1rJJJQi/p0wOQOo4UvMDI/ip3/+b0HIX0ezNoybm2s4dOgW9AWjoHaUZw3TEco+ZXDQE88KYAS0TljOtNo2z6exaly5q/qS/TFmKD0uwfclCGnfPhHHPXRVF/2yH32sr6cf34un9x/QHiKTkL2fAMEqZYyM9pLKCkKs3zKC91x5O39V3i3cUKVVH7M0f05BnKFqp7z/6bF6Ls7phHRmdGDcy8Je+ww5fTHK3hAm3XYqQtvKGdVhzIOQJx/8JI6fP0Rs9ePalaW4uXUZpw0nr0ye5ntals41CUEpbYRiHwGkU1IHcyqV0ysRMaOZmRORLyLFKPjPEWI/5SaCnAHARIr3NQyIqS4W3NEhSLkf4x4+DWUTdQDAqpxJ0Nmco19lsUqE4KXTblH2pewJnCdCitXkksIEKXYD2BSRWPolsTnWBDg5mVb3F6L9BaSZGpMGslOkKQ5IDWXgk5tPDVSQ7zEYea9/FLtPH9DIKBYX63Ft83LcvnUjZuYaAJi6MHdnGvWoLzRjdh5HzbVqPF+tGa0tkZpWFlFESSo5AWicdKT0qcTErnESUg/QG8GhLhmNfabV54BHmNrdaO3BKU+e5PNpECAcrEsgnK0gGvmjLlFEpXibhE8A8ywUDkngUYlPfCznZ7mz8tW7Fi71VWl1ne2dDZJw8frTgk9qvOvQKZmDnTrpxv7zJ7G3tx0bKwtwxlbc2LoezYVlAL8A4JeisbiOy7wU04vLUV9Zjyny5+YXrY068E2G4+j3Oln/zAxynqsTl1/pqBRZdTgBCBILIU5GVgVeVv7X9Cd4JpXKCUm8cMo0fs7+s0cJ9FIOruKmDrG4ODZHqqxx2mh2ZhYOlSCoIS2HAvRqBbLAqNJBhRSyb3aM4ur2CtAXo0EieTmvCon+lzMvhosvVrG0WK7t0CmO2sOPP4y5mdO4emkdZGzF1tZmLC0tRw0fYASAT+CUGZARIGE824i55ZUYQ6UjelDEllMYUDL6Zgy3JHVNYrKz7Xlt+5O2z/vzUkiATwgrU8qAjFOU/PEBpjGiZ/JoEgHkhBO9pwEy4fzZ2ay/qivrs/JJKPfmVHmVaJPLJQe7erGvpdTL4WKZRMg/JiRDWjNKQatJxq/pcY+7sbbUiI3V5VyrWG4uRqPZiCkQMt1YiKn5BThkMWogQi6ZXSKdw1FEyavuE/hD5DLIVQecTjYnmMopOUDaPRvsZAAG0wROxtJLKTaBzAhnBC5laiOsLk3hbjfrTseQdypOmYVDytxVQUwd/Ze1eTMJ2QR/zpCRGed59q3iIv6c9fPviwbTM4RUmf+QkJJiIr8dWAeFuYzeaDZq0YDN15eXY31tFe5AVzTnY4l79cdMYy5OtaIQBy4azdXnsboQLxPq1MKhRistHRXwRG6QGC/GKlwckEFUWEvqQwE7QcgMar4GFw5ByLOnT1JhozZou4qauk63V9aVolPz3GcC+xzoVaju82eSb19ytsF+T+7P+3eOgIsxn0xSuqItIl6wEACyE21jIy8PAYy60ahNUcXxNPk1RMwUd3jK/V4bwMEha4sxv4xoWqlHH0dwBBeNhvAQANRvyPkrnMMpOcDp9NkFBj0PfpoArh6nUOdoWBaa7I9rKDX8C2yeGJ1MBWomBrw3GJ3EoE8d5BWnUlTSBnLejXKziE7XQWzHt53SOZ1qMGruRlPR7R7HQEVP/hiZOTc9n2stzQZ6Y0YdMoRxFVnUm9QnUkDU1OwkqqOcDQNOAD45ljIiYqTo5V4EpWOoS2Sa5eQcY9E9F5FotIyY+ESwWIWxDNW16eTlcskfCs8hlqx8lrTZbJaO5cysHRygsAdx0u8BDIBNo/bSWVtqKFYW9w7YumqIMK9Lx0tUoZ53voiEl0P2pXQvo8WT8iepgBU1s3BG96gFd0yok+hz1zrkiIpbnQVwdtdQ6ir5F6PGheWq9wpc/v5omCSfCMBH8XAepTSHLmEkCKo3X6qhqtig8ltoYk1NOjYcwDWYmf1uG8Qgr0HGSbeTcSqVK9fDPkjB8oFB3bYK/QBormnVafCzPpFPQToDcqBpqc3Nb58WPnWQZRBwM/WTCvzjw0M4VF6ntQlwiwmOGCOWPIgD8TVXF1FKkfKuIvA8Rcwy5hRtlBCWlbiq0k9HhumL+VWk2vLwLPrLgxyHgftEziRq8fjcB2cV8aOC1L53bXoIRyRSBt0YgIApxNQ0nKJCPcG0HZGvYykHpYwHoTkI3h+6nOraBB68Ux2migEtLznJINI/Gaoem2okTEQFyKXq6CHvetTTdU9vu0vsJGBnUizxBn8EcOEUEMBgRY6KPZEjoipdMknPWuPG/tu/kp7HMxgRDedpJp8I05VMq6I7Z/VCBbz7lo2pSKngXJmWhlTsuQpH/1NMIdcFlesLAnsIMk7GrsR5T3HE2EkProDCFSUDzNA+cUR7CDjuh7mMe9xqxfFxN47bvRj0eOa69xCEgSz1EM3GFACqoGIfVdv65sBgUo5ejtER+DgDYpe2291+tEDGMelRq/g8ikN/HHtOq0v1IonrimP0R5BMCfgCXCqntRSDvkJ0/LnYZQcIn44U7hPewtFY+n/+PDnkHBkZrdC0lMxCWYHR4OO8nlRoj0DU0EWnCTXrdDUa+Bqzc2lFnc4zwAbibG4yL4xiPnGVED3S0YM+PIhnjx/FvXsfx6Mnj+L5zm7s7RzEzvPdODw8iv3942gd9VDGLtkyINoZ9gc5HK2pseJIDqLtfq8fXZA8pF7FZbvXi92DVjzZa8XHz3fi3uNn8fG9x/EX/+6vctlWxDJCxnRCf2fwpRBBUNgcXKsoWnBmgXzLyJnFLNYi00T2XiFfLCu5ucCLjhG8FiGV+DIKt4RzlVaFJ6H23f/gj+4C5Ds8Z4ClcgdaQM7fLO/LJRpUjtAE91r7NNo9jMMn78dCYypevX0zVhbnc2BLC4tx+cpWTpWc0qlTkFCDWqeHtkQt+AWHu7vxox++F+9/cD8ePN2Pe8/34uMnO7G9f0T6PO4/243n+63YP2yD+wZIh5MAer02l1Tr0Eb04xTuElk9gLJ31I5duGvnaBD3tg/iPRBw78l2PD84iiM4tEvZZ8+fx/Ub1+L69a2YxxzP2WcIa4S4HQxGKYL11lsQhG06m1C2qsoRcBGIcIej7/UH4+jC2QMNGX8EfgIbyF2AWwkTrsikys+Cmda++1v/0V1euJOUS54oKUUmL+bti5Uqvk4xeelaOm7D1l70Du7H5tXlWFpsAKzpWMMBXF9bj/nmUooNzddpBghacvMaXU5u+OGf/zAeP96Dkj2ncRyPnx3G/Se78RGU/AwkPAUgT/YO4+nuMZQOxSPK5kDwDAOuNuKdnCCW4AoBvd8dgoS9uL8NR4CMeyD0CLEHngDobJ4BOTo+AmCYtXDt2597KxYXmwlkVyrlcEWPXDJkbM9BXBvkriyvZ3uuz2sOzyLGZlz2BbL26fgY8VwhAcQm/BJm6psCyyrNkAqZUkqYvPJeiE7CGcBFXcaCBOg/O19eN9Jx76UCOmyH7DhyBM6o50GbPhaU/anjDErDGEhp+o7x5vVXojaM7ePt+ODvHsTTnaM4bB3H0W4rnMGap9O3rt2Imzdeja3NWyD5ViwuXwrc/jgEUI9bR/HBo2fxBETJDZKsm5x7UOcx1P8M5D3eacENnThEga+trMarV6/GF95+K9554/V4/dbN2Nq6GvU5iIk+ewhIPeq+rUZ9JvMbiCjN2VMMAne17O0eRLcHIaDgG3CTu1gUyU05HyS0MVYEn/u7iniaRDMnIWFJrHRK8U2MpWwV0IelgKEgwPS8AhtQkVZRKrLARfnn6SKVuyzeQy7PzjWiD7BGNKiMxnqcLNki73HEOsfDeHBvDz3RY2DL4B/PHcobApi1y5eQ2/OxstSMlWYjlnHWLq8047Xrm3H18mo0FhqBbxdt2pmu44Sip0R8H+Apjvah1pPpuVhYWYv1K1dB6CbxKtYT+gELqolO2CLv8qXLXC8xJg0BiQzfA0Ro6rqBowHw1YlSu8bGYeuQcYO0BuLYeTnn53h2fHyc5c4BbZpgSY6oYGgoOqTAtgrCkb+ZZ6z96vf+Q4+z3akySqHzAtX9WciFDRpNLx1TkGdTQzp1/CQ2L8PWUPlUjQ7Xm7G+cYVOTMfTozFUvRN/8dcfxb/5f39C/OvYbzfj8vpGjPtHsbK2BAAX4goyvbawED05D+RPMRCPo63Oz8Ul9NLasr4OQGnO55agBsBdXdtAxJxGCzn+/OA4DrD0BojHU+T7pY11+RsufJYmbwtTV4JpotuOuP67e/fj//o//038HfprhJ64BmfWQfJo3HHZP3Z3jzAm2rGH39IDKQ0Q4XORol7Zw1DYxvDQVHfnol57CRPBn3/ORZZBWCaiJveGAt9SZupf/en//H2e5hlDw5nHmVKrvPxCSCRAEVPKTJQhZRr9nXj8s/87NlZnYvvp81he30IJ78WzR49y7mhcvwxVTcf0LPX6c4LVgl75w1/7tdi7/4uYa07F1ZvX44PHT+NHf/1BPHy0i6EwitevbsUVxMJ6E4qHwptwghw3Pee8GVYcHNTD6XRi8NnuPqKKiDHQ0WhAFK0tLWEkPIsWFqDc+corr8Tu9g59mYu33nkHoujHg/tP0teYngFxz7bjj//kj+L3fv9bWH3t+ODe02jBcR98/AC0jmN1YT1WVhZjZXU5elpzbfwtuEMOAlCIbjUkwAV4bohTnHstDOWOCpYJY/rs/Tl8i0Na+6e/8Yd3qeLORYwZEimkFStWMX2RbIcGQE5O0I2QoYeP43B/P1ZXV2Nz60Z8+cvvxm//s+/Fb3/vN+OffuUL8c0vvRXf+vJr8cXXNuKtzUa8fRPWx/voIZu3d7fjZ3/90zhBWe7rK4CMRn0xXrlxIzbhgBGm6ywDmEekzCPnlxYXYgYqrc9DqXBStwNn7O3ha/TTwhrS5+npcdxBYf/kF7+IDtzjpukbN66jjGdT/KzAnd/59d+Kd7/0dYAzE/sHB3Hz5o349re+Hq+/cTMeP4SgML31DPYODrHk5Fjc2QkC9I2GWI2pByhlmj/A6GKo4KgzyV3mGaodjOehiLfat773B3dRPrn7vVRZ0lTcL0WDG+dywpHry1DV564txo1LtZg/fJqU84U7b+dxga2ra/H2a9fjlWuXYvPm1bgBB9y+cTuuILs3L1+JjZWVWFxCOdZn49Hj5yjuxXjjzVdxCgEupu/r17ZiCxG1hJEw7VwYMmReHbCEskXO73a6iIyduInOuYJeac7V0uM/drM14moOi2quUctlgBoi7SqEsoSuE7mLiMd5dFQN8eMKu2sy65dW43Nv3I67/+J3EUcRP/n530YHwtDZPMRRFfG5+JRwleJJgElOLgov4rnIAlb+CjfuhH3C31TETK6zULnINDnkW7/xzxFXBSEXQ4WAKj0L3HrouI4s/9Wterx+ci9uNTtxY2Mp3v36l/A5FCP4CYiYjbXVqLu/Sfa0HrlNBScF048Rcn0Khf72m+/EK7duRB9KX0L3rDSWYnN5NRYoNAcBeCxhHvGkVQM70vca4uRe3ABpnjOchVvT2aSJTn8UB0fHmLJLMUBcroCQm5e2Ym1+IZoYHfMga215OfWByv/wCAcSqlfsrYKoz73zZjx5+iw+/OhB6iZ3yB8ft3E4exMA0LzOCCEBTixr7PThIqy49O5CzgvhPL8gpDJ/Qcjvp1LPO0LVSBUqkWWoUugDJNSQc7vx6M/+dwZ3ElduvhZN5OsMiGhh5zvdsL62BuU20B3qHd5i4Hr0A7xod6K4bNvEytq6vIk4wpvHUZxFoS/PNWMJxbyAN1ynv3MqcszNOnG2OZPO5ua1zXgFJ9SjBicjTGl8DevrIZ7oBAhZQRy2owGnrC+s5lbSul44oks95M6XKcq1u72kWp3MjY01ROJcPEPPbKOTrEui6cF1x0fu67Jc8daT9v0FJhcRUkWh5N8CsU+GKr9ChOUN0yn7LlRURRFxUX9U1x4N8wDN1ele9O5/DLVdiau33kZOz+BwtRh8M+YB0iyIyW2adH7MoLSatM7sCfwC8KB8ADQe9OL4AMcSuY5VH6uIkSuYvZuIsHUsq2XixvpKXFpfTYBtbl7Dj9iKd95+Pa5cWaNPQ0TTLAjTh5iJhjME6JeFJkjFrHU5wF0vqAnIDwEE4p17q6OL3PnYwNgIdNnMLDoKDjxEB3U6TowOQMYw+hgNY2SYPpdpzr9BUEOeOfWTrsAk5hHsCbz8yUBylvdy9CevqzL0s/InXlbenxbyGcDUQZ4ft2N0eBBXbn0ucJmi/fxB1KE056iWl5egzl4iYdTv5ByTzptEIHWJKD1h92zVZ6iMZ67qNVxhRHG7U70BgASWemYNhKyuLsWSOmVplTx0AEh3rmoMQpZWlqO5KuBBtWJeE5T2m3Mo/tk6hgdijfw52m2AkCZ6a5brJtbWtavr8Sa64403XsUcVoS18KGcZ8PBpY6uViKIcJrEVCQNMR50fp0Y7aPf8hyj8nIC4AKrAk/z8r6K5KXnYSo8JzEDafJLlXH24N8T4A8Ggyzut2O2hshZ3IgOLD4+vBeLI5Qk1LOK/D7cP4gOFtR42ANweO4gPI+bAfgaoqLRXIZqi+frWQ9FgaekFtBBCwB7HtEkMhbw/msgzbgEIpZQxlK4HvoAz/3mzVv4G5djHt9CcalzNwv1y5XutVrEVF5BLy3DecsYBQsQxArtbJA/e9KLhfo0Rsga5WYT+H5ao91GiWNEdLtObO5E+/gQrjmOEVwzxsJyNtm5GNdUHJ8TmW7A02lOR5rnrmamQKgkUEXwdL2Cs7MnJfKHcgqt2jd//ffucp865EW7uATv8iVvKDg1NYi1Oj4CHDIzfhpbr1yOOrK627gUf/mTnyLCcAivXI6PHz7BgqqjpJG3vCcyVJyyvjrI5dnReJCdGXex48l3wE44UqxwERzkfinnj2pYUE0QMtesY+6i4PEx5tNBhPtw9ob4Bb3eEMtoEF1Sh26fG7y3bDkAZn11EOZUiWKnN0D0gNwBBTvdTiJDi6qF+Pzwww+x+A6i70kuOEHucBOGoin9MACcyxSMJfWSLZIvFtSXCSvyKJV9yR8BSVpAXLihAvckidovf/f37pJ55yIiXkaKocKqOxo3YPubCKr11ZMYYqk8+/hx/D/vvY+p+H688tZtxMtG3H/yBPndiCXETg3rxhrd3WGflOc6RvQJLx+LC+pwasVFrfTQecR4fUxkwADV5eFacgAij9iAC53e73c60cWqau2ghzoe7qnBOSeIEpBCPaOTIdaZm/UEica6Kz46cIJqKg5A1FN8mO2d3ZxI3NunHkSVnOyE4yKct7CwgEO4FGuITad1nIZJ4kq9AXLgloQY7yiqCvgqpZ43JXip40YQhV5VSt0ZDsPZ4lsFcEOyliymkpqwXJXvixBKDOhQbXYp9ne68WS3HQ+PR/GgtR8rmKLHw05OxKUyBCpZH++PpCpN1GBAiA7nvlT6Ao6m6Kv5IM8N19RvH7hCFxO9YuB9/I9u2w3UiAkcojz9BAW7twv5kZ/eWML/WEUUMgDenkbkHKenPh3udkntnn3SQHHpdmNjPTZW12IVc3gertafevcr78bXvvZVngugURoBCwuz6LE6BLeAFTeHgzrDO34tyJNY9AFxplk/hstdnj45cbe/HC/CirmfMKXtIf115jn3HPgOhGN+cghvvcAhGXiYUPxEOHVY8eriSazPj+Lx053Y2W3FwSI6Aefsm9/8aq7dOaVQZ7CLDScABUK+muGsLTsoJVM2r4mFyqBfOq5YkI6kIsFyeLifgJ+jzlm89CW4RISNEDWdvUOJH6BQDwg9QdE42TgC6GPXNyZtSoF63c49DWhnGspvLC1nW0MA+fHH9+NP/9s/jW9/+5+g7N+IH//wR4g69BJjqGFo5JZTYQDXOgEp4WjJqd9ctCqiDIPAfQS07aB1GHUqHYczyI4z+5OGwIXA2EHI75xNLr4QPgMhrntLea+uRFxdOo3Dg3Y8efY8/vzJTvzi/ffjV3/lqzkN74FLrZB5V9wYRFZPH6pm0gqRWhAvI3TAGLYz5oDkyglnqpz7APzIM4f4Nyt43FubW6SavM4ej3EAsYaOMMPxKZzoc6sQTnZ0qaM/QUZujLBx5L0A87DnEADNwg01EKwk0RLburEZ7733s/j53/w8fvCDH0D5AwyPegL+BErPb6pUwKSe1HVajtQr0uYRj3K/iFNCuPYgAhyTr5SxKw4lsTLGMuM76Z4I4eITHKKsN7yMKE+v0nbcWhrG5flBXFnZgEYZIN7wD/7sB3EFBfrlL74Zu8hiTUQ3w9VRpnbYThSAl5i7EvuwLayepjHAtXOy8AjkiAi9ZJ2yDv4BI4vNrauxdmkj9lG+z55ux9EhiEePHB93Yv8ApIGUIxR8C1+ibZ1ymGNw0A5FonAg9gUqn1ps4CTCwYiPGYyHardi1x0z9Es4KFpV+K7L9xCXQ5BsJSlIEYEiaIY6ypl28hmr3KO+yf3BcOygr0+jGLMvEBpjFOYvwjc55Hc/1VOvfngrB1FF2XUav2Ea5blER+u1frzzjXdjfnktfvRnP8WZG8UXX7sWewe7uXTbgXrnMXFVtghwWIwOkmodnULNPfyULhaPjpiH/rX9XaLtd/HoeddTtoqcVH5SHn7F/l47/vzf/n/xv37/+7Gz8xyrbj12nz6P57sHcTiciicHnbj37CmmdTO5zqkOtV9+74QomtJyVXk1ETtYblNQtHSqeHH8mrD2vYv1dWyfRO5QMazOwAeCmCQwwYN64t1C5eaVg6Rlv1Z9vgmScRPmsRLn/UKd51Y7ILULQep8OrbELgGd+fVfFSHnc1mfZmFdDFKwSHY94tLCTFxaBDFL89EbnsYP//In8fm3biGyZnNzdc9ZSBefRKCXRuqQGxRFpk6lqAMyKnJQjkMoU2qSQwaIDIPnTGqIhIXFRdqfTovq1iu34/qtmwy6zsBOYhduOYQznu21EoDqMHfAKI5MS3RHSarYGJHWVjClF+AS7tUOiiS5xK8KzYJ84eEZFQEtpxSqljYE+MQo4b547EnCWY8fwJFT+DMpi4VIdOp/3kUufCH7oU4cAstEKbAFIb/9AodUoULMJ0QWceyAoHiHtekqHmzp0bFfvP83cWtrHVv/NJrL67mkamcGg44VJWvnN6UUVXQkLRKA32tDMSJDR1Kfgg76qYv0ghmoPkg92V8Z3SStky7gmddwPnvRardjp3VEPCa2ow9gphWTALEBAGbpgzsWjfn5JvqBmomOAMD7b2IcODC50OcuQskFnjPM8ykA1b77XLhUAC6TjOYXRGqe+37qmcl7+T7PK2RoDIjwBkTUxDDRhPY+v7eFbq594ztFqQtsQ4WIKn05VJRl5/xwi3N5K+iN9TwjOYy1xlRcXltJ3dGFLWdqo1ylczdHrlMjEmSxXArm2nwtEp3C5BbMwKGck+sNOnhQI4PQPJVLFNJHRx0QUYyJZ9v4ELuH0XKWF/l+iD4Za0QgBkSgzqA7YFKHgUAB5hi0sDoAobmxliuPNcYjtQtskSFABbYixRlfCTOXdEkrIhXwAtjDR0aXk8+QoYgFhmdfbiDNub0LqaLKPmo0OHGqq8Bb5w1cDBcbNly890MCaONok7y/24ufPTyK7rTLqZdiDqyfzjWh0hEIG2Aio7xwynp6xugLLY9ev40oQl+MQQB+ib7JUMk+TYr366SdrOy2Gl0419qHdH5EdL3j+BgEYHW5atduD2IHnXLcGiLqVJb0UbGq03YKl9FGfwzCsfM9pTUktT77Jyd5fkUayc11cK6+kmIyJxadKpFwGLdGiA6j0V0phSsgMODh9H0qaxCYsllkEkWGCL1oyAhvi2UkOL2T1hnIWELn1b72T387PXUf2sjLnPFJZDEIwOSZkBOsh+54Np4cOqXuZOJpHBwcxPY+PkFjNaLejGk4RpVq0E6XS5yKEGAOmgYZuByiY1RMYLd/to970Qb4KmG982ZzIe+d4kgbn7Y6iMQ99EbLXYjUmzO0APAEeLicKoxEroTgmriKOA8QMcQ2QB/DORtbm8kZxYkFofRVw0Wxqi8ll4ooudY2K10gF1SmtKIpZ4N9n74X4Cfos5yIK1xDw1XMVoQJeohrx2wGCPlnn6pDzoJvVUHk2IHUJIJ5hkFAJXRop9WNp8fdODiei/b0VpwixmanDopitUPKX96QTUWE09haNAK8j+6wRh5xPYjWYSdax30MBRS6JiQipRw5UMrBcYok2hfAbjHt4rW75uJssY4gEEp5XaNtD5CKqGOMAJd2a4gWRdoR7XuK69LmlYSPZ+TzWDTvC8AEMAgoAC4xd9dQWHEkgBVXeTzbkSVshDXP6VsRS8KoALAi7ErSWE7EpuUJiYugPFphLS8Xvhj5cx4JAuX0RMuCShj7DMKmdoIewJrqzDbjaXs6np1eiueDKdjRD1sitBhUbgaA2lxDnxBIHLYwUxE9Xc0/JTsc5M73nf2D2O+04hiL64h3EK604i57p+WhUN8HYPNQl5/NuH7JL8zNx4Lr7QCt7gIInKH00DMWr90e1M51TqtT5zH9OAXZbg5XrFh4hvfVU+m7ABw7KeDUCyIppzjkPIhC2Igkg2VEkHNASvNEjHMI5An0ikPMd7eKUUS4edAtRUk8qXsSITyj8pdj8jvxk8/sAZi3Tv4oYocnM8jjGYA6F4MZxM24DYUrf+uYooeFA6ROGi38BYVC1S2cvgRG5ulhDxAtxBGyemoYuyjvvcNefPzoWXz85FF8+PBePN17HEftI6zpqdht7cRMAzxiUExBFJ6SUha7s7GO9+0O9+2dg2gduUEPMUvrbpIYICK14BoLC8BQZe60iCasylwzHVFXcQhj1MBIogKRRQ/IqXCnRIaPpBObFI9ozZgizVGdw9byIrNcY2GCOXGeKcSgYs8ZgUn9WbBKq/iZ4ULZJHZkjSB1b+3gFIpDibvIM9dYQn73KFg6Z4ccRAdrSHZ2vd3Op3iQ8oBEbvPBRnf5tN0exS9+fj9+8df3YnfnOOrLq/HmV96Jz33zS/H13/zluP752/HOr3wxLr+1FYtrs3Hj9Wtx6caVWEcvNNevocsGIKSVywCry0uxsryYXKbSFglaRVK5vZdzelhquZnb3kLV+bXTmmKvyPuXYeSYFHVl47UcZbC+4lzmD2mFxGImT4BhnJRTYpSlYcZudtXAPybayPk917QpJXGDUhUxsF99KZUhWUlh6h2nESa9ASCzE+fPowIduwq1u1sEH2NYj831G/H6jTejuz+O/Sf96BxD4esbMbexEH3cidWbV6KDWd3YWI7LrsusN2MK0eVe3vf/7kk8eXIYr954JV69fi1eub4VG6srifgexDLTWMQXWKQrTteP8MhdAUT0TpS3fbSvUn6KoozVeCcwE6BwZRIksQBVcQ5xaiVSn1xl7GKQ6PVr6RXCLI6vE5rqU6OisPZL3/6tVOrZ8Auh3H8yv3TmPBU5IAK5PY3Z2mvvRn1xOebQKb/0GgDbf4QFprk7zuXUQg3K1ZmcRs/JQS0elTUPnRwc9qmn1c8PXt7c3IgVPOnnz5/GR+//XdSQvw//9nE8/MWDeP+v3o/xEeX3h/Hezz6MvT1McNK/+POfRPvgMN4AEVtrSxgWOKr14hzu4UQ+P+rF2tVrsXF5k34jfiVg0nTk+BEfWoyKKy2vgh9oV70ElVeRzIxpnTG+AuiCiAQyiND0VfkXRE2IFzHldS56gWgnYXtOFZHWvvKtghDii4EXPitIG44iU6gkIwg5wcY/2HuGP7KWxw5urzeiMdXKpVHZ2u9R6Qg5paClotmouVx2fWh1zKb55/zVAP2yND8TywuzsbW1Gq+9djsWZuej9fQgOnDL9sfPo7dH+tFu7D3Yg/pqcYhYOz5oxyJO6Y1Lq7Gx1Mg5pJnJAU4nRrfx5lvD09i8RX1OuzNOlalKXSpXlGYE4LnzEK4u93I2FCwxiTjzFGvUmbyiG0DfBbREJ6JynNRjmayJP8Uh1CZRB2GSO0+GSW7IWeNf+vZvfvrUSVYhXkojxvNQkFHykfsQSz7WEYMN/TKC80brK3OxMY+ldCjA4BI6rZNYgKD1hSrPZVCnsYsuEWEux550h1gf+B8ouvX1tdi4hKjCjF1dXot5rK5mvRn1aVI3MjijjNm7giLfWFrKjxe4SqjB41FsEe56u47gTruP9RZx87XX8xy9gBdA0EMxzwWkoip/SppLAUTHqe4RSYUruCQzRVuK42JtFWQWgCfXpNhCCnAvoBxn6jAIULhVcEyT+yvf+t5nIOTTg/kpxqQepzlLDtxhvlSi3HRWtBGXlubi5qW52Hn2CAVdNpvpgxTZjEmoDoFNk8qob9h3utsUiwkq9MBlY34umosLsYhSXswNblgjmIkriyuJGA0D/YP15kwsgLx5dEg6hooFlS0IdhpF8dOlX1puYwBx89VXqb8gxKj8F3EFsCVWoQK0hGiaSKK+i2UUSZWJW0Vp9Hw3YwkVcReElPKm1TU1VpT+74/nldEAg03Ba/bkthqIR8Hy48TkHxweIxbW4vJlN1s7FY/jeKAIc1q7sKoetlTmtXNeHZSfvF1fANjoEA/VeGhiAKLriJ+VDayl9YVYWsXvcCvqvEvBiCTK1DAm5FK8jTOfQhlu9CyJyrwPgGqJROxlel0ir0lgxguhQsRFoMlF5wAszyodYbB8BdxqMtH7JGLCOXKDMatrPIOpQVDqxexVybwE/IvXBBNZz6DNvACr+9lVN6kpV2UPzd5pClpxrqPHbLQ7nhVZiCtXrsba+noCQTw6F3R0dIQS3k8rrNU6SscxPXfkcE5FINo8OwiroJ5cx0dZaqEo4kDATAOBUqcsCjtwQE8RTSd65nBEzfV0ASS5Jck5Lz2dJ3FdA6k35nNMio7KuXOsXldxMvQEoLEAXM4oZUsoz7wf0T9jBWThlaJpglDT0gZiWYSpkybVmF89E4ZnGUageVawhIJNGxDJy9jyv/LNb8Trr7+CvyDwQAYiQQskzTYaU76mOQlFDvDYa1hX7txwccdnOZWB02aFrqQpn+2k81BaW3oCHco41SFykr1JNR87WGydfju6g3Z08OT18Qf0YQ8kHwKAYzDutEi+D4AgYoZQrLd2b0D703DWYgKtArycXZR2AbghRdgEGUaDxKQfJeCFh1ZShYhEQBJUee411eW4EgETpJxxEKnn+uUi83zP8RVoEy4i5cUoZwh4vVdFSguqH8e165cnQCzyOcFIj2X9EZ62sdMd5xHkZnMxlhaWccxW0vR9+PBxrsbt7u5Tjneo3DUNge9s6yEcI6J8NgRoObmHUuxjGAz0+gV6rx0HnVbs0p/d3lHcP9iPhwd78bx1GMcaBZTxY8pOswgMj915trEz6MZlTOla7iZJmJ2NNe8vIMHxmfpMIFeUb1r8i4IMn1tWwFrjRQQXxOmNT+bX6EvxySTy4v373JBIo+eFKyax6lwV81w1VChidGacOd0/2KGB0ulk8dzao6fNOyj6+qwCDNYdzcTTvSMspYVYW9uI5aUVZPAcpugSHAIVd60P08+ZWOU7AwRu2RV3jnh/AHL2j4/Ih9rTLHVerJcWm5TvIIrSBmA4WfZRE3ceg0DLK79XArWLwDYm9gLO4WxzIU1g2Ue7pPI3HM/F4O5F63OqxViMESldRHldkCVA08mbALdSAyImv/2VW4+KGe17BbYF+XN+qmoS/XZw7cu//Bt3efwpjmF5IT9lB7UVLJ7GUesg/vb9v4mHD55iQ9O4DSHv1SX5kUtif3SYq3BDPOuV+V584dXLKRuBH0joIbLG6BC3bYoALDKUb+UYatt3jjuYvk6XO9+DiHFlDWp3Q5275gdaaqECZNBAdAw3uZ6hXeNHyOZd8cPCcv+vwO6D5V38mkMMhs3br8XlrZtpTLgoVYLAE7+FyKRmEV1NIp4HCRCKmQTLVpxh+eLwFmWu5edCV27wI0/4yVnWV3GPz9Oyo57yPsgWEBaqsFp1gJyk+irkPAsNW9n2873YRSGn3cyYFAvuPDw5cT1ikIPrQv1TUGgLy2oGgPuJP48fLy80Ywl/wSNpUnXP6fZWl1R9I3fA2g18DKj4dAYjoFaPPkhuA1TXMQTH3PRc2Yi9PB/LWFsrKwtx48oqzuBaXMEPcfFySvlOhY69PezlDpQeyHv9jc/hy6xjIi8xFp1ZRyf1unZSRiwspHafKVbK6doCG4GWOkDgJTyKTpAbBKzRkHAk5tQQ/SjPfCKcqJhxyhHO9upHzUpExNq73/j1z5g6uUgZkwbIkwo8DKMNr5mYDk3K0YI8mkXZwwlYWKuIqte26vG5G2uYxjynIzpHOl7tTie/2OC8lVBOL5XoBge31GgWezRAOa3yq0Npc/gP1A7SaJfqaBq9ouLWYpEDxRhAzYgip8ARSvjJwVE8xQQfkvflr/5yLIK0pttD8W2kZPWTIZV8AqsQqFQtATrmigsqgvVamJkvMgyW97n5psV51OipOKDiJP8tk2U8iDQfHiJ1djo57N2v/3qKLCusKirhYlpdG6jU+W6yNOtyvy43Oe1A6gCmp4bRwt9YAD7f/eqNuHllPTmofF4c6oNi7GwHb7w/OMGZW8BJxAGcb1K/YmsWraVsd9BYIlIOIqgBJY1AqN/O8iizzwSiPehgPKi/nN/s084RPs0O3LlHuks7e0fduHrtJsp8HmLoIXrRS3CB9SpiLsr+srGtmKzZHjGpmnARIRWSKoRUZQz5DEJKsSSMiEXvejZFnSF3KLIqyQOh8X7tC9/47l2KfYqnXhpOk3YSCtalBGollafcdKxucL0hB6TVNEI/oAdurC7GH/za51Okla0/LtMWxNn3AWLg8dNdOiMFUoiBKSo8EtfGUuqkHpHaAQjCRM7Z3dlP/TMSoXj+ftmn1TqO44FKHWTDPW2w0qGBZ0et2Ab4bcRhb3QaV7ZupAl+cNjKU1EdLLsudQgkAZKDMsh6BJFUUbfPs++klfXldUFI4S7zqvd0CN2YIf68F6k+V1/W6024XqexICTfob+JkC9+49deQEhSCFGki4wUSRQELoCETDsF/WrtuCEsFR9iZRoFfVpD4Q676Tcs1Qbxn/zeN2KzcRJzUL7l5IxECgD2Y2bzKl4cue3tbfmCiGWlXwJQO3lEDeTStlw3gAgOj0BSB1+EZ37VxyPLnj8/6nXiGN/E9fNDTOMW1tEhCNhvRxy2B6Q9kHE7vvDuVwD5TPi/QZymkatszy1H7tC3HQHIqJPa3G7k3Jr/MEZOQmAn9wocCVNzvbjEQBDEUAHiejY5fg4xJMxSogCPWXwwpYA6w2z5Wh2cRKz0kAhovPaFr333xbksCTURXeRoytVJxf7QdCLKBfD8iuiJyk9KRgzhMfvN3q2Vmbi6VItf/+XPR6PWR6HroUMlyGo3ONij/N8fiBP9g7YcAXCOoObsKK3ZrvLXqLVluWO3k/JcvdLHxHV1US5xDaPtuRC4pAuXtEHkAffHiKp2rg6O45XX3kiFvbyyluv8Ep1BQjEmiBh4NdWRm6u1WAwJEy2qss3UkNwBks5mcwvQMi1cI7EWYqqeG+WWEsvko7HqS777xa//6kSHCGQzfVi4RA/aqWcL2jWjyrt8TMy9U20ovk+jo1haacTGpUtxbX0+Xl2bjjeuNOP1zTU6zEClKihA7nDi0Ka0gFzadfpZn0Jq3d7fh8NUgippqca1ApBOSv9BjN52D6CPowtyj6mjhWjrQYqDsb7GMI653mujw2jnqONGiWFu59y8diO3lioCL1/eyPGJCAHiOoSfyBDRAtpZhQJUGgUmGiH5tTxFlXqAMrmMQFqFQumFiK1ToIuM3FUyQZrB/GLBFQLwWSKX9jLe+dqvwiEgJMuXTib7kJHOD216Nj131gH8/K4uHR8P+4iscayvLcXlDb/8sxDrTUzP5lR88/OvxUznIFZzCnwuJ/oUPbkYBaBGuQ4tt3TpHGIMkeG5DEWCXNDBAtNczDktkGEn3Bp6jJLWC9fB8/MbbcRkBwR2sAD6g9PUI0fcHyLWjgFyl+ce8rl561Zs7x7kuvkRuk3z212DuUEvKbTsuWrzzNlot4xqhblzPYGUVF6UtPcVgKuYkJtQeQVYucwP1OQmbO4rzjMaRJQWXoWQqq7aO7/0rRRZxdwrgHc7jEFqGCOKkE2Z+h86y4f1PcQ/HZtXN2LTHR8M0LWL+X43vvmlz8er+AbP7t/DKsI6QmbWJv+QS5M3j54B2DzdKmL1F0CKVpjfwFJeOePbgmLliNyZTnQeSmAe61jyXgfZf4Ru6HItYvTonV5vUa5D6ozzbO0011Fee/3tePz8eZnAhBt1XkWIRCji3aQgF9AQ9yCIn0twkZyfcCDf8/SKCLkjt/hMECOATUVI5RAazVd3KJoq7sm6qENkpIlLHYmESWo9tc9/9Z/cBRF3bMRYZKImGLIVYImAIXJ42DvG5j+Kdms/OlgvLjod7DyP3WdP4sFHH+Is3o///A9+PS41ESPH21gyu3Gwvwf7N6PG4LXarM9NcSJFa0xqtMPpVELZJ+5LBSFOa/QB1g7O5yGWkFMrTs07K+AWHhGhn+O/vFN35MdfALYb59QX6hwGEWsbS/nJc+Ad12/cigP6ff36tbh//0HUodgGHFzEC9YNYlUR4+ShRLK+vloO5OgQpwgFAbn/6EIAyBUgRUZF/QbzRQTDLmnm+YcMCMI2uUk424eqfCIEh6r8lzYygU2ucPktqf7AKYy22+Gi225Fv9PivpOUPkb+t49bcXBwiM/RjnfefjPeQmyNWo/yP6yNoeQnjx7G+pUNnJ4FiTGpZICoG0GFmillso5r8m3Xf41nOUVEE+5abi7lLG9yFGV5JRGj2GvTeXWI/6qqC1f7T73G1ZQ98FtebsbVDYA6txDvvfd+XLt2PW698ko8ff4srl7dhGAO8vi2wHSnvYiQanMuzo0WiDpXKnOfL0jRb0rRxU/qVX+ScAWwsFOfJBTzJ6/JL4AvY/faKH4yn+eFO8pMgQRR+8JXv506pOxGN2oNIRZ6LWSp/+b0UgwxJY/2D5KCZW/NtTKRZuXOWI7iwaOnsf3xx4nxgR+COejE/Y/uxxUQsrq2noPxSwv+Lyh1iEBNEUY9IkmRmQOhPo+4ucwxC4HUsWSWnG5BMfdzUwTtU0+PPkqw47HnR0pdSlrPt19eXYorfmhgbYV2m/Gjn/48dnd3EXnHcXnzaly6dLmY2pT3OJoUaj9EjuZLAgZAXblyBarneqYo3TyoQwmvM1LOYPncFEG/TVNEeZ8IKBxQWVciRpElN2kCiwwdxVT+cGLtzpe+dZfBoEPoFEq23z+KxYW5uHHjaly/dgXqP4j79z5OYM5OZi2V+bnHFi5wJ+IIZe/aw8NHz+PJ/vOcQvdLbMf7uzGHHO+fHAE8BuXW6yHiSKWMv5J2+AQYDiZ39GEFMQzGDQUBsFkGm+fXietLi7G+shKrK0uxgJUzx+A8d74Bsi4vLcTV1eXYgqr9H7nrK4v5oQAkWtx/vI2/UkTbwtJSAsjpioOD/USIq5nV6aaUEHItvbh8xU8Unu+UKYBTLxTgGg2F+otjbLB+r61PztL51PFzyTrnrRBvOoZF4Rc9Y5q65a0v/NJdfIM7fi6cMSYSbtzYAinNmG/U48c/+gncgkUF23pIZnd3B/Hgca9ClTYu7+VnXGH3NvX4RR83I/gVh0bDtYjj6OLE1WdQ8CDVHYp+CSEHBdV5NMEplawLhCSVMRCpVQWsoKjT4TlYIKfWG3O58W1tcRFuWI0ra2txCSStE1f8yoPGhBxJfYd46dutLuLRWWK4iHquXrlKj/0+sJ/NGCdSfE6TSbF+TUKCuHQZhMzXs4xiSsBVayH21SgyqusKIVUQsQylIAKLywW6otDlLHQG9cmVzlKUXTkg/vabb9xtzs/duXlrK165fSPWMGP9HpWm4M9++tPY3dlOqnArj2JNCywroFKtMEhcrcU1AAAhXbjF8327uMkrUKNfQ5hDkfWOe7lsmytxdMcpj9yiyeDKtAtsDZc4AgehEhUhuYbgFXV4VvDsRBSxwSAWAb7evib2PJQnIlJR0pfxyTR+yTT6hrTtJjVEHdTqls1LWF8CUWAvLy8nYIpcB+npOI4Bogdr5hIJIsyJzwohSUzEwglSuAAVNtUmbMYpdzeaGDaLaQJLDJYRnjqZwkGEVojMev7kP/uTu1tbl++oBBfdWEBBV+ueP3sef/PzX8AJdEJnjAEddzAtQUznCIpHZOl1OyiPobneoX5Bg0T/dDpNz6m0vRFZBz06iHnI0373WF0Gcl1ZVIFPVhilOgcqp6XY0pSgHKXzbGBiqahLbUeJwdndomgtiMMFQHMzA4DCkA535T/aacVUvYgpowTx6MHHcRVdMg9niCCBtLCwdC62+JGI/YLE0vJiAsqW1ZUVAEWAQDcVwKZaWqYixHLueJmBK/IwKPn5TF3Bezymy+cINYjg2u/90R/enZudvVOmE1TWJ/kR43/3g7/AtG2DiHb+v/JW6yCR4XyUFFLYdiJHqVwK1ijIaRQ7TyOXLq/F02ePadgd5RFLDdj1ZAAQ/Mx3DV9Cy0lFiPijPpW1ukr/QxC4VmNnlb+5TRXAgausy40PyvvcGCEQuVaPdY1SOgpze78VD5+3ctvoPKa3ZTsQlQtXEpMzCxWXSMEVcASgG/dE1BKiUe5VpCQUGWyFAMWb16aWrTijIK74G+oL8ySe5Aj7SmfTOqOuMqnqgLzLiVd+ubdjWj4PHzyMH/zZn4GU53kox//y7AfEVKIzAGgK+X9ygrVz4vkOV8AAGjX4FVIngekG4gRqAUHvvvvFeAJSf75zHD9+uBsf7R7HEXaqX57e3X4Qj598HIeHmtI6nMpiHDUg7hcOTk96QBuNDJL9ug8gSKDruQvvUZ8/dL9EButtDlaOOk1H8fH2QR5jkN8WAOzG5cuJGIEtgeknqSedfZBIPP42Na0lVHYS+i8xNE4EuIZL9d3eEkVGsbJERvUFCqOiT6NBx9ivDvmdF6NnHfP/s4scCTghB+lxXU1H1b73u791F+fvjk6f/7Zo99mj/DrO67e34rVbm3H7xpW4dZ1Iehtlv3V1PTY313O6ZGXJg4vY7HRQceS/4Hbd22/horLii+/eiZ/85D2srKk4wMvePmjFQI/Xbf+AeHf7OAbtEdYQ4gls6ugpctJMQO7nHBbRtQ/zsvuqmQS8FOf6jYVdB4FruekS9zr9ePBsL466EBm6yNlXZ3MXSSVI/ZpVrDU36a2gPypdsLa2itjqJ/Ur76V0v9Cgv6JDd84ZE30BopL64XbLVyKsihKH5Qy2UbVT4oR4LuRl+f/uf/xvvl+v1e6eSvlQwYqdp6GcIoH6j6DgEaQr+/mSG6Nd01bJOefk5jcXfPyIfh7ix1s+wGHc3t2LV954I/72gw9TtquvpeBVzMhra824jRM5zwD9B8GvgXA/oyQ35C5wxuBSbmVt0Q2ewUFgw8lBUxen0mETSfSrjSPr1p/nWFT3tw9j35ljrLqT6Xosr6yiL3AytQYAQAvHVaJxrmp941LuRdbhvLq1CVeoEydOIm2jX+PW7Wu0UvwUA9kEEVKsJTnI8gVZLyLAUOVVCDL1vQoh1TPD1L/+1//T92enp+5OuS8XhTsGoG0n+I78ZhR0SUE/7uJ0dE53M1CBpqiQglwT78IZM1C5Gw20HmRG1ytOuP7LH/8sF4OGULz/ys5VhXmsyuU5xCAm8UztJN64sRmX8DE2IIYZ2iv8xSBKH+27vzGgP65/+OGW0aiYjU6l2I8WROIU/t7RII56p/lxy1PFSK2ejqlzYlL0PHJ+1HcH5S7mbqHwa9dv5hahBuJsY+Ny7O0eMl7EDd764mIjXnv9ZszVS1mDsDPOTKZbhIWpMKqArLGgnq2QUTipvG8QiQaJqUKS6dT/9r/8D9/vdNp393a3c8v/NBTYOeqlgs0pAnhcB24DJ+nw6BBuQA+02lQOgvC6pCw/BpPcA8IEnTtEZubmESHT8cOfvhcr65dTFDx58jRNR6mzvAMlng5itT6XCv8SZrLLtMpjd48oo11Hz3UHRIaE0QH5nn7yPyXYtpOBdDl6TnxCsaNT/RxxWXTjzBxm59JaTIMIM/wuvXK9c3wIUltp5fnJ2MWV9RRhr776Or6WxDiVokrUvvnWbZCjuVo+HCAnpJgCBsWULZzhc4m4mMn2TcI9R0aFHFPfr+59ViFm6r/+r/74+91u+64YVUBPT83jexwmBVi8WF4AHaApKspRZR8g3+EIZavfH9TCkCJcovQ/ZuaH7+GHew8e0FHEBoNzw7XK0w8KPN9rJcD89FICH4IpzpFEUHwN2y8K0MiNcncie+k/iFJul50jpw2xwMDo3GhAzVoAAMrVSv//reans7DOkflfqv1A5sHBk2jia7iat3n9Rn7t2m86TtcaSXTL6BmV/OXLK4izDRBQTN0zXTLhjGrhStFuFBEi5CLAyxjKvWnhrBIuIqT2+3/wvbtvvn3nztvvfCFef+OduP1K+f7gpSurIGEmPnp4Pz569BDz8XnsebYCj7uP2MotlbBmOTUl6wnesu1FlnUVz/bdPeKud83qsXoKClrBUdravITIwhyWkrCypqbwf4CpC1Qit/I9NIGd8rB+AS8hMIT8YYi0WAaq7+L3V8q3tXgq1aZJWYCQ/74oEQjmqSuVNv3p4U+5EKU+cne9J3r90pC6kEooRzvEDXSN/zjM6Y6UHPzkLhLK2IKIkKhzBhvClJB9InE5HhFosP0SC3IlripNhPyX/8V/enc8HN3pHCOGqEBl/fDhw3hA7LSPk7Jfe/XVWEQp7u8fxc72DoqvTDmIVTvhwUcRkQOjcs1WYTcN5Wv9+NkkzU2BqhGQnAUoZ9EhayhUFbfr4amLqCM/1pzDLB23o/mdKe4ZYcbcQ0wZlXoCPgfPoLl2ozbZCbw+QBeg7sqvnDIP1khMmpl+L9GPOauXFv1nlxCaHJNWEO3JDZr2WmW2Zr79sT3HL+ANhWs1NkT+uT6xnzqMFdArTqhCEX+Fg0xr//x3vnMXqr2TZ7Tp1CG2+TNk/dMnz/BF9pHTst+w7GNa9cOVvEzFzgMlhdC4cFDGy6YC3Oj5kAbiYowdv+tqHcAQCA5YXSDl6ANovSwt+v8MoQ6sHqqhTdfWCXCDFlaeTAIA1ZqN0yc+d1zVYHic4i3FisgBaVp3MpSDzrWerEVA0g+oWOAMaMBzf/oHuVBGPw2NWTm2LMNKWE3/TyNjdduT4rB88snOFUQkQfDsDLC0KSJyIhFiMN/2zBfJ5dq+TxBFFamT3nl98+7u7u6d+x9/HI8fPYrtnW10yE7ZlEYl1YHI/cODBLhfEXUuaBGrSGTIqpbLxqVCIhl5xGDvYD831e3uHZw905t2iqKLySz09ZD1nHMyc74OkiYGAsDIWQEoXIDZlm1I6XKEA7NdEZPiASDokNkfYxFx5pe5o0RcAq2IV59xKxPmopknrpwwdRMdL+XMrgj13cKBJ7HcdD6qiJ4yn1U8cjncim2jQkamvJvbSemz9xWHeG295mf9vFsMAoycL3/+JiJreMcvtuWOEIboR/WVoatLq6VB8qQCBUmmDEiWtJLqv5rlAAlivSxvksd7TjO3PUbmHih0T85J8Zsd5B3XMqR3xYHc4Z5cN8w5q+t/eRPQM7QhQowOyjkzDYnzWGZaRYTPrVvKFeK+L0AFqYirpi58itLJPqZlhCRYas7TzxbO4HLu7xKYjjXFIPVvrLiRT5/KJV8QoISAqt3woAQ4Q/wEOabZB9LsN/3LZh3TBBHqYu813RMhf/Q73707P9+4Y6bKt43/wdsACaCiGAWGs5+KJT/bV3RHkaM5MMpWDVadkE1FFjcg2fXvQVo4Ak5n0ukPd3FoSYkU1+MFVI32FHVur5RqV1aR2xRyR4i7EXP+jPpcG6/atA2BXg3U/EIcE6AITMsZaKMiHMdINyCQIvedQM0N3VDFEo6k+8A0wX3VNxzPchMgTn5KWxPlnKL7XCxVIR1bEUoQbhWMKphVsExC4rXp6en4/wGrX4P8QI2DHwAAAABJRU5ErkJggg==";
@@ -0,0 +1,45 @@
1
+ :host {
2
+ display: flex;
3
+ position: relative;
4
+ width: var(--pg-avatar-width, 3rem);
5
+ height: var(--pg-avatar-height, 3rem);
6
+ }
7
+
8
+ [part="wrap"] {
9
+ border: 1px solid var(--pg-icon-border-color, #453C4F);
10
+ border-radius: 50%;
11
+ overflow: hidden;
12
+ }
13
+
14
+ [part="img"] {
15
+ width: calc(var(--pg-avatar-width, 3rem) - 2px);
16
+ height: calc(var(--pg-avatar-height, 3rem) - 2px);
17
+ }
18
+
19
+ [part="sponsored"] {
20
+ display: flex;
21
+ position: absolute;
22
+ bottom: -0.25rem;
23
+ right: -0.5rem;
24
+ border: 1px solid var(--pg-icon-border-color, #453C4F);
25
+ background-color: #fff;
26
+ border-radius: 50%;
27
+ color: #ea4aaa;
28
+ width: 1.5rem;
29
+ height: 1.5rem;
30
+ align-content: center;
31
+ align-items: center;
32
+ justify-items: center;
33
+ justify-content: center;
34
+ }
35
+ [part="sponsored"]:hover {
36
+ box-shadow: 0 0 0 0.125rem #fff;
37
+ color: #fff;
38
+ background-color: #ea4aaa;
39
+ border-color: #ea4aaa;
40
+ }
41
+ [part="sponsored"] svg {
42
+ width: 1rem;
43
+ height: 1rem;
44
+ margin-top: 1px; /* meh */
45
+ }
@@ -0,0 +1,8 @@
1
+ <div part="wrap">
2
+ <img part="img" src="data:image/png;base64,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"/>
3
+ </div>
4
+ <a part="sponsored" href="">
5
+ <svg viewBox="0 0 24 24">
6
+ <path fill="currentColor" d="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z" />
7
+ </svg>
8
+ </a>