diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..9a90d45a7c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*.{md,txt}] +trim_trailing_whitespace = true \ No newline at end of file diff --git a/.gitignore b/.gitignore index b8f29353c4..a19789916c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ Icon? ehthumbs.db Thumbs.db /images/* -/images/!.gitignore +/images/!.htaccess /files/* /files/!.htaccess /themes/* diff --git a/HISTORY.txt b/HISTORY.txt index 8b40961323..b3418d2568 100644 --- a/HISTORY.txt +++ b/HISTORY.txt @@ -1,12 +1,53 @@ -Changes in 4.9.1 (upcoming) - +Textpattern CMS + +Changes in 5.0.0 (upcoming) + +* Vendors: jQuery 4.0.0. +* Vendors: jQuery Migrate 4.0.2. + +Changes in 4.9.2 (upcoming) + +* Maintenance release with security enhancements, general improvements and + bug fixes. +* Fixed: Allow upload of plugins where filename length exceeds PHP_MAXPATHLEN. +* Fixed: Recursive use of . +* Fixed: Deleting image(s) deletes corresponding thumbnails (thanks, wet). +* Fixed: FROM_UNIXTIME(0) timestamp handling on some MySQL/MariaDB versions. +* Fixed: Improved exif_read_data() handling (thanks, towndock). +* Fixed: Theme import with invalid JSON manifest. +* Added: 'aspect' ratio output from tag. +* Added: Copy to clipboard feature for Diagnostics and Setup info. +* Changed: Article 'uid' uses Tiger-192,3 instead of MD5. +* Developer: Added 'uid' to global $thisarticle array. +* Vendors: DOMPurify 3.4.13. + +Changes in 4.9.1 (14 Feb 2026) + +* Maintenance release with security enhancements, general improvements and + bug fixes. +* Security: Resolved access control regression with articles. Many thanks to + Federico Frascino. Refer to CVE-2026-30452 for additional information. +* Security: Resolved admin-side XSS vulnerability. Many thanks to + Jan Jeffrie Galvez Salloman, aka '0xj4n'. Refer to CVE-2026-29906 for + additional information. * Changed: (Article)Image tags only output dimensions on demand. * Changed: skips empty images/thumbnails. * Changed: Valueless width/height/crop behaviour in (Article)Image tags. -* Changed: Thumb path now permits virtual/multiple host setups too. -* Fixed: PHP 5.6 support. Thanks, pinalgirkar. +* Changed: Thumb path now permits virtual/multiple host setups. +* Changed: Use publisher email and fallback if no/invalid sender is supplied + (thanks, jools-r). +* Fixed: Fatal error with UNIXTIME() changes in MariaDB 11.8+. * Fixed: Dynamic thumbnail MIME detection (thanks, rezozero/ambroisemaupate). +* Fixed: PHP 5.6 support (thanks, pinalgirkar). +* Fixed: Show template content even if theme is deleted (thanks, Mark Goodwin). * Fixed: Correct admin theme file scaffold for dynamic thumbnails. +* Fixed: Reintroduce 'No' indicator if thumbnail is missing in Images list + panel (thanks, wet and phiw13). +* Fixed: Duplicate action only available for existing content. +* Fixed: Assets created with no timestamp use time of creation, not Unix epoch. +* Fixed: Internal errors with password reset email sending on PHP 8.5. +* Added: (Article)Image thumbnails can output any supported format. +* Vendors: jQuery UI 1.14.2. Changes in 4.9.0 (21 Dec 2025) @@ -473,7 +514,7 @@ Changes in 4.8.0 (25 Feb 2020) * Developer: Multiple forms can be fetched at once. * Developer: txp.article > neighbour.criteria callback on Write panel. * Developer: Please register plugin tags or they will not work in future. -* Performance optimizations via cacheing and preloading frequent content. +* Performance optimizations via caching and preloading frequent content. * Textile 3.7.6. See https://github.com/textile/php-textile/releases/tag/v3.7.6 for full list of changes in this release (thanks, gocom). * jQuery 3.4.1. @@ -1149,7 +1190,7 @@ Changes in 4.2.0 (17 Sep 2009) * Fixed: Tag builders for and . * Fixed: Bogus "Article tags cannot be used outside an article context" warning in -branch of . -* Fixed: Removed superflous & encoding for article titles in +* Fixed: Removed superfluous & encoding for article titles in . * Fixed: uses "class" and "wraptag" attributes as intended. * New tag: (thanks: Rick Silletti). diff --git a/INSTALL.txt b/INSTALL.txt index 33e6d719ee..c016b4bcd8 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,4 +1,4 @@ -Textpattern CMS 4.9.0 +Textpattern CMS 4.9.1 == Install == diff --git a/README.md b/README.md index 42675e08ce..03adbc7e3a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Textpattern CMS [![Crowdin](https://badges.crowdin.net/textpattern-cms-textpacks/localized.svg)](https://crowdin.com/project/textpattern-cms-textpacks) -[![Known Vulnerabilities](https://snyk.io/test/github/textpattern/textpattern/badge.svg)](https://snyk.io/test/github/textpattern/textpattern/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/textpattern)](https://github.com/sponsors/textpattern) Textpattern Logo @@ -28,15 +27,15 @@ Ensure the server meets or exceeds the [system requirements](https://textpattern ## Download Textpattern -The current production release is version 4.9.0. It can be downloaded from the Textpattern website or GitHub in .zip, .tar.gz, and .tar.xz varieties. +The current production release is version 4.9.1. It can be downloaded from the Textpattern website or GitHub in .zip, .tar.gz, and .tar.xz varieties. If you want to use the multi-site functionality in Textpattern, get the .tar.gz or .tar.xz archive. | | textpattern.com | GitHub | |--------|:-------:|:-----:| -| .zip | [Download](https://textpattern.com/file_download/124/textpattern-4.9.0.zip) | [Download](https://github.com/textpattern/textpattern/releases/download/4.9.0/textpattern-4.9.0.zip) | -| .tar.gz | [Download](https://textpattern.com/file_download/125/textpattern-4.9.0.tar.gz) | [Download](https://github.com/textpattern/textpattern/releases/download/4.9.0/textpattern-4.9.0.tar.gz) | -| .tar.xz | [Download](https://textpattern.com/file_download/126/textpattern-4.9.0.tar.xz) | [Download](https://github.com/textpattern/textpattern/releases/download/4.9.0/textpattern-4.9.0.tar.xz) | +| .zip | [Download](https://textpattern.com/file_download/127/textpattern-4.9.1.zip) | [Download](https://github.com/textpattern/textpattern/releases/download/4.9.1/textpattern-4.9.1.zip) | +| .tar.gz | [Download](https://textpattern.com/file_download/128/textpattern-4.9.1.tar.gz) | [Download](https://github.com/textpattern/textpattern/releases/download/4.9.1/textpattern-4.9.1.tar.gz) | +| .tar.xz | [Download](https://textpattern.com/file_download/129/textpattern-4.9.1.tar.xz) | [Download](https://github.com/textpattern/textpattern/releases/download/4.9.1/textpattern-4.9.1.tar.xz) | ## Install Textpattern @@ -78,7 +77,7 @@ Note that versions listed may change multiple times during the development proce ## Contributing -Please refer to the [contributing documentation](https://github.com/textpattern/textpattern/blob/dev/CONTRIBUTING.md) for more details of Textpattern development. +Please refer to the [contributing documentation](https://github.com/textpattern/textpattern/blob/dev/CONTRIBUTING.md) for more details of Textpattern development. ## Additional development tools diff --git a/README.txt b/README.txt index 12e125b89e..36ffeb4d3d 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -Textpattern CMS 4.9.0 +Textpattern CMS 4.9.1 Released under the GNU General Public License. See LICENSE.txt for terms and conditions. diff --git a/SECURITY.md b/SECURITY.md index 9b29815c02..3bb05486a3 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,10 +6,13 @@ We welcome reports from security researchers and organisations. Before proceedin https://textpattern.com/weblog/security-considerations-and-user-privileges-in-textpattern -If you wish to report a Textpattern security issue please ensure that you’ve taken care of the following security precautions: +If you wish to report a Textpattern security issue please ensure that you have taken care of the following security precautions: * Take steps to ensure any vulnerability or issue is not due to a third party script, malfunctioning server, or insufficient security precautions taken by you or your server admin (such as weak passwords, for example). -* Report any and all security vulnerabilities to us first. Do not publicly disclose information about potential security bugs. It’s unhelpful, and can be damaging. We follow the RFPolicy 2.0, and expect you to in return. +* Report any and all security vulnerabilities to us first. Do not publicly disclose information about potential security bugs. It’s unhelpful, and can be damaging. We follow Full Disclosure Policy (RFPolicy) v2.0, and expect you to in return. The policy can be found here: + + https://wiretrip.net/rfp/policy.html + * Allow us a reasonable amount of time to assess and correct the issue before sharing details with others or otherwise making details public. * Provide details as to the nature of the vulnerability, and examples of the steps to replicate it. * As we are a free, open-source project run by volunteers, we do not offer monetary rewards or provide ‘bug bounties’ for discovering and/or reporting security issues. All security reports should be considered free of charge and voluntary on your part. Thank you for your understanding. diff --git a/UPGRADE.txt b/UPGRADE.txt index 037b7fab8a..e5ddb27bdc 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -1,4 +1,4 @@ -Textpattern CMS 4.9.0 +Textpattern CMS 4.9.1 == Upgrade == diff --git a/package.json b/package.json index 07af311cf9..d1b9a7966e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "textpattern", "title": "Textpattern CMS", - "version": "4.9.1-dev", + "version": "5.0.0-dev", "description": "A flexible, elegant, fast and easy-to-use content management system written in PHP.", "author": "Team Textpattern", "homepage": "https://textpattern.com/", @@ -22,15 +22,16 @@ "url": "https://github.com/textpattern/textpattern/issues" }, "devDependencies": { - "eslint": "~9", + "eslint": "~10", "phplint": "~2", "uglify-js": "3.19.3" }, "dependencies": { "blueimp-file-upload": "10.32.0", - "dompurify": "3.3.1", - "jquery": "3.7.1", - "jquery-ui": "1.14.1", + "dompurify": "3.4.13", + "jquery": "4.0.0", + "jquery-migrate": "4.0.2", + "jquery-ui": "1.14.2", "prismjs": "1.30.0" }, "eslintConfig": { @@ -61,6 +62,7 @@ "copy:blueimp-file-upload": "uglifyjs -c -m -o textpattern/vendors/blueimp/fileupload/jquery.fileupload.js node_modules/blueimp-file-upload/js/jquery.fileupload.js", "copy:dompurify": "rimraf textpattern/vendors/cure53/DOMPurify/purify.js && cp node_modules/dompurify/dist/purify.min.js textpattern/vendors/cure53/DOMPurify/purify.js", "copy:jquery": "rimraf textpattern/vendors/jquery/jquery/jquery.js && cp node_modules/jquery/dist/jquery.min.js textpattern/vendors/jquery/jquery/jquery.js", + "copy:jquery-migrate": "rimraf textpattern/vendors/jquery/jquery-migrate/*.* && cp node_modules/jquery-migrate/dist/*.* textpattern/vendors/jquery/jquery-migrate/ && cp node_modules/jquery-migrate/LICENSE.txt textpattern/vendors/jquery/jquery-migrate/", "copy:jquery-ui": "rimraf textpattern/vendors/jquery/jquery-ui/jquery-ui.js && cp node_modules/jquery-ui/dist/jquery-ui.min.js textpattern/vendors/jquery/jquery-ui/jquery-ui.js", "copy:prismjs": "uglifyjs -c -m -o textpattern/vendors/PrismJS/prism/prism.js node_modules/prismjs/prism.js node_modules/prismjs/components/prism-markup-templating.js node_modules/prismjs/components/prism-bash.js node_modules/prismjs/components/prism-json.js node_modules/prismjs/components/prism-markdown.js node_modules/prismjs/components/prism-php.js node_modules/prismjs/components/prism-textile.js", "copy:textile": "sh .github/copy-textile.sh", diff --git a/rpc/TXP_RPCServer.php b/rpc/TXP_RPCServer.php index 9537c81dce..6964a7c9b8 100644 --- a/rpc/TXP_RPCServer.php +++ b/rpc/TXP_RPCServer.php @@ -192,7 +192,7 @@ function __construct() 'mt.supportedTextFilters', 'this:mt_supportedTextFilters', array('array'), - 'return the format filters suported by the server.' + 'return the format filters supported by the server.' ); $this->addCallback( 'mt.getPostCategories', @@ -533,7 +533,7 @@ function blogger_getPost($params) return new IXR_Error(100, gTxt('bad_login')); } - $rs = $txp->getArticleID($postid, 'ID, Body, AuthorId, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) as uPosted'); + $rs = $txp->getArticleID($postid, 'ID, Body, AuthorId, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) as uPosted'); if (!$rs) { return new IXR_Error(205, gTxt('problem_retrieving_article')); @@ -579,7 +579,7 @@ function blogger_getRecentPosts($params) return new IXR_Error(100, gTxt('bad_login')); } - $articles = $txp->getArticleList('ID, Body, AuthorId, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) as uPosted', "Section='" . doSlash($blogid) . "'", '0', $numberOfPosts, false); + $articles = $txp->getArticleList('ID, Body, AuthorId, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) as uPosted', "Section='" . doSlash($blogid) . "'", '0', $numberOfPosts, false); if (false === $articles) { return new IXR_Error(207, gTxt('problem_getting_articles')); @@ -610,7 +610,7 @@ function metaWeblog_getPost($params) return new IXR_Error(100, gTxt('bad_login')); } - $rs = $txp->getArticleID($postid, 'ID, Title, Body, Excerpt, Annotate, Keywords, Section, Category1, Category2, textile_body, url_title, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) as uPosted'); + $rs = $txp->getArticleID($postid, 'ID, Title, Body, Excerpt, Annotate, Keywords, Section, Category1, Category2, textile_body, url_title, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) as uPosted'); if (!$rs) { return new IXR_Error(205, gTxt('problem_retrieving_article')); @@ -707,7 +707,7 @@ function metaWeblog_getRecentPosts($params) } $articles = $txp->getArticleList( - 'ID, Title, url_title, Body, Excerpt, Annotate, Keywords, Section, Category1, Category2, textile_body, AuthorID, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) as uPosted, Status', + 'ID, Title, url_title, Body, Excerpt, Annotate, Keywords, Section, Category1, Category2, textile_body, AuthorID, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) as uPosted, Status', "Section='" . doSlash($blogid) . "'", '0', $numberOfPosts, false ); @@ -739,7 +739,7 @@ function mt_getRecentPostTitles($params) return new IXR_Error(100, gTxt('bad_login')); } - $articles = $txp->getArticleList('ID, Title, AuthorID, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) as uPosted', "Section='" . doSlash($blogid) . "'", '0', $numberOfPosts, false); + $articles = $txp->getArticleList('ID, Title, AuthorID, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) as uPosted', "Section='" . doSlash($blogid) . "'", '0', $numberOfPosts, false); if (false === $articles) { return new IXR_Error(207, gTxt('problem_getting_articles')); @@ -916,37 +916,42 @@ function mt_uploadImage($params) list($blogid, $username, $password, $file) = $params; $txp = new TXP_Wrapper($username, $password); + if (!$txp->loggedin) { return new IXR_Error(100, gTxt('bad_login')); } - //Temp File Upload + // Temp File Upload. + $safeFile = sanitizeForFile($file['name']); $tempImageFolder = get_pref('tempdir'); - file_put_contents($tempImageFolder . $file['name'], $file['bits']); + file_put_contents($tempImageFolder . $safeFile, $file['bits']); - //Convert the file to the standard Textpattern input struct + // Convert the file to the standard Textpattern input struct. $newfile = array( - 'name' => $file['name'], + 'name' => $safeFile, 'error' => false, - 'tmp_name' => $tempImageFolder . $file['name'] - ); - $id = image_data($newfile, false, 0, false)[1]; //Move the file and input into database - $ext = end(explode('.', $file['name'])); //Get the uploaded filetype - - //case standardization - $id = strtolower($id); - $ext = strtolower($ext); - - //Jpeg standardization - if($ext == 'jpeg') - $ext = 'jpg'; - - //Return - $returnValue = array( - 'url' => DS . get_pref('img_dir') . DS . $id . '.' . $ext + 'tmp_name' => $tempImageFolder . $safeFile ); - return $returnValue; + $ret = image_data($newfile, false, 0, false); // Move the file and input into database. + + if (isset($ret[1]) && ($id = assert_int($ret[1]))) { + $ext = end(explode('.', $safeFile)); // Get the uploaded filetype. + $ext = strtolower($ext); + + // Jpeg standardization. + if ($ext == 'jpeg') { + $ext = 'jpg'; + } + + $returnValue = array( + 'url' => DS . get_pref('img_dir') . DS . $id . '.' . $ext + ); + + return $returnValue; + } else { + return new IXR_Error(205, gTxt('problem_adding_image')); + } } // Code refactoring for blogger_newPost and blogger_editPost. diff --git a/sites/site1/admin/textpattern.js b/sites/site1/admin/textpattern.js index bb15671953..1b4c33278f 100755 --- a/sites/site1/admin/textpattern.js +++ b/sites/site1/admin/textpattern.js @@ -27,7 +27,7 @@ * Collection of client-side tools. */ -textpattern.version = '4.9.1-dev'; +textpattern.version = '5.0.0-dev'; /** * Ascertain the page direction (LTR or RTL) as a variable. diff --git a/textpattern/admin-themes/classic/assets/css/print.css b/textpattern/admin-themes/classic/assets/css/print.css index e8d42c4c11..11666b8591 100644 --- a/textpattern/admin-themes/classic/assets/css/print.css +++ b/textpattern/admin-themes/classic/assets/css/print.css @@ -1 +1 @@ -*,:after,:before{background:#0000;box-shadow:none;color:#000;text-shadow:none}html{font-size:8pt;line-height:1.5}body{font-family:sans-serif}#content_switcher,#view_modes,.messagepane,.multi-edit,.pophelp,.pophelpsubtle,.txp-actions,.txp-control-panel,.txp-footer,.txp-header,.txp-list-col-multi-edit,.txp-list-options,.txp-navigation,.txp-search,audio,nav,video{display:none}a{text-decoration:none}.code,code,kbd,pre,samp,var{font-family:monospace}pre{white-space:pre-wrap}blockquote,pre{border:1px solid #000}blockquote,img,pre{page-break-inside:avoid}input,table,textarea{border:1px solid #000}thead{display:table-header-group}tr{page-break-inside:avoid}h1,h2,h3,h4,h5,h6,p{orphans:2;widows:2}h1,h2,h3,h4,h5,h6{page-break-after:avoid}.txp-tabs-vertical-group.ui-tabs-panel{display:block!important} \ No newline at end of file +*,:after,:before{background:#0000;box-shadow:none;color:#000;text-shadow:none}html{font-size:8pt;line-height:1.5}body{font-family:sans-serif}#content_switcher,#view_modes,.messagepane,.multi-edit,.pophelp,.pophelpsubtle,.txp-actions,.txp-control-panel,.txp-footer,.txp-header,.txp-list-col-multi-edit,.txp-list-options,.txp-navigation,.txp-search,audio,nav,video{display:none}a{text-decoration:none}.code,code,kbd,pre,samp,var{font-family:monospace}pre{white-space:pre-wrap}blockquote,pre{border:1px solid #000}blockquote,img,pre{break-inside:avoid}input,table,textarea{border:1px solid #000}thead{display:table-header-group}tr{break-inside:avoid}h1,h2,h3,h4,h5,h6,p{orphans:2;widows:2}h1,h2,h3,h4,h5,h6{break-after:avoid}.txp-tabs-vertical-group.ui-tabs-panel{display:block!important} \ No newline at end of file diff --git a/textpattern/admin-themes/classic/assets/css/textpattern.css b/textpattern/admin-themes/classic/assets/css/textpattern.css index a6047359a7..c9083cd2bf 100644 --- a/textpattern/admin-themes/classic/assets/css/textpattern.css +++ b/textpattern/admin-themes/classic/assets/css/textpattern.css @@ -1 +1 @@ -a{color:var(--clr-a);text-decoration:none;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;touch-action:manipulation}a:active,a:hover{color:var(--clr-a-interact);text-decoration:underline}a:focus{outline:thin solid var(--clr-focus)}a.busy{visibility:hidden}.pophelp,.pophelpsubtle,.txp-list thead th a.pophelp{display:inline-block}[dir=rtl] a{unicode-bidi:embed}.txp-skip-link{background-color:var(--clr-bkgd-box);left:0;padding:.25em .5em;position:absolute;top:0;transform:translateY(-5em);transition:transform .2s ease-in-out;z-index:1001}.txp-skip-link:active,.txp-skip-link:focus{transform:translateY(0)}[dir=rtl] .txp-skip-link{left:auto;right:1px}html{font-size:13px;line-height:1.5384615;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable both-edges}body{font-family:var(--font-body)}h1{font-family:var(--font-heading);font-size:2rem;font-weight:400;line-height:1.2307692;margin:0 0 .5em}h1 .pophelp{font-family:var(--font-body);font-size:1rem}h2{font-family:var(--font-heading);font-size:1.3846154rem;font-weight:400;line-height:1.3333333;margin:.5em 0 .7222222em}h2 .pophelp{font-family:var(--font-body);font-size:1rem}h3{font-family:var(--font-heading);font-size:1.1538462rem;line-height:1.4;margin:.8666667em 0}h3 a{font-weight:700}h4,h5,h6{font-size:1rem;margin:1em 0}b,strong{font-weight:700}address,blockquote{margin:1em 0}blockquote{border-inline-start:3px solid var(--clr-brdr);padding:0;padding-inline-start:1em}abbr[title]{border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}mark,var{background:var(--clr-selected);color:var(--clr-text);padding:1px .2307692em}.code,code,kbd,pre,samp{direction:ltr;font-family:var(--font-code);text-align:left;unicode-bidi:isolate}code,kbd,samp{padding:1px .2307692em}code,kbd,pre,samp{background:var(--clr-bkgd-box);border:1px solid var(--clr-brdr-lite)}pre{margin:1em 0;overflow-x:auto;padding:1em;word-wrap:normal;tab-size:4}.code code,code.body,code.excerpt,pre code{background:none;border:0;hyphens:none;padding:0;text-align:left;word-wrap:normal;white-space:pre;word-break:normal;word-spacing:normal}sub,sup,sup.footnote{font-size:.75em;line-height:0;position:relative;vertical-align:initial}sup{top:-.5em}sub{bottom:-.3333333em}.footnote,.txp-form-field-instructions,figcaption,small,tfoot{font-size:11px;line-height:1.4545455}.footnote,.txp-form-field-instructions,figcaption,tfoot{color:var(--clr-text-demoted)}figcaption{font-style:italic;margin-top:.5em}[dir=ltr],[dir=rtl]{unicode-bidi:isolate}bdo[dir=ltr],bdo[dir=rtl]{unicode-bidi:isolate-override}:lang(ja){font-family:Hiragino Sans,Hiragino Kaku Gothic Pro,Meiryo UI,sans-serif;font-weight:300}:lang(ko){font-family:GulimChe,Gulim,sans-serif}:lang(zh-cn){font-family:PingFang SC,SimHei,sans-serif}:lang(zh-tw){font-family:PingFang TC,PMingLiU,sans-serif}[lang|=ar] a:hover,[lang|=fa] a:hover,[lang|=ur] a:hover{text-decoration:none}img,video{height:auto;max-width:100%}img{vertical-align:middle}img.align-left{float:left;margin:1em;margin-inline-start:0}img.align-right{float:right;margin:1em;margin-inline-end:0}img.align-center{display:block;margin:1em auto}[dir=rtl] img.align-left{float:right}[dir=rtl] img.align-right{float:left}.content-image{background:var(--clr-bkgd);border:1px solid var(--clr-brdr)}a:hover .content-image{border-color:var(--clr-a-interact)}a:focus .content-image{border-color:var(--clr-focus)}.fullsize-image .content-image{max-height:85vh;object-fit:contain}li.success{background:var(--clr-success-bkgd)}.success:not(li){color:var(--clr-success-text)}li.warning{background:var(--clr-warning-bkgd)}.warning:not(li){color:var(--clr-warning-text)}li.error{background:var(--clr-error-bkgd)}.error:not(li){color:var(--clr-error-text)}li.information{background:var(--clr-info-bkgd)}.information:not(li){color:var(--clr-info-text)}.highlight{background:var(--clr-hilite-box)}.alert-block{border:1px solid;clear:both;padding:.5384615em 1em}.alert-block.success{background:var(--clr-success-bkgd);border-color:var(--clr-success-brdr)}.alert-block.warning{background:var(--clr-warning-bkgd);border-color:var(--clr-warning-brdr)}.alert-block.error{background:var(--clr-error-bkgd);border-color:var(--clr-error-brdr)}.alert-block.information{background:var(--clr-info-bkgd);border-color:var(--clr-info-brdr)}.alert-pill{display:inline-block;font-weight:400;padding:0 .33em}.messagepane{left:50%;max-width:100%;position:fixed;text-align:center;top:0;transform:translateX(-50%);z-index:1000}.messagepane .messageflash{border:1px solid;border-radius:0 0 .5em .5em;border-top:0;box-shadow:var(--standard-shadow);box-sizing:border-box;color:var(--clr-text-inversed);display:inline-block;margin:0 auto;max-width:100%;overflow-wrap:break-word;padding:.5384615em 3.5384615em;padding-inline-start:.75em;position:relative;text-align:start}.messagepane .messageflash.success{background:var(--clr-success-text);border-color:var(--clr-success-brdr)}.messagepane .messageflash.warning{background:var(--clr-warning-text);border-color:var(--clr-warning-brdr)}.messagepane .messageflash.error{background:var(--clr-error-text);border-color:var(--clr-error-brdr)}.messagepane a{color:var(--clr-text-inversed)}.messagepane code{background:#0000;border-color:#ffffffa8}.close{border-inline-start:1px solid #ffffffa8;bottom:.5em;position:absolute;right:0;width:2.5384615em}.close span{margin-top:-9px;opacity:.66;position:absolute;right:.6923077em;top:50%}.close span:hover{opacity:1}[dir=rtl] .close{left:0;right:auto}[dir=rtl] .close span{left:.6923077em;right:auto}.messageflash{animation:messageflash 1s}details{display:block}summary{cursor:pointer;display:list-item}summary:focus{outline:1px solid var(--clr-focus)}h3.txp-summary a{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 100'%3E%3Cpath fill='%23963' d='M1 7V0l4 3.5M0 96h7l-3.5 4'/%3E%3C/svg%3E") no-repeat 0 4px;background-size:7px 100px;padding:0;padding-inline-start:.8666667em}h3.txp-summary.expanded a{background-position:0 -90px}.txp-details .txp-listtables{margin:1em 0}.txp-details .txp-form-field.date,.txp-details .txp-form-field.time{display:inline-block;margin:0 0 1em}.txp-details .txp-form-field.date{margin-inline-end:1em}code[class*=language-],pre[class*=language-]{direction:ltr;hyphens:none;text-align:left;word-wrap:normal;white-space:pre;word-break:normal;word-spacing:normal}:not(pre)>code[class*=language-]{white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}fieldset{border:1px solid var(--clr-brdr);margin:1em 0;min-width:0;padding:1px 1em}legend{padding:0}button,input{touch-action:manipulation}.navlink,.navlink-active,.navlink-disabled,.txp-button,button,input,optgroup,select,textarea{box-sizing:border-box;color:var(--clr-text-form);font-family:var(--font-form);font-size:1rem;line-height:1.5384615;margin:0;max-width:100%;vertical-align:initial}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{appearance:none;background:var(--clr-bkgd-form);border:1px solid;border-color:var(--clr-brdr-form);border-radius:0;height:2.3076923em;padding:.3076923em}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{border-color:var(--clr-focus);outline:2px solid #0000}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]::-webkit-search-decoration{appearance:none}select{background:var(--clr-bkgd-form) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'%3E%3Cpath fill='%23777' d='M3.5 4 0 0h7z'/%3E%3C/svg%3E") right center no-repeat;background-size:1em .3076923em;padding-inline-end:1.3076923em;text-overflow:ellipsis;text-transform:none}select:hover{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'%3E%3Cpath d='M3.5 4 0 0h7z'/%3E%3C/svg%3E")}.txp-reduced-ui select{background-color:var(--clr-bkgd);border-color:var(--clr-bkgd)}.txp-reduced-ui select:focus{border-color:var(--clr-focus)}[dir=rtl] select{background-position:.4615385em}select[multiple],select[size]{background-image:none;box-sizing:border-box;height:auto;padding-inline-end:.3076923em;vertical-align:top}select[size="0"],select[size="1"]{height:2.3076923em}optgroup{font-style:normal;font-weight:700}textarea{height:auto;min-height:3em;resize:vertical;tab-size:4;vertical-align:top;width:100%}textarea.code{direction:ltr}input[size="32"]{max-width:30em;width:100%}input.input-large{width:100%}input.input-medium{max-width:14.4615385em;width:50%}input.input-small{max-width:7.6153846em;width:25%}input.input-xsmall{max-width:4.2307692em;width:16%}input.input-year{text-align:center;width:4.076923em}input.input-day,input.input-hour,input.input-minute,input.input-month,input.input-second{text-align:center;width:2.4615385em}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{border-color:var(--clr-error-text);box-shadow:none}input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:var(--clr-error-text);box-shadow:none}input:out-of-range,select:out-of-range,textarea:out-of-range{border-color:var(--clr-error-text);box-shadow:none}::placeholder{color:var(--clr-text-placeholder);font:inherit;font-weight:400;opacity:1}[type=checkbox],[type=radio]{padding:0}[type=checkbox]+label:not(.ui-controlgroup-item),[type=radio]+label:not(.ui-controlgroup-item){margin:0;margin-inline-end:.5em}[type=checkbox]+label:not(.ui-controlgroup-item):last-of-type,[type=radio]+label:not(.ui-controlgroup-item):last-of-type{margin-inline-end:0}[type=file]{appearance:none;background:var(--clr-bkgd-form);border:1px solid var(--clr-brdr);border-radius:0;box-sizing:border-box;cursor:pointer;height:auto;min-height:2.3076923em;padding:.3076923em}[type=file]:focus{border-color:var(--clr-focus);outline:2px solid #0000}::-webkit-file-upload-button{appearance:none;background:var(--clr-bkgd-form);border:0;color:var(--clr-text-btn);cursor:pointer;font:inherit;padding:0 .25em}[type=file]:hover::-webkit-file-upload-button{filter:brightness(1.05)}[type=file]:active::-webkit-file-upload-button{filter:brightness(.95)}.txp-input-range{display:flex}[type=range]+input.input-number-max100{margin-inline-start:.5em}[type=range]{appearance:none;background-color:initial;max-width:30em;vertical-align:initial;width:100%}[type=range]:focus{outline:0}[type=range]::-webkit-slider-thumb{appearance:none;background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr-dark);border-radius:50%;box-shadow:var(--standard-shadow);cursor:pointer;height:20px;margin-top:-5px;width:20px}[type=range]:hover::-webkit-slider-thumb{filter:brightness(1.05)}[type=range]:active::-webkit-slider-thumb{filter:brightness(.95)}[type=range]:focus::-webkit-slider-thumb{border-color:var(--clr-focus)}[type=range]::-webkit-slider-runnable-track{background-color:var(--clr-bkgd-form);border:1px solid var(--clr-brdr);box-sizing:border-box;cursor:pointer;height:12px;width:100%}[type=range]:hover::-webkit-slider-runnable-track{border-color:var(--clr-brdr-dark)}[type=range]:active::-webkit-slider-runnable-track,[type=range]:focus::-webkit-slider-runnable-track{border-color:var(--clr-focus)}[type=range]::-moz-range-thumb{appearance:none;background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr-dark);border-radius:50%;box-shadow:var(--standard-shadow);cursor:pointer;height:20px;width:20px}[type=range]:hover::-moz-range-thumb{filter:brightness(1.05)}[type=range]:active::-moz-range-thumb{filter:brightness(.95)}[type=range]:focus::-moz-range-thumb{border-color:var(--clr-focus)}[type=range]::-moz-range-track{background-color:var(--clr-bkgd-form);border:1px solid var(--clr-brdr);box-sizing:border-box;cursor:pointer;height:12px;width:100%}[type=range]:hover::-moz-range-track{border-color:var(--clr-brdr-dark)}[type=range]:focus::-moz-range-track{border-color:var(--clr-focus)}[type=range]::-moz-focus-outer{border-style:none}.navlink-disabled,.txp-button.disabled,.ui-checkboxradio-disabled,[disabled],[disabled] optgroup,[disabled] option,[inert]{background-color:var(--clr-bkgd-form-disabled)!important;border:1px solid var(--clr-brdr)!important;box-shadow:none!important;cursor:default!important;opacity:.33!important}button{text-transform:none}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}.navlink,.navlink-active,.txp-button,.txp-logout a,[type=reset],[type=submit],button,input[type=button]{appearance:none;background-clip:padding-box;background-color:var(--clr-btn-bkgd);border:1px solid;border-color:var(--clr-btn-brdr);color:var(--clr-text-btn);cursor:pointer;display:inline-block;font-weight:400;height:auto;padding:.3076923em .6153846em;text-align:center;-webkit-user-select:none;user-select:none;width:auto}.navlink-active:hover,.navlink:hover,.txp-button:hover,.txp-logout a:hover,[type=reset]:hover,[type=submit]:hover,button:hover,input[type=button]:hover{color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}.navlink-active:active,.navlink:active,.txp-button:active,.txp-logout a:active,[type=reset]:active,[type=submit]:active,button:active,input[type=button]:active{color:var(--clr-text-btn-active);filter:brightness(.95);text-decoration:none}.navlink-active:focus,.navlink:focus,.txp-button:focus,.txp-logout a:focus,[type=reset]:focus,[type=submit]:focus,button:focus,input[type=button]:focus{border-color:var(--clr-focus);color:var(--clr-text-btn-active);outline:2px solid #0000}button.txp-reduced-ui-button{background:none;border:none;color:var(--clr-a)}button.txp-reduced-ui-button:active,button.txp-reduced-ui-button:hover{color:var(--clr-a-interact);text-decoration:underline}button.txp-reduced-ui-button:focus{outline:thin solid var(--clr-focus)}[type=submit].caution,button.caution{background-color:var(--clr-btn-caution-bkgd);border:1px solid var(--clr-error-brdr);color:var(--clr-error-text);font-weight:700}[type=submit].caution:focus,button.caution:focus{border-color:var(--clr-focus)}[type=submit].publish,button.publish{background-color:var(--clr-btn-primary-bkgd);border-color:var(--clr-btn-primary-brdr);color:var(--clr-text-inversed);font-weight:700;padding:.6153846em 1em}[type=submit].publish:focus,button.publish:focus{border-color:var(--clr-focus)}button.destroy{border:0;padding:.0769231em 0 0}button.destroy,button.destroy:active,button.destroy:hover{background:none}button.destroy:focus{outline:thin solid var(--clr-focus)}button.destroy .ui-icon{opacity:.66}button.destroy:active .ui-icon,button.destroy:hover .ui-icon{opacity:1}.navlink-disabled{background-clip:padding-box;border:1px solid;box-sizing:border-box;display:inline-block;padding:.3076923em .6153846em}ul.nav-tertiary{list-style:none;padding:0}ul.nav-tertiary li{display:inline}.filtered button.ui-corner-right,.nav-tertiary .navlink-active{background-color:var(--clr-hilite-box)}.txp-search button.txp-search-button{padding-left:1.5em;padding-right:1.5em}.navlink-disabled,.txp-button.disabled,.ui-checkboxradio-disabled,[type=button][disabled],[type=button][inert],[type=reset][disabled],[type=reset][inert],[type=submit][disabled],[type=submit][inert],button[disabled],button[inert]{background:var(--clr-bkgd-form-disabled)!important;color:var(--clr-text-form)!important;filter:none!important}meter{appearance:none;background:var(--clr-bkgd);border:1px solid var(--clr-brdr);box-sizing:border-box;height:8px;overflow:hidden;vertical-align:-.0625em}meter::-webkit-meter-bar{background:var(--clr-bkgd)}meter::-webkit-meter-optimum-value{background:var(--clr-success-text)}meter::-webkit-meter-suboptimum-value{background:var(--clr-warning-text)}meter::-webkit-meter-even-less-good-value{background:var(--clr-error-text)}meter:-moz-meter-optimum::-moz-meter-bar{background:var(--clr-success-text)}meter:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--clr-warning-text)}meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--clr-error-text)}progress{vertical-align:initial}.txp-upload-progress{appearance:none;background-color:var(--clr-bkgd-box);border:1px solid var(--clr-brdr);box-sizing:border-box;height:8px;max-width:30em;width:100%}.txp-upload-progress::-webkit-progress-bar{background-color:var(--clr-bkgd)}.txp-upload-progress::-webkit-progress-value{background-color:var(--clr-success-text)}.txp-upload-progress:indeterminate::-webkit-progress-bar{background-color:var(--clr-brdr)}.txp-upload-progress::-moz-progress-bar{background-color:var(--clr-success-text)}.txp-upload-progress:indeterminate::-moz-progress-bar{background-color:var(--clr-brdr)}menu,ol,ul{padding-inline-start:2em}li>ol,li>ul{margin:0}dd{margin-inline-start:2em}.plain-list,.switcher-list{list-style:none;padding:0}.switcher-list{margin:0}.switcher-list li{border-bottom:1px solid #0000;border-top:1px solid var(--clr-brdr);position:relative}.switcher-list li:last-child{border-bottom-color:var(--clr-brdr)}.switcher-list li.active{background:var(--clr-hilite-box)}.switcher-list li.selected{background:var(--clr-selected)}.switcher-list a{display:block;overflow:hidden;padding:.3846154em 1em;padding-inline-end:2.5em;text-overflow:ellipsis;white-space:nowrap}.switcher-action{left:0;position:absolute;top:.3846154em;z-index:2}.switcher-action+a{padding-inline:2em 0}[dir=rtl] .switcher-action{left:auto;right:0}.switcher-list .destroy{position:absolute;right:0;top:.4615385em;z-index:2}[dir=rtl] .switcher-list .destroy{left:0;right:auto}.txp-listtables{clear:both;overflow-x:auto}.txp-listtables:focus{outline:thin solid var(--clr-focus)}table{border-collapse:collapse;border-spacing:0}caption{margin-bottom:.5em;text-align:start}tbody{border-top:1px solid var(--clr-brdr)}tbody td,tbody th{border-bottom:1px solid var(--clr-brdr)}td,th{padding:.3846153em 1em;padding-inline-start:0;text-align:start;vertical-align:middle}td:last-child{padding:.3846154em 0}thead td,thead th{vertical-align:bottom}.txp-list,.txp-list--no-options{width:100%}.txp-list tbody tr.selected,.txp-list--no-options tbody tr.selected{background:var(--clr-selected)}.txp-list tbody th,.txp-list--no-options tbody th{font-weight:400}.txp-list thead th a,.txp-list--no-options thead th a{margin-inline-end:14px}.txp-list thead th.asc a,.txp-list thead th.desc a,.txp-list--no-options thead th.asc a,.txp-list--no-options thead th.desc a{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 48'%3E%3Cpath fill='%23fabc2b' d='M4.5 0 0 5h2v4h5V5h2M4.5 48 9 43H7v-4H2v4H0'/%3E%3C/svg%3E") no-repeat;background-size:9px 48px;margin-inline-end:0;padding-inline-end:14px}.txp-list thead th.asc a,.txp-list--no-options thead th.asc a{background-position:right 2px}[dir=rtl] .txp-list thead th.asc a,[dir=rtl] .txp-list--no-options thead th.asc a{background-position:left 2px}.txp-list thead th.desc a,.txp-list--no-options thead th.desc a{background-position:right -36px}[dir=rtl] .txp-list thead th.desc a,[dir=rtl] .txp-list--no-options thead th.desc a{background-position:left -36px}.txp-list-col-multi-edit{width:13px}.txp-list-col-id{white-space:nowrap}@media (update:slow),screen and (prefers-reduced-motion:reduce){.messageflash,span.spinner{animation:none}}@keyframes spinning{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes messageflash{0%{opacity:0}75%{opacity:.5}50%,to{opacity:1}}body{background:var(--clr-bkgd);color:var(--clr-text);display:flex;flex-direction:column;margin:0;min-height:100vh;padding:0;position:relative}.txp-body,body{box-sizing:border-box}.txp-body{flex-grow:1;margin:0 auto;max-width:114em;min-width:60em;padding:0 2.5%;width:100%}.txp-layout{display:grid;gap:0 2em;grid-template-columns:repeat(12,1fr)}.txp-layout-1col{grid-column:span 12}.txp-layout-3col{grid-column:span 4}.txp-layout-3col-2span{grid-column:span 8}.txp-layout-4col-3span{grid-column:span 9}.txp-layout-2col,.txp-layout-4col-2span{grid-column:span 6}.txp-layout-4col,.txp-layout-4col-alt{grid-column:span 3}.txp-layout-cell-row{align-items:flex-end;display:flex;justify-content:space-between}.txp-layout-textbox{max-width:62em}.txp-grid{clear:both;display:grid;gap:4px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));list-style:none;margin:0;padding:0}.txp-grid-cell{border:1px solid var(--clr-brdr);box-sizing:border-box;padding:0 1em;position:relative}.txp-grid-cell-2span{grid-column:span 2}.txp-grid-cell-3span{grid-column:span 3}.txp-grid-multi-edit{background-color:#ffffff80;border:1px solid var(--clr-brdr-lite);border-left:0;border-top:0;left:1px;padding:3px 6px;position:absolute;top:1px;z-index:2}.txp-header{margin-bottom:1.5em;min-width:60em}.login .txp-header{display:none}.txp-masthead{background-color:var(--clr-accent);border-bottom:1px solid var(--clr-accent-dark);display:flex;height:2.5em;justify-content:space-between;padding:0 2.5%}.txp-branding{background:url(../img/textpattern.svg) no-repeat 0 0;background-size:6.75em 1.5em;font-size:16px;height:1.5em;margin:.25em 0;overflow:hidden;text-indent:110%;text-transform:capitalize;white-space:nowrap;width:6.75em}.navpop{margin:.1538462em 0}.txp-footer{box-sizing:border-box;margin:1em 0;min-width:60em;padding:0 2.5%}.nav-tabs,.txp-footer{text-align:center}.nav-tabs ul{border-bottom:1px solid var(--clr-brdr);box-shadow:inset 0 -.2em .4em #00000026;list-style:none;margin:.5em 0 0;padding:0}.nav-tabs li{display:inline-block}.nav-tabs a{background-color:var(--clr-hilite-box);border:1px solid var(--clr-brdr-lite);border-bottom-color:var(--clr-brdr);border-top-left-radius:.75em 2em;border-top-right-radius:.75em 2em;bottom:-1px;box-shadow:inset 0 -.2em .4em #dccc8f80,0 -.15em .15em #0000001a;color:var(--clr-text-btn);display:block;padding:.1538462em 1.3846154em;position:relative;text-decoration:none}.nav-tabs a:hover{border-color:var(--clr-brdr-dark);color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}.nav-tabs a:focus{border-color:var(--clr-focus);outline:0}.nav-tabs .active a{background-color:var(--clr-bkgd);border-bottom-color:var(--clr-bkgd);box-shadow:0 -.15em .15em #0000001a}.nav-tabs .active a:focus{border-color:var(--clr-focus)}.clearfix:after{clear:both;content:"";display:table}.clear{clear:both}.hidden{display:none}.not-ready main{opacity:0}hr{border:0;border-bottom:1px solid var(--clr-brdr);box-sizing:initial;clear:both;height:0;margin:1.5em 0}hr.secondary{border-style:dashed;margin:.33em 0}.txp-accessibility{height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);border:0}.txp-accessibility,.txp-contain{overflow:hidden;white-space:nowrap}.txp-contain{max-width:30em;text-overflow:ellipsis}.txp-dropdown{display:none;position:absolute;width:18em;z-index:100}.txp-dropdown-toggle-all{border-bottom:1px solid var(--clr-brdr-lite)}.txp-search{display:flex;float:right;justify-content:flex-end;margin:1em 0;position:relative}.txp-search .ui-menu{position:absolute;width:18em;z-index:100}.txp-search .ui-controlgroup{flex-wrap:nowrap}.txp-search .txp-dropdown{z-index:101}[dir=rtl] .txp-search{float:left}.txp-search-clear{flex:1;margin:auto .5em;text-align:end}.txp-control-panel{margin-bottom:1em}.txp-control-panel>*{margin:0;margin-inline-end:1em}.txp-control-panel>:last-child{margin-inline-end:0}.txp-control-panel form{display:inline-block}.txp-control-panel textarea{margin-bottom:1em}.txp-control-panel .txp-details form{display:block;margin-block:.5em}.inline-file-uploader{margin-bottom:-.5em}.inline-file-uploader>*{margin-bottom:.5em}.txp-form-field.file-uploader{margin-bottom:-.5em}.txp-form-field.file-uploader .txp-form-field-value>*{margin-bottom:1em}.inline-file-uploader-actions{display:inline-block}.txp-list-options{flex-grow:1;margin:1em 0;position:relative;text-align:end}.txp-list-options>ul{text-align:start}.txp-list-options>:not(ul){margin:0;margin-inline-start:1em;-webkit-user-select:none;user-select:none;white-space:nowrap}.txp-actions>*,.txp-list-options form{display:inline-block}.txp-actions>*{margin:.5em 0 0;margin-inline-end:.5em}.txp-actions>:last-child{margin-inline-end:0}.txp-actions>a{padding-inline-start:.3076923em}.ui-dialog .txp-actions{margin-top:0}.txp-actions-inline{float:right;margin-top:1.3076923em}[dir=rtl] .txp-actions-inline{float:left}.multi-edit{background:var(--clr-bkgd);bottom:0;box-shadow:0 -1em 1em -.5em var(--clr-bkgd);margin:1em 0 0;padding:.3076923em 0;position:sticky;z-index:20}.multi-option{display:none}.multi-option.multi-step{display:inline-block;margin-inline-start:.3076923em}.txp-option-link{display:inline-block;white-space:nowrap}.text-section{border-top:2px solid var(--clr-brdr);margin-top:3em;padding-top:3em}.restricted-area{font-size:2rem;text-align:center}.secondary-text{opacity:.66}.disabled:not(.txp-button){background-image:none;cursor:default!important;opacity:.33;pointer-events:none;text-decoration:none}.disabled:not(.txp-button) a{cursor:default;pointer-events:none;text-decoration:none}.pageby,.prev-next{margin:1em 0}.prev-next form{display:inline-block}[dir=rtl] .prev-next .ui-icon-arrowthick-1-e,[dir=rtl] .prev-next .ui-icon-arrowthick-1-w{transform:rotate(180deg)}.txp-edit{background:var(--clr-bkgd);border:1px solid var(--clr-brdr-lite);clear:both;margin:0 auto 1em;max-width:60em;padding:1em 1em 1px;position:relative}.txp-edit h2{margin-top:0}.txp-edit-actions>*{margin-inline-start:1em}.txp-edit .txp-edit-actions{align-items:center;border-top:2px solid var(--clr-bkgd);display:flex;justify-content:flex-end;margin:1em -1em;padding:1em 1em 0}.txp-edit .txp-edit-actions .caution{margin-inline:0 auto}.txp-form-field{margin:1em 0;vertical-align:top}.txp-edit .txp-form-field,.txp-tabs-vertical-group .txp-form-field{flex-flow:row wrap}.txp-form-field-label,.txp-form-field-value{max-width:30em}.txp-form-field-shim{margin-inline-start:50%}.txp-form-field-set{display:inline-block}.txp-edit .txp-form-field:not(.txp-form-field-textarea),.txp-tabs-vertical-group .txp-form-field:not(.txp-form-field-textarea){align-items:baseline;display:flex}.txp-edit .txp-form-field-label,.txp-edit .txp-form-field-value,.txp-tabs-vertical-group .txp-form-field-label,.txp-tabs-vertical-group .txp-form-field-value{flex:1 1 0%;min-height:2.3076923em}.txp-form-field-textarea .txp-form-field-label,.txp-form-field-textarea .txp-form-field-value{flex:none;max-width:inherit;min-height:inherit}.txp-layout-4col-3span .txp-form-field-label,.txp-layout-4col-3span .txp-form-field-value{max-width:inherit}.txp-form-field-instructions{max-width:55em}.txp-edit .txp-form-field-instructions,.txp-tabs-vertical-group .txp-form-field-instructions{flex:0 0 100%;max-width:100%;order:3}.txp-textarea-options{float:right;margin:0 1px;position:relative;z-index:2}.txp-textarea-preview{margin-inline-start:1em}[dir=rtl] .txp-textarea-options{float:left}.txp-tabs-vertical-group{max-width:62em}.ui-dialog.txp-dialog-container,.ui-dialog.txp-preview-container{align-items:stretch;flex-direction:column;margin:auto}.txp-tagbuilder-container{position:absolute!important}.txp-save{align-items:center;display:flex}.txp-save-export{display:inline-block;margin-inline-start:1em;order:2}.txp-save-button{position:relative}.spinner-sticker{background-color:var(--clr-bkgd);border:2px solid var(--clr-bkgd);border-radius:50%;box-shadow:0 0 .5em #00000080;font-size:13px;height:16px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:16px;z-index:2}.spinner-sticker .ui-icon{margin:0}span.spinner{animation:spinning 1s linear infinite}.txp-setup{margin:1em auto;max-width:44em}.txp-login,.welcome .txp-setup{max-width:26em}.txp-login{margin:3em auto 1em}.login-view-site{border-top:1px solid var(--clr-brdr);bottom:-.5em;overflow:hidden;padding:1em 0;position:relative;text-overflow:ellipsis}.welcome select{width:100%}#page-category .multi-edit{margin-bottom:1em}#view_modes ul{border-bottom:1px solid var(--clr-brdr);font-size:11px;line-height:1.4545455;margin:0;padding:0}#view_modes li{display:inline-block}#view_modes a{background-color:var(--clr-hilite-box);border:1px solid var(--clr-brdr-lite);border-bottom-color:var(--clr-brdr);border-top-left-radius:.75em 2em;border-top-right-radius:.75em 2em;bottom:-1px;box-shadow:inset 0 -.2em .4em #dccc8f80,0 -.1em .1em #0000001a;color:var(--clr-text-btn);display:block;padding:.25em 1em;position:relative;text-decoration:none}#view_modes a:hover{border-color:var(--clr-brdr-dark);color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}#view_modes a:focus{border-color:var(--clr-focus);outline:0}#view_modes .active a{background-color:var(--clr-bkgd);border-bottom-color:var(--clr-bkgd);box-shadow:0 -.1em .1em #0000001a}#view_modes .active a:focus{border-color:var(--clr-focus)}#main_content .text input{font-size:1.2307692rem}#main_content .text textarea{font-size:1.2307692rem;line-height:1.5}#main_content .text .title input{font-weight:700;width:100%}#main_content .text .body textarea{height:48vh}#main_content .text .excerpt textarea{height:12vh}#main_content .author small{color:var(--clr-text-demoted);display:block;margin-top:-1em}.expire-now,.posted-now{margin-top:0}.not-modified,.unpublished{color:var(--clr-text-demoted)}.has-thumbnail a:focus{outline:0}.image-replace{margin-bottom:1em}.edit-alter-thumbnail{margin-bottom:1.5em}.edit-alter-thumbnail input{margin:0;margin-inline-end:.3333333em}.edit-alter-thumbnail input:last-child{margin-inline-end:0}.ui-button.thumbnail-swap-size{margin:0;margin-inline-end:.3333333em}.thumbnail-image form{display:inline-block;margin-top:5px;vertical-align:top}.txp-control-panel .assign-existing-form{display:block}.txp-list tbody tr.spam{background:var(--clr-error-bkgd)}.txp-list tbody tr.moderate{background:var(--clr-warning-bkgd)}.presentation textarea.code{height:64vh}#page-form .name{display:inline-block;margin:1em 0 0;margin-inline-end:1em}#page-form .name input{width:14.4615385em}#page-form .type{display:inline-block;margin:1em 0 0}.plugin-data{display:block}tr:not(.active) .manage span,tr:not(.active) .plugin-prefs{display:none}#preview-help,#preview-plugin,#preview-textpack{height:16vh;overflow:auto;resize:vertical}.edit-plugin-code textarea{height:70vh}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);border:0;white-space:nowrap}.ui-helper-reset{border:0;font-size:1rem;line-height:1.5384615;list-style:none;margin:0;outline:0;padding:0;text-decoration:none}.ui-helper-clearfix:after{border-collapse:collapse;clear:both;content:"";display:table}.ui-helper-zfix{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.ui-front{z-index:100}.ui-widget .ui-widget{font-size:1rem}.ui-widget-content{background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr)}.ui-widget-header{font-weight:700}.ui-state-default,.ui-widget-header{background-color:var(--clr-bkgd-box)}.ui-state-default{border:1px solid var(--clr-brdr);color:var(--clr-text)}.ui-state-default.ui-state-hover{filter:brightness(1.05)}a.ui-state-default:focus,a.ui-state-default:hover{color:var(--clr-text);text-decoration:none}.ui-state-hover{background-color:var(--clr-bkgd-box);border-color:var(--clr-brdr-dark)}.ui-state-focus{border-color:var(--clr-focus);outline:0}.ui-state-focus a{outline:0}.ui-selecting{background-color:var(--clr-selecting)}.ui-selected{background-color:var(--clr-selected)}.ui-state-highlight{background-color:var(--clr-warning-bkgd);border:1px solid var(--clr-warning-brdr)}.ui-state-highlight.ui-state-hover{border-color:var(--clr-warning-text)}.ui-state-active{background-color:var(--clr-selected);border-color:var(--clr-a)}.ui-state-active.ui-state-hover{border-color:var(--clr-a-interact)}.ui-state-error{background-color:var(--clr-error-bkgd);border:1px solid var(--clr-error-brdr);color:var(--clr-error-text)}.ui-state-error.ui-state-hover{border-color:var(--clr-error-text)}.ui-priority-primary{font-weight:700}.ui-priority-secondary{font-weight:400;opacity:.66}.ui-state-disabled:not(.ui-button){background-image:none;cursor:default!important;opacity:.33;pointer-events:none}.ui-state-disabled:not(.ui-button) a{cursor:default;text-decoration:none}.ui-widget-overlay{background:#000000a8;height:100%;left:0;position:fixed;top:0;width:100%}.ui-widget-shadow{box-shadow:var(--standard-shadow)}.ui-icon{background-size:16px 16px;display:inline-block;height:16px;margin-bottom:-2px;overflow:hidden;position:relative;text-indent:-9999px;vertical-align:initial;width:16px}.ui-icon-medium{background-size:24px 24px;height:24px;width:24px}.ui-icon-large{background-size:32px 32px;height:32px;width:32px}.ui-widget-icon-block{display:block;left:50%;margin-left:-8px}a.ui-icon,a:not(.ui-button) .ui-icon,button:not(.ui-button) .ui-icon{opacity:.66}a:active .ui-icon,a:active.ui-icon,a:focus .ui-icon,a:focus.ui-icon,a:hover .ui-icon,a:hover.ui-icon,button:not(.ui-button):active .ui-icon,button:not(.ui-button):focus .ui-icon,button:not(.ui-button):hover .ui-icon{opacity:1}.ui-state-default .ui-icon{filter:brightness(1.6666667)}.success .ui-icon,.success.ui-icon{filter:brightness(2) sepia(1) hue-rotate(82deg) saturate(250%) brightness(100%)}.ui-state-highlight .ui-icon,.warning .ui-icon,.warning.ui-icon{filter:brightness(2) sepia(1) hue-rotate(4deg) saturate(500%) brightness(115%)}.destroy .ui-icon,.destroy.ui-icon,.error .ui-icon,.error.ui-icon,.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{filter:brightness(2) sepia(1) hue-rotate(-62deg) saturate(750%) brightness(65%)}.information .ui-icon,.information.ui-icon{filter:brightness(2) sepia(1) hue-rotate(150deg) saturate(600%) brightness(80%)}.messagepane .ui-icon,.ui-icon-inversed{filter:brightness(5)!important}.txp-button .ui-icon,.ui-state-active .ui-icon .ui-icon,.ui-state-focus .ui-icon .ui-icon,.ui-state-hover .ui-icon .ui-icon,.ui-widget-content .ui-icon .ui-icon,.ui-widget-header .ui-icon .ui-icon,[type=reset] .ui-icon,[type=submit]:not(.destroy) .ui-icon,button:not(.destroy,.txp-reduced-ui-button) .ui-icon,input[type=button] .ui-icon{filter:none!important}.ui-icon-caret-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 9 8 5 4 9l1.5 1.5L8 8l2.5 2.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 5v2h4v4h2V5'/%3E%3C/svg%3E")}.ui-icon-caret-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m7 12 4-4-4-4-1.5 1.5L8 8l-2.5 2.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 5v4H5v2h6V5'/%3E%3C/svg%3E")}.ui-icon-caret-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m4 7 4 4 4-4-1.5-1.5L8 8 5.5 5.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 9V5H5v6h6V9'/%3E%3C/svg%3E")}.ui-icon-caret-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 4 5 8l4 4 1.5-1.5L8 8l2.5-2.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 5H5v6h2V7h4'/%3E%3C/svg%3E")}.ui-icon-caret-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m4 10 4 4 4-4-1.5-1.5L8 11 5.5 8.5M12 6 8 2 4 6l1.5 1.5L8 5l2.5 2.5'/%3E%3C/svg%3E")}.ui-icon-caret-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m10 12 4-4-4-4-1.5 1.5L11 8l-2.5 2.5M6 4 2 8l4 4 1.5-1.5L5 8l2.5-2.5'/%3E%3C/svg%3E")}.ui-icon-triangle-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 10 8 5l-5 5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 12V5H4z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m6 13 5-5-5-5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 11h7V4z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3 6 5 5 5-5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 4v7h7z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 3 5 8l5 5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 5H5v7z'/%3E%3C/svg%3E")}.ui-icon-triangle-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3 9 5 5 5-5zm10-2L8 2 3 7z'/%3E%3C/svg%3E")}.ui-icon-triangle-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m9 13 5-5-5-5zM7 3 2 8l5 5z'/%3E%3C/svg%3E")}.ui-icon-arrow-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 3 5 6h2v7h2V6h2'/%3E%3C/svg%3E")}.ui-icon-arrow-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 4H8l1.25 1.25-6.5 6.5 1.5 1.5 6.5-6.5L12 8'/%3E%3C/svg%3E")}.ui-icon-arrow-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 8-3-3v2H3v2h7v2'/%3E%3C/svg%3E")}.ui-icon-arrow-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 12V8l-1.25 1.25-6.5-6.5-1.5 1.5 6.5 6.5L8 12'/%3E%3C/svg%3E")}.ui-icon-arrow-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 13 3-3H9V3H7v7H5'/%3E%3C/svg%3E")}.ui-icon-arrow-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 12h4l-1.25-1.25 6.5-6.5-1.5-1.5-6.5 6.5L4 8'/%3E%3C/svg%3E")}.ui-icon-arrow-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3 8 3 3V9h7V7H6V5'/%3E%3C/svg%3E")}.ui-icon-arrow-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 4v4l1.25-1.25 6.5 6.5 1.5-1.5-6.5-6.5L8 4'/%3E%3C/svg%3E")}.ui-icon-arrow-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 5h2L8 2 5 5h2v6H5l3 3 3-3H9'/%3E%3C/svg%3E")}.ui-icon-arrow-2-ne-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m9 3 1.25 1.25-6 6L3 9v4h4l-1.25-1.25 6-6L13 7V3'/%3E%3C/svg%3E")}.ui-icon-arrow-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 7V5L2 8l3 3V9h6v2l3-3-3-3v2'/%3E%3C/svg%3E")}.ui-icon-arrow-2-se-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m11.75 10.25-6-6L7 3H3v4l1.25-1.25 6 6L9 13h4V9'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 3h8v2H4zm4 3L5 9h2v4h2V9h2z'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 4h2v8h-2zm-1 4L7 5v2H3v2h4v2z'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 11h8v2H4zm4-1 3-3H9V3H7v4H5z'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 4h2v8H3zm3 4 3 3V9h4V7H9V5z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 2 3 7h3v7h4V7h3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 3H6l2 2-5 5 3 3 5-5 2 2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 8 9 3v3H2v4h7v3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 13V6l-2 2-5-5-3 3 5 5-2 2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 14 5-5h-3V2H6v7H3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 13V6l2 2 5-5 3 3-5 5 2 2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m2 8 5 5v-3h7V6H7V3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 3v7l2-2 5 5 3-3-5-5 2-2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 6h3L8 1 3 6h3v4H3l5 5 5-5h-3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-ne-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m7 2 2 2-5 5-2-2v7h7l-2-2 5-5 2 2V2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 6V3L1 8l5 5v-3h4v3l5-5-5-5v3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-se-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m2 9 2-2 5 5-2 2h7V7l-2 2-5-5 2-2H2z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 2h8v2H4zm4 3-5 5h3v4h4v-4h3z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 4h2v8h-2zm-1 4L6 3v3H2v4h4v3z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 12h8v2H4zm4-1 5-5h-3V2H6v4H3z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 4h2v8H2zm3 4 5 5v-3h4V6h-4V3z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 12a4 4 0 0 0 0-8v2L3 3l3-3v2a6 6 0 0 1 0 12z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 6c0 3 1.791 4 4 4s4-1 4-4h-2l3-3 3 3h-2c0 4-2.686 6-6 6s-6-2-6-6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 4a4 4 0 0 0 0 8v-2l3 3-3 3v-2a6 6 0 0 1 0-12z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 10c0-2-1.791-4-4-4s-4 2-4 4h2l-3 3-3-3h2c0-3 2.687-6 6-6s6 3 6 6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 12a4 4 0 0 0-4-4v2L3 7l3-3v2a6 6 0 0 1 6 6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 10c2.209 0 4-1 4-4H6l3-3 3 3h-2c0 4-2.687 6-6 6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 4a4 4 0 0 0 4 4V6l3 3-3 3v-2a6 6 0 0 1-6-6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 6c-2.209 0-4 2-4 4h2l-3 3-3-3h2c0-3 2.686-6 6-6z'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3.758 12.242 1.414-1.414A4 4 0 1 1 8 12v-2l-3 3 3 3v-2a6 6 0 1 0-4.242-1.758'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3.758 3.758 1.414 1.414A4 4 0 1 1 4 8h2L3 5 0 8h2a6 6 0 1 0 1.758-4.242'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m12.242 3.758-1.414 1.414A4 4 0 1 1 8 4v2l3-3-3-3v2a6 6 0 1 0 4.242 1.758'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m12.242 12.242-1.414-1.414A4 4 0 1 1 12 8h-2l3 3 3-3h-2a6 6 0 1 0-1.758 4.242'/%3E%3C/svg%3E")}.ui-icon-arrow-4{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M4 7V5L1 8l3 3V9h8v2l3-3-3-3v2'/%3E%3Cpath d='M9 4h2L8 1 5 4h2v8H5l3 3 3-3H9'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-arrow-4-diag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='m12.75 11.25-8-8L6 2H2v4l1.25-1.25 8 8L10 14h4v-4'/%3E%3Cpath d='m10 2 1.25 1.25-8 8L2 10v4h4l-1.25-1.25 8-8L14 6V2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-extlink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 12H3V7h2l2-2H2v8h9V9l-1 1z'/%3E%3Cpath d='M13 3H9l1.25 1.25-4.5 4.5 1.5 1.5 4.5-4.5L13 7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-newwin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M14 10H5V2h9zm-1-6H6v5h7z'/%3E%3Cpath d='M10 12H3V7h1V5H2v8h9v-2h-1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-refresh{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12.75 4.25C11.651 2.857 9.912 2 8 2a6 6 0 0 0-6 6h2a4 4 0 0 1 4-4c1.36 0 2.527.713 3.25 1.75L10 7h4V3zM12 8a4 4 0 0 1-4 4c-1.36 0-2.527-.713-3.25-1.75L6 9H2v4l1.25-1.25C4.349 13.143 6.088 14 8 14a6 6 0 0 0 6-6z'/%3E%3C/svg%3E")}.ui-icon-shuffle{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='m15 5-3-3v2c-5 0-7 7-11 7v2c5 0 7-7 11-7v2z'/%3E%3Cpath d='m15 12-3-3v2C8 11 6 4 1 4v2c4 0 6 7 11 7v2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-transfer-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m2 10 3 3v-2h5V9H5V7zm12-4-3-3v2H6v2h5v2z'/%3E%3C/svg%3E")}.ui-icon-transferthick-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m0 11 5 5v-3h4V9H5V6zm16-6-5-5v3H7v4h4v3z'/%3E%3C/svg%3E")}.ui-icon-folder-collapsed{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M14 2h-1V1h-3L9 2H1v12h13zM2 3h11v10H2z'/%3E%3Cpath d='M2 4h11v1H2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-folder-open{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 5V2h-1V1H9L8 2H0v12h13.5L16 5zM1 3h11v2H3l-2 7zm11.5 10H2l2-7h10.5z'/%3E%3C/svg%3E")}.ui-icon-document{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 4v11H3V1h7zm-3-2H4v12h8V4z'/%3E%3Cpath d='M10 4V2H9v3h3V4zm-5 8h6v1H5zm0-2h6v1H5zm0-2h6v1H5zm0-2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-document-b{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 15H3V1h10v11zm2-3V2H4v12h6z'/%3E%3Cpath d='M10 12v2H9v-3h3v1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-note{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 1v13H3v-1h2v-1H3v-1h2v-1H3V9h2V8H3V7h2V6H3V5h2V4H3V3h2V2H3V1zm-2 9H7v1h4zm0-2H7v1h4z'/%3E%3C/svg%3E")}.ui-icon-mail-closed{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 3h14v10H1zm7 6c-.875 0-1.25-.5-1.25-.5L3.25 12h9.5l-3.5-3.5S8.875 9 8 9m-6 3 4-4-4-4zm12 0V4l-4 4zM9.25 7.5l3.5-3.5h-9.5l3.5 3.5S7.562 8 8 8s1.25-.5 1.25-.5'/%3E%3C/svg%3E")}.ui-icon-mail-open{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15 3.5V13H1V3.5S6 0 8 0s7 3.5 7 3.5M8 9c-.875 0-1.25-.5-1.25-.5L3.25 12h9.5l-3.5-3.5S8.875 9 8 9M6 8 2 4v8zm4 0 4 4V4zM8 1c-1 0-1.578.375-1.578.375L2 4h12L9.578 1.375S9 1 8 1'/%3E%3C/svg%3E")}.ui-icon-suitcase{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 4h3v9H2zm4 0h4v9H6zm5 0h3v9h-3zM7 4c0-1.105-.105-2 1-2s1 .895 1 2h2a3 3 0 1 0-6 0z'/%3E%3C/svg%3E")}.ui-icon-comment{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15 3H1v9h8l4 4v-4h2z'/%3E%3C/svg%3E")}.ui-icon-person{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 13v2h2v-2c0-3-.5-4-5-4s-5 1-5 4v2h2v-2l1 1v1h4v-1zM5 6V4c0-3 3-3 3-3s3 0 3 3v2c0 3-3 3-3 3S5 9 5 6m2-2H6v1h1zm3 0H9v1h1z'/%3E%3C/svg%3E")}.ui-icon-print{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M14 10v3l-1 2H3l-1-2v-3h1V2h10v8zm-1 1h-2v1h2zm-1-8H4v7h8z'/%3E%3Cpath d='M5 4h6v1H5zm0 2h6v1H5zm0 2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-trash{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 2h-3a2 2 0 0 0-4 0H3C2 2 2 4 2 4h12s0-2-1-2M8 1a1 1 0 0 1 1 1H7a1 1 0 0 1 1-1m4 3v10h-1V4h-1v10H9V4H8v10H7V4H6v10H5V4H3v11h10V4z'/%3E%3C/svg%3E")}.ui-icon-locked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 7h10v8H3zm8-3a3 3 0 1 0-6 0v3h2V4a1 1 0 1 1 2 0v3h2z'/%3E%3C/svg%3E")}.ui-icon-unlocked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 7h10v8H3zm12-3a3 3 0 1 0-6 0v3h2V4a1 1 0 1 1 2 0v3h2z'/%3E%3C/svg%3E")}.ui-icon-bookmark{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m12 15-4-4-4 4V2h8z'/%3E%3C/svg%3E")}.ui-icon-tag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 15 1 9l7-7h6v6zm5-11h1V3h-1zM3 9l4 4 4-4-4-4z'/%3E%3C/svg%3E")}.ui-icon-home{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 14H3V8l5-5 5 5zM9 9H7v4h2z'/%3E%3Cpath d='M8 2 2 8H1l7-7 7 7h-1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-flag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 10V4c-3 1-4-1-7-1v6c3 0 4 2 7 1M4 2a1 1 0 0 0-1 1v10h2V3a1 1 0 0 0-1-1'/%3E%3C/svg%3E")}.ui-icon-calendar{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M4 2h3v1H4zm5 0h3v1H9zm5 12H2V3h12zM3 13h10V5H3z'/%3E%3Cpath d='M7 6 6 8h1v4h2V6z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-cart{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Ccircle cx='5.5' cy='12.5' r='1.5'/%3E%3Ccircle cx='11.5' cy='12.5' r='1.5'/%3E%3Cpath d='M2 3H1v1h1a1 1 0 0 1 1 1h1a2 2 0 0 0-2-2'/%3E%3Cpath d='M13 11H4L3 5V4h11v1zM4 5l1 5h7l1-5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-pencil{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m4 14-3 1 1-3 8-8 2 2zm7-11 2-2 2 2-2 2z'/%3E%3C/svg%3E")}.ui-icon-clock{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 8V4h2v5l-4 1.5L4.5 9z'/%3E%3Cpath d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m7 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-disk{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='m14 13-1 1H2V2h12zM5 9v4h1v-2h2v2h3V9zm7-6H4v5h8z'/%3E%3Cpath d='M5 4h6v1H5zm0 2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-calculator{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 14H3V2h10zM12 3H4v3h8zM5 8H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm2-4H6v1h1zm0 2H6v1h1zm0 2H6v1h1zm2-4H8v1h1zm0 2H8v1h1zm0 2H8v1h1zm3-4h-2v1h2zm0 2h-2v1h2zm0 2h-2v1h2z'/%3E%3C/svg%3E")}.ui-icon-zoomin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6m6 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Cpath d='m9 10 1-1 3 2 3 3s0 1-.5 1.5-1.5.5-1.5.5l-3-3zM3 5h6v2H3z'/%3E%3Cpath d='M5 3h2v6H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-zoomout{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6m6 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Cpath d='m9 10 1-1 3 2 3 3s0 1-.5 1.5-1.5.5-1.5.5l-3-3zM3 5h6v2H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6m6 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Cpath d='m9 10 1-1 3 2 3 3s0 1-.5 1.5-1.5.5-1.5.5l-3-3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-wrench{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M12.5 6A2.5 2.5 0 0 1 10 3.5c0-1.155.787-2.117 1.852-2.404A4 4 0 0 0 11 1a4 4 0 1 0 4 4c0-.293-.036-.577-.096-.852A2.49 2.49 0 0 1 12.5 6'/%3E%3Cpath d='m10.414 8.414-6 6a2 2 0 0 1-2.829-2.828l6.001-6zM3 14a1 1 0 1 0 0-2 1 1 0 1 0 0 2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-gear{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14.5 7a5.9 5.9 0 0 1 0 2c-.721-.202-1.581.165-1.875.875-.293.709-.027 1.509.625 1.875a6.6 6.6 0 0 1-1.5 1.5c-.366-.653-1.166-.919-1.875-.625-.711.294-1.078 1.153-.875 1.875a5.9 5.9 0 0 1-2 0c.203-.722-.165-1.581-.875-1.875-.709-.294-1.508-.028-1.875.625a6.6 6.6 0 0 1-1.5-1.5c.654-.366.918-1.166.625-1.875C3.08 9.165 2.222 8.797 1.5 9a5.9 5.9 0 0 1 0-2c.72.203 1.581-.166 1.875-.875s.028-1.508-.625-1.875a6.6 6.6 0 0 1 1.5-1.5c.365.653 1.166.919 1.875.625A1.495 1.495 0 0 0 7 1.59a5.9 5.9 0 0 1 2 .001 1.495 1.495 0 0 0 .875 1.784c.71.293 1.508.028 1.875-.625a6.6 6.6 0 0 1 1.5 1.5c-.654.366-.919 1.166-.625 1.875S13.777 7.203 14.5 7M8 11a3.001 3.001 0 0 0 0-6 3 3 0 1 0 0 6'/%3E%3C/svg%3E")}.ui-icon-heart{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10.5 2c2.5-.5 4.979 2.174 3.5 5.5C12 12 8 14 8 14s-4-2-6-6.5C.522 4.174 3 1.5 5.5 2 7.522 2.404 8 4 8 4s.479-1.596 2.5-2'/%3E%3C/svg%3E")}.ui-icon-star{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 1 1.5 5H15l-4.5 3 2 5.5L8 10.731 3.5 14.5l2-5.5L1 6h5.5z'/%3E%3C/svg%3E")}.ui-icon-link{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 0h2v5H7zm0 11h2v5H7zM0 7h5v2H0zm11 0h5v2h-5z'/%3E%3Cpath d='M1 8a7 7 0 1 1 14.001.001A7 7 0 0 1 1 8m7 5A5 5 0 1 0 8 3a5 5 0 1 0 0 10'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-cancel{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m7 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M3 11.5 11.5 3 13 4.5 4.5 13z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m12-1H9V3H7v4H3v2h4v4h2V9h4z'/%3E%3C/svg%3E")}.ui-icon-plusthick{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 6h12v4H2z'/%3E%3Cpath d='M6 2h4v12H6z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m12-1H3v2h10z'/%3E%3C/svg%3E")}.ui-icon-minusthick{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 6h12v4H2z'/%3E%3C/svg%3E")}.ui-icon-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m11.5-3L11 3.5l-3 3-3-3L3.5 5l3 3-3 3L5 12.5l3-3 3 3 1.5-1.5-3-3z'/%3E%3C/svg%3E")}.ui-icon-closethick{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m14 4-2-2-4 4-4-4-2 2 4 4-4 4 2 2 4-4 4 4 2-2-4-4z'/%3E%3C/svg%3E")}.ui-icon-key{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E3Cpath d=%26apos;M7 7h8v2H7zM12 9h2v2h-2z%26apos;/%26gt;%3Cpath d='M8 8c0 2.209-1.567 4-3.5 4S1 10.209 1 8s1.567-4 3.5-4S8 5.791 8 8m-3.5 2.5c1.104 0 2-1.119 2-2.5s-.896-2.5-2-2.5-2 1.119-2 2.5.895 2.5 2 2.5'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-lightbulb{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 15H6V9h4zm-1-4H7v1h2zm0 2H7v1h2z'/%3E%3Cpath d='M10 15H6V9h4zm-1-4H7v1h2zm0 2H7v1h2z'/%3E%3Cpath d='M13 5a5 5 0 0 1-5 5c-2.762 0-5-2.238-5-5s2.238-5 5-5a5 5 0 0 1 5 5M8 8.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7M8 16l-1-1h2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-scissors{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 10.5c0 1.381-.343 2.5-2 2.5s-3-1.119-3-2.5S1.343 8 3 8C1.343 8 0 6.881 0 5.5S1.343 3 3 3s2 1.119 2 2.5v1.25c1 0 4-2.5 7-2.5s4 1.25 4 1.25-3 0-5 1.25C9.211 7.868 8 8 8 8s1.211.132 3 1.25c2 1.25 5 1.25 5 1.25s-1 1.25-4 1.25-6-2.5-7-2.5zM3 6.75c1.104 0 1-.559 1-1.25s.104-1.25-1-1.25-2 .559-2 1.25.895 1.25 2 1.25m0 5c1.104 0 1-.559 1-1.25s.104-1.25-1-1.25-2 .559-2 1.25.895 1.25 2 1.25'/%3E%3C/svg%3E")}.ui-icon-clipboard{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 3v12H3V3h2l1-2h4l1 2zm-3 11c2 0 2-1 2-1V5H4v8s0 1 2 1zM9 2H7v1h2z'/%3E%3Cpath d='M5 7h6v1H5zm0 2h6v1H5zm0 2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-copy{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M8 11v2h7V3H8v2H7V2h9v12H7v-3zM6 3V2H0v12h6v-1H1V3z'/%3E%3Cpath d='m13 8-3-3v2H4v2h6v2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-view-page{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M14 4v11H2V1h9zm-3-2H3v12h10V4z'/%3E%3Cpath d='M11 4V2h-1v3h3V4zm.5 1.951H7.638l1.207 1.207L4.5 11.503l1.448 1.448 4.345-4.345L11.5 9.813'/%3E%3C/svg%3E")}.ui-icon-contact{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 12v-.399A3.1 3.1 0 0 1 7.5 12C5.566 12 4 10.209 4 8s1.566-4 3.5-4c.539 0 1.044.15 1.5.399V4h2v7h2.177A5.93 5.93 0 0 0 14 8a6 6 0 1 0-6 6 5.96 5.96 0 0 0 3-.81v1.127A7 7 0 0 1 8 15a7 7 0 1 1 7-7 6.97 6.97 0 0 1-1.26 4zm0-5.723A2 2 0 0 0 8 6a2 2 0 0 0 0 4c.366 0 .705-.106 1-.277z'/%3E%3C/svg%3E")}.ui-icon-image{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 14V2h16v12zM15 3H1v10h14z'/%3E%3Cpath d='m2 12 3-3 1 1 4-4 4 4v2z'/%3E%3Ccircle cx='4' cy='6' r='2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-video{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 14H3V1h10zM5 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm7 0h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm-2 0H6v5h4zm0 6H6v5h4z'/%3E%3C/svg%3E")}.ui-icon-script{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 2h7c2 0 2 3 1 6-.24.72-.479 1.438-.677 2.116.392.27.677 1.007.677 1.884 0 .842-.261 1.56-.629 1.854L11 14H4c-2 0-1-3 0-6 .269-.805.461-1.606.566-2.353C4.405 5.869 4.211 6 4 6c-.553 0-1-.896-1-2 0-.857.271-1.584.65-1.867zm6 11s0-2 1-5c1.304-3.911 0-5 0-5H5s1.304 1.089 0 5c-1 3-1 5-1 5z'/%3E%3C/svg%3E")}.ui-icon-alert{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M0 15 8 1l8 14zM9 5H7v6h2zm0 7H7v2h2z'/%3E%3C/svg%3E")}.ui-icon-info{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 6h2v7H7zm0-3h2v2H7z'/%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1m0 13A6 6 0 1 1 8 2a6 6 0 0 1 0 12'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-notice{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 8c0-1 3-6 8-6s8 5 8 6-3 6-8 6-8-5-8-6m8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-help{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 11h2v2H7zm4-5a3 3 0 1 0-6 0h2a1 1 0 1 1 2 0c0 .553-.447 1-1 1s-1 .447-1 1v2h2V8.816c1.163-.413 2-1.51 2-2.816'/%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1m0 13A6 6 0 1 1 8 2a6 6 0 0 1 0 12'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-check{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 3-7 7-2-2-2 2 4 4 9-9z'/%3E%3C/svg%3E")}.ui-icon-bullet{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5' fill='%23333'/%3E%3C/svg%3E")}.ui-icon-radio-on{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 8a5 5 0 0 1-5 5c-2.762 0-5-2.238-5-5s2.238-5 5-5a5 5 0 0 1 5 5m-5 2a2 2 0 1 0-.001-4.001A2 2 0 0 0 8 10'/%3E%3C/svg%3E")}.ui-icon-radio-off{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 8a5 5 0 0 1-5 5c-2.762 0-5-2.238-5-5s2.238-5 5-5a5 5 0 0 1 5 5m-5 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7'/%3E%3C/svg%3E")}.ui-icon-pin-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m1 8 4-1v2zm4 4V4h1l4 1 2-1h1v8h-1l-2-1-4 1zm2-1 2-1V6L7 5z'/%3E%3C/svg%3E")}.ui-icon-pin-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 15-1-4h2zm4-4H4v-1l1-4-1-2V3h8v1l-1 2 1 4zm-1-2-1-2H6L5 9z'/%3E%3C/svg%3E")}.ui-icon-play{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 13V3l9 5z'/%3E%3C/svg%3E")}.ui-icon-pause{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 4h3v8H4zm5 0h3v8H9z'/%3E%3C/svg%3E")}.ui-icon-seek-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 11V5l6 3zm7 0V5l6 3z'/%3E%3C/svg%3E")}.ui-icon-seek-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 11V5L8 8zm-7 0V5L1 8z'/%3E%3C/svg%3E")}.ui-icon-seek-end{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 11V5l6 3zm8-6h2v6h-2z'/%3E%3C/svg%3E")}.ui-icon-seek-start{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 11V5L7 8zM3 5h2v6H3z'/%3E%3C/svg%3E")}.ui-icon-stop{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 4h8v8H4z'/%3E%3C/svg%3E")}.ui-icon-eject{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 10h8v2H4zm8-1H4l4-5z'/%3E%3C/svg%3E")}.ui-icon-volume-off{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 6H4v4h3l3 3V3z'/%3E%3C/svg%3E")}.ui-icon-volume-on{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 6H4v4h3l3 3V3zm4 3a1 1 0 1 0 0-2z'/%3E%3Cpath d='m12.555 5.445-.735.735a1.995 1.995 0 0 1 0 3.64l.734.734C13.418 10.027 14 9.085 14 8s-.582-2.027-1.445-2.555'/%3E%3Cpath d='m13.987 4.013-.707.707a3.988 3.988 0 0 1 0 6.56l.707.707C15.203 11.075 16 9.637 16 8s-.797-3.075-2.013-3.987'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-power{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 1h2v5H7z'/%3E%3Cpath d='M10 3.25V5.5c1.19.693 2 2.023 2 3.5a4 4 0 0 1-8 0c0-1.477.81-2.807 2-3.5V3.25C3.672 4.074 2 6.389 2 9a6 6 0 0 0 12 0c0-2.611-1.672-4.926-4-5.75'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-signal-diag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M11 13a8 8 0 0 0-8-8V3c5.523 0 10 4.477 10 10z'/%3E%3Cpath d='M3 9a4 4 0 0 1 4 4h2a6 6 0 0 0-6-6zm2 4a2 2 0 0 0-2-2v2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-signal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 3h2v10h-2zM9 6h2v7H9zM5 9h2v4H5zm-4 3h2v1H1z'/%3E%3C/svg%3E")}.ui-icon-battery-0{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 6h2v4h-2z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-battery-1{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 6h2v4h-2zM4 6h2v4H4z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-battery-2{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 6h2v4h-2zM7 6h2v4H7zM4 6h2v4H4z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-battery-3{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 6h2v4h-2zm3 0h2v4h-2zM7 6h2v4H7zM4 6h2v4H4z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circle-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m9-1H9V5H7v2H5v2h2v2h2V9h2z'/%3E%3C/svg%3E")}.ui-icon-circle-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m9-1H5v2h6z'/%3E%3C/svg%3E")}.ui-icon-circle-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m9-1.5L9.5 5 8 6.5 6.5 5 5 6.5 6.5 8 5 9.5 6.5 11 8 9.5 9.5 11 11 9.5 9.5 8z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m4 3 5-3-5-3z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 2a6 6 0 1 1 0 12A6 6 0 0 1 8 2M5 6l3 5 3-5z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0m-4-3L5 8l5 3z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 14A6 6 0 1 1 8 2a6 6 0 0 1 0 12m3-4L8 5l-3 5z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0m-2 0L9 5v2H4v2h5v2z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 14A6 6 0 1 1 8 2a6 6 0 0 1 0 12m0-2 3-3H9V4H7v5H5z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m2 0 3 3V9h5V7H7V5z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 2a6 6 0 1 1-.002 12.002A6 6 0 0 1 8 2m0 2L5 7h2v5h2V7h2z'/%3E%3C/svg%3E")}.ui-icon-circle-zoomin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m6.5-3A2.5 2.5 0 0 0 6 7.5c0 .433.119.833.312 1.188L4 11l1 1 2.312-2.312c.355.193.755.312 1.188.312a2.5 2.5 0 1 0 0-5'/%3E%3Cpath d='M7 7h3v1H7z'/%3E%3Cpath d='M8 6h1v3H8z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circle-zoomout{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m6.5-3A2.5 2.5 0 0 0 6 7.5c0 .433.119.833.312 1.188L4 11l1 1 2.312-2.312c.355.193.755.312 1.188.312a2.5 2.5 0 1 0 0-5'/%3E%3Cpath d='M7 7h3v1H7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circle-check{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m9-3.5-5 5-1-1-1 1 2 2 6-6z'/%3E%3C/svg%3E")}.ui-icon-circlesmall-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m6 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3Cpath d='M7 5h2v6H7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circlesmall-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m6 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circlesmall-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m6 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M5 6.5 6.5 5 11 9.5 9.5 11z'/%3E%3Cpath d='M9.5 5 11 6.5 6.5 11 5 9.5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-squaresmall-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 13H3V3h10zm-1-9H4v8h8z'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3Cpath d='M7 5h2v6H7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-squaresmall-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 13H3V3h10zm-1-9H4v8h8z'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-squaresmall-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 13H3V3h10zm-1-9H4v8h8z'/%3E%3Cpath d='M5 6.5 6.5 5 11 9.5 9.5 11z'/%3E%3Cpath d='M9.5 5 11 6.5 6.5 11 5 9.5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-grip-dotted-vertical{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 13h1v1H9zm-3 0h1v1H6zm3-2h1v1H9zm-3 0h1v1H6zm3-2h1v1H9zM6 9h1v1H6zm3-2h1v1H9zM6 7h1v1H6zm3-2h1v1H9zM6 5h1v1H6zm3-2h1v1H9zM6 3h1v1H6z'/%3E%3C/svg%3E")}.ui-icon-grip-dotted-horizontal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 9h1v1H3zm0-3h1v1H3zm2 3h1v1H5zm0-3h1v1H5zm2 3h1v1H7zm0-3h1v1H7zm2 3h1v1H9zm0-3h1v1H9zm2 3h1v1h-1zm0-3h1v1h-1zm2 3h1v1h-1zm0-3h1v1h-1z'/%3E%3C/svg%3E")}.ui-icon-grip-solid-vertical{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 2h1v12H6zm3 0h1v12H9z'/%3E%3C/svg%3E")}.ui-icon-grip-solid-horizontal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 9h12v1H2zm0-3h12v1H2z'/%3E%3C/svg%3E")}.ui-icon-gripsmall-diagonal-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 10-3 3H9l4-4zm0-3-6 6H6l7-7zm0-3-9 9H3L13 3z'/%3E%3C/svg%3E")}.ui-icon-grip-diagonal-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m14 11-3 3h-1v-1l3-3h1zm0-4-7 7H6v-1l7-7h1zm0-4L3 14H2v-1.124L12.875 2H14z'/%3E%3C/svg%3E")}.ui-extra-icon-crop{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 4 2-2-1-1-2 2H5V1H3v2H1v2h2v8h8v2h2v-2h2v-2h-2zM5 5h5l-5 5zm1 6 5-5v5z'/%3E%3C/svg%3E")}.ui-extra-icon-arrowreturn-1-s-reversed{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 6c2.209 0 4 2 4 4H6l3 3 3-3h-2c0-3-2.686-6-6-6z'/%3E%3C/svg%3E")}.ui-extra-icon-flip-horizontal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 2v12h16V2zm15 11H9v-2H7v2H1V3h6v2h2V3h6z'/%3E%3Cpath d='M6 9v2L3 8l3-3v2h4V5l3 3-3 3V9z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-flip-vertical{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 16h12V0H2zM13 1v6h-2v2h2v6H3V9h2V7H3V1z'/%3E%3Cpath d='M9 10h2l-3 3-3-3h2V6H5l3-3 3 3H9z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-more{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3Ccircle cx='2' cy='8' r='2'/%3E%3Ccircle cx='14' cy='8' r='2'/%3E%3C/svg%3E")}.ui-extra-icon-code{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 5 5 3 0 8l5 5 2-2-3-3zm2 6 2 2 5-5-5-5-2 2 3 3z'/%3E%3C/svg%3E")}.ui-extra-icon-list{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 3h10v1H5zm0 3h10v1H5zm0 3h10v1H5zm0 3h10v1H5zM1 2h2v2H1zm0 3h2v2H1zm0 3h2v2H1zm0 3h2v2H1z'/%3E%3C/svg%3E")}.ui-extra-icon-grid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 3h16v1H0zm0 3h16v1H0zm0 3h16v1H0zm0 3h16v1H0z'/%3E%3Cpath d='M0 3h1v10H0zm3 0h1v10H3zm3 0h1v10H6zm3 0h1v10H9zm3 0h1v10h-1zm3 0h1v10h-1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-download{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 10h3V2H3v8h3v2H1V0h14v12h-5z'/%3E%3Cpath d='m8 16 3-3H9V6H7v7H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-upload{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 10h3V2H3v8h3v2H1V0h14v12h-5z'/%3E%3Cpath d='M8 6 5 9h2v7h2V9h2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-attach{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23333' stroke-miterlimit='10' d='M1.5 6.5 9 14c1 1 3.03 1.529 4.5 0 1.482-1.544 1-3.5 0-4.5L5.5 2C4.469.928 3 .5 2 1.5S1.5 4 2.5 5l7.5 7.5c.5.5 1.5.5 2 0s.5-1.5 0-2l-7.5-7'/%3E%3C/svg%3E")}.ui-extra-icon-new-document{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M11 12v2h-1v-3h3v1zM1 7h6v2H1z'/%3E%3Cpath d='M3 5h2v6H3z'/%3E%3Cpath d='M4 1v3h1V2h8v10l-2 2H5v-2H4v3h7l3-3V1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-facebook{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 3.5C6 2.026 7.02 1 9.25 1H11v2h-.734C9.462 3 9 3.514 9 4.12V6h2v2H9v7H6V8H4V6h2z'/%3E%3C/svg%3E")}.ui-extra-icon-youtube{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15.5 8s0 2.441-.313 3.61a1.88 1.88 0 0 1-1.326 1.326C12.691 13.25 8 13.25 8 13.25s-4.691 0-5.86-.313a1.88 1.88 0 0 1-1.326-1.326C.5 10.441.5 8 .5 8s0-2.441.313-3.61A1.88 1.88 0 0 1 2.14 3.063C3.309 2.75 8 2.75 8 2.75s4.691 0 5.86.313a1.88 1.88 0 0 1 1.326 1.326C15.5 5.559 15.5 8 15.5 8m-9 2.25 4-2.25-4-2.25z'/%3E%3C/svg%3E")}.ui-extra-icon-linkedin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M5 14V6H2v8h2.5zm4-4.675c0-.223.014-.415.075-.575.166-.446.291-.875.925-.875.829 0 1 .621 1 1.625V14h3V9.25c0-2.295-.991-3.4-2.5-3.4-1.237 0-2.198.74-2.5 1.25V6H6v8h3z'/%3E%3Ccircle cx='3.5' cy='3.25' r='1.5'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-twitter{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15 3.465a5.5 5.5 0 0 1-1.648.478 3.02 3.02 0 0 0 1.262-1.678c-.555.346-1.168.6-1.822.693A2.8 2.8 0 0 0 10.698 2c-1.586 0-2.87 1.357-2.87 3.031 0 .237 0 .469.074.693-2.385-.127-4.499-1.333-5.9-3.168a3.15 3.15 0 0 0-.388 1.524c0 1.052.506 1.98 1.276 2.524-.47 0-.912-.153-1.299-.379 0 1.468.983 2.694 2.302 2.973a2.8 2.8 0 0 1-.757.106h-.539c.365 1.205 1.424 2.078 2.622 2.078a5.56 5.56 0 0 1-3.563 1.299c-.232 0-.46 0-.656-.043A7.8 7.8 0 0 0 5.398 14c5.279 0 8.165-4.62 8.165-8.626v-.392c.566-.375 1.053-.908 1.437-1.517'/%3E%3C/svg%3E")}.ui-extra-icon-instagram{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M8 2.261c1.869 0 2.09.007 2.829.041a3.9 3.9 0 0 1 1.3.241 2.32 2.32 0 0 1 1.329 1.329 3.9 3.9 0 0 1 .241 1.3c.034.738.041.96.041 2.829s-.007 2.091-.041 2.829a3.9 3.9 0 0 1-.241 1.3 2.32 2.32 0 0 1-1.329 1.329 3.9 3.9 0 0 1-1.3.241c-.738.034-.96.041-2.829.041s-2.091-.007-2.829-.041a3.9 3.9 0 0 1-1.3-.241 2.32 2.32 0 0 1-1.329-1.329 3.9 3.9 0 0 1-.241-1.3c-.034-.738-.041-.96-.041-2.829s.007-2.091.041-2.829a3.9 3.9 0 0 1 .241-1.3 2.32 2.32 0 0 1 1.33-1.329 3.9 3.9 0 0 1 1.3-.241c.738-.034.96-.041 2.829-.041M8 1c-1.9 0-2.14.008-2.886.042a5.1 5.1 0 0 0-1.7.326 3.4 3.4 0 0 0-1.24.807 3.4 3.4 0 0 0-.808 1.24 5.1 5.1 0 0 0-.325 1.7C1.008 5.861 1 6.1 1 8s.008 2.139.042 2.886a5.1 5.1 0 0 0 .325 1.7 3.58 3.58 0 0 0 2.048 2.047 5.1 5.1 0 0 0 1.7.326C5.86 14.992 6.1 15 8 15s2.139-.008 2.886-.042a5.1 5.1 0 0 0 1.7-.326 3.57 3.57 0 0 0 2.047-2.047 5.1 5.1 0 0 0 .326-1.7C14.992 10.139 15 9.9 15 8s-.008-2.139-.042-2.886a5.1 5.1 0 0 0-.326-1.7 3.4 3.4 0 0 0-.807-1.24 3.4 3.4 0 0 0-1.24-.807 5.1 5.1 0 0 0-1.7-.326C10.139 1.008 9.9 1 8 1'/%3E%3Cpath d='M8 4.405A3.6 3.6 0 1 0 11.6 8 3.6 3.6 0 0 0 8 4.405m0 5.928A2.333 2.333 0 1 1 10.333 8 2.33 2.33 0 0 1 8 10.333'/%3E%3Ccircle cx='11.737' cy='4.263' r='1'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-github{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7.999 1a7 7 0 0 0-2.212 13.642c.35.064.478-.152.478-.337 0-.166-.006-.606-.009-1.191-1.947.423-2.358-.938-2.358-.938-.318-.809-.777-1.024-.777-1.024-.636-.434.048-.426.048-.426.702.05 1.072.721 1.072.721.624 1.07 1.638.761 2.037.582.064-.452.245-.761.444-.936-1.554-.177-3.188-.777-3.188-3.46 0-.764.273-1.389.72-1.878-.072-.176-.312-.888.069-1.852 0 0 .588-.188 1.925.718A6.7 6.7 0 0 1 8 4.385c.594.003 1.193.08 1.752.236 1.336-.906 1.923-.718 1.923-.718.382.964.142 1.675.07 1.853.449.489.72 1.114.72 1.878 0 2.689-1.637 3.281-3.196 3.454.251.216.475.643.475 1.296 0 .936-.009 1.691-.009 1.92 0 .187.126.405.481.337A7.001 7.001 0 0 0 7.999 1'/%3E%3C/svg%3E")}.ui-extra-icon-gitlab{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3.363 1.685c.078-.247.427-.247.506.002L5.5 6.501h5l1.631-4.814a.265.265 0 0 1 .506 0l2.337 7.246a.54.54 0 0 1-.192.602L8 14.5 1.219 9.535a.545.545 0 0 1-.193-.602z'/%3E%3C/svg%3E")}.ui-extra-icon-bitbucket{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1.376 2.001a.44.44 0 0 0-.37.5L3 13.5c.036.208.277.503.5.501h9c.223.002.464-.293.5-.501l1.994-10.999a.44.44 0 0 0-.37-.5zm8.124 8h-3l-.75-4h4.5z'/%3E%3C/svg%3E")}.ui-extra-icon-mastodon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14.223 9.393c-.191.988-1.712 2.068-3.458 2.278-.911.109-1.807.209-2.763.165-1.563-.072-2.797-.375-2.797-.375q0 .23.028.435c.203 1.55 1.53 1.643 2.787 1.686 1.268.044 2.398-.314 2.398-.314l.052 1.152s-.887.479-2.468.567c-.872.048-1.954-.022-3.214-.357-2.734-.727-3.204-3.654-3.276-6.624-.021-.883-.008-1.714-.008-2.41 0-3.037 1.981-3.927 1.981-3.927.999-.461 2.713-.654 4.494-.669h.044c1.782.015 3.497.208 4.495.669 0 0 1.981.89 1.981 3.927.001 0 .025 2.241-.276 3.797M11.59 4.041c-.395-.442-.911-.668-1.553-.668-.742 0-1.304.287-1.676.86L8 4.841l-.361-.608c-.372-.573-.934-.86-1.676-.86-.641 0-1.158.226-1.553.668q-.574.663-.573 1.791v3.677h1.45V5.94c0-.752.315-1.134.945-1.134.697 0 1.046.453 1.046 1.349v1.954H8.72V6.155c0-.896.349-1.349 1.046-1.349.63 0 .946.382.946 1.134v3.569h1.45V5.832q.001-1.128-.572-1.791'/%3E%3C/svg%3E")}.ui-draggable{transition:box-shadow .1s linear}.ui-draggable-handle{touch-action:manipulation}.ui-draggable-dragging{box-shadow:var(--standard-shadow);opacity:.66;z-index:1000}.ui-resizable{position:relative}.ui-icon.ui-resizable-handle,.ui-resizable-handle{font-size:.1px;margin-bottom:0;position:absolute;touch-action:manipulation}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px}.ui-selectable{touch-action:manipulation}.ui-selectable-helper{border:1px dotted var(--clr-a);position:absolute;z-index:100}.ui-sortable-helper{box-shadow:var(--standard-shadow)}.ui-sortable-handle{touch-action:manipulation}.ui-sortable-placeholder{border:1px dotted var(--clr-a)}.ui-accordion .ui-accordion-header{cursor:pointer;display:block;font-size:1rem;margin:2px 0 0;padding:.5em 1em;position:relative}.ui-accordion .ui-accordion-header a{color:var(--clr-text);outline:0;text-decoration:none}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:.5em;margin-top:-8px;position:absolute;top:50%}.ui-accordion .ui-accordion-content{border-top:0;overflow:auto;padding:1px 1em}.ui-accordion .ui-accordion-icons,.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-inline-start:2em}[dir=rtl] .ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:auto;right:.5em}.ui-autocomplete{cursor:default;left:0;position:absolute;top:0}.ui-button{appearance:none;background-clip:padding-box;background-color:var(--clr-btn-bkgd);border:1px solid;border-color:var(--clr-btn-brdr);box-sizing:border-box;color:var(--clr-text-btn);cursor:pointer;display:inline-block;font-family:var(--font-form);font-size:1rem;line-height:1.5384615;margin:0;overflow:visible;padding:.3846154em .6153846em;position:relative;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:initial}.ui-button:hover{color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}.ui-button:active{color:var(--clr-text-btn-active);filter:brightness(.95);text-decoration:none}.ui-button:focus{border-color:var(--clr-focus);color:var(--clr-text-btn-active);outline:2px solid #0000}a.ui-button{color:var(--clr-text-btn);text-decoration:none}.ui-button.ui-state-focus{border-color:var(--clr-focus)!important}.ui-button-icon-only{box-sizing:border-box;text-indent:-9999px;white-space:nowrap;width:2.1538462em}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-button.ui-icon-notext .ui-icon{padding:0;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{padding:.4em 1em;text-indent:0;white-space:normal}.ui-checkboxradio-label .ui-icon-background{background-color:var(--clr-bkgd-form);border:1px solid var(--clr-brdr-dark);border-radius:.2em;box-sizing:border-box}.ui-checkboxradio-label.ui-checkboxradio-checked .ui-icon{background:var(--clr-text-demoted) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='m13 2.5-7 7-2-2-2 2 4 4 9-9z'/%3E%3C/svg%3E");border:0}.ui-checkboxradio-label.ui-checkboxradio-checked.ui-state-focus .ui-icon{background-color:var(--clr-focus)}.ui-checkboxradio-label.ui-checkboxradio-checked:hover .ui-icon{background-color:var(--clr-text)}.ui-checkboxradio-radio-label .ui-icon-background{border-radius:100%}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon{background:var(--clr-bkgd-form);border:5px solid var(--clr-text-demoted);border-radius:100%}.ui-checkboxradio-radio-label.ui-checkboxradio-checked.ui-state-focus .ui-icon{background-color:var(--clr-bkgd-form);border-color:var(--clr-focus)}.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-color:var(--clr-bkgd-form);border-color:var(--clr-text)}.ui-checkboxradio-disabled{pointer-events:none}.ui-checkboxradio-checked.ui-button{background-color:var(--clr-hilite-box)}.ui-controlgroup{display:inline-flex;flex-flow:row wrap}.ui-controlgroup .ui-controlgroup-item{margin-left:0;margin-right:0}.ui-controlgroup .ui-controlgroup-item.ui-visual-focus,.ui-controlgroup .ui-controlgroup-item:focus{z-index:9999}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:11px}.ui-controlgroup .ui-state-highlight{background-color:var(--clr-hilite-box)}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:0}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:0}.ui-controlgroup-vertical{flex-flow:column}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box;display:block;margin-bottom:0;margin-top:0;text-align:start;width:100%}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:0}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:0}.ui-controlgroup-vertical .ui-spinner-input{width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-datepicker{box-shadow:var(--standard-shadow);display:none;padding:.2em .2em 0;width:17em}.ui-datepicker .ui-datepicker-header{padding:.2em 0;position:relative}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{background-color:initial;border-radius:.5em;height:1.8em;margin-top:-.9em;position:absolute;top:50%;width:1.8em}.ui-datepicker .ui-datepicker-prev{left:.2em}.ui-datepicker .ui-datepicker-next{right:.2em}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{background-color:var(--clr-bkgd-box)}.ui-datepicker .ui-datepicker-title{line-height:1.8461538;margin:0 2.2em;text-align:center}.ui-datepicker .ui-datepicker-title select{margin:0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{margin:0 0 .2em;width:100%}.ui-datepicker th{border:0;padding:.5em .2em;text-align:center}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:center}.ui-datepicker td.ui-datepicker-week-col{padding:.32em 0;text-align:center}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;border-bottom:0;border-left:0;border-right:0;margin:.7em 0 0;padding:0 .2em}.ui-datepicker .ui-datepicker-buttonpane button{cursor:pointer;float:right;margin:.5em .25em .4em;overflow:visible;padding:.25em .6em .3em;width:auto}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker .ui-icon{display:block;left:.5em;top:.3em}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{margin:0 auto .4em;width:95%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-inline-start-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-row-break{clear:both;font-size:0;width:100%}[dir=rtl] .ui-datepicker-prev{left:auto;right:.2em}[dir=rtl] .ui-datepicker-prev span{transform:rotate(180deg)}[dir=rtl] .ui-datepicker-next{left:.2em;right:auto}[dir=rtl] .ui-datepicker-next span{transform:rotate(180deg)}[dir=rtl] .ui-datepicker-buttonpane{clear:right}[dir=rtl] .ui-datepicker-buttonpane button{float:left}[dir=rtl] .ui-datepicker-buttonpane button.ui-datepicker-current,[dir=rtl] .ui-datepicker-group{float:right}.ui-dialog{box-shadow:var(--standard-shadow);display:flex;flex-flow:column;left:0;max-height:90vh;max-width:90vw;min-width:300px;outline:0;overflow:hidden;padding:.25em;position:fixed;top:0;z-index:1002}.ui-dialog .ui-dialog-titlebar{flex:none;padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90%}[dir=rtl] .ui-dialog .ui-dialog-title{float:right}.ui-dialog .ui-dialog-titlebar-close{height:20px;margin:-10px 0 0;position:absolute;right:.3em;top:50%;width:20px}[dir=rtl] .ui-dialog .ui-dialog-titlebar-close{left:.3em;right:auto}.ui-dialog .ui-dialog-content{background:none;border:0;box-sizing:border-box;flex:1 1 auto;min-width:100%;overflow:auto;padding:.5em 1em;position:relative}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0;margin-top:.5em;padding:.5em;text-align:start}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}[dir=rtl] .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;margin:.5em 0;margin-inline-end:.4em}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{border-color:var(--clr-brdr-lite);box-shadow:var(--standard-shadow);display:block;font-size:1rem;line-height:1.5384615;list-style:none;margin:0;outline:0;padding:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{cursor:pointer;display:block;margin:0}.ui-menu .ui-menu-item a{color:var(--clr-text);text-decoration:none}.ui-menu .ui-menu-item label{cursor:pointer;display:block;margin:-.3076923em -.6153846em;padding:.3076923em .6153846em;padding-inline-start:2em}.ui-menu .ui-menu-item label [type=checkbox],.ui-menu .ui-menu-item label [type=radio]{left:.5em;position:absolute;top:.5em}.ui-menu .ui-menu-item-wrapper{padding:.3076923em .6153846em;position:relative}.ui-menu .ui-menu-divider{border-width:1px 0 0;font-size:0;height:0;line-height:0;margin:.3076923em 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{background-color:var(--clr-selected)}.ui-menu .ui-icon{bottom:0;left:.3076923em;margin:auto 0;position:absolute;top:0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}[dir=rtl] .ui-menu .ui-icon,[dir=rtl] .ui-menu .ui-menu-item label [type=checkbox],[dir=rtl] .ui-menu .ui-menu-item label [type=radio]{left:auto;right:.3076923em}[dir=rtl] .ui-menu .ui-menu-icon{left:0;right:auto}.ui-progressbar{background-color:var(--clr-bkgd-box);margin-bottom:1em;overflow:hidden;text-align:left}.ui-progressbar-value{background-color:var(--clr-success-text);height:6px}.ui-progressbar-indeterminate .ui-progressbar-value{background-color:var(--clr-brdr)}.ui-selectmenu-button{display:inline-flex}.ui-selectmenu-button:not(.ui-controlgroup-item){border-radius:.5em}.ui-selectmenu-button.ui-controlgroup-item.ui-corner-tr{border-radius:0 .5em .5em 0}.ui-selectmenu-button.ui-controlgroup-item.ui-corner-tl{border-radius:.5em 0 0 .5em}.ui-selectmenu-icon{flex:none;margin:.2em .2307692em 0;margin-inline-end:-.2307692em;order:2}.ui-selectmenu-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-selectmenu-menu{display:none;left:0;margin:0;padding:0;position:absolute;top:0}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{border-top:1px solid var(--clr-brdr);font-size:1rem;font-weight:700;height:auto;line-height:1.5384615;margin:.5em 0 0;padding:2px .6153846em}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup:first-child{border:0;margin:0}.ui-selectmenu-open{display:block}[dir=rtl] .ui-selectmenu-button.ui-controlgroup-item.ui-corner-tr{border-radius:.5em 0 0 .5em}[dir=rtl] .ui-selectmenu-button.ui-controlgroup-item.ui-corner-tl{border-radius:0 .5em .5em 0}.no-ui-button .ui-selectmenu-button{background:#0000;border:0;color:var(--clr-a);cursor:pointer;font-family:var(--font-body);height:auto;margin:0;padding:0;-webkit-user-select:auto;user-select:auto}.no-ui-button .ui-selectmenu-button:active,.no-ui-button .ui-selectmenu-button:hover{background:#0000;box-shadow:none;color:var(--clr-a-interact);text-decoration:underline}.no-ui-button .ui-selectmenu-button:focus{outline:thin solid var(--clr-focus)}.no-ui-button .ui-selectmenu-button .ui-selectmenu-icon{opacity:.66}.no-ui-button .ui-selectmenu-button:active .ui-selectmenu-icon,.no-ui-button .ui-selectmenu-button:focus .ui-selectmenu-icon,.no-ui-button .ui-selectmenu-button:hover .ui-selectmenu-icon{opacity:1}.ui-slider{background-color:var(--clr-bkgd-box);border-color:var(--clr-brdr);box-sizing:border-box;position:relative;text-align:start}.ui-slider:hover{border-color:var(--clr-brdr-dark)}.ui-slider .ui-slider-handle{background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr-dark);border-radius:50%;box-shadow:var(--standard-shadow);box-sizing:border-box;cursor:pointer;height:20px;position:absolute;touch-action:manipulation;width:20px;z-index:2}.ui-slider .ui-slider-handle:hover{border-color:var(--clr-brdr-dark);filter:brightness(1.05)}.ui-slider .ui-slider-handle:active{filter:brightness(.95)}.ui-slider .ui-slider-range{background:var(--clr-success-text);border:0;display:block;font-size:10px;position:absolute;z-index:1}.ui-slider-horizontal{height:12px;margin-bottom:1em}.ui-slider-horizontal .ui-slider-handle{margin-left:-10px;top:-5px}.ui-slider-horizontal .ui-slider-range{height:100%;top:0}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{height:100px;width:12px}.ui-slider-vertical .ui-slider-handle{left:-20px;margin-bottom:-10px}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{border:0;display:inline-block;padding:0;position:relative;vertical-align:initial}.ui-spinner .ui-spinner-input{padding-inline-end:24px}.ui-spinner-button{cursor:default;display:block;font-size:.5384615rem;height:42%;line-height:1.5714286;margin:0;overflow:hidden;padding:0;position:absolute;right:0;width:18px}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}[dir=rtl] .ui-spinner-button{left:0;right:auto}.ui-tabs{border:0}.ui-tabs .ui-tabs-nav{background:none;padding:0}.ui-tabs .ui-tabs-nav:not(.switcher-list) .ui-tabs-anchor{color:var(--clr-text);text-decoration:none}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{display:block;padding:.3846154em 1.3846154em}.ui-tabs .ui-tabs-nav li:hover{filter:brightness(1.05)}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs .ui-tabs-nav .ui-state-focus a{outline:thin solid var(--clr-focus)}.ui-tabs .ui-tabs-panel{background:none;border-width:1px 0;display:block;margin:0 0 1em;padding:1px 0}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav{height:31px}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav li{border-bottom-width:0;border-top-left-radius:.75em 2em;border-top-right-radius:.75em 2em;box-shadow:inset 0 -.2em .4em #dccc8f80,0 -.15em .15em #0000001a;display:inline-block;height:30px;list-style:none;white-space:nowrap}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav li:hover{border-color:var(--clr-brdr-dark)}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav li.ui-tabs-active{background-color:var(--clr-bkgd);box-shadow:0 -.15em .15em #0000001a;margin-bottom:-1px;padding-bottom:1px}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs-vertical .ui-tabs-nav{border-bottom:1px solid var(--clr-brdr)}.ui-tabs-vertical .ui-tabs-nav li{border:1px solid var(--clr-brdr);border-bottom:1px solid #0000;display:block}.ui-tabs-vertical .ui-tabs-panel{border-top-width:0}.txp-details .ui-tabs-nav{border-bottom:0}.txp-details .ui-tabs-nav li{border-left:0;border-right:0}.txp-details .ui-tabs-nav li:first-child{border-top:0}.ui-tooltip{box-shadow:var(--standard-shadow);max-width:22em;padding:.5em 1em;position:absolute;z-index:9999}:root{--font-heading:Cambria,Georgia,serif;--font-body:"Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-form:system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-code:Monaco,"Lucida Console","Bitstream Vera Sans Mono","DejaVu Sans Mono",monospace;--clr-text:#333;--clr-text-demoted:#595959;--clr-text-inversed:#fff;--clr-text-form:#000;--clr-text-placeholder:#999;--clr-text-btn:#000;--clr-text-btn-hover:#000;--clr-text-btn-active:#000;--clr-bkgd:#fff;--clr-bkgd-box:#f7f7f7;--clr-bkgd-form:#f7f7f7;--clr-bkgd-form-disabled:#e3e3e3;--clr-accent:#ffd942;--clr-accent-dark:#d6ab00;--clr-hilite-box:#fff8db;--clr-strong-hilite-box:#ffefad;--clr-brdr:#ccc;--clr-brdr-lite:#d4d4d4;--clr-brdr-dark:#b3b3b3;--clr-brdr-form:#c7c7c7 #ddd #ddd #c7c7c7;--clr-a:#963;--clr-a-interact:#b2702e;--clr-focus:#5a9bd8;--clr-selecting:#cce0ff;--clr-selected:#e6f0ff;--clr-btn-bkgd:#e6e6e6;--clr-btn-brdr:#ddd #c7c7c7 #c7c7c7 #ddd;--clr-btn-primary-bkgd:#900;--clr-btn-primary-brdr:#b00 #600 #600 #b00;--clr-btn-caution-bkgd:#f8eded;--clr-success-text:#238b23;--clr-success-bkgd:#dbf0db;--clr-success-brdr:#a0ce8d;--clr-warning-text:#662c00;--clr-warning-bkgd:#f7edd9;--clr-warning-brdr:#e4c686;--clr-error-text:#9b251c;--clr-error-bkgd:#f2dfde;--clr-error-brdr:#dfb2af;--clr-info-text:#3986ac;--clr-info-bkgd:#e8f6fc;--clr-info-brdr:#adddf5;--standard-shadow:0 0 0.5em #0003} \ No newline at end of file +a{color:var(--clr-a);text-decoration:none;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;touch-action:manipulation}a:active,a:hover{color:var(--clr-a-interact);text-decoration:underline}a:focus{outline:thin solid var(--clr-focus)}a.busy{visibility:hidden}.pophelp,.pophelpsubtle,.txp-list thead th a.pophelp{display:inline-block}[dir=rtl] a{unicode-bidi:embed}.txp-skip-link{background-color:var(--clr-bkgd-box);left:0;padding:.25em .5em;position:absolute;top:0;transform:translateY(-5em);transition:transform .2s ease-in-out;z-index:1001}.txp-skip-link:active,.txp-skip-link:focus{transform:translateY(0)}[dir=rtl] .txp-skip-link{left:auto;right:1px}html{font-size:13px;line-height:1.5384615;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable both-edges}body{font-family:var(--font-body)}h1{font-family:var(--font-heading);font-size:2rem;font-weight:400;line-height:1.2307692;margin:0 0 .5em}h1 .pophelp{font-family:var(--font-body);font-size:1rem}h2{font-family:var(--font-heading);font-size:1.3846154rem;font-weight:400;line-height:1.3333333;margin:.5em 0 .7222222em}h2 .pophelp{font-family:var(--font-body);font-size:1rem}h3{font-family:var(--font-heading);font-size:1.1538462rem;line-height:1.4;margin:.8666667em 0}h3 a{font-weight:700}h4,h5,h6{font-size:1rem;margin:1em 0}b,strong{font-weight:700}address,blockquote{margin:1em 0}blockquote{border-inline-start:3px solid var(--clr-brdr);padding:0;padding-inline-start:1em}abbr[title]{border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}mark,var{background:var(--clr-selected);color:var(--clr-text);padding:1px .2307692em}.code,code,kbd,pre,samp{direction:ltr;font-family:var(--font-code);text-align:left;unicode-bidi:isolate}code,kbd,samp{padding:1px .2307692em}code,kbd,pre,samp{background:var(--clr-bkgd-box);border:1px solid var(--clr-brdr-lite)}pre{margin:1em 0;overflow-wrap:normal;overflow-x:auto;padding:1em;tab-size:4}.code code,code.body,code.excerpt,pre code{background:none;border:0;hyphens:none;overflow-wrap:normal;padding:0;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}sub,sup,sup.footnote{font-size:.75em;line-height:0;position:relative;vertical-align:initial}sup{top:-.5em}sub{bottom:-.3333333em}.footnote,.txp-form-field-instructions,figcaption,small,tfoot{font-size:11px;line-height:1.4545455}.footnote,.txp-form-field-instructions,figcaption,tfoot{color:var(--clr-text-demoted)}figcaption{font-style:italic;margin-top:.5em}[dir=ltr],[dir=rtl]{unicode-bidi:isolate}bdo[dir=ltr],bdo[dir=rtl]{unicode-bidi:isolate-override}:lang(ja){font-family:Hiragino Sans,Hiragino Kaku Gothic Pro,Meiryo UI,sans-serif;font-weight:300}:lang(ko){font-family:GulimChe,Gulim,sans-serif}:lang(zh-cn){font-family:PingFang SC,SimHei,sans-serif}:lang(zh-tw){font-family:PingFang TC,PMingLiU,sans-serif}[lang|=ar] a:hover,[lang|=fa] a:hover,[lang|=ur] a:hover{text-decoration:none}img,video{height:auto;max-width:100%}img{vertical-align:middle}img.align-left{float:left;margin:1em;margin-inline-start:0}img.align-right{float:right;margin:1em;margin-inline-end:0}img.align-center{display:block;margin:1em auto}[dir=rtl] img.align-left{float:right}[dir=rtl] img.align-right{float:left}.content-image{background:var(--clr-bkgd);border:1px solid var(--clr-brdr)}a:hover .content-image{border-color:var(--clr-a-interact)}a:focus .content-image{border-color:var(--clr-focus)}.fullsize-image .content-image{max-height:85vh;object-fit:contain}li.success{background:var(--clr-success-bkgd)}.success:not(li){color:var(--clr-success-text)}li.warning{background:var(--clr-warning-bkgd)}.warning:not(li){color:var(--clr-warning-text)}li.error{background:var(--clr-error-bkgd)}.error:not(li){color:var(--clr-error-text)}li.information{background:var(--clr-info-bkgd)}.information:not(li){color:var(--clr-info-text)}.highlight{background:var(--clr-hilite-box)}.alert-block{border:1px solid;clear:both;padding:.5384615em 1em}.alert-block.success{background:var(--clr-success-bkgd);border-color:var(--clr-success-brdr)}.alert-block.warning{background:var(--clr-warning-bkgd);border-color:var(--clr-warning-brdr)}.alert-block.error{background:var(--clr-error-bkgd);border-color:var(--clr-error-brdr)}.alert-block.information{background:var(--clr-info-bkgd);border-color:var(--clr-info-brdr)}.alert-pill{display:inline-block;font-weight:400;padding:0 .33em}.messagepane{left:50%;max-width:100%;position:fixed;text-align:center;top:0;transform:translateX(-50%);z-index:1000}.messagepane .messageflash{border:1px solid;border-radius:0 0 .5em .5em;border-top:0;box-shadow:var(--standard-shadow);box-sizing:border-box;color:var(--clr-text-inversed);display:inline-block;margin:0 auto;max-width:100%;overflow-wrap:break-word;padding:.5384615em 3.5384615em;padding-inline-start:.75em;position:relative;text-align:start}.messagepane .messageflash.success{background:var(--clr-success-text);border-color:var(--clr-success-brdr)}.messagepane .messageflash.warning{background:var(--clr-warning-text);border-color:var(--clr-warning-brdr)}.messagepane .messageflash.error{background:var(--clr-error-text);border-color:var(--clr-error-brdr)}.messagepane a{color:var(--clr-text-inversed)}.messagepane code{background:#0000;border-color:#ffffffa8}.close{border-inline-start:1px solid #ffffffa8;bottom:.5em;position:absolute;right:0;width:2.5384615em}.close span{margin-top:-9px;opacity:.66;position:absolute;right:.6923077em;top:50%}.close span:hover{opacity:1}[dir=rtl] .close{left:0;right:auto}[dir=rtl] .close span{left:.6923077em;right:auto}.messageflash{animation:messageflash 1s}details{display:block}summary{cursor:pointer;display:list-item}summary:focus{outline:1px solid var(--clr-focus)}h3.txp-summary a{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 100'%3E%3Cpath fill='%23963' d='M1 7V0l4 3.5M0 96h7l-3.5 4'/%3E%3C/svg%3E") no-repeat 0 4px;background-size:7px 100px;padding:0;padding-inline-start:.8666667em}h3.txp-summary.expanded a{background-position:0 -90px}.txp-details .txp-listtables{margin:1em 0}.txp-details .txp-form-field.date,.txp-details .txp-form-field.time{display:inline-block;margin:0 0 1em}.txp-details .txp-form-field.date{margin-inline-end:1em}code[class*=language-],pre[class*=language-]{direction:ltr;hyphens:none;overflow-wrap:normal;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}:not(pre)>code[class*=language-]{white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}fieldset{border:1px solid var(--clr-brdr);margin:1em 0;min-width:0;padding:1px 1em}legend{padding:0}button,input{touch-action:manipulation}.navlink,.navlink-active,.navlink-disabled,.txp-button,button,input,optgroup,select,textarea{box-sizing:border-box;color:var(--clr-text-form);font-family:var(--font-form);font-size:1rem;line-height:1.5384615;margin:0;max-width:100%;vertical-align:initial}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{appearance:none;background:var(--clr-bkgd-form);border:1px solid;border-color:var(--clr-brdr-form);border-radius:0;height:2.3076923em;padding:.3076923em}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{border-color:var(--clr-focus);outline:2px solid #0000}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]::-webkit-search-decoration{appearance:none}select{background:var(--clr-bkgd-form) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'%3E%3Cpath fill='%23777' d='M3.5 4 0 0h7z'/%3E%3C/svg%3E") right center no-repeat;background-size:1em .3076923em;padding-inline-end:1.3076923em;text-overflow:ellipsis;text-transform:none}select:hover{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 4'%3E%3Cpath d='M3.5 4 0 0h7z'/%3E%3C/svg%3E")}.txp-reduced-ui select{background-color:var(--clr-bkgd);border-color:var(--clr-bkgd)}.txp-reduced-ui select:focus{border-color:var(--clr-focus)}[dir=rtl] select{background-position:.4615385em}select[multiple],select[size]{background-image:none;box-sizing:border-box;height:auto;padding-inline-end:.3076923em;vertical-align:top}select[size="0"],select[size="1"]{height:2.3076923em}optgroup{font-style:normal;font-weight:700}textarea{height:auto;min-height:3em;resize:vertical;tab-size:4;vertical-align:top;width:100%}textarea.code{direction:ltr}input[size="32"]{max-width:30em;width:100%}input.input-large{width:100%}input.input-medium{max-width:14.4615385em;width:50%}input.input-small{max-width:7.6153846em;width:25%}input.input-xsmall{max-width:4.2307692em;width:16%}input.input-year{text-align:center;width:4.076923em}input.input-day,input.input-hour,input.input-minute,input.input-month,input.input-second{text-align:center;width:2.4615385em}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{border-color:var(--clr-error-text);box-shadow:none}input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:var(--clr-error-text);box-shadow:none}input:out-of-range,select:out-of-range,textarea:out-of-range{border-color:var(--clr-error-text);box-shadow:none}::placeholder{color:var(--clr-text-placeholder);font:inherit;font-weight:400;opacity:1}[type=checkbox],[type=radio]{padding:0}[type=checkbox]+label:not(.ui-controlgroup-item),[type=radio]+label:not(.ui-controlgroup-item){margin:0;margin-inline-end:.5em}[type=checkbox]+label:not(.ui-controlgroup-item):last-of-type,[type=radio]+label:not(.ui-controlgroup-item):last-of-type{margin-inline-end:0}[type=file]{appearance:none;background:var(--clr-bkgd-form);border:1px solid var(--clr-brdr);border-radius:0;box-sizing:border-box;cursor:pointer;height:auto;min-height:2.3076923em;padding:.3076923em}[type=file]:focus{border-color:var(--clr-focus);outline:2px solid #0000}::-webkit-file-upload-button{appearance:none;background:var(--clr-bkgd-form);border:0;color:var(--clr-text-btn);cursor:pointer;font:inherit;padding:0 .25em}[type=file]:hover::-webkit-file-upload-button{filter:brightness(1.05)}[type=file]:active::-webkit-file-upload-button{filter:brightness(.95)}.txp-input-range{display:flex}[type=range]+input.input-number-max100{margin-inline-start:.5em}[type=range]{appearance:none;background-color:initial;max-width:30em;vertical-align:initial;width:100%}[type=range]:focus{outline:0}[type=range]::-webkit-slider-thumb{appearance:none;background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr-dark);border-radius:50%;box-shadow:var(--standard-shadow);cursor:pointer;height:20px;margin-top:-5px;width:20px}[type=range]:hover::-webkit-slider-thumb{filter:brightness(1.05)}[type=range]:active::-webkit-slider-thumb{filter:brightness(.95)}[type=range]:focus::-webkit-slider-thumb{border-color:var(--clr-focus)}[type=range]::-webkit-slider-runnable-track{background-color:var(--clr-bkgd-form);border:1px solid var(--clr-brdr);box-sizing:border-box;cursor:pointer;height:12px;width:100%}[type=range]:hover::-webkit-slider-runnable-track{border-color:var(--clr-brdr-dark)}[type=range]:active::-webkit-slider-runnable-track,[type=range]:focus::-webkit-slider-runnable-track{border-color:var(--clr-focus)}[type=range]::-moz-range-thumb{appearance:none;background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr-dark);border-radius:50%;box-shadow:var(--standard-shadow);cursor:pointer;height:20px;width:20px}[type=range]:hover::-moz-range-thumb{filter:brightness(1.05)}[type=range]:active::-moz-range-thumb{filter:brightness(.95)}[type=range]:focus::-moz-range-thumb{border-color:var(--clr-focus)}[type=range]::-moz-range-track{background-color:var(--clr-bkgd-form);border:1px solid var(--clr-brdr);box-sizing:border-box;cursor:pointer;height:12px;width:100%}[type=range]:hover::-moz-range-track{border-color:var(--clr-brdr-dark)}[type=range]:focus::-moz-range-track{border-color:var(--clr-focus)}[type=range]::-moz-focus-outer{border-style:none}.navlink-disabled,.txp-button.disabled,.ui-checkboxradio-disabled,[disabled],[disabled] optgroup,[disabled] option,[inert]{background-color:var(--clr-bkgd-form-disabled)!important;border:1px solid var(--clr-brdr)!important;box-shadow:none!important;cursor:default!important;opacity:.33!important}button{text-transform:none}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}.navlink,.navlink-active,.txp-button,.txp-logout a,[type=reset],[type=submit],button,input[type=button]{appearance:none;background-clip:padding-box;background-color:var(--clr-btn-bkgd);border:1px solid;border-color:var(--clr-btn-brdr);color:var(--clr-text-btn);cursor:pointer;display:inline-block;font-weight:400;height:auto;padding:.3076923em .6153846em;text-align:center;-webkit-user-select:none;user-select:none;width:auto}.navlink-active:hover,.navlink:hover,.txp-button:hover,.txp-logout a:hover,[type=reset]:hover,[type=submit]:hover,button:hover,input[type=button]:hover{color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}.navlink-active:active,.navlink:active,.txp-button:active,.txp-logout a:active,[type=reset]:active,[type=submit]:active,button:active,input[type=button]:active{color:var(--clr-text-btn-active);filter:brightness(.95);text-decoration:none}.navlink-active:focus,.navlink:focus,.txp-button:focus,.txp-logout a:focus,[type=reset]:focus,[type=submit]:focus,button:focus,input[type=button]:focus{border-color:var(--clr-focus);color:var(--clr-text-btn-active);outline:2px solid #0000}button.txp-reduced-ui-button{background:none;border:none;color:var(--clr-a)}button.txp-reduced-ui-button:active,button.txp-reduced-ui-button:hover{color:var(--clr-a-interact);text-decoration:underline}button.txp-reduced-ui-button:focus{outline:thin solid var(--clr-focus)}[type=submit].caution,button.caution{background-color:var(--clr-btn-caution-bkgd);border:1px solid var(--clr-error-brdr);color:var(--clr-error-text);font-weight:700}[type=submit].caution:focus,button.caution:focus{border-color:var(--clr-focus)}[type=submit].publish,button.publish{background-color:var(--clr-btn-primary-bkgd);border-color:var(--clr-btn-primary-brdr);color:var(--clr-text-inversed);font-weight:700;padding:.6153846em 1em}[type=submit].publish:focus,button.publish:focus{border-color:var(--clr-focus)}button.destroy{border:0;padding:.0769231em 0 0}button.destroy,button.destroy:active,button.destroy:hover{background:none}button.destroy:focus{outline:thin solid var(--clr-focus)}button.destroy .ui-icon{opacity:.66}button.destroy:active .ui-icon,button.destroy:hover .ui-icon{opacity:1}.navlink-disabled{background-clip:padding-box;border:1px solid;box-sizing:border-box;display:inline-block;padding:.3076923em .6153846em}ul.nav-tertiary{list-style:none;padding:0}ul.nav-tertiary li{display:inline}.filtered button.ui-corner-right,.nav-tertiary .navlink-active{background-color:var(--clr-hilite-box)}.txp-search button.txp-search-button{padding-left:1.5em;padding-right:1.5em}.navlink-disabled,.txp-button.disabled,.ui-checkboxradio-disabled,[type=button][disabled],[type=button][inert],[type=reset][disabled],[type=reset][inert],[type=submit][disabled],[type=submit][inert],button[disabled],button[inert]{background:var(--clr-bkgd-form-disabled)!important;color:var(--clr-text-form)!important;filter:none!important}meter{appearance:none;background:var(--clr-bkgd);border:1px solid var(--clr-brdr);box-sizing:border-box;height:8px;overflow:hidden;vertical-align:-.0625em}meter::-webkit-meter-bar{background:var(--clr-bkgd)}meter::-webkit-meter-optimum-value{background:var(--clr-success-text)}meter::-webkit-meter-suboptimum-value{background:var(--clr-warning-text)}meter::-webkit-meter-even-less-good-value{background:var(--clr-error-text)}meter:-moz-meter-optimum::-moz-meter-bar{background:var(--clr-success-text)}meter:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--clr-warning-text)}meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--clr-error-text)}progress{vertical-align:initial}.txp-upload-progress{appearance:none;background-color:var(--clr-bkgd-box);border:1px solid var(--clr-brdr);box-sizing:border-box;height:8px;max-width:30em;width:100%}.txp-upload-progress::-webkit-progress-bar{background-color:var(--clr-bkgd)}.txp-upload-progress::-webkit-progress-value{background-color:var(--clr-success-text)}.txp-upload-progress:indeterminate::-webkit-progress-bar{background-color:var(--clr-brdr)}.txp-upload-progress::-moz-progress-bar{background-color:var(--clr-success-text)}.txp-upload-progress:indeterminate::-moz-progress-bar{background-color:var(--clr-brdr)}menu,ol,ul{padding-inline-start:2em}li>ol,li>ul{margin:0}dd{margin-inline-start:2em}.plain-list,.switcher-list{list-style:none;padding:0}.switcher-list{margin:0}.switcher-list li{border-bottom:1px solid #0000;border-top:1px solid var(--clr-brdr);position:relative}.switcher-list li:last-child{border-bottom-color:var(--clr-brdr)}.switcher-list li.active{background:var(--clr-hilite-box)}.switcher-list li.selected{background:var(--clr-selected)}.switcher-list a{display:block;overflow:hidden;padding:.3846154em 1em;padding-inline-end:2.5em;text-overflow:ellipsis;white-space:nowrap}.switcher-action{left:0;position:absolute;top:.3846154em;z-index:2}.switcher-action+a{padding-inline:2em 0}[dir=rtl] .switcher-action{left:auto;right:0}.switcher-list .destroy{position:absolute;right:0;top:.4615385em;z-index:2}[dir=rtl] .switcher-list .destroy{left:0;right:auto}.txp-listtables{clear:both;overflow-x:auto}.txp-listtables:focus{outline:thin solid var(--clr-focus)}table{border-collapse:collapse;border-spacing:0}caption{margin-bottom:.5em;text-align:start}tbody{border-top:1px solid var(--clr-brdr)}tbody td,tbody th{border-bottom:1px solid var(--clr-brdr)}td,th{padding:.3846153em 1em;padding-inline-start:0;text-align:start;vertical-align:middle}td:last-child{padding:.3846154em 0}thead td,thead th{vertical-align:bottom}.txp-list,.txp-list--no-options{width:100%}.txp-list tbody tr.selected,.txp-list--no-options tbody tr.selected{background:var(--clr-selected)}.txp-list tbody th,.txp-list--no-options tbody th{font-weight:400}.txp-list thead th a,.txp-list--no-options thead th a{margin-inline-end:14px}.txp-list thead th.asc a,.txp-list thead th.desc a,.txp-list--no-options thead th.asc a,.txp-list--no-options thead th.desc a{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 48'%3E%3Cpath fill='%23fabc2b' d='M4.5 0 0 5h2v4h5V5h2M4.5 48 9 43H7v-4H2v4H0'/%3E%3C/svg%3E") no-repeat;background-size:9px 48px;margin-inline-end:0;padding-inline-end:14px}.txp-list thead th.asc a,.txp-list--no-options thead th.asc a{background-position:right 2px}[dir=rtl] .txp-list thead th.asc a,[dir=rtl] .txp-list--no-options thead th.asc a{background-position:left 2px}.txp-list thead th.desc a,.txp-list--no-options thead th.desc a{background-position:right -36px}[dir=rtl] .txp-list thead th.desc a,[dir=rtl] .txp-list--no-options thead th.desc a{background-position:left -36px}.txp-list-col-multi-edit{width:13px}.txp-list-col-id{white-space:nowrap}@media (update:slow),screen and (prefers-reduced-motion:reduce){.messageflash,span.spinner{animation:none}}@keyframes spinning{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes messageflash{0%{opacity:0}75%{opacity:.5}50%,to{opacity:1}}body{background:var(--clr-bkgd);color:var(--clr-text);display:flex;flex-direction:column;margin:0;min-height:100vh;padding:0;position:relative}.txp-body,body{box-sizing:border-box}.txp-body{flex-grow:1;margin:0 auto;max-width:114em;min-width:60em;padding:0 2.5%;width:100%}.txp-layout{display:grid;gap:0 2em;grid-template-columns:repeat(12,1fr)}.txp-layout-1col{grid-column:span 12}.txp-layout-3col{grid-column:span 4}.txp-layout-3col-2span{grid-column:span 8}.txp-layout-4col-3span{grid-column:span 9}.txp-layout-2col,.txp-layout-4col-2span{grid-column:span 6}.txp-layout-4col,.txp-layout-4col-alt{grid-column:span 3}.txp-layout-cell-row{align-items:flex-end;display:flex;justify-content:space-between}.txp-layout-textbox{max-width:62em}.txp-grid{clear:both;display:grid;gap:4px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));list-style:none;margin:0;padding:0}.txp-grid-cell{border:1px solid var(--clr-brdr);box-sizing:border-box;padding:0 1em;position:relative}.txp-grid-cell-2span{grid-column:span 2}.txp-grid-cell-3span{grid-column:span 3}.txp-grid-multi-edit{background-color:#ffffff80;border:1px solid var(--clr-brdr-lite);border-left:0;border-top:0;left:1px;padding:3px 6px;position:absolute;top:1px;z-index:2}.txp-header{margin-bottom:1.5em;min-width:60em}.login .txp-header{display:none}.txp-masthead{background-color:var(--clr-accent);border-bottom:1px solid var(--clr-accent-dark);display:flex;height:2.5em;justify-content:space-between;padding:0 2.5%}.txp-branding{background:url(../img/textpattern.svg) no-repeat 0 0;background-size:6.75em 1.5em;font-size:16px;height:1.5em;margin:.25em 0;overflow:hidden;text-indent:110%;text-transform:capitalize;white-space:nowrap;width:6.75em}.navpop{margin:.1538462em 0}.txp-footer{box-sizing:border-box;margin:1em 0;min-width:60em;padding:0 2.5%}.nav-tabs,.txp-footer{text-align:center}.nav-tabs ul{border-bottom:1px solid var(--clr-brdr);box-shadow:inset 0 -.2em .4em #00000026;list-style:none;margin:.5em 0 0;padding:0}.nav-tabs li{display:inline-block}.nav-tabs a{background-color:var(--clr-hilite-box);border:1px solid var(--clr-brdr-lite);border-bottom-color:var(--clr-brdr);border-top-left-radius:.75em 2em;border-top-right-radius:.75em 2em;bottom:-1px;box-shadow:inset 0 -.2em .4em #dccc8f80,0 -.15em .15em #0000001a;color:var(--clr-text-btn);display:block;padding:.1538462em 1.3846154em;position:relative;text-decoration:none}.nav-tabs a:hover{border-color:var(--clr-brdr-dark);color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}.nav-tabs a:focus{border-color:var(--clr-focus);outline:0}.nav-tabs .active a{background-color:var(--clr-bkgd);border-bottom-color:var(--clr-bkgd);box-shadow:0 -.15em .15em #0000001a}.nav-tabs .active a:focus{border-color:var(--clr-focus)}.clearfix:after{clear:both;content:"";display:table}.clear{clear:both}.hidden{display:none}.not-ready main{opacity:0}hr{border:0;border-bottom:1px solid var(--clr-brdr);box-sizing:initial;clear:both;height:0;margin:1.5em 0}hr.secondary{border-style:dashed;margin:.33em 0}.txp-accessibility{border:0;clip-path:inset(50%);height:1px;margin:-1px;padding:0;position:absolute;width:1px}.txp-accessibility,.txp-contain{overflow:hidden;white-space:nowrap}.txp-contain{max-width:30em;text-overflow:ellipsis}.txp-dropdown{display:none;position:absolute;width:18em;z-index:100}.txp-dropdown-toggle-all{border-bottom:1px solid var(--clr-brdr-lite)}.txp-search{display:flex;float:right;justify-content:flex-end;margin:1em 0;position:relative}.txp-search .ui-menu{position:absolute;width:18em;z-index:100}.txp-search .ui-controlgroup{flex-wrap:nowrap}.txp-search .txp-dropdown{z-index:101}[dir=rtl] .txp-search{float:left}.txp-search-clear{flex:1;margin:auto .5em;text-align:end}.txp-control-panel{margin-bottom:1em}.txp-control-panel>*{margin:0;margin-inline-end:1em}.txp-control-panel>:last-child{margin-inline-end:0}.txp-control-panel form{display:inline-block}.txp-control-panel textarea{margin-bottom:1em}.txp-control-panel .txp-details form{display:block;margin-block:.5em}.inline-file-uploader{margin-bottom:-.5em}.inline-file-uploader>*{margin-bottom:.5em}.txp-form-field.file-uploader{margin-bottom:-.5em}.txp-form-field.file-uploader .txp-form-field-value>*{margin-bottom:1em}.inline-file-uploader-actions{display:inline-block}.txp-list-options{flex-grow:1;margin:1em 0;position:relative;text-align:end}.txp-list-options>ul{text-align:start}.txp-list-options>:not(ul){margin:0;margin-inline-start:1em;-webkit-user-select:none;user-select:none;white-space:nowrap}.txp-actions>*,.txp-list-options form{display:inline-block}.txp-actions>*{margin:.5em 0 0;margin-inline-end:.5em}.txp-actions>:last-child{margin-inline-end:0}.txp-actions>a{padding-inline-start:.3076923em}.ui-dialog .txp-actions{margin-top:0}.txp-actions-inline{float:right;margin-top:1.3076923em}[dir=rtl] .txp-actions-inline{float:left}.multi-edit{background:var(--clr-bkgd);bottom:0;box-shadow:0 -1em 1em -.5em var(--clr-bkgd);margin:1em 0 0;padding:.3076923em 0;position:sticky;z-index:20}.multi-option{display:none}.multi-option.multi-step{display:inline-block;margin-inline-start:.3076923em}.txp-option-link{display:inline-block;white-space:nowrap}.text-section{border-top:2px solid var(--clr-brdr);margin-top:3em;padding-top:3em}.restricted-area{font-size:2rem;text-align:center}.secondary-text{opacity:.66}.disabled:not(.txp-button){background-image:none;cursor:default!important;opacity:.33;pointer-events:none;text-decoration:none}.disabled:not(.txp-button) a{cursor:default;pointer-events:none;text-decoration:none}.pageby,.prev-next{margin:1em 0}.prev-next form{display:inline-block}[dir=rtl] .prev-next .ui-icon-arrowthick-1-e,[dir=rtl] .prev-next .ui-icon-arrowthick-1-w{transform:rotate(180deg)}.txp-edit{background:var(--clr-bkgd);border:1px solid var(--clr-brdr-lite);clear:both;margin:0 auto 1em;max-width:60em;padding:1em 1em 1px;position:relative}.txp-edit h2{margin-top:0}.txp-edit-actions>*{margin-inline-start:1em}.txp-edit .txp-edit-actions{align-items:center;border-top:2px solid var(--clr-bkgd);display:flex;justify-content:flex-end;margin:1em -1em;padding:1em 1em 0}.txp-edit .txp-edit-actions .caution{margin-inline:0 auto}.txp-form-field{margin:1em 0;vertical-align:top}.txp-edit .txp-form-field,.txp-tabs-vertical-group .txp-form-field{flex-flow:row wrap}.txp-form-field-label,.txp-form-field-value{max-width:30em}.txp-form-field-shim{margin-inline-start:50%}.txp-form-field-set{display:inline-block}.txp-edit .txp-form-field:not(.txp-form-field-textarea),.txp-tabs-vertical-group .txp-form-field:not(.txp-form-field-textarea){align-items:baseline;display:flex}.txp-edit .txp-form-field-label,.txp-edit .txp-form-field-value,.txp-tabs-vertical-group .txp-form-field-label,.txp-tabs-vertical-group .txp-form-field-value{flex:1 1 0%;min-height:2.3076923em}.txp-form-field-textarea .txp-form-field-label,.txp-form-field-textarea .txp-form-field-value{flex:none;max-width:inherit;min-height:inherit}.txp-layout-4col-3span .txp-form-field-label,.txp-layout-4col-3span .txp-form-field-value{max-width:inherit}.txp-form-field-instructions{max-width:55em}.txp-edit .txp-form-field-instructions,.txp-tabs-vertical-group .txp-form-field-instructions{flex:0 0 100%;max-width:100%;order:3}.txp-textarea-options{float:right;margin:0 1px;position:relative;z-index:2}.txp-textarea-preview{margin-inline-start:1em}[dir=rtl] .txp-textarea-options{float:left}.txp-tabs-vertical-group{max-width:62em}.ui-dialog.txp-dialog-container,.ui-dialog.txp-preview-container{align-items:stretch;flex-direction:column;margin:auto}.txp-tagbuilder-container{position:absolute!important}.txp-save{align-items:center;display:flex}.txp-save-export{display:inline-block;margin-inline-start:1em;order:2}.txp-save-button{position:relative}.spinner-sticker{background-color:var(--clr-bkgd);border:2px solid var(--clr-bkgd);border-radius:50%;box-shadow:0 0 .5em #00000080;font-size:13px;height:16px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:16px;z-index:2}.spinner-sticker .ui-icon{margin:0}span.spinner{animation:spinning 1s linear infinite}.txp-setup{margin:1em auto;max-width:44em}.txp-login,.welcome .txp-setup{max-width:26em}.txp-login{margin:3em auto 1em}.login-view-site{border-top:1px solid var(--clr-brdr);bottom:-.5em;overflow:hidden;padding:1em 0;position:relative;text-overflow:ellipsis}.welcome select{width:100%}#page-category .multi-edit{margin-bottom:1em}#view_modes ul{border-bottom:1px solid var(--clr-brdr);font-size:11px;line-height:1.4545455;margin:0;padding:0}#view_modes li{display:inline-block}#view_modes a{background-color:var(--clr-hilite-box);border:1px solid var(--clr-brdr-lite);border-bottom-color:var(--clr-brdr);border-top-left-radius:.75em 2em;border-top-right-radius:.75em 2em;bottom:-1px;box-shadow:inset 0 -.2em .4em #dccc8f80,0 -.1em .1em #0000001a;color:var(--clr-text-btn);display:block;padding:.25em 1em;position:relative;text-decoration:none}#view_modes a:hover{border-color:var(--clr-brdr-dark);color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}#view_modes a:focus{border-color:var(--clr-focus);outline:0}#view_modes .active a{background-color:var(--clr-bkgd);border-bottom-color:var(--clr-bkgd);box-shadow:0 -.1em .1em #0000001a}#view_modes .active a:focus{border-color:var(--clr-focus)}#main_content .text input{font-size:1.2307692rem}#main_content .text textarea{font-size:1.2307692rem;line-height:1.5}#main_content .text .title input{font-weight:700;width:100%}#main_content .text .body textarea{height:48vh}#main_content .text .excerpt textarea{height:12vh}#main_content .author small{color:var(--clr-text-demoted);display:block;margin-top:-1em}.expire-now,.posted-now{margin-top:0}.not-modified,.unpublished{color:var(--clr-text-demoted)}.has-thumbnail a:focus{outline:0}.image-replace{margin-bottom:1em}.edit-alter-thumbnail{margin-bottom:1.5em}.edit-alter-thumbnail input{margin:0;margin-inline-end:.3333333em}.edit-alter-thumbnail input:last-child{margin-inline-end:0}.ui-button.thumbnail-swap-size{margin:0;margin-inline-end:.3333333em}.thumbnail-image form{display:inline-block;margin-top:5px;vertical-align:top}.txp-control-panel .assign-existing-form{display:block}.txp-list tbody tr.spam{background:var(--clr-error-bkgd)}.txp-list tbody tr.moderate{background:var(--clr-warning-bkgd)}.presentation textarea.code{height:64vh}#page-form .name{display:inline-block;margin:1em 0 0;margin-inline-end:1em}#page-form .name input{width:14.4615385em}#page-form .type{display:inline-block;margin:1em 0 0}.plugin-data{display:block}tr:not(.active) .manage span,tr:not(.active) .plugin-prefs{display:none}#preview-help,#preview-plugin,#preview-textpack{height:16vh;overflow:auto;resize:vertical}.edit-plugin-code textarea{height:70vh}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ui-helper-reset{border:0;font-size:1rem;line-height:1.5384615;list-style:none;margin:0;outline:0;padding:0;text-decoration:none}.ui-helper-clearfix:after{border-collapse:collapse;clear:both;content:"";display:table}.ui-helper-zfix{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.ui-front{z-index:100}.ui-widget .ui-widget{font-size:1rem}.ui-widget-content{background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr)}.ui-widget-header{font-weight:700}.ui-state-default,.ui-widget-header{background-color:var(--clr-bkgd-box)}.ui-state-default{border:1px solid var(--clr-brdr);color:var(--clr-text)}.ui-state-default.ui-state-hover{filter:brightness(1.05)}a.ui-state-default:focus,a.ui-state-default:hover{color:var(--clr-text);text-decoration:none}.ui-state-hover{background-color:var(--clr-bkgd-box);border-color:var(--clr-brdr-dark)}.ui-state-focus{border-color:var(--clr-focus);outline:0}.ui-state-focus a{outline:0}.ui-selecting{background-color:var(--clr-selecting)}.ui-selected{background-color:var(--clr-selected)}.ui-state-highlight{background-color:var(--clr-warning-bkgd);border:1px solid var(--clr-warning-brdr)}.ui-state-highlight.ui-state-hover{border-color:var(--clr-warning-text)}.ui-state-active{background-color:var(--clr-selected);border-color:var(--clr-a)}.ui-state-active.ui-state-hover{border-color:var(--clr-a-interact)}.ui-state-error{background-color:var(--clr-error-bkgd);border:1px solid var(--clr-error-brdr);color:var(--clr-error-text)}.ui-state-error.ui-state-hover{border-color:var(--clr-error-text)}.ui-priority-primary{font-weight:700}.ui-priority-secondary{font-weight:400;opacity:.66}.ui-state-disabled:not(.ui-button){background-image:none;cursor:default!important;opacity:.33;pointer-events:none}.ui-state-disabled:not(.ui-button) a{cursor:default;text-decoration:none}.ui-widget-overlay{background:#000000a8;height:100%;left:0;position:fixed;top:0;width:100%}.ui-widget-shadow{box-shadow:var(--standard-shadow)}.ui-icon{background-size:16px 16px;display:inline-block;height:16px;margin-bottom:-2px;overflow:hidden;position:relative;text-indent:-9999px;vertical-align:initial;width:16px}.ui-icon-medium{background-size:24px 24px;height:24px;width:24px}.ui-icon-large{background-size:32px 32px;height:32px;width:32px}.ui-widget-icon-block{display:block;left:50%;margin-left:-8px}a.ui-icon,a:not(.ui-button) .ui-icon,button:not(.ui-button) .ui-icon{opacity:.66}a:active .ui-icon,a:active.ui-icon,a:focus .ui-icon,a:focus.ui-icon,a:hover .ui-icon,a:hover.ui-icon,button:not(.ui-button):active .ui-icon,button:not(.ui-button):focus .ui-icon,button:not(.ui-button):hover .ui-icon{opacity:1}.ui-state-default .ui-icon{filter:brightness(1.6666667)}.success .ui-icon,.success.ui-icon{filter:brightness(2) sepia(1) hue-rotate(82deg) saturate(250%) brightness(100%)}.ui-state-highlight .ui-icon,.warning .ui-icon,.warning.ui-icon{filter:brightness(2) sepia(1) hue-rotate(4deg) saturate(500%) brightness(115%)}.destroy .ui-icon,.destroy.ui-icon,.error .ui-icon,.error.ui-icon,.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{filter:brightness(2) sepia(1) hue-rotate(-62deg) saturate(750%) brightness(65%)}.information .ui-icon,.information.ui-icon{filter:brightness(2) sepia(1) hue-rotate(150deg) saturate(600%) brightness(80%)}.messagepane .ui-icon,.ui-icon-inversed{filter:brightness(5)!important}.txp-button .ui-icon,.ui-state-active .ui-icon .ui-icon,.ui-state-focus .ui-icon .ui-icon,.ui-state-hover .ui-icon .ui-icon,.ui-widget-content .ui-icon .ui-icon,.ui-widget-header .ui-icon .ui-icon,[type=reset] .ui-icon,[type=submit]:not(.destroy) .ui-icon,button:not(.destroy,.txp-reduced-ui-button) .ui-icon,input[type=button] .ui-icon{filter:none!important}.ui-icon-caret-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 9 8 5 4 9l1.5 1.5L8 8l2.5 2.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 5v2h4v4h2V5'/%3E%3C/svg%3E")}.ui-icon-caret-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m7 12 4-4-4-4-1.5 1.5L8 8l-2.5 2.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 5v4H5v2h6V5'/%3E%3C/svg%3E")}.ui-icon-caret-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m4 7 4 4 4-4-1.5-1.5L8 8 5.5 5.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 9V5H5v6h6V9'/%3E%3C/svg%3E")}.ui-icon-caret-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 4 5 8l4 4 1.5-1.5L8 8l2.5-2.5'/%3E%3C/svg%3E")}.ui-icon-caret-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 5H5v6h2V7h4'/%3E%3C/svg%3E")}.ui-icon-caret-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m4 10 4 4 4-4-1.5-1.5L8 11 5.5 8.5M12 6 8 2 4 6l1.5 1.5L8 5l2.5 2.5'/%3E%3C/svg%3E")}.ui-icon-caret-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m10 12 4-4-4-4-1.5 1.5L11 8l-2.5 2.5M6 4 2 8l4 4 1.5-1.5L5 8l2.5-2.5'/%3E%3C/svg%3E")}.ui-icon-triangle-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 10 8 5l-5 5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 12V5H4z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m6 13 5-5-5-5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 11h7V4z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3 6 5 5 5-5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 4v7h7z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 3 5 8l5 5z'/%3E%3C/svg%3E")}.ui-icon-triangle-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 5H5v7z'/%3E%3C/svg%3E")}.ui-icon-triangle-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3 9 5 5 5-5zm10-2L8 2 3 7z'/%3E%3C/svg%3E")}.ui-icon-triangle-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m9 13 5-5-5-5zM7 3 2 8l5 5z'/%3E%3C/svg%3E")}.ui-icon-arrow-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 3 5 6h2v7h2V6h2'/%3E%3C/svg%3E")}.ui-icon-arrow-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 4H8l1.25 1.25-6.5 6.5 1.5 1.5 6.5-6.5L12 8'/%3E%3C/svg%3E")}.ui-icon-arrow-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 8-3-3v2H3v2h7v2'/%3E%3C/svg%3E")}.ui-icon-arrow-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 12V8l-1.25 1.25-6.5-6.5-1.5 1.5 6.5 6.5L8 12'/%3E%3C/svg%3E")}.ui-icon-arrow-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 13 3-3H9V3H7v7H5'/%3E%3C/svg%3E")}.ui-icon-arrow-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 12h4l-1.25-1.25 6.5-6.5-1.5-1.5-6.5 6.5L4 8'/%3E%3C/svg%3E")}.ui-icon-arrow-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3 8 3 3V9h7V7H6V5'/%3E%3C/svg%3E")}.ui-icon-arrow-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 4v4l1.25-1.25 6.5 6.5 1.5-1.5-6.5-6.5L8 4'/%3E%3C/svg%3E")}.ui-icon-arrow-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 5h2L8 2 5 5h2v6H5l3 3 3-3H9'/%3E%3C/svg%3E")}.ui-icon-arrow-2-ne-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m9 3 1.25 1.25-6 6L3 9v4h4l-1.25-1.25 6-6L13 7V3'/%3E%3C/svg%3E")}.ui-icon-arrow-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 7V5L2 8l3 3V9h6v2l3-3-3-3v2'/%3E%3C/svg%3E")}.ui-icon-arrow-2-se-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m11.75 10.25-6-6L7 3H3v4l1.25-1.25 6 6L9 13h4V9'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 3h8v2H4zm4 3L5 9h2v4h2V9h2z'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 4h2v8h-2zm-1 4L7 5v2H3v2h4v2z'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 11h8v2H4zm4-1 3-3H9V3H7v4H5z'/%3E%3C/svg%3E")}.ui-icon-arrowstop-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 4h2v8H3zm3 4 3 3V9h4V7H9V5z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 2 3 7h3v7h4V7h3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-ne{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 3H6l2 2-5 5 3 3 5-5 2 2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 8 9 3v3H2v4h7v3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 13V6l-2 2-5-5-3 3 5 5-2 2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 14 5-5h-3V2H6v7H3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 13V6l2 2 5-5 3 3-5 5 2 2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m2 8 5 5v-3h7V6H7V3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-1-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 3v7l2-2 5 5 3-3-5-5 2-2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-n-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 6h3L8 1 3 6h3v4H3l5 5 5-5h-3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-ne-sw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m7 2 2 2-5 5-2-2v7h7l-2-2 5-5 2 2V2z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 6V3L1 8l5 5v-3h4v3l5-5-5-5v3z'/%3E%3C/svg%3E")}.ui-icon-arrowthick-2-se-nw{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m2 9 2-2 5 5-2 2h7V7l-2 2-5-5 2-2H2z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 2h8v2H4zm4 3-5 5h3v4h4v-4h3z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 4h2v8h-2zm-1 4L6 3v3H2v4h4v3z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 12h8v2H4zm4-1 5-5h-3V2H6v4H3z'/%3E%3C/svg%3E")}.ui-icon-arrowthickstop-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 4h2v8H2zm3 4 5 5v-3h4V6h-4V3z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 12a4 4 0 0 0 0-8v2L3 3l3-3v2a6 6 0 0 1 0 12z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 6c0 3 1.791 4 4 4s4-1 4-4h-2l3-3 3 3h-2c0 4-2.686 6-6 6s-6-2-6-6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 4a4 4 0 0 0 0 8v-2l3 3-3 3v-2a6 6 0 0 1 0-12z'/%3E%3C/svg%3E")}.ui-icon-arrowreturnthick-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 10c0-2-1.791-4-4-4s-4 2-4 4h2l-3 3-3-3h2c0-3 2.687-6 6-6s6 3 6 6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10 12a4 4 0 0 0-4-4v2L3 7l3-3v2a6 6 0 0 1 6 6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 10c2.209 0 4-1 4-4H6l3-3 3 3h-2c0 4-2.687 6-6 6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 4a4 4 0 0 0 4 4V6l3 3-3 3v-2a6 6 0 0 1-6-6z'/%3E%3C/svg%3E")}.ui-icon-arrowreturn-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12 6c-2.209 0-4 2-4 4h2l-3 3-3-3h2c0-3 2.686-6 6-6z'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3.758 12.242 1.414-1.414A4 4 0 1 1 8 12v-2l-3 3 3 3v-2a6 6 0 1 0-4.242-1.758'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m3.758 3.758 1.414 1.414A4 4 0 1 1 4 8h2L3 5 0 8h2a6 6 0 1 0 1.758-4.242'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m12.242 3.758-1.414 1.414A4 4 0 1 1 8 4v2l3-3-3-3v2a6 6 0 1 0 4.242 1.758'/%3E%3C/svg%3E")}.ui-icon-arrowrefresh-1-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m12.242 12.242-1.414-1.414A4 4 0 1 1 12 8h-2l3 3 3-3h-2a6 6 0 1 0-1.758 4.242'/%3E%3C/svg%3E")}.ui-icon-arrow-4{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M4 7V5L1 8l3 3V9h8v2l3-3-3-3v2'/%3E%3Cpath d='M9 4h2L8 1 5 4h2v8H5l3 3 3-3H9'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-arrow-4-diag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='m12.75 11.25-8-8L6 2H2v4l1.25-1.25 8 8L10 14h4v-4'/%3E%3Cpath d='m10 2 1.25 1.25-8 8L2 10v4h4l-1.25-1.25 8-8L14 6V2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-extlink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 12H3V7h2l2-2H2v8h9V9l-1 1z'/%3E%3Cpath d='M13 3H9l1.25 1.25-4.5 4.5 1.5 1.5 4.5-4.5L13 7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-newwin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M14 10H5V2h9zm-1-6H6v5h7z'/%3E%3Cpath d='M10 12H3V7h1V5H2v8h9v-2h-1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-refresh{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M12.75 4.25C11.651 2.857 9.912 2 8 2a6 6 0 0 0-6 6h2a4 4 0 0 1 4-4c1.36 0 2.527.713 3.25 1.75L10 7h4V3zM12 8a4 4 0 0 1-4 4c-1.36 0-2.527-.713-3.25-1.75L6 9H2v4l1.25-1.25C4.349 13.143 6.088 14 8 14a6 6 0 0 0 6-6z'/%3E%3C/svg%3E")}.ui-icon-shuffle{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='m15 5-3-3v2c-5 0-7 7-11 7v2c5 0 7-7 11-7v2z'/%3E%3Cpath d='m15 12-3-3v2C8 11 6 4 1 4v2c4 0 6 7 11 7v2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-transfer-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m2 10 3 3v-2h5V9H5V7zm12-4-3-3v2H6v2h5v2z'/%3E%3C/svg%3E")}.ui-icon-transferthick-e-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m0 11 5 5v-3h4V9H5V6zm16-6-5-5v3H7v4h4v3z'/%3E%3C/svg%3E")}.ui-icon-folder-collapsed{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M14 2h-1V1h-3L9 2H1v12h13zM2 3h11v10H2z'/%3E%3Cpath d='M2 4h11v1H2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-folder-open{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 5V2h-1V1H9L8 2H0v12h13.5L16 5zM1 3h11v2H3l-2 7zm11.5 10H2l2-7h10.5z'/%3E%3C/svg%3E")}.ui-icon-document{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 4v11H3V1h7zm-3-2H4v12h8V4z'/%3E%3Cpath d='M10 4V2H9v3h3V4zm-5 8h6v1H5zm0-2h6v1H5zm0-2h6v1H5zm0-2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-document-b{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 15H3V1h10v11zm2-3V2H4v12h6z'/%3E%3Cpath d='M10 12v2H9v-3h3v1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-note{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 1v13H3v-1h2v-1H3v-1h2v-1H3V9h2V8H3V7h2V6H3V5h2V4H3V3h2V2H3V1zm-2 9H7v1h4zm0-2H7v1h4z'/%3E%3C/svg%3E")}.ui-icon-mail-closed{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 3h14v10H1zm7 6c-.875 0-1.25-.5-1.25-.5L3.25 12h9.5l-3.5-3.5S8.875 9 8 9m-6 3 4-4-4-4zm12 0V4l-4 4zM9.25 7.5l3.5-3.5h-9.5l3.5 3.5S7.562 8 8 8s1.25-.5 1.25-.5'/%3E%3C/svg%3E")}.ui-icon-mail-open{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15 3.5V13H1V3.5S6 0 8 0s7 3.5 7 3.5M8 9c-.875 0-1.25-.5-1.25-.5L3.25 12h9.5l-3.5-3.5S8.875 9 8 9M6 8 2 4v8zm4 0 4 4V4zM8 1c-1 0-1.578.375-1.578.375L2 4h12L9.578 1.375S9 1 8 1'/%3E%3C/svg%3E")}.ui-icon-suitcase{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 4h3v9H2zm4 0h4v9H6zm5 0h3v9h-3zM7 4c0-1.105-.105-2 1-2s1 .895 1 2h2a3 3 0 1 0-6 0z'/%3E%3C/svg%3E")}.ui-icon-comment{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15 3H1v9h8l4 4v-4h2z'/%3E%3C/svg%3E")}.ui-icon-person{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M11 13v2h2v-2c0-3-.5-4-5-4s-5 1-5 4v2h2v-2l1 1v1h4v-1zM5 6V4c0-3 3-3 3-3s3 0 3 3v2c0 3-3 3-3 3S5 9 5 6m2-2H6v1h1zm3 0H9v1h1z'/%3E%3C/svg%3E")}.ui-icon-print{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M14 10v3l-1 2H3l-1-2v-3h1V2h10v8zm-1 1h-2v1h2zm-1-8H4v7h8z'/%3E%3Cpath d='M5 4h6v1H5zm0 2h6v1H5zm0 2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-trash{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 2h-3a2 2 0 0 0-4 0H3C2 2 2 4 2 4h12s0-2-1-2M8 1a1 1 0 0 1 1 1H7a1 1 0 0 1 1-1m4 3v10h-1V4h-1v10H9V4H8v10H7V4H6v10H5V4H3v11h10V4z'/%3E%3C/svg%3E")}.ui-icon-locked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 7h10v8H3zm8-3a3 3 0 1 0-6 0v3h2V4a1 1 0 1 1 2 0v3h2z'/%3E%3C/svg%3E")}.ui-icon-unlocked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 7h10v8H3zm12-3a3 3 0 1 0-6 0v3h2V4a1 1 0 1 1 2 0v3h2z'/%3E%3C/svg%3E")}.ui-icon-bookmark{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m12 15-4-4-4 4V2h8z'/%3E%3C/svg%3E")}.ui-icon-tag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 15 1 9l7-7h6v6zm5-11h1V3h-1zM3 9l4 4 4-4-4-4z'/%3E%3C/svg%3E")}.ui-icon-home{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 14H3V8l5-5 5 5zM9 9H7v4h2z'/%3E%3Cpath d='M8 2 2 8H1l7-7 7 7h-1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-flag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 10V4c-3 1-4-1-7-1v6c3 0 4 2 7 1M4 2a1 1 0 0 0-1 1v10h2V3a1 1 0 0 0-1-1'/%3E%3C/svg%3E")}.ui-icon-calendar{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M4 2h3v1H4zm5 0h3v1H9zm5 12H2V3h12zM3 13h10V5H3z'/%3E%3Cpath d='M7 6 6 8h1v4h2V6z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-cart{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Ccircle cx='5.5' cy='12.5' r='1.5'/%3E%3Ccircle cx='11.5' cy='12.5' r='1.5'/%3E%3Cpath d='M2 3H1v1h1a1 1 0 0 1 1 1h1a2 2 0 0 0-2-2'/%3E%3Cpath d='M13 11H4L3 5V4h11v1zM4 5l1 5h7l1-5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-pencil{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m4 14-3 1 1-3 8-8 2 2zm7-11 2-2 2 2-2 2z'/%3E%3C/svg%3E")}.ui-icon-clock{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 8V4h2v5l-4 1.5L4.5 9z'/%3E%3Cpath d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m7 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-disk{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='m14 13-1 1H2V2h12zM5 9v4h1v-2h2v2h3V9zm7-6H4v5h8z'/%3E%3Cpath d='M5 4h6v1H5zm0 2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-calculator{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 14H3V2h10zM12 3H4v3h8zM5 8H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm2-4H6v1h1zm0 2H6v1h1zm0 2H6v1h1zm2-4H8v1h1zm0 2H8v1h1zm0 2H8v1h1zm3-4h-2v1h2zm0 2h-2v1h2zm0 2h-2v1h2z'/%3E%3C/svg%3E")}.ui-icon-zoomin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6m6 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Cpath d='m9 10 1-1 3 2 3 3s0 1-.5 1.5-1.5.5-1.5.5l-3-3zM3 5h6v2H3z'/%3E%3Cpath d='M5 3h2v6H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-zoomout{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6m6 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Cpath d='m9 10 1-1 3 2 3 3s0 1-.5 1.5-1.5.5-1.5.5l-3-3zM3 5h6v2H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6m6 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Cpath d='m9 10 1-1 3 2 3 3s0 1-.5 1.5-1.5.5-1.5.5l-3-3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-wrench{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M12.5 6A2.5 2.5 0 0 1 10 3.5c0-1.155.787-2.117 1.852-2.404A4 4 0 0 0 11 1a4 4 0 1 0 4 4c0-.293-.036-.577-.096-.852A2.49 2.49 0 0 1 12.5 6'/%3E%3Cpath d='m10.414 8.414-6 6a2 2 0 0 1-2.829-2.828l6.001-6zM3 14a1 1 0 1 0 0-2 1 1 0 1 0 0 2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-gear{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14.5 7a5.9 5.9 0 0 1 0 2c-.721-.202-1.581.165-1.875.875-.293.709-.027 1.509.625 1.875a6.6 6.6 0 0 1-1.5 1.5c-.366-.653-1.166-.919-1.875-.625-.711.294-1.078 1.153-.875 1.875a5.9 5.9 0 0 1-2 0c.203-.722-.165-1.581-.875-1.875-.709-.294-1.508-.028-1.875.625a6.6 6.6 0 0 1-1.5-1.5c.654-.366.918-1.166.625-1.875C3.08 9.165 2.222 8.797 1.5 9a5.9 5.9 0 0 1 0-2c.72.203 1.581-.166 1.875-.875s.028-1.508-.625-1.875a6.6 6.6 0 0 1 1.5-1.5c.365.653 1.166.919 1.875.625A1.495 1.495 0 0 0 7 1.59a5.9 5.9 0 0 1 2 .001 1.495 1.495 0 0 0 .875 1.784c.71.293 1.508.028 1.875-.625a6.6 6.6 0 0 1 1.5 1.5c-.654.366-.919 1.166-.625 1.875S13.777 7.203 14.5 7M8 11a3.001 3.001 0 0 0 0-6 3 3 0 1 0 0 6'/%3E%3C/svg%3E")}.ui-icon-heart{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M10.5 2c2.5-.5 4.979 2.174 3.5 5.5C12 12 8 14 8 14s-4-2-6-6.5C.522 4.174 3 1.5 5.5 2 7.522 2.404 8 4 8 4s.479-1.596 2.5-2'/%3E%3C/svg%3E")}.ui-icon-star{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 1 1.5 5H15l-4.5 3 2 5.5L8 10.731 3.5 14.5l2-5.5L1 6h5.5z'/%3E%3C/svg%3E")}.ui-icon-link{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 0h2v5H7zm0 11h2v5H7zM0 7h5v2H0zm11 0h5v2h-5z'/%3E%3Cpath d='M1 8a7 7 0 1 1 14.001.001A7 7 0 0 1 1 8m7 5A5 5 0 1 0 8 3a5 5 0 1 0 0 10'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-cancel{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m7 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M3 11.5 11.5 3 13 4.5 4.5 13z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m12-1H9V3H7v4H3v2h4v4h2V9h4z'/%3E%3C/svg%3E")}.ui-icon-plusthick{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 6h12v4H2z'/%3E%3Cpath d='M6 2h4v12H6z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m12-1H3v2h10z'/%3E%3C/svg%3E")}.ui-icon-minusthick{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 6h12v4H2z'/%3E%3C/svg%3E")}.ui-icon-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8m11.5-3L11 3.5l-3 3-3-3L3.5 5l3 3-3 3L5 12.5l3-3 3 3 1.5-1.5-3-3z'/%3E%3C/svg%3E")}.ui-icon-closethick{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m14 4-2-2-4 4-4-4-2 2 4 4-4 4 2 2 4-4 4 4 2-2-4-4z'/%3E%3C/svg%3E")}.ui-icon-key{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E3Cpath d=%26apos;M7 7h8v2H7zM12 9h2v2h-2z%26apos;/%26gt;%3Cpath d='M8 8c0 2.209-1.567 4-3.5 4S1 10.209 1 8s1.567-4 3.5-4S8 5.791 8 8m-3.5 2.5c1.104 0 2-1.119 2-2.5s-.896-2.5-2-2.5-2 1.119-2 2.5.895 2.5 2 2.5'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-lightbulb{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 15H6V9h4zm-1-4H7v1h2zm0 2H7v1h2z'/%3E%3Cpath d='M10 15H6V9h4zm-1-4H7v1h2zm0 2H7v1h2z'/%3E%3Cpath d='M13 5a5 5 0 0 1-5 5c-2.762 0-5-2.238-5-5s2.238-5 5-5a5 5 0 0 1 5 5M8 8.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7M8 16l-1-1h2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-scissors{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 10.5c0 1.381-.343 2.5-2 2.5s-3-1.119-3-2.5S1.343 8 3 8C1.343 8 0 6.881 0 5.5S1.343 3 3 3s2 1.119 2 2.5v1.25c1 0 4-2.5 7-2.5s4 1.25 4 1.25-3 0-5 1.25C9.211 7.868 8 8 8 8s1.211.132 3 1.25c2 1.25 5 1.25 5 1.25s-1 1.25-4 1.25-6-2.5-7-2.5zM3 6.75c1.104 0 1-.559 1-1.25s.104-1.25-1-1.25-2 .559-2 1.25.895 1.25 2 1.25m0 5c1.104 0 1-.559 1-1.25s.104-1.25-1-1.25-2 .559-2 1.25.895 1.25 2 1.25'/%3E%3C/svg%3E")}.ui-icon-clipboard{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 3v12H3V3h2l1-2h4l1 2zm-3 11c2 0 2-1 2-1V5H4v8s0 1 2 1zM9 2H7v1h2z'/%3E%3Cpath d='M5 7h6v1H5zm0 2h6v1H5zm0 2h6v1H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-copy{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M8 11v2h7V3H8v2H7V2h9v12H7v-3zM6 3V2H0v12h6v-1H1V3z'/%3E%3Cpath d='m13 8-3-3v2H4v2h6v2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-view-page{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M14 4v11H2V1h9zm-3-2H3v12h10V4z'/%3E%3Cpath d='M11 4V2h-1v3h3V4zm.5 1.951H7.638l1.207 1.207L4.5 11.503l1.448 1.448 4.345-4.345L11.5 9.813'/%3E%3C/svg%3E")}.ui-icon-contact{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 12v-.399A3.1 3.1 0 0 1 7.5 12C5.566 12 4 10.209 4 8s1.566-4 3.5-4c.539 0 1.044.15 1.5.399V4h2v7h2.177A5.93 5.93 0 0 0 14 8a6 6 0 1 0-6 6 5.96 5.96 0 0 0 3-.81v1.127A7 7 0 0 1 8 15a7 7 0 1 1 7-7 6.97 6.97 0 0 1-1.26 4zm0-5.723A2 2 0 0 0 8 6a2 2 0 0 0 0 4c.366 0 .705-.106 1-.277z'/%3E%3C/svg%3E")}.ui-icon-image{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 14V2h16v12zM15 3H1v10h14z'/%3E%3Cpath d='m2 12 3-3 1 1 4-4 4 4v2z'/%3E%3Ccircle cx='4' cy='6' r='2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-video{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 14H3V1h10zM5 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm0 2H4v1h1zm7 0h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm0-2h-1v1h1zm-2 0H6v5h4zm0 6H6v5h4z'/%3E%3C/svg%3E")}.ui-icon-script{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 2h7c2 0 2 3 1 6-.24.72-.479 1.438-.677 2.116.392.27.677 1.007.677 1.884 0 .842-.261 1.56-.629 1.854L11 14H4c-2 0-1-3 0-6 .269-.805.461-1.606.566-2.353C4.405 5.869 4.211 6 4 6c-.553 0-1-.896-1-2 0-.857.271-1.584.65-1.867zm6 11s0-2 1-5c1.304-3.911 0-5 0-5H5s1.304 1.089 0 5c-1 3-1 5-1 5z'/%3E%3C/svg%3E")}.ui-icon-alert{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M0 15 8 1l8 14zM9 5H7v6h2zm0 7H7v2h2z'/%3E%3C/svg%3E")}.ui-icon-info{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 6h2v7H7zm0-3h2v2H7z'/%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1m0 13A6 6 0 1 1 8 2a6 6 0 0 1 0 12'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-notice{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 8c0-1 3-6 8-6s8 5 8 6-3 6-8 6-8-5-8-6m8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8'/%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-help{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 11h2v2H7zm4-5a3 3 0 1 0-6 0h2a1 1 0 1 1 2 0c0 .553-.447 1-1 1s-1 .447-1 1v2h2V8.816c1.163-.413 2-1.51 2-2.816'/%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1m0 13A6 6 0 1 1 8 2a6 6 0 0 1 0 12'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-check{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 3-7 7-2-2-2 2 4 4 9-9z'/%3E%3C/svg%3E")}.ui-icon-bullet{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5' fill='%23333'/%3E%3C/svg%3E")}.ui-icon-radio-on{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 8a5 5 0 0 1-5 5c-2.762 0-5-2.238-5-5s2.238-5 5-5a5 5 0 0 1 5 5m-5 2a2 2 0 1 0-.001-4.001A2 2 0 0 0 8 10'/%3E%3C/svg%3E")}.ui-icon-radio-off{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 8a5 5 0 0 1-5 5c-2.762 0-5-2.238-5-5s2.238-5 5-5a5 5 0 0 1 5 5m-5 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7'/%3E%3C/svg%3E")}.ui-icon-pin-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m1 8 4-1v2zm4 4V4h1l4 1 2-1h1v8h-1l-2-1-4 1zm2-1 2-1V6L7 5z'/%3E%3C/svg%3E")}.ui-icon-pin-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m8 15-1-4h2zm4-4H4v-1l1-4-1-2V3h8v1l-1 2 1 4zm-1-2-1-2H6L5 9z'/%3E%3C/svg%3E")}.ui-icon-play{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 13V3l9 5z'/%3E%3C/svg%3E")}.ui-icon-pause{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 4h3v8H4zm5 0h3v8H9z'/%3E%3C/svg%3E")}.ui-icon-seek-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 11V5l6 3zm7 0V5l6 3z'/%3E%3C/svg%3E")}.ui-icon-seek-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 11V5L8 8zm-7 0V5L1 8z'/%3E%3C/svg%3E")}.ui-icon-seek-end{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 11V5l6 3zm8-6h2v6h-2z'/%3E%3C/svg%3E")}.ui-icon-seek-start{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 11V5L7 8zM3 5h2v6H3z'/%3E%3C/svg%3E")}.ui-icon-stop{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 4h8v8H4z'/%3E%3C/svg%3E")}.ui-icon-eject{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 10h8v2H4zm8-1H4l4-5z'/%3E%3C/svg%3E")}.ui-icon-volume-off{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 6H4v4h3l3 3V3z'/%3E%3C/svg%3E")}.ui-icon-volume-on{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 6H4v4h3l3 3V3zm4 3a1 1 0 1 0 0-2z'/%3E%3Cpath d='m12.555 5.445-.735.735a1.995 1.995 0 0 1 0 3.64l.734.734C13.418 10.027 14 9.085 14 8s-.582-2.027-1.445-2.555'/%3E%3Cpath d='m13.987 4.013-.707.707a3.988 3.988 0 0 1 0 6.56l.707.707C15.203 11.075 16 9.637 16 8s-.797-3.075-2.013-3.987'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-power{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M7 1h2v5H7z'/%3E%3Cpath d='M10 3.25V5.5c1.19.693 2 2.023 2 3.5a4 4 0 0 1-8 0c0-1.477.81-2.807 2-3.5V3.25C3.672 4.074 2 6.389 2 9a6 6 0 0 0 12 0c0-2.611-1.672-4.926-4-5.75'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-signal-diag{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M11 13a8 8 0 0 0-8-8V3c5.523 0 10 4.477 10 10z'/%3E%3Cpath d='M3 9a4 4 0 0 1 4 4h2a6 6 0 0 0-6-6zm2 4a2 2 0 0 0-2-2v2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-signal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M13 3h2v10h-2zM9 6h2v7H9zM5 9h2v4H5zm-4 3h2v1H1z'/%3E%3C/svg%3E")}.ui-icon-battery-0{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 6h2v4h-2z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-battery-1{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 6h2v4h-2zM4 6h2v4H4z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-battery-2{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 6h2v4h-2zM7 6h2v4H7zM4 6h2v4H4z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-battery-3{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 6h2v4h-2zm3 0h2v4h-2zM7 6h2v4H7zM4 6h2v4H4z'/%3E%3Cpath d='M2 4h12v8H2zm1 7h10V5H3z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circle-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m9-1H9V5H7v2H5v2h2v2h2V9h2z'/%3E%3C/svg%3E")}.ui-icon-circle-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m9-1H5v2h6z'/%3E%3C/svg%3E")}.ui-icon-circle-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m9-1.5L9.5 5 8 6.5 6.5 5 5 6.5 6.5 8 5 9.5 6.5 11 8 9.5 9.5 11 11 9.5 9.5 8z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m4 3 5-3-5-3z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 2a6 6 0 1 1 0 12A6 6 0 0 1 8 2M5 6l3 5 3-5z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0m-4-3L5 8l5 3z'/%3E%3C/svg%3E")}.ui-icon-circle-triangle-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 14A6 6 0 1 1 8 2a6 6 0 0 1 0 12m3-4L8 5l-3 5z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-e{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14 8A6 6 0 1 1 2 8a6 6 0 0 1 12 0m-2 0L9 5v2H4v2h5v2z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-s{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 14A6 6 0 1 1 8 2a6 6 0 0 1 0 12m0-2 3-3H9V4H7v5H5z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-w{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m2 0 3 3V9h5V7H7V5z'/%3E%3C/svg%3E")}.ui-icon-circle-arrow-n{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M8 2a6 6 0 1 1-.002 12.002A6 6 0 0 1 8 2m0 2L5 7h2v5h2V7h2z'/%3E%3C/svg%3E")}.ui-icon-circle-zoomin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m6.5-3A2.5 2.5 0 0 0 6 7.5c0 .433.119.833.312 1.188L4 11l1 1 2.312-2.312c.355.193.755.312 1.188.312a2.5 2.5 0 1 0 0-5'/%3E%3Cpath d='M7 7h3v1H7z'/%3E%3Cpath d='M8 6h1v3H8z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circle-zoomout{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m6.5-3A2.5 2.5 0 0 0 6 7.5c0 .433.119.833.312 1.188L4 11l1 1 2.312-2.312c.355.193.755.312 1.188.312a2.5 2.5 0 1 0 0-5'/%3E%3Cpath d='M7 7h3v1H7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circle-check{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8m9-3.5-5 5-1-1-1 1 2 2 6-6z'/%3E%3C/svg%3E")}.ui-icon-circlesmall-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m6 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3Cpath d='M7 5h2v6H7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circlesmall-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m6 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-circlesmall-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 8a6 6 0 1 1 12.002.002A6 6 0 0 1 2 8m6 5c2.762 0 5-2.238 5-5s-2.238-5-5-5-5 2.238-5 5 2.238 5 5 5'/%3E%3Cpath d='M5 6.5 6.5 5 11 9.5 9.5 11z'/%3E%3Cpath d='M9.5 5 11 6.5 6.5 11 5 9.5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-squaresmall-plus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 13H3V3h10zm-1-9H4v8h8z'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3Cpath d='M7 5h2v6H7z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-squaresmall-minus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 13H3V3h10zm-1-9H4v8h8z'/%3E%3Cpath d='M5 7h6v2H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-squaresmall-close{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M13 13H3V3h10zm-1-9H4v8h8z'/%3E%3Cpath d='M5 6.5 6.5 5 11 9.5 9.5 11z'/%3E%3Cpath d='M9.5 5 11 6.5 6.5 11 5 9.5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-icon-grip-dotted-vertical{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M9 13h1v1H9zm-3 0h1v1H6zm3-2h1v1H9zm-3 0h1v1H6zm3-2h1v1H9zM6 9h1v1H6zm3-2h1v1H9zM6 7h1v1H6zm3-2h1v1H9zM6 5h1v1H6zm3-2h1v1H9zM6 3h1v1H6z'/%3E%3C/svg%3E")}.ui-icon-grip-dotted-horizontal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3 9h1v1H3zm0-3h1v1H3zm2 3h1v1H5zm0-3h1v1H5zm2 3h1v1H7zm0-3h1v1H7zm2 3h1v1H9zm0-3h1v1H9zm2 3h1v1h-1zm0-3h1v1h-1zm2 3h1v1h-1zm0-3h1v1h-1z'/%3E%3C/svg%3E")}.ui-icon-grip-solid-vertical{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 2h1v12H6zm3 0h1v12H9z'/%3E%3C/svg%3E")}.ui-icon-grip-solid-horizontal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M2 9h12v1H2zm0-3h12v1H2z'/%3E%3C/svg%3E")}.ui-icon-gripsmall-diagonal-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 10-3 3H9l4-4zm0-3-6 6H6l7-7zm0-3-9 9H3L13 3z'/%3E%3C/svg%3E")}.ui-icon-grip-diagonal-se{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m14 11-3 3h-1v-1l3-3h1zm0-4-7 7H6v-1l7-7h1zm0-4L3 14H2v-1.124L12.875 2H14z'/%3E%3C/svg%3E")}.ui-extra-icon-crop{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='m13 4 2-2-1-1-2 2H5V1H3v2H1v2h2v8h8v2h2v-2h2v-2h-2zM5 5h5l-5 5zm1 6 5-5v5z'/%3E%3C/svg%3E")}.ui-extra-icon-arrowreturn-1-s-reversed{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M4 6c2.209 0 4 2 4 4H6l3 3 3-3h-2c0-3-2.686-6-6-6z'/%3E%3C/svg%3E")}.ui-extra-icon-flip-horizontal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 2v12h16V2zm15 11H9v-2H7v2H1V3h6v2h2V3h6z'/%3E%3Cpath d='M6 9v2L3 8l3-3v2h4V5l3 3-3 3V9z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-flip-vertical{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M2 16h12V0H2zM13 1v6h-2v2h2v6H3V9h2V7H3V1z'/%3E%3Cpath d='M9 10h2l-3 3-3-3h2V6H5l3-3 3 3H9z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-more{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3Ccircle cx='2' cy='8' r='2'/%3E%3Ccircle cx='14' cy='8' r='2'/%3E%3C/svg%3E")}.ui-extra-icon-code{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7 5 5 3 0 8l5 5 2-2-3-3zm2 6 2 2 5-5-5-5-2 2 3 3z'/%3E%3C/svg%3E")}.ui-extra-icon-list{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M5 3h10v1H5zm0 3h10v1H5zm0 3h10v1H5zm0 3h10v1H5zM1 2h2v2H1zm0 3h2v2H1zm0 3h2v2H1zm0 3h2v2H1z'/%3E%3C/svg%3E")}.ui-extra-icon-grid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M0 3h16v1H0zm0 3h16v1H0zm0 3h16v1H0zm0 3h16v1H0z'/%3E%3Cpath d='M0 3h1v10H0zm3 0h1v10H3zm3 0h1v10H6zm3 0h1v10H9zm3 0h1v10h-1zm3 0h1v10h-1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-download{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 10h3V2H3v8h3v2H1V0h14v12h-5z'/%3E%3Cpath d='m8 16 3-3H9V6H7v7H5z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-upload{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M10 10h3V2H3v8h3v2H1V0h14v12h-5z'/%3E%3Cpath d='M8 6 5 9h2v7h2V9h2z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-attach{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23333' stroke-miterlimit='10' d='M1.5 6.5 9 14c1 1 3.03 1.529 4.5 0 1.482-1.544 1-3.5 0-4.5L5.5 2C4.469.928 3 .5 2 1.5S1.5 4 2.5 5l7.5 7.5c.5.5 1.5.5 2 0s.5-1.5 0-2l-7.5-7'/%3E%3C/svg%3E")}.ui-extra-icon-new-document{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M11 12v2h-1v-3h3v1zM1 7h6v2H1z'/%3E%3Cpath d='M3 5h2v6H3z'/%3E%3Cpath d='M4 1v3h1V2h8v10l-2 2H5v-2H4v3h7l3-3V1z'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-facebook{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M6 3.5C6 2.026 7.02 1 9.25 1H11v2h-.734C9.462 3 9 3.514 9 4.12V6h2v2H9v7H6V8H4V6h2z'/%3E%3C/svg%3E")}.ui-extra-icon-youtube{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15.5 8s0 2.441-.313 3.61a1.88 1.88 0 0 1-1.326 1.326C12.691 13.25 8 13.25 8 13.25s-4.691 0-5.86-.313a1.88 1.88 0 0 1-1.326-1.326C.5 10.441.5 8 .5 8s0-2.441.313-3.61A1.88 1.88 0 0 1 2.14 3.063C3.309 2.75 8 2.75 8 2.75s4.691 0 5.86.313a1.88 1.88 0 0 1 1.326 1.326C15.5 5.559 15.5 8 15.5 8m-9 2.25 4-2.25-4-2.25z'/%3E%3C/svg%3E")}.ui-extra-icon-linkedin{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M5 14V6H2v8h2.5zm4-4.675c0-.223.014-.415.075-.575.166-.446.291-.875.925-.875.829 0 1 .621 1 1.625V14h3V9.25c0-2.295-.991-3.4-2.5-3.4-1.237 0-2.198.74-2.5 1.25V6H6v8h3z'/%3E%3Ccircle cx='3.5' cy='3.25' r='1.5'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-twitter{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M15 3.465a5.5 5.5 0 0 1-1.648.478 3.02 3.02 0 0 0 1.262-1.678c-.555.346-1.168.6-1.822.693A2.8 2.8 0 0 0 10.698 2c-1.586 0-2.87 1.357-2.87 3.031 0 .237 0 .469.074.693-2.385-.127-4.499-1.333-5.9-3.168a3.15 3.15 0 0 0-.388 1.524c0 1.052.506 1.98 1.276 2.524-.47 0-.912-.153-1.299-.379 0 1.468.983 2.694 2.302 2.973a2.8 2.8 0 0 1-.757.106h-.539c.365 1.205 1.424 2.078 2.622 2.078a5.56 5.56 0 0 1-3.563 1.299c-.232 0-.46 0-.656-.043A7.8 7.8 0 0 0 5.398 14c5.279 0 8.165-4.62 8.165-8.626v-.392c.566-.375 1.053-.908 1.437-1.517'/%3E%3C/svg%3E")}.ui-extra-icon-instagram{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%23333'%3E%3Cpath d='M8 2.261c1.869 0 2.09.007 2.829.041a3.9 3.9 0 0 1 1.3.241 2.32 2.32 0 0 1 1.329 1.329 3.9 3.9 0 0 1 .241 1.3c.034.738.041.96.041 2.829s-.007 2.091-.041 2.829a3.9 3.9 0 0 1-.241 1.3 2.32 2.32 0 0 1-1.329 1.329 3.9 3.9 0 0 1-1.3.241c-.738.034-.96.041-2.829.041s-2.091-.007-2.829-.041a3.9 3.9 0 0 1-1.3-.241 2.32 2.32 0 0 1-1.329-1.329 3.9 3.9 0 0 1-.241-1.3c-.034-.738-.041-.96-.041-2.829s.007-2.091.041-2.829a3.9 3.9 0 0 1 .241-1.3 2.32 2.32 0 0 1 1.33-1.329 3.9 3.9 0 0 1 1.3-.241c.738-.034.96-.041 2.829-.041M8 1c-1.9 0-2.14.008-2.886.042a5.1 5.1 0 0 0-1.7.326 3.4 3.4 0 0 0-1.24.807 3.4 3.4 0 0 0-.808 1.24 5.1 5.1 0 0 0-.325 1.7C1.008 5.861 1 6.1 1 8s.008 2.139.042 2.886a5.1 5.1 0 0 0 .325 1.7 3.58 3.58 0 0 0 2.048 2.047 5.1 5.1 0 0 0 1.7.326C5.86 14.992 6.1 15 8 15s2.139-.008 2.886-.042a5.1 5.1 0 0 0 1.7-.326 3.57 3.57 0 0 0 2.047-2.047 5.1 5.1 0 0 0 .326-1.7C14.992 10.139 15 9.9 15 8s-.008-2.139-.042-2.886a5.1 5.1 0 0 0-.326-1.7 3.4 3.4 0 0 0-.807-1.24 3.4 3.4 0 0 0-1.24-.807 5.1 5.1 0 0 0-1.7-.326C10.139 1.008 9.9 1 8 1'/%3E%3Cpath d='M8 4.405A3.6 3.6 0 1 0 11.6 8 3.6 3.6 0 0 0 8 4.405m0 5.928A2.333 2.333 0 1 1 10.333 8 2.33 2.33 0 0 1 8 10.333'/%3E%3Ccircle cx='11.737' cy='4.263' r='1'/%3E%3C/g%3E%3C/svg%3E")}.ui-extra-icon-github{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M7.999 1a7 7 0 0 0-2.212 13.642c.35.064.478-.152.478-.337 0-.166-.006-.606-.009-1.191-1.947.423-2.358-.938-2.358-.938-.318-.809-.777-1.024-.777-1.024-.636-.434.048-.426.048-.426.702.05 1.072.721 1.072.721.624 1.07 1.638.761 2.037.582.064-.452.245-.761.444-.936-1.554-.177-3.188-.777-3.188-3.46 0-.764.273-1.389.72-1.878-.072-.176-.312-.888.069-1.852 0 0 .588-.188 1.925.718A6.7 6.7 0 0 1 8 4.385c.594.003 1.193.08 1.752.236 1.336-.906 1.923-.718 1.923-.718.382.964.142 1.675.07 1.853.449.489.72 1.114.72 1.878 0 2.689-1.637 3.281-3.196 3.454.251.216.475.643.475 1.296 0 .936-.009 1.691-.009 1.92 0 .187.126.405.481.337A7.001 7.001 0 0 0 7.999 1'/%3E%3C/svg%3E")}.ui-extra-icon-gitlab{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M3.363 1.685c.078-.247.427-.247.506.002L5.5 6.501h5l1.631-4.814a.265.265 0 0 1 .506 0l2.337 7.246a.54.54 0 0 1-.192.602L8 14.5 1.219 9.535a.545.545 0 0 1-.193-.602z'/%3E%3C/svg%3E")}.ui-extra-icon-bitbucket{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M1.376 2.001a.44.44 0 0 0-.37.5L3 13.5c.036.208.277.503.5.501h9c.223.002.464-.293.5-.501l1.994-10.999a.44.44 0 0 0-.37-.5zm8.124 8h-3l-.75-4h4.5z'/%3E%3C/svg%3E")}.ui-extra-icon-mastodon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23333' d='M14.223 9.393c-.191.988-1.712 2.068-3.458 2.278-.911.109-1.807.209-2.763.165-1.563-.072-2.797-.375-2.797-.375q0 .23.028.435c.203 1.55 1.53 1.643 2.787 1.686 1.268.044 2.398-.314 2.398-.314l.052 1.152s-.887.479-2.468.567c-.872.048-1.954-.022-3.214-.357-2.734-.727-3.204-3.654-3.276-6.624-.021-.883-.008-1.714-.008-2.41 0-3.037 1.981-3.927 1.981-3.927.999-.461 2.713-.654 4.494-.669h.044c1.782.015 3.497.208 4.495.669 0 0 1.981.89 1.981 3.927.001 0 .025 2.241-.276 3.797M11.59 4.041c-.395-.442-.911-.668-1.553-.668-.742 0-1.304.287-1.676.86L8 4.841l-.361-.608c-.372-.573-.934-.86-1.676-.86-.641 0-1.158.226-1.553.668q-.574.663-.573 1.791v3.677h1.45V5.94c0-.752.315-1.134.945-1.134.697 0 1.046.453 1.046 1.349v1.954H8.72V6.155c0-.896.349-1.349 1.046-1.349.63 0 .946.382.946 1.134v3.569h1.45V5.832q.001-1.128-.572-1.791'/%3E%3C/svg%3E")}.ui-draggable{transition:box-shadow .1s linear}.ui-draggable-handle{touch-action:manipulation}.ui-draggable-dragging{box-shadow:var(--standard-shadow);opacity:.66;z-index:1000}.ui-resizable{position:relative}.ui-icon.ui-resizable-handle,.ui-resizable-handle{font-size:.1px;margin-bottom:0;position:absolute;touch-action:manipulation}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px}.ui-selectable{touch-action:manipulation}.ui-selectable-helper{border:1px dotted var(--clr-a);position:absolute;z-index:100}.ui-sortable-helper{box-shadow:var(--standard-shadow)}.ui-sortable-handle{touch-action:manipulation}.ui-sortable-placeholder{border:1px dotted var(--clr-a)}.ui-accordion .ui-accordion-header{cursor:pointer;display:block;font-size:1rem;margin:2px 0 0;padding:.5em 1em;position:relative}.ui-accordion .ui-accordion-header a{color:var(--clr-text);outline:0;text-decoration:none}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:.5em;margin-top:-8px;position:absolute;top:50%}.ui-accordion .ui-accordion-content{border-top:0;overflow:auto;padding:1px 1em}.ui-accordion .ui-accordion-icons,.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-inline-start:2em}[dir=rtl] .ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:auto;right:.5em}.ui-autocomplete{cursor:default;left:0;position:absolute;top:0}.ui-button{appearance:none;background-clip:padding-box;background-color:var(--clr-btn-bkgd);border:1px solid;border-color:var(--clr-btn-brdr);box-sizing:border-box;color:var(--clr-text-btn);cursor:pointer;display:inline-block;font-family:var(--font-form);font-size:1rem;line-height:1.5384615;margin:0;overflow:visible;padding:.3846154em .6153846em;position:relative;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:initial}.ui-button:hover{color:var(--clr-text-btn-hover);filter:brightness(1.05);text-decoration:none}.ui-button:active{color:var(--clr-text-btn-active);filter:brightness(.95);text-decoration:none}.ui-button:focus{border-color:var(--clr-focus);color:var(--clr-text-btn-active);outline:2px solid #0000}a.ui-button{color:var(--clr-text-btn);text-decoration:none}.ui-button.ui-state-focus{border-color:var(--clr-focus)!important}.ui-button-icon-only{box-sizing:border-box;text-indent:-9999px;white-space:nowrap;width:2.1538462em}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-button.ui-icon-notext .ui-icon{padding:0;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{padding:.4em 1em;text-indent:0;white-space:normal}.ui-checkboxradio-label .ui-icon-background{background-color:var(--clr-bkgd-form);border:1px solid var(--clr-brdr-dark);border-radius:.2em;box-sizing:border-box}.ui-checkboxradio-label.ui-checkboxradio-checked .ui-icon{background:var(--clr-text-demoted) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='m13 2.5-7 7-2-2-2 2 4 4 9-9z'/%3E%3C/svg%3E");border:0}.ui-checkboxradio-label.ui-checkboxradio-checked.ui-state-focus .ui-icon{background-color:var(--clr-focus)}.ui-checkboxradio-label.ui-checkboxradio-checked:hover .ui-icon{background-color:var(--clr-text)}.ui-checkboxradio-radio-label .ui-icon-background{border-radius:100%}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon{background:var(--clr-bkgd-form);border:5px solid var(--clr-text-demoted);border-radius:100%}.ui-checkboxradio-radio-label.ui-checkboxradio-checked.ui-state-focus .ui-icon{background-color:var(--clr-bkgd-form);border-color:var(--clr-focus)}.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-color:var(--clr-bkgd-form);border-color:var(--clr-text)}.ui-checkboxradio-disabled{pointer-events:none}.ui-checkboxradio-checked.ui-button{background-color:var(--clr-hilite-box)}.ui-controlgroup{display:inline-flex;flex-flow:row wrap}.ui-controlgroup .ui-controlgroup-item{margin-left:0;margin-right:0}.ui-controlgroup .ui-controlgroup-item.ui-visual-focus,.ui-controlgroup .ui-controlgroup-item:focus{z-index:9999}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:11px}.ui-controlgroup .ui-state-highlight{background-color:var(--clr-hilite-box)}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:0}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:0}.ui-controlgroup-vertical{flex-flow:column}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box;display:block;margin-bottom:0;margin-top:0;text-align:start;width:100%}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:0}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:0}.ui-controlgroup-vertical .ui-spinner-input{width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-datepicker{box-shadow:var(--standard-shadow);display:none;padding:.2em .2em 0;width:17em}.ui-datepicker .ui-datepicker-header{padding:.2em 0;position:relative}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{background-color:initial;border-radius:.5em;height:1.8em;margin-top:-.9em;position:absolute;top:50%;width:1.8em}.ui-datepicker .ui-datepicker-prev{left:.2em}.ui-datepicker .ui-datepicker-next{right:.2em}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{background-color:var(--clr-bkgd-box)}.ui-datepicker .ui-datepicker-title{line-height:1.8461538;margin:0 2.2em;text-align:center}.ui-datepicker .ui-datepicker-title select{margin:0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{margin:0 0 .2em;width:100%}.ui-datepicker th{border:0;padding:.5em .2em;text-align:center}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:center}.ui-datepicker td.ui-datepicker-week-col{padding:.32em 0;text-align:center}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;border-bottom:0;border-left:0;border-right:0;margin:.7em 0 0;padding:0 .2em}.ui-datepicker .ui-datepicker-buttonpane button{cursor:pointer;float:right;margin:.5em .25em .4em;overflow:visible;padding:.25em .6em .3em;width:auto}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker .ui-icon{display:block;left:.5em;top:.3em}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{margin:0 auto .4em;width:95%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-inline-start-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-row-break{clear:both;font-size:0;width:100%}[dir=rtl] .ui-datepicker-prev{left:auto;right:.2em}[dir=rtl] .ui-datepicker-prev span{transform:rotate(180deg)}[dir=rtl] .ui-datepicker-next{left:.2em;right:auto}[dir=rtl] .ui-datepicker-next span{transform:rotate(180deg)}[dir=rtl] .ui-datepicker-buttonpane{clear:right}[dir=rtl] .ui-datepicker-buttonpane button{float:left}[dir=rtl] .ui-datepicker-buttonpane button.ui-datepicker-current,[dir=rtl] .ui-datepicker-group{float:right}.ui-dialog{box-shadow:var(--standard-shadow);display:flex;flex-flow:column;left:0;max-height:90vh;max-width:90vw;min-width:300px;outline:0;overflow:hidden;padding:.25em;position:fixed;top:0;z-index:1002}.ui-dialog .ui-dialog-titlebar{flex:none;padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90%}[dir=rtl] .ui-dialog .ui-dialog-title{float:right}.ui-dialog .ui-dialog-titlebar-close{height:20px;margin:-10px 0 0;position:absolute;right:.3em;top:50%;width:20px}[dir=rtl] .ui-dialog .ui-dialog-titlebar-close{left:.3em;right:auto}.ui-dialog .ui-dialog-content{background:none;border:0;box-sizing:border-box;flex:1 1 auto;min-width:100%;overflow:auto;padding:.5em 1em;position:relative}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0;margin-top:.5em;padding:.5em;text-align:start}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}[dir=rtl] .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;margin:.5em 0;margin-inline-end:.4em}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{border-color:var(--clr-brdr-lite);box-shadow:var(--standard-shadow);display:block;font-size:1rem;line-height:1.5384615;list-style:none;margin:0;outline:0;padding:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{cursor:pointer;display:block;margin:0}.ui-menu .ui-menu-item a{color:var(--clr-text);text-decoration:none}.ui-menu .ui-menu-item label{cursor:pointer;display:block;margin:-.3076923em -.6153846em;padding:.3076923em .6153846em;padding-inline-start:2em}.ui-menu .ui-menu-item label [type=checkbox],.ui-menu .ui-menu-item label [type=radio]{left:.5em;position:absolute;top:.5em}.ui-menu .ui-menu-item-wrapper{padding:.3076923em .6153846em;position:relative}.ui-menu .ui-menu-divider{border-width:1px 0 0;font-size:0;height:0;line-height:0;margin:.3076923em 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{background-color:var(--clr-selected)}.ui-menu .ui-icon{bottom:0;left:.3076923em;margin:auto 0;position:absolute;top:0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}[dir=rtl] .ui-menu .ui-icon,[dir=rtl] .ui-menu .ui-menu-item label [type=checkbox],[dir=rtl] .ui-menu .ui-menu-item label [type=radio]{left:auto;right:.3076923em}[dir=rtl] .ui-menu .ui-menu-icon{left:0;right:auto}.ui-progressbar{background-color:var(--clr-bkgd-box);margin-bottom:1em;overflow:hidden;text-align:left}.ui-progressbar-value{background-color:var(--clr-success-text);height:6px}.ui-progressbar-indeterminate .ui-progressbar-value{background-color:var(--clr-brdr)}.ui-selectmenu-button{display:inline-flex}.ui-selectmenu-button:not(.ui-controlgroup-item){border-radius:.5em}.ui-selectmenu-button.ui-controlgroup-item.ui-corner-tr{border-radius:0 .5em .5em 0}.ui-selectmenu-button.ui-controlgroup-item.ui-corner-tl{border-radius:.5em 0 0 .5em}.ui-selectmenu-icon{flex:none;margin:.2em .2307692em 0;margin-inline-end:-.2307692em;order:2}.ui-selectmenu-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-selectmenu-menu{display:none;left:0;margin:0;padding:0;position:absolute;top:0}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{border-top:1px solid var(--clr-brdr);font-size:1rem;font-weight:700;height:auto;line-height:1.5384615;margin:.5em 0 0;padding:2px .6153846em}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup:first-child{border:0;margin:0}.ui-selectmenu-open{display:block}[dir=rtl] .ui-selectmenu-button.ui-controlgroup-item.ui-corner-tr{border-radius:.5em 0 0 .5em}[dir=rtl] .ui-selectmenu-button.ui-controlgroup-item.ui-corner-tl{border-radius:0 .5em .5em 0}.no-ui-button .ui-selectmenu-button{background:#0000;border:0;color:var(--clr-a);cursor:pointer;font-family:var(--font-body);height:auto;margin:0;padding:0;-webkit-user-select:auto;user-select:auto}.no-ui-button .ui-selectmenu-button:active,.no-ui-button .ui-selectmenu-button:hover{background:#0000;box-shadow:none;color:var(--clr-a-interact);text-decoration:underline}.no-ui-button .ui-selectmenu-button:focus{outline:thin solid var(--clr-focus)}.no-ui-button .ui-selectmenu-button .ui-selectmenu-icon{opacity:.66}.no-ui-button .ui-selectmenu-button:active .ui-selectmenu-icon,.no-ui-button .ui-selectmenu-button:focus .ui-selectmenu-icon,.no-ui-button .ui-selectmenu-button:hover .ui-selectmenu-icon{opacity:1}.ui-slider{background-color:var(--clr-bkgd-box);border-color:var(--clr-brdr);box-sizing:border-box;position:relative;text-align:start}.ui-slider:hover{border-color:var(--clr-brdr-dark)}.ui-slider .ui-slider-handle{background-color:var(--clr-bkgd);border:1px solid var(--clr-brdr-dark);border-radius:50%;box-shadow:var(--standard-shadow);box-sizing:border-box;cursor:pointer;height:20px;position:absolute;touch-action:manipulation;width:20px;z-index:2}.ui-slider .ui-slider-handle:hover{border-color:var(--clr-brdr-dark);filter:brightness(1.05)}.ui-slider .ui-slider-handle:active{filter:brightness(.95)}.ui-slider .ui-slider-range{background:var(--clr-success-text);border:0;display:block;font-size:10px;position:absolute;z-index:1}.ui-slider-horizontal{height:12px;margin-bottom:1em}.ui-slider-horizontal .ui-slider-handle{margin-left:-10px;top:-5px}.ui-slider-horizontal .ui-slider-range{height:100%;top:0}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{height:100px;width:12px}.ui-slider-vertical .ui-slider-handle{left:-20px;margin-bottom:-10px}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{border:0;display:inline-block;padding:0;position:relative;vertical-align:initial}.ui-spinner .ui-spinner-input{padding-inline-end:24px}.ui-spinner-button{cursor:default;display:block;font-size:.5384615rem;height:42%;line-height:1.5714286;margin:0;overflow:hidden;padding:0;position:absolute;right:0;width:18px}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}[dir=rtl] .ui-spinner-button{left:0;right:auto}.ui-tabs{border:0}.ui-tabs .ui-tabs-nav{background:none;padding:0}.ui-tabs .ui-tabs-nav:not(.switcher-list) .ui-tabs-anchor{color:var(--clr-text);text-decoration:none}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{display:block;padding:.3846154em 1.3846154em}.ui-tabs .ui-tabs-nav li:hover{filter:brightness(1.05)}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs .ui-tabs-nav .ui-state-focus a{outline:thin solid var(--clr-focus)}.ui-tabs .ui-tabs-panel{background:none;border-width:1px 0;display:block;margin:0 0 1em;padding:1px 0}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav{height:31px}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav li{border-bottom-width:0;border-top-left-radius:.75em 2em;border-top-right-radius:.75em 2em;box-shadow:inset 0 -.2em .4em #dccc8f80,0 -.15em .15em #0000001a;display:inline-block;height:30px;list-style:none;white-space:nowrap}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav li:hover{border-color:var(--clr-brdr-dark)}.ui-tabs:not(.ui-tabs-vertical) .ui-tabs-nav li.ui-tabs-active{background-color:var(--clr-bkgd);box-shadow:0 -.15em .15em #0000001a;margin-bottom:-1px;padding-bottom:1px}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs-vertical .ui-tabs-nav{border-bottom:1px solid var(--clr-brdr)}.ui-tabs-vertical .ui-tabs-nav li{border:1px solid var(--clr-brdr);border-bottom:1px solid #0000;display:block}.ui-tabs-vertical .ui-tabs-panel{border-top-width:0}.txp-details .ui-tabs-nav{border-bottom:0}.txp-details .ui-tabs-nav li{border-left:0;border-right:0}.txp-details .ui-tabs-nav li:first-child{border-top:0}.ui-tooltip{box-shadow:var(--standard-shadow);max-width:22em;padding:.5em 1em;position:absolute;z-index:9999}:root{--font-heading:Cambria,Georgia,serif;--font-body:"Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-form:system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-code:Monaco,"Lucida Console","Bitstream Vera Sans Mono","DejaVu Sans Mono",monospace;--clr-text:#333;--clr-text-demoted:#595959;--clr-text-inversed:#fff;--clr-text-form:#000;--clr-text-placeholder:#999;--clr-text-btn:#000;--clr-text-btn-hover:#000;--clr-text-btn-active:#000;--clr-bkgd:#fff;--clr-bkgd-box:#f7f7f7;--clr-bkgd-form:#f7f7f7;--clr-bkgd-form-disabled:#e3e3e3;--clr-accent:#ffd942;--clr-accent-dark:#d6ab00;--clr-hilite-box:#fff8db;--clr-strong-hilite-box:#ffefad;--clr-brdr:#ccc;--clr-brdr-lite:#d4d4d4;--clr-brdr-dark:#b3b3b3;--clr-brdr-form:#c7c7c7 #ddd #ddd #c7c7c7;--clr-a:#963;--clr-a-interact:#b2702e;--clr-focus:#5a9bd8;--clr-selecting:#cce0ff;--clr-selected:#e6f0ff;--clr-btn-bkgd:#e6e6e6;--clr-btn-brdr:#ddd #c7c7c7 #c7c7c7 #ddd;--clr-btn-primary-bkgd:#900;--clr-btn-primary-brdr:#b00 #600 #600 #b00;--clr-btn-caution-bkgd:#f8eded;--clr-success-text:#238b23;--clr-success-bkgd:#dbf0db;--clr-success-brdr:#a0ce8d;--clr-warning-text:#662c00;--clr-warning-bkgd:#f7edd9;--clr-warning-brdr:#e4c686;--clr-error-text:#9b251c;--clr-error-bkgd:#f2dfde;--clr-error-brdr:#dfb2af;--clr-info-text:#3986ac;--clr-info-bkgd:#e8f6fc;--clr-info-brdr:#adddf5;--standard-shadow:0 0 0.5em #0003} \ No newline at end of file diff --git a/textpattern/admin-themes/classic/checksums.txt b/textpattern/admin-themes/classic/checksums.txt index 02a6b4e5e4..c254b8762b 100644 --- a/textpattern/admin-themes/classic/checksums.txt +++ b/textpattern/admin-themes/classic/checksums.txt @@ -1 +1 @@ -/admin-themes/classic/classic.php: 57033bb3fe97d5db855bf330392af50f91dbaa86551fce01 \ No newline at end of file +/admin-themes/classic/classic.php: d2d19099d3b34ef0666772b9119cc8eeb430bc4683004885 \ No newline at end of file diff --git a/textpattern/admin-themes/classic/classic.php b/textpattern/admin-themes/classic/classic.php index 39b1511b64..1f4e566f53 100644 --- a/textpattern/admin-themes/classic/classic.php +++ b/textpattern/admin-themes/classic/classic.php @@ -4,7 +4,7 @@ * Textpattern Content Management System * https://textpattern.com/ * - * Copyright (C) 2026 The Textpattern Development Team + * Copyright (C) 2025 The Textpattern Development Team * * This file is part of Textpattern. * diff --git a/textpattern/admin-themes/classic/manifest.json b/textpattern/admin-themes/classic/manifest.json index 5710afe29f..72fe52750d 100644 --- a/textpattern/admin-themes/classic/manifest.json +++ b/textpattern/admin-themes/classic/manifest.json @@ -1,7 +1,7 @@ { "title": "Classic", "txp-type": "textpattern-admin-theme", - "version": "4.9.1-dev", + "version": "5.0.0-dev", "description": "Textpattern CMS Classic admin theme.", "author": "Phil Wareham", "author_uri": "https://github.com/philwareham/textpattern-classic-admin-theme" diff --git a/textpattern/admin-themes/hive/checksums.txt b/textpattern/admin-themes/hive/checksums.txt index 1ae26816d4..386993191c 100644 --- a/textpattern/admin-themes/hive/checksums.txt +++ b/textpattern/admin-themes/hive/checksums.txt @@ -1,4 +1,4 @@ -/admin-themes/hive/hive.php: 96fb3301d96c0e340676705976a3cc681958feacf5f02399 +/admin-themes/hive/hive.php: fe0827f825a2f9685fbb614d79e17d5d84035612f72eb0ec /admin-themes/hive/assets/js/autosize.js: a443b43bc89d5b153e3b396a7e47be86e31728231a0f2520 /admin-themes/hive/assets/js/main.js: 6d3e72e69025f84d2b6a0abc5dcda677acf341029c3c0548 /admin-themes/hive/assets/js/darkmode.js: 80f48c67e4a78adff48c38700ecf120c43d07d7a6a4900e7 \ No newline at end of file diff --git a/textpattern/admin-themes/hive/hive.php b/textpattern/admin-themes/hive/hive.php index 54ddcffa72..75a94d4aef 100644 --- a/textpattern/admin-themes/hive/hive.php +++ b/textpattern/admin-themes/hive/hive.php @@ -4,7 +4,7 @@ * Textpattern Content Management System * https://textpattern.com/ * - * Copyright (C) 2026 The Textpattern Development Team + * Copyright (C) 2025 The Textpattern Development Team * * This file is part of Textpattern. * diff --git a/textpattern/admin-themes/hive/manifest.json b/textpattern/admin-themes/hive/manifest.json index 2b5f99c695..861b9691c4 100644 --- a/textpattern/admin-themes/hive/manifest.json +++ b/textpattern/admin-themes/hive/manifest.json @@ -1,7 +1,7 @@ { "title": "Hive", "txp-type": "textpattern-admin-theme", - "version": "4.9.1-dev", + "version": "5.0.0-dev", "description": "Textpattern CMS Hive admin theme (Classic Yellow).", "author": "Phil Wareham", "author_uri": "https://github.com/philwareham/textpattern-hive-admin-theme" diff --git a/textpattern/admin-themes/hiveneutral/checksums.txt b/textpattern/admin-themes/hiveneutral/checksums.txt index 57332ac081..88452e92bf 100644 --- a/textpattern/admin-themes/hiveneutral/checksums.txt +++ b/textpattern/admin-themes/hiveneutral/checksums.txt @@ -1,4 +1,4 @@ -/admin-themes/hiveneutral/hiveneutral.php: 49736f03617375dde9355895823f63e4d09eaacc1cf5b173 +/admin-themes/hiveneutral/hiveneutral.php: 83e22c1a37c8baa77e27e2394da1b1a8abc474b142965084 /admin-themes/hiveneutral/assets/js/autosize.js: a443b43bc89d5b153e3b396a7e47be86e31728231a0f2520 /admin-themes/hiveneutral/assets/js/main.js: 6d3e72e69025f84d2b6a0abc5dcda677acf341029c3c0548 /admin-themes/hiveneutral/assets/js/darkmode.js: 80f48c67e4a78adff48c38700ecf120c43d07d7a6a4900e7 \ No newline at end of file diff --git a/textpattern/admin-themes/hiveneutral/hiveneutral.php b/textpattern/admin-themes/hiveneutral/hiveneutral.php index a9738dd87c..e07b12d07f 100644 --- a/textpattern/admin-themes/hiveneutral/hiveneutral.php +++ b/textpattern/admin-themes/hiveneutral/hiveneutral.php @@ -4,7 +4,7 @@ * Textpattern Content Management System * https://textpattern.com/ * - * Copyright (C) 2026 The Textpattern Development Team + * Copyright (C) 2025 The Textpattern Development Team * * This file is part of Textpattern. * diff --git a/textpattern/admin-themes/hiveneutral/manifest.json b/textpattern/admin-themes/hiveneutral/manifest.json index ea16e8c765..3f1c21c222 100644 --- a/textpattern/admin-themes/hiveneutral/manifest.json +++ b/textpattern/admin-themes/hiveneutral/manifest.json @@ -1,7 +1,7 @@ { "title": "Hive (Flat Neutral)", "txp-type": "textpattern-admin-theme", - "version": "4.9.1-dev", + "version": "5.0.0-dev", "description": "Textpattern CMS Hive admin theme (Flat Neutral).", "author": "Phil Wareham", "author_uri": "https://github.com/philwareham/textpattern-hive-admin-theme" diff --git a/textpattern/checksums.txt b/textpattern/checksums.txt index a39a606c31..40b7b7a52f 100644 --- a/textpattern/checksums.txt +++ b/textpattern/checksums.txt @@ -106,13 +106,13 @@ /vendors/Textpattern/Skin/CommonBase.php: 58892b016c4d7172cf83b26d15e465d8e9affaf0c3b2ae4b /vendors/Textpattern/Skin/AssetInterface.php: 42729ab7c1eba7ef4f784cc1b967a8badf397ca85c2a1066 /vendors/Textpattern/Skin/CssInterface.php: 41dccdbd6d9c3732b6c6f06dfecb2809bbd0b693eed45f67 -/vendors/Textpattern/Skin/Skin.php: f852d13c3d5bcc536047aa7c34385e4c158c58a26f27790a +/vendors/Textpattern/Skin/Skin.php: fca3ed4dcaee72960292abc3b0ee5369bc8a089404611285 /vendors/Textpattern/Skin/CommonInterface.php: 5ed3dfb842cad07a9071e595a888a179435decabd9539a9e /vendors/Textpattern/Skin/Page.php: 0b1175ef0be465ffc1d881e9f90a7a0b4c395649b9f98e10 /vendors/Textpattern/Skin/Form.php: fb9847d54210cec2d719a84872008581687b63118d361c6b /vendors/Textpattern/Skin/Css.php: 2071740b0da8f7be7170943dc358d0550e515f49a72e8623 /vendors/Textpattern/Skin/SkinInterface.php: 46831dd41ebddc8859b8c1ade3d6587471e76c88bd751f2e -/vendors/Textpattern/L10n/Lang.php: 7ce77e592b3acaa7fc27465c08f45189ec2af98da1829333 +/vendors/Textpattern/L10n/Lang.php: 0ceff3fc2a796c18d98c009a7cf19dccb3737aea03568210 /vendors/Textpattern/L10n/Locale.php: 3a1f57eab1173ff5c991bda0ffd76a2fec4b5208c8ce83b9 /vendors/Textpattern/Password/Hash.php: cf5568a4c42ba3dd74ce816f1e58c0e3cc9006cbc8a522a4 /vendors/Textpattern/Password/Adapter/PasswordHash.php: 0e30ff987d048fbc5a530e2023c56e6855b80fa63c53239e @@ -146,19 +146,23 @@ /vendors/Textpattern/Mail/Exception.php: 33fac0f8a475f634fb0c884da28dd07791ddb52bbd58247e /vendors/Textpattern/Mail/Message.php: 1f0c27a90ff97b2d1359b8edfdb3b12966cea90e75f5d62b /vendors/Textpattern/Module/Help/HelpAdmin.php: 7c7c70e9eb2cb15022b9eebbe099487191ee53bbc5a591bf -/vendors/Textpattern/Date/Timezone.php: b8c44c2dfaffab16715200f861afb2567ecc291f7fc62d31 +/vendors/Textpattern/Date/Timezone.php: 501d840191aef24aabdae6663bce11b8ebc0973d7b1e1744 /vendors/Textpattern/Textfilter/Registry.php: 3ec65a8be5432ad3dd521cee445d250ad0f121ca408423ef -/vendors/Textpattern/Textfilter/Plain.php: f4484253854547bc96a5064380e66f8a3bbd3960b9c16b07 +/vendors/Textpattern/Textfilter/Plain.php: 6b119bb35b848081016dea8f8d9efd18c28b40ba346ced47 /vendors/Textpattern/Textfilter/Constraint.php: 15b779cd445661449415d7fb995d1e475b9feacde4ef2670 /vendors/Textpattern/Textfilter/Base.php: e9045ea12803103b5486a293c934dc88c29578be4e18dfd2 -/vendors/Textpattern/Textfilter/Nl2Br.php: a31cfdd94ba7bad12cc0e1aa147d9ac72ead26c14edd1d76 +/vendors/Textpattern/Textfilter/Nl2Br.php: 5817785c3f2411d532c17b00865bbd6684603f2130cd8d86 /vendors/Textpattern/Textfilter/Textile.php: 434e374d740a371f4bca0ea96fc4cfd78eb258da85538ca1 /vendors/Textpattern/Textfilter/TextfilterInterface.php: e6aa36fa4f1e238a3a63c49f223bb3327765718fde2fb64a -/vendors/Textpattern/Plugin/Plugin.php: 2696918bcc7bac669db6b08cd4f4154e2986053cdef0024b +/vendors/Textpattern/Plugin/Plugin.php: 817f76514c89168a09549fef2afd8b9f48da5d4a9ea434ec /vendors/Textpattern/Admin/Paginator.php: 6a586fb44f9a8dd46f41a279227c424e22ff89a5042885b8 -/vendors/Textpattern/Admin/Theme.php: 93f51cc4c9f555dd0005f7442ef083a4a7bb9cebda2b68ed +/vendors/Textpattern/Admin/Theme.php: ec8a3cecb5be8e24980b675aea046d14302b05d750e50984 /vendors/Textpattern/Admin/Tools.php: fe9f63e9ee6a3c3f8290126dc7ac6a2a3aa25b5c14656d3c /vendors/Textpattern/Admin/Table.php: 6519449c9cf1c83cadbc7c195b40704e8fac6028e12963be +/vendors/Textpattern/Meta/Field.php: a8ff83805e01c833a9ea10e2dcca8b7d157c8871ea86d58d +/vendors/Textpattern/Meta/ContentType.php: 5051036baa76639d78d320a170322e8ab277584d97758deb +/vendors/Textpattern/Meta/FieldSet.php: bc4c0426f348e733fed454f6c5d28dce248513e1bf34f7cb +/vendors/Textpattern/Meta/DataType.php: ccb7dbe821d206b6710b987a9210b5414d380c6222033dc3 /vendors/Textpattern/Server/Files.php: 5691ca3546abd2508373997a6958bc3ea365438f3b9f3930 /vendors/Textpattern/Server/Config.php: bcb130c022395642b6bf106eefb8fbbd9c69a21750460afe /vendors/Textpattern/Search/Method.php: c85aeaed494563924272f6b5bb01e26053f52ef5f3d58c98 @@ -179,24 +183,24 @@ /vendors/Textpattern/Type/TypeInterface.php: 846159bc1a54070b6189a21d586b398d5d72dbc6aee87dee /vendors/Textpattern/Type/StringType.php: d539fb0343c046aa13efdd5c58555571d0a67106a5e90a8b /vendors/Textpattern/Http/Request.php: 65d0efaca63598fa2780006d3d03eb6617bacb10267cc930 -/vendors/Textpattern/DB/Core.php: 608a321c5e3545a2650e01acf8a1143554566bc01d6d0485 +/vendors/Textpattern/DB/Core.php: 2c8deb4249ccecc842115f087095b1db798d529b4d6c315a /vendors/Textpattern/Textpack/Parser.php: 3fe2d12cb42081eefa143c2560a706aa42a43b1b80bfab2e /vendors/Textpattern/Textpack/StringInterface.php: 3ed4339ac24ea5aaa7e01827c5bc6fc08451ddc19bd04892 /vendors/Textpattern/Textpack/String/Iterator.php: 76e2d21dd8292848ae2bb1dcff2cc43480fa4312e228b558 /vendors/Textpattern/Filter/FilterCallable.php: dc00b706e51f3d1a51b4331f350ea0ecdda798c1429cfea4 /vendors/Textpattern/Filter/StringFilter.php: 7fa8fe74e5f7c97e26c14989ec1c068e02d467c6305f10a9 /vendors/Textpattern/Filter/Exception.php: 569c38f56ec40cfdb2332969a7ff1884821814894f8e04cd -/vendors/Textpattern/Import/TxpXML.php: dc2f2cda98c365596bba2eb56fc99784c6a68361ff275183 -/vendors/Textpattern/Tag/Registry.php: c436845bd9d064a6e672ce5db36beacc45f3ca2763d97b30 -/vendors/Textpattern/Tag/Syntax/Link.php: 006ef0978d2d8fbc3cab9466cae56a39d641851ecefb5cbe +/vendors/Textpattern/Import/TxpXML.php: a34336d1fc340b81a177f9feb77061d381865d24f291e747 +/vendors/Textpattern/Tag/Registry.php: b8f75a46d7c86f92cb09d6a7355c176dcc1ad5e35aa539ff +/vendors/Textpattern/Tag/Syntax/Link.php: def425c5ef47ead810553ded56d85179b440a7663711c494 /vendors/Textpattern/Tag/Syntax/Pagination.php: a78af75e87222d1561bf71f435a3295a21d57c7dcce96ad7 /vendors/Textpattern/Tag/Syntax/File.php: 092255edbd0d478b677744a9d943474575420971a71cdb39 /vendors/Textpattern/Tag/Syntax/Partial.php: 511a6ede0b08ed82956847e0ccae867dbce90f08854a0922 /vendors/Textpattern/Tag/Syntax/Search.php: 6e78a8edbbf512d7adb0574880df8ea86449ed4ed2cf8cb2 /vendors/Textpattern/Tag/Syntax/Privacy.php: 01320a0f9f74c993fffc1c3ddd77b94f5462793ffca187aa /vendors/Textpattern/Tag/Syntax/Authors.php: bde24d053f291924dc02f631ae8e853136eb58a7bc961878 -/vendors/Textpattern/Tag/Syntax/Comment.php: 5816abb0fbec57c3115332bdaafb0b99fa505077cc04ba6b -/vendors/Textpattern/Tag/Syntax/Image.php: a7bd98d74d9f942342cee3b222e8e88edb118c07f48c4f35 +/vendors/Textpattern/Tag/Syntax/Comment.php: c47c2b19df3449badaa4d04613ce93c0330ca1881eec03f2 +/vendors/Textpattern/Tag/Syntax/Image.php: d4ad4256b077343706a06ad3cf41b565b462db5390a3cb75 /vendors/Txp.php: 48b9fbc44647e9d11a2ad39dca90ca7812b5a188bff78098 /vendors/composer/autoload_namespaces.php: f462232d64dc8dc3a8aaf4e199bb7c93441bd031e1f1ace8 /vendors/composer/ClassLoader.php: c768e7a2094b365687414aa6d3be7abf552f1ae0b2032848 @@ -207,35 +211,38 @@ /vendors/composer/autoload_real.php: 286366489328040101b68ad6066c593b1b79ebf3dba2e3b7 /vendors/composer/InstalledVersions.php: 1e6934f304a347acf7a230e37579358d804ce9b2b8c366f2 /vendors/composer/installed.php: 030c344dc34c15e4d11c26d8e7e102214f6453881bab17a4 -/vendors/cure53/DOMPurify/purify.js: 51606a6dd47a4a2b71e673e6849774d1bc49f332242da292 -/vendors/jquery/jquery/jquery.js: 6639106c5db10e688bc392b8176ae0e7b1a479797521917f -/vendors/jquery/jquery-ui/jquery-ui.js: dc5cf155b63a91675acdaec1e345364b1914640f90559c77 +/vendors/cure53/DOMPurify/purify.js: 42874623b73eadce175987b338dd6b743b4ec902020e8f18 +/vendors/jquery/jquery-migrate/jquery-migrate.js: 4d6ae9540f833c2a9681ee336d95e4d49a63aa2af9c660bb +/vendors/jquery/jquery-migrate/jquery-migrate.min.js: 2392e4277abeae6d65c615127105967fcbfcba986ba9a2b6 +/vendors/jquery/jquery/jquery.js: bac8083e03cec1674558a945559090bfd8d935b1e681b400 +/vendors/jquery/jquery-ui/jquery-ui.js: e85e833a644eaf2d184d74bd583a04c1ed4459720f4a5a9e /vendors/Netcarver/Textile/Parser.php: b7dd414b8eb2da551005470ab4adf87b03503cd21df0702a /vendors/Netcarver/Textile/DataBag.php: dac3873b32d536fae065d27d85fe4982f953ab2495ae23ba /vendors/Netcarver/Textile/Tag.php: 8e83699fc4c1e99ff17a2ebc2ef7c32ed002eea4a1f7c3f9 /vendors/blueimp/fileupload/jquery.fileupload.js: b59cbb40e462c3e14cb8f6b3427e2aafee07090c08f00b1d -/vendors/lencioni/SLIR/SLIR.php: 6fb86d81a05ef3115fb11390c0e4950365bb56a2021c525b +/vendors/lencioni/SLIR/SLIR.php: 0841309a72bd08cccc12c93d740c5954401c70095c28b404 /vendors/lencioni/SLIR/icc/JPEG_ICC.php: 3cb67de5afd3a716278930bf5745a45fc2aa55780822ceb7 -/vendors/lencioni/SLIR/libs/SLIRImage.php: 474c2d0817f8a7ac09071a2beaaae61670add6ca8c1fa706 -/vendors/lencioni/SLIR/libs/gd/SLIRGDImage.php: 9910fb83419558cdc5363dbc0fc97efaf4acca9c7236fa60 -/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropperTopcentered.php: 63a043edfeff79b2251b1ca227f06d0832dcbe2f607d7356 -/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropperCentered.php: 6b2201da2cb84ac8cefd70c87cc2c39bd6cc0966682480e4 -/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropper.php: c0bbaef878cbb9037bca6e089823ea25915201e0db7bd8ba -/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropperSmart.php: 8a93530319963c96fe90c14d77fb59475031b13698c5cdd6 -/vendors/lencioni/SLIR/libs/SLIRImageLibrary.php: d02f102b5635602fed51a444ccd659dd0b843bb1bcfa9486 -/vendors/lencioni/SLIR/libs/SLIRCoordinates.php: 76e148513169266c4eac1c98dca201e448bc0b4555dbfe37 -/vendors/lencioni/SLIR/SLIRConfig.php: 27a4b11e2f87f496dd4bcaaa73f99ca7cc1924a6c1f82413 -/vendors/lencioni/SLIR/SLIRConfigDefaults.php: 509e18b0ff0aec7ee63dc037bb3621167e3f6a95e9334664 -/vendors/lencioni/SLIR/SLIRRequest.php: e69a5a80e0903c30ace8c48b76af185ab1fb013f59ad60c7 -/vendors/lencioni/SLIR/SLIRExceptionHandler.php: 427e04986c160272f8460997125d8e0767d522a87ec55a6f -/vendors/lencioni/SLIR/SLIRGarbageCollector.php: cf05f5a58461690cc32b5e128a5a5ed2f1652a635333f535 -/index.php: 72a2c4409b6adf7ef88621cbd01badac7d2b265569de5ff6 +/vendors/lencioni/SLIR/libs/SLIRImage.php: a7d75404d6c86ace73a315e902d42c1dfec6b7d89e41dd28 +/vendors/lencioni/SLIR/libs/gd/SLIRGDImage.php: c7b24eff6fbfe6ea7c5b7af5930eb10ab2828f992311ea12 +/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropperTopcentered.php: 8a8a6b485ee174dcefb0e933c6bbee7cb8e0af42def212c2 +/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropperCentered.php: 20b7335399b3b1d7c6d0ee0b7629cb7dbf0a14770d1f0122 +/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropper.php: f56ddd58f43f3457ccf89c49b951d3e497daeab7bb67630f +/vendors/lencioni/SLIR/libs/gd/croppers/SLIRCropperSmart.php: 1feb4fefa1059932ed89816bc43389fb672dc7517221412b +/vendors/lencioni/SLIR/libs/SLIRImageLibrary.php: 7fa2b21b8e4713431984e23bc0cc85281aa48d017bd554f6 +/vendors/lencioni/SLIR/libs/SLIRCoordinates.php: 2139a1e7dfea2d7ae24d2ff540843c61afeb634ab8c094a9 +/vendors/lencioni/SLIR/SLIRConfig.php: 8221c43e2b8f25efe40bd2b2f88b8ac3aa77bb7e95a6aa0e +/vendors/lencioni/SLIR/SLIRConfigDefaults.php: db8bd25b078414e6d62eb7d900323fb5bbf3698d539b37d4 +/vendors/lencioni/SLIR/SLIRRequest.php: 02a36df3ba69253fa14a7fd07cb3cd12afc15024f4a0fff1 +/vendors/lencioni/SLIR/SLIRExceptionHandler.php: f04bcf3507ed6fe2f52263c62cc0559bc3fda412f313ab13 +/vendors/lencioni/SLIR/SLIRGarbageCollector.php: b50bd185cedf971975f26c72040c1ee8ebc4cbd10d9ff8ca +/index.php: 05e4afd393ac88e84bf3359d4da536ec0208c974bf78e24d /update/_to_4.7.0.php: 4d0601fbb30daf30390ca4e290d5c0e865f97a04d7398ccb -/update/_update.php: 71ec5d8e7ce872f2565b42cd2038b0f228a275da59961f4a +/update/_update.php: 28743eb2554948d36fb10243a47dad94b5e33a7b8ddb1ee6 /update/_to_4.7.2.php: 7e9f994864910268cb87da6952bf9eb5f71a705f4acd16e0 /update/_to_4.5.0.php: b5cb5cf142c455ed9b64619162c4d45b90b0845f05836851 /update/_to_4.5.7.php: 4bda9e5cd5453f19e41cf9eafb4b99a08cf6a9a7b581a590 /update/_to_4.3.0.php: 7c03f552c99fea6b0e93691d8cbe60666500dbc5049ab98f +/update/_to_5.0.0.php: 686b2765ce476ce1aec07da732bd2c3982197c384e096ff2 /update/_to_4.0.5.php: 9fba9cbeeae6bb29a41cbf826367dcccf97f53cda26390e0 /update/_to_4.0.4.php: e031c19b8ecc02dbcf0c858c05143ee42ecb90230e949ea2 /update/_to_4.0.6.php: 4e4f1c4d6422479c0de87722fd49d2af5093ae6c549e986a @@ -244,57 +251,59 @@ /update/_to_4.0.3.php: 049d1b663767c92677780147d9a720ac322988e38174136e /update/_to_4.2.0.php: 305999d22304a012d76aa7a4477cb8e85a72244e99456620 /update/_to_4.8.4.php: 72ddb46a91bdcc31d5463ed3275efff8b0d7727086f85596 -/update/_to_4.8.0.php: e48113857368a0bf2196692331cac3b0c398cfd665cfd2b6 +/update/_to_4.8.0.php: fbc447ccfbc164437df373f046195101db6a482f332eefe4 /update/_to_4.0.8.php: cc05f0c6b6c33db34d33ee0cc635fafa23d91b36d31551ec /update/_to_4.9.0.php: 64b78c3a28c51769f042fcd9fc70a201f4637497db16ab4a -/include/txp_lang.php: 9d67ac4447727ad269ef1eac367bb0debd254a98237e3191 -/include/txp_link.php: ee6ff28f58ba9e53208a1fb909960a490e23596ffb73e437 +/include/txp_lang.php: 2c33756938b647abea6699e7f4c525502b20036c07f85f6d +/include/txp_link.php: e0a9de98b76cadecfbd62c06444a14adcef08a35ab42f3bd /include/txp_log.php: d90bfd9f2f38ceb5443b2f58b590623460249781e49bd10e -/include/txp_auth.php: ff6d0afde257ccf806c762294cb33cac11182e742ff4d76b -/include/txp_css.php: a434b91a9ed31fc772576f91d4eae9faae7a9f99e9dff683 -/include/txp_admin.php: bb75f29e39c3c8c4fa12aa53e44f830e05c8c47b734f23c5 -/include/txp_prefs.php: 1a76c8be5f841ce3536d4f5fd0271876f8b080dbb1f6c458 -/include/txp_lore.php: 66a3891f1719fbed3b55f421a2f9d2c59a47d337136d6b05 -/include/txp_file.php: b273b3cf554ae7e6bfec7ec74c48374cd144c93e76ea816a -/include/txp_diag.php: 2d06e2b26c5f94b4662fa0239fd90b68bc46bb21f93ed5ae -/include/txp_section.php: f00f68b92f2ad8838a77afee224679f967db17dce5bad47b -/include/txp_image.php: 85875d24f4d8e0125ca4fb98b7c10f180a227ae9e41370f7 -/include/txp_list.php: 05afce9c5346db7224f7f790e180fcbb5ffbcf6351e02d7b -/include/txp_category.php: 0d824fcf353765138c4d39fd01b8c359b9976c755299ffde +/include/txp_auth.php: 94fecee532db2b950538becfe0c1b900911c0658db003cf5 +/include/txp_css.php: b70d4865a8e30c9a4f461db25e424f7787517730f3b10763 +/include/txp_admin.php: 546f79e0f778eaaaa7f766bf6705a8127565ce4491bbf9dd +/include/txp_prefs.php: 572722a1a50aee63d190aac0a543df31cc62e93e53d2091b +/include/txp_lore.php: e88cb1fcb2634c221084dd0ed36875ca7cd6437d3a540623 +/include/txp_entity.php: 2cfb683bd69e20b56640fb08aae19d6d4ba82650f1e8037d +/include/txp_file.php: 7ec82948921641677b2b26b4132b9313520fc3c610ddb229 +/include/txp_diag.php: ae2434821504cb2a864e806743c6ad7ed39a8e3092d77529 +/include/txp_section.php: 5edd0c0ef773fd9a229fa81ce9356d6c6b3c26659ffec8bf +/include/txp_image.php: 53f8f391db68091b7602a0428a87c17fecc66067b674831a +/include/txp_list.php: c3df4d79880a9d6124f5976768b11c8508dd285a6befb129 +/include/txp_meta.php: 1baa090278b71cd8e093ee3dc9001def49d00bdf00a9e407 +/include/txp_category.php: a8f53dd472bb36ae06f674ab1ef362e8bb69158c1208827e /include/txp_skin.php: ad59c805e04e81deaf8346166a900cef39df1df405b02265 -/include/txp_tag.php: e3cc394e6095594d6892ec7bef52dbdce6725e7872fa0489 -/include/txp_form.php: fe65330d56ffdbfee479c9fe2fc4aa490a1a33c11907ee31 -/include/txp_article.php: 44f5fac05546933009f78b8be9a23199e38200fe2bc30f9f -/include/txp_page.php: 6b87645524583cd3df4cb191c330392a19985c752c64a832 -/include/txp_plugin.php: 7dcab54f25c2940424a01db4a924f3e185d5d2fef40899d2 -/include/txp_discuss.php: 45f3cd3d1854dea844a590274a051bfef9cebae6736efdbf -/textpattern.js: 139519db3ec1b4b8b01087c2725bb89c08341e04725e40a2 -/publish/rss.php: 82b420c045feb9bead0cfd70adcb4f721fceda8c3d71115e -/publish/taghandlers.php: 164ec821db3222c0a8e9304ef463342342d6e0674bc1eea8 +/include/txp_tag.php: 319381731d5feb12ed8015e9590b7c6574eba4f9b95b2d72 +/include/txp_form.php: 853898d5ba1b03519bd8e509cd76cabda8ec1441aaa9c450 +/include/txp_article.php: d697609a70db74b331d27e26ffabd9073bace01b952c72be +/include/txp_page.php: d631fbcb59fbb0dd2ae70a06ad210f629d464b650844441b +/include/txp_plugin.php: 09edaf4f61c7ea2c9a0eef204955d7c7a04fa3d000330e8c +/include/txp_discuss.php: 0ebec922cb2c5da6cfb36dc967b19fc516622799432312c7 +/textpattern.js: 79fdb46bc570cc62ca6fdc14e81977ba7e997e5f96f09028 +/publish/rss.php: 43cd60410feca52da1243d5decdce26aa9fdc5e23a42002f +/publish/taghandlers.php: 9d62d6a96d9835c1173d3728e2227552f56b4094f69c2f2f /publish/search.php: 5fbd4a8249021a47f6f9e869ab4b35a7de412484247e3ad2 -/publish/atom.php: 918bd2e5375fa38ad5ed1632a07aa0d457acbb8831d32b10 -/publish/comment.php: e6d6425e1ae0e4a66862582d373125c17d27f9e1d052dcec +/publish/atom.php: fcf993ed15e369f456775580f2ce2c38e94c1ce557a06775 +/publish/comment.php: e8deefd21b5139e5cb650ab64141d7a25e83cf694e54d023 /publish/log.php: 640f7ae692292345e9f7cdbdb3676a42198858842f07507a -/lib/txplib_publish.php: cfcbcef3118e78e7e4ad3bb5f8e0714e27c368fd78db5537 -/lib/txplib_wrapper.php: c7dd5fdd9fe893ccc44d073d7a749e8f6ea4074740a39e04 -/lib/IXRClass.php: 09badaa2e74f5930fad755c2f7d82ec092184ef53e1ce5c9 +/lib/txplib_publish.php: 1fb6b1e29b5f8c8f3084c4429b1a946f903425332dac4e73 +/lib/txplib_wrapper.php: 505050760f7359c25c959198e5975664f54e9c6162724665 +/lib/IXRClass.php: bfabdcdc84a5778d021b4462ae3a3c2f26dbb4717b6da730 /lib/txplib_validator.php: 3ff0939074ee855c293b53b71a8c1b78847912317f44586a -/lib/txplib_db.php: ad5fb11a6cf1d361720a68a8fd43c44238f8cf953bd41c70 +/lib/txplib_db.php: 6966da2bf10a7be68ef94e11498ea9ff4e8a8765f510007c /lib/PasswordHash.php: e27ad1c7be80975898b6c510cfb5f097c2e145cd7f89b724 /lib/txplib_update.php: 510aa6c06d280063da7c2d006e905723e7f911d9766390f7 /lib/taglib.php: bf75edec753700fdeaabf3a80960d9945fd0e79e80442e21 -/lib/constants.php: 5d9cca352d9d74bcbd523a839a64c29b1b82ebc5767f879b -/lib/txplib_forms.php: 85fc82ace04c8a01e7553372fd9fa738b0e41e8192f319a9 -/lib/txplib_head.php: 0947c2b536b47b9637d260fb5759a4a855f0a27c9618f726 -/lib/txplib_html.php: 680c2db7d909a946a9de375082ab0f6dfb164940fe7f085f -/lib/txplib_admin.php: 4320716f3dd60a42cdc1350b499945c0d44705bf4d640957 -/lib/class.thumb.php: 84840d3d633a86fcd6486729a8b2b41de4948da8591aff00 -/lib/txplib_misc.php: aab0533b745d04e749ad6495ebb84020951adbe718a70197 -/lib/class.trace.php: 184e555bf4c6dac7d59d6a31b70496adac4bd11a2b73000f -/lib/admin_config.php: d5065a17556ef06b39a562124d6af9e374c7cc9063f6d3bd +/lib/constants.php: 0717c7b59df7ad1d3da85a789e29ec6344f58d8b4b6fc891 +/lib/txplib_forms.php: 7640e3665e0a8bc84c1ed7dc33d44eb041f74e459cffb7dd +/lib/txplib_head.php: a63548818b5ab2c1a58629d9f8fe3347655c3d9fc2a4ec01 +/lib/txplib_html.php: 0972b2cd00269424ecffe2de48a3efb0abf5d316490cbc58 +/lib/txplib_admin.php: f50b216685a6cf9743f81bb1ca30a4b03b89c5d81e4802f5 +/lib/class.thumb.php: 1c8c4a1c7fc5bccbd0ff2798e53cc16f55b5429f474274f4 +/lib/txplib_misc.php: 213a87ae90773b76697a1bc2c297e2743766c41a0567a414 +/lib/class.trace.php: 7abf0d49c3bd42bf7b4ea6df5e51619fd7e0d51492336d79 +/lib/admin_config.php: d50476a1a25662bc912aa01b8fdf99e41f8a4e27986dcdd7 /tmp/index.php: 773450db22ed43cfcea2ef0d29c8f75a0109197d0d83e17f -/publish.php: be218f02d92bedfc558e276e841dd1acc527d64ae166d334 -/../css.php: 9ffe76164aec83d428dc75531630a52a2abebfef7c63fdea -/../index.php: 725e7f7377447bef8594c6901c85ad912506f7e22e37aed4 -/../rpc/TXP_RPCServer.php: df487a0339e5a1d619b52b0ee28f819821e8c3e23afb7da6 -/../rpc/index.php: 9c5c0f4d5b917c759c6f860fae37989eca3967b0d76e1d84 \ No newline at end of file +/publish.php: a4b15ffb464df369ea5c3d309685653af890c590ef071724 +/../css.php: 30116e38ea9df3dae4880a9ad20814e16373946cf0a57f6b +/../index.php: e0e2d189266580aaf2d1ec58dcc7c5dff361bd9f9a964df0 +/../rpc/TXP_RPCServer.php: 781b9c66956326941d8a9d5830994dc85a35f33882e54dfb +/../rpc/index.php: 3b5fe476f7014c111eb22354f47ea50ec738893fba8a9cc1 \ No newline at end of file diff --git a/textpattern/include/txp_admin.php b/textpattern/include/txp_admin.php index 4d212e386c..5756b3efb4 100644 --- a/textpattern/include/txp_admin.php +++ b/textpattern/include/txp_admin.php @@ -324,7 +324,7 @@ function author_list($message = '') 'label' => 'privileges', ), 'last_login' => array( - 'column' => 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), last_access)', + 'column' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), last_access)', 'class' => 'date', ), 'article_count' => array( @@ -532,10 +532,7 @@ function author_list($message = '') $headings = array(); $headings[] = ($use_multi_edit) - ? hCell( - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', ' class="txp-list-col-multi-edit" scope="col" title="' . gTxt('toggle_all_selected') . '"' - ) + ? selectAllCheckbox() : hCell('', '', ' class="txp-list-col-multi-edit" scope="col"'); foreach ($fields as $col => $opts) { diff --git a/textpattern/include/txp_article.php b/textpattern/include/txp_article.php index 69eab7d448..a71dc3669e 100644 --- a/textpattern/include/txp_article.php +++ b/textpattern/include/txp_article.php @@ -142,9 +142,9 @@ function article_save($write = true) if ($incoming['ID']) { $oldArticle = safe_row( "Status, AuthorID, url_title, Title, textile_body, textile_excerpt, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS sLastMod, LastModID, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS sPosted, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS sExpires", + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS sLastMod, LastModID, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS sPosted, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS sExpires", 'textpattern', "ID = " . (int) $incoming['ID'] ); @@ -214,7 +214,7 @@ function article_save($write = true) $uPosted = $ts - tz_offset($ts); } - $whenposted = "FROM_UNIXTIME(0) + INTERVAL $uPosted SECOND"; + $whenposted = "COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $uPosted SECOND"; } // Set and validate expiry timestamp. @@ -260,7 +260,7 @@ function article_save($write = true) } if ($uExpires) { - $whenexpires = "FROM_UNIXTIME(0) + INTERVAL $uExpires SECOND"; + $whenexpires = "COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $uExpires SECOND"; } else { $whenexpires = "NULL"; } @@ -688,9 +688,9 @@ function article_edit($message = '', $concurrent = false, $refresh_partials = fa $ID = assert_int($ID); $rs = safe_row( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS sPosted, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS sExpires, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS sLastMod", + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS sPosted, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS sExpires, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS sLastMod", 'textpattern', "ID = $ID" ); @@ -710,7 +710,7 @@ function article_edit($message = '', $concurrent = false, $refresh_partials = fa $store_out = array('ID' => $ID) + psa($vars); if ($concurrent) { - $store_out['sLastMod'] = safe_field("TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS sLastMod", 'textpattern', "ID = $ID"); + $store_out['sLastMod'] = safe_field("TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS sLastMod", 'textpattern', "ID = $ID"); } if (!has_privs('article.set_markup') && !empty($ID)) { @@ -871,7 +871,7 @@ function article_edit($message = '', $concurrent = false, $refresh_partials = fa echo article_preview(); echo n . '';// End of .txp-dialog. - if (has_privs('article.preview')) { + if (can_preview($rs)) { echo ''; } @@ -1188,7 +1188,7 @@ function checkIfNeighbour($whichway, $sPosted, $ID = 0) return safe_field( "ID", 'textpattern', - "(Posted $dir (FROM_UNIXTIME(0) + INTERVAL $sPosted SECOND) OR Posted = (FROM_UNIXTIME(0) + INTERVAL $sPosted SECOND) AND ID $dir $ID) $crit ORDER BY Posted $ord, ID $ord LIMIT 1" + "(Posted $dir (COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $sPosted SECOND) OR Posted = (COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $sPosted SECOND) AND ID $dir $ID) $crit ORDER BY Posted $ord, ID $ord LIMIT 1" ); } @@ -1782,10 +1782,10 @@ function article_partial_article_clone($rs) { extract($rs); - return n . tag('' . sp . gTxt('duplicate'), 'button', array( + return ($ID) ? n . tag('' . sp . gTxt('duplicate'), 'button', array( 'class' => 'txp-clone txp-reduced-ui-button', 'id' => 'article_partial_article_clone', - )); + )) : ''; } /** @@ -1801,7 +1801,7 @@ function article_partial_article_view($rs) $ID = intval($rs['ID']); $live = in_array($rs['Status'], array(STATUS_LIVE, STATUS_STICKY)); - $clean = has_privs('article.preview') ? tag('' . sp . gTxt('preview'), 'button', array( + $clean = can_preview($rs) ? tag('' . sp . gTxt('preview'), 'button', array( 'class' => 'txp-reduced-ui-button', 'id' => 'article_partial_article_preview', 'type' => 'button', @@ -1811,7 +1811,7 @@ function article_partial_article_view($rs) if ($live) { $url = permlinkurl_id($rs['ID']); - } elseif ($clean) { + } elseif (has_privs('article.preview')) { $url = $ID ? hu . '?id=' . $ID . '.' . urlencode(Txp::get('\Textpattern\Security\Token')->csrf($txp_user)) : false; // Article ID plus token. } else { return; @@ -1856,7 +1856,7 @@ function article_partial_excerpt($rs) function article_textarea($rs, $field = 'body', $size = array(INPUT_LARGE, TEXTAREA_HEIGHT_REGULAR)) { - $textarea_options = can_modify($rs) ? n . tag(gTxt('view_preview_short'), 'button', array( + $textarea_options = can_preview($rs) ? n . tag(gTxt('view_preview_short'), 'button', array( 'class' => 'txp-textarea-preview txp-reduced-ui-button', 'data-preview-link' => $field, 'type' => 'button', @@ -1953,7 +1953,7 @@ function article_partial_view_modes($rs) global $view; $out = n . '
' . - (has_privs('article.preview') ? tag(checkbox2('_txp_parse', false, 0, 'parse-preview', 'article_form') . sp . gTxt('tags'), 'label') : '') . + (can_preview($rs) ? tag(checkbox2('_txp_parse', false, 0, 'parse-preview', 'article_form') . sp . gTxt('tags'), 'label') : '') . tag(checkbox2('', true, 0, 'clean-preview') . sp . gTxt('clean_preview'), 'label') . tag(checkbox2('', false, 0, 'live-preview') . sp . gTxt('live_preview'), 'label') . n . '
' . diff --git a/textpattern/include/txp_category.php b/textpattern/include/txp_category.php index 8b8a8dc136..66b10c21cf 100644 --- a/textpattern/include/txp_category.php +++ b/textpattern/include/txp_category.php @@ -574,7 +574,7 @@ function cat_event_category_edit($evname, $message = '') ) . inputLabel( 'category_description', - '', + '', $evname . '_category_description', 'category_description', array('class' => 'txp-form-field txp-form-field-textarea edit-category-description') ) . pluggable_ui('category_ui', 'extend_detail_form', '', $row) . diff --git a/textpattern/include/txp_css.php b/textpattern/include/txp_css.php index 72d8a4342a..134a24f7d3 100644 --- a/textpattern/include/txp_css.php +++ b/textpattern/include/txp_css.php @@ -194,7 +194,7 @@ function css_edit($message = '', $refresh_partials = false) if ($name) { $actionsExtras .= sLink('css', 'pour', '' . sp . gTxt('create_css'), 'txp-new') - . tag('' . sp . gTxt('duplicate'), 'button', array( + . tag('' . sp . gTxt('duplicate'), 'button', array( 'class' => 'txp-clone txp-reduced-ui-button', 'data-form' => 'style_form', )); diff --git a/textpattern/include/txp_diag.php b/textpattern/include/txp_diag.php index 522459d211..db14532035 100644 --- a/textpattern/include/txp_diag.php +++ b/textpattern/include/txp_diag.php @@ -194,7 +194,6 @@ function doDiagnostics() $real_doc_root = (isset($_SERVER['DOCUMENT_ROOT'])) ? realpath($_SERVER['DOCUMENT_ROOT']) : ''; $preflight = $notReadable = array(); - $now = time(); $heading = gTxt('tab_diagnostics'); $isUpdate = defined('TXP_UPDATE_DONE'); @@ -205,7 +204,7 @@ function doDiagnostics() // Check for Textpattern updates, at most once every hour. $lastCheck = json_decode(get_pref('last_update_check', ''), true); - if (empty($lastCheck) || $now > ($lastCheck['when'] + (60 * 60))) { + if (empty($lastCheck) || time() > ($lastCheck['when'] + (60 * 60))) { $lastCheck = checkUpdates(); } @@ -501,8 +500,8 @@ function doDiagnostics() } // Database server time. - extract(doSpecial(getRow("SELECT @@global.time_zone AS db_global_timezone, @@session.time_zone AS db_session_timezone, NOW() AS db_server_time, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), NOW()) AS db_server_timestamp"))); - $db_server_timeoffset = $db_server_timestamp - $now; + extract(doSpecial(getRow("SELECT @@global.time_zone AS db_global_timezone, @@session.time_zone AS db_session_timezone, NOW() AS db_server_time, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), NOW()) AS db_server_timestamp"))); + $db_server_timeoffset = $db_server_timestamp - time(); echo pagetop(gTxt('tab_diagnostics'), ''); @@ -646,7 +645,9 @@ function doDiagnostics() ) . inputLabel( 'diag_clear_private', - checkbox('diag_clear_private', 1, false, 0, 'diag_clear_private'), + checkbox('diag_clear_private', 1, false, 0, 'diag_clear_private').' + + ', 'diag_clear_private', 'diag_clear_private', array('class' => 'txp-form-field'), '' ) diff --git a/textpattern/include/txp_discuss.php b/textpattern/include/txp_discuss.php index 23e74c350e..1a2e63d7cd 100644 --- a/textpattern/include/txp_discuss.php +++ b/textpattern/include/txp_discuss.php @@ -290,7 +290,7 @@ function discuss_list($message = '') txp_discuss.web, txp_discuss.message, txp_discuss.visible, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), txp_discuss.posted) AS posted, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), txp_discuss.posted) AS posted, textpattern.ID AS thisid, textpattern.Section AS section, textpattern.url_title, @@ -298,7 +298,7 @@ function discuss_list($message = '') textpattern.Category1 AS category1, textpattern.Category2 AS category2, textpattern.Status, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), textpattern.Posted) AS uPosted, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), textpattern.Posted) AS uPosted, (SELECT COUNT(*) FROM " . safe_pfx('txp_discuss') . " AS count WHERE $spamcrit AND txp_discuss.parentid = count.parentid) AS c FROM " . safe_pfx_j('txp_discuss') . " LEFT JOIN " . safe_pfx_j('textpattern') . " ON txp_discuss.parentid = textpattern.ID @@ -321,11 +321,7 @@ function discuss_list($message = '') n . tag_start('table', array('class' => 'txp-list')) . n . tag_start('thead') . tr( - hCell( - ''. - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', ' class="txp-list-col-multi-edit" scope="col"' - ) . + selectAllCheckbox() . column_head( 'ID', 'id', 'discuss', true, $switch_dir, $crit, $search_method, (('id' == $sort) ? "$dir " : '') . 'txp-list-col-id' @@ -492,7 +488,7 @@ function discuss_edit() $discussid = assert_int($discussid); - $rs = safe_row("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), posted) AS uPosted", 'txp_discuss', "discussid = '$discussid'"); + $rs = safe_row("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), posted) AS uPosted", 'txp_discuss', "discussid = '$discussid'"); if ($rs) { extract($rs); diff --git a/textpattern/include/txp_file.php b/textpattern/include/txp_file.php index 8572944ece..c0788edecf 100644 --- a/textpattern/include/txp_file.php +++ b/textpattern/include/txp_file.php @@ -278,8 +278,8 @@ function file_list($message = '', $ids = array()) txp_file.title, txp_file.category, txp_file.description, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), txp_file.created) AS uDate, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), txp_file.modified) AS mDate, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), txp_file.created) AS uDate, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), txp_file.modified) AS mDate, txp_file.downloads, txp_file.status, txp_file.author, @@ -307,11 +307,7 @@ function file_list($message = '', $ids = array()) n . tag_start('table', array('class' => 'txp-list')) . n . tag_start('thead') . tr( - hCell( - ''. - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', ' class="txp-list-col-multi-edit" scope="col"' - ) . + selectAllCheckbox() . column_head( 'ID', 'id', 'file', true, $switch_dir, $crit, $search_method, (('id' == $sort) ? "$dir " : '') . 'txp-list-col-id' @@ -676,7 +672,7 @@ function file_edit($message = '', $id = '') } $id = assert_int($id); - $rs = safe_row("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), created) AS created, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), modified) AS modified", 'txp_file', "id = '$id'"); + $rs = safe_row("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), created) AS created, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), modified) AS modified", 'txp_file', "id = '$id'"); if ($rs) { extract($rs); @@ -1242,7 +1238,7 @@ function file_save() $created = "NOW()"; } else { $created_ts = safe_strtotime($year . '-' . $month . '-' . $day . ' ' . $hour . ':' . $minute . ':' . $second); - $created = $created_ts === false ? false : "FROM_UNIXTIME(0) + INTERVAL $created_ts SECOND"; + $created = $created_ts === false ? false : "COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $created_ts SECOND"; } $size = file_exists($new_path) ? filesize($new_path) : $rs['size']; diff --git a/textpattern/include/txp_form.php b/textpattern/include/txp_form.php index 1013c99f09..0ecce9b6dd 100644 --- a/textpattern/include/txp_form.php +++ b/textpattern/include/txp_form.php @@ -334,7 +334,7 @@ function form_edit($message = '', $refresh_partials = false) if ($name) { $actionsExtras .= sLink('form', 'form_create', '' . sp . gTxt('create_form'), 'txp-new') - . tag('' . sp . gTxt('duplicate'), 'button', array( + . tag('' . sp . gTxt('duplicate'), 'button', array( 'class' => 'txp-clone txp-reduced-ui-button', 'data-form' => 'form_form', )); diff --git a/textpattern/include/txp_image.php b/textpattern/include/txp_image.php index 5839885840..3f162034f4 100644 --- a/textpattern/include/txp_image.php +++ b/textpattern/include/txp_image.php @@ -99,7 +99,7 @@ function image_list($message = '') 'class' => 'name', ), 'uDate' => array( - 'column' => 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), txp_image.date)', + 'column' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), txp_image.date)', 'label' => 'date', 'class' => 'date', ), @@ -370,11 +370,7 @@ function image_list($message = '') n . tag_start('thead'); $headings = array(); - $headings[] = hCell( - ''. - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', ' class="txp-list-col-multi-edit" scope="col"' - ); + $headings[] = selectAllCheckbox(); foreach ($fields as $col => $opts) { if (isset($opts['visible']) && empty($opts['visible'])) { @@ -437,13 +433,13 @@ function image_list($message = '') $thumb_w = $thumbnail == THUMB_AUTO ? $payload['w'] : $thumb_w; $thumb_h = $thumbnail == THUMB_AUTO ? $payload['h'] : $thumb_h; - if ($ext != '.swf') { + if ($ext != '.swf' && $thumbnail) { $altinfo = !empty($alt) ? txpspecialchars($alt) : $id . $ext; - $thumbnail = '' . $altinfo . ''; + $thumbout = '' . $altinfo . ''; $thumbexists = 1; } else { - $thumbnail = ''; - $thumbexists = ''; + $thumbout = gTxt('no'); + $thumbexists = 0; } if ($ext != '.swf') { @@ -501,8 +497,8 @@ function image_list($message = '') ) . td( pluggable_ui('image_ui', 'thumbnail', ($can_edit - ? href($thumbnail, $edit_url, array('title' => gTxt('edit'))) - : $thumbnail), $a), '', 'txp-list-col-thumbnail' . ($thumbexists ? ' has-thumbnail' : '') + ? href($thumbout, $edit_url, array('title' => gTxt('edit'))) + : $thumbout), $a), '', 'txp-list-col-thumbnail txp-contain' . ($thumbexists ? ' has-thumbnail' : '') ) . (has_privs('tag') ? td($tagbuilder, '', 'txp-list-col-tag-build') @@ -691,7 +687,7 @@ function image_edit($message = '', $id = '') } $id = assert_int($id); - $rs = safe_row("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), date) AS uDate", 'txp_image', "id = '$id'"); + $rs = safe_row("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), date) AS uDate", 'txp_image', "id = '$id'"); if ($rs) { extract($rs); @@ -736,9 +732,9 @@ function image_edit($message = '', $id = '') if ($thumbnail && $canThumb) { $thumb_info = $id . ($thumbnail == THUMB_CUSTOM ? 't' : '') . $ext; - $thumb = '' . $thumb_info . ''; + $thumbout = '' . $thumb_info . ''; } else { - $thumb = ''; + $thumbout = ''; if ($thumb_w == 0) { $thumb_w = get_pref('thumb_w', 0); @@ -837,10 +833,10 @@ function image_edit($message = '', $id = '') 'thumbnail_image', '
' . (($thumbnail) - ? $thumb . n . ($can_upload + ? $thumbout . n . ($can_upload ? dLink('image', 'thumbnail_delete', 'id', $id, '', '', '', '', array($page, $sort, $dir, $crit, $search_method)) : '') - : gTxt('none')) . + : '') . '
', $rs ); @@ -1103,8 +1099,6 @@ function image_replace() } } -// $img_result = image_data($_FILES['thefile'], $meta, $id); - if (is_array($img_result)) { list($message, $id) = $img_result; @@ -1234,8 +1228,7 @@ function image_save() $created = 'NOW()'; } else { $created_ts = safe_strtotime($year . '-' . $month . '-' . $day . ' ' . $hour . ':' . $minute . ':' . $second); - $created_ts -= tz_offset($created_ts); - $created = "FROM_UNIXTIME(0) + INTERVAL $created_ts SECOND"; + $created = $created_ts === false ? false : "COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $created_ts SECOND"; } $constraints = array('category' => new CategoryConstraint(gps('category'), array('type' => 'image'))); @@ -1312,9 +1305,7 @@ function image_delete($ids = array()) $ul = unlink(realpath(IMPATH . $id . $ext)); } - if (is_file(IMPATH . $id . 't' . $ext)) { - $ult = unlink(realpath(IMPATH . $id . 't' . $ext)); - } + deleteThumbnails($id); if (!$rsd or !$ul) { $fail[] = $id; @@ -1424,11 +1415,10 @@ function thumbnail_delete() return; } - $rs = safe_row("id, ext", 'txp_image', "id = $id"); + $rs = safe_row("id, ext, thumbnail", 'txp_image', "id = $id"); - $t = new txp_thumb($id); + deleteThumbnails($id, $rs['thumbnail']); - $t->delete(); safe_update('txp_image', 'thumbnail = 0', "id = $id"); update_lastmod('thumbnail_deleted', compact('id')); callback_event('thumbnail_deleted', '', false, $id); diff --git a/textpattern/include/txp_link.php b/textpattern/include/txp_link.php index df36d5d509..6347d8ba97 100644 --- a/textpattern/include/txp_link.php +++ b/textpattern/include/txp_link.php @@ -227,7 +227,7 @@ function link_list($message = '') $rs = safe_query( "SELECT txp_link.id, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), txp_link.date) AS uDate, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), txp_link.date) AS uDate, txp_link.category, txp_link.url, txp_link.linkname, @@ -256,11 +256,7 @@ function link_list($message = '') n . tag_start('table', array('class' => 'txp-list')) . n . tag_start('thead') . tr( - hCell( - ''. - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', ' class="txp-list-col-multi-edit" scope="col"' - ) . + selectAllCheckbox() . column_head( 'ID', 'id', 'link', true, $switch_dir, $crit, $search_method, (('id' == $sort) ? "$dir " : '') . 'txp-list-col-id' @@ -394,7 +390,7 @@ function link_edit($message = '') if ($is_edit) { $id = assert_int($id); - $rs = safe_row("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), date) AS date", 'txp_link', "id = '$id'"); + $rs = safe_row("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), date) AS date", 'txp_link', "id = '$id'"); if ($rs) { extract($rs); @@ -480,12 +476,16 @@ function link_edit($message = '') ) . pluggable_ui('link_ui', 'extend_detail_form', '', $rs) . graf( - tag( - '' . sp . gTxt('duplicate'), 'button', - array( - 'class' => 'txp-clone txp-reduced-ui-button', - 'data-form' => 'link_details', + ($is_edit + ? tag( + '' . sp . gTxt('duplicate'), 'button', + array( + 'class' => 'txp-clone txp-reduced-ui-button', + 'data-form' => 'link_details', + 'type' => 'button', + ) ) + : '' ) . sLink('link', '', gTxt('cancel'), 'txp-button') . fInput('submit', '', gTxt('save'), 'publish'), @@ -542,7 +542,7 @@ function link_save() $created = "NOW()"; if (!$publish_now && $created_ts !== false) { - $created = "FROM_UNIXTIME(0) + INTERVAL $created_ts SECOND"; + $created = "COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $created_ts SECOND"; } $constraints = array( diff --git a/textpattern/include/txp_list.php b/textpattern/include/txp_list.php index eaedda707e..c01496cc82 100644 --- a/textpattern/include/txp_list.php +++ b/textpattern/include/txp_list.php @@ -102,17 +102,17 @@ function list_list($message = '', $post = '') 'class' => 'title', ), 'posted' => array( - 'column' => 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted)', + 'column' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted)', 'label' => 'posted', 'class' => 'posted date', ), 'lastmod' => array( - 'column' => 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod)', + 'column' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod)', 'label' => 'modified', 'class' => 'lastmod date', ), 'expires' => array( - 'column' => 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires)', + 'column' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires)', 'label' => 'expires', 'class' => 'expires date', ), @@ -349,11 +349,7 @@ function list_list($message = '', $post = '') ); $headings = array(); - $headings[] = hCell( - ''. - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', 'class="txp-list-col-multi-edit" scope="col"' - ) . column_head(array( + $headings[] = selectAllCheckbox() . column_head(array( 'options' => array('class' => trim('txp-list-col-id' . ('id' == $sort ? " $dir" : ''))), 'value' => 'ID', 'sort' => 'id' @@ -763,12 +759,7 @@ function list_multi_edit() } foreach ($selected as $item) { - if ( - ($item['Status'] >= STATUS_LIVE && has_privs('article.edit.published')) || - ($item['Status'] >= STATUS_LIVE && $item['AuthorID'] === $txp_user && has_privs('article.edit.own.published')) || - ($item['Status'] < STATUS_LIVE && has_privs('article.edit')) || - ($item['Status'] < STATUS_LIVE && $item['AuthorID'] === $txp_user && has_privs('article.edit.own')) - ) { + if (can_modify($item)) { $allowed[] = $item['ID']; } } diff --git a/textpattern/include/txp_lore.php b/textpattern/include/txp_lore.php index c059137095..6bb1add247 100644 --- a/textpattern/include/txp_lore.php +++ b/textpattern/include/txp_lore.php @@ -174,7 +174,7 @@ function lore_list($message = '') ); } else { $rs = safe_rows_start( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), time) AS uTime", + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), time) AS uTime", 'txp_log', "$criteria ORDER BY $sort_sql LIMIT $offset, $limit" ); @@ -195,11 +195,7 @@ function lore_list($message = '') n . tag_start('table', array('class' => 'txp-list')) . n . tag_start('thead') . tr( - hCell( - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', - ' class="txp-list-col-multi-edit" scope="col" title="' . gTxt('toggle_all_selected') . '"' - ) . + selectAllCheckbox() . column_head( 'time', 'time', diff --git a/textpattern/include/txp_page.php b/textpattern/include/txp_page.php index 9a66fa108b..58974534c5 100644 --- a/textpattern/include/txp_page.php +++ b/textpattern/include/txp_page.php @@ -160,7 +160,7 @@ function page_edit($message = '', $refresh_partials = false) if ($name) { $actionsExtras .= sLink('page', 'page_new', '' . sp . gTxt('create_page'), 'txp-new') . tag( - '' . sp . gTxt('duplicate'), 'button', + '' . sp . gTxt('duplicate'), 'button', array( 'class' => 'txp-clone txp-reduced-ui-button', 'data-form' => 'page_form', diff --git a/textpattern/include/txp_plugin.php b/textpattern/include/txp_plugin.php index 4177e95b2a..0082a809b3 100644 --- a/textpattern/include/txp_plugin.php +++ b/textpattern/include/txp_plugin.php @@ -224,10 +224,7 @@ function plugin_list($message = '') n . tag_start('table', array('class' => 'txp-list')) . n . tag_start('thead') . tr( - hCell( - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', ' class="txp-list-col-multi-edit" scope="col" title="' . gTxt('toggle_all_selected') . '"' - ) . + selectAllCheckbox() . column_head( 'plugin', 'name', 'plugin', true, $switch_dir, '', '', (('name' == $sort) ? "$dir " : '') . 'txp-list-col-name' diff --git a/textpattern/include/txp_section.php b/textpattern/include/txp_section.php index c10c8ce95c..caaffd19e4 100644 --- a/textpattern/include/txp_section.php +++ b/textpattern/include/txp_section.php @@ -254,10 +254,7 @@ function sec_section_list($message = '', $update = false) )) . n . tag_start('table', array('class' => 'txp-list')) . n . tag_start('thead'); - $thead = hCell( - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', ' class="txp-list-col-multi-edit" scope="col" title="' . gTxt('toggle_all_selected') . '"' - ); + $thead = selectAllCheckbox(); foreach ($columns as $column => $label) { $thead .= column_head( @@ -570,7 +567,7 @@ function section_edit() $out[] = inputLabel( 'section_description', - '', + '', 'description', 'section_description', array('class' => 'txp-form-field txp-form-field-textarea edit-section-description') ); diff --git a/textpattern/lang/ceb_pophelp.xml b/textpattern/lang/ceb_pophelp.xml index f262a7e0a9..c6d9ee6c59 100644 --- a/textpattern/lang/ceb_pophelp.xml +++ b/textpattern/lang/ceb_pophelp.xml @@ -1068,7 +1068,7 @@ If a form template needs processing (if it contains Textpattern tags), you must ]]> Default nga seksyon sa pagmantala -

Kini nga opsyon nagdumala kon asa nga seksyon ang pre-selected sa Section menu sa dihang naghimo og bag-ong artikulo sa ‘Write’ panel.

+

Kini nga opsyon nagdumala kon asa nga seksyon ang preselected sa Section menu sa dihang naghimo og bag-ong artikulo sa ‘Write’ panel.

Kon kadaghanan sa imong mga artikulo mahuman nga sakop sa piho nga seksyon, pili-a kini gikan sa lista dinhi. Ang mga kausaban makita dayon.

Mahimo nimong i-override kini sa matag artikulo sa ‘Write’ panel pinaagi sa pagpili og lain nga seksyon sa ‘Sort and display’ nga pane.

]]>
diff --git a/textpattern/lang/en-gb.ini b/textpattern/lang/en-gb.ini index 207bb0ff45..754322dcb8 100644 --- a/textpattern/lang/en-gb.ini +++ b/textpattern/lang/en-gb.ini @@ -310,7 +310,9 @@ comments_expired="Commenting has expired for this article." confirm_delete_popup="Really delete?" contact="Contact" cookies_must_be_enabled="Browser cookies must be enabled to use Textpattern." +copied="Copied" copy="Copy" +copy_to_clipboard="Copy to clipboard" could_not_log_in="Could not log in with that username/password." create="Create" css="Style" diff --git a/textpattern/lang/en-gb_pophelp.xml b/textpattern/lang/en-gb_pophelp.xml index cfb8f54b0a..66d050a6b9 100644 --- a/textpattern/lang/en-gb_pophelp.xml +++ b/textpattern/lang/en-gb_pophelp.xml @@ -149,7 +149,7 @@
  • Live: typically viewable outside the Textpattern administration area (i.e. visible on the website, syndicated in feeds if the preference permits). If an article is live and has an expiration date, the status will remain Live after that date has been reached, but the article only appears outside the administration area if expired articles are permitted to be published.
  • Sticky: similar to a Live article insofar as it can be viewed by website visitors, but will not appear in article lists unless the respective article or article_custom tag includes a status attribute with a sticky value.
  • -

    Note: content that is not publicly viewable on the website may still be previewd by logged-in users.

    +

    Note: content that is not publicly viewable on the website may still be previewed by logged-in users.

    ]]> Title @@ -1068,7 +1068,7 @@ If a form template needs processing (if it contains Textpattern tags), you must ]]> Default publishing section -

    This option governs which section will be pre-selected in the Section menu when creating a new article on the ‘Write’ panel.

    +

    This option governs which section will be preselected in the Section menu when creating a new article on the ‘Write’ panel.

    If most of your articles end up belonging to a particular section, select it from the list here. Changes will be reflected immediately.

    You can override this on a per-article basis in the ‘Write’ panel by selecting a different section in the ‘Sort and display’ pane.

    ]]>
    diff --git a/textpattern/lang/en-us.ini b/textpattern/lang/en-us.ini index 084eced0c0..b9cc9009b9 100644 --- a/textpattern/lang/en-us.ini +++ b/textpattern/lang/en-us.ini @@ -310,7 +310,9 @@ comments_expired="Commenting has expired for this article." confirm_delete_popup="Really delete?" contact="Contact" cookies_must_be_enabled="Browser cookies must be enabled to use Textpattern." +copied="Copied" copy="Copy" +copy_to_clipboard="Copy to clipboard" could_not_log_in="Could not log in with that username/password." create="Create" css="Style" diff --git a/textpattern/lang/en-us_pophelp.xml b/textpattern/lang/en-us_pophelp.xml index 4cf3d48f0a..527717e944 100644 --- a/textpattern/lang/en-us_pophelp.xml +++ b/textpattern/lang/en-us_pophelp.xml @@ -149,7 +149,7 @@
  • Live: typically viewable outside the Textpattern administration area (i.e. visible on the website, syndicated in feeds if the preference permits). If an article is live and has an expiration date, the status will remain Live after that date has been reached, but the article only appears outside the administration area if expired articles are permitted to be published.
  • Sticky: similar to a Live article insofar as it can be viewed by website visitors, but will not appear in article lists unless the respective article or article_custom tag includes a status attribute with a sticky value.
  • -

    Note: content that is not publicly viewable on the website may still be previewd by logged-in users.

    +

    Note: content that is not publicly viewable on the website may still be previewed by logged-in users.

    ]]> Title @@ -1068,7 +1068,7 @@ If a form template needs processing (if it contains Textpattern tags), you must ]]> Default publishing section -

    This option governs which section will be pre-selected in the Section menu when creating a new article on the ‘Write’ panel.

    +

    This option governs which section will be preselected in the Section menu when creating a new article on the ‘Write’ panel.

    If most of your articles end up belonging to a particular section, select it from the list here. Changes will be reflected immediately.

    You can override this on a per-article basis in the ‘Write’ panel by selecting a different section in the ‘Sort and display’ pane.

    ]]>
    diff --git a/textpattern/lang/en.ini b/textpattern/lang/en.ini index 8ac0116379..45f9992030 100644 --- a/textpattern/lang/en.ini +++ b/textpattern/lang/en.ini @@ -310,7 +310,9 @@ comments_expired="Commenting has expired for this article." confirm_delete_popup="Really delete?" contact="Contact" cookies_must_be_enabled="Browser cookies must be enabled to use Textpattern." +copied="Copied" copy="Copy" +copy_to_clipboard="Copy to clipboard" could_not_log_in="Could not log in with that username/password." create="Create" css="Style" diff --git a/textpattern/lang/en_pophelp.xml b/textpattern/lang/en_pophelp.xml index 1aa31832ee..68389caabd 100644 --- a/textpattern/lang/en_pophelp.xml +++ b/textpattern/lang/en_pophelp.xml @@ -149,7 +149,7 @@
  • Live: typically viewable outside the Textpattern administration area (i.e. visible on the website, syndicated in feeds if the preference permits). If an article is live and has an expiration date, the status will remain Live after that date has been reached, but the article only appears outside the administration area if expired articles are permitted to be published.
  • Sticky: similar to a Live article insofar as it can be viewed by website visitors, but will not appear in article lists unless the respective article or article_custom tag includes a status attribute with a sticky value.
  • -

    Note: content that is not publicly viewable on the website may still be previewd by logged-in users.

    +

    Note: content that is not publicly viewable on the website may still be previewed by logged-in users.

    ]]> Title @@ -1068,7 +1068,7 @@ If a form template needs processing (if it contains Textpattern tags), you must ]]> Default publishing section -

    This option governs which section will be pre-selected in the Section menu when creating a new article on the ‘Write’ panel.

    +

    This option governs which section will be preselected in the Section menu when creating a new article on the ‘Write’ panel.

    If most of your articles end up belonging to a particular section, select it from the list here. Changes will be reflected immediately.

    You can override this on a per-article basis in the ‘Write’ panel by selecting a different section in the ‘Sort and display’ pane.

    ]]>
    diff --git a/textpattern/lang/fil_pophelp.xml b/textpattern/lang/fil_pophelp.xml index 88a0deb388..43066c0c47 100644 --- a/textpattern/lang/fil_pophelp.xml +++ b/textpattern/lang/fil_pophelp.xml @@ -1068,7 +1068,7 @@ If a form template needs processing (if it contains Textpattern tags), you must ]]> Default na bahagi ng paglathala -

    Pinamamahalaan ng opsyong ito kung aling seksyon ang magiging pre-selected sa Section menu kapag gumagawa ng bagong artikulo sa ‘Write’ panel.

    +

    Pinamamahalaan ng opsyong ito kung aling seksyon ang magiging preselected sa Section menu kapag gumagawa ng bagong artikulo sa ‘Write’ panel.

    Kung karamihan ng iyong mga artikulo ay napupunta sa isang partikular na seksyon, piliin ito mula sa listahan dito. Mismong agad na makikita ang mga pagbabago.

    Maaari mong patungan ito batay sa bawat artikulo sa ‘Write’ panel sa pamamagitan ng pagpili ng ibang seksyon sa ‘Sort and display’ pane.

    ]]>
    diff --git a/textpattern/lang/tl_pophelp.xml b/textpattern/lang/tl_pophelp.xml index 74528b5e5e..5d31b94957 100644 --- a/textpattern/lang/tl_pophelp.xml +++ b/textpattern/lang/tl_pophelp.xml @@ -1068,7 +1068,7 @@ If a form template needs processing (if it contains Textpattern tags), you must ]]> Seksyon ng default na paglathala -

    Pinamamahalaan ng opsyong ito kung aling seksyon ang pre-selected sa Section menu kapag lumilikha ng bagong artikulo sa panel na ‘Write’.

    +

    Pinamamahalaan ng opsyong ito kung aling seksyon ang preselected sa Section menu kapag lumilikha ng bagong artikulo sa panel na ‘Write’.

    Kung karamihan sa iyong mga artikulo ay napupunta sa partikular na seksyon, piliin ito mula sa listahan dito. Agad na makikita ang mga pagbabago.

    Maaari mo itong i-override sa batayan ng bawat artikulo sa panel na ‘Write’ sa pamamagitan ng pagpili ng ibang seksyon sa pane na ‘Sort and display’.

    ]]>
    diff --git a/textpattern/lang/ur_pophelp.xml b/textpattern/lang/ur_pophelp.xml index 99b3e97155..28ac3f61c1 100644 --- a/textpattern/lang/ur_pophelp.xml +++ b/textpattern/lang/ur_pophelp.xml @@ -1068,7 +1068,7 @@ If a form template needs processing (if it contains Textpattern tags), you must ]]> طے شدہ اشاعتی سیکشن -

    یہ آپشن اس سیکشن کو کنٹرول کرتا ہے جو ‘رائٹ’ پینل پر نیا مضمون بناتے وقت سیکشن مینو میں بطورِ پیشگی منتخب (pre-selected) ظاہر ہو گا۔

    +

    یہ آپشن اس سیکشن کو کنٹرول کرتا ہے جو ‘رائٹ’ پینل پر نیا مضمون بناتے وقت سیکشن مینو میں بطورِ پیشگی منتخب (preselected) ظاہر ہو گا۔

    اگر آپ کے زیادہ تر مضامین کسی خاص سیکشن سے تعلق رکھتے ہیں تو یہاں فہرست میں سے اسے منتخب کریں۔ تبدیلیاں فوراً مؤثر ہوں گی۔

    آپ ‘رائٹ’ پینل کے ‘Sort and display’ پین میں مختلف سیکشن منتخب کر کے ہر مضمون کی بنیاد پر اسے اوور رائیڈ کر سکتے ہیں۔

    ]]>
    diff --git a/textpattern/lib/constants.php b/textpattern/lib/constants.php index 2291dc7d75..c7d1d51e94 100644 --- a/textpattern/lib/constants.php +++ b/textpattern/lib/constants.php @@ -857,7 +857,7 @@ /** * Return integrity hashes using the current CHECKSUM_ALGORITHM. * - * Replaces INTEGRITY_MD5 (and has the same value so can be used interchangably). + * Replaces INTEGRITY_MD5 (and has the same value so can be used interchangeably). * * @since 4.9.0 * @package Debug @@ -1077,6 +1077,20 @@ 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'source', 'track', 'wbr' ); +if (!defined('TEXTPATTERN_THUMB_MEMORY_MB')) { + /** + * Thumbnail image generation memory limit (in MB) + * + * You shouldn't need to mess with this, but if you have larger images that fail to + * create thumbs, you can override the limit up to the maximum installed memory on + * the server. Be careful not to set it too high or your server can lock up. + * + * @since 4.9.1 + * @package Image + */ + define('TEXTPATTERN_THUMB_MEMORY_MB', 128); +} + if (!defined('TEXTPATTERN_THUMB_TTL')) { /** * Thumbnail time-to-live value for cache headers (Cache-control max-age/Expires) diff --git a/textpattern/lib/txplib_admin.php b/textpattern/lib/txplib_admin.php index d91cd1692f..8df3cf114d 100644 --- a/textpattern/lib/txplib_admin.php +++ b/textpattern/lib/txplib_admin.php @@ -444,6 +444,9 @@ function image_data($file, $meta = array(), $id = 0, $uploaded = true) if (!$rs) { return gTxt('image_save_error'); } + + // Invalidate (delete) any old thumbnails. + deleteThumbnails($id); } chmod($newpath, 0644); diff --git a/textpattern/lib/txplib_db.php b/textpattern/lib/txplib_db.php index 0cefd8cf8d..b5b2731835 100644 --- a/textpattern/lib/txplib_db.php +++ b/textpattern/lib/txplib_db.php @@ -1942,12 +1942,12 @@ function now($type, $update = false) if ($time > $now or $update) { $table = ($type === 'date') ? 'txp_link' : (($type === 'created') ? 'txp_file' : 'textpattern'); $where = '1=1 having utime > '.$time.' order by utime asc limit 1'; - $now = safe_field('TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), '.$type.') as utime', $table, $where); + $now = safe_field('TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), '.$type.') as utime', $table, $where); $now = ($now === false) ? 2147483647 : intval($now) - 1; update_pref($pref, $now); $nows[$type] = $now; } } - return "(FROM_UNIXTIME(0) + INTERVAL $now SECOND)"; + return "(COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $now SECOND)"; } diff --git a/textpattern/lib/txplib_forms.php b/textpattern/lib/txplib_forms.php index 77b2fb2613..54100ef563 100644 --- a/textpattern/lib/txplib_forms.php +++ b/textpattern/lib/txplib_forms.php @@ -171,8 +171,8 @@ function selectInput($name = '', $array = array(), $value = '', $blank_first = f $out[] = $atts ? ''.txpspecialchars($alabel).'' : '
    '; } - if (TXPINTERFACE === 'admin' && $selected < count($value)) { - foreach (array_diff($value, $array) as $v) { + if (txpinterface === 'admin' && $selected < count($value)) { + foreach (array_diff($value, array_keys($array)) as $v) { $atts = join_atts(array('value' => $v, 'dir' => 'auto', 'selected' => true, 'disabled' => true), TEXTPATTERN_STRIP_NONE); $out[] = ''.txpspecialchars(gTxt('invalid_argument')).''; } diff --git a/textpattern/lib/txplib_head.php b/textpattern/lib/txplib_head.php index ed5f1dfdd3..a3682c3811 100644 --- a/textpattern/lib/txplib_head.php +++ b/textpattern/lib/txplib_head.php @@ -96,6 +96,7 @@ function pagetop($pagetitle = '', $message = '') 'are_you_sure', 'close', 'confirm_delete_popup', + 'copied', 'cookies_must_be_enabled', 'custom_field_clash', 'documentation', @@ -128,6 +129,7 @@ function pagetop($pagetitle = '', $message = '') <?php echo admin_title($pagetitle)?>setSource('textpattern.css'). Txp::get('\Textpattern\UI\Script')->setSource('vendors/jquery/jquery/jquery.js'). +Txp::get('\Textpattern\UI\Script')->setSource('vendors/jquery/jquery-migrate/jquery-migrate.min.js'). Txp::get('\Textpattern\UI\Script')->setSource('vendors/jquery/jquery-ui/jquery-ui.js'). Txp::get('\Textpattern\UI\Script')->setSource('vendors/blueimp/fileupload/jquery.fileupload.js') ->setRoute('file, image'). diff --git a/textpattern/lib/txplib_html.php b/textpattern/lib/txplib_html.php index ae0f333df2..3bea7f5508 100644 --- a/textpattern/lib/txplib_html.php +++ b/textpattern/lib/txplib_html.php @@ -1217,6 +1217,20 @@ function category_popup($name, $val, $id) return false; } +/** + * Renders a 'Select All' checkbox. + * + * @return string HTML + */ + +function selectAllCheckbox() +{ + return hCell( + fInput('checkbox', array('name' => 'select_all', 'id' => 'select_all', 'aria-label' => gTxt('toggle_all_selected')), 0), + '', ' class="txp-list-col-multi-edit" scope="col"' + ); +} + /** * Renders the ubiquitous popup help button. diff --git a/textpattern/lib/txplib_misc.php b/textpattern/lib/txplib_misc.php index f0b902ed8d..6941e0bf3a 100644 --- a/textpattern/lib/txplib_misc.php +++ b/textpattern/lib/txplib_misc.php @@ -623,12 +623,12 @@ function the_privileged($res, $real = false) /** * Check whether a user can modify the article. - * + * * Probably more suitable for Validator class? * * @param array $rs The article data * @param string $user The user name - * @return bool + * @return bool * @since 4.9.0 * @package User */ @@ -637,10 +637,25 @@ function can_modify($rs, $user = null) { global $txp_user; isset($user) or $user = $txp_user; - return ($rs['Status'] >= STATUS_LIVE && has_privs('article.edit.published')) || - ($rs['Status'] >= STATUS_LIVE && $rs['AuthorID'] === $txp_user && has_privs('article.edit.own.published')) || - ($rs['Status'] < STATUS_LIVE && has_privs('article.edit')) || - (empty($rs['ID']) || ($rs['Status'] < STATUS_LIVE && $rs['AuthorID'] === $txp_user) && has_privs('article.edit.own')); + $published = $rs['Status'] >= STATUS_LIVE ? '.published' : ''; + + return has_privs('article.edit'.$published, $user) || + $rs['AuthorID'] === $user && has_privs('article.edit.own'.$published, $user); +} + +/** + * Check whether a user can preview the article. + * + * @param array $rs The article data + * @param string $user The user name + * @return bool + * @since 4.9.1 + * @package User + */ + +function can_preview($rs, $user = null) { + return has_privs('article.preview', $user) && + (empty($rs['ID']) || can_modify($rs, $user)); } /** @@ -763,6 +778,7 @@ function imageFetchInfo($id = "", $name = "") } elseif (preg_match('/^\d+$/', trim($id))) { $where = 'id = '.intval($id).' LIMIT 1'; } else { + // $id might be a direct URL. if (!isset($fields)) { $fields = array( 'id' => NULL, @@ -869,6 +885,7 @@ function image_format_info($image) } $image['mime'] = ($mime = array_search($image['ext'], $mimetypes)) !== false ? txp_image_type_to_mime_type($mime) : ''; + $image['aspect'] = $image['w'] == $image['h'] ? 'square' : ($image['w'] > $image['h'] ? 'landscape' : 'portrait'); /* $cfs = Txp::get('\Textpattern\Meta\FieldSet', 2) ->filterCollectionAt($unix_ts ? $unix_ts : $txpnow); @@ -2409,44 +2426,31 @@ function txpMail($to_address, $subject, $body, $reply_to = null, $from = null) { global $txp_user; - if (!$from) { - // Send the email as the currently logged in user. - if ($txp_user) { - $sender = safe_row( - "RealName, email", - 'txp_users', - "name = '".doSlash($txp_user)."'" - ); - - if ($sender && is_valid_email(get_pref('publisher_email'))) { - $sender['email'] = get_pref('publisher_email'); - } - } - // If not logged in, the receiver is the sender. - else { - $sender = safe_row( - "RealName, email", - 'txp_users', - "email = '".doSlash($to_address)."'" - ); - } - } else { + if ($from) { // Send the email from an email address specified in $from $sender['email'] = is_array($from) ? $from[0] : $from; - // Fallback if invalid - if (!is_valid_email($sender['email'])) { - $sender['email'] = get_pref('publisher_email'); - } - // Use sender name from the $from array if specified if (is_array($from) && isset($from[1])) { $sender['RealName'] = $from[1]; - } else { - $sender['RealName'] = get_pref('sitename'); } } + // Fallback to site name if sender name is missing + if (!isset($sender['RealName'])) { + $sender['RealName'] = get_pref("sitename"); + } + + // Use publisher_email if sender email is missing / $from email is invalid + if (!isset($sender['email']) || !is_valid_email($sender['email'])) { + $sender['email'] = get_pref('publisher_email'); + } + + // Hard-coded fallback if $from email or publisher_email is invalid + if (!is_valid_email($sender['email'])) { + $sender['email'] = "no-reply@" . get_pref("siteurl"); + } + if ($sender) { extract($sender); $ret = callback_event('mail', 'format.body', 0, $body); @@ -2762,13 +2766,16 @@ function intl_strftime($format, $time = null, $gmt = false, $override_locale = ' '%%' => '%', ); - $formats['%s'] = $time; - $override_locale = $override_locale ?: (TXPINTERFACE == 'admin' ? $lang_ui : LANG); - if ($DateTime === null) { $DateTime = new DateTime(); } + if (empty($override_locale)) { + $override_locale = TXPINTERFACE == 'admin' && isset($lang_ui) ? $lang_ui : LANG; + } + + $formats['%s'] = $time; + if (!isset($IntlDateFormatter[$override_locale])) { $IntlDateFormatter[$override_locale] = new IntlDateFormatter( $override_locale, @@ -2933,7 +2940,7 @@ function safe_strftime($format, $time = null, $gmt = false, $override_locale = ' * Converts a time string from the Textpattern timezone to GMT. * * @param string $time_str The time string - * @return int UNIX timestamp + * @return bool|int UNIX timestamp or false on failure * @package DateTime */ @@ -2943,10 +2950,13 @@ function safe_strtotime($time_str) return 0; } - // tz_offset calculations are expensive - $tz_offset = tz_offset($ts); + if ($ts !== false) { + // tz_offset calculations are expensive + $tz_offset = tz_offset($ts); + $ts = strtotime($time_str, time() + $tz_offset) - $tz_offset; + } - return strtotime($time_str, time() + $tz_offset) - $tz_offset; + return $ts; } /** @@ -4042,7 +4052,7 @@ function get_lastmod($unix_ts = null) } // Check for future articles that are now visible. - if (TXPINTERFACE === 'public' && $max_article = safe_field("TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted)", 'textpattern', "Posted <= ".now('posted')." AND Status >= 4 ORDER BY Posted DESC LIMIT 1")) { + if (TXPINTERFACE === 'public' && $max_article = safe_field("TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted)", 'textpattern', "Posted <= ".now('posted')." AND Status >= 4 ORDER BY Posted DESC LIMIT 1")) { $unix_ts = max($unix_ts, $max_article); } @@ -4809,7 +4819,7 @@ function buildTimeSql($month, $time, $field = 'Posted') $from = $month ? "'".doSlash($month)."'" : now($field); $start = time(); } else { - $from = "(FROM_UNIXTIME(0) + INTERVAL $start SECOND)"; + $from = "(COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $start SECOND)"; } if ($time === 'since') { @@ -4824,8 +4834,8 @@ function buildTimeSql($month, $time, $field = 'Posted') } $timeq = ($start == $stop ? - "$safe_field = (FROM_UNIXTIME(0) + INTERVAL $start SECOND)" : - "$safe_field BETWEEN (FROM_UNIXTIME(0) + INTERVAL $start SECOND) AND (FROM_UNIXTIME(0) + INTERVAL $stop SECOND)" + "$safe_field = (COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $start SECOND)" : + "$safe_field BETWEEN (COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $start SECOND) AND (COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $stop SECOND)" ); } } @@ -5225,7 +5235,7 @@ function permlinkurl_id($id) } $rs = empty($id) ? array() : safe_row( - "ID AS thisid, Section, Title, url_title, Category1, Category2, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS posted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS expires", + "ID AS thisid, Section, Title, url_title, Category1, Category2, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS posted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS expires", 'textpattern', "ID = $id" ); @@ -5327,7 +5337,7 @@ function permlinkurl($article_array, $hu = null) $url_mode = $permlink_mode; } - if ($url_mode == 'title_only' && isset($txp_sections[$url_title])) { + if ($url_mode == 'title_only' && isset($txp_sections[$url_title]) && $prefs['trailing_slash']) { $url_mode = 'id_title'; } @@ -5506,6 +5516,10 @@ function imageBuildURL($img = array(), $thumbnail = null) if (!empty($img['b'])) { $params['b'] = $img['b']; } + + if (!empty($img['t'])) { + $params['t'] = $img['t']; + } } callback_event_ref('txp.image', 'thumbnail.params', 0, $params, $thumbnail); @@ -5543,6 +5557,38 @@ function imageBuildURL($img = array(), $thumbnail = null) return $secondBase ? $secondBase : $base; } +/** + * Remove (automatic and manual) image thumbnails given the image ID + * + * @param int $id Image ID + * @param string|array $types Type of thumbnail to remove + * @since 4.9.2 + */ +function deleteThumbnails($id, $types = array(THUMB_AUTO, THUMB_CUSTOM)) +{ + assert_int($id); + $types = do_list($types); + $exts = implode('|', array_values(get_safe_image_types())); + + // Remove automatic thumbs of any type. + if (in_array(THUMB_AUTO, $types)) { + $Directory = new RecursiveDirectoryIterator(IMPATH.TEXTPATTERN_THUMB_DIR); + $Directory->setFlags(RecursiveDirectoryIterator::SKIP_DOTS); + $Iterator = new RecursiveIteratorIterator($Directory); + $Regex = new RegexIterator($Iterator, '/'.$id.'('.$exts.')$/i', RecursiveRegexIterator::GET_MATCH); + + foreach ($Regex as $name => $file) { + unlink(realpath($name)); + } + } + + // Remove custom thumb of current type. + if (in_array(THUMB_CUSTOM, $types)) { + $t = new txp_thumb($id); + $t->delete(); + } +} + /** * (Re)generate a thumbnail image token every so often. * diff --git a/textpattern/lib/txplib_publish.php b/textpattern/lib/txplib_publish.php index 310f0627d2..9e1025051f 100644 --- a/textpattern/lib/txplib_publish.php +++ b/textpattern/lib/txplib_publish.php @@ -87,9 +87,9 @@ function filterFrontPage($field = 'Section', $column = array('on_frontpage'), $n * @param bool $all Rewrite all data * @example * if ($rs = safe_rows_start("*, - * TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, - * TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, - * TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod", + * TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, + * TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, + * TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", * 'textpattern', * "1 = 1" * )) @@ -240,8 +240,8 @@ function getNeighbour($threshold, $s, $type, $atts = array(), $threshold_type = } $where = isset($atts['?']) ? $atts['?'] : '1'; - $tables = isset($atts['#']) ? $atts['#'] : safe_pfx_j('textpattern'); - $columns = isset($atts['*']) ? $atts['*'] : '*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod'; + $tables = isset($atts['#']) ? $atts['#'] : safe_pfx('textpattern'); + $columns = isset($atts['*']) ? $atts['*'] : '*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod'; $q = array( "SELECT $columns FROM $tables", @@ -311,13 +311,13 @@ function getNextPrev($id = 0, $threshold = null, $s = '') // Attributes with special treatment. switch ($atts['sortby']) { case 'Posted': - $threshold = "(FROM_UNIXTIME(0) + INTERVAL ".intval($thisarticle['posted'])." SECOND)"; + $threshold = "(COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL ".intval($thisarticle['posted'])." SECOND)"; break; case 'Expires': - $threshold = "(FROM_UNIXTIME(0) + INTERVAL ".intval($thisarticle['expires'])." SECOND)"; + $threshold = "(COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL ".intval($thisarticle['expires'])." SECOND)"; break; case 'LastMod': - $threshold = "(FROM_UNIXTIME(0) + INTERVAL ".intval($thisarticle['modified'])." SECOND)"; + $threshold = "(COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL ".intval($thisarticle['modified'])." SECOND)"; break; default: // Retrieve current threshold value per sort column from $thisarticle. @@ -349,7 +349,7 @@ function getNextPrev($id = 0, $threshold = null, $s = '') function lastMod() { - $last = safe_field("TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), val)", 'txp_prefs', "name = 'lastmod'"); + $last = safe_field("TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), val)", 'txp_prefs', "name = 'lastmod'"); return gmdate("D, d M Y H:i:s \G\M\T", $last); } @@ -371,7 +371,7 @@ function parse($thing, $condition = true, $in_tag = true) if (!isset($short_tags)) { $short_tags = get_pref('enable_short_tags', false); } - + // TODO: handle array $thing in fields preview if (!isset($thing) || !$short_tags && false === strpos($thing, '= 4 LIMIT 1", $debug + ); } /** @@ -684,7 +688,7 @@ function lookupByTitle($val, $debug = false) $customColumns = '';//$customData ? $customData['columns'] : false; $res = safe_row( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod".$customColumns, + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", 'textpattern', "url_title = '".doSlash($val)."' LIMIT 1", $debug ); @@ -717,7 +721,7 @@ function lookupByTitleSection($val, $section, $debug = false) $customColumns = '';//$customData ? $customData['columns'] : false; $res = safe_row( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod".$customColumns, + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", 'textpattern', "url_title = '".doSlash($val)."' AND Section = '".doSlash($section)."' LIMIT 1", $debug ); @@ -741,7 +745,7 @@ function lookupByIDSection($id, $section, $debug = false) $customColumns = '';//$customData ? $customData['columns'] : false; $res = safe_row( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod".$customColumns, + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", 'textpattern', "ID = ".intval($id)." AND Section = '".doSlash($section)."' LIMIT 1", $debug ); @@ -764,7 +768,7 @@ function lookupByID($id, $debug = false) $customColumns = '';//$customData ? $customData['columns'] : false; return safe_row( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod".$customColumns, + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", 'textpattern', "ID = ".intval($id)." LIMIT 1", $debug ); @@ -793,7 +797,7 @@ function lookupByDateTitle($when, $title, $debug = false) $customColumns = '';//$customData ? $customData['columns'] : false; $res = safe_row( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod".$customColumns, + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", 'textpattern', "url_title = '".doSlash($title)."' AND $dateClause LIMIT 1" ); @@ -947,7 +951,11 @@ function filterAtts($atts = null, $iscustom = null) } } - $coreColumns = article_column_map(false); + $coreColumns = array( + 'posted' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted', + 'expires' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires', + 'modified' => 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod', + ) + article_column_map(); foreach ($windowed + $coreColumns as $field => $val) { if (isset($atts['$'.$field])) { @@ -1253,7 +1261,7 @@ function filterAtts($atts = null, $iscustom = null) } if (isset($date_fields[$field])) { - $what['u'.$field] = 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), '.$what[$field].')'; + $what['u'.$field] = 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), '.$what[$field].')'; $alias['u'.$field] = " AS `u{$column}`"; } } diff --git a/textpattern/lib/txplib_wrapper.php b/textpattern/lib/txplib_wrapper.php index 4281591d55..5fe1556eb7 100644 --- a/textpattern/lib/txplib_wrapper.php +++ b/textpattern/lib/txplib_wrapper.php @@ -639,7 +639,7 @@ public function updateArticleField($article_id, $field, $value) if ($field == 'Posted') { $value = strtotime($value) - tz_offset(); - $value = "FROM_UNIXTIME(0) + INTERVAL $value SECOND"; + $value = "COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $value SECOND"; $sql = "Posted = $value"; } elseif ($field == 'Status') { $value = assert_int($value); @@ -730,7 +730,7 @@ public function _setArticle($incoming, $article_id = null) } } else { $when = strtotime($incoming['Posted']) - tz_offset(); - $when = "FROM_UNIXTIME(0) + INTERVAL $when SECOND"; + $when = "COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)) + INTERVAL $when SECOND"; } if ($incoming['Title'] || $incoming['Body'] || $incoming['Excerpt']) { diff --git a/textpattern/publish.php b/textpattern/publish.php index f1f3df12f2..b4f6ccd3c8 100644 --- a/textpattern/publish.php +++ b/textpattern/publish.php @@ -496,9 +496,9 @@ function preText($store, $prefs = null) $slash = $trailing_slash <= 0 ? '' : '/'; $guessarticles = safe_rows( - '*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted,'. - 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires,'. - 'TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod', + '*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted,'. + 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires,'. + 'TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod', 'textpattern', "(url_title='$safe_un'" . ($n < 3 && is_numeric($un) ? " OR ID='$safe_un')" : ')') . $status ); diff --git a/textpattern/publish/atom.php b/textpattern/publish/atom.php index b39eb425d8..5964b95b5c 100644 --- a/textpattern/publish/atom.php +++ b/textpattern/publish/atom.php @@ -173,9 +173,9 @@ function atom() $rs = safe_rows_start( "*, ID AS thisid, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod", + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", 'textpattern', $where . " ORDER BY uPosted DESC LIMIT $limit" ); @@ -243,7 +243,7 @@ function atom() } elseif ($area == 'link') { $cfilter = ($category) ? "category IN ('" . join("','", $category) . "')" : '1'; - $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), date) AS uDate", 'txp_link', "$cfilter ORDER BY date DESC, id DESC LIMIT $limit"); + $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), date) AS uDate", 'txp_link', "$cfilter ORDER BY date DESC, id DESC LIMIT $limit"); if ($rs) { while ($a = nextRow($rs)) { diff --git a/textpattern/publish/comment.php b/textpattern/publish/comment.php index 7134ad2c15..4097bd3a3d 100644 --- a/textpattern/publish/comment.php +++ b/textpattern/publish/comment.php @@ -42,7 +42,7 @@ function fetchComments($id) { $rs = safe_rows( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), posted) AS time", + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), posted) AS time", 'txp_discuss', "parentid = " . intval($id) . " AND visible = " . VISIBLE . " ORDER BY posted ASC" ); @@ -558,7 +558,7 @@ function checkCommentsAllowed($id) } else { extract( safe_row( - "Annotate, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted", + "Annotate, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted", 'textpattern', "ID = $id" ) diff --git a/textpattern/publish/rss.php b/textpattern/publish/rss.php index df383027a0..5afc48de31 100644 --- a/textpattern/publish/rss.php +++ b/textpattern/publish/rss.php @@ -121,9 +121,9 @@ function rss() $rs = safe_rows_start( "*, ID AS thisid, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod", + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod", 'textpattern', $where . " ORDER BY uPosted DESC LIMIT $limit" ); @@ -178,7 +178,7 @@ function rss() } elseif ($area == 'link') { $cfilter = ($category) ? "category IN ('" . join("','", $category) . "')" : '1'; - $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), date) AS uDate", 'txp_link', "$cfilter ORDER BY date DESC, id DESC LIMIT $limit"); + $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), date) AS uDate", 'txp_link', "$cfilter ORDER BY date DESC, id DESC LIMIT $limit"); if ($rs) { while ($a = nextRow($rs)) { diff --git a/textpattern/publish/taghandlers.php b/textpattern/publish/taghandlers.php index c6b6bdc4a4..113dc25cb9 100644 --- a/textpattern/publish/taghandlers.php +++ b/textpattern/publish/taghandlers.php @@ -475,12 +475,12 @@ function txp_yield($atts, $thing = null) if (isset($item)) { $inner = isset($txp_item[$item]) ? $txp_item[$item] : null; } elseif ($name === '') { - $end = empty($yield) ? null : end($yield); - - if (isset($end)) { + if (!empty($yield)) { $was_form = $is_form; $is_form--; + $end = array_pop($yield); $inner = parse($end, empty($else)); + $yield[] = $end; $is_form = $was_form; } } elseif (!empty($txp_yield[$name])) { @@ -514,10 +514,10 @@ function txp_if_yield($atts, $thing = null) if (isset($item)) { $inner = isset($txp_item[$item]) ? $txp_item[$item] : null; } elseif ($name === '') { - $end = empty($yield) ? null : end($yield); - - if (isset($end)) { + if (!empty($yield)) { + $end = array_pop($yield); $inner = $value === null ? ($else ? getIfElse($end, false) : true) : parse($end, empty($else)); + $yield[] = $end; } } elseif (empty($txp_yield[$name])) { $inner = null; @@ -1698,7 +1698,7 @@ function txp_sandbox($atts = array(), $thing = null, $raw = false) if (empty($id)) { assert_article(); - $id = $thisarticle['thisid']; + $id = $thisarticle['thisid'] ?: 0; } elseif (!isset($articles[$id])) { return; } @@ -1726,7 +1726,7 @@ function txp_sandbox($atts = array(), $thing = null, $raw = false) $oldarticle = $thisarticle; isset($articles[$id]) and $thisarticle = $articles[$id]; $was_article_body = $is_article_body; - $is_article_body = $thisarticle['authorid']; + $is_article_body = $thisarticle['authorid'] ?: true; $was_form = $is_form; $is_form = 0; @@ -2049,6 +2049,7 @@ function article_image($atts) 'break' => '', 'loading' => null, 'thumbnail' => false, + 'type' => '', ); $extAtts = join_atts(array_diff_key($atts, $tagAtts + ($txp_atts ? $txp_atts : array())), TEXTPATTERN_STRIP_EMPTY_STRING | TEXTPATTERN_STRIP_TXP); @@ -2143,6 +2144,7 @@ function article_image($atts) $payload['h'] = $height === true ? $h : $height; $payload['c'] = $crop; $payload['q'] = $quality; + $payload['t'] = $type; } if ($title === true) { diff --git a/textpattern/setup/index.php b/textpattern/setup/index.php index 10f3a4ad4d..14a7929deb 100644 --- a/textpattern/setup/index.php +++ b/textpattern/setup/index.php @@ -170,7 +170,7 @@ function preamble() $out = array(); $bodyclass = ($step == '') ? ' welcome' : ''; - gTxtScript(array('help')); + gTxtScript(array('copied', 'help')); if (isset($cfg['site']['language_code']) && !isset($_SESSION['direction'])) { $file = Txp::get('\Textpattern\L10n\Lang', txpath . DS . 'setup' . DS . 'lang' . DS)->findFilename($cfg['site']['language_code']); @@ -629,7 +629,7 @@ function setup_config_contents() strong(gTxt('before_you_proceed')) . ' ' . gTxt('create_config', array('{configpath}' => $config_path . DS)) ) . - graf('' . gTxt('download') . '') . + graf(' ' . gTxt('download') . '') . n . '' . @@ -639,7 +639,6 @@ function setup_config_contents() n . ''; } - /** * Render a 'back' button that goes to the correct step. * diff --git a/textpattern/setup/lang/en-gb.ini b/textpattern/setup/lang/en-gb.ini index 579ded2ad7..306f751194 100644 --- a/textpattern/setup/lang/en-gb.ini +++ b/textpattern/setup/lang/en-gb.ini @@ -14,6 +14,8 @@ choose_password="Choose a password" config_php_does_not_match_input="The contents of config.php do not match the values you entered. Please paste the exact text below." config_php_not_found="The configuration file could not be found at the expected location {file}. Please verify its existence once again." config_php_write_error="There was an error writing the configuration file." +copied="Copied" +copy_to_clipboard="Copy to clipboard" core_theme="Core: {theme}" create_config="Create a file called config.php in the {configpath} directory and paste the following inside…" creating_config="Creating config.php file" diff --git a/textpattern/setup/lang/en-us.ini b/textpattern/setup/lang/en-us.ini index b6e947ecf0..7252ccc472 100644 --- a/textpattern/setup/lang/en-us.ini +++ b/textpattern/setup/lang/en-us.ini @@ -14,6 +14,8 @@ choose_password="Choose a password" config_php_does_not_match_input="The contents of config.php do not match the values you entered. Please paste the exact text below." config_php_not_found="The configuration file could not be found at the expected location {file}. Please verify its existence once again." config_php_write_error="There was an error writing the configuration file." +copied="Copied" +copy_to_clipboard="Copy to clipboard" core_theme="Core: {theme}" create_config="Create a file called config.php in the {configpath} directory and paste the following inside…" creating_config="Creating config.php file" diff --git a/textpattern/setup/lang/en.ini b/textpattern/setup/lang/en.ini index 7fa7521e0d..b9c45b1aaf 100644 --- a/textpattern/setup/lang/en.ini +++ b/textpattern/setup/lang/en.ini @@ -14,6 +14,8 @@ choose_password="Choose a password" config_php_does_not_match_input="The contents of config.php do not match the values you entered. Please paste the exact text below." config_php_not_found="The configuration file could not be found at the expected location {file}. Please verify its existence once again." config_php_write_error="There was an error writing the configuration file." +copied="Copied" +copy_to_clipboard="Copy to clipboard" core_theme="Core: {theme}" create_config="Create a file called config.php in the {configpath} directory and paste the following inside…" creating_config="Creating config.php file" diff --git a/textpattern/setup/themes/four-point-nine/manifest.json b/textpattern/setup/themes/four-point-nine/manifest.json index a7e7674935..8179537ebd 100644 --- a/textpattern/setup/themes/four-point-nine/manifest.json +++ b/textpattern/setup/themes/four-point-nine/manifest.json @@ -4,5 +4,5 @@ "description": "The default theme shipped with Textpattern CMS 4.9.", "author": "Team Textpattern", "author_uri": "https://github.com/textpattern/textpattern-default-theme", - "version": "4.9.1-dev" + "version": "5.0.0-dev" } \ No newline at end of file diff --git a/textpattern/setup/themes/zero/manifest.json b/textpattern/setup/themes/zero/manifest.json index 14d86a1789..fc7ad41bdb 100644 --- a/textpattern/setup/themes/zero/manifest.json +++ b/textpattern/setup/themes/zero/manifest.json @@ -1,7 +1,7 @@ { "title": "Zero (empty theme)", "txp-type": "textpattern-theme", - "version": "4.9.1-dev", + "version": "4.9.1", "description": "The empty theme shipped with Textpattern CMS.", "author": "Team Textpattern", "author_uri": "https://github.com/textpattern/textpattern-zero-theme", diff --git a/textpattern/textpattern.css b/textpattern/textpattern.css index ed6428dcfd..b5c7aa931e 100644 --- a/textpattern/textpattern.css +++ b/textpattern/textpattern.css @@ -33,7 +33,7 @@ /* layout */ --txp-spacing: 1em; /* space between blocks, as margin, padding or gap. use calc() to adjust depending on need, eg @calc(var(—margin) * 0.5)@ for smaller or larger spacing */ - /* Code hightlight */ + /* Code highlight */ --txp-prism-token-1: light-dark(#708090, #ccc); --txp-prism-token-2: light-dark(#905, #e2777a); --txp-prism-token-3: light-dark(#690, #a6e22e); diff --git a/textpattern/textpattern.js b/textpattern/textpattern.js index 5011383957..9ccccf4703 100644 --- a/textpattern/textpattern.js +++ b/textpattern/textpattern.js @@ -2877,6 +2877,19 @@ textpattern.Route.add('', function () { } }); + // Copy to clipboard. + $('.action-copy-clip').click(function(ev) { + ev.preventDefault(); + let source = $(this).data('source'); + let $source = $(source); + + if ($source.length) { + navigator.clipboard.writeText($source.val()); + console.log(ev); + ev.target.innerHTML = ' ' + textpattern.gTxt('copied'); + } + }); + // Pane states var hasTabs = $('.txp-layout:has(.switcher-list li a[data-txp-pane])'); diff --git a/textpattern/update/_to_5.0.0.php b/textpattern/update/_to_5.0.0.php index 45eafc3984..f8adeefa4b 100644 --- a/textpattern/update/_to_5.0.0.php +++ b/textpattern/update/_to_5.0.0.php @@ -94,7 +94,7 @@ // using Textpattern\Meta\Field() to instantiate one "new field" // per existing cutom_N, then calling ->save() on it with the // data populated from each existing custom_N column. The save() -// rountine is responsible for creating the value tables for +// routine is responsible for creating the value tables for // data types it doesn't already have so, providing the glz_cf // datatypes can be mapped to internal types via a tiny plugin // on the dataTypes callback, all CF data may possibly be migrated. diff --git a/textpattern/vendors/Textpattern/Date/Timezone.php b/textpattern/vendors/Textpattern/Date/Timezone.php index 062765e156..430abb7c5e 100644 --- a/textpattern/vendors/Textpattern/Date/Timezone.php +++ b/textpattern/vendors/Textpattern/Date/Timezone.php @@ -452,7 +452,7 @@ public function getIdentifier($timezone = null) public function setTimeZone($identifiers) { foreach ((array)$identifiers as $identifier) { - if (@date_default_timezone_set($identifier)) { + if (date_default_timezone_set($identifier)) { return $this; } } @@ -474,6 +474,6 @@ public function setTimeZone($identifiers) public function getTimeZone() { - return @date_default_timezone_get(); + return date_default_timezone_get(); } } diff --git a/textpattern/vendors/Textpattern/L10n/Lang.php b/textpattern/vendors/Textpattern/L10n/Lang.php index be402fb0fa..82e63ce9fe 100644 --- a/textpattern/vendors/Textpattern/L10n/Lang.php +++ b/textpattern/vendors/Textpattern/L10n/Lang.php @@ -274,7 +274,7 @@ public function available($flags = TEXTPATTERN_LANG_AVAILABLE, $force = 0) // Need a value here for the language itself, not for each one of the rows. $ownClause = ($this->hasOwnerSupport() ? "owner = ''" : "1")." GROUP BY lang ORDER BY lastmod DESC"; $this->dbLangs = safe_rows( - "lang, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), MAX(lastmod)) AS lastmod", + "lang, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), MAX(lastmod)) AS lastmod", 'txp_lang', $ownClause ); diff --git a/textpattern/vendors/Textpattern/Plugin/Plugin.php b/textpattern/vendors/Textpattern/Plugin/Plugin.php index 1a1835fb02..a139ea38bf 100644 --- a/textpattern/vendors/Textpattern/Plugin/Plugin.php +++ b/textpattern/vendors/Textpattern/Plugin/Plugin.php @@ -875,7 +875,7 @@ public function generateToken() protected function computeHash($src) { if (!$this->hash) { - if ($src && (is_readable($src) !== false)) { + if ($src && (strlen($src) <= PHP_MAXPATHLEN && is_readable($src) !== false)) { $this->hash = sha1_file($src); } elseif ($src) { $this->hash = sha1(preg_replace('/\s+/', '', $src)); diff --git a/textpattern/vendors/Textpattern/Skin/Skin.php b/textpattern/vendors/Textpattern/Skin/Skin.php index d68149df09..5d66e8dbeb 100644 --- a/textpattern/vendors/Textpattern/Skin/Skin.php +++ b/textpattern/vendors/Textpattern/Skin/Skin.php @@ -239,7 +239,11 @@ protected function getFileContents() { $contents = json_decode(file_get_contents($this->getFilePath()), true); - $contents === null or $contents = $this->parseInfos($contents); + if ($contents === null) { + $contents = array(); + } else { + $contents = $this->parseInfos($contents); + } return $contents; } @@ -313,10 +317,9 @@ public function updateSections($set = null, $where = null, $dev = false) public function getEditing() { $editing = get_pref($this->getEvent().'_editing', '', true); + $installed = $this->getInstalled(); - if (!$editing) { - $installed = $this->getInstalled(); - + if (!$editing || !array_key_exists($editing, $installed)) { reset($installed); $editing = $this->setEditing(key($installed)); @@ -728,7 +731,7 @@ public function import($sync = false, $override = false) } else { $skinInfos = array_merge(array('name' => $name), $this->getFileContents()); - if (!$skinInfos) { + if (count($skinInfos) == 1) { $this->mergeResult('invalid_json', $filePath); } else { extract($skinInfos); @@ -1326,11 +1329,7 @@ protected function getContentBlock($data) n.tag_start('table', array('class' => 'txp-list')). n.tag_start('thead'); - $ths = hCell( - fInput('checkbox', 'select_all', 0, '', '', '', '', '', 'select_all'), - '', - ' class="txp-list-col-multi-edit" scope="col" title="'.gTxt('toggle_all_selected').'"' - ); + $ths = selectAllCheckbox(); $thIds = array( 'name' => 'name', @@ -1530,12 +1529,12 @@ protected function getEditForm($message = '') } $caption = gTxt('edit_'.$event); - $extraAction = href( - ' '.gTxt('duplicate'), - '#', + $extraAction = tag( + '' . sp . gTxt('duplicate'), 'button', array( - 'class' => 'txp-clone', + 'class' => 'txp-clone txp-reduced-ui-button', 'data-form' => $event.'_form', + 'type' => 'button', ) ); } else { diff --git a/textpattern/vendors/Textpattern/Tag/Syntax/Comment.php b/textpattern/vendors/Textpattern/Tag/Syntax/Comment.php index 264b4b8bc6..23dc0ebc82 100644 --- a/textpattern/vendors/Textpattern/Tag/Syntax/Comment.php +++ b/textpattern/vendors/Textpattern/Tag/Syntax/Comment.php @@ -49,8 +49,8 @@ public static function recent_comments($atts, $thing = null) $sort = preg_replace('/\bposted\b/', 'd.posted', $sort); $expired = ($prefs['publish_expired_articles']) ? '' : " AND (".now('expires')." <= t.Expires OR t.Expires IS NULL) "; - $rs = startRows("SELECT d.name, d.email, d.web, d.message, d.discussid, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), d.Posted) AS time, t.ID AS thisid, - TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), t.Posted) AS posted, t.Title AS title, t.Section AS section, t.Category1, t.Category2, t.url_title + $rs = startRows("SELECT d.name, d.email, d.web, d.message, d.discussid, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), d.Posted) AS time, t.ID AS thisid, + TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), t.Posted) AS posted, t.Title AS title, t.Section AS section, t.Category1, t.Category2, t.url_title FROM ".safe_pfx('txp_discuss')." AS d INNER JOIN ".safe_pfx('textpattern')." AS t ON d.parentid = t.ID WHERE t.Status >= ".STATUS_LIVE.$expired." AND d.visible = ".VISIBLE." ORDER BY ".sanitizeForSort($sort)." @@ -107,7 +107,7 @@ public static function popup_comments($atts, $thing = null) extract(lAtts(array('form' => 'comments_display'), $atts)); $rs = safe_row( - "*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), LastMod) AS uLastMod, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), Expires) AS uExpires", + "*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Posted) AS uPosted, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), LastMod) AS uLastMod, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), Expires) AS uExpires", 'textpattern', "ID=".intval(gps('parentid'))." AND Status >= 4" ); @@ -433,7 +433,7 @@ public static function comments($atts, $thing = null) ($limit) ? "LIMIT ".intval($offset).", ".intval($limit) : '', ); - $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), posted) AS time", 'txp_discuss', join(' ', $qparts)); + $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), posted) AS time", 'txp_discuss', join(' ', $qparts)); $out = ''; diff --git a/textpattern/vendors/Textpattern/Tag/Syntax/Image.php b/textpattern/vendors/Textpattern/Tag/Syntax/Image.php index 35d42b1b0b..2910d317b0 100644 --- a/textpattern/vendors/Textpattern/Tag/Syntax/Image.php +++ b/textpattern/vendors/Textpattern/Tag/Syntax/Image.php @@ -58,6 +58,7 @@ public static function image($atts) 'quality' => '', 'wraptag' => '', 'width' => '0', + 'type' => '', 'thumbnail' => false, ); @@ -117,6 +118,7 @@ public static function image($atts) $payload['h'] = $height; $payload['c'] = $crop; $payload['q'] = $quality; + $payload['t'] = $type; } $thumb_wanted = ($thumb_type === null ? $thumbnail : $thumb_type); @@ -474,7 +476,7 @@ public static function image_info($atts) 'break' => '', ), $atts)); - $validItems = array('id', 'name', 'category', 'category_title', 'alt', 'caption', 'ext', 'mime', 'author', 'w', 'h', 'thumbnail', 'thumb_w', 'thumb_h', 'date'); + $validItems = array('id', 'name', 'category', 'category_title', 'alt', 'caption', 'ext', 'mime', 'author', 'w', 'h', 'thumbnail', 'thumb_w', 'thumb_h', 'date', 'aspect'); $type = do_list($type); $out = array(); @@ -511,6 +513,7 @@ public static function image_url($atts, $thing = null) 'height' => '0', 'crop' => '', 'quality' => '', + 'type' => '', ), $atts)); $thumbnail = !$thumbnail ? null : $thumbnail; @@ -530,6 +533,7 @@ public static function image_url($atts, $thing = null) $thisimage['h'] = $height; $thisimage['c'] = $crop; $thisimage['q'] = $quality; + $thisimage['t'] = $type; } elseif ($thumbnail == THUMB_CUSTOM) { // Leave only thumb_w and thumb_h for the builder to use. $thisimage['w'] = ''; diff --git a/textpattern/vendors/Textpattern/Tag/Syntax/Link.php b/textpattern/vendors/Textpattern/Tag/Syntax/Link.php index 7970e9f725..d9805924da 100644 --- a/textpattern/vendors/Textpattern/Tag/Syntax/Link.php +++ b/textpattern/vendors/Textpattern/Tag/Syntax/Link.php @@ -143,7 +143,7 @@ public static function linklist($atts, $thing = null) ($limit) ? 'LIMIT '.intval($pgoffset).', '.intval($limit) : '', ); - $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, FROM_UNIXTIME(0), date) AS uDate", 'txp_link', join(' ', $qparts)); + $rs = safe_rows_start("*, TIMESTAMPDIFF(SECOND, COALESCE(FROM_UNIXTIME(0), FROM_UNIXTIME(1)), date) AS uDate", 'txp_link', join(' ', $qparts)); $out = parseList($rs, $thislink, function($a) { global $thislink; $thislink = $a; diff --git a/textpattern/vendors/cure53/DOMPurify/purify.js b/textpattern/vendors/cure53/DOMPurify/purify.js index 279d73ac67..86efd85821 100644 --- a/textpattern/vendors/cure53/DOMPurify/purify.js +++ b/textpattern/vendors/cure53/DOMPurify/purify.js @@ -1,3 +1,3 @@ -/*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DOMPurify=t()}(this,(function(){"use strict";const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:o,getOwnPropertyDescriptor:r}=Object;let{freeze:i,seal:a,create:l}=Object,{apply:c,construct:s}="undefined"!=typeof Reflect&&Reflect;i||(i=function(e){return e}),a||(a=function(e){return e}),c||(c=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r1?t-1:0),o=1;o1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:h;t&&t(e,null);let i=o.length;for(;i--;){let t=o[i];if("string"==typeof t){const e=r(t);e!==t&&(n(o)||(o[i]=e),t=e)}e[t]=!0}return e}function w(e){for(let t=0;t/gm),W=a(/\$\{[\w\W]*/gm),Y=a(/^data-[\-\w.\u00B7-\uFFFF]+$/),j=a(/^aria-[\-\w]+$/),X=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q=a(/^(?:\w+script|data):/i),$=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),K=a(/^html$/i),V=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var Z=Object.freeze({__proto__:null,ARIA_ATTR:j,ATTR_WHITESPACE:$,CUSTOM_ELEMENT:V,DATA_ATTR:Y,DOCTYPE_NAME:K,ERB_EXPR:G,IS_ALLOWED_URI:X,IS_SCRIPT_OR_DATA:q,MUSTACHE_EXPR:B,TMPLIT_EXPR:W});const J=1,Q=3,ee=7,te=8,ne=9,oe=function(){return"undefined"==typeof window?null:window};var re=function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oe();const o=e=>t(e);if(o.version="3.3.1",o.removed=[],!n||!n.document||n.document.nodeType!==ne||!n.Element)return o.isSupported=!1,o;let{document:r}=n;const a=r,c=a.currentScript,{DocumentFragment:s,HTMLTemplateElement:N,Node:D,Element:w,NodeFilter:B,NamedNodeMap:G=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:W,DOMParser:Y,trustedTypes:j}=n,q=w.prototype,$=O(q,"cloneNode"),V=O(q,"remove"),re=O(q,"nextSibling"),ie=O(q,"childNodes"),ae=O(q,"parentNode");if("function"==typeof N){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let le,ce="";const{implementation:se,createNodeIterator:ue,createDocumentFragment:me,getElementsByTagName:pe}=r,{importNode:fe}=a;let de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};o.isSupported="function"==typeof e&&"function"==typeof ae&&se&&void 0!==se.createHTMLDocument;const{MUSTACHE_EXPR:he,ERB_EXPR:ge,TMPLIT_EXPR:Te,DATA_ATTR:ye,ARIA_ATTR:Ee,IS_SCRIPT_OR_DATA:Ae,ATTR_WHITESPACE:_e,CUSTOM_ELEMENT:be}=Z;let{IS_ALLOWED_URI:Se}=Z,Ne=null;const De=R({},[...v,...x,...L,...I,...U]);let Re=null;const we=R({},[...z,...P,...F,...H]);let Ce=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Oe=null,ve=null;const xe=Object.seal(l(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Le=!0,ke=!0,Ie=!1,Me=!0,Ue=!1,ze=!0,Pe=!1,Fe=!1,He=!1,Be=!1,Ge=!1,We=!1,Ye=!0,je=!1,Xe=!0,qe=!1,$e={},Ke=null;const Ve=R({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ze=null;const Je=R({},["audio","video","img","source","image","track"]);let Qe=null;const et=R({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tt="http://www.w3.org/1998/Math/MathML",nt="http://www.w3.org/2000/svg",ot="http://www.w3.org/1999/xhtml";let rt=ot,it=!1,at=null;const lt=R({},[tt,nt,ot],g);let ct=R({},["mi","mo","mn","ms","mtext"]),st=R({},["annotation-xml"]);const ut=R({},["title","style","font","a","script"]);let mt=null;const pt=["application/xhtml+xml","text/html"];let ft=null,dt=null;const ht=r.createElement("form"),gt=function(e){return e instanceof RegExp||e instanceof Function},Tt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!dt||dt!==e){if(e&&"object"==typeof e||(e={}),e=C(e),mt=-1===pt.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,ft="application/xhtml+xml"===mt?g:h,Ne=_(e,"ALLOWED_TAGS")?R({},e.ALLOWED_TAGS,ft):De,Re=_(e,"ALLOWED_ATTR")?R({},e.ALLOWED_ATTR,ft):we,at=_(e,"ALLOWED_NAMESPACES")?R({},e.ALLOWED_NAMESPACES,g):lt,Qe=_(e,"ADD_URI_SAFE_ATTR")?R(C(et),e.ADD_URI_SAFE_ATTR,ft):et,Ze=_(e,"ADD_DATA_URI_TAGS")?R(C(Je),e.ADD_DATA_URI_TAGS,ft):Je,Ke=_(e,"FORBID_CONTENTS")?R({},e.FORBID_CONTENTS,ft):Ve,Oe=_(e,"FORBID_TAGS")?R({},e.FORBID_TAGS,ft):C({}),ve=_(e,"FORBID_ATTR")?R({},e.FORBID_ATTR,ft):C({}),$e=!!_(e,"USE_PROFILES")&&e.USE_PROFILES,Le=!1!==e.ALLOW_ARIA_ATTR,ke=!1!==e.ALLOW_DATA_ATTR,Ie=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Me=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Ue=e.SAFE_FOR_TEMPLATES||!1,ze=!1!==e.SAFE_FOR_XML,Pe=e.WHOLE_DOCUMENT||!1,Be=e.RETURN_DOM||!1,Ge=e.RETURN_DOM_FRAGMENT||!1,We=e.RETURN_TRUSTED_TYPE||!1,He=e.FORCE_BODY||!1,Ye=!1!==e.SANITIZE_DOM,je=e.SANITIZE_NAMED_PROPS||!1,Xe=!1!==e.KEEP_CONTENT,qe=e.IN_PLACE||!1,Se=e.ALLOWED_URI_REGEXP||X,rt=e.NAMESPACE||ot,ct=e.MATHML_TEXT_INTEGRATION_POINTS||ct,st=e.HTML_INTEGRATION_POINTS||st,Ce=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&>(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ce.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&>(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ce.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ce.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ue&&(ke=!1),Ge&&(Be=!0),$e&&(Ne=R({},U),Re=[],!0===$e.html&&(R(Ne,v),R(Re,z)),!0===$e.svg&&(R(Ne,x),R(Re,P),R(Re,H)),!0===$e.svgFilters&&(R(Ne,L),R(Re,P),R(Re,H)),!0===$e.mathMl&&(R(Ne,I),R(Re,F),R(Re,H))),e.ADD_TAGS&&("function"==typeof e.ADD_TAGS?xe.tagCheck=e.ADD_TAGS:(Ne===De&&(Ne=C(Ne)),R(Ne,e.ADD_TAGS,ft))),e.ADD_ATTR&&("function"==typeof e.ADD_ATTR?xe.attributeCheck=e.ADD_ATTR:(Re===we&&(Re=C(Re)),R(Re,e.ADD_ATTR,ft))),e.ADD_URI_SAFE_ATTR&&R(Qe,e.ADD_URI_SAFE_ATTR,ft),e.FORBID_CONTENTS&&(Ke===Ve&&(Ke=C(Ke)),R(Ke,e.FORBID_CONTENTS,ft)),e.ADD_FORBID_CONTENTS&&(Ke===Ve&&(Ke=C(Ke)),R(Ke,e.ADD_FORBID_CONTENTS,ft)),Xe&&(Ne["#text"]=!0),Pe&&R(Ne,["html","head","body"]),Ne.table&&(R(Ne,["tbody"]),delete Oe.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');le=e.TRUSTED_TYPES_POLICY,ce=le.createHTML("")}else void 0===le&&(le=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(j,c)),null!==le&&"string"==typeof ce&&(ce=le.createHTML(""));i&&i(e),dt=e}},yt=R({},[...x,...L,...k]),Et=R({},[...I,...M]),At=function(e){f(o.removed,{element:e});try{ae(e).removeChild(e)}catch(t){V(e)}},_t=function(e,t){try{f(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){f(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(Be||Ge)try{At(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},bt=function(e){let t=null,n=null;if(He)e=""+e;else{const t=T(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===mt&&rt===ot&&(e=''+e+"");const o=le?le.createHTML(e):e;if(rt===ot)try{t=(new Y).parseFromString(o,mt)}catch(e){}if(!t||!t.documentElement){t=se.createDocument(rt,"template",null);try{t.documentElement.innerHTML=it?ce:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),rt===ot?pe.call(t,Pe?"html":"body")[0]:Pe?t.documentElement:i},St=function(e){return ue.call(e.ownerDocument||e,e,B.SHOW_ELEMENT|B.SHOW_COMMENT|B.SHOW_TEXT|B.SHOW_PROCESSING_INSTRUCTION|B.SHOW_CDATA_SECTION,null)},Nt=function(e){return e instanceof W&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof G)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Dt=function(e){return"function"==typeof D&&e instanceof D};function Rt(e,t,n){u(e,(e=>{e.call(o,t,n,dt)}))}const wt=function(e){let t=null;if(Rt(de.beforeSanitizeElements,e,null),Nt(e))return At(e),!0;const n=ft(e.nodeName);if(Rt(de.uponSanitizeElement,e,{tagName:n,allowedTags:Ne}),ze&&e.hasChildNodes()&&!Dt(e.firstElementChild)&&b(/<[/\w!]/g,e.innerHTML)&&b(/<[/\w!]/g,e.textContent))return At(e),!0;if(e.nodeType===ee)return At(e),!0;if(ze&&e.nodeType===te&&b(/<[/\w]/g,e.data))return At(e),!0;if(!(xe.tagCheck instanceof Function&&xe.tagCheck(n))&&(!Ne[n]||Oe[n])){if(!Oe[n]&&Ot(n)){if(Ce.tagNameCheck instanceof RegExp&&b(Ce.tagNameCheck,n))return!1;if(Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(n))return!1}if(Xe&&!Ke[n]){const t=ae(e)||e.parentNode,n=ie(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=$(n[o],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,re(e))}}}return At(e),!0}return e instanceof w&&!function(e){let t=ae(e);t&&t.tagName||(t={namespaceURI:rt,tagName:"template"});const n=h(e.tagName),o=h(t.tagName);return!!at[e.namespaceURI]&&(e.namespaceURI===nt?t.namespaceURI===ot?"svg"===n:t.namespaceURI===tt?"svg"===n&&("annotation-xml"===o||ct[o]):Boolean(yt[n]):e.namespaceURI===tt?t.namespaceURI===ot?"math"===n:t.namespaceURI===nt?"math"===n&&st[o]:Boolean(Et[n]):e.namespaceURI===ot?!(t.namespaceURI===nt&&!st[o])&&!(t.namespaceURI===tt&&!ct[o])&&!Et[n]&&(ut[n]||!yt[n]):!("application/xhtml+xml"!==mt||!at[e.namespaceURI]))}(e)?(At(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!b(/<\/no(script|embed|frames)/i,e.innerHTML)?(Ue&&e.nodeType===Q&&(t=e.textContent,u([he,ge,Te],(e=>{t=y(t,e," ")})),e.textContent!==t&&(f(o.removed,{element:e.cloneNode()}),e.textContent=t)),Rt(de.afterSanitizeElements,e,null),!1):(At(e),!0)},Ct=function(e,t,n){if(Ye&&("id"===t||"name"===t)&&(n in r||n in ht))return!1;if(ke&&!ve[t]&&b(ye,t));else if(Le&&b(Ee,t));else if(xe.attributeCheck instanceof Function&&xe.attributeCheck(t,e));else if(!Re[t]||ve[t]){if(!(Ot(e)&&(Ce.tagNameCheck instanceof RegExp&&b(Ce.tagNameCheck,e)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(e))&&(Ce.attributeNameCheck instanceof RegExp&&b(Ce.attributeNameCheck,t)||Ce.attributeNameCheck instanceof Function&&Ce.attributeNameCheck(t,e))||"is"===t&&Ce.allowCustomizedBuiltInElements&&(Ce.tagNameCheck instanceof RegExp&&b(Ce.tagNameCheck,n)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(n))))return!1}else if(Qe[t]);else if(b(Se,y(n,_e,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==E(n,"data:")||!Ze[e]){if(Ie&&!b(Ae,y(n,_e,"")));else if(n)return!1}else;return!0},Ot=function(e){return"annotation-xml"!==e&&T(e,be)},vt=function(e){Rt(de.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||Nt(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Re,forceKeepAttr:void 0};let r=t.length;for(;r--;){const i=t[r],{name:a,namespaceURI:l,value:c}=i,s=ft(a),m=c;let f="value"===a?m:A(m);if(n.attrName=s,n.attrValue=f,n.keepAttr=!0,n.forceKeepAttr=void 0,Rt(de.uponSanitizeAttribute,e,n),f=n.attrValue,!je||"id"!==s&&"name"!==s||(_t(a,e),f="user-content-"+f),ze&&b(/((--!?|])>)|<\/(style|title|textarea)/i,f)){_t(a,e);continue}if("attributename"===s&&T(f,"href")){_t(a,e);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){_t(a,e);continue}if(!Me&&b(/\/>/i,f)){_t(a,e);continue}Ue&&u([he,ge,Te],(e=>{f=y(f,e," ")}));const d=ft(e.nodeName);if(Ct(d,s,f)){if(le&&"object"==typeof j&&"function"==typeof j.getAttributeType)if(l);else switch(j.getAttributeType(d,s)){case"TrustedHTML":f=le.createHTML(f);break;case"TrustedScriptURL":f=le.createScriptURL(f)}if(f!==m)try{l?e.setAttributeNS(l,a,f):e.setAttribute(a,f),Nt(e)?At(e):p(o.removed)}catch(t){_t(a,e)}}else _t(a,e)}Rt(de.afterSanitizeAttributes,e,null)},xt=function e(t){let n=null;const o=St(t);for(Rt(de.beforeSanitizeShadowDOM,t,null);n=o.nextNode();)Rt(de.uponSanitizeShadowNode,n,null),wt(n),vt(n),n.content instanceof s&&e(n.content);Rt(de.afterSanitizeShadowDOM,t,null)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,i=null,l=null;if(it=!e,it&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Dt(e)){if("function"!=typeof e.toString)throw S("toString is not a function");if("string"!=typeof(e=e.toString()))throw S("dirty is not a string, aborting")}if(!o.isSupported)return e;if(Fe||Tt(t),o.removed=[],"string"==typeof e&&(qe=!1),qe){if(e.nodeName){const t=ft(e.nodeName);if(!Ne[t]||Oe[t])throw S("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof D)n=bt("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===J&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r);else{if(!Be&&!Ue&&!Pe&&-1===e.indexOf("<"))return le&&We?le.createHTML(e):e;if(n=bt(e),!n)return Be?null:We?ce:""}n&&He&&At(n.firstChild);const c=St(qe?e:n);for(;i=c.nextNode();)wt(i),vt(i),i.content instanceof s&&xt(i.content);if(qe)return e;if(Be){if(Ge)for(l=me.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(Re.shadowroot||Re.shadowrootmode)&&(l=fe.call(a,l,!0)),l}let m=Pe?n.outerHTML:n.innerHTML;return Pe&&Ne["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&b(K,n.ownerDocument.doctype.name)&&(m="\n"+m),Ue&&u([he,ge,Te],(e=>{m=y(m,e," ")})),le&&We?le.createHTML(m):m},o.setConfig=function(){Tt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Fe=!0},o.clearConfig=function(){dt=null,Fe=!1},o.isValidAttribute=function(e,t,n){dt||Tt({});const o=ft(e),r=ft(t);return Ct(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&f(de[e],t)},o.removeHook=function(e,t){if(void 0!==t){const n=m(de[e],t);return-1===n?void 0:d(de[e],n,1)[0]}return p(de[e])},o.removeHooks=function(e){de[e]=[]},o.removeAllHooks=function(){de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},o}();return re})); +/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DOMPurify=t()}(this,function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n2?n-2:0),r=2;r1?t-1:0),o=1;o1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:T;if(o&&o(e,null),!b(t))return e;let i=t.length;for(;i--;){let o=t[i];if("string"==typeof o){const e=n(o);e!==o&&(r(t)||(t[i]=e),o=e)}e[o]=!0}return e}function z(e){for(let t=0;t/g),J=c(/\${[\w\W]*/g),Q=c(/^data-[\-\w.\u00B7-\uFFFF]+$/),ee=c(/^aria-[\-\w]+$/),te=c(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ne=c(/^(?:\w+script|data):/i),oe=c(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),re=c(/^html$/i),ie=c(/^[a-z][.\w]*(-[.\w]+)+$/i),ae=c(/<[/\w!]/g),le=c(/<[/\w]/g),ce=c(/<\/no(script|embed|frames)/i),se=c(/\/>/i),ue=1,fe=3,pe=7,me=8,de=9,he=11,ge=function(){return"undefined"==typeof window?null:window},ye=function(e,t,n,o){return R(e,t)&&b(e[t])?M(o.base?P(o.base):{},e[t],o.transform):n};var be=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ge();const o=t=>e(t);if(o.version="3.4.13",o.removed=[],!t||!t.document||t.document.nodeType!==de||!t.Element)return o.isSupported=!1,o;let r=t.document;const i=r,a=i.currentScript;t.DocumentFragment;const u=t.HTMLTemplateElement,f=t.Node,p=t.Element,k=t.NodeFilter,L=t.NamedNodeMap;void 0===L&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const z=t.DOMParser,be=t.trustedTypes,Te=p.prototype,Se=U(Te,"cloneNode"),Ee=U(Te,"remove"),Ae=U(Te,"nextSibling"),Ne=U(Te,"childNodes"),_e=U(Te,"parentNode"),we=U(Te,"shadowRoot"),Oe=U(Te,"attributes"),ve=f&&f.prototype?U(f.prototype,"nodeType"):null,De=f&&f.prototype?U(f.prototype,"nodeName"):null,Re=f&&f.prototype?U(f.prototype,"ownerDocument"):null;if("function"==typeof u){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let Ce,Ie,xe="",ke=!1,Le=0;const Me=function(){if(Le>0)throw x('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},ze=function(e){Me(),Le++;try{return Ce.createHTML(e)}finally{Le--}},Pe=function(){return ke||(Ie=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(be,a),ke=!0),Ie},Ue=r,Fe=Ue.implementation,He=Ue.createNodeIterator,je=Ue.createDocumentFragment,Be=Ue.getElementsByTagName,Ge=i.importNode;let We={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};o.isSupported="function"==typeof n&&"function"==typeof _e&&Fe&&void 0!==Fe.createHTMLDocument;const Ye=V,qe=Z,Xe=J,$e=Q,Ke=ee,Ve=ne,Ze=oe,Je=ie;let Qe=te,et=null;const tt=M({},[...F,...H,...j,...G,...Y]);let nt=null;const ot=M({},[...q,...X,...$,...K]);let rt=Object.seal(s(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),it=null,at=null;const lt=Object.seal(s(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ct=!0,st=!0,ut=!1,ft=!0,pt=!1,mt=!0,dt=!1,ht=!1,gt=null,yt=null,bt=!1,Tt=!1,St=!1,Et=!1,At=!0,Nt=!1;const _t="user-content-";let wt=!0,Ot=!1,vt={},Dt=null;const Rt=M({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let Ct=null;const It=M({},["audio","video","img","source","image","track"]);let xt=null;const kt=M({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Lt="http://www.w3.org/1998/Math/MathML",Mt="http://www.w3.org/2000/svg",zt="http://www.w3.org/1999/xhtml";let Pt=zt,Ut=!1,Ft=null;const Ht=M({},[Lt,Mt,zt],S),jt=l(["mi","mo","mn","ms","mtext"]);let Bt=M({},jt);const Gt=l(["annotation-xml"]);let Wt=M({},Gt);const Yt=M({},["title","style","font","a","script"]);let qt=null;const Xt=["application/xhtml+xml","text/html"];let $t=null,Kt=null;const Vt=r.createElement("form"),Zt=function(e){return e instanceof RegExp||e instanceof Function},Jt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Kt&&Kt===e)return;e&&"object"==typeof e||(e={}),e=P(e),qt=-1===Xt.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,$t="application/xhtml+xml"===qt?S:T,et=ye(e,"ALLOWED_TAGS",tt,{transform:$t}),nt=ye(e,"ALLOWED_ATTR",ot,{transform:$t}),Ft=ye(e,"ALLOWED_NAMESPACES",Ht,{transform:S}),xt=ye(e,"ADD_URI_SAFE_ATTR",kt,{transform:$t,base:kt}),Ct=ye(e,"ADD_DATA_URI_TAGS",It,{transform:$t,base:It}),Dt=ye(e,"FORBID_CONTENTS",Rt,{transform:$t}),it=ye(e,"FORBID_TAGS",P({}),{transform:$t}),at=ye(e,"FORBID_ATTR",P({}),{transform:$t}),vt=!!R(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?P(e.USE_PROFILES):e.USE_PROFILES),ct=!1!==e.ALLOW_ARIA_ATTR,st=!1!==e.ALLOW_DATA_ATTR,ut=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ft=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,pt=e.SAFE_FOR_TEMPLATES||!1,mt=!1!==e.SAFE_FOR_XML,dt=e.WHOLE_DOCUMENT||!1,Tt=e.RETURN_DOM||!1,St=e.RETURN_DOM_FRAGMENT||!1,Et=e.RETURN_TRUSTED_TYPE||!1,bt=e.FORCE_BODY||!1,At=!1!==e.SANITIZE_DOM,Nt=e.SANITIZE_NAMED_PROPS||!1,wt=!1!==e.KEEP_CONTENT,Ot=e.IN_PLACE||!1,Qe=function(e){try{return I(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:te,Pt="string"==typeof e.NAMESPACE?e.NAMESPACE:zt,Bt=R(e,"MATHML_TEXT_INTEGRATION_POINTS")&&e.MATHML_TEXT_INTEGRATION_POINTS&&"object"==typeof e.MATHML_TEXT_INTEGRATION_POINTS?P(e.MATHML_TEXT_INTEGRATION_POINTS):M({},jt),Wt=R(e,"HTML_INTEGRATION_POINTS")&&e.HTML_INTEGRATION_POINTS&&"object"==typeof e.HTML_INTEGRATION_POINTS?P(e.HTML_INTEGRATION_POINTS):M({},Gt);const t=R(e,"CUSTOM_ELEMENT_HANDLING")&&e.CUSTOM_ELEMENT_HANDLING&&"object"==typeof e.CUSTOM_ELEMENT_HANDLING?P(e.CUSTOM_ELEMENT_HANDLING):s(null);if(rt=s(null),R(t,"tagNameCheck")&&Zt(t.tagNameCheck)&&(rt.tagNameCheck=t.tagNameCheck),R(t,"attributeNameCheck")&&Zt(t.attributeNameCheck)&&(rt.attributeNameCheck=t.attributeNameCheck),R(t,"allowCustomizedBuiltInElements")&&"boolean"==typeof t.allowCustomizedBuiltInElements&&(rt.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),c(rt),pt&&(st=!1),St&&(Tt=!0),vt&&(et=M({},Y),nt=s(null),!0===vt.html&&(M(et,F),M(nt,q)),!0===vt.svg&&(M(et,H),M(nt,X),M(nt,K)),!0===vt.svgFilters&&(M(et,j),M(nt,X),M(nt,K)),!0===vt.mathMl&&(M(et,G),M(nt,$),M(nt,K))),lt.tagCheck=null,lt.attributeCheck=null,R(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?lt.tagCheck=e.ADD_TAGS:b(e.ADD_TAGS)&&(et===tt&&(et=P(et)),M(et,e.ADD_TAGS,$t))),R(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?lt.attributeCheck=e.ADD_ATTR:b(e.ADD_ATTR)&&(nt===ot&&(nt=P(nt)),M(nt,e.ADD_ATTR,$t))),R(e,"ADD_URI_SAFE_ATTR")&&b(e.ADD_URI_SAFE_ATTR)&&M(xt,e.ADD_URI_SAFE_ATTR,$t),R(e,"FORBID_CONTENTS")&&b(e.FORBID_CONTENTS)&&(Dt===Rt&&(Dt=P(Dt)),M(Dt,e.FORBID_CONTENTS,$t)),R(e,"ADD_FORBID_CONTENTS")&&b(e.ADD_FORBID_CONTENTS)&&(Dt===Rt&&(Dt=P(Dt)),M(Dt,e.ADD_FORBID_CONTENTS,$t)),wt&&(et["#text"]=!0),dt&&M(et,["html","head","body"]),et.table&&(M(et,["tbody"]),delete it.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const t=Ce;Ce=e.TRUSTED_TYPES_POLICY;try{xe=ze("")}catch(e){throw Ce=t,e}}else null===e.TRUSTED_TYPES_POLICY?(Ce=void 0,xe=""):(void 0===Ce&&(Ce=Pe()),Ce&&"string"==typeof xe&&(xe=ze("")));l&&l(e),Kt=e},Qt=M({},[...H,...j,...B]),en=M({},[...G,...W]),tn=function(e){let t=_e(e);t&&t.tagName||(t={namespaceURI:Pt,tagName:"template"});const n=T(e.tagName),o=T(t.tagName);return!!Ft[e.namespaceURI]&&(e.namespaceURI===Mt?function(e,t,n){return t.namespaceURI===zt?"svg"===e:t.namespaceURI===Lt?"svg"===e&&("annotation-xml"===n||Bt[n]):Boolean(Qt[e])}(n,t,o):e.namespaceURI===Lt?function(e,t,n){return t.namespaceURI===zt?"math"===e:t.namespaceURI===Mt?"math"===e&&Wt[n]:Boolean(en[e])}(n,t,o):e.namespaceURI===zt?function(e,t,n){return!(t.namespaceURI===Mt&&!Wt[n])&&!(t.namespaceURI===Lt&&!Bt[n])&&!en[e]&&(Yt[e]||!Qt[e])}(n,t,o):!("application/xhtml+xml"!==qt||!Ft[e.namespaceURI]))},nn=function(e){g(o.removed,{element:e});try{_e(e).removeChild(e)}catch(t){if(Ee(e),!_e(e))throw x("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},on=function(e){ln(e);const t=Ne(e);if(t){const e=[];m(t,t=>{g(e,t)}),m(e,e=>{try{Ee(e)}catch(e){}})}const n=Oe(e);if(n)for(let t=n.length-1;t>=0;--t){const o=n[t],r=o&&o.name;if("string"==typeof r)try{e.removeAttribute(r)}catch(e){}}},rn=function(e,t){try{g(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){g(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(Tt||St)try{nn(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},an=function(e){const t=Oe(e);if(t)for(let n=t.length-1;n>=0;--n){const o=t[n],r=o&&o.name;if("string"==typeof r&&!nt[$t(r)])try{e.removeAttribute(r)}catch(e){}}},ln=function(e){const t=[e];for(;t.length>0;){const e=t.pop();(ve?ve(e):e.nodeType)===ue&&an(e);const n=Ne(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},cn=function(e){let t=null,n=null;if(bt)e=""+e;else{const t=E(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===qt&&Pt===zt&&(e=''+e+"");const o=Ce?ze(e):e;if(Pt===zt)try{t=(new z).parseFromString(o,qt)}catch(e){}if(!t||!t.documentElement){t=Fe.createDocument(Pt,"template",null);try{t.documentElement.innerHTML=Ut?xe:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),Pt===zt?Be.call(t,dt?"html":"body")[0]:dt?t.documentElement:i},sn=function(e){const t=Re?Re(e):e.ownerDocument;return He.call(t||e,e,k.SHOW_ELEMENT|k.SHOW_COMMENT|k.SHOW_TEXT|k.SHOW_PROCESSING_INSTRUCTION|k.SHOW_CDATA_SECTION,null)},un=function(e){return e=A(e,Ye," "),e=A(e,qe," "),e=A(e,Xe," ")},fn=function(e){var t;e.normalize();const n=Re?Re(e):e.ownerDocument,o=He.call(n||e,e,k.SHOW_TEXT|k.SHOW_COMMENT|k.SHOW_CDATA_SECTION|k.SHOW_PROCESSING_INSTRUCTION,null);let r=o.nextNode();for(;r;)r.data=un(r.data),r=o.nextNode();const i=null===(t=e.querySelectorAll)||void 0===t?void 0:t.call(e,"template");i&&m(i,e=>{mn(e.content)&&fn(e.content)})},pn=function(e){const t=De?De(e):null;return"string"==typeof t&&("form"===$t(t)&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||e.attributes!==Oe(e)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes||e.nodeType!==ve(e)||e.childNodes!==Ne(e)))},mn=function(e){if(!ve||"object"!=typeof e||null===e)return!1;try{return ve(e)===he}catch(e){return!1}},dn=function(e){if(!ve||"object"!=typeof e||null===e)return!1;try{return"number"==typeof ve(e)}catch(e){return!1}};function hn(e,t,n){0!==e.length&&m(e,e=>{e.call(o,t,n,Kt)})}const gn=function(e,t,n,o){return 0===e.length?t:t===n||t===o?P(t):t},yn=function(e,t){if(hn(We.beforeSanitizeElements,e,null),e!==t&&null===_e(e))return Ot&&ln(e),!0;if(pn(e))return nn(e),!0;const n=$t(De?De(e):e.nodeName);if(et=gn(We.uponSanitizeElement,et,tt,gt),hn(We.uponSanitizeElement,e,{tagName:n,allowedTags:et}),e!==t&&null===_e(e))return Ot&&ln(e),!0;if(function(e,t){return!!(mt&&e.hasChildNodes()&&!dn(e.firstElementChild)&&I(ae,e.textContent)&&I(ae,e.innerHTML))||!(!mt||e.namespaceURI!==zt||"style"!==t||!dn(e.firstElementChild))||e.nodeType===pe||!(!mt||e.nodeType!==me||!I(le,e.data))}(e,n))return nn(e),!0;if(it[n]||!(lt.tagCheck instanceof Function&<.tagCheck(n))&&!et[n]){const o=function(e,t,n){if(!it[t]&&Sn(t)){if(rt.tagNameCheck instanceof RegExp&&I(rt.tagNameCheck,t))return!1;if(rt.tagNameCheck instanceof Function&&rt.tagNameCheck(t))return!1}if(wt&&!Dt[t]){const t=_e(e),o=Ne(e);if(o&&t)for(let r=o.length-1;r>=0;--r){const i=e===n?Se(o[r],!0):o[r];t.insertBefore(i,Ae(e))}}return nn(e),!0}(e,n,t);return!1===o&&hn(We.afterSanitizeElements,e,null),o}if((ve?ve(e):e.nodeType)===ue&&!tn(e))return nn(e),!0;if(("noscript"===n||"noembed"===n||"noframes"===n)&&I(ce,e.innerHTML))return nn(e),!0;if(pt&&e.nodeType===fe){const t=un(e.textContent);e.textContent!==t&&(g(o.removed,{element:e.cloneNode()}),e.textContent=t)}return hn(We.afterSanitizeElements,e,null),!1},bn=function(e,t,n){if(at[t])return!1;if(mt&&"patchsrc"===t)return!1;if(mt&&"for"===t&&"label"!==e&&"output"!==e)return!1;if(At&&("id"===t||"name"===t)&&(n in r||n in Vt))return!1;const o=nt[t]||lt.attributeCheck instanceof Function&<.attributeCheck(t,e);if(st&&I($e,t));else if(ct&&I(Ke,t));else if(o)if(xt[t]);else if(I(Qe,A(n,Ze,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==N(n,"data:")||!Ct[e]){if(ut&&!I(Ve,A(n,Ze,"")));else if(n)return!1}else;else if(!(Sn(e)&&(rt.tagNameCheck instanceof RegExp&&I(rt.tagNameCheck,e)||rt.tagNameCheck instanceof Function&&rt.tagNameCheck(e))&&(rt.attributeNameCheck instanceof RegExp&&I(rt.attributeNameCheck,t)||rt.attributeNameCheck instanceof Function&&rt.attributeNameCheck(t,e))||"is"===t&&rt.allowCustomizedBuiltInElements&&(rt.tagNameCheck instanceof RegExp&&I(rt.tagNameCheck,n)||rt.tagNameCheck instanceof Function&&rt.tagNameCheck(n))))return!1;return!0},Tn=M({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Sn=function(e){return!Tn[T(e)]&&I(Je,e)},En=function(e,t,n,o){if(Ce&&"object"==typeof be&&"function"==typeof be.getAttributeType&&!n)switch(be.getAttributeType(e,t)){case"TrustedHTML":return ze(o);case"TrustedScriptURL":return function(e){Me(),Le++;try{return Ce.createScriptURL(e)}finally{Le--}}(o)}return o},An=function(e,t,n,r){try{n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),pn(e)?nn(e):h(o.removed)}catch(n){rn(t,e)}},Nn=function(e){hn(We.beforeSanitizeAttributes,e,null);const t=e.attributes;if(!t||pn(e))return;nt=gn(We.uponSanitizeAttribute,nt,ot,yt);const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:nt,forceKeepAttr:void 0};let o=t.length;const r=$t(e.nodeName);for(;o--;){const i=t[o],a=i.name,l=i.namespaceURI,c=i.value,s=$t(a),u=c;let f="value"===a?u:_(u);n.attrName=s,n.attrValue=f,n.keepAttr=!0,n.forceKeepAttr=void 0,hn(We.uponSanitizeAttribute,e,n),f=n.attrValue,!Nt||"id"!==s&&"name"!==s||0===N(f,_t)||(rn(a,e),f=_t+f),mt&&I(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,f)?rn(a,e):"attributename"===s&&E(f,"href")?rn(a,e):n.forceKeepAttr||(n.keepAttr&&(ft||!I(se,f))?(pt&&(f=un(f)),bn(r,s,f)?(f=En(r,s,l,f),f!==u&&An(e,a,l,f)):rn(a,e)):rn(a,e))}hn(We.afterSanitizeAttributes,e,null)},_n=function(e){let t=null;const n=sn(e);for(hn(We.beforeSanitizeShadowDOM,e,null);t=n.nextNode();){hn(We.uponSanitizeShadowNode,t,null),yn(t,e),Nn(t),mn(t.content)&&_n(t.content);if((ve?ve(t):t.nodeType)===ue){const e=we(t);mn(e)&&(wn(e),_n(e))}}hn(We.afterSanitizeShadowDOM,e,null)},wn=function(e){const t=[{node:e,shadow:null}];for(;t.length>0;){const e=t.pop();if(e.shadow){_n(e.shadow);continue}const n=e.node,o=(ve?ve(n):n.nodeType)===ue,r=Ne(n);if(r)for(let e=r.length-1;e>=0;--e)t.push({node:r[e],shadow:null});if(o){const e=De?De(n):null;if("string"==typeof e&&"template"===$t(e)){const e=n.content;mn(e)&&t.push({node:e,shadow:null})}}if(o){const e=we(n);mn(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,a=null,l=null;if(Ut=!e,Ut&&(e="\x3c!--\x3e"),"string"!=typeof e&&!dn(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return w(e);case"boolean":return O(e);case"bigint":return v?v(e):"0";case"symbol":return D?D(e):"Symbol()";case"undefined":default:return C(e);case"function":case"object":{if(null===e)return C(e);const t=e,n=U(t,"toString");if("function"==typeof n){const e=n(t);return"string"==typeof e?e:C(e)}return C(e)}}}(e)))throw x("dirty is not a string, aborting");if(!o.isSupported)return e;ht?(et=gt,nt=yt):Jt(t),(We.uponSanitizeElement.length>0||We.uponSanitizeAttribute.length>0)&&(et=P(et)),We.uponSanitizeAttribute.length>0&&(nt=P(nt)),o.removed=[];const c=Ot&&"string"!=typeof e&&dn(e);if(c){!function(e){if(!mt)return;const t=[e];for(;t.length>0;){const e=t.pop(),n=ve?ve(e):e.nodeType;if(n===pe||n===me&&I(le,e.data)){try{Ee(e)}catch(e){}continue}if(n===ue){const t=e,n=$t(De?De(e):e.nodeName);try{t.hasAttribute&&t.hasAttribute("patchsrc")&&t.removeAttribute("patchsrc"),t.hasAttribute&&t.hasAttribute("for")&&"label"!==n&&"output"!==n&&t.removeAttribute("for")}catch(e){}}const o=Ne(e);if(o)for(let e=o.length-1;e>=0;--e)t.push(o[e])}}(e);const t=De?De(e):e.nodeName;if("string"==typeof t){const n=$t(t);if(!et[n]||it[n])throw on(e),x("root node is forbidden and cannot be sanitized in-place")}if(pn(e))throw on(e),x("root node is clobbered and cannot be sanitized in-place");try{wn(e)}catch(t){throw on(e),t}}else if(dn(e))n=cn("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===ue&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r),wn(r);else{if(!Tt&&!pt&&!dt&&-1===e.indexOf("<"))return Ce&&Et?ze(e):e;if(n=cn(e),!n)return Tt?null:Et?xe:""}n&&bt&&nn(n.firstChild);const s=c?e:n;try{const e=sn(s);for(;a=e.nextNode();)yn(a,s),Nn(a),mn(a.content)&&_n(a.content)}catch(t){throw c&&(on(e),m(o.removed,e=>{e.element&&ln(e.element)})),t}if(c)return m(o.removed,e=>{e.element&&ln(e.element)}),pt&&fn(e),e;if(Tt){if(pt&&fn(n),St)for(l=je.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(nt.shadowroot||nt.shadowrootmode)&&(l=Ge.call(i,l,!0)),l}let u=dt?n.outerHTML:n.innerHTML;return dt&&et["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&I(re,n.ownerDocument.doctype.name)&&(u="\n"+u),pt&&(u=un(u)),Ce&&Et?ze(u):u},o.setConfig=function(){Jt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),ht=!0,gt=et,yt=nt},o.clearConfig=function(){Kt=null,ht=!1,gt=null,yt=null,Ce=Ie,xe=""},o.isValidAttribute=function(e,t,n){Kt||Jt({});const o=$t(e),r=$t(t);return bn(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&R(We,e)&&g(We[e],t)},o.removeHook=function(e,t){if(R(We,e)){if(void 0!==t){const n=d(We[e],t);return-1===n?void 0:y(We[e],n,1)[0]}return h(We[e])}},o.removeHooks=function(e){R(We,e)&&(We[e]=[])},o.removeAllHooks=function(){We={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},o}();return be}); //# sourceMappingURL=purify.min.js.map diff --git a/textpattern/vendors/jquery/jquery-migrate/LICENSE.txt b/textpattern/vendors/jquery/jquery-migrate/LICENSE.txt new file mode 100644 index 0000000000..c0f86cb146 --- /dev/null +++ b/textpattern/vendors/jquery/jquery-migrate/LICENSE.txt @@ -0,0 +1,36 @@ +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-migrate + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. diff --git a/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.js b/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.js new file mode 100644 index 0000000000..dbebacff9e --- /dev/null +++ b/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.js @@ -0,0 +1,1086 @@ +/*! + * jQuery Migrate - v4.0.2 - 2026-01-21T12:38Z + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.com/license/ + */ +( function( factory ) { + "use strict"; + + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define( [ "jquery" ], function( jQuery ) { + return factory( jQuery, window ); + } ); + } else if ( typeof module === "object" && module.exports ) { + + // Node/CommonJS + // eslint-disable-next-line no-undef + module.exports = factory( require( "jquery" ), window ); + } else { + + // Browser globals + factory( jQuery, window ); + } +} )( function( jQuery, window ) { +"use strict"; + +jQuery.migrateVersion = "4.0.2"; + +// Returns 0 if v1 == v2, -1 if v1 < v2, 1 if v1 > v2 +function compareVersions( v1, v2 ) { + var i, + rVersionParts = /^(\d+)\.(\d+)\.(\d+)/, + v1p = rVersionParts.exec( v1 ) || [ ], + v2p = rVersionParts.exec( v2 ) || [ ]; + + for ( i = 1; i <= 3; i++ ) { + if ( +v1p[ i ] > +v2p[ i ] ) { + return 1; + } + if ( +v1p[ i ] < +v2p[ i ] ) { + return -1; + } + } + return 0; +} + +function jQueryVersionSince( version ) { + return compareVersions( jQuery.fn.jquery, version ) >= 0; +} + +// A map from disabled patch codes to `true`. This should really +// be a `Set` but those are unsupported in IE. +var disabledPatches = Object.create( null ); + +// Don't apply patches for specified codes. Helpful for code bases +// where some Migrate warnings have been addressed, and it's desirable +// to avoid needless patches or false positives. +jQuery.migrateDisablePatches = function() { + var i; + for ( i = 0; i < arguments.length; i++ ) { + disabledPatches[ arguments[ i ] ] = true; + } +}; + +// Allow enabling patches disabled via `jQuery.migrateDisablePatches`. +// Helpful if you want to disable a patch only for some code that won't +// be updated soon to be able to focus on other warnings - and enable it +// immediately after such a call: +// ```js +// jQuery.migrateDisablePatches( "workaroundA" ); +// elem.pluginViolatingWarningA( "pluginMethod" ); +// jQuery.migrateEnablePatches( "workaroundA" ); +// ``` +jQuery.migrateEnablePatches = function() { + var i; + for ( i = 0; i < arguments.length; i++ ) { + delete disabledPatches[ arguments[ i ] ]; + } +}; + +jQuery.migrateIsPatchEnabled = function( patchCode ) { + return !disabledPatches[ patchCode ]; +}; + +( function() { + +// Need jQuery 4.x and no older Migrate loaded +if ( !jQuery || !jQueryVersionSince( "4.0.0" ) || + jQueryVersionSince( "5.0.0" ) ) { + window.console.log( "JQMIGRATE: jQuery 4.x REQUIRED" ); +} +if ( jQuery.migrateMessages ) { + window.console.log( "JQMIGRATE: Migrate plugin loaded multiple times" ); +} + +// Show a message on the console so devs know we're active +window.console.log( "JQMIGRATE: Migrate is installed" + + ( jQuery.migrateMute ? "" : " with logging active" ) + + ", version " + jQuery.migrateVersion ); + +} )(); + +var messagesLogged = Object.create( null ); + +// List of warnings already given; public read only +jQuery.migrateMessages = []; + +// By default, each warning is only reported once. +if ( jQuery.migrateDeduplicateMessages === undefined ) { + jQuery.migrateDeduplicateMessages = true; +} + +// Set to `false` to disable traces that appear with warnings +if ( jQuery.migrateTrace === undefined ) { + jQuery.migrateTrace = true; +} + +// Forget any warnings we've already given; public +jQuery.migrateReset = function() { + messagesLogged = Object.create( null ); + jQuery.migrateMessages.length = 0; +}; + +function migrateMessageInternal( code, msg, consoleMethod ) { + var console = window.console; + + if ( jQuery.migrateIsPatchEnabled( code ) && + ( !jQuery.migrateDeduplicateMessages || !messagesLogged[ msg ] ) ) { + messagesLogged[ msg ] = true; + jQuery.migrateMessages.push( consoleMethod.toUpperCase() + ": " + + msg + " [" + code + "]" ); + + if ( console[ consoleMethod ] && !jQuery.migrateMute ) { + console[ consoleMethod ]( "JQMIGRATE: " + msg ); + + if ( jQuery.migrateTrace ) { + + // Label the trace so that filtering messages in DevTools + // doesn't hide traces. Note that IE ignores the label. + console.trace( "JQMIGRATE: " + msg ); + } + } + } +} + +function migrateWarn( code, msg ) { + migrateMessageInternal( code, msg, "warn" ); +} + +function migrateInfo( code, msg ) { + migrateMessageInternal( code, msg, "info" ); +} + +function migratePatchPropInternal( + obj, prop, value, code, msg, migrateMessageFn +) { + var orig = obj[ prop ]; + Object.defineProperty( obj, prop, { + configurable: true, + enumerable: true, + + get: function() { + if ( jQuery.migrateIsPatchEnabled( code ) ) { + + // If `msg` not provided, do not message; more sophisticated + // messaging logic is most likely embedded in `value`. + if ( msg ) { + migrateMessageFn( code, msg ); + } + + return value; + } + + return orig; + }, + + set: function( newValue ) { + if ( jQuery.migrateIsPatchEnabled( code ) ) { + + // See the comment in the getter. + if ( msg ) { + migrateMessageFn( code, msg ); + } + } + + // If a new value was set, apply it regardless if + // the patch is later disabled or not. + orig = value = newValue; + } + } ); +} + +function migrateWarnProp( obj, prop, value, code, msg ) { + migratePatchPropInternal( obj, prop, value, code, msg, migrateWarn ); +} + +function migrateInfoProp( obj, prop, value, code, msg ) { + if ( !msg ) { + throw new Error( "No warning message provided" ); + } + migratePatchPropInternal( obj, prop, value, code, msg, migrateInfo ); +} + +function migratePatchProp( obj, prop, value, code ) { + migratePatchPropInternal( obj, prop, value, code ); +} + +// The value of the "Func" APIs is that for method we want to allow +// checking for the method existence without triggering a warning. +// For other deprecated properties, we do need to warn on access. +function migratePatchFuncInternal( + obj, prop, newFunc, code, msg, migrateMessageFn +) { + + function wrappedNewFunc() { + + // If `msg` not provided, do not warn; more sophisticated warnings + // logic is most likely embedded in `newFunc`, in that case here + // we just care about the logic choosing the proper implementation + // based on whether the patch is disabled or not. + if ( msg ) { + migrateMessageFn( code, msg ); + } + + return newFunc.apply( this, arguments ); + } + + migratePatchPropInternal( obj, prop, wrappedNewFunc, code ); +} + +function migratePatchAndWarnFunc( obj, prop, newFunc, code, msg ) { + if ( !msg ) { + throw new Error( "No warning message provided" ); + } + return migratePatchFuncInternal( obj, prop, newFunc, code, msg, migrateWarn ); +} + +function migratePatchAndInfoFunc( obj, prop, newFunc, code, msg ) { + if ( !msg ) { + throw new Error( "No info message provided" ); + } + return migratePatchFuncInternal( obj, prop, newFunc, code, msg, migrateInfo ); +} + +function migratePatchFunc( obj, prop, newFunc, code ) { + return migratePatchFuncInternal( obj, prop, newFunc, code ); +} + +if ( window.document.compatMode === "BackCompat" ) { + + // jQuery has never supported or tested Quirks Mode + migrateWarn( "quirks", "jQuery is not compatible with Quirks Mode" ); +} + +var arr = [], + push = arr.push, + sort = arr.sort, + splice = arr.splice, + class2type = {}, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Require that the "whitespace run" starts from a non-whitespace + // to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position. + rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; + +migratePatchAndWarnFunc( jQuery, "parseJSON", function() { + return JSON.parse.apply( null, arguments ); +}, "parseJSON", +"jQuery.parseJSON is removed; use JSON.parse" ); + +migratePatchAndInfoFunc( jQuery, "holdReady", jQuery.holdReady, + "holdReady", "jQuery.holdReady() is deprecated" ); + +migratePatchAndWarnFunc( jQuery, "unique", jQuery.uniqueSort, + "unique", "jQuery.unique() is removed; use jQuery.uniqueSort()" ); + +migratePatchAndWarnFunc( jQuery, "trim", function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "$1" ); +}, "trim", +"jQuery.trim() is removed; use String.prototype.trim" ); + +migratePatchAndWarnFunc( jQuery, "nodeName", function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); +}, "nodeName", +"jQuery.nodeName() is removed" ); + +migratePatchAndWarnFunc( jQuery, "isArray", Array.isArray, "isArray", + "jQuery.isArray() is removed; use Array.isArray()" +); + +migratePatchAndWarnFunc( jQuery, "isNumeric", + function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = typeof obj; + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, e.g. hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, "isNumeric", + "jQuery.isNumeric() is removed" +); + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol". + split( " " ), +function( _, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +migratePatchAndWarnFunc( jQuery, "type", function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + return typeof obj === "object" ? + class2type[ Object.prototype.toString.call( obj ) ] || "object" : + typeof obj; +}, "type", +"jQuery.type() is removed" ); + +migratePatchAndWarnFunc( jQuery, "isFunction", function( obj ) { + return typeof obj === "function"; +}, "isFunction", +"jQuery.isFunction() is removed" ); + +migratePatchAndWarnFunc( jQuery, "isWindow", + function( obj ) { + return obj != null && obj === obj.window; + }, "isWindow", + "jQuery.isWindow() is removed" +); + +migratePatchAndWarnFunc( jQuery, "now", Date.now, "now", + "jQuery.now() is removed; use Date.now()" +); + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +migratePatchAndWarnFunc( jQuery, "camelCase", + function( string ) { + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 15 + // Microsoft forgot to hump their vendor prefix (trac-9572) + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, "camelCase", + "jQuery.camelCase() is removed" +); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +migratePatchAndInfoFunc( jQuery, "proxy", jQuery.proxy, + "proxy", "jQuery.proxy() is deprecated" ); + +migratePatchAndWarnFunc( jQuery.fn, "push", push, "push", + "jQuery.fn.push() is removed; use .add() or convert to an array" ); +migratePatchAndWarnFunc( jQuery.fn, "sort", sort, "sort", + "jQuery.fn.sort() is removed; convert to an array before sorting" ); +migratePatchAndWarnFunc( jQuery.fn, "splice", splice, "splice", + "jQuery.fn.splice() is removed; use .slice() or .not() with .eq()" ); + +// Now jQuery.expr.pseudos is the standard incantation +migrateInfoProp( jQuery.expr, "filters", jQuery.expr.pseudos, "expr-pre-pseudos", + "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos" ); +migrateInfoProp( jQuery.expr, ":", jQuery.expr.pseudos, "expr-pre-pseudos", + "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos" ); + +function markFunction( fn ) { + fn[ jQuery.expando ] = true; + return fn; +} + +migratePatchFunc( jQuery.expr.filter, "PSEUDO", function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // https://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = jQuery.expr.pseudos[ pseudo ] || + jQuery.expr.setFilters[ pseudo.toLowerCase() ] || + jQuery.error( + "Syntax error, unrecognized expression: unsupported pseudo: " + + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as jQuery does + if ( fn[ jQuery.expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + migrateInfo( "legacy-custom-pseudos", + "Pseudos with multiple arguments are deprecated; " + + "use jQuery.expr.createPseudo()" ); + args = [ pseudo, pseudo, "", argument ]; + return jQuery.expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = Array.prototype.indexOf.call( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; +}, "legacy-custom-pseudos" ); + +if ( typeof Proxy !== "undefined" ) { + jQuery.each( [ "pseudos", "setFilters" ], function( _, api ) { + jQuery.expr[ api ] = new Proxy( jQuery.expr[ api ], { + set: function( _target, _prop, fn ) { + if ( typeof fn === "function" && !fn[ jQuery.expando ] && fn.length > 1 ) { + migrateInfo( "legacy-custom-pseudos", + "Pseudos with multiple arguments are deprecated; " + + "use jQuery.expr.createPseudo()" ); + } + return Reflect.set.apply( this, arguments ); + } + } ); + } ); +} + +// Support jQuery slim which excludes the ajax module +if ( jQuery.ajax ) { + +var oldCallbacks = [], + guid = "migrate-" + Date.now(), + origJsonpCallback = jQuery.ajaxSettings.jsonpCallback, + rjsonp = /(=)\?(?=&|$)|\?\?/, + rquery = /\?/; + +jQuery.ajaxSetup( { + jsonpCallback: function() { + + // Source is virtually the same as in Core, but we need to duplicate + // to maintain a proper `oldCallbacks` reference. + if ( jQuery.migrateIsPatchEnabled( "jsonp-promotion" ) ) { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( guid++ ) ); + this[ callback ] = true; + return callback; + } else { + return origJsonpCallback.apply( this, arguments ); + } + } +} ); + +// Register this prefilter before the jQuery one. Otherwise, a promoted +// request is transformed into one with the script dataType, and we can't +// catch it anymore. +// +// Code mostly from: +// https://github.com/jquery/jquery/blob/fa0058af426c4e482059214c29c29f004254d9a1/src/ajax/jsonp.js#L20-L97 +jQuery.ajaxPrefilter( "+json", function( s, originalSettings, jqXHR ) { + + if ( !jQuery.migrateIsPatchEnabled( "jsonp-promotion" ) ) { + return; + } + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + migrateWarn( "jsonp-promotion", "JSON-to-JSONP auto-promotion is removed" ); + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = typeof s.jsonpCallback === "function" ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && typeof overwritten === "function" ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + +// Don't trigger the above logic by default as the JSON-to-JSONP auto-promotion +// behavior is gone in jQuery 4.0 and as it has security implications, we don't +// want to restore the legacy behavior by default. +jQuery.migrateDisablePatches( "jsonp-promotion" ); + +} + +var oldJQueryAttr = jQuery.attr, + oldToggleClass = jQuery.fn.toggleClass, + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|" + + "disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + rbooleans = new RegExp( "^(?:" + booleans + ")$", "i" ), + + // Some formerly boolean attributes gained new values with special meaning. + // Skip the old boolean attr logic for those values. + extraBoolAttrValues = { + hidden: [ "until-found" ] + }; + +// HTML boolean attributes have special behavior: +// we consider the lowercase name to be the only valid value, so +// getting (if the attribute is present) normalizes to that, as does +// setting to any non-`false` value (and setting to `false` removes the attribute). +// See https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes +jQuery.each( booleans.split( "|" ), function( _i, name ) { + var origAttrHooks = jQuery.attrHooks[ name ] || {}; + jQuery.attrHooks[ name ] = { + get: origAttrHooks.get || function( elem ) { + var attrValue; + + if ( jQuery.migrateIsPatchEnabled( "boolean-attributes" ) ) { + attrValue = elem.getAttribute( name ); + + if ( attrValue !== name && attrValue != null && + ( extraBoolAttrValues[ name ] || [] ) + .indexOf( String( attrValue ).toLowerCase() ) === -1 + ) { + migrateWarn( "boolean-attributes", + "Boolean attribute '" + name + + "' value is different from its lowercased name" ); + + return name.toLowerCase(); + } + } + + return null; + }, + + set: origAttrHooks.set || function( elem, value, name ) { + if ( jQuery.migrateIsPatchEnabled( "boolean-attributes" ) ) { + if ( value !== name && + ( extraBoolAttrValues[ name ] || [] ) + .indexOf( String( value ).toLowerCase() ) === -1 + ) { + if ( value !== false ) { + migrateWarn( "boolean-attributes", + "Boolean attribute '" + name + + "' is not set to its lowercased name" ); + } + + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } + } + } + }; +} ); + +migratePatchFunc( jQuery, "attr", function( elem, name, value ) { + var nType = elem.nodeType; + + // Fallback to the original method on text, comment and attribute nodes + // and when attributes are not supported. + if ( nType === 3 || nType === 8 || nType === 2 || + typeof elem.getAttribute === "undefined" ) { + return oldJQueryAttr.apply( this, arguments ); + } + + if ( value === false && name.toLowerCase().indexOf( "aria-" ) !== 0 && + !rbooleans.test( name ) ) { + migrateWarn( "attr-false", + "Setting the non-ARIA non-boolean attribute '" + name + + "' to false" ); + + jQuery.attr( elem, name, "false" ); + return; + } + + return oldJQueryAttr.apply( this, arguments ); +}, "attr-false" ); + +migratePatchFunc( jQuery.fn, "toggleClass", function( state ) { + + // Only deprecating no-args or single boolean arg + if ( state !== undefined && typeof state !== "boolean" ) { + + return oldToggleClass.apply( this, arguments ); + } + + migrateWarn( "toggleClass-bool", "jQuery.fn.toggleClass( [ boolean ] ) is removed" ); + + // Toggle entire class name of each element + return this.each( function() { + var className = this.getAttribute && this.getAttribute( "class" ) || ""; + + if ( className ) { + jQuery.data( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise, bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || state === false ? + "" : + jQuery.data( this, "__className__" ) || "" + ); + } + } ); +}, "toggleClass-bool" ); + +function camelCase( string ) { + return string.replace( /-([a-z])/g, function( _, letter ) { + return letter.toUpperCase(); + } ); +} + +// Make `object` inherit from `Object.prototype` via an additional object +// in between; that intermediate object proxies properties +// to `Object.prototype`, warning about their usage first. +function patchProto( object, options ) { + var i, + warningId = options.warningId, + apiName = options.apiName, + + // `Object.prototype` keys are not enumerable so list the + // official ones here. An alternative would be wrapping + // objects with a Proxy but that creates additional issues + // like breaking object identity on subsequent calls. + objProtoKeys = [ + "__proto__", + "__defineGetter__", + "__defineSetter__", + "__lookupGetter__", + "__lookupSetter__", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "toLocaleString", + "toString", + "valueOf" + ], + + // Use a null prototype at the beginning so that we can define our + // `__proto__` getter & setter. We'll reset the prototype afterward. + intermediateObj = Object.create( null ); + + for ( i = 0; i < objProtoKeys.length; i++ ) { + ( function( key ) { + Object.defineProperty( intermediateObj, key, { + get: function() { + migrateWarn( warningId, + "Accessing properties from " + apiName + + " inherited from Object.prototype is removed" ); + return ( key + "__cache" ) in intermediateObj ? + intermediateObj[ key + "__cache" ] : + Object.prototype[ key ]; + }, + set: function( value ) { + migrateWarn( warningId, + "Setting properties from " + apiName + + " inherited from Object.prototype is removed" ); + intermediateObj[ key + "__cache" ] = value; + } + } ); + } )( objProtoKeys[ i ] ); + } + + Object.setPrototypeOf( intermediateObj, Object.prototype ); + Object.setPrototypeOf( object, intermediateObj ); + + return object; +} + +var origFnCss, internalCssNumber, + ralphaStart = /^[a-z]/, + + // The regex visualized: + // + // /----------\ + // | | /-------\ + // | / Top \ | | | + // /--- Border ---+-| Right |-+---+- Width -+---\ + // | | Bottom | | + // | \ Left / | + // | | + // | /----------\ | + // | /-------------\ | | |- END + // | | | | / Top \ | | + // | | / Margin \ | | | Right | | | + // |---------+-| |-+---+-| Bottom |-+----| + // | \ Padding / \ Left / | + // BEGIN -| | + // | /---------\ | + // | | | | + // | | / Min \ | / Width \ | + // \--------------+-| |-+---| |---/ + // \ Max / \ Height / + rautoPx = /^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/; + +if ( typeof Proxy !== "undefined" ) { + jQuery.cssProps = new Proxy( jQuery.cssProps || {}, { + set: function() { + migrateWarn( "cssProps", "jQuery.cssProps is removed" ); + return Reflect.set.apply( this, arguments ); + } + } ); +} + +// `jQuery.cssNumber` is missing in jQuery >=4; fill it with the latest 3.x version: +// https://github.com/jquery/jquery/blob/3.7.1/src/css.js#L216-L246 +// This way, number values for the CSS properties below won't start triggering +// Migrate warnings when jQuery gets updated to >=4.0.0 (gh-438). +// +// We need to keep this as a local variable as we need it internally +// in a `jQuery.fn.css` patch and this usage shouldn't warn. +internalCssNumber = { + animationIterationCount: true, + aspectRatio: true, + borderImageSlice: true, + columnCount: true, + flexGrow: true, + flexShrink: true, + fontWeight: true, + gridArea: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnStart: true, + gridRow: true, + gridRowEnd: true, + gridRowStart: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + scale: true, + widows: true, + zIndex: true, + zoom: true, + + // SVG-related + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeMiterlimit: true, + strokeOpacity: true +}; + +if ( typeof Proxy !== "undefined" ) { + jQuery.cssNumber = new Proxy( internalCssNumber, { + get: function() { + migrateWarn( "css-number", "jQuery.cssNumber is deprecated" ); + return Reflect.get.apply( this, arguments ); + }, + set: function() { + migrateWarn( "css-number", "jQuery.cssNumber is deprecated" ); + return Reflect.set.apply( this, arguments ); + } + } ); +} else { + + // Support: IE 9-11+ + // IE doesn't support proxies, but we still want to restore the legacy + // jQuery.cssNumber there. + jQuery.cssNumber = internalCssNumber; +} + +function isAutoPx( prop ) { + + // The first test is used to ensure that: + // 1. The prop starts with a lowercase letter (as we uppercase it for the second regex). + // 2. The prop is not empty. + return ralphaStart.test( prop ) && + rautoPx.test( prop[ 0 ].toUpperCase() + prop.slice( 1 ) ); +} + +origFnCss = jQuery.fn.css; + +migratePatchFunc( jQuery.fn, "css", function( name, value ) { + var camelName, + origThis = this; + + if ( name && typeof name === "object" && !Array.isArray( name ) ) { + jQuery.each( name, function( n, v ) { + jQuery.fn.css.call( origThis, n, v ); + } ); + return this; + } + + if ( typeof value === "number" ) { + camelName = camelCase( name ); + + // Use `internalCssNumber` to avoid triggering our warnings in this + // internal check. + if ( !isAutoPx( camelName ) && !internalCssNumber[ camelName ] ) { + migrateWarn( "css-number", + "Auto-appending 'px' to number-typed values " + + "for jQuery.fn.css( \"" + name + "\", value ) is removed" ); + } + } + + return origFnCss.apply( this, arguments ); +}, "css-number" ); + +function patchDataProto( original, options ) { + var warningId = options.warningId, + apiName = options.apiName, + isInstanceMethod = options.isInstanceMethod; + + return function apiWithProtoPatched() { + var result = original.apply( this, arguments ); + + if ( arguments.length !== ( isInstanceMethod ? 0 : 1 ) || result === undefined ) { + return result; + } + + patchProto( result, { + warningId: warningId, + apiName: apiName + } ); + + return result; + }; +} + +migratePatchFunc( jQuery, "data", + patchDataProto( jQuery.data, { + warningId: "data-null-proto", + apiName: "jQuery.data()", + isInstanceMethod: false + } ), + "data-null-proto" ); +migratePatchFunc( jQuery, "_data", + patchDataProto( jQuery._data, { + warningId: "data-null-proto", + apiName: "jQuery._data()", + isInstanceMethod: false + } ), + "data-null-proto" ); +migratePatchFunc( jQuery.fn, "data", + patchDataProto( jQuery.fn.data, { + warningId: "data-null-proto", + apiName: "jQuery.fn.data()", + isInstanceMethod: true + } ), + "data-null-proto" ); + +// Support jQuery slim which excludes the effects module +if ( jQuery.fx ) { + +var intervalValue = jQuery.fx.interval, + intervalMsg = "jQuery.fx.interval is removed"; + +// Don't warn if document is hidden, jQuery uses setTimeout (gh-292) +Object.defineProperty( jQuery.fx, "interval", { + configurable: true, + enumerable: true, + get: function() { + if ( !window.document.hidden ) { + migrateWarn( "fx-interval", intervalMsg ); + } + + // Only fallback to the default if patch is enabled + if ( !jQuery.migrateIsPatchEnabled( "fx-interval" ) ) { + return intervalValue; + } + return intervalValue === undefined ? 13 : intervalValue; + }, + set: function( newValue ) { + migrateWarn( "fx-interval", intervalMsg ); + intervalValue = newValue; + } +} ); + +} + +var oldEventAdd = jQuery.event.add; + +jQuery.event.props = []; +jQuery.event.fixHooks = {}; + +migratePatchFunc( jQuery.event, "add", function( elem, types ) { + + // This misses the multiple-types case but that seems awfully rare + if ( elem === window && types === "load" && window.document.readyState === "complete" ) { + migrateWarn( "load-after-event", + "jQuery(window).on('load'...) called after load event occurred" ); + } + return oldEventAdd.apply( this, arguments ); +}, "load-after-event" ); + +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), +function( _i, name ) { + + // Handle event binding + migratePatchAndInfoFunc( jQuery.fn, name, jQuery.fn[ name ], "shorthand-deprecated-v3", + "jQuery.fn." + name + "() event shorthand is deprecated" ); +} ); + +migratePatchAndInfoFunc( jQuery.fn, "bind", jQuery.fn.bind, + "pre-on-methods", "jQuery.fn.bind() is deprecated" ); +migratePatchAndInfoFunc( jQuery.fn, "unbind", jQuery.fn.unbind, + "pre-on-methods", "jQuery.fn.unbind() is deprecated" ); +migratePatchAndInfoFunc( jQuery.fn, "delegate", jQuery.fn.delegate, + "pre-on-methods", "jQuery.fn.delegate() is deprecated" ); +migratePatchAndInfoFunc( jQuery.fn, "undelegate", jQuery.fn.undelegate, + "pre-on-methods", "jQuery.fn.undelegate() is deprecated" ); + +migratePatchAndInfoFunc( jQuery.fn, "hover", jQuery.fn.hover, + "hover", "jQuery.fn.hover() is deprecated" ); + +migrateWarnProp( jQuery.event, "global", {}, "event-global", + "jQuery.event.global is removed" ); + +migratePatchProp( jQuery.event, "special", + patchProto( jQuery.extend( Object.create( null ), jQuery.event.special ), { + warningId: "event-special-null-proto", + apiName: "jQuery.event.special" + } ), + "event-special-null-proto" ); + +var rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, + makeMarkup = function( html ) { + var doc = window.document.implementation.createHTMLDocument( "" ); + doc.body.innerHTML = html; + return doc.body && doc.body.innerHTML; + }, + warnIfChanged = function( html ) { + var changed = html.replace( rxhtmlTag, "<$1>" ); + if ( changed !== html && makeMarkup( html ) !== makeMarkup( changed ) ) { + migrateWarn( "self-closed-tags", + "HTML tags must be properly nested and closed: " + html ); + } + }; + +migratePatchFunc( jQuery, "htmlPrefilter", function( html ) { + warnIfChanged( html ); + return html.replace( rxhtmlTag, "<$1>" ); +}, "self-closed-tags" ); + +// This patch needs to be disabled by default as it re-introduces +// security issues (CVE-2020-11022, CVE-2020-11023). +jQuery.migrateDisablePatches( "self-closed-tags" ); + +// Support jQuery slim which excludes the deferred module in jQuery 4.0+ +if ( jQuery.Deferred ) { + +var unpatchedGetStackHookValue, + oldDeferred = jQuery.Deferred; + +migratePatchFunc( jQuery, "Deferred", function( func ) { + var deferred = oldDeferred(), + promise = deferred.promise(); + + migratePatchAndInfoFunc( deferred, "pipe", deferred.pipe, "deferred-pipe", + "deferred.pipe() is deprecated" ); + migratePatchAndInfoFunc( promise, "pipe", promise.pipe, "deferred-pipe", + "deferred.pipe() is deprecated" ); + + if ( func ) { + func.call( deferred, deferred ); + } + + return deferred; +}, "deferred-pipe" ); + +// Preserve handler of uncaught exceptions in promise chains +jQuery.Deferred.exceptionHook = oldDeferred.exceptionHook; + +// Preserve the optional hook to record the error, if defined +jQuery.Deferred.getErrorHook = oldDeferred.getErrorHook; + +// We want to mirror jQuery.Deferred.getErrorHook here, so we cannot use +// existing Migrate utils. +Object.defineProperty( jQuery.Deferred, "getStackHook", { + configurable: true, + enumerable: true, + get: function() { + if ( jQuery.migrateIsPatchEnabled( "deferred-getStackHook" ) ) { + migrateWarn( "deferred-getStackHook", + "jQuery.Deferred.getStackHook is removed; use jQuery.Deferred.getErrorHook" ); + return jQuery.Deferred.getErrorHook; + } else { + return unpatchedGetStackHookValue; + } + }, + set: function( newValue ) { + if ( jQuery.migrateIsPatchEnabled( "deferred-getStackHook" ) ) { + + // Only warn if `getErrorHook` wasn't set to the same value first. + if ( jQuery.Deferred.getErrorHook !== newValue ) { + migrateWarn( "deferred-getStackHook", + "jQuery.Deferred.getStackHook is removed; use jQuery.Deferred.getErrorHook" ); + jQuery.Deferred.getErrorHook = newValue; + } + } else { + unpatchedGetStackHookValue = newValue; + } + } +} ); + +} + +return jQuery; +} ); diff --git a/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.min.js b/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.min.js new file mode 100644 index 0000000000..ae9d5258e6 --- /dev/null +++ b/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.min.js @@ -0,0 +1,3 @@ +/*! jQuery Migrate v4.0.2 | (c) OpenJS Foundation and other contributors | jquery.com/license */ +"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e,window)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery"),window):t(jQuery,window)}(function(s,u){"use strict";function e(e){return 0<=function(e,t){for(var r=/^(\d+)\.(\d+)\.(\d+)/,o=r.exec(e)||[],n=r.exec(t)||[],a=1;a<=3;a++){if(+o[a]>+n[a])return 1;if(+o[a]<+n[a])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion="4.0.2";var t=Object.create(null),n=(s.migrateDisablePatches=function(){for(var e=0;e\x20\t\r\n\f]*)[^>]*)\/>/gi),D=function(e){var t=u.document.implementation.createHTMLDocument("");return t.body.innerHTML=e,t.body&&t.body.innerHTML};return f(s,"htmlPrefilter",function(e){var t,r;return(r=(t=e).replace(M,"<$1>"))!==t&&D(t)!==D(r)&&d("self-closed-tags","HTML tags must be properly nested and closed: "+t),e.replace(M,"<$1>")},"self-closed-tags"),s.migrateDisablePatches("self-closed-tags"),s.Deferred&&(A=s.Deferred,f(s,"Deferred",function(e){var t=A(),r=t.promise();return l(t,"pipe",t.pipe,"deferred-pipe","deferred.pipe() is deprecated"),l(r,"pipe",r.pipe,"deferred-pipe","deferred.pipe() is deprecated"),e&&e.call(t,t),t},"deferred-pipe"),s.Deferred.exceptionHook=A.exceptionHook,s.Deferred.getErrorHook=A.getErrorHook,Object.defineProperty(s.Deferred,"getStackHook",{configurable:!0,enumerable:!0,get:function(){return s.migrateIsPatchEnabled("deferred-getStackHook")?(d("deferred-getStackHook","jQuery.Deferred.getStackHook is removed; use jQuery.Deferred.getErrorHook"),s.Deferred.getErrorHook):I},set:function(e){s.migrateIsPatchEnabled("deferred-getStackHook")?s.Deferred.getErrorHook!==e&&(d("deferred-getStackHook","jQuery.Deferred.getStackHook is removed; use jQuery.Deferred.getErrorHook"),s.Deferred.getErrorHook=e):I=e}})),s}); +//# sourceMappingURL=jquery-migrate.min.map \ No newline at end of file diff --git a/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.min.map b/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.min.map new file mode 100644 index 0000000000..4abd9cebe0 --- /dev/null +++ b/textpattern/vendors/jquery/jquery-migrate/jquery-migrate.min.map @@ -0,0 +1 @@ +{"version":3,"file":"jquery-migrate.min.js","sources":["../src/migratemute.js","jquery-migrate.js"],"names":["jQuery","migrateMute","factory","define","amd","window","module","exports","require","jQueryVersionSince","version","v1","v2","rVersionParts","v1p","exec","v2p","i","fn","jquery","migrateVersion","disabledPatches","Object","create","messagesLogged","migrateDisablePatches","arguments","length","migrateEnablePatches","migrateIsPatchEnabled","patchCode","console","log","migrateMessages","migrateMessageInternal","code","msg","consoleMethod","migrateDeduplicateMessages","push","toUpperCase","migrateTrace","trace","migrateWarn","migrateInfo","migratePatchPropInternal","obj","prop","value","migrateMessageFn","orig","defineProperty","configurable","enumerable","get","set","newValue","migrateInfoProp","Error","migratePatchFuncInternal","newFunc","apply","this","migratePatchAndWarnFunc","migratePatchAndInfoFunc","migratePatchFunc","undefined","migrateReset","document","compatMode","oldCallbacks","guid","origJsonpCallback","rjsonp","rquery","arr","sort","splice","class2type","rmsPrefix","rdashAlpha","rtrim","fcamelCase","_all","letter","JSON","parse","holdReady","uniqueSort","text","replace","elem","name","nodeName","toLowerCase","Array","isArray","type","isNaN","parseFloat","each","split","_","prototype","toString","call","Date","now","string","proxy","expr","pseudos","filter","pseudo","argument","args","setFilters","error","expando","hasOwnProperty","seed","matches","idx","matched","indexOf","Proxy","api","_target","_prop","Reflect","ajax","ajaxSettings","jsonpCallback","ajaxSetup","callback","pop","ajaxPrefilter","s","originalSettings","jqXHR","callbackName","overwritten","responseContainer","jsonProp","jsonp","test","url","data","contentType","dataTypes","converters","always","removeProp","oldJQueryAttr","attr","oldToggleClass","toggleClass","booleans","rbooleans","RegExp","extraBoolAttrValues","hidden","patchProto","object","options","warningId","apiName","objProtoKeys","intermediateObj","key","setPrototypeOf","_i","origAttrHooks","attrHooks","attrValue","getAttribute","String","removeAttr","setAttribute","nType","nodeType","state","className","origFnCss","internalCssNumber","intervalValue","intervalMsg","ralphaStart","rautoPx","patchDataProto","original","isInstanceMethod","result","cssProps","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","fontWeight","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","scale","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","cssNumber","css","origThis","n","v","camelName","slice","_data","fx","interval","unpatchedGetStackHookValue","oldDeferred","oldEventAdd","event","add","rxhtmlTag","props","fixHooks","types","readyState","bind","unbind","delegate","undelegate","hover","extend","special","makeMarkup","html","doc","implementation","createHTMLDocument","body","innerHTML","changed","Deferred","func","deferred","promise","pipe","exceptionHook","getErrorHook"],"mappings":";AAEmC,aAA9B,OAAOA,OAAOC,cAClBD,OAAOC,YAAc,CAAA,GCGtB,SAAYC,GACX,aAEuB,YAAlB,OAAOC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,UAAY,SAAUH,GAC/B,OAAOE,EAASF,EAAQK,MAAO,CAChC,CAAE,EAC2B,UAAlB,OAAOC,QAAuBA,OAAOC,QAIhDD,OAAOC,QAAUL,EAASM,QAAS,QAAS,EAAGH,MAAO,EAItDH,EAASF,OAAQK,MAAO,CAExB,EAAG,SAAUL,EAAQK,GACvB,aAsBA,SAASI,EAAoBC,GAC5B,OAAuD,GAlBxD,SAA0BC,EAAIC,GAM7B,IALA,IACCC,EAAgB,uBAChBC,EAAMD,EAAcE,KAAMJ,CAAG,GAAK,GAClCK,EAAMH,EAAcE,KAAMH,CAAG,GAAK,GAE7BK,EAAI,EAAGA,GAAK,EAAGA,CAAC,GAAK,CAC1B,GAAK,CAACH,EAAKG,GAAM,CAACD,EAAKC,GACtB,OAAO,EAER,GAAK,CAACH,EAAKG,GAAM,CAACD,EAAKC,GACtB,MAAO,CAAC,CAEV,CACA,OAAO,CACR,EAGyBjB,EAAOkB,GAAGC,OAAQT,CAAQ,CACnD,CAtBAV,EAAOoB,eAAiB,QA0BxB,IAAIC,EAAkBC,OAAOC,OAAQ,IAAK,EAkDtCC,GA7CJxB,EAAOyB,sBAAwB,WAE9B,IADA,IACMR,EAAI,EAAGA,EAAIS,UAAUC,OAAQV,CAAC,GACnCI,EAAiBK,UAAWT,IAAQ,CAAA,CAEtC,EAWAjB,EAAO4B,qBAAuB,WAE7B,IADA,IACMX,EAAI,EAAGA,EAAIS,UAAUC,OAAQV,CAAC,GACnC,OAAOI,EAAiBK,UAAWT,GAErC,EAEAjB,EAAO6B,sBAAwB,SAAUC,GACxC,MAAO,CAACT,EAAiBS,EAC1B,EAKM9B,GAAWS,EAAoB,OAAQ,GAC3CA,CAAAA,EAAoB,OAAQ,GAC7BJ,EAAO0B,QAAQC,IAAK,gCAAiC,EAEjDhC,EAAOiC,iBACX5B,EAAO0B,QAAQC,IAAK,iDAAkD,EAIvE3B,EAAO0B,QAAQC,IAAK,mCACjBhC,EAAOC,YAAc,GAAK,wBAC5B,aAAeD,EAAOoB,cAAe,EAIjBE,OAAOC,OAAQ,IAAK,GAqBzC,SAASW,EAAwBC,EAAMC,EAAKC,GAC3C,IAAIN,EAAU1B,EAAO0B,QAEhB/B,CAAAA,EAAO6B,sBAAuBM,CAAK,GACpCnC,EAAOsC,4BAA+Bd,EAAgBY,KACzDZ,EAAgBY,GAAQ,CAAA,EACxBpC,EAAOiC,gBAAgBM,KAAMF,EAAcG,YAAY,EAAI,KAC1DJ,EAAM,KAAOD,EAAO,GAAI,EAEpBJ,EAASM,IAAmB,CAACrC,EAAOC,cACxC8B,EAASM,GAAiB,cAAgBD,CAAI,EAEzCpC,EAAOyC,eAIXV,EAAQW,MAAO,cAAgBN,CAAI,EAIvC,CAEA,SAASO,EAAaR,EAAMC,GAC3BF,EAAwBC,EAAMC,EAAK,MAAO,CAC3C,CAEA,SAASQ,EAAaT,EAAMC,GAC3BF,EAAwBC,EAAMC,EAAK,MAAO,CAC3C,CAEA,SAASS,EACRC,EAAKC,EAAMC,EAAOb,EAAMC,EAAKa,GAE7B,IAAIC,EAAOJ,EAAKC,GAChBzB,OAAO6B,eAAgBL,EAAKC,EAAM,CACjCK,aAAc,CAAA,EACdC,WAAY,CAAA,EAEZC,IAAK,WACJ,OAAKtD,EAAO6B,sBAAuBM,CAAK,GAIlCC,GACJa,EAAkBd,EAAMC,CAAI,EAGtBY,GAGDE,CACR,EAEAK,IAAK,SAAUC,GACTxD,EAAO6B,sBAAuBM,CAAK,GAGlCC,GACJa,EAAkBd,EAAMC,CAAI,EAM9Bc,EAAOF,EAAQQ,CAChB,CACD,CAAE,CACH,CAMA,SAASC,EAAiBX,EAAKC,EAAMC,EAAOb,EAAMC,GACjD,GAAK,CAACA,EACL,MAAM,IAAIsB,MAAO,6BAA8B,EAEhDb,EAA0BC,EAAKC,EAAMC,EAAOb,EAAMC,EAAKQ,CAAY,CACpE,CASA,SAASe,EACRb,EAAKC,EAAMa,EAASzB,EAAMC,EAAKa,GAgB/BJ,EAA0BC,EAAKC,EAb/B,WAUC,OAJKX,GACJa,EAAkBd,EAAMC,CAAI,EAGtBwB,EAAQC,MAAOC,KAAMpC,SAAU,CACvC,EAEqDS,CAAK,CAC3D,CAEA,SAAS4B,EAAyBjB,EAAKC,EAAMa,EAASzB,EAAMC,GAC3D,GAAK,CAACA,EACL,MAAM,IAAIsB,MAAO,6BAA8B,EAEzCC,EAA0Bb,EAAKC,EAAMa,EAASzB,EAAMC,EAAKO,CAAY,CAC7E,CAEA,SAASqB,EAAyBlB,EAAKC,EAAMa,EAASzB,EAAMC,GAC3D,GAAK,CAACA,EACL,MAAM,IAAIsB,MAAO,0BAA2B,EAEtCC,EAA0Bb,EAAKC,EAAMa,EAASzB,EAAMC,EAAKQ,CAAY,CAC7E,CAEA,SAASqB,EAAkBnB,EAAKC,EAAMa,EAASzB,GACvCwB,EAA0Bb,EAAKC,EAAMa,EAASzB,CAAK,CAC3D,CA7IAnC,EAAOiC,gBAAkB,GAGpBjC,EAAOsC,6BAA+B4B,YAC1ClE,EAAOsC,2BAA6B,CAAA,GAIhCtC,EAAOyC,eAAiByB,YAC5BlE,EAAOyC,aAAe,CAAA,GAIvBzC,EAAOmE,aAAe,WACrB3C,EAAiBF,OAAOC,OAAQ,IAAK,EACrCvB,EAAOiC,gBAAgBN,OAAS,CACjC,EA+HoC,eAA/BtB,EAAO+D,SAASC,YAGpB1B,EAAa,SAAU,2CAA4C,EAGpE,IAmMI2B,EACHC,EACAC,EACAC,EACAC,EAvMGC,EAAM,GACTpC,EAAOoC,EAAIpC,KACXqC,EAAOD,EAAIC,KACXC,EAASF,EAAIE,OACbC,EAAa,GAGbC,EAAY,QACZC,EAAa,YAIbC,EAAQ,sDAiFT,SAASC,EAAYC,EAAMC,GAC1B,OAAOA,EAAO5C,YAAY,CAC3B,CAjFAuB,EAAyB/D,EAAQ,YAAa,WAC7C,OAAOqF,KAAKC,MAAMzB,MAAO,KAAMnC,SAAU,CAC1C,EAAG,YACH,6CAA8C,EAE9CsC,EAAyBhE,EAAQ,YAAaA,EAAOuF,UACpD,YAAa,kCAAmC,EAEjDxB,EAAyB/D,EAAQ,SAAUA,EAAOwF,WACjD,SAAU,qDAAsD,EAEjEzB,EAAyB/D,EAAQ,OAAQ,SAAUyF,GAClD,OAAe,MAARA,EACN,IACEA,EAAO,IAAKC,QAAST,EAAO,IAAK,CACrC,EAAG,OACH,qDAAsD,EAEtDlB,EAAyB/D,EAAQ,WAAY,SAAU2F,EAAMC,GAC5D,OAAOD,EAAKE,UAAYF,EAAKE,SAASC,YAAY,IAAMF,EAAKE,YAAY,CAC1E,EAAG,WACH,8BAA+B,EAE/B/B,EAAyB/D,EAAQ,UAAW+F,MAAMC,QAAS,UAC1D,kDACD,EAEAjC,EAAyB/D,EAAQ,YAChC,SAAU8C,GAKT,IAAImD,EAAO,OAAOnD,EAClB,OAAkB,UAATmD,GAA8B,UAATA,IAK7B,CAACC,MAAOpD,EAAMqD,WAAYrD,CAAI,CAAE,CAClC,EAAG,YACH,+BACD,EAGA9C,EAAOoG,KAAM,uEACZC,MAAO,GAAI,EACZ,SAAUC,EAAGV,GACZd,EAAY,WAAac,EAAO,KAAQA,EAAKE,YAAY,CAC1D,CAAE,EAEF/B,EAAyB/D,EAAQ,OAAQ,SAAU8C,GAClD,OAAY,MAAPA,EACGA,EAAM,GAGQ,UAAf,OAAOA,EACbgC,EAAYxD,OAAOiF,UAAUC,SAASC,KAAM3D,CAAI,IAAO,SACvD,OAAOA,CACT,EAAG,OACH,0BAA2B,EAE3BiB,EAAyB/D,EAAQ,aAAc,SAAU8C,GACxD,MAAsB,YAAf,OAAOA,CACf,EAAG,aACH,gCAAiC,EAEjCiB,EAAyB/D,EAAQ,WAChC,SAAU8C,GACT,OAAc,MAAPA,GAAeA,IAAQA,EAAIzC,MACnC,EAAG,WACH,8BACD,EAEA0D,EAAyB/D,EAAQ,MAAO0G,KAAKC,IAAK,MACjD,yCACD,EAOA5C,EAAyB/D,EAAQ,YAChC,SAAU4G,GAKT,OAAOA,EAAOlB,QAASX,EAAW,KAAM,EAAEW,QAASV,EAAYE,CAAW,CAC3E,EAAG,YACH,+BACD,EAMAlB,EAAyBhE,EAAQ,QAASA,EAAO6G,MAChD,QAAS,8BAA+B,EAEzC9C,EAAyB/D,EAAOkB,GAAI,OAAQqB,EAAM,OACjD,gEAAiE,EAClEwB,EAAyB/D,EAAOkB,GAAI,OAAQ0D,EAAM,OACjD,iEAAkE,EACnEb,EAAyB/D,EAAOkB,GAAI,SAAU2D,EAAQ,SACrD,kEAAmE,EAGpEpB,EAAiBzD,EAAO8G,KAAM,UAAW9G,EAAO8G,KAAKC,QAAS,mBAC7D,4DAA6D,EAC9DtD,EAAiBzD,EAAO8G,KAAM,IAAK9G,EAAO8G,KAAKC,QAAS,mBACvD,yDAA0D,EAO3D9C,EAAkBjE,EAAO8G,KAAKE,OAAQ,SAAU,SAAUC,EAAQC,GAMjE,IAAIC,EACHjG,EAAKlB,EAAO8G,KAAKC,QAASE,IACzBjH,EAAO8G,KAAKM,WAAYH,EAAOnB,YAAY,IAC3C9F,EAAOqH,MACN,8DACCJ,CAAO,EAKX,OAAK/F,EAAIlB,EAAOsH,SACRpG,EAAIgG,CAAS,EAIJ,EAAZhG,EAAGS,QACPiB,EAAa,wBACZ,gFACkC,EACnCuE,EAAO,CAAEF,EAAQA,EAAQ,GAAIC,GACtBlH,EAAO8G,KAAKM,WAAWG,eAAgBN,EAAOnB,YAAY,CAAE,IA/B9C5E,EAgCN,SAAUsG,EAAMC,GAC7B,IAAIC,EACHC,EAAUzG,EAAIsG,EAAMN,CAAS,EAC7BjG,EAAI0G,EAAQhG,OACb,MAAQV,CAAC,GAERuG,EADAE,EAAM3B,MAAMQ,UAAUqB,QAAQnB,KAAMe,EAAMG,EAAS1G,EAAI,GACzC,EAAGwG,EAASC,GAAQC,EAAS1G,GAE7C,GAvCEjB,EAAOsH,SAAY,CAAA,EAChBpG,GAuCL,SAAUyE,GACT,OAAOzE,EAAIyE,EAAM,EAAGwB,CAAK,CAC1B,GAGKjG,CACR,EAAG,uBAAwB,EAEL,aAAjB,OAAO2G,OACX7H,EAAOoG,KAAM,CAAE,UAAW,cAAgB,SAAUE,EAAGwB,GACtD9H,EAAO8G,KAAMgB,GAAQ,IAAID,MAAO7H,EAAO8G,KAAMgB,GAAO,CACnDvE,IAAK,SAAUwE,EAASC,EAAO9G,GAM9B,MALmB,YAAd,OAAOA,GAAqB,CAACA,EAAIlB,EAAOsH,UAAyB,EAAZpG,EAAGS,QAC5DiB,EAAa,wBACZ,gFACkC,EAE7BqF,QAAQ1E,IAAIM,MAAOC,KAAMpC,SAAU,CAC3C,CACD,CAAE,CACH,CAAE,EAIE1B,EAAOkI,OAER5D,EAAe,GAClBC,EAAO,WAAamC,KAAKC,IAAI,EAC7BnC,EAAoBxE,EAAOmI,aAAaC,cACxC3D,EAAS,oBACTC,EAAS,KAEV1E,EAAOqI,UAAW,CACjBD,cAAe,WAId,IACKE,EADL,OAAKtI,EAAO6B,sBAAuB,iBAAkB,GAEpDiC,KADIwE,EAAWhE,EAAaiE,IAAI,GAAOvI,EAAOsH,QAAU,IAAQ/C,CAAO,IACpD,CAAA,EACZ+D,GAEA9D,EAAkBX,MAAOC,KAAMpC,SAAU,CAElD,CACD,CAAE,EAQF1B,EAAOwI,cAAe,QAAS,SAAUC,EAAGC,EAAkBC,GAE7D,IAIIC,EAAcC,EAAaC,EAC9BC,EALD,OAAM/I,EAAO6B,sBAAuB,iBAAkB,KAKrDkH,EAAuB,CAAA,IAAZN,EAAEO,QAAqBvE,EAAOwE,KAAMR,EAAES,GAAI,EACpD,MACkB,UAAlB,OAAOT,EAAEU,MAE6C,KADnDV,EAAEW,aAAe,IACjBxB,QAAS,mCAAoC,GAC/CnD,EAAOwE,KAAMR,EAAEU,IAAK,GAAK,UAIU,UAArBV,EAAEY,UAAW,KAC7B1G,EAAa,kBAAmB,yCAA0C,EAG1EiG,EAAeH,EAAEL,cAA2C,YAA3B,OAAOK,EAAEL,cACzCK,EAAEL,cAAc,EAChBK,EAAEL,cAGEW,EACJN,EAAGM,GAAaN,EAAGM,GAAWrD,QAASjB,EAAQ,KAAOmE,CAAa,EAC5C,CAAA,IAAZH,EAAEO,QACbP,EAAES,MAASxE,EAAOuE,KAAMR,EAAES,GAAI,EAAI,IAAM,KAAQT,EAAEO,MAAQ,IAAMJ,GAIjEH,EAAEa,WAAY,eAAkB,WAI/B,OAHMR,GACL9I,EAAOqH,MAAOuB,EAAe,iBAAkB,EAEzCE,EAAmB,EAC3B,EAGAL,EAAEY,UAAW,GAAM,OAGnBR,EAAcxI,EAAQuI,GACtBvI,EAAQuI,GAAiB,WACxBE,EAAoBpH,SACrB,EAGAiH,EAAMY,OAAQ,WAGRV,IAAgB3E,UACpBlE,EAAQK,CAAO,EAAEmJ,WAAYZ,CAAa,EAI1CvI,EAAQuI,GAAiBC,EAIrBJ,EAAGG,KAGPH,EAAEL,cAAgBM,EAAiBN,cAGnC9D,EAAa/B,KAAMqG,CAAa,GAI5BE,GAA4C,YAAvB,OAAOD,GAChCA,EAAaC,EAAmB,EAAI,EAGrCA,EAAoBD,EAAc3E,SACnC,CAAE,EAGK,UA7ER,KAAA,CA+ED,CAAE,EAKFlE,EAAOyB,sBAAuB,iBAAkB,GAIhD,IAAIgI,EAAgBzJ,EAAO0J,KAC1BC,EAAiB3J,EAAOkB,GAAG0I,YAC3BC,EAAW,6HAEXC,EAAY,IAAIC,OAAQ,OAASF,EAAW,KAAM,GAAI,EAItDG,EAAsB,CACrBC,OAAQ,CAAE,cACX,EAyHD,SAASC,EAAYC,EAAQC,GA2B5B,IA1BA,IACCC,EAAYD,EAAQC,UACpBC,EAAUF,EAAQE,QAMlBC,EAAe,CACd,YACA,mBACA,mBACA,mBACA,mBACA,iBACA,gBACA,uBACA,iBACA,WACA,WAKDC,EAAkBlJ,OAAOC,OAAQ,IAAK,EAEjCN,EAAI,EAAGA,EAAIsJ,EAAa5I,OAAQV,CAAC,GACtC,CAAA,SAAYwJ,GACXnJ,OAAO6B,eAAgBqH,EAAiBC,EAAK,CAC5CnH,IAAK,WAIJ,OAHAX,EAAa0H,EACZ,6BAA+BC,EAC/B,6CAA8C,EACtCG,EAAM,YAAeD,EAC7BA,EAAiBC,EAAM,WACvBnJ,OAAOiF,UAAWkE,EACpB,EACAlH,IAAK,SAAUP,GACdL,EAAa0H,EACZ,2BAA6BC,EAC7B,6CAA8C,EAC/CE,EAAiBC,EAAM,WAAczH,CACtC,CACD,CAAE,CACD,EAAGuH,EAActJ,EAAI,EAMxB,OAHAK,OAAOoJ,eAAgBF,EAAiBlJ,OAAOiF,SAAU,EACzDjF,OAAOoJ,eAAgBP,EAAQK,CAAgB,EAExCL,CACR,CAtKAnK,EAAOoG,KAAMyD,EAASxD,MAAO,GAAI,EAAG,SAAUsE,EAAI/E,GACjD,IAAIgF,EAAgB5K,EAAO6K,UAAWjF,IAAU,GAChD5F,EAAO6K,UAAWjF,GAAS,CAC1BtC,IAAKsH,EAActH,KAAO,SAAUqC,GAGnC,OAAK3F,EAAO6B,sBAAuB,oBAAqB,IACvDiJ,EAAYnF,EAAKoF,aAAcnF,CAAK,KAEjBA,GAAqB,MAAbkF,GAEyB,CAAC,KADlDd,EAAqBpE,IAAU,IAC/BgC,QAASoD,OAAQF,CAAU,EAAEhF,YAAY,CAAE,GAE7CnD,EAAa,qBACZ,sBAAwBiD,EACvB,+CAAgD,EAE3CA,EAAKE,YAAY,GAInB,IACR,EAEAvC,IAAKqH,EAAcrH,KAAO,SAAUoC,EAAM3C,EAAO4C,GAChD,GAAK5F,EAAO6B,sBAAuB,oBAAqB,GAClDmB,IAAU4C,GAEiC,CAAC,KAD9CoE,EAAqBpE,IAAU,IAC/BgC,QAASoD,OAAQhI,CAAM,EAAE8C,YAAY,CAAE,EAezC,MAbe,CAAA,IAAV9C,GACJL,EAAa,qBACZ,sBAAwBiD,EACvB,qCAAsC,EAG1B,CAAA,IAAV5C,EAGJhD,EAAOiL,WAAYtF,EAAMC,CAAK,EAE9BD,EAAKuF,aAActF,EAAMA,CAAK,EAExBA,CAGV,CACD,CACD,CAAE,EAEF3B,EAAkBjE,EAAQ,OAAQ,SAAU2F,EAAMC,EAAM5C,GACvD,IAAImI,EAAQxF,EAAKyF,SAIjB,OAAe,IAAVD,GAAyB,IAAVA,GAAyB,IAAVA,GACJ,aAA7B,OAAOxF,EAAKoF,cAIC,CAAA,IAAV/H,GAA6D,IAA1C4C,EAAKE,YAAY,EAAE8B,QAAS,OAAQ,GACzDkC,EAAUb,KAAMrD,CAAK,EASjB6D,EAAc5F,MAAOC,KAAMpC,SAAU,GAR3CiB,EAAa,aACZ,+CAAiDiD,EAChD,YAAa,EAFfjD,KAIA3C,EAAO0J,KAAM/D,EAAMC,EAAM,OAAQ,EAKnC,EAAG,YAAa,EAEhB3B,EAAkBjE,EAAOkB,GAAI,cAAe,SAAUmK,GAGrD,OAAKA,IAAUnH,WAA8B,WAAjB,OAAOmH,EAE3B1B,EAAe9F,MAAOC,KAAMpC,SAAU,GAG9CiB,EAAa,mBAAoB,iDAAkD,EAG5EmB,KAAKsC,KAAM,WACjB,IAAIkF,EAAYxH,KAAKiH,cAAgBjH,KAAKiH,aAAc,OAAQ,GAAK,GAEhEO,GACJtL,EAAOmJ,KAAMrF,KAAM,gBAAiBwH,CAAU,EAO1CxH,KAAKoH,cACTpH,KAAKoH,aAAc,QAClBI,CAAAA,GAAuB,CAAA,IAAVD,GAEZrL,EAAOmJ,KAAMrF,KAAM,eAAgB,GAAK,EAC1C,CAEF,CAAE,EACH,EAAG,kBAAmB,EAiEtB,IAAIyH,EAAWC,EAgLXC,EACHC,EAhLAC,EAAc,SAuBdC,EAAU,8HA0GX,SAASC,EAAgBC,EAAU1B,GAClC,IAAIC,EAAYD,EAAQC,UACvBC,EAAUF,EAAQE,QAClByB,EAAmB3B,EAAQ2B,iBAE5B,OAAO,WACN,IAAIC,EAASF,EAASjI,MAAOC,KAAMpC,SAAU,EAW7C,OATKA,UAAUC,UAAaoK,EAAmB,EAAI,IAAOC,IAAW9H,WAIrEgG,EAAY8B,EAAQ,CACnB3B,UAAWA,EACXC,QAASA,CACV,CAAE,EAEK0B,CACR,CACD,CA3HsB,aAAjB,OAAOnE,QACX7H,EAAOiM,SAAW,IAAIpE,MAAO7H,EAAOiM,UAAY,GAAI,CACnD1I,IAAK,WAEJ,OADAZ,EAAa,WAAY,4BAA6B,EAC/CsF,QAAQ1E,IAAIM,MAAOC,KAAMpC,SAAU,CAC3C,CACD,CAAE,GAUH8J,EAAoB,CACnBU,wBAAyB,CAAA,EACzBC,YAAa,CAAA,EACbC,iBAAkB,CAAA,EAClBC,YAAa,CAAA,EACbC,SAAU,CAAA,EACVC,WAAY,CAAA,EACZC,WAAY,CAAA,EACZC,SAAU,CAAA,EACVC,WAAY,CAAA,EACZC,cAAe,CAAA,EACfC,gBAAiB,CAAA,EACjBC,QAAS,CAAA,EACTC,WAAY,CAAA,EACZC,aAAc,CAAA,EACdC,WAAY,CAAA,EACZC,QAAS,CAAA,EACTC,MAAO,CAAA,EACPC,QAAS,CAAA,EACTC,MAAO,CAAA,EACPC,OAAQ,CAAA,EACRC,OAAQ,CAAA,EACRC,KAAM,CAAA,EAGNC,YAAa,CAAA,EACbC,aAAc,CAAA,EACdC,YAAa,CAAA,EACbC,iBAAkB,CAAA,EAClBC,cAAe,CAAA,CAChB,EAEsB,aAAjB,OAAO/F,MACX7H,EAAO6N,UAAY,IAAIhG,MAAO2D,EAAmB,CAChDlI,IAAK,WAEJ,OADAX,EAAa,aAAc,gCAAiC,EACrDsF,QAAQ3E,IAAIO,MAAOC,KAAMpC,SAAU,CAC3C,EACA6B,IAAK,WAEJ,OADAZ,EAAa,aAAc,gCAAiC,EACrDsF,QAAQ1E,IAAIM,MAAOC,KAAMpC,SAAU,CAC3C,CACD,CAAE,EAMF1B,EAAO6N,UAAYrC,EAYpBD,EAAYvL,EAAOkB,GAAG4M,IAEtB7J,EAAkBjE,EAAOkB,GAAI,MAAO,SAAU0E,EAAM5C,GACnD,IAZkBD,EAajBgL,EAAWjK,KAEZ,OAAK8B,GAAwB,UAAhB,OAAOA,GAAqB,CAACG,MAAMC,QAASJ,CAAK,GAC7D5F,EAAOoG,KAAMR,EAAM,SAAUoI,EAAGC,GAC/BjO,EAAOkB,GAAG4M,IAAIrH,KAAMsH,EAAUC,EAAGC,CAAE,CACpC,CAAE,EACKnK,OAGc,UAAjB,OAAOd,IACXkL,EAAuBtI,EAlLVF,QAAS,YAAa,SAAUY,EAAGlB,GAChD,OAAOA,EAAO5C,YAAY,CAC3B,CAAE,EAyJgBO,EA2BDmL,EAtBVvC,EAAY1C,KAAMlG,CAAK,GAC7B6I,EAAQ3C,KAAMlG,EAAM,GAAIP,YAAY,EAAIO,EAAKoL,MAAO,CAAE,CAAE,GAqBxB3C,EAAmB0C,IAClDvL,EAAa,aACZ,mEAC2BiD,EAAO,uBAAyB,GAIvD2F,EAAU1H,MAAOC,KAAMpC,SAAU,EACzC,EAAG,YAAa,EAuBhBuC,EAAkBjE,EAAQ,OACzB6L,EAAgB7L,EAAOmJ,KAAM,CAC5BkB,UAAW,kBACXC,QAAS,gBACTyB,iBAAkB,CAAA,CACnB,CAAE,EACF,iBAAkB,EACnB9H,EAAkBjE,EAAQ,QACzB6L,EAAgB7L,EAAOoO,MAAO,CAC7B/D,UAAW,kBACXC,QAAS,iBACTyB,iBAAkB,CAAA,CACnB,CAAE,EACF,iBAAkB,EACnB9H,EAAkBjE,EAAOkB,GAAI,OAC5B2K,EAAgB7L,EAAOkB,GAAGiI,KAAM,CAC/BkB,UAAW,kBACXC,QAAS,mBACTyB,iBAAkB,CAAA,CACnB,CAAE,EACF,iBAAkB,EAGd/L,EAAOqO,KAER5C,EAAgBzL,EAAOqO,GAAGC,SAC7B5C,EAAc,gCAGfpK,OAAO6B,eAAgBnD,EAAOqO,GAAI,WAAY,CAC7CjL,aAAc,CAAA,EACdC,WAAY,CAAA,EACZC,IAAK,WAMJ,OALMjD,EAAO+D,SAAS6F,QACrBtH,EAAa,cAAe+I,CAAY,EAInC1L,EAAO6B,sBAAuB,aAAc,GAG3C4J,IAAkBvH,UAAY,GAF7BuH,CAGT,EACAlI,IAAK,SAAUC,GACdb,EAAa,cAAe+I,CAAY,EACxCD,EAAgBjI,CACjB,CACD,CAAE,GAIF,IAyEI+K,EACHC,EA1EGC,EAAczO,EAAO0O,MAAMC,IA+C3BC,GA7CJ5O,EAAO0O,MAAMG,MAAQ,GACrB7O,EAAO0O,MAAMI,SAAW,GAExB7K,EAAkBjE,EAAO0O,MAAO,MAAO,SAAU/I,EAAMoJ,GAOtD,OAJKpJ,IAAStF,GAAoB,SAAV0O,GAAmD,aAA/B1O,EAAO+D,SAAS4K,YAC3DrM,EAAa,mBACZ,+DAAgE,EAE3D8L,EAAY5K,MAAOC,KAAMpC,SAAU,CAC3C,EAAG,kBAAmB,EAEtB1B,EAAOoG,KAAM,wLAEgDC,MAAO,GAAI,EACxE,SAAUsE,EAAI/E,GAGb5B,EAAyBhE,EAAOkB,GAAI0E,EAAM5F,EAAOkB,GAAI0E,GAAQ,0BAC5D,aAAeA,EAAO,kCAAmC,CAC3D,CAAE,EAEF5B,EAAyBhE,EAAOkB,GAAI,OAAQlB,EAAOkB,GAAG+N,KACrD,iBAAkB,gCAAiC,EACpDjL,EAAyBhE,EAAOkB,GAAI,SAAUlB,EAAOkB,GAAGgO,OACvD,iBAAkB,kCAAmC,EACtDlL,EAAyBhE,EAAOkB,GAAI,WAAYlB,EAAOkB,GAAGiO,SACzD,iBAAkB,oCAAqC,EACxDnL,EAAyBhE,EAAOkB,GAAI,aAAclB,EAAOkB,GAAGkO,WAC3D,iBAAkB,sCAAuC,EAE1DpL,EAAyBhE,EAAOkB,GAAI,QAASlB,EAAOkB,GAAGmO,MACtD,QAAS,iCAAkC,EA3xB3CxM,EA6xBgB7C,EAAO0O,MAAO,SAAU,GAAI,eAC5C,iCA9xBuD/L,CAAY,EAUzCG,EAsxBT9C,EAAO0O,MAtxBO3L,EAsxBA,UAtxBMC,EAuxBrCkH,EAAYlK,EAAOsP,OAAQhO,OAAOC,OAAQ,IAAK,EAAGvB,EAAO0O,MAAMa,OAAQ,EAAG,CACzElF,UAAW,2BACXC,QAAS,sBACV,CAAE,EAzxBFzH,EAA0BC,EAAKC,EAAMC,EA0xBrC,0BA1xBiD,EA4xBlC,+FACfwM,EAAa,SAAUC,GACtB,IAAIC,EAAMrP,EAAO+D,SAASuL,eAAeC,mBAAoB,EAAG,EAEhE,OADAF,EAAIG,KAAKC,UAAYL,EACdC,EAAIG,MAAQH,EAAIG,KAAKC,SAC7B,EA6ED,OApEA7L,EAAkBjE,EAAQ,gBAAiB,SAAUyP,GARpC,IAAUA,EACrBM,EASL,OATKA,GADqBN,EASXA,GARK/J,QAASkJ,EAAW,WAAY,KAClCa,GAAQD,EAAYC,CAAK,IAAMD,EAAYO,CAAQ,GACnEpN,EAAa,mBACZ,iDAAmD8M,CAAK,EAMpDA,EAAK/J,QAASkJ,EAAW,WAAY,CAC7C,EAAG,kBAAmB,EAItB5O,EAAOyB,sBAAuB,kBAAmB,EAG5CzB,EAAOgQ,WAGXxB,EAAcxO,EAAOgQ,SAEtB/L,EAAkBjE,EAAQ,WAAY,SAAUiQ,GAC/C,IAAIC,EAAW1B,EAAY,EAC1B2B,EAAUD,EAASC,QAAQ,EAW5B,OATAnM,EAAyBkM,EAAU,OAAQA,EAASE,KAAM,gBACzD,+BAAgC,EACjCpM,EAAyBmM,EAAS,OAAQA,EAAQC,KAAM,gBACvD,+BAAgC,EAE5BH,GACJA,EAAKxJ,KAAMyJ,EAAUA,CAAS,EAGxBA,CACR,EAAG,eAAgB,EAGnBlQ,EAAOgQ,SAASK,cAAgB7B,EAAY6B,cAG5CrQ,EAAOgQ,SAASM,aAAe9B,EAAY8B,aAI3ChP,OAAO6B,eAAgBnD,EAAOgQ,SAAU,eAAgB,CACvD5M,aAAc,CAAA,EACdC,WAAY,CAAA,EACZC,IAAK,WACJ,OAAKtD,EAAO6B,sBAAuB,uBAAwB,GAC1Dc,EAAa,wBACZ,2EAA4E,EACtE3C,EAAOgQ,SAASM,cAEhB/B,CAET,EACAhL,IAAK,SAAUC,GACTxD,EAAO6B,sBAAuB,uBAAwB,EAGrD7B,EAAOgQ,SAASM,eAAiB9M,IACrCb,EAAa,wBACZ,2EAA4E,EAC7E3C,EAAOgQ,SAASM,aAAe9M,GAGhC+K,EAA6B/K,CAE/B,CACD,CAAE,GAIKxD,CACP,CAAE"} \ No newline at end of file diff --git a/textpattern/vendors/jquery/jquery-migrate/package.json b/textpattern/vendors/jquery/jquery-migrate/package.json new file mode 100644 index 0000000000..a0df0c8677 --- /dev/null +++ b/textpattern/vendors/jquery/jquery-migrate/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/textpattern/vendors/jquery/jquery-ui/jquery-ui.js b/textpattern/vendors/jquery/jquery-ui/jquery-ui.js index 841179e849..2c8ca69183 100644 --- a/textpattern/vendors/jquery/jquery-ui/jquery-ui.js +++ b/textpattern/vendors/jquery/jquery-ui/jquery-ui.js @@ -1,6 +1,6 @@ -/*! jQuery UI - v1.14.1 - 2024-10-30 +/*! jQuery UI - v1.14.2 - 2026-01-28 * https://jqueryui.com * Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js * Copyright OpenJS Foundation and other contributors; Licensed MIT */ -(t=>{"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(V){V.ui=V.ui||{};V.ui.version="1.14.1";var n,s,x,k,o,a,r,l,h,i,E=0,N=Array.prototype.hasOwnProperty,c=Array.prototype.slice;V.cleanData=(n=V.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=V._data(i,"events"))&&e.remove&&V(i).triggerHandler("remove");n(t)}),V.widget=function(t,i,e){var s,n,o,a,r={},l=t.split(".")[0];return"__proto__"===(t=t.split(".")[1])||"constructor"===t?V.error("Invalid widget name: "+t):(a=l+"-"+t,e||(e=i,i=V.Widget),Array.isArray(e)&&(e=V.extend.apply(null,[{}].concat(e))),V.expr.pseudos[a.toLowerCase()]=function(t){return!!V.data(t,a)},V[l]=V[l]||{},s=V[l][t],n=V[l][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},V.extend(n,s,{version:e.version,_proto:V.extend({},e),_childConstructors:[]}),(o=new i).options=V.widget.extend({},o.options),V.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof s?s:function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}}),n.prototype=V.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},r,{constructor:n,namespace:l,widgetName:t,widgetFullName:a}),s?(V.each(s._childConstructors,function(t,e){var i=e.prototype;V.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),V.widget.bridge(t,n),n)},V.widget.extend=function(t){for(var e,i,s=c.call(arguments,1),n=0,o=s.length;n",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=V(e||this.defaultElement||this)[0],this.element=V(e),this.uuid=E++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=V(),this.hoverable=V(),this.focusable=V(),this.classesElementLookup={},e!==this&&(V.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=V(e.style?e.ownerDocument:e.document||e),this.window=V(this.document[0].defaultView||this.document[0].parentWindow)),this.options=V.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:V.noop,_create:V.noop,_init:V.noop,destroy:function(){var i=this;this._destroy(),V.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:V.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return V.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=V.widget.extend({},this.options[t]),n=0;n{var i=[];n.element.each(function(t,e){V.map(a.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),a._on(V(i),{remove:"_untrackClassesElement"})})(),V(V.uniqueSort(i.get().concat(n.element.get())))):V(i.not(n.element).get()),a.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=V.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;V.each(s.classesElementLookup,function(t,e){-1!==V.inArray(i.target,e)&&(s.classesElementLookup[t]=V(e.not(i.target).get()))}),this._off(V(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,e={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return e.element.toggleClass(this._classes(e),s),this},_on:function(n,o,t){var a,r=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=a=V(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,a=this.widget()),V.each(t,function(t,e){function i(){if(n||!0!==r.options.disabled&&!V(this).hasClass("ui-state-disabled"))return("string"==typeof e?r[e]:e).apply(r,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||V.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),s=t[1]+r.eventNamespace,t=t[2];t?a.on(s,t,i):o.on(s,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=V(this.bindings.not(t).get()),this.focusable=V(this.focusable.not(t).get()),this.hoverable=V(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(V(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(V(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(V(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(V(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=V.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},V.each({show:"fadeIn",hide:"fadeOut"},function(o,a){V.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||a:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!V.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&V.effects&&V.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){V(this)[o](),i&&i.call(e[0]),t()})}}),V.widget;function C(t,e,i){return[parseFloat(t[0])*(h.test(t[0])?e/100:1),parseFloat(t[1])*(h.test(t[1])?i/100:1)]}function D(t,e){return parseInt(V.css(t,e),10)||0}function I(t){return null!=t&&t===t.window}x=Math.max,k=Math.abs,o=/left|center|right/,a=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,h=/%$/,i=V.fn.position,V.position={scrollbarWidth:function(){var t,e,i;return void 0!==s?s:(i=(e=V("
    ")).children()[0],V("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(k(s),k(n))?o.important="horizontal":o.important="vertical",u.using.call(this,t,o)}),a.offset(V.extend(h,{using:t}))})):i.apply(this,arguments)},V.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,s=s.width,o=t.left-e.collisionPosition.marginLeft,a=n-o,r=o+e.collisionWidth-s-n;so.mod/2?s+=o.mod:s-n>o.mod/2&&(s-=o.mod)),l[i]=_((n-s)*a+s,e)))}),this[t](l)},blend:function(t){var e,i,s;return 1===this._rgba[3]?this:(e=this._rgba.slice(),i=e.pop(),s=p(t)._rgba,p(u.map(e,function(t,e){return(1-i)*s[e]+i*t})))},toRgbaString:function(){var t="rgba(",e=u.map(this._rgba,function(t,e){return null!=t?t:2{var i,s,n={};for(i in e)s=e[i],t[i]===s||U[i]||!V.fx.step[i]&&isNaN(parseFloat(s))||(n[i]=s);return n})(this.start,this.end),this}),i.attr("class",t),e=e.map(function(){var t=this,e=V.Deferred(),i=V.extend({},o,{queue:!1,complete:function(){e.resolve(t)}});return this.el.animate(this.diff,i),e.promise()}),V.when.apply(V,e.get()).done(function(){s(),V.each(arguments,function(){var e=this.el;V.each(this.diff,function(t){e.css(t,"")})}),o.complete.call(i[0])})})},V.fn.extend({addClass:(q=V.fn.addClass,function(t,e,i,s){return e?V.effects.animateClass.call(this,{add:t},e,i,s):q.apply(this,arguments)}),removeClass:(j=V.fn.removeClass,function(t,e,i,s){return 1").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:i.width(),height:i.height()},n=document.activeElement;try{n.id}catch(t){n=document.body}return i.wrap(t),i[0]!==n&&!V.contains(i[0],n)||V(n).trigger("focus"),t=i.parent(),"static"===i.css("position")?(t.css({position:"relative"}),i.css({position:"relative"})):(V.extend(s,{position:i.css("position"),zIndex:i.css("z-index")}),V.each(["top","left","bottom","right"],function(t,e){s[e]=i.css(e),isNaN(parseInt(s[e],10))&&(s[e]="auto")}),i.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),i.css(e),t.css(s).show()},removeWrapper:function(t){var e=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==e&&!V.contains(t[0],e)||V(e).trigger("focus")),t}}),V.extend(V.effects,{version:"1.14.1",define:function(t,e,i){return i||(i=e,e="effect"),V.effects.effect[t]=i,V.effects.effect[t].mode=e,i},scaledDimensions:function(t,e,i){var s;return 0===e?{height:0,width:0,outerHeight:0,outerWidth:0}:(s="horizontal"!==i?(e||100)/100:1,i="vertical"!==i?(e||100)/100:1,{height:t.height()*i,width:t.width()*s,outerHeight:t.outerHeight()*i,outerWidth:t.outerWidth()*s})},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();1").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(w+"placeholder",e)),t.css({position:i,left:s.left,top:s.top}),e},removePlaceholder:function(t){var e=w+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(t){V.effects.restoreStyle(t),V.effects.removePlaceholder(t)},setTransition:function(s,t,n,o){return o=o||{},V.each(t,function(t,e){var i=s.cssUnit(e);0");l.appendTo("body").addClass(t.className).css({top:s.top-a,left:s.left-o,height:i.innerHeight(),width:i.innerWidth(),position:n?"fixed":"absolute"}).animate(r,t.duration,t.easing,function(){l.remove(),"function"==typeof e&&e()})}}),V.fx.step.clip=function(t){t.clipInit||(t.start=V(t.elem).cssClip(),"string"==typeof t.end&&(t.end=Z(t.end,t.elem)),t.clipInit=!0),V(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})},b={},V.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,t){b[t]=function(t){return Math.pow(t,e+2)}}),V.extend(b,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),V.each(b,function(t,e){V.easing["easeIn"+t]=e,V.easing["easeOut"+t]=function(t){return 1-e(1-t)},V.easing["easeInOut"+t]=function(t){return t<.5?e(2*t)/2:1-e(-2*t+2)/2}});var tt,et,S,it=V.effects,st=(V.effects.define("blind","hide",function(t,e){var i={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},s=V(this),n=t.direction||"up",o=s.cssClip(),a={clip:V.extend({},o)},r=V.effects.createPlaceholder(s);a.clip[i[n][0]]=a.clip[i[n][1]],"show"===t.mode&&(s.cssClip(a.clip),r&&r.css(V.effects.clipToBox(a)),a.clip=o),r&&r.animate(V.effects.clipToBox(a),t.duration,t.easing),s.animate(a,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("bounce",function(t,e){var i,s,n=V(this),o=t.mode,a="hide"===o,o="show"===o,r=t.direction||"up",l=t.distance,h=t.times||5,c=2*h+(o||a?1:0),u=t.duration/c,d=t.easing,p="up"===r||"down"===r?"top":"left",f="up"===r||"left"===r,g=0,t=n.queue().length;for(V.effects.createPlaceholder(n),r=n.css(p),l=l||n["top"==p?"outerHeight":"outerWidth"]()/3,o&&((s={opacity:1})[p]=r,n.css("opacity",0).css(p,f?2*-l:2*l).animate(s,u,d)),a&&(l/=Math.pow(2,h-1)),(s={})[p]=r;g").css({position:"absolute",visibility:"visible",left:-s*p,top:-i*f}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:p,height:f,left:n+(u?a*p:0),top:o+(u?r*f:0),opacity:u?0:1}).animate({left:n+(u?0:a*p),top:o+(u?0:r*f),opacity:u?1:0},t.duration||500,t.easing,m)}),V.effects.define("fade","toggle",function(t,e){var i="show"===t.mode;V(this).css("opacity",i?0:1).animate({opacity:i?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("fold","hide",function(e,t){var i=V(this),s=e.mode,n="show"===s,s="hide"===s,o=e.size||15,a=/([0-9]+)%/.exec(o),r=!!e.horizFirst?["right","bottom"]:["bottom","right"],l=e.duration/2,h=V.effects.createPlaceholder(i),c=i.cssClip(),u={clip:V.extend({},c)},d={clip:V.extend({},c)},p=[c[r[0]],c[r[1]]],f=i.queue().length;a&&(o=parseInt(a[1],10)/100*p[s?0:1]),u.clip[r[0]]=o,d.clip[r[0]]=o,d.clip[r[1]]=0,n&&(i.cssClip(d.clip),h&&h.css(V.effects.clipToBox(d)),d.clip=c),i.queue(function(t){h&&h.animate(V.effects.clipToBox(u),l,e.easing).animate(V.effects.clipToBox(d),l,e.easing),t()}).animate(u,l,e.easing).animate(d,l,e.easing).queue(t),V.effects.unshift(i,f,4)}),V.effects.define("highlight","show",function(t,e){var i=V(this),s={backgroundColor:i.css("backgroundColor")};"hide"===t.mode&&(s.opacity=0),V.effects.saveStyle(i),i.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(s,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),V.effects.define("size",function(s,e){var n,i=V(this),t=["fontSize"],o=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],r=s.mode,l="effect"!==r,h=s.scale||"both",c=s.origin||["middle","center"],u=i.css("position"),d=i.position(),p=V.effects.scaledDimensions(i),f=s.from||p,g=s.to||V.effects.scaledDimensions(i,0);V.effects.createPlaceholder(i),"show"===r&&(r=f,f=g,g=r),n={from:{y:f.height/p.height,x:f.width/p.width},to:{y:g.height/p.height,x:g.width/p.width}},"box"!==h&&"both"!==h||(n.from.y!==n.to.y&&(f=V.effects.setTransition(i,o,n.from.y,f),g=V.effects.setTransition(i,o,n.to.y,g)),n.from.x!==n.to.x&&(f=V.effects.setTransition(i,a,n.from.x,f),g=V.effects.setTransition(i,a,n.to.x,g))),"content"!==h&&"both"!==h||n.from.y!==n.to.y&&(f=V.effects.setTransition(i,t,n.from.y,f),g=V.effects.setTransition(i,t,n.to.y,g)),c&&(r=V.effects.getBaseline(c,p),f.top=(p.outerHeight-f.outerHeight)*r.y+d.top,f.left=(p.outerWidth-f.outerWidth)*r.x+d.left,g.top=(p.outerHeight-g.outerHeight)*r.y+d.top,g.left=(p.outerWidth-g.outerWidth)*r.x+d.left),delete f.outerHeight,delete f.outerWidth,i.css(f),"content"!==h&&"both"!==h||(o=o.concat(["marginTop","marginBottom"]).concat(t),a=a.concat(["marginLeft","marginRight"]),i.find("*[width]").each(function(){var t=V(this),e=V.effects.scaledDimensions(t),i={height:e.height*n.from.y,width:e.width*n.from.x,outerHeight:e.outerHeight*n.from.y,outerWidth:e.outerWidth*n.from.x},e={height:e.height*n.to.y,width:e.width*n.to.x,outerHeight:e.height*n.to.y,outerWidth:e.width*n.to.x};n.from.y!==n.to.y&&(i=V.effects.setTransition(t,o,n.from.y,i),e=V.effects.setTransition(t,o,n.to.y,e)),n.from.x!==n.to.x&&(i=V.effects.setTransition(t,a,n.from.x,i),e=V.effects.setTransition(t,a,n.to.x,e)),l&&V.effects.saveStyle(t),t.css(i),t.animate(e,s.duration,s.easing,function(){l&&V.effects.restoreStyle(t)})})),i.animate(g,{queue:!1,duration:s.duration,easing:s.easing,complete:function(){var t=i.offset();0===g.opacity&&i.css("opacity",f.opacity),l||(i.css("position","static"===u?"relative":u).offset(t),V.effects.saveStyle(i)),e()}})}),V.effects.define("scale",function(t,e){var i=V(this),s=t.mode,s=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==s?0:100),i=V.extend(!0,{from:V.effects.scaledDimensions(i),to:V.effects.scaledDimensions(i,s,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(i.from.opacity=1,i.to.opacity=0),V.effects.effect.size.call(this,i,e)}),V.effects.define("puff","hide",function(t,e){t=V.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});V.effects.effect.scale.call(this,t,e)}),V.effects.define("pulsate","show",function(t,e){var i=V(this),s=t.mode,n="show"===s,o=2*(t.times||5)+(n||"hide"===s?1:0),a=t.duration/o,r=0,l=1,s=i.queue().length;for(!n&&i.is(":visible")||(i.css("opacity",0).show(),r=1);l li > :first-child").add(t.find("> :not(li)").filter(function(t){return t%2==0}))},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=V(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():V()}},_createIcons:function(){var t,e=this.options.icons;e&&(t=V(""),this._addClass(t,"ui-accordion-header-icon","ui-icon "+e.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,e.header)._addClass(t,null,e.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"===t?this._activate(e):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e)&&this._createIcons())},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var e=V.ui.keyCode,i=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case e.RIGHT:case e.DOWN:n=this.headers[(s+1)%i];break;case e.LEFT:case e.UP:n=this.headers[(s-1+i)%i];break;case e.SPACE:case e.ENTER:this._eventHandler(t);break;case e.HOME:n=this.headers[0];break;case e.END:n=this.headers[i-1]}n&&(V(t.target).attr("tabIndex",-1),V(n).attr("tabIndex",0),V(n).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===V.ui.keyCode.UP&&t.ctrlKey&&V(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=V()):!1===t.active?this._activate(0):this.active.length&&!V.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=V()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var i,t=this.options,e=t.heightStyle,s=this.element.parent();this.active=this._findActive(t.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var t=V(this),e=t.uniqueId().attr("id"),i=t.next(),s=i.uniqueId().attr("id");t.attr("aria-controls",s),i.attr("aria-labelledby",e)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(t.event),"fill"===e?(i=s.height(),this.element.siblings(":visible").each(function(){var t=V(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=V(this).outerHeight(!0)}),this.headers.next().each(function(){V(this).height(Math.max(0,i-V(this).innerHeight()+V(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.headers.next().each(function(){var t=V(this).is(":visible");t||V(this).show(),i=Math.max(i,V(this).css("height","").height()),t||V(this).hide()}).height(i))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:V.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):V()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&V.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var e=this.options,i=this.active,s=V(t.currentTarget),n=s[0]===i[0],o=n&&e.collapsible,a=o?V():s.next(),r=i.next(),r={oldHeader:i,oldPanel:r,newHeader:o?V():s,newPanel:a};t.preventDefault(),n&&!e.collapsible||!1===this._trigger("beforeActivate",t,r)||(e.active=!o&&this.headers.index(s),this.active=n?V():s,this._toggle(r),this._removeClass(i,"ui-accordion-header-active","ui-state-active"),e.icons&&(a=i.children(".ui-accordion-header-icon"),this._removeClass(a,null,e.icons.activeHeader)._addClass(a,null,e.icons.header)),n)||(this._removeClass(s,"ui-accordion-header-collapsed")._addClass(s,"ui-accordion-header-active","ui-state-active"),e.icons&&(t=s.children(".ui-accordion-header-icon"),this._removeClass(t,null,e.icons.header)._addClass(t,null,e.icons.activeHeader)),this._addClass(s.next(),"ui-accordion-content-active"))},_toggle:function(t){var e=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=e,this.prevHide=i,this.options.animate?this._animate(e,i,t):(i.hide(),e.show(),this._toggleComplete(t)),i.attr({"aria-hidden":"true"}),i.prev().attr({"aria-selected":"false","aria-expanded":"false"}),e.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):e.length&&this.headers.filter(function(){return 0===parseInt(V(this).attr("tabIndex"),10)}).attr("tabIndex",-1),e.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,i,e){function s(){o._toggleComplete(e)}var n,o=this,a=0,r=t.css("box-sizing"),l=t.length&&(!i.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=V(t.target),i=V(this.document[0].activeElement);!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active)&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){V.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=V(t.target).closest(".ui-menu-item"),i=V(t.currentTarget),e[0]!==i[0])||i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=V(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case V.ui.keyCode.PAGE_UP:this.previousPage(t);break;case V.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case V.ui.keyCode.HOME:this._move("first","first",t);break;case V.ui.keyCode.END:this._move("last","last",t);break;case V.ui.keyCode.UP:this.previous(t);break;case V.ui.keyCode.DOWN:this.next(t);break;case V.ui.keyCode.LEFT:this.collapse(t);break;case V.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case V.ui.keyCode.ENTER:case V.ui.keyCode.SPACE:this._activate(t);break;case V.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),t=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=V(this),e=t.prev(),i=V("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(t,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=V(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),e=(i=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(i,"ui-menu-item")._addClass(e,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!V.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(e=parseFloat(V.css(this.activeMenu[0],"borderTopWidth"))||0,i=parseFloat(V.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-e-i,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&"true"===this.element.prop("contentEditable"),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)i=!1,this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault();else if(!s){var e=V.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){n?(n=!1,t.preventDefault()):this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=V("