From a3c064be55380fd55dd1d9ced44126dc25990188 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Wed, 6 Dec 2023 00:15:55 +0100 Subject: [PATCH] Added Inn of Sinn, added Lil Sis to Nubiles. --- migrations/20231201040310_tagsplit.js | 21 ++ package-lock.json | 181 ++++++++++++------ package.json | 2 +- public/img/logos/innofsin/adreenawinters.png | Bin 0 -> 37439 bytes public/img/logos/innofsin/bbctitans.png | Bin 0 -> 3355 bytes .../logos/innofsin/dannyoceansadventures.png | Bin 0 -> 50209 bytes public/img/logos/innofsin/favicon.png | Bin 0 -> 2240 bytes public/img/logos/innofsin/favicon_dark.png | Bin 0 -> 2240 bytes public/img/logos/innofsin/favicon_light.png | Bin 0 -> 2240 bytes public/img/logos/innofsin/innofsin.png | Bin 0 -> 18134 bytes .../logos/innofsin/lazy/adreenawinters.png | Bin 0 -> 4834 bytes public/img/logos/innofsin/lazy/bbctitans.png | Bin 0 -> 2581 bytes .../innofsin/lazy/dannyoceansadventures.png | Bin 0 -> 3956 bytes public/img/logos/innofsin/lazy/innofsin.png | Bin 0 -> 2886 bytes .../logos/innofsin/lazy/mydeepdarksecret.png | Bin 0 -> 2320 bytes public/img/logos/innofsin/lazy/network.png | Bin 0 -> 2886 bytes public/img/logos/innofsin/lazy/puertorock.png | Bin 0 -> 3624 bytes .../img/logos/innofsin/lazy/rebelrhyder.png | Bin 0 -> 4165 bytes .../logos/innofsin/lazy/richardmannevents.png | Bin 0 -> 6387 bytes .../logos/innofsin/lazy/richardmannsworld.png | Bin 0 -> 3790 bytes .../img/logos/innofsin/lazy/tatsandtits.png | Bin 0 -> 4051 bytes .../img/logos/innofsin/lazy/trans4thefans.png | Bin 0 -> 3132 bytes public/img/logos/innofsin/lazy/wefuckin.png | Bin 0 -> 4338 bytes .../misc/back-side-bonanza_banner.png | Bin 0 -> 456872 bytes .../innofsin/misc/backside-bonanza_bw.gif | Bin 0 -> 14445 bytes .../misc/cum-thirsty-cougars_banner.png | Bin 0 -> 485917 bytes .../innofsin/misc/cum-thirsty-cougars_bg.gif | Bin 0 -> 8293 bytes .../innofsin/misc/cum-thirsty-cougars_bw.gif | Bin 0 -> 8501 bytes .../img/logos/innofsin/mydeepdarksecret.png | Bin 0 -> 19212 bytes public/img/logos/innofsin/network.png | Bin 0 -> 18134 bytes public/img/logos/innofsin/puertorock.png | Bin 0 -> 4939 bytes public/img/logos/innofsin/rebelrhyder.png | Bin 0 -> 9504 bytes .../img/logos/innofsin/richardmannevents.png | Bin 0 -> 9584 bytes .../img/logos/innofsin/richardmannsworld.png | Bin 0 -> 16231 bytes public/img/logos/innofsin/tatsandtits.png | Bin 0 -> 16441 bytes .../logos/innofsin/thumbs/adreenawinters.png | Bin 0 -> 38302 bytes .../img/logos/innofsin/thumbs/bbctitans.png | Bin 0 -> 2816 bytes .../innofsin/thumbs/dannyoceansadventures.png | Bin 0 -> 43434 bytes public/img/logos/innofsin/thumbs/innofsin.png | Bin 0 -> 19077 bytes .../innofsin/thumbs/mydeepdarksecret.png | Bin 0 -> 18039 bytes public/img/logos/innofsin/thumbs/network.png | Bin 0 -> 19077 bytes .../img/logos/innofsin/thumbs/puertorock.png | Bin 0 -> 5808 bytes .../img/logos/innofsin/thumbs/rebelrhyder.png | Bin 0 -> 10512 bytes .../innofsin/thumbs/richardmannevents.png | Bin 0 -> 10483 bytes .../innofsin/thumbs/richardmannsworld.png | Bin 0 -> 17326 bytes .../img/logos/innofsin/thumbs/tatsandtits.png | Bin 0 -> 17353 bytes .../logos/innofsin/thumbs/trans4thefans.png | Bin 0 -> 25791 bytes public/img/logos/innofsin/thumbs/wefuckin.png | Bin 0 -> 15714 bytes public/img/logos/innofsin/trans4thefans.png | Bin 0 -> 24959 bytes public/img/logos/innofsin/wefuckin.png | Bin 0 -> 14766 bytes public/img/logos/nubiles/lazy/anilos.png | Bin 3329 -> 3381 bytes .../logos/nubiles/lazy/badteenspunished.png | Bin 2715 -> 2767 bytes .../logos/nubiles/lazy/bountyhunterporn.png | Bin 2734 -> 2786 bytes public/img/logos/nubiles/lazy/brattysis.png | Bin 1764 -> 1800 bytes .../img/logos/nubiles/lazy/daddyslilangel.png | Bin 1390 -> 1426 bytes public/img/logos/nubiles/lazy/deeplush.png | Bin 2015 -> 2067 bytes .../img/logos/nubiles/lazy/detentiongirls.png | Bin 1345 -> 1381 bytes public/img/logos/nubiles/lazy/driverxxx.png | Bin 3244 -> 3296 bytes public/img/logos/nubiles/lazy/favicon.png | Bin 2148 -> 2200 bytes .../img/logos/nubiles/lazy/favicon_dark.png | Bin 0 -> 10048 bytes .../img/logos/nubiles/lazy/favicon_light.png | Bin 0 -> 2200 bytes .../img/logos/nubiles/lazy/hotcrazymess.png | Bin 2288 -> 2340 bytes public/img/logos/nubiles/lazy/lilsis.png | Bin 0 -> 2517 bytes .../img/logos/nubiles/lazy/momsteachsex.png | Bin 2807 -> 2859 bytes .../img/logos/nubiles/lazy/myfamilypies.png | Bin 1592 -> 1628 bytes public/img/logos/nubiles/lazy/network.png | Bin 3554 -> 3610 bytes public/img/logos/nubiles/lazy/nfbusty.png | Bin 1670 -> 1722 bytes public/img/logos/nubiles/lazy/nubilefilms.png | Bin 994 -> 1030 bytes public/img/logos/nubiles/lazy/nubiles.png | Bin 3256 -> 3308 bytes .../img/logos/nubiles/lazy/nubilescasting.png | Bin 2722 -> 2774 bytes public/img/logos/nubiles/lazy/nubileset.png | Bin 2608 -> 2660 bytes .../logos/nubiles/lazy/nubilesunscripted.png | Bin 2920 -> 2972 bytes .../nubiles/lazy/petiteballerinasfucked.png | Bin 2313 -> 2365 bytes .../img/logos/nubiles/lazy/petitehdporn.png | Bin 2795 -> 2851 bytes public/img/logos/nubiles/lazy/princesscum.png | Bin 3765 -> 3821 bytes .../logos/nubiles/lazy/stepsiblingscaught.png | Bin 1628 -> 1664 bytes .../logos/nubiles/lazy/teacherfucksteens.png | Bin 2699 -> 2751 bytes .../img/logos/nubiles/lazy/thatsitcomshow.png | Bin 4460 -> 4512 bytes public/img/logos/nubiles/lilsis.png | Bin 0 -> 98854 bytes public/img/logos/nubiles/misc/lil-sis.svg | 169 ++++++++++++++++ .../img/logos/nubiles/misc/lil-sis_notld.png | Bin 0 -> 98854 bytes public/img/logos/nubiles/misc/lil-sis_tld.png | Bin 0 -> 144565 bytes public/img/logos/nubiles/thumbs/anilos.png | Bin 22400 -> 22452 bytes .../logos/nubiles/thumbs/badteenspunished.png | Bin 6320 -> 6372 bytes .../logos/nubiles/thumbs/bountyhunterporn.png | Bin 5475 -> 5527 bytes public/img/logos/nubiles/thumbs/brattysis.png | Bin 18860 -> 18896 bytes .../logos/nubiles/thumbs/daddyslilangel.png | Bin 5635 -> 5671 bytes public/img/logos/nubiles/thumbs/deeplush.png | Bin 8128 -> 8180 bytes .../logos/nubiles/thumbs/detentiongirls.png | Bin 3859 -> 3895 bytes public/img/logos/nubiles/thumbs/driverxxx.png | Bin 13785 -> 13837 bytes public/img/logos/nubiles/thumbs/favicon.png | Bin 2148 -> 2200 bytes .../img/logos/nubiles/thumbs/favicon_dark.png | Bin 0 -> 10048 bytes .../logos/nubiles/thumbs/favicon_light.png | Bin 0 -> 2200 bytes .../img/logos/nubiles/thumbs/hotcrazymess.png | Bin 18195 -> 18247 bytes public/img/logos/nubiles/thumbs/lilsis.png | Bin 0 -> 10850 bytes .../img/logos/nubiles/thumbs/momsteachsex.png | Bin 7391 -> 7443 bytes .../img/logos/nubiles/thumbs/myfamilypies.png | Bin 10256 -> 10292 bytes public/img/logos/nubiles/thumbs/network.png | Bin 14281 -> 14337 bytes public/img/logos/nubiles/thumbs/nfbusty.png | Bin 10040 -> 10092 bytes .../img/logos/nubiles/thumbs/nubilefilms.png | Bin 11193 -> 11229 bytes public/img/logos/nubiles/thumbs/nubiles.png | Bin 14609 -> 14661 bytes .../logos/nubiles/thumbs/nubilescasting.png | Bin 11121 -> 11173 bytes public/img/logos/nubiles/thumbs/nubileset.png | Bin 9779 -> 9831 bytes .../nubiles/thumbs/nubilesunscripted.png | Bin 4350 -> 4402 bytes .../nubiles/thumbs/petiteballerinasfucked.png | Bin 3328 -> 3380 bytes .../img/logos/nubiles/thumbs/petitehdporn.png | Bin 9831 -> 9887 bytes .../img/logos/nubiles/thumbs/princesscum.png | Bin 23382 -> 23438 bytes .../nubiles/thumbs/stepsiblingscaught.png | Bin 10705 -> 10741 bytes .../nubiles/thumbs/teacherfucksteens.png | Bin 9569 -> 9621 bytes .../logos/nubiles/thumbs/thatsitcomshow.png | Bin 32074 -> 32126 bytes seeds/00_tags.js | 19 +- seeds/01_networks.js | 4 + seeds/02_sites.js | 106 ++++++++++ src/scrapers/innofsin.js | 100 ++++++++++ src/scrapers/scrapers.js | 2 + src/scrapers/template.js | 35 ++-- src/tags.js | 2 +- 117 files changed, 558 insertions(+), 83 deletions(-) create mode 100644 migrations/20231201040310_tagsplit.js create mode 100644 public/img/logos/innofsin/adreenawinters.png create mode 100644 public/img/logos/innofsin/bbctitans.png create mode 100644 public/img/logos/innofsin/dannyoceansadventures.png create mode 100644 public/img/logos/innofsin/favicon.png create mode 100644 public/img/logos/innofsin/favicon_dark.png create mode 100644 public/img/logos/innofsin/favicon_light.png create mode 100644 public/img/logos/innofsin/innofsin.png create mode 100644 public/img/logos/innofsin/lazy/adreenawinters.png create mode 100644 public/img/logos/innofsin/lazy/bbctitans.png create mode 100644 public/img/logos/innofsin/lazy/dannyoceansadventures.png create mode 100644 public/img/logos/innofsin/lazy/innofsin.png create mode 100644 public/img/logos/innofsin/lazy/mydeepdarksecret.png create mode 100644 public/img/logos/innofsin/lazy/network.png create mode 100644 public/img/logos/innofsin/lazy/puertorock.png create mode 100644 public/img/logos/innofsin/lazy/rebelrhyder.png create mode 100644 public/img/logos/innofsin/lazy/richardmannevents.png create mode 100644 public/img/logos/innofsin/lazy/richardmannsworld.png create mode 100644 public/img/logos/innofsin/lazy/tatsandtits.png create mode 100644 public/img/logos/innofsin/lazy/trans4thefans.png create mode 100644 public/img/logos/innofsin/lazy/wefuckin.png create mode 100755 public/img/logos/innofsin/misc/back-side-bonanza_banner.png create mode 100644 public/img/logos/innofsin/misc/backside-bonanza_bw.gif create mode 100755 public/img/logos/innofsin/misc/cum-thirsty-cougars_banner.png create mode 100644 public/img/logos/innofsin/misc/cum-thirsty-cougars_bg.gif create mode 100644 public/img/logos/innofsin/misc/cum-thirsty-cougars_bw.gif create mode 100644 public/img/logos/innofsin/mydeepdarksecret.png create mode 100644 public/img/logos/innofsin/network.png create mode 100644 public/img/logos/innofsin/puertorock.png create mode 100644 public/img/logos/innofsin/rebelrhyder.png create mode 100644 public/img/logos/innofsin/richardmannevents.png create mode 100644 public/img/logos/innofsin/richardmannsworld.png create mode 100644 public/img/logos/innofsin/tatsandtits.png create mode 100644 public/img/logos/innofsin/thumbs/adreenawinters.png create mode 100644 public/img/logos/innofsin/thumbs/bbctitans.png create mode 100644 public/img/logos/innofsin/thumbs/dannyoceansadventures.png create mode 100644 public/img/logos/innofsin/thumbs/innofsin.png create mode 100644 public/img/logos/innofsin/thumbs/mydeepdarksecret.png create mode 100644 public/img/logos/innofsin/thumbs/network.png create mode 100644 public/img/logos/innofsin/thumbs/puertorock.png create mode 100644 public/img/logos/innofsin/thumbs/rebelrhyder.png create mode 100644 public/img/logos/innofsin/thumbs/richardmannevents.png create mode 100644 public/img/logos/innofsin/thumbs/richardmannsworld.png create mode 100644 public/img/logos/innofsin/thumbs/tatsandtits.png create mode 100644 public/img/logos/innofsin/thumbs/trans4thefans.png create mode 100644 public/img/logos/innofsin/thumbs/wefuckin.png create mode 100644 public/img/logos/innofsin/trans4thefans.png create mode 100644 public/img/logos/innofsin/wefuckin.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/anilos.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/badteenspunished.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/bountyhunterporn.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/brattysis.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/daddyslilangel.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/deeplush.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/detentiongirls.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/driverxxx.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/favicon.png create mode 100644 public/img/logos/nubiles/lazy/favicon_dark.png create mode 100644 public/img/logos/nubiles/lazy/favicon_light.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/hotcrazymess.png create mode 100644 public/img/logos/nubiles/lazy/lilsis.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/momsteachsex.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/myfamilypies.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/network.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/nfbusty.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/nubilefilms.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/nubiles.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/nubilescasting.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/nubileset.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/nubilesunscripted.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/petiteballerinasfucked.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/petitehdporn.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/princesscum.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/stepsiblingscaught.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/teacherfucksteens.png mode change 100755 => 100644 public/img/logos/nubiles/lazy/thatsitcomshow.png create mode 100644 public/img/logos/nubiles/lilsis.png create mode 100755 public/img/logos/nubiles/misc/lil-sis.svg create mode 100644 public/img/logos/nubiles/misc/lil-sis_notld.png create mode 100644 public/img/logos/nubiles/misc/lil-sis_tld.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/anilos.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/badteenspunished.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/bountyhunterporn.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/brattysis.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/daddyslilangel.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/deeplush.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/detentiongirls.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/driverxxx.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/favicon.png create mode 100644 public/img/logos/nubiles/thumbs/favicon_dark.png create mode 100644 public/img/logos/nubiles/thumbs/favicon_light.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/hotcrazymess.png create mode 100644 public/img/logos/nubiles/thumbs/lilsis.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/momsteachsex.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/myfamilypies.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/network.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/nfbusty.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/nubilefilms.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/nubiles.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/nubilescasting.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/nubileset.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/nubilesunscripted.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/petiteballerinasfucked.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/petitehdporn.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/princesscum.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/stepsiblingscaught.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/teacherfucksteens.png mode change 100755 => 100644 public/img/logos/nubiles/thumbs/thatsitcomshow.png create mode 100755 src/scrapers/innofsin.js diff --git a/migrations/20231201040310_tagsplit.js b/migrations/20231201040310_tagsplit.js new file mode 100644 index 000000000..4ffedc332 --- /dev/null +++ b/migrations/20231201040310_tagsplit.js @@ -0,0 +1,21 @@ +exports.up = async (knex) => { + await knex.schema.alterTable('tags', (table) => { + table.specificType('implied_tag_ids', 'integer[]'); + }); + + await knex.schema.alterTable('releases_tags', (table) => { + table.enum('source', ['scraper', 'editor', 'implied']) + .notNullable() + .defaultTo('scraper'); + }); +}; + +exports.down = async (knex) => { + await knex.schema.alterTable('tags', (table) => { + table.dropColumn('implied_tag_ids'); + }); + + await knex.schema.alterTable('releases_tags', (table) => { + table.dropColumn('source'); + }); +}; diff --git a/package-lock.json b/package-lock.json index 9c320ec5a..cfce81e60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "iconv-lite": "^0.6.3", "inquirer": "^8.2.6", "inspector-api": "^1.4.8", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "knex": "^3.0.1", "knex-migrate": "^1.7.4", "longjohn": "^0.2.12", @@ -5072,6 +5072,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, "engines": { "node": ">= 10" } @@ -7914,16 +7915,23 @@ } }, "node_modules/data-urls": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", - "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.0" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" + } + }, + "node_modules/data-urls/node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "engines": { + "node": ">=18" } }, "node_modules/date-fns": { @@ -8174,18 +8182,6 @@ } ] }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "deprecated": "Use your platform's native DOMException instead", - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", @@ -10730,14 +10726,14 @@ "dev": true }, "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dependencies": { - "whatwg-encoding": "^2.0.0" + "whatwg-encoding": "^3.1.1" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/html-entities": { @@ -10798,6 +10794,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -11994,39 +11991,37 @@ "peer": true }, "node_modules/jsdom": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", - "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.0.1.tgz", + "integrity": "sha512-2i27vgvlUsGEBO9+/kJQRbtqtm+191b5zAZrU/UezVmnC2dlDAFLgDYJvAEi94T4kjsRKkezEtLQTgsNEsW2lQ==", "dependencies": { - "abab": "^2.0.6", "cssstyle": "^3.0.0", - "data-urls": "^4.0.0", + "data-urls": "^5.0.0", "decimal.js": "^10.4.3", - "domexception": "^4.0.0", "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.4", + "nwsapi": "^2.2.7", "parse5": "^7.1.2", "rrweb-cssom": "^0.6.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", + "tough-cookie": "^4.1.3", + "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^12.0.1", - "ws": "^8.13.0", - "xml-name-validator": "^4.0.0" + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.14.2", + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" }, "peerDependencies": { - "canvas": "^2.5.0" + "canvas": "^2.11.2" }, "peerDependenciesMeta": { "canvas": { @@ -12034,6 +12029,57 @@ } } }, + "node_modules/jsdom/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/jsdom/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/jsdom/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/jsdom/node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "engines": { + "node": ">=18" + } + }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "engines": { + "node": ">=18" + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -17727,14 +17773,14 @@ } }, "node_modules/tr46": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", "dependencies": { - "punycode": "^2.3.0" + "punycode": "^2.3.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/trim-newlines": { @@ -18926,14 +18972,22 @@ } }, "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", "dependencies": { - "xml-name-validator": "^4.0.0" + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" + } + }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "engines": { + "node": ">=18" } }, "node_modules/watchpack": { @@ -19138,14 +19192,14 @@ "integrity": "sha512-O0S1ZGEWyPvyZEkS2VbyV7mtir/NM9MNK3EuhbHPoJ8EHTky2pTXehjIl+IiDPr+Lldgx129QGt3NGly7rwRPw==" }, "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dependencies": { "iconv-lite": "0.6.3" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/whatwg-mimetype": { @@ -19157,15 +19211,15 @@ } }, "node_modules/whatwg-url": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", - "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", "dependencies": { - "tr46": "^4.1.1", + "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/which": { @@ -19484,6 +19538,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, "engines": { "node": ">=12" } diff --git a/package.json b/package.json index 9cfa7e6e1..0ee36c2ad 100755 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "iconv-lite": "^0.6.3", "inquirer": "^8.2.6", "inspector-api": "^1.4.8", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "knex": "^3.0.1", "knex-migrate": "^1.7.4", "longjohn": "^0.2.12", diff --git a/public/img/logos/innofsin/adreenawinters.png b/public/img/logos/innofsin/adreenawinters.png new file mode 100644 index 0000000000000000000000000000000000000000..2f311c3ad8338828e918caa125a4ce095c883370 GIT binary patch literal 37439 zcmV)QK(xP!P)EX>4Tx04R}tkv&MmP!xqvQ>7{uK|6>zWT;MdQ4z;lg(6f4wL+^7CNKSiCJjl7 zi=*ILaPVib>fqw6tAnc`2>yV$x;QDiNQw6)g%&Yhc)XAE?m4`7A0RX;OtZS;fTr7K zI++l&xm7XriZB8YFo<56S;m|srQlm%_tZ;u7vov}eScQJnztAb5Q*c=Fm2)u;+aj` z;Ji;9VI^55J|~_q>4LZ+(5ySo_p#$NPk`VvaHY5X)dn#8NqW7l zMUQ}iZQ$a%ttorJeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{03ZNKL_t(|+SI&hlx4?NCi?9d&T!8i^X8mcS+j;JNhPUd zO<6pMU6sfZl)UpB~@=AO=nMEejKf#v`^CIo zrul9>Wbea0?sA{|0Qzn~1Hf|trZ3420FL7570ylrbju|gA9=yNE=!*n0Pf=l)pz3_ zxeuU|UnIZFaybd`exLvmUta&OCgjvt4cJ!+=e7JE`8ssUrvYq&d3$l32LKHs1wrco zra<&gyq3O+*UY={O#Tp&1>Yxt1GEj0d$fR(n_%w2xB{N{K#3T@Jmx*Hid6s^w48$! z^Kkwi9Ptm~0R~>{N0?D{AUuw?PvQI~a#w>E+o0N}bsE+Kz!C&CVEig11rRg~U=2V5 zDI!SmIWXUg!{Q*e+>hg2b`)^HX5cX;TWE6~p6`V7=P}Qh`AXrq1}*kLOAn&Mm^b(F zMg8NL3%1bqtt%VYxE_q3$NUR6)+$!92THWyxd-E~g%%pX1_Z^B;u=g)3yTcE0S^e^ zwf<=wQv!3*CYbjFDB!$>=kxG9k9laU(|LHVK~M`?UW*9<%oo7@Zd>lJ^#Jf%emZyq zrh=O>rP}E5=e}qix7SCC7JzFpAs)o0ekt?l%i-bwe2`z6(EXPu#;?MQDsyNgPheyn zmuQ3DufVX$k;0{7F})^{p9IW7r=z6N$(Xfp;d4=FFAkfx)@Lyb#)vgETSa-4A&*U)~=0}F0`nObd12Cg|{i%mo~DXO?aL{ zgPIVs1tA@n??w<+Kw=pqpCY6f>@%<{LCP^wwy<9!-pf2{0H;yL0Z26g5;;ipF{XUA zXE1j^9mcE0QQXhb`nPI16PAFXmq;)H_GjQ-6F?upX|(+$8e}1)fKV1=(dnd&##>SV z{7QT%_nza1S3*2heDo!$9kteK#yd9#->6%1g&G3gM*%Q9webMCv?!1$UiW>gK-*@3FfvAh9F{6X!t=J~@&NCSOG4#J zokxZiNJJsjK#uJ*U4)=cI?R{@ zyF zaMb{eq2S!X4;6quIklHcQAxt4%zhQ#7Y7(*bU5a2c(q>z=G(YlYquE=zA*IA{iaUp>{uA+U}!8c-oqFapZ zS#}u#ssP{xSc83^y_*s;$qh#rk@+KWGVy)Ii|1cfo~)fSBhv-g3-&4dqV3JNk_#;a zf*io8aM23c%qqw{11IFP60*`aPBoO4_wa)o4`Gw4LBo~0NBuf>N!8*Ha83i;vCP`PxQaC{B{*{`T7&5yS zQWHVzO)`CE%H~MMEoRfkz-!WR71EW6>NyZ-CxV&}dniqHXW~Nkv!NPCrXfI52+9f= ziYQW5h~OkrLqJ$1q4trWGn|fR5Nd+)E9}h zk+oJh%d4b=fJidXvIP zut|r`n_WVbMgXn&(J&#Qmf73uM5Vf$lG!nv)OZZ)q^cmNm%Saw27nZ>%-zo(7s+M8ZuHiMVU>t@bb%A=^ONP;AyL zDom5!+o_CQT4N=usMb?&eG7%zHouq!Jk1C-2~em(wvSv2NSVWBBq{5$%cY}o#!AhR zj7PB8;w()_C0OWv5JNc7kib5b-jSl72EFOd#*N)eX53Z65Ae$TtKDU>LLjY=#hbLTi^ zmnjHY!1$Vw6~jD!76aKJ=?l*~QECBD@ZL%Xa0YLNo=u%>oWd88LtGrf zc=b;L`2F`24jdrhJvjX8jz~|hQc<2D00@R{j`z&*QFL(N7%0UiiUVaTR)=C7N(p|C z{O`TNC#C?VeVaUz8DRfDlCoI zr{~PX6L{GIpMvOqAOIxlPEVRSoF+!O~_u~@px9oWfhe5 zvKbBfMd8L|ZHS2Rjyz3d2a+;Opz|NT|OAVVJ9U!Lx@Vp+q`268v_`yv+Fh=#-1cG#Y&=4BC(jl z2N#Rcrp*VD_eC-!6ipG86pLM5W1B-~`(tly3h%f4Sd~fD=VhD_v&#j10j>vvRNI@@ zx;JeB?-`iL;7SLnykkjvk$P`a_HM!lW)o?;Afj@?oMqPex>8eZYgNjwxFM`p9!em^~kOW<`I@S36{E;)iu<_Xs z|6=pd_X-Bi*^y!PN`m?wlb!1UzKNj1>`kb+RItGo8$V8jj9Zu@F z+>p_<2d4v{b$9D<@mf)u@3>;bjP+RxD#qEVF&B|$nX5uJ*%dM+Yc|cOo~vYL;PO0Y zqa=$;L=?1L)-Ax+64`x7YKfFP*HExy4;Bzrub0Mb&puZSS8tM)J*l(dX*+D+qng)E zsj%9!rWnI;)$8!7Vsvi37**<|LjeFnV3SSZgo|pV_Xc3oFLIZ&&ApPzvKuKOL}k-u z8z2s=N-f4vb?<$t2U8gKu4~f5fK(26>rB6pBn##&B$_RpoX=q8R-T>7tc?Z9nssg* z>tK?YcaFVDdM?)`2pxD*EoV}|Dd)WIdef^a-HfEJT8OS7gpORDAcO(u3nJR7rI?=VUn1wuM;rW4EM|Jwte%S{KGb(*CF(w0v&fvhn!uZ!WgeeQV_jC;Iu! zqNCQ?GWF~Zv1_nSHtf)9E1@rkrG4c!SDOy~Q9SMOWfD&RydY;LJaDf#aPXj9Jq?vf zs5mw{G8|s0rhRMzJ4~tSW0R|#T&TSZ``WiBHa$=S0C-Ai*O?E@{-Hnd@r%nn^S$-` z-*a79-MNwtF|@_(H0f(r?Ra&?W}`V3C(b&xVaNSINODZRB|JqWgUl9@Bmn~RIh$o$ zG8}vI^{R*`rviP=c|XdA&T#_l9>6e|XM2uA#jHbT=DI~{3Tw^ExKr(_%FMv$K66&* z?79i5cv1#CPMZF@BXXXi=2KZ)S5-I->Am)X2ZB|Nk$Dvy21zv!BP?f3TN%0C<`4gsi@)H z5vIxzi|jo*-sR4FoqL;gO=d?B%6rd!tcjSaGQj(~=f3c}os;iA>9)@7z1W-= zphQYL zc$_x_8w;f(XsT!}`y$JlI*cd6(#$7@>l+)wtd*ox*U0kxipx4R=tcl8r#5eFj(U?O z?RHRD{jjdZdsJn*ZBvZc%dsn@CZQ))RBhQJo>W16%C(CTae8B^IiGprii&7TYV@5& z6>54~=sf{wIJCvor?U1|;%Q>N7#Cfa+Y?zY9e6WQ5rGy0PLW_G15X66NJuAi@-f%y zRi!F5L|8KHZ4NFE14(rm?yHclc8d(Dx9Am_%i-i8&xaeuC{IWw8EoER8%9!rSY$S` zI|^l*eWUScZx!gag0(OUkfqoX!L0RertdAZ<3=YR+owz`W%hAq4KM0alR!-+)p$NG zi%4pCz%OuInIIWlgJj2sH?5JkHD(Lps5C*ro)HSMQVg2xJqmbV5}KbJZJv97`|JZx z=bgWa%5|}%D?5;4fD+)lnvi%*v@kd)^~=O&!yn(R8c>7ei1Pgz{GR;_5T6c+>mXgAaW8 z9p5zBoSX;QktZ>Vok-(y-2{6ApA8yP#hLb_BC?*#Tcf_XE~sAr?e*PX`;yB1ky|U% zi_eT&uw-jn zUDTK*5?Ri+*s$4fPf)q_rf4FRAS~yDljpKQYQ3cyU7Fb)SEoXuAW0Yx&H<>7$z9*( zvTaiT#CU7{Vv%BJsk(G+JR#4x(el9C^>3~3JUnKLwkrVVus^8!o-^x{Dk`;1>bGoO z1cV@jR5L*$OHz|%&zHq6KqLubUra*2?eWLD=Ubm>ukgWSvfh?qxhlhQ+vl4J2DMxJMz{?B#DTawt>zCd()6XRg!dv!gBL+`$tEckOHVmjbB=R z_&u|_JpG!+?t8wbHjiCV6#(i0PHg;G z7a+lSYTWKWJMOf01WEl>%{>z+)vxfn6jd5;IrXWnbED31F0ST7q2snt`f=Ag9SDgf zS-NhwF6|%KT%5}Xs8N6|m*b9PssIqQZPt44`ZG_i+k9}rrW?vrMBZm5c04W>J{fs$ zRZe*-WFF{16sDv=wU!yuLbCAUTdFg+0>GY`o%fs`w4R-fsG)g26@# z<-8;tC1Wc%0t-QcwX}Jm5*C$~$?@6V%I5L*h1Q>Jooc;d@#YsNQpW)F>2Xj0;_1)n zzuY>dKi*r>pX#sCr}`I*Pxe*@pX{%0j+~+WalKwuLA(@I^;nSZPE`Q(?dFPR(pmN}rXmaj+KF}w| zJ^jJ0)2b|#+E;4mOJybc-#q=1u%A8Cfwm#=4|U8mE&zN2ule z!r82E-rqXa{nPblJBKPW^_ifQ0MI3=_5Qd~`@rTYj-(1TNfLtCg5n*jd|OQfdvfms zVrT)<@9&&F_k&OT<$s-xYmM6~Gkd=O*^j*U_mBV0A3SNzW((6_lL^VU~hZu*8@H@_l@r>^hW zLK0I+Iv3b%r1Mlr01)1=vgCx8K8G+Nh^AG!S}RR1z*+fR+U{MZ^@YLunRl;0{kcSj zJfUOEhKZUFD~$M}7b3BYjc~&ys z>B70-WZpl1(TtBxsmN*&R`cPN=@s5%Yz+hn*X3euQin1k8UM!lqwPQ4c(!x7U0G`U z;QWoy5D=E95?R`NAst-!*^8h5nRmCJ`{2AzuqUb^AVn+r=mnCyWKQ?Y1jg#7*y-{^$QpXtD z;)M%HWUD%$$)Kd>f+U^^%DSQgOa&$Sk2~-F_itRd^)*{I3qI67f64LZ&8PFur<4+- zo8#ury>UZ3kLdR=JZ}58xMJt-Pa61F%{{?Wy>%Mctdu!FKSSY*A{NcuJ4g^1l)ZEF z*t_1b{JEci=|A2o#yJ42<>Nj|lZ(?~RIN}H6v`Av=5w(9)roPuJ%T^@@~8qC_O3LJ2*d4keC2{5^@te*(zwzn>0lLS!4c zGNBG6bEqJaeAF*qw{XMPM?zjX5f;Nr{q;L#>)?uxC|&{1VyRGrk45J`zxYJ^H6(i%%iHMpVDjQ*x~Vg091KD634 z=@oXruCY{mycXG=os zvd~rI-Iqkr2DV5u?=vkVCsOHHN+Kf6he_@FQe&?028&S{kEWX|7fm|Y8CLQs9fdP0 zo*0uGHgu^r9VXNCi$OEeR3o9_R0qN*6IBd zFRw4{HiexT+QMhnpzm|PY}4MR8LtyyuJ*o(wuewc$Qd0~``(Pka6Q9Ly=VQI-qj-6 zU#g=@s^Xl3^=!+mO7p5b`D%$Yb zdPV3;Rp}s63MowI|GD_+FZ{rnkH6EhcS%%fWW@cl41%f(ss$YQi$FfBlg3g|p3d23 z2J96H2(g_naqt+x47xr$*;HZYnbDTrbh#_bP!8C3&biU~SW0TDAR)*skpYjKxq1Nc z!#i%NPX+Ple{DVY*t2Qt*^9+stMC??H*oBOS5|l2^HZ~je&l-=Z~HHYlIAS{&@$Nu zY`z78hZGE!j3@#sfESvI7_t}-wNWl*J zg5!czlqu-`VpRfPnKu85H2Hx85Sg#37*;t+nt-rB>JDDk+;z*2s8W0T>CYeix#J)I zI| zN>i8VI4}$tT1Xd@8s_AWuX6ra5B~f@RH@t^Pw%-ls?S_kZt9178|^<@J=VIK?;l<` zG@U?H%a9X&XH3VLaZDoW`Mel=b46`=uqPsDp~%3y6mERV^jEwGS7o4DMfw6yz9cnj zIx0EuoM$)&8F;wGpfcy#=O14?_O6F}t500r=Xlm$dm?R}cIjemf%bg0(5&ZC!@R^+A2tqzoGw zJQN8q0V^&&>piUmUh=hJWA1p`9dDYkQ(C58BCV=Ow#jT{g2y?ztf~Wgq<7K${K-#s zuO8z~ONVP!=;~vGjrOUmfBbYlI5u{+TX^R-Op2Dvaj-nK`(QG;4*j| zDg|v{pL)ywyT2I#e*V;F9(wo6v&XOQ_Ct#|y%^R=ut>&zf}Pd=W~i3-(^o3&mvEAtaedf+fHRA|rspG3ON(#3139^WnJ{diWBWg!TfI zd2eFK5&?46ryT}Ru*Y4M+37}@%rsRgjCBAfkQqV42_2RzDg=lCK@L}4S=+Md;EAk# zw&ROIN$9#Jfen+dKa&qWn>xE*BURfK*Q#wUT3e#n43&0{C^J%|Mq;F;EC%e>b3#vm z#8glgZ+Y&a&A)D)y<-2(hUM_r_Z`{Y$BrSnmd=b?-#R#v${ zFv4Co9xv7A_P=Ce$AL%t>lX*Z_R2WzbpCql-16nF|9av27d5NRJsp>Vm`V^nCd(0V z9*)Rl>wBNr`iaTizxqo{cm229YO}Yd&Y^8{xEG$rE`!?~u^q1XY;yqDpVU#@)Nwcw z#KH*bJnKeJ4av7(Qk~y%D(&_^*gDgB!9B?8bm^&4dp%?-?Uj{FE?eEDDswmK z#-2OE$!iv5sX85$W|}%~0Pukj#op3X^p4Xx%0%J#p~%%7tWTg zvoyB(=FsG4mh;gGTrvT-Oa=)-uWIgo#eds-Y2TVpB=Tgj(5%Qno-OzO#TEQE-{Fc0!P z{EAE#@eeti`*z$QVntd7CJ>AeLdGWV_W#|EL$3gUx1RdkUt>FP;@-XT)KgdP_erI` zedfA5igZv&iL!-^jnAVZ7vaj{Yg%t;ee*B=_~gMK+%PFt^AR%d+{hL!245XMpeYef z1W-ZG6$8iKD1an`6|*l(C7UV;IzGQxkpb@u>yyt8+b@XyUsswaPe@(1*5byfIln)s zHV=i(rKXB2SCR!pa(~#^Q>LKQw>hjcx-hwVq_=EdQk$=S+w?WH=e54aL!D(TM3vAm z4M_>R?L0F>5R>@Q*e!#-aZVGX+{!YSnp~gH`lBaC?X}fxn4cPV&=3KtB5(tnlk_YY zp5Q&fD_@miLvH5_V7x8-Rfc)yEcc3(oOQ{{sK4<{+P;`D&1+|;pB}X{34tjUhXa$7 zVg#x4MP2CRNI1QBkE$%r>+(&Dx_r%ISl$JI6bbQl&7Ct7I#zEx`5E}DH0moScURvy ze`x7Me@nKD)Mw7bifO9naunUV^2T7K7zh;?z+2NKFpb@Y~dnpO%N;6 z`);532erBQhaAp<%vF{bK>-<&Q1Q@=xs*)qdDHIOzO85T?7b_`K2naWwWL%n{n^T~ zXI8S&mAhGQ+}@{wwwP2weL@B`5J?Z`A;3yV&!9mdWUi&uT^Q^s*Y>7tt5;8BE-dR?D^u5R z+Hv?)*6I}OVBlY1*_MP3nK?X{^{`ruaH8LqpY5#p7gc7ezkcn@7OqnIc>DQBuwsU| zxiU39k(A39MgC0gXe3DpcqaBt@J#-T63d32V|LQ9QH67g9hdqh7k!)YzOafTwFLx1 zQ0}Z|_EHE)CL#+{BvRK142FjwLE`FlV+gQU)>|RLrS)u_Z<(}^4&`YT1>ZigZ>A!( z8apG2y|85SQ?9@Ixb2u@u8%$pVkuEp8UQGkDk_8zCgKRE(vE-AGauXV%vYTBA6U3y z^8cFHv-8xT9cV9V8~NCr8}~=-xi)Y`0RS6jbo`v@f6~B>wpVY`LsW{;$Q8!<)u|gk- z-$_byGvtZZ(yi7XEI;}5&+WVOb^y4sIyLu_>Ako8?Z)v3liEyT;q#$Mhj&NK?`#N# zWvYGMrg+!_Cxhf7xK{olmW4ues6DvJUQAwL`s6 z$4j@D%CG!btNT~;Y^PaJsWwT4TX%SqbgN|LaRt|=fvXVhdXEO z-Hk=uQJuS-fWlAiysh*-PrbigCROqwd+AY8Oqb%OtOP`jm@>hX77VR~#10kT05krO z_c|O~R!~&=M>43J-{=)QI18;i<=e{+buxJ)xrr0DgGs<|BW2 z=8+E=Mk)gl$(*7z;B?nD^TpZ50soKFJoo6M|6$J^cL2aQOzz%)Q*-Ii6TS6E zCS^62g{%osIb#n4Ml6&jL8@npfd?WXp1*4dA{u!!+9|4~MCm{(sx0Vup(=yQWgR@F zOE~Wa_(XT@(f40``Z3Ky#X^1eWfCou^&T6nUsy`&2NX%+1<>W3#?PO?XcZa$)ktdpi&Cr+_1mkn5#r`VgMTr-3T{?^#lL+?9Fex zBWgbSfwhwlKGxfOV(9Y0)yCgjPk*L+I_>(IsG1Li-6DZJC-fGB(%!|OvhSznZ$ViG z*}$jgca|rw`QEt$-*r!A_ST`dSS!XT!06jzWk!Udpy$Iq?_EEU|L*c*{k`R8mI>d} zO4(gOwK*ZfL}_JZITs40yTdH=b0wx0Rj6T{XC6sA_8a8`o! zdNJO5@A~l%zO1?H$aSU0uI=)7seWzwDBiZ`#n>IyE;;nG>u6gO+Qf>CnH=cX+xz&?Th1IF0uFD33 zMJ^zc@nCK1*Uvos$bY%!#a{~mch%>Y?wa0n+hAhx4m~4;H`$NvI{eK5@c*8B{2>|DCMJUC_KZlj~f(}x7f;(P(dtIa8Xtb6wTAKp6siD$d(J@ng^+nRe`90;kN4?}WXSMfps zNkjq~fPi>G0p?mhwC`O#E*YTTx$xM$j|-%o*HSn!a`aLgm)qF6?KjIxH?7p9FyBqXZ*1+1J$OCkw$^ z3gJA^u)+tqXMAd~j@yzc_pfIUe*eoScD-UgNN^z^BZG(cT;#@VOo>R$=u*S+wh6Z# zwTW>@ZJ}~Yb+*~!BIv`km}u)jG}(+*IQKy3^xCcEsT~ulgtpr@d8}s;q@I%T?5Yeq z17tnR-UuS?!E|DH@vqJl~7#W&^zK{KNRAJugQ6QljgY+Khbj z?z?7w_SpwFW=dt3d*cBhf=ouX$ZMo0G(^>SM&TT`ig5>QBF{R6PX}+@dGj{{!0()S z>_LR3>SPcHjywr3BnYBNCMtiicJjo3-uE?kYas*xynf+^yFYXB_=70bO2iZ?j=~IC zy6c*Gd-j0`{FkdWSASQvVLo+8#;H{%)`4ISJEJUJsLmgF#pLc=0N`)${;oHFrL|q( zGk@Ule?IYv#h%Su@X*HxohN<6zns~_5*iVyW=RMikR*xc?afHYBvQIOB!?KlqzuuJ z5msEj`QGvBhd(kn_t7WX8)t*uEYyVB-Ltt}iYhN~JUccELaBnP453J(?TV~|Kvaa* zmysSxg*~M@t(d`<$!zyWj(x=c<*nboP?DMe;8(AC>Ew4k`TpEGYa&ptAcA$9Z8Qm6 zvlP-M7c%nLH!y|h+6;G0EZ%i%X%bi4h#s(s4AdBIV1dDmiegLfLXaj1bX@^KwBz2% z{X5z|$LYL}fF##h=0oS&yJe*|7P(k8qYi-5^NA@H^n9_lMRj)0Ou6-?Yzv`k8U-mzUc=HwczHZ@Q^icbJ@~-8_$MG&50)X+ZP@dg{ zjIJ?oT0@~#WO#1aeLVJJvQ><-snX2;Z=T+J8vuOdj(dOVE5*`x%w2cu&(s zX}2{Ul`D?f5{Ma0m#Wgjjl7>9s?G2D?u7$4Y$p?vKKJMK`plk(I%nVa zjgw2?zc;K;jBODGLSCy$wKPdZS5-zjc(UGON=9hP5Ra$r$TLK#f1~%Gp8JIUwd-Cs0|3n+rng^n&*G0h_cy1VqF$h6xhazA!uf7jnBkDKHRHwD zc)RG>PmXMHIrMhb7-679o_08E&#Hb7Xf#^aq;FW8}0XRd}Z?s{k4f_hpkKBtVFq~qMOHT>&5{G!V3PZed@!<2CI+G z%kajFgRPA>+;I2z1tjHfpMUIQXGWdX>8Mim?9F8?34#JB+)Rh&Ky`ZQ`xb9Fbg6bI z`mVVHcmM8*PoG33DH|tB8h#x7|Fpellw?-k+epSZU%(jKSQl)A4JHT+5CS1tNCG63MqxD5lX|9SI(JuBt~zmt`=e(@ zJ%V+Y@49@oR{g29YuDLz-m~``p67W@9#33W5L36^_Hz_D{tI?-*27*-qSyqX78BI& z$PnC1^?z{V#jlE$6d!u#uFpUvA-Kt)bp#CoO&N%GL3I{E*EBN&JKi+7b%#OL0K!V>+$Drc5smY}D=iWBW|Hm-w+-0`nvx(915X&BIbq;X z2$e*vRmcfh%}{Dls>+HIVx~5Z@YGmK#At~S7C56I7_z*9cMV?f zvHfA~JICYp<6Rlm3Z`3d8Fg3u;6x|xoqpf5-+na9thc;Zk?wat*o8LIFb*IM+4gl{Q-gVXIPdS~?#eU1HOb4xJ4)hvF z2OV!m$#64LYqUg!D>D5kn`_0w>7dp5qZ2>*_Jf`I?@TA1qaL?Bt+fhc> zP1nF>p?a*fL?|Uu#x!NWnX(vT>d8*kdSz+Mv+3GiuqRcv@2j8cnS^CZhHXirwFBlj zgr$~*@2|wYL@CKv<8HFa$yyhrD`!t7{h#$yeyAkrvr~r2xFVFs2B9j?tbR&aCe{)) z8P0Z9GTRhUv#R6n<*7<}HTLz%xE((2uP($wdJ}fGv@btQ$(d8)xps{hKz^H>cN;pX zgR#UQ<{8N*&9zp%sS|%$M2(ITiU7{5avO)Ig4V)9+-t>JB^{a2NGs#U+z{!=n9Rhz z!i#dl`?fpzy?M*^swA16Q~ohR2&tG(U#NBTt=XrJUr`vFm~eCHvk;0)vi$&nCps$t zW2o339_uVU`ZuSa{%9)+S|!*Us?BQkroJuLzI%B0jh{XJQ84)J)3 zq%DW0Y}-g#DaSKh&$DxdUa#IB%Tz`$%JvNaz>uBJez$gNYPwxLow0300WlL)7?85i zw^=s7^c~>(>wyOz0B*Z&-A=ya5ZSSFCtYb|IfO7x8rxD4w?ia@?G`_?A7l zt2GFz%W%~I^Q9oxn4KNomml4BpjX9T&+f-3#`XaK(%dAU9KU+x)2H``S}IFX)ygxL zTTO!cOx$TlO0t?v;*N+}EeV)yIR}K$G6ocFX$X--jhtp8qp56YY1N|8 z{m{?_qcL>tzRp5dXeDbR4wY7JON73LPLngS3ui2SIBsKu&bfWe=%1C*q(PaRfU=&7 zVxc7`l9(0&Kjg2r-`lsl|LRo#;6JZS&PH0-Es$ng#Ja$&K>%Y4AS=QLV-(w*!j>yC z16y7t!#6$}to-o7_QL(gde!HOPI_A{NxCn8?BBk8^hNJ^?-nPYUVmy$2d(J?e)WXE zs`o$Lt=`8eQ59lt2t}kp!2fLX)o%fS|2h4{_n4J&B_TZ`(Sg=o2^s;K5KSTtC_=zs zI_Bq2KmF5pjqJJT>~H+xrYm3hx|Qjtq|l~8wFgduh+AQ3sAR_*p(YO)L zcM^YP15I?qO%@n}F_RE#x4NsVFRe^mHDsrY-(Eic_;P!7s%W{ECh$Q>j~M7ep$o}6 zpsd5G>JWu?*3Gb=)~27^-(Ffg2ih9hds%;WXsi~tyHsjEU^tr~B_61qzUy0yM?U}1 z;*r0vCBfqJxC~~1*`;0*ca+lP?d2^Wd|zeHN3L)xSNI~rA-{@8TC<|a%=jat7oF#( z{Q1n|3r)n$l9iGkvtSaY2_@256T~!t=ZiIoR)SH&hMmlYZEkU=%gwAL8kcALam;Vx zUzaA&!*INPV7oUTw2dKR_Xjdz2gCY8ECi*1-B3|D7q{!{@#+9bBM$w=q}!T{yRDhH zRX-hfYQ9RC6e8@!;b}*KRH!w0e`|JO*iM;S?5urPeR`!K!pI@SR!T~TP#QxjvMx9W z6nqt9GHyYG4p*49GnTQTRIK`8l=7PAH4-)%takdioq0uWbolGF<11+E#atN*GVGui?buipN#EOX=a`UTj85aM^I+= z;5#Zica#msikRqnCZh%+Q~^Rj3zI!hYe;d!?6=dK^QKd@ImfV*M%i+3I_k`9@G|O= z&LSrL=TW>bDvTO86*lnspo5vH<5xu(0ov}VNHD-Ca5wKU^E`l-uO%8ugq{$zEn?zm zT2_h7E=Aq27W?Gk-r~v+S~GKd?ZWVH_w5{twN#V-ipVg|97;)sn<Cd3Q}F2TQp= za-y~P)LRdH?+%;~lc1nprpTQ8x4#Q7Q?E4h}_{^#OcY`Qt5Ef}l0!_G& zDCxmMSA+MU(1p@nXmlA=4}kxrg@cc+|DE3-zv5*GyUh@iQO-=sh#{rH;%-cLRL^YS zTCXh(J9dyA&LpX(%9O~2QP|d^SX#nzv-`d)Zu#TOvjbb#^421RzdEx7lIe5PE~Su( z)QPQBqM=F1IWv`tKv}ZrH|G#_VjrS=9>#n0f~&v1Gryu_g(xq(1b~A0iy$ZiR zKUf~WY*)HeIy-jU$)@)W?%X_>F5j@#&W#-J)?qWQhncN6r~ApJ={{1iymQ9%OnU{7 zH0IG&39d;G*$IWc6i0KT#48d7GuDEvgx#>fO}5J`IqS$7bll0|Sky#FbmM5$o;(pY zpMIvZ@_2>2o4487o4>R)dEsA-Uvq99w^SzZFrUL$R*&|Mg;ibTPMoEN$2H0ONg}p* zd1L*$UtZjpU5>jU(~uQn7s@cRbrm<;GLo@Wy3e#z*Q83hw^p_m7@>Hyy%<`GWKx`? zEo9088#*2}=+!SEU~h4AE2|6siFO?A9(0VdkP;51rqbFxAv?$u6PKj=*Jo&W001BW zNkloo6^F)FJDWQlbs8t5b~_f5yrHnE0suK~@vU}lj0;#n6faGS z_G4XFWO9bHA+Pm-R0_Y|xBabCe&d;E>Pye$^8*wAKKuB$#@&MbClmW_UOTsR7tmcw zh{H6&e7CWPUTyiE+i!Z`4TX{2XW-2OL2Z5++^eLr4v|bTn+XI`_Droz!l@-h1WMzD zxHE^a(di`d#pf}XhIZ}y_U6lPzH{=Czk}mqFkkU(LX0FOqL>v3cJvbfdJSXo&2Q3) z)Do`)mcb0W9S6o+Mz*~9t;0KCcVltmzV#FT!>K3##nc16{tq`?{_2m6UXnW>Tdsl!o3qWw zI!nz8b1HdmyJJpPU6SeZ{$E5YKQs5#!qdH~Oc_>T!peDrhJ$Tx0ee&BUo>3&SCtn& zGylx#J8LISZ+G>#-a>8QjlP%Y92_OW%1}sm8qYp?W{=Elq}0S1)i&LpC$E2U_m1{&9(AvY`t6*H*S( z|K|R!H@%`fah@&RKJ)ZlNB!pX*Jmfc8>o1R!HSeY1CoTwFbp#m+KF_+UREA^K2<%G;EmrRcWJCz!>vgIRwb9TZh6f&lj`O^I1pDxDjfM{YUXdWpUjyjo%t*OG; z87#FQO3^AYd!U{K_-S`>zAYkdYnmA{Qcl*g;{_eoXW}rNSHZH$89c(B)6$Pd&GfD@ zCz~+|#nGUN<){aPP_#wVJsGtoZEAFE#v{s%V1t|M>p(UQ!a~D#>@+p)TF`y?cTfCy zWa(1|-N>9Y?KGRJAZGC5D%3n>wP(rB`HC&rAqA4N{ zrlGaggeV2A9LjB*QX^JMDXn#+Wkf*j*|?i6nx2Uq0VQ2NvrXM>RX=zdo zPM|?3L5|x72$ERK2!tphb&@yi@`Rh)LP2>)#sFCpRbNW{{!7w*=|IY6LUpj&PP=Jh z@W)z9aa%-sQTTO-ag|~wOS82M+eYdRODVfm86PpYvAZfGK4N9I54x$rZV;`yrk##b zCF570`@tW7WA7{fhXo@rsO1A-QnGN=%9ebk<4>R3e`i-DifT>shMg+gUU@U1z^NT3 z%1#-QTOcfOdx_CDHs!92|aCZtQxKP;yeV7d>jyRS`DR+~Ay1U6V<} zHVmC&2C~fb%G}vx66OUm!ED$@Ps9jB45^je-(GoQx;b|@lw5`F0^I1pG}~D>Zx$?* zC5aY_NE1T1TB=Mp3XD#-ELP3=M34-#@(wpsLw3rrm;sk^91og{4>o2W zJKb72jJVeWm7q9ueRoD&9RxJ!P$4yh6lX+cQ?3>1P%P=r_mOtxV;$w100=t%j}VL`c4 zjVBN7ka*)86$c?2x8ABJ#|QLqx~F#;MJ2-W)d5@MR2_a$Yo@oXvSqWVSbArH3^%x+*C>?bl|Pg5^3{v0?gTicykff=>ZB8Kwht!&0n;RYSn{nRp(w1q)k`kX< zYtEyjoJko4HZv`_1>OnTN0uVrzb-ShdB{qoeJ#NWg+sZWVum4=UUdkUj1Wsfkwht} zHNZhkP<WnTLTezA0)%q-B3VA&t3Lq7X(m+}p&FLf zpqgl+wI-Yr2~BiNbks|dhDlj!AeY`Tk;-o0Wala#GXQ8<%z#N4T1n{7L)Co9)opez zH^|(+*|1$Blmrgp)TPYqYT+|NNg6yq6|`#xp~U4p69OjHK%hhtiC8iLLop};73Z13 zEJNr}v!)3EMhqdD?DNuDBDEt3QcNqCfY_lHx)UZHsp9Txuh|CU!ZtWh!ANmQ6euOV zSVSG+H~QU7;XJySB8m_#DbrL+#+6pKVTw>n5hR8adsa_Q1_K(Clk3XPx86!|9q2?* zU@eCkQ52abJd2UoCQLg*a>u4J-4p`dI7q;>39XE^-B(F42xt<57%FEuj$<%KB$`&E zjsT0~Z@W8b!qP(rAL zPB`ddQ-*Up?ZVC>?q+KughMz&E%4*+;^CfFy)@_4;ik42S2kfPO?f61(o;~WSjv~;wA~0mNM1$yR;qkBv)i&k6XNc zw^zEB0L+&OY{tO}jRDk_!`@0wgc8t()CyWDDz%1EnkZ;MYogBl?_>>4Bs1K!%7&Aw z$*>j^Eh>gr&KXYGqSSCG$B3QAOxWq%UqAK0@z&BLq)^bX0evQ}pb9_;#;pESabl-e z+`G}qY%mE!`wS?H5vl?$nki}q1C|#@P)$at!?aG%M&0&I*y<=L?NB60)|7iizu~0^ zjFi{ZqSk>}t{Cp7qG6Ba4I7ia+JQTlkAAFdx+yAI2qt_68W0U%6CF}8p{1fiX^V)+ zfo2|MBpb`bUhOrSpq8^OT^t^EvIU1Qy()s%v2JUo=GPZMp)AYI*~BEOiNu4Anl9-do_Iq(!T4HMUpu*yy#K%9b$+?Q>o8Cn6o}FYO zD6kHTc$j#mWydBX+}2uoP2cbS>c+kQ?Kej+_*DY1*|6JCTCItt0BYDuXCxufU!HvQ zE8m}e>IYkL;}?8(*9{-+v%J2Uu+!>^SkW`JR+CZ;*{M`LiB>*)djB0is7~Eqw9*+( zL2Gd@-j^S_{MPX+|69Ru3iDy7TQHr?F6FFjIG7IG(I;mgKl=9a*1l^qL&Yq&_)^k? z)*3At$8DMPDyCz(%)m_4?Hvso-61RG>~;!ilTfx8`v{dV86k8g?BFXaN3cCr!l;u4 zXAGy4-m}ldjqg2{H11m^(R?LlV=F%R2Y}vL5h4Nz ztuDCE*B-7FoQx!|$FaA^E8{beML_Z&R?%b*I5cJe_b?m4@ zH^(zNXgG>Ur2$PXYVkvz)x%$zf9?k#o4ESdF3$FET7PlJdi9l0op|i4(|&W+<*8Cr zMZJGpIC$U7OJi5RVPN~!FI>zQ=MMbjfz_Fx&W7D3n;RBoNHpctwp><~LG>$3lMh^! z?%VU8;R{}LPSzo4;3N+3ym)9eRFVNY zSBrdhNNMazmFY$4$~h?S<(UD@MIHIW#%X3ShLmApr<>nWQ$eHmWNT3$jav1d67&ME+<#4O$oXaUy9t!& zezSUv9`@_*eAvZ+>6Twt-u!bZmRL(rP$XJ{5ekb^1WI&-*0P`59w*cQPy&DlTl3*m z(y1z<#gVWs=c9Ib(oBhW_U{^i_Y1E91hCJ-8vx)XxzX$2Kd@)VttTJ3^INme-kVM3 ztu%4G1UdpW1t)+YnldCDN}Ik2l^^vwf4%$VANrl~%U%NjKWoe#`R>w*CtFF_9d$Fs zS5`J%dP`;E@>?nsmmiwg_okiM{w>dSR!=4}PGA{~Y9bUNk!I2tOh*J%u+*3HYLu2Po{qw4}>p60_-A2y3FU`a=sn>BibMh^}XY_jY7`8Kh@I}A%zjmgI z=aRNteti2M9ABDxFr6Q$q_{(ch=Xd->7u*Z{^-T8{n%e@z4lkmj{Qk}cKX`;|NeL2 zrsIs8(rL>L0UBt75GdjWNn|&|rb4^!|J`M8zU@837hd!A>ha^BUwW=`ZEiSgfTAV> zRAXNqYFFEz7~5yxTpG8}&i^OVkFMNRo9~DT|Wh&h0=Ba=T^V~6q?Ua3UX*{*fE%5!_<=V%lAD$|6XM}N;p9W#_h~G z$ii(W9=`k5!}ou&kf|7k$?8PYHsdT-GNv*nHl$3ibeCJ7-1(B<`Tg-L-v9u=b@1MQ zy8YNs{v8SeoC73@L2dhz+|Z7HzVKBa-IXei0Kk2oLeQ5psmu3gI!cGmk#Bh|9f`Osp=1Wd~c;YXo9{$1UpnXm%qHK8?o+*vHjyvEo zGZks2eWrS=GH5hO)BvNp;N~jG6b3F#_YDKUdyd@y4-YqIZ#xz=egXYeCQ>6mi9H4cjz3Wy=wtn|Z2z=gP75tR42}o36~ zMG+}W%+8ez$MU!tUX<$3FU3B8ff6qSQ5beo2$ZPZQ$6whzdU;X-(UF17jIvTy61{~ zAK!GQOhkuspW!tbu=F_L(2wKKY|>q`mUU zK%sx6KT|AMyutpWlg&N3I=z4Q{r~XJ1D)#h8uOn}P$(#&2uoBHNol|oQ%+stO>a8? zee132JUjlci3@!bZsoM1AyY9?l4>fnQZaM0h3{8S9$G*06{Yc=P?BpwatL*f~Y1ZC;_cH(lA}hapx)(CkSOl?-=cPpZ6c+{*5ufKd4h{id4ao}8O%Z!^Hl@LqFJ6-tpqAE8{mz zc=;VR<94DX=7aXkcbAUcf9;yDjXyj6#2w%yNm*9W1F@^pKXvEo)E5Sr^+-zL^2^-H zMQ51sfYvY>OSy)X${9|UFoeF8RZU6nWYU?F6mHpY&u|en*cq(TxSM0QjbAnRfvE>h zbeV2#R!C)~FiuJU3fhsLET*K6D~90FrFcdSNctF=a7{evl!O^=@^7c0Qm1m9_UQ_ z&2yZrA_zQ&N^~Maqs)k(6<3KIwIPQmV~nW@vO+{6fiY_JS>D9BliB1lGpU$f zuR}!VpXx`CLCJQ9_A8 z5#4MAO?{xV;-7yaT0E2jLP{_Y`=U(WRlmLAg3pX)N8TDpaqjf_-LXrrftE&H1Ym?a zl)!*q<2DdYgh5#X5_i8mfAG6nBL*QcV=U%MCoGVX^{D#g82MR4f8#gQlv9^hED}Kw zX{vod_L%9hA5>?a75aIJrB{|Fc0mBpU|O9;fl=*HlOgVOpK32HKkvg2jJ{@I`wb_1 z4Xgw`w3ApjMA+&kQMeNM;2J0~8`EK%zqmC1{`YOT^p7sh^j+T5dSzb5lU>MK+OSL* zPR5{Y9UV+3CxX^Vp|u(?Q^+$5X=-`{Mrz}jo!e73-9bv%@G(bwwdB2%KWwjG@>>SB zTQ_A#Dl^@N%cM@P#36kyXsrsR*qG@KmYI_-b0-A=2BFj>OgWUxS=l=_qobvaVT}!2 z=^d_VIVol$%`G^L!)8o7%m5_>dL2EB6G}N@+8_)mX0ahFGdf}CFD{#I(PUPmMw0oW z;o8@_eOoA@NkhjC5Te)5;ZklBLWoo#L@NrdsINsrplOb9%K$So%v62c8`)tOt{gDj zVT&+cWH$Ou7hRdOeo~*g=fURe9qau#i!vM3u$0z1ka4@2^p-hi_TEhYbyxRIylvP? zpI4;uMFJ=tb(LtfM3T&e9Y6!u^o@PkV06nluv&R+{F4{H>PKsnJW=9EN3R=Sj> zs!}$*ftV3e;1=@CL{&ye1i+|7ikMV#iB%Z}iB^V5C_j_al8jPDC`F2!aJUIgNGi|V zOPV5{^%$QXBW__e4jPLp@B=NWgtpehZ7Csi%+3s$gsuci1YBtkF%UawFF;Lil+ZHx>0-B4$HwYJ78g zaQB#-xv&ujnK3JaF(-%h@_7qEw{BBDcOvN=+ivA2O5EBzpZLUO24>>k;CV3FvCFR9 z=@#-II(Xlmr`n5?o||_v%rYcZJw*_eh*x~FwfNk74&3{RJm+SlRUGR`P>U$jf#5m;D)4k72#K_zLJCBX=zeSY$P;IWWw>d-xU_L^9JXU<;t?pD09F)r zqU%ay6C0fDc|q6p`4PC_{?ShDSSN~-ND8l+#0pxrZpm$=0Mt^{jmxHk6&ax}V{CVe zJKkB@_P!4cUhwIgOPk*T&YX@6YtJu;&r?x4vy*mn&LM|*X=wzBy=6Zz8OuADxw*3oS3^}5RDi=f~t zN?cIlDkvLLuwNZmWA6X`+<{|f$9l}bMkn2z30h1jm5G%wYl+V%tZaXpoBSDnwfU64 z`dF6oxisa?95c{X5f+jja@@$iv@rVe7Z2?G_||mcvh#4KS_?2UUo!2%rO2OtxV!M3 zdC{FVDbbvgb3A>AF;q-Xj(Az|;iLCgkM`>4{PRI8W&Od1EBlv&w$+G2z8v*pNNw4Q zS^{qiWIqtA~*4LRD0@^?ZfZ>ay0wLphTxAgM`vQi&l;tjO(X;nMCI^ zdq6-Ga?HSqsP){Ru0Hqnd;P^9=9z&$Wx&-jDZk>u8bhGgiC441h{Nexu0D?I-;@epsEtWM>5*-Eb+c%s#&{Ki*#KesSgCY|-|F!8w@0WDC;oXAU-U zk5EoA;-=}l4&Qt4Go9-3^}k^dLjG{`)i*tP?K^(&XRn0y001BWNkl&VfDRF-TC0#`nQf} zxy1qC+T4(H=gKiBQW2Aqidx)dTMC;k066A1SXYZUP@=&JU#ZG48shfWHqoh$jLcTz zqiovQ4R$8`!e|b0Fw+&TaaF$m6)!7neElGE`m2c#PAT{q?`E@|L(>arPfOa<348b9 zdlv58``W>x;V=NWu`rtcaD1`xsnd_wccd$xB9iq~Vrr@#089f&a|0#A#$?c({7F## z_h(i2N3lh!8?5|E6-beNwgW zdZRo1z8!|QZBF;lq1uxS8v@8`poFiWbM(x^^5>hcE7C0lp^}OdGQkKzL&jl>a%xk~ z&M>AlfhN9+vCYZtzRWA{-XGKs++CZ#W3p2{f+TirM$RK83|Xl{mU1LA!KmrsMcHAz ztTcwb>AthquD`Z?r2daf&&?GaPY;+LPcze6Mm%?4Qk~nu(gT|4i4^0R;Y^v{vvi_$ z$xm+oy)W#!<)iNy-gDXc65IWQ-?{V+?|!I0bK{>*{p{|0=Z`#S8XhlsUQQ^LFd(MH ziX%%>!7>EpN%D&{R{r0N{No?jQxD!Iw-QJA%#E2=5kNvvga6aqbLWhFZ8zU?;U|_) zO;g)V1yOJHH6y#X0l+`c9yo~F{L($Erxt&uf9uGaA&q5rItQXKi6bRxmnv=ElpDzd zz{8!T<%eDkO3D|OhR3hY z4(`O6Vh$%19hKDEGLZnvzLH@NDjBj0uy^}rv(VJ-g?bjKFcRAoGmvGk8f(;Ny zozvz5@N{Q6n2S0|pXphgQZ!}Ut#BvPQz9I(Gh)<(7=op;p-AP9kvlUxY9WJV9d8eJ* za#D8ZX5&t+qoR%@wX!tb2oU!y!yf?3rdzzBJa)^7n?W@RK?p?x<*z2e%xv77gVtLC zU`hJ*S<&le467&reMxSRKiOOiK0CX={(+H;&t(oiHg<*gM025ayxXugrHkmDIn`%^ z&Z&Q$d-k)ioT-wVPL+slGbmqbl~BzX0W<|cTO}f+AvW-IrK94``nw{r=IfpPj8HA0 zl`+Wd@c^pxukHEUdQRZJ!5;d}1|bMkk~C!4qwADyKRxs0>VGUB3twCu%jHdn9gEwi za@?{gC2UCq_0Nr6w`*T!AX`)MOhMUQXfoK4vF9t{a7}PccHp`JZo_(kIo!2!Jo;IE zAxash`u$B;X3suWLM!^kg#$s+wEYXRgJzoB5kM3`Vnq>2XkQcU4^sCMkFY+Xfk4DK z6?PtRvjxwVFz=ds?%oU9i_^b9cEw9SFn;N^FEqDz4)3}0irmoH>!1AAUms~#pXhgs z8OjhP9HA1NO^ocKQ~7@N%k#LA(EIe61bd68TFRFzIfyu$@H?^z`%w1 z;VqqRJ@Qh;!CU$!wmsWkS)OYzp5pm__j@Z-Q_Uni=l{L9G*-}BSE^ChydgW11As5D zOfF=YX)?m$!M563wN8p~W{9Txb{mDQ1I!(6=s28>Iwun)&r1VFQlgtAsKyao!jL7r z>x*QPNL{o8sOy$v9HMzbC1@*fRVz} zz1lrfQTL~5YBSDwbD%I_FDK#j2cP}U=XN~sg-?8Se)8#`ljKYl`yajf9e+}G)0>)6 zM`|EN6XiG@Yr5p+N%G4#@>_3JQ%+I#V2XqrvDPYt)IKbS-MMt)sr5r&Rhig~&QkNm zrO{1mO#i1Ig(SV4;fQvpKKtF3sngH1-#4%gb}nO6KJn(h?WI`D@QLr5w;4{R8*5isq}n>+SxL*`zp-M z)kN4ilX}wpQbQ_06GbRdAd&=1HDf>k1SS|yl$ISSe5xr~uP+Ww^jWGc)Y+p|YiOp4R*Erg zhFY`(r9ePHKn>{gn;7M|ZB0120;81Hl&pcHZ5T%47>3&J7VQ-sH<#m{Dj6=iT84RM zmb1h#vtW&uh>j*ohC-Z2LJarDQ@|wzK_r1dx6%Te- z17FH+iJIvl=55bW^NIqquQCZ60SHFS44w*Br@pX!=zU&r8c2H-J0d2R2-MDFA$Lb@~wXQj7v!aN4_T z^~BV=)+^ZPWRPPfEt)oYxV6At#S!WG5v$c&;2=xa=nbL5O>y z8twW?uPJr*hTaMYUQ1aKQQn2I$J5r_xz_yjbXqHZ`n4z4uXldCySadWa?5-1%H-h9 zb|r#WxJIjoL?8n5hMioTQhH%p=!Rtv5TkIevhaQqtl{f6&_LH5BqT9%w)uqpNYFJh zjstTXR5S`^Pz3KK0g|BFDym;U-;p=@B-nmCO4=uC&9ie+HZ6tddm;KQo$2qcEuHxC zaC`V$uxLvv&33lpq1s3f>dg*GVj{a@dD>8UqvyQ?`r^S!sc=brb^ ztQ`4jZ*z5bu(LWXQXc{aQ8MNK)9$4g4ovZ;^U}H2g8iPE6$1cY?r*52q&B?})lSbx z@w-|oy7{~G)OUQpo;`VoYAoCxwT?uB^@g1sbX+xwgt$TeVP2(k(;}|FTn)AvK0c!w z$25d$3*ESE#|Mr>c)bb35^xd8My8|Vv5r>;0;CG>##_$3`hB%SKm0SbQ@`3EIW=Gd0iY>W{lFFz2IIO& zP7#TS5hxE9N8|cU4I$^Z%=oGhP?DqsD47I58iukL5TFGmHz%#-w|A3vY|$MDH<*r+ z+Tpl<+d@)1JFVi@$*A70t4KUi99+y;HcslsO6466+{C?D^|#w1I@Bc9lpw7j)9cd} zCip{fEt4eOa?)ZYh5d{q)aFdV9McUwPj@{fWgpex#T8ci{yI2*(H|9L9msS4{n-_EH8GlOO&1ul?ee zI_qn1k=TT|x4CeOD@>&jRHCnICB7q(9KZ#<=#%-_IcW`ZC^=ApIFX;sofIJs+OWyZ!(6)h}#ZKmY&k zru(3Tz`#`mhG3BDxO{U&-21D|WB=%<>Zd+2MS6aZ4HBWyab`yl{DMs9Ob9oG9?#5^ z;IZc_98X#&|H0gyzkFP0w_mOXuR69IGpD&T#ei*}Kyb|D_{Mt6GKaQGnn$Dh^vFA| zh%u|u6(VtB1lL$Mlbr&7;NWq&8ufE;S&!5I>-b3FR^Qqm7pZVz8Q-Am0Y&`dK&klE< zZ(DT|UM!d1^0~(R?eI1Qd=kiMP#_}d1H&>z8N8bu%32zL`JZ0>$``MnV@<{>gbOSL zu}}m6XWlW86EQB_#?fdyM6PbVlZFY^R8*JG_P1Vodbqp&R!*1I%izLe2bZ6hNlQZT zNHULtpdpgXJhJ=hv)ARkSxd)_|9$hhr$4{>{6GK3c<1*E_LI7d5Qs5Gz{{MAuh<^0 zx;$=+Xc-8y<3zDUeVcW(Tjg;qpYru ztQk8nk8IT!M6ki5^p0-~nEpvtQSL}#X1-b^ke2tM64lhJLp*_&cjKi0E(K;Tpa z5ixtof&~d5f{@k+SL#|bd1>6+964j&;4rf_Zk7v9N8j)xxNwO6-%5_0Eb zU$S&XDn$ufZU5TVOJBYI)=%wRe0pctxiGC$>sgF~P($(5Nh^vW5<>6GSnKxB^83@b>%t(b07C!Hj?;9mXsg7JNO6(8Mom%|d z!K(iK-a6m7k>dy8YU|zY!$0(sOLzV2(`ozct}9@fQ3T#NaMk0ln9NkBX2vWUre0Aj901S8r4ESvzCsA?W^=jNH zymQWbOq>ld3y8n~hsLZ-PgmaGellt<|D~y8OON)}cdk|=n?S{}Ak7GH{>E1X0YQ*3 zBn2;~&6U}>)|!bkw4wwbx$=kTxwm{iKYsK53w4obUruHk6fLt43AvC2?-MX*JLR

