@@ -62,7 +62,7 @@
data-enable-preview="false"
data-show-file-icon="true"
data-is-compact="false"
- data-context="{{JSONstringify @root 2}}"
+ data-context="{{JSONstringify (truncateContext @root)}}"
data-instance-id="{{@root.instanceId}}"
data-theme-variant="{{JSONstringify @root.theme}}"
data-allow-item-selection="{{@root.properties.itemSelectionProps.allowItemSelection}}"
diff --git a/search-parts/src/services/templateService/TemplateService.ts b/search-parts/src/services/templateService/TemplateService.ts
index c06a5f30..56d1e019 100644
--- a/search-parts/src/services/templateService/TemplateService.ts
+++ b/search-parts/src/services/templateService/TemplateService.ts
@@ -22,6 +22,7 @@ import { ServiceScopeHelper } from "../../helpers/ServiceScopeHelper";
import { DomPurifyHelper } from "../../helpers/DomPurifyHelper";
import * as DOMPurify from 'dompurify';
import { IAdaptiveCardAction } from '@pnp/modern-search-extensibility';
+import { ItemSelectionMode } from "../../models/common/IItemSelectionProps";
const TemplateService_ServiceKey = 'PnPModernSearchTemplateService';
const TemplateService_LogSource = "PnPModernSearch:TemplateService";
@@ -577,17 +578,15 @@ export class TemplateService implements ITemplateService {
*/
private registerCustomHelpers() {
- // Truncate items from context that are not usually used
+ // Truncate items from context, as that is not usually used and bloats the HTML
this.Handlebars.registerHelper("truncateContext", (context: any) => {
- return {
- slots: context.slots,
- paging: context.paging,
- theme: context.theme,
- context: context.context,
- instanceId: context.instanceId,
- properties: context.properties,
- utils: context.utils
- }
+ //Extract data property
+ const { data, ...newContext } = context;
+ //Extract items property
+ const { items, ...newData } = data;
+ //Set data property without items
+ newContext.data = newData;
+ return newContext;
})
// Return the URL of the search result item
From 666f6e17bfb0ba0e3cfa47b5f99122e15358e659 Mon Sep 17 00:00:00 2001
From: Janne Holm
Date: Mon, 23 Oct 2023 19:19:50 +0300
Subject: [PATCH 27/50] Fix ternary
---
search-parts/src/webparts/searchResults/SearchResultsWebPart.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/search-parts/src/webparts/searchResults/SearchResultsWebPart.ts b/search-parts/src/webparts/searchResults/SearchResultsWebPart.ts
index 0b76908b..6806f87b 100644
--- a/search-parts/src/webparts/searchResults/SearchResultsWebPart.ts
+++ b/search-parts/src/webparts/searchResults/SearchResultsWebPart.ts
@@ -2209,7 +2209,7 @@ export default class SearchResultsWebPart extends BaseWebPart
Date: Fri, 27 Oct 2023 20:13:31 +0000
Subject: [PATCH 28/50] Bump browserify-sign from 4.2.1 to 4.2.2 in
/search-extensibility
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)
---
updated-dependencies:
- dependency-name: browserify-sign
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
search-extensibility/package-lock.json | 51 ++++++++++++++------------
1 file changed, 27 insertions(+), 24 deletions(-)
diff --git a/search-extensibility/package-lock.json b/search-extensibility/package-lock.json
index 0c8e05fb..60cd7aa2 100644
--- a/search-extensibility/package-lock.json
+++ b/search-extensibility/package-lock.json
@@ -12338,26 +12338,29 @@
}
},
"node_modules/browserify-sign": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
+ "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
"dev": true,
"dependencies": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
+ "bn.js": "^5.2.1",
+ "browserify-rsa": "^4.1.0",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
- "elliptic": "^6.5.3",
+ "elliptic": "^6.5.4",
"inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
+ "parse-asn1": "^5.1.6",
+ "readable-stream": "^3.6.2",
+ "safe-buffer": "^5.2.1"
+ },
+ "engines": {
+ "node": ">= 4"
}
},
"node_modules/browserify-sign/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -41516,26 +41519,26 @@
}
},
"browserify-sign": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
+ "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
"dev": true,
"requires": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
+ "bn.js": "^5.2.1",
+ "browserify-rsa": "^4.1.0",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
- "elliptic": "^6.5.3",
+ "elliptic": "^6.5.4",
"inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
+ "parse-asn1": "^5.1.6",
+ "readable-stream": "^3.6.2",
+ "safe-buffer": "^5.2.1"
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
From c738d907e26cb185e2f75a51f7408dad3839a2a1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 28 Oct 2023 03:36:29 +0000
Subject: [PATCH 29/50] Bump browserify-sign from 4.2.1 to 4.2.2 in
/search-parts
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)
---
updated-dependencies:
- dependency-name: browserify-sign
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
search-parts/package-lock.json | 51 ++++++++++++++++++----------------
1 file changed, 27 insertions(+), 24 deletions(-)
diff --git a/search-parts/package-lock.json b/search-parts/package-lock.json
index 12295cbb..6da8d9a0 100644
--- a/search-parts/package-lock.json
+++ b/search-parts/package-lock.json
@@ -16227,26 +16227,29 @@
}
},
"node_modules/browserify-sign": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
+ "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
"dev": true,
"dependencies": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
+ "bn.js": "^5.2.1",
+ "browserify-rsa": "^4.1.0",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
- "elliptic": "^6.5.3",
+ "elliptic": "^6.5.4",
"inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
+ "parse-asn1": "^5.1.6",
+ "readable-stream": "^3.6.2",
+ "safe-buffer": "^5.2.1"
+ },
+ "engines": {
+ "node": ">= 4"
}
},
"node_modules/browserify-sign/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"dependencies": {
"inherits": "^2.0.3",
@@ -54820,26 +54823,26 @@
}
},
"browserify-sign": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz",
+ "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==",
"dev": true,
"requires": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
+ "bn.js": "^5.2.1",
+ "browserify-rsa": "^4.1.0",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
- "elliptic": "^6.5.3",
+ "elliptic": "^6.5.4",
"inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
+ "parse-asn1": "^5.1.6",
+ "readable-stream": "^3.6.2",
+ "safe-buffer": "^5.2.1"
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
From a9b6754e2f1bf25d038284d75f93342935d41ef3 Mon Sep 17 00:00:00 2001
From: Kasper Larsen
Date: Sun, 29 Oct 2023 16:11:05 +0100
Subject: [PATCH 30/50] added birthday and anniversaries scenario
---
...etup-Results-web-part-to-show-birthdays.md | 41 +++++++
...lts-web-part-to-show-work-anniversaries.md | 102 ++++++++++++++++++
.../BirthdayUPA.png | Bin 0 -> 15187 bytes
.../RefinableDate00.png | Bin 0 -> 33997 bytes
.../birthdays.png | Bin 0 -> 43714 bytes
.../BirthdayAndHiredateSyncList.png | Bin 0 -> 26175 bytes
.../anniversaries.png | Bin 0 -> 67669 bytes
.../mapping1.png | Bin 0 -> 15308 bytes
.../mapping2.png | Bin 0 -> 7778 bytes
.../upa.png | Bin 0 -> 44821 bytes
docs/scenarios/index.md | 11 +-
11 files changed, 153 insertions(+), 1 deletion(-)
create mode 100644 docs/scenarios/Setup-Results-web-part-to-show-birthdays.md
create mode 100644 docs/scenarios/Setup-Results-web-part-to-show-work-anniversaries.md
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-birthdays/BirthdayUPA.png
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-birthdays/RefinableDate00.png
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-birthdays/birthdays.png
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/BirthdayAndHiredateSyncList.png
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/anniversaries.png
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/mapping1.png
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/mapping2.png
create mode 100644 docs/scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/upa.png
diff --git a/docs/scenarios/Setup-Results-web-part-to-show-birthdays.md b/docs/scenarios/Setup-Results-web-part-to-show-birthdays.md
new file mode 100644
index 00000000..fc3084d1
--- /dev/null
+++ b/docs/scenarios/Setup-Results-web-part-to-show-birthdays.md
@@ -0,0 +1,41 @@
+
+A common requirement for intranets is to show birthdays of employees.
+And as the SharePoint User Profile Application has a property for birthdays, it is a natural choice to use search to show birthdays of employees.
+
+(as of writing this (2023), the Graph API does not have a property for birthdays, so we can't use the Graph API to get the information)
+
+
+
+The tricky part is that in the User profile application the birthday value is store is a rather usual datatype "date no year"
+
+![Birthday in the User Provisioning Service](../assets/../scenarios/assets/Setup-Results-web-part-to-show-birthdays/BirthdayUPA.png)
+
+
+In my tenant the SPS-Birthday property was mapped to RefinableDate00 and the actual value in the property is 2000-[the date]:
+
+![Managed Property value](../assets/Setup-Results-web-part-to-show-birthdays/refinabledate00.png)
+
+(use the magnificent [SP Editor tool](https://chrome.google.com/webstore/detail/sp-editor/ecblfcmjnbbgaojblcpmjoamegpbodhd) or [SP Search Query Tool](https://github.com/pnp/PnP-Tools/blob/master/Solutions/SharePoint.Search.QueryTool/README.md) to inspect the managed properties)
+
+
+
+So, the query had to be something like "those accounts where RefinableDate00 = 2000 + the value of today's date
+
+
+
+In KQL we have the token "today" that will give us today's date, but as far as I know, we can't get the components the date consist of, like Month and Day.
+
+Luckily, the PnP Modern search provides additional Tokens, see [Tokens](https://microsoft-search.github.io/pnp-modern-search/usage/search-results/tokens/)
+
+
+
+So the final query is:
+
+**RefinableDate00=2000-{CurrentMonth}-{CurrentDate}T00:00:00Z**
+
+
+
+( and of cause a criteria to exclude former employees, like SPS-HideFromAddressLists<>1)
+
+![Birthday web part](../asserts/../scenarios/assets/Setup-Results-web-part-to-show-birthdays/birthdays.png)
+
diff --git a/docs/scenarios/Setup-Results-web-part-to-show-work-anniversaries.md b/docs/scenarios/Setup-Results-web-part-to-show-work-anniversaries.md
new file mode 100644
index 00000000..edbefaf0
--- /dev/null
+++ b/docs/scenarios/Setup-Results-web-part-to-show-work-anniversaries.md
@@ -0,0 +1,102 @@
+
+Getting PnP Modern Search to show work anniversaries should be easy enoght, right? Just add a couple of managed properties and a couple of web parts and you are done. Well, not quite.
+
+The problem is that date manipulation in KQL is hard at best and sometimes impossible. In order to find a work anniversary you must compare Today and the Hiredate managed property, but ONLY the day and month part.
+
+Calculating how many years the employee has been with the company is also required and it seems like there is no way to get that using KQL.
+
+![upa](../scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/upa.png)
+
+## Objective
+
+We want to be able to display two options:
+- Employees having a work anniversary today, and also how many years they have been with the company
+- Employees having a work anniversary within the next 7 days + number of years.
+
+## How to cheat
+In order to achieve the objectives, I had to get:
+- The account
+- The hiredate, but with the year segment being the current year
+- The number of years the employee has been with company at the next anniversary
+
+![birthdayAndHiredateSynclist](..\assets\Setup-Results-web-part-to-show-work-anniversaries\BirthdayAndHiredateSyncList.png)
+
+Lets add birthdayThisYear while I was at it, in order to be able to show upcoming birthdays.
+
+
+The basic idea is that we want to change the hiredate from eg. 10/26/2005 to 10/26/2023 as that allows us to compare Today with this value 😀
+(RefinableDate12 is mapped to the HiredateThisYear property)
+
+Who is having a work anniversary today?
+
+ *RefinableDate12=Today*
+
+Anniversary within the next x days is also a piece of cake:
+
+ *RefinableDate12<{Today+7} AND RefinableDate12>{Today}*
+
+## Implementation
+Asking the intern to keep the list above in sync would be a cruel and unusual punishment, and hence actually forbidden in the USA, something to do with a constitution or something like that.
+
+The list should of course be synced with the source, in this case the User Profile Application, at least once each month. The reason I am not using Graph is that birthday is not in the schema.
+
+![mapping birthday and hiredate](../scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/mapping1.png)
+
+**Prereq: Map SPS-Birthday and SPS-Hiredate to RefinableDate00/01 or similar**
+
+Once data is showing up in those RefinableDate properties you should be ready to create the list.
+Grab the script here . It will create a few Site Columns and a Content type on the site collection of your choosing. The list is then created, and the Content type added to the list.
+The Add-UserDataToList function will query the UPA for accounts and write the data we need to the list.
+
+Hit the Reindex site in the site collections Search and Offline Availability section for the site columns to be picked up by search.
+
+Map the crawled properties to a couple of RefinableDates. If possible it is recommended to make this mapping on the tenant level as it ensures that you can use them in your entire tenant.
+![mapping birthdaythisyear and hiredatethisyear](../scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/mapping2.png)
+Find the Content Type ID of the Content type created by the script.
+
+
+Add a Results web part, name it "Todays work anniversaries"
+
+Set the Query template to:
+
+*Contenttypeid:0x01009290F0FA40E7CB42B55D6D96F897262B\* RefinableDate12=Today*
+
+*(replace 0x01009290F0FA40E7CB42B55D6D96F897262B with the value for the your content type)*
+
+Add a Results web part, name it "Upcoming anniversaries (7 days)"
+
+Set the Query template to:
+
+*Contenttypeid:0x01009290F0FA40E7CB42B55D6D96F897262B\* RefinableDate12<{Today+7} AND RefinableDate12>{Today}*
+
+*(replace 0x01009290F0FA40E7CB42B55D6D96F897262B with the value for your content type)*
+
+
+
+Add the managed properties birthdayhiredateAccountOWSUSER, nextWorkAnniversaryInYearsOWSTNMBR, RefinableDate10, RefinableDate12 to the Selected Properties in both web parts.
+
+Enter Layout slots
+
+Change UserEmail to use the birthdayhiredateAccountOWSUSER property
+
+Change Date from Created to RefinableDate12
+
+For both web parts you can select the People layout on "page 2" in the web part configuration.
+
+Set Secondary text to:
+
+{{{Title}}} has been with us {{{nextWorkAnniversaryInYearsOWSTNMBR}}} years
+
+(remember to click Use Handlebars expression)
+
+Set Tertiary text to:
+
+{{getDate (slot item @root.slots.Date) "MMMM-D"}}
+
+(remember to click Use Handlebars expression)
+
+Set the sorting on the Upcoming Anniversaries to RefinableDate12 asc
+
+Run the Add-UserDataToList function in a runbook or similar once a month and you should be done😊 Near the end of the year you might need to run is once per day.
+
+![final result](../scenarios/assets/Setup-Results-web-part-to-show-work-anniversaries/anniversaries.png)
\ No newline at end of file
diff --git a/docs/scenarios/assets/Setup-Results-web-part-to-show-birthdays/BirthdayUPA.png b/docs/scenarios/assets/Setup-Results-web-part-to-show-birthdays/BirthdayUPA.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba71e48bf66a2c9a8736ac2f34ed98b27a05a523
GIT binary patch
literal 15187
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
literal 0
HcmV?d00001
diff --git a/docs/scenarios/assets/Setup-Results-web-part-to-show-birthdays/RefinableDate00.png b/docs/scenarios/assets/Setup-Results-web-part-to-show-birthdays/RefinableDate00.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd4c697b3d6a53b3130dfd06c6c40dd8afac9468
GIT binary patch
literal 33997
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