From a46ea1ca1dbc60c33a665e1785293bc3f5b82c68 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Thu, 9 Jul 2026 14:43:19 +0200 Subject: [PATCH 1/9] Prepare for Matomo 6 Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1. --- plugin.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin.json b/plugin.json index 4d16ad6..73f1331 100644 --- a/plugin.json +++ b/plugin.json @@ -1,12 +1,12 @@ { "name": "CustomVariables", "description": "Categorise your visitors and actions with custom name-value pairs. Segment by these values and get more insights to draw the right conclusions.", - "version": "5.0.6", + "version": "6.0.0", "keywords": ["custom variables"], "license": "GPL v3+", "homepage": "https://matomo.org", "require": { - "matomo": ">=5.0.0-b4,<6.0.0-b1" + "matomo": ">=6.0.0-b1,<7.0.0-b1" }, "support": { "email": "hello@matomo.org", From 88ec28db611d91f1481eb08cbe5271085e4be231 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Tue, 14 Jul 2026 12:57:56 +0200 Subject: [PATCH 2/9] Run tests on same PHP versions as core (8.1, 8.5) --- .github/workflows/matomo-tests.yml | 8 ++++---- .github/workflows/phpcs.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index 362ae8f..cf3e51a 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -1,7 +1,7 @@ # Action for running tests # This file has been automatically created. # To recreate it you can run this command -# ./console generate:test-action --plugin="CustomVariables" --php-versions="matomo5_min_php,matomo5_max_php" --schedule-cron="0 3 * * 6" +# ./console generate:test-action --plugin="CustomVariables" --php-versions="8.1,8.5" --schedule-cron="0 3 * * 6" name: Plugin CustomVariables Tests @@ -37,7 +37,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ 'matomo5_min_php', 'matomo5_max_php' ] + php: [ '8.1', '8.5' ] target: ['minimum_required_matomo', 'maximum_supported_matomo'] steps: - uses: actions/checkout@v3 @@ -54,7 +54,7 @@ jobs: test-type: 'PluginTests' matomo-test-branch: ${{ matrix.target }} artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} - upload-artifacts: ${{ matrix.php == 'matomo5_min_php' && matrix.target == 'maximum_supported_matomo' }} + upload-artifacts: ${{ matrix.php == '8.1' && matrix.target == 'maximum_supported_matomo' }} UI: runs-on: ubuntu-24.04 steps: @@ -68,7 +68,7 @@ jobs: plugin-name: 'CustomVariables' matomo-test-branch: 'maximum_supported_matomo' test-type: 'UI' - php-version: 'matomo5_min_php' + php-version: '8.1' node-version: '16' artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} upload-artifacts: true diff --git a/.github/workflows/phpcs.yml b/.github/workflows/phpcs.yml index 9d675e4..c2feadc 100644 --- a/.github/workflows/phpcs.yml +++ b/.github/workflows/phpcs.yml @@ -26,7 +26,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.4' + php-version: '8.1' tools: cs2pr - name: Install dependencies run: From 535258a96928de18de099023acce5c186f43c4ff Mon Sep 17 00:00:00 2001 From: Stefan Giehl Date: Thu, 16 Jul 2026 13:44:03 +0200 Subject: [PATCH 3/9] Rebuild Vue dist files with the Vite build for Matomo 6 & fix ESLint violations (#134) * Adapt Vue sources to the Vite build and rebuild dist for Matomo 6 Replaces a value re-export/import of a type-only entity so the esbuild-based Vite build can bundle it, and rebuilds the Vue dist files with the new toolchain. * Rebuild Vue dist files for Vue 3.5 * Fix CustomVariables Vue declaration type errors Export the usage-row interface, cast the readonly usage to the sort helper, and coerce numeric translate args. --- vue/dist/CustomVariables.umd.js | 673 +++++++----------- vue/dist/CustomVariables.umd.min.js | 20 +- vue/dist/umd.metadata.json | 2 +- vue/src/ManageCustomVars/ManageCustomVars.vue | 6 +- vue/src/types.ts | 4 +- 5 files changed, 260 insertions(+), 445 deletions(-) diff --git a/vue/dist/CustomVariables.umd.js b/vue/dist/CustomVariables.umd.js index 0cba004..ce1850d 100644 --- a/vue/dist/CustomVariables.umd.js +++ b/vue/dist/CustomVariables.umd.js @@ -1,446 +1,267 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("CoreHome"), require("vue")); - else if(typeof define === 'function' && define.amd) - define(["CoreHome", ], factory); - else if(typeof exports === 'object') - exports["CustomVariables"] = factory(require("CoreHome"), require("vue")); - else - root["CustomVariables"] = factory(root["CoreHome"], root["Vue"]); -})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "plugins/CustomVariables/vue/dist/"; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "fae3"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "19dc": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__; - -/***/ }), - -/***/ "8bbf": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; - -/***/ }), - -/***/ "fae3": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "ManageCustomVarsStore", function() { return /* reexport */ ManageCustomVars_store; }); -__webpack_require__.d(__webpack_exports__, "ManageCustomVars", function() { return /* reexport */ ManageCustomVars; }); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js -// This file is imported into lib/wc client bundles. - -if (typeof window !== 'undefined') { - var currentScript = window.document.currentScript - if (false) { var getCurrentScript; } - - var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) - if (src) { - __webpack_require__.p = src[1] // eslint-disable-line - } -} - -// Indicate to webpack that this file can be concatenated -/* harmony default export */ var setPublicPath = (null); - -// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} -var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); - -// EXTERNAL MODULE: external "CoreHome" -var external_CoreHome_ = __webpack_require__("19dc"); - -// CONCATENATED MODULE: ./plugins/CustomVariables/vue/src/ManageCustomVars/ManageCustomVars.store.ts -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - - - -var ManageCustomVars_store_ManageCustomVarsStore = /*#__PURE__*/function () { - function ManageCustomVarsStore() { - var _this = this; - - _classCallCheck(this, ManageCustomVarsStore); - - _defineProperty(this, "privateState", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ - customVariables: [], - isLoading: false, - hasCustomVariablesInGeneral: false, - hasAtLeastOneUsage: false, - numSlotsAvailable: 5 - })); - - _defineProperty(this, "state", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(function () { - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["readonly"])(_this.privateState); - })); - } - - _createClass(ManageCustomVarsStore, [{ - key: "init", - value: function init() { +(function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue"), require("CoreHome")) : typeof define === "function" && define.amd ? define(["exports", "vue", "CoreHome"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.CustomVariables = {}, global.Vue, global.CoreHome)); +})(this, (function(exports2, vue, CoreHome) { + "use strict";var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + /*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + class ManageCustomVarsStore { + constructor() { + __publicField(this, "privateState", vue.reactive({ + customVariables: [], + isLoading: false, + hasCustomVariablesInGeneral: false, + hasAtLeastOneUsage: false, + numSlotsAvailable: 5 + })); + __publicField(this, "state", vue.computed(() => vue.readonly(this.privateState))); + } + init() { return this.fetchUsages(); } - }, { - key: "fetchCustomVariables", - value: function fetchCustomVariables() { - var _this2 = this; - - return external_CoreHome_["AjaxHelper"].fetch({ - method: 'CustomVariables.getCustomVariables', - period: 'year', - date: 'today', + fetchCustomVariables() { + return CoreHome.AjaxHelper.fetch({ + method: "CustomVariables.getCustomVariables", + period: "year", + date: "today", filter_limit: 1 - }).then(function (customVariables) { - _this2.privateState.hasCustomVariablesInGeneral = (customVariables === null || customVariables === void 0 ? void 0 : customVariables.length) > 0; + }).then((customVariables) => { + this.privateState.hasCustomVariablesInGeneral = (customVariables == null ? void 0 : customVariables.length) > 0; }); } - }, { - key: "fetchUsages", - value: function fetchUsages() { - var _this3 = this; - + fetchUsages() { this.privateState.isLoading = true; - return Promise.all([this.fetchCustomVariables(), external_CoreHome_["AjaxHelper"].fetch({ - method: 'CustomVariables.getUsagesOfSlots', - filter_limit: '-1' - })]).then(function (_ref) { - var _ref2 = _slicedToArray(_ref, 2), - customVariableUsages = _ref2[1]; - - _this3.privateState.customVariables = customVariableUsages; - customVariableUsages.forEach(function (customVar) { - if (customVar.index > _this3.state.value.numSlotsAvailable) { - _this3.privateState.numSlotsAvailable = customVar.index; + return Promise.all([ + this.fetchCustomVariables(), + CoreHome.AjaxHelper.fetch({ + method: "CustomVariables.getUsagesOfSlots", + filter_limit: "-1" + }) + ]).then(([, customVariableUsages]) => { + this.privateState.customVariables = customVariableUsages; + customVariableUsages.forEach((customVar) => { + if (customVar.index > this.state.value.numSlotsAvailable) { + this.privateState.numSlotsAvailable = customVar.index; } - if (customVar.usages && customVar.usages.length > 0) { - _this3.privateState.hasAtLeastOneUsage = true; + this.privateState.hasAtLeastOneUsage = true; } }); - }).finally(function () { - _this3.privateState.isLoading = false; - }); - } - }]); - - return ManageCustomVarsStore; -}(); - -/* harmony default export */ var ManageCustomVars_store = (new ManageCustomVars_store_ManageCustomVarsStore()); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CustomVariables/vue/src/ManageCustomVars/ManageCustomVars.vue?vue&type=template&id=ddf373e4 - -var _hoisted_1 = { - class: "manageCustomVars" -}; -var _hoisted_2 = ["innerHTML"]; -var _hoisted_3 = { - class: "index" -}; -var _hoisted_4 = ["title"]; -var _hoisted_5 = { - key: 0 -}; - -var _hoisted_6 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_7 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_8 = ["innerHTML"]; - -var _hoisted_9 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_10 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_11 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_12 = ["textContent"]; -function render(_ctx, _cache, $props, $setup, $data, $options) { - var _component_EnrichedHeadline = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("EnrichedHeadline"); - - var _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); - - var _directive_content_intro = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("content-intro"); - - var _directive_content_table = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("content-table"); - - var _directive_select_on_focus = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("select-on-focus"); - - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EnrichedHeadline, { - "help-url": "https://matomo.org/docs/custom-variables/" - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomVariables_CustomVariables')), 1)]; - }), - _: 1 - })]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.translate('CustomVariables_ManageDescription', _ctx.siteName)) - }, null, 8, _hoisted_2)])], 512), [[_directive_content_intro]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { - class: "alert alert-info" - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomVariables_SlotsReportIsGeneratedOverTime')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.isLoading && _ctx.hasCustomVariablesInGeneral && !_ctx.hasAtLeastOneUsage]]), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.scopes, function (scope) { - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { - key: scope.name - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { - "content-title": _ctx.translate('CustomVariables_ScopeX', scope.name) - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomVariables_Index')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomVariables_Usages')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", { - colspan: "3" - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Loading')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isLoading]])]), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.customVariablesByScope[scope.value], function (customVariables, index) { - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", { - key: index - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(customVariables.index), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - class: "unused" - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomVariables_Unused')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], customVariables.usages.length === 0]]), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.sortUsages(customVariables), function (cvar, cvarIndex) { - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { - key: cvarIndex - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - title: _ctx.translate('CustomVariables_UsageDetails', cvar.nb_visits ? cvar.nb_visits : 0, cvar.nb_actions ? cvar.nb_actions : 0) - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(cvar.name), 9, _hoisted_4), cvarIndex < customVariables.usages.length - 1 ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_5, ", ")) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 512)), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], customVariables.usages.length]]); - }), 128))])]); - }), 128))])], 512), [[_directive_content_table]])]; - }), - _: 2 - }, 1032, ["content-title"])]); - }), 128)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { - id: "CustomVariablesCreateNewSlot", - "content-title": _ctx.translate('CustomVariables_CreateNewSlot') - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomVariables_CreatingCustomVariableTakesTime')) + " ", 1), _hoisted_6, _hoisted_7, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.currentAvailableCustomVariablesText) - }, null, 8, _hoisted_8), _hoisted_9, _hoisted_10, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomVariables_ToCreateCustomVarExecute')) + " ", 1), _hoisted_11]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("code", { - textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.setMaxCustomVariablesCmd) - }, null, 8, _hoisted_12)], 512), [[_directive_select_on_focus, {}]])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.isLoading]])]; - }), - _: 1 - }, 8, ["content-title"]), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.isLoading]])]); -} -// CONCATENATED MODULE: ./plugins/CustomVariables/vue/src/ManageCustomVars/ManageCustomVars.vue?vue&type=template&id=ddf373e4 - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CustomVariables/vue/src/ManageCustomVars/ManageCustomVars.vue?vue&type=script&lang=ts -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || ManageCustomVarsvue_type_script_lang_ts_unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function ManageCustomVarsvue_type_script_lang_ts_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return ManageCustomVarsvue_type_script_lang_ts_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return ManageCustomVarsvue_type_script_lang_ts_arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return ManageCustomVarsvue_type_script_lang_ts_arrayLikeToArray(arr); } - -function ManageCustomVarsvue_type_script_lang_ts_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - - - - -/* harmony default export */ var ManageCustomVarsvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - components: { - EnrichedHeadline: external_CoreHome_["EnrichedHeadline"], - ContentBlock: external_CoreHome_["ContentBlock"] - }, - directives: { - ContentIntro: external_CoreHome_["ContentIntro"], - ContentTable: external_CoreHome_["ContentTable"], - SelectOnFocus: external_CoreHome_["SelectOnFocus"] - }, - data: function data() { - return { - siteName: external_CoreHome_["Matomo"].siteName, - scopes: [{ - value: 'visit', - name: Object(external_CoreHome_["translate"])('General_TrackingScopeVisit') - }, { - value: 'page', - name: Object(external_CoreHome_["translate"])('General_TrackingScopePage') - }] - }; - }, - created: function created() { - ManageCustomVars_store.init(); - }, - methods: { - sortUsages: function sortUsages(customVar) { - var result = _toConsumableArray(customVar.usages); - - result.sort(function (lhs, rhs) { - var rhsActions = "".concat(rhs.nb_actions); - var lhsActions = "".concat(lhs.nb_actions); - return parseInt(rhsActions, 10) - parseInt(lhsActions, 10); + }).finally(() => { + this.privateState.isLoading = false; }); - return result; } - }, - computed: { - isLoading: function isLoading() { - return ManageCustomVars_store.state.value.isLoading; + } + const ManageCustomVarsStore$1 = new ManageCustomVarsStore(); + const _sfc_main = vue.defineComponent({ + components: { + EnrichedHeadline: CoreHome.EnrichedHeadline, + ContentBlock: CoreHome.ContentBlock }, - hasCustomVariablesInGeneral: function hasCustomVariablesInGeneral() { - return ManageCustomVars_store.state.value.hasCustomVariablesInGeneral; + directives: { + ContentIntro: CoreHome.ContentIntro, + ContentTable: CoreHome.ContentTable, + SelectOnFocus: CoreHome.SelectOnFocus }, - hasAtLeastOneUsage: function hasAtLeastOneUsage() { - return ManageCustomVars_store.state.value.hasAtLeastOneUsage; + data() { + return { + siteName: CoreHome.Matomo.siteName, + scopes: [ + { + value: "visit", + name: CoreHome.translate("General_TrackingScopeVisit") + }, + { + value: "page", + name: CoreHome.translate("General_TrackingScopePage") + } + ] + }; }, - numSlotsAvailable: function numSlotsAvailable() { - return ManageCustomVars_store.state.value.numSlotsAvailable; + created() { + ManageCustomVarsStore$1.init(); }, - customVariablesByScope: function customVariablesByScope() { - var result = {}; - ManageCustomVars_store.state.value.customVariables.forEach(function (customVar) { - result[customVar.scope] = result[customVar.scope] || []; - result[customVar.scope].push(customVar); - }); - return result; - }, - currentAvailableCustomVariablesText: function currentAvailableCustomVariablesText() { - return Object(external_CoreHome_["translate"])('CustomVariables_CurrentAvailableCustomVariables', "".concat(this.numSlotsAvailable, "")); + methods: { + sortUsages(customVar) { + const result = [...customVar.usages]; + result.sort((lhs, rhs) => { + const rhsActions = `${rhs.nb_actions}`; + const lhsActions = `${lhs.nb_actions}`; + return parseInt(rhsActions, 10) - parseInt(lhsActions, 10); + }); + return result; + } }, - setMaxCustomVariablesCmd: function setMaxCustomVariablesCmd() { - return "./console customvariables:set-max-custom-variables ".concat(this.numSlotsAvailable + 1); + computed: { + isLoading() { + return ManageCustomVarsStore$1.state.value.isLoading; + }, + hasCustomVariablesInGeneral() { + return ManageCustomVarsStore$1.state.value.hasCustomVariablesInGeneral; + }, + hasAtLeastOneUsage() { + return ManageCustomVarsStore$1.state.value.hasAtLeastOneUsage; + }, + numSlotsAvailable() { + return ManageCustomVarsStore$1.state.value.numSlotsAvailable; + }, + customVariablesByScope() { + const result = {}; + ManageCustomVarsStore$1.state.value.customVariables.forEach((customVar) => { + result[customVar.scope] = result[customVar.scope] || []; + result[customVar.scope].push(customVar); + }); + return result; + }, + currentAvailableCustomVariablesText() { + return CoreHome.translate( + "CustomVariables_CurrentAvailableCustomVariables", + `${this.numSlotsAvailable}` + ); + }, + setMaxCustomVariablesCmd() { + return `./console customvariables:set-max-custom-variables ${this.numSlotsAvailable + 1}`; + } } + }); + const _export_sfc = (sfc, props) => { + const target = sfc.__vccOpts || sfc; + for (const [key, val] of props) { + target[key] = val; + } + return target; + }; + const _hoisted_1 = { class: "manageCustomVars" }; + const _hoisted_2 = ["innerHTML"]; + const _hoisted_3 = { class: "index" }; + const _hoisted_4 = ["title"]; + const _hoisted_5 = { key: 0 }; + const _hoisted_6 = ["innerHTML"]; + const _hoisted_7 = ["textContent"]; + function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_EnrichedHeadline = vue.resolveComponent("EnrichedHeadline"); + const _component_ContentBlock = vue.resolveComponent("ContentBlock"); + const _directive_content_intro = vue.resolveDirective("content-intro"); + const _directive_content_table = vue.resolveDirective("content-table"); + const _directive_select_on_focus = vue.resolveDirective("select-on-focus"); + return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [ + vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", null, [ + vue.createElementVNode("h2", null, [ + vue.createVNode(_component_EnrichedHeadline, { "help-url": "https://matomo.org/docs/custom-variables/" }, { + default: vue.withCtx(() => [ + vue.createTextVNode(vue.toDisplayString(_ctx.translate("CustomVariables_CustomVariables")), 1) + ]), + _: 1 + }) + ]), + vue.createElementVNode("p", null, [ + vue.createElementVNode("span", { + innerHTML: _ctx.$sanitize(_ctx.translate("CustomVariables_ManageDescription", _ctx.siteName)) + }, null, 8, _hoisted_2) + ]) + ])), [ + [_directive_content_intro] + ]), + vue.withDirectives(vue.createElementVNode("div", { class: "alert alert-info" }, vue.toDisplayString(_ctx.translate("CustomVariables_SlotsReportIsGeneratedOverTime")), 513), [ + [vue.vShow, !_ctx.isLoading && _ctx.hasCustomVariablesInGeneral && !_ctx.hasAtLeastOneUsage] + ]), + (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.scopes, (scope) => { + return vue.openBlock(), vue.createElementBlock("div", { + key: scope.name + }, [ + vue.createVNode(_component_ContentBlock, { + "content-title": _ctx.translate("CustomVariables_ScopeX", scope.name) + }, { + default: vue.withCtx(() => [ + vue.withDirectives((vue.openBlock(), vue.createElementBlock("table", null, [ + vue.createElementVNode("thead", null, [ + vue.createElementVNode("tr", null, [ + vue.createElementVNode("th", null, vue.toDisplayString(_ctx.translate("CustomVariables_Index")), 1), + vue.createElementVNode("th", null, vue.toDisplayString(_ctx.translate("CustomVariables_Usages")), 1) + ]) + ]), + vue.createElementVNode("tbody", null, [ + vue.createElementVNode("tr", null, [ + vue.withDirectives(vue.createElementVNode("td", { colspan: "3" }, vue.toDisplayString(_ctx.translate("General_Loading")), 513), [ + [vue.vShow, _ctx.isLoading] + ]) + ]), + (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.customVariablesByScope[scope.value], (customVariables, index) => { + return vue.openBlock(), vue.createElementBlock("tr", { key: index }, [ + vue.createElementVNode("td", _hoisted_3, vue.toDisplayString(customVariables.index), 1), + vue.createElementVNode("td", null, [ + vue.withDirectives(vue.createElementVNode("span", { class: "unused" }, vue.toDisplayString(_ctx.translate("CustomVariables_Unused")), 513), [ + [vue.vShow, customVariables.usages.length === 0] + ]), + (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.sortUsages(customVariables), (cvar, cvarIndex) => { + return vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", { key: cvarIndex }, [ + vue.createElementVNode("span", { + title: _ctx.translate( + "CustomVariables_UsageDetails", + String(cvar.nb_visits || 0), + String(cvar.nb_actions || 0) + ) + }, vue.toDisplayString(cvar.name), 9, _hoisted_4), + cvarIndex < customVariables.usages.length - 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5, ", ")) : vue.createCommentVNode("", true) + ])), [ + [vue.vShow, customVariables.usages.length] + ]); + }), 128)) + ]) + ]); + }), 128)) + ]) + ])), [ + [_directive_content_table] + ]) + ]), + _: 2 + }, 1032, ["content-title"]) + ]); + }), 128)), + vue.withDirectives(vue.createVNode(_component_ContentBlock, { + id: "CustomVariablesCreateNewSlot", + "content-title": _ctx.translate("CustomVariables_CreateNewSlot") + }, { + default: vue.withCtx(() => [ + vue.withDirectives(vue.createElementVNode("div", null, [ + vue.createElementVNode("p", null, [ + vue.createTextVNode(vue.toDisplayString(_ctx.translate("CustomVariables_CreatingCustomVariableTakesTime")) + " ", 1), + _cache[0] || (_cache[0] = vue.createElementVNode("br", null, null, -1)), + _cache[1] || (_cache[1] = vue.createElementVNode("br", null, null, -1)), + vue.createElementVNode("span", { + innerHTML: _ctx.$sanitize(_ctx.currentAvailableCustomVariablesText) + }, null, 8, _hoisted_6), + _cache[2] || (_cache[2] = vue.createElementVNode("br", null, null, -1)), + _cache[3] || (_cache[3] = vue.createElementVNode("br", null, null, -1)), + vue.createTextVNode(" " + vue.toDisplayString(_ctx.translate("CustomVariables_ToCreateCustomVarExecute")) + " ", 1), + _cache[4] || (_cache[4] = vue.createElementVNode("br", null, null, -1)) + ]), + vue.withDirectives((vue.openBlock(), vue.createElementBlock("pre", null, [ + vue.createElementVNode("code", { + textContent: vue.toDisplayString(_ctx.setMaxCustomVariablesCmd) + }, null, 8, _hoisted_7) + ])), [ + [_directive_select_on_focus, {}] + ]) + ], 512), [ + [vue.vShow, !_ctx.isLoading] + ]) + ]), + _: 1 + }, 8, ["content-title"]), [ + [vue.vShow, !_ctx.isLoading] + ]) + ]); } + const ManageCustomVars = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); + exports2.ManageCustomVars = ManageCustomVars; + exports2.ManageCustomVarsStore = ManageCustomVarsStore$1; + Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" }); })); -// CONCATENATED MODULE: ./plugins/CustomVariables/vue/src/ManageCustomVars/ManageCustomVars.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/CustomVariables/vue/src/ManageCustomVars/ManageCustomVars.vue - - - -ManageCustomVarsvue_type_script_lang_ts.render = render - -/* harmony default export */ var ManageCustomVars = (ManageCustomVarsvue_type_script_lang_ts); -// CONCATENATED MODULE: ./plugins/CustomVariables/vue/src/index.ts -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js - - - - -/***/ }) - -/******/ }); -}); -//# sourceMappingURL=CustomVariables.umd.js.map \ No newline at end of file diff --git a/vue/dist/CustomVariables.umd.min.js b/vue/dist/CustomVariables.umd.min.js index 5834a0c..da21a1c 100644 --- a/vue/dist/CustomVariables.umd.min.js +++ b/vue/dist/CustomVariables.umd.min.js @@ -1,14 +1,8 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue")):"function"===typeof define&&define.amd?define(["CoreHome"],t):"object"===typeof exports?exports["CustomVariables"]=t(require("CoreHome"),require("vue")):e["CustomVariables"]=t(e["CoreHome"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="plugins/CustomVariables/vue/dist/",n(n.s="fae3")}({"19dc":function(t,n){t.exports=e},"8bbf":function(e,n){e.exports=t},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"ManageCustomVarsStore",(function(){return j})),n.d(t,"ManageCustomVars",(function(){return H})),"undefined"!==typeof window){var r=window.document.currentScript,a=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);a&&(n.p=a[1])}var o=n("8bbf"),l=n("19dc");function i(e,t){return m(e)||b(e,t)||s(e,t)||c()}function c(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e,t){if(e){if("string"===typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n((e,t,a)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a);const s=new /*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */var O=function(){function e(){var t=this;d(this,e),v(this,"privateState",Object(o["reactive"])({customVariables:[],isLoading:!1,hasCustomVariablesInGeneral:!1,hasAtLeastOneUsage:!1,numSlotsAvailable:5})),v(this,"state",Object(o["computed"])((function(){return Object(o["readonly"])(t.privateState)})))}return p(e,[{key:"init",value:function(){return this.fetchUsages()}},{key:"fetchCustomVariables",value:function(){var e=this;return l["AjaxHelper"].fetch({method:"CustomVariables.getCustomVariables",period:"year",date:"today",filter_limit:1}).then((function(t){e.privateState.hasCustomVariablesInGeneral=(null===t||void 0===t?void 0:t.length)>0}))}},{key:"fetchUsages",value:function(){var e=this;return this.privateState.isLoading=!0,Promise.all([this.fetchCustomVariables(),l["AjaxHelper"].fetch({method:"CustomVariables.getUsagesOfSlots",filter_limit:"-1"})]).then((function(t){var n=i(t,2),r=n[1];e.privateState.customVariables=r,r.forEach((function(t){t.index>e.state.value.numSlotsAvailable&&(e.privateState.numSlotsAvailable=t.index),t.usages&&t.usages.length>0&&(e.privateState.hasAtLeastOneUsage=!0)}))})).finally((function(){e.privateState.isLoading=!1}))}}]),e}(),j=new O,h={class:"manageCustomVars"},g=["innerHTML"],y={class:"index"},V=["title"],C={key:0},S=Object(o["createElementVNode"])("br",null,null,-1),E=Object(o["createElementVNode"])("br",null,null,-1),N=["innerHTML"],w=Object(o["createElementVNode"])("br",null,null,-1),x=Object(o["createElementVNode"])("br",null,null,-1),_=Object(o["createElementVNode"])("br",null,null,-1),k=["textContent"];function A(e,t,n,r,a,l){var i=Object(o["resolveComponent"])("EnrichedHeadline"),c=Object(o["resolveComponent"])("ContentBlock"),s=Object(o["resolveDirective"])("content-intro"),u=Object(o["resolveDirective"])("content-table"),b=Object(o["resolveDirective"])("select-on-focus");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",h,[Object(o["withDirectives"])(Object(o["createElementVNode"])("div",null,[Object(o["createElementVNode"])("h2",null,[Object(o["createVNode"])(i,{"help-url":"https://matomo.org/docs/custom-variables/"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("CustomVariables_CustomVariables")),1)]})),_:1})]),Object(o["createElementVNode"])("p",null,[Object(o["createElementVNode"])("span",{innerHTML:e.$sanitize(e.translate("CustomVariables_ManageDescription",e.siteName))},null,8,g)])],512),[[s]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",{class:"alert alert-info"},Object(o["toDisplayString"])(e.translate("CustomVariables_SlotsReportIsGeneratedOverTime")),513),[[o["vShow"],!e.isLoading&&e.hasCustomVariablesInGeneral&&!e.hasAtLeastOneUsage]]),(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.scopes,(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:t.name},[Object(o["createVNode"])(c,{"content-title":e.translate("CustomVariables_ScopeX",t.name)},{default:Object(o["withCtx"])((function(){return[Object(o["withDirectives"])(Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.translate("CustomVariables_Index")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.translate("CustomVariables_Usages")),1)])]),Object(o["createElementVNode"])("tbody",null,[Object(o["createElementVNode"])("tr",null,[Object(o["withDirectives"])(Object(o["createElementVNode"])("td",{colspan:"3"},Object(o["toDisplayString"])(e.translate("General_Loading")),513),[[o["vShow"],e.isLoading]])]),(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.customVariablesByScope[t.value],(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:n},[Object(o["createElementVNode"])("td",y,Object(o["toDisplayString"])(t.index),1),Object(o["createElementVNode"])("td",null,[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{class:"unused"},Object(o["toDisplayString"])(e.translate("CustomVariables_Unused")),513),[[o["vShow"],0===t.usages.length]]),(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.sortUsages(t),(function(n,r){return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:r},[Object(o["createElementVNode"])("span",{title:e.translate("CustomVariables_UsageDetails",n.nb_visits?n.nb_visits:0,n.nb_actions?n.nb_actions:0)},Object(o["toDisplayString"])(n.name),9,V),re.length)&&(t=e.length);for(var n=0,r=new Array(t);n".concat(this.numSlotsAvailable,""))},setMaxCustomVariablesCmd:function(){return"./console customvariables:set-max-custom-variables ".concat(this.numSlotsAvailable+1)}}});U.render=A;var H=U; -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */}})})); -//# sourceMappingURL=CustomVariables.umd.min.js.map \ No newline at end of file + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +class{constructor(){l(this,"privateState",t.reactive({customVariables:[],isLoading:!1,hasCustomVariablesInGeneral:!1,hasAtLeastOneUsage:!1,numSlotsAvailable:5})),l(this,"state",t.computed(()=>t.readonly(this.privateState)))}init(){return this.fetchUsages()}fetchCustomVariables(){return a.AjaxHelper.fetch({method:"CustomVariables.getCustomVariables",period:"year",date:"today",filter_limit:1}).then(e=>{this.privateState.hasCustomVariablesInGeneral=(null==e?void 0:e.length)>0})}fetchUsages(){return this.privateState.isLoading=!0,Promise.all([this.fetchCustomVariables(),a.AjaxHelper.fetch({method:"CustomVariables.getUsagesOfSlots",filter_limit:"-1"})]).then(([,e])=>{this.privateState.customVariables=e,e.forEach(e=>{e.index>this.state.value.numSlotsAvailable&&(this.privateState.numSlotsAvailable=e.index),e.usages&&e.usages.length>0&&(this.privateState.hasAtLeastOneUsage=!0)})}).finally(()=>{this.privateState.isLoading=!1})}},o=t.defineComponent({components:{EnrichedHeadline:a.EnrichedHeadline,ContentBlock:a.ContentBlock},directives:{ContentIntro:a.ContentIntro,ContentTable:a.ContentTable,SelectOnFocus:a.SelectOnFocus},data:()=>({siteName:a.Matomo.siteName,scopes:[{value:"visit",name:a.translate("General_TrackingScopeVisit")},{value:"page",name:a.translate("General_TrackingScopePage")}]}),created(){s.init()},methods:{sortUsages(e){const t=[...e.usages];return t.sort((e,t)=>{const a=`${t.nb_actions}`,n=`${e.nb_actions}`;return parseInt(a,10)-parseInt(n,10)}),t}},computed:{isLoading:()=>s.state.value.isLoading,hasCustomVariablesInGeneral:()=>s.state.value.hasCustomVariablesInGeneral,hasAtLeastOneUsage:()=>s.state.value.hasAtLeastOneUsage,numSlotsAvailable:()=>s.state.value.numSlotsAvailable,customVariablesByScope(){const e={};return s.state.value.customVariables.forEach(t=>{e[t.scope]=e[t.scope]||[],e[t.scope].push(t)}),e},currentAvailableCustomVariablesText(){return a.translate("CustomVariables_CurrentAvailableCustomVariables",`${this.numSlotsAvailable}`)},setMaxCustomVariablesCmd(){return`./console customvariables:set-max-custom-variables ${this.numSlotsAvailable+1}`}}}),r={class:"manageCustomVars"},i=["innerHTML"],c={class:"index"},u=["title"],m={key:0},d=["innerHTML"],p=["textContent"];const b=((e,t)=>{const a=e.__vccOpts||e;for(const[n,l]of t)a[n]=l;return a})(o,[["render",function(e,a,n,l,s,o){const b=t.resolveComponent("EnrichedHeadline"),h=t.resolveComponent("ContentBlock"),V=t.resolveDirective("content-intro"),v=t.resolveDirective("content-table"),g=t.resolveDirective("select-on-focus");return t.openBlock(),t.createElementBlock("div",r,[t.withDirectives((t.openBlock(),t.createElementBlock("div",null,[t.createElementVNode("h2",null,[t.createVNode(b,{"help-url":"https://matomo.org/docs/custom-variables/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.translate("CustomVariables_CustomVariables")),1)]),_:1})]),t.createElementVNode("p",null,[t.createElementVNode("span",{innerHTML:e.$sanitize(e.translate("CustomVariables_ManageDescription",e.siteName))},null,8,i)])])),[[V]]),t.withDirectives(t.createElementVNode("div",{class:"alert alert-info"},t.toDisplayString(e.translate("CustomVariables_SlotsReportIsGeneratedOverTime")),513),[[t.vShow,!e.isLoading&&e.hasCustomVariablesInGeneral&&!e.hasAtLeastOneUsage]]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.scopes,a=>(t.openBlock(),t.createElementBlock("div",{key:a.name},[t.createVNode(h,{"content-title":e.translate("CustomVariables_ScopeX",a.name)},{default:t.withCtx(()=>[t.withDirectives((t.openBlock(),t.createElementBlock("table",null,[t.createElementVNode("thead",null,[t.createElementVNode("tr",null,[t.createElementVNode("th",null,t.toDisplayString(e.translate("CustomVariables_Index")),1),t.createElementVNode("th",null,t.toDisplayString(e.translate("CustomVariables_Usages")),1)])]),t.createElementVNode("tbody",null,[t.createElementVNode("tr",null,[t.withDirectives(t.createElementVNode("td",{colspan:"3"},t.toDisplayString(e.translate("General_Loading")),513),[[t.vShow,e.isLoading]])]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.customVariablesByScope[a.value],(a,n)=>(t.openBlock(),t.createElementBlock("tr",{key:n},[t.createElementVNode("td",c,t.toDisplayString(a.index),1),t.createElementVNode("td",null,[t.withDirectives(t.createElementVNode("span",{class:"unused"},t.toDisplayString(e.translate("CustomVariables_Unused")),513),[[t.vShow,0===a.usages.length]]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.sortUsages(a),(n,l)=>t.withDirectives((t.openBlock(),t.createElementBlock("span",{key:l},[t.createElementVNode("span",{title:e.translate("CustomVariables_UsageDetails",String(n.nb_visits||0),String(n.nb_actions||0))},t.toDisplayString(n.name),9,u),l[t.withDirectives(t.createElementVNode("div",null,[t.createElementVNode("p",null,[t.createTextVNode(t.toDisplayString(e.translate("CustomVariables_CreatingCustomVariableTakesTime"))+" ",1),a[0]||(a[0]=t.createElementVNode("br",null,null,-1)),a[1]||(a[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("span",{innerHTML:e.$sanitize(e.currentAvailableCustomVariablesText)},null,8,d),a[2]||(a[2]=t.createElementVNode("br",null,null,-1)),a[3]||(a[3]=t.createElementVNode("br",null,null,-1)),t.createTextVNode(" "+t.toDisplayString(e.translate("CustomVariables_ToCreateCustomVarExecute"))+" ",1),a[4]||(a[4]=t.createElementVNode("br",null,null,-1))]),t.withDirectives((t.openBlock(),t.createElementBlock("pre",null,[t.createElementVNode("code",{textContent:t.toDisplayString(e.setMaxCustomVariablesCmd)},null,8,p)])),[[g,{}]])],512),[[t.vShow,!e.isLoading]])]),_:1},8,["content-title"]),[[t.vShow,!e.isLoading]])])}]]);e.ManageCustomVars=b,e.ManageCustomVarsStore=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}); diff --git a/vue/dist/umd.metadata.json b/vue/dist/umd.metadata.json index 9ecfcc0..f7dddfd 100644 --- a/vue/dist/umd.metadata.json +++ b/vue/dist/umd.metadata.json @@ -2,4 +2,4 @@ "dependsOn": [ "CoreHome" ] -} \ No newline at end of file +} diff --git a/vue/src/ManageCustomVars/ManageCustomVars.vue b/vue/src/ManageCustomVars/ManageCustomVars.vue index 3361f5c..9d62aa5 100644 --- a/vue/src/ManageCustomVars/ManageCustomVars.vue +++ b/vue/src/ManageCustomVars/ManageCustomVars.vue @@ -53,13 +53,13 @@ >{{ translate('CustomVariables_Unused') }} {{ cvar.name }} , diff --git a/vue/src/types.ts b/vue/src/types.ts index c5f9abb..b0dcc25 100644 --- a/vue/src/types.ts +++ b/vue/src/types.ts @@ -5,7 +5,7 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ -interface CustomVariableUsageRow { +export interface CustomVariableUsageRow { name: string; nb_actions: number|string; nb_visits: number|string; @@ -17,4 +17,4 @@ interface CustomVariableUsage { usages: CustomVariableUsageRow[]; } -export { CustomVariableUsage }; +export type { CustomVariableUsage }; From cfcca8673ab8d43d1dff9e2f1489181f6477ae58 Mon Sep 17 00:00:00 2001 From: Stefan Giehl Date: Mon, 20 Jul 2026 16:20:19 +0200 Subject: [PATCH 4/9] Fix segmentMatchNONE system test for MySQL 8.0 (#135) * Fix segmentMatchNONE test for MySQL 8.0 Comparing date/time segments against the placeholder string 'campaign' (e.g. visitEndServerDate != 'campaign') is rejected by MySQL 8.0 as an invalid DATE value; MySQL 5.7 tolerated it. Give each date/time segment a valid, type-appropriate value instead - a date for DATE() segments and an integer for the HOUR()/MINUTE()/YEAR()/... extractions - so they stay covered and the query runs on MySQL 8.0. The matched result is unchanged (the segment still matches no visits via the impossible deviceType condition). * Run plugin tests against MySQL 8.0 and MariaDB 10.6 The workflow inherited the shared action's MySQL 5.7 default, which is below Matomo's new minimum. Pin the database-backed jobs to the supported floor: PluginTests now runs a MySQL 8.0 + MariaDB 10.6 matrix, and the UI job runs on MySQL 8.0. * Only upload plugin test artifacts for the MySQL matrix leg PluginTests runs a MySQL + MariaDB matrix; the upload-artifacts condition matched both legs and uploaded twice. Restrict the upload to the MySQL leg. --- .github/workflows/matomo-tests.yml | 9 +++- ...ithCustomVariablesSegmentMatchNONETest.php | 45 ++++++++++++++++++- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index cf3e51a..8e0b5d7 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -39,6 +39,9 @@ jobs: matrix: php: [ '8.1', '8.5' ] target: ['minimum_required_matomo', 'maximum_supported_matomo'] + database: + - { engine: 'Mysql', version: '8.0' } + - { engine: 'Mariadb', version: '10.6' } steps: - uses: actions/checkout@v3 with: @@ -52,9 +55,11 @@ jobs: plugin-name: 'CustomVariables' php-version: ${{ matrix.php }} test-type: 'PluginTests' + mysql-engine: ${{ matrix.database.engine }} + mysql-version: ${{ matrix.database.version }} matomo-test-branch: ${{ matrix.target }} artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} - upload-artifacts: ${{ matrix.php == '8.1' && matrix.target == 'maximum_supported_matomo' }} + upload-artifacts: ${{ matrix.php == '8.1' && matrix.target == 'maximum_supported_matomo' && matrix.database.engine == 'Mysql' }} UI: runs-on: ubuntu-24.04 steps: @@ -70,5 +75,7 @@ jobs: test-type: 'UI' php-version: '8.1' node-version: '16' + mysql-engine: 'Mysql' + mysql-version: '8.0' artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} upload-artifacts: true diff --git a/tests/System/TwoVisitsWithCustomVariablesSegmentMatchNONETest.php b/tests/System/TwoVisitsWithCustomVariablesSegmentMatchNONETest.php index 47eb8fb..335c9bc 100644 --- a/tests/System/TwoVisitsWithCustomVariablesSegmentMatchNONETest.php +++ b/tests/System/TwoVisitsWithCustomVariablesSegmentMatchNONETest.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\CustomVariables\tests\System; +use Piwik\Columns\Dimension; use Piwik\Plugins\API\tests\System\AutoSuggestAPITest; use Piwik\Tests\Framework\TestCase\SystemTestCase; use Piwik\Plugins\CustomVariables\tests\Fixtures\TwoVisitsWithCustomVariables; @@ -63,9 +64,15 @@ public function getSegmentToTest() $this->assertGreaterThan($minimumExpectedSegmentsCount, count($segments)); $segmentExpression = array(); + $temporalSegmentValues = self::getTemporalSegmentValues(); + $seenVisitorId = false; foreach ($segments as $segment) { - $value = 'campaign'; + // Date/time segments can't be compared against an arbitrary string: MySQL 8.0 rejects + // e.g. "visitEndServerDate != 'campaign'" as an invalid DATE value (5.7 tolerated it). + // Give them a valid, type-appropriate value (a date for DATE() segments, a number for + // the HOUR()/MINUTE()/YEAR()/... integer extractions) so they stay covered. + $value = $temporalSegmentValues[$segment] ?? 'campaign'; if ($segment == 'visitorId') { $seenVisitorId = true; $value = '34c31e04394bdc63'; @@ -107,6 +114,42 @@ public static function getOutputPrefix() return 'twoVisitsWithCustomVariables_segmentMatchNONE'; } + /** + * Returns a valid comparison value for every non-internal segment backed by a date/time typed + * dimension, keyed by segment name. + * + * These segments map to SQL that expects either a date (e.g. DATE(...)) or an integer (the + * HOUR()/MINUTE()/YEAR()/... extractions), so an arbitrary string like "campaign" produces an + * invalid DATE value error on MySQL 8.0. The returned values are valid for the respective + * comparison. + */ + private static function getTemporalSegmentValues(): array + { + $temporalTypes = [ + Dimension::TYPE_DATE, + Dimension::TYPE_DATETIME, + Dimension::TYPE_TIME, + Dimension::TYPE_TIMESTAMP, + ]; + + $values = []; + foreach (Dimension::getAllDimensions() as $dimension) { + if (!in_array($dimension->getType(), $temporalTypes, true)) { + continue; + } + + foreach ($dimension->getSegments() as $segment) { + $isIntegerExtraction = (bool) preg_match( + '/^\s*(HOUR|MINUTE|SECOND|DAYOFWEEK|DAYOFMONTH|DAYOFYEAR|WEEKOFYEAR|WEEK|MONTH|QUARTER|YEAR)\s*\(/i', + $segment->getSqlSegment() + ); + $values[$segment->getSegment()] = $isIntegerExtraction ? '99' : '2099-12-31'; + } + } + + return $values; + } + public static function getPathToTestDirectory() { return dirname(__FILE__); From 839c3c7e02a52cf7a2665b58ed75c0ccc5b18d8c Mon Sep 17 00:00:00 2001 From: Stefan Giehl Date: Fri, 24 Jul 2026 10:56:16 +0200 Subject: [PATCH 5/9] Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24) (#136) * Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24) * Run the plugin UI tests on Node 24 Match the Node 24 / Puppeteer 24 screenshot-testing stack; the UI job was still pinned to Node 16. --- .github/workflows/matomo-tests.yml | 2 +- .../CustomVariables_link_in_menu.png | Bin 16824 -> 15459 bytes .../CustomVariables_manage.png | Bin 92166 -> 83374 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index 8e0b5d7..aa579b0 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -74,7 +74,7 @@ jobs: matomo-test-branch: 'maximum_supported_matomo' test-type: 'UI' php-version: '8.1' - node-version: '16' + node-version: '24' mysql-engine: 'Mysql' mysql-version: '8.0' artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} diff --git a/tests/UI/expected-ui-screenshots/CustomVariables_link_in_menu.png b/tests/UI/expected-ui-screenshots/CustomVariables_link_in_menu.png index 4ede3a3321c90de78e238aff2cbed5c46708a857..acec0ab07f7b4bdd5756a43822372d94c1737d9c 100644 GIT binary patch literal 15459 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

NDJ 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 literal 16824 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 W{QzQ113ZcWNL*M(s7gT3|NjCtfMMwX diff --git a/tests/UI/expected-ui-screenshots/CustomVariables_manage.png b/tests/UI/expected-ui-screenshots/CustomVariables_manage.png index 08bb356b82090203d7f60c02f1168dc608e98904..5917560167acdedfe055f32245eac3ccc2377fd6 100644 GIT binary patch literal 83374 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

j9t+t?cm>aAjobZMQ3QJJU_*E20_^%hl^&i9JV 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∋|gdgq8kco_(Ib$ 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 UHaf1bb3Yh+Yv;=(EC2g{0Wp#Xq5uE@ literal 92166 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

aOsZvIKXglSZa6(O;oN9d2UAd=JiWleb z1tH*ky`WCYVgoF^f7``_61wi)^f5uVdyaUb^l|m#~_j`GZ9{ z3p!Me$y|x@?VzTL=F=YIJGKO5e`rX{ezQ@~1S2?w{_p4+(z&g{p z%l26e3;uHe_0(*w2s+Ma5FlC&fPh|{(Bp@a$CPd^>Ssyu`EOmrSR2d9Q;bDheuMzIbX2MGP#pJW$tzK6t0@wO4u=F+?Q+3x|rywj;)SS zQqK9FA^Li(?h~6u#xE{ggY}R>()*MY;{`?GoS0lRW>oB`(ENc}eEXxUku;`ZH;F@q ziBqeXfIFLyL8TdJC)A{pJ?n}|hRu)6R}n36Ffo@CODv=ozOal~@A3cjGKWvz=QBSL z(iPOT#>hzPLeJk?UE^Yh2jW}ksjq3EaKb8%GQ-j4l)y>xs8i)Y&?nKrjUq48v(lZ zLR`yaJ6ianX@X1UaEXIYK*t1rtU8^A3>>F<#UC9WUKzruv`tXLsR-k;hU9+3rID3| zEF<5S=r^Sko0%!OT%&01A{}leF8u8Pu^=t^t?^3>DDxd0?8MEU4 zFkMH&a}{H!V{0{7;1A82uzmNu0}moEph+PdyX$}kQP4}Vc(M3y5+?Cs0cOy1Ch z^K{P)@)UZN^Vpkj_kTXqV2^jBkKu?LA8!hh7~&S7Y9H_?kVnc+Uia66y}qIilwhf4 z+Jf*nDO0&}8#vb5lnsu}VzUgC5+-;o)kaO0IiYAIw{!oYQ%3Pb*}8BtGXzlvBOz0f zT7cOv66LlnMWqFG4e64{g@L}x&M9mxC5g0Z3>Nhrm%*lIayy1#4?Ctgx+;-d*FN)I z8FirtKP~@=eXhMz;lv|Sa9pAYTO`QNMBI-d#?;~B()k*gU=`O-D7Qyfx`GhA+|u5YNCe<@N$PMoEu5?uQ-`?BT-`fyhX-nQ|4Sn)*8 zWw`DU_b>oh0--z8chR>5i8WbDpPdc7H4-R)9x(?rGYQt~o*agN;aeUlQ<9Lq)vu~* zb^BZnuvwA}P&fHez^M7i^1H10{40PXF-N3|gcP<}`nxiLHy-6msI`6PoA0^nO?laC zOCHs3VAq7ntMwtLUee-*_b8Tbv{N9tztR+Nb*y`(DG8Ye3=7Y`9|`5Tay+}SGdi(u zyNLCKM_h`op13ZYkM~L)vhV1yo{W+lWhi)N6sL@h8uY71qumE+=&hgJ>~Fvq1}Ha{ zqq$v5^&=?~oV)c8h|Xu->tpJwWTwqRHi+17D6d$qUEOUCWD74+dUF?k+X*5j30!2s zWK{kxzPxk7jC0}Rai;W$+v94hdZoT}Bd-3*>awjNz*aor;&{FCLPQw9(*8AgBVN;e zpS6?mh~4^1?{ww-tQb1lFHzAkdzqPhHp1ZIY*jpCJC$L7atSAtsa_tru!G7ZcX_)K z+%$j2Ws>9d6wVBuy~4w^oMmsFK7u%|sLBA54-~8_mQJZX@x7*_7;IY=U1RNp4_r{F zwQ`CMjrKTFqVVn)^~ui7_09pb)@TB}u&^+0D=d9ieed09U<0&&28`M<;cX5kAMb00 zE|-+ZXL0&!^$dzSndQE2?tU39b(~w_>x}Bwx!1MwtI^x0s>h8xo@_hq<5T)F4SUDv z+yW*6V`zL-`C&5`Rk2z$9uO5$PD^d7{m|K-S(bgI6Nb&sWC8}+p>R2@P7nv-a2x4B zz`5G6TS%-Mia`Cc5mT;WsVb{;%qL4qS`TdDdLfYQU+czt5R)%5P_RtGp3sFF&Mxs+ zKUCr7UIW?YpS;p4`G0>i-9KO&|JnAwTcJhBY4?{8*`1iwK&RjMx_QawZ*2iw18ax> zKWPH^&-OF&V**@LT%=Egsue6feOslExz=WO>I*Vf%t5i$jzbkxx$8L*2Q$38CdytZ zn-^13cXVLs6Y-z=!rvMxAyFH@CECbO*3A~E$BO1g9Co@amC>AA?GY^@Ry1ASUy+|9 zAJ?Phr{k_dT5%2W3z31ImlUtfm>G$7h@Z#06d5avx^8K^=d!PNW}U3f`Cfo+5Sb^A z>)}$ac8AIJ{k9u78T(vmVwyL86f@Q0*rLP(SG*qA#R3)bTieb$?3*IU*K{kaPZ(C1 zEb&qdHJwZq2+5Fm%1yfH485BVn-Sz;Vr2?*TzcSAu-BU-ioMn}TUQV)JXyN3YrWP& zQ0*BEbanA4el@yKeRB?Pb;??iK)i5~zTv5Qd!s%_o>%Cpd@?I=)aZVC-Z@cuX1L{i z@R^>FXtlG#9XxBE3m!k>cacNwy|*6%-}`oC9@n3L51BcbJ^V3SmwLT3n}!YD8W^l; zrIV3zbX*Hh&a5jvRuMjlGj7eM_;rx*Rm?k8`BWES~5MjV%51jOGi;Ks|O<+)tN1!HcIuRhBny(ltb$3QCr_L#z?BIUh;$jzWV) z!8c~Z=+Vn-awk0NbN%%rEjh^plaV(C8Cj%l37OrmCYe4k;8G2Sn8?BSJC*1FqYnh)K^Zb!^H=yCf|0+3dw&&$Jxg)9e|` z(F%Nu8w9K-C$M8#R+-u(i;vzom2?kMXh*yW-8H0Fwk1QVWf+J1lfOw2bsSobt8Y zsEYIck{DIQ$sO+K2OF(TZ{@jhoW7}e2(i}ub`2a?x9{!PxQjs_0w<7T%@krScfMr8 zi#RmKUR}dezlouvCy@cxsX#*huTch z`~bN6g7m}`dJ=g){;`#ViS@evs7bY~Zp@!GtG8Mux z7znMlJ}*CYT;Dl|J5Y*PcZdj|41Heo1clDBBKC&@CpeS6V{IF?ax^X2`W7{B?9Mk_ z4n`;R*+y79EhCU&OY~ya<=mKZwKGfPAt|qk{z>Q|G}be9x&~Wj4Qgt&lev9n>6u}r zUkKa2vW+H?l?qjmjgPVmuG2b|2(FJFn&eELUrq2koH< z2-}$zDZcKf8K68iOFVTatMyYT8byw zYY0Oq(0rUbVn2%4LweGs`fzGhP~hB8-$ihb`HC9xwu0p*z^)rtyT(b?5BK6|=JeD5 z#ol{|HMOl<QN_XdHz6-22vN~qGMD=0{ZgwP>M6GD^FyUGR>DN+JTm6}2c1VS$g z0@8bLA_Pci5(p6LFQEILd%tsj_v~|@bI@c~>rO|~2Ww}=Hsc%^7I~9tX(kjy9M^HTw;DYHE*7?16QY+CLV{}U3D@j|Tlf^49<=b_ zcB&NN<(qe%_Pcezxas}j1=wztt=*q*e?~|1wtJ~^wcg-Jgpjo43~a59CdNDk_3_E~ zJ$ay0vzh&T9ML5V$QwG^NDo9K80xdKNKh2@DoSxtTgg@Y?*C>AF}Gu=4_iWMSu0K)Sb@FFv%YGu z>L>K~p0J3ogw(tcGbN3{C%rxnhz3P}C7tNHobAIWnl4A42+6t%$nX?SeabAF?s!H% zrCp3QAqBr`$MM%^eckI`BCH-|d@fcKv>+k)j7Q%^F1^yJZaeXtol3m;f3u_r@W2GKRbC2> z(ifDFP+$=utO9C|?rgow`ao%4_vOQf6L+>ti*cCXau<)U`5E`EkR&Ba#}2Dk`NzK!6H8BL<3033@k$P>WJ zm(;*Xa0MVJzw-}!NF?&xFD$mc{@|-bi_cZ3y<#&zFJ3<}@Nh?eiS|locc*>bj?wJw zsgC}47W&*XZ5|8prqjK*m7=VS$^_bDZH%$0@dlD4?7>U!y6h*}U3b(mVEq@-0|Y-r z)OiUt#^|1(8Y6GXG0 zRmUIdoI|T_8p}9rz7Xn+pjCexdtTLxUAb;egT(=}z+bBe8k4-)*bB4)Z#~g5G2)S!2U87|)fI@?j$ z!-_VZ9(u^qR?6PgS@O#Z`!wxesdk$)FO?SC8R*HD@);$y&g_&rcZzS4sc+91n2WML z5o+JMD~>78TFq0|YQDmils+%3KSIchwTQJb5~YLGF{`V#BvV4SKpEM(jZp3J88xdk zR;>mka)cif>nToxn1k`w1(XB>|25Q)}s<5H`TZ-RGaXHyZv19 z?ydokS0{5=aH1efjXN9 zNAIq_*4(fH4fU|vx%uTY%*-@lxDP>Ug0^(zWUa`3-B^rX39^GUkIKabDc=T`ukqKu zQ5=6DY20J!pQ-I7(5hbs1VK%P8(`)-VOCnTDDK&3p6GToJ)N|db_>rlx#`3pXIk&- zlML}^m(Rbz*PguvXW@|R(4*P<$WlobE8Yorxoxk^pP*` zWQ`yX9BflwkTa+Djx^(>@oL*7z0(7+ue29kr@w7-JQnY_zbFRnueTftvCjFV1s;Ej z_C5ZOQ>ScK6Cr^y0eaElH~uibym-N-xMR3e8=D}-!@O-R@@34sZ>W!nb@(tZSC%h9 zCdtAK3B(29ur*>=j!*IAl1AY1&r_$m9(~^v@t#@bA6mWt)Dr(cJ?P-c;Ipu>up?Xc zZ>^k;;6KMFrjm_QRyCa6Jk@j^ma@*x8{}jj*!iaC~qJ_HoXE;*pC;B%VEKi1O`qk(e zz9~=vhQZotnK&6Vz4Y$j&Y`W^;I){x#IFwJ=v~93@|v8c6+_>HU7SUIV1ePDsfmOt zIw6ULGxCl5Hse&#RllCz&--|9c{uF8$G+d#$k_0Q@p2jOp`J_;eV+_}+x^IDn-%s> zH|$DYY*l_U%2OR2IZL-vzlWJxk%~_l06Rtr%l>-Yo+pu=Lb~h9#uPfIIrb~D`E$xl zz-Qc;+P84`fRFA$y?yV@2HzjWT|0abts&jXV^&$1S81jutEv-ve(0hJuN2ti6R(&Q zf`ZRI+lVlMe6kC4*4}7pVc}HFn6cLt=8JoRuX1ZEShHih)*>Qcnqbq46&Tf4=V$d9 zJ-l}j0=x};d^Km7kME-@aZ_iSH6ye$S4CT^dPTL3+sQZ=(5~i?GiY$b1t90PlDnMc zqwO+pbLMOs{R$IUvJXqwTGVgC{}Hdly<4Ivc-)=OyUFJ7V*QZ?Di&LapmWN#my^|} z+-wc{Jig?Y>AQxa4fdG#zcNT5F?m+`_S>C)wLwAeRQxk-5Bf)RT~zC6RuX+F^Djvs z%7%!Fd0*#p=;=M-+fukuhMOTQQm^=;9S66j2?y2Y1?VgwB~u!6byIwq9&a4=C4uq0 zEKAZWzMD=qv;d#fLhhDe)o&P?I-%U+hiVs9_88A=-~&< zq@@V=%e{ms)D+ks4k!$J;BATFWlvg$i!6YX5TMnKD})EfL;s#kYRsqoxwa17RK<-7 zO_RXxV~!I49+c9T9Yg6|!+$E2E{uGG(v<4@j=X7?nR`0J8e^Lq&@}^v&=d9W>DmxA z0(`h{lmj%JZ@wsR`tsFdP@NqAwC;+J_8?3ZHS7NV4hHhE(mlV`EI-hKp-&yS}0yya` z8gA4&F&*;(T( zx_R}atc_gpCB{u@zNG8;pF)8+9_T#M?}uzGXRSKg-+TtH9Siclt88{MN4G!!2_%QKn0`m(x@%%V?F@xH^@e?< z`MED?0xD*#I%6igEJN*@Uitza;5HFF?)j-x*RTIe4hpOwzHe-73@Z6%yL#%<3_lG|mU1~v_Bd|- zsZ;(EfqN_E^%H*>VE^SU{Kp0)>Cw9jZA*qYx%AgdRY~oPU{3E6{)MW4I(?;LdCI1~ z#T&y04}2G1-&Zd7C>nFJx#_DQ6>vl+^-wYfHDuu0bbWtd=g^bde8fKR;CkSS0hse_ zB0~zw)MO$sXBY!nA}{ z-_x~L2C?K(pX|xtFi|aKAo5ncbrLq>E!aKs7|jQ$Xnt@YXj4ENx^qLmaA=TS3m+Cs z$i@wg^)*&xP+9JHb9g@C4oFycQ2bhVS`w^o3 zCic>zOY9+a*|Rd5qX{{$4jF^Y9|Ca)r(4Bs9?&%CW@s97OPz=n{@u1?%1z>Qt>eA0 z>lx`oyVxNRaqgtl8u{?x8O!?1B(jc`axFWB zuM|SWC-bzO8#l>2%5R8El({_uo|+!8Rea3|oe)6FVZq};i0w5`96CxJ|7yPGc~5_l zZ2V*Ca8ux|Wji||^y^Z%VD_9xRT3Km2Z3@+7hU9jA(yQLjv0*iI@JCxT}%@c+6 zuICc}od-X>u?Sb#l9nD5?Tp*OH;yOG>#Vq$8#?C()|4*7)WFo>rXC}!?q|caWT5D;jE^aq4?7Sqq_%Un1X;rP6SK@F#rQ6^tyiKTHCP35;`SrtB# zKZtY-*o#C=XiaXO~4^0mDz zR`{|k!Be7kdZ1lpH~Ru6>kG{AfDp?eqbC1=mCuW6I#HF^KfknSHnULc9Wjn|lJ$N1 zg{*HDm~pOq%tS`!_Ic&j3Lkj=NyPm*DQPs8Q_M%Ft2E2j1+AM=bJslihABk}X24|* z`YVX0{^alLIbfU0XPnHUu=5uW6uqz0|!dbB-^2Q#iMbP;xLzFycPbvu2q z@fcH^6bl=3q@N1`-Xfst6U zU4Ngy2lQvI{SBZG>MN1>hV$y_iZB0%IB(edB1=_gY`4}7EL5D^Q^v$3Cg#HiqUU%!?h3bEe znTuh0^m1}?f1&8MX41NqJ{$A(#@`JYhO_0WA_U z1PhXGfHkxtqg6Dk{Akt`U&}ArJvoHcq^VbC${fl&Ij$^yUNL2tbFk~ZjIPmD5Ibz1 z#BN2+OOI}W)y!*6Fop)?rnRHZ%o7qg{J!HfQ$56>zZ<&VmCs+PZCO=sXRlib{e0B= zYfyGePRjhnLbKsPv%>7uEFR^vOTP%lC-Vtf$G=VP--m&MXFvtQ*5Zm(I{w8fGMe+$ zx;T;Qx({t%$LFdHk8=wJ_jbIFE>1Pr%*SP z>8MIxN|NVzbiCFWRuhyEH>93dpfUyYo*&a1RozIL>d3o9ln48a>mGhs$%C8}-ugV2 z#w*KUK+>i;APg^4X54OE42m0k-%C`TDB7GgSlJ8{=W-%$P8~Cx$(=34^TrZG*XF-z6zM@XPutBl9mPqncZR$D253zEA-lH`Q) zmIeks#pWKv+bMSLTBaZV9l4sm@|a_1{Bt?B)z~+Vz36z; zl8AkAlg$NP!)!Qfyi05kK56OjRK$;P)LB0ad75Cf;Y^uTFTVxEc zx5l%g<-1WPtGpg5!V!aJE^VfhgC80zG}QuKj5kvIRV`*v*BWE(r+|-^BDL$VchZ>K zcKzAALNv!?0zQnWmFE!-axEnLc;MdbOo`P*oy5%^HR9bd-OBN}LXZp zQs-(~<^*ARmm)Q_L|8aF%hyF#2>dz|tbjy*v{tU(i)M`WRyc0-d-AQUJ59Z9afWT_ zP{%O>G5eP8uMcu5#Q=vzy3$Jdp>tfqffDQK z>QE5}$#64}45cD4JcrsUNl6Vap0E`1vaW=Q*xFRs%D z+!&rV*vGu-e6no#3)_~>wUjQ4Y4AF0kTmzKThG<8iRGy{=*zvwH}IN7gTER|HQ#zX9mdLix@ z3Bgf>v;K5EqY+l{(y8M{zTaN{6U@6Lz)AFE^1PR_v!y1sYbpPSj6U4+yLDBTB`S;1 z6v77{H{@>@6+gLg#(x0W?XW*6IOOtQXFeD0CaJvQ>M6B*clG}lwBQ!V_*4(g>!X@uDn%iL!hmcvH1*zHJT{gWg&Tw?yL4&9P4 z{RjBLSOGdP2vSfgy#zdL5EOJ)1aa9vh;4X?epHeVMFAGx>@)@H)r5+dc!W z22;irgvLezC{}c3$$Y}zeeHra(I?E?*-ve&lBN(=?=xHcJe}y<+eY;Ejbl9#aq1q6 z`77CE4qsIE9oKh#beFaXEfc2;+2}rUQPtdL7Nlzf)9ou>`4YWZ5#R6M06*3#;H7Sx z)}J2AXN15&IUy0EZf;2sXXq_|G&v+6{(<`3x| zK0h>KZHyDBiRG2-Qfy4(ijMd?SI7;Ivq0a1OeOzp?P*yLYviL6R1B!!c`pX5W}0B% z2J17i#|?fmrRg@S2JG3T^^fDXO_A$MsE)62V$&Hxfkgc^9WH8e`6TkG2()EJYPPVP z3(Zd-D#caj6+F)fL?P#Q8ba7#eEQesnaxuLO0S%7?ynROPi%pIL2k{4SNLt0%TSzqF8oi0 zdOFNzeA}PH`uBog@nH!9dvkg*?+k$r^3u};1)l$uhW0QIEaw8tdLt4GxVW55wTT%f ztgc#BewnXM66yZ+wj;{-V_khGe+P^gGinBeSl(}9e)M->|M2WF>`y=V+tRxHYKG;T zgnXS1Us+2)Nve`)n6AHawHM;%`ZW zrs{TCRO3fPqZ?1m^Y6FqY@ey$;&sTl2=d#GQ7G*Ac}^?9xJ>H}>5MTY6x!{EPLNe+ zU!b*;7)~Y`czJxiB?O9{HXZU`*o-mUxkRP?J{lnfQqXLLfXn|7{pROPJh(j6Td8Ec z&@ScNUbe!2mKQ-yk0n4B4@=4v$l6%ra&uB!RtRB;^-U?Dg;zw_@Zc`#H$=UWPRx_FeV zTbwWe#i)zoc!U z@8bijFd>%aet|&vWTG$D{eq9b_juozTE8kUXVbdU%KR+V6~Ua^D%dZEZcR}UgJoq2 zRIkAC(E4}(8QxvZ^Ii6?(<=#}>g$4krLQNw{;&GFecZQ7PybI}KZ*EG{flx5$E=QF zP{20+iFu{l6}V?Jjjc(K#IIXmm{k&nzWYFs=Rc$S8_Qx)vMizlW?ZZ0E$X;yRB5E? zHW<_JN_#fC6eP$emHwLbRjXEq!=qZ%Gv+jz`>V@xE#oQZEdF>F?Lmx?gTje{iho}bTnnhYwBkS=L#5+O z!x%C&NF#6l!5|PcoAq1VYFfh{gEfN;OG-T(1_3NYMg{4xn(oPX?-`uyW-$>D&v%z>KeIjWZYu3)pYklfjtxF>e9aMVdFb~w(v8ctrt z7;p);zh(?V4wYp8*#E{@ZTJ}NwWw%6IXw*=s(ScBv2PY?KG~}u$op2?#Gyb?K7y4c zpQqF*|5FmZIQhqru2`r;IoZD?tC;!0I@k%v382O)h`Y6DTbG-{;&|)f0XsSUz8aI9 zP@DE${d609n;V#}2BV7*^`sNT&&!lemiE|9Bk^zbe%5WI3WA8-gRO9d06wt-c*2d6 zDZNDvnZm|+C*!I`o%O_qjH&>TLpKMzIS9yVT3y9CmdO6gai=PpZMS|8SA6@)%aX=Z z-Q-RBuzw-4^Cdu*By3^!@ejnu2bD?v3siO)A0g}Pg~mImhFFDY$&;*kYCY(qbboo$ z<){ud^QMWK`2{zVwOwoqKex(p^Pf7{Q$gpe!#jp7CyzjgzLl5ZiiGJbRL>(}-~ZY_ z74W}v`)b%^wCQq}4j-MMlOs4j9&^|0CZg!3YV2DJu;emIOs-1tgxOm! za;USB4;X6P#MN4eB0=AgHi}tL8my+D`Tm~zUMosf-vydz0w^CcEb@8W%Z3YX9Cg5w z72Px#OsdiTX0kUMORWQvhR5}`2Q#>5BQA96Y_Rh!Z-Ui?TSW!lh6+#9dX#QGu&v8D z(B}mV6eab0dSB?8tSHHy^qiT9<=h}~-3h&>>{=kn0dUgji)CRI7B8om#i{Sl)}CZS zcUC(Dbc@+l9|vW!X8N@yKK}b$fBY{dwv=aQNHw}cOr{ZU{zPUyXh6B?nCS;Dx4Y#I zoyhMDOnXs|k?wrSF|N=PQstk1%#j}m^X1hg$y!k|7$Z0x-0XPwu1e>{76OjBJ%Qj> zyF*^gI$`$qt?`V$r=6Um$=Bp+b_PEN@u8aXGXklRHK#gB0(uEd25Zzm1HEsAMa&kQc1%}D)w}%Fjp`sjih^l;I&ug~@cmE5YHUcOMWuLJ! z1*J6hkV#vexI3H>a;ymH^)e?92#fc?uy_jl=Gn2|9ebUP^?^mR- z1V1u7xK+@!Nr@Y26XwQmM_FVz3ZrW4^CBw{RAOJ5zUq)+G@O>MZ?m0~CXgz(`^^xy zN|>s2@_Fp5CPB?klo>=ug}W6_XoBPPHC9vwwvGYm>Dp+};m&OIk-6lj4Y`BkPn_iA zr}NaQjtSxV{p)*~989XV+rOWLv!~umK|Nh4A8_;A>LybuW)pEuFC1poOf?K0&Gs-! zt4JfFov&+#`ry`J8}|H(6Y~F=mWKyhjkZIOxTRg=Q_1bHT3y^7=ikJ7tM*Z)J1 z-{2>BDH-J9uJ%@SBgk{v-+Weh{qf06@sA69Gx*UqPy^G?qv+e%nj5}!QLr$_7TkwB z(ccdOaDDUn8Wh@Nz}JLlUsIzAMum1_(K)#(!AY^P+>`Pl+nk>`+{KaE@rnV`7CJd0 zXzo_J!7>(gncTT(i4kXX&1W^?@_2ccpjl_*>J_fh1-@JP8tU#G&~0*`+MA0J`ocp@ zj`@6)KeGD;Nyo*G<86#NrTRhTQ;FcwzN`w7lGwuNH><)XEb)0PJ3*o!|6#xQ?;rlF zUwkJ{TKJ*S)_TB0SwMl~oXy@vEq}F{2dU5EE%K1Ra-#aTwb`#gM;xJZ1Eu4E*^Ye) zHc8l&QUenw2~t9X*syckp?iJmm{4@``L`{zbXsM}EKRIX!PMvzul=d%I80_(+orv_ zPA8p&!A{I>&h0!wa7qSxuuh>{Ux|*mM7-=U7O-KlHqD9rEgflmBrZ8H9)nTZ%dx2Q z$@DKO!0mSP$@!pygU#^=T25Q1)iRnpGuv*M;tsrgkDLwjh)Df9yDt8p<>{)GeG;-N zxXv_2h0bTvsF{u`saqiOTGv0vq%oY%p-ETtxIWr83~iGQLcFNwb*Vw^zSql%8MI+2 zJDCK9<)i2LW^|Ls)3B`kyAAb0^=|)E4F3m6`*(r<8;o;tO~h^3B=M}bhm}iorjIRD zQJ27Y1>U;dWO;jgWsPjWar3`UCL1%rb)MffR2IWbifaVa-S$%}Xr{%ZZOA~@$DScm zx}CdaXZv+?S9qP%wC-qbY;IF4APemTDnSCDAeonbNnP<+`m~+XKHNXi7d*7;%E0t@ zfjTE^w$opE52Xu4K9WGJe9czvj+Av6b7Jn2H@37mP`il1tbWqVxVyl3+(c@M39g&9 zaN{k3C%n7twL^QGl)hgY2sfceybZa0#Ob%qFyLNx6ts^ksrC=t?s{#BL21TW&$ED@ z0zNWY(ujmSxTY&$^z)^LOG-DyHIhP_bsrU57C$V0c&+%B(Pe@2rj8XMGnbmzYONe2 z+#W}`EwD7p`j1Td1>S$oy{~2F`N%6h`U=}G=_zgs3n|?ce^M7EB|7u89^Thwsak_t z;Q_x;H6Ukx*v0pwSptZ@<(dcND7ks6fXhr*=yAI-e$tda(Xddkth1ww&yO1&W|gtc z)vA?;a4=YRLlawBA7e1XW&7iN^C-nYI`Hk89d1cFSXBz=0g;00#&;1JbXny@tdCty0^!w z3$TW_SGx~1ttiyVVoSouuX#9D(RJjMMLi|C^{X@9td#NCICP@hbqkN& zM3M)t;Iu`PAbLspIYu|KtR_-z{d9yG$od zO19x)yGxLxU5EJZdG+aojr5~B^{peo_u7y3B72ANocjv+h1~&(m{DJ?OYN8s zrc#4GzplP()kYy)OhyZ6(GTb9nj0r#PjTUDhY<-)lm1-1v@ux;K8L%J;{A zB(DGazRJ=;Pd>4+!6yoQPo}%54E_M$-Q9&?PqLw>PMvG6KO|$=kGlTo%fGX^e{RgO z0_c#8eITNPQ*8Gv$jYrc)K(O`U2>=XoTpiULUfX9ET8`VwJf_=Isq>O_=dTEAycRo zncD*WwV(u+KC|3>W@{JZ;H+N%1L#s+jE+4tTeYAwlH?;tl90>`xQf2lC8Uvw6HWJ0 z)M8Ns>kaq=d($pS?1mG(B0s`&PPX5?=NvmcqrV)VdAc9FyGC5=KGK;sXW)~SdH1rT z4!-Dx$1lH7i3^#OnlKC-5UE7wN-g}Tt-YIyOxolj3M6u#g% zJg7XR?x36+c&#!I^D{gNKA%pf1e{0C#kVI0bwY%V>DjSc1^4Q2aHJBR@QH|L-V03D zA^|2B9l&l`ItuAJS_J_~e4Xdj&Woc1c+quRmvG_|s7ikHJ($Yr6+x&o6zJAXmoqJ4 zuKkj_fQawTZAhRz9;y>qzT8ge=R))YsDBfskhH;0FuYjX9M>p7izi$6sHo}ypw-eI ze7P*P7YUqt;XJ*sH1kwLJ4{*IZ`QOrC2kjLOa<`wu7#I-nKe#jtEhY#V*?e#FSGZQ z4r0cG_7o4Mj{*=PK`OnyWG5#<1c_Kj(PcRD)Nl$>BS$NMw+q5{SF6XN?K*bXEnZvm zv#(HBpPWwz^-D*Gfu^-d2GczTJ_aAU0Mg0&T?F_vfGM_LT}Ebr{Rv=#UEkT)V2$Ti zj(EBN@5m%zIQMrm=&O4JWjq1Yicg0{%as$YXriS z`Q|j13XNnKi3XnlYJuz?IrdL=k>;dfe>n!vw61S2KZWb*yTtbHCfo82}q3l=s%$^i| z(eV^QEiPtXFg}LGKvkQcKF;vg=h!5hnl0CmLYM@pvk+EbiXr*fZ|~XD6DD??=+3E2 z_1#W^6)q$v_bq=37bRShP#NAZjge;`eu4yPw*$i9h6;~0a<*m1n%x!cG_Y_s`@!r3 zh1-T+rI2zL&pepLOXcb=vDR*T>zkO>wFa1RY>iX+`K~;l>$x4wjij}$6aV!4wZ6JD z`lQMf8W{shCfE9#^jf?lE6BPId_%dPrY>*1^l!rc(9gvwu-o*gz1?Z?Eupgp$FN^X zQAiP#HnXTK8<7-~&0Btp(u0zNrVdm((5u_R^&WUeOMp9 zDT~)1-+7}n>LXYqP;1Ss&-;L0)m6_xHnHcUwTZ))dgOZkQ<;W@FVv^d#}sIRvWqsU z;@&J-oxp;UA{Us5c6nwGBzp?zgH-xU?A7Q)!fw#mst!&`px;`XjG7s|byou2FlSLS zA#n&Yq%+31FTkh2f<_8bra&|@pri=y_!2JJbba^hT!uSrB`1Z3J~KET4e722Wh4(b z@@bak^)7(g-#<5tF%AETvK!Pb-N3@S)-yw%E_i*mrJ?P<>A=WH_I#SL@l25%B?TsN zMoHkzjdJmM9S3BNo&w}mD9|EuGGcK--0GTiUIjZ))z0d=5YFSL_;h}GrO`oD^0tdZ zPddnvx`HFRkhPEXi~a93mU9vf7WPoW4(+qV+pbDHlKbvjE7(inO!{*}Z;qoJ$=!hw zQMBU|GpVp&5XUq5J?E&Z%XFPYwNrdMesh?Lh{L?!0ljW-LGcJMY~Y|DzdQ^2Znh6h z-g442*{}OQV+CV;1Fjyq9PhiE3!kidN29XpAlKn!cYKMb>J#66ctt<_;pJNv`I9k% zSGfQ0e|Q1@MN!3W_86U^fk9v^?6~!(PVL+3v+JTTm?N(CZ@T`Ihx^o^YHWS&kAD5% z5%K)F5aNI5C^X+Y(s~Q$(y@s%r~Sl{da7uRx(ib^fVvY?))@r8gYVZ-ggcG<0eMeG z^=Yu9hX*)4aF-A@P90xkQ`7M{rElZQX6@kM;CE5i^)_4E!p2{IVVUa7r`DqWcDAf& zg}%q>0lA67kX5x0C#O6`pJ^t9=vLU%bQp z=H`QAV@b!m{ixT-M?VbT{NV>CHPL3IF7IL(XJ8M5;{H2ohfwoM-z*}_h~r}19v&XM zoBcXq2&8_=Ndd3G`#mQ9s%k)H`97t2|BZq2Una!vobuFW{n3FAKR^HOOc>{8BZJ~1 zB0X?y3HI&A>}MWVmk!t^AdY)PElf=<6wL`fn2MgN3vht8F0YK2?^4G#t9~CZOdY}m z8v?a(Gq2FM(I|2`o(`jB1vs1pe#0kVYxMChm5i7T`Z>@b_qXehsFOp+f9LBTgZ}yI zF?;DxKg?D5}iiF_YUNb;$#)pM}Q(yA)-(cyMI^#JM|3p(0MKct@Z z6CQT3-0*!m=^s}hr}oR`O34PDJot=0O~~^@Qeyq`f6N=~af|sFX}(P@>LjL$N&jiy z9UaskAvgnf9QV@ZbZ_x*uBaX59cnFa>i8(GRA>$A zd@oRa=eHkDoG7QBvi$aa7ZLK``PGWc9WFoR0*+|86|uH8hr5C2NPy0dVm87zB?cB_ z5adwoo&oao^^4$FEm`w1n}Lbhwv``WR3)+EH@xQ@miq?oI&}cqrRZ|hg&D<%XJcB1 zv%INq8q7m?_GLl0ya(ixMgztffVz?*IWcLTIPrq=`z0oRD&ldwOsa)iEjx$pQ+Du{ zS-p)#=M{b38jK!?PMivGi(@XO??IeuS^`o5sY0)RG)AjNw%nCa|mUDW6+BZ&@nD_!JwNrq%etkWRn-19x24pj?KzrXFige~; zW7{#GQ6QQMM;qqHOax~=Kk*!fmsbYoo^s4imC>{3#aVD$j){otJ>W|)i=i(^-LN|_ zX;Q|~+Z|EYvfGOaqia7tWEk6Vk%r4~-B!@hGATpqctk$TFZLFN; z8dbicMc%Z78O!)P>kqdG@qYF`8dkDZQI`KrP;<+EaZ!2FaqrCb!8?xGLP?KvnI;zM zya_Czs}*Eh$~{e#L~H+0#``pDHvPGo*t7VaHB`$=a`0F^b$O$|ZHqj0&R~7$XGDun zQ7|C(rUpF%6cr5VLE~*zn9MCe2Pl!rI*TisF*n1Go)<#ah8`8zU6ZNYI3GDJh-jF+ zJ4nD?*Z?>Mi0N3oG*WkvL9aR=rQsc=Q(%W_GRK@a(2d^WPL8{a->{|u;q7l8IPunn zjn?6T%(NJ3o3b~ikWU|(*zFA6s1J3tj+US~OOiUgpdDzYlkIx7a8onggeBmZM=ni1 zXY|Q=tTNC)maPJ@5BR-KuhR+sHWdVeK9Dcygl2bHgTC+yNqsC9=o@`ouAePF?hdihomh*{-8{MoT& z4Uf_6p*p=Le$x0%;L*pY{v6R`2pF6|{}HY=#j8E|yr=U(!l(;^(e*o-Ib z$e;Sz`yJGDTDp(lug6u@zI*og$lZadiJR%&8-)|6rKS?AUtiXp^|T*VqZ4;FO3Vxw z=W;3zZ3{~*29ll1C9 zUaO;7Z=HdJL_%{?Va%6x;|C75NDaXyOgV$SP|2PzPn2%C61i{bV@;o_QI+)1&>B@P)o9`Eci__NR4u;BTc|^K?KlPue@&hJwVaqOj!uO{`t+Zd zl#)T7k~uq$_t;yxw5DncpD?*C4fpBcc$_N7d?hAU;t#}gTM71bxf|HFjl5nHsJ{6x z8i%yC;hQp>{((wy#V@L`v@jbnSSi`Tdm>}MA)9-?Wxz_7JlQD;f1Idu9_28Uu&tRa zL|qjxxHerkS68g9%t)WmHSDfPSRpHbq1D9}T+CTjetD$RTSL@oUMWq+F*wY4q*9xg zSJDZPP1e6InY%idnOW|F>R-}F2I&t0HG4;Gq_xQoUppR2@5^SJK7b-?4T}@WGQQmT zv_fI}p8#;9p8cIzQT`3z+slbJ1~POHYUXD}Y(fwC(uE)LSg992P~DRa#~8k~9aOkl z3mtcKvrsHiTmYH)^AU7)AA3&RPi$z6Auc_%l3f46gHGtv7WMWjC8xCUmna0*Mi2sT z7R`#JQTrEgH8;^_79s@i+4si8(kfR4?9o!%&qezyDN|oJ_?%h%G9fXo3u@_W5G-%p zlpldD)F!J|aJZ>dF(UcYP`|>kN*8c%*@$Z(X7tb@=BHdoTNf;)&qi+Zx z!do=_hO^U5IZ|oL0dqyx3w`Q0nZ-xb^#XS@n)&-a*?ZdE@u4uCSC?jo4_^~>6li(2 z3^~IURyDxd&K$j6q+xI^Pv75S_5dKC>W^HKr3?2|=}i;TQt((DsnjM{v0>c+T=P5< zZ`wWudTXSPlV{P*N$g$M6nR{zyh<_rMCA=UT#pWV1Nm5j=`=1MujmePuqdeCnoE*i z@nqeO*_cnJruFM@O{aLVmhaV2=9_jMqB{){lg$Bh`ITEcoqJk_>2ERJoFdNK#v5cY zs|X+KLdlBA@yUlmQ$FA{q>tMg*8WL#=X$$W$19RzO@);Zrx)vXt8nLb-qL7*y>``P z?hJ_?^tMfGgFM=Xm9O+1tC-~JG>kTEFY~kFFq5|M4UkWF>0D5qXbvEuee}~7i5E9I z7wByEih`M^-)uOSOT+MYM_(=N`F~6~Ao^|8c@DKd`Dj*Gen>=94vDU_o>FhR>wPTS zH1>%f2EQmkd~_3<4azXHEs)fy*V8xL@Gp-04KiM6zP#}{T>6V=^2QnqC7>#C4W3iI z`^gNjGEE7O0zzNiNbIa7vm390R%hqc@3TaA;!0E_#skL8{IG{#F1k78DcDTCp`KMj zbwagcVY(1ee4ya60nkKFw-W#cxnBB`oyv=xx*A2i73RoyviF8frZ zyH26{zWHSuC=QrYRvgWBCz)tf z=c(cz^nS|#=jg41=|R*7?dVO>LL-7mdf7%wXjT>r=jue!ubGA)-iKmG%d($i2_*YT z`jD1Y2UkkQ^&I$>l67OjfhLgOp6vI{1t`vowjytVAPH`q#Wdxq60)=qM84 zOoCxcO)R6Xs;Q6adfQS#+z_eFa_rTi z<9O5T5H|1w*+JcBL|X81JB`&DaeqHOjiBnn9{RV;u_9a+8ezisHt#pxSJo6sYhpI2Rw~@Q&S9^Krto1bSlD$ z%9A;x_6hrwRxFWGc~ZKSZc(2BK3t=e{aggMPs1e5a^J7#N`jciy#>qjHGSr%G^%hF z+4YmeiNH&m>nm6;e7Y^4^9;<>V%STgy~@u%+1SBPWXRuciW;m2T|Kvzz)95&-81Z^ z1=K<;^Ob-K$-NqCJla1=1}ql;$Shv7?s`E8W5&d4i;FjpBRUFpt1wL(y~w{=z#G@9 zb`2w7sOyw^SFMaR8i5^6!B!%Ct5OX3D8RlMFBh`cHgTlm&83zuq$>&eJmYm&igcDP zudcya)3^Bin;MiRwfpJLpXy)7aS?1Jv!3tELcCpC2ym}PR>3gkgqwag0li^1HU>AP zOOm2hBXuYt=g?hFzV6c&f1=O!wG#{GZtJo966 z+Rv6}v_D~d1Z}Ww{8we;dL7ilHeMyY5ONxk!PIa8O7bH%6;73-AWk=`^Ouv{Z~r=C zsYQ=?{zGDE{2**7p#~Qa;dQowc>V#Fw#|n6?svB~dGjF{cfkNijckMCT-F_*G1lUl zhe!RysJq_i1I^KX7FFhDlLzRm6|z#3a4G}DoE< z*e62%vRl)vT>&H8RDt5zf!_JvO>3nMlt_qr%sWkiT!c(^)G8UFFFnWLmEa6$2gJ4V zCG&3u=ePq2mQkz&t$yy?3~SV>5;8b>Y0%QqpqA$gDdlH?`+R)Y?+rA*c|SLttsW%2 zbnp$-Ma1f{(-x+yJ}1d~*~Qgfc2E#M!OGXcth%T#zMVoNvBbG2`d6SuM1I9fBWIXs zVu#Y8fiNra+1iFBGVS_vQL!wRq!&wsC35?rFT28}*TZ1U0$$Bqm@pK8;O5C?(h+bF z+0uVitcF@G(l&cxCwC!1gL)o^*r8Iki2yP&nn=>nSnlaR~n z)U8Uh4+eK*w|j;J?co;XigOohQo;W2_p;nHe1|2L=m~Z`!V4J)U-Mp18_vM~-_HDa zhHD|tWb`&IGFN=ND&qcN=_t2fZ@RfE9vzpqkjBTqa(RN+TC7dBh7|ZdOw({dYtl>G z-cmI8V_)oiy0Cqquck*>6w1ll%qn%tY0toQ-|bT|KF*m9#>j849E2_7G!2@6Y#pQ; z7Ns4<|C@%r0Ap-UgyqYHz8MRTMB#>54L%vsOjJ{%?=+np%}-`9BF@4YT#DBI`CM_3 zG$ThnW;E+!Qc5I0P8>tX@zIK=%R5|@ri+dwG&HxU!b^S(pQtU!x)_%f#e=K4l}AOm z$UKWQu>%&?J*5u?G7AT{>jemd=+^3yc()8m#Ml=gGK)sJG zuu&Y5t?9}yXWFl!v=Q8gxu#B>70*{ahc-sIFBBhEWhF60!`Jj-*{Z?Ci8B6ZNbi&w zjdv}qk_{WLS8AiDBV|okTYUW(X7<9>B6W^vBs{)Pr`*Yy=sR+qbjQ;`y!vET2X zxpEGRHU<*LWs@M5tWY!3dQHN|pO`ed`EW`!$K!SyB7V%W#Ge$Zk_F09JnUdPQ z3+KB)6(%3&3sui(YWP@bPtX`j?_bF3Cun{Tb zQf-g&wnliL6LAIqGi*=NUZw1zhE5qQd!ejHCts90;LY;%NC`Zx3$8j~{4+*>_|xEQ zn7N{+eXa5-Fg(h z;mX0zC1L$Ql+$`hVQP_7tst5Yy3?3{yh?7*MK)deRFmPwRl~3dx#AK* zi1v9+xpUa`lgiW-HbF7n3qCdqhUuQkjGZ`8Y1K^7U>lQDdq=@HcXye{Wb+H*x7x57 z7Zsm$4eZ`gjhA1ZD*+?&H?)LdQ^FOS z|?KY3HkEv-%xDsS!E#8H+Yixb}vc zXCo>bwNQHX)1vFLM}M<87plvL%s2ufGZorn4Sfj1hFNl*?`E8tG4?AE_l7`~RF4bi zon6|gS(&ylim>T{W~#FhyzGuqcU}dTpqSWrd8u>1aNGG709mqOcR^D9~IkN zVaZsj@tu8RO6hsZN$Y6Ae(j2JZryvy>iJfzd!nvz;FP?m`;F*c<>WxjGm*URYGEGS zHsPJ!B)L|fW4{_*wk&UMRdpM?_hLe?iakkiYq7aL?`hfgK6%k-2${S7pf#xyR|jl9 zkDod|MA|`;Ms!+Ks5tcW4L4zPxusO)m*qSe*0P>ew<=if_||zSH~H6vP%>@#^Djui z5%o@8qx*gcag_wz^;KSINz)Fhs4@AI&=S?E9cnz%=B@Hr(WM(*c|?id#|&TNzVdm8 zM9H186jRfMR`90r{iqRn7$3v*3LwCnE(IUbkdj-iP!6xX$!uM^=$x+9Xr3n?v-dF5 zsH)<_!4Q*8Dsm$`#9SKGl+jYlxG-ryxq~hoqUI($M%pAe`-U(ws1-KpntO@LiFeSWZr)WGY~;H3XjP^ujf8{<3tM90%cJ35lR7ryh1mQeT9`c|~j zyI2q+P=1h-Z`MWp*7i23|G_cLnX!Qdh$H?`Ws}c*cvE5Z+v(Kj)@}aS>)@tbH zB+nbGLS4IDH(8e|xISQR^%pK*`XUSIiD50-OwxJ1IMLQB*?zGtoe6XK)5z;BQg519(aW+GW?1BN)}u= zt@46bzngeq=kB?hkz~|uRgp_tt{aIN^bAuyDl($-3e5Fqptjr6!WeQb8YHi1_s+u^ zMX^F>dFSrh!(iKe7pe-!dezf%Y4L7q=&i;S^P-sBFr#?l%<5|XEAQ~Q?CqJYUD-uC zVx3cc&eETIiYK|E92=S$@g+%aAiLFl?h_}!d>{g}m`yu!0l}`H_RqQilcLpC?tTV| ze=13bf2zKM-~&bUDucp+>h@bPx=LfVeq7}PUUE7gH4@LzoTR0RbR@dbK>G&q7xF@7kO4*2UadL|9d&v~HI~kk zYm5;zJgLr2{5#+2`G0m=q}pGx_d+lJYeONZ(Em$|#Qz~%#Q!OYx)3Tb`0EUqd!M7pb%31+ z)L2?J!S+Y}*ptmrx+U#~R;_D9U#@y9YMO!NJHb>Nfx%e;w;ZU$Z^~HP6-&k ze(I0aI+fRg5`1;aljJfo1T&T#+c02MgPdWTKzfDw)Gkru=&?@$AHUTlGrW`0$7 z*>oW8Yyd7+WS6m~`!)A{YPGx@&YrTrc6A+tt~je-jcFT?tIOYR--9y$9g2l&k`GJj z9@^broLhgav1rq(4~KXWc&4<8Iwf!s1vb69 z)@VDtJbwq4_OOYbw|M4g3wu3+Q@YaX8z2AG)Gy|C@p8Ng_hwdVZfw}i&EJk;gi}DG z7y-w)&WaXU%L`6U7r{NzcC)}e+kns?R~4f2&KmFzHPKUnaOt?iR*9{97`UL7=vf;j zgF_&y^_$EaS~eCk#}#}|SIHOX8?w!hqT?qAoM&sM5FY&PwACG0RnZ$9TIgQENwd3? z{${JQva)0E);mV2Z!@;lPD}LK2c&%o^)Cyysx=cTkpL?1esYlXZV~{6K_f+z%>x-kKK7hs(jHVWoXwc1uf6ap6KRQtm>D-vC*MvL-Z~JCA5J$bfBO z^~+i8u9qRM33XbM)QVtR(RpynMADxe@NFVTDWxEAm->A}^#|?|RXaN;xWYBY^ZSK` zwj_7&wZUaRwe49MTj#VsN6Fg;`6|`e!wWw<2Rr!q!pxJyp4ZqK1en@uxj-}91YTjCZ)8xA&HmJuLMoQ}n})&4 zgVPI13nbA23{k-Mzp#NRbZP_Mt%y-+co*ych|I&rn!V^NQimw!xD-any$GP0YALDtRN5DEHVoH+3$^$X@YN+W~a|1=U`|CvTI>S2G+C zQZ0y^d8!e@hKjP<7HQ@Je>38aQs`A#5?c@U&!k3n zef)r3qc&FGKB!9NQfK-;Gv-3aix(z#v7WMQf$Q@bsGD$i@vc%Nh=ICTiSQR zkSkAbnj6(ydefr8lQ)r*GI_9&pEI#~V5C4;3VL4Dxamf1!=RbJilK^aO3LOhTy0)d zz27@WfGC6@AdJ#eMSVGp*p@A;Evq)qG66O_UMUi7ZZGy{wv)@X!4}RtZ{SCBwzP9i zi%NksHoVfhI(!VnSf6I0H_Zm4W%2ZO~h^)} zTfv{;vcm?KrhH{7i7l{Ny2&ouG5&01DSkrLjxMdrA(LZj?(njxrgD2ybOf&LVe*28 zzsRUICo}4z`8b9HQpVxHf|~&|lENu_tZNFWaI*M-0GXy6fTf!{!837~!W8?^6E_!A z-)Mu34A=tM2PRQ131MNZoqIEE^0e)TLtFfGZhW(i{hev=tJA8vy-kMO^YA&hcyLA- zGsQ@UusHDa*Wr^jDev9|-_yZ%uYFoC)C15EH4VAEsGinDcQP!_XNnzzSTIl7^N@{=(gRx+LJS`uQ zE`8buK+MIBvfK48965*llpamQHnJhEK8&qr1)lE6Kv*<#w8A_)3v-DP*FhT#$&UsA zOeg{Lf!>o@?U&!%U-hNw#t)~K&4) z_Sjk*>lCt%HxeRQlHm8`p%-T3UFPe3raQ7`U!vMQ$2(F$QPEc^#qSBu62KP1UoEt8 zHtPpE^uK)xq|dA#)j6FwE3fL#KJ}dTyWLQ9yFLOAuL<{6c6wQKO8EA)sGIVu3vD## zanGE=llmT?T~cbQO!=?3LryJD7STkyQT>i580%@jz(&0$Heigt|G{@7N&lV}<^D}D zAnytrV<(B`lAS&u!C4Zvo!0@=lt;sUZk=6O?XF`IhTO$h8{4=?-nLK=>P(ZxHix*} zc87fl&c?Nk#J;^woBj5=e5q4&l@8B2TIqlZzoTm;~ZNH}Y5 zHlD#q)O>-6VnjIJG<{llY`BB7zk)iDQIc?m#0VOS5iJ^CLLauLOFe&du$(aN<8U+SRr=1qW2K$eGNKDyA7D$m5AFN zcdFh`A0omEvcTM=Smu(EM(!)v%+dnHCeDFYdS>WyHa=29F2s z8w(L_Mgz1P;r^Kj=pZVd4qV~6!`5iTS(zIhy|(<+ZLbp1q8@1583@3}k`*{x(i|)7 z*Q2CnT&2Jc_IFT!>;t=$oO8`o93FXpAzTObdl$yK^Gq7Ovt1!vMOIHW5jC9;#aKkw zp#r5sEYFnZ6V5(4EkVn=g0NFHk~#HU^>E0_&!dV)ebp9&&CRlcpB|FC4pI~vF%`Ri zGyPhloI-nO8c{k`527CZ-Lk(N_hOxk`+=3{dJO?W1=8RyvQSl{l|YN1b*OyNepu(Z zAb*?wtrC|1D&bYMEo6RvU5S^2o4w;p0`s$Z0n55CS-OMMRV!*x+JvkX>iZh%`^mBKVyHccH`FWM8@oPFq6a56* z8-T0h`J(<$-~o3UmJVggJC!B|sS1`atNJHNQ~JG*arCY7V*P%6)Sp|;q*#I9SG^}o++Sue)gW~tl# zP2s#=mUF$myTqbgWF}~dca~>j3s!-9*eQ*gh~F$Yv(B0@p=6#A5TP&VEOly_Zze>vzI6@qlY6*)~bJn&t;gja1={a)5rqI$?z{ z7mK+qd!`208vJ9Ss!2uKzH{K~Z9Su2^i4AjHec#XaP=Umm@>5MSE!Dganxdv_Eq8D zfYVGA1r@Z!Q!wp-SOnW{K$gZDbQDTgTlhOkoYh7j2!{2B=_u0ERw3VTnavc&<~9! zoo97krOb@3{XE@EQ6J{m-ubZp2`UgrX!p`cL!t?fzy*c_6Q@jpn+;HHjZ*!o=y)3nleK}HXMZnzJmBRXh(%UV&{_UqCz` z6DfBWo23tXO=XpQaTsd4A$27>yYe2f*cUX&mJF1#zRi;KJ%-44H|^yO&Yt-#R8)mN zmKARh)E4M|?P*AN`JJFKF1Ct_a<8Byz}<7O(h<7xK`_$O4Xt~x>3)mAjN3C|)GVc! zA1fF|e5O_mMqA0+@6F=uQV6w9cz4-2FRXt@-KpXgVBf@FDAWJw_1pWqs5Aan>3v7x z4@6ZR8$qw+MxVGw!!lGGTIF8kelH^{6{c>lg1ki%=M+04aJwx$9p3aGZ|{+wA~W@^ za&TrSCWpsbXe9*)c8zil{K@Q~brYwBBz^DiH?K61AjN!5QSfnGLgXFF+6Terkx`Oy z=l~qyCWW{6oiCf~iwkHLQHzb`&j^&YGk99JyGqcK@9m1`TwV!@IK6fp6aW6%+!-z2 z)(uC7nW2y$El1tLsVWM zA)FXDpa`Y&ec&t~$|oJu%xvgj^II`WDvTye~w!zrZq3-0udEpg$Q0RccGi%=xMliIy~LUnlYuWk{iU)Qi!s%?MT z?M0{dx{D(?&gxRAa-9LIxTYT%Dm5H~$ z=3k8myIPplA3~!jzdcoa`*TAHc7!`}1@eo$@V7=e;>wGU;k5=MXJ^$=MlQuiK_xVl zt=*g@rrv$&h9EsXJvQ;Lo1T08qpF+fw@mII$Iw@ofcU%pUnDa->m~>bm<1EpaI5y@ z6iO;akM1pAC6N!*XPAC8>v(OqPev=Ts3|J8qEO6Ixw7xrmq)#xh_L*&J0>%up1 zf8Rl=^%MCqlwHY^u-Ym74cb0*PgUGrL3V0sZ@y{sqQ%sZfHBO&D|!-l^zmd}5{J-Q zqA%|~4u}Yqbqa$n+nK+jys*^Dc_R`1h?8ku>#Pnc=wmg@K$2<-!}S9FL{%ce%*~{^ zX`c(-rlNgPGw5ZVAw?Tri#ERP{+G=*1~xzOptR`4h65vG3jn!M+o%g_-Ql4l*4rS50m~cu!GcrEWOfrOaWwGl~2#KoH<+wJOh~UOGu&uUSuFXb0<9}CK zK_k&I<5T_-$ogn`Zt+KBcASrE4V~k1??TY&T!AUwz7qm^bE)$<%&9prp~ko?Ry7Kg zs7Su#Yf8z{7oWupt&OlY`xLowkD@cPw}fizvP6aZ=I6qwVBu#=2<26^e+H+8D~O3k zeePicE`}rhuh6@qzMEn&Lc$SbG7&#$;)t=uf;+qG9~2+U-yO{*CF))6OxSn=H=3Odg#kLEc`3{jwpLGPH;c2z zkxPCvW~oHt=q?x2x-Kt&xNN=V^TdJLXWl)>HwNC-aE7ZGXF}U-^}V>GvPC}1-@0+{ zx?Q*lgkN?aTF}!*&l{w;H~ma!*qoClBvXhfC_-ypR4Ph-`FQY}71#7^k8BkTwE6JxWhsTG1>8=+kp@w&#Zx%&fe<_r;|X~( z8S$J+B(wKaowH3Z`QCs{Mk8wr7?F|v?Y@YB4teSI=xCxRQH`lUt-RjpLJZ4qtX*7( z%ZN53^WFaSyrVKjzl)(TC-pC(IU~JIxO5ktZE(qr<%8I9$eq|m7V1v^^YMq-2NQaR z-T2we;~TRT@;s00X4q2SueS!nc*x^)n_vhrnF5PW@^4d;T)xQ2)~%-Eai%v?;pf#D&pH z!&uLT+Y2e6$4Sl(9XEJ$#shK>3Jd$Z*xBu-47+mt&v+lZ6G0mMUIWdmw3ArS@}2;qt1c1 z6SH=MAX=7Eo#9uk<0PULAe5Dd3pDskSDEX&6_Ohjr*0yu-#gOenLZ$mp%EmXcSIVH z;S+p_(aT3w+`md+s}keY7BENPO?KLzN(&#urPacu)x|%@3j-@EfxMdbj;zZ4R zeNDawgxXzuf^U0&a>KeE2PV^ojHGs_0W0yyJ1I zVQE2`O`in`>cnAQ^%WkL17A!}v{2-RH!IO^)lG<%wgMg|WQrwDEw;JD)$Z+Kv`VY; zbBsy*&7+is3N9qG%@u00z3*^UWM4Dk8(dugadT4qCc1%8i{k5pCjtEmyE&Ct&29_^ zA?XlG9loe#hUZxZ^3lB_PKH$k3cn)8)<2ki@)8*CNf{t|-w66%9jp*xG-=__Pi-~>jhq!#+QAs*3=J$)SziV~4CPE;plR=$# zZ6}@^(7yCyE+ZVWA(4lt8RR9jE&jT(4So zR-!lFG3k7L1f>AJd^eD0<_#X|wSl*zDoZ|9q0^tJo#@FHmE^^jeT*5a7pu}z!aMNk zE>sqqs)$yJyMEEYA9r;YynTAn#bYOl2S%$SB1EtgWe8ks>dhO%p&piewq(_!E!@4ee z2YzpEQ`f%f&s6uPyd5Tumw!~EM0w#6b0!&gY%A=Ru(83uAU-g|YtNGE%toQ_z#B7V zH1?H!X6eZN9Q%9)NqA6K-5!sH8yYetLZ&dFP05RB=Pr2RWUTG^;FW*`MeJCa`!$^={aET_*Rt#rC$x z8wka~Q7l>DwaiR(>&)a;$IVAmL+l{Mhk(ZrJU#C)d!;V%Rtj1qe0;ZA(3lx3O%h2JCEW1;&PCiEpOvRUbP$6f+QDcrz3X=<;*R1 zvNMC-xLk@QmQ%T2lm41Z62JHjNf{!6uttl8I#XNU$RkNQ?{S8lmx>6WR0T|f_KIw> zMxJ$@xJh944}CL#Tr0G44mFJ3aMy9fM)}76;bZhRA^Y0KCg=QiCo@rv8Jy#X{AdA4S{WCj*m}v2hJf!Je zebW!k>2BB!S#Kz%PQhRWzZS#x$EeSX4jLwU{c);|6wMUa|5}RgHcUDNJV`TiVO8eY zF8O7%mGf|F$jv=d|3%38ETzim$bpuSJj{O0jy3o|l)QRi5wk28S9beeN3{Fx1nbMT z;q~RlnYwfIW}C_lK$5E!6g40~21w|ghPF0kK9+e{o7#TJ9D+Sy{PR{Df5&DH@Lyhl z|M{DPoPnUI|2mDaC&J?OyMKOy{hj&SSKpZaQwARsmBvL{i%^r>Z2I|Yzh9u0c_9Yp z)BpPZ`W?e{kP^!pn}I{z^;{g1dv!@58OjJm4|10r^y${fUFu}ZNDNHcnBKEn|MAAP z@jdj6(HGu&$3`ROazK08Ge=B7SD`N&h6p4kE4ht6*(VWn?Rpt1#$X{${?BDxqfY~g z#qS5c`{?skbVOv=;W}JIgm^1FJC@`Jo(aW1T4dkMdKDT&#SEqV;Wm5m?`1_a$!6qD zuIntQw=M**|6or%^-%=RRY4c=(|@Via?9R*`?wme{4&R^ey-K9ir4aIaual_ zFiV;A#P`7Ga}U40fX5QV*-KNUQR*mMk-TEo*mc99_&1x|vniMSmA|@vKY$$WySbHg z%2+W)ETeiE)HF-oCA6CD7nI~5`E+<;-fL!GInz{Hu0H56xn6nJ%SPwhT=7in{U?O? zP_iw33sv)+iZ%P~&8J3-G>6_rcA!^V`?evhm8^WEHP@19tCuDwVc5}Qw>w``0R%(f zpX8v+kLPFd5+1GP>gCNXIdN~WWtBCU_-^Y8>lA&sIknz46r}xbqP(i=xZf!RsQ!vo zAKY7EI6NaGTmv->)o^t$rnaZdRUAACQI`mB6SO82K}&5<#rmnr{nJybnI_Hx?`SU( zRmM~%dZMR=Q{uk;6)}nU=f;xZNO2;_KXyN zMI>D&#X>?!gwldZx41Q(nJS+27%%-r!%(eOpG8}Y%Pad29HFq$<+<#eUz1#$3UY>+ zJhHarQ?5kpGoPfwr~GPu-dbSsi7w_+mRBcK#;QyZWvyX&94-8JG&6>HnPL~_BoW+# z24YaAJN{Q2sQR7tk$yX6_QsR*VlnU45bCxA4M+AO7>Q|l;wJR{Sh6MwFiWGq4_t~E zGpVQ&9-Ho-R*3)q4iz1jC=xQ}h%zrJ%r?Ut)gDrQc9d;XtgU3&&TKB_Fe1Wa7Spev0 zea@q^8GE@oIsgi&j&%Ey=FW&42;FBZ=yA~G6Y$Gdx|CO)UW;uW;nWdO*(nhyla0Bg zD1xQU~a|cvWX_31gb6F zPNj{l*65O7sfiQzejkEc0}cyY4}Qn`VD^f#J)8vlns+86Id}FmF`ztHX20t^1vS^!|DZ|$?-_2m)>bhu6ix|++> z5nDES&(;sF@U5O!qcy%nrs~9WUh5cBqv+*#Qmd!uYBTM8DKO?Oz@@WosRun zMoYJI5p%V^T@B-(Uh>$@zieI9ZOU2JN$pds;LR<|_Rnb#(Ct{zRC2`RcZvqe7}MrU z)5a`fW59Y3lidQQ=MenHecAh`^ZgU0glOzKa=Od439^Q=y`DTFI=(XZZ6wM7aq)ne zTn)UPW%xMr*VE&GSoQuA2>Hu#camBHMghdqSr23s6Qye5lM;~^yuUWT>d9s52>r|X z`S+i&Q@w_Cn=}<9$ptj<|<$$+4DE8rq<6=n4T_9$hke@Hy zwTyTKzbGs|{aS>cNPxd@*FDGwyX+x#5q^&qcxB2kccVm>))uWkCAfR(FEk{WVGsh5 zm#&wP+OkZcE_xL+HcI+RU|ce0Y~-;`QmMOf`I=Urwber^>Wn959%7%2A?lySic~Xy zs^mnJ1tZN|PdTg_-=2KuO1_KOd2;B+S81MLF=6G(r>;;ExTyDGU-+KNCLoR42KoGm zreZim&O5!osL3SwK)>@LRZtvyo^Vb3#Rua`rN~w^M?K$DqU`UD`mFID%Kdo;<>p2s zZrtCRCm~sz<@%N#^KnhgjHIdlHg~Kd_={r&VPZTT<}HCsXYjykN?@`}#&ux{U1t3{ zTb^clqji~|%yYiDM;|YLQ&vG^v!Qe*4xXjVcS+ai1zw-|$3f7*Zrd}-G0PMNF8-(E zUA48eM8TeehAGl-bQo=0~S=2PS|5g6KZQL#$-W(Q%re$nasG56Q zVIOk%D9a$&r=Sawp=>eQTwex8gA?;@gRW9Knlpu(03Xxl_ob=m{a&MZl=^2O@^AxT zvksH1@sq_y(FPqKo{!M~Fmsvqd^GTYV9ciUKxoIhn6!Y3L;v?b+#}aXekQJuctvNr zB~t&RKjX-C%+Q2Z;_&DO)tSxl`s^&Yi>jV~88>YIcR2zjmeF+(*E*qkf3eoZhz2{> zoKf9&_DV_43i(p7Q<)n|zIr$O!X;dhH2C!9ayquk%wA3&5ww4hCkxjVXcbQX{2wxz z?JlA#z_Ne}J8=l;y0DcJU~f#`y=9cx-y_g9cOlA1grTEw+NSTu91&-GZ_}-v=n7?+ z?a$4N*!>csrH%3E^n{k=y^()Koeio$a~6cnG!7HTp3wG=hza4+=SHGh>Fl#;7fPZL zaf?eBGcU>ceAD*e%C3L&4=*4w@b$a@o?Dv{7Kt>*4RZn@c*H%U{wBA!$4_r=3_M~B z#N^dByjxwoH~Xd=xgAE{)(6PkuG3yHq*5&}#RDeXK@vXM306ntYfhuJjz(wv-+P_r zy}&$md<0-)YyMPLU5R%V-tA}k6|KQ}bL}-jdvC}PeXj1K$1N9ov^Fk|H2vqavi##G z>gfj8Um@fBO(`4ZX;%r9<_M%xu<9P|rXF*1!ml=a`tjH$(3(?z+sMoqL-Ud22dDQl zed!OJ7Z+*#uRg@*GR{oIs*40TewG)1vu18s75vP4O($(ir`}`Pw}ZSgz{K!)$_aJ;VGJ@y{f&<5Uc>je?cqqW74Ig3enW z^Oy2)HIQ3@s4K~$v0GpTf@m$npQJO5|INePT|ly?d-;AwCj$|u2m-zr6w$EV z(|e7fIMkgFYMne|_c=K{2dng{oIW>-gCrs;>F+%^pLY_Qg+;OF58&+J6@Mn2ZSs!Z z{nWhyc}Kp<>Ox+(U^fYM8h-f5G`q+g#SiDu;#yeI)s+`kJ?`@#RKu(O&Tv!L>HnmLMw^33zfk9&-1;DuZZ!yhE6?r0LbKOs$oO4Jciba& zENk{2_~5@m(r9$pWR``uH~yJg-3jXX0L#L_J96I4pm5$4ib%b8tk)*(UC&qmVH*%i zF)Xs?@E$v}_+fH=!16HUT-$y_Ji*jr(wJ%cZ1qIFX5GY+k6}9j$gtT*RL=i?GE?X) z#PTqQdajhAT6!Qsym$4mabJC~?VR|t4=+oM$9*oJSr^+uohK*F@qlaG# z6MM3LIxo=A$;wz=P|FcR{g8N777W!p@ce*J@$Px~i zKzHocKbhg5$c`p%br)sCCh$PJV=J|+S)Q_ONiIcoS;V>4kA07s`dI(PifOms_gZA> zW0rQF3bdNAo2Mkgx*~A-uN*DLwX;O9``qV7nFaB#C_x#Y5yPGiTaNp}m0t<)2Bus6 zk(z40k;`^*HESf;Eyu9evkd+=5?@U$yO1fHgo8l?f&CgQJ;CU7sl^lH9R ztabUxPqeV?BDFt2e2WqpZCm^?6HSHON2IMyS@7b0>r@kJR)ptKmB^Wye=?uyK0dsk zb91at&!v{9TmPJYV}F?{!CpKNt=d9wW@l8;6!6;$TH6^%mSMg?%P7e&7vPfd{c3nk zp5tZ5Pop1qZtm~B_$PeM|Ds(Aiqgu{D_t9^eibMh(m&3p!caSBiDV_JY<<^U0(TOP z74H0mqdghGS|^(DM*3zQe*}x@R|Fs`&!EyOO{+o1YdT^|=`P`l1A*vg_Nh94H>%XAl;7c}X zGPVeEI}FN;1aGM6?&sG`Z+3r(N>G2ZHAb~TbUwxoRq~9H9;H*Z2D7=R_x9@F+gBH$ zt$`Y_qt+_K+%`Mci+U0!=B4IW)J4{mDZbhM5x39jw5M& zxg({MS!hUBNs8yLp=9{!MW42PNoJsY(;I{gF*)BUO9eww~#H1jib&BB%aM}YLi>J7WC zZpT1w~u!TJNiQcC##(52rnycCn(<5ibrn89v=-#et3hYyN=tjx)DMCx< zDKSAA7c;cV9GIY5y=G#(u?>VCyZ~wrSj{yUbA%FlHrNUUT*od4_zq@Ozp1Se|Geth z5hvc!RZt>*_!m%9#gH8e$|zK z>Hm~D;d^snd#`8g#%8z|!vIiF&TnODEnMjr~_a>zU?* zy4D?lJ0n$KEyliS%Fk=XGq3+tZh7R%)veg1BlydJ;KO0*)y?IAwM{fw2J(IKG%e&x zyfLh6_jB&W#T$BcNqHZ$K=IS)OjdgcOUosl^zA8)daA5m@4ZY(nVmgp`jx1Nwb!2E>OU9Scq1HivtW^snf)Ne4} zjgfdb+&1ZjA*0nH->?TA(wb>@&H}IADc}i^tSGm@ix}3WTB_52 zgX4lLpcCkLFR<<(kITvoiom2g^&=Q}v?4pxQWb&e44XMa+K6MYxw97g`~G5AXdLeo z)T_)qxCe3E{jiA(qNh_2tb3jiA)2~gil0^iE+r_bTXd4mIbxO>SaW!4mS$6%!04sN z&89#q&;aG~@T(&}uevYDh0UeKUZe2RvlS}Zy;2TU;qk1ypG}yjT@sTWa?p*6hZl;h z)g$~*MSmdJiu|j4cago`6IIzpyHb12#?1!L$Lyp++@P;_hBwa(*rOJ4Cmm?yh55wp zY4WQQBIelJz@BmyVKZxjMfZy$RG-u-SIud8gq~!?mmSQ+)O5Mj1OKuNmjy^FOKkNs zs3sVn(+}-Mycqe_0?CwK6d2F;hvrWUJE?%VdH5}1`h#lDgA5i-^>WokDFTbLQ@rjS z(^99LnbLvAf9)?Wh3C4@b=B_a(AbK#PIS=e>Ngq zcdaBXAw;(>PshrgmNN|gphov`to&+hL}3sLBqDYPP~y&#kE$sNO(%;^98CC>WNzZZ_sdYU)YXcdyTOHL1qv@UnDI2#=d0d&lnm_ zLH@06k7mKcr1ce6_}6%mTsn67&|OE(EmYetd%RDp_^y%XS=d}aBfs-619GR2VH*Py zBIJ#YT-y#``K3qE+=))##C7aHzDHodj$4%D^x9NTcQ)=w{+QMaHYyv19gxP3KZ|C4 zoxLjF7u%7-q9vps@Y~IIMkU**W`^(M>hJObV`D@gpA`B9!Trk$*(o8)+~r>cM!RyM zGGfYR{C#~JpD|;Nj$AhIvR(q^?w3S_s+&K{B-Dj@(1a~5O`%okHtraz{6&GQ24mj7 ziGcs~Y{SGrA~Np2;mUX)#&;f7a#KyURbm@58AiRo=7&YZsEchU+fDQLTSP|i2|VS} zIMB*pUSgLK;LzjwC7|~=GX5MGDtq-{q_HMrw2N)PAmZ(Ck)~e$6D8-5RB4@vMk}zM zC;ndOD>`a>oP9k;(kBIyYlUiM<}0m2C&?@vP)~J}c%#28sG>Sk_f`Swe&&q~~ zca}F}Hf{zQclOYk_4rY{0dwNu`=7-xq%IPfOL&|=YJGR}PEquXRkSyd{>QGK#(|@1)nAQr*@^_?s}*1!XMMgV&1=|6Jqghr9V8t zynSs8(ab*V;JLXkq87Lypg;C}04(4<{*sW+cxwE3zne7hrr~X^!wOdPXRq6Ss}Ld( z^YdA7A8F_aEAcNO;ennti#DFYc3o%_LaU8#PsAortw5=WCmM$TcY1!nCx&G~PK``9 z+8~cleZnGtv#Y(+;u27?5)w*tl)gFpzYFVA0J(r>$=|()OiwC)hAc-5r{!A=*GN#H z4(4U>{tJ%Yx3|W&Y0s}v)xVx>C+eK-#T==atscPRS5X1=owkK9F6td zB={!x`aN(=@?p?h`d<{@EvYQhmdCP)b|n$RH)!2{U;gjs*SMh}Bs-`DcHxOJmHKus z$Q2i*Anl#zi~=9kdWKRAK0EL_7}V@pvpN%>UTCl>8^TJgVKAcjy0od;L*Y+ z-=nx+NiTJr(TVQM8mf~X<0>u+r|D-i7vD!dAHuQ*o(X@{wSV{#U+%uiJX6Hp9Jrni zZ?_tf!>m<_Dau9st0mIL{qHEBfy6#EGBP(UpjDxAnQp%Z5y`Xj?1$~b1w%Rkorg(J z|BpG9CtTTxqm0;p3E-HWzuADfs}x*YfUD3V-aX~miBAT=jYu{{|>2G1|U9` zury|{N=v1OPISJ}$m3bIiV>06};D7}}U zqDTw9NC}}ziG&(D#0m-m3WVN!fY6H&ii!~FEp!56Kp+r83xPo32KRo?8Sl8~!@Zx* zIQQmLGS<^RmzoPV4B|J3~x&V!CbJvB^>}vXP?%7TCLa${E zi83gDv@W&wA1%8`MDPLSC72l6B_w6;jz~uDwz*ziw2rH!-?g~-Gg}{`#*O7l?@O`? zER%nbA8E~%%%9q|yaX4~k>mZ!r(5I7;1_MRf^#?SAgmi}qB~K(%`N)kp94}6;TNE< zpSrzf_vmr_qMlz9p;ME7lY{vOC1{h{&hNuk22GRmU}Y&1UNHKaXZPZ>L>I%p@<;uK zxX*ldhFv_yZfPj;_8LxW$>~WLt193z?neCrZ=vH}Pol#aWFjBXI7*bco`RsA&4Nb}+JVoaRKS|U1bQ~JZ5xXd?~n9uzo6lGEZaTLsb_43{qq!pIsNwT(} z=ErTrTw_6EtWW7=5v{4?%Q4E}+wHn6Gb@uw;UD+ZY%18{o-fv(EX708NEc9#cOrzo zmB}`NYgu?Ms}d?79dIu*;C^`VozMljY(6K|kOI@~u_x!-)PR%FQD?jvH@tSR91^8{ zeUz0&6zhMUF!;Dfigg!HKBPwnnm;6OArkf$T&NWd?;fFNe7hJ2Pui zzGU?p>SEr8zx=H|WAO~ylAp~TA(|={m$nfn;?Kuc32FHDRe8D@RMYaK*x~p!k@m>A z%%pT?YG1j}5-s*Jmyxe$~-fz>GC|rm_-C3!QG2K^3`^0xqY=X^~%Y1(`Sp8V@76;ApZLSlC zD`-J$CINz!74^FUMCTi6H#v6j`sJRUdVQ=RRo5&FYL}8-O|>UJTx*SCMPw3(3o3T| zJu>bq=oP*f;P9xUJt)_ONk5X}6d^HhLtohHj&;Ne$uJZiPL3?hut7W; zIRaLNB$2~|nrjxt39EFbq0^zDo_E&3VX4h%VD=Wh`6VX-hzB2K*C!Z>dw@-Z%4bYH z>f3z6bTf{<(IDOu@qt)m4fr@W!H6&)eVH(^l1A8ECA!BV9h^`214C_hRdaBbT2A?l zYVs0_4j6QefRRK(un(z;6CGgH!aW$qXg|L%PdI$LO2{!Hka41JYimiw=BLOc|BBLh z2YGBe3MV%iQz1XlYRHb!D@{{-DqIj|0M1lFwFb#q>h6@c-+_^+f548?mfURlCN9Sw zH2;?@hiNGRT#7cQpMr4`GHIaIYzfm}S^=M=V**HLaF!|ks7+$QC!B;euEonTqd82U zerj3*LyYN+h!!qvS3{VrLE9J&q$3zyJJ= z+ZbYEGR)-Hk8)?9wivd}wB~kp($B3GsyTxfo!`1YUuRT8p6nVy4O|Qev;wJkfpF7P zF=!jfriMFy$M7r?(=>~+J&De$pgun3t7OpolUQRTS* zD57eFK*fQvbVz13;soTNV;!qUUf7axBCVlb)$hj-J>A2NMLJ}HubMK-+nIDGl#VzM zx*GBX8;O2%jZnR8yZx9(IQG_wMT$Cx3t!kHEGAT zYe(GJislU1?Edki;=KL|f_Z=I60BfW1zyIh793g$`1LyRd5`W2H0ocrz+jzFuYqL3 z*VNF9Hoh!)AL-vX1w;<`1}y$J6v8sTF7|}xkd)MAXtBt_Zb-)SVe+0o=}gYJXdsSo z&1LO^V_r6T>GpM0J(U457WLc+4;`7r_@pc{_VoT{>1q)ZUaqLn@?@I(j}IT$Ai!xk z^>j)1+mKHH@}KM>z)UQ+r<+QZgRaKYOzcz7l90LIy{^~7w}LVb*wVi3+-6m0z+vh- zNRL~UY|qpb=2*y%$%|s$Gd4Sl4i(sy_JYjv9!#E>tQirL+>&Np+X^~(o7q|PLHNeG zXR!mSj}$mlZsaqhMhvK0j&~f_8oap1rVTq4p^Xd|Vr}QnrR{#b|0tEdYeufX8ydkw z+Q3Kt8Mtu-jAJ6dkZY5C|_u|BqdFFVg?y^t3+2#`brnX4+e)M?o0Q6&ygGO~V{lE1 zYnwhuqh@OzhVA$;P?(&ulLJv|?YgjMeWAw-i88khNff_-E*p=QYgb^?9z9L+XL>ip z+P1AntK>;~KGw$d+&F;y!nA9jL@{Gw7e-g+r0l56OUk@c6qJ>!*s+$+!XsfHC?~h| zVCS=!??Mfc1_=PjEB-)#O3-JJ3CT+PSdYszlz5s&maN%)*3rW&Gyb_A1Q?Y~pKA!t z?Hro8BFS)9$g`8NK05lOxS5>lG&~aX`Op-wy4&BaJVv(R%!<+XxnrBX!fVfd-=!Ys z)M-+2xbA!j{bzPyn`%#2iDw(fkNXci>IytgfES#QbC>@80uwGbRAt_W(s#j3x;5r0 zA^c+3Oh^qQki?H9o4@8qcAt*4f&7^JNkR`U5sy6nlZlyV&mXa>2$S4Vba}OPR7YYm z?6+Bh-K9Ku^V_@Abti)P4a?+pRL*dOg9G}Uvl3~{mqFb>pzgS-Gwd~e{2|YHN>dTc z*sh_iVfzE^%)tOW?m}=Etk5ob;+dVP@YTd(8IbSDOMQ|TtL$GHE$Wy4o&N}(MUT;^ z(v+s)ita6^NBoHAtlxZ9NaEg?mg^FNJ;eueKKJS6(;WFV;14f_-T2Pn_jAa<2Sl&& zg*|^wK7(vD_dH}u+TQNf*aiJLB^NUrhJYNP3*XvVDa+qznhpG;EXP&7EH&@7=GVWB zOXgFrQdR+%wo!Mz80)fT9e}?zXepY1*Xwf|ea@KP-{XUGqyRL2jhu7D4;%huwa@kE z@mqiz@GTpg{;Q}5ny`XZjYU^I`I;PgWv_M3PH?P01>&IWu@At{HGIouoc8Niwkkx-nW*-G|55{nzbnR zRGb-=SX9=aLUWp(kI;;sI<*lL*hGjm5PLnm-g2T`YB8h() zSQpuYZW@W%J$&+JWiY@gkLb!L5ySbBnbG+Tf?oZ7*|7Ol%$8pVJM+5+@-OElEiw*K;i5sm3YkMYKg>F zXRT7aqWt*cm(fpy#Ie4uU4*AYygklQY3GmB)gS92Sj)eze5$)W^NFb^KG5^F8^mIG z@`iI*`dlzRk83&Rq4QR`lO31RxoL_bseaA#FUgq1R{g~qLGs-f9eyoWBi!3mtwmnT z_BX<^Y3BXXX@2d=^YHi@1{f zr*J1w(o@_rHtLFqAp4E07aD=~rSaENpO?eCu|HyaU;CYpp%1|;)BuiGf+x`_UaMty zWd7()zN>6DMRuiF0{vboac0IqL%wW6xKvWf#Gjw5hu)pm4`ux7GM_;xI!IYFEfnsBpVy?!?LZlW~aNZhHPVxG;%oe76y}G~gJLhYmD4E*y`r3fd!$Pdq-$te&;IB$ z)P+ihbb7zsv9%kNFpMf-yxFNf-B5sANxArP)CX1|ZOE`?Sg!OfT4!qJwyWP^;d;5rY+V@q0eg5j ztRbI(fMViB-(IBqfYRuP1VpNqgi%7HFM5!BK+LhT@o4#yPd;uA=sTPww*cRJprP4r zzMo{Ohk2SMcrGDt2&EB`-}ey5OEYSWn9BTqxR}{G6QoHTb`K33&pC2ApsdznBn?ZM z8%7lw{bDfAyQKA_yTl9fvh)e?SL5W^Jy!8POTMmdT2twx-wLMPngf9H$Oqqg$D_R*JcTYVz7S8_na|hjOzT%2to~){(W1 z$b#TJ>fuql5G>G5cfuvFTb2YvTumZ`NJpvThM=f9-l4s|B;Xq{uq~l@od@_x*5uFc2K{j{a00vay)1B-7qjft48igV(UvA^LMmLsU$Z@%c zB(5is*-$;#&0%NNSB{FIv$P&wz&7V7?Ow&02g_>IYqB=z5nvpyHsj=jb_e0pC)J|q zQw+GS^wQwO%fVhNgpI9YjvvWkqO}Vti_=L`9uJ=zpUZFcLU(8UyR;+*xh3T5> z;l>Lxvn^jP!F;wEaM!p(`Vni!oXuW9oX$-p_NSvO6sR^|%!(UnyBwY|T+sh(gPhLo==tXz{a7|qFxXd|Ss!dS zCKVqvLVohNwW$=AKDPi7TuoO~uG4ZBtDzuhQeKt0dAVPyjJMwB?~2UFn>;PYQQhbn z5_q(3U4WTl(ki*|(h-}xn^9@QlE<|vb$3vF!fy+S!HEj?hCQoyNt8(E?(_M5dwZMsjGXGw4OCQN*6)in$b9O-&Om( zBhUF-ORIt9;rruGCO?G zy5o=}*&FK=nEM)o`>aZZEyQ3+Lpw4CG;#n{&MG*_r>TSXtyZ=vFV3ISUv2piH@iZC zgnCu2*HN{>a)h1>MWXn;0;{$OaxmPz9)|LH!YAwZXw;ONH-^q5OcBZw??vO5$A9*1 zE8#dz1_~_Bmd^~=t!p6r6&)X)Tv)?#dJlu!+U^(WwW+|$$I2=)&J#z%{3f=4C9~g@ zOID1}e2)$_VCSqE>ddKU>iCJy&Q5#~7v0i&h1f86BuQX6b?eUZQIi#@sJ^hXh7%y2 zPlg;9KtQr{ZyD;cKV)8aw>f|}4cox!CCXFW(7BN9XiH1KHl?87&5KWcfxVvrc0&yUZab@w)0q(GC^!u45c8xtR)q7`k5`BhlX6PxyO8<}DNSL9#n9|PT zezv8R{_5e|yYFRr{|7HyQ4_$ynsg|QJpM}fS6mLCnVFlD$>ZSFngM|FatXIE z{a(IesZ-CA>?zVb^dsA=qA%>29o4P4VOJs7 zt@apZ6KCumD%lYM7&6$~C<63r>avdC8~<|7LpO^F_H6?HvrsKJM?d_^ESb5&4Bj*O_)Kx5Rk*^XU z?hM>U=3hcKk6mmM3AVi!{?6Pr%;r%0ZC84kD%7UmDWQK{d(H-R6gTu29zm$2QM#ii zEn~g}_`M!=&6kzSG>}TcHY?}1x!S)z$@7a1ml;9N`LfJe;acEmQo2F%)}wRSmBiax z;qwWYVc-@ zamm(M9bjP&bLnjzBRg;F6!|Zan48}0!>O82Og3JzMLk>q0Yw!v4Q&9g9j*u7(Mh!H zw$2#)iaqp0U);In;)oDFSTwdUGE8yQIIGpiLnB-aSd^`90sywL{MgZ}DHGwxzno$~ldicTYA!w9YGt83^VZe`gx}?%M48T-K}*X2TAZ z#C&G9b)e~L4VQD@k+!&w+eP6qe7v1S+)4r>%|OZu>EYv|$@efV;b^BpJLxcz_LFa6 z;5e;ZXlXUZ-`Ohb+za67rbG8)eZrAU&I|e6$Gt^|WJ#xPG1yLqslKi0v0rG(rGzn; zEOyQsfr=Y^7e#VkY;iHWNy*h3*7N5T?*x=kXP2a##U(RG%VLgd2!W+#6@>-a<{}Vv zmUUg%CyS$8189*7EudaXTz9yRjYrWTMA)e&IQlI;@t*O`LD-8;%!+hX>XbUx-iVlF zVgss`TBMuLM~LX)(hkn;j9DAu8wtAYY{Ry->K$L-b?>|OAyh;JJ7vL%j^S*48*YLY z@A(yJHVA1gfo&(P!e&5`NU)cP%%3K%_SQ(Z4^OPDt30*vDLnB%NsnEwQW+Gbf=QY2#F1d8Ch64z^}n5S(@6iN@Q_`%byeGNPAayR$Ui0Ln$S!le&_ zfH|K(%3Z>zQg%dnJ-fA?Wimb829L9i#=pFXd{|W7h0^k{N%=aq$+?AbIM2D={TSh( zC6KmopvEKB*_jX^=xUjnV&pwr@p$K;L8`1*S6I@RmNS*4aUG08KZ33nmJ5~8M!1It zpMmjRQ=$yLF~wgNwW6cV=bZPje6huWDk!IvEo%PC+duj$EaHZ4XDzL~`7ENls@H84 zIKOf%uX4IEibKE%Q4gbrNR>Rli;}cwtJW@Ti3}D*^r}b)LoY&>N%!5R_Ti-?+A#%? z-K50v{Kc}kw`*fDSUysMXxeaO{^DA47<#C}rC9yQ{_c}qV-V0B^B`L4LVxACGY^6M zMx)!E@71`CCgZyIYlj0Hnh}{Jx^70m^$p&sr4G#6j%&-z<191n%1nb z3F3QLO03~oF2D7%{9Y0Uai{rfz*zN@LcztOzDMURNcB8z0Kl%LOI`@ zb-c#at-oXfl`1fI=wqknmyL0SMfO(nsBqlD9bvUbJd1y6wys7T6Rp?XRjkF~0O7jG zhQK5vb;G+KBI<4GZ(B$?6?>2RE6V0H_E%DA;n=~y*s4W-3UKi5*Jdxo+~{dMYatoS zgu*5dCT}&(Y=!4Vs!o1;pHrP)Qlm1rmol^1Jgn?zlR0n;eW2`Di+Lxw?tAOXN|LK4 zGjrnAb?gOC{-Or00&Ba2fHJ2(HfESoK{|g=iCnsqX?XG^s@s;>xv>#5EVVv_aWK?)7>_f+!-F37E~xxCCREb@N^ z>bW3t?VcjS81;KEEzt_75o=#X^wxDSg{oWDk0qph6Twavg&7;EzZ@$RBAfIi`e+OJ z%uQDy(gyQcjq=-o;hflPMyiN-3-+2tzsp)f3J6?23J#agZ>`h^CJN|;H?NxlNdcs( z5beqDLez-<@kyKmaoQHRF0pYY+PEsffJW;c4Po-E}*F475a(7F(BHKL;KK2%xO-VOzC%_L@i*yC#nZVAth2uknWgeV5#i*k7 z;GPNR#(-$bbo;eQ3i?(^q(*vEl4h}yV-1y2*}oauJmLoOsF}hi%cGR zC7=cA*6T;ADHYq2BU{aiWF_m2RKwrrUaw$U+N}{Y;|nRk_C}sxsaPOH3D4$tn|ik= z7=F8z(lwqU#GcTEH$Mysv?dy)yY@ls5@E>79wH^qa4va#;%VQTWn;R ze3$QeYe0_PoKt$awJ&!i>a3Idm4uA$lE1VH_2-}K1u`Waw#r|LY7r=vDNUmL)*!zBwKlO35eyn*-;kxA^FGb zR=i|J=oZt5CFD5R;!eUBC9Wt{j#awd^!i5gr4;764z=Mx@V(3ONv1XsgU^b^aB8%% zyc!Vsv&PVTI5lLjV#2nl40X9irU=zx_1G4`N+I#pj} z|K{k~QybpD|JwWnt>R_*r?9}okL&ljPJI%6G2lzzE4SYxL4$cW!BgBkA%%2R^}SMA z>L2m=DfacM?>pEXw-+$M2ml;hr#Nqoo846zaYiepNK_Jy)w_i>7%$JpwMYgnn*u|_B{*i@r zcil89xdI+)(D6%So@$oh)xPj+_5Y_-_5V@LfGBLB7D{#L$(U$ad)uirDdywO^4j&Y{j^TDsYC8_f%Hl~q)RC+s{-hp(i1zCd?Kzi) z^qM`L{@&!pFL{q*cX0l5EA#CUmKGL6UGYMcD}|cke->*F<1w*yt*v4`)s7a4N7V7Q zsdAZLJNk4_i5`jB06a5Ccuv;QP7%ywdvfLVKi9>x@yX1roWFzc?EHWG#X>#C?>qb{ T;aHz`(sr$fdJoF)+rIc;XfYx* From edbc59c06aba29e670080026096b9e15f3e8ef0a Mon Sep 17 00:00:00 2001 From: sgiehl Date: Fri, 24 Jul 2026 13:39:04 +0200 Subject: [PATCH 6/9] Drop the array custom-variable name from the tracking fixture matomo-php-tracker 3.4.0 types setCustomVariable()'s $name as string, so the deliberately-invalid array name now raises a TypeError. The id (6) is already out of the valid range and not tracked, so the string variant on the line above keeps the same coverage and the expected output is unchanged. --- tests/Fixtures/TwoVisitsWithCustomVariables.php | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/Fixtures/TwoVisitsWithCustomVariables.php b/tests/Fixtures/TwoVisitsWithCustomVariables.php index 47e8517..232d697 100644 --- a/tests/Fixtures/TwoVisitsWithCustomVariables.php +++ b/tests/Fixtures/TwoVisitsWithCustomVariables.php @@ -151,7 +151,6 @@ private function trackVisits() $visitorB->setCustomVariable($id = 2, $name = 'Othercustom value which should be truncated abcdefghijklmnopqrstuvwxyz', $value = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'); $visitorB->setCustomVariable($id = -2, $name = 'not tracked', $value = 'not tracked'); $visitorB->setCustomVariable($id = 6, $name = 'not tracked', $value = 'not tracked'); - $visitorB->setCustomVariable($id = 6, $name = array('not tracked'), $value = 'not tracked'); $visitorB->setUrl('http://example.org/homepage'); self::checkResponse($visitorB->doTrackGoal($idGoal, 1000)); From 21f30117bf9e2acf4a76132faea98a231b1aba3a Mon Sep 17 00:00:00 2001 From: sgiehl Date: Mon, 27 Jul 2026 10:56:22 +0200 Subject: [PATCH 7/9] Recover the malformed-custom-variable coverage via direct cvar injection The invalid (array) custom-variable name can no longer be passed through the type-safe setCustomVariable(); inject it directly into the public visitorCustomVar payload so the fixture still verifies a malformed cvar is not tracked. Cannot use a raw _cvar param (custom param / debug append) because it would duplicate and override the valid cvars in the request. --- tests/Fixtures/TwoVisitsWithCustomVariables.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/Fixtures/TwoVisitsWithCustomVariables.php b/tests/Fixtures/TwoVisitsWithCustomVariables.php index 232d697..50738bb 100644 --- a/tests/Fixtures/TwoVisitsWithCustomVariables.php +++ b/tests/Fixtures/TwoVisitsWithCustomVariables.php @@ -151,6 +151,10 @@ private function trackVisits() $visitorB->setCustomVariable($id = 2, $name = 'Othercustom value which should be truncated abcdefghijklmnopqrstuvwxyz', $value = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'); $visitorB->setCustomVariable($id = -2, $name = 'not tracked', $value = 'not tracked'); $visitorB->setCustomVariable($id = 6, $name = 'not tracked', $value = 'not tracked'); + // A custom variable with a non-string (array) name can no longer go through the + // type-safe setCustomVariable(); inject it straight into the cvar payload so we + // still verify a malformed custom variable is not tracked. + $visitorB->visitorCustomVar[6] = array(array('not tracked'), 'not tracked'); $visitorB->setUrl('http://example.org/homepage'); self::checkResponse($visitorB->doTrackGoal($idGoal, 1000)); From 231bcbb48df9911814762b823d0c484c1e787d07 Mon Sep 17 00:00:00 2001 From: Matt <1169490+caddoo@users.noreply.github.com> Date: Tue, 4 Aug 2026 15:57:27 +1200 Subject: [PATCH 8/9] Add percent-of-total metric columns to system test expected files Matomo core adds always-on {metric}_percent_of_total columns to report rows in API responses (matomo-org/matomo#24983, Matomo 6). These expected files include the new columns and only pass against a Matomo 6 core that contains that change. --- ...CustomVariables.getCustomVariables_day.xml | 120 ++++++++++++++++++ ...eCharacters__Actions.getPageTitles_day.xml | 10 ++ ...tleContains__Actions.getPageTitles_day.xml | 10 ++ ...TitleContains__Actions.getPageUrls_day.xml | 11 ++ ...tleEndsWith__Actions.getPageTitles_day.xml | 11 ++ ...tleExcludes__Actions.getPageTitles_day.xml | 3 + ...TitleExcludes__Actions.getPageUrls_day.xml | 6 + ...eStartsWith__Actions.getPageTitles_day.xml | 10 ++ ...UrlContains__Actions.getPageTitles_day.xml | 10 ++ ...geUrlContains__Actions.getPageUrls_day.xml | 11 ++ ...geUrlEndsWith__Actions.getPageUrls_day.xml | 11 ++ ...UrlExcludes__Actions.getPageTitles_day.xml | 3 + ...geUrlExcludes__Actions.getPageUrls_day.xml | 6 + ...UrlStartsWith__Actions.getPageUrls_day.xml | 12 ++ ...CustomVariables.getCustomVariables_day.xml | 74 +++++++++++ ...ustomVariables.getCustomVariables_week.xml | 74 +++++++++++ ...__subtable__API.getProcessedReport_day.xml | 18 +++ ...CustomVariables.getCustomVariables_day.xml | 65 ++++++++++ ...ustomVariables.getCustomVariables_week.xml | 65 ++++++++++ ...CustomVariables.getCustomVariables_day.xml | 50 ++++++++ ...ustomVariables.getCustomVariables_week.xml | 50 ++++++++ ...VisitorType__Referrers.getKeywords_day.xml | 11 ++ ...isitorType__Referrers.getKeywords_week.xml | 11 ++ 23 files changed, 652 insertions(+) diff --git a/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml b/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml index c8033f4..ca6ecb8 100644 --- a/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml +++ b/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml @@ -18,6 +18,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -44,6 +50,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% @@ -65,6 +77,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -91,6 +109,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% @@ -112,6 +136,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -138,6 +168,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% @@ -159,6 +195,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -185,6 +227,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% @@ -206,6 +254,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -232,6 +286,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% @@ -253,6 +313,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -279,6 +345,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% @@ -300,6 +372,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -326,6 +404,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% @@ -347,6 +431,12 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% visit @@ -373,12 +463,19 @@ 1 0 + 12.5% + 6.3% + 12.5% + 12.5% + 12.5% + 0% 1 + 6.3% page @@ -391,12 +488,15 @@ 1 1 + 12.5% + 6.3% 1 + 6.3% page @@ -409,12 +509,15 @@ 1 1 + 12.5% + 6.3% 1 + 6.3% page @@ -427,12 +530,15 @@ 1 1 + 12.5% + 6.3% 1 + 6.3% page @@ -445,12 +551,15 @@ 1 1 + 12.5% + 6.3% 1 + 6.3% page @@ -463,12 +572,15 @@ 1 1 + 12.5% + 6.3% 1 + 6.3% page @@ -481,12 +593,15 @@ 1 1 + 12.5% + 6.3% 1 + 6.3% page @@ -499,12 +614,15 @@ 1 1 + 12.5% + 6.3% 1 + 6.3% page @@ -517,6 +635,8 @@ 1 1 + 12.5% + 6.3% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml index 9ca80db..399fd14 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml @@ -45,6 +45,11 @@ 0 0 + 33.3% + 33.3% + 0% + 100% + 100% 360 0% 0% @@ -73,6 +78,8 @@ 0 0 + 33.3% + 33.3% 0 0% 0% @@ -103,6 +110,9 @@ 0 0 + 33.3% + 33.3% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml index 9ca80db..399fd14 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml @@ -45,6 +45,11 @@ 0 0 + 33.3% + 33.3% + 0% + 100% + 100% 360 0% 0% @@ -73,6 +78,8 @@ 0 0 + 33.3% + 33.3% 0 0% 0% @@ -103,6 +110,9 @@ 0 0 + 33.3% + 33.3% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml index 51f21a8..4229054 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml @@ -45,6 +45,11 @@ 0 0 + 50% + 33.3% + 0% + 100% + 100% 360 0% 0% @@ -74,6 +79,9 @@ 0 0 + 50% + 66.7% + 100% 0 0% 100% @@ -102,6 +110,9 @@ 0 + 50% + 66.7% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml index 263c636..2699509 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml @@ -47,6 +47,12 @@ 0 0 + 50% + 50% + 0% + 100% + 100% + 50% 180 0% 50% @@ -75,6 +81,8 @@ 0 0 + 25% + 25% 0 0% 0% @@ -105,6 +113,9 @@ 0 0 + 25% + 25% + 50% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml index b366654..c6a1ec9 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml @@ -14,6 +14,9 @@ 1 0 0 + 100% + 100% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml index 4e39db5..302a3b7 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml @@ -27,6 +27,12 @@ 0 0 + 100% + 100% + 100% + 100% + 100% + 100% 0 100% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml index 9ca80db..399fd14 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml @@ -45,6 +45,11 @@ 0 0 + 33.3% + 33.3% + 0% + 100% + 100% 360 0% 0% @@ -73,6 +78,8 @@ 0 0 + 33.3% + 33.3% 0 0% 0% @@ -103,6 +110,9 @@ 0 0 + 33.3% + 33.3% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml index 9ca80db..399fd14 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml @@ -45,6 +45,11 @@ 0 0 + 33.3% + 33.3% + 0% + 100% + 100% 360 0% 0% @@ -73,6 +78,8 @@ 0 0 + 33.3% + 33.3% 0 0% 0% @@ -103,6 +110,9 @@ 0 0 + 33.3% + 33.3% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml index 51f21a8..4229054 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml @@ -45,6 +45,11 @@ 0 0 + 50% + 33.3% + 0% + 100% + 100% 360 0% 0% @@ -74,6 +79,9 @@ 0 0 + 50% + 66.7% + 100% 0 0% 100% @@ -102,6 +110,9 @@ 0 + 50% + 66.7% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml index 51f21a8..4229054 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml @@ -45,6 +45,11 @@ 0 0 + 50% + 33.3% + 0% + 100% + 100% 360 0% 0% @@ -74,6 +79,9 @@ 0 0 + 50% + 66.7% + 100% 0 0% 100% @@ -102,6 +110,9 @@ 0 + 50% + 66.7% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml index b366654..c6a1ec9 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml @@ -14,6 +14,9 @@ 1 0 0 + 100% + 100% + 100% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml index 4e39db5..302a3b7 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml @@ -27,6 +27,12 @@ 0 0 + 100% + 100% + 100% + 100% + 100% + 100% 0 100% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml index 1f23669..5bd8a6c 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml @@ -47,6 +47,12 @@ 0 0 + 66.7% + 50% + 100% + 100% + 100% + 50% 180 50% 50% @@ -76,6 +82,9 @@ 0 0 + 33.3% + 50% + 50% 0 0% 100% @@ -104,6 +113,9 @@ 0 + 33.3% + 50% + 50% 0 0% 100% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml index aedbc63..b9172e7 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_day.xml @@ -25,6 +25,12 @@ 3 1000 + 42.9% + 25% + 40% + 50% + 50% + 50% visit @@ -51,6 +57,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -75,6 +87,12 @@ 2 1000 + 28.6% + 8.3% + 20% + 33.3% + 50% + 50% @@ -96,6 +114,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -122,6 +146,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -143,6 +173,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -169,12 +205,19 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% 3 + 12.5% page @@ -191,11 +234,15 @@ 2 2 + 28.6% + 8.3% 1 1 + 14.3% + 4.2% @@ -217,6 +264,12 @@ 1 1000 + 28.6% + 8.3% + 20% + 16.7% + 50% + 50% visit @@ -243,12 +296,19 @@ 1 1000 + 28.6% + 8.3% + 20% + 16.7% + 50% + 50% 1 + 4.2% page @@ -261,12 +321,15 @@ 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -279,12 +342,15 @@ 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -297,12 +363,15 @@ 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -315,12 +384,15 @@ 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -333,6 +405,8 @@ 1 1 + 14.3% + 4.2% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml b/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml index c3e5861..167c7bf 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables__CustomVariables.getCustomVariables_week.xml @@ -26,6 +26,12 @@ 1000 2 0 + 42.9% + 25% + 40% + 50% + 50% + 50% visit @@ -53,6 +59,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -78,6 +90,12 @@ 1000 1 0 + 28.6% + 8.3% + 20% + 33.3% + 50% + 50% @@ -100,6 +118,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -127,6 +151,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -149,6 +179,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -176,12 +212,19 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% 3 + 12.5% page @@ -199,12 +242,16 @@ 2 2 2 + 28.6% + 8.3% 1 1 1 + 14.3% + 4.2% @@ -227,6 +274,12 @@ 1000 1 0 + 28.6% + 8.3% + 20% + 16.7% + 50% + 50% visit @@ -254,12 +307,19 @@ 1000 1 0 + 28.6% + 8.3% + 20% + 16.7% + 50% + 50% 1 + 4.2% page @@ -273,12 +333,15 @@ 1 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -292,12 +355,15 @@ 1 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -311,12 +377,15 @@ 1 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -330,12 +399,15 @@ 1 1 1 + 14.3% + 4.2% 1 + 4.2% page @@ -349,6 +421,8 @@ 1 1 1 + 14.3% + 4.2% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml index 83e7daa..523c400 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml @@ -57,6 +57,12 @@ Avg. Time on Website Bounce Rate Conversion Rate + Visits (% of total) + Actions (% of total) + Visits with Conversions (% of total) + Conversions (% of total) + Bounces (% of total) + Revenue (% of total) @@ -64,6 +70,12 @@ 1 4 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% 100% 4 00:06:04 @@ -75,6 +87,12 @@ 2 2 0 + 28.6% + 8.3% + 20% + 33.3% + 50% + 50% 50% 1 00:03:01 diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_day.xml index 43a0155..fae37b6 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_day.xml @@ -25,6 +25,12 @@ 3 1000 + 42.9% + 27.8% + 40% + 50% + 50% + 50% visit @@ -51,6 +57,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -75,6 +87,12 @@ 2 1000 + 28.6% + 11.1% + 20% + 33.3% + 50% + 50% @@ -96,6 +114,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -122,6 +146,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -143,6 +173,12 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -169,12 +205,19 @@ 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% 3 + 16.7% page @@ -191,11 +234,15 @@ 2 2 + 28.6% + 11.1% 1 1 + 14.3% + 5.6% @@ -217,6 +264,12 @@ 1 1000 + 28.6% + 11.1% + 20% + 16.7% + 50% + 50% visit @@ -243,12 +296,19 @@ 1 1000 + 28.6% + 11.1% + 20% + 16.7% + 50% + 50% 1 + 5.6% page @@ -261,12 +321,15 @@ 1 1 + 14.3% + 5.6% 1 + 5.6% page @@ -279,6 +342,8 @@ 1 1 + 14.3% + 5.6% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_week.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_week.xml index c5f4377..d096910 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_week.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchALL_noGoalData__CustomVariables.getCustomVariables_week.xml @@ -26,6 +26,12 @@ 1000 2 0 + 42.9% + 27.8% + 40% + 50% + 50% + 50% visit @@ -53,6 +59,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -78,6 +90,12 @@ 1000 1 0 + 28.6% + 11.1% + 20% + 33.3% + 50% + 50% @@ -100,6 +118,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -127,6 +151,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% @@ -149,6 +179,12 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% visit @@ -176,12 +212,19 @@ 0 1 0 + 14.3% + 16.7% + 20% + 16.7% + 0% + 0% 3 + 16.7% page @@ -199,12 +242,16 @@ 2 2 2 + 28.6% + 11.1% 1 1 1 + 14.3% + 5.6% @@ -227,6 +274,12 @@ 1000 1 0 + 28.6% + 11.1% + 20% + 16.7% + 50% + 50% visit @@ -254,12 +307,19 @@ 1000 1 0 + 28.6% + 11.1% + 20% + 16.7% + 50% + 50% 1 + 5.6% page @@ -273,12 +333,15 @@ 1 1 1 + 14.3% + 5.6% 1 + 5.6% page @@ -292,6 +355,8 @@ 1 1 1 + 14.3% + 5.6% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_day.xml index 5647cd7..96f117c 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_day.xml @@ -20,6 +20,12 @@ 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% visit @@ -46,6 +52,12 @@ 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% @@ -67,6 +79,12 @@ 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% visit @@ -93,6 +111,12 @@ 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% @@ -119,6 +143,12 @@ 2 0 + 33.3% + 21.4% + 33.3% + 50% + 0% + 0% visit @@ -145,6 +175,12 @@ 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% @@ -158,12 +194,16 @@ 1 0 0 + 0% + 25% + 0% 3 + 21.4% page @@ -180,17 +220,22 @@ 2 2 + 66.7% + 14.3% 1 1 + 33.3% + 7.1% 1 + 7.1% page @@ -203,12 +248,15 @@ 1 1 + 33.3% + 7.1% 1 + 7.1% page @@ -221,6 +269,8 @@ 1 1 + 33.3% + 7.1% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_week.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_week.xml index 2c4c858..186384c 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_week.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__CustomVariables.getCustomVariables_week.xml @@ -21,6 +21,12 @@ 0 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% visit @@ -48,6 +54,12 @@ 0 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% @@ -70,6 +82,12 @@ 0 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% visit @@ -97,6 +115,12 @@ 0 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% @@ -124,6 +148,12 @@ 0 1 0 + 33.3% + 21.4% + 33.3% + 50% + 0% + 0% visit @@ -151,6 +181,12 @@ 0 1 0 + 33.3% + 21.4% + 33.3% + 25% + 0% + 0% @@ -164,12 +200,16 @@ 1 0 0 + 0% + 25% + 0% 3 + 21.4% page @@ -187,18 +227,23 @@ 2 2 2 + 66.7% + 14.3% 1 1 1 + 33.3% + 7.1% 1 + 7.1% page @@ -212,12 +257,15 @@ 1 1 1 + 33.3% + 7.1% 1 + 7.1% page @@ -231,6 +279,8 @@ 1 1 1 + 33.3% + 7.1% diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_day.xml index 3048e12..3ffabee 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_day.xml @@ -12,6 +12,10 @@ 364 0 1 + 100% + 100% + 100% + 0% referrerType==search;referrerKeyword==this+keyword+should+be+ranked @@ -24,6 +28,10 @@ 364 0 1 + 100% + 100% + 100% + 0% @@ -44,6 +52,9 @@ 2 0 0 + 0% + 100% + 0% referrerType==search;referrerKeyword==piwik diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_week.xml b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_week.xml index 9476621..b877339 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_week.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables_segmentMatchVisitorType__Referrers.getKeywords_week.xml @@ -12,6 +12,10 @@ 1 1 0 + 100% + 100% + 100% + 0% referrerType==search;referrerKeyword==this+keyword+should+be+ranked @@ -24,6 +28,10 @@ 1 1 0 + 100% + 100% + 100% + 0% @@ -44,6 +52,9 @@ 2 0 0 + 0% + 100% + 0% referrerType==search;referrerKeyword==piwik From 687589d1f13a1bd65ff27c1d53148f3703364eaf Mon Sep 17 00:00:00 2001 From: Matt <1169490+caddoo@users.noreply.github.com> Date: Thu, 6 Aug 2026 16:02:25 +1200 Subject: [PATCH 9/9] Describe percent-of-total metrics in processed report metadata expected file --- ...riables__subtable__API.getProcessedReport_day.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml b/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml index 523c400..f5222e7 100644 --- a/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml +++ b/tests/System/expected/test_twoVisitsWithCustomVariables__subtable__API.getProcessedReport_day.xml @@ -26,6 +26,12 @@ The average duration of a visit. The percentage of visits that only had a single pageview. This means, that the visitor left the website directly from the entrance page. The percentage of visits that triggered a conversion. The conversion rate is calculated using the number of visits that converted at least one goal. Visits converting multiple goals are only counted once in the conversion rate. + The percentage of the report's total Visits that this row represents. + The percentage of the report's total Actions that this row represents. + The percentage of the report's total Visits with Conversions that this row represents. + The percentage of the report's total Conversions that this row represents. + The percentage of the report's total Bounces that this row represents. + The percentage of the report's total Revenue that this row represents. Actions per Visit @@ -42,6 +48,12 @@ duration_s percent percent + percent + percent + percent + percent + percent + percent index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=CustomVariables&apiAction=getCustomVariablesValuesFromNameId&period=day&date=2010-01-03&idSubtable=1 index.php?module=API&method=ImageGraph.get&idSite=1&apiModule=CustomVariables&apiAction=getCustomVariablesValuesFromNameId&period=day&date=2009-12-05,2010-01-03&idSubtable=1