xZhr!JZG4L2ycn5(!ouq##BhLC$(RXzMt{;#zI8Z}RciI_u9Ssvdd8wi2-? zTk$)ZuDr3$pU=lm`Ct`7>4+wAT$lfD>&4$2I`ii2fAQ)wzY8UE0AmG=r4JJ*j5DQk zglg-zb}v5tmSBEw@b&)Y1!VO+(uw-+)}bG`MK{ly;Nh4-48%<6yXwlOnVb&+j@fJZ zHu~zw+sbnQ*oD9W)_bo(wFMQQZmQ^nB1+yMjuhSnW`<`VW`SuD*EWLLW>DEui8z)t zTZghH?r1K=|I5|$*sR`Cy-Soz?q0n0#~)lc^&tU)JyXD6J5c?6&sAUDcV*wQkFB+# z7wpJ$0KW~OJzo{uuB@g+Y_YA-OKvwK; za5^iz_kCN1!ddQ{(w5F*Xbb!4{ns9SdD7iC&f&#z2N7ucqetI+8UP;cUhZX5kb`G| zKoz^7mAGMSOyss~KC}V7iM1~i(?|-56WI**T#1jazgdFec-CHi;@-dcV+e+JhWq`1 zkOW4|#1Ys>_VsCh^wa|%`radV|Hb|8)yoGa4`9kXR7`>+0ahbxD-64rKD=`0J<;nR z|Cej$KRucZFHI{AWvP-}Iho3UIfQR#$McT{^4ELj*HV^XLlsx-k+-8H9Q1de`~2Re zCjsE%q__PCz0I%Jl9p1S2?XbeRW60f0gMsX{G*-AZ?4p@?!5E`*x{4!YAxUU6U%r0 z+~1i!{ga2I?4}+Ycw+9tY_7S<6Mb7Rj}#08RjEz zEWn<@HxEKJJqZ@euQw-pw*1O(bzl4Kk{wF6DAd7Ww9k5RZ476 zCmB7w{tXOXk6_2M_U-pgA9?p67?kXwiE<6M1)-%$G&PYb;lmX(nygpj>U1`9 z!&v9zx_v4?*!boC#iyS$-AgMXKFEXHn6SgP%W+tzhktthj$b(()z7_L^}@EB;P5qF z^*3|pcef8^i%}K@4uLs%#~vwUyjpZ$_~iDB|MPk=x^Q289v@l$4os^UFO@xXd^LYe zH?ktQuxiGWZJV1r8guE5+?BdtHG}S+&;5waU_r;dmQZ_Ra{aT-IeatU!|!z8tPgQl zeRlo}_k8Hb4=0WJgZ|#m{$zh=Y^()TY{Ru;Ul57M?)~A1AG-7V|6ZL%w%gy?*&poh z?GC!TJCofjlVY^{x6gjhkN(W@`+g7rzTCa~!oPU!YrouRH0l<9;(@Awa&cVwZNkJ=r(XQ+|M5_|bQqDC z1St)ZAfYH>M#FmB?BsoS{@%a!zrL$EfBXY4eCih<=8h_zcx( zGn8w;Q*OOjRi=KoZXHp9w_)xa@9Y$SdDrY^6v11Gsn**B%?cP zvpAW&NfEWb-Mzdcq&PB$!}+p%(F^gyRFpQAkirD(Ql^%v4E9~woRa$17e)s-owV>z zkGva~t0Df`?lU-^wqXQcN=39WAEn6^6nhb?#5gPV&6s9cH&4m>@@;W@@s7s)f3}n_ zjSu`wWqc+(`HkWB=*6Nt9K+}9CNE0(enzUf zAfsDeF8jJu<WqiLN$5uN;HqHJ zQZa58wQ#ej31VQ8;^nR?=~1)we5|8tfnuEqr9QKNsdK3s_73T6DuBb7{NSG2-28EB z>zz>fnJCGob;7eMbsblQpWFE669Z?)O%>}0+DG1#O6k_!1fE2mDXj$wUvVgiB#q#@ zBjNLzIJ+Z-aCbE4@k-vqW5W$B#Wl2}Bs7HHSwr#6ah0BQ5Z*KS!0bVU3Ayq;dgj=> z;+d%(Uu^xy&TBleMmTt`i71MM3^P&2hm)o{#Ep}`I$nLU%Ql)pRIb_Liwi>ESF*1W z2^@}7C=&Qj{VS*ki48XyZJNBF2q_N7^<-AXaRt_bC{CrqdO6;>QVm}rhTgN~!K{vt zp03TD+j0dCMRk`uQ!d9feJpOJ6L!7-cyJMgca#TbLExs0hBWO;L{WMs}LyLDi*(R<(bd?_h0|@ zhghrO?kRsrrhZqk({0>I)*Oj+U+&iuN%~}*$7Za+)Kqi%SG$W&_Tp)K4PAP9B zq(iJZ(y0uQ%=T?DfbrrxTeE-T-K|4^eMTooD-J?RiI^lt@UPvbTk6lMxnmRds1TqT zsMz6G%B$aet?1{|PAr7rOu(nXAj^0@VncGZkHsWlze_j;Yv(OAEs#9f&3O%eH|c{NS_-8J8Ocs zo`deY3R5B;l<==aLRE)#ZPrV&TWq!^0)d36f&)9R=A1gzHM!Wcxf_`ZeOJ0Xcqa*n zqykA*-JQ)YEJm5C6m{oClHH_h3%_R%z6ONoFr{~|+fjR93iNDgt#$l9IU5apZ&2wXT(z(2v)}P|4xRlcbJw&G^Icaw zt36snXK=-i1~MRZ!3z#Pp=GqTwczHe|UM^|LkTtc9q5@CdLjWp&U6p1v8icEHr!Y==4`{sXsdu`^uovOf|%WX@< zQjt7p3fb9)xnu=!r)b_xAex7on!wvv-DFRJlZ6mXAGl(2)s8!!L!1h==)4~l9C8SR z5!}QARb6PBmGKf2ZmLTiUoM81{=@DoAGgFVlQR0y-0A<}aN0PcAVLZM+y>0$+oHx% z4IvodQLy>YxzVyr?(MLhLI|Q@m$MHW3#8p1``)G~`%@y0Eu+kY(6La;vFAx}uE{Dr zL+Qy^?5JzJ4>E8JW=RYR#LPsdCbf)(lDjYmO%~`1%hNa3UR`!CK8=^3SLU1q%*!iRq5EIC2afnw!84+iyjX?@@*BJf4p?%I%eWp zqvucTd3I^rO^_=um0k9;l1*u#G)IjlDgc>Eg`;8^Rg>`Hxp)8ET}k`Q<#N1R!iN=A zM~ADIQc{ECIstkSh3;F~cD7`&eLD2c`vBHND)-(?iRex=S5|p)1r#u^v)LYOGccE0 zh>aPj=u*hLOrmTd){a~r2^mL1PG>^uAZXo1v;#ph6-m3P<3fRYj4+xo))y%Xl0|<9 zReyn^R!b<9(hnmN0|gdJsNNLI-H2q_l6v|z+u5EH36?3+fk^HN(=T8-0!c6rmBi70 z@Nj|-4uaV);bbOcoIpm?q~lbnY!qDoB|q3a5jB<$t6JL;mw#Y8&)qL)PAj$L(WVpV|>l6QRuSXsMe))6UJyGE1M#imJ_~4@8rkwYUx_4PEv}7D8_E0Ir#bf_P z?=Sr9KmMzKCZ4~4-4*)~JZ_M>G9%;F4%thNf;}SAY)HN{f*sUIhY0KmqSAn=v$8S7 zND*NuLaeoFMN$R=ZITdIXH|-(ifo_!K_+EMBt|3zXG+C&8QC>AdHxyK|Ay3}n%B+R zd+G~!#6q}&c&jVytBWF$hQbJ-@))JbIu~0GJWi#m^@3gP1^Z;3bg`h*bR(3TmS}iJ zHJc=m*OUrJWE$t}J45*HEG35$p_U4E!&_Ceh=eSR?f2R0#AhBfoMas)?G=#wdik zP;3SEzGcUM$ePA7iYzIb++CZ!Wj4xEkI+3VYxz-~fk@_K;=Ynp9M(1AB@IZ5kSeJv zLH?9(HWDHGtH@uSB8{5Remhj#L%8m|jHxZ7@M_2}H)TXOM~$RHxSR>SGbLj-M8$;N z=(fh}i49r2_^Rw&Xof@*hf08rw3$x#H$`g9Op`G}u|#S8 z6&`n<<GL8ih`Y+k}2k8GLewg6yl{mo3+a*o-a8N3j|9rLxf^ls>y`i zFs4{J!EO}ztD1Bgv?w>o4uVvn#&y#pjL$}m#mhbqL@J+_G;U@!)A7Y1RXQ@D+z7Fj zLA8dYy2n*UhA=o_KRT?kF!IiJ;P&S!s|SRbN%UF(jG$=Z12T$qAhjzX<%~+q5+!=b zZrza4jVKO{5XIjLgDVw+tHJr3sQ%iLjBefHQZ_~0es6o_j&C0O3typ^KNVAO92M}n zFf5BfUTKe z3kXkO&O|iT6lx9(LEycJ2w-V~K%}J@2tub9c$7lO6;-cxxthcfK8C6(h&@RnEfsGo zQl(21(T;02LDV(E8c!I&Q>PE-SBPfkLt<9L zr>LRNh^g8WwzJ+5Zc4D2ZYUipAJ!xZsRjE@l