From 9bce51f651aad297ef9eb6df832bfdaf1de05d84 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 14:27:54 +0800
Subject: [PATCH] 青岛推送

---
 node_modules/vue-i18n/dist/vue-i18n.esm-browser.js |   87 +++++++++++--------------------------------
 1 files changed, 22 insertions(+), 65 deletions(-)

diff --git a/node_modules/vue-i18n/dist/vue-i18n.esm-browser.js b/node_modules/vue-i18n/dist/vue-i18n.esm-browser.js
index 0c228d7..d6363a8 100644
--- a/node_modules/vue-i18n/dist/vue-i18n.esm-browser.js
+++ b/node_modules/vue-i18n/dist/vue-i18n.esm-browser.js
@@ -1,26 +1,9 @@
 /*!
-  * vue-i18n v9.14.5
+  * vue-i18n v9.14.4
   * (c) 2025 kazuya kawaguchi
   * Released under the MIT License.
   */
 import { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, onBeforeMount, isRef } from 'vue';
-
-function warn(msg, err) {
-    if (typeof console !== 'undefined') {
-        console.warn(`[intlify] ` + msg);
-        /* istanbul ignore if */
-        if (err) {
-            console.warn(err.stack);
-        }
-    }
-}
-const hasWarned = {};
-function warnOnce(msg) {
-    if (!hasWarned[msg]) {
-        hasWarned[msg] = true;
-        warn(msg);
-    }
-}
 
 /**
  * Original Utilities
@@ -90,49 +73,10 @@
 };
 function escapeHtml(rawText) {
     return rawText
-        .replace(/&/g, '&amp;') // escape `&` first to avoid double escaping
         .replace(/</g, '&lt;')
         .replace(/>/g, '&gt;')
         .replace(/"/g, '&quot;')
-        .replace(/'/g, '&apos;')
-        .replace(/\//g, '&#x2F;') // escape `/` to prevent closing tags or JavaScript URLs
-        .replace(/=/g, '&#x3D;'); // escape `=` to prevent attribute injection
-}
-function escapeAttributeValue(value) {
-    return value
-        .replace(/&(?![a-zA-Z0-9#]{2,6};)/g, '&amp;') // escape unescaped `&`
-        .replace(/"/g, '&quot;')
-        .replace(/'/g, '&apos;')
-        .replace(/</g, '&lt;')
-        .replace(/>/g, '&gt;');
-}
-function sanitizeTranslatedHtml(html) {
-    // Escape dangerous characters in attribute values
-    // Process attributes with double quotes
-    html = html.replace(/(\w+)\s*=\s*"([^"]*)"/g, (_, attrName, attrValue) => `${attrName}="${escapeAttributeValue(attrValue)}"`);
-    // Process attributes with single quotes
-    html = html.replace(/(\w+)\s*=\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`);
-    // Detect and neutralize event handler attributes
-    const eventHandlerPattern = /\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi;
-    if (eventHandlerPattern.test(html)) {
-        {
-            warn('Potentially dangerous event handlers detected in translation. ' +
-                'Consider removing onclick, onerror, etc. from your translation messages.');
-        }
-        // Neutralize event handler attributes by escaping 'on'
-        html = html.replace(/(\s+)(on)(\w+\s*=)/gi, '$1&#111;n$3');
-    }
-    // Disable javascript: URLs in various contexts
-    const javascriptUrlPattern = [
-        // In href, src, action, formaction attributes
-        /(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,
-        // In style attributes within url()
-        /(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi
-    ];
-    javascriptUrlPattern.forEach(pattern => {
-        html = html.replace(pattern, '$1javascript&#58;');
-    });
-    return html;
+        .replace(/'/g, '&apos;');
 }
 const hasOwnProperty = Object.prototype.hasOwnProperty;
 function hasOwn(obj, key) {
@@ -211,6 +155,23 @@
 function incrementer(code) {
     let current = code;
     return () => ++current;
+}
+
+function warn(msg, err) {
+    if (typeof console !== 'undefined') {
+        console.warn(`[intlify] ` + msg);
+        /* istanbul ignore if */
+        if (err) {
+            console.warn(err.stack);
+        }
+    }
+}
+const hasWarned = {};
+function warnOnce(msg) {
+    if (!hasWarned[msg]) {
+        hasWarned[msg] = true;
+        warn(msg);
+    }
 }
 
 /**
@@ -2585,7 +2546,7 @@
  * Intlify core-base version
  * @internal
  */
-const VERSION$1 = '9.14.5';
+const VERSION$1 = '9.14.4';
 const NOT_REOSLVED = -1;
 const DEFAULT_LOCALE = 'en-US';
 const MISSING_RESOLVE_VALUE = '';
@@ -3083,13 +3044,9 @@
     const msgContext = createMessageContext(ctxOptions);
     const messaged = evaluateMessage(context, msg, msgContext);
     // if use post translation option, proceed it with handler
-    let ret = postTranslation
+    const ret = postTranslation
         ? postTranslation(messaged, key)
         : messaged;
-    // apply HTML sanitization for security
-    if (escapeParameter && isString(ret)) {
-        ret = sanitizeTranslatedHtml(ret);
-    }
     // NOTE: experimental !!
     {
         // prettier-ignore
@@ -3741,7 +3698,7 @@
  *
  * @VueI18nGeneral
  */
-const VERSION = '9.14.5';
+const VERSION = '9.14.4';
 /**
  * This is only called development env
  * istanbul-ignore-next

--
Gitblit v1.9.3