From a48d911d1c89177a841fb086441c126ea4f2dea8 Mon Sep 17 00:00:00 2001 From: Edi Date: Tue, 15 Mar 2022 16:34:48 +0100 Subject: [PATCH] Addition of files --- CHANGELOG.md | 30 + README.md | 43 + admin/add.php | 16 + admin/css/admin.snicker.css | 106 ++ admin/edit.php | 93 ++ admin/index-comments.php | 188 +++ admin/index-config.php | 484 ++++++++ admin/index-users.php | 133 +++ admin/index.php | 85 ++ admin/js/admin.snicker.js | 125 ++ includes/Gregwar/Captcha/CaptchaBuilder.php | 717 +++++++++++ .../Captcha/CaptchaBuilderInterface.php | 29 + includes/Gregwar/Captcha/Font/captcha0.ttf | Bin 0 -> 49224 bytes includes/Gregwar/Captcha/Font/captcha1.ttf | Bin 0 -> 76232 bytes includes/Gregwar/Captcha/Font/captcha2.ttf | Bin 0 -> 24108 bytes includes/Gregwar/Captcha/Font/captcha3.ttf | Bin 0 -> 15976 bytes includes/Gregwar/Captcha/Font/captcha4.ttf | Bin 0 -> 906980 bytes includes/Gregwar/Captcha/Font/captcha5.ttf | Bin 0 -> 49724 bytes includes/Gregwar/Captcha/ImageFileHandler.php | 105 ++ includes/Gregwar/Captcha/PhraseBuilder.php | 59 + .../Captcha/PhraseBuilderInterface.php | 21 + .../Identicon/Generator/BaseGenerator.php | 250 ++++ includes/Identicon/Generator/GdGenerator.php | 90 ++ .../Generator/GeneratorInterface.php | 43 + .../Generator/ImageMagickGenerator.php | 98 ++ includes/Identicon/Generator/SvgGenerator.php | 88 ++ includes/Identicon/Identicon.php | 123 ++ includes/OWASP/PureCaptcha.php | 244 ++++ includes/PIT/Zip.php | 516 ++++++++ includes/autoload.php | 23 + includes/img/default-avatar.jpg | Bin 0 -> 6037 bytes includes/js/identicon.js | 205 ++++ includes/js/pnglib.js | 214 ++++ languages/de.json | 6 + languages/de_DE.json | 204 ++++ languages/en.json | 204 ++++ languages/es.json | 200 ++++ languages/fa_IR.json | 201 ++++ languages/nl_NL.json | 204 ++++ metadata.json | 10 + plugin.php | 893 ++++++++++++++ system/abstract.comments-theme.php | 46 + system/class.comment.php | 494 ++++++++ system/class.comments-index.php | 476 ++++++++ system/class.comments-users.php | 392 +++++++ system/class.comments-votes.php | 226 ++++ system/class.comments.php | 564 +++++++++ system/class.snicker.php | 1045 +++++++++++++++++ system/functions.php | 90 ++ themes/default/snicker.css | 745 ++++++++++++ themes/default/snicker.js | 281 +++++ themes/default/snicker.php | 311 +++++ 52 files changed, 10720 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 README.md create mode 100644 admin/add.php create mode 100644 admin/css/admin.snicker.css create mode 100644 admin/edit.php create mode 100644 admin/index-comments.php create mode 100644 admin/index-config.php create mode 100644 admin/index-users.php create mode 100644 admin/index.php create mode 100644 admin/js/admin.snicker.js create mode 100644 includes/Gregwar/Captcha/CaptchaBuilder.php create mode 100644 includes/Gregwar/Captcha/CaptchaBuilderInterface.php create mode 100644 includes/Gregwar/Captcha/Font/captcha0.ttf create mode 100644 includes/Gregwar/Captcha/Font/captcha1.ttf create mode 100644 includes/Gregwar/Captcha/Font/captcha2.ttf create mode 100644 includes/Gregwar/Captcha/Font/captcha3.ttf create mode 100644 includes/Gregwar/Captcha/Font/captcha4.ttf create mode 100644 includes/Gregwar/Captcha/Font/captcha5.ttf create mode 100644 includes/Gregwar/Captcha/ImageFileHandler.php create mode 100644 includes/Gregwar/Captcha/PhraseBuilder.php create mode 100644 includes/Gregwar/Captcha/PhraseBuilderInterface.php create mode 100644 includes/Identicon/Generator/BaseGenerator.php create mode 100644 includes/Identicon/Generator/GdGenerator.php create mode 100644 includes/Identicon/Generator/GeneratorInterface.php create mode 100644 includes/Identicon/Generator/ImageMagickGenerator.php create mode 100644 includes/Identicon/Generator/SvgGenerator.php create mode 100644 includes/Identicon/Identicon.php create mode 100644 includes/OWASP/PureCaptcha.php create mode 100644 includes/PIT/Zip.php create mode 100644 includes/autoload.php create mode 100644 includes/img/default-avatar.jpg create mode 100644 includes/js/identicon.js create mode 100644 includes/js/pnglib.js create mode 100644 languages/de.json create mode 100644 languages/de_DE.json create mode 100644 languages/en.json create mode 100644 languages/es.json create mode 100644 languages/fa_IR.json create mode 100644 languages/nl_NL.json create mode 100644 metadata.json create mode 100644 plugin.php create mode 100644 system/abstract.comments-theme.php create mode 100644 system/class.comment.php create mode 100644 system/class.comments-index.php create mode 100644 system/class.comments-users.php create mode 100644 system/class.comments-votes.php create mode 100644 system/class.comments.php create mode 100644 system/class.snicker.php create mode 100644 system/functions.php create mode 100644 themes/default/snicker.css create mode 100644 themes/default/snicker.js create mode 100644 themes/default/snicker.php diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d7b0879 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,30 @@ +Changelog +========= + +Version 0.1.2 - Alpha +--------------------- +- Bugfix: You can't comment, after you already comment (Error + Auto-Logout). +- Bugfix: Translated strings didn't returned correctly (English is returned instead), + Thansk to [#10](https://github.com/pytesNET/snicker/issues/10). +- Bugfix: The "Terms of Use" checkbox couldn't be disabled. + Thanks to [#16](https://github.com/pytesNET/snicker/issues/16). + +Version 0.1.1 - Alpha +--------------------- +- Add: The Persian Translation, many thanks to [abdulhalim](https://github.com/abdulhalim). +- Add: The GD-less PureCaptcha library, written by Abbas Naderi, which doesn't use PHP GD. + Thanks to [#8](https://github.com/pytesNET/snicker/issues/8) +- Add: Reload function to the Captcha Image (Click on the image). + Thanks to [#5](https://github.com/pytesNET/snicker/issues/5). +- Add: A JS-Snippet which Enables/Disables the Gravatar Select Field. + Thanks to [#9](https://github.com/pytesNET/snicker/issues/9). +- Add: The Captcha and Terms note aren't shown for logged in users. + Thanks to [#7](https://github.com/pytesNET/snicker/issues/7). +- Bugfix: The `comments_per_page` option couldn't be set on 0 to disable the limit! + Thanks to [#9](https://github.com/pytesNET/snicker/issues/9). +- Bugfix: Reload the Captcha, if it was wrong. + Thansk to [#5](https://github.com/pytesNET/snicker/issues/5). + +Version 0.1.0 - Alpha +--------------------- +- Initial Release owo/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..d7199b1 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +Snicker +======= + +Snicker is the first native FlatFile comment system for the Content Management System +[Bludit](https://github.com/bludit/bludit). It allows to write and publish comments using basic +HTML Syntax or Markdown. The Plugin also offers an extensive environment, many settings and +possibilities and is also completely compliant with the GDPR! + +Features +-------- +- Level-Based, AJAX-enabled Commenting for Guests and Users +- Many Configurations and adaptable Strings and Themes +- Guest Management for Not-Logged-In Comment Authors +- Moderatable Comments (Pending, Approved, Rejected, Spam) +- Extensive Backend with many possibilities +- Compliant with the European GDPR + +Requirements +------------ +- PHP v5.6.0+ +- Bludit v3.5.0+ + +Dependencies +------------ +- Snicker use the awesome [Captcha PHP Library](https://github.com/Gregwar/Captcha) made by Grégoire Passault +- Snicker uses also the [PureCaptcha PHP Library](https://github.com/OWASP/PureCaptcha) as fallback by Abbas Naderi +- The Avatars are served per default by [Gravatar](https://de.gravatar.com/), made by Automattic / WordPress +- **But** you can also directly use [Identicons](http://identicon.net) instead... +- ... where we use the [Identicon PHP Library](https://github.com/yzalis/Identicon) from Benjamin Laugueux +- ... and the [Identicon JavaScript Library](https://github.com/stewartlord/identicon.js) from Stewart Lord +- ... which itself depends on the [PNG JavaScript Library](https://www.xarg.org/2010/03/generate-client-side-png-files-using-javascript/) by Robert Eisele + +Thanks for this awesome packages and projects! + +Installation +------------ +- Download the [Snicker Plugin](https://github.com/pytesNET/snicker/zipball/master) +- Upload it to your `bl-plugins` folder of your Bludit Website +- Visit the Bludit Administration and enable the "Snicker" Plugin through "Settings" > "Plugins" + +Copyright & License +------------------- +Published under the MIT-License; Copyright © 2019 SamBrishes, pytesNET diff --git a/admin/add.php b/admin/add.php new file mode 100644 index 0000000..44ce605 --- /dev/null +++ b/admin/add.php @@ -0,0 +1,16 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + // Add Formular 4 Admins + +?> diff --git a/admin/css/admin.snicker.css b/admin/css/admin.snicker.css new file mode 100644 index 0000000..d6cff98 --- /dev/null +++ b/admin/css/admin.snicker.css @@ -0,0 +1,106 @@ +@charset "UTF-8"; +/* + | Snicker The first native FlatFile Comment Plugin 4 Bludit + | @file ./admin/css/admin.snicker.css + | @author SamBrishes + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + +/* @start GENERAL */ +.shadow-sm-both{ + box-shadow: 0 0 0.25rem rgba(0,0,0,.075) !important; +} +.table-hover-light tr:hover{ + background-color: #f0f3f6; +} +/* @end GENERAL */ + +/* @start Admin Navigation */ +.nav.nav-pills .nav-link{ + color: #343a40; + font-weight: 400; + font-weight: 600; + background-color: #e9ecef; + transition: color 142ms linear, background 142ms linear; +} +.nav.nav-pills .nav-link:hover{ + background-color: #d9dcdf; +} +.nav.nav-pills .nav-link.active{ + color: #ffffff; + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75); + background-color: #343a40; +} +.nav.nav-pills .nav-link .badge{ + margin-top: 3px; + text-shadow: none; + vertical-align: top; +} +.nav.nav-pills .nav-link.active .badge{ + text-shadow: none; + background-color: #fff; +} + +.nav.nav-pills .nav-link.nav-pending{ + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.nav.nav-pills .nav-link.nav-pending.active{ + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25); + background-color: #007bff; +} +.nav.nav-pills .nav-link.nav-pending.active .badge{ + color: #007bff; +} +.nav.nav-pills .nav-link.nav-approved{ + border-radius: 0 !important; +} +.nav.nav-pills .nav-link.nav-approved.active{ + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25); + background-color: #28A745; +} +.nav.nav-pills .nav-link.nav-rejected{ + border-radius: 0 !important; +} +.nav.nav-pills .nav-link.nav-rejected.active{ + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25); + background-color: #FFC107; +} +.nav.nav-pills .nav-link.nav-spam{ + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} +.nav.nav-pills .nav-link.nav-spam.active{ + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25); + background-color: #DC3545; +} +.nav.nav-pills .nav-link.nav-spam.active .badge{ + color: #DC3545; +} +.nav.nav-pills .nav-link.nav-config{ + font-weight: 400; +} +.nav.nav-pills .nav-link.nav-config .oi{ + margin-right: 3px; + line-height: 1.5; + vertical-align: top; +} +/* @end Admin Navigation */ + +/* @start Admin Pagination */ +.btn-group.btn-group-pagination .btn{ + width: 34px; + padding-top: 5px; + padding-bottom: 7px; + font-size: 20px; + line-height: 20px; + text-align: center; +} +.btn-group.btn-group-pagination .btn.disabled{ + cursor: not-allowed; +} +/* @end Admin Pagination */ diff --git a/admin/edit.php b/admin/edit.php new file mode 100644 index 0000000..e0b8f4c --- /dev/null +++ b/admin/edit.php @@ -0,0 +1,93 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + global $login, $pages, $security, $SnickerIndex; + + $data = $SnickerIndex->getComment($_GET["uid"]); + $comment = new Comment($_GET["uid"], $data["page_uuid"]); + $page = new Page($pages->getByUUID($data["page_uuid"])); + +?>

+ Snicker / +

+
+
+
+
+
+ + + + + + +
+ +
+ +
+
+
+
+ +
+
+ " /> +
+
+ +
+
+ +
+
+
+
+
+ + getValue("author"), "bludit") === 0){ ?> +

+ +

+

+ " class="form-control" disabled /> +

+ +

+ " /> +

+

+ " /> +

+ +

+ +

+
+
+ +

+ +

+
+
+
diff --git a/admin/index-comments.php b/admin/index-comments.php new file mode 100644 index 0000000..8945044 --- /dev/null +++ b/admin/index-comments.php @@ -0,0 +1,188 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + global $pages, $security, $Snicker, $SnickerIndex, $SnickerPlugin, $SnickerUsers; + + // Get Data + $limit = $SnickerPlugin->getValue("frontend_per_page"); + if($limit === 0){ + $limit = 15; + } + $current = isset($_GET["tab"])? $_GET["tab"]: "pending"; + + // Get View + $view = "index"; + if(isset($_GET["view"]) && in_array($_GET["view"], array("search", "single", "uuid", "user"))){ + $view = $current = $_GET["view"]; + $tabs = array($view); + } else { + $tabs = array("pending", "approved", "rejected", "spam"); + } + + // Render Comemnts Tab + foreach($tabs AS $status){ + if(isset($_GET["tab"]) && $_GET["tab"] === $status){ + $page = max((isset($_GET["page"])? (int) $_GET["page"]: 1), 1); + } else { + $page = 1; + } + + // Get Comments + if($view === "index"){ + $comments = $SnickerIndex->getList($status, $page, $limit); + $total = $SnickerIndex->count($status); + } else if($view === "search"){ + $comments = $SnickerIndex->searchComments(isset($_GET["search"])? $_GET["search"]: ""); + $total = count($comments); + } else if($view === "single"){ + $comments = $SnickerIndex->getListByParent(isset($_GET["single"])? $_GET["single"]: ""); + $total = count($comments); + } else if($view === "uuid"){ + $comments = $SnickerIndex->getListByUUID(isset($_GET["uuid"])? $_GET["uuid"]: ""); + $total = count($comments); + } else if($view === "user"){ + $comments = $SnickerIndex->getListByUser(isset($_GET["user"])? $_GET["user"]: ""); + $total = count($comments); + } + + // Render Tab Content + $link = DOMAIN_ADMIN . "snicker?page=%d&tab={$status}#{$status}"; + ?> +
"> +
+
+
+
+
+
+ + " /> +
+
+ +
+
+
+ +
+ $limit){ ?> +
+ + « + + + « + + + + + » + + + » + +
+ +
+
+
+
+ + + +
+
+
+
+
+
+
+
+ + + + + getTokenCSRF(); ?> + + + <> + + + + + + > + + + + getComment($uid, $status); + if(!(isset($data["page_uuid"]) && is_string($data["page_uuid"]))){ + continue; + } + $user = $SnickerUsers->getByString($data["author"]); + ?> + + + + + + + +
+ getValue("comment_title") !== "disabled" && !empty($data["title"])){ + echo '' . $data["title"] . ''; + } + echo '

' . (isset($data["excerpt"])? $data["excerpt"]: "") . '

'; + if(!empty($data["parent_uid"]) && $SnickerIndex->exists($data["parent_uid"]) && $view !== "single"){ + $reply = DOMAIN_ADMIN . "snicker?view=single&single={$uid}"; + $reply = '' . $SnickerIndex->getComment($data["parent_uid"])["title"] . ''; + echo "
" . sn__("Reply To") . ": " . $reply . "
"; + } + ?> +
+ + + +
+ + +
+ + getByUUID($data["page_uuid"])); ?> + +
+ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + global $L, $login, $pages, $security, $Snicker, $SnickerPlugin; + + // Get Static Pages + $static = $pages->getStaticDB(false); + +?> +
+
+
+
+
+
+ + + + +
+ +
+ +
+
+
+
+ +
+
+
+
+
+
+ +
+ + + +
+ /> + +
+
+ + +
+
+ /> + +
+
+
+ +
+ +
+
+ /> + +
+
+ /> + +
+
+ /> + +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ " + class="form-control" min="0" placeholder="" /> +
+
+ +
+ +
+ " + class="form-control" min="0" placeholder="" /> + +
+
+ +
+ +
+
+ /> + +
+
+ /> + +
+
+
+ +
+ +
+ + + () +
+

+ Cookie Storage is located on the Computer of the user. So you don't have the full control AND you require the appropriate permissions from the user."); ?> +

+

+ Session Storage is just stored temporary on the server, it gets cleaned up when the user closes the browser. Therefore you don't need any permissions from the user."); ?> +

+

+ Database Storage generates and stores an anonymized but assignable value of the user, which also requires the appropriate permissions from the user."); ?> +

+

+ Please Note: You are responsible for obtaining the appropriate permissions, Snicker just handles the permissions for data send (and stored) via the comment form!"); ?> +

+
+ +
+ /> + +
+
+ /> + +
+
+
+
+
+
+ +
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ " + class="form-control" min="0" step="1" placheolder="" /> + +
+
+ +
+ +
+ + +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+ + +
+ /> + +
+
+
+ +
+ +
+ + +
+
+
+
+
+ +
+
+
+
+
:(
+
+ +
+ +
+
+ +
+ +
+ " + class="form-control" placeholder="" disabled="disabled" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="" disabled="disabled" /> +
+
+ +
+ +
+ +
+
+ +
+ +
+ + '.sn__("here").'')); ?> +
+
+
+
+
+ +
+
+
+
+
+ +
+ " + class="form-control" placeholder="dbFields["string_success_1"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_success_2"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_success_3"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_1"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_2"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_3"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_4"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_5"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_6"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_7"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_error_8"]; ?>" /> +
+
+ +
+ +
+ " + class="form-control" placeholder="dbFields["string_terms_of_use"]; ?>" /> +
+
+
+
+
+
+ +
+
+ +
+
+
+
diff --git a/admin/index-users.php b/admin/index-users.php new file mode 100644 index 0000000..6c58477 --- /dev/null +++ b/admin/index-users.php @@ -0,0 +1,133 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + global $SnickerUsers; + + // Get Data + $page = max((isset($_GET["page"])? (int) $_GET["page"]: 1), 1); + $limit = sn_config("frontend_per_page"); + $total = count($SnickerUsers->db); + + // Get Users + $search = null; + if(isset($_GET["view"]) && $_GET["view"] === "users"){ + $page = 1; + $limit = -1; + $search = isset($_GET["search"])? $_GET["search"]: null; + } + $users = $SnickerUsers->getList($search, $page, $limit); + + // Link + $link = DOMAIN_ADMIN . "snicker?page=%d&tab=users#users"; + +?> +
+
+
+
+
+
+
+ " /> +
+
+ +
+
+
+ +
+ $limit){ ?> +
+ + « + + + « + + + + + » + + + » + +
+ +
+
+
+
+ + +
+
+
+
+
+
+
+ + getTokenCSRF(); ?> + + + <> + + + + + + + > + + + + $user){ ?> + + + + + + + + +
+ + + + + + + + + +
+ + +
+
+ +
diff --git a/admin/index.php b/admin/index.php new file mode 100644 index 0000000..52eb425 --- /dev/null +++ b/admin/index.php @@ -0,0 +1,85 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + global $L, $Snicker; + + // Pending Counter + $count = count($Snicker->getIndex("pending")); + $count = ($count > 99)? "99+": $count; + $spam = count($Snicker->getIndex("spam")); + + // Tab Strings + $strings = array( + "pending" => sn__("Pending"), + "approved" => sn__("Approved"), + "rejected" => sn__("Rejected"), + "spam" => sn__("Spam"), + "search" => sn__("Search Comments"), + "single" => sn__("Single Comment"), + "uuid" => sn__("Page Comments"), + "user" => sn__("User Comments") + ); + + // Current Tab + $view = "index"; + if(isset($_GET["view"]) && in_array($_GET["view"], array("search", "single", "uuid", "user"))){ + $view = $current = $_GET["view"]; + $tabs = array($view); + } else { + $current = isset($_GET["tab"])? $_GET["tab"]: "pending"; + $tabs = array("pending", "approved", "rejected", "spam"); + } +?> +

+ Snicker +

+ + + +
+ +
diff --git a/admin/js/admin.snicker.js b/admin/js/admin.snicker.js new file mode 100644 index 0000000..c7eed91 --- /dev/null +++ b/admin/js/admin.snicker.js @@ -0,0 +1,125 @@ +/* + | Snicker The first native FlatFile Comment Plugin 4 Bludit + | @file ./admin/js/admin.snicker.js + | @author SamBrishes + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ +;(function(root){ + "use strict"; + var w = root, d = root.document; + + /* + | HELPER :: LOOP + | @since 0.1.0 + */ + var each = function(elements, callback){ + if(elements instanceof HTMLElement){ + callback.call(elements, elements); + } else if(elements.length && elements.length > 0){ + for(var l = elements.length, i = 0; i < l; i++){ + callback.call(elements[i], elements[i], i); + } + } + }; + + // Ready? + d.addEventListener("DOMContentLoaded", function(){ + "use strict"; + + /* + | BOOTSTRAP POPOVER + | @since 0.1.0 + */ + jQuery('[data-toggle="popover"]').popover({ + content: function(){ + var data = d.querySelector(this.getAttribute("data-target")); + return data.innerHTML; + }, + html: true + }).click(function(event){ + event.preventDefault(); + }).on("inserted.bs.popover", function(event){ + d.querySelector("#" + this.getAttribute("aria-describedby")).style.width = "410px"; + d.querySelector("#" + this.getAttribute("aria-describedby")).style.maxWidth = "410px"; + }) + + /* + | MAIN MENU LINK HANDLER + | @since 0.1.0 + */ + var mainMenu = d.querySelector("[data-handle='tabs']"); + if(mainMenu){ + var menuLink = function(link){ + if(typeof(link) === "undefined"){ + if(w.location.hash.length == 0){ + var link = mainMenu.querySelector("li a"); + } else { + var link = mainMenu.querySelector("[href='#snicker-" + w.location.hash.substr(1) + "']"); + } + } + if(!(link instanceof Element)){ + return false; + } + + // Handle + if(link && !link.classList.contains("active")){ + link.click(); + } + if(link){ + w.location.hash = link.getAttribute("href").replace("snicker-", ""); + } + }; + + // Current Hash Handler + if(w.location.hash.length > 0){ + menuLink(); + } + + // Local Hash Handler + each(mainMenu.querySelectorAll("li > a"), function(){ + this.addEventListener("click", function(event){ + menuLink(this); + }); + }); + + // History Hash Handler + w.onhashchange = function(event){ + if(w.location.hash.length == 0){ + var link = mainMenu.querySelector("li a"); + } else { + var link = mainMenu.querySelector("[href='#snicker-" + w.location.hash.substr(1) + "']"); + } + menuLink(link); + }; + } + + /* + | MAIN MENU LINK HANDLER + | @since 0.1.1 + */ + var avatar = document.getElementById("sn-avatar"), + gravatar = document.getElementById("sn-gravatar"); + if(avatar && gravatar){ + var GravatarOption = function(){ + console.log(avatar.value) + + if(avatar.value == "gravatar"){ + gravatar.disabled = false; + document.querySelector("label[for='sn-gravatar']").classList.remove("text-muted"); + } else { + gravatar.disabled = true; + document.querySelector("label[for='sn-gravatar']").classList.add("text-muted"); + } + }; + + avatar.addEventListener("change", function(){ + GravatarOption(); + }); + GravatarOption(); + } + }); +})(window); diff --git a/includes/Gregwar/Captcha/CaptchaBuilder.php b/includes/Gregwar/Captcha/CaptchaBuilder.php new file mode 100644 index 0000000..16c5658 --- /dev/null +++ b/includes/Gregwar/Captcha/CaptchaBuilder.php @@ -0,0 +1,717 @@ + + * @author Jeremy Livingston + */ +class CaptchaBuilder implements CaptchaBuilderInterface +{ + /** + * @var array + */ + protected $fingerprint = array(); + + /** + * @var bool + */ + protected $useFingerprint = false; + + /** + * @var array + */ + protected $textColor = array(); + + /** + * @var array + */ + protected $backgroundColor = null; + + /** + * @var array + */ + protected $backgroundImages = array(); + + /** + * @var resource + */ + protected $contents = null; + + /** + * @var string + */ + protected $phrase = null; + + /** + * @var PhraseBuilderInterface + */ + protected $builder; + + /** + * @var bool + */ + protected $distortion = true; + + /** + * The maximum number of lines to draw in front of + * the image. null - use default algorithm + */ + protected $maxFrontLines = null; + + /** + * The maximum number of lines to draw behind + * the image. null - use default algorithm + */ + protected $maxBehindLines = null; + + /** + * The maximum angle of char + */ + protected $maxAngle = 8; + + /** + * The maximum offset of char + */ + protected $maxOffset = 5; + + /** + * Is the interpolation enabled ? + * + * @var bool + */ + protected $interpolation = true; + + /** + * Ignore all effects + * + * @var bool + */ + protected $ignoreAllEffects = false; + + /** + * Allowed image types for the background images + * + * @var array + */ + protected $allowedBackgroundImageTypes = array('image/png', 'image/jpeg', 'image/gif'); + + /** + * The image contents + */ + public function getContents() + { + return $this->contents; + } + + /** + * Enable/Disables the interpolation + * + * @param $interpolate bool True to enable, false to disable + * + * @return CaptchaBuilder + */ + public function setInterpolation($interpolate = true) + { + $this->interpolation = $interpolate; + + return $this; + } + + /** + * Temporary dir, for OCR check + */ + public $tempDir = 'temp/'; + + public function __construct($phrase = null, PhraseBuilderInterface $builder = null) + { + if ($builder === null) { + $this->builder = new PhraseBuilder; + } else { + $this->builder = $builder; + } + + $this->phrase = is_string($phrase) ? $phrase : $this->builder->build($phrase); + } + + /** + * Setting the phrase + */ + public function setPhrase($phrase) + { + $this->phrase = (string) $phrase; + } + + /** + * Enables/disable distortion + */ + public function setDistortion($distortion) + { + $this->distortion = (bool) $distortion; + + return $this; + } + + public function setMaxBehindLines($maxBehindLines) + { + $this->maxBehindLines = $maxBehindLines; + + return $this; + } + + public function setMaxFrontLines($maxFrontLines) + { + $this->maxFrontLines = $maxFrontLines; + + return $this; + } + + public function setMaxAngle($maxAngle) + { + $this->maxAngle = $maxAngle; + + return $this; + } + + public function setMaxOffset($maxOffset) + { + $this->maxOffset = $maxOffset; + + return $this; + } + + /** + * Gets the captcha phrase + */ + public function getPhrase() + { + return $this->phrase; + } + + /** + * Returns true if the given phrase is good + */ + public function testPhrase($phrase) + { + return ($this->builder->niceize($phrase) == $this->builder->niceize($this->getPhrase())); + } + + /** + * Instantiation + */ + public static function create($phrase = null) + { + return new self($phrase); + } + + /** + * Sets the text color to use + */ + public function setTextColor($r, $g, $b) + { + $this->textColor = array($r, $g, $b); + + return $this; + } + + /** + * Sets the background color to use + */ + public function setBackgroundColor($r, $g, $b) + { + $this->backgroundColor = array($r, $g, $b); + + return $this; + } + + /** + * Sets the ignoreAllEffects value + * + * @param bool $ignoreAllEffects + * @return CaptchaBuilder + */ + public function setIgnoreAllEffects($ignoreAllEffects) + { + $this->ignoreAllEffects = $ignoreAllEffects; + + return $this; + } + + /** + * Sets the list of background images to use (one image is randomly selected) + */ + public function setBackgroundImages(array $backgroundImages) + { + $this->backgroundImages = $backgroundImages; + + return $this; + } + + /** + * Draw lines over the image + */ + protected function drawLine($image, $width, $height, $tcol = null) + { + if ($tcol === null) { + $tcol = imagecolorallocate($image, $this->rand(100, 255), $this->rand(100, 255), $this->rand(100, 255)); + } + + if ($this->rand(0, 1)) { // Horizontal + $Xa = $this->rand(0, $width/2); + $Ya = $this->rand(0, $height); + $Xb = $this->rand($width/2, $width); + $Yb = $this->rand(0, $height); + } else { // Vertical + $Xa = $this->rand(0, $width); + $Ya = $this->rand(0, $height/2); + $Xb = $this->rand(0, $width); + $Yb = $this->rand($height/2, $height); + } + imagesetthickness($image, $this->rand(1, 3)); + imageline($image, $Xa, $Ya, $Xb, $Yb, $tcol); + } + + /** + * Apply some post effects + */ + protected function postEffect($image) + { + if (!function_exists('imagefilter')) { + return; + } + + if ($this->backgroundColor != null || $this->textColor != null) { + return; + } + + // Negate ? + if ($this->rand(0, 1) == 0) { + imagefilter($image, IMG_FILTER_NEGATE); + } + + // Edge ? + if ($this->rand(0, 10) == 0) { + imagefilter($image, IMG_FILTER_EDGEDETECT); + } + + // Contrast + imagefilter($image, IMG_FILTER_CONTRAST, $this->rand(-50, 10)); + + // Colorize + if ($this->rand(0, 5) == 0) { + imagefilter($image, IMG_FILTER_COLORIZE, $this->rand(-80, 50), $this->rand(-80, 50), $this->rand(-80, 50)); + } + } + + /** + * Writes the phrase on the image + */ + protected function writePhrase($image, $phrase, $font, $width, $height) + { + $length = mb_strlen($phrase); + if ($length === 0) { + return \imagecolorallocate($image, 0, 0, 0); + } + + // Gets the text size and start position + $size = $width / $length - $this->rand(0, 3) - 1; + $box = \imagettfbbox($size, 0, $font, $phrase); + $textWidth = $box[2] - $box[0]; + $textHeight = $box[1] - $box[7]; + $x = ($width - $textWidth) / 2; + $y = ($height - $textHeight) / 2 + $size; + + if (!$this->textColor) { + $textColor = array($this->rand(0, 150), $this->rand(0, 150), $this->rand(0, 150)); + } else { + $textColor = $this->textColor; + } + $col = \imagecolorallocate($image, $textColor[0], $textColor[1], $textColor[2]); + + // Write the letters one by one, with random angle + for ($i=0; $i<$length; $i++) { + $symbol = mb_substr($phrase, $i, 1); + $box = \imagettfbbox($size, 0, $font, $symbol); + $w = $box[2] - $box[0]; + $angle = $this->rand(-$this->maxAngle, $this->maxAngle); + $offset = $this->rand(-$this->maxOffset, $this->maxOffset); + \imagettftext($image, $size, $angle, $x, $y + $offset, $col, $font, $symbol); + $x += $w; + } + + return $col; + } + + /** + * Try to read the code against an OCR + */ + public function isOCRReadable() + { + if (!is_dir($this->tempDir)) { + @mkdir($this->tempDir, 0755, true); + } + + $tempj = $this->tempDir . uniqid('captcha', true) . '.jpg'; + $tempp = $this->tempDir . uniqid('captcha', true) . '.pgm'; + + $this->save($tempj); + shell_exec("convert $tempj $tempp"); + $value = trim(strtolower(shell_exec("ocrad $tempp"))); + + @unlink($tempj); + @unlink($tempp); + + return $this->testPhrase($value); + } + + /** + * Builds while the code is readable against an OCR + */ + public function buildAgainstOCR($width = 150, $height = 40, $font = null, $fingerprint = null) + { + do { + $this->build($width, $height, $font, $fingerprint); + } while ($this->isOCRReadable()); + } + + /** + * Generate the image + */ + public function build($width = 150, $height = 40, $font = null, $fingerprint = null) + { + if (null !== $fingerprint) { + $this->fingerprint = $fingerprint; + $this->useFingerprint = true; + } else { + $this->fingerprint = array(); + $this->useFingerprint = false; + } + + if ($font === null) { + $font = __DIR__ . '/Font/captcha'.$this->rand(0, 5).'.ttf'; + } + + if (empty($this->backgroundImages)) { + // if background images list is not set, use a color fill as a background + $image = imagecreatetruecolor($width, $height); + if ($this->backgroundColor == null) { + $bg = imagecolorallocate($image, $this->rand(200, 255), $this->rand(200, 255), $this->rand(200, 255)); + } else { + $color = $this->backgroundColor; + $bg = imagecolorallocate($image, $color[0], $color[1], $color[2]); + } + $this->background = $bg; + imagefill($image, 0, 0, $bg); + } else { + // use a random background image + $randomBackgroundImage = $this->backgroundImages[rand(0, count($this->backgroundImages)-1)]; + + $imageType = $this->validateBackgroundImage($randomBackgroundImage); + + $image = $this->createBackgroundImageFromType($randomBackgroundImage, $imageType); + } + + // Apply effects + if (!$this->ignoreAllEffects) { + $square = $width * $height; + $effects = $this->rand($square/3000, $square/2000); + + // set the maximum number of lines to draw in front of the text + if ($this->maxBehindLines != null && $this->maxBehindLines > 0) { + $effects = min($this->maxBehindLines, $effects); + } + + if ($this->maxBehindLines !== 0) { + for ($e = 0; $e < $effects; $e++) { + $this->drawLine($image, $width, $height); + } + } + } + + // Write CAPTCHA text + $color = $this->writePhrase($image, $this->phrase, $font, $width, $height); + + // Apply effects + if (!$this->ignoreAllEffects) { + $square = $width * $height; + $effects = $this->rand($square/3000, $square/2000); + + // set the maximum number of lines to draw in front of the text + if ($this->maxFrontLines != null && $this->maxFrontLines > 0) { + $effects = min($this->maxFrontLines, $effects); + } + + if ($this->maxFrontLines !== 0) { + for ($e = 0; $e < $effects; $e++) { + $this->drawLine($image, $width, $height, $color); + } + } + } + + // Distort the image + if ($this->distortion && !$this->ignoreAllEffects) { + $image = $this->distort($image, $width, $height, $bg); + } + + // Post effects + if (!$this->ignoreAllEffects) { + $this->postEffect($image); + } + + $this->contents = $image; + + return $this; + } + + /** + * Distorts the image + */ + public function distort($image, $width, $height, $bg) + { + $contents = imagecreatetruecolor($width, $height); + $X = $this->rand(0, $width); + $Y = $this->rand(0, $height); + $phase = $this->rand(0, 10); + $scale = 1.1 + $this->rand(0, 10000) / 30000; + for ($x = 0; $x < $width; $x++) { + for ($y = 0; $y < $height; $y++) { + $Vx = $x - $X; + $Vy = $y - $Y; + $Vn = sqrt($Vx * $Vx + $Vy * $Vy); + + if ($Vn != 0) { + $Vn2 = $Vn + 4 * sin($Vn / 30); + $nX = $X + ($Vx * $Vn2 / $Vn); + $nY = $Y + ($Vy * $Vn2 / $Vn); + } else { + $nX = $X; + $nY = $Y; + } + $nY = $nY + $scale * sin($phase + $nX * 0.2); + + if ($this->interpolation) { + $p = $this->interpolate( + $nX - floor($nX), + $nY - floor($nY), + $this->getCol($image, floor($nX), floor($nY), $bg), + $this->getCol($image, ceil($nX), floor($nY), $bg), + $this->getCol($image, floor($nX), ceil($nY), $bg), + $this->getCol($image, ceil($nX), ceil($nY), $bg) + ); + } else { + $p = $this->getCol($image, round($nX), round($nY), $bg); + } + + if ($p == 0) { + $p = $bg; + } + + imagesetpixel($contents, $x, $y, $p); + } + } + + return $contents; + } + + /** + * Saves the Captcha to a jpeg file + */ + public function save($filename, $quality = 90) + { + imagejpeg($this->contents, $filename, $quality); + } + + /** + * Gets the image GD + */ + public function getGd() + { + return $this->contents; + } + + /** + * Gets the image contents + */ + public function get($quality = 90) + { + ob_start(); + $this->output($quality); + + return ob_get_clean(); + } + + /** + * Gets the HTML inline base64 + */ + public function inline($quality = 90) + { + return 'data:image/jpeg;base64,' . base64_encode($this->get($quality)); + } + + /** + * Outputs the image + */ + public function output($quality = 90) + { + imagejpeg($this->contents, null, $quality); + } + + /** + * @return array + */ + public function getFingerprint() + { + return $this->fingerprint; + } + + /** + * Returns a random number or the next number in the + * fingerprint + */ + protected function rand($min, $max) + { + if (!is_array($this->fingerprint)) { + $this->fingerprint = array(); + } + + if ($this->useFingerprint) { + $value = current($this->fingerprint); + next($this->fingerprint); + } else { + $value = mt_rand($min, $max); + $this->fingerprint[] = $value; + } + + return $value; + } + + /** + * @param $x + * @param $y + * @param $nw + * @param $ne + * @param $sw + * @param $se + * + * @return int + */ + protected function interpolate($x, $y, $nw, $ne, $sw, $se) + { + list($r0, $g0, $b0) = $this->getRGB($nw); + list($r1, $g1, $b1) = $this->getRGB($ne); + list($r2, $g2, $b2) = $this->getRGB($sw); + list($r3, $g3, $b3) = $this->getRGB($se); + + $cx = 1.0 - $x; + $cy = 1.0 - $y; + + $m0 = $cx * $r0 + $x * $r1; + $m1 = $cx * $r2 + $x * $r3; + $r = (int) ($cy * $m0 + $y * $m1); + + $m0 = $cx * $g0 + $x * $g1; + $m1 = $cx * $g2 + $x * $g3; + $g = (int) ($cy * $m0 + $y * $m1); + + $m0 = $cx * $b0 + $x * $b1; + $m1 = $cx * $b2 + $x * $b3; + $b = (int) ($cy * $m0 + $y * $m1); + + return ($r << 16) | ($g << 8) | $b; + } + + /** + * @param $image + * @param $x + * @param $y + * + * @return int + */ + protected function getCol($image, $x, $y, $background) + { + $L = imagesx($image); + $H = imagesy($image); + if ($x < 0 || $x >= $L || $y < 0 || $y >= $H) { + return $background; + } + + return imagecolorat($image, $x, $y); + } + + /** + * @param $col + * + * @return array + */ + protected function getRGB($col) + { + return array( + (int) ($col >> 16) & 0xff, + (int) ($col >> 8) & 0xff, + (int) ($col) & 0xff, + ); + } + + /** + * Validate the background image path. Return the image type if valid + * + * @param string $backgroundImage + * @return string + * @throws Exception + */ + protected function validateBackgroundImage($backgroundImage) + { + // check if file exists + if (!file_exists($backgroundImage)) { + $backgroundImageExploded = explode('/', $backgroundImage); + $imageFileName = count($backgroundImageExploded) > 1? $backgroundImageExploded[count($backgroundImageExploded)-1] : $backgroundImage; + + throw new Exception('Invalid background image: ' . $imageFileName); + } + + // check image type + $finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension + $imageType = finfo_file($finfo, $backgroundImage); + finfo_close($finfo); + + if (!in_array($imageType, $this->allowedBackgroundImageTypes)) { + throw new Exception('Invalid background image type! Allowed types are: ' . join(', ', $this->allowedBackgroundImageTypes)); + } + + return $imageType; + } + + /** + * Create background image from type + * + * @param string $backgroundImage + * @param string $imageType + * @return resource + * @throws Exception + */ + protected function createBackgroundImageFromType($backgroundImage, $imageType) + { + switch ($imageType) { + case 'image/jpeg': + $image = imagecreatefromjpeg($backgroundImage); + break; + case 'image/png': + $image = imagecreatefrompng($backgroundImage); + break; + case 'image/gif': + $image = imagecreatefromgif($backgroundImage); + break; + + default: + throw new Exception('Not supported file type for background image!'); + break; + } + + return $image; + } +} diff --git a/includes/Gregwar/Captcha/CaptchaBuilderInterface.php b/includes/Gregwar/Captcha/CaptchaBuilderInterface.php new file mode 100644 index 0000000..bebd070 --- /dev/null +++ b/includes/Gregwar/Captcha/CaptchaBuilderInterface.php @@ -0,0 +1,29 @@ +g-y`84XoT{ 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 literal 0 HcmV?d00001 diff --git a/includes/Gregwar/Captcha/Font/captcha1.ttf b/includes/Gregwar/Captcha/Font/captcha1.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bb1abf6b6696261ffdfd5c17b74dfb03ce7c72b5 GIT binary patch literal 76232 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

@KU02>Big?7$LN=!il-X-8& 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 E3yqV3z5oCK literal 0 HcmV?d00001 diff --git a/includes/Gregwar/Captcha/Font/captcha4.ttf b/includes/Gregwar/Captcha/Font/captcha4.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ab154440d796a815274ff79060759b5d1668b430 GIT binary patch literal 906980 zcmeFadzjYa+W-Il?C+gSHPxiX+_S66O#4!)G-Xs0hLR~GQ>G-9FbJVktBnwn5JD7M zxvP;@Yh(~Y2q8jV?EFBIKId6`{$SAJ?HhguJbz2^V*-+ zW`+z&jrn1#L;wCm&l&n!>&tb*$K8o-IiTRo{zHBo#rL(_VCXWS@Vp^^X;A!Eov>hs zR4`(|kPG{zl~3=i6Q%^Dln>A8J9OZb>%Le@{-Kg_*Lg$QcPd_Obt1eTc_o)k95wl& zcb|Mi%1xFUuDa~{vS`y?jaEy27Lb0;*vXeqJh8m}a;euQ$sBX}sB0%HMM3oQt)$B* z+&H$X>)}_WD{>Th_{g|1qe@Ti)@={+dy#(XI3n6tb$W;IGQP9MO)Q%-^V4s?MplZH z^V@{0E*q6U;ibt^zAd%MnmB68>q#!O4;WMU$_(w(Q1~ zCx+^T6Q)XI`%k`R%;b*4wyeY6Jorb+uREvtgPTUax&P7=d;MglQ4RciJNxSs>*+5= z#{wNkdO3XiiGGg6Pp|bczB{%3rRY#e$B}jMiA4WLsH-0n8fbo|hKWd%Z&OYEtl?3K z7~7s_ERcf%ot+1XKe?7#pK7ex$Z$+KR)SAe3dJwbp2MaT^{6&MdR^W8@$%W zp%NJ{`)SryP5~sU2o;q0XFf~q5i-xw1~aDV)_QdXJ)IO?=RBz*W0oeGqcsBLnm?-8 z9;=&;S5;(|>jLO?=KV^8zYweg#u~eHH@FQMvwS&Vm35Q++Pl%Y zTee-UR3}%1orjfbmnvdyRfPC{&ZkN>OTc~c>#!@;?yBbQI;A@gDA{>LgY7g z+^SYL`wh9yS>){|(|cUDGXU8S%Cxs>C^i0tdA6EC``KCAW9?GF%Fyf9at*S6P?9wP zc@fHUp9Y&ZsV()?&pt;j&0KXg+r}TY(Qmd?wtGHl!$3eo?N$odt_GUFs;zahMw_$M z8JpT#zhVQhzEQe;GPac>vztPiuYrkP*|<)@F^h0vbyl z^f$}Y$1c)h`)ys|*S#NSwbhMghWh(;NqR9j*W93Tbd9vP(l*jP_7GzO@pqVStC0N5 zsEb)(E*Rw3yf2w#bbiF>~XGXutl)+re*(-^1@?0iEl&#lL~J zux;#s`epZZ{})Qxef@qN{I}HaqdioZ=&SUXM1RHB|B0ffpWmncl+xGz{^s}jM87Lh zBg$(e>N{5rpe^_g)O~lYr}k#}htZ!HBYrhw(!_XY%q9Am-_CX8-XDAZ`2RgMho~cCKH_93WIw}r{1$p2eX^QgKfKJ45GMTjL$AS@GALO|X?t94T_)<$)KD*rKDY|>#CCr^nW0Q;8}sfj*j=Gk=49E4`uU#v`Lwov zoLO~sLphw@=#2tX&5oDz3+(%Xx%Ymx2P3TM%+HgUmnJa}{y@LTQFG%aEn+@gWG+`{ ze+>v_C^fKNsooG3x>?M#xzypw$_`{H*?U#V?hNd%8#8r%FL1ms)VGyC#{D+?6Uunb zt(Q?x6Y~vYzII&1kJVDfiQk98aUFI2k8%yOhA*F)!F^XJ%{Ri9t|yw1wB&sU@4 zeYwu&<9cf4oLjHIp8j$CQbsY)+yQOQxI5v$*zt${{>Oe=-{0%|H*NZmm8AalsdF;BY`V9JCY5YyvskzlN{&_-9kp|KC2iA@2?Bn{D zt3e{(U(bHfV&n`=j4_uv@qFg+@vKw#A$tR3tu1{pm+^8B*vpzWHU0!VgDmW`bE$*& z$Y`WA`eim~?Snqq#_XfnW_#$_3YlLh+xSTx?Py{RZssN{)$Pl;Yad@l{#^T3^-j!B zlkj26k$I>3F&{Nz%;Z{Kl??4+eyenIGqN}1yKGjQ1pIY-Qv9|AD&rOAu=p~@TXSdcyMv!;tNA?pqD`t>(S{rtYjdRj!d2RIjWwq{W8kI+v)Qy=R+>}rHP zYgAxfAOD=Wy)FFh{j%5RamQ=08)DqerS9HF_8R8hlhoP02mM{ClMT#GcdG&QSZd!* z|E@q*8D#&|UZoXHm~C?NUbD{)+#3>wks$4Sw&h z;8wL@%@0|w#TTXrhdYSdqZ!5q_5MB3-`l)fy{&O-BOPlF znn_2$1ZzNnbmR-@6U38#v_CW*`YCt_6!U#2^jh#Jyk9~45my1e1BZa0e-M}j;6GYy z+z~%Wd@11@z`#0mhWhwTiZjzBbcCRHgGJyY&<7yY55wD=Z@&&QYQO!sBTo@utjFW<9K(jAg+BH77)B*~6w2byqx7vioxbsM zw>bX3WyaSzo8r~Zt?>=c`uO{1pZL!{kImkLahk+j+}odX{Wa8|qy2f-U+4UF$YEYQ zzVB$SVn2;Ft~v8VbNd0c^5;~4USxOK5&znDCb8Dv$G9n}^G9YUeD)D`5BfTDnm?b| z#Nk7f+97=ZZ<$N{IdV2WD?HX$j1lqJvKaRPmz%C*Gc!ivv@z;H7KaS5cH!&Y~tY2T? zOSc9vryph?bEmGd&&F23T$OD7l!))h{Mp~Hd$SRKCv{?ttc87sZe$)Sv^TQndm9`5 zuumBUKAbP(2mLy?e}W(X(648|u2=(-J^WE`GZPvNsYNxS%a5+63`rU3T#@aO$R zn{9;OZ(DzFbGN!C_8^*Hk1BVUX)t8PzZ zkEYL~-zvi%fBovieBO=uH7ov^a}Ij9P}j`$2|Ijye1CWbzR}~F=#0iMSVbM4sWkTu z$~sa#+zsS8L(PKsQ~rn5%^Rr@?HmgJfPXa=Im75{eb{^6if?xk`Te$j61y1T^od6G zv|fHaWvstL9i-c5CH7&>6XoAazZyn)4zuSjVcp(HKWM5x?)UiPQ{kf>i680&7?+1B z2W@GWQHIYFesQL2<0ss~ID3$FaH{&bA5w<5Rp711XFXeeoN@4$)%o!Lp8nSOF6M@A z3BSeP=lJ^qsFQ;qv<<&@FX2s;sgZi(TNFT(q1n_&CUw})EmKqKs%wG{VV^}`_4^xb z-k!N4)9y*$@>*LGzTNc+8MU(Nd^x}0`hBO~2le}GqTjHOfad!937^)<%}msR-=FGy z-9(?J9gkD$-|tiPW3`_8ebw(Te&0^C`5&m?$NheWPm#%-(ZlcKem|4MJg$*oFzAR! z5rMMiX$e?WhYO%SSi}5uqYVd9xADD_b)NjJ_=-PdZdJMYaAKVF#;L_{Nqp$lspA-I+ z`S4fbzhVsSVQig@pH@a&6w}6M;NMhoc9M+0@C*JQXD1-vpIgjXtQT|9KbLcaS@<4z z>Qv6KT;{SC@U%x~w-?;n3g{qr&ZjEa6$d#3P*vx7uG{M}hX{WtZ%UWW4% zzdkraIljlL-)q&;e>*Q|$vj+pj*whO6Z5Kn4(89Vzo*CdTz_(&P~T7gj3(Aoe-G@h zt3Lh19_x?a{@U@M&KBy^{rTSX&*uJw{&Da2r{A0_CeHTiX#JVP|3v*YhV?hSp4RW7 zj_=q1a6XYZ|C!Cal`QkHkL$pW%Pr=TyXBPxySk z-}eVNCGh9Q?{k;OH@dUpi`}{L3b!nNhrfRQC%AXV-vm#4d*ZKoTjNW-PvbG~)%arX z@%TD#UHoa^r>q5YK%e-2a0q-yoPcR1#W$GW#FyCP;v3jk&$Z9sysB?}k=-DEx80jP zyYGAcH^85J&G|LH$ZHi}>2-_W?b+DHQdgI@m4#S}-fVB-l3|3$}_c4kpLf z@%?nY9e+l>8S#g_d*a1`SbSCB$@tvBtoR1#qk&2Bn*;aLK7Z2x{P^R2u&yt9oM#%> zur@wr1dKA)-jQ0xerf!FR|aQR{2ga>{3CZ|{1x{>`V!}DoGT1W;BNN$ed2q;&%p0b zKK1+5esdCQEMwlviC0)nJIX2dr#t~R(IV!OMaGZ1n)9iVwxD}C zXW6S|_^D}}HEqCu9chi`tZZBSCyh9k?oQ?YW-Le{Z903ct@tyQy2!-e!LR8C9RfxJ z|8A%Vlzf7UV(6dLz&c5@&8>>k>x)=#pNmXPJ=KNtAA&Xp^ZMsM zz7JK#c@upKBy-N=`sX{W!7a=RbWCOq=B&qfDsgYvnY~Re$o3}Vi>|}(XRph*0=KFW zv@Lg#{S&~4awlm7=VMnVFkU0@k2|stNVU&nKJrndB<{bO1;ie1EPI(g%5>JSK0d>l zC}CIlD#dEyOwqaizTAg>68b&^zw=SevotU;1)q3;t^&p27BCX{`^3IrHYfpp`~_fy z4}9Jm%wqO%8SJ|cvzNJ_@Eh!}xFZdeC@nOW@b~OZqWDXkL2}NX&Ro>n=A4o}RU7>N zbpM>wdWwDD`Jf!XhP5AmKaIU-B=8|&+Lb)%?92>&=^xi&SV2y4BxBP+L7TWo2|8Av^yfz025J^Rg|Gke}P zJ}kcJvm<;^wtKL9oYR*(-PyX9J>(+Jm-g5Maf9x`kaAvW{dc+uNJ;E8n zQRZ94b2$Sa!9M2qXl~wV%q6ZlbMY6yLqGE~<66G^(KcU#=5_Q-Uk7F2PC5RC+el;n zucA_AZYBMtQd7X(I(j{HB$y3u3RY_txaUtWwJv@(^v?gQw*9BFCjDQohySFj5o76p zgKiq`_5?otGn`Etvh0T$FFuAa)_f!rPUell|MTs~jbPmL^g&-OWgO1-=^rqfZy(3w zxo0T_i&+0k?P~VCa}5PPQ%CPt(28*!W6sM;$h?Jo2{?B!)*7&nZ$Nw*cM`R@7M(XZ zImk(7?0nBWcN25OPb&2?2%m#Z8>yQZbPL}tp?er76R?{*CGJjcbf09t&H-;QA9Q1W zgpcq3<~HP=NqBQDY#FvSONYR0tAaDRzN{~6bc0u_8#o8M0XuH-ZE?A8;Cy0`o1{VB zgBlc^&YHY|d4T%~Y%igl?f+M8MH?i>`B=Th9ZQ46zPbq zzRbzIL8%94*H`&4tMQpWta}IaC1<3M!@C*ZXgYRQLf>ZH^zYlx;>~S=BRScbk>mPetezJIO`e9-k~;saUy>uJ_zp%&};kqK!1-O$dJkXeA~cy&Q3=p z?y9rhFBA8J*__K|yG=Rk+Qi!bo(AK?54Jfoa@Io!;BQP(+u$TE@*(|F#M<4~9YQ?5 zh;u*vskhpOScd|mIV<+ty)Ad3%V`JtyXW6)c4fYPgMM@e?bCqv_#U~lpzFXh>d1Q755F_r9f^-H0smwV z>%n8xRkYSOP3ZG={sG+mhI|_m`h6Sffd1YI8z$hpPeA4@{Ej;P3EjT_IWvCWF~a``s;0=?8nRR z*Fjx99Ip%P@XLQ3z8vZ)0eJng*`Kl}k8tOCy?Szg^c;8w%m9~xrsiX`>sH$C!Mgo; z{l47)2JAVSds*=>@UIU!!o~*}Yv-v5Un3Xvaqi)M2zV#s7l<=}AF0Q&?EhQRSN!~k zwa__Pclcw1@jsS!U*xW0P5zXA3g|mGSnV|tUwAb2Q_Oy+H)CZYbJ+-M19M+M;}YTZ zly$v61*O1$JLlg4Oa!CBjlhp9G$!lQEnxc57+@%t4yHR$AGl}#xQ@2{@T31=uS+`pA ztohdC)_Yd9^|SS>b=bbazRjLtZ?d=8zdEluZ#Z8&2UDA*7NibJEleGnT9kTm>ZPem zQkSOwJ*`PvYTB7;=cHYfHazX(v`f-%Nh?p=l=e~D=V{-k9ZWkG4M$r?yG2ir_KOxo z&yJoKy*heVbV+nsbVYP!^!e!ObSvFW52l}(-Y~s!deiii(o@r;=^5!+>8;b-rT0ib zFMVeE!|6|_uSj2&{!;oY>7QkskkKyV)QnykeKXF?I4fg##^{VO8CPapoiQt8amLdb zFJ`=+@qH#8Ju@jYJ+pOYZsskS(=wmUT$TAzR%X`hta$e0*=w_3%zi2RmFzdO-^uR~`&L6*m9)C7)!0^7wYtC6;#SLBJ>NRHbxP~h)|a=wt@W#| z_vTH=yP=)aF4QjN>5G=9E>B-Rrs|Zc4pmoHO{`j2wXSMo)z+$Cs(!6HTy0c0tWK{! zrMg3P_v*8&FRUI}J*s-{uF~DnpS%CO;pdG%zkb+_AC1Rpov4;tg;tq$lQol8xXXId z+G-uJ4q1n-qxMuWI`!YFpuCrKO}r(*~v$ z*0sW=Y17iyrM;2%N!k}_|4REgs%TQQeY8iS6$a1>lcQzP1<@y>%cIXFT7fMXtq@7H zLX-67=`HJ8p%tyrl~x#%zM!rZD$*;{-^ozMiN{-EAgxf6QJOJ6V^YTL8TV&Ak+F_e z_>NXEX@zKJtIRfuR(QCs6-u(!WiQQMlf5pxBD*sCjqJCw-}^7E&?C_bV_IF2XoV+Q ztvuce*V76$c_n#e?aX$8cFmq1Mk_>V1y$u$b)pp}S3OYm60Pugq7_taSEp3xBwFFD z>T{|usxGOXv#Ti43ab*WAiovjyW+3LUx~jI|69B~zBaxlzB(R@KM{XCzBK+={NecG z_=5Od@jH%veC(rRZy$So?^AoH?7e<(+1_jSUbFY=y_5HL+1qh%vzm`;KB#%W=G~fi zYTmASt7db}n>DZ3Y^r&!=9QYtnvFFt)l}51uUTCatNClq%9>|ume5h=C+z! zYHqH%v1UrmDK%|sTGwRPWYuKWWYk1!(rQv`TGq6vIjJVOrooEu8vk6-7#y& zt^YXqkAMB6X7n?oc8}UQ>ajLX8@r9w#%!aUV>yR%_U3$%vm@v8oKJH;&UruQt(;9c zFXj9-XJyWFInUP;L&bLU0w}#XmRpvaSQ%v9j`s7f)iREo&y22fBm#b>LLqx(hrG^1+kf zJunn(1=V00H~@YI_ku&T!)9D{t4&}Q0{YCJ!NxmYxCB|o>7MuQ1s$03$I4@ zn_vsL5TJ`4j_iwBK4aiD!n2^1*$3W}9C)0s33F%cV2^_jV80-xHmL=>B&D7K3W)zZ zbO0Dc_$BB$ppft@Q0|vgDWCm16kj5h`sIbQQbz#v+wVXx0hbbf7fN}2_%^0e=RWKY zpuP@Ze<hGI+FEreS^r-5?9$W2=Zs84pSN~50A(9a7$rF{ZEC;R~P3xIz25$L}F^~R1? zX|!kBF~VzWyHzwyxPovJXib~C(%#VpfV%aPq4<5#WrWkA%fSl5SB)@g1QJYvFZ;Hm-$tDwMWKZwe1(PHzrQB22l{ zTY^-=J)zNBaB8abj9PfqOFFjt@EB9+*qTlqdihY_4&YH|>ApVXdGynC>c@vizepbf zW)eONN}Z%XO!#K#)3xwsL#YoR-W=$vT6lAzv|0K~#51!Jt($jV59dwba*Yi51=Jr zH1Ujuj8ZU$@W;^c;7Y=uLMMT%31d^n?O+z+FQE5>#e}P&PXNm7?SZZXFB1M5`g$$A z{m}2g_r!n8Hi~lj@c7O&f!_xXK$B|W(cd$pAf5Ohp|ne;-!4Bv+kjlc^vTRyYT^9` zomLC)FqC%4d={P~&{eev(2p`dszrc0&B6d5fd}Ojsfy#SAtgv)4thnfHw)>0euV5R)IUA?}1MV(_gY{Y7uxy zYUR`-fbFer1hBVN`&tCByHyWB9}Unxtx9SU zz}8lm)grJFItGk|=Vj;>;3~qDp%v}xgA;$XqMdyNC`T(_)^fscLsx?532&8JGZ**> zY=bhF`UrdsO|3=X6X@l&2vGjk*Mr;O*$#cR7J;2m>ZJ8v;&-v-!sfgQg!e$pzzu}y z8|_R$eFc7o20(}~eV|=4;OjjqJv|IuM3}Z*jtxG71~dxN2_s`UW%m)Zr7D3_2qU*D z4|E_5syYG2La-}zVl9HyQPpIyka(Xy0M-$vzN%gV)NAks=+;^UUxa=Rej$E6^w(Mh zsh_IDwFrJ9RbxXnHU>Y1VpBEqU665CO_{2Fo2i%T9N^pe0~Gsw1P?;H*CO~6^ek{T z@zhWCIp9LV=&Zg7jO4crDSLGZ7)6-6tDXbq5@w9-Dgw*}A;!h-Xe~nYyPuKoBh(Vg znEH7GVe0f}%IYJ8O+UY0i%_mav2@rap1O=5twpG_41Ukl_?Uhf>H_TvPA81#`f)xe zAbc9MKNvu`4|EVHB;1!%32aT=$x=uE_Rs%K$=ZMQ^xu+y_febEVu$ar^Y;|scTGbI za~5y{CjuubiQm3#q{d2C6E#&crEpeol3J)GX9sK$6=l)NVDidRwpyvRa@0nrD3{ZL zwrZ#L>Y$G5q|WN1t~yoS)LlJv8fQ}BuT_d^wbtqdm1~{W>qS-Q?|Mla-R-(Yr5eK>+&?r$k8857WG%d2<5>yj z=pk=|uJu0lKGEfzbU)_()qBpm+Iv$IG?g>u722Tbx=fS2b;eNdeeX$4)Gh8m@n>(> zEInW(8%^AI+%4`l_hWaf`+@!zxJ$1Xr@05b*6vsC*P*tdcJ61Kz<=m|;#PBhGG8-v zr{?KyEzmu>OZWSyu3D%idPEQFM{|z(DEHnEnGc&wbd&j*`G`qRjVUjt#%IS)DJ+T& zx_)>}nSD}XZf;TU;fc6ghDW!>jK=L!+Qy8$=s#kS+_o_@@9YbT&deO1-Zp0CU6B%v zz@D&|x@$K*yndvbnwo&Pqh(ACC&;HEI~`(Y|dgm>0dpSF#ED(U_HeR%SG2 zw;B{vVbQ!X^F~GeK=&5u>BC#hOMG2W`{gSP)moR-A}Jju;k@XFiQ+`^qU~c|ZgEjG zIv}(EsPWOFXzA!$5kB7uzGhTM=S2t1>pv=UUUXh&LS1G|7ZkBzIh-PT$7r+lR`a=OQG_!x^sPQGgFNvSEaUO-3H`}kaL8Y1V zyjZlbs8@?hQj+u5D&NTO*Uvb6eG*+V@zZC%5X+AY*mDyz` zGtULOh52SEvq*Plmb8cX3%EjZMKiUA<$iFj@%YW{P}@o_GW|GmqF8PDLNlt z_z*r@9zNMpd?oB_Mc&qP_}%`g(kZM(x#-Lzt}Xf6Es)wD;h8crI}MaN!`B7-yRMYF z_mX;`=d>+6A0XV5GW3dqGO%9iog$sSg5UG6l=7!aeRuFHx#iLse4kk%4annpGcwOY z#-RPu+3=nN&J$S5@7QDK1*8uleJK1Fk~WOEi_kY5o)M+e#pAdlfL@XhX7a2W-jVxi zap@eXWD0*`U@J!hL$(F8)NRv|l zaaXVB&nuAc+Ad&|R8|BIO4kjQuHP+9Ss~rDP`WuLP2Dcta)c+_@J@sG_5x`J`DcOI z0cp-=X&y4?7fN@PNO!}xzy{cHZ?beB{P%a~NmB|qC_S)GdXVpjrh)@J6^Hkcanhq( zq^0@N;}z1A#4YQEk0yMuO6i%I(sRiF>on>4#nS3>X)Srm*Gn(JziyNC;&$n8dD4a~ z>F+J23h+{~w6RpG94x((0(MKU!v7j}ydD87q&HSdo5}YU;deSnTaHNY7$<#!{C}26Ul!x572zully(lrPatOQavSOFu2eKO*i>GQWd`uEQ0K{+9SgGi4Z?WLV>5a6V#q zOJoEm$Oz}ih-{J3AWO!Hl`@i+%4oPuMx(_t8t;~od_+dmDKeTB%Sh=UqdDm<*2`$Q zSw?Dwj5NN}7s$x$B_pdyMm9cItA#RJSITHpAmfy&GICeQ$Sar8cB_nb#CL$FBj25o z+cjUtsmSThUC3!kGJ3+_Yln>9$Ul9lj6T?szfwkDZ0tw=g2^(@{ zx63$(_;Zn67?p88`G&NVF_gT+h%YLXF`TrEp~diy%#(3xsf-eIjE3*Bd>La>WL$2` z7zh6q2V`7XCSzhR8CPY=U~6hzLmBAb#&t(z+(7uo0vR_!rv_x)(p|=_$i0nx)Aq@@ zJz2(#4qV?9%9u4!#$S*>dx?y>IWp#<_l_wt=1-GxC*ixWVH&rFu_+yogb zH_KQ>p64SnV$jutWvp2$V=cD6fQ)tMSwBw3--z3Qp1%`cQ6*y|<$igljLHQvURf;T zHS%vl{~K8{-Yk`|8UDAH$#@&ycMiySH(ADe@Vwtr#@0d^AFPz|A?5vOf{bnD_}0k% zBn6bo_!Ro-dKsT#+vo6oaY)9O@Kh7tHCe`tjnavK!Y(7QiNlRq5SSGXOA(@0s&u4j3nM zAo|X#kU40d%(J)2Jg241b4fq1NM<4V&mSstNL1!fbPgkY5weDt$-KC`%;K2Lk&|VX zkUpwP=4J4gQvNa6Gj_Mkanodu&ysm1Iwm5Y{%lSzka=~n%xjQ;?LwK?O^|s5GNx>o zc@y$)UMlmJDKc-}E%UamGN;94PCp`Z26oMach+K=vm-L+l=Evh2V~A$FLORJ?<9P8 zFPRIFaZeYS_m;`LuR`Yi%VaJh&jVXzF2;t3kn!+AnM;uSC}nzVtIVa_Wj=xYCp*Yo zhRsjgJeEbyip?^gO_KTC0+}nzW&Rbu=lOmfS*rsw*Oba!i|q2rGG7=dbKM-7FQRY# z5}6yKGXI_t$AMllcm=UPI2N1v1}&zF7p2y?LR`w|2{Xr$FWw z;@{mQ^L=gD5r%uh;XehT0Ap)&uGBJ=Y?nLBpK{9>QXe;$%qMZRjvQhh|` zPVC%8zCE_gnsGAsVbi{YGQTF@*XaAEQs#crznvoU`(&91(ECF#ng2r1kKJV+%#r!i zV3|L!mw5;ozoP3fd`AY#JUUY*zyE8-7s$d_vy5_CW`!)fmn>($EH6n`V1g{>c`LM4 zR%EEG6Sm1>p0^q$%StYh)nt>bW@WOPPm|SxJgNI+rRB>?9}M`;ES8mZKvpZ_S}&B9 zvr<-@#j;L8UoJFni>$U)vf9DZz6czY)nPI~PRA0kLslnbbWQ@5vbqr0H2{d~8k2Qu zOHc^b%jyPCx2a$UR}me+9Dofy1_Hu8mdZLU1%2M1&o7J+@T&MySzV85&jqF|=1A@B_$|By{w zryz4EaYK*Dx)52z;2#G6F!EkR_@WiEiju*4S;NUcoU{?>8-YFede+5TWEEpa@d8W^9FR4dvWz|?>oW9~rU2xXR>>Me{226%MebN^ z8@pfD<#WIeS>v+6GFeyTgN1;&@dD@_Pu?q$aph)N6ZoFM_eAndMAxLjAjT%75bTyU zdA+Qw0|5C~BmWxmT|>Sy?6{8b^+kaEH<0g!C9p-wT)@{k46l{_;4W8*!W#NBXw{Mp<1N&zpf7UWtf7vH%&SF_} zDc3ym&O5?&7V_H*t3#khP#d);-vEFZ`_C*1}?0i)?_b2ax|@ zo~(xsa`i>}Bb4RQnX(?60MPq*sjMg9e{!p=r$~S5kgVlJvR0t;8T37eoRyno{gv{r zfQX?daJCRn`G@m?`}|o&b{+x?OQMFEAoER zUDkf`eA`9Vcj)}SgzLoZvVPbh>tE#iF$o-yb#St*pQg(Cd5WxGQn+U9z%^q8Y?k#K z@(zO|d4POJr^z~2CM(Wgt}*iX&9@G`kUGFit0S_#p|S%DWC!zQhsMbc_mUkUzQI=6 zNi+GSD!v;Zl--21ru(^~Bwur6oKz~i1#favQ)HjKRCcsdcKRXNnR8@kFO%Jxd^rnc zpVCD(zOJ1Ie_Lp~EwbAa-(iXDj>zwXye@^ZyOMS)^1CmVeHy$ySIX`^PWI_jWcS%D zyDvQK3+;je*=K_OWwP-TZ002Uto5?bM&4lf&K)YdaI)<4x62+fQ1(#bh9Tpk6xl_{ z9llKVh!WWsgJQlf*(CeY9N8trj}FMbY@2MxxjmNr;}*-l0z1Z6$ez$a_Qd(JCoPc8 zShcT?%Dx8q*P^eCyw|Oeef?J1H&n{Lu}t>O`CRL+mwoGC+0&3aeW~mjd9r6E$^Oe0 z*>jLJcc1L}$+GXPl6`l9>;>@NJ4N_FkoNaH*%ipy z7?F){YqN*5HxYiF^1g}O%?D(^P5hRrvfo4J`-iy7oxrtilI(5B`UIJu?vwplx$MtZ z$o>L+i5=C**jX%l*L>N#!Jf^sYYxiZhaF#am;Lnu+28Dt{q17e2gb?9ceM}NvVS7{ zGx3Me`5SzP;XATh_OU$K@hNhQ969E0Io3isZg)9>^>RX+S%ju4s(?Cz;aE9UZ#+K7p$jK*v-%WDPK<1gq=$|KN06YUL z$Qg^=%ZVR{ zt}B+w86O4YzjB(K31A{JCc$%6O9205bX|kYYe89soa^?))wbhcy23`GmSjc$#Z*^oEf|2%seP(R;8T3%#kw(8|LQAnKx6;{3uv2=T7qY zxNC`=yD7thDRSg^C)$^G+EB$=y-y- zWzeUl%2|${707)CyPqR{CAP21k`p8UYUmnlEvF1G?3VK)`Tmw9XG4{ozaNydv4fnK zm&$qN2+u7@d%cXO7VvLwDd+71Iqx9z-I$#BOXYk(+=uXO!?sU$$l1PC&Oea5gYtZ_ zMb4KqIdVA5aDG76zmW4Iat{*b zJi|GJjNhO~_RBf8MXu3OuDL?4T_D%lF4rrQ8#o|0G(~RsklYid$vv@`+@$q#8S!VcShab`{efNAUD5MZr>$xna|xbu^5dvl@O zsYB)7a!BrN$e&K!?Uiz8!aM7r+}TmNa|X+ui|l#mo=^H+w%ofn$-Os8?tRF;e}dda zd@tT2_n`{8k09?ccpj%7o;V=)DZ)>Wle=QE+-D_sCHAiZu_JQVY?J#!soZt@<^HXM z+zs$oz`qe0FK?IoD&g0V^E#maxtn8h--2h$9J%im%H6t2?uUf8A^T%wd`iCU*!mgq zpC`%P5dgd8{&TS0FPF)!+AOykxjPTa-E~Oro|SU<_L94gGJg&I20iDlcn3Pg=;=itpBC@^V0% zCGv77$ZOj{Ui)71I)cvR>)KsjH{|u$BCjXk^gZwNsq*r(aVQV#fI|s_!HC5j3rSkTme{Yt&ukz)6gPw1<$UBfD?_cxf9o#PO z7x;dQ%A;?2$9gHCh5W_Mt^7u*6!7>Cu2&$^L4gwv@QkEffrb?dG_F*j$!-Nw;5n&_ z0xc&faPmF{(#I)~m8C$d{R+@`0(k`rwC}D!C-QeDuIpl+pDa*-eRZJcOa*#RRiMub z1^ObhfPDSuD{xkx0%vbl;9O*#A5~z;J_UyHU9?Pr5y&Yf?vkwvT#8+zmMU-=>0^jz z-3?sM_c+qV4+e9<5d}C?4P1%t3Ghvtpukn+yBeFW*`h$%3I(nwZVI|@+@ZkD*mMgv z-Ab8m-OUvjJktPsx4`Y26quR9(-`#sWeLw>z?>;Oi6Q^IVxGg0cE@G~=EHwijsmQ& zfd$C87n|Z_tDX;{&j}U%rvI0ws6nH!jAooeqmLd0PTY=^C z6?mpZfoIY295Vl!q`)fV#WpFh8kwt!|9_2g1=d6WI@e&|n*9o_?G9#wEeezm1eE24 z0#K>II(S|rZGDLXe=AgALoWsXz6=~vpn|%pn6JP~0kBg3)0+fdChb-DU)`j@Yv|cz z1Iqb&6p;2t2QW^7H?d{&R-WC!^Y&r|-dzg#ejgsrbORqDW7`~_+*By=$zZTwfls&a zyoS2`Y?=c9CF$KQp049J+1^yWU$o&%AtD=B(&U^zqp}Qt4u$#0!Szw6* zHOmy(OWfWA3hc`R$lgaCe3h)g*DXPn0^dwgVE=jrz9sFuO$r>aK_yRj1}gAlnF0rq z^AqxaM(!_L6!5g$g$3MMv`k3br6$D*4lr6pW5jFe9R1=1c{%4=I?FuV9;~ zf~Txdkg*qROIo{PfUNeUcR()wcCa)2U6I=jSv|Td$Q&N*JygLySqkRI6zn&R>(Rjq z_AgU#AYuIL;2`odE`x)s6g)Ri!SmKDSU5$&^NAaRjthyqD8TdJsS1wZyLhsKmrPJ_ zWETZ5?Vw-@x<{>0ka;~grc}YP2Nb+~lY&?9edRa>C+_FTQI3LF&sPv%ICy=Df;Y4T z+ZDXAyMi}^sqo!Wq2O%`6`Y35Y1PX6i0xji3LDmVk(Gma=Yb1Hz&g3dam;9m|Z zI2#>vrYShL7a(rlK!B`y`xLyR3s|q=e}^#aKKXorH^3IO`HA&-4R@MH9RO#Y9__wi;0KbZ<*fV5Au0CC%M zc$OAW@E_RnIpH073VzWN98~b1D;4~byj5iiR>QjsdAk=VScA;HD-`^SJYN?p_{~BE z_wQHmyMYRRU#{Q*^#1_gzt$`G;})K@RVw%s{6C}rmpKX^g8oYUVe%g-QSj&i1>=Rh zYFMg}v5((yOy)O8r}38yH!0-h^IV~lzfyOQ=WUx63Rfv~LU*3DEmi2mWePQHsZb*U zc$2dfY7$YXX`VvOhANbjq)>C@p43617E^fcHkoH`^A$Qdrcl~8h0<+>GLW5lM4_zR z3bi7wb*Vx*QH9zh0eDU!J@*h#-{5J>cRTX7$HopT6zaHNp-u-C>b#UEaEtk~|7ARX zD^{o*_H{d;PDzS z06D|R!+aIGhbna?-|aQRs?sV4FhY3lzF?r9u-b6q>k6p-J#fCg0WMzZO|#Qxv)m zTo3;Z3ly5NM4_8HD0FkVLQ{_@bSt`V>kiO89n30L=r1{7u|l&4f@OgCIp~=i0fgsK z-a9A{^IK^C6ou|e2FP2mTcP_1-#=NQMer>SDD+SluuY*Q-4%L-_($P;44q4*(Bs&_ zd=z>LJDy&k&~kJv-=WZoQgA>a{NK>C@I5^}AT7~TAk;D8GTD@PP zwSyHZ-=fe9hZK5|IOd(u25hT{D)bV0Hlpigcq*4D^vZsPUfrb7YdK)PLYuNcr9zye zh2EH>(3|jW&R6Iy^u04sp?8t@9&+B>tkC-t6#Af0p&iKkCw5hlXBYYLk3+k*DYQEW zz|T4#`npV^f0ZkA5FI~NDfG)qg?=UNH*7duq|gy5bhM>H$IutgS6EXOHU@*O3ga_} zt(6Mf2NibbE9`+_p28t`!pUHT!jV#iPaxc&m%=A@Q8=kY;f5W+CWRTZ;l_&W>o2Ndp%%r3;ATBvaM z9EDFqKjS2P-cW@vUBdrvgYaeh6&@Q<_;Pez5mR_VvBHze6uzoT;j2>=z6M#>B`JIZ zGN$ZP_$F{OX}8#5lft*IP|G|_T384#J*WA!FGjb=K%809jNd;5%N3+UAj%-Cy>3Y zm%>kzz8ssLA@6g@rGJJ0ioR8I6n>s?Y>UEch+jKj;qsvhzYtY;9Wq`Vtnl9i4k`Ti ze1$8fDf|+=FJoUNysuyrd;jpJDuubP2ydRL@Y~RLDbIVQ3cpYK2i+C^FiYW&S}ME^ zTRs8XqY8h9{r^~?@aM?4 z5{=D@SW6YL_bK8QDB>MdB)C|S&>={Op&%_inNDzny*Obp#VKy zlN33%gCgC?(|v*>J&@C5zal-6-E+4hy~xu$2W(fQ4{^->k-q!|+`jPio2wh zrFLQtj17|J?U0Qr|AdmMCJr6N~kfpSI04^-sJUW!aW)`ZQ9OhoP^;wG(7 z*+nc_UMHD{?b=r;_hB=xy5+nVzJ`?TZzeft*?B znN7Yq(7D7hw@2n<*PW9Uxw}Y_1$m0xGfk0uk0`Qmsv?V`iaZceWbqV59x4$3uOT_& zpUu%OuT~s({9&EQTkJIvL%HRaryM(X%?U2yu*Vaz{~ZM z)k|wm_ANch^X*w$qfvzf$6y!t=pNc+ZkQEBy~BpQ`2NOu5!gQ48D`3;kTxod(A{a`R0%#AfnS}kfeP|Kr$pTHZU z+|`Y#@#fhLx*zU%3^1C29|z0tLI z?!Ysw@kal~*?kL+-4(76_+7x{wQZ_3-LBvzN1AbgXy~PHuTB-=`U)M8;Uh(7fWduYml`11n<{aO490P-me?_^!PcFNW`;j*)A4J zS{)4k8f%%fx&)g1rm4IjV%--ADC~p1QiIu0H z(``?$!Kc04urhmN(#Brrp8j=@b9=p>Wc>UM|0W(=XiV@i@tcXpq+|E`m?&DUXS|y= z%(;tE9O1$Ey;_sT$cSZiUhR2b#X5Fclga0rUX0~6r};m6*o+&)<4+Lf#*#a&>CLAR z>)Sqd>L=xPfIqaEySBZ3Y9P0~ZS7ER+rGSgZOBeq9ikJS6!>aw!;?aA)D8cBb&b0B z$gPQXJFQ)VSVpC@x|jEBgIKgOmO-0koYpwkS!?)YL!Z4zZiF!$izcmgqrLnD&nIh> z{h!B^*EXq5OY?~@B-78mwqvb~eMe^aGS+sgmE6N8zQEo-_ZnjTH}aWogNBWI#MEOA zdi+q69=sEGn?y4@)i#-t|9@zE|M)h_D_?k?(MTGPWm&&vS(as4mStI%$C4~7isK(~ z62}+u|3%0 zt?iavUops%Sf18o^%VE9fndPu3-Et}e_`1-Ke@FS9sAtw2X>Ed{o3!(-4vPrZhH0k zzZw-^+p>Rt+;->QxrGOAO-;FOHEvqbI=OvrZ1efH=R&HnuPvHoWk4m?dZKKH>});VhiyENu6qNl0sq!n0`*KPJU z`Eg|x_rK*3b{&1v{$`~s#;ngnvN(j1% zo4vLor_ay_0SHU5IejFoE8Ti13UN1i%8nXH4XU1kB@HW<8i(5#61$nXZLFkC zddf{#UX3q7@Q z%eyN(7fv78JpI_Dd*}NHkM<436j8~_k|bvp+lm9_+in_IyUV|@psXGgUl{s&Y4n<{ z8z%*UVMft57O^IwxPyWws1+;U?3q@hYQnjTySNO%WNBEoV=r8`p_4DYxRE11y0~jU zK%4bi{MzbfO?x!M^iw?P!1|y-{Vq&%({I=9%A2|eferq#%To*l1-A>ntX=FD=ihxY z>M(xH@=9#~!!uc%C@~Lv>$Dg*PG5NC!fVET5!*K5gTMWU1^&C!#%58rp84>1+t2Ap zg{!}txkNi!aPhnQip>a!{{5+_gXN7MU;5R?+lCLnn$3#|F~+vwR~u(vyAjvC(XvN8 ziTE;)8-Qt5O^0GFXn`G`Z;+9t#arR$xWQq)og&wjLB{6d`O~p@^79EP9S^T%2{E~E zJoeS0Z0P#lL@=(ZE@v(i54RLHNt@+~P-4D5wLctF$0Elft_>;wgd85qC&DeO_lLs= z`{RLR0jUSBX%SQ8-om`KFvYqS3v9@bxHeC5BqCnThQOtf2QKa!?21jQ<^?>Mt2j+J zWzChHUi#QcF_70uhhBs@dIW3f^up;_O0?ti8+6BVbXPGq`I3S=#sv@)g}gh?*!D=m zYn0VM%(y2S^RQ{lq9@U0{7KxEHy-oEqHJR<*iF|vXS~BU3Qr@V91t{{T9NHSC$6(j zrLZzUaXDhj+H(~Pzrb>>1(yU^!HgFLy-w!W)RQf8pJs0_kUb^I5MLS?KmJ+I_>L>) z+2GT=Hg5fz#}oDJOcZ73M0zEc)iirf+#(|DL?@`m)QZh6v`Xpf3)38`W;s{E{8U*= z>vdcYS@kAqb;YzXO1Jh@geBN>$w)Ef8^o{0J?%vtKPfze8z=~6JNy{s8x+MaJ4Tmy7W>?;WV@v`*)A4bo_sDC zaQj3jW3MFFtxdh?Nv+7c;`@>VUznZw%)j1$V&RU-Klq|_Pwuw!diEOD^5?kvg(Hs{&z&)Tb8L+%&qqHvZ&9RI(Zh=?SLn*?u<=@Q94mqWM*+6=M3`RuS*JA5wuZ92zUbz2`=Lgr1J%5tzEDkm%{ZeMri1Dp6*B?9i zAiHIB>w-&O6NzOlPi+0cAKx>6cxK(RCpXXTlD)?(lCxEkr0|YEk|a4_GQJ%1bbmjV^hnlAafciT z_I!Vqz02Z3CV46sfT=TK*9UJ})=ICVC;xlZJ5NDZQX$fnR1`NOLjsyDPw{v&%!}Su zTz1TM#4$I2S;4nz>9p4pQlL#<6YR0@jm-k*z_c!Ie*rkSOf|Rr%CEQZ+|Jsqxscw$ z1-c!-v1%@tZgc#`B53Yzwq&)r+>|{bW6}e#zcTV<9x+-{5M!XEyO51>0EUrG*}W9^ z1?|`!la^{+_@Rc`5Ic&;4(~X0c-_9Oi!as34$h69NzLp%{oF5qxamh~b1^6SYJ9Fx z*tO{}JAD5)v*M%@kneDKj5D!U?|u6GXZoX=5vj4xr_@V`pvlM2Lw1`WJEzb_yMK`M z#tOZuQ*}39TGdL6U06qkl~A>&bGisq5?#6so$x^v?Rb?%=tg}I0kO}mw;&$I7EA8m z*Mw7Uw^q-!#Eg7l76@jNeSGW1Q8x^x*p~?SZ6fo#kL;e>5y;*&c0=KY%}ol>B)D?58j{IxMeup#lCmfea4%q8(+AKdH(*{t6hop#;;AkzwLuJ zEDO?`nBy=YlYfE4hzk+23521#2y>09wL8W!y?FZ;p8ISbiuHAyDjM{ z_T~|M$FL@%#h&yqU=qb)Uo@T+Yve+Tot~a(dG+7E;yTF+(wKMpDhXT7dYjl7Xt?nD zg+Y5gf*27OW)U{QpUuNQYa!no`xoRPd9-SArNJh#s$e^T}s%BeMKJd zAoF09<*8 z&t6fwv6S5Zg~{!IHFvijVV!Kc6|I_2||9tz=Q@5;~D6c)RNIJIl zgI`#7;ND5cHVfqz+&Ot6XjM5#HxGTQxa(SibpZ1ys(_~X&gn8VO?K%b?!5_an`;_U zSgv83=;j)S1*83|zNA^*T;Fid)tr@_5xlaEJ8eW52&Y|ko3*{r=Mgpcmp(Ujb1=Jg zY)j#W8=fvd^XS^egI7Lr#`qV~wAqWA_Sqp*(^w$2@WNfj+kgM;w6kM9&|ciraUsdJ zS-?~SLR=KIdX+F?LV@jSHFD$VFcs2sl{yo8l`bCX0EZD&c&ag*SbaUtF;#+2hvvmI z6v7Q(IKN?NXahm1_?rh2_a5edGbF4KG^a{Vj3Qq@kAV^SF8}L|6e|Mw)x-E>x*x%e zRtufD_(#2$2fxTa%s-#0hQQ4_7GJ~f3kod)#qu6A z`!Hi{P>)8z_f($b6;0$1o}7PE2hr zn%57gMzVu2dfD|Sx`E6G>`2FpmWd1dFyzG29EqI&M;x%%-^LvnuVxCyYsx6@K;-rv zv5q1uP%*=ytdfqWO^s+*bqDOc-9h_NJN6R%#J^U`HvpcdFQ4^h^lhi{Fv%h9A)4?sAJS zLAwqDJ0I|TzM~Y)?S=4uyDh>H-4qKvwC!zgwO!PbH$&NIEWdr@1NVMEF;(p_fA&q`ML=BgvGyaP8EYuavgTWD-Li#ZB`N(xzt*mu_0W^&7+QZ@*X$ zfSmRl-?u%=_nRr<2|?>r^)_rXD^zVbPsU$S?85cXV~biDGa<8(TIs1`Wml_O=A7OP zN7(Gr*Wr$39KuDcgs=d+0;SdJ0p8RC>%j+;F5QRkVpKYf(Q7ki6Ij^hB^5a51;Lo8^qNyn~S8NVfU z$Db6wtPVti4}SZ$@4c|F|MegKesbaNU!HvT+u@x*x!*Wx46%P>8`v28&cLB}?jL8( z($I)$9 zo-Icc(=+UcY?6($pBM*?f7tYwe|*DCY_qsy`-+*X5-+k<*<`j+x$w?D(=MeC&RdV5 zzEmR&Q+x*iLm3SQ*)@ zC2p}bTP#l2Y`H9#DzaSh@^iUCTYD0QZL^DEw&TgV7c8R9>HUc)M?JZwkSw3PHF{D} zCg&6Eh0I!Z+7Ta!W)$V*^xkjEvLoq_xdJtSclH@miLflL6*Cv!wkbA=8Jm1jze5o% z7jrUO@0>KAdjFP0CLmo()GQ(pF5q}hwxQk!Ay_a+`nirG$I70PMaySt&c z&Rn^Huth2=6mk_-n{L1+#%L2;scPACx&xb-kSk}&_J^~`2>H%i!djY@t#*E|A2ySk{RFXW2z>d(-Bl_0heA6 zJFeqS50jSQ*MPZ}WdR^UNvm_~N`#Elje2E8k(`kzgwm6>wzlyIGM|%xp4yTkvM);2 zJP4x^WClg?l^2cY@A&Bx@7={h{Uz=l-&pb?Hva6x z8^o8l`V=p$Hss7PtzUy=84S3gRY6Sd=?oC2Q(URV`0QGml@vf=^$Oh==m0wisilZV4sQF>ID6ti z$x4F6!pM?)T0CJaEXUoJ`6StP+mbRhTN*W{FIy7GdIYtkZSYm9aIa8Kk*wjL$|xVF z^%{gF!N!yTc~bE%21^GP*JV0)_;Mm4B$PMH39i|R7Rb}fF*z?Vxg~4Di>k2ARB3?K zR#T1?uz4L+RH|uAQD9*sUDm7|E!TsT)g((=qg(4LX*Hg*#YU(BX|a?K1nu2$25<_L z;S}Ayra#9aLTx8QC>ONF;4^wXZ5HVmvt~TuQT4gAFB<y#HsAcwK!ENcp{yM6HpH2 zal)9Y#ZAx9i;_H-UmSpq){!IU;3AwQM`f2~D6KXE&INa`1k`H%IsFO}C6rJPcfp~$ z+>a;?q3#|Y*$Dt}hu~d53BW}SA^-^QGEDc9Byk?w2q-xp5w2f)cezGhSTp>4F!&$$ zFY~oH#;H9+;t$9h{CJi5(PdEZszvrqWBYGWQtn^+7mdf*SamC{p1CMb0C+IIh*QgUt}8!fqcXfNB45SblP^GCXJ@vcFNo+mN_jZN4=A}L8UFV>*7Y-M*mM*R0%=oN?NjaI zQ;PEWzI3PY;uvdWPx(@6Fw~$ZPdOu3%NBXH@kIZw|3ndtlkynb7EAkVmp0J)Xee!* z9S{4W7v2iRTyixgca*MWcaKx-7(xu9K)y*-Cwc5hdQ%q3$t3cG7?tZunUGj(0VsTj zs>$c{M(9l=XNNWVp*J$$6lDo+qAsU3x`=62iJSg61(7!*CDa8F#k81P^CD07XbGs5 zBZAYdadNk@kAwwP!IEq61^RhN!NUiZIlXWxS|$e|?-|NxPMo+q9&ho*eo*|_PG2>V z^GDU;m*fY za)6vb_TAsSOL(*sx2lDo)D=*}YMy-j$>#GR^E7j5!jrmM_Zuzu25r)k^`81J%1id+kAWW1AW`MV~#F;JGnq)}%E-#!Fy?y51 z&q$Um!5wYT+iYE)5=!mXt9q?QufrXbjX7yj&VELg7e@<=vOKe@W?JdksVFSPPB|o7 z9V;^j^z_DV`+&t-U!P1R73Jt$_(?_SXzi#~#J4ST@Bb*s0#fq)+08RG7gIm`)E3Lc z?rs~UD(}A&jz~^g5?kM=&p(ju$+}(ArILeaak|jvi}mp#Mz|B}GX(UHGt_$ zRK4*$HOO-YF;^X`wBthAOTv_)?qRZQUSCF;Ho)uMgmR+3LVPHvnMP5CwwA(tGkrq) ztw(nTc#OoW%)nMWz+D(XUx`C7xOHSw;_2}__KmaXvz0fDe_^j2oHhQ>Ul{Ki$G$Rq z;RHgb+azP`j$eMuc*A%Y-qgV|Z1%#b4}{9%QML`KRsEB>3kS9cd zM~v-Igq~bEK#JhbQ``uEpwePV1rRzSF2dA5Rm-2#<0dE&&(p%kJK(AEaXQR{_NsN~ zv^WY#xVtcLy#ik2dAiFq*4*YU2U>s&KoKk`$WaBe#$92yy819_Nx-AI_-+W(GEs2* zrSPSXBj6kgNPa9HXNME}PJZj&gXM?K;3o4@@W_*!lG$y~9@#oPc^IYbc{7TUb{Vb8 zi9ap>m#3>6qI2EuZGB_6ANrKfIJLk3(uyOgq4hOptb6$S7BS0~8wf3{)~r@Sy!rWMN#|Da zkg5hcC+5mEJgTaJvnhu-)jEWY5+Ng4!bD!zJE3y}c&$N7rw=rX8;Q0ifbZ7a3HfUYH*$6OrdB^Cb_EyvEomTWD*>Ur zsLoJr3z+3kBspT{%$Cz-V-zu{e0h+aej>R4!PPs7!*9Jum;3_}ZBm*m}>ga@3ffoC*h=kFtdnmC)hei>T2ZgTAgJK1K_9BdQ~>ByWT` zgJ;jhb9z0fzRCI`lDY(U;3!vBlI9W6=Pn2jhPxz%yYLN>pXY4NB5HG5yrg#_OMb)= zY)R!-LK}5a!fBw2dWsA>UeX-y?}}15(VpxgN`khMK7|mGCEG!VrGj3w6l}H-0f7Qu zPLTD)$lkjp(DqG2nWdwtroLD4HpRO8)^}cav}@H3BU|cLU4Kp2wz*sGyy2ylQKcn5 z%#w>o;+boTH+ru7{HNde)4kueI*u*YvX=ac&W^_VuYS7c+R}<}yS1_Z+TS0&pTl5WTi z6)yUiV0$y!`)IUGC=P<(J`{8Vv3!e(?!>F;j`-tshiD7@)GUC8L!;@wg&kjRN{3TQ z&GXEO#*XjV#D-vZ=#KrFLh7Tzu5aO{E&CL0zs=>c9lclCvw7Qg=#m3_+Yn-fRkS-K z$x`ihfw0d!$smx|d!Sn0$V#3X0G0uqz_Xq%+6Y()_Swa=o~|71lX0M|(rN|_t#$OB z)+T(Xu9Xh!V8dL;SQm7tKxk<>kOcZw(pm|F5%9+#n^vU9JXZqAIsg)u1tcbf4a>Nu zBBBKXi=jpzO?=sAIj8Qpec@}98O2fPTL*h=ks++{d`o8c3-?Ujeeb6J&*Efq0w)(o zB=y3tXLlXXY-Ph6zyA4Y_Un-~3FT6(AbTcejLe-cKRln_`r=*U#QuRxiGf6vM95G4 z;1||BmdjZ&A41}T`G|=1U*DF!zA6^huM!)Lh^$Zr<`cnJ+dIn zv%YrA2?RG!HM>qJN^&6HR_8Y6Jkf~9xJ50@DDqRj;#0DGQ+tAqDr`+MCA~?p3xzq> zaA=^p^ZmC})+0519y?x-dA@dF!}%vHg_#*#yY#^??Dyc>uffw4%B@&?ts!4dlN+gB z3+gd|yNc||twucw1~8-Q*P8MB)A6?oW}u#MX>CvHea_!##V3WOwnSf%hu@cu%!s=K zL>xVW{1CU@N7i4xOCD02_imw#?~|k;aw$;V|8nU_IBz>*lS95_IG`w}2EyNjoTjey z8#`S|)%}h~ak!1wJxSGN+!4-?%kru4=A*Kl&NL`2FEP=nM4j_=I#q%IBaN9Fr;8;e z>4+!dcgi;8K~*_Q1O4xxQCUuWxs<;UCtPcOvh9)k@3{FHb)nG837MqU5mdC3*b zw4DE(sUuXINQT;-#!TdO6{kv9T*EbHqpGFO>DOVKyWW&~ z{>aZ{Q|j$5ZS+Y!;P{O;`{d(iU-;R7n5WY&&Gn={SpOR&Pg>fw;nnL#XFt7RaESEj^8eWXx38J1r=nP)d)IJZOWtG|Gcsvu2Q!j= zH0^_i!V)j@Hq`9F=}y&@5OF|}!!-EUKRX=e(;<@f+_(;}cM? z{J>*3%0GewCce70J*>mOY;F8BFp`xX4lz&gjb=8a$YT3(nd zSQQmEONepz0NWm95#vjR$ffe1t#1uG5l*GppY*SETP~WnXmvQ78XF8f7-C!V(Mt+x zD~=c^!mYuK>9fvDC!vocRPS2OIpwYkmQSuL-edawH5cKaW!UC2v`$}3TOyG*h?W!r zIa5njcedry=6?Dka)nfzS<$<^k-&5b7O-!{vI%$10`59A>IxhG5ij+c!hLjMp6hTs>Z3e+;ziX;J*NWj6Fg3^o~yJe zf*ZY9zBa3jW-b?}CW7Ee=turnKl?M&VC^nVc~WnM!J^N~?pl)V3QVttewJ~(%vfsB z`Gga#a*b&V?6P;H>UtYdjy%XKHP!uS4;p_X%^AdHg5FN`x&-kEDm@O5uMH=u9GM_G zN)gWiLO>R`fZ* zapmlT>__pNk5JiB9LVX!~k5KeSTQZy9!rFiDipwlCZH{YT>ddMXOBE!bQ zg}o6+)FO+~#7v>6JWTrds<9Wn2KNgdJg*3pcoHbJBUx2yQNj_^yu2d=)i-b_h%G?` z5qFHVg+c)nICzznu?5_@FIG3S>sA~Yd+li@1$yY@miHqQYx@D;f|){pFZjWI;uv}x zER@X)Xsg3^%~04TN<6znH>bt=>zDtn-CQh-OB0{8LeqaEY3xZ+XCiPW9YfrSG0Et9 zK5qaq_d$>l15M`D7WqJpAo9#Ahrc z);#VmWAf=qmS7H{EXTmUB4$14`8Yu(U!>{aMw$UU5V1TG8qZIzXVNUgaOfutyLjt` zuj6;h#xs^zK8S)#7U5hfM2bj>DPY74k^ZY3e_~Y8Wm}$iIL@zgIDYOJaX41jaoIm3 zO`>1rUSKI5ye9&`td9P%lXusm_ZRP|zz#k>aUB&38oVYQP(`Af&#|4y9iBQ@`b}wQ zwBCBsFhU{OnR+d#(q1bH2+)88sjFUta*Gjh`Qyb{QXH`@^HKm_I=SaDv_l$t)?go+^3L4(L3PgCYClCd4?NAT{Ms!MDYbTX-QHu5pVSRL(l8I28 zX!ECMGmGribXF^FxXu^5xup=>v1jYO$+YBy(xxM|j!-Z&HgnuKZ9LyUSZHZbY-x~B zupTaODo?}K9C-HF0TYeXnoVH5iyB(%sR|5AA~Z~gg{sa86w#*tUGR9zs_-sM_03YGez#v2|Ag zCsPIjz{hqQ^^(K=Rc#Dt3iV33eQY7lCf6PN#*xn~%xyh*?C*^?&U}8AJLt0ev3t8@ zTP9QtDvxdlb>|n+q9JU4{kwOa6*vC8{D$%KoRfLvKuv8Zxx@0$BdepL6l`~P`lpW= zN1I4bIp@TpLQk9V+S}KqQ(MviIQ?&;r54d3Ij@U3Q1;FCy2yFJx$a!&ou+WCDGkcpH-)yhf_J^-ko9V4$EO6qS1*%S-NjKmW`IUPT~F5jFbJEw1f9IzP2L7Cf=z zfya*>Do4i)qKDZt4J(4RqyuclCPjH@BIpV-t1KJrh?)$Iv#m4VuROCQvatB?Prq_( z(c|_q+j4CK9|pYHGGaLh%r+)$GksVkYHCNID#(fut|zpX zqtB?Kde0G>0}7WGcIg(#j&!BYETmdU8|njKw{a#)Ekqbb$8)*PTT7<^QV{*Yo5=BQ z8K+1X4%r3q{y@%(Cwx?<>@(P&C|ei}_f8CowQ>3O|8e%#%}lzR&9`58ZT0+@W_OAs zwx+#XoS9pVF0r|Mc-NCZWtf>4mmb=ASC;F12E8BH9pMQMekAUMj&Pnx2k)EV^pGI# zR7>Y|4b ziBj3NRH`^PlE)#`{c&po=&w;6sjI*tMx5%=#I{h6*nd|8BfsscF#UxWfss2z1Ep%7R zloFoHUUg&q3uMH6z03xuB30J;51bx^anpCjV_P?$awMh(9x@IMJv6?#av;+`^jFGF ziHta(^teKvUdPq&4yz54FS8;Fa z)<3-c;ZnAkjz!TGO1{4dxkV9nuvYkUlP{&^@`Th$Wb0nOwxleDm_`TQ2WshN9C z^ttkdUB~+l7#6BEhi-o8!my7hQGnl8VXY9Al)F~Z*{&=!WEF?%R)JTgkK$8Ci2_F_ zSGgat%h5!VSMIvVr3(6L?3U%W1d2FdMiGmRGouh#|2XWDD{?n$1L$)e~v@$BA0QJsf3P0qP`&n^kc6@(3Yu zxZK29vP}&Txx=;8?686K4rh&)E$Sk-@gp6Gt?p=o_SaZ=(nZ86JoQ*_Ay!By5KlJ} zWtxQ0LC&|@#t6UL4(9u1K!pi$^4-bjwD=zzO(gqQrxJtT%WhE=EnoVMEN{uFvkv)* z`LHNjm~=KVu(mxuy!QO;GJhnmSY*d%Gjco_YIRz@rNU^0Wb?s&Mv)N~Pzy%c(Q2kp zm4}x+a73+i@#w7F6(Oh7MTAIXFqkgGyRE=5QxTa!KxzYhu7XyEAZ4k!;gh7IfkZ-# zvIZ4uR^zph$ADaXkV`!8Z(DAdGNGhax)UWCZ!~Y_Eg=o+h z#5D<-2RGWQcw628j22{UVSvn2xB@mgY32_<{^$RhHZ#o?E}*G;%JUno6QF9Uv$%ri z1(%L^W-vg6b!8p7SR1x?O@i1ii(~xY*SKqtbOfU4+^c8nI!fj!2Nr|bKL#z7Za-HHezN1D>wu6$s@o&0^Vkq7*XMbLoMdAm}n> znKb9+GU;860?B!i!(&e`i}ZTION6t;ZEo)U$ZejVx~!OoYe&pu8?xMvezLc#*Pgo) z2pdYHl@_%$HcjJ}Y@|c=*XQ$ zJDj~5CWnycclv&<%WT5&LNH!l#rML0E#orkTOb$#V6A@D^{~oS?uuyZ8{@qsU5Ku0 zFfoU==}K*VB$=Zv+w0N75a1B1*Wbm%agdLu7@gnXHrqsf&_8U>aAr_L+K4}4cOdzG z;s;5J*7>&cF%*$|gJ6JdaazRtzBT!|daFDCgR6GLi)`U>wm*?IwArzsjc-u+H}rMW%leWoRBQSAOZ`~?K|C|M zTt|K+nb#HU^}e=l+UrGfvZZ{biLX4GGr+o`9&zqmhg2XX%CV%*g-KZ2kmqi^g_vp@##PgYe^&w49$5&bT_qO3ILV|?HKh~wkG6On5JY` z2dm5+GmiR%H8OW_zIq?6Rhpg|;a7m|Kk@iSxA5fXfdlc>G@Qai&82V4^5!1((^Z)> z@zv9#TqM(dA@a{6@Y%O4739xO%!?SQvd)QME^%9;DmdnU zz!A8S2VpE5HP50^lh67H5ouY145)Df>4drEnAsqj=fMXPSu3H6CRi}D`wP$Bb$05= z-p79Yb9UG3(Sbb^^LLzNr_LTZe&=(0&i$7?j49$e999vyB6`XiNHdD2Je#!~kdnsn2hVMqq+lV@&o0L)XTq_YH)P-IQLu!XX_#anDb_ zx&M)cNtdIz8v)7~1t^<)X>*3T$!_s>*M zqzOP7BA2Fr06j+Fr}w~idia>To&qH5>miByR>5`%dGLX-RSvbRBRg8)N8A=>JanrcycGxbP zlG?wzf4D#4j5vd6whFDwno2hSrCV60bgwG1b97-So*b@sh9&31_>l4XV)2rXLAL%8 zzrE#yx5OXAzm$aU3gs2B-g1sin8wObTx?D~p+*3K2oAiB&UKEMHlvgUkQtj(eQ4GR z4U5WvjnkN+!Fv&tgM+}@>=-IHQeZvYNTZ0TtIkEi34_8BQAq?n$y0Xr_K_wkNZ9JU zt!dhR^+vFN(T9cUb!alu=?h3H9uX{xi;>YIibjVDY}a&Rz%tCJnW4YlPmM(uQ%}+2 zXg1z)dADy-x|Db(voLbY%z?$N5A9XA>~uPmZbeat)j;vOKzO*T=bg1XZptpqIzftN zEUd_Pc4f!ct)0&2_wC$##2FOBcc&D2U^?ztzbe)ni+j8q9vQp2*btCxH=8<_hitb= z528zLr%-N(SZQ`c0!r4>PLgP$shV){=oim(R~ZKUgPt|08M6Z(j9@?X2fH3&p#*ys+#Cs- z+r&hXxx6vO(cWlt$-i=CUy39*jYqBf|LDH`ie=Z(hRz0u)$XtQ9gza2- zZ{fO?V(jSOirazxnD+ISl(OuB9wCo_y`jC%L`r)C0+a#c_2BEdZj}|f<(N77k(wjW znQ1}O2^>{*ya(o1QM*YaWehpJ6CX5oa@9f3#Z|{kx0b(n2rN{O=!I z%%kjmvXu9`nTs5>!Wd}aUqmIw-nTZU2a zMt(r&_I(JBj&}$BU*P`AfqKF_kY}FwHg2-ZCKB64zD7X7>TfIu&h4?nP zB2^46Ria5dY+^YVSwb0+7o_{z#d{F6oV;!xKRb&ZK9BLg(NFF&-m^%N{8jW((+Cow zhFC+5UAB0nZ-g2{e;#YLs25Wk$)~n=UO0$>G~$=-wc|YiCd`~iv|By)W=FST>>aWW zu&+-RNJnr_*0*p^Q<%_DUX6Rw`t#*+@-jXZxx#wn3W7V_1)K(2akWZq;)1?@HI&@e zI*3KY?Kycdy|3s+GS_Wcmh;gE6oTWUL9nkcQH;z=JA)^vRU;4SFeYehy^aVU;w4E<@b&f8q#EF!t&4$g}JW0+g z$~M{S*e5&WnnU4`%D*3L%SIF>lO9byq&SwQwqXq#iuk?~bND4BB6Z@ck3~X{$K&|7 zRRy!9MqY8cjPsekWu4-7n@w^0BjAupHplm}jU1%rtsY`+w(zRM%cMQZ#or)GHc_c@ zc_HJFk&s-F@d(X&6A@j}1iKL2RfvRJ;8|?BCAW$Tca2H`sGtXk;GSO1g$sXbf;HTG zz<*fGA~yH7=m8W7i6El`hxudV8qs274@~b(74u0Y?i`I}qoKZkZceB)CURy99rSG} zpG9$4#7Av)4u|b*a21IEC*$d@ic**h9sWhyca08MF0HR#(Sf$|f#}P@2pdZ(sO3Oa~|1ocQ29OF!a(b^+Winkt|>FJ>801WL`w z#~}>UKhhdEw{qknF+kz@9GDrF*dQBXpk>$-MBxy;R`S1n#ojxWj&u{- z7cQm5P{MfcpO|~%np7ki2zFjLq5;Tum)JlXO@mV;Yb6R6gufgt& zNnJpv`6wJl6U>Mj!E~6w%Gh8JrURz*{a`fE`UZc{rxlc4z~FJjBly zk+VE3Y^Te%W6$neY%bfD^&oeg{+8^p{aq-uZ8Mr`R^voM?Qf8F7~eU#KPIbRz0LT$ z#c#?n`S=gn#upmU2KHa(*nU=0U{0apO>}RkjRYf1$%4+UGHNpEvIsDVvp_Jp5Hxo5 z!c<>qo-Jxd=nu|g-rKy9uq9EygE#Q^<;yV_P$~P?ioe`DlmppK~%v2 zwSIa%F`O8*JngpK{Ckj(+xA)VyUXQc{17J~pU^%w!^LxKAImPDX&2)tSrd}hz&xM)s?U-uBre{a$8*BLB_^cI!<7Hcl52!TKG&uf`M>apasV2o5 z9bbHS-O&42Pe{+3fF{nh6f4o)O^WiF1?% zXc-sBAcYj#jH6u7bmqm56>Xt^5XIabg2>@W(JDf7G-P+Bp)rv%gL;DZ!D^wkj^~(5{?p@X9YVg)!Vu(AGXmHegX`#8cYhlyM@t3bo{OIj#$!~1g_*e7OYCPJx zZDy6YwLahqrw%?kyFZ^zW-wX%$k!dIu<`R_&GG2G*Jz3lZ%^h^e86J+6y~o{w?3d9z~L3e#ZMp_0ji2N zd!}7Wz@H}P^mWjsRk`vyj*_oi4NF{+TN++R$hokN^b4>xoHWh}fY9|>$Z#E!?{aJW zDxNL*$gQAt)TdDP*k?Xb*hr_zP*Guf4Yk45lf>~>lH>BQ_y zigNoHlbrR9$!|D9t}uJ@fP%<|2*b4vea0Z$wmWO%Cls|-PVY5ts7prJHyp``^YFkW z7O^x4-8*e8FvYrny%61Qm{2X#*gBe%Dsxe#;j0CJkdX-!z}2K?N~9uKyvK&F{pU*Wf#O^E+@kXp|;iL)@jw^bb(0rQvQExy2V$ z9Ksr|LKBW#>o4h^s|b23t>k5mj9XtZ&bQfN#ai$4xAzqKuDFJ*A@A1kbB(9c5K>xJ zYG z`3K?YW_(b`#Nuo!wOw6vLqA@(scSb|rmz3f&Ii7{esX5*x=mxpZwy@mT!gb1=+D-e6K4Fh5d$mC5;AhsQC#mKn9E<=z; z4~*an!FOv*s{meA3%GMQ^7}x_qxY7>@k5h~*X|nMbnnnyu?|yZ!_kSU@ojr%_pI~( z!@I^`u#N0Bw$V8C&dbK%v$mIBWJ%){_IP1(Y~wc$OmAlnw>Z98o|)Wp`|fXTwHX`P z?A!0KtBr?^nDLOb)_D2lmy8!#=B1YzFeyp3eb2MA%I<&2Qcn)ROL2tO+AF?!VoJH-I#b135gG)<;8sqfi6+%$kd%^v)4Kh z#)4@Eawf7Gt()30D|ljBvg@M2{Fq2r47Ro>Np=w35bHGscF}ZTT5zGXI|F07{m`b3 z#fiCi##R{1j%<8!->vyoa$`8ye0=n$P0re&2=aMsC_A&}NH(g*riK>_&1afJ=&^Q2 zB7xHN|MIQ9iX1{2Mifp81=NuG!A(U`iFYoxCktS~2N7G-xPFCWGl?vBz@l5-as;xR# z88sp9Q5V6nl@{|I=0UaaDoaZOJ3x#1s3ezZkr+ihfp4xhZEy-U*fWX@xU&ls2C}{u zj8&tiX~FYooj1~6T0^8UeFFRQQXtqkgg1iTd4=hsfo=LbfInbK7lCPVl(0`W%3@=5qk>^4p#R zKxFY4e-6MA!x3VQUiQlfi%R`bUq{5(3EdWjQOhWM6|-__*5EaGq6tkf#)bf@OIapQ zjj|D^z2FHAc*23Tssfi59oaR1kcogo+ftp=B$DSNPnp=Zudgj9;;1_9bEydnWYV7<^pC7@N&4B$a z&yrx3^Z!JnVPlbYDa9Wv(dz2`@UapXwqF_!i-19VQ%qS80h>Z4)CTy15C~d<7GA7t z5fJG5=rI|XO^T7?d|L!Wg>*TTqf!;^g(y!o!}4m(cQr08K(#BMxn9Wj1Exs=%+j0D z8NTGOg`H%PJ~tA6O#I?)yFOxv)=~2jDxozFqM}pMbtxzUK*fj7Q!|l0Mky7Vj!@n6 z`E4gWZM$xn|Ki+dwnfhb6HWDwn9CV5=C#S;o2EPfIm=N`Vf)nl$gOK9ZV48eV#@BR z179B6II%0ObjoQgH*|aw`&kxp$Wn)ahvZ;tB4IK~E)lJp2MZJ;C`iV0s^&bWcjCTL zf+H#Lf}NiqQ!tZpk$8KTN;lg{@t~l0gAlpY(irc=IbA^rNKvB2T^5`eF2Fqs zbQT2$BFd>1aVtq%84&h}O^ zpm-as_e*NO%dkfjtY4qsZ+|D&hck(lmQ}|)PJo#&&dva zbcX*NRq&RY{q>+t;t3?6O)jD97BPKw_*}%r$7&MsfyQarFvX99N?HWKVF($1D=@{f z7^SKeE}wA4ntF2g_!vC^$YskyH+=}|KW-)2iuRaGkp$A(f*TGWyFBJ9;?+(6=WQ_n zRjC$A@tgSA!H4G4VYV)tjLpP6!N_5cjom$YZ+mpVVoN2XP+U)XUcJk`cwF_4T}bv1 zPn5DRtquRT)$Gv!@`#5=j9qWcm&9*)#0z`-hl?(kPmxpU*O)A$xpHM$A%`TRrpdGdH3L^4--r<|^g)Uf-%~WX6SQ9-lohBi zylUA`S=KO3DFg7L_d$SGKw!E8`ajZt@c#86s(e6|s1B$QY)1(lM1lPcO4(8j`h8&c zF{->{7*_;?=VC2(;3q>s=?iXCH)y{U-$d-X_UMm! z4+InLWDl@i;z7ht-Te7A2u}%-HD7p&ie^2#A~fNo`BIIffb&tR0h-6`+O@N5*#m3n zm2{RpZfvz6@B^l~S}03YGs0+cAnI_LMBGJjgS*HOJuIeDYkC8YZ<2qb$U$(IEw$8D zL>-jCMe;O{#ni1NSeD$h#T|vDV|uhV6d9U6uxV_{KbcZX&o~^<+-@5!jm*YlKFrKc zt|uG11OD3uzZIc-BwuS@iZh4siUCT*#EGh7=8sFM!QcqZM(qm>?gNN_A5<7XW&m%< zpYSfhcIJy->tly@1)a`#tl8xn*mZQke%`X{z#sk5?wx;n zH=EiwH+#qImi-6KYdeK_{i#dwI!Pc9^i!OUV!^UEmJpBEDMtUqc>V6siJxDJ*Q;;v z2PEOh2lLjTHG=F@L3MeY5Kf#;BOa)9noASUVd6XWuhGn;CXA`!BQ9#_nKrA{${O=a z{W-7|Xy6SO)|INZ{v6FHC1GJyEJj0V7_eUrieaJ%eDyx6Nal&QRqKAF#+gi+1HVxr z5#aC;+jfvhMfkqeR8NsgdKL_7KE}pvP8Os`-J!Id_ZKj_8&NY21)?1YGi~f(>M-ZdNjpOSus#AjAiIJ!jmHuaQRUZS%On~bn z&O;ruTpcaK?H_Ei+W2~O3S-pG$yWoLI#d#tTJ~_-hlhChZ7Q+ADE2`+IC9oDLiUDK zYM>zNF6A_O6lQfvu28jg=PJGClJuG>EQS%K%o8cT{m_7CTCqBp)<_XigBcMuTx9L& z<5;%dby$`xkY>ttR}%Q#nnK!w)}$z&xk}wu2y*dhoyVO2O9T686}2|^Qe9)TmEs81 zd^#mT)qF%GE#&WxoT!rx8_@4u$C26dGc)2V2(EU{AO3B@)rHUfCu?|OS@0F;GlQ?A zL)TC2!mQquoVM)voeRiqY8-1A1=e5zin9`R#J@LJv23S=!E|`#1~RhiRH8f6V$I}e z{_m&qdI?5$Rjyp(#McsFTP>zmyPFWgReGz-xrvXjGtog!qQx?Cp0dQBtRs2w4>5=z z+$yavSGn3;$cdc(8LVJ8jWr6F^nMgumP&(j^R#SN1K~ldlb~<7?xNYnN;vAnNj--_ z%}Z^~N$NM%gu=t|g!l}b-DIfi~;YtU| zI8Xm)G2=aQi?inI;&X$Cl;?g~@>-o&{4s{h;8D(&%S|{faYMCQ6D^HFDdKQqbV9JW zVz@NDl7h>_nNDA0JTYp4it9R#QOH3I9VQB za4*1oHqI9hOWu%t$3i3793ae;ogb7R3Ec6fMEmFRO!R0tRu`&|J#6;}-C^r^Z#3$R zx)OJ}gArHEl+M4s(_Jv1=^8gUUbDFDep56)U~zpNh<{tq5Ir}))BP|N?AVGNuLc$P zC30_ea7VxXfr$ z=^AiJkpr(lI-K-3;38dd*CvvDS?$ib#>V%sIt;={)RR>=aQr}vh#b<=+E)1c@>F5u zM@IIIjO>%2$sWjN59III@owD9f2Z)j=cS$PKrxOSL#&;bu9AMapqhhND^znttW{=( zSS^pDy`n87s{G4j=EyDTH!0{BU5UlksU_8`vDjBGqIzaDV2qgJC*VC?0i1nUEb(6S z*Pk~8Tcce|cn^oz!t4cPT`$R0Y^J-TXOe={V>=0+Zw$=dcJkK7L_q%JmO?yoGLh~- zJTS1GAkT#RNM`1y<8z_WUdP!dHkalx9U4o-$H(Kz5#EsyyDi^@R)z_8Vf4qBY44u2 zx&V7e3m7@gm50(g1D9F@)T$s%B~`N)h6f1If)QSxq>B0xo&F&=ut&Tcz;E^pu=cZO ziZvtLip{4LIi=3yX4MZ;?sxG1}v99PbD>l=zm!TorrUzEiy zc^*}IWf`2HJ@~sLtL%3vSHfQ^7H}2bHNA8Nwo)Bn`(+&W;}P7ty5qpFWz`5EZ90Gg z0tL}pS7;+qC7oy63vtd1luTHi!wdsk>02nFK#^m*sw#i#Rg1;nkO+GLk`<~;3rFJe z+o8c@R_j|Bc)giQC(V%fTz=no!tF0ZBBh9xSSOJ(uS=vD?l8oM>FDax=*yhoOe`;_~v>fZ_k^@38Or z)o(v>b82%jqp?$;JJjuKDk+f3sF10Kgjpo9j05*k33hjFjo zD}7JWIj;h3zfe+0_7NFe`Corv#8hb_~@b zsyI_ve}LFPdlAKUG{aA{x;8Y+v&vpl{HwD(igrz6V}=Is(?Nzx6#4{x5AOUIKv#oFt{GqsiyzkFT ze_P-u2e4X5m!WMy^)h|iX7FN=``3>bf;DQssjCM2H;?yCBDgixGw`9{20=3nL@IkA zXeLTTLeLCt1q{uC6lb-&<)rvqZbFZG6MEUFP2W5g<(iXNd2loUuPjwyCnkYzz-< zO*`E;<{*o#%*E+bS}5plBmVLE#iI4B7Li+5x%vW zohbdMDLKc=Pk)GC_b2gn$Vq)r#g$sE#5qZ4LK+)5n=kA%Gx6vKbqhYWz@8 zv|8*8fivLBQcbMDO%nt_o~TZ2VoMmC*g#r#h%CCOc07-Mt~$LNn>dQf51?aW6HAk% z9lD_5!LoFz>#}#VJWV=x)n#p|u@Fb^5O?tYZ_NTOrAR!Pl%o(Sy7_8sd zDJy^$36$Xr1Co#lS*dL_qZkBoMqckBwF>S+zJgZD9JYN8Z-PE`u2XkmUi-uB6xwPy znhV&6T7}U#{M*=C0~{Jda;gOsBxe!gLa+w_Sy_p%t&YsbD4QKA1oVoK_upq=1001Q>P0 zIviVnK1oGaR(&u_-A%qEGz` zeXd&2B5>!R^+-XIbrAcs6#Z9qv;R1u!9t*h^f3%1GiQDA$!mQM=z%1V{e>zOct(0oE4qXoS+RNqV!nrz z{*tZ<8qiBAP%ueQ~&0eyBt%^i`kSP@CIOF;w&V9G??HFr~7gd7s}MHhgcrc&L1!$=N2KDhR^x z?kRMVEH|JYcr9}WOm}r@GhDPiSSUz6kYF^n#qMlvj}7zhsa*eajy0Kkl?^~lY@>Q|K1w$tsa&6iVK zt2|jAEw)zjAHNvAr{eQ5pYo#0jpw7@B}p{(N)l#d1irBa_znH}3iyo%{rQMxBz|M1 z!qBWw4A}_bXlN;KsCc(}Jfp98&ONft)2(JAKe&j8D?S^~J3mfvpiV=4HnRT2xOW)L zEuM8azS~acYV{`sWdhrZP5Kk^1g8wgip>zBps55kE<9lq?kMZ-_**@t;U{HBUh_7O zT7K;1KX4HbjC)w|nHi(HFe8QvIj`fQX}C>v615J9?+HfhzSFs|z8JV%gC4d7kc%D9 zb?Zw5Dr?nXed5H6b=?LT08-F`bFvg^$BJCnj;>H42SE)8 znQ2ZxAy=vcetZR3BhwS0rwTm?P(c7Dg{2gU2RKxX07U^lyW(sJlg1lKs%j&Mu^Iqq zWGRyBWU3lK$nQg6*R4TmhAN!7r~=rKp~*%BUd=C>S{R0J;zWF*qCs2?3;wX1p1%;qG&D zXU^<7dv?#6GjoOmXYgk3%(=O9=jMbT{7`7{`K1VU?ZY~ko+9Zz&nlk8j$>iLf)5Ex?Rs#SNVP7nx}X$;p2wLCe}Vij!t7%X>z@2 zvba6|>aduXta3x91k>1i94KhkSw&~6f#f>|QKNl-*+6syV1&pCg~6g|+f z8=Xy&s?7;XF_4FAcEKiQp9UHuBj`*sqqwNpbt!XwYD$Ax4(=uKD1Orr=gS5X&FsM< z+CekM`bmQ;SBW{tNm_8+E#$3+d0xZ;zvbqxq7;lem*1tTIT`wY9;{`Z@-N2kxg=eu zHB7?!ukJwMiS}Tlt}&x8xlg&qEN@ZEZU}4K9HnfuNF8Sr%7C5@SBZ8^71}Y{ zfXIvoMzF?Jq7GSTwrJggzptC}!Cpbs>%~+7iyCSb3%}zmKjtikmL$gz6|nSDPBK7yvIVm`g5Eo6PWb*_9#x zJD0ZJP2z=80m_Q{>Q_P3J}` zqV@4f=q(R+ zr8q1|mH9f51{a(81BG+c@Wkkc9y~TVd;@qxp1gMMxX0*7_F7WuU7zKM{X=>Su2GlMk*5!Ht`(2d_K-^CRzmEPY(Q=J%esN&fi_ zi#BJUkYGd6DIbSu{hym3=frE_f01_@z%Bfwg?ID?DlnDSp_qhlxSgf+xR9ck6)*=E zYEd>J6m5efL`hkS48o!&h312#hP_zBbTKeQTM-yGB$U1+Ev6q7F7$HXo0qN1WLdrJ zpY@m5GA>7;sn|O*zAa`cvaAX@c{65>1C+WY^}Jlh=nSDcodJzjRzOB`Jy!7vdP{<3 zOf#8->JlsMDXLOnv_ef|pc(MdwaOn@@K>CX9x7krI)mDWnnE(J^thC6F1@QB z!U?3ZH?Gb6m(LIu&9j*;)PO#4mxrg{q=d>pm5E z=+6#Ek~jaw{l_xKZ=ZkGCeMEHW9J>^D|(^Az12GR!8`A}|K7z~tQ+~1-!hT=W6{kSoZJTTc+-QtH9Dn^prrlsMulQ0Z4qT(TuWuwYB66QH1*5VfL--S{cw zxDjNf1w`LMH%%|aYn`O@U1Sc`ZeJbjNN~xH6!dI9S!a%-0s2}O)q#E{7$V`>fH~eYC z%{H%lIC}7b-`I8P50MJi>BvzNZWD~=n*KuY znY#d_2FY{^Tc>(4+VG;qZmex+?$AA~1D)5E244$PQn*){9#riP zaeU_zq>#+lL3gUbS`+*G`oy^tmn@64ZvX!0{|Wo2r1ZUe!BAD)Iv()k`jXTOwh)fS zLBl8~9Wr=v*$P(jPwh?&DgHR>wYk00FD_{hO^N!ykIDeOM9$xN`Fl85@WG${pRk7* zJ6!WYG=$1F5`FV^8>tf|6p+I^^2Ik6PI>%yAGz}ezxy+DZJ)W6ot!)IbhBmQx;rzL z=4bD;o_q9?H?tT|(IZ6F^cp#(BN~)LX);oV`S;o^r#M8l9el|GC zghLGQ={RAKX4Iez1kyBsh(T5>D~A)x^l5b*!4~6T<4z^SVB3pe+nW$*hjFJGMX(JF zAlS}hJk~rP#XnHs5C*|X0bcyB3u7=@1zTQG`w)XuuYgryCD;-`3{E*$(y2bgVEkDU zgYl(^!GR#CaPdE~roRv|I5dqI?Dhb3lvSgk&6%i_YAWi(Aitg!_nbkDS*&!#dIk4F zjSg&9>v>3T25rXG2Fx})u?oZVh2=s3oY%^QdoRICOi$=-1!r|5pv?Ui=hv;ZKr*+V zpS@&r0eVxMzXfibW@*3NSD5Hn6sqC0m}wBaGwYEWnVF8#V#L*o(@atiBJD^MhN<#H?!(ea^!;MR+;m?JbT0(H} z;1X4SV0&OJ^{=R%FqV#2bVXnfjHSc566@%MvEa`VW2vjhu?uNJPhG52Hx~VcFcvTN zT{Bq8A*`AKwOKJ%_ym)f&80Q=2=cXNum!jS0s>s)Qmau~!w5Zk=PQ9=J1INFOsK#Q zmeK?5#9E%wDTU<2B3a8GycFxWkcQ~|EthTC zZggYYXaoK^*u@y_f*{4j7(YuuQ5|Zhq*(#dnp4R|;syZRL6$dwokli3;8Ys8*-;op z6htk!P1^^C*8&FSOu_1))}bq@?m{$i?h4>btH{M+b~(_l5TXc(Ou2#7!9cvPs9i9S z*eivWF5PT^Nq^`cROE(bxg)oo?B4uD4MwGGCMs!!uE`Gk+ zQR`0#MwftF4Wg-pF%%#~5VWE~A&i=zT9q9PAiU>^DPe)_wlH%SGyFR-5BWJFyZifp zaO=l!y=8vx?MpBZvu89BpO}azhqd1X=6mL*^KV|Nc^IjiXr|_4R+`1M!`BLPI|;#? z0O?1HySQKuq&+9O9gZA>i$-CvS9awFhuU4}+Cw=U=MKp6$OKIm3+lU7rj#_zfpGw> zWmIFpbf-4q-5m8qcyp&j6Zc!4z%3kvnCcMf@tUh=3QLVTw^rK;s2tFzz@Y}wbP%(v zA@uf9Yy`sbg;2P&E1u>aDT6N6k93OS2elAEz&>%31x0UtgT#=X7xz27MRHYORwt_h z$)`E-BIvOI?T)n9;s;{v4jGvkd=$wRCV{&SPad&Yx*`W&z5lhPoBrf8UpRQ?pFa12 zM{f4Ih{B*LtefePWqxH5Y-}<9tGso^Ty5sS# zpv~Ukj~zL5&&iVyPais#H9q=-6NcdOP1$(VZmGLZZp;4q=v|>X&tK(#WbJKhnheie zdDCd}Cx-d!(nl1e$~sOMGdhktgXvcBiaV%g(1e(h0@;58TmYFn%MUw^hvB-EE(iq{+Nx)83d_cNhO z%)GS$sHI!qtu49Zm|IMuy)gXn1{v%^fk92c6 zPO_cr+14(U`alvU7&{U=P!hFGhZy~EfULL#GbtoS2$)>480*;=24Wa@7%Tv29h9yD zsJu7nm-Pct4>%hZ;dRYnsye=Q((bl9yM?IvOPdHgmd2Q~Pj0X6SkS$E=bzgkZS~wm z5-Gj5v(0nMizVfoS2lg{wWxCL0xotZ`<=7cw|?-lNV467 zhsxr}?VCM%dH6W{%yv(Y+A#T)4emk=>64x+VBA6o73hp~)8f~Z)?xAM0|@x0))-ye z5EndfhBl#=)dmQ_ip|r8*n!?F^_T_46tclwAk-1lsnJj<0O1Ka;@}iDOamMBihTzI zbV?AaB}F&87g57lxZIazfoqKup}(j%_Hai;eID*&)!S)I^vEF_+GO?CMT&C|ZNGlt zHbiax6#63$VBha5%#=ZBTMKeFyfv+PxP%q>fYu~~Sw^WjEfm=Sp8&XuS(z^X3LqUx zgN?2iJ@r0+ptX(5qeOL}LfO{ZcZ;;O&IoYy!|NJcj4WG>a@u5dfP9K~b|Iqj2-w93b3Eh6n8}U~o za{n)+mvi6m&;9*pe))#ocig?}xgSB9Bo(^P!78e zKONtXQ0(^1Ud^@bcfE+BRZD$hnvHzbOjt5|$i&pH1lo=WaO@@2t{BXa*nkV|LQUQh zeX{kie;O+OvwFi{Y+1g_|M=2W6E`bitW3P>?7uvwoVY{czBd^Ngq74@xg4na$59Gymi ztAye@R>+gRm=g9@>vQ|oF5a}^dTr*(=N+3aoJsf7!nxjxjOl(!YoVuhV&xjRazKr& zKg==r<2kKHP$HBfoq=7*@drZikIgBOsdTofh*<#T0>Zj!o@*8Bx<~u8tSiMPH(eB*Q%328^gG74jK7T8MK@}$S*Vy}G1z?Z;&KB^ z!U!T?fnm`ncz}gyjP*2Sidcp*rG!+>+BA>2kg!(JBS%UYd*#0x*xTQ~cYuGkH+1^s z|FKHdYxo!Oaeg4eZyUP)rNGi_loo&SDmcbJhYU9iYX|2{C3lRhST%SdSna7rFLZ## zRRStXkSF!y|1U@caohmJ`r2e7hG8wDZlN<)2+0DTOGKzvG%zP>1VH=OROfS@@6 z=S&0k2vSiMm>d^{H%Ke#Y92h+%n-S)_sTs+fmOwYquscabX;{phScp-x8LMzG2MC` z8}!)m{EyyryX6PmUCF_}&VOj%gNGk!Fn%s^^GE(0#c!|q)qwYb5C0){XvUC#GI?uC z{&qveXMZ-|_G_PbZuwFD9svzRalXt-&w(o%56-sQ1d!BYZ4R8~!{WxEO>jkM$Vwuu z*1?v$QRM_=)rEmz+y`7@8ra3@Lcn@4>4_GLI*2bi26;Q^z=Xa4r-p!zT(MO)HgS16 zT!0cd0>-w)4BrmAwPboi#P_x_xIbp_hh5sp^b9`2biU>q!pyHIeg<@XxUy4>l*Yv= zC8E#jggz-=ZLf^@<&y$wAQHT)i&RN0J@wA~#$`$-ihJDJ`lFukzhnK?M#Kj!{tE_2 zplWsPb0#xZUxeX{Tm7ZXBXs$ia@L5Uy-?R2B zR$I~bCn}-%=a2%cJFsH7v<)b`CG21W{AHJj$&1~B@>|83&s^Rv@Qe`qP&hmH5%)&a zC23t5g{C`kFp?`2*{}e_X_OcvJ0HsiI_9{%Q@coxU}|$~UZKV9h2$~%WozwO=yHQn z2mB%G7=F~l=H5h4A9ClKv7Ykt7F;`O6uIDv!3usVMsydNsU8u+!Oz@DSm8>wt6wM> z)Cfe}m`lrK8M43(i>5u{%e!3Ka|gEz%q42EmhoLdJL@&xm1;2$JNU7R(p+qBwTmuo?DVLlb`;qCGN|3 zt6sRtZ?$`Gz3;KtPTl>*rCp|K$Tb^uh4AdNKz|=i8y52?S|V<{*Jpm?sqeopdAI!9 z=rSLRtGdaY8L`+F_0El?B?_+ zt5k7->T`SSZE^4gLfwXBcAyXe#G-@rjr$Tr&?7OlV=WzBVl6|!%@-t4wqmGDWj5ob zGiv#Mzue@KzX9Qt{M9=q{`-fBrzh;`J$LO+IsbIr(j#KMW~G0VG(XNkWhPx19HU;I zo3k>Kdz^JQ7_S&MZD%b`YVU>5mnEldlKhgx>OK}$ai)A*V}QYB>(I3hWxKa#B@@kM-hT-Mh0wKH8#((5i{(@ zoUlTSD+)bcf-^4D3w~;S`h9nP+M2cBdvNIiTmIcU^#jZ8H~reZ@5@e44W0e=&OBia zLm!9!SG_bRw@O+QeF0-m5HBK9YZOX9O|<)343udSM{~?+ZGb)@XstQkCq*&S1pGl# zLU4iXOqd}Bvr*~OY7hJZa%w$J#Yu3EsGTNM(2uOxd(yaXN;({?M-U9C)erztvqXMo z>+vNE{A67?@2NnSJxU6#9TZak-rt6mOo!0Kt2BP8)KQ6|J);MewlykLHWt)CpsV_YBNHs#cFo}#`Ufm zPyRceV4dA&SYyHLJ7k)VoxQcleEO-yqmh_w+_mbLqK7mO&6VeXdD|uJm21EW&#VjF z=5Q~~g4fz0|KP1%r$MBD8p~BWtudCOi&l_nkA{JQ(^HUf$bvdc;dH!*wD@FwBB=zicK%?zU$GKpH%FhpFVD~Bx7^(x9^qvEzyXt&0wi(9trK+eVn_V zf1%)ZV#`195zlok{h?d#JpP$zm&pT-p|0jCyU!b+J9skx`TRGB$NF0uZ043|<>Y&Y zxY35cD|(;UXYi_+-V}4vonX_^Y}{uZI(B|(f=GjM2A8*r4+lm%K(}xO#Z!lYYttMazQHq><*QI<64tUYw9f#S zEy{Lz<*&^B?u}pi&PI5?(p2-@(%o18%WLake5f7j`+ASSQXDPRuK;SK|JHL~$peRc zhQ#u~&A3;E9Dq&F`Sq>s#n!T!mNPi&Z5@0}kXZU7K8kyQ!<7ZeCVys@-;b z4Q2DxrtS9lo-#)He?PMIPK#&9KC^b$EdiysqkV1%mR_~mkiG?7&*S9vTJ#MkHf^H~ zFI$PNH(dUwg-@(b&dj#S@7a9I%j;=pZ`pX)S+m#oot$eO>{?i9;{Zr;-<{ld^emJL zAyV$)xd_T6yUv&krIiAiS~IRtKqF&@ut1lqw==+kvSM}mg!oMzrj=DUcyA@u*9uc` z+v_9bTwCkKY-~Bkvb(Xjj&Ne9YOlH5zn5h ztdQ`~g8EVgss_>{^!1RRzK-~|<^&QR-C~o1SO|+gt^uSzq?5@>qFR{S*VKgs$6N!X zfxtB@sUh@mG`pK661Y8re*yR2zKspszB>{f-W7|C%CBs?{ibh3MyI0TiOF;In{0e> z-|xfxLKowB6`wt#?|Uux9TY2=N)QBz0KJf>6}=dUq!nmcMO(2ED4(3Qs@5PHR1iU` z1G6fqa?w=G)z$bqh=Rex2_y@yleqM3=jn!L<{u25xbCjw!Q(eZx7+DcM{bPu&mHKB zE#7tJnyt6H=;JXwZwy+Egn+sXMH zP~8v`5hgu{(0OWtuiG3Rv!IXh0-bFo$1DhE5%sky7vHExMg|E(l4VP>&31ow@&4Fj zbBiaV(17pSe8WxmJ>tJ*ap@-ir#^7*g-!O{NM20yw1s=#i0&y6bM4r5L8sM|(gNId z+|9rtFE$>%_oPm5k`$aK$v7@+11Zv))WQsO-W@S5UzNl|8vHb6A*C%@3zTUMgeHV8 zcwP<)K!gmXzi?|E6?t1WU<&MOkK(pmZ#cMS4*Bnvumx_&6DTMG%_UZG)|*Kt-v6y9 z?)~A{KX~l(>zM*q$LCSo!_0>1e$-E$QV25}|ESlO$dkdo!At-+ILf}UZ!m{N(K4CPaBN14WfkL@1UB zFj~J>w5=%Mr8w=;o}nC;$A{RZ3cO!IY#{6ALLkKcG=dibHkOLv64Pu%jkmmj@f z3(of&+;T;{VGw28oBdXK@H(6A*#)oDE1RuW^AqnHo_y36wjYXhE&998-XuSmi2CN` z;|KpV_ZK%bA3O2CzWUuqPqFW#U+6|Dez?0N(0iz zputINH^RcBDa}i3Cx=8TmFtcNy*f{3H$HHqlaNU$ou@%Gs!DKn@MKDz2nZ7r1je*Z zL4(i<4#y&8W~0tIHHfW}1Y)8Ui*9wPULd9+=0s!~2s7g@AOzPDW`^oQo04Vrr;9D< zGNMd*DF2rmn*R$gtmnw|AJ~{7^ML$V2|p%n-vrz5lXgr06;*AX1(UkvS5Ar|g>Lyg zB(wyZ2+cHca8BjgBg0T0Qe>fTMW97IAzBJug_gohLh%9qhh@|Of8YWj&x~qB2A580 zMgjdZ$}B;O;#EJWDAZXjWj_W}QQT|p7ULd9a5{tBSyCrK*vjRE*mp&Z%R`SCc57xI zdJ$RZ#vyDdx|LQ4X?A$3$3|7)E`2uDRv<$>WpI1OYGnHrs4iF6E&3?a{epw zs3GiJEEx0em72Wi)c$jSd4XXXS1tHk`)~797W)t0bMGs+blR`3d2j^xlLd0GchP=% z4`Fjh=@7K8+As}y4j&5f18|>+(X!k^AdV?A0pScR(0Bt>Pb?|vf@}t*E7q#^rnEF^ zKqk_VnkDKFB#JQlq9Syq8=Z`Lp(K)<)GJw&P8DF`T)TelCoN5oGXh3&!By)?ss^~# zUDUE8}jBMU~u5<%-N&(V;(B_Nf^)QbR@bTuVJDS3uUpik;aQ^ENE`7F;q{#N8^nFVXId8R%ZmyZ#C}m!a3ko`y4yH^ zBKkQSg#41y!uCUtcND7&cW!6Trq?2))9vAj>GPl6!kT5t4jrr*bkMGl-Y#HbCt#br zNumMA+*9+>fT@n!z!!jn3fWlp1@<8%bdFZ_!k`I#9u>Fn(G1h_0|G5dDnfLmVU8x4 z<6hAWQ1&|2!77Yrr*i$ewSqyT6<-&WxLb57r`@{kLeWkg!#xDOW3_)T{;m)_Wcy&j zVzdc_W3x*z-rXcFl+>zyuwLm3SnntdUF)ZEjF@stXVvyzeAfbkaMcI81ndXSTeN?o zX#Ye*AkOK7;P2+Q6;bBjLW#DGw%3F~atm0h}BE0%^9(KKMQ#UErz4ZM7)Icrh}=iw>86~v$wN^AaRzK^*C zm9M@L8MG6k0Dwtg?SlXsm<+h6tiY}{T2`aJK`iwj)i=EM{-d(#artoj`S0&K{ITU* zN5a;b!#5uk9ksk;%}>Od-hRK~f!kksL$>BW6E;12+o|NJA@HvFq4$l8p4oW8RaWoz zti|k={@-^(&y2-7^w5CQc&GHt4CLl)07wx8*i5wQgm+B2n1AiMbXl{KGT;say&FL1&9tJ)h$O(|3dFh+=>7IulM zQcAm1bsz+>zK9Xa9=vSlIEyGMI#^URH-^M8VVFfl3|zt9+filE8UlQyRJlOLTwYLI zwO};RHZpkm$+eo|FQhg5HB^PI5C6>t)_$AGuvS{kPiztDVbhb~J-Nw3e&12)X-UiQ z-a?JHqS|3D(vfjs86t=aiB*E%F+uRlRvA>DLRbN?aB68W1CR#PUkjyqj|qWPa-}vM z!ZpvMhjom36qFFh@gIdiIP|>1;k5}WL5^AiP+LnPZ%K_HQDW7r!^Nu!Dq}8BBNh+K zR@Qx~O_|c*`0hc|4JAne6;bTc3z2v!SY`o8^jbowSoXQwj81f=>L0ucLdfQWC)$FK z%I3J+Ka=?SYp>`3asHt<9{BQ2b4RV#FOLqNu-TIF(D(B%fh6|szm~@=8Pa$d>*?55K%-T59Fg6mdWe-#4wfX&pE{vW}{FUh|m*SsMweo+GV&}80ce8W70 zb@svLj>)cqo^E5BHOdg;=tN3e!s=^#iT>mkTyMnXFj*l@!77v2V?ia>bG5^~GlJ$C zWy@T)q2qc~EA=9#th_g&Tzy)tMV)4m16NH#ksTy6$|&C+(Bt)iL~c}n1@Q$MGI@(Y zN<>EBS@DH>9G{MovBb6n{30vFnza#VWe|3ddCYDJW+$fh9%g_UaOF&fWZx0K4!cpc zRAyaj{Ce7a2expfDLl*Crkb6Ci;Nx+(Fu}m3cl(axJt~0CSA&r^&3lSPmq0LM`gXN zDd;|$-aJ!5%0ViyQKE)puKOhoS@Z6Y012#j{u=oQXkD&_6-^xEP!@6t7k3MaW zER8;!zkmGM`J=ge>oWa_{M?5&*jfP`tYBA z;ksn(mTx_J-*V(cJl3Bu&y+LV{qudl@psvShZ6ZG7VbLozSJ!<(f)8)w#ddzn=j-% zeB$IYUFqrJA(L%t{>Uv~xZ?dMPQ5pAd*-gzB9pY~oyKkY@SS-XaQ3eYzFbkG~U z4t`pYjfM0?5sh{%p)8+P-SEJDbWwEWv-m&ZcPb-%3z=Wuu&zktM)X(sLgE*zIdu`J zhFp(A4xp!7G51%m=GCazf~!tkrDt^4elLC{krLxzRvB?A`?HE05;@>eM`}G$38YzI zaC~z98oI0nEL6(7gl-hLjG(F6BT6UT*NI9MNjChgGyC|54^{QX9PLPpaE-1!u z#?Z<{ir0={YtoAIwxHoxQUw?kl)$`#skq7eQNPT=Y| zWltRX3G9IEiJnGf@gJE*!{6l-dh31{FjI)|r~8SB*uYI<-pJ` z_OnRa?!C10*YKnc2)KA(E+qJeF3*pd*L#5!xIykJAaNVgoF$?kgN1pKe!Pc%%u-Eh zwtp>sI-&b?f)Zd7D=yk0`gD!%)0z7AYvI$GLf7Oy3FWHOstcaHKo4!yJ-N}T4D;=h z?!QZkoDP3eTu!yTSio70KK$2x;zE@}t_#;!kKxl{Y8ozH3GZ?Nn}g*S@Prp@>YFoT z<9iO#%TO!cl~wxOS|W9r$8^XAW(6d`YS*>m_KA|tN@Hj@$CT8}F8p)DOpq~zia)^t zlIpwiD*iJGmvWdVaY_9_{txk0d9`REH@y>%x>nivL3iGUM6LkIo5Fuog%JF_#R{1}0bq=< zYY9#lq|*r0Ubj*Q2d=i_Lt|Erh4D8wyW7R~4#v>x8o*SCy*BI3Q^bJx85$SBx)blNayT2ahf--{^3LoMXX+#W5L4o1eTi7hgTAAAyI5(Jg+ze6_B# zgK}$bpYG$32tQ08zluJNLWYnHBt{7Prrk^*$9OaE*TXk+ONLRW(vH!`!3WB7d#W{c zGkhF3biQ*-{tCQDvF8*zkIGCNX@wZE2su zX7$@MiOj?ANQm$r9$pxpci4i?rI_7rHl#z%1NpXhBwQd~5V!E0ck08`4EmLB!zrPuHW4ZqPSeYKKBIah6O-1mlH}DNgU4kzLXZOWh4kg zcSwQyEfO{~P!wGZRFi~Is$|A@lPOGE@|RA~k%Glqy&85?3!hj0-PmTQ>qT3Gucvo( z{s1>w0@@MPd}zr=)^X>A*nVG6no}zO>k3_%V%L=?<)*grlm*I6t+yj;i6$ zSPcEf$mG{-wmZl3k;5NCc7E{ahnby6&Xfyh$e+yLT>i-_7N{U2oPSB4D?lU)pBSdg zV5QinCh#U@fSd4wH|a}-iM08`MB3~X+@}G8CB_*9t`Q?TYTtl>N2Ce|J=l@DK^F?Q z$9QJ9kE>3JD3XUB#HvqYqRkgvE z%;>m4|4gH1YT}fzq+Uay;m9c3>{&GhP{s46DpzfI#eDMc>?1#9ZU9>_5^` z8)|Qh)it?(bC=Vf|Ic;Z*-F{=Y+&#YD=X9S_R7K-=gofEYB0E;c=fLSOyaQBs>CAC zTCE4W8X|L#oCuqjdhfV4VXd(nqRYwpw)U15M@8WI51Hh1|C(2>-cxU`gaWjQf7qha zC`^|kg!1Y7`p?hI{nz|A@5xrO=FPze>(D)N=Cf>FA}GsjY51V#7Er0~q=;hE`v!QM;11pMn_{W9F2?lB6? z9ZFqrSrGPy$m6T~Dr;ZHigaC<9CC%W^vDN4YIH%I)@BnrHge@n(`LiV=Bb;Dj+q(g zbs6va;B)7v41c!0PX>1<`kSqW)m}!=HP`f*ith~8=KjR){9j?~z~5W+#eLF$ku*Ca z=5QL!KmVke2L*#!n4Z{6Pn;K?nDf@pqwP%fD@ucRq|{JYxMr~6nwb3eoMus0#z13~ zl0mW{#*@iY#<_`=2@k}=@h5^bu(h{{-2+Wdfm5=2=v$@k5<~Q=KsippGv&A46#;2Q?@=tB=UvBUfE?AC&4{DtH zZyme`cVY2E+e$F^Gowx6rz7wtNR;)6tFYE1csqNrBP>n;kz*52%XJ``@t4v*kNP<0R&=@I$MX6goBUEN^YvrNwEI>`^){XuuwI^Mgc zlkAF_(zeZyF7r<}Q9?dz+4_{C?HeRn@L(FCXfa3p9`zyBek>OBz$akwXvz!AhNv4^ zAiarPONA7{D{~4cXRyN(#R~ljG0zw{%~CH$63Hh{Ok)R3xN!kGa`zOnMx1B5AQ5`i?ujZw%=th;ZpSiedgDc|F)uXEdMwKZnf z6=M}nhqKyccUiKX?naNJqSe`TlQR%>wHXs#n~_RBVfA%{WTVA&{jEkzrPXe$Hbtu% zTm2QTuUFJo1&rDeiKHNeeN2JXZv^Qp{8URT`#I18>gZ(Q?#Rlc1T@nuK6y z6Oel<#5Z-&mz_)i9!^qVflA<9R3O{>s%5Yd4=0A0<>2F67-IqQcGh$;w&$SjnI4g9 zq+aO*1?D;wK$O~))21aeUjf1?`F!R%BlKo6+TQIQXc)U!l}t)$()W)fe?zsFi-s;afg zziW3i9o=l>Bh^l;Jy`FxdlKiqz1j|h zl3#(l4Lv~zGWURkixI%=ffCk<&jkgs%~&s*-FW8mI{5b6K3571vpux=##`!;=Z`sgIof{jTM`}f<)hv zYA0M*GC|#ePE?#xMwBf_sni$mf`S(n(WMg-5UWrLLl>|pw_amuvg#REAy4}n@F>(W z#9tL|XT|Z8I#8ly+_)5OQpl~&y`~$SEEmxwJlFcME^e$#AGAxqs?R79_6*RF5=m); zaG>0nKBDDAsNwST;>zvyiHHMXSwtLJ*(H!dt%x(N6xo<)Wh1$#)m64`J%x4a5$i?| zg}7ayb=ZM~+9m}Mx%yFU6|dAuEN3e&7CE1_cTgO3D0KL-s#O30VO4p7Q|mbT0wfB0 z7=f(fbK`(3uJo9kDPQQ-_*6)wIuYtGYqR|`&H0;j>(m$B z{Ivq4i))V>1kNq?7Gly3lIG@}f>eD~P>*Ef;(Qo{GfR33V2*7#jnPK{xvX5q1|koe zQ%Zw#rMW@IN&-fLQ9&^|WrgVZ^F~XB!5N}K_O42wlTCZ;W9(H?^}m1fFjlDYpS^CI z7$)ny>Bfhp7U?!gOsR|Mkm{7+Ce)cW>l=hIL2OYNQz)T0PpcA)X{}&Vl9RDHrb_mdA0$0c5xdcCfxuQhsx}bCb|=X4_bTeak;(dI>%g1Fq<|C9RM9 zhN%E0p3*gzp<_*r<>qKXV>t&uVbQXVdnVN(WC$1$H#C5q98W3G^u%m{ zD&q@T)GB1uD%5@Ws1xGKY6>+5#pim_S`}S_x;pR-5*D_=!TK= zcWrJZro_3YZ+hy^Z1m7*GMIHb!lp?7YtI;Q@U148rqOc;wy_}-VpPWXWvq7<&i-NP zi0mjRt?t2^qr01iuRsx$s0xgdqCBe|WT>i5E6oWaqThw3?-u%<-4v=maFFIkwXh}q z!c>FH0g6Nmr_~V{-G~_F7@^YV!U%nA0n$>+2tw7!0357W4^_R1+<^XS#3=>^APJ-; zsPQf(!0Jwi3^Z8qdw`Z0+8{oK;Z?q>ONqkL$N~}wrxx@-gv;ud3 z*^jqAjtxHrQgvh!bFfW}gI`@n;b>vs!QYDPO}K4!j#{hJ;Em06od04m6#mI3KDE~E z`C&0OK5%1xDgRdfe~!;2V*a$n;;3*NymHMsQ=$+b&n<7~h=yO>m4C``x4=SWByb1x zFlI8>#dKwTA{W-3E?mz|3FEq3oUO;vju}DFf@w8^Z?Fc5mKGIi=TW3z;w-O0MQ;Vb z87c)yY8SgPHC*a)Fw+)}R#MfGL1RH&1--5AlG>egL8Z;PYWT{{1J7vV-YPk!;)e8$j^9#~jPO4mqQ1--x}GEurfi_pJnA>}JI5DU>ZC92nU zSZ|n_kQBy=qNWjU?0DvtindOD1&quRs&wL-?M$q;Y?1z9E8Drf4BlgScw6)MVi|Ua zXDIr94#WnRbPT%dI_uCiX}06lx@8oUVhj%BqEM*yj?AE%sBF*)6i}>I06S2{$H-i( z5KnFmV5y=hP@AY5HUkCh%8gNbwGnecfC;{6v3eWgi3MUT6eB9a#NfkxicP&B@=E1; z=2u$Z(PQFbSZwEs;ZV%TVK{W#sO$oT)R>IQ;aV`qaA<`L;a4v>)PgdiJ8Q$hTtzV$ zZupjH_{nnz#+NbJ_~z#E`uZvPK+qWuwIRNLx!v$(o9#mbU7h*Y=j2BD%br-m>ua#t zzU*ke!fLec%71D2_H|7`d2#Dto`2FhC*Kt6@__xX0G_T1`nvM3&HFvU^KSufWi626 z*t1v3kIxroO!G;T6FmTzbe;4aNxKH;tumQbk6@3-4`7c4=OVcQ31LSUW}_XxkcaVl zalhY>u0TslbMI%McfSk!ym)KAhNK-^)7z=LaeWGI!YhZGK?i ziLp#s9Sbj8t8KOUKS~63`E6U*d%xE0tu$!&3|H8aR?#f546)7}L(iufcg6(?x_%_G zW@iorMye4bO8V$G^tZ_++u>9^Y~F&g6nDq9J7q4oFwuY{7=>nWr^F;C7zP5^Z49^t zM2-?*9}eYAj8>8r>>L01w_W5lawv0X2*09c-T$r(y&|n-hi2ylU(xC-!B`aFT%~>i zT^Pj{IeEgzGolT<8FDb9qNA*(2l{P1Hm|R@1d-6PLqo3LQ`m##R1}v)*C)i0+>v34C-OyYV2Q&$dGJToa3&ufK zuf0sPhsnJ*fT4u;u>5d=*GLY0?(@gk)?7`pt#^*6<4-*CcsShR3H@1Sjn^o=Zlt4_ zV?UJ0JbItSsXcAN+C-4w1ud_FN54ZlENMRG3C!u-Db0pf3Gz6R_<*|rXa&Lh0;QlD z9K|)FH(Z0GSd+xPL;@d*V0@`THAc0epNNqR&f8VvnSr2Q3lv4V03HCMK8MrT44Du} zgMYPz5TFmJX+Xr_%}4vbS0r{iQ|`p)mdb*;WiB>(w@(gwJ!0PxlWpSM%}Os6a#zfv z2r6hLBN{$hh!-*-F4+p-@X!VSMdN7|B5GQ9BX_?Wbpx%jn=c#D_fdi=rF)aZmq;9# zMPdF(aAb57cjad5r^=;Stf=2&-iQNmnUXU&fQz--*H2q1hTJtMP4psd#sJ3XB8KLB zTN}-~Px>Ye~gYR4LO!_P?5c9E9nT?bX#%mVkWE$7xY`1*w? zB+;7@F$inrlm?|YbZ#jj4_(Wn1N5~h?FllG0+Wc=Lc3%E9ko9LUstpg9T5vED-ak3 zp+XnTvP-1kT}Z(-Ul+~NM*vVDrF1zrW)q=VV*PS`df=k=XcsVvsM(J38Tl3Sf}_`d0f1L$HgatUarE@$znD1 zMa0UZMvrs41tCymD-$i~-)k<>yKs>X1cQYelekc5rG;m*ADs*eE?O#@S+GVOmg@>^ z6sm-EtP+Y^(MGGeWfV08xrSB4Gfm)J`Q|2p^n%4Zdu+>is`nLj+l`|Jn2>%)pYP-B zjv)P0;%Sa->qIJ4rwrg$T44i`3i0TID+~*UVp%IpwN zaSZkeZCp~Ka@kr%EzO5zlUZX`y8t~CI$sqOuIWT-vj!i=g|npTvj$v{FE~^UOQM39 z|LoS*W_UmliJkw`i?K4@#_ooVkzeW|9Sg*}1`42B9c&Dv?QM1X+SK9MYU_kk>ytNv zWUA`4+6dEX6gT=tUOKA8u~S7j5C)^LOsWNw@VI%Xja7K~I(jWu1%c4wR+};XD5);g z8&M0ujEzu)0kFDAD+XGhEzV&%Hx!Eu4|c@!Z){>dhL;z|Mq<%y{+?~^MwV>6cj5d^ zkadS_da4DMA|jqck9cj2Y!oW&(wkqt(^x3ghzu7@R7MfljKo>^1hP>Cw$>Em7d=cL zSP=GM6!8lY32vpzbT2#ayP#LY1!Sel-sp#)!J)k7@{3hy)mAE^xT2J1F6eK#3@0M_ zH%qTq`32orJ|B6l^af^pa_sld|6=u8RkRfOn(N1ZS^o9XQsVH5{CDA0n1@Cz^1x2o z+3O)os_MitfUY@2fC_>Y5`$(5!-70G#nmgCP-;)Jk3-HJ^gWCM#%Hu*d1}S-)RK)B zGC8WT7IsmE31q+;=r~?33`lYO6dlwFK)mbjVErz!1f|v?zul^oUcx>RezC+XjQ5Y; zm~Sq-enCoTdH8+uGi89QkBalpgPFj`EGMN(F!4U7b1;{zn%NuQi$`xCgymzhWDg1*E_cWf?-8(r zX7tK~T#tSnYHBl<27@ZOrq=KjtJ8%md6ZXjnf|d>w4fDuFfA;%BfZ7sSTSYQRR~-< zG|DUoOek0zovXKW!@H}K{o^b_*EfF+fW`4dJaWFjKg3Uw=lo+I^O7o^{nv@EY0ezC+_Lo2FGfRVBM1_Er%se(8hg7m2E=XS3p zq~lOsgSCMgXgtAn9v{XAK!c6=@;Zd6I)N{*Lzh~MkQ8wug5eORt7-xeLp3vtg^swM zH#mb;eS)1Gl1nBtC$gbrG6L6hcoz2RJAe=s1jV$jB5TCEoyaggP@>Oq`=x0vmeQo= z@7#gTqCxVY?)R9;Kdz9zrO$k6Lv(f230T6LrOh{{N#CJ*0qoc~0RhFq#OWM5lQ;~u z3DKFHn87xHM|{JQAH(AnaFB@pUqr4D`+|bMdL{OyX95l~$n*m+|IYq_Ijp{V1$UvV%XFS~d5r0{ zo%;}S$YIoZTwnwIzNC%Phk|L95CCsO2Ra1bD{d{VVa46BwAqgC)DOMb)ptAR4xprW$ECU9y1g_e zcjk-Y{2|Z6yz~iOM^Q`D7YE>r-2lkZ7i;wrp0g3YNFIf~2_<_v7u6jpD;hCb?i4t< z0CUR)^e+PQ+>?M08?k_mh-TqoP&=M?y=ZXPwpx1SvKH#G(oyE&d7=aDJ}#fsKmf;=2F^-sKAU2VmDBJVZR*%ubNwA z6>jv8O8O(>V$jXg#%So9=3cZyHMqi7-DFOt_!iTuRuBPzDh*q=Qsvqsf})WOMeBH4 zcjyuF&(}y7et2mfVX~AkFns6ooxvcbaW7vMdGLP5v=Qz{AgzvLKm3t??g!K1VkM%M zdorKS#q~Xzq4EnU{jn#Y9tB(W8nfwALYX|Rrm#bcDJ?Zgw@7jPX)?u^lf1o6Iu#qM z;f1j^AypzcPL-6ZV=$o2Ih$!>{m~8w86P>sHrKORO-+?oTtO3)wT{YvH?xe zg3XKL#@7ZZgR>Idp)yX>^E(i6CRXez)7$8y?v*}X zm?Q+8gVQ}#a3vxN+HhN#!)vNqY}jfR_>Ntt)g-bl6Hp;ZF7&Qh?9oU{N$R4{&|MI? zjwI$gH7SdAr@-*@a#g)=fM9CW+n}ncR+>>9nuGL(Vqhdo5tN=97?<6=#X-yfQv@48 zJ)HV3rki1IKvd%G=m{-*LYW_1XN^$%H!1KR;e2v|{Z za+D%zOmvOOGzqgAuEtVI#F?AWkA4hAH|w~LWm^$1w5#P)WAc~5@o!>dV7ikI2(Z}ibFWUuGcR! zL1*52`FO1`<%PwAk46@H37v3P>d=XX=!`IEw_pCc^V@I9YT1fmx< z!b!-FbEGDk$SWK6ay(IIgzGDK0?h{nHrj`(2_`NDLobR+T9gKS0UIXpWv!=kF2T0T zk!SMF7r1v>6!D_MwqmF(a6;KRYSDH2`P?Hv z{hj;|^UtB{ZI|Qn^7*HKA>~dyB;O=Q<(gMM_|g0+{aJmVG!eU*T!dRE;I)vg92`4mX(MBvtI2kv$ z1KD1rx_I|(r#$y>Xb9%mDs{!VPi$%nCh~s5pP!Q)nDFTW8V**Tq&1M-FUvh=zs-aD z^$6)Fa$$Yj!%kXuu3O*sQ9K?8%%8VP^)*T6GN2CT&~i5$5gy*L#hi`@00W{3A*6#E zr&)j7--owo?HIQ*2$RL}n#E?Vwcg_l#=7!9bv*B?@|!>40M_f^Hny?scRXuxRM&ss zm#p>M|DeWaxBYjY9M9i-F_u!$bvI|l`gDU%aIw&f=)?L5N=P&%WMw1Kd(lJ8pgou~ z)zr0CU{yE>K}Nz=nR}iGSQ9Z`UCTu%tO?uAe7i*~FvcA}GCAuEPdUQDME>onzqV90 z%Z3N+u~0nUzoA8#-t;+sU~*Pr0<765C!C(@pIiJUgWT0Dcbu>6a2mZ!~K zSc56nMy6;VEQ=s42>wTMl~_}`)}bk2Bsd?T4T-z`5I`k#iMtudac)1pytM~KA0 zJLn(PVZ02blwl`%1JORqCG<2c!67^;!4^$2#Ud6MPDrW29>Z?@cP4~XwFd6Pf%Pdd zj@O>m2~AT%smC{gQy5D$tpwO%yB0tM0SVnBPdORF0~Qee;|87C`gXSF1gi! z6UN(y!$k_Ar5~y#uUM$H&V^r$V=vMvF#zwafWi^#j$Hu8W}Uo@?qI~^6*mzM{~x0^E~iKucu?x4oBQ#a5zl~r`^_*e0^RXeP$rje;x?U zxXGMo%Kr#lV{hbNn=#0D$qhKM9x&wJv@AThD}N}K9CgZ--j7DT&siK3iLUcMo|a_{ z2fZZD` z%6~rpoMH6va%l3?aliY->u=q9&v#z_r+^d#bi>^t)2!v$rC$o0 z46hwH{*9O2-A6xpAeKoOn!hN&@WR{q-EQ0&|5%?O7873eD5PQ?$q<2>z9zx_vBOYzSC4aO7#DVNQPf9;!TGJ# zhH3A$C~_BPhS3-*4DY+Jh<#X0-W53mtW|J4pS&*5O9o#eL#QrTT)^cbslynaQc2Q* zyQI)1AfG8nUck(gp_GKy-odE_a<;^{x~s4ZuWqpY&W)#IM3as2ml+aJegQdM&l`W# z2xB+gSHx~S`^*iW*YY#CtXnx2yoO`x`jYpaFYdZcyIwXXmd73T=Im!b@Lk{0yVt7W z|NKC{>mf}Jp0jRpQ+Gs0kALb>Eto&Bxa6;QydWQo;dUu%4~Fjv?XF$YeUjG8ID_FC z(8cP7yRmdGBzQfvkWhOGp_aWew*Yt>dIgGiOl$Y?Ss%Kb5oySCG)Q01DW& zWu3@G5K$|sv3n4cW7S+6r zov3vy`}hN;&V`?&8l?5~j?fLDk&?u=6${-3{3~wN#+|ss2~p_=)D=b1(4~6By0WNw z=JGs4_y+Jh-xIZM5v58q+lIBwHiSSG5mN&Zl$}?`8b}^gNOCvW<Y%RO%W;>T*2Gw^pfs z;9?zX-DVg;C2_Q<^r-C`&2JSl%qlbdE(}dDjj~DP_Dgmk{da0Dm$|4sNc7UCRF_jtKwmd=cA!r6*)z@%o4ViL-(J z{7Z;W&0IJ2t4V5wrV26ZHdm~sWRA3-APz-mgh6(>D%755(zYsWZ_N6zx^)keSPA0( zz|dTf^?QOurzQTPjaA{~k9AGiga;jK1kUen^D}9s?qD;W&ATEw-B$`|^3C~iP zPYc_jGD*{{L_`2GoL1NgQV%nwp;o-3KspFCfV>nr5dcAQD}4RKg3B0aNOn@GUoI)d z3uag}NzMc#<1X7nC8eQw6ARm+)?r>0=;(oEHW(ZAZ1S>7bXVypprLp&2sRwIJwU-^ zqZn?4av5&(DqiTFjc)k=EtMKdTZ+qrvCh$^>-H|`ys39>N#_mMELlH!$2~Va-|jb8 z2eW*5`<`Izn)EI9>%M&LYd@U4Wo$mkd2VduiekR5y{ECx@y%taBW7>u9Ce8YU|Yrjs`+EoFbQ5mGVe1LF*EF}K`m%fO-q-Q3Yt{Q zR$!|W6hoE>@XMnX4{i-qfO8>)J}uxQA~ep!#u7(Ow7IjNyo!$r0ae&!7g0swZ$xDs zULya4N_{H|k&KER;W|>Gf`Q#mLz$r_+^Ex*L`NZ}6`FA@T&i0fQmr*FF$ZI@b-j0t z@7O+l@~-&WjaH;ZW^+6nccrg$d9zEJ-tOCQYhvAm6~i1ne-q&ZSUhES^Io&*o+XK) z{=Ttfa_h!5d#rB3``w7y)HN2gEbk1o1cG+Q^$!i+o-TKZhTFw|6XUL5g?Y*B3?a_c z_V*stzpmo$FX&8@3KJ{ASHN);L{mY{-p>f$W>UU>*fy!{?PPpbr2vIKLS#m;%N-HA zC2d-YO5>INa1o^7?L+>fiHo+|vPA| zl2_FzF6$f6v=CRYs6}F=m0{9|!&(6=&dFmKbj^(ridoUE7^OS6L}b4x*JyjF$m|V; zyU2Z2(Yuik)Bq`m#P;Ja1R%sd<}_I`utW(mZWFjJ~f497gqKfLjHcr6_a6COux3a{qcN; zJ-UpWhlugCn}#lL8B|BHD0uQSPVRSCn@Qa^Ej#3R3;KpW-oM zLZhq#B2nn)1CKn@T+xe@)})WX8a@b zc?4g6>9h1n(b>XuV(%v%qRWcUBDkaah?{Hi9o0p--O}X89V|ZAe;J49)8n*(xznP> zX|jM4N8zqw&TYY6)x#oZrrG6Ms@1#~-c@oJVhp(*A>3yS+8pz1dRa$eLB#gkIrz-- zE4;3Be>xAJfqyeVkLnD1FoRT|HPBrJrp6-d`zFll(is46I`V9#f|kagr0Gp78U@Y} zpkdwdeBazH2L63^i{Y$55uF&*EsQ4J0$}#c@)+p>7wEZTtc9BoYVjN$k>zMPJj98q zR>mJAhdPk-H8m$Gat@M!5hwRil_RU&OdYfovW>c*HJBhPTto}FdeChkp{dq%OVSlc zR;QcG5FP}nsQ?}ssw=Ygzwx8@kgyFNW~}FFlWEsLv~}HvKdy{=Bj%#BycL9o|J@*z zyBj_Gx5ZKsMyv67eR7d|qMPRlVwNF7ALqJT*KRfEwizVJu=hUmmNn~dyYNn-X1i~p zJ6cY)a-K`#o>?y*N9_YW1_uACNy;W>`vrFjqJ`Nz1(gm1D6*X3K_eK2A0;LOWg`t3 zkWdVar^H}JxdVs_bae{X2`hIr01^HWSMF=+WSH=Nn-WV>mNI`6(EXpul9f#;=E@>g zqG08^uq{~A#kX_-o2LWQn1DHFv~GZNNj5_aCQJ&m#989T!1G7!+rm$#!j_@k{5ErF zHKew9$q_JH>M9J9>334%d0%+-kY9hx*J7~hH9Kw`WKO@Gu5;TX!fh6Br04pEa*N(* zF_=ZY(_$a{qm?BQFMsj;y6f77z!#ifUTju@GXURphUt5EaJ#k64O8?+`8rBlo4DrE z1=@i|hF+nq9c(F}9?_LWJXVaI>}69ZUgUWs_uT?>YJOj)?rbp>A7&s-Moj$AqBI9P1YM=+c*V> zob021WFs`DHF~DSfGL=&rL}{k(LZs|+5*iK=Ldvm7HwG7?XkY~iSCtmc|3OY!bb>k zeNvE*eblk4FIL!VVbd^bKjcHZX}Z0Uc5S`3YwOt_tCwikQn9iuDYwIT-sXIBx>15P zeM!cq8iX}brEEH<@WwXaKjjd(Ztax-f`*!C!-lAo+{9)*nqXd5t_-mXr9{|rP{9+Q zKm+=YhzKsV;mVQ(MT&y$z2GUejh7~irkHb`{FpuWjE66GoY7n)?L0SMUb=ppS-0uq zH{6R}d+;UZ7x(@HpRJT?Uxfdpvu!~?yT`B=h?FVrc~0pkD*?9m2RPeCn*FpVNpJz| zr!%FT5qCE3dz||mHs;l|8C#O_2%_Ue$0W?d=dO?EhL~zLWbDa6{%c{NA*P-^1X^xV z&z`5C&FM9wfGoTCl`Ly^Wr-I!nx!9(0@5I_!cq4RVM|^^xy)&!GmvQMCyov|s>ibt z@bKH%H0}ub)hv*hmrq%%kqEoo&D}bH5~$NSKNTq;Frac83Ys6Df76W+kF6^L9@{Dh zcx>b0uq`ab@3Q+tQbcS~SD2dP8}_aH)=123NwxN)satJ=XC6vc$2LEE@91~$TitOp zo(vD;$?d)R-(7;+R?S@e{lun&v1vZL>f2u)e*a2?v9j$wkZ_zaCM_Q-~e-*33YcgoWL`fb5!>a^xEsf7F z^9*1{csGW8u?N6@z~?68xd1CmC;Z&p}w)BvMk*wEY6-Pos#Z#=&;_83^TCk#sRVV~RjM5tZ=+gvv zMwy$mIzZQcBv@ajt@}KG@%*~~#ewa~VQ{fzl4X)MS_Wi zp4&RwWip3~oLvUPP@}u-EAwY~3fRd(?p}_KZ{!`?8D`^yh#WCKsQ4p{LTLev60v#P zIk^N8O-UQASV=z)Ut7uS;^j&-#9?8^s*w%WG*XMk!yKrGhT14zFQMr|;3Yi3uNT!M zS*NU#CMwY>qnxM_xfSl<09_M6Ug8q?tVi#DKu{S)um9qyD?4WIYC`pD$7erPWNUV= z7*4gH`UympLf3H?4zja`k{YeMrF7#3#YN`|gWwLFtHmV7z&n@1QR1wWGVfSQ+ywBB zKrupKf@A_`5f#8?vG%VY4I4#Qj(H5iw&g9AH8D1`(F&wvJV890XdF=G27-SXo6_Ek znky+hDy3~WM%3StD_PvWXc<2HVR(HOA6u}-6P%JF z`-7s9?yE}!YM0Vg1z~Vvb__&`*^$jK0ddZlcn5#dH~0n_}&RCVQ?9%h6qiz2DT%_Woi(E@Q91@{8wX zQt7+TR8Z-=c;<>ufML@teeuOd{|n9ldcYQBr@z;xw285g&Old?1o7InyM-WKa}ZxQ zorT7vOk4=W&{gDI2=qnv3N8d9k0`KRlXL)AO=awl=7#RqgA@)H&_R^ziOLT$OVzZlj0U5>5+^Xd6i+*BGm*pq6Mq@B z&oneGXJU#RN*_wGh2UtopNLi1#ZZxkmexW~0>lVtTwL){6`qW@v`(c`zutIo6+s4y>*a3r@0i9^u~CDj)f%c4GUZWmr`7D1gae zz%_*-S3$i)bXSm#aDe`F;gVzV`P@oIW=z@#g_$&hKw0X`@v92ma;P6HUS^DiVPIbF z!Oz5dXm7+*SldyYQw!LRsp|y&;UKMTE<`Jv$I6yP3rkA{DS}@j4(zcjZS5GK$B~Wp z;|KdPxn7$BRW3TRl~8_OO2R&bIS!$eD}VYD|0fRb+lyA&dAX<8-K{Ne=gc?OPY({P zfB)_OT7WQJmpq*A&h$Cf;TVa|1Z90Y;b`xDMxS zm?=sRkHL!uBpK5s`Cjcz_Oh~VFO?5sY;-Y3>qY`g0csC^p7hU7b0)W~bvct5?xi_; zP~L`d^m?%rvg;bWZP8Fd3n1Q94V;7EYhwwYF(?#$rT<_kHraLJSJ=eDzghD(iIO1G9~E1bd)wAl*tv-7hRM=tX?ebTVS`IkP^ z$pR0JI<4;kN5u&D6OGwvwkkpu62)1leV`elcoQ9Tu)wZAL~t#5MvN@^ak%^}k@6D> zNC^w_OB`B|k7VzK?x57*b9Jdqe0nQB@SiXc|e=1-@^h;9qAUZ{o=SJ1~s zp^F1gS|{*|upaJ5B2MBcLud&a@(%@;Grj3BuC{q03HU~mjHTqa8U<6?L*$ks(lUxK z>COsMn^sQuqS(>YY@|#LIO{&@42XlQkK1JfAcJJwwUD#8hyae5SX3l49uVgl3pusL zL*9&LIcg9@1M|@`#V1xT<^(B30gKl^VCBmX@BFl*wYqnB`E(>5@iK{ozC)?@YIoUo z{t6CLu{-p=t7g|q;KUDJH{Q$mzHcHm0h%|+)g`sDHxGbi#5a+5RcBX14!e046t*@l z-;Ct|#p~n2H&YtLYf{QJKPvZG-^=xb;~)#V$GX7c z$`_4ZRi&^RC%zGDTzMWEm`?mZ?7lLq$p9v;0tK_!)$#s`INvP1kV#$)qR$~tjnvMS0tHJbcwtm{ zFdX()-56g!|GX%ZM`1kcVUio38&7hBoNyB$@a#&v+vcwRVN0%S8ZAAwcoeAR{iVc?&@RKQmge_B|3ent)?l6x?5%H zh{-hSsgkV*y^*(^EH=5*G1T9>BGZ`BZtkmfsQ)f?+n+n@^!e@TyMgxQczVN7*AcUR zU=d>L;wxh33Uw+d*+cy8)kaIWc8NnbONDHR531Q(0VDE${)D%x-esR-N!CTuO&9Nu zM)(V=DHah9U!5=(ehM}g(0e?>_Wvk%^I{DoCRVz%AXeI4(4EMMkS7HrPC@p_%9Px! zxIh*tAj!mU!{m>^cJE>?CQNek>5r@jwHFJ_;`1DU{Njo?TQORd#fyTuFt~qV=c1jy zTBE$50OkFz0q9l!TQJkoWHxP|7&vA&f8Ja7mepSJYsuhlsKrrm#ka%KLn|ZyE=eEW z(C6=1+=JxBbX%PNX-CGcGdDqm(wr#LH}tAEc%U$F(qCU*Jh$-;$su*X*HRzU_OM3{ zfoB}78{i{KacFemHbAce)T&CDDi1*1)#9>l%nq^Y&((1<9u$xWHIP9n`QaU`!zLt! zW<;svT~Qs@EjE|HE=_E5=+!t{7c=A;1)V_{UjQOp9{TRsU6FJ$Yz|rn0tvsT^_xmF(rQ@5_9H0bpiMRlUo%9oVz&nH4!JsGcwBMJ4bi@%tL!E}ZFxDLE? z4&V~OQoC@zg3VMcPs*6LRnmPU6y5-)3)Kx!SGth`FE>Kixi(NsqPh*Jltcjbutc`)(FM{{`B|Ot|pp`~Lr;{X7nT zaX;n)nz(j&WkrYklFf1UToG&$UH&9mI5zpz*`oV4G$+?lZ$(e6w57JwO%}7=SzU`YAS6eKO7rPfE{%&WsK=d1Xc-qu_1OPLi2LxU zjHE-|A~-P&^V5&wdR|p8y28>i{0OfO@@3U^7w_^}{5q514~?hN=2QAN zW~u+^t{VQ}ysm@IEw*sb3#=o%pirUMamd+zwc-H}IjUUZ+-zH$rX%9O1>};jLM4Xf zA%2FWH6I8@n-Z`9M%z#(#Ad^%ou5NAVsbXnOp}N(fG*I@_we}i#t>PGbLgop1VoWw z0aU)(@MhR$cDR3Ku8&soTfLcx;0dYcf5Y2`uZj4=E_cJlU2!{~d_q0HB^eC(goUGr zuL~C3=e{n8s=OpDo9HaL_YVvn$;02rUu6*f)>N9CwBU1V`(Xomv2ENoP3w#CBsVfB zN+VKoO>Z416y&lBA&VJTa^79o8z4q5IY%r4*c(I*HP0){aP>=&U?>$NFbNwq5`k(7 zfS!m#Pq#Vk6_xeWu3Nw*dqq1&kg^j!JrhFt6>k^)^Ynu~=cg}sv#@wZ+asho)XZ%y zaLr=WfDI^-z9Jcj7#?XhTd}bHl8oo#=L(ed;Bk^Uq-dJx55arn7>&_jXn?cHR&-#% zD2vWBCs$xlELTrr0eOEQ(io?`1Q<10YN1w-?y`0gKQ>USN%lN;x!Y(?oJW26GBy#j zjkb>n-`YXCWmY;r378>4WIWjfc*7X=I}_i`SFpXqAg=&F0kRy|TnoXR;z)ZGpC8F6 z43WSbx-5Z%2V)hdJKSYHf0T>?Gt5I8`77HqT|-~5-oE;-TdSt0`Tu$48|TofTO+B# zv1nxEuJgBD_U@VWFJagxLH;F3_VK_zrLtie#ET!Cikumg_wKMOR||oVr+_Dn{YCe@oQS|z)*K@6awfIakF#E%*V%{*f!ml3Wi1` zDLs-szayicmC67FQ?NRrVG>#U@^8B1aesV#^zol)xsUEad~OTZ%l)vx<^aw&JyyDf z7>8-y^Tmv?DqkBZZUHzb!$L`@m&wg74A<7gK(Bmm88I-S(MwFka$6QKAsy>y=%{vD z!!GU`pfL*_5E3ks`(POzpjC>yiZKkJp;25~){3*k$$GR8!Bb6&2)!kCEz2^vZHPxT z;)ViXl_QH7D0{-CO^`L%3do@aeAWcUM9-ZdM*O-UKhl5TJ9}$9k#HFI64(L7c-O{BI5Vo3=%6hVuqmjvNl0jgwh<1-vX>e6O()Kmfkqg=do%{69!mhiI}ikY;qk)G;+Q6ysI+k)o9z&bb2A9n`F9_J>aCT z#9P4PUyk$Z080isM1*0R&kb6W)i#VmmWdi(h{_1GV?kknLXCq#OW1PhY{}{Z-^N9M zi?1{aA9-TGr7;#g5#%4)w31IJHa&OG`ulx-kBZi=zVL&~ZhhhC(@!4w9v?ooesb6< zzFC*4k~(dn+E~@vhec6+V)Q!^aY}t>aOaj~q9}$XL{v%9c+JHhUHpA2a&Xt-NBP&) z8{asv%kIZMcVaDuu@+Vh4aZo=sTB)`J0__>S0M!rIeOZ$i7+~9HLyFsvtx40{Ug0X4J2gu~E*?808SdHBqpk~d4NZA8T5^#C0ps zZ9v|Us=&l{n>R5(!Dzc6NCp|qoDGDjjHya?V_L-O*27?h@mwPC;s{k)2{)M2+hivq z3%LY0DHH542^6}!vHgH;hXK*(423DcD7GPd1qu^A$$}qnfIX)!7_cFH#pWb`fCwJJ zDGG&gz9!DM@|ncV2af#lnjPcg{C&P`W~chb`fu<5XZ4MfyT;8Kebm5vgGRZdDw7xk01+jE2E{NuMfNTQI2<)dm?57mBzAy)l zID+;Q&PXgTy?wXtNwzIuZ!%-y1P3+877C>Uq(c z?rL7VL3r=fs4E!sttuPaqaIthBSbN774%{>#^Nc@2mh)&g8Rb^);idMSnG0?^LvBk zCA2SCeg@jQYHeSX%Xk^g34iw=0}&#Y2<2UE1fTI{P57gfC;Q{oG_h<$`uRaku3m1@aZjJgZrD zQOe>Wg3gp-Jw>c*0DqPeVXT?_XqinhaUOgagh@6e{ASTwS*68^&7!>we1pN7T2u_# zKzX{=)*`^2(kHSDqtEe){V)Fb{2}%AvYgk`Ini5`^cAC}W4;!@0)8@V-9A;L#t zg3|gpT}eLrL{R4d(GW35poUR`bU+)rWU>k+bRNt7VMY*9Y?F&n{paLTw6RYYS-igB z5_$oY1lYDZa&~kqiD)TEPE82Zz>}3Z?X-wUsPTQRkdlb2vP$Rf=JjLY;H}<)q!=v5 z$5fBce5XA-_c_(4pHt709Xi%u)7fvgd|&@g!ZX;}MW30UJiYuEyN;@F(PviQ{23oU z$qzkw%Hni*^mp&mKELiwor=g78RYEekKpr%D4qjBjiMtj29i|bZO{>uFe*hf6OV8g z4h{5rxiU$%Voiy$3Q-@4dsz{tDCMMfLyliDRN!)jHSDlPzQ|HhSwl_>;>lh=gf;gD{ly~4>~M!5ykJmOi=+IlAr2iA~33Q|w-vL*V2l)L;l*pQ8AJ zLFpmytKEW(7=$6gbtt=lcGD>^gV2Oz3%ecXVfL&+!S5a4e^>s#@vg7`pQ9(ABs_S2 zGVrg1AlAHZ$Jt+Q-Tqpc#wDd7sC$6Pa-2vf;&(oKc*ko`-MvorAW#!t64l$(SMuun zdpnqjAL3+w3?UtVsBkTkuNPsjS75Ia*lWKwqsNq>B}86iFQQ(lXjY0DFs>NDIA*EP zIU-1)xXnihdCo^M$|*rV!PF}Y_G2Ao zs?`t*hlR$CLOn&nEC54w0;Evzr!yExLIg4EXXAyrQVNGru>il6TnWooGRs!h0H#63 z3oB85NbpApeW_YeX#>Cp+;NyqAPIKCM$^B=v|FvEurxcod&+$D<(|_(U-blN<{Srb3zo)D6joJzdPlo z{WpdC$HL~1mT?bj_RE)O=%vb%de{TE5ZR4N*ve9h$S}>J^xy$%)=He58w7S3B_hmd zh8ereWX5joy299Em-fia%qZ7@>sxl=UMBj(E}Aq1TNZ~3HF)4K0mHDgHdM;c(FMMY zu!SDmOhrvCiB^%=P&why09HzZ3(<~W!1gNZ+G6V2VARm&jso(04q~2eK^6ydqU*r! z0wiq|!Lf-NSl=CJ6`rxUdv4vntb^Zs{m2&s2fe2BYVc_jteiK&KpP%7b70que?>~L z^Nz~%gKOO>->Mya|G3KUiHAKy{Pg(W<)2vV6Q9O)e__o$l6f& z-wDFVGr#5&71h(c=iu)vhacEF_S4=q{=+wHoZi(D4oz*~wP)jQAS%e0M$TeZEI4P_FcPli=Ypk*{$kOXZfYLejPgl?*Ah6Sm%Uq)G# zgTUUPe3WAadwOkhHD-@c=f?f3ILmPVKuHm!<}=}Vrkz>U5eStzXbz;n!~n04JI}5YPhu}jH%A%G7QHi1GW|;UND9a2q*bsTSun(_6~_x|KkT2f01nU zu3ycM4)N-56EPqu<01xJV^*uBA<4T|s6QWCZ%OMTLev^-zQC=r#zcP5ykpNYp*R}P zS`GWR>@!K-i3mT_%kLdFV6RPl@VfXae5D7`W>2Bcjp;Y2 zHVZr*=fL^GLQTktQdN>SaqNC@fSInkiU_R(#3LAJO-V?Oth}y@uWn608Q=GJeCNM^ zbGiD2`tpGnb`F?y&k5>Hlv_if=$7B~RuZ%eT;P3z`u?hs(klp(U7L<3j@5IR&yxnd&w z$J8j13^g-G4?I$e*(0<>2Z)y`oNZ$sTL`746tt)+mjw8`iBJ0?F+FW6cA^y zUW;13?Z*A7RM#|+tFqaM+{r}pLYO&arHn#I>SmOygn6yf(L!rmf_eP3TSuV>BXdgA zTyL$gYV1@voDF&G#t*0J1{HF%>MX@h1{N3B{eKcSW_uY|wKp`7`kWlZ}{hdC+ zEhQBU;_0VRMx|)MxeCCCgEp1u^_Ia*St6U{vM8$|OqZ#&-^9e=ni%tKFVoHhZ%WS7 zOoK^aKgT$9L9V1QW?raTkYb4gR<>(~CA!KGQ6|B;C!!xedUT^B1{G!t#S8}$qvFgFGsiOjYG%qP$T29+&=NRX(bma)K(C7aL2 zI=dwCv1Nj>wZX`{Tpi)54gWO6^I|eC8cJg({1bx)mKaN^7dB6?{zhaf<>{^W`cFQn zdm|pvi-IMB=*@8VjCtGifI1e5wMeFo!vl91q?TAf?aIG2Hrkc&N7IZ~p8w!+HKe-> z_h|=j;S@{(GFnQ$&hBewH1!& zObvZK)AI-a@fzM=JQJjE>1`Q$+e|zA+Cg6xJX8HA)qfH+SZ#LPuV5w4D0n-*;Z7G- z1UuR??F0zIKYZ5A6;+@ix!^fG%`~8$Ni3qyf<-K~$yHQ`Mru-+WN${WttB5?t(iD# zAlOibX?CN4e;EjikO6KK@e#e-)BM_>nByzfmU@49)20nU|Deg4az_#t->VWIe^&f_ zRd#cIVq|TtFXaHac3E;DYq9%%y+*_9fs3oYr~as~oF5H( zmc&dU=a>KGMZRlX%U^quzy28cYnFTs6X`*DMQNu4g9)R2pf=eKU!%ze=Co9{l6)iv zf@e0~l{d=S~ladhqDjH@h86D>ZbVdldPHB%b*!OzTM^W%j`lMM#@0F{_=;Qv8U zj$~8nD6oP3v~pE|YBcDO)zUO3#*Xq9$<;+uNptCM9TFLXG06@`um z-%ht7fb6Hmj$0iV3navMg=?lwKG7nsEEVkDf%sEMg8yY`?~A)1TR#XbhIQ{dt}Sad?FJtnNy@~-f9-3 z$=~=Ze$0P`FMW|8IbPjl`0_V!4{^Ygyp5cv2-d!nQ)&oLqGx3sB>{ueTr7lNDC)F& zXf&8v87WTz{jLo;(0~`Soh}5AOv=SDn8_yBkZ716?Xw=hGjUhPP$@uy6zXC2LjRq? zEmJLgD;4mVV@YHG1qrO?LW;;@AmC0IRA=sGNWbF;0ZS9cBR!cwjQ^6oZX_g$hgZ&s zw!R*_x^wQhJM*4m}+aQ1ae;{H)pl!ED~iSIB*x=#5=$C7*WmUys8l)?xIsiqui zegC)5@7?h2sZ8SQcWf5>({-TL)?T!TqQUL4yDw}*oK%jzISrrEPb@B33Xi}LkcD|D zRAK{gMa@bL{ED)Kya?zaQD}iU2>X^uEU;7M>KfKh0dXWe4qwz6O+gZN;evVh*;(O2=~1V#6+_L1sH<9N zR1~g3Cker79X7YHcFR|SWzqH`-h8sE?Y|WjC1Z6(tiw`#dcD^q2=>WukH36))1hq> zvG7y;&-SU$=rcOcwz?)YckK$7z9>;7iu45+X76HcQ8nputr<`sSAYIEf8o#GDKqr@ zW9oMGy!tL*&kx=;$l{X-X5jm_Mzw4i!+wM^kf2mXW(632?;_!x zqcmK9U{2VSFWS;`AC+77eJmlt$ZSIa*fkNlrV5b}u(iPF)sG@poZ^34=ro3tv>fmv za&05pg`E`g^spy#sb*!E%mD1AGC^Y++yrJb^3}`AhT-Iqez9r$=5wsURXrywMN@FC z&5)Cl$6V?``q7ZPghAf-=lJ|`@Njy z(KCtHUwDgdVkm1sU}O?^FwedU?5mD_71>ukea-btGXwoA@V4db>mYrlpS_N~XNtZm zc*BC5dpSnDGYWp1u5l4#Kd3}Nuon?(CU;#XHw7vT2ges%d{zAef=<*MmJhC&yl#r! z?2Etfm-|L`^Yy7K12M@Q*noF>h2fn;*0Kt~T?AW$KUHzp!XaF4~OKoiDnl;=@-(*ZxVe zJL1HK@1Dr&o z-N^yp%^iVwvNIXG`E%Mn4j?CnY8Q}}4{*v5{5x?(fxTRA!bm0?!zJ|^#Y!D-&We_< zQbjcw1S`mC8LD;koScRCwt>odlw5X}2G2(s>%-_Uc5s$W49Z4qU&6R%fi%W$VfyM_ z19XWR?GJe>t0E1W0LtfxAOg>NZ8P?+9-3-luvjLA;9!xORt_Y(IXHBnIYCpjFz!Ik zi@FS!5~F@jV_gke4iwU3IZ=05jGWEQV+`6xdU{t3O_@tfp$GuT3GesJ=7WQI6XHc{ zXt>90-aa*E5G+IA4FIi~+GsKnTET3di0jV2{4aAL1huTFHNDy5t@X|!iLJwDOu#Cr ze;xO04D{ycEk9r4E)tZ*kOufr;EDwg)}oOr*~N6%!t~UI3sMa4C@&7edDd$q=v=cL z2(lY?Ry#RPn(auFSaUAitnfBk4ITvwe1#ej)T!wS8>Z9owFDlPy6!xBH*ygQ+R%~q z!}4`>7--Wkh8WM4s|h%(-IhjpSStMU>lW%KpFn~7-USNE_W^bw+@s#Mc!Q!U1-h3b z3$X@jdd|1TP&Y`x4h`H3+AK)UnWVWz>STn;6q=d=pNq!jC7MV4$?5-dXwLOXkID_@ z@8xul&Ik=U_^v8x##SZ4p}E*sH~U)7zIxc#3i_(x&GSA@!7Jp=DxkfGIx6af$iLyo ziUplygG*>A_f#x!UHqk9&_)4ggbPZ{mC0o1bxSYu%T3ZqKX0PV-7G~O^Ek$@${a5U`ERrCU< zr;W-@;hk5pBKTFfGv&4TJq=VXL$$lfrUbyp17|S+RU7IpfLFxaHBQfPcG);VyV`?F z`NKu#QfIhv88KwC7{V_YjKOpm?MPw>*5+_#)Ba`(&sqF!!=O}}&FFmGYbd8{U3slq zF#ltQfIYC*@M0z|ijT}pe#v(F@jcUt?zAL6lTJP*+M+#)@9z7Kkm!!#nHYPfD>=4o z$I*C}J=67+D7AJa-x>~!=B9A`Z-g9w%W#gDzpuL`R*U*TA!4@*q9GK$aL1WLzO?Sv zSdH<+uY6(6>hI|u{?H3zILiF~2M?;d^!rc??dATwpxSK0`a-glmYaeYXEl)GDAO#} zN(W0>nPw@b4FZSsK_WGi58M16%>gvD@g#6F`QHn7{6qb zo)*d`i@1u3o2r>|QMm{S6(@@ToXl9P1?XWKD&)bMbSfR-Dbu7&7&V!>Y^hKH1zRm& zhq64-JK}6<8ICO3{JdeL*TWllv+%S#SzcsLwWoZ=M^?NlO6hc4H0g(Ix#Z+Ui$5`z z?pqyoIU7u-z|Oo*3Ee7%#0%SeLscV~8X11f8-8mS@R z!0|b7t0C7XQhg{!1(_&IkaGN1MylURu#2F?!h6zGEMf)eA|k@7BzeVbB|JT&R|^u+ zpMVS>?IK0*L`MS#Zlr{&h+rz!R8ba8HN57Uj7hCz!Wu&^cNyR)go0ui4A>o+|0Q0D z3-DO{w860E*bRH9!^xHWuvB0RCjpu+M}uzt3lW^{{nb+cy%y|JjxFlLrsSbad;`J%+=iW zoT8_D6XI)13Hd9)qVgWEz64=5ke_@m5YL&;<-M938%l~0U#WoOk(%>BeZc5UWw!$L z54i-J6W)U!QVAM9`@<57b%baDR8JqUlggrg{3FVVPnPU^_NxPX@BW-#_lFn0X67sZ zUU^-3;KQPc>N_$oes$T`UO70b{=51(-${KMOq*LdMCRlfx*WpOSJZaL zstim2`?_;q+rq=O^{YpE_wFA5&Z%F%0lN&T2aRc*3p3bwj~2QaXq;-~nDG>Xd~71c zPd%>t_;vh>?|wddIX5`4;$*feFwcJbkLk-*S}vV%<1G{)aIXv%u5;j*ah!~IXfvx*Qn7(4Iuzkm~=4?a0f3uKfZt4?vB+rCGP4F05C*)(~?1Y zv$nY@2Ii8%*Cw8R`TUt}%X@w`ajLjR$Q}6ku}wc5569FK+uLD3lZH2G+pgOkjTk%^ z_a(04T@OCZOX0u>>}El�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̒dz(ZXuWiHi+(LXqp&g4*p_aOu6~eU8 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 i+k5}X>yE|ETruO?A*Tt-O6eJ literal 0 HcmV?d00001 diff --git a/includes/Gregwar/Captcha/Font/captcha5.ttf b/includes/Gregwar/Captcha/Font/captcha5.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f7cd998656b6ca8b1fb2e82fe63fa19f97c4c2c0 GIT binary patch literal 49724 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 literal 0 HcmV?d00001 diff --git a/includes/Gregwar/Captcha/ImageFileHandler.php b/includes/Gregwar/Captcha/ImageFileHandler.php new file mode 100644 index 0000000..dd20fcb --- /dev/null +++ b/includes/Gregwar/Captcha/ImageFileHandler.php @@ -0,0 +1,105 @@ + + * @author Jeremy Livingston + */ +class ImageFileHandler +{ + /** + * Name of folder for captcha images + * @var string + */ + protected $imageFolder; + + /** + * Absolute path to public web folder + * @var string + */ + protected $webPath; + + /** + * Frequency of garbage collection in fractions of 1 + * @var int + */ + protected $gcFreq; + + /** + * Maximum age of images in minutes + * @var int + */ + protected $expiration; + + /** + * @param $imageFolder + * @param $webPath + * @param $gcFreq + * @param $expiration + */ + public function __construct($imageFolder, $webPath, $gcFreq, $expiration) + { + $this->imageFolder = $imageFolder; + $this->webPath = $webPath; + $this->gcFreq = $gcFreq; + $this->expiration = $expiration; + } + + /** + * Saves the provided image content as a file + * + * @param string $contents + * + * @return string + */ + public function saveAsFile($contents) + { + $this->createFolderIfMissing(); + + $filename = md5(uniqid()) . '.jpg'; + $filePath = $this->webPath . '/' . $this->imageFolder . '/' . $filename; + imagejpeg($contents, $filePath, 15); + + return '/' . $this->imageFolder . '/' . $filename; + } + + /** + * Randomly runs garbage collection on the image directory + * + * @return bool + */ + public function collectGarbage() + { + if (!mt_rand(1, $this->gcFreq) == 1) { + return false; + } + + $this->createFolderIfMissing(); + + $finder = new Finder(); + $criteria = sprintf('<= now - %s minutes', $this->expiration); + $finder->in($this->webPath . '/' . $this->imageFolder) + ->date($criteria); + + foreach ($finder->files() as $file) { + unlink($file->getPathname()); + } + + return true; + } + + /** + * Creates the folder if it doesn't exist + */ + protected function createFolderIfMissing() + { + if (!file_exists($this->webPath . '/' . $this->imageFolder)) { + mkdir($this->webPath . '/' . $this->imageFolder, 0755); + } + } +} diff --git a/includes/Gregwar/Captcha/PhraseBuilder.php b/includes/Gregwar/Captcha/PhraseBuilder.php new file mode 100644 index 0000000..5cc938b --- /dev/null +++ b/includes/Gregwar/Captcha/PhraseBuilder.php @@ -0,0 +1,59 @@ + + */ +class PhraseBuilder implements PhraseBuilderInterface +{ + /** + * @var int + */ + public $length; + + /** + * @var string + */ + public $charset; + /** + * Constructs a PhraseBuilder with given parameters + */ + public function __construct($length = 5, $charset = 'abcdefghijklmnpqrstuvwxyz123456789') + { + $this->length = $length; + $this->charset = $charset; + } + + /** + * Generates random phrase of given length with given charset + */ + public function build($length = null, $charset = null) + { + if ($length !== null) { + $this->length = $length; + } + if ($charset !== null) { + $this->charset = $charset; + } + + $phrase = ''; + $chars = str_split($this->charset); + + for ($i = 0; $i < $this->length; $i++) { + $phrase .= $chars[array_rand($chars)]; + } + + return $phrase; + } + + /** + * "Niceize" a code + */ + public function niceize($str) + { + return strtr(strtolower($str), '01', 'ol'); + } +} diff --git a/includes/Gregwar/Captcha/PhraseBuilderInterface.php b/includes/Gregwar/Captcha/PhraseBuilderInterface.php new file mode 100644 index 0000000..62ec4b0 --- /dev/null +++ b/includes/Gregwar/Captcha/PhraseBuilderInterface.php @@ -0,0 +1,21 @@ + + */ +interface PhraseBuilderInterface +{ + /** + * Generates random phrase of given length with given charset + */ + public function build(); + + /** + * "Niceize" a code + */ + public function niceize($str); +} diff --git a/includes/Identicon/Generator/BaseGenerator.php b/includes/Identicon/Generator/BaseGenerator.php new file mode 100644 index 0000000..fa280eb --- /dev/null +++ b/includes/Identicon/Generator/BaseGenerator.php @@ -0,0 +1,250 @@ + + */ +class BaseGenerator +{ + /** + * @var mixed + */ + protected $generatedImage; + + /** + * @var array + */ + protected $color; + + /** + * @var array + */ + protected $backgroundColor; + + /** + * @var int + */ + protected $size; + + /** + * @var int + */ + protected $pixelRatio; + + /** + * @var string + */ + private $hash; + + /** + * @var array + */ + private $arrayOfSquare = []; + + /** + * Set the image color. + * + * @param string|array $color The color in hexa (3 or 6 chars) or rgb array + * + * @return $this + */ + public function setColor($color) + { + if (null === $color) { + return $this; + } + + $this->color = $this->convertColor($color); + + return $this; + } + + /** + * Set the image background color. + * + * @param string|array $backgroundColor The color in hexa (3 or 6 chars) or rgb array + * + * @return $this + */ + public function setBackgroundColor($backgroundColor) + { + if (null === $backgroundColor) { + return $this; + } + + $this->backgroundColor = $this->convertColor($backgroundColor); + + return $this; + } + + /** + * @param array|string $color + * + * @return array + */ + private function convertColor($color) + { + if (is_array($color)) { + return $color; + } + + if (preg_match('/^#?([a-z\d])([a-z\d])([a-z\d])$/i', $color, $matches)) { + $color = $matches[1].$matches[1]; + $color .= $matches[2].$matches[2]; + $color .= $matches[3].$matches[3]; + } + + preg_match('/#?([a-z\d]{2})([a-z\d]{2})([a-z\d]{2})$/i', $color, $matches); + + return array_map(function ($value) { + return hexdec($value); + }, array_slice($matches, 1, 3)); + } + + /** + * Get the color. + * + * @return array + */ + public function getColor() + { + return $this->color; + } + + /** + * Get the background color. + * + * @return array + */ + public function getBackgroundColor() + { + return $this->backgroundColor; + } + + /** + * Convert the hash into an multidimensional array of boolean. + * + * @return $this + */ + private function convertHashToArrayOfBoolean() + { + preg_match_all('/(\w)(\w)/', $this->hash, $chars); + + foreach ($chars[1] as $i => $char) { + $index = (int) ($i / 3); + $data = $this->convertHexaToBoolean($char); + + $items = [ + 0 => [0, 4], + 1 => [1, 3], + 2 => [2], + ]; + + foreach ($items[$i % 3] as $item) { + $this->arrayOfSquare[$index][$item] = $data; + } + + ksort($this->arrayOfSquare[$index]); + } + + $this->color = array_map(function ($data) { + return hexdec($data) * 16; + }, array_reverse($chars[1])); + + return $this; + } + + /** + * Convert an hexadecimal number into a boolean. + * + * @param string $hexa + * + * @return bool + */ + private function convertHexaToBoolean($hexa) + { + return (bool) round(hexdec($hexa) / 10); + } + + /** + * @return array + */ + public function getArrayOfSquare() + { + return $this->arrayOfSquare; + } + + /** + * Get the identicon string hash. + * + * @return string + */ + public function getHash() + { + return $this->hash; + } + + /** + * Generate a hash from the original string. + * + * @param string $string + * + * @throws \Exception + * + * @return $this + */ + public function setString($string) + { + if (null === $string) { + throw new Exception('The string cannot be null.'); + } + + $this->hash = md5($string); + + $this->convertHashToArrayOfBoolean(); + + return $this; + } + + /** + * Set the image size. + * + * @param int $size + * + * @return $this + */ + public function setSize($size) + { + if (null === $size) { + return $this; + } + + $this->size = $size; + $this->pixelRatio = (int) round($size / 5); + + return $this; + } + + /** + * Get the image size. + * + * @return int + */ + public function getSize() + { + return $this->size; + } + + /** + * Get the pixel ratio. + * + * @return int + */ + public function getPixelRatio() + { + return $this->pixelRatio; + } +} diff --git a/includes/Identicon/Generator/GdGenerator.php b/includes/Identicon/Generator/GdGenerator.php new file mode 100644 index 0000000..21ea922 --- /dev/null +++ b/includes/Identicon/Generator/GdGenerator.php @@ -0,0 +1,90 @@ + + */ +class GdGenerator extends BaseGenerator implements GeneratorInterface +{ + /** + * GdGenerator constructor. + */ + public function __construct() + { + if (!extension_loaded('gd') && !extension_loaded('ext-gd')) { + throw new Exception('GD does not appear to be available in your PHP installation. Please try another generator'); + } + } + + /** + * @return string + */ + public function getMimeType() + { + return 'image/png'; + } + + /** + * @return $this + */ + private function generateImage() + { + // prepare image + $this->generatedImage = imagecreatetruecolor($this->getPixelRatio() * 5, $this->getPixelRatio() * 5); + + $rgbBackgroundColor = $this->getBackgroundColor(); + if (null === $rgbBackgroundColor) { + $background = imagecolorallocate($this->generatedImage, 0, 0, 0); + imagecolortransparent($this->generatedImage, $background); + } else { + $background = imagecolorallocate($this->generatedImage, $rgbBackgroundColor[0], $rgbBackgroundColor[1], $rgbBackgroundColor[2]); + imagefill($this->generatedImage, 0, 0, $background); + } + + // prepare color + $rgbColor = $this->getColor(); + $gdColor = imagecolorallocate($this->generatedImage, $rgbColor[0], $rgbColor[1], $rgbColor[2]); + + // draw content + foreach ($this->getArrayOfSquare() as $lineKey => $lineValue) { + foreach ($lineValue as $colKey => $colValue) { + if (true === $colValue) { + imagefilledrectangle($this->generatedImage, $colKey * $this->getPixelRatio(), $lineKey * $this->getPixelRatio(), ($colKey + 1) * $this->getPixelRatio(), ($lineKey + 1) * $this->getPixelRatio(), $gdColor); + } + } + } + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getImageBinaryData($string, $size = null, $color = null, $backgroundColor = null) + { + ob_start(); + imagepng($this->getImageResource($string, $size, $color, $backgroundColor)); + $imageData = ob_get_contents(); + ob_end_clean(); + + return $imageData; + } + + /** + * {@inheritdoc} + */ + public function getImageResource($string, $size = null, $color = null, $backgroundColor = null) + { + $this + ->setString($string) + ->setSize($size) + ->setColor($color) + ->setBackgroundColor($backgroundColor) + ->generateImage(); + + return $this->generatedImage; + } +} diff --git a/includes/Identicon/Generator/GeneratorInterface.php b/includes/Identicon/Generator/GeneratorInterface.php new file mode 100644 index 0000000..c6e8e0e --- /dev/null +++ b/includes/Identicon/Generator/GeneratorInterface.php @@ -0,0 +1,43 @@ + + */ +interface GeneratorInterface +{ + /** + * @param string $string + * @param int $size + * @param array|string $color + * @param array|string $backgroundColor + * + * @return mixed + */ + public function getImageBinaryData($string, $size = null, $color = null, $backgroundColor = null); + + /** + * @param string $string + * @param int $size + * @param array|string $color + * @param array|string $backgroundColor + * + * @return string + */ + public function getImageResource($string, $size = null, $color = null, $backgroundColor = null); + + /** + * Return the mime-type of this identicon. + * + * @return string + */ + public function getMimeType(); + + /** + * Return the color of the created identicon. + * + * @return array + */ + public function getColor(); +} diff --git a/includes/Identicon/Generator/ImageMagickGenerator.php b/includes/Identicon/Generator/ImageMagickGenerator.php new file mode 100644 index 0000000..0bcd349 --- /dev/null +++ b/includes/Identicon/Generator/ImageMagickGenerator.php @@ -0,0 +1,98 @@ + + */ +class ImageMagickGenerator extends BaseGenerator implements GeneratorInterface +{ + /** + * ImageMagickGenerator constructor. + * + * @throws \Exception + */ + public function __construct() + { + if (!extension_loaded('imagick')) { + throw new Exception('ImageMagick does not appear to be avaliable in your PHP installation. Please try another generator'); + } + } + + /** + * @return string + */ + public function getMimeType() + { + return 'image/png'; + } + + /** + * @return $this + */ + private function generateImage() + { + $this->generatedImage = new \Imagick(); + $rgbBackgroundColor = $this->getBackgroundColor(); + + if (null === $rgbBackgroundColor) { + $background = 'none'; + } else { + $background = new ImagickPixel("rgb($rgbBackgroundColor[0],$rgbBackgroundColor[1],$rgbBackgroundColor[2])"); + } + + $this->generatedImage->newImage($this->pixelRatio * 5, $this->pixelRatio * 5, $background, 'png'); + + // prepare color + $rgbColor = $this->getColor(); + $color = new ImagickPixel("rgb($rgbColor[0],$rgbColor[1],$rgbColor[2])"); + + $draw = new ImagickDraw(); + $draw->setFillColor($color); + + // draw the content + foreach ($this->getArrayOfSquare() as $lineKey => $lineValue) { + foreach ($lineValue as $colKey => $colValue) { + if (true === $colValue) { + $draw->rectangle($colKey * $this->pixelRatio, $lineKey * $this->pixelRatio, ($colKey + 1) * $this->pixelRatio, ($lineKey + 1) * $this->pixelRatio); + } + } + } + + $this->generatedImage->drawImage($draw); + + return $this; + } + + /** + * {@inheritdoc} + */ + public function getImageBinaryData($string, $size = null, $color = null, $backgroundColor = null) + { + ob_start(); + echo $this->getImageResource($string, $size, $color, $backgroundColor); + $imageData = ob_get_contents(); + ob_end_clean(); + + return $imageData; + } + + /** + * {@inheritdoc} + */ + public function getImageResource($string, $size = null, $color = null, $backgroundColor = null) + { + $this + ->setString($string) + ->setSize($size) + ->setColor($color) + ->setBackgroundColor($backgroundColor) + ->generateImage(); + + return $this->generatedImage; + } +} diff --git a/includes/Identicon/Generator/SvgGenerator.php b/includes/Identicon/Generator/SvgGenerator.php new file mode 100644 index 0000000..d654a95 --- /dev/null +++ b/includes/Identicon/Generator/SvgGenerator.php @@ -0,0 +1,88 @@ + + */ +class SvgGenerator extends BaseGenerator implements GeneratorInterface +{ + /** + * {@inheritdoc} + */ + public function getMimeType() + { + return 'image/svg+xml'; + } + + /** + * {@inheritdoc} + */ + public function getImageBinaryData($string, $size = null, $color = null, $backgroundColor = null) + { + return $this->getImageResource($string, $size, $color, $backgroundColor); + } + + /** + * {@inheritdoc} + */ + public function getImageResource($string, $size = null, $color = null, $backgroundColor = null) + { + $this + ->setString($string) + ->setSize($size) + ->setColor($color) + ->setBackgroundColor($backgroundColor) + ->_generateImage(); + + return $this->generatedImage; + } + + /** + * @return $this + */ + protected function _generateImage() + { + // prepare image + $w = $this->getPixelRatio() * 5; + $h = $this->getPixelRatio() * 5; + $svg = ''; + + $backgroundColor = '#FFFFFF'; + $rgbBackgroundColor = $this->getBackgroundColor(); + if (!is_null($rgbBackgroundColor)) { + $backgroundColor = $this->_toUnderstandableColor($rgbBackgroundColor); + } + $svg .= ''; + + $rgbColor = $this->_toUnderstandableColor($this->getColor()); + // draw content + foreach ($this->getArrayOfSquare() as $lineKey => $lineValue) { + foreach ($lineValue as $colKey => $colValue) { + if (true === $colValue) { + $svg .= ''; + } + } + } + + $svg .= ''; + + $this->generatedImage = $svg; + + return $this; + } + + /** + * @param array|string $color + * + * @return string + */ + protected function _toUnderstandableColor($color) + { + if (is_array($color)) { + return 'rgb('.implode(', ', $color).')'; + } + + return $color; + } +} diff --git a/includes/Identicon/Identicon.php b/includes/Identicon/Identicon.php new file mode 100644 index 0000000..08d32f5 --- /dev/null +++ b/includes/Identicon/Identicon.php @@ -0,0 +1,123 @@ + + */ +class Identicon +{ + /** + * @var \Identicon\Generator\GeneratorInterface + */ + private $generator; + + /** + * Identicon constructor. + * + * @param \Identicon\Generator\GeneratorInterface|null $generator + */ + public function __construct($generator = null) + { + if (null === $generator) { + $this->generator = new GdGenerator(); + } else { + $this->generator = $generator; + } + } + + /** + * Set the image generator. + * + * @param \Identicon\Generator\GeneratorInterface $generator + * + * @return $this + */ + public function setGenerator(GeneratorInterface $generator) + { + $this->generator = $generator; + + return $this; + } + + /** + * Display an Identicon image. + * + * @param string $string + * @param int $size + * @param string $color + * @param string $backgroundColor + */ + public function displayImage($string, $size = 64, $color = null, $backgroundColor = null) + { + header('Content-Type: '.$this->generator->getMimeType()); + echo $this->getImageData($string, $size, $color, $backgroundColor); + } + + /** + * Get an Identicon PNG image data. + * + * @param string $string + * @param int $size + * @param string $color + * @param string $backgroundColor + * + * @return string + */ + public function getImageData($string, $size = 64, $color = null, $backgroundColor = null) + { + return $this->generator->getImageBinaryData($string, $size, $color, $backgroundColor); + } + + /** + * Get an Identicon PNG image resource. + * + * @param string $string + * @param int $size + * @param string $color + * @param string $backgroundColor + * + * @return string + */ + public function getImageResource($string, $size = 64, $color = null, $backgroundColor = null) + { + return $this->generator->getImageResource($string, $size, $color, $backgroundColor); + } + + /** + * Get an Identicon PNG image data as base 64 encoded. + * + * @param string $string + * @param int $size + * @param string $color + * @param string $backgroundColor + * + * @return string + */ + public function getImageDataUri($string, $size = 64, $color = null, $backgroundColor = null) + { + return sprintf('data:%s;base64,%s', $this->generator->getMimeType(), base64_encode($this->getImageData($string, $size, $color, $backgroundColor))); + } + + /** + * Get the color of the Identicon + * + * Returns an array with RGB values of the Identicon's color. Colors may be NULL if no image has been generated + * so far (e.g., when calling the method on a new Identicon()). + * + * @return array + */ + public function getColor() + { + $colors = $this->generator->getColor(); + + return [ + "r" => $colors[0], + "g" => $colors[1], + "b" => $colors[2] + ]; + } +} diff --git a/includes/OWASP/PureCaptcha.php b/includes/OWASP/PureCaptcha.php new file mode 100644 index 0000000..984d8b3 --- /dev/null +++ b/includes/OWASP/PureCaptcha.php @@ -0,0 +1,244 @@ +ascii=unserialize(gzuncompress(base64_decode( + preg_replace('/\s+/', '', $this->ascii)))); + $this->text=$this->randomText(); + + } + + /** + * Contains the captcha text. + * @var string + */ + public $text; + + /** + * Generates random text for use in captcha + * @param integer $length + * @return string + */ + protected function randomText($length=5) + { + $res=""; + for ($i=0;$i<$length;++$i) + $res.=$this->chars[mt_rand(0,strlen($this->chars)-1)]; + return $res; + } + /** + * returns the index of a char in $chars array + */ + protected function asciiEntry($char) + { + for ($i=0;$ichars);++$i) + if ($this->chars[$i]==$char) return $i; + return -1; + + } + /** + * converts a text to a bitmap + * which is a 2D array of ones and zeroes denoting the text + */ + protected function textBitmap($text,$spacing=2) + { + $width=$this->charWidth; + $height=$this->charHeight; + $result=array(); + $baseY=$baseX=0; + + for ($index=0;$indexascii[$this->asciiEntry($text[$index])][$j][$i]; + for ($i=0;$i<$spacing;++$i) + $result[$baseY+$j][$baseX+$width+$i]=0; + } + $baseX+=$width+$spacing; + } + return $result; + } + /** + * displays a bitmap string on the browser screen + */ + protected function displayBitmap($bitmap) + { + header("Content-Type: image/bmp"); + echo $this->bitmap2bmp($bitmap); + } + + protected function inlineBitmap($bitmap) + { + return base64_encode($this->bitmap2bmp($bitmap)); + } + + /** + * generates a monochrome BMP file + * a bitmap needs to be sent to this function + * i.e a 2D array with every element being either 1 or 0 + * @param integer $width + * @param integer $height + * @param array $bitmap + * @return string + */ + protected function bitmap2bmp($bitmap) + { + $width=count($bitmap[0]); + $height=count($bitmap); + $bytemap=$this->bitmap2bytemap($bitmap); + + $rowSize=floor(($width+31)/32)*4; + $size=$rowSize*$height + 62; //62 metadata size + #bitmap header + $data= "BM"; //header + $data.= (pack('V',$size)); //bitmap size ,4 bytes unsigned little endian + $data.= "RRRR"; + $data.= (pack('V',14+40+8)); //bitmap data start offset , + //4 bytes unsigned little endian, 14 forced, 40 header, 8 colors + + #info header + $data.= pack('V',40); //bitmap header size (min 40), + //4 bytes unsigned little-endian + $data.= (pack('V',$width)); //bitmap width , 4 bytes signed integer + $data.= (pack('V',$height)); //bitmap height , 4 bytes signed integer + $data.= (pack('v',1)); //number of colored plains , 2 bytes + $data.= (pack('v',1)); //color depth , 2 bytes + $data.= (pack('V',0)); //compression algorithm , 4 bytes (0=none, RGB) + $data.= (pack('V',0)); //size of raw data, 0 is fine for no compression + $data.= (pack('V',11808)); //horizontal resolution (dpi), 4 bytes + $data.= (pack('V',11808)); //vertical resolution (dpi), 4 bytes + $data.= (pack('V',0)); //number of colors in pallette (0 = all), 4 bytes + $data.= (pack('V',0)); //number of important colors (0 = all), 4 bytes + + #color palette + $data.= (pack('V',0x00FFFFFF)); //next color, white + $data.= (pack('V',0)); //first color, black + + for ($j=$height-1;$j>=0;--$j) + for ($i=0;$i<$rowSize/4;++$i) + for ($k=0;$k<4;++$k) + if (isset($bytemap[$j][$i*4+$k])) + $data.= pack('C',$bytemap[$j][$i*4+$k]); + else + $data.= pack('C',0); + return $data; + } + /** + * Converts a bitmap to a bytemap, which is necessary for outputting it + * + */ + protected function bitmap2bytemap($bitmap) + { + $width=count($bitmap[0]); + $height=count($bitmap); + $bytemap=array(); + for ($j=0;$j<$height;++$j) + { + for ($i=0;$i<$width/8;++$i) + { + $bitstring=""; + for ($k=0;$k<8;++$k) + if (isset($bitmap[$j][$i*8+$k])) + $bitstring.=$bitmap[$j][$i*8+$k]; + else + $bitstring.="0"; + $bytemap[$j][]=bindec($bitstring); + } + } + return $bytemap; + } + /** + * rotates a bitmap, returning new dimensions with the bitmap + * return bitmap + */ + protected function rotateBitmap($bitmap, $degree) + { + $c=cos(deg2rad($degree)); + $s=sin(deg2rad($degree)); + + $width=count($bitmap[0]); + $height=count($bitmap); + $newHeight=round(abs($width*$s)+abs($height*$c)); + $newWidth=round(abs($width*$c) + abs($height*$s))+1; + $x0 = $width/2 - $c*$newWidth/2 - $s*$newHeight/2; + $y0 = $height/2 - $c*$newHeight/2 + $s*$newWidth/2; + $result=array_fill(0, $newHeight, array_fill(0, $newWidth, 0)); + for ($j=0;$j<$newHeight;++$j) + for ($i=1;$i<$newWidth;++$i) + { + $y=(int)(-$s*$i+$c*$j+$y0); + $x=(int)($c*$i+$s*$j+$x0); + if (isset($bitmap[$y][$x])) + $result[$j][$i]=$bitmap[$y][$x]; + } + return $result; + } + /** + * scales a bitmap to be bigger + */ + protected function scaleBitmap($bitmap,$scaleX,$scaleY) + { + $width=count($bitmap[0]); + $height=count($bitmap); + $newHeight=$height*$scaleY; + $newWidth=$width*$scaleX; + $result=array_fill(0, $newHeight, array_fill(0, $newWidth, 0)); + for ($j=0;$j<$newHeight;++$j) + for ($i=0;$i<$newWidth;++$i) + $result[$j][$i]=$bitmap[(int)($j/$scaleY)] + [(int)($i/$scaleX)]; + return $result; + } + /** + * adds random noise to the captcha + */ + protected function distort($bitmap,$noisePercent=5) + { + for ($j=0;$jtextBitmap($this->text); + $degree=mt_rand(2,4); + if (mt_rand()%100<50) + $degree=-$degree; + $bitmap=$this->rotateBitmap($bitmap,$degree); + $bitmap=$this->scaleBitmap($bitmap,$scale,$scale); + if ($distort) $bitmap=$this->distort($bitmap); + return $this->inlineBitmap($bitmap); + } + +} diff --git a/includes/PIT/Zip.php b/includes/PIT/Zip.php new file mode 100644 index 0000000..5a13562 --- /dev/null +++ b/includes/PIT/Zip.php @@ -0,0 +1,516 @@ + + | @version 0.2.1 [0.2.1] - Beta + | + | @license X11 / MIT License + | @copyright Copyright © 2015 - 2019 SamBrishes, pytesNET + */ +/* + | The following websites contains all required informations, which were unavoidable for the + | creation of this class: + | + | - https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT + | - https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html + | - https://php.net/manual/class.ziparchive.php + */ + + namespace PIT; + + class Zip{ + const FLAGS = "\x00\x00"; + const VERSION = "\x14\x00"; + const SIGNATURE = "\x50\x4b"; + const COMPRESSION = "\x08\x00"; + + /* + | SETTINGs + */ + public $zipArchive = false; + public $compression = 6; + + /* + | ZIP ARCHIVE + */ + private $zipFilename; + private $zipInstance; + + /* + | FALLBACK + */ + private $offset = 0; + private $headers = array(); + private $central = array(); + private $counter = 0; + + /* + | CONSTRUCTOR + | @since 0.2.0 + | + | @param bool TRUE to check and use ZipArchive if available, + | FALSE to use the PKZIP PHP compression per default. + | @return int The compression level between -1 and 9. + */ + public function __construct($ziparchive = false, $compression = 6){ + if($ziparchive){ + $this->zipArchive = class_exists("ZipArchive", false); + $this->zipInstance = ($this->zipArchive)? new ZipArchive(): false; + } + if($this->zipArchive){ + $this->zipFilename = tempnam(sys_get_temp_dir(), "tzp") . ".zip"; + $this->zipInstance->open($this->zipFilename, ZipArchive::CREATE); + } + $this->compression = ($compression >= -1 && $compression <= 9)? $compression: 6; + } + + /* + | DESTRUCTOR + | @since 0.2.0 + */ + public function __destruct(){ + $this->clear(false); + } + + /* + | HELPER :: CONVERT UNIX TO DOS TIME + | @since 0.2.1 + | + | @param int The respective timestamp as INTEGER. + */ + protected function msDOSTime($time){ + $array = getdate((is_int($time) && $time > 0)? $time: time()); + if($array["year"] < 1980 || $array["year"] > 2107){ + $array = getdate(time()); + } + + // Return as DEC + return ( + (($array["year"]-1980 << 25)) | + (($array["mon"] << 21)) | + (($array["mday"] << 16)) | + (($array["hours"] << 11)) | + (($array["minutes"] << 5)) | + (($array["seconds"] >> 1)) + ); + } + + /* + | ADD A FILE + | @since 0.1.0 + | @update 0.2.1 + | + | @param string The relative or absolute filepath or the respective file content. + | @param string The local path within the archive file. + | @param int The timestamp to use. + | @param string The optional file comment or just an empty string. + | + | @return bool TRUE on success, FALSE on failure. + */ + public function addFile($data, $path, $time = 0, $comment = ""){ + if((!is_string($data) && !is_numeric($data)) || !is_string($path)){ + return false; + } + + // Sanitize Data + if(is_string($data) && file_exists($data) && is_file($data)){ + $data = file_get_contents($data); + } + $path = trim(str_replace("\\", "/", $path), "/"); + $time = $this->msDOSTime($time); + + // Zip Archive + if($this->zipArchive){ + return $this->zipInstance->addFromString($path, $data); + } + + // Fallback + $crcval = crc32($data); + $length = strlen($data); + if(version_compare(PHP_VERSION, "5.4.0", ">=")){ + $gzcval = gzcompress($data, $this->compression, ZLIB_ENCODING_DEFLATE); + } else { + $gzcval = gzcompress($data, $this->compression); + } + $gzcval = substr($gzcval, 2, strlen($gzcval) - 6); // Fix CRC-32 Bug + $gzclen = strlen($gzcval); + + /* + | LOCAL FILE HEADER + | 01 SIGNATURE + | 02 Version needed to extract this archive. + | 03 General purpose bit flag. + | 04 Compression method. + | 05 Last modification DOS datetime. + | 06 CRC32 value. + | 07 Compressed Filesize. + | 08 Uncompressed Filesize. + | 09 Length of the filename inside the archive. + | 10 Length of the extra fields. + | 11 The relative path / filename inside the archive. + | 12 The main file data value. + */ + $this->headers[] = + self::SIGNATURE . "\x03\x04" . + self::VERSION . + self::FLAGS . + self::COMPRESSION . + pack("V", $time) . + pack("V", $crcval) . + pack("V", $gzclen) . + pack("V", $length) . + pack("v", strlen($path)) . + pack("v", 0) . + $path . + $gzcval; + + /* + | CENTRAL DIRECTORY RECORD + | 01 SIGNATURE + | 02 MadeBy Version numbers. + | 03 Version needed to extract this archive. + | 04 General purpose bit flag. + | 05 Compression method. + | 06 Last modification DOS datetime. + | 07 CRC32 value. + | 08 Compressed Filesize. + | 09 Uncompressed Filesize. + | 10 Length of the filename inside the archive. + | 11 Length of the extra fields. + | 12 Length of the file comment. + | 13 The disk number where the file exists. + | 14 Internal file attributes. + | 15 External file attributes. + | 16 Offset of the local file header. + | 17 The relative path / filename inside the archive. + | 18 The file comment. + */ + $this->central[] = + self::SIGNATURE . "\x01\x02" . + "\x00\x00" . + self::VERSION . + self::FLAGS . + self::COMPRESSION . + pack("V", $time) . + pack("V", $crcval) . + pack("V", $gzclen) . + pack("V", $length) . + pack("v", strlen($path)) . + pack("v", 0) . + pack("v", strlen($comment)) . + pack("v", 0) . + pack("v", 0) . + pack("V", 32) . + pack("V", $this->offset) . + $path . + $comment; + + // Count Offset and Return + $this->offset += strlen($this->headers[count($this->headers)-1]); + return true; + } + + /* + | ADD MULTIPLE FILES + | @since 0.2.0 + | @update 0.2.1 + | + | @param array Multiple 'local/file/path' => "filepath/or/filecontent" ARRAY pairs. + | @param int The timestamp to use for all files. + | @param string The optional comment or just an empty string for alle respective files. + | + | @return int The number of successfully added elements / files. + */ + public function addFiles($array, $time = 0, $comment = ""){ + if(!is_array($array)){ + return false; + } + foreach($array AS $path => &$data){ + $data = $this->addFile($data, $path); + } + return array_filter(array_values($array)); + } + + /* + | ADD FOLDER + | @since 0.2.0 + | + | @param string The path to the folder, which should be zipped. + | @param string The local path within the zip file. + | @param bool TRUE to zip recursive and include all sub directories, + | FALSE to just zip all files within the $path folder. + | @param bool TRUE to include empty folders on recursive zips. + | FALSE to skip empty folders. + | + | @return multi The number as INT of successfully added elements / files, + | FALSE on failure. + */ + public function addFolder($path, $local = "/", $recursive = false, $empty = false){ + if(!file_exists($path) || !is_dir($path)){ + return false; + } + + // Chech Path + $path = str_replace(array("/", "\\"), DIRECTORY_SEPARATOR, realpath($path)); + if(strpos($path, DIRECTORY_SEPARATOR) !== strlen($path)-1){ + $path .= DIRECTORY_SEPARATOR; + } + + // Check Local + if(!is_string($local)){ + $local = ""; + } + $local = trim(str_replace("\\", "/", $local), "/") . "/"; + + // Start Flow + $this->counter = 0; + $this->addFolderFlow($path, "", $local, !!$recursive, !!$empty); + return $this->counter; + } + + /* + | HELPER :: ADD FOLDER LOOP + | @since 0.2.0 + | + | @param string The base path to the folder, which should be zipped. + | @param string The further path, within the base path, on recursive calls. + | @param string The local path within the zip file. + | @param bool TRUE to zip recursive and include all sub directories, + | FALSE to just zip all files within the $path folder. + | @param bool TRUE to include empty folders on recursive zips. + | FALSE to skip empty folders. + | + | @return int The number of successfully added elements / files. + */ + private function addFolderFlow($base, $path = "", $local = "", $recursive = false, $empty = false){ + $path = str_replace(array("/", "\\"), DIRECTORY_SEPARATOR, $path); + $path = trim($path, DIRECTORY_SEPARATOR); + if(!empty($path)){ + $path .= DIRECTORY_SEPARATOR; + } + + $count = 0; + $handle = opendir($base . $path); + while(($file = readdir($handle)) !== false){ + if(in_array($file, array(".", ".."))){ + continue; + } + if(is_dir($base . $path . $file)){ + if($recursive){ + $count = $this->addFolderFlow($base, $path . $file, $local, $recursive, $empty); + if($count == 0 && $empty){ + $this->addEmptyFolder($local . $path . $file); + } + } + continue; + } + if(is_file($base . $path . $file)){ + if($this->addFile($base . $path . $file, $local . $path . $file)){ + $count++; + $this->counter++; + } + } + } + closedir($handle); + return $count; + } + + /* + | ADD EMPTY FOLDER + | @since 0.2.0 + | @update 0.2.1 + | + | @param string The local path structure within the zip file. + | @param int The timestamp to use. + | @param string The optional file comment or just an empty string. + | + | @return bool TRUE on success, FALSE on failure. + */ + public function addEmptyFolder($path, $time = 0, $comment = ""){ + $path = trim(str_replace("\\", "/", $path), "/") . "/"; + $time = $this->msDOSTime($time); + + // ZipArchive + if($this->zipArchive){ + return $this->zipInstance->addEmptyDir($path); + } + + // Add Header + $this->headers[] = + self::SIGNATURE . "\x03\x04" . + self::VERSION . + self::FLAGS . + "\x00\x00" . + pack("V", $time) . + pack("V", 0) . + pack("V", 0) . + pack("V", 0) . + pack("v", strlen($path)) . + pack("v", 0) . + $path . + ""; + + // Add Central + $this->central[] = + self::SIGNATURE . "\x01\x02" . + "\x14\x03" . + self::VERSION . + self::FLAGS . + "\x00\x00" . + pack("V", $time) . + pack("V", 0) . + pack("V", 0) . + pack("V", 0) . + pack("v", strlen($path)) . + pack("v", 0) . + pack("v", strlen($comment)) . + pack("v", 0) . + pack("v", 0) . + "\x00\x00\xFF\x41" . + pack("V", $this->offset) . + $path . + $comment; + + // Count Offset and Return + $this->offset += strlen($this->headers[count($this->headers)-1]); + return true; + } + + /* + | CLEAR DATA STRINGs + | @since 0.1.0 + | @update 0.2.0 + */ + public function clear($new = true){ + if($this->zipArchive){ + if(is_a($this->zipInstance, "ZipArchive")){ + $this->zipInstance->close(); + } + if(strpos($this->zipFilename, sys_get_temp_dir()) === 0 && file_exists($this->zipFilename)){ + @unlink($this->zipFilename); + } + if($new){ + $this->zipFilename = "./temp-".time().".zip"; + $this->zipInstance = new ZipArchive(); + $this->zipInstance->open($this->zipFilename, ZipArchive::CREATE); + } + } + $this->offset = 0; + $this->headers = array(); + $this->central = array(); + return true; + } + + /* + | DUMBS OUT THE FILE + | @since 0.1.0 + | @update 0.2.1 + */ + public function file(){ + $comment = "PKZipped with https://github.com/SamBrishes/FoxCMS/tree/helpers/zip"; + + // ZipArchive + if($this->zipArchive){ + $this->zipInstance->setArchiveComment($comment); + $this->zipInstance->close(); + + $content = file_get_contents($this->zipFilename); + + $this->zipInstance = new ZipArchive(); + $this->zipInstance->open($this->zipFilename); + return $content; + } + + // Fallback + $headers = implode("", $this->headers); + $central = implode("", $this->central); + /* + | RETURN + | 01 The file header items. + | 02 The central directory items. + | 03 The signature for the end of the central directory record. + | 04 The number of this disk / part. + | 05 The number of the disk / part where the central directory starts. + | 06 The number of central directoy entries on this disk. + | 07 Total number of entries on this disk / part. + | 08 Total number of entries in general. + | 09 Length of the central directory. + | 10 Offset where the central directory starts. + | 11 The length of the following comment field. + | 12 The archive comment. + */ + return $headers . $central . + self::SIGNATURE . "\x05\x06" . + "\x00" . + "\x00" . + "\x00" . + "\x00" . + pack("v", count($this->central)) . + pack("v", count($this->central)) . + pack("V", strlen($central)) . + pack("V", strlen($headers)) . + pack("v", strlen($comment)) . + $comment; + } + + /* + | STORE THE ZIP FILE + | @since 0.1.0 + | @update 0.2.0 + | + | @param string The filename with the respective path to store the archive. + | @param bool TRUE to overwrite existing archives, FALSE to do it not. + | + | @return bool TRUE on success, FALSE on failure. + */ + public function save($filename = "archive.zip", $overwrite = false){ + if(file_exists($filename) && !$overwrite){ + return false; + } + + // Zip Archive + if($this->zipArchive){ + if(is_a($this->zipInstance, "ZipArchive")){ + $this->zipInstance->close(); + } + if(@file_put_contents($filename, file_get_contents($this->zipFilename))){ + @unlink($this->zipFilename); + + $this->zipFilename = $filename; + $this->zipInstance = new ZipArchive(); + return $this->zipInstance->open($this->zipFilename); + } + return false; + } + + // Fallback + return @file_put_contents($filename, $this->file()) !== false; + } + + /* + | DOWNLOAD THE FILE + | @since 0.1.0 + | @update 0.2.0 + | + | @param string The filename for the archiv. + | @param bool TRUE to exit after the execution, FALSE to do it not. + | + | @return void + */ + public function download($filename = "archive.zip", $exit = false){ + $file = $this->file(); + header("Pragma: public"); + header("Expires: 0"); + header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + header("Cache-Control: private", false); + header("Content-Type: application/zip"); + header("Content-Disposition: attachment; filename={$filename};" ); + header("Content-Transfer-Encoding: binary"); + header("Content-Length: " . strlen($file)); + print ($file); + if($exit){ + die(); + } + } + } diff --git a/includes/autoload.php b/includes/autoload.php new file mode 100644 index 0000000..6139617 --- /dev/null +++ b/includes/autoload.php @@ -0,0 +1,23 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + + spl_autoload_register(function($class){ + foreach(array("Gregwar", "Identicon", "PIT", "OWASP") AS $allowed){ + if(strpos($class, $allowed) !== 0){ + continue; + } + $path = dirname(__FILE__) . DIRECTORY_SEPARATOR; + $class = str_replace("\\", DIRECTORY_SEPARATOR, $class); + require_once $class . ".php"; + } + return false; + }); diff --git a/includes/img/default-avatar.jpg b/includes/img/default-avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40e9aaa98e6198a668374dd6fa5c8df699c03b69 GIT binary patch literal 6037 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 0) && (a <= 255) ? a/255 : 1); + return 'rgba(' + values.join(',') + ')'; + }, + + getDump: function(){ + var i, + xml, + rect, + fg = this.foreground, + bg = this.background, + stroke = this.size * 0.005; + + xml = "" + + ""; + + for (i = 0; i < this.rectangles.length; i++) { + rect = this.rectangles[i]; + if (rect.color == bg) continue; + xml += ""; + } + xml += "" + + return xml; + }, + + getBase64: function(){ + if ('function' === typeof btoa) { + return btoa(this.getDump()); + } else if (Buffer) { + return new Buffer(this.getDump(), 'binary').toString('base64'); + } else { + throw 'Cannot generate base64 output'; + } + } + }; + + if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { + module.exports = Identicon; + } else { + window.Identicon = Identicon; + } +})(); diff --git a/includes/js/pnglib.js b/includes/js/pnglib.js new file mode 100644 index 0000000..17c03b6 --- /dev/null +++ b/includes/js/pnglib.js @@ -0,0 +1,214 @@ +/** +* A handy class to calculate color values. +* +* @version 1.0 +* @author Robert Eisele +* @copyright Copyright (c) 2010, Robert Eisele +* @link http://www.xarg.org/2010/03/generate-client-side-png-files-using-javascript/ +* @license http://www.opensource.org/licenses/bsd-license.php BSD License +* +*/ + +(function() { + + // helper functions for that ctx + function write(buffer, offs) { + for (var i = 2; i < arguments.length; i++) { + for (var j = 0; j < arguments[i].length; j++) { + buffer[offs++] = arguments[i].charAt(j); + } + } + } + + function byte2(w) { + return String.fromCharCode((w >> 8) & 255, w & 255); + } + + function byte4(w) { + return String.fromCharCode((w >> 24) & 255, (w >> 16) & 255, (w >> 8) & 255, w & 255); + } + + function byte2lsb(w) { + return String.fromCharCode(w & 255, (w >> 8) & 255); + } + + // modified from original source to support NPM + var PNGlib = function(width,height,depth) { + + this.width = width; + this.height = height; + this.depth = depth; + + // pixel data and row filter identifier size + this.pix_size = height * (width + 1); + + // deflate header, pix_size, block headers, adler32 checksum + this.data_size = 2 + this.pix_size + 5 * Math.floor((0xfffe + this.pix_size) / 0xffff) + 4; + + // offsets and sizes of Png chunks + this.ihdr_offs = 0; // IHDR offset and size + this.ihdr_size = 4 + 4 + 13 + 4; + this.plte_offs = this.ihdr_offs + this.ihdr_size; // PLTE offset and size + this.plte_size = 4 + 4 + 3 * depth + 4; + this.trns_offs = this.plte_offs + this.plte_size; // tRNS offset and size + this.trns_size = 4 + 4 + depth + 4; + this.idat_offs = this.trns_offs + this.trns_size; // IDAT offset and size + this.idat_size = 4 + 4 + this.data_size + 4; + this.iend_offs = this.idat_offs + this.idat_size; // IEND offset and size + this.iend_size = 4 + 4 + 4; + this.buffer_size = this.iend_offs + this.iend_size; // total PNG size + + this.buffer = new Array(); + this.palette = new Object(); + this.pindex = 0; + + var _crc32 = new Array(); + + // initialize buffer with zero bytes + for (var i = 0; i < this.buffer_size; i++) { + this.buffer[i] = "\x00"; + } + + // initialize non-zero elements + write(this.buffer, this.ihdr_offs, byte4(this.ihdr_size - 12), 'IHDR', byte4(width), byte4(height), "\x08\x03"); + write(this.buffer, this.plte_offs, byte4(this.plte_size - 12), 'PLTE'); + write(this.buffer, this.trns_offs, byte4(this.trns_size - 12), 'tRNS'); + write(this.buffer, this.idat_offs, byte4(this.idat_size - 12), 'IDAT'); + write(this.buffer, this.iend_offs, byte4(this.iend_size - 12), 'IEND'); + + // initialize deflate header + var header = ((8 + (7 << 4)) << 8) | (3 << 6); + header+= 31 - (header % 31); + + write(this.buffer, this.idat_offs + 8, byte2(header)); + + // initialize deflate block headers + for (var i = 0; (i << 16) - 1 < this.pix_size; i++) { + var size, bits; + if (i + 0xffff < this.pix_size) { + size = 0xffff; + bits = "\x00"; + } else { + size = this.pix_size - (i << 16) - i; + bits = "\x01"; + } + write(this.buffer, this.idat_offs + 8 + 2 + (i << 16) + (i << 2), bits, byte2lsb(size), byte2lsb(~size)); + } + + /* Create crc32 lookup table */ + for (var i = 0; i < 256; i++) { + var c = i; + for (var j = 0; j < 8; j++) { + if (c & 1) { + c = -306674912 ^ ((c >> 1) & 0x7fffffff); + } else { + c = (c >> 1) & 0x7fffffff; + } + } + _crc32[i] = c; + } + + // compute the index into a png for a given pixel + this.index = function(x,y) { + var i = y * (this.width + 1) + x + 1; + var j = this.idat_offs + 8 + 2 + 5 * Math.floor((i / 0xffff) + 1) + i; + return j; + } + + // convert a color and build up the palette + this.color = function(red, green, blue, alpha) { + + alpha = alpha >= 0 ? alpha : 255; + var color = (((((alpha << 8) | red) << 8) | green) << 8) | blue; + + if (typeof this.palette[color] == "undefined") { + if (this.pindex == this.depth) return "\x00"; + + var ndx = this.plte_offs + 8 + 3 * this.pindex; + + this.buffer[ndx + 0] = String.fromCharCode(red); + this.buffer[ndx + 1] = String.fromCharCode(green); + this.buffer[ndx + 2] = String.fromCharCode(blue); + this.buffer[this.trns_offs+8+this.pindex] = String.fromCharCode(alpha); + + this.palette[color] = String.fromCharCode(this.pindex++); + } + return this.palette[color]; + } + + // output a PNG string, Base64 encoded + this.getBase64 = function() { + + var s = this.getDump(); + + var ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var c1, c2, c3, e1, e2, e3, e4; + var l = s.length; + var i = 0; + var r = ""; + + do { + c1 = s.charCodeAt(i); + e1 = c1 >> 2; + c2 = s.charCodeAt(i+1); + e2 = ((c1 & 3) << 4) | (c2 >> 4); + c3 = s.charCodeAt(i+2); + if (l < i+2) { e3 = 64; } else { e3 = ((c2 & 0xf) << 2) | (c3 >> 6); } + if (l < i+3) { e4 = 64; } else { e4 = c3 & 0x3f; } + r+= ch.charAt(e1) + ch.charAt(e2) + ch.charAt(e3) + ch.charAt(e4); + } while ((i+= 3) < l); + return r; + } + + // output a PNG string + this.getDump = function() { + + // compute adler32 of output pixels + row filter bytes + var BASE = 65521; /* largest prime smaller than 65536 */ + var NMAX = 5552; /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ + var s1 = 1; + var s2 = 0; + var n = NMAX; + + for (var y = 0; y < this.height; y++) { + for (var x = -1; x < this.width; x++) { + s1+= this.buffer[this.index(x, y)].charCodeAt(0); + s2+= s1; + if ((n-= 1) == 0) { + s1%= BASE; + s2%= BASE; + n = NMAX; + } + } + } + s1%= BASE; + s2%= BASE; + write(this.buffer, this.idat_offs + this.idat_size - 8, byte4((s2 << 16) | s1)); + + // compute crc32 of the PNG chunks + function crc32(png, offs, size) { + var crc = -1; + for (var i = 4; i < size-4; i += 1) { + crc = _crc32[(crc ^ png[offs+i].charCodeAt(0)) & 0xff] ^ ((crc >> 8) & 0x00ffffff); + } + write(png, offs+size-4, byte4(crc ^ -1)); + } + + crc32(this.buffer, this.ihdr_offs, this.ihdr_size); + crc32(this.buffer, this.plte_offs, this.plte_size); + crc32(this.buffer, this.trns_offs, this.trns_size); + crc32(this.buffer, this.idat_offs, this.idat_size); + crc32(this.buffer, this.iend_offs, this.iend_size); + + // convert PNG to string + return "\x89PNG\r\n\x1a\n"+this.buffer.join(''); + } + } + + // modified from original source to support NPM + if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { + module.exports = PNGlib; + } else { + window.PNGlib = PNGlib; + } +})(); diff --git a/languages/de.json b/languages/de.json new file mode 100644 index 0000000..69f50f7 --- /dev/null +++ b/languages/de.json @@ -0,0 +1,6 @@ +{ + "plugin-data": { + "name": "Snicker", + "description": "Ein natives, AJAX-unterstütztes FlatFile Kommentiersystem für Bludit, mit einer Abonnement-Funktion und im Einklang mit der DSGVO!" + } +} diff --git a/languages/de_DE.json b/languages/de_DE.json new file mode 100644 index 0000000..edbc1e5 --- /dev/null +++ b/languages/de_DE.json @@ -0,0 +1,204 @@ +{ + "plugin-data": { + "name": "Snicker", + "description": "Ein natives, AJAX-unterstütztes FlatFile Kommentiersystem für Bludit, mit einer Abonnement-Funktion und im Einklang mit der DSGVO!" + }, + "s18n-a5d491060952aa8ad5fdee071be752de": "Kommentare", + "s18n-de95b43bceeb4b998aed4aed5cef1ae7": "Bearbeiten", + "s18n-f984023ed3d6df2326c9d59838c29792": "Kommentar bearbeiten", + "s18n-86448a506dd93303a72140b9124ee321": "Kommentar entfernen", + "s18n-db10a8eb963bc0e5f4483ac9b5dc554c": "Kommentar-Titel", + "s18n-335630425567dbe91768a3beffdec752": "Kommentar-Inhalt", + "s18n-bd7e63f881c7f787a9a0dce20b7f9e5b": "Meta Einstellungen", + "s18n-1acfe725df7bd12195751f0737c4d375": "Registrierter Nutzer", + "s18n-e988189db402fab453f72052629c02cd": "Kommentar-Benutzername", + "s18n-db84c6236ca6a01b9189504d78c012a5": "Kommentar-eMail", + "s18n-7c6c2e5d48ab37a007cbf70d3ea25fa4": "Ausstehend", + "s18n-787d5f05953ec39b108869dfdd7733e6": "Genehmigt", + "s18n-c7537d6d48ecf261749c09a9f284bd45": "Abgelehnt", + "s18n-e09f6a7593f8ae3994ea57e1117f67ec": "Spam", + "s18n-7a5115c2c1eb662308decbec83593494": "Seite aufrufen", + "s18n-0572a05cd6d6360391993a611099542f": "Kommentar Titel oder Auszug", + "s18n-428f14500191b5d53675da4a96bc8bba": "Kommentare suchen", + "s18n-e0be71bccdeceb713fba3c222f79a3c5": "Keine Kommentare verfügbar", + "s18n-06d4cd63bde972fc66a0aed41d2f5c51": "Kommentar", + "s18n-02bd92faa38aaa6cc0ea75e59937a1ef": "Autor", + "s18n-ebb67a4271abe715344471b0f16321f6": "Aktionen", + "s18n-58566b9a9b2733b0ceacb2186672b5d1": "Zeige alle Antworten", + "s18n-5f44c0081bd862a77ba8b24e923cadf1": "Antwort zu", + "s18n-eb399bcaca686f8609137153307eecf1": "Ändern", + "s18n-2736f4347985da50dc023444c193bfea": "Kommentar bBearbeiten", + "s18n-a107bf4b12e36a07161a26d95b03bc81": "Kommentar genehmigen", + "s18n-da937abd19cd9e1430470b8a471a41d4": "Kommentar ablehnen", + "s18n-32cb4199893d9948cc0853eef244f1fc": "Als Spam markieren", + "s18n-a6494adfb72d12d3a4da66855c284ec6": "Zurück zu ausstehend", + "s18n-1bda80f2be4d3658e0baa43fbe7ae8c1": "Anzeigen", + "s18n-c9ae5a4214e87ad6fbed44a267471eee": "Einstellungen speichern", + "s18n-e124d357c3c832434a8676a5e18db842": "Allgemeine Einstellungen", + "s18n-b62a9dcd666f3ff44197cf21ac66507d": "Kommentar Moderation", + "s18n-7f0217cdcdd58ba86aae84d9d3d79f81": "Moderiere", + "s18n-1a1dc91c907325c69271ddf0c944bc72": "Genehmige", + "s18n-df6963dc912cde9baeef10343167ba01": "jeden Kommentar", + "s18n-39ba4181e212acf183ac965c9b37da89": "Außer der Nutzer ist angemeldet", + "s18n-0dac4426a017f0a0370db32776bc30bb": "Außer der Nutzer ist Admin oder der Autor", + "s18n-c70aa8b8fd6f2652eda2d5366faf1de5": "Außer der Nutzer hat bereits einen genehmigen Kommentar", + "s18n-8b26cab9d444760b4bcc65dc4d8634f8": "Kommentare erlauben", + "s18n-67614909bf9de326de71946036de39f1": "... auf Öffentliche Seiten", + "s18n-a7c384c1b60785c40bc3a4e4dfc5a108": "... auf Fixierte Seiten", + "s18n-9907b78f8745810599dbf6fd29a01364": "... auf Statische Seiten", + "s18n-c89cbecce48d04cd76c0b95c8128ad97": "Aktivieren (Optional)", + "s18n-e9d51286fdd0ff058650392fc8b6ae30": "Aktivieren (Erforderlich)", + "s18n-0aaa87422396fdd678498793b6d5250e": "Deaktivieren", + "s18n-8da2c8185edfeb1765526f8e2e4f388d": "Kommentar Limit", + "s18n-77d6d185c93549dab24f29ff2e3b25a8": "Nutze '0' um das Limit zu deaktivieren!", + "s18n-1ef52691308c8add87723a4103a561c2": "Kommentar-Tiefe", + "s18n-d102731a5fedff24f30e24e883ef4636": "Kommentar-Markups", + "s18n-6640979a191e66655c26c59d404bf955": "Erlaube generelles HTML", + "s18n-915009e874f8bed1845060012f826fcd": "Erlaube Markdown", + "s18n-a9a36cb3d8f4f7297ebca99a322d6342": "Kommentar-Bewertungen", + "s18n-2123546d1ff8b0cb035df0c0b0d06825": "Speicher Gäste-Bewertungen im", + "s18n-dead693ab29895d302fca0e6baad6182": "Cookie Speicher", + "s18n-02b68043bdcae159e83199d64a5abd7d": "Session Speicher", + "s18n-40bd8791e523e91219886c35622163fc": "Datenbank Speicher", + "s18n-8717cfca734e8987971f63b20eeb8024": "Was?", + "s18n-5a8cbcf57f5b59f0d4b8ded97d018399": "Der Cookie Speicher<\/b> befindet sich auf dem Computer des Nutzers, So hast du nicht den vollen Zugriff darauf UND benötigst zudem die Erlaubnis des Nutzers!", + "s18n-a09dbdf907873e66d9d644cca71970d5": "Der Session Speicher<\/b> legt die Daten temporär auf den Server ab, bis der Nutzer den Browser schließt. Dafür benötigst du allerdings auch keine Berechtigung vom Nutzer.", + "s18n-71892ebe01ba92d1f163dc37d818b5ff": "Der Datenbank Speicher<\/b> generiert und speichert einen anonymisierten aber zuweisbaren Wert des Nutzers, welche eine entsprechende Einwilligung benötigt.", + "s18n-7c35a0bcb0b0678f0829036eead5ddca": "Bitte beachte:<\/b> Du bist für die Einholung der Einwilligung des Nutzers verantwortlich, Snicker übernimmt dies lediglich für die Speicherung der Daten über das Kommentar-Formular selbst!", + "s18n-82e5228061f185ee185bd9f3ecba4ee7": "Erlaube die Bewertung: %s", + "s18n-61b58693e0eceeb27ce0cc3b25b3bf31": "Webseiten-Einstellungen", + "s18n-b3c1c2c231275878abe58a55966fa9e0": "Seiten Filter", + "s18n-9cb1eef8966f93282524929f65c8b9ec": "Deaktiviere den Seiten-Filter", + "s18n-e89fd56cefec9baabcbe0db3e5a36962": "Nutze 'pageBegin'", + "s18n-3d08b5dcc1e5c3c7e7e2eaf2d0d6a12d": "Nutze 'pageEnd'", + "s18n-3771d05b6af4ebb0a303266c47809548": "Nutze 'siteBodyBegin'", + "s18n-42438edc41ab83312486009e3122e92b": "Nutze 'siteBodyEnd'", + "s18n-948da5199de32c7601a20b6107c31d4d": "Kommentar-Captcha", + "s18n-47e5c42fb9bdca3636a5d866a6794101": "Deaktiviere das Captcha", + "s18n-eedf6d23d18212016e22428658e17794": "Nutze den lokalen Captcha (von Gregway)", + "s18n-ab6ef7ef94efc86db78218c6c265243a": "Nutze OWASPs PureCaptcha", + "s18n-a58adce0085cc1a25fc8076e97c29d70": "Nutze Gregways Captcha (Die GD Bibliothek fehlt!)", + "s18n-09cddbc3627ea46a8dce692d64273b61": "Nutze Googles reCaptcha (Noch nicht verfügbar)", + "s18n-838a13e4fece7c272b960da3fb99f94d": "Kommentar-Template", + "s18n-6f95370a28520696b2a0ad34efc54d2d": "Kommentar-Reihenfolge", + "s18n-4a8dc1710396b21e7b1da8112c07c4ad": "Die neusten Kommentare zuerst", + "s18n-2dab3b12d0b0642c3964b37d675ff24b": "Die ältesten Kommentare zuerst", + "s18n-230c71c29590608034b4a590a67ace31": "Kommentar-Formular Position", + "s18n-37d988444dec2001c488806fc8401e25": "Zeige das Kommentare-Formular über den Kommentaren", + "s18n-16ac6c11951d825826f77a4097a1c2cb": "Zeige das Kommentare-Formular unter den Kommentaren", + "s18n-1e98ec9312b69676d5e3fe3caf8ecde1": "Kommentare pro Seite", + "s18n-0d46f4389ca5f882e24899fe489bf344": "Nutze '0' um alle Kommentare anzuzeigen!", + "s18n-7b6b84fbd65a4b712a5ba0dccce176d5": "Nutzungsbedingungen", + "s18n-9853383062a2e308d5aed35fe3da7953": "Deaktiviere dieses Feld", + "s18n-352fd1d7225b5ea02b8ddd9fad0d6e34": "Zeige eine Standard-Nachricht (See Zeichenketten)", + "s18n-71860c77c6745379b0d44304d66b6a13": "Seite", + "s18n-5dcb84333ae70a5bed60bf70d34dcd2b": "Zeige den Standard DSGVO Text oder wähle eine Seite für deie Nutzungsbedingungen!", + "s18n-2e3d9327c371afb7489f9b9278198622": "AJAX Script", + "s18n-c60cab6330745b41cbee05603eec6691": "AJAX Script einbetten", + "s18n-69b11f64af515ef979fbf28c5e06f370": "AJAX Script nicht einbetten", + "s18n-9bbec7b57565f06d73522669d3b836dc": "Das AJAX Script übergibt die Anfragen (Kommentare, Bewertungen) direkt ohne den Browser neu zu laden!", + "s18n-7c74c0d2d1c28d1568298c89742ce126": "Kommentar-Profilbild", + "s18n-aeab7c630dae161d8f6e2898dd83b471": "Nutze Gravatar", + "s18n-882e3436da897c055cc3f8bd2598b71a": "Nutze Identicon", + "s18n-d92d61ad0c0065170a37a1805ad1bc9e": "Nutze Mystery Men", + "s18n-b4a51a35344f9a8fa1139cfd968ab308": "Nutze & Bevorzuge das richtige Profilbild bei Nutzern", + "s18n-b50a4a96c25d745d73114af5a4b03145": "Kommentar-Gravatar", + "s18n-9ffb941a398ddee8e054eef3292c546e": "Nutze Mystery Person", + "s18n-a7dd12b1dab17d25467b0b0a4c8d4a92": "Nutze", + "s18n-0d2fc085ee57276417cf380027060760": "Das Standard-Gravatar Bild, wenn der Nutzer keines hat!", + "s18n-58e2aacf5792087168cbc62578584ecd": "Abonnement Einstellungen", + "s18n-8290ca86b8980a14bd46f34017e03f93": "Das Abonnement System ist noch nicht verfügbar!", + "s18n-0bd7ff1b4ac56a9616796bdc05609de2": "eMail Abonnement", + "s18n-208f156d4a803025c284bb595a7576b4": "Aktivieren", + "s18n-dc985a7c2144c6447674e674aee08441": "eMail 'Von' Adresse", + "s18n-f6db5b4db3f9c1ba0ffc091abc561802": "eMail 'Antwort an' Adresse", + "s18n-8d868315d258783a95336d1a6ce27e1e": "eMail Inahlt (Opt-In)", + "s18n-7721b2a2f2a453cc790e3ac7065e9b65": "Nutze die Standard Abonnements eMail", + "s18n-58ff11585a82c73f5117c91c29cb3f63": "eMail Inhalt (Benachrichtigung)", + "s18n-bea9ff19efca028c01617da5dce18171": "Nutze die Standard Benachrichtigungs eMail", + "s18n-e0024a8886a178d4f70b8c888b701680": "Finde weitere Informationen zu benutzerdefinierten eMails %s!", + "s18n-8bcf6629759bd278a5c6266bd9c054f8": "Zeichenketten", + "s18n-3979b4205954030810a8a87769348094": "Standard Danke Nachricht", + "s18n-620b528248b36bf743d1ad33e35022d6": "Danke Nachricht mit Abonnement", + "s18n-e83f6b01d1c81313f6b388281e13aacf": "Danke Nachricht für die Bewertung", + "s18n-01b7a6bc6b57783b4fd081085ff3271e": "Fehler: Unbekannter Fehler", + "s18n-19678b1419eff34dffd41d6778b1aa89": "Fehler: Benutzername ist ungültig", + "s18n-1255e6794d33b443bcee21279d9caa1a": "Fehler: eMail Adresse ist ungültig", + "s18n-ebf545757b92b3a553d83ea3db48beca": "Fehler: Kommentar-Text fehlt", + "s18n-f1bc53e2456c425578277adbc7c90f3a": "Fehler: Kommentar-Titel fehlt", + "s18n-53c8fdd7ed497dbacbef5fd5d4f38f3d": "Fehler: Nutzungsbedingungen fehlen", + "s18n-89f8cc478fdfc0a8f36c1b393f39677a": "Fehler: Als SPAM markiert", + "s18n-59ad5c9fcee1b28a5d004bcf684a5acd": "Fehler: Bereits abgestimmt", + "s18n-56ef2c600b4af0f9f7b35640525967ca": "Nutzungsbedingungen", + "s18n-08400c2e0f51197fdb3590461b15b2cc": "Nutzername oder eMail Adresse", + "s18n-b79edd2e426f90401c04869346b503c7": "Nutzer suchen", + "s18n-ee51fa9d5097c84d2fa6c885bf2d5d84": "Keine Nutzer verfügbar", + "s18n-14c4b06b824ec593239362517f538b29": "Benutzername", + "s18n-0c83f57c786a0b4a39efab23731c7ebc": "eMail", + "s18n-e1260894f59eeae98c8440899de4df8d": "Aktionem", + "s18n-4bc61296b766756f1c7296489633bf32": "Entfernen (Anonymisieren)", + "s18n-c0f4afd3614929f1c803f3a01414a6c7": "Entfernen (Vollständig)", + "s18n-6356f32d0c02c8f90cb59a77e16e8fe2": "Nutzer entblockieren", + "s18n-2327a01afbee025fb5913357c9d6b1b3": "Nutzer blockieren", + "s18n-76a0f6752a45d8af6343ef3e2b6f522a": "Einzelner Kommentar", + "s18n-c426859e50a35617d863cdad2b9c84aa": "Seiten-Kommentare", + "s18n-a64d776275f13a51790bb460774b9129": "Nutzer Kommentare", + "s18n-9bc65c2abec141778ffaa729489f3e87": "Nutzer", + "s18n-ccd1066343c95877b75b79d47c36bebe": "Konfiguration", + "s18n-5b49260517622682a058b69f996d06eb": "Vielen Dank für deinen Kommentar!", + "s18n-74196a783a6f1707a43cc8117f0d9c83": "Vielen Dank für deinen Kommentar, bitte bestätige noch dein Abonnement über die zugesandte eMail!", + "s18n-a939eb542e34cd502b3f7352b2e0f715": "Vielen Dank für deine Bewertung!", + "s18n-d2a9677817ee08ed05bf9fd868669756": "Ein unbekannter Fehler ist aufgetreten, bitte lade die Seite neu!", + "s18n-05b85714aa8f1b364f930e2539059b5e": "Ein Fehler ist aufgetreten: Der Benutzer ist ungültig (Max. 42 Zeichen)!", + "s18n-321e8b481f0ccd62df535256e8e6d2c6": "Ein Fehler ist aufgetreten: Die eMail Adresse ist ungültig!", + "s18n-fcd0c3a087c5123ffdecc20fe9015870": "Ein Fehler ist aufgetreten: Der Kommentar-Text fehlt!", + "s18n-2afa2d90ce3343fbe188b9f49ad5797d": "Ein Fehler ist aufgetreten: Der Kommentar-Titel fehlt!", + "s18n-bee1741efe0c735d2c7180771586faf0": "Ein Fehler ist aufgetreten: Du musst die Nutzungsbedingungen akzeptieren!", + "s18n-92fe96d6ccee901f94fad0000369a9b7": "Ein Fehler ist aufgetreten: Deine IP oder eMail Adresse wurde als SPAM markiert!", + "s18n-9b264fc6137096f8a40acde68f6ae562": "Ein Fehler ist aufgetreten: Du hast diesen Kommentar bereits bewertet!", + "s18n-ca62db4704290ef1a7e65df3ffc7983b": "Ich stimme der Speicherung der Daten (inkl. meiner anonymisierten IP) zu!", + "s18n-01c611362e8b046f32650b85ce161559": "Ein unbekannter Fehler ist aufgetreten!", + "s18n-c4f94c6995b0376f28276e432bed75fa": "Das Sicherheitstoken fehlt!", + "s18n-a573e7b86e41522c7a291846aa109104": "Das Sicherheitstoken ist ungültig!", + "s18n-3e8909518ce4728685aa09cdde3caa22": "Du hast nicht die Berechtigung diese Aktion aufzurufen!", + "s18n-b60a6a8a529a9f0497134205bab15e77": "Du hast nicht die Berechtigung diese Aktion duchzuführen!", + "s18n-3fee90e2f59aeb29b74c1c21648ba712": "Das Captcha Bild konnte erfolgreich erstellt werden!", + "s18n-56abae3e615ae5b5609c32852b777d46": "Die gewünschte Aktion ist ungültig doer unvollständig!", + "s18n-be5136b4f2b33c80e3afd377ee993acb": "Ein unbekannter Fehler ist aufgetreten!", + "s18n-46d4c97e91319867654f7cc80c439ba4": "Diese einzigartige Nutzer-ID existiert nicht!", + "s18n-af1ba1dd4eab5562f78c65bc89a0a7e9": "Die Aktion wurde erfolgreich durchgeführt!", + "s18n-a5193444ee82c18bac726b35a1704d03": "Die Einstellungen wurden erfolgreich aktualisiert!", + "s18n-717c8267d40664ccf7ef25a26ff9cde6": "Das Backup wurde erfolgreich erstellt!", + "s18n-a1e2b7401861cee01c172878f104bd8c": "Kommentare deaktivieren", + "s18n-15802277ea1cdfcbacd6308fa0c7c30f": "Snicker Plugin deaktivieren", + "s18n-877d58f21c87442efa4081112a6cb07a": "Du bist das das Snicker<\/b> Plugin zu deaktivieren, was sämtliche Kommentare löschen würde!", + "s18n-a4983c86683f8d8598c0513339550dc0": "Möchtest du die Kommentare vorher sichern?", + "s18n-4cce9e52118cc659be5070b2f08cdd91": "Das Backup wird unter %s gespeichert!", + "s18n-5f87fd2e0fa992d37c814bb4ca299646": "Ja, Backup erstellen", + "s18n-3d414feb412a1f4cd9324f6411c76329": "Nein, einfach deativieren", + "s18n-10aec35353f9c4096a71c38654c3d402": "Abbrechen", + "s18n-bc6d6a26d44b6f39a0e7b6c7787f3295": "Die Kommentar-Sektion auf dieser Seite wurde deaktiviert!", + "s18n-a8e30d73eddea9866cf99ecd6e8467b5": "Es wurden noch keine Kommentare verfasst, sei der erste!", + "s18n-b3afbadaa2f1c79f8b3999be7fd9719f": "Die Antwort auf das Captcha wurde nicht übermittelt oder war falsch!", + "s18n-fb74aafe8bf1fd4d8f7a6e1ff73028f7": "Die Kommentar ID existiert nicht oder ist ungültig!", + "s18n-25dea7cb70f98250b388f6ab0ddf20cb": "Der Kommentar Status existiert nicht oder ist ungültig!", + "s18n-2cd68855bdc54ff5e3c191a6333ff75d": "Der neue Kommentar Status konnte nicht gespeichert werden!", + "s18n-c0937505b7afa81a053077bc7ae369a5": "Der neue Kommentar Status wurde erfolgreich gespeichert!", + "s18n-6b2c8084c67f24bb73d95031bb570ef7": "Der Kommentar konnte nicht erfolgreich gelöscht werden!", + "s18n-376388311a80dbde63fde7f6c72081e0": "Der Kommentar konnte erfolgreich gelöscht werden!", + "s18n-83bbb9e8745cc95e730fe7b8de9345f1": "Angemeldet als %s (%s)", + "s18n-91fb98e1ac4cf76b7a5b8bae09051e2a": "Dein Benutzername", + "s18n-31f6da7a30e7acf1f82451bfd1a7f8fa": "Deine eMail Adresse", + "s18n-f794080a5a29e35233c82df85f1207eb": "Dein Kommentar...", + "s18n-a363b8d13575101a0226e8d0d054f2e7": "Antworten", + "s18n-f10db888c5e63b343000cffc038e0a46": "schrieb", + "s18n-3cc5bcf15d6b8faed118e2ce72d19a1e": "Ich stimme der %s zu!", + "s18n-2af0aab477f402e0f4ad7a27e6c9f952": "Vorherigen Kommentare", + "s18n-8538431db22040e2147b363f86a2e2f0": "Nächsten Kommentare", + "s18n-ae0dbd5cc42a6db191db5e0083bcb307": "Dieser Kommentare wurde noch nicht moderiert!", + "s18n-48df9c3f3cca3fb2b8bcf811633bee06": "Geschrieben von %s", + "s18n-81fdc9813cebe0553c55e78dc2b6029f": "am %s", + "s18n-be1ab1632e4285edc3733b142935c60b": "Gefällt Mir", + "s18n-bc8b79025e4595298669fd21da814941": "Gefällt Mir nicht", + "s18n-e84afaab83ecb301b3d97ce4174d2773": "Antworten" +} diff --git a/languages/en.json b/languages/en.json new file mode 100644 index 0000000..4748a7d --- /dev/null +++ b/languages/en.json @@ -0,0 +1,204 @@ +{ + "plugin-data": { + "name": "Snicker", + "description": "A native, AJAX-enabled FlatFile Comment system for bludit, including a comment subscription and completely compliant with the GDPR!" + }, + "s18n-a5d491060952aa8ad5fdee071be752de": "Comments", + "s18n-de95b43bceeb4b998aed4aed5cef1ae7": "Edit", + "s18n-f984023ed3d6df2326c9d59838c29792": "Update Comment", + "s18n-86448a506dd93303a72140b9124ee321": "Delete Comment", + "s18n-db10a8eb963bc0e5f4483ac9b5dc554c": "Comment Title", + "s18n-335630425567dbe91768a3beffdec752": "Comment Text", + "s18n-bd7e63f881c7f787a9a0dce20b7f9e5b": "Meta Settings", + "s18n-1acfe725df7bd12195751f0737c4d375": "Registered User", + "s18n-e988189db402fab453f72052629c02cd": "Comment Username", + "s18n-db84c6236ca6a01b9189504d78c012a5": "Comment Email", + "s18n-7c6c2e5d48ab37a007cbf70d3ea25fa4": "Pending", + "s18n-787d5f05953ec39b108869dfdd7733e6": "Approved", + "s18n-c7537d6d48ecf261749c09a9f284bd45": "Rejected", + "s18n-e09f6a7593f8ae3994ea57e1117f67ec": "Spam", + "s18n-7a5115c2c1eb662308decbec83593494": "View Page", + "s18n-0572a05cd6d6360391993a611099542f": "Comment Title or Excerpt", + "s18n-428f14500191b5d53675da4a96bc8bba": "Search Comments", + "s18n-e0be71bccdeceb713fba3c222f79a3c5": "No Comments available", + "s18n-06d4cd63bde972fc66a0aed41d2f5c51": "Comment", + "s18n-02bd92faa38aaa6cc0ea75e59937a1ef": "Author", + "s18n-ebb67a4271abe715344471b0f16321f6": "Actions", + "s18n-58566b9a9b2733b0ceacb2186672b5d1": "Show all replies", + "s18n-5f44c0081bd862a77ba8b24e923cadf1": "Reply To", + "s18n-eb399bcaca686f8609137153307eecf1": "Change", + "s18n-2736f4347985da50dc023444c193bfea": "Edit Comment", + "s18n-a107bf4b12e36a07161a26d95b03bc81": "Approve Comment", + "s18n-da937abd19cd9e1430470b8a471a41d4": "Reject Comment", + "s18n-32cb4199893d9948cc0853eef244f1fc": "Mark as Spam", + "s18n-a6494adfb72d12d3a4da66855c284ec6": "Back to Pending", + "s18n-1bda80f2be4d3658e0baa43fbe7ae8c1": "View", + "s18n-c9ae5a4214e87ad6fbed44a267471eee": "Save Settings", + "s18n-e124d357c3c832434a8676a5e18db842": "General Settings", + "s18n-b62a9dcd666f3ff44197cf21ac66507d": "Comment Moderation", + "s18n-7f0217cdcdd58ba86aae84d9d3d79f81": "Moderate", + "s18n-1a1dc91c907325c69271ddf0c944bc72": "Pass", + "s18n-df6963dc912cde9baeef10343167ba01": "each Comment", + "s18n-39ba4181e212acf183ac965c9b37da89": "Unless the user is logged in", + "s18n-0dac4426a017f0a0370db32776bc30bb": "Unless the user is admin or the content author", + "s18n-c70aa8b8fd6f2652eda2d5366faf1de5": "Unless the user has an already approved comment", + "s18n-8b26cab9d444760b4bcc65dc4d8634f8": "Allow Comments", + "s18n-67614909bf9de326de71946036de39f1": "... on Public Pages", + "s18n-a7c384c1b60785c40bc3a4e4dfc5a108": "... on Sticky Pages", + "s18n-9907b78f8745810599dbf6fd29a01364": "... on Static Pages", + "s18n-c89cbecce48d04cd76c0b95c8128ad97": "Enable (Optional)", + "s18n-e9d51286fdd0ff058650392fc8b6ae30": "Enable (Required)", + "s18n-0aaa87422396fdd678498793b6d5250e": "Disable", + "s18n-8da2c8185edfeb1765526f8e2e4f388d": "Comment Limit", + "s18n-77d6d185c93549dab24f29ff2e3b25a8": "Use '0' to disable any limit!", + "s18n-1ef52691308c8add87723a4103a561c2": "Comment Depth", + "s18n-d102731a5fedff24f30e24e883ef4636": "Comment Markup", + "s18n-6640979a191e66655c26c59d404bf955": "Allow Basic HTML", + "s18n-915009e874f8bed1845060012f826fcd": "Allow Markdown", + "s18n-a9a36cb3d8f4f7297ebca99a322d6342": "Comment Voting", + "s18n-2123546d1ff8b0cb035df0c0b0d06825": "Store Votes made by Guests in the", + "s18n-dead693ab29895d302fca0e6baad6182": "Cookie Storage", + "s18n-02b68043bdcae159e83199d64a5abd7d": "Session Storage", + "s18n-40bd8791e523e91219886c35622163fc": "Database Storage", + "s18n-8717cfca734e8987971f63b20eeb8024": "What?", + "s18n-5a8cbcf57f5b59f0d4b8ded97d018399": "The Cookie Storage<\/b> is located on the Computer of the user. So you don't have the full control AND you require the appropriate permissions from the user.", + "s18n-a09dbdf907873e66d9d644cca71970d5": "The Session Storage<\/b> is just stored temporary on the server, it gets cleaned up when the user closes the browser. Therefore you don't need any permissions from the user.", + "s18n-71892ebe01ba92d1f163dc37d818b5ff": "The Database Storage<\/b> generates and stores an anonymized but assignable value of the user, which also requires the appropriate permissions from the user.", + "s18n-7c35a0bcb0b0678f0829036eead5ddca": "Please Note:<\/b> You are responsible for obtaining the appropriate permissions, Snicker just handles the permissions for data sent (and stored) via the comment form!", + "s18n-82e5228061f185ee185bd9f3ecba4ee7": "Allow to %s comments", + "s18n-61b58693e0eceeb27ce0cc3b25b3bf31": "Frontend Settings", + "s18n-b3c1c2c231275878abe58a55966fa9e0": "Page Filter", + "s18n-9cb1eef8966f93282524929f65c8b9ec": "Disable Page Filter", + "s18n-e89fd56cefec9baabcbe0db3e5a36962": "Use 'pageBegin'", + "s18n-3d08b5dcc1e5c3c7e7e2eaf2d0d6a12d": "Use 'pageEnd'", + "s18n-3771d05b6af4ebb0a303266c47809548": "Use 'siteBodyBegin'", + "s18n-42438edc41ab83312486009e3122e92b": "Use 'siteBodyEnd'", + "s18n-948da5199de32c7601a20b6107c31d4d": "Comment Captcha", + "s18n-47e5c42fb9bdca3636a5d866a6794101": "Disable Captcha", + "s18n-ab6ef7ef94efc86db78218c6c265243a": "Use OWASP's PureCaptcha", + "s18n-a58adce0085cc1a25fc8076e97c29d70": "Use Gregway's Captcha", + "s18n-9d2f2ec577e7383b88fd481d6c566c5e": "Use Gregway's Captcha (GD library is missing!)", + "s18n-09cddbc3627ea46a8dce692d64273b61": "Use Googles reCaptcha (Not available yet)", + "s18n-838a13e4fece7c272b960da3fb99f94d": "Comment Template", + "s18n-6f95370a28520696b2a0ad34efc54d2d": "Comment Order", + "s18n-4a8dc1710396b21e7b1da8112c07c4ad": "Newest Comments First", + "s18n-2dab3b12d0b0642c3964b37d675ff24b": "Oldest Comments First", + "s18n-230c71c29590608034b4a590a67ace31": "Comment Form Position", + "s18n-37d988444dec2001c488806fc8401e25": "Show Comment Form above Comments", + "s18n-16ac6c11951d825826f77a4097a1c2cb": "Show Comment Form below Comments", + "s18n-1e98ec9312b69676d5e3fe3caf8ecde1": "Comments Per Page", + "s18n-0d46f4389ca5f882e24899fe489bf344": "Use '0' to show all available comments!", + "s18n-7b6b84fbd65a4b712a5ba0dccce176d5": "Terms of Use Checkbox", + "s18n-9853383062a2e308d5aed35fe3da7953": "Disable this field", + "s18n-352fd1d7225b5ea02b8ddd9fad0d6e34": "Show Message (See Strings)", + "s18n-71860c77c6745379b0d44304d66b6a13": "Page", + "s18n-5dcb84333ae70a5bed60bf70d34dcd2b": "Show the default GDPR Text or Select your own static 'Terms of Use' page!", + "s18n-2e3d9327c371afb7489f9b9278198622": "AJAX Script", + "s18n-c60cab6330745b41cbee05603eec6691": "Embed AJAX Script", + "s18n-69b11f64af515ef979fbf28c5e06f370": "Don't use AJAX", + "s18n-9bbec7b57565f06d73522669d3b836dc": "The AJAX Script hands over the request (comment, like, dislike) directly without reloading the page!", + "s18n-7c74c0d2d1c28d1568298c89742ce126": "Comment Avatar", + "s18n-aeab7c630dae161d8f6e2898dd83b471": "Use Gravatar", + "s18n-882e3436da897c055cc3f8bd2598b71a": "Use Identicon", + "s18n-d92d61ad0c0065170a37a1805ad1bc9e": "Use Mystery Men", + "s18n-b4a51a35344f9a8fa1139cfd968ab308": "Use & Prefer profile pictures on logged-in Users", + "s18n-b50a4a96c25d745d73114af5a4b03145": "Comment Gravatar", + "s18n-9ffb941a398ddee8e054eef3292c546e": "Show Mystery Person", + "s18n-a7dd12b1dab17d25467b0b0a4c8d4a92": "Show", + "s18n-0d2fc085ee57276417cf380027060760": "The default Gravatar image, if the user has no Gravatar!", + "s18n-58e2aacf5792087168cbc62578584ecd": "Subscription Settings", + "s18n-8290ca86b8980a14bd46f34017e03f93": "The Subscription system isn't available yet!", + "s18n-0bd7ff1b4ac56a9616796bdc05609de2": "Email Subscription", + "s18n-208f156d4a803025c284bb595a7576b4": "Enable", + "s18n-dc985a7c2144c6447674e674aee08441": "Email 'From' Address", + "s18n-f6db5b4db3f9c1ba0ffc091abc561802": "Email 'ReplyTo' Address", + "s18n-8d868315d258783a95336d1a6ce27e1e": "Email Body (Opt-In)", + "s18n-7721b2a2f2a453cc790e3ac7065e9b65": "Use default Subscription Email", + "s18n-58ff11585a82c73f5117c91c29cb3f63": "Email Body (Notification)", + "s18n-bea9ff19efca028c01617da5dce18171": "Use default Notification Email", + "s18n-e0024a8886a178d4f70b8c888b701680": "Read more about a custom Notification Emails %s!", + "s18n-8bcf6629759bd278a5c6266bd9c054f8": "Strings", + "s18n-3979b4205954030810a8a87769348094": "Default Thanks Message", + "s18n-620b528248b36bf743d1ad33e35022d6": "Thanks Message with Subscription", + "s18n-e83f6b01d1c81313f6b388281e13aacf": "Thanks Message for Voting", + "s18n-01b7a6bc6b57783b4fd081085ff3271e": "Error: Unknown Error, Try again", + "s18n-19678b1419eff34dffd41d6778b1aa89": "Error: Username is invalid", + "s18n-1255e6794d33b443bcee21279d9caa1a": "Error: Email Address is invalid", + "s18n-ebf545757b92b3a553d83ea3db48beca": "Error: Comment Text is missing", + "s18n-f1bc53e2456c425578277adbc7c90f3a": "Error: Comment Title is missing", + "s18n-53c8fdd7ed497dbacbef5fd5d4f38f3d": "Error: Terms not accepted", + "s18n-89f8cc478fdfc0a8f36c1b393f39677a": "Error: Marked as SPAM", + "s18n-59ad5c9fcee1b28a5d004bcf684a5acd": "Error: Already Voted", + "s18n-56ef2c600b4af0f9f7b35640525967ca": "Terms of Use", + "s18n-08400c2e0f51197fdb3590461b15b2cc": "Username or Email Address", + "s18n-b79edd2e426f90401c04869346b503c7": "Search Users", + "s18n-ee51fa9d5097c84d2fa6c885bf2d5d84": "No Users available", + "s18n-14c4b06b824ec593239362517f538b29": "Username", + "s18n-0c83f57c786a0b4a39efab23731c7ebc": "Email", + "s18n-e1260894f59eeae98c8440899de4df8d": "Handle", + "s18n-4bc61296b766756f1c7296489633bf32": "Delete (Anonymize)", + "s18n-c0f4afd3614929f1c803f3a01414a6c7": "Delete (Completely)", + "s18n-6356f32d0c02c8f90cb59a77e16e8fe2": "Unblock User", + "s18n-2327a01afbee025fb5913357c9d6b1b3": "Block User", + "s18n-76a0f6752a45d8af6343ef3e2b6f522a": "Single Comment", + "s18n-c426859e50a35617d863cdad2b9c84aa": "Page Comments", + "s18n-a64d776275f13a51790bb460774b9129": "User Comments", + "s18n-9bc65c2abec141778ffaa729489f3e87": "Users", + "s18n-ccd1066343c95877b75b79d47c36bebe": "Configuration", + "s18n-5b49260517622682a058b69f996d06eb": "Thanks for your comment!", + "s18n-74196a783a6f1707a43cc8117f0d9c83": "Thanks for your comment, please confirm your subscription via the link we sent to your Email address!", + "s18n-a939eb542e34cd502b3f7352b2e0f715": "Thanks for voting this comment!", + "s18n-d2a9677817ee08ed05bf9fd868669756": "An unknown error occured, please reload the page and try it again!", + "s18n-05b85714aa8f1b364f930e2539059b5e": "An error occured: The passed Username is invalid or too long (42 characters only)!", + "s18n-321e8b481f0ccd62df535256e8e6d2c6": "An error occured: The passed Email address is invalid!", + "s18n-fcd0c3a087c5123ffdecc20fe9015870": "An error occured: The comment text is missing!", + "s18n-2afa2d90ce3343fbe188b9f49ad5797d": "An error occured: The comment title is missing!", + "s18n-bee1741efe0c735d2c7180771586faf0": "An error occured: You need to accept the Terms to comment!", + "s18n-92fe96d6ccee901f94fad0000369a9b7": "An error occured: Your IP address or Email address has been marked as Spam!", + "s18n-9b264fc6137096f8a40acde68f6ae562": "An error occured: You already rated this comment!", + "s18n-ca62db4704290ef1a7e65df3ffc7983b": "I agree that my data (incl. my anonymized IP address) gets stored!", + "s18n-01c611362e8b046f32650b85ce161559": "An unknown error occured!", + "s18n-c4f94c6995b0376f28276e432bed75fa": "The CSRF Token is missing!", + "s18n-a573e7b86e41522c7a291846aa109104": "The CSRF Token is invalid!", + "s18n-3e8909518ce4728685aa09cdde3caa22": "You don't have the permission to call this action!", + "s18n-b60a6a8a529a9f0497134205bab15e77": "You don't have the permission to perform this action!", + "s18n-3fee90e2f59aeb29b74c1c21648ba712": "The Captcha image could be successfully created!", + "s18n-56abae3e615ae5b5609c32852b777d46": "The passed action is unknown or invalid!", + "s18n-be5136b4f2b33c80e3afd377ee993acb": "An unknown error is occured!", + "s18n-46d4c97e91319867654f7cc80c439ba4": "A unique user ID does not exist!", + "s18n-af1ba1dd4eab5562f78c65bc89a0a7e9": "The action has been performed successfully!", + "s18n-a5193444ee82c18bac726b35a1704d03": "The settings has been updated successfully!", + "s18n-717c8267d40664ccf7ef25a26ff9cde6": "The backup has been created successfully!", + "s18n-a1e2b7401861cee01c172878f104bd8c": "Disallow Comments", + "s18n-15802277ea1cdfcbacd6308fa0c7c30f": "Snicker Plugin Deactivation", + "s18n-877d58f21c87442efa4081112a6cb07a": "You are about to deactivate the Snicker<\/b> Plugin, which will delete all written comments!", + "s18n-a4983c86683f8d8598c0513339550dc0": "Do you want to backup your comments before?", + "s18n-4cce9e52118cc659be5070b2f08cdd91": "The backup will be stored in %s!", + "s18n-5f87fd2e0fa992d37c814bb4ca299646": "Yes, create a backup", + "s18n-3d414feb412a1f4cd9324f6411c76329": "No, just deactivate", + "s18n-10aec35353f9c4096a71c38654c3d402": "Cancel", + "s18n-bc6d6a26d44b6f39a0e7b6c7787f3295": "The comment section on this page has been disabled!", + "s18n-a8e30d73eddea9866cf99ecd6e8467b5": "Currently there are no comments, so be the first!", + "s18n-b3afbadaa2f1c79f8b3999be7fd9719f": "The answer to the Captcha hasn't been passed or is wrong!", + "s18n-fb74aafe8bf1fd4d8f7a6e1ff73028f7": "The comment UID doesn't exist or is invalid!", + "s18n-25dea7cb70f98250b388f6ab0ddf20cb": "The comment status is unknown or invalid!", + "s18n-2cd68855bdc54ff5e3c191a6333ff75d": "The new comment status couldn't be updated!", + "s18n-c0937505b7afa81a053077bc7ae369a5": "The new comment status has been stored successfully!", + "s18n-6b2c8084c67f24bb73d95031bb570ef7": "The comment couldn't deleted!", + "s18n-376388311a80dbde63fde7f6c72081e0": "The comment has been deleted!", + "s18n-83bbb9e8745cc95e730fe7b8de9345f1": "Logged in as %s (%s)", + "s18n-91fb98e1ac4cf76b7a5b8bae09051e2a": "Your Username", + "s18n-31f6da7a30e7acf1f82451bfd1a7f8fa": "Your Email Address", + "s18n-f794080a5a29e35233c82df85f1207eb": "Your Comment...", + "s18n-a363b8d13575101a0226e8d0d054f2e7": "Answer", + "s18n-f10db888c5e63b343000cffc038e0a46": "wrote", + "s18n-3cc5bcf15d6b8faed118e2ce72d19a1e": "I agree the %s!", + "s18n-2af0aab477f402e0f4ad7a27e6c9f952": "Previous Comments", + "s18n-8538431db22040e2147b363f86a2e2f0": "Next Comments", + "s18n-ae0dbd5cc42a6db191db5e0083bcb307": "This comment hasn't been moderated yet!", + "s18n-48df9c3f3cca3fb2b8bcf811633bee06": "Written by %s", + "s18n-81fdc9813cebe0553c55e78dc2b6029f": "on %s", + "s18n-be1ab1632e4285edc3733b142935c60b": "Like", + "s18n-bc8b79025e4595298669fd21da814941": "Dislike", + "s18n-e84afaab83ecb301b3d97ce4174d2773": "Reply" +} diff --git a/languages/es.json b/languages/es.json new file mode 100644 index 0000000..e96c7e3 --- /dev/null +++ b/languages/es.json @@ -0,0 +1,200 @@ +{ + "plugin-data": { + "name": "Snicker", + "description": "Sistema de comentarios para Bludit. Incluye suscripción a comentarios y es completamente compatible con el RGPD (Reglamento General de Protección de datos). Usa tecnologías AJAX y Flatfile. Ligero y seguro." }, + "s18n-a5d491060952aa8ad5fdee071be752de": "Comentarios", + "s18n-de95b43bceeb4b998aed4aed5cef1ae7": "Editar", + "s18n-f984023ed3d6df2326c9d59838c29792": "Actualizar", + "s18n-86448a506dd93303a72140b9124ee321": "Borrar", + "s18n-db10a8eb963bc0e5f4483ac9b5dc554c": "Título de comentario", + "s18n-335630425567dbe91768a3beffdec752": "Texto de comentario", + "s18n-bd7e63f881c7f787a9a0dce20b7f9e5b": "Configuración de metadatos", + "s18n-1acfe725df7bd12195751f0737c4d375": "Registro de usuario", + "s18n-e988189db402fab453f72052629c02cd": "Usuario", + "s18n-db84c6236ca6a01b9189504d78c012a5": "Email", + "s18n-7c6c2e5d48ab37a007cbf70d3ea25fa4": "Pendiente", + "s18n-787d5f05953ec39b108869dfdd7733e6": "Aprobado", + "s18n-c7537d6d48ecf261749c09a9f284bd45": "Rechazado", + "s18n-e09f6a7593f8ae3994ea57e1117f67ec": "Spam", + "s18n-7a5115c2c1eb662308decbec83593494": "Ver página", + "s18n-0572a05cd6d6360391993a611099542f": "Título de comentario", + "s18n-428f14500191b5d53675da4a96bc8bba": "Buscar comentarios", + "s18n-e0be71bccdeceb713fba3c222f79a3c5": "No hay comentarios aun", + "s18n-06d4cd63bde972fc66a0aed41d2f5c51": "Comentar", + "s18n-02bd92faa38aaa6cc0ea75e59937a1ef": "Autor", + "s18n-ebb67a4271abe715344471b0f16321f6": "Acciones", + "s18n-58566b9a9b2733b0ceacb2186672b5d1": "Mostrar todas las respuestas", + "s18n-5f44c0081bd862a77ba8b24e923cadf1": "Responder a", + "s18n-eb399bcaca686f8609137153307eecf1": "Cambiar", + "s18n-2736f4347985da50dc023444c193bfea": "Editar Comentario", + "s18n-a107bf4b12e36a07161a26d95b03bc81": "Aprobar Comentario", + "s18n-da937abd19cd9e1430470b8a471a41d4": "Rechazar Comentario", + "s18n-32cb4199893d9948cc0853eef244f1fc": "Marcar como espam", + "s18n-a6494adfb72d12d3a4da66855c284ec6": "Archivar como pendiente", + "s18n-1bda80f2be4d3658e0baa43fbe7ae8c1": "Ver", + "s18n-c9ae5a4214e87ad6fbed44a267471eee": "Guardar la configuración", + "s18n-e124d357c3c832434a8676a5e18db842": "Configuración General", + "s18n-b62a9dcd666f3ff44197cf21ac66507d": "Moderación", + "s18n-7f0217cdcdd58ba86aae84d9d3d79f81": "Moderar", + "s18n-1a1dc91c907325c69271ddf0c944bc72": "Aprobar", + "s18n-df6963dc912cde9baeef10343167ba01": "por defecto", + "s18n-39ba4181e212acf183ac965c9b37da89": "Aprobar usuarios identificados", + "s18n-0dac4426a017f0a0370db32776bc30bb": "Aprobar roles de admin o autor", + "s18n-c70aa8b8fd6f2652eda2d5366faf1de5": "Aprobar si ya tiene algún comentario aprobado", + "s18n-8b26cab9d444760b4bcc65dc4d8634f8": "Permitir comentarios", + "s18n-67614909bf9de326de71946036de39f1": "... en páginas Publicadas", + "s18n-a7c384c1b60785c40bc3a4e4dfc5a108": "... en páginas Ancladas (sticky)", + "s18n-9907b78f8745810599dbf6fd29a01364": "... en páginas Estáticas", + "s18n-c89cbecce48d04cd76c0b95c8128ad97": "Activo (Opcional)", + "s18n-e9d51286fdd0ff058650392fc8b6ae30": "Activo (Requerido)", + "s18n-0aaa87422396fdd678498793b6d5250e": "Inactivo", + "s18n-8da2c8185edfeb1765526f8e2e4f388d": "Limite de comentarios", + "s18n-77d6d185c93549dab24f29ff2e3b25a8": "'0' si no deseas límite!", + "s18n-1ef52691308c8add87723a4103a561c2": "Extensión de comentario", + "s18n-d102731a5fedff24f30e24e883ef4636": "Formato de comentario", + "s18n-6640979a191e66655c26c59d404bf955": "Permitir HTML", + "s18n-915009e874f8bed1845060012f826fcd": "Permitir Markdown", + "s18n-a9a36cb3d8f4f7297ebca99a322d6342": "Votos de comentarios", + "s18n-2123546d1ff8b0cb035df0c0b0d06825": "Los votos se almacenan en", + "s18n-dead693ab29895d302fca0e6baad6182": "Cookies", + "s18n-02b68043bdcae159e83199d64a5abd7d": "Sesiones", + "s18n-40bd8791e523e91219886c35622163fc": "Base de datos", + "s18n-8717cfca734e8987971f63b20eeb8024": "Qué?", + "s18n-5a8cbcf57f5b59f0d4b8ded97d018399": "Las Cookies<\/b> se localizan en la computadora del usuario. Precisas su consentimiento y no tienes control", + "s18n-a09dbdf907873e66d9d644cca71970d5": "Las Sesiones<\/b> se guardan en el servidor temporalmente. Desaparecen cuando caducan o el usuario cierra el navegador. No precisas permiso del usuario.", + "s18n-71892ebe01ba92d1f163dc37d818b5ff": "La Base de datos<\/b> se guardan indefinidamente en el servido, pero como identifican al usuario, precisaras de su permiso.", + "s18n-7c35a0bcb0b0678f0829036eead5ddca": "Atención!!:<\/b> usted es responsable de obtener los permisos apropiados, Snicker solo maneja los permisos para el envío de datos (y el almacenamiento) a través del formulario de comentarios!", + "s18n-82e5228061f185ee185bd9f3ecba4ee7": "Permitir a %s comentarios", + "s18n-61b58693e0eceeb27ce0cc3b25b3bf31": "Configuración de la vista de usuario", + "s18n-b3c1c2c231275878abe58a55966fa9e0": "Posición en la página", + "s18n-9cb1eef8966f93282524929f65c8b9ec": "Sin posición (deberá habilitarse en la plantilla)", + "s18n-e89fd56cefec9baabcbe0db3e5a36962": "Usar comienzo de página 'pageBegin'", + "s18n-3d08b5dcc1e5c3c7e7e2eaf2d0d6a12d": "Usar final de página 'pageEnd'", + "s18n-3771d05b6af4ebb0a303266c47809548": "Usar comienzo de cuerpo html 'siteBodyBegin'", + "s18n-42438edc41ab83312486009e3122e92b": "Usar final de cuerpo html 'siteBodyEnd'", + "s18n-948da5199de32c7601a20b6107c31d4d": "Captcha", + "s18n-47e5c42fb9bdca3636a5d866a6794101": "Deshabilitar Captcha", + "s18n-eedf6d23d18212016e22428658e17794": "Usar local Captcha (by Gregway)", + "s18n-09cddbc3627ea46a8dce692d64273b61": "Usar Googles reCaptcha (aun no disponible)", + "s18n-838a13e4fece7c272b960da3fb99f94d": "Plantilla de comentarios", + "s18n-6f95370a28520696b2a0ad34efc54d2d": "Orden de comentarios", + "s18n-4a8dc1710396b21e7b1da8112c07c4ad": "Primero recientes", + "s18n-2dab3b12d0b0642c3964b37d675ff24b": "Primero antiguos", + "s18n-230c71c29590608034b4a590a67ace31": "Posición del formulario", + "s18n-37d988444dec2001c488806fc8401e25": "Enseñar comentarios antes del formulario", + "s18n-16ac6c11951d825826f77a4097a1c2cb": "Enseñar comentarios tras el formulario", + "s18n-1e98ec9312b69676d5e3fe3caf8ecde1": "Comentarios por página", + "s18n-0d46f4389ca5f882e24899fe489bf344": "'0' si no deseas límite!", + "s18n-7b6b84fbd65a4b712a5ba0dccce176d5": "Casilla de Términos de Uso", + "s18n-9853383062a2e308d5aed35fe3da7953": "Desactivar este campo", + "s18n-352fd1d7225b5ea02b8ddd9fad0d6e34": "Mostrar mensaje (ver Frases por Defecto)", + "s18n-71860c77c6745379b0d44304d66b6a13": "Página", + "s18n-5dcb84333ae70a5bed60bf70d34dcd2b": "Mostrar texto por defecto de RGPD (Reglamento General de Protección de datos) o tu propia página!", + "s18n-2e3d9327c371afb7489f9b9278198622": "AJAX Script", + "s18n-c60cab6330745b41cbee05603eec6691": "AJAX Script disponible", + "s18n-69b11f64af515ef979fbf28c5e06f370": "No usar AJAX", + "s18n-9bbec7b57565f06d73522669d3b836dc": "Con AJAX acciones como comentar, me gusta, o no me gusta se realizan sin tener que actualizar la página!", + "s18n-7c74c0d2d1c28d1568298c89742ce126": "Avatares", + "s18n-aeab7c630dae161d8f6e2898dd83b471": "Usar Gravatar", + "s18n-882e3436da897c055cc3f8bd2598b71a": "Usar Identicon", + "s18n-d92d61ad0c0065170a37a1805ad1bc9e": "Usar Persona Misteriosa", + "s18n-b4a51a35344f9a8fa1139cfd968ab308": "Usar imagen de perfil de usuario si está registrado en la web", + "s18n-b50a4a96c25d745d73114af5a4b03145": "Configuaración Gravatar", + "s18n-9ffb941a398ddee8e054eef3292c546e": "Mostrar Persona Misteriosa", + "s18n-a7dd12b1dab17d25467b0b0a4c8d4a92": "Mostrar", + "s18n-0d2fc085ee57276417cf380027060760": "Imagen Gravatar por defecto si el usuario no dispone de Gravatar!", + "s18n-58e2aacf5792087168cbc62578584ecd": "Configuración de subscripción", + "s18n-8290ca86b8980a14bd46f34017e03f93": "El sistema de suscripción aun no está disponible!", + "s18n-0bd7ff1b4ac56a9616796bdc05609de2": "Subscripción por Email", + "s18n-208f156d4a803025c284bb595a7576b4": "Activo", + "s18n-dc985a7c2144c6447674e674aee08441": "Email 'From'", + "s18n-f6db5b4db3f9c1ba0ffc091abc561802": "Email 'ReplyTo'", + "s18n-8d868315d258783a95336d1a6ce27e1e": "Cuerpo de Email (Opt-In)", + "s18n-7721b2a2f2a453cc790e3ac7065e9b65": "Usar el email por defecto para la suscripción", + "s18n-58ff11585a82c73f5117c91c29cb3f63": "Cuerpo de Email (Notificación)", + "s18n-bea9ff19efca028c01617da5dce18171": "Usar el email por defecto para las notificaciones", + "s18n-e0024a8886a178d4f70b8c888b701680": "Conoce más sobre las notificaciones de Email %s!", + "s18n-8bcf6629759bd278a5c6266bd9c054f8": "Frases por Defecto", + "s18n-3979b4205954030810a8a87769348094": "Mensajes por defecto de agradecimiento", + "s18n-620b528248b36bf743d1ad33e35022d6": "Por suscripción", + "s18n-e83f6b01d1c81313f6b388281e13aacf": "Por votar", + "s18n-01b7a6bc6b57783b4fd081085ff3271e": "Opss!: Algo salió mal. Prueba de nuevo.", + "s18n-19678b1419eff34dffd41d6778b1aa89": "Opss!: Nombre de usuario incorrecto", + "s18n-1255e6794d33b443bcee21279d9caa1a": "Opss!: Dirección de correo incorrecta", + "s18n-ebf545757b92b3a553d83ea3db48beca": "Opss!: Texto de comentario vacío", + "s18n-f1bc53e2456c425578277adbc7c90f3a": "Opss!: Título de comentario vacío", + "s18n-53c8fdd7ed497dbacbef5fd5d4f38f3d": "Opss!: No has aceptado los términos", + "s18n-89f8cc478fdfc0a8f36c1b393f39677a": "Opss!: Se ha marcado como Spam", + "s18n-59ad5c9fcee1b28a5d004bcf684a5acd": "Opss!: Ya ha sido votado", + "s18n-56ef2c600b4af0f9f7b35640525967ca": "Términos de uso", + "s18n-08400c2e0f51197fdb3590461b15b2cc": "Nombre de usuario o Email", + "s18n-b79edd2e426f90401c04869346b503c7": "Busqueda de usuarios", + "s18n-ee51fa9d5097c84d2fa6c885bf2d5d84": "No hay usuarios disponibles", + "s18n-14c4b06b824ec593239362517f538b29": "Nombre de usuarios", + "s18n-0c83f57c786a0b4a39efab23731c7ebc": "Email", + "s18n-e1260894f59eeae98c8440899de4df8d": "Encargarse de", + "s18n-4bc61296b766756f1c7296489633bf32": "Borrar (Anonimizar)", + "s18n-c0f4afd3614929f1c803f3a01414a6c7": "Borrar (Completamente)", + "s18n-6356f32d0c02c8f90cb59a77e16e8fe2": "Usuario desbloqueado", + "s18n-2327a01afbee025fb5913357c9d6b1b3": "Usuario bloqueado", + "s18n-76a0f6752a45d8af6343ef3e2b6f522a": "Único comentario", + "s18n-c426859e50a35617d863cdad2b9c84aa": "Página de comentarios", + "s18n-a64d776275f13a51790bb460774b9129": "Comentarios de usuarios", + "s18n-9bc65c2abec141778ffaa729489f3e87": "Usuarios", + "s18n-ccd1066343c95877b75b79d47c36bebe": "Configuración", + "s18n-5b49260517622682a058b69f996d06eb": "Gracias por comentar!", + "s18n-74196a783a6f1707a43cc8117f0d9c83": "Gracias por tu comentario. Revisa tu correo electrónico para confirmar la subscripción!", + "s18n-a939eb542e34cd502b3f7352b2e0f715": "Gracias por valorar este comentario!", + "s18n-d2a9677817ee08ed05bf9fd868669756": "Opss!: Algo salió mal, actualiza e intentalo de nuevo!", + "s18n-05b85714aa8f1b364f930e2539059b5e": "Opss! Nombre de usuario inválido o demasiado largo (hasta 42 caracteres)!", + "s18n-321e8b481f0ccd62df535256e8e6d2c6": "Opss!: Dirección de correo inválida!", + "s18n-fcd0c3a087c5123ffdecc20fe9015870": "Opss!: No hay texto en tu comentario!", + "s18n-2afa2d90ce3343fbe188b9f49ad5797d": "Opss!: Falta el título!", + "s18n-bee1741efe0c735d2c7180771586faf0": "Opss!: No aceptaste los términos!", + "s18n-92fe96d6ccee901f94fad0000369a9b7": "Opss!: No eres bien recibido, por espamer!", + "s18n-9b264fc6137096f8a40acde68f6ae562": "Opss!: Ya votaste este comentario!", + "s18n-ca62db4704290ef1a7e65df3ffc7983b": "Conforme con almacenar mis datos (incluida dirección IP)!", + "s18n-01c611362e8b046f32650b85ce161559": "Opss!: Algo salió mal", + "s18n-c4f94c6995b0376f28276e432bed75fa": "Token perdido!", + "s18n-a573e7b86e41522c7a291846aa109104": "Token inválido!", + "s18n-3e8909518ce4728685aa09cdde3caa22": "No tienes suficientes permisos!", + "s18n-b60a6a8a529a9f0497134205bab15e77": "No tienes suficientes permisos!", + "s18n-56abae3e615ae5b5609c32852b777d46": "Acción desconocida o inválida!", + "s18n-be5136b4f2b33c80e3afd377ee993acb": "Opss!: Algo salió mal", + "s18n-46d4c97e91319867654f7cc80c439ba4": "Usuario sin ID (identificador)!", + "s18n-af1ba1dd4eab5562f78c65bc89a0a7e9": "Acción exitosa!", + "s18n-a5193444ee82c18bac726b35a1704d03": "Actualizado con éxito!", + "s18n-717c8267d40664ccf7ef25a26ff9cde6": "Copia de seguridad realizada con éxito!", + "s18n-a1e2b7401861cee01c172878f104bd8c": "Comentarios no disponibles", + "s18n-15802277ea1cdfcbacd6308fa0c7c30f": "Desactivación Snicker Plugin", + "s18n-877d58f21c87442efa4081112a6cb07a": "Desactivar Snicker<\/b> Plugin, podría borrar todos los comentarios!", + "s18n-a4983c86683f8d8598c0513339550dc0": "Deseas realizar una copia de seguridad antes?", + "s18n-4cce9e52118cc659be5070b2f08cdd91": "La copia de seguridad será guardad en %s!", + "s18n-5f87fd2e0fa992d37c814bb4ca299646": "Si, crear copia de seguridad", + "s18n-3d414feb412a1f4cd9324f6411c76329": "No, solo desactiva", + "s18n-10aec35353f9c4096a71c38654c3d402": "Cancelar", + "s18n-bc6d6a26d44b6f39a0e7b6c7787f3295": "Se han desactivado los comentarios para esta página!", + "s18n-a8e30d73eddea9866cf99ecd6e8467b5": "No hay comentarios. Se el primero!", + "s18n-b3afbadaa2f1c79f8b3999be7fd9719f": "Captcha incorrecto!", + "s18n-fb74aafe8bf1fd4d8f7a6e1ff73028f7": "UID de comentario inexistente o incorrecta!", + "s18n-25dea7cb70f98250b388f6ab0ddf20cb": "Estado de comentario inexistente o incorrecto!", + "s18n-2cd68855bdc54ff5e3c191a6333ff75d": "No se ha podido actualizar el nuevo estado de comentario!", + "s18n-c0937505b7afa81a053077bc7ae369a5": "Estado de comentario actualizado con éxito!", + "s18n-6b2c8084c67f24bb73d95031bb570ef7": "No se ha podido borrar el comentario!", + "s18n-376388311a80dbde63fde7f6c72081e0": "Comentario borrado con éxito!", + "s18n-83bbb9e8745cc95e730fe7b8de9345f1": "Identificado como %s (%s)", + "s18n-91fb98e1ac4cf76b7a5b8bae09051e2a": "Nombre de usuario", + "s18n-31f6da7a30e7acf1f82451bfd1a7f8fa": "Dirección de correo", + "s18n-f794080a5a29e35233c82df85f1207eb": "Comentario...", + "s18n-a363b8d13575101a0226e8d0d054f2e7": "Respuestas", + "s18n-f10db888c5e63b343000cffc038e0a46": "Escribe", + "s18n-3cc5bcf15d6b8faed118e2ce72d19a1e": "De acuerdo con %s!", + "s18n-2af0aab477f402e0f4ad7a27e6c9f952": "Comentarios anteriores", + "s18n-8538431db22040e2147b363f86a2e2f0": "Comentarios siguientes", + "s18n-ae0dbd5cc42a6db191db5e0083bcb307": "Este comentario aun no ha sido moderado!", + "s18n-48df9c3f3cca3fb2b8bcf811633bee06": "Escrito por %s", + "s18n-81fdc9813cebe0553c55e78dc2b6029f": "sobre %s", + "s18n-be1ab1632e4285edc3733b142935c60b": "Me gusta", + "s18n-bc8b79025e4595298669fd21da814941": "No me gusta", + "s18n-e84afaab83ecb301b3d97ce4174d2773": "Responder" +} diff --git a/languages/fa_IR.json b/languages/fa_IR.json new file mode 100644 index 0000000..924de7e --- /dev/null +++ b/languages/fa_IR.json @@ -0,0 +1,201 @@ +{ + "plugin-data": { + "name": "ارسال دیدگاه Snicker", + "description": "یک سیستم بومی ارسال دیدگاه فلت-فایل آجاکسی برای بلودیت، شامل اشتراک به دیدگاه‌ها و کاملاً سازگار با GDPR!" + }, + "s18n-a5d491060952aa8ad5fdee071be752de": "ارسال دیدگاه", + "s18n-de95b43bceeb4b998aed4aed5cef1ae7": "ویرایش", + "s18n-f984023ed3d6df2326c9d59838c29792": "بروزرسانی دیدگاه", + "s18n-86448a506dd93303a72140b9124ee321": "حذف دیدگاه", + "s18n-db10a8eb963bc0e5f4483ac9b5dc554c": "عنوان دیدگاه", + "s18n-335630425567dbe91768a3beffdec752": "متن دیدگاه", + "s18n-bd7e63f881c7f787a9a0dce20b7f9e5b": "ابر تنظیمات", + "s18n-1acfe725df7bd12195751f0737c4d375": "کاربر ثبت شده", + "s18n-e988189db402fab453f72052629c02cd": "نام کاربری دیدگاه", + "s18n-db84c6236ca6a01b9189504d78c012a5": "ایمیل دیدگاه", + "s18n-7c6c2e5d48ab37a007cbf70d3ea25fa4": "در انتظار", + "s18n-787d5f05953ec39b108869dfdd7733e6": "تائید شده", + "s18n-c7537d6d48ecf261749c09a9f284bd45": "رد شده", + "s18n-e09f6a7593f8ae3994ea57e1117f67ec": "هرزنامه", + "s18n-7a5115c2c1eb662308decbec83593494": "مشاهده صفحه", + "s18n-0572a05cd6d6360391993a611099542f": "عنوان و یا گزیده دیدگاه", + "s18n-428f14500191b5d53675da4a96bc8bba": "جستجوی دیدگاه‌ها", + "s18n-e0be71bccdeceb713fba3c222f79a3c5": "دیدگاهی در دسترس نیست", + "s18n-06d4cd63bde972fc66a0aed41d2f5c51": "دیدگاه", + "s18n-02bd92faa38aaa6cc0ea75e59937a1ef": "نویسنده", + "s18n-ebb67a4271abe715344471b0f16321f6": "عملیات", + "s18n-58566b9a9b2733b0ceacb2186672b5d1": "نمایش تمام پاسخ ها", + "s18n-5f44c0081bd862a77ba8b24e923cadf1": "پاسخ به", + "s18n-eb399bcaca686f8609137153307eecf1": "تغییر", + "s18n-2736f4347985da50dc023444c193bfea": "ویرایش دیدگاه", + "s18n-a107bf4b12e36a07161a26d95b03bc81": "تائید دیدگاه", + "s18n-da937abd19cd9e1430470b8a471a41d4": "رد دیدگاه", + "s18n-32cb4199893d9948cc0853eef244f1fc": "هرزنامه است", + "s18n-a6494adfb72d12d3a4da66855c284ec6": "بازگشت به در انتظار", + "s18n-1bda80f2be4d3658e0baa43fbe7ae8c1": "مشاهده", + "s18n-c9ae5a4214e87ad6fbed44a267471eee": "ذخیره تنظیمات", + "s18n-e124d357c3c832434a8676a5e18db842": "تنظیمات عمومی", + "s18n-b62a9dcd666f3ff44197cf21ac66507d": "مدیریت دیدگاه‌ها", + "s18n-7f0217cdcdd58ba86aae84d9d3d79f81": "مدیریت", + "s18n-1a1dc91c907325c69271ddf0c944bc72": "تائید", + "s18n-df6963dc912cde9baeef10343167ba01": "هر دیدگاه", + "s18n-39ba4181e212acf183ac965c9b37da89": "درصورت ورود به سیستم", + "s18n-0dac4426a017f0a0370db32776bc30bb": "در صورت مدیر یا نویسنده بودن", + "s18n-c70aa8b8fd6f2652eda2d5366faf1de5": "در صورت داشتن دیدگاه از قبل", + "s18n-8b26cab9d444760b4bcc65dc4d8634f8": "پذیرفتن دیدگاه", + "s18n-67614909bf9de326de71946036de39f1": "... در نوشته های عمومی", + "s18n-a7c384c1b60785c40bc3a4e4dfc5a108": "... در نوشته های چسبنده", + "s18n-9907b78f8745810599dbf6fd29a01364": "... در نوشته های استاتیک", + "s18n-c89cbecce48d04cd76c0b95c8128ad97": "فعال (اختیاری)", + "s18n-e9d51286fdd0ff058650392fc8b6ae30": "فعال (الزامی)", + "s18n-0aaa87422396fdd678498793b6d5250e": "غیرفعال", + "s18n-8da2c8185edfeb1765526f8e2e4f388d": "محدودیت دیدگاه", + "s18n-77d6d185c93549dab24f29ff2e3b25a8": "برای غیرفعال کردن هر محدودیتی از '0' استفاده کنید", + "s18n-1ef52691308c8add87723a4103a561c2": "عمق دیدگاه", + "s18n-d102731a5fedff24f30e24e883ef4636": "Markup دیدگاه", + "s18n-6640979a191e66655c26c59d404bf955": "پذیرفتن HTML ابتدایی", + "s18n-915009e874f8bed1845060012f826fcd": "پذیرفتن Markdown", + "s18n-a9a36cb3d8f4f7297ebca99a322d6342": "امتیاز به دیدگاه", + "s18n-2123546d1ff8b0cb035df0c0b0d06825": "ذخیره امتیازهای مهمانان در", + "s18n-dead693ab29895d302fca0e6baad6182": "ذخیره سازی کوکی", + "s18n-02b68043bdcae159e83199d64a5abd7d": "ذخیره سازی نشست", + "s18n-40bd8791e523e91219886c35622163fc": "ذخیره سازی پایگاه داده", + "s18n-8717cfca734e8987971f63b20eeb8024": "توضیحات؟", + "s18n-5a8cbcf57f5b59f0d4b8ded97d018399": "ذخیره سازی کوکی بر روی کامپیوتر کاربر قرار دارد. بنابراین شما کنترل کامل نداشته و نیاز به مجوز مناسب از طرف کاربر را دارید.", + "s18n-a09dbdf907873e66d9d644cca71970d5": "ذخیره سازی نشست فقط به صورت موقت در سرور ذخیره می‌شود، زمانی که کاربر مرورگرش را ببندد این اطلاعات هم پاک می‌شود. بنابراین شما به هیچ مجوزی از طرف کاربر نیازی ندارید.", + "s18n-71892ebe01ba92d1f163dc37d818b5ff": "ذخیره سازی پایگاه داده تولید و در یک مقدار ناشناس ذخیره می‌شود، ولی قابل تعیین توسط کاربر است، همچنین نیاز به مجوزهای مناسب از طرف کاربر می‌باشد.", + "s18n-7c35a0bcb0b0678f0829036eead5ddca": " لطفاً توجه کنید: شما مسئولیت اخذ مجوزهای مناسب هستید، Snicker فقط مجوزهای ارسال (و ذخیره سازی) اطلاعات از طریق فرم دیدگاه را بکار می‌گیرد!", + "s18n-82e5228061f185ee185bd9f3ecba4ee7": "پذیرفتن به %s دیدگاه", + "s18n-61b58693e0eceeb27ce0cc3b25b3bf31": "تنظیمات محیط کاربری", + "s18n-b3c1c2c231275878abe58a55966fa9e0": "فیلتر صفحه", + "s18n-9cb1eef8966f93282524929f65c8b9ec": "غیرفعال کردن فیلتر صفحه", + "s18n-e89fd56cefec9baabcbe0db3e5a36962": "استفاده از 'pageBegin'", + "s18n-3d08b5dcc1e5c3c7e7e2eaf2d0d6a12d": "استفاده از 'pageEnd'", + "s18n-3771d05b6af4ebb0a303266c47809548": "استفاده از 'siteBodyBegin'", + "s18n-42438edc41ab83312486009e3122e92b": "استفاده از 'siteBodyEnd'", + "s18n-948da5199de32c7601a20b6107c31d4d": "کدامنیتی دیدگاه", + "s18n-47e5c42fb9bdca3636a5d866a6794101": "غیرفعال کردن دیدگاه", + "s18n-eedf6d23d18212016e22428658e17794": "استفاده از کدامنیتی محلی (مولف Gregway)", + "s18n-09cddbc3627ea46a8dce692d64273b61": "استفاده از reCaptcha گوگل (هنوز در دسترس نیست)", + "s18n-838a13e4fece7c272b960da3fb99f94d": "قالب دیدگاه", + "s18n-6f95370a28520696b2a0ad34efc54d2d": "ترتیب دیدگاه", + "s18n-4a8dc1710396b21e7b1da8112c07c4ad": "جدیدترین دیدگاه در ابتدا", + "s18n-2dab3b12d0b0642c3964b37d675ff24b": "جدیدترین دیدگاه در انتها", + "s18n-230c71c29590608034b4a590a67ace31": "موقعیت فرم دیدگاه", + "s18n-37d988444dec2001c488806fc8401e25": "نمایش فرم دیدگاه بالای دیدگاه‌ها", + "s18n-16ac6c11951d825826f77a4097a1c2cb": "نمایش فرم دیدگاه پایین دیدگاه‌ها", + "s18n-1e98ec9312b69676d5e3fe3caf8ecde1": "دیدگاه در هر صفحه", + "s18n-0d46f4389ca5f882e24899fe489bf344": "برای نمایش تمام دیدگاه‌ها از '0' استفاده کنید", + "s18n-7b6b84fbd65a4b712a5ba0dccce176d5": "جعبه شرایط استفاده", + "s18n-9853383062a2e308d5aed35fe3da7953": "غیرفعال کردن این کادر", + "s18n-352fd1d7225b5ea02b8ddd9fad0d6e34": "نمایش پیام (متون جایگزین را ببینید)", + "s18n-71860c77c6745379b0d44304d66b6a13": "صفحه", + "s18n-5dcb84333ae70a5bed60bf70d34dcd2b": "متن پیش‌فرض GDPR نمایش داده شود و یا متن صفحه استاتیک 'قوانین استفاده' خود را انتخاب کنید!", + "s18n-2e3d9327c371afb7489f9b9278198622": "اسکریپت AJAX", + "s18n-c60cab6330745b41cbee05603eec6691": "استفاده از AJAX", + "s18n-69b11f64af515ef979fbf28c5e06f370": "از AJAX استفاده نشود", + "s18n-9bbec7b57565f06d73522669d3b836dc": "اسکریپت AJAX درخواست های (دیدگاه، like،dislike) را مستقیماً بکار می‌برد بدون اینکه صفحه مجدداً بارگذاری شود!", + "s18n-7c74c0d2d1c28d1568298c89742ce126": "آواتار دیدگاه", + "s18n-aeab7c630dae161d8f6e2898dd83b471": "استفاده از Gravatar", + "s18n-882e3436da897c055cc3f8bd2598b71a": "استفاده از Identicon", + "s18n-d92d61ad0c0065170a37a1805ad1bc9e": "استفاده از Mystery Men", + "s18n-b4a51a35344f9a8fa1139cfd968ab308": "ترجیح استفاده از تصویر پروفایل کاربران وارد شده به سیستم", + "s18n-b50a4a96c25d745d73114af5a4b03145": "دیدگاه Gravatar", + "s18n-9ffb941a398ddee8e054eef3292c546e": "نمایش Mystery Person", + "s18n-a7dd12b1dab17d25467b0b0a4c8d4a92": "نمایش", + "s18n-0d2fc085ee57276417cf380027060760": "تصویر پیش فرض Gravatar، در صورتی که کاربر Gravatar ندارد!", + "s18n-58e2aacf5792087168cbc62578584ecd": "تنظیمات اشتراک", + "s18n-8290ca86b8980a14bd46f34017e03f93": "سیستم اشتراک هنوز در دسترس نیست!", + "s18n-0bd7ff1b4ac56a9616796bdc05609de2": "اشتراک ایمیلی", + "s18n-208f156d4a803025c284bb595a7576b4": "فعال", + "s18n-dc985a7c2144c6447674e674aee08441": "آدرس ایمیل 'From'", + "s18n-f6db5b4db3f9c1ba0ffc091abc561802": "آدرس ایمیل 'ReplyTo'", + "s18n-8d868315d258783a95336d1a6ce27e1e": "متن ایمیل (Opt-In)", + "s18n-7721b2a2f2a453cc790e3ac7065e9b65": "استفاده از ایمیل اشتراک پیش فرض", + "s18n-58ff11585a82c73f5117c91c29cb3f63": "متن ایمیل (اطلاع رسانی)", + "s18n-bea9ff19efca028c01617da5dce18171": "استفاده از ایمیل اطلاع رسانی پیش فرض", + "s18n-e0024a8886a178d4f70b8c888b701680": "درمورد ایمیل اطلاع رسانی های سفارشی %s مطالعه کنید!", + "s18n-8bcf6629759bd278a5c6266bd9c054f8": "متون جایگزین", + "s18n-3979b4205954030810a8a87769348094": "پیام تشکر پیش فرض", + "s18n-620b528248b36bf743d1ad33e35022d6": "پیام تشکر به همراه اشتراک", + "s18n-e83f6b01d1c81313f6b388281e13aacf": "پیام تشکر برای امتیازدهی", + "s18n-01b7a6bc6b57783b4fd081085ff3271e": "خطا: خطای ناشناخته، دوباره تلاش کنید", + "s18n-19678b1419eff34dffd41d6778b1aa89": "خطا: نام کاربری معتبر نیست", + "s18n-1255e6794d33b443bcee21279d9caa1a": "خطا: آدرس ایمیل معتبر نیست", + "s18n-ebf545757b92b3a553d83ea3db48beca": "خطا: متن دیدگاه خالی است", + "s18n-f1bc53e2456c425578277adbc7c90f3a": "خطا: عنوان دیدگاه خالی است", + "s18n-53c8fdd7ed497dbacbef5fd5d4f38f3d": "خطا: قوانین پذیرفته نشده", + "s18n-89f8cc478fdfc0a8f36c1b393f39677a": "خطا: به عنوان هرزنامه شناخته شد", + "s18n-59ad5c9fcee1b28a5d004bcf684a5acd": "خطا: قبلا امتیاز دادید", + "s18n-56ef2c600b4af0f9f7b35640525967ca": "قوانین استفاده", + "s18n-08400c2e0f51197fdb3590461b15b2cc": "نام کاربری یا آدرس ایمیل", + "s18n-b79edd2e426f90401c04869346b503c7": "جستجوی کاربران", + "s18n-ee51fa9d5097c84d2fa6c885bf2d5d84": "هیچ کاربری وجود ندارد", + "s18n-14c4b06b824ec593239362517f538b29": "نام کاربرری", + "s18n-0c83f57c786a0b4a39efab23731c7ebc": "ایمیل", + "s18n-e1260894f59eeae98c8440899de4df8d": "بکارگیری", + "s18n-4bc61296b766756f1c7296489633bf32": "حذف (ناشناس)", + "s18n-c0f4afd3614929f1c803f3a01414a6c7": "حذف (به طور کامل)", + "s18n-6356f32d0c02c8f90cb59a77e16e8fe2": "آزاد کردن کاربر", + "s18n-2327a01afbee025fb5913357c9d6b1b3": "مسدود کردن کاربر", + "s18n-76a0f6752a45d8af6343ef3e2b6f522a": "یک دیدگاه", + "s18n-c426859e50a35617d863cdad2b9c84aa": "دیدگاه های نوشته", + "s18n-a64d776275f13a51790bb460774b9129": "دیدگاه های کاربر", + "s18n-9bc65c2abec141778ffaa729489f3e87": "کاربران", + "s18n-ccd1066343c95877b75b79d47c36bebe": "پیکربندی", + "s18n-5b49260517622682a058b69f996d06eb": "متشکرم از ارسال دیدگاه!", + "s18n-74196a783a6f1707a43cc8117f0d9c83": "متشکرم از ارسال دیدگاه! لطفاً اشتراک خود را از طریق لینکی که به آدرس ایمیل شما ارسال شده را تائید کنید", + "s18n-a939eb542e34cd502b3f7352b2e0f715": "متشکرم از اینکه به این دیدگاه امتیاز دادید!", + "s18n-d2a9677817ee08ed05bf9fd868669756": "خطای ناشناخته ای رخ داد، لطفا صفحه را مجددا بارگیری کرده و دوباره تلاش کنید!", + "s18n-05b85714aa8f1b364f930e2539059b5e": "خطایی رخ داد: نام کاربری ارائه شده نامعتبر و یا بسیار طولانی است(فقط 42 کاراکتر باشد)!", + "s18n-321e8b481f0ccd62df535256e8e6d2c6": "خطایی رخ داد: آدرس ایمیل ارائه شده معتبر نیست", + "s18n-fcd0c3a087c5123ffdecc20fe9015870": "خطایی رخ داد: متن دیدگاه خالی است!", + "s18n-2afa2d90ce3343fbe188b9f49ad5797d": "خطایی رخ داد: عنوان دیدگاه خالی است!", + "s18n-bee1741efe0c735d2c7180771586faf0": "خطایی رخ داد: برای ارسال دیدگاه باید قوانین را بپذیرید!", + "s18n-92fe96d6ccee901f94fad0000369a9b7": "خطایی رخ داد: آدرس IP و یا آدرس ایمیل شما به عنوان هرزنامه شناخته شده!", + "s18n-9b264fc6137096f8a40acde68f6ae562": "خطایی رخ داد: شما قبلا به این دیدگاه رای داده اید!", + "s18n-ca62db4704290ef1a7e65df3ffc7983b": "من موافقم که اطلاعات من (شامل آدرس IP ناشناس) من ذخیره شود!", + "s18n-01c611362e8b046f32650b85ce161559": "خطای ناشناخته رخ داد!", + "s18n-c4f94c6995b0376f28276e432bed75fa": "توکن CSRF وجود ندارد!", + "s18n-a573e7b86e41522c7a291846aa109104": "توکن CSRF معتبر نیست!", + "s18n-3e8909518ce4728685aa09cdde3caa22": "برای فراخوانی این اقدام مجوز لازم را ندارید!", + "s18n-b60a6a8a529a9f0497134205bab15e77": "برای اجرای این اقدام مجوز لازم را ندارید!", + "s18n-56abae3e615ae5b5609c32852b777d46": "اقدام انجام شده ناشناخته و یا معتبر نیست!", + "s18n-be5136b4f2b33c80e3afd377ee993acb": "خطای ناشناخته رخ داد!", + "s18n-46d4c97e91319867654f7cc80c439ba4": "شناسه منحصر به فرد کاربری وجود ندارد!", + "s18n-af1ba1dd4eab5562f78c65bc89a0a7e9": "اقدام با موفقیت انجام شد!", + "s18n-a5193444ee82c18bac726b35a1704d03": "تنظیمات با موفقیت به روز شد!", + "s18n-717c8267d40664ccf7ef25a26ff9cde6": "نسخه پشتیبان با موفقیت تهیه شد!", + "s18n-a1e2b7401861cee01c172878f104bd8c": "نپذیرفتن دیدگاه", + "s18n-15802277ea1cdfcbacd6308fa0c7c30f": "غیر فعال کردن پلاگین ارسال دیدگاه Snicker", + "s18n-877d58f21c87442efa4081112a6cb07a": "شما دارید پلاگین Snicker را غیرفعال می‌کنید، که تمام دیدگاه‌های نوشته شده حذف خواهند شد!", + "s18n-a4983c86683f8d8598c0513339550dc0": "آیا تمایل دارید قبل از اینکار از دیدگاهها نسخه پشتیبان تهیه کنید؟", + "s18n-4cce9e52118cc659be5070b2f08cdd91": "نسخه پشتیبان در %s ذخیره می شود!", + "s18n-5f87fd2e0fa992d37c814bb4ca299646": "بله، تهیه پشتیبان", + "s18n-3d414feb412a1f4cd9324f6411c76329": "خیر، غیرفعال کردن", + "s18n-10aec35353f9c4096a71c38654c3d402": "لغو", + "s18n-bc6d6a26d44b6f39a0e7b6c7787f3295": "ارسال دیدگاه در این صفحه غیرفعال است!", + "s18n-a8e30d73eddea9866cf99ecd6e8467b5": "اولین نفری باشید که دیدگاهی ارسال می کند!", + "s18n-b3afbadaa2f1c79f8b3999be7fd9719f": "پاسخ به کدامنیتی انجام نشده و یا اشتباه وارد کردید!", + "s18n-fb74aafe8bf1fd4d8f7a6e1ff73028f7": "شناسه منحصر به فرد دیدگاه وجود نداشته و یا معتبر نیست!", + "s18n-25dea7cb70f98250b388f6ab0ddf20cb": "وضعیت دیدگاه ناشناخته و یا معتبر نیست!", + "s18n-2cd68855bdc54ff5e3c191a6333ff75d": "وضعیت دیدگاه جدید نمی تواند با موفقیت به روز شود!", + "s18n-c0937505b7afa81a053077bc7ae369a5": "وضعیت دیدگاه جدید با موفقیت ذخیره شد!", + "s18n-6b2c8084c67f24bb73d95031bb570ef7": "دیدگاه نمی تواند با موفقیت حذف شود!", + "s18n-376388311a80dbde63fde7f6c72081e0": "دیدگاه با موفقیت حذف شد!", + "s18n-83bbb9e8745cc95e730fe7b8de9345f1": "ورود به نام %s (%s)", + "s18n-91fb98e1ac4cf76b7a5b8bae09051e2a": "نام شما", + "s18n-31f6da7a30e7acf1f82451bfd1a7f8fa": "آدرس ایمیل شما", + "s18n-f794080a5a29e35233c82df85f1207eb": "متن دیدگاه...", + "s18n-a363b8d13575101a0226e8d0d054f2e7": "کدامنیتی", + "s18n-f10db888c5e63b343000cffc038e0a46": "نوشته:", + "s18n-3cc5bcf15d6b8faed118e2ce72d19a1e": "با %s موافقت می کنم!", + "s18n-2af0aab477f402e0f4ad7a27e6c9f952": "دیدگاه‌های قبلی", + "s18n-8538431db22040e2147b363f86a2e2f0": "دیدگاههای بعدی", + "s18n-ae0dbd5cc42a6db191db5e0083bcb307": "این دیدگاه هنوز تائید نشده!", + "s18n-48df9c3f3cca3fb2b8bcf811633bee06": "نوشته %s", + "s18n-81fdc9813cebe0553c55e78dc2b6029f": "در مورخه %s", + "s18n-be1ab1632e4285edc3733b142935c60b": "Like", + "s18n-bc8b79025e4595298669fd21da814941": "Dislike", + "s18n-e84afaab83ecb301b3d97ce4174d2773": "پاسخ" + } \ No newline at end of file diff --git a/languages/nl_NL.json b/languages/nl_NL.json new file mode 100644 index 0000000..bacbb7c --- /dev/null +++ b/languages/nl_NL.json @@ -0,0 +1,204 @@ +{ + "plugin-data": { + "name": "Snicker", + "description": "Een native, AJAX-enabled FlatFile reactiesysteem voor bludit volgens de GDPR-normen en met ondersteuning voor het abonneren op reacties." + }, + "s18n-a5d491060952aa8ad5fdee071be752de": "Reacties", + "s18n-de95b43bceeb4b998aed4aed5cef1ae7": "Bewerken", + "s18n-f984023ed3d6df2326c9d59838c29792": "Reactie bijwerken", + "s18n-86448a506dd93303a72140b9124ee321": "Reactie verwijderen", + "s18n-db10a8eb963bc0e5f4483ac9b5dc554c": "Titel", + "s18n-335630425567dbe91768a3beffdec752": "Bericht", + "s18n-bd7e63f881c7f787a9a0dce20b7f9e5b": "Metadata", + "s18n-1acfe725df7bd12195751f0737c4d375": "Geregistreerde gebruiker", + "s18n-e988189db402fab453f72052629c02cd": "Gebruikersnaam", + "s18n-db84c6236ca6a01b9189504d78c012a5": "E-mail", + "s18n-7c6c2e5d48ab37a007cbf70d3ea25fa4": "Wordt beoordeeld", + "s18n-787d5f05953ec39b108869dfdd7733e6": "Goedgekeurd", + "s18n-c7537d6d48ecf261749c09a9f284bd45": "Afgekeurd", + "s18n-e09f6a7593f8ae3994ea57e1117f67ec": "Spam", + "s18n-7a5115c2c1eb662308decbec83593494": "Pagina bekijken", + "s18n-0572a05cd6d6360391993a611099542f": "Titel of samenvatting reactie", + "s18n-428f14500191b5d53675da4a96bc8bba": "Zoeken", + "s18n-e0be71bccdeceb713fba3c222f79a3c5": "Geen reacties beschikbaar", + "s18n-06d4cd63bde972fc66a0aed41d2f5c51": "Reactie", + "s18n-02bd92faa38aaa6cc0ea75e59937a1ef": "Auteur", + "s18n-ebb67a4271abe715344471b0f16321f6": "Acties", + "s18n-58566b9a9b2733b0ceacb2186672b5d1": "Alle antwoorden tonen", + "s18n-5f44c0081bd862a77ba8b24e923cadf1": "Antwoorden op", + "s18n-eb399bcaca686f8609137153307eecf1": "Wijzigen", + "s18n-2736f4347985da50dc023444c193bfea": "Reactie bewerken", + "s18n-a107bf4b12e36a07161a26d95b03bc81": "Reactie goedkeuren", + "s18n-da937abd19cd9e1430470b8a471a41d4": "Reactie afkeuren", + "s18n-32cb4199893d9948cc0853eef244f1fc": "Markeren als Spam", + "s18n-a6494adfb72d12d3a4da66855c284ec6": "Terug naar reacties in afwachting", + "s18n-1bda80f2be4d3658e0baa43fbe7ae8c1": "Bekijken", + "s18n-c9ae5a4214e87ad6fbed44a267471eee": "Instellingen opslaan", + "s18n-e124d357c3c832434a8676a5e18db842": "Algemene instellingen", + "s18n-b62a9dcd666f3ff44197cf21ac66507d": "Reactiebeheer", + "s18n-7f0217cdcdd58ba86aae84d9d3d79f81": "Modereren", + "s18n-1a1dc91c907325c69271ddf0c944bc72": "Goedkeuren", + "s18n-df6963dc912cde9baeef10343167ba01": "iedere reactie", + "s18n-39ba4181e212acf183ac965c9b37da89": "Tenzij de gebruiker is ingelogd", + "s18n-0dac4426a017f0a0370db32776bc30bb": "Tenzij de gebruiker beheerder of auteur van de pagina is", + "s18n-c70aa8b8fd6f2652eda2d5366faf1de5": "Tenzij er reeds een eerdere reactie van de gebruiker is goedgekeurd", + "s18n-8b26cab9d444760b4bcc65dc4d8634f8": "Reacties toestaan", + "s18n-67614909bf9de326de71946036de39f1": "... op gepubliceerde pagina's", + "s18n-a7c384c1b60785c40bc3a4e4dfc5a108": "... op vastgezette pagina's", + "s18n-9907b78f8745810599dbf6fd29a01364": "... op statische pagina's", + "s18n-c89cbecce48d04cd76c0b95c8128ad97": "Inschakelen (optioneel)", + "s18n-e9d51286fdd0ff058650392fc8b6ae30": "Inschakelen (vereist)", + "s18n-0aaa87422396fdd678498793b6d5250e": "Uitschakelen", + "s18n-8da2c8185edfeb1765526f8e2e4f388d": "Limiet voor reacties", + "s18n-77d6d185c93549dab24f29ff2e3b25a8": "Voer '0' in om geen limiet toe te passen.", + "s18n-1ef52691308c8add87723a4103a561c2": "Diepte reacties", + "s18n-d102731a5fedff24f30e24e883ef4636": "Formaat voor reacties", + "s18n-6640979a191e66655c26c59d404bf955": "HTML beperkt toestaan", + "s18n-915009e874f8bed1845060012f826fcd": "Markdown toestaan", + "s18n-a9a36cb3d8f4f7297ebca99a322d6342": "Stemmen op reacties", + "s18n-2123546d1ff8b0cb035df0c0b0d06825": "Stemmen door gasten opslaan in", + "s18n-dead693ab29895d302fca0e6baad6182": "Cookies", + "s18n-02b68043bdcae159e83199d64a5abd7d": "Sessie-opslag", + "s18n-40bd8791e523e91219886c35622163fc": "Database", + "s18n-8717cfca734e8987971f63b20eeb8024": "Wat betekent dit?", + "s18n-5a8cbcf57f5b59f0d4b8ded97d018399": "Cookies<\/b> worden opgeslagen op de computer van de gebruiker; u heeft geen volledige controle EN de gebruiker moet cookies toestaan.", + "s18n-a09dbdf907873e66d9d644cca71970d5": "Sessie-opslag<\/b> wordt slechts tijdelijk op de server bewaard en wordt verwijderd wanneer de gebruiker de browser afsluit. Daarom is er gn toestemming van de gebruiker benodigd.", + "s18n-71892ebe01ba92d1f163dc37d818b5ff": "Opslaan in de Database<\/b> genereert een gepseudonimiseerde waarde voor iedere gebruiker die stemt en slaat die op in de database. Daarom is er toestemming van de gebruiker benodigd.", + "s18n-7c35a0bcb0b0678f0829036eead5ddca": "Waarschuwing:<\/b> U bent zelf verantwoordelijk voor het verkrijgen van goedkeuring door gebruikers; Snicker behandelt alleen de machtigingen voor de gegevens die verstuurd en/of opgeslagen worden via het reactieformulier!", + "s18n-82e5228061f185ee185bd9f3ecba4ee7": "%s toestaan voor reacties", + "s18n-61b58693e0eceeb27ce0cc3b25b3bf31": "Instellingen front-end", + "s18n-b3c1c2c231275878abe58a55966fa9e0": "Paginafilter", + "s18n-9cb1eef8966f93282524929f65c8b9ec": "Paginafilter uitschakelen", + "s18n-e89fd56cefec9baabcbe0db3e5a36962": "'pageBegin' gebruiken", + "s18n-3d08b5dcc1e5c3c7e7e2eaf2d0d6a12d": "'pageEnd' gebruiken", + "s18n-3771d05b6af4ebb0a303266c47809548": "'siteBodyBegin' gebruiken", + "s18n-42438edc41ab83312486009e3122e92b": "'siteBodyEnd' gebruiken", + "s18n-948da5199de32c7601a20b6107c31d4d": "Captcha", + "s18n-47e5c42fb9bdca3636a5d866a6794101": "Captcha uitschakelen", + "s18n-ab6ef7ef94efc86db78218c6c265243a": "OWASP's PureCaptcha gebruiken", + "s18n-a58adce0085cc1a25fc8076e97c29d70": "Gregway's Captcha gebruiken", + "s18n-9d2f2ec577e7383b88fd481d6c566c5e": "Gregway's Captcha gebruiken (GD library niet beschikbaar!)", + "s18n-09cddbc3627ea46a8dce692d64273b61": "Googles reCaptcha gebruiken (nog niet beschikbaar)", + "s18n-838a13e4fece7c272b960da3fb99f94d": "Sjabloon", + "s18n-6f95370a28520696b2a0ad34efc54d2d": "Volgorde", + "s18n-4a8dc1710396b21e7b1da8112c07c4ad": "Nieuwste reacties eerst", + "s18n-2dab3b12d0b0642c3964b37d675ff24b": "Oudste reacties eerst", + "s18n-230c71c29590608034b4a590a67ace31": "Positie reactieformulier", + "s18n-37d988444dec2001c488806fc8401e25": "Boven reacties tonen", + "s18n-16ac6c11951d825826f77a4097a1c2cb": "Onder reacties tonen", + "s18n-1e98ec9312b69676d5e3fe3caf8ecde1": "Reacties per pagina", + "s18n-0d46f4389ca5f882e24899fe489bf344": "Voer '0' in om alle reacties te tonen.", + "s18n-7b6b84fbd65a4b712a5ba0dccce176d5": "Accepteren gebruiksvoorwaarden", + "s18n-9853383062a2e308d5aed35fe3da7953": "Dit veld uitschakelen", + "s18n-352fd1d7225b5ea02b8ddd9fad0d6e34": "Bericht tonen (zie Meldingen)", + "s18n-71860c77c6745379b0d44304d66b6a13": "Pagina", + "s18n-5dcb84333ae70a5bed60bf70d34dcd2b": "Toon de standaardtekst AVG (GDPR) of kies een eigen statische pagina voor de gebruiksvoorwaarden.", + "s18n-2e3d9327c371afb7489f9b9278198622": "AJAX-script", + "s18n-c60cab6330745b41cbee05603eec6691": "AJAX-script insluiten", + "s18n-69b11f64af515ef979fbf28c5e06f370": "AJAX niet gebruiken", + "s18n-9bbec7b57565f06d73522669d3b836dc": "The AJAX Script hands over the request (reactie, like, dislike) directly without reloading the page!", + "s18n-7c74c0d2d1c28d1568298c89742ce126": "Avatar", + "s18n-aeab7c630dae161d8f6e2898dd83b471": "Gravatar gebruiken", + "s18n-882e3436da897c055cc3f8bd2598b71a": "Identicon gebruiken", + "s18n-d92d61ad0c0065170a37a1805ad1bc9e": "Mystery Men gebruiken", + "s18n-b4a51a35344f9a8fa1139cfd968ab308": "Profielfoto's gebruiken voor ingelogde gebruikers", + "s18n-b50a4a96c25d745d73114af5a4b03145": "Gravatar", + "s18n-9ffb941a398ddee8e054eef3292c546e": "Mystery Person tonen", + "s18n-a7dd12b1dab17d25467b0b0a4c8d4a92": "Tonen", + "s18n-0d2fc085ee57276417cf380027060760": "Standaardafbeelding van Gravatar als de gebruiker geen eigen Gravatar heeft.", + "s18n-58e2aacf5792087168cbc62578584ecd": "Abonneren", + "s18n-8290ca86b8980a14bd46f34017e03f93": "De functie Abonneren is nog niet beschikbaar.", + "s18n-0bd7ff1b4ac56a9616796bdc05609de2": "Abonneren met e-mail", + "s18n-208f156d4a803025c284bb595a7576b4": "Inschakelen", + "s18n-dc985a7c2144c6447674e674aee08441": "E-mailadres afzender ('From')", + "s18n-f6db5b4db3f9c1ba0ffc091abc561802": "E-mailadres beantwoorden ('ReplyTo')", + "s18n-8d868315d258783a95336d1a6ce27e1e": "Inhoud e-mail bij abonneren", + "s18n-7721b2a2f2a453cc790e3ac7065e9b65": "Standaardinhoud voor e-mail bij abonneren gebruiken", + "s18n-58ff11585a82c73f5117c91c29cb3f63": "Inhoud e-mail bij notificatie", + "s18n-bea9ff19efca028c01617da5dce18171": "Standaardinhoud voor e-mail bij notificatie gebruiken", + "s18n-e0024a8886a178d4f70b8c888b701680": "Lees meer over eigen inhoud voor e-mail bij notificaties: %s.", + "s18n-8bcf6629759bd278a5c6266bd9c054f8": "Meldingen", + "s18n-3979b4205954030810a8a87769348094": "Standaardbericht voor bevestiging", + "s18n-620b528248b36bf743d1ad33e35022d6": "Bevestiging na abonneren", + "s18n-e83f6b01d1c81313f6b388281e13aacf": "Bevestiging na stemmen", + "s18n-01b7a6bc6b57783b4fd081085ff3271e": "Fout: onbekende fout, probeer het nogmaals", + "s18n-19678b1419eff34dffd41d6778b1aa89": "Fout: ongeldige gebruikersnaam", + "s18n-1255e6794d33b443bcee21279d9caa1a": "Fout: ongeldig e-mailadres", + "s18n-ebf545757b92b3a553d83ea3db48beca": "Fout: geen bericht ingevoerd", + "s18n-f1bc53e2456c425578277adbc7c90f3a": "Fout: geen titel ingevoerd", + "s18n-53c8fdd7ed497dbacbef5fd5d4f38f3d": "Fout: gebruiksvoorwaarden niet geaccepteerd", + "s18n-89f8cc478fdfc0a8f36c1b393f39677a": "Fout: gemarkeerd als SPAM", + "s18n-59ad5c9fcee1b28a5d004bcf684a5acd": "Fout: u heeft reeds gestemd", + "s18n-56ef2c600b4af0f9f7b35640525967ca": "Gebruiksvoorwaarden", + "s18n-08400c2e0f51197fdb3590461b15b2cc": "Gebruikersnaam of e-mailadres", + "s18n-b79edd2e426f90401c04869346b503c7": "Gebruikers zoeken", + "s18n-ee51fa9d5097c84d2fa6c885bf2d5d84": "Geen gebruikers gevonden", + "s18n-14c4b06b824ec593239362517f538b29": "Gebruikersnaam", + "s18n-0c83f57c786a0b4a39efab23731c7ebc": "E-mail", + "s18n-e1260894f59eeae98c8440899de4df8d": "Afhandelen", + "s18n-4bc61296b766756f1c7296489633bf32": "Verwijderen (pseudonimiseren)", + "s18n-c0f4afd3614929f1c803f3a01414a6c7": "Verwijderen (volledig)", + "s18n-6356f32d0c02c8f90cb59a77e16e8fe2": "Gebruiker deblokkeren", + "s18n-2327a01afbee025fb5913357c9d6b1b3": "Gebruiker blokkeren", + "s18n-76a0f6752a45d8af6343ef3e2b6f522a": "Enkele reactie", + "s18n-c426859e50a35617d863cdad2b9c84aa": "Reacties op pagina", + "s18n-a64d776275f13a51790bb460774b9129": "Reacties van gebruiker", + "s18n-9bc65c2abec141778ffaa729489f3e87": "Gebruikers", + "s18n-ccd1066343c95877b75b79d47c36bebe": "Configuratie", + "s18n-5b49260517622682a058b69f996d06eb": "Bedankt voor uw reactie!", + "s18n-74196a783a6f1707a43cc8117f0d9c83": "Bedankt voor uw reactie! Bevestig het abonneren op verdere reacties via de link in het bericht dat u per e-mail ontvangt.", + "s18n-a939eb542e34cd502b3f7352b2e0f715": "Bedankt voor het stemmen op deze reactie!", + "s18n-d2a9677817ee08ed05bf9fd868669756": "Onbekende fout opgetreden, herlaad de pagina probeer het nogmaals.", + "s18n-05b85714aa8f1b364f930e2539059b5e": "Fout opgetreden: de gebruikersnaam is ongeldig of langer dan 42 tekens.", + "s18n-321e8b481f0ccd62df535256e8e6d2c6": "Fout opgetreden: het e-mailadres is ongeldig.", + "s18n-fcd0c3a087c5123ffdecc20fe9015870": "Fout opgetreden: er is geen bericht ingevoerd.", + "s18n-2afa2d90ce3343fbe188b9f49ad5797d": "Fout opgetreden: er is geen titel ingevoerd.", + "s18n-bee1741efe0c735d2c7180771586faf0": "Fout opgetreden: de gebruiksvoorwaarden zijn niet geaccepteerd.", + "s18n-92fe96d6ccee901f94fad0000369a9b7": "Fout opgetreden: uw IP-adres of e-mailadres is gemarkeerd als SPAM.", + "s18n-9b264fc6137096f8a40acde68f6ae562": "Fout opgetreden: u heeft reeds gestemd op deze reactie.", + "s18n-ca62db4704290ef1a7e65df3ffc7983b": "Mijn gegevens (inclusief mijn gepseudonimiseerd IP-adres) mogen worden opgeslagen.", + "s18n-01c611362e8b046f32650b85ce161559": "Ongeldige fout opgetreden.", + "s18n-c4f94c6995b0376f28276e432bed75fa": "Het CSRF-token ontbreekt.", + "s18n-a573e7b86e41522c7a291846aa109104": "Het CSRF-token is ongeldig.", + "s18n-3e8909518ce4728685aa09cdde3caa22": "U heeft geen machtiging voor het aanroepen van deze functie.", + "s18n-b60a6a8a529a9f0497134205bab15e77": "U heeft geen machtiging voor het uitvoeren van deze actie.", + "s18n-3fee90e2f59aeb29b74c1c21648ba712": "De Captcha is succesvol gegenereerd.", + "s18n-56abae3e615ae5b5609c32852b777d46": "De actie is onbekend of ongeldig.", + "s18n-be5136b4f2b33c80e3afd377ee993acb": "Er is een onbekende fout opgetreden.", + "s18n-46d4c97e91319867654f7cc80c439ba4": "Geen uniek gebruikers-ID gevonden.", + "s18n-af1ba1dd4eab5562f78c65bc89a0a7e9": "Actie is succesvol afgerond.", + "s18n-a5193444ee82c18bac726b35a1704d03": "Instellingen zijn opgeslagen.", + "s18n-717c8267d40664ccf7ef25a26ff9cde6": "Backup is voltooid.", + "s18n-a1e2b7401861cee01c172878f104bd8c": "Reacties niet toestaan", + "s18n-15802277ea1cdfcbacd6308fa0c7c30f": "Snicker-plugin uitschakelen", + "s18n-877d58f21c87442efa4081112a6cb07a": "Het uitschakelen van de Snicker<\/b>-plugin zal alle reacties verwijderen!", + "s18n-a4983c86683f8d8598c0513339550dc0": "Eerst een backup maken van de reacties?", + "s18n-4cce9e52118cc659be5070b2f08cdd91": "De backup zal worden opgeslagen in %s.", + "s18n-5f87fd2e0fa992d37c814bb4ca299646": "Ja, backup maken", + "s18n-3d414feb412a1f4cd9324f6411c76329": "Nee, alleen uitschakelen", + "s18n-10aec35353f9c4096a71c38654c3d402": "Annuleren", + "s18n-bc6d6a26d44b6f39a0e7b6c7787f3295": "Reacties zijn voor deze pagina uitgeschakeld.", + "s18n-a8e30d73eddea9866cf99ecd6e8467b5": "Wees de eerste met een reactie hier!", + "s18n-b3afbadaa2f1c79f8b3999be7fd9719f": "Het antwoord op de Captcha is onjuist.", + "s18n-fb74aafe8bf1fd4d8f7a6e1ff73028f7": "UID voor de reactie bestaat niet of is ongeldig.", + "s18n-25dea7cb70f98250b388f6ab0ddf20cb": "Status van de reactie is onbekend of ongeldig.", + "s18n-2cd68855bdc54ff5e3c191a6333ff75d": "De nieuwe status van de reactie kon niet worden opgeslagen.", + "s18n-c0937505b7afa81a053077bc7ae369a5": "De nieuwe status van de reactie is opgeslagen.", + "s18n-6b2c8084c67f24bb73d95031bb570ef7": "De reactie kon niet worden verwijderd.", + "s18n-376388311a80dbde63fde7f6c72081e0": "De reactie is verwijderd.", + "s18n-83bbb9e8745cc95e730fe7b8de9345f1": "Ingelogd als %s (%s)", + "s18n-91fb98e1ac4cf76b7a5b8bae09051e2a": "Gebruikersnaam", + "s18n-31f6da7a30e7acf1f82451bfd1a7f8fa": "E-mailadres", + "s18n-f794080a5a29e35233c82df85f1207eb": "Reactie...", + "s18n-a363b8d13575101a0226e8d0d054f2e7": "Beantwoorden", + "s18n-f10db888c5e63b343000cffc038e0a46": "schreef", + "s18n-3cc5bcf15d6b8faed118e2ce72d19a1e": "Ik ga akkoord met de %s!", + "s18n-2af0aab477f402e0f4ad7a27e6c9f952": "Vorige", + "s18n-8538431db22040e2147b363f86a2e2f0": "Volgende", + "s18n-ae0dbd5cc42a6db191db5e0083bcb307": "Deze reactie moet nog worden goedgekeurd.", + "s18n-48df9c3f3cca3fb2b8bcf811633bee06": "Geschreven door %s", + "s18n-81fdc9813cebe0553c55e78dc2b6029f": "op %s", + "s18n-be1ab1632e4285edc3733b142935c60b": "Vind ik leuk", + "s18n-bc8b79025e4595298669fd21da814941": "Vind ik niet leuk", + "s18n-e84afaab83ecb301b3d97ce4174d2773": "Beantwoorden" +} diff --git a/metadata.json b/metadata.json new file mode 100644 index 0000000..25d251f --- /dev/null +++ b/metadata.json @@ -0,0 +1,10 @@ +{ + "author": "SamBrishes, pytesNET", + "email": "sam@pytes.net", + "website": "https://www.pytes.net", + "version": "0.1.2", + "releaseDate": "2019-05-06", + "license": "MIT", + "compatible": "3.5.0", + "notes": "" +} diff --git a/plugin.php b/plugin.php new file mode 100644 index 0000000..12ec807 --- /dev/null +++ b/plugin.php @@ -0,0 +1,893 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + require_once "system/functions.php"; // Load Basic Functions + + class SnickerPlugin extends Plugin{ + /* + | BACKEND VARIABLES + */ + private $backend = false; // Is Backend + private $backendView = null; // Backend View / File + private $backendRequest = null; // Backend Request Type ("post", "get", "ajax") + + /* + | CONSTRUCTOR + | @since 0.1.0 + */ + public function __construct(){ + global $SnickerPlugin; + $SnickerPlugin = $this; + parent::__construct(); + } + + +## +## HELPER METHODs +## + + /* + | HELPER :: SELECTED + | @since 0.1.0 + | + | @param string The respective option key (used in `getValue()`). + | @param multi The value to compare with. + | @param bool TRUE to print `selected="selected"`, FALSE to return the string. + | Use `null` to return as boolean! + | + | @return multi The respective string, nothing or a BOOLEAN indicator. + */ + public function selected($field, $value = true, $print = true){ + if(sn_config($field) == $value){ + $selected = 'selected="selected"'; + } else { + $selected = ''; + } + if($print === null){ + return !empty($selected); + } + if(!$print){ + return $selected; + } + print($selected); + } + + /* + | HELPER :: CHECKED + | @since 0.1.0 + | + | @param string The respective option key (used in `getValue()`). + | @param multi The value to compare with. + | @param bool TRUE to print `checked="checked"`, FALSE to return the string. + | Use `null` to return as boolean! + | + | @return multi The respective string, nothing or a BOOLEAN indicator. + */ + public function checked($field, $value = true, $print = true){ + if(sn_config($field) == $value){ + $checked = 'checked="checked"'; + } else { + $checked = ''; + } + if($print === null){ + return !empty($checked); + } + if(!$print){ + return $checked; + } + print($checked); + } + + +## +## PLUGIN HOOKs +## + + /* + | PLUGIN :: GET VALUE + | @since 0.1.2 + */ + public function getValue($field, $html = true){ + if(isset($this->db[$field])){ + $data = strpos($field, "string_") === 0? sn__($this->db[$field]): $this->db[$field]; + return ($html)? $data: Sanitize::htmlDecode($data); + } + return isset($this->dbFields[$field])? $this->dbFields[$field]: null; + } + + /* + | PLUGIN :: INIT + | @since 0.1.0 + | @update 0.1.1 + */ + public function init(){ + global $url; + + // Init Default Settings + $this->dbFields = array( + "moderation" => true, + "moderation_loggedin" => true, + "moderation_approved" => true, + "comment_on_public" => true, + "comment_on_static" => false, + "comment_on_sticky" => true, + "comment_title" => "optional", + "comment_limit" => 0, + "comment_depth" => 3, + "comment_markup_html" => true, + "comment_markup_markdown" => false, + "comment_vote_storage" => "session", + "comment_enable_like" => true, + "comment_enable_dislike" => true, + "frontend_captcha" => function_exists("imagettfbbox")? "gregwar": "purecaptcha", + "frontend_recaptcha_public" => "", + "frontend_recaptcha_private"=> "", + "frontend_terms" => "default", + "frontend_filter" => "pageEnd", + "frontend_template" => "default", + "frontend_order" => "date_desc", + "frontend_form" => "top", + "frontend_per_page" => 15, + "frontend_ajax" => true, + "frontend_avatar" => "gravatar", + "frontend_avatar_users" => true, + "frontend_gravatar" => "mp", + "subscription" => false, + "subscription_from" => "ticker@{$_SERVER["SERVER_NAME"]}", + "subscription_reply" => "noreply@{$_SERVER["SERVER_NAME"]}", + "subscription_optin" => "default", + "subscription_ticker" => "default", + + // Frontend Messages, can be changed by the user + "string_success_1" => sn__("Thanks for your comment!"), + "string_success_2" => sn__("Thanks for your comment, please confirm your subscription via the link we sent to your eMail address!"), + "string_success_3" => sn__("Thanks for voting this comment!"), + "string_error_1" => sn__("An unknown error occured, please reload the page and try it again!"), + "string_error_2" => sn__("An error occured: The passed Username is invalid or too long (42 characters only)!"), + "string_error_3" => sn__("An error occured: The passed eMail address is invalid!"), + "string_error_4" => sn__("An error occured: The comment text is missing!"), + "string_error_5" => sn__("An error occured: The comment title is missing!"), + "string_error_6" => sn__("An error occured: You need to accept the Terms to comment!"), + "string_error_7" => sn__("An error occured: Your IP address or eMail address has been marked as Spam!"), + "string_error_8" => sn__("An error occured: You already rated this comment!"), + "string_terms_of_use" => sn__("I agree that my data (incl. my anonymized IP address) gets stored!") + ); + + // Check Backend + $this->backend = (trim($url->activeFilter(), "/") == ADMIN_URI_FILTER); + } + + /* + | PLUGIN :: OVERWRITE INSTALLED + | @since 0.1.0 + | @update 0.1.1 + */ + public function installed(){ + global $Snicker, // Main Comment Handler + $SnickerIndex, // Main Comment Indexer + $SnickerUsers, // Main Comment Users + $SnickerVotes; // Main Comment Votes + + if(file_exists($this->filenameDb)){ + if(!defined("SNICKER")){ + define("SNICKER", true); + define("SNICKER_PATH", PATH_PLUGINS . basename(__DIR__) . DS); + define("SNICKER_DOMAIN", DOMAIN_PLUGINS . basename(__DIR__) . "/"); + define("SNICKER_VERSION", "0.1.2"); + + // DataBases + define("DB_SNICKER_COMMENTS", $this->workspace() . "pages" . DS); + define("DB_SNICKER_INDEX", $this->workspace() . "comments-index.php"); + define("DB_SNICKER_USERS", $this->workspace() . "comments-users.php"); + define("DB_SNICKER_VOTES", $this->workspace() . "comments-votes.php"); + + // Pages Filter + if(!file_exists(DB_SNICKER_COMMENTS)){ + @mkdir(DB_SNICKER_COMMENTS); + } + + // Load Plugin + require_once "system/abstract.comments-theme.php"; + require_once "system/class.comment.php"; + require_once "system/class.comments.php"; + require_once "system/class.comments-index.php"; + require_once "system/class.comments-users.php"; + require_once "system/class.comments-votes.php"; + require_once "system/class.snicker.php"; + require_once "includes/autoload.php"; + } else { + $Snicker = new Snicker(); + $SnickerIndex = new CommentsIndex(); + $SnickerUsers = new CommentsUsers(); + $SnickerVotes = new CommentsVotes(); + $this->request(); + } + return true; + } + return false; + } + + +## +## API METHODs +## + + /* + | API :: HANDLE RESPONSE + | @since 0.1.0 + | + | @param array The response data, which MUST contain at least the status: + | "error" The error message (required). + | "success" The success message (required). + | + | :: NON-AJAX ONLY + | "referer" A referer URL (The current URL is used, if not present) + | + | :: AJAX-BASED ONLY + | :any Any additional data, which should return to the client. + | + | @return none This method calls the die(); method at any time! + */ + public function response($data = array(), $key = null){ + global $url; + + // Validate + if(isset($data["success"]) || isset($data["error"])){ + $status = isset($data["success"]); + } else { + $status = false; + $data["error"] = sn__("An unknown error occured!"); + } + + // POST Redirect + if($this->backendRequest !== "ajax"){ + if($status){ + $key = empty($key)? "snicker-success": $key; + Alert::set($data["success"], ALERT_STATUS_OK, $key); + } else { + $key = empty($key)? "snicker-alert": $key; + Alert::set($data["error"], ALERT_STATUS_FAIL, $key); + } + + if($data["referer"]){ + Redirect::url($data["referer"]); + } else { + $action = isset($_GET["snicker"])? $_GET["snicker"]: $_POST["snicker"]; + Redirect::url(HTML_PATH_ADMIN_ROOT . $url->slug() . "#{$action}"); + } + die(); + } + + // AJAX Print + if(!is_array($data)){ + $data = array(); + } + $data["status"] = ($status)? "success": "error"; + $data = json_encode($data); + + header("Content-Type: application/json"); + header("Content-Length: " . strlen($data)); + print($data); + die(); + } + + /* + | API :: HANDLE REQUESTS + | @since 0.1.0 + | @update 0.1.1 + */ + public function request(){ + global $login, $security, $url, $Snicker; + + // Get POST/GET Request + if(isset($_POST["action"]) && $_POST["action"] === "snicker"){ + $data = $_POST; + $this->backendRequest = "post"; + } else if(isset($_GET["action"]) && $_GET["action"] === "snicker"){ + $data = $_GET; + $this->backendRequest = "get"; + } + if(!(isset($data) && isset($data["snicker"]))){ + $this->backendRequest = null; + return null; + } + + // Get AJAX Request + $ajax = "HTTP_X_REQUESTED_WITH"; + if(strpos($url->slug(), "snicker/ajax") === 0){ + if(isset($_SERVER[$ajax]) && $_SERVER[$ajax] === "XMLHttpRequest"){ + $this->backendRequest = "ajax"; + } else { + return Redirect::url(HTML_PATH_ADMIN_ROOT . "snicker/"); + } + } else if(isset($_SERVER[$ajax]) && $_SERVER[$ajax] === "XMLHttpRequest"){ + print("Invalid AJAX Call"); die(); + } + if($this->backendRequest === "ajax" && !sn_config("frontend_template")){ + print("AJAX Calls has been disabled"); die(); + } + + // Start Session + if(!Session::started()){ + Session::start(); + } + + $key = null; + if(in_array($data["snicker"], array("add", "edit", "delete", "config", "users", "backup", "moderate"))){ + $key = "alert"; + } + + // Check CSRF Token + if(!empty($key)){ + if(!isset($data["tokenCSRF"])){ + return $this->response(array( + "error" => sn__("The CSRF Token is missing!") + )); + } + if(!$security->validateTokenCSRF($data["tokenCSRF"])){ + return $this->response(array( + "error" => sn__("The CSRF Token is invalid!") + )); + } + } + + // Check Permissions + if(!empty($key)){ + if(!is_a($login, "Login")){ + $login = new Login(); + } + if(!$login->isLogged()){ + return $this->response(array( + "error" => sn__("You don't have the permission to call this action!") + )); + } + if($login->role() !== "admin"){ + return $this->response(array( + "error" => sn__("You don't have the permission to perform this action!") + )); + } + } + + // Route + switch($data["snicker"]){ + case "comment": //@fallthrough + case "reply": //@fallthrough + case "add": + return $Snicker->writeComment($data["comment"], $key); + /* case "update": */ //@todo User can edit his own comments + case "edit": + return $Snicker->editComment($data["uid"], $data["comment"], $key); + /* case "remove": */ //@todo User can delete his own comments + case "delete": + return $Snicker->deleteComment($data["uid"], $key); + case "moderate": + return $Snicker->moderateComment($data["uid"], $data["status"], $key); + case "list": //@fallthrough + case "get": + return $Snicker->renderComment($data); + case "rate": + return $Snicker->rateComment($data["uid"], $data["type"]); + case "users": + return $this->user($data); + case "configure": + return $this->config($data); + case "backup": + return $this->backup(); + case "captcha": + return $this->response(array( + "success" => sn__("The Captcha Image could be successfully created!"), + "captcha" => $Snicker->generateCaptcha(150, 40, true) + )); + } + return $this->response(array( + "error" => sn__("The passed action is unknown or invalid!") + ), "alert"); + } + + /* + | API :: HANDLE USERs + | @since 0.1.0 + */ + private function user($data){ + global $SnickerIndex, $SnickerUsers; + + // Validate Data + if(!isset($data["uuid"]) || !isset($data["handle"])){ + return $this->response(array( + "error" => sn__("An unknown error is occured!") + ), "alert"); + } + + // Validata UUID + if(!$SnickerUsers->exists($data["uuid"])){ + return $this->response(array( + "error" => sn__("An unique user ID does not exist!") + ), "alert"); + } + + // Handle + if($data["handle"] === "delete"){ + $comments = $SnickerUsers->db[$data["uuid"]]["comments"]; + foreach($comments AS $uid){ + if(!$SnickerIndex->exists($uid)){ + continue; + } + $index = $SnickerIndex->getComment($uid); + $comment = new Comments($index["page_uuid"]); + + if(isset($data["anonymize"]) && $data["anonymize"] === "true"){ + $comment = new Comments($index["page_uuid"]); + $comment->edit($uid, array("author" => "anonymous")); + } else { + $comment = new Comments($index["page_uuid"]); + $comment->delete($uid); + } + } + $status = $SnickerUsers->delete($data["uuid"]); + } else if($data["handle"] === "block"){ + $status = $SnickerUsers->edit($data["uuid"], null, null, true); + } else if($data["handle"] === "unblock"){ + $status = $SnickerUsers->edit($data["uuid"], null, null, false); + } + + // Redirect + if(!isset($status)){ + return $this->response(array( + "error" => sn__("The passed action is unknown or invalid!") + ), "alert"); + } + if($status === false){ + return $this->response(array( + "error" => sn__("An unknown error is occured!") + ), "alert"); + } + return $this->response(array( + "success" => sn__("The action has been performed successfully!") + ), "alert"); + } + + /* + | API :: HANDLE CONFIGURATION + | @since 0.1.0 + | @update 0.2.0 + */ + private function config($data){ + global $pages, $Snicker; + $config = array(); + + // Validations + $text = array("frontend_recaptcha_public", "frontend_recaptcha_private"); + $numbers = array("comment_limit", "comment_depth", "frontend_per_page"); + $selects = array( + "comment_title" => array("optional", "required", "disabled"), + "comment_vote_storage" => array("cookie", "session", "database"), + "frontend_captcha" => array("disabled", "purecaptcha", "gregwar", "recaptchav2", "recaptchav3"), + "frontend_avatar" => array("gravatar", "identicon", "static", "initials"), + "frontend_gravatar" => array("mp", "identicon", "monsterid", "wavatar", "retro", "robohash", "blank"), + "frontend_filter" => array("disabled", "pageBegin", "pageEnd", "siteBodyBegin", "siteBodyEnd"), + "frontend_order" => array("date_desc", "date_asc"), + "frontend_form" => array("top", "bottom") + ); + $emails = array("subscription_from", "subscription_reply"); + $pageid = array("frontend_terms", "subscription_optin", "subscription_ticker"); + + // Loop DB Fields + foreach($this->dbFields AS $field => $value){ + if(!isset($data[$field])){ + $config[$field] = is_bool($value)? false: ""; + continue; + } + + // Sanitize Booleans + if(is_bool($value)){ + $config[$field] = ($data[$field] === "true" || $data[$field] === true); + continue; + } + + // Sanitize Numbers + if(in_array($field, $numbers)){ + if($data[$field] < 0 || !is_numeric($data[$field])){ + $config[$field] = 0; + } + $config[$field] = (int) $data[$field]; + continue; + } + + // Sanitize Selection + if(array_key_exists($field, $selects)){ + if(in_array($data[$field], $selects[$field])){ + $config[$field] = $data[$field]; + } else { + $config[$field] = $value; + } + continue; + } + + // Sanitize eMails + if(in_array($field, $emails)){ + if(Valid::email($data[$field])){ + $config[$field] = Sanitize::email($data[$field]); + } else { + $config[$field] = $value; + } + continue; + } + + // Sanitize Pages + if(in_array($field, $pageid)){ + $default = in_array($data[$field], array("default", "disabled")); + if($default || $pages->exists($data[$field])){ + $config[$field] = $data[$field]; + } else { + $config[$field] = $value; + } + continue; + } + + // Sanitize Template + if($field == "frontend_template"){ + if($Snicker->hasTheme($data[$field])){ + $config[$field] = $data[$field]; + } else { + $config[$field] = $value; + } + continue; + } + + // Sanitize Strings + if(strpos($field, "string_") === 0 || in_array($field, $text)){ + $config[$field] = Sanitize::html(strip_tags($data[$field])); + if(empty($config[$field])){ + $config[$field] = $value; + } + continue; + } + } + + // Save & Return + $this->db = array_merge($this->db, $config); + if(!$this->save()){ + return $this->response(array( + "error" => sn__("An unknown error is occured!") + ), "alert"); + } + return $this->response(array( + "success" => sn__("The settings has been updated successfully!") + ), "alert"); + } + + /* + | API :: CREATE BACKUP + | @since 0.1.0 + */ + private function backup(){ + $filename = "snicker-backup-" . time() . ".zip"; + + // Create Backup + $zip = new PIT\Zip(); + $zip->addFolder($this->workspace(), "/", true, true); + $zip->save(PATH_TMP . $filename); + + // Return + return $this->response(array( + "success" => sn__("The backup has been created successfully!"), + "referer" => DOMAIN_ADMIN . "uninstall-plugin/SnickerPlugin" + ), "alert"); + } + + +## +## BACKEND HOOKs +## + + /* + | HOOK :: INIT ADMINISTRATION + | @since 0.1.0 + */ + public function beforeAdminLoad(){ + global $url; + + // Check if the current View is the "snicker" + if(strpos($url->slug(), "snicker") !== 0){ + return false; + } + checkRole(array("admin")); + + // Set Backend View + $split = str_replace("snicker", "", trim($url->slug(), "/")); + if(!empty($split) && $split !== "/" && isset($_GET["uid"])){ + $this->backendView = "edit"; + } else { + $this->backendView = "index"; + } + } + + /* + | HOOK :: LOAD ADMINISTRATION FILES + | @since 0.1.0 + */ + public function adminHead(){ + global $page, $security, $url; + + $js = SNICKER_DOMAIN . "admin/js/"; + $css = SNICKER_DOMAIN . "admin/css/"; + $slug = explode("/", str_replace(HTML_PATH_ADMIN_ROOT, "", $url->uri())); + + // Admin Header + ob_start(); + if($slug[0] === "new-content" || $slug[0] === "edit-content"){ + ?> + + + + + getTokenCSRF(); + ?> + + backend || !$this->backendView){ + return false; + } + ob_start(); + } + + /* + | HOOK :: AFTER ADMIN CONTENT + | @since 0.1.0 + */ + public function adminBodyEnd(){ + global $url, $SnickerPlugin; + if(!$this->backend || !$this->backendView){ + $slug = explode("/", str_replace(HTML_PATH_ADMIN_ROOT, "", $url->uri())); + if($slug[0] === "plugins"){ + ?> +

+ backendView}.php")){ + require SNICKER_PATH . "admin" . DS . "{$this->backendView}.php"; + $add = ob_get_contents(); + } + ob_end_clean(); + + // Inject Code + if(isset($add) && !empty($add)){ + $regexp = "#(\
)(.*?)(\<\/div\>)#s"; + $content = preg_replace($regexp, "$1{$add}$3", $content); + } + print($content); + } + + /* + | HOOK :: SHOW SIDEBAR MENU + | @since 0.1.0 + */ + public function adminSidebar(){ + global $SnickerIndex; + + $count = $SnickerIndex->count("pending"); + $count = ($count > 99)? "99+": $count; + + ob_start(); + ?> + + Snicker + + + + + published() && !empty($page->uuid())){ + $comments = new Comments($page->uuid()); + } else { + $comments = false; + } + } + + /* + | HOOK :: FRONTEND HEADER + | @since 0.1.0 + */ + public function siteHead(){ + global $Snicker; + + if(($theme = $Snicker->getTheme()) === false){ + return false; + } + if(!empty($theme::SNICKER_JS)){ + $file = SNICKER_DOMAIN . "themes/" . sn_config("frontend_template") . "/" . $theme::SNICKER_JS; + ?> + + + + + + render()); + } + + /* + | HOOK :: FRONTEND CONTENT + | @since 0.1.0 + */ + public function pageBegin(){ + global $Snicker; + if(sn_config("frontend_filter") !== "pageBegin"){ + return false; // Owo + } + print($Snicker->render()); + } + + /* + | HOOK :: FRONTEND CONTENT + | @since 0.1.0 + */ + public function pageEnd(){ + global $Snicker; + if(sn_config("frontend_filter") !== "pageEnd"){ + return false; // owO + } + print($Snicker->render()); + } + + /* + | HOOK :: FRONTEND CONTENT + | @since 0.1.0 + */ + public function siteBodyEnd(){ + global $Snicker; + if(sn_config("frontend_filter") !== "siteBodyEnd"){ + return false; // OwO + } + print($Snicker->render()); + } + } diff --git a/system/abstract.comments-theme.php b/system/abstract.comments-theme.php new file mode 100644 index 0000000..e5ba5d3 --- /dev/null +++ b/system/abstract.comments-theme.php @@ -0,0 +1,46 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + abstract class CommentsTheme{ + /* + | REQUIRED :: FORM + | @note This method renders the comment form used on the frontend. + | + | @param multi The previously passed username (on errors only) + | An `array(username, hash, nickname)` array if the user is logged in. + | @param string The previously passed email address (on errors only)! + | @param string The previously passed comment title (on errors only)! + | @param string The previously passed comment message (on errors only)! + */ + abstract public function form($username = "", $email = "", $title = "", $message = ""); + + /* + | REQUIRED :: COMMENT + | @note This method renders the single shown comments on the frontend. + | + | @param object The comment instance. + | @param string The unique comment UID. + */ + abstract public function comment($comment, $uid, $depth); + + /* + | REQUIRED :: PAGINATION + | @note This method renders the pagination for the comment section. + | + | @param string The called location: "top" or "bottom". + | @param int The current comment page.<, startin with 1. + | @param int The number of comments to be shown per page. + | @param int The total number of comments for the content page. + */ + abstract public function pagination($loction, $cpage, $limit, $count); + } diff --git a/system/class.comment.php b/system/class.comment.php new file mode 100644 index 0000000..d638114 --- /dev/null +++ b/system/class.comment.php @@ -0,0 +1,494 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + class Comment{ + /* + | CONSTRUCTOR + | @since 0.1.0 + | + | @param multi The unique comment id or FALSE. + | @param multi The unique page comment ID. + */ + public function __construct($uid, $uuid){ + $this->vars["uid"] = $uid; + if($uid === false){ + $row = array( + "type" => "comment", + "depth" => 1, + "title" => "", + "comment" => "", + "rating" => [0, 0], + "page_uuid" => "", + "parent_uid" => "", + "author" => "", + "subscribe" => false, + "date" => "", + "dateModified" => "", + "dateAudit" => "", + "custom" => array() + ); + } else { + $comments = new Comments($uuid); + if(Text::isEmpty($uid) || !$comments->exists($uid)){ + // @todo Throw Error + } + $row = $comments->getCommentDB($uid); + } + + // Set Class + foreach($row AS $field => $value){ + if(strpos($field, "date") === 0){ + $this->vars["{$field}Raw"] = $value; + } else { + $this->vars[$field] = $value; + } + } + } + + /* + | PUBLIC :: GET VALUE + | @since 0.1.0 + | + | @param string The unique field key. + | @param multi The default value, which should return if the field key doesnt exist. + | + | @multi multi The respective field value on success, $default otherwise. + */ + public function getValue($field, $default = false){ + if(isset($this->vars[$field])){ + return $this->vars[$field]; + } + return $default; + } + + /* + | PUBLIC :: SET FIELD + | @since 0.1.0 + | + | @param string The unique field key. + | @param multi The respective field value, which you want to set. + | + | @return bool TRUE + */ + public function setField($field, $value = NULL){ + if(is_array($field)){ + foreach($field AS $k => $v){ + $this->setField($k, $v); + } + return true; + } + $this->vars[$field] = $value; + return true; + } + + + /* + | FIELD :: COMMENT RAW + | @since 0.1.0 + | + | @return string The (sanitized) raw content on success, FALSE on failure. + */ + public function commentRaw(){ + return $this->getValue("comment"); + } + + /* + | FIELD :: COMMENT + | @since 0.1.0 + | + | @return string The (sanitized) content on success, FALSE on failure. + */ + public function comment(){ + $content = $this->getValue("comment"); + if(sn_config("comment_markup_html")){ + $content = Sanitize::htmlDecode($content); + } + if(sn_config("comment_markup_markdown")){ + $parsedown = new Parsedown(); + $content = $parsedown->text($content); + } + return $content; + } + + /* + | FIELD :: GET UID + | @since 0.1.0 + */ + public function uid(){ + return $this->getValue("uid"); + } + public function key(){ + return $this->getValue("uid"); + } + + /* + | FIELD :: GET (COMMENT FILE) PATH + | @since 0.1.0 + */ + public function path(){ + return PATH_PAGES . $this->getValue("page_key") . DS . "comments"; + } + + /* + | FIELD :: GET (COMMENT FILE) PATH / FILE + | @since 0.1.0 + */ + public function file(){ + return $this->path() . DS . "c_" . $this->getValue("uid") . ".php"; + } + + /* + | FIELD :: GET TYPE + | @since 0.1.0 + */ + public function type(){ + return $this->getValue("type"); + } + public function isComment(){ + return $this->getValue("type") === "comment"; + } + public function isReply(){ + return $this->getValue("type") === "reply"; + } + public function isPingback(){ + return $this->getValue("type") === "pingback"; + } + + /* + | FIELD :: GET DEPTH + | @since 0.1.0 + */ + public function depth(){ + return (int) $this->getValue("depth"); + } + + /* + | FIELD :: TITLE + | @since 0.1.0 + | + | @param bool TRUE to sanitize the content, FALSE to return it plain. + | + | @return string The respective comment title as STRING. + */ + public function title($sanitize = true){ + if($sanitize){ + return Sanitize::html($this->getValue("title")); + } + return $this->getValue("title"); + } + + /* + | FIELD :: GET STATUS + | @since 0.1.0 + */ + public function status(){ + return $this->getValue("status"); + } + public function isPending(){ + return $this->getValue("status") === "pending"; + } + public function isPublic(){ + return $this->getValue("status") === "approved"; + } + public function isApproved(){ + return $this->getValue("status") === "approved"; + } + public function isRejected(){ + return $this->getValue("status") === "rejected"; + } + public function isSpam(){ + return $this->getValue("status") === "spam"; + } + + /* + | FIELD :: GET RATING + | @since 0.1.0 + */ + public function rating(){ + return $this->getValue("rating"); + } + + /* + | FIELD :: GET LIKE + | @since 0.1.0 + */ + public function like(){ + $rating = $this->getValue("rating"); + if(is_array($rating) && count($rating) >= 1){ + return $rating[0]; + } + return 0; + } + + /* + | FIELD :: GET DISLIKE + | @since 0.1.0 + */ + public function dislike(){ + $rating = $this->getValue("rating"); + if(is_array($rating) && count($rating) >= 2){ + return $rating[1]; + } + return 0; + } + + /* + | FIELD :: GET PAGE KEY + | @since 0.1.0 + */ + public function page_key(){ + return $this->getValue("page_key"); + } + + /* + | FIELD :: GET PAGE UUID + | @since 0.1.0 + */ + public function page_uuid(){ + return $this->getValue("page_uuid"); + } + + /* + | FIELD :: GET PARENT UID + | @since 0.1.0 + */ + public function parent_uid(){ + return $this->getValue("parent_uid"); + } + + /* + | FIELD :: GET PARENT + | @since 0.1.0 + */ + public function parent(){ + global $comments; + if($comments->exists($this->getValue("parent_uid"))){ + return new Comment($this->getValue("parent_uid")); + } + return false; + } + + /* + | FIELD :: GET CHILDREN + | @since 0.1.0 + | + | @param multi The single comment status which should return, multiple as ARRAY. + | Use `null` to return each children comment. + | @param string The return type, which allows the following strings: + | "uids" Return just the respective UID / keys + | "keys" Return just the respective UID / keys + | "objects" Return single Comment instances + | "arrays" Return the unformatted DB arrays + | + | @return multi FALSE on error, the respective array on succes. + */ + public function children($status = "approved", $return = "objects"){ + global $comments; + + // Check Parameter + if(is_string($status)){ + $status = array($status); + } + if(!is_array($status) && $status !== null){ + return false; + } + + // Get Children + $return = array(); + foreach($this->getDB(false) AS $uid => $value){ + if($value["parent"] !== $this->getValue("uid")){ + continue; + } + if(is_array($status) && !in_array($value["status"], $status)){ + continue; + } + + if($return === "uids" || $return == "keys"){ + $return[] = $uid; + } else if($return === "objects"){ + $return[$uid] = new Comment($uid); + } else { + $return[$uid] = $value; + } + } + return $return; + } + + /* + | FIELD :: GET UUID + | @since 0.1.0 + */ + public function uuid(){ + return $this->getValue("uuid"); + } + + /* + | FIELD :: GET USERNAME + | @since 0.1.0 + */ + public function username(){ + global $L, $users, $SnickerUsers; + + list($type, $id) = array_pad(explode("::", $this->getValue("author"), 2), 2, null); + switch($type){ + case "bludit": + if(!$users->exists($id)){ + break; + } + $user = new User($id); + return $user->nickname(); + case "guest": + if(!$SnickerUsers->exists($id)){ + break; + } + return $SnickerUsers->db[$id]["username"]; + case "unknown": + return $L->g("Unknown User"); + } + return false; + } + + /* + | FIELD :: GET EMAIL + | @since 0.1.0 + */ + public function email(){ + global $L, $users, $SnickerUsers; + + list($type, $id) = array_pad(explode("::", $this->getValue("author"), 2), 2, null); + switch($type){ + case "bludit": + if(!$users->exists($id)){ + break; + } + $user = new User($id); + return $user->email(); + case "guest": + if(!$SnickerUsers->exists($id)){ + break; + } + return $SnickerUsers->db[$id]["email"]; + case "unknown": + return "unknown@" . $_SERVER["SERVER_NAME"]; + } + return false; + } + + /* + | FIELD :: SUBSCRIBE + | @since 0.1.0 + */ + public function subscribe(){ + return $this->getValue("subscribe"); + } + public function hasSubscribed(){ + return $this->getValue("subscribe") === true; + } + + /* + | FIELD :: GET AVATAR + | @since 0.1.0 + */ + public function avatar($size = "64"){ + $user = $this->username(); + $email = md5(strtolower(trim($this->email()))); + $avatar = $this->avatar_url($size); + + // Force Profile Picture + $force = false; + if(sn_config("frontend_avatar_users")){ + $force = (strpos($avatar, DOMAIN_UPLOADS_PROFILES) !== false); + } + + // Return IMG Tag + if(sn_config("frontend_avatar") === "identicon" && !$force){ + return ''.$user.''; + } + return ''.$user.''; + } + + /* + | FIELD :: GET AVATAR URL + | @since 0.1.0 + */ + public function avatar_url($size = "64"){ + global $users; + + // Return Profile Picture + if(sn_config("frontend_avatar_users") && strpos($this->getValue("author"), "bludit") === 0){ + $username = substr($this->getValue("author"), strlen("bludit::")); + if($users->exists($username)){ + $user = new User($username); + if(($avatar = $user->profilePicture()) !== false){ + return $avatar; + } + } + } + + // Return Gravatar + if(sn_config("frontend_avatar") === "gravatar"){ + $hash = md5(strtolower(trim($this->email()))); + return "https://www.gravatar.com/avatar/{$hash}?s={$size}&d=" . sn_config("frontend_gravatar"); + } + + // Return Identicon + if(sn_config("frontend_avatar") === "identicon"){ + $hash = md5(strtolower(trim($this->email()))); + $ident = new Identicon\Identicon(); + return $ident->getImageDataUri($hash, $size); + } + + // Return Mystery Man + return SNICKER_DOMAIN . "includes/img/default-avatar.jpg"; + } + + /* + | FIELD :: GET / FORMAT DATE + | @since 0.1.0 + | + | @param string The respective format, which should be used for the output. + | + | @return string The formatted Date Output. + */ + public function date($format = false, $type = "date"){ + global $site; + $date = $this->getValue("{$type}Raw"); + return Date::format($date, DB_DATE_FORMAT, ($format? $format: $site->dateFormat())); + } + public function dateModified($format = false){ + return $this->date($format, "dateModified"); + } + public function dateAudit($format = false){ + return $this->date($format, "dateAudit"); + } + + /* + | FIELD :: GET CUSTOM + | @since 0.1.0 + | + | @param string The respective custom key, to get the value. + | Use `null` to get all custom values. + | + | @return multi The custom value, all customs as ARRAY or FALSE on failure. + */ + public function custom($key = NULL){ + $custom = $this->getValue("custom"); + if($key !== null){ + if(array_key_exists($key, $custom)){ + return $custom[$key]; + } + return false; + } + return $custom; + } + } diff --git a/system/class.comments-index.php b/system/class.comments-index.php new file mode 100644 index 0000000..f3f60fc --- /dev/null +++ b/system/class.comments-index.php @@ -0,0 +1,476 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + class CommentsIndex extends dbJSON{ + /* + | DATABASE FIELDS + */ + protected $dbFields = array( + "title" => "", // Comment Title + "excerpt" => "", // Comment Excerpt (142) + "status" => "", // Comment Status + "page_uuid" => "", // Comment Page UUID + "parent_uid" => "", // Comment Parent UID + "author" => "", // Comment Author (bludt::username or guest::uuid) + "date" => "" // Comment Date + ); + + /* + | CONSTRUCTOR + | @since 0.1.0 + */ + public function __construct(){ + parent::__construct(DB_SNICKER_INDEX); + if(!file_exists(DB_SNICKER_INDEX)){ + $this->db = array(); + $this->save(); + } + } + + /* + | OVERWRITE :: EXISTS + | @since 0.1.0 + */ + public function exists($uid){ + return array_key_exists($uid, $this->db); + } + + /* + | HELPER :: LIMIT LIST + | @since 0.1.0 + */ + private function limitList($list, $page, $limit){ + if($limit == -1){ + return $list; + } + $offset = $limit * (max($page, 1) - 1); + $count = min(($offset + $limit - 1), count($list)); + if($offset < 0 || $offset > $count){ + return false; + } + return array_slice($list, $offset, $limit, true); + } + + /* + | DATA :: GET PENDING INDEX + | @since 0.1.0 + | + | @param bool TRUE to just return the keys, FALSE to return the complete array. + | + | @return array All pending comments with basic comment data as ARRAY. + */ + public function getPending($keys = false){ + $db = array(); + foreach($this->db AS $key => $value){ + if(!isset($value["status"]) || empty($value["status"])){ + continue; + } + if($value["status"] === "pending"){ + $db[$key] = $value; + } + } + if($keys){ + return array_keys($db); + } + return $db; + } + + /* + | DATA :: GET APPROVED INDEX + | @since 0.1.0 + | + | @param bool TRUE to just return the keys, FALSE to return the complete array. + | + | @return array All approved comments with basic comment data as ARRAY. + */ + public function getApproved($keys = false){ + $db = array(); + foreach($this->db AS $key => $value){ + if(!isset($value["status"]) || empty($value["status"])){ + continue; + } + if($value["status"] === "approved"){ + $db[$key] = $value; + } + } + if($keys){ + return array_keys($db); + } + return $db; + } + + /* + | DATA :: GET REJECTED INDEX + | @since 0.1.0 + | + | @param bool TRUE to just return the keys, FALSE to return the complete array. + | + | @return array All rejected comments with basic comment data as ARRAY. + */ + public function getRejected($keys = false){ + $db = array(); + foreach($this->db AS $key => $value){ + if(!isset($value["status"]) || empty($value["status"])){ + continue; + } + if($value["status"] === "rejected"){ + $db[$key] = $value; + } + } + if($keys){ + return array_keys($db); + } + return $db; + } + + /* + | DATA :: GET SPAM INDEX + | @since 0.1.0 + | + | @param bool TRUE to just return the keys, FALSE to return the complete array. + | + | @return array All spam comments with basic comment data as ARRAY. + */ + public function getSpam($keys = false){ + $db = array(); + foreach($this->db AS $key => $value){ + if(!isset($value["status"]) || empty($value["status"])){ + continue; + } + if($value["status"] === "spam"){ + $db[$key] = $value; + } + } + if($keys){ + return array_keys($db); + } + return $db; + } + + /* + | DATA :: COUNT COMMENTS + | @since 0.1.0 + | + | @param multi A single comment status as STRING, multiple as ARRAY. + | Use `null` to count all comments. + | + | @return int The number of comments of the respective index. + */ + public function count($status = array("approved")){ + if($status === null){ + return count($this->db); + } + if(!is_array($status)){ + $status = array($status); + } + + $count = 0; + foreach($this->db AS $key => $value){ + if(!isset($value["status"]) || empty($value["status"])){ + continue; + } + if(in_array($value["status"], $status)){ + $count++; + } + } + return $count; + } + + /* + | DATA :: GET COMMENT + | @since 0.1.0 + | + | @param string The desired comment UID. + | + | @return multi The comment index array on success, FALSE on failure + */ + public function getComment($uid){ + return array_key_exists($uid, $this->db)? $this->db[$uid]: false; + } + + /* + | DATA :: LIST COMMENTS + | @since 0.1.0 + | + | @param multi A single comment status as STRING, multiple as ARRAY. + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | + | @return array The respective unique comment IDs as ARRAY, FALSE on failure. + */ + public function getList($status = array("approved"), $page = 1, $limit = -1){ + if($status === null){ + return count($this->db); + } + if(!is_array($status)){ + $status = array($status); + } + + // Get List + $list = array(); + foreach($this->db AS $key => $value){ + if(!isset($value["status"]) || empty($value["status"])){ + continue; + } + if(in_array($value["status"], $status)){ + $list[] = $key; + } + } + return $this->limitList($list, $page, $limit); + } + + /* + | DATA :: LIST COMMENTS BY UUID + | @since 0.1.0 + | + | @param multi A single page UUID as STRING, multiple as ARRAY. + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | + | @return array The respective unique comment IDs as ARRAY, FALSE on failure. + */ + public function getListByUUID($uuid, $page = 1, $limit = -1){ + if(!is_array($uuid)){ + $uuid = array($uuid); + } + + // Get List + $list = array(); + foreach($this->db AS $key => $value){ + if(!isset($value["page_uuid"]) || empty($value["page_uuid"])){ + continue; + } + if(in_array($value["page_uuid"], $uuid)){ + $list[] = $key; + } + } + return $this->limitList($list, $page, $limit); + } + + /* + | DATA :: LIST COMMENTS BY PARENT + | @since 0.1.0 + | + | @param multi A single comment UID as STRING. + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | + | @return array The respective unique comment IDs as ARRAY, FALSE on failure. + */ + public function getListByParent($uid, $page = 1, $limit = -1){ + if(!is_string($uid) || !$this->exists($uid)){ + return array(); + } + + // Get List + $list = array($uid); + foreach($this->db AS $key => $value){ + if(!isset($value["parent_uid"]) || empty($value["parent_uid"])){ + continue; + } + if($value["parent_uid"] === $uid){ + $list[] = $key; + } + } + return $this->limitList($list, $page, $limit); + } + + /* + | DATA :: LIST COMMENTS BY USER + | @since 0.1.0 + | + | @param string A single username, unique user id or eMail address. + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | + | @return array The respective unique comment IDs as ARRAY, FALSE on failure. + */ + public function getListByUser($string, $page = 1, $limit = -1){ + global $users, $SnickerUsers; + + // Get Member / Guest + $guest = false; + $member = false; + if(Valid::email($string)){ + if(($user = $users->getByEmail($string)) !== false){ + $member = "bludit::{$user}"; + } + } else { + if($users->exists($string)){ + $member = "bludit::{$string}"; + } + } + if(($user = $SnickerUsers->get($string)) !== false){ + $guest = "guest::{$user["uuid"]}"; + } + if(!$member && !$guest){ + return array(); + } + + // Get List + $list = array(); + foreach($this->db AS $key => $value){ + if(!isset($value["author"]) || empty($value["author"])){ + continue; + } + if($value["author"] == $member || $value["author"] == $guest){ + $list[] = $key; + } + } + return $this->limitList($list, $page, $limit); + } + + /* + | DATA :: SEARCH COMMENTS BY TITLE & EXCERPT + | @since 0.1.0 + | + | @param string The string to be searched. + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | + | @return array The respective unique comment IDs as ARRAY, FALSE on failure. + */ + public function searchComments($search, $page = 1, $limit = -1){ + $list = array(); + foreach($this->db AS $key => $value){ + if(isset($value["title"]) && stripos($value["title"], $search) !== false){ + $list[] = $key; + } else if(isset($value["excerpt"]) && stripos($value["excerpt"], $search) !== false){ + $list[] = $key; + } + } + return $this->limitList($list, $page, $limit); + } + + + /* + | HANDLE :: ADD COMMENT + | @since 0.1.0 + | + | @param string The unique comment ID. + | @param array The comment array. + | + | @return bool TRUE if everything is fluffy, FALSE if not. + */ + public function add($uid, $comment){ + $row = array(); + foreach($this->dbFields AS $field => $value){ + if(isset($comment[$field])){ + $final = is_string($comment[$field])? Sanitize::html($comment[$field]): $comment[$field]; + } else { + $final = $value; + } + settype($final, gettype($value)); + $row[$field] = $final; + } + + // Format Excerpt + $row["excerpt"] = strip_tags($comment["comment"]); + if(strlen($row["excerpt"]) > 142){ + $row["excerpt"] = substr($row["excerpt"], 0, 139) . "..."; + } + + // Insert and Return + $this->db[$uid] = $row; + $this->sortBy(); + if($this->save() !== true){ + Log::set(__METHOD__, "error-update-db"); + return false; + } + return true; + } + + /* + | HANDLE :: UPDATE COMMENT + | @since 0.1.0 + | + | @param string The unique comment ID. + | @param array The comment array. + | + | @return bool TRUE if everything is fluffy, FALSE if not. + */ + public function edit($uid, $comment){ + if(!$this->exists($uid)){ + $this->log(__METHOD__, "error-comment-uid", array($uid)); + return false; + } + $data = $this->db[$uid]; + + // Loop Fields + $row = array(); + foreach($this->dbFields AS $field => $value){ + if(isset($comment[$field])){ + $final = is_string($comment[$field])? Sanitize::html($comment[$field]): $comments[$field]; + } else { + $final = $data[$field]; + } + settype($final, gettype($value)); + $row[$field] = $final; + } + + // Format Excerpt + $row["excerpt"] = strip_tags($comment["comment"]); + if(strlen($row["excerpt"]) > 142){ + $row["excerpt"] = substr($row["excerpt"], 0, 139) . "..."; + } + + // Update and Return + $this->db[$uid] = $row; + if($this->save() !== true){ + Log::set(__METHOD__, "error-update-db"); + return false; + } + return true; + } + + /* + | HANDLE :: DELETE COMMENT + | @since 0.1.0 + | + | @param string The unique comment ID. + | + | @return bool TRUE if everything is fluffy, FALSE if not. + */ + public function delete($uid){ + if(!$this->exists($uid)){ + return false; + } + unset($this->db[$uid]); + if($this->save() !== true){ + Log::set(__METHOD__, "error-update-db"); + return false; + } + return true; + } + + /* + | INTERNAL :: SORT COMMENTS + | @since 0.1.0 + | + | @return bool TRUE + */ + public function sortBy(){ + global $SnickerPlugin; + + if($SnickerPlugin->getValue("frontend_order") === "date_asc"){ + uasort($this->db, function($a, $b){ + return $a["date"] > $b["date"]; + }); + } else if($SnickerPlugin->getValue("frontend_order") === "date_desc"){ + uasort($this->db, function($a, $b){ + return $a["date"] < $b["date"]; + }); + } + return true; + } + } diff --git a/system/class.comments-users.php b/system/class.comments-users.php new file mode 100644 index 0000000..a67f374 --- /dev/null +++ b/system/class.comments-users.php @@ -0,0 +1,392 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + class CommentsUsers extends dbJSON{ + /* + | DATABASE FIELDS + */ + protected $dbFields = array( + "username" => "", // Username + "email" => "", // User eMail Address + "hash" => "", // Hashed IP + User Agent + "blocked" => false, // Blocked? + "comments" => array() // Page UIDs => array(CommentUIDs) + ); + + /* + | CONSTRUCTOR + | @since 0.1.0 + */ + public function __construct(){ + parent::__construct(DB_SNICKER_USERS); + if(!file_exists(DB_SNICKER_USERS)){ + $this->db = array(); + $this->save(); + } + } + + /* + | GET COMMENTS BY UNIQUE USER ID + | @since 0.1.0 + | + | @param string The unique user ID as string (or the user eMail address). + | @param bool TRUE to just return the keys, FALSE to return it as Comment objects. + | + | @return multi The comment keys / objects as ARRAY, FALSE on failure. + */ + public function getComments($uuid, $keys = true){ + global $Snicker; + + // Validate Data + if(Valid::email($uuid) !== false){ + $uuid = md5(strtolower(Sanitize::email($uuid))); + } + if(!array_key_exists($uuid, $this->db)){ + return false; + } + + // Return Keys + $data = $this->db[$uuid]["comments"]; + if($keys === true){ + return $data; + } + + // Return Objects + foreach($data AS &$key){ + $key = $Snicker->getComment($key); + } + return $key; + } + + /* + | EXISTS + | @since 0.1.0 + */ + public function exists($uid){ + return isset($this->db[$uid]); + } + + /* + | GET USER BY UUID + | @since 0.1.0 + | + | @param string The unique user ID as string (or the user eMail address). + | + | @return multi The user database array on success, FALSE on failure. + */ + public function get($uuid){ + if(Valid::email($uuid) !== false){ + $uuid = md5(strtolower(Sanitize::email($uuid))); + } + if(!array_key_exists($uuid, $this->db)){ + return false; + } + $data = $this->db[$uuid]; + $data["uuid"] = $uuid; + return $data; + } + + /* + | GET CURRENT USER ID + | @since 0.1.0 + | + | @return multi The user UUID on success, FALSE on failure. + */ + public function getCurrent(){ + global $security; + $hash = md5($security->getUserIp() . $_SERVER["HTTP_USER_AGENT"]); + foreach($this->db AS $uuid => $fields){ + if($fields["hash"] === $hash){ + return $uuid; + } + } + return false; + } + + /* + | GET USER + | @since 0.1.0 + | + | @param string Get the user by Comment Author STRING. + | + | @return multi The user data array on success, FALSE on failure. + */ + public function getByString($string){ + global $users; + + // Check User Instance + if(strpos($string, "bludit::") === 0){ + $username = substr($string, strlen("bludit::")); + if($users->exists($username)){ + $user = $users->getUserDB($username); + $user["username"] = $user["nickname"]; + return $user; + } + return false; + } + + // Check Guest Instance + if(strpos($string, "guest::") === 0){ + $uuid = substr($string, strlen("guest::")); + if($this->exists($uuid)){ + return $this->db[$uuid]; + } + return false; + } + + // Return as Anonymous + return array( + "username" => "Anonymous", + "email" => "anonymous@" . $_SERVER["SERVER_NAME"] + ); + } + + /* + | GET LIST + | @since 0.1.0 + | + | @param string The string to be searched or NULL. + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | + | @return array The respective user keys with an ARRAY or FALSE on failure. + */ + public function getList($search = null, $page = 1, $limit = -1){ + if($search !== null){ + $list = array(); + foreach($this->db AS $uuid => $fields){ + if(stripos($fields["username"], $search) === false){ + continue; + } + if(stripos($fields["email"], $search) === false){ + continue; + } + $list[$uuid] = $fields; + } + } else { + $list = $this->db; + } + + // Limit + if($limit == -1){ + return $list; + } + + // Offset + $offset = $limit * ($page - 1); + $count = min(($offset + $limit - 1), count($list)); + if($offset < 0 || $offset > $count){ + return false; + } + return array_slice($list, $offset, $limit, true); + } + + /* + | MAIN USER HANDLER + | @since 0.1.0 + | + | @param string The username as STRING. + | @param string The email address as STRING. + | + | @return multi The (new) UUID on success, FALSE on failure. + */ + public function user($username, $email){ + global $security; + + // Validate Username + $username = Sanitize::html(strip_tags(trim($username))); + if(empty($username) || strlen($username) > 42){ + return false; + } + + // Validate eMail Address + $email = strtolower(Sanitize::email($email)); + if(empty($email) || Valid::email($email) === false){ + return false; + } + + // Check User + $uuid = md5($email); + if(array_key_exists($uuid, $this->db)){ + return $uuid; + } + + // Add User + $this->db[$uuid] = array( + "username" => $username, + "email" => $email, + "hash" => md5($security->getUserIp() . $_SERVER["HTTP_USER_AGENT"]), + "blocked" => false, + "comments" => array() + ); + if(!$this->save()){ + return false; + } + return $uuid; + } + public function add($username, $email, $meta = array()){ + return $this->user($username, $email, $meta); + } + + /* + | EDIT USER DATA + | @since 0.1.0 + | + | @param string The unique user ID as string (or the user eMail address). + | @param multi The new username (or NULL to keep the existing one). + | @param multi The new eMail address (or NULL to keep the existing one). + | ATTENTION: The new eMail address CANNOT be used already! + | ATTENTION: The new eMail address CHANGES the unique user id (UUID)! + | @param multi TRUE to block the user, FALSE to unblock, null to keep the current. + | + | @return multi The (new) UUID on success, FALSE on failure. + */ + public function edit($uuid, $username = null, $email = null, $blocked = null){ + if(Valid::email($uuid) !== false){ + $uuid = md5(strtolower(Sanitize::email($uuid))); + } + if(!array_key_exists($uuid, $this->db)){ + return false; + } + $data = $this->db[$uuid]; + + // Change Username + if($username !== null){ + $username = Sanitize::html(strip_tags(trim($username))); + if(empty($username) || strlen($username) > 42){ + return false; + } + $data["username"] = $username; + } + + // Change eMail + if($email !== null){ + $email = strtolower(Sanitize::email($uuid)); + if(Valid::email($email) === false){ + return false; + } + $data["email"] = $email; + $newuuid = md5($email); + } + + // Change Blocked + if(is_bool($blocked)){ + $data["blocked"] = $blocked; + } + + // Update UUID + if(isset($newuuid) && $uuid !== $newuuid){ + unset($this->db[$uuid]); + $uuid = $newuuid; + } + + // Store new Data + $this->db[$uuid] = $data; + if(!$this->save()){ + return false; + } + return $uuid; + } + + /* + | ADD COMMENT ID TO USER + | @since 0.1.0 + | + | @param string The unique user ID as string (or the user eMail address). + | @param string The unique comment ID as STRING. + | + | @return bool TRUE on success, FALSE on failure. + */ + public function addComment($uuid, $uid){ + if(Valid::email($uuid) !== false){ + $uuid = md5(strtolower(Sanitize::email($uuid))); + } + if(!array_key_exists($uuid, $this->db)){ + return false; + } + + // Add Comment UID + $user = $this->db[$uuid]; + if(!isset($user["comments"]) || !is_array($user["comments"])){ + $user["comments"] = array(); + } + if(!in_array($uid, $user["comments"])){ + $user["comments"][] = $uid; + } + + // Save & Return + $this->db[$uuid] = $user; + if(!$this->save()){ + return false; + } + return true; + } + + /* + | DELETE COMMENT ID TO USER + | @since 0.1.0 + | + | @param string The unique user ID as string (or the user eMail address). + | @param string The unique comment ID as STRING. + | + | @return bool TRUE on success, FALSE on failure. + */ + public function deleteComment($uuid, $uid){ + if(Valid::email($uuid) !== false){ + $uuid = md5(strtolower(Sanitize::email($uuid))); + } + if(!array_key_exists($uuid, $this->db)){ + return false; + } + + // Delete Comment UID + $user = $this->db[$uuid]; + if(!isset($user["comments"])){ + $user["comments"] = array(); + } + if(in_array($uid, $user["comments"])){ + unset($user["comments"][array_search($uid, $user["comments"])]); + } + + // Save & Return + $this->db[$uuid] = $user; + if(!$this->save()){ + return false; + } + return true; + } + + /* + | DELETE USER + | @since 0.1.0 + | + | @param string The unique user ID as string (or the user eMail address). + | + | @return bool TRUE on success, FALSE on failure. + */ + public function delete($uuid){ + if(Valid::email($uuid) !== false){ + $uuid = md5(strtolower(Sanitize::email($uuid))); + } + if(!array_key_exists($uuid, $this->db)){ + return false; + } + + // Delete & Return + unset($this->db[$uuid]); + if(!$this->save()){ + return false; + } + return true; + } + } diff --git a/system/class.comments-votes.php b/system/class.comments-votes.php new file mode 100644 index 0000000..52286b8 --- /dev/null +++ b/system/class.comments-votes.php @@ -0,0 +1,226 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + class CommentsVotes extends dbJSON{ + const KEY = "snicker-ratings"; + + /* + | DATABASE FIELDS + */ + protected $dbFields = array( ); + + /* + | CONSTRUCTOR + | @since 0.1.0 + */ + public function __construct(){ + parent::__construct(DB_SNICKER_VOTES); + if(!file_exists(DB_SNICKER_VOTES)){ + $this->db = array(); + $this->save(); + } + } + + /* + | HANDLE :: CURRENT USER + | @since 0.1.0 + */ + public function currentUser(){ + global $login, $security; + + if(!is_a($login, "Login")){ + $login = new Login(); + } + + // Get Current User + if($login->isLogged()){ + return "bludit::" . $login->username(); + } + return "guest::" . md5($security->getUserIp() . $_SERVER["HTTP_USER_AGENT"]); + } + + /* + | HANDLE :: HAS VOTED + | @since 0.1.0 + */ + public function hasVoted($uid, $vote = null){ + $user = $this->currentUser(); + $config = sn_config("comment_vote_storage"); + + // Database Storage + $db = strpos($user, "bludit::") === 0 || $config === "database"; + if($db){ + if(!array_key_exists($user, $this->db)){ + return false; + } + $data = $this->db[$user]; + } else { + $store = ($config == "cookie")? "Cookie": "Session"; + $data = $store::get(self::KEY); + $data = !empty($data)? @unserialize($data): false; + if(!is_array($data)){ + return false; + } + } + + // Check Data + if(!array_key_exists($uid, $data)){ + return false; + } + return ($vote === null || $data[$uid] === $vote); + } + public function hasLiked($uid){ + return $this->hasVoted($uid, "like"); + } + public function hasDisliked($uid){ + return $this->hasVoted($uid, "dislike"); + } + + /* + | HANDLE :: ADD NEW COMMENT VOTING + | @since 0.1.0 + */ + public function add($uid, $vote = "like"){ + $user = $this->currentUser(); + $config = sn_config("comment_vote_storage"); + + // Database Storage + $db = strpos($user, "bludit::") === 0 || $config === "database"; + if($db){ + if(!array_key_exists($user, $this->db)){ + $this->db[$user] = array(); + } + if(array_key_exists($uid, $this->db[$user])){ + return false; + } + $this->db[$user][$uid] = $vote; + return $this->save() !== false; + } + + // Cookie | Session Storage + $store = ($config == "cookie")? "Cookie": "Session"; + $data = $store::get(self::KEY); + $data = !empty($data)? @unserialize($data): false; + if(is_array($data)){ + if(array_key_exists($uid, $data)){ + return false; + } + } else { + $data = array(); + } + $data[$uid] = $vote; + $store::set(self::KEY, serialize($data)); + return true; + } + + /* + | HANDLE :: EDIT COMMENT VOTING + | @since 0.1.0 + */ + public function edit($uid, $vote = "like"){ + $user = $this->currentUser(); + $config = sn_config("comment_vote_storage"); + + // Database Storage + $db = strpos($user, "bludit::") === 0 || $config === "database"; + if($db){ + if(!array_key_exists($user, $this->db)){ + $this->db[$user] = array(); + } + if(array_key_exists($uid, $this->db[$user]) && $this->db[$user][$uid] === $vote){ + return false; + } + $this->db[$user][$uid] = $vote; + return $this->save() !== false; + } + + // Cookie | Session Storage + $store = ($config == "cookie")? "Cookie": "Session"; + $data = $store::get(self::KEY); + $data = !empty($data)? @unserialize($data): false; + if(is_array($data)){ + if(array_key_exists($uid, $data) && $data[$uid] === $vote){ + return false; + } + } else { + $data = array(); + } + $data[$uid] = $vote; + $store::set(self::KEY, serialize($data)); + return true; + } + + /* + | HANDLE :: DELETE COMMENT VOTING + | @since 0.1.0 + */ + public function delete($uid){ + $user = $this->currentUser(); + $config = sn_config("comment_vote_storage"); + + // Database Storage + $db = strpos($user, "bludit::") === 0 || $config === "database"; + if($db){ + if(!array_key_exists($user, $this->db)){ + return true; + } + if(!array_key_exists($uid, $this->db[$user])){ + return true; + } + unset($this->db[$user][$uid]); + return $this->save() !== false; + } + + // Cookie | Session Storage + $store = ($config == "cookie")? "Cookie": "Session"; + $data = $store::get(self::KEY); + $data = !empty($data)? @unserialize($data): false; + if(!is_array($data)){ + return true; + } + if(!array_key_exists($uid, $data)){ + return true; + } + unset($data[$uid]); + $store::set(self::KEY, serialize($data)); + return true; + } + + /* + | HANDLE :: DELETE BY USER + | @since 0.1.0 + */ + public function deleteByUser($user){ + $config = sn_config("comment_vote_storage"); + + // Database Storage + $db = strpos($user, "bludit::") === 0 || $config === "database"; + if($db){ + if(!array_key_exists($user, $this->db)){ + return true; + } + unset($this->db[$user]); + return $this->save() !== false; + } + + // Cookie | Session Storage + $store = ($config == "cookie")? "Cookie": "Session"; + $data = $store::get(self::KEY); + $data = !empty($data)? @unserialize($data): false; + if(!is_array($data)){ + return true; + } + $store::set(self::KEY, serialize(array())); + return true; + } + } diff --git a/system/class.comments.php b/system/class.comments.php new file mode 100644 index 0000000..502e498 --- /dev/null +++ b/system/class.comments.php @@ -0,0 +1,564 @@ + + | @version 0.1.2 [0.1.0] - Alpha + | + | @website https://github.com/pytesNET/snicker + | @license X11 / MIT License + | @copyright Copyright © 2019 SamBrishes, pytesNET + */ + if(!defined("BLUDIT")){ die("Go directly to Jail. Do not pass Go. Do not collect 200 Cookies!"); } + + class Comments extends dbJSON{ + /* + | PAGE UUID + */ + protected $uuid; + + /* + | DATABASE FIELDS + */ + protected $dbFields = array( + "type" => "comment", // Comment Type ("comment", "reply", "pingback") + "depth" => 1, // Comment Depth (starting with 1) + "title" => "", // Comment Title + "status" => "", // Comment Status ("pending", "approved", "rejected", "spam") + "comment" => "", // Comment Content + "rating" => [0, 0], // Comment Rating + "page_uuid" => "", // Comment Page UUID + "parent_uid" => "", // Comment Parent UID + + "author" => "", // Comment Author (bludt::username or guest::uuid) + "subscribe" => false, // eMail Subscription + + "date" => "", // Date Comment Written + "dateModified" => "", // Date Comment Modified + "dateAudit" => "", // Date Comment Audit + "custom" => array(), // Custom Data + ); + + /* + | CONSTRUCTOR + | @since 0.1.0 + | + | @param string The UUID of the respective page. + */ + public function __construct($uuid){ + global $pages; + + // Get Page + if($pages->getByUUID($uuid) === false){ + $error = "The Page UUID couldn't be found in the database [{$uuid}]"; + Log::set(__METHOD__ . LOG_SEP . $error); + throw new Exception($error); + } + $this->uuid = $uuid; + parent::__construct(DB_SNICKER_COMMENTS . "comments-{$uuid}.php"); + } + + /* + | HELPER :: FILL LOG FILE + | @since 0.1.0 + | + | @param string The respective method for the log (Use __METHOD__) + | @param string The respective error message to be logged. + | @param array Additional values AS array for the `vsprintf` function. + */ + private function log($method, $string, $args){ + $strings = array( + "error-comment-uid" => "The comment UID is invalid or does not exist [%s]", + "error-page-uuid" => "The page uuid is invalid or does not exist [%s]", + "error-create-dir" => "The comment directory could not be created [%s]", + "error-create-file" => "The comment file could not be created [%s]", + "error-comment-file" => "The comment file does not exist [%s]", + "error-comment-update" => "The comment file could not be updated [%s]", + "error-comment-remove" => "The comment file could not be deleted [%s]", + "error-update-db" => "The comment database could not be updated" + ); + if(array_key_exists($string, $strings)){ + $string = $strings[$string]; + } + Log::set($method . LOG_SEP . vsprintf("Error occured: {$string}", $args), LOG_TYPE_ERROR); + } + + /* + | HELPER :: GENERATE UNIQUE COMMENT ID + | @since 0.1.0 + */ + private function generateUID(){ + if(function_exists("random_bytes")){ + return md5(bin2hex(random_bytes(16)) . time()); + } else if(function_exists("openssl_random_pseudo_bytes")){ + return md5(bin2hex(openssl_random_pseudo_bytes(16)) . time()); + } + return md5(uniqid() . time()); + } + + + /* + | PUBLIC :: GET DEFAULT FIELDS + | @since 0.1.0 + | + | @return array An array with all default fields and values per entry. + */ + public function getDefaultFields(){ + return $this->dbFields; + } + + + /* + | DATA :: GET DATABASE + | @since 0.1.0 + | + | @param bool TRUE to just return the keys, FALSE to return the complete DB. + | + | @return array The complete database entries (or keys) within an ARRAY. + */ + public function getDB($keys = true){ + return ($keys)? array_keys($this->db): $this->db; + } + + /* + | DATA :: CHECK IF COMMENT ITEM EXISTS + | @since 0.1.0 + | + | @param string The unique comment ID. + | + | @return bool TRUE if the comment ID exists, FALSE if not. + */ + public function exists($uid){ + return isset($this->db[$uid]); + } + + /* + | DATA :: GET COMMENT ITEM + | @since 0.1.0 + | + | @param string The unique comment ID. + | + | @return array The comment data array on success, FALSE on failure. + */ + public function getCommentDB($uid){ + return ($this->exists($uid))? $this->db[$uid]: false; + } + + /* + | DATA :: LIST COMMENTS + | @since 0.1.0 + | + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | @param multi The desired comment type as STRING, multiple as ARRAY. + | Pass `null` to get each comment type. + | @param multi The desired comment status as STRING, multiple as ARRAY. + | Pass `null` to get each comment status. + | + | @return array The respective database keys with an ARRAY or FALSE on failure. + */ + public function getList($page, $limit, $type = array("comment", "reply"), $status = array("approved")){ + $type = is_string($type)? array($type): $type; + if(!is_array($type)){ + $type = null; + } + + $status = is_string($status)? array($status): $status; + if(!is_array($status)){ + $type = null; + } + + // Format List + $list = array(); + foreach($this->db AS $key => $fields){ + if($type !== null && !in_array($fields["type"], $type)){ + continue; + } + if($status !== null && !in_array($fields["status"], $status)){ + continue; + } + array_push($list, $key); + } + + // Limit + if($limit == -1){ + return $list; + } + + // Offset + $offset = $limit * ($page - 1); + $count = min(($offset + $limit - 1), count($list)); + if($offset < 0 || $offset > $count){ + return false; + } + return array_slice($list, $offset, $limit, true); + } + + /* + | DATA :: GENERATE A DEPTH LIST + | @since 0.1.0 + | + | @param int The current comment page number, starting with 1. + | @param int The number of comments to be shown per page. + | @param multi The desired comment type as STRING, multiple as ARRAY. + | Pass `null` to get each comment type. + | @param multi The desired comment status as STRING, multiple as ARRAY. + | Pass `null` to get each comment status. + | + | @return array The respective database keys with an ARRAY or FALSE on failure. + */ + public function getDepthList($page, $limit, $type = array("comment", "reply"), $status = array("approved")){ + global $login, $SnickerUsers; + $this->sortBy(); + + // Validate Parameters + $type = is_string($type)? array($type): $type; + if(!is_array($type)){ + $type = null; + } + $status = is_string($status)? array($status): $status; + if(!is_array($status)){ + $type = null; + } + + // Get User Pending + if(in_array("pending", $status)){ + if(!is_a($login, "Login")){ + $login = new Login(); + } + if($login->isLogged()){ + $user = "bludit::" . $login->username(); + } else { + if(($user = $SnickerUsers->getCurrent()) !== false){ + $user = "guest::" . $user; + } + } + } + + // Format List + $list = array(); + $children = array(); + foreach($this->db AS $key => $fields){ + if($type !== null && !in_array($fields["type"], $type)){ + continue; + } + if($status !== null && !in_array($fields["status"], $status)){ + continue; + } + if($fields["status"] === "pending" && $fields["author"] !== $user){ + continue; + } + + if(!empty($fields["parent_uid"])){ + if(!array_key_exists($fields["parent_uid"], $children)){ + $children[$fields["parent_uid"]] = array(); + } + array_push($children[$fields["parent_uid"]], $key); + } else { + array_push($list, $key); + } + } + + // Offset + $count = 0; + $offset = $limit * ($page - 1); + for(; $count < $offset ;){ + $key = array_shift($list); + + $count++; + if(array_key_exists($key, $children)){ + $count += count($children[$key]); + unset($children[$key]); + } + } + + // Generator + $count = 0; + foreach($list AS $key){ + if($count >= $limit){ + break; + } + + $count++; + yield $key; + if(!array_key_exists($key, $children)){ + continue; + } + + $loop = $key; + $depth = array(); + while(true){ + if(empty($depth) && empty($children[$key])){ + break; + } + if(array_key_exists($loop, $children) && count($children[$loop]) > 0){ + array_push($depth, $loop); + $loop = array_shift($children[$loop]); + $count++; + yield $loop; + } else { + $loop = array_pop($depth); + continue; + } + } + } + } + + /* + | DATA :: COUNT COMMENTS + | @since 0.1.0 + | + | @param multi The desired comment type as STRING, multiple as ARRAY. + | Pass `null` to get each comment type. + | + | @return int The total number of comments. + */ + public function count($type = array("comment", "reply")){ + $type = is_string($type)? array($type): $type; + if(!is_array($type)){ + $type = null; + } + + // Count All + if($type === null){ + return count($this->db); + } + + // Count + $count = 0; + foreach($this->db AS $key => $fields){ + if(!in_array($fields["type"], $type)){ + continue; + } + $count++; + } + return $count; + } + + + /* + | HANDLE :: ADD A NEW COMMENT + | @since 0.1.0 + | + | @param array The respective comment array. + | + | @return multi The comment UID on success, FALSE on failure. + */ + public function add($args){ + global $SnickerIndex, $SnickerUsers; + + // Loop Default Fields + $row = array(); + foreach($this->dbFields AS $field => $value){ + if(isset($args[$field])){ + $final = $args[$field]; + } else { + $final = $value; + } + settype($final, gettype($value)); + $row[$field] = $final; + } + + // Create (U)UIDs + $uid = $this->generateUID(); + $row["page_uuid"] = $this->uuid; + + // Validate Parent UID + if(!empty($row["parent_uid"]) && !$this->exists($row["parent_uid"])){ + $row["parent_uid"] = null; + } + + // Validate Type and Depth + if(!empty($row["parent_uid"])){ + $row["type"] = "reply"; + $row["depth"] = $this->db[$row["parent_uid"]]["depth"] + 1; + } else { + $row["type"] = "comment"; + $row["depth"] = 1; + } + + // Validata Status + if(!in_array($row["status"], array("pending", "approved", "rejected", "spam"))){ + $row["status"] = "pending"; + } + + // Sanitize Strings + $row["title"] = Sanitize::html(strip_tags($row["title"])); + $row["author"] = Sanitize::html($row["author"]); + + // Sanitize Comment + $allowed = "




"; + $allowed .= "