diff --git a/THIRD_PARTY.txt b/THIRD_PARTY.txt
index 0c395b91..2af851fa 100644
--- a/THIRD_PARTY.txt
+++ b/THIRD_PARTY.txt
@@ -137,7 +137,7 @@ https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validat
https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-bootstrap-select.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.24.0/algoliasearch.umd.min.js
-https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/5.12.0/algoliasearch.umd.min.js
+https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/5.15.0/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.8.2/alpine.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.14.3/cdn.min.js
https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/3.0.0/angucomplete-alt.min.js
diff --git a/modules/internal/targets.js b/modules/internal/targets.js
index 51f73c08..7955d0f5 100644
--- a/modules/internal/targets.js
+++ b/modules/internal/targets.js
@@ -81,7 +81,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/ajax-bootstrap-select/1.')) return '1.4.5';
if (type.startsWith('/algoliasearch/3.')) return '3.35.1';
if (type.startsWith('/algoliasearch/4.')) return '4.24.0';
- if (type.startsWith('/algoliasearch/5.')) return '5.12.0';
+ if (type.startsWith('/algoliasearch/5.')) return '5.15.0';
if (type.startsWith('/alpinejs/2.')) return '2.8.2';
if (type.startsWith('/alpinejs/3.')) return '3.14.3';
if (type.startsWith('/anchor-js/3.')) return '3.2.2';
diff --git a/pages/updates/updates.html b/pages/updates/updates.html
index 73756e3c..c8158325 100644
--- a/pages/updates/updates.html
+++ b/pages/updates/updates.html
@@ -25,6 +25,10 @@
New in LocalCDN:
+
Updated
+
+ - algoliasearch v5.12.0 -> v5.15.0
+
Added
- dexie v3.2.7
diff --git a/resources/algoliasearch/5.12.0/algoliasearch.min.jsm b/resources/algoliasearch/5.12.0/algoliasearch.min.jsm
deleted file mode 100644
index 135040df..00000000
--- a/resources/algoliasearch/5.12.0/algoliasearch.min.jsm
+++ /dev/null
@@ -1 +0,0 @@
-!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).algoliasearch={})}(this,function(e){"use strict";function d(){return{send:function(n){return new Promise(t=>{let a=new XMLHttpRequest,e=(a.open(n.method,n.url,!0),Object.keys(n.headers).forEach(e=>a.setRequestHeader(e,n.headers[e])),(e,r)=>setTimeout(()=>{a.abort(),t({status:0,content:r,isTimedOut:!0})},e)),r=e(n.connectTimeout,"Connection timeout"),i;a.onreadystatechange=()=>{a.readyState>a.OPENED&&void 0===i&&(clearTimeout(r),i=e(n.responseTimeout,"Socket timeout"))},a.onerror=()=>{0===a.status&&(clearTimeout(r),clearTimeout(i),t({content:a.responseText||"Network request failed",status:a.status,isTimedOut:!1}))},a.onload=()=>{clearTimeout(r),clearTimeout(i),t({content:a.responseText,status:a.status,isTimedOut:!1})},a.send(n.data)})}}}function u(a){let e,i="algolia-client-js-"+a.key;function n(){return e=void 0===e?a.localStorage||window.localStorage:e}function s(){return JSON.parse(n().getItem(i)||"{}")}function o(e){n().setItem(i,JSON.stringify(e))}return{get(e,r,t={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>{{let t=a.timeToLive?1e3*a.timeToLive:null,e=s(),r=Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e.timestamp));o(r),t&&o(Object.fromEntries(Object.entries(r).filter(([,e])=>{var r=(new Date).getTime();return!(e.timestamp+tPromise.all([e?e.value:r(),void 0!==e])).then(([e,r])=>Promise.all([e,r||t.miss(e)])).then(([e])=>e)},set(r,t){return Promise.resolve().then(()=>{let e=s();return e[JSON.stringify(r)]={timestamp:(new Date).getTime(),value:t},n().setItem(i,JSON.stringify(e)),t})},delete(r){return Promise.resolve().then(()=>{let e=s();delete e[JSON.stringify(r)],n().setItem(i,JSON.stringify(e))})},clear(){return Promise.resolve().then(()=>{n().removeItem(i)})}}}function h(e){let a=[...e.caches],i=a.shift();return void 0===i?{get(e,r,t={miss:()=>Promise.resolve()}){return r().then(e=>Promise.all([e,t.miss(e)])).then(([e])=>e)},set(e,r){return Promise.resolve(r)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}:{get(e,r,t={miss:()=>Promise.resolve()}){return i.get(e,r,t).catch(()=>h({caches:a}).get(e,r,t))},set(e,r){return i.set(e,r).catch(()=>h({caches:a}).set(e,r))},delete(e){return i.delete(e).catch(()=>h({caches:a}).delete(e))},clear(){return i.clear().catch(()=>h({caches:a}).clear())}}}function c(i={serializable:!0}){let n={};return{get(e,r,t={miss:()=>Promise.resolve()}){e=JSON.stringify(e);if(e in n)return Promise.resolve(i.serializable?JSON.parse(n[e]):n[e]);let a=r();return a.then(e=>t.miss(e)).then(()=>a)},set(e,r){return n[JSON.stringify(e)]=i.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete(e){return delete n[JSON.stringify(e)],Promise.resolve()},clear(){return n={},Promise.resolve()}}}var m=1e3,p=2e3,g=3e4;function w(e,r,t="WithinHeaders"){let a={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return"WithinHeaders"===t?a:{}},queryParameters(){return"WithinQueryParameters"===t?a:{}}}}function l({func:a,validate:i,aggregator:n,error:s,timeout:o=()=>0}){let d=e=>new Promise((r,t)=>{a(e).then(e=>(n&&n(e),i(e)?r(e):s&&s.validate(e)?t(new Error(s.message(e))):setTimeout(()=>{d(e).then(r).catch(t)},o()))).catch(e=>{t(e)})});return d()}function P({algoliaAgents:e,client:r,version:t}){let a=function(e){let r={value:`Algolia for JavaScript (${e})`,add(e){e="; "+e.segment+(void 0!==e.version?` (${e.version})`:"");return-1===r.value.indexOf(e)&&(r.value=r.value+e),r}};return r}(t).add({segment:r,version:t});return e.forEach(e=>a.add(e)),a}function q(){return{debug(e,r){return Promise.resolve()},info(e,r){return Promise.resolve()},error(e,r){return Promise.resolve()}}}function T(e,r="up"){let t=Date.now();return{...e,status:r,lastUpdate:t,isUp:function(){return"up"===r||12e4void 0!==n[e]).sort().map(e=>e+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(n[e])?n[e].join(","):n[e]).replace(/\+/g,"%20")).join("&"),i=`${e.protocol}://${e.url}${e.port?":"+e.port:""}/`+("/"===r.charAt(0)?r.substring(1):r);var n;return a.length&&(i+="?"+a),i}function S(e){var r=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...r}}}}function f({hosts:i,hostsCache:y,baseHeaders:n,logger:f,baseQueryParameters:s,algoliaAgent:o,timeouts:E,requester:I,requestsCache:d,responsesCache:u}){async function h(h,c,l=!0){let m=[],p=function(e,r){if("GET"!==e.method&&(void 0!==e.data||void 0!==r.data))return e=Array.isArray(e.data)?e.data:{...e.data,...r.data},JSON.stringify(e)}(h,c),g=function(e,r,t){let a={Accept:"application/json",...e,...r,...t},i={};return Object.keys(a).forEach(e=>{var r=a[e];i[e.toLowerCase()]=r}),i}(n,h.headers,c.headers),e="GET"===h.method?{...h.data,...c.data}:{},w={...s,...h.queryParameters,...e};if(o.value&&(w["x-algolia-agent"]=o.value),c&&c.queryParameters)for(var r of Object.keys(c.queryParameters))c.queryParameters[r]&&"[object Object]"!==Object.prototype.toString.call(c.queryParameters[r])?w[r]=c.queryParameters[r].toString():w[r]=c.queryParameters[r];let P=0,q=async(r,e)=>{let t=r.pop();if(void 0===t)throw new G(m.map(e=>S(e)));var a,i;let n={...E,...c.timeouts},s={data:p,headers:g,method:h.method,url:H(t,h.path,w),connectTimeout:e(P,n.connect),responseTimeout:e(P,l?n.read:n.write)},o=e=>{e={request:s,response:e,host:t,triesLeft:r.length};return m.push(e),e},d=await I.send(s);if({isTimedOut:a,status:u}=[d][0],a||({isTimedOut:a,status:i}=[{isTimedOut:a,status:u}][0],!a&&0==~~i)||2!=~~(u/100)&&4!=~~(u/100))return a=o(d),d.isTimedOut&&P++,f.info("Retryable failure",S(a)),await y.set(t,T(t,d.isTimedOut?"timed out":"down")),q(r,e);if(i=d.status,2!=~~(i/100))throw o(d),function({content:e,status:r},t){try{var a=JSON.parse(e);return"error"in a?new B(a.message,r,a.error,t):new D(a.message,r,t)}catch{}return new D(e,r,t)}(d,m);var u=d;try{return JSON.parse(u.content)}catch(e){throw new K(e.message,u)}},t=i.filter(e=>"readWrite"===e.accept||(l?"read"===e.accept:"write"===e.accept)),a=await async function(e){let r=await Promise.all(e.map(e=>y.get(e,()=>Promise.resolve(T(e))))),t=r.filter(e=>e.isUp()),a=r.filter(e=>e.isTimedOut()),i=[...t,...a];return{hosts:0h(e,r);if(!0!==(r.cacheable||e.cacheable))return a();let i={request:e,requestOptions:r,transporter:{queryParameters:s,headers:n}};return u.get(i,()=>d.get(i,()=>d.set(i,a()).then(e=>Promise.all([d.delete(i),e]),e=>Promise.all([d.delete(i),Promise.reject(e)])).then(([,e])=>e)),{miss:e=>u.set(i,e)})},requestsCache:d,responsesCache:u}}var E="5.12.0",s=["de","us"];function i(r,t,a,i){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(!a||"string"==typeof a&&s.includes(a)){var{appId:t,apiKey:a,authMode:n,algoliaAgents:r,region:i,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:E+"-"+r}),c()]}),...i}][0];let e=w(t,a,n),s=f({hosts:[{url:(a=i)?"analytics.{region}.algolia.com".replace("{region}",a):"analytics.algolia.com",accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"Abtesting",version:E}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:s,appId:t,clearCache(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then(()=>{})},get _ua(){return s.algoliaAgent.value},addAlgoliaAgent(e,r){s.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?s.baseQueryParameters["x-algolia-api-key"]=e:s.baseHeaders["x-algolia-api-key"]=e},addABTests(e,r){if(!e)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!e.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!e.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!e.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");e={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:e};return s.request(e,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},deleteABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `deleteABTest`.");e={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return s.request(e,r)},getABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `getABTest`.");e={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return s.request(e,r)},listABTests({offset:e,limit:r,indexPrefix:t,indexSuffix:a}={},i=void 0){let n={};void 0!==e&&(n.offset=e.toString()),void 0!==r&&(n.limit=r.toString()),void 0!==t&&(n.indexPrefix=t.toString()),void 0!==a&&(n.indexSuffix=a.toString());e={method:"GET",path:"/2/abtests",queryParameters:n,headers:{}};return s.request(e,i)},scheduleABTest(e,r){if(!e)throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`.");if(!e.name)throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`.");if(!e.variants)throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`.");if(!e.scheduledAt)throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`.");if(!e.endAt)throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`.");e={method:"POST",path:"/2/abtests/schedule",queryParameters:{},headers:{},data:e};return s.request(e,r)},stopABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `stopABTest`.");e={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return s.request(e,r)}}}throw new Error("`region` must be one of the following: "+s.join(", "))}var o="5.12.0",I=["de","us"];function n(r,t,a,i){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(!a||"string"==typeof a&&I.includes(a)){var{appId:t,apiKey:a,authMode:n,algoliaAgents:r,region:i,...s}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:o+"-"+r}),c()]}),...i}][0];let e=w(t,a,n),l=f({hosts:[{url:(a=i)?"analytics.{region}.algolia.com".replace("{region}",a):"analytics.algolia.com",accept:"readWrite",protocol:"https"}],...s,algoliaAgent:P({algoliaAgents:r,client:"Analytics",version:o}),baseHeaders:{"content-type":"text/plain",...e.headers(),...s.baseHeaders},baseQueryParameters:{...e.queryParameters(),...s.baseQueryParameters}});return{transporter:l,appId:t,clearCache(){return Promise.all([l.requestsCache.clear(),l.responsesCache.clear()]).then(()=>{})},get _ua(){return l.algoliaAgent.value},addAlgoliaAgent(e,r){l.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?l.baseQueryParameters["x-algolia-api-key"]=e:l.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},getAddToCartRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getAddToCartRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/addToCartRate",queryParameters:n,headers:{}};return l.request(e,i)},getAverageClickPosition({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getAverageClickPosition`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/clicks/averageClickPosition",queryParameters:n,headers:{}};return l.request(e,i)},getClickPositions({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getClickPositions`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/clicks/positions",queryParameters:n,headers:{}};return l.request(e,i)},getClickThroughRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getClickThroughRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/clicks/clickThroughRate",queryParameters:n,headers:{}};return l.request(e,i)},getConversionRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getConversionRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/conversionRate",queryParameters:n,headers:{}};return l.request(e,i)},getNoClickRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getNoClickRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/searches/noClickRate",queryParameters:n,headers:{}};return l.request(e,i)},getNoResultsRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getNoResultsRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/searches/noResultRate",queryParameters:n,headers:{}};return l.request(e,i)},getPurchaseRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getPurchaseRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/purchaseRate",queryParameters:n,headers:{}};return l.request(e,i)},getRevenue({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getRevenue`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/revenue",queryParameters:n,headers:{}};return l.request(e,i)},getSearchesCount({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesCount`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/searches/count",queryParameters:n,headers:{}};return l.request(e,i)},getSearchesNoClicks({index:e,startDate:r,endDate:t,limit:a,offset:i,tags:n},s){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoClicks`.");let o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==i&&(o.offset=i.toString()),void 0!==n&&(o.tags=n.toString());e={method:"GET",path:"/2/searches/noClicks",queryParameters:o,headers:{}};return l.request(e,s)},getSearchesNoResults({index:e,startDate:r,endDate:t,limit:a,offset:i,tags:n},s){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoResults`.");let o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==i&&(o.offset=i.toString()),void 0!==n&&(o.tags=n.toString());e={method:"GET",path:"/2/searches/noResults",queryParameters:o,headers:{}};return l.request(e,s)},getStatus({index:e},r){if(!e)throw new Error("Parameter `index` is required when calling `getStatus`.");let t={};void 0!==e&&(t.index=e.toString());e={method:"GET",path:"/2/status",queryParameters:t,headers:{}};return l.request(e,r)},getTopCountries({index:e,startDate:r,endDate:t,limit:a,offset:i,tags:n},s){if(!e)throw new Error("Parameter `index` is required when calling `getTopCountries`.");let o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==i&&(o.offset=i.toString()),void 0!==n&&(o.tags=n.toString());e={method:"GET",path:"/2/countries",queryParameters:o,headers:{}};return l.request(e,s)},getTopFilterAttributes({index:e,search:r,startDate:t,endDate:a,limit:i,offset:n,tags:s},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFilterAttributes`.");let d={};void 0!==e&&(d.index=e.toString()),void 0!==r&&(d.search=r.toString()),void 0!==t&&(d.startDate=t.toString()),void 0!==a&&(d.endDate=a.toString()),void 0!==i&&(d.limit=i.toString()),void 0!==n&&(d.offset=n.toString()),void 0!==s&&(d.tags=s.toString());e={method:"GET",path:"/2/filters",queryParameters:d,headers:{}};return l.request(e,o)},getTopFilterForAttribute({attribute:e,index:r,search:t,startDate:a,endDate:i,limit:n,offset:s,tags:o},d){if(!e)throw new Error("Parameter `attribute` is required when calling `getTopFilterForAttribute`.");if(!r)throw new Error("Parameter `index` is required when calling `getTopFilterForAttribute`.");let u="/2/filters/{attribute}".replace("{attribute}",encodeURIComponent(e)),h={};void 0!==r&&(h.index=r.toString()),void 0!==t&&(h.search=t.toString()),void 0!==a&&(h.startDate=a.toString()),void 0!==i&&(h.endDate=i.toString()),void 0!==n&&(h.limit=n.toString()),void 0!==s&&(h.offset=s.toString()),void 0!==o&&(h.tags=o.toString());e={method:"GET",path:u,queryParameters:h,headers:{}};return l.request(e,d)},getTopFiltersNoResults({index:e,search:r,startDate:t,endDate:a,limit:i,offset:n,tags:s},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFiltersNoResults`.");let d={};void 0!==e&&(d.index=e.toString()),void 0!==r&&(d.search=r.toString()),void 0!==t&&(d.startDate=t.toString()),void 0!==a&&(d.endDate=a.toString()),void 0!==i&&(d.limit=i.toString()),void 0!==n&&(d.offset=n.toString()),void 0!==s&&(d.tags=s.toString());e={method:"GET",path:"/2/filters/noResults",queryParameters:d,headers:{}};return l.request(e,o)},getTopHits({index:e,search:r,clickAnalytics:t,revenueAnalytics:a,startDate:i,endDate:n,limit:s,offset:o,tags:d},u){if(!e)throw new Error("Parameter `index` is required when calling `getTopHits`.");let h={};void 0!==e&&(h.index=e.toString()),void 0!==r&&(h.search=r.toString()),void 0!==t&&(h.clickAnalytics=t.toString()),void 0!==a&&(h.revenueAnalytics=a.toString()),void 0!==i&&(h.startDate=i.toString()),void 0!==n&&(h.endDate=n.toString()),void 0!==s&&(h.limit=s.toString()),void 0!==o&&(h.offset=o.toString()),void 0!==d&&(h.tags=d.toString());e={method:"GET",path:"/2/hits",queryParameters:h,headers:{}};return l.request(e,u)},getTopSearches({index:e,clickAnalytics:r,revenueAnalytics:t,startDate:a,endDate:i,orderBy:n,direction:s,limit:o,offset:d,tags:u},h){if(!e)throw new Error("Parameter `index` is required when calling `getTopSearches`.");let c={};void 0!==e&&(c.index=e.toString()),void 0!==r&&(c.clickAnalytics=r.toString()),void 0!==t&&(c.revenueAnalytics=t.toString()),void 0!==a&&(c.startDate=a.toString()),void 0!==i&&(c.endDate=i.toString()),void 0!==n&&(c.orderBy=n.toString()),void 0!==s&&(c.direction=s.toString()),void 0!==o&&(c.limit=o.toString()),void 0!==d&&(c.offset=d.toString()),void 0!==u&&(c.tags=u.toString());e={method:"GET",path:"/2/searches",queryParameters:c,headers:{}};return l.request(e,h)},getUsersCount({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getUsersCount`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/users/count",queryParameters:n,headers:{}};return l.request(e,i)}}}throw new Error("`region` must be one of the following: "+I.join(", "))}var v="5.12.0",x=["de","us"];function b(r,t,a,n){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(!a||"string"==typeof a&&x.includes(a)){var{appId:t,apiKey:a,authMode:s,algoliaAgents:r,region:n,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:v+"-"+r}),c()]}),...n}][0];let e=w(t,a,s),i=f({hosts:[{url:(a=n)?"insights.{region}.algolia.io".replace("{region}",a):"insights.algolia.io",accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"Insights",version:v}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){s&&"WithinHeaders"!==s?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},deleteUserToken({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `deleteUserToken`.");e={method:"DELETE",path:"/1/usertokens/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},pushEvents(e,r){if(!e)throw new Error("Parameter `insightsEvents` is required when calling `pushEvents`.");if(!e.events)throw new Error("Parameter `insightsEvents.events` is required when calling `pushEvents`.");e={method:"POST",path:"/1/events",queryParameters:{},headers:{},data:e};return i.request(e,r)}}}throw new Error("`region` must be one of the following: "+x.join(", "))}var k="5.12.0",C=["eu","us"];function R(r,t,a,n){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(a&&"string"==typeof a&&C.includes(a)){var{appId:t,apiKey:a,authMode:s,algoliaAgents:r,region:n,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:k+"-"+r}),c()]}),...n}][0];let e=w(t,a,s),i=f({hosts:[{url:"personalization.{region}.algolia.com".replace("{region}",n),accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"Personalization",version:k}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){s&&"WithinHeaders"!==s?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},deleteUserProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `deleteUserProfile`.");e={method:"DELETE",path:"/1/profiles/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getPersonalizationStrategy(e){return i.request({method:"GET",path:"/1/strategies/personalization",queryParameters:{},headers:{}},e)},getUserTokenProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `getUserTokenProfile`.");e={method:"GET",path:"/1/profiles/personalization/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},setPersonalizationStrategy(e,r){if(!e)throw new Error("Parameter `personalizationStrategyParams` is required when calling `setPersonalizationStrategy`.");if(!e.eventScoring)throw new Error("Parameter `personalizationStrategyParams.eventScoring` is required when calling `setPersonalizationStrategy`.");if(!e.facetScoring)throw new Error("Parameter `personalizationStrategyParams.facetScoring` is required when calling `setPersonalizationStrategy`.");if(!e.personalizationImpact)throw new Error("Parameter `personalizationStrategyParams.personalizationImpact` is required when calling `setPersonalizationStrategy`.");e={method:"POST",path:"/1/strategies/personalization",queryParameters:{},headers:{},data:e};return i.request(e,r)}}}throw new Error("`region` is required and must be one of the following: "+C.join(", "))}var N="5.12.0",A=["eu","us"];function U(r,t,a,n){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(a&&"string"==typeof a&&A.includes(a)){var{appId:t,apiKey:a,authMode:s,algoliaAgents:r,region:n,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:N+"-"+r}),c()]}),...n}][0];let e=w(t,a,s),i=f({hosts:[{url:"query-suggestions.{region}.algolia.com".replace("{region}",n),accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"QuerySuggestions",version:N}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){s&&"WithinHeaders"!==s?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},createConfig(e,r){if(!e)throw new Error("Parameter `configurationWithIndex` is required when calling `createConfig`.");e={method:"POST",path:"/1/configs",queryParameters:{},headers:{},data:e};return i.request(e,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},deleteConfig({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteConfig`.");e={method:"DELETE",path:"/1/configs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getAllConfigs(e){return i.request({method:"GET",path:"/1/configs",queryParameters:{},headers:{}},e)},getConfig({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getConfig`.");e={method:"GET",path:"/1/configs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getConfigStatus({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getConfigStatus`.");e={method:"GET",path:"/1/configs/{indexName}/status".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getLogFile({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getLogFile`.");e={method:"GET",path:"/1/logs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},updateConfig({indexName:e,configuration:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `updateConfig`.");if(!r)throw new Error("Parameter `configuration` is required when calling `updateConfig`.");if(!r.sourceIndices)throw new Error("Parameter `configuration.sourceIndices` is required when calling `updateConfig`.");e={method:"PUT",path:"/1/configs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return i.request(e,t)}}}throw new Error("`region` is required and must be one of the following: "+A.join(", "))}var O="5.12.0";function a({appId:e,apiKey:r,authMode:t,algoliaAgents:a,...i}){let n=w(e,r,t),o=f({hosts:[{url:e+"-dsn.algolia.net",accept:"read",protocol:"https"},{url:e+".algolia.net",accept:"write",protocol:"https"}].concat(y([{url:e+"-1.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-2.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-3.algolianet.com",accept:"readWrite",protocol:"https"}])),...i,algoliaAgent:P({algoliaAgents:a,client:"Search",version:O}),baseHeaders:{"content-type":"text/plain",...n.headers(),...i.baseHeaders},baseQueryParameters:{...n.queryParameters(),...i.baseQueryParameters}});return{transporter:o,appId:e,clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})},get _ua(){return o.algoliaAgent.value},addAlgoliaAgent(e,r){o.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){t&&"WithinHeaders"!==t?o.baseQueryParameters["x-algolia-api-key"]=e:o.baseHeaders["x-algolia-api-key"]=e},waitForTask({indexName:e,taskID:r,maxRetries:t=50,timeout:a=e=>Math.min(200*e,5e3)},i){let n=0;return l({func:()=>this.getTask({indexName:e,taskID:r},i),validate:e=>"published"===e.status,aggregator:()=>n+=1,error:{validate:()=>n>=t,message:()=>`The maximum number of retries exceeded. (${n}/${t})`},timeout:()=>a(n)})},waitForAppTask({taskID:e,maxRetries:r=50,timeout:t=e=>Math.min(200*e,5e3)},a){let i=0;return l({func:()=>this.getAppTask({taskID:e},a),validate:e=>"published"===e.status,aggregator:()=>i+=1,error:{validate:()=>i>=r,message:()=>`The maximum number of retries exceeded. (${i}/${r})`},timeout:()=>t(i)})},waitForApiKey({operation:r,key:e,apiKey:i,maxRetries:t=50,timeout:a=e=>Math.min(200*e,5e3)},n){let s=0,o={aggregator:()=>s+=1,error:{validate:()=>s>=t,message:()=>`The maximum number of retries exceeded. (${s}/${t})`},timeout:()=>a(s)};if("update"!==r)return l({...o,func:()=>this.getApiKey({key:e},n).catch(e=>{if(404!==e.status)throw e}),validate:e=>"add"===r?void 0!==e:void 0===e});if(i)return l({...o,func:()=>this.getApiKey({key:e},n),validate:r=>{for(var a of Object.keys(i)){let e=i[a],t=r[a];if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length||e.some((e,r)=>e!==t[r]))return!1}else if(e!==t)return!1}return!0}});throw new Error("`apiKey` is required when waiting for an `update` operation.")},browseObjects({indexName:r,browseParams:t,...e},a){return l({func:e=>this.browse({indexName:r,browseParams:{cursor:e?e.cursor:void 0,...t}},a),validate:e=>void 0===e.cursor,...e})},browseRules({indexName:r,searchRulesParams:e,...t},a){let i={hitsPerPage:1e3,...e};return l({func:e=>this.searchRules({indexName:r,searchRulesParams:{...i,page:e?e.page+1:i.page||0}},a),validate:e=>e.nbHits{var r=this.searchSynonyms({indexName:t,searchSynonymsParams:{...i,page:i.page}},a);return i.page+=1,r},validate:e=>e.nbHits({objectID:e})),action:"deleteObject",waitForTasks:t},a)},async partialUpdateObjects({indexName:e,objects:r,createIfNotExists:t,waitForTasks:a},i){return this.chunkedBatch({indexName:e,objects:r,action:t?"partialUpdateObject":"partialUpdateObjectNoCreate",waitForTasks:a},i)},async replaceAllObjects({indexName:e,objects:r,batchSize:t},a){var i=e+"_tmp_"+(Math.floor(1e6*Math.random())+1e5),n=await this.operationIndex({indexName:e,operationIndexParams:{operation:"copy",destination:i,scope:["settings","rules","synonyms"]}},a),r=await this.chunkedBatch({indexName:i,objects:r,waitForTasks:!0,batchSize:t},a),t=(await this.waitForTask({indexName:i,taskID:n.taskID}),n=await this.operationIndex({indexName:e,operationIndexParams:{operation:"copy",destination:i,scope:["settings","rules","synonyms"]}},a),await this.waitForTask({indexName:i,taskID:n.taskID}),await this.operationIndex({indexName:i,operationIndexParams:{operation:"move",destination:e}},a));return await this.waitForTask({indexName:i,taskID:t.taskID}),{copyOperationResponse:n,batchResponses:r,moveOperationResponse:t}},async indexExists({indexName:e}){try{await this.getSettings({indexName:e})}catch(e){if(e instanceof D&&404===e.status)return!1;throw e}return!0},searchForHits(e,r){return this.search(e,r)},searchForFacets(e,r){return this.search(e,r)},addApiKey(e,r){if(!e)throw new Error("Parameter `apiKey` is required when calling `addApiKey`.");if(!e.acl)throw new Error("Parameter `apiKey.acl` is required when calling `addApiKey`.");e={method:"POST",path:"/1/keys",queryParameters:{},headers:{},data:e};return o.request(e,r)},addOrUpdateObject({indexName:e,objectID:r,body:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `addOrUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `addOrUpdateObject`.");if(!t)throw new Error("Parameter `body` is required when calling `addOrUpdateObject`.");e={method:"PUT",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t};return o.request(e,a)},appendSource(e,r){if(!e)throw new Error("Parameter `source` is required when calling `appendSource`.");if(!e.source)throw new Error("Parameter `source.source` is required when calling `appendSource`.");e={method:"POST",path:"/1/security/sources/append",queryParameters:{},headers:{},data:e};return o.request(e,r)},assignUserId({xAlgoliaUserID:e,assignUserIdParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `assignUserId`.");if(!r)throw new Error("Parameter `assignUserIdParams` is required when calling `assignUserId`.");if(!r.cluster)throw new Error("Parameter `assignUserIdParams.cluster` is required when calling `assignUserId`.");let a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());e={method:"POST",path:"/1/clusters/mapping",queryParameters:{},headers:a,data:r};return o.request(e,t)},batch({indexName:e,batchWriteParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `batch`.");if(!r)throw new Error("Parameter `batchWriteParams` is required when calling `batch`.");if(!r.requests)throw new Error("Parameter `batchWriteParams.requests` is required when calling `batch`.");e={method:"POST",path:"/1/indexes/{indexName}/batch".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},batchAssignUserIds({xAlgoliaUserID:e,batchAssignUserIdsParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `batchAssignUserIds`.");if(!r)throw new Error("Parameter `batchAssignUserIdsParams` is required when calling `batchAssignUserIds`.");if(!r.cluster)throw new Error("Parameter `batchAssignUserIdsParams.cluster` is required when calling `batchAssignUserIds`.");if(!r.users)throw new Error("Parameter `batchAssignUserIdsParams.users` is required when calling `batchAssignUserIds`.");let a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());e={method:"POST",path:"/1/clusters/mapping/batch",queryParameters:{},headers:a,data:r};return o.request(e,t)},batchDictionaryEntries({dictionaryName:e,batchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `batchDictionaryEntries`.");if(!r)throw new Error("Parameter `batchDictionaryEntriesParams` is required when calling `batchDictionaryEntries`.");if(!r.requests)throw new Error("Parameter `batchDictionaryEntriesParams.requests` is required when calling `batchDictionaryEntries`.");e={method:"POST",path:"/1/dictionaries/{dictionaryName}/batch".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},browse({indexName:e,browseParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `browse`.");e={method:"POST",path:"/1/indexes/{indexName}/browse".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0};return o.request(e,t)},clearObjects({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `clearObjects`.");e={method:"POST",path:"/1/indexes/{indexName}/clear".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},clearRules({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearRules`.");let a="/1/indexes/{indexName}/rules/clear".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==r&&(i.forwardToReplicas=r.toString());e={method:"POST",path:a,queryParameters:i,headers:{}};return o.request(e,t)},clearSynonyms({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearSynonyms`.");let a="/1/indexes/{indexName}/synonyms/clear".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==r&&(i.forwardToReplicas=r.toString());e={method:"POST",path:a,queryParameters:i,headers:{}};return o.request(e,t)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return o.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return o.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return o.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return o.request(e,a)},deleteApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `deleteApiKey`.");e={method:"DELETE",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},deleteBy({indexName:e,deleteByParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteBy`.");if(!r)throw new Error("Parameter `deleteByParams` is required when calling `deleteBy`.");e={method:"POST",path:"/1/indexes/{indexName}/deleteByQuery".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},deleteIndex({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteIndex`.");e={method:"DELETE",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},deleteObject({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteObject`.");e={method:"DELETE",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},deleteRule({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteRule`.");let i="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),n={};void 0!==t&&(n.forwardToReplicas=t.toString());e={method:"DELETE",path:i,queryParameters:n,headers:{}};return o.request(e,a)},deleteSource({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `deleteSource`.");e={method:"DELETE",path:"/1/security/sources/{source}".replace("{source}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},deleteSynonym({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteSynonym`.");let i="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),n={};void 0!==t&&(n.forwardToReplicas=t.toString());e={method:"DELETE",path:i,queryParameters:n,headers:{}};return o.request(e,a)},getApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `getApiKey`.");e={method:"GET",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},getAppTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `getAppTask`.");e={method:"GET",path:"/1/task/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},getDictionaryLanguages(e){return o.request({method:"GET",path:"/1/dictionaries/*/languages",queryParameters:{},headers:{}},e)},getDictionarySettings(e){return o.request({method:"GET",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{}},e)},getLogs({offset:e,length:r,indexName:t,type:a}={},i=void 0){let n={};void 0!==e&&(n.offset=e.toString()),void 0!==r&&(n.length=r.toString()),void 0!==t&&(n.indexName=t.toString()),void 0!==a&&(n.type=a.toString());e={method:"GET",path:"/1/logs",queryParameters:n,headers:{}};return o.request(e,i)},getObject({indexName:e,objectID:r,attributesToRetrieve:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getObject`.");let i="/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),n={};void 0!==t&&(n.attributesToRetrieve=t.toString());e={method:"GET",path:i,queryParameters:n,headers:{}};return o.request(e,a)},getObjects(e,r){if(!e)throw new Error("Parameter `getObjectsParams` is required when calling `getObjects`.");if(!e.requests)throw new Error("Parameter `getObjectsParams.requests` is required when calling `getObjects`.");e={method:"POST",path:"/1/indexes/*/objects",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return o.request(e,r)},getRule({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getRule`.");e={method:"GET",path:"/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},getSettings({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getSettings`.");e={method:"GET",path:"/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},getSources(e){return o.request({method:"GET",path:"/1/security/sources",queryParameters:{},headers:{}},e)},getSynonym({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getSynonym`.");e={method:"GET",path:"/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},getTask({indexName:e,taskID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getTask`.");if(!r)throw new Error("Parameter `taskID` is required when calling `getTask`.");e={method:"GET",path:"/1/indexes/{indexName}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{taskID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},getTopUserIds(e){return o.request({method:"GET",path:"/1/clusters/mapping/top",queryParameters:{},headers:{}},e)},getUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `getUserId`.");e={method:"GET",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},hasPendingMappings({getClusters:e}={},r=void 0){let t={};void 0!==e&&(t.getClusters=e.toString());e={method:"GET",path:"/1/clusters/mapping/pending",queryParameters:t,headers:{}};return o.request(e,r)},listApiKeys(e){return o.request({method:"GET",path:"/1/keys",queryParameters:{},headers:{}},e)},listClusters(e){return o.request({method:"GET",path:"/1/clusters",queryParameters:{},headers:{}},e)},listIndices({page:e,hitsPerPage:r}={},t=void 0){let a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());e={method:"GET",path:"/1/indexes",queryParameters:a,headers:{}};return o.request(e,t)},listUserIds({page:e,hitsPerPage:r}={},t=void 0){let a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());e={method:"GET",path:"/1/clusters/mapping",queryParameters:a,headers:{}};return o.request(e,t)},multipleBatch(e,r){if(!e)throw new Error("Parameter `batchParams` is required when calling `multipleBatch`.");if(!e.requests)throw new Error("Parameter `batchParams.requests` is required when calling `multipleBatch`.");e={method:"POST",path:"/1/indexes/*/batch",queryParameters:{},headers:{},data:e};return o.request(e,r)},operationIndex({indexName:e,operationIndexParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `operationIndex`.");if(!r)throw new Error("Parameter `operationIndexParams` is required when calling `operationIndex`.");if(!r.operation)throw new Error("Parameter `operationIndexParams.operation` is required when calling `operationIndex`.");if(!r.destination)throw new Error("Parameter `operationIndexParams.destination` is required when calling `operationIndex`.");e={method:"POST",path:"/1/indexes/{indexName}/operation".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},partialUpdateObject({indexName:e,objectID:r,attributesToUpdate:t,createIfNotExists:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `partialUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `partialUpdateObject`.");if(!t)throw new Error("Parameter `attributesToUpdate` is required when calling `partialUpdateObject`.");let n="/1/indexes/{indexName}/{objectID}/partial".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==a&&(s.createIfNotExists=a.toString());e={method:"POST",path:n,queryParameters:s,headers:{},data:t};return o.request(e,i)},removeUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `removeUserId`.");e={method:"DELETE",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},replaceSources({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `replaceSources`.");e={method:"PUT",path:"/1/security/sources",queryParameters:{},headers:{},data:e};return o.request(e,r)},restoreApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `restoreApiKey`.");e={method:"POST",path:"/1/keys/{key}/restore".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},saveObject({indexName:e,body:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `saveObject`.");if(!r)throw new Error("Parameter `body` is required when calling `saveObject`.");e={method:"POST",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},saveRule({indexName:e,objectID:r,rule:t,forwardToReplicas:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveRule`.");if(!t)throw new Error("Parameter `rule` is required when calling `saveRule`.");if(!t.objectID)throw new Error("Parameter `rule.objectID` is required when calling `saveRule`.");let n="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==a&&(s.forwardToReplicas=a.toString());e={method:"PUT",path:n,queryParameters:s,headers:{},data:t};return o.request(e,i)},saveRules({indexName:e,rules:r,forwardToReplicas:t,clearExistingRules:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRules`.");if(!r)throw new Error("Parameter `rules` is required when calling `saveRules`.");let n="/1/indexes/{indexName}/rules/batch".replace("{indexName}",encodeURIComponent(e)),s={};void 0!==t&&(s.forwardToReplicas=t.toString()),void 0!==a&&(s.clearExistingRules=a.toString());e={method:"POST",path:n,queryParameters:s,headers:{},data:r};return o.request(e,i)},saveSynonym({indexName:e,objectID:r,synonymHit:t,forwardToReplicas:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveSynonym`.");if(!t)throw new Error("Parameter `synonymHit` is required when calling `saveSynonym`.");if(!t.objectID)throw new Error("Parameter `synonymHit.objectID` is required when calling `saveSynonym`.");if(!t.type)throw new Error("Parameter `synonymHit.type` is required when calling `saveSynonym`.");let n="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==a&&(s.forwardToReplicas=a.toString());e={method:"PUT",path:n,queryParameters:s,headers:{},data:t};return o.request(e,i)},saveSynonyms({indexName:e,synonymHit:r,forwardToReplicas:t,replaceExistingSynonyms:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonyms`.");if(!r)throw new Error("Parameter `synonymHit` is required when calling `saveSynonyms`.");let n="/1/indexes/{indexName}/synonyms/batch".replace("{indexName}",encodeURIComponent(e)),s={};void 0!==t&&(s.forwardToReplicas=t.toString()),void 0!==a&&(s.replaceExistingSynonyms=a.toString());e={method:"POST",path:n,queryParameters:s,headers:{},data:r};return o.request(e,i)},search(e,r){if(!(e=e&&Array.isArray(e)?{requests:e.map(({params:e,...r})=>"facet"===r.type?{...r,...e,type:"facet"}:{...r,...e,facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}:e))throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");e={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return o.request(e,r)},searchDictionaryEntries({dictionaryName:e,searchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `searchDictionaryEntries`.");if(!r)throw new Error("Parameter `searchDictionaryEntriesParams` is required when calling `searchDictionaryEntries`.");if(!r.query)throw new Error("Parameter `searchDictionaryEntriesParams.query` is required when calling `searchDictionaryEntries`.");e={method:"POST",path:"/1/dictionaries/{dictionaryName}/search".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r,useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchForFacetValues({indexName:e,facetName:r,searchForFacetValuesRequest:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchForFacetValues`.");if(!r)throw new Error("Parameter `facetName` is required when calling `searchForFacetValues`.");e={method:"POST",path:"/1/indexes/{indexName}/facets/{facetName}/query".replace("{indexName}",encodeURIComponent(e)).replace("{facetName}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{},useReadTransporter:!0,cacheable:!0};return o.request(e,a)},searchRules({indexName:e,searchRulesParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRules`.");e={method:"POST",path:"/1/indexes/{indexName}/rules/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchSingleIndex({indexName:e,searchParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSingleIndex`.");e={method:"POST",path:"/1/indexes/{indexName}/query".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchSynonyms({indexName:e,searchSynonymsParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSynonyms`.");e={method:"POST",path:"/1/indexes/{indexName}/synonyms/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchUserIds(e,r){if(!e)throw new Error("Parameter `searchUserIdsParams` is required when calling `searchUserIds`.");if(!e.query)throw new Error("Parameter `searchUserIdsParams.query` is required when calling `searchUserIds`.");e={method:"POST",path:"/1/clusters/mapping/search",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return o.request(e,r)},setDictionarySettings(e,r){if(!e)throw new Error("Parameter `dictionarySettingsParams` is required when calling `setDictionarySettings`.");if(!e.disableStandardEntries)throw new Error("Parameter `dictionarySettingsParams.disableStandardEntries` is required when calling `setDictionarySettings`.");e={method:"PUT",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{},data:e};return o.request(e,r)},setSettings({indexName:e,indexSettings:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `setSettings`.");if(!r)throw new Error("Parameter `indexSettings` is required when calling `setSettings`.");let i="/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),n={};void 0!==t&&(n.forwardToReplicas=t.toString());e={method:"PUT",path:i,queryParameters:n,headers:{},data:r};return o.request(e,a)},updateApiKey({key:e,apiKey:r},t){if(!e)throw new Error("Parameter `key` is required when calling `updateApiKey`.");if(!r)throw new Error("Parameter `apiKey` is required when calling `updateApiKey`.");if(!r.acl)throw new Error("Parameter `apiKey.acl` is required when calling `updateApiKey`.");e={method:"PUT",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)}}}function j(e,r,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(r&&"string"==typeof r)return a({appId:e,apiKey:r,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:O+"-"+e}),c()]}),...t});throw new Error("`apiKey` is missing.")}var Q="1.12.0",W=["eu","us"];function F(r,t,a,i){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(a&&"string"==typeof a&&W.includes(a)){var{appId:t,apiKey:a,authMode:n,algoliaAgents:r,region:i,...s}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:Q+"-"+r}),c()]}),...i}][0];let e=w(t,a,n),l=f({hosts:[{url:"data.{region}.algolia.com".replace("{region}",i),accept:"readWrite",protocol:"https"}],...s,algoliaAgent:P({algoliaAgents:r,client:"Ingestion",version:Q}),baseHeaders:{"content-type":"text/plain",...e.headers(),...s.baseHeaders},baseQueryParameters:{...e.queryParameters(),...s.baseQueryParameters}});return{transporter:l,appId:t,clearCache(){return Promise.all([l.requestsCache.clear(),l.responsesCache.clear()]).then(()=>{})},get _ua(){return l.algoliaAgent.value},addAlgoliaAgent(e,r){l.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?l.baseQueryParameters["x-algolia-api-key"]=e:l.baseHeaders["x-algolia-api-key"]=e},createAuthentication(e,r){if(!e)throw new Error("Parameter `authenticationCreate` is required when calling `createAuthentication`.");if(!e.type)throw new Error("Parameter `authenticationCreate.type` is required when calling `createAuthentication`.");if(!e.name)throw new Error("Parameter `authenticationCreate.name` is required when calling `createAuthentication`.");if(!e.input)throw new Error("Parameter `authenticationCreate.input` is required when calling `createAuthentication`.");e={method:"POST",path:"/1/authentications",queryParameters:{},headers:{},data:e};return l.request(e,r)},createDestination(e,r){if(!e)throw new Error("Parameter `destinationCreate` is required when calling `createDestination`.");if(!e.type)throw new Error("Parameter `destinationCreate.type` is required when calling `createDestination`.");if(!e.name)throw new Error("Parameter `destinationCreate.name` is required when calling `createDestination`.");if(!e.input)throw new Error("Parameter `destinationCreate.input` is required when calling `createDestination`.");e={method:"POST",path:"/1/destinations",queryParameters:{},headers:{},data:e};return l.request(e,r)},createSource(e,r){if(!e)throw new Error("Parameter `sourceCreate` is required when calling `createSource`.");if(!e.type)throw new Error("Parameter `sourceCreate.type` is required when calling `createSource`.");if(!e.name)throw new Error("Parameter `sourceCreate.name` is required when calling `createSource`.");e={method:"POST",path:"/1/sources",queryParameters:{},headers:{},data:e};return l.request(e,r)},createTask(e,r){if(!e)throw new Error("Parameter `taskCreate` is required when calling `createTask`.");if(!e.sourceID)throw new Error("Parameter `taskCreate.sourceID` is required when calling `createTask`.");if(!e.destinationID)throw new Error("Parameter `taskCreate.destinationID` is required when calling `createTask`.");if(!e.action)throw new Error("Parameter `taskCreate.action` is required when calling `createTask`.");e={method:"POST",path:"/2/tasks",queryParameters:{},headers:{},data:e};return l.request(e,r)},createTaskV1(e,r){if(!e)throw new Error("Parameter `taskCreate` is required when calling `createTaskV1`.");if(!e.sourceID)throw new Error("Parameter `taskCreate.sourceID` is required when calling `createTaskV1`.");if(!e.destinationID)throw new Error("Parameter `taskCreate.destinationID` is required when calling `createTaskV1`.");if(!e.trigger)throw new Error("Parameter `taskCreate.trigger` is required when calling `createTaskV1`.");if(!e.action)throw new Error("Parameter `taskCreate.action` is required when calling `createTaskV1`.");e={method:"POST",path:"/1/tasks",queryParameters:{},headers:{},data:e};return l.request(e,r)},createTransformation(e,r){if(!e)throw new Error("Parameter `transformationCreate` is required when calling `createTransformation`.");if(!e.code)throw new Error("Parameter `transformationCreate.code` is required when calling `createTransformation`.");if(!e.name)throw new Error("Parameter `transformationCreate.name` is required when calling `createTransformation`.");e={method:"POST",path:"/1/transformations",queryParameters:{},headers:{},data:e};return l.request(e,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},deleteAuthentication({authenticationID:e},r){if(!e)throw new Error("Parameter `authenticationID` is required when calling `deleteAuthentication`.");e={method:"DELETE",path:"/1/authentications/{authenticationID}".replace("{authenticationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteDestination({destinationID:e},r){if(!e)throw new Error("Parameter `destinationID` is required when calling `deleteDestination`.");e={method:"DELETE",path:"/1/destinations/{destinationID}".replace("{destinationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteSource({sourceID:e},r){if(!e)throw new Error("Parameter `sourceID` is required when calling `deleteSource`.");e={method:"DELETE",path:"/1/sources/{sourceID}".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `deleteTask`.");e={method:"DELETE",path:"/2/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `deleteTaskV1`.");e={method:"DELETE",path:"/1/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteTransformation({transformationID:e},r){if(!e)throw new Error("Parameter `transformationID` is required when calling `deleteTransformation`.");e={method:"DELETE",path:"/1/transformations/{transformationID}".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},disableTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `disableTask`.");e={method:"PUT",path:"/2/tasks/{taskID}/disable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},disableTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `disableTaskV1`.");e={method:"PUT",path:"/1/tasks/{taskID}/disable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},enableTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `enableTask`.");e={method:"PUT",path:"/2/tasks/{taskID}/enable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},enableTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `enableTaskV1`.");e={method:"PUT",path:"/1/tasks/{taskID}/enable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getAuthentication({authenticationID:e},r){if(!e)throw new Error("Parameter `authenticationID` is required when calling `getAuthentication`.");e={method:"GET",path:"/1/authentications/{authenticationID}".replace("{authenticationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getDestination({destinationID:e},r){if(!e)throw new Error("Parameter `destinationID` is required when calling `getDestination`.");e={method:"GET",path:"/1/destinations/{destinationID}".replace("{destinationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getEvent({runID:e,eventID:r},t){if(!e)throw new Error("Parameter `runID` is required when calling `getEvent`.");if(!r)throw new Error("Parameter `eventID` is required when calling `getEvent`.");e={method:"GET",path:"/1/runs/{runID}/events/{eventID}".replace("{runID}",encodeURIComponent(e)).replace("{eventID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return l.request(e,t)},getRun({runID:e},r){if(!e)throw new Error("Parameter `runID` is required when calling `getRun`.");e={method:"GET",path:"/1/runs/{runID}".replace("{runID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getSource({sourceID:e},r){if(!e)throw new Error("Parameter `sourceID` is required when calling `getSource`.");e={method:"GET",path:"/1/sources/{sourceID}".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `getTask`.");e={method:"GET",path:"/2/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `getTaskV1`.");e={method:"GET",path:"/1/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getTransformation({transformationID:e},r){if(!e)throw new Error("Parameter `transformationID` is required when calling `getTransformation`.");e={method:"GET",path:"/1/transformations/{transformationID}".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},listAuthentications({itemsPerPage:e,page:r,type:t,platform:a,sort:i,order:n}={},s=void 0){let o={};void 0!==e&&(o.itemsPerPage=e.toString()),void 0!==r&&(o.page=r.toString()),void 0!==t&&(o.type=t.toString()),void 0!==a&&(o.platform=a.toString()),void 0!==i&&(o.sort=i.toString()),void 0!==n&&(o.order=n.toString());e={method:"GET",path:"/1/authentications",queryParameters:o,headers:{}};return l.request(e,s)},listDestinations({itemsPerPage:e,page:r,type:t,authenticationID:a,transformationID:i,sort:n,order:s}={},o=void 0){let d={};void 0!==e&&(d.itemsPerPage=e.toString()),void 0!==r&&(d.page=r.toString()),void 0!==t&&(d.type=t.toString()),void 0!==a&&(d.authenticationID=a.toString()),void 0!==i&&(d.transformationID=i.toString()),void 0!==n&&(d.sort=n.toString()),void 0!==s&&(d.order=s.toString());e={method:"GET",path:"/1/destinations",queryParameters:d,headers:{}};return l.request(e,o)},listEvents({runID:e,itemsPerPage:r,page:t,status:a,type:i,sort:n,order:s,startDate:o,endDate:d},u){if(!e)throw new Error("Parameter `runID` is required when calling `listEvents`.");let h="/1/runs/{runID}/events".replace("{runID}",encodeURIComponent(e)),c={};void 0!==r&&(c.itemsPerPage=r.toString()),void 0!==t&&(c.page=t.toString()),void 0!==a&&(c.status=a.toString()),void 0!==i&&(c.type=i.toString()),void 0!==n&&(c.sort=n.toString()),void 0!==s&&(c.order=s.toString()),void 0!==o&&(c.startDate=o.toString()),void 0!==d&&(c.endDate=d.toString());e={method:"GET",path:h,queryParameters:c,headers:{}};return l.request(e,u)},listRuns({itemsPerPage:e,page:r,status:t,type:a,taskID:i,sort:n,order:s,startDate:o,endDate:d}={},u=void 0){let h={};void 0!==e&&(h.itemsPerPage=e.toString()),void 0!==r&&(h.page=r.toString()),void 0!==t&&(h.status=t.toString()),void 0!==a&&(h.type=a.toString()),void 0!==i&&(h.taskID=i.toString()),void 0!==n&&(h.sort=n.toString()),void 0!==s&&(h.order=s.toString()),void 0!==o&&(h.startDate=o.toString()),void 0!==d&&(h.endDate=d.toString());e={method:"GET",path:"/1/runs",queryParameters:h,headers:{}};return l.request(e,u)},listSources({itemsPerPage:e,page:r,type:t,authenticationID:a,sort:i,order:n}={},s=void 0){let o={};void 0!==e&&(o.itemsPerPage=e.toString()),void 0!==r&&(o.page=r.toString()),void 0!==t&&(o.type=t.toString()),void 0!==a&&(o.authenticationID=a.toString()),void 0!==i&&(o.sort=i.toString()),void 0!==n&&(o.order=n.toString());e={method:"GET",path:"/1/sources",queryParameters:o,headers:{}};return l.request(e,s)},listTasks({itemsPerPage:e,page:r,action:t,enabled:a,sourceID:i,destinationID:n,triggerType:s,sort:o,order:d}={},u=void 0){let h={};void 0!==e&&(h.itemsPerPage=e.toString()),void 0!==r&&(h.page=r.toString()),void 0!==t&&(h.action=t.toString()),void 0!==a&&(h.enabled=a.toString()),void 0!==i&&(h.sourceID=i.toString()),void 0!==n&&(h.destinationID=n.toString()),void 0!==s&&(h.triggerType=s.toString()),void 0!==o&&(h.sort=o.toString()),void 0!==d&&(h.order=d.toString());e={method:"GET",path:"/2/tasks",queryParameters:h,headers:{}};return l.request(e,u)},listTasksV1({itemsPerPage:e,page:r,action:t,enabled:a,sourceID:i,destinationID:n,triggerType:s,sort:o,order:d}={},u=void 0){let h={};void 0!==e&&(h.itemsPerPage=e.toString()),void 0!==r&&(h.page=r.toString()),void 0!==t&&(h.action=t.toString()),void 0!==a&&(h.enabled=a.toString()),void 0!==i&&(h.sourceID=i.toString()),void 0!==n&&(h.destinationID=n.toString()),void 0!==s&&(h.triggerType=s.toString()),void 0!==o&&(h.sort=o.toString()),void 0!==d&&(h.order=d.toString());e={method:"GET",path:"/1/tasks",queryParameters:h,headers:{}};return l.request(e,u)},listTransformations({itemsPerPage:e,page:r,sort:t,order:a}={},i=void 0){let n={};void 0!==e&&(n.itemsPerPage=e.toString()),void 0!==r&&(n.page=r.toString()),void 0!==t&&(n.sort=t.toString()),void 0!==a&&(n.order=a.toString());e={method:"GET",path:"/1/transformations",queryParameters:n,headers:{}};return l.request(e,i)},pushTask({taskID:e,pushTaskPayload:r},t){if(!e)throw new Error("Parameter `taskID` is required when calling `pushTask`.");if(!r)throw new Error("Parameter `pushTaskPayload` is required when calling `pushTask`.");if(!r.action)throw new Error("Parameter `pushTaskPayload.action` is required when calling `pushTask`.");if(!r.records)throw new Error("Parameter `pushTaskPayload.records` is required when calling `pushTask`.");e={method:"POST",path:"/2/tasks/{taskID}/push".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},runSource({sourceID:e,runSourcePayload:r},t){if(!e)throw new Error("Parameter `sourceID` is required when calling `runSource`.");e={method:"POST",path:"/1/sources/{sourceID}/run".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{}};return l.request(e,t)},runTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `runTask`.");e={method:"POST",path:"/2/tasks/{taskID}/run".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},runTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `runTaskV1`.");e={method:"POST",path:"/1/tasks/{taskID}/run".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},searchAuthentications(e,r){if(!e)throw new Error("Parameter `authenticationSearch` is required when calling `searchAuthentications`.");if(!e.authenticationIDs)throw new Error("Parameter `authenticationSearch.authenticationIDs` is required when calling `searchAuthentications`.");e={method:"POST",path:"/1/authentications/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchDestinations(e,r){if(!e)throw new Error("Parameter `destinationSearch` is required when calling `searchDestinations`.");if(!e.destinationIDs)throw new Error("Parameter `destinationSearch.destinationIDs` is required when calling `searchDestinations`.");e={method:"POST",path:"/1/destinations/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchSources(e,r){if(!e)throw new Error("Parameter `sourceSearch` is required when calling `searchSources`.");if(!e.sourceIDs)throw new Error("Parameter `sourceSearch.sourceIDs` is required when calling `searchSources`.");e={method:"POST",path:"/1/sources/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchTasks(e,r){if(!e)throw new Error("Parameter `taskSearch` is required when calling `searchTasks`.");if(!e.taskIDs)throw new Error("Parameter `taskSearch.taskIDs` is required when calling `searchTasks`.");e={method:"POST",path:"/2/tasks/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchTasksV1(e,r){if(!e)throw new Error("Parameter `taskSearch` is required when calling `searchTasksV1`.");if(!e.taskIDs)throw new Error("Parameter `taskSearch.taskIDs` is required when calling `searchTasksV1`.");e={method:"POST",path:"/1/tasks/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchTransformations(e,r){if(!e)throw new Error("Parameter `transformationSearch` is required when calling `searchTransformations`.");if(!e.transformationIDs)throw new Error("Parameter `transformationSearch.transformationIDs` is required when calling `searchTransformations`.");e={method:"POST",path:"/1/transformations/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},triggerDockerSourceDiscover({sourceID:e},r){if(!e)throw new Error("Parameter `sourceID` is required when calling `triggerDockerSourceDiscover`.");e={method:"POST",path:"/1/sources/{sourceID}/discover".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},tryTransformation(e,r){if(!e)throw new Error("Parameter `transformationTry` is required when calling `tryTransformation`.");if(!e.code)throw new Error("Parameter `transformationTry.code` is required when calling `tryTransformation`.");if(!e.sampleRecord)throw new Error("Parameter `transformationTry.sampleRecord` is required when calling `tryTransformation`.");e={method:"POST",path:"/1/transformations/try",queryParameters:{},headers:{},data:e};return l.request(e,r)},tryTransformationBeforeUpdate({transformationID:e,transformationTry:r},t){if(!e)throw new Error("Parameter `transformationID` is required when calling `tryTransformationBeforeUpdate`.");if(!r)throw new Error("Parameter `transformationTry` is required when calling `tryTransformationBeforeUpdate`.");if(!r.code)throw new Error("Parameter `transformationTry.code` is required when calling `tryTransformationBeforeUpdate`.");if(!r.sampleRecord)throw new Error("Parameter `transformationTry.sampleRecord` is required when calling `tryTransformationBeforeUpdate`.");e={method:"POST",path:"/1/transformations/{transformationID}/try".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateAuthentication({authenticationID:e,authenticationUpdate:r},t){if(!e)throw new Error("Parameter `authenticationID` is required when calling `updateAuthentication`.");if(!r)throw new Error("Parameter `authenticationUpdate` is required when calling `updateAuthentication`.");e={method:"PATCH",path:"/1/authentications/{authenticationID}".replace("{authenticationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateDestination({destinationID:e,destinationUpdate:r},t){if(!e)throw new Error("Parameter `destinationID` is required when calling `updateDestination`.");if(!r)throw new Error("Parameter `destinationUpdate` is required when calling `updateDestination`.");e={method:"PATCH",path:"/1/destinations/{destinationID}".replace("{destinationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateSource({sourceID:e,sourceUpdate:r},t){if(!e)throw new Error("Parameter `sourceID` is required when calling `updateSource`.");if(!r)throw new Error("Parameter `sourceUpdate` is required when calling `updateSource`.");e={method:"PATCH",path:"/1/sources/{sourceID}".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateTask({taskID:e,taskUpdate:r},t){if(!e)throw new Error("Parameter `taskID` is required when calling `updateTask`.");if(!r)throw new Error("Parameter `taskUpdate` is required when calling `updateTask`.");e={method:"PATCH",path:"/2/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateTaskV1({taskID:e,taskUpdate:r},t){if(!e)throw new Error("Parameter `taskID` is required when calling `updateTaskV1`.");if(!r)throw new Error("Parameter `taskUpdate` is required when calling `updateTaskV1`.");e={method:"PATCH",path:"/1/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateTransformation({transformationID:e,transformationCreate:r},t){if(!e)throw new Error("Parameter `transformationID` is required when calling `updateTransformation`.");if(!r)throw new Error("Parameter `transformationCreate` is required when calling `updateTransformation`.");if(!r.code)throw new Error("Parameter `transformationCreate.code` is required when calling `updateTransformation`.");if(!r.name)throw new Error("Parameter `transformationCreate.name` is required when calling `updateTransformation`.");e={method:"PUT",path:"/1/transformations/{transformationID}".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},validateSource(e,r=void 0){e={method:"POST",path:"/1/sources/validate",queryParameters:{},headers:{},data:e||{}};return l.request(e,r)},validateSourceBeforeUpdate({sourceID:e,sourceUpdate:r},t){if(!e)throw new Error("Parameter `sourceID` is required when calling `validateSourceBeforeUpdate`.");if(!r)throw new Error("Parameter `sourceUpdate` is required when calling `validateSourceBeforeUpdate`.");e={method:"POST",path:"/1/sources/{sourceID}/validate".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)}}}throw new Error("`region` is required and must be one of the following: "+W.join(", "))}var L="1.12.0";function z(r,t,a){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(t&&"string"==typeof t){var{appId:t,apiKey:r,authMode:n,algoliaAgents:a,...s}=[{appId:r,apiKey:t,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:L+"-"+r}),c()]}),...a}][0];let e=w(t,r,n),i=f({hosts:[{url:"status.algolia.com",accept:"readWrite",protocol:"https"}],...s,algoliaAgent:P({algoliaAgents:a,client:"Monitoring",version:L}),baseHeaders:{"content-type":"text/plain",...e.headers(),...s.baseHeaders},baseQueryParameters:{...e.queryParameters(),...s.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},getClusterIncidents({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getClusterIncidents`.");e={method:"GET",path:"/1/incidents/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getClusterStatus({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getClusterStatus`.");e={method:"GET",path:"/1/status/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getIncidents(e){return i.request({method:"GET",path:"/1/incidents",queryParameters:{},headers:{}},e)},getIndexingTime({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getIndexingTime`.");e={method:"GET",path:"/1/indexing/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getLatency({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getLatency`.");e={method:"GET",path:"/1/latency/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getMetrics({metric:e,period:r},t){if(!e)throw new Error("Parameter `metric` is required when calling `getMetrics`.");if(!r)throw new Error("Parameter `period` is required when calling `getMetrics`.");e={method:"GET",path:"/1/infrastructure/{metric}/period/{period}".replace("{metric}",encodeURIComponent(e)).replace("{period}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.request(e,t)},getReachability({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getReachability`.");e={method:"GET",path:"/1/reachability/{clusters}/probes".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getServers(e){return i.request({method:"GET",path:"/1/inventory/servers",queryParameters:{},headers:{}},e)},getStatus(e){return i.request({method:"GET",path:"/1/status",queryParameters:{},headers:{}},e)}}}throw new Error("`apiKey` is missing.")}var M="5.12.0";function V({appId:e,apiKey:r,authMode:t,algoliaAgents:a,...i}){let n=w(e,r,t),s=f({hosts:[{url:e+"-dsn.algolia.net",accept:"read",protocol:"https"},{url:e+".algolia.net",accept:"write",protocol:"https"}].concat(y([{url:e+"-1.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-2.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-3.algolianet.com",accept:"readWrite",protocol:"https"}])),...i,algoliaAgent:P({algoliaAgents:a,client:"Recommend",version:M}),baseHeaders:{"content-type":"text/plain",...n.headers(),...i.baseHeaders},baseQueryParameters:{...n.queryParameters(),...i.baseQueryParameters}});return{transporter:s,appId:e,clearCache(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then(()=>{})},get _ua(){return s.algoliaAgent.value},addAlgoliaAgent(e,r){s.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){t&&"WithinHeaders"!==t?s.baseQueryParameters["x-algolia-api-key"]=e:s.baseHeaders["x-algolia-api-key"]=e},batchRecommendRules({indexName:e,model:r,recommendRule:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");if(!r)throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");e={method:"POST",path:"/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{}};return s.request(e,a)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},deleteRecommendRule({indexName:e,model:r,objectID:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");if(!r)throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");if(!t)throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");e={method:"DELETE",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)).replace("{objectID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return s.request(e,a)},getRecommendRule({indexName:e,model:r,objectID:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");if(!r)throw new Error("Parameter `model` is required when calling `getRecommendRule`.");if(!t)throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");e={method:"GET",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)).replace("{objectID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return s.request(e,a)},getRecommendStatus({indexName:e,model:r,taskID:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");if(!r)throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");if(!t)throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");e={method:"GET",path:"/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)).replace("{taskID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return s.request(e,a)},getRecommendations(e,r){if(!(e=e&&Array.isArray(e)?{requests:e}:e))throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");e={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return s.request(e,r)},searchRecommendRules({indexName:e,model:r,searchRecommendRulesParams:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");if(!r)throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");e={method:"POST",path:"/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{},useReadTransporter:!0,cacheable:!0};return s.request(e,a)}}}function J(e,r,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(r&&"string"==typeof r)return V({appId:e,apiKey:r,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:M+"-"+e}),c()]}),...t});throw new Error("`apiKey` is missing.")}e.abtestingClient=i,e.algoliasearch=function(r,t,e){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");let a=j(r,t,e);return{...a,get _ua(){return a.transporter.algoliaAgent.value},initAbtesting:e=>i(e.appId||r,e.apiKey||t,e.region,e.options),initAnalytics:e=>n(e.appId||r,e.apiKey||t,e.region,e.options),initIngestion:e=>F(e.appId||r,e.apiKey||t,e.region,e.options),initInsights:e=>b(e.appId||r,e.apiKey||t,e.region,e.options),initMonitoring:(e={})=>z(e.appId||r,e.apiKey||t,e.options),initPersonalization:e=>R(e.appId||r,e.apiKey||t,e.region,e.options),initQuerySuggestions:e=>U(e.appId||r,e.apiKey||t,e.region,e.options),initRecommend:(e={})=>J(e.appId||r,e.apiKey||t,e.options)}},e.analyticsClient=n,e.ingestionClient=F,e.insightsClient=b,e.isOnDemandTrigger=function(e){return"onDemand"===e.type},e.isScheduleTrigger=function(e){return"schedule"===e.type},e.isSubscriptionTrigger=function(e){return"subscription"===e.type},e.monitoringClient=z,e.personalizationClient=R,e.querySuggestionsClient=U,e.recommendClient=J,e.searchClient=j});
\ No newline at end of file
diff --git a/resources/algoliasearch/5.15.0/algoliasearch.min.jsm b/resources/algoliasearch/5.15.0/algoliasearch.min.jsm
new file mode 100644
index 00000000..0ab2f8ba
--- /dev/null
+++ b/resources/algoliasearch/5.15.0/algoliasearch.min.jsm
@@ -0,0 +1 @@
+!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).algoliasearch={})}(this,function(e){"use strict";function d(){return{send:function(n){return new Promise(t=>{let a=new XMLHttpRequest,e=(a.open(n.method,n.url,!0),Object.keys(n.headers).forEach(e=>a.setRequestHeader(e,n.headers[e])),(e,r)=>setTimeout(()=>{a.abort(),t({status:0,content:r,isTimedOut:!0})},e)),r=e(n.connectTimeout,"Connection timeout"),i;a.onreadystatechange=()=>{a.readyState>a.OPENED&&void 0===i&&(clearTimeout(r),i=e(n.responseTimeout,"Socket timeout"))},a.onerror=()=>{0===a.status&&(clearTimeout(r),clearTimeout(i),t({content:a.responseText||"Network request failed",status:a.status,isTimedOut:!1}))},a.onload=()=>{clearTimeout(r),clearTimeout(i),t({content:a.responseText,status:a.status,isTimedOut:!1})},a.send(n.data)})}}}function u(a){let e,i="algolia-client-js-"+a.key;function n(){return e=void 0===e?a.localStorage||window.localStorage:e}function s(){return JSON.parse(n().getItem(i)||"{}")}function o(e){n().setItem(i,JSON.stringify(e))}return{get(e,r,t={miss:()=>Promise.resolve()}){return Promise.resolve().then(()=>{{let t=a.timeToLive?1e3*a.timeToLive:null,e=s(),r=Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e.timestamp));o(r),t&&o(Object.fromEntries(Object.entries(r).filter(([,e])=>{var r=(new Date).getTime();return!(e.timestamp+tPromise.all([e?e.value:r(),void 0!==e])).then(([e,r])=>Promise.all([e,r||t.miss(e)])).then(([e])=>e)},set(r,t){return Promise.resolve().then(()=>{let e=s();return e[JSON.stringify(r)]={timestamp:(new Date).getTime(),value:t},n().setItem(i,JSON.stringify(e)),t})},delete(r){return Promise.resolve().then(()=>{let e=s();delete e[JSON.stringify(r)],n().setItem(i,JSON.stringify(e))})},clear(){return Promise.resolve().then(()=>{n().removeItem(i)})}}}function h(e){let a=[...e.caches],i=a.shift();return void 0===i?{get(e,r,t={miss:()=>Promise.resolve()}){return r().then(e=>Promise.all([e,t.miss(e)])).then(([e])=>e)},set(e,r){return Promise.resolve(r)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}:{get(e,r,t={miss:()=>Promise.resolve()}){return i.get(e,r,t).catch(()=>h({caches:a}).get(e,r,t))},set(e,r){return i.set(e,r).catch(()=>h({caches:a}).set(e,r))},delete(e){return i.delete(e).catch(()=>h({caches:a}).delete(e))},clear(){return i.clear().catch(()=>h({caches:a}).clear())}}}function c(i={serializable:!0}){let n={};return{get(e,r,t={miss:()=>Promise.resolve()}){e=JSON.stringify(e);if(e in n)return Promise.resolve(i.serializable?JSON.parse(n[e]):n[e]);let a=r();return a.then(e=>t.miss(e)).then(()=>a)},set(e,r){return n[JSON.stringify(e)]=i.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete(e){return delete n[JSON.stringify(e)],Promise.resolve()},clear(){return n={},Promise.resolve()}}}var m=1e3,p=2e3,g=3e4;function w(e,r,t="WithinHeaders"){let a={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return"WithinHeaders"===t?a:{}},queryParameters(){return"WithinQueryParameters"===t?a:{}}}}function l({func:a,validate:i,aggregator:n,error:s,timeout:o=()=>0}){let d=e=>new Promise((r,t)=>{a(e).then(e=>(n&&n(e),i(e)?r(e):s&&s.validate(e)?t(new Error(s.message(e))):setTimeout(()=>{d(e).then(r).catch(t)},o()))).catch(e=>{t(e)})});return d()}function P({algoliaAgents:e,client:r,version:t}){let a=function(e){let r={value:`Algolia for JavaScript (${e})`,add(e){e="; "+e.segment+(void 0!==e.version?` (${e.version})`:"");return-1===r.value.indexOf(e)&&(r.value=r.value+e),r}};return r}(t).add({segment:r,version:t});return e.forEach(e=>a.add(e)),a}function q(){return{debug(e,r){return Promise.resolve()},info(e,r){return Promise.resolve()},error(e,r){return Promise.resolve()}}}function T(e,r="up"){let t=Date.now();return{...e,status:r,lastUpdate:t,isUp:function(){return"up"===r||12e4void 0!==n[e]).sort().map(e=>e+"="+encodeURIComponent("[object Array]"===Object.prototype.toString.call(n[e])?n[e].join(","):n[e]).replace(/\+/g,"%20")).join("&"),i=`${e.protocol}://${e.url}${e.port?":"+e.port:""}/`+("/"===r.charAt(0)?r.substring(1):r);var n;return a.length&&(i+="?"+a),i}function S(e){var r=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...r}}}}function f({hosts:i,hostsCache:y,baseHeaders:n,logger:f,baseQueryParameters:s,algoliaAgent:o,timeouts:E,requester:I,requestsCache:d,responsesCache:u}){async function h(h,c,l=!0){let m=[],p=function(e,r){if("GET"!==e.method&&(void 0!==e.data||void 0!==r.data))return e=Array.isArray(e.data)?e.data:{...e.data,...r.data},JSON.stringify(e)}(h,c),g=function(e,r,t){let a={Accept:"application/json",...e,...r,...t},i={};return Object.keys(a).forEach(e=>{var r=a[e];i[e.toLowerCase()]=r}),i}(n,h.headers,c.headers),e="GET"===h.method?{...h.data,...c.data}:{},w={...s,...h.queryParameters,...e};if(o.value&&(w["x-algolia-agent"]=o.value),c&&c.queryParameters)for(var r of Object.keys(c.queryParameters))c.queryParameters[r]&&"[object Object]"!==Object.prototype.toString.call(c.queryParameters[r])?w[r]=c.queryParameters[r].toString():w[r]=c.queryParameters[r];let P=0,q=async(r,e)=>{let t=r.pop();if(void 0===t)throw new G(m.map(e=>S(e)));var a,i;let n={...E,...c.timeouts},s={data:p,headers:g,method:h.method,url:H(t,h.path,w),connectTimeout:e(P,n.connect),responseTimeout:e(P,l?n.read:n.write)},o=e=>{e={request:s,response:e,host:t,triesLeft:r.length};return m.push(e),e},d=await I.send(s);if({isTimedOut:a,status:u}=[d][0],a||({isTimedOut:a,status:i}=[{isTimedOut:a,status:u}][0],!a&&0==~~i)||2!=~~(u/100)&&4!=~~(u/100))return a=o(d),d.isTimedOut&&P++,f.info("Retryable failure",S(a)),await y.set(t,T(t,d.isTimedOut?"timed out":"down")),q(r,e);if(i=d.status,2!=~~(i/100))throw o(d),function({content:e,status:r},t){try{var a=JSON.parse(e);return"error"in a?new B(a.message,r,a.error,t):new D(a.message,r,t)}catch{}return new D(e,r,t)}(d,m);var u=d;try{return JSON.parse(u.content)}catch(e){throw new K(e.message,u)}},t=i.filter(e=>"readWrite"===e.accept||(l?"read"===e.accept:"write"===e.accept)),a=await async function(e){let r=await Promise.all(e.map(e=>y.get(e,()=>Promise.resolve(T(e))))),t=r.filter(e=>e.isUp()),a=r.filter(e=>e.isTimedOut()),i=[...t,...a];return{hosts:0h(e,r);if(!0!==(r.cacheable||e.cacheable))return a();let i={request:e,requestOptions:r,transporter:{queryParameters:s,headers:n}};return u.get(i,()=>d.get(i,()=>d.set(i,a()).then(e=>Promise.all([d.delete(i),e]),e=>Promise.all([d.delete(i),Promise.reject(e)])).then(([,e])=>e)),{miss:e=>u.set(i,e)})},requestsCache:d,responsesCache:u}}var E="5.15.0",s=["de","us"];function i(r,t,a,i){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(!a||"string"==typeof a&&s.includes(a)){var{appId:t,apiKey:a,authMode:n,algoliaAgents:r,region:i,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:E+"-"+r}),c()]}),...i}][0];let e=w(t,a,n),s=f({hosts:[{url:(a=i)?"analytics.{region}.algolia.com".replace("{region}",a):"analytics.algolia.com",accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"Abtesting",version:E}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:s,appId:t,clearCache(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then(()=>{})},get _ua(){return s.algoliaAgent.value},addAlgoliaAgent(e,r){s.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?s.baseQueryParameters["x-algolia-api-key"]=e:s.baseHeaders["x-algolia-api-key"]=e},addABTests(e,r){if(!e)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!e.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!e.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!e.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");e={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:e};return s.request(e,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},deleteABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `deleteABTest`.");e={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return s.request(e,r)},estimateABTest(e,r){if(!e)throw new Error("Parameter `estimateABTestRequest` is required when calling `estimateABTest`.");if(!e.configuration)throw new Error("Parameter `estimateABTestRequest.configuration` is required when calling `estimateABTest`.");if(!e.variants)throw new Error("Parameter `estimateABTestRequest.variants` is required when calling `estimateABTest`.");e={method:"POST",path:"/2/abtests/estimate",queryParameters:{},headers:{},data:e};return s.request(e,r)},getABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `getABTest`.");e={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return s.request(e,r)},listABTests({offset:e,limit:r,indexPrefix:t,indexSuffix:a}={},i=void 0){let n={};void 0!==e&&(n.offset=e.toString()),void 0!==r&&(n.limit=r.toString()),void 0!==t&&(n.indexPrefix=t.toString()),void 0!==a&&(n.indexSuffix=a.toString());e={method:"GET",path:"/2/abtests",queryParameters:n,headers:{}};return s.request(e,i)},scheduleABTest(e,r){if(!e)throw new Error("Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`.");if(!e.name)throw new Error("Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`.");if(!e.variants)throw new Error("Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`.");if(!e.scheduledAt)throw new Error("Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`.");if(!e.endAt)throw new Error("Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`.");e={method:"POST",path:"/2/abtests/schedule",queryParameters:{},headers:{},data:e};return s.request(e,r)},stopABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `stopABTest`.");e={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return s.request(e,r)}}}throw new Error("`region` must be one of the following: "+s.join(", "))}var o="5.15.0",I=["de","us"];function n(r,t,a,i){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(!a||"string"==typeof a&&I.includes(a)){var{appId:t,apiKey:a,authMode:n,algoliaAgents:r,region:i,...s}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:o+"-"+r}),c()]}),...i}][0];let e=w(t,a,n),l=f({hosts:[{url:(a=i)?"analytics.{region}.algolia.com".replace("{region}",a):"analytics.algolia.com",accept:"readWrite",protocol:"https"}],...s,algoliaAgent:P({algoliaAgents:r,client:"Analytics",version:o}),baseHeaders:{"content-type":"text/plain",...e.headers(),...s.baseHeaders},baseQueryParameters:{...e.queryParameters(),...s.baseQueryParameters}});return{transporter:l,appId:t,clearCache(){return Promise.all([l.requestsCache.clear(),l.responsesCache.clear()]).then(()=>{})},get _ua(){return l.algoliaAgent.value},addAlgoliaAgent(e,r){l.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?l.baseQueryParameters["x-algolia-api-key"]=e:l.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},getAddToCartRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getAddToCartRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/addToCartRate",queryParameters:n,headers:{}};return l.request(e,i)},getAverageClickPosition({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getAverageClickPosition`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/clicks/averageClickPosition",queryParameters:n,headers:{}};return l.request(e,i)},getClickPositions({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getClickPositions`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/clicks/positions",queryParameters:n,headers:{}};return l.request(e,i)},getClickThroughRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getClickThroughRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/clicks/clickThroughRate",queryParameters:n,headers:{}};return l.request(e,i)},getConversionRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getConversionRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/conversionRate",queryParameters:n,headers:{}};return l.request(e,i)},getNoClickRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getNoClickRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/searches/noClickRate",queryParameters:n,headers:{}};return l.request(e,i)},getNoResultsRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getNoResultsRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/searches/noResultRate",queryParameters:n,headers:{}};return l.request(e,i)},getPurchaseRate({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getPurchaseRate`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/purchaseRate",queryParameters:n,headers:{}};return l.request(e,i)},getRevenue({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getRevenue`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/conversions/revenue",queryParameters:n,headers:{}};return l.request(e,i)},getSearchesCount({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesCount`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/searches/count",queryParameters:n,headers:{}};return l.request(e,i)},getSearchesNoClicks({index:e,startDate:r,endDate:t,limit:a,offset:i,tags:n},s){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoClicks`.");let o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==i&&(o.offset=i.toString()),void 0!==n&&(o.tags=n.toString());e={method:"GET",path:"/2/searches/noClicks",queryParameters:o,headers:{}};return l.request(e,s)},getSearchesNoResults({index:e,startDate:r,endDate:t,limit:a,offset:i,tags:n},s){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoResults`.");let o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==i&&(o.offset=i.toString()),void 0!==n&&(o.tags=n.toString());e={method:"GET",path:"/2/searches/noResults",queryParameters:o,headers:{}};return l.request(e,s)},getStatus({index:e},r){if(!e)throw new Error("Parameter `index` is required when calling `getStatus`.");let t={};void 0!==e&&(t.index=e.toString());e={method:"GET",path:"/2/status",queryParameters:t,headers:{}};return l.request(e,r)},getTopCountries({index:e,startDate:r,endDate:t,limit:a,offset:i,tags:n},s){if(!e)throw new Error("Parameter `index` is required when calling `getTopCountries`.");let o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==i&&(o.offset=i.toString()),void 0!==n&&(o.tags=n.toString());e={method:"GET",path:"/2/countries",queryParameters:o,headers:{}};return l.request(e,s)},getTopFilterAttributes({index:e,search:r,startDate:t,endDate:a,limit:i,offset:n,tags:s},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFilterAttributes`.");let d={};void 0!==e&&(d.index=e.toString()),void 0!==r&&(d.search=r.toString()),void 0!==t&&(d.startDate=t.toString()),void 0!==a&&(d.endDate=a.toString()),void 0!==i&&(d.limit=i.toString()),void 0!==n&&(d.offset=n.toString()),void 0!==s&&(d.tags=s.toString());e={method:"GET",path:"/2/filters",queryParameters:d,headers:{}};return l.request(e,o)},getTopFilterForAttribute({attribute:e,index:r,search:t,startDate:a,endDate:i,limit:n,offset:s,tags:o},d){if(!e)throw new Error("Parameter `attribute` is required when calling `getTopFilterForAttribute`.");if(!r)throw new Error("Parameter `index` is required when calling `getTopFilterForAttribute`.");let u="/2/filters/{attribute}".replace("{attribute}",encodeURIComponent(e)),h={};void 0!==r&&(h.index=r.toString()),void 0!==t&&(h.search=t.toString()),void 0!==a&&(h.startDate=a.toString()),void 0!==i&&(h.endDate=i.toString()),void 0!==n&&(h.limit=n.toString()),void 0!==s&&(h.offset=s.toString()),void 0!==o&&(h.tags=o.toString());e={method:"GET",path:u,queryParameters:h,headers:{}};return l.request(e,d)},getTopFiltersNoResults({index:e,search:r,startDate:t,endDate:a,limit:i,offset:n,tags:s},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFiltersNoResults`.");let d={};void 0!==e&&(d.index=e.toString()),void 0!==r&&(d.search=r.toString()),void 0!==t&&(d.startDate=t.toString()),void 0!==a&&(d.endDate=a.toString()),void 0!==i&&(d.limit=i.toString()),void 0!==n&&(d.offset=n.toString()),void 0!==s&&(d.tags=s.toString());e={method:"GET",path:"/2/filters/noResults",queryParameters:d,headers:{}};return l.request(e,o)},getTopHits({index:e,search:r,clickAnalytics:t,revenueAnalytics:a,startDate:i,endDate:n,limit:s,offset:o,tags:d},u){if(!e)throw new Error("Parameter `index` is required when calling `getTopHits`.");let h={};void 0!==e&&(h.index=e.toString()),void 0!==r&&(h.search=r.toString()),void 0!==t&&(h.clickAnalytics=t.toString()),void 0!==a&&(h.revenueAnalytics=a.toString()),void 0!==i&&(h.startDate=i.toString()),void 0!==n&&(h.endDate=n.toString()),void 0!==s&&(h.limit=s.toString()),void 0!==o&&(h.offset=o.toString()),void 0!==d&&(h.tags=d.toString());e={method:"GET",path:"/2/hits",queryParameters:h,headers:{}};return l.request(e,u)},getTopSearches({index:e,clickAnalytics:r,revenueAnalytics:t,startDate:a,endDate:i,orderBy:n,direction:s,limit:o,offset:d,tags:u},h){if(!e)throw new Error("Parameter `index` is required when calling `getTopSearches`.");let c={};void 0!==e&&(c.index=e.toString()),void 0!==r&&(c.clickAnalytics=r.toString()),void 0!==t&&(c.revenueAnalytics=t.toString()),void 0!==a&&(c.startDate=a.toString()),void 0!==i&&(c.endDate=i.toString()),void 0!==n&&(c.orderBy=n.toString()),void 0!==s&&(c.direction=s.toString()),void 0!==o&&(c.limit=o.toString()),void 0!==d&&(c.offset=d.toString()),void 0!==u&&(c.tags=u.toString());e={method:"GET",path:"/2/searches",queryParameters:c,headers:{}};return l.request(e,h)},getUsersCount({index:e,startDate:r,endDate:t,tags:a},i){if(!e)throw new Error("Parameter `index` is required when calling `getUsersCount`.");let n={};void 0!==e&&(n.index=e.toString()),void 0!==r&&(n.startDate=r.toString()),void 0!==t&&(n.endDate=t.toString()),void 0!==a&&(n.tags=a.toString());e={method:"GET",path:"/2/users/count",queryParameters:n,headers:{}};return l.request(e,i)}}}throw new Error("`region` must be one of the following: "+I.join(", "))}var v="5.15.0",x=["de","us"];function b(r,t,a,n){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(!a||"string"==typeof a&&x.includes(a)){var{appId:t,apiKey:a,authMode:s,algoliaAgents:r,region:n,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:v+"-"+r}),c()]}),...n}][0];let e=w(t,a,s),i=f({hosts:[{url:(a=n)?"insights.{region}.algolia.io".replace("{region}",a):"insights.algolia.io",accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"Insights",version:v}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){s&&"WithinHeaders"!==s?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},deleteUserToken({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `deleteUserToken`.");e={method:"DELETE",path:"/1/usertokens/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},pushEvents(e,r){if(!e)throw new Error("Parameter `insightsEvents` is required when calling `pushEvents`.");if(!e.events)throw new Error("Parameter `insightsEvents.events` is required when calling `pushEvents`.");e={method:"POST",path:"/1/events",queryParameters:{},headers:{},data:e};return i.request(e,r)}}}throw new Error("`region` must be one of the following: "+x.join(", "))}var k="5.15.0",R=["eu","us"];function C(r,t,a,n){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(a&&"string"==typeof a&&R.includes(a)){var{appId:t,apiKey:a,authMode:s,algoliaAgents:r,region:n,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:k+"-"+r}),c()]}),...n}][0];let e=w(t,a,s),i=f({hosts:[{url:"personalization.{region}.algolia.com".replace("{region}",n),accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"Personalization",version:k}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){s&&"WithinHeaders"!==s?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},deleteUserProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `deleteUserProfile`.");e={method:"DELETE",path:"/1/profiles/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getPersonalizationStrategy(e){return i.request({method:"GET",path:"/1/strategies/personalization",queryParameters:{},headers:{}},e)},getUserTokenProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `getUserTokenProfile`.");e={method:"GET",path:"/1/profiles/personalization/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},setPersonalizationStrategy(e,r){if(!e)throw new Error("Parameter `personalizationStrategyParams` is required when calling `setPersonalizationStrategy`.");if(!e.eventScoring)throw new Error("Parameter `personalizationStrategyParams.eventScoring` is required when calling `setPersonalizationStrategy`.");if(!e.facetScoring)throw new Error("Parameter `personalizationStrategyParams.facetScoring` is required when calling `setPersonalizationStrategy`.");if(!e.personalizationImpact)throw new Error("Parameter `personalizationStrategyParams.personalizationImpact` is required when calling `setPersonalizationStrategy`.");e={method:"POST",path:"/1/strategies/personalization",queryParameters:{},headers:{},data:e};return i.request(e,r)}}}throw new Error("`region` is required and must be one of the following: "+R.join(", "))}var N="5.15.0",A=["eu","us"];function U(r,t,a,n){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(a&&"string"==typeof a&&A.includes(a)){var{appId:t,apiKey:a,authMode:s,algoliaAgents:r,region:n,...o}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:N+"-"+r}),c()]}),...n}][0];let e=w(t,a,s),i=f({hosts:[{url:"query-suggestions.{region}.algolia.com".replace("{region}",n),accept:"readWrite",protocol:"https"}],...o,algoliaAgent:P({algoliaAgents:r,client:"QuerySuggestions",version:N}),baseHeaders:{"content-type":"text/plain",...e.headers(),...o.baseHeaders},baseQueryParameters:{...e.queryParameters(),...o.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){s&&"WithinHeaders"!==s?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},createConfig(e,r){if(!e)throw new Error("Parameter `configurationWithIndex` is required when calling `createConfig`.");e={method:"POST",path:"/1/configs",queryParameters:{},headers:{},data:e};return i.request(e,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},deleteConfig({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteConfig`.");e={method:"DELETE",path:"/1/configs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getAllConfigs(e){return i.request({method:"GET",path:"/1/configs",queryParameters:{},headers:{}},e)},getConfig({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getConfig`.");e={method:"GET",path:"/1/configs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getConfigStatus({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getConfigStatus`.");e={method:"GET",path:"/1/configs/{indexName}/status".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getLogFile({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getLogFile`.");e={method:"GET",path:"/1/logs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},updateConfig({indexName:e,configuration:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `updateConfig`.");if(!r)throw new Error("Parameter `configuration` is required when calling `updateConfig`.");if(!r.sourceIndices)throw new Error("Parameter `configuration.sourceIndices` is required when calling `updateConfig`.");e={method:"PUT",path:"/1/configs/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return i.request(e,t)}}}throw new Error("`region` is required and must be one of the following: "+A.join(", "))}var O="5.15.0";function a({appId:e,apiKey:r,authMode:t,algoliaAgents:a,...i}){let n=w(e,r,t),o=f({hosts:[{url:e+"-dsn.algolia.net",accept:"read",protocol:"https"},{url:e+".algolia.net",accept:"write",protocol:"https"}].concat(y([{url:e+"-1.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-2.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-3.algolianet.com",accept:"readWrite",protocol:"https"}])),...i,algoliaAgent:P({algoliaAgents:a,client:"Search",version:O}),baseHeaders:{"content-type":"text/plain",...n.headers(),...i.baseHeaders},baseQueryParameters:{...n.queryParameters(),...i.baseQueryParameters}});return{transporter:o,appId:e,clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})},get _ua(){return o.algoliaAgent.value},addAlgoliaAgent(e,r){o.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){t&&"WithinHeaders"!==t?o.baseQueryParameters["x-algolia-api-key"]=e:o.baseHeaders["x-algolia-api-key"]=e},waitForTask({indexName:e,taskID:r,maxRetries:t=50,timeout:a=e=>Math.min(200*e,5e3)},i){let n=0;return l({func:()=>this.getTask({indexName:e,taskID:r},i),validate:e=>"published"===e.status,aggregator:()=>n+=1,error:{validate:()=>n>=t,message:()=>`The maximum number of retries exceeded. (${n}/${t})`},timeout:()=>a(n)})},waitForAppTask({taskID:e,maxRetries:r=50,timeout:t=e=>Math.min(200*e,5e3)},a){let i=0;return l({func:()=>this.getAppTask({taskID:e},a),validate:e=>"published"===e.status,aggregator:()=>i+=1,error:{validate:()=>i>=r,message:()=>`The maximum number of retries exceeded. (${i}/${r})`},timeout:()=>t(i)})},waitForApiKey({operation:r,key:e,apiKey:i,maxRetries:t=50,timeout:a=e=>Math.min(200*e,5e3)},n){let s=0,o={aggregator:()=>s+=1,error:{validate:()=>s>=t,message:()=>`The maximum number of retries exceeded. (${s}/${t})`},timeout:()=>a(s)};if("update"!==r)return l({...o,func:()=>this.getApiKey({key:e},n).catch(e=>{if(404!==e.status)throw e}),validate:e=>"add"===r?void 0!==e:void 0===e});if(i)return l({...o,func:()=>this.getApiKey({key:e},n),validate:r=>{for(var a of Object.keys(i)){let e=i[a],t=r[a];if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length||e.some((e,r)=>e!==t[r]))return!1}else if(e!==t)return!1}return!0}});throw new Error("`apiKey` is required when waiting for an `update` operation.")},browseObjects({indexName:r,browseParams:t,...e},a){return l({func:e=>this.browse({indexName:r,browseParams:{cursor:e?e.cursor:void 0,hitsPerPage:1e3,...t}},a),validate:e=>void 0===e.cursor,...e})},browseRules({indexName:r,searchRulesParams:e,...t},a){let i={hitsPerPage:1e3,...e};return l({func:e=>this.searchRules({indexName:r,searchRulesParams:{...i,page:e?e.page+1:i.page||0}},a),validate:e=>e.hits.length{var r=this.searchSynonyms({indexName:t,searchSynonymsParams:{...i,page:i.page}},a);return i.page+=1,r},validate:e=>e.hits.length({objectID:e})),action:"deleteObject",waitForTasks:t},a)},async partialUpdateObjects({indexName:e,objects:r,createIfNotExists:t,waitForTasks:a},i){return this.chunkedBatch({indexName:e,objects:r,action:t?"partialUpdateObject":"partialUpdateObjectNoCreate",waitForTasks:a},i)},async replaceAllObjects({indexName:e,objects:r,batchSize:t},a){var i=e+"_tmp_"+(Math.floor(1e6*Math.random())+1e5),n=await this.operationIndex({indexName:e,operationIndexParams:{operation:"copy",destination:i,scope:["settings","rules","synonyms"]}},a),r=await this.chunkedBatch({indexName:i,objects:r,waitForTasks:!0,batchSize:t},a),t=(await this.waitForTask({indexName:i,taskID:n.taskID}),n=await this.operationIndex({indexName:e,operationIndexParams:{operation:"copy",destination:i,scope:["settings","rules","synonyms"]}},a),await this.waitForTask({indexName:i,taskID:n.taskID}),await this.operationIndex({indexName:i,operationIndexParams:{operation:"move",destination:e}},a));return await this.waitForTask({indexName:i,taskID:t.taskID}),{copyOperationResponse:n,batchResponses:r,moveOperationResponse:t}},async indexExists({indexName:e}){try{await this.getSettings({indexName:e})}catch(e){if(e instanceof D&&404===e.status)return!1;throw e}return!0},searchForHits(e,r){return this.search(e,r)},searchForFacets(e,r){return this.search(e,r)},addApiKey(e,r){if(!e)throw new Error("Parameter `apiKey` is required when calling `addApiKey`.");if(!e.acl)throw new Error("Parameter `apiKey.acl` is required when calling `addApiKey`.");e={method:"POST",path:"/1/keys",queryParameters:{},headers:{},data:e};return o.request(e,r)},addOrUpdateObject({indexName:e,objectID:r,body:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `addOrUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `addOrUpdateObject`.");if(!t)throw new Error("Parameter `body` is required when calling `addOrUpdateObject`.");e={method:"PUT",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t};return o.request(e,a)},appendSource(e,r){if(!e)throw new Error("Parameter `source` is required when calling `appendSource`.");if(!e.source)throw new Error("Parameter `source.source` is required when calling `appendSource`.");e={method:"POST",path:"/1/security/sources/append",queryParameters:{},headers:{},data:e};return o.request(e,r)},assignUserId({xAlgoliaUserID:e,assignUserIdParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `assignUserId`.");if(!r)throw new Error("Parameter `assignUserIdParams` is required when calling `assignUserId`.");if(!r.cluster)throw new Error("Parameter `assignUserIdParams.cluster` is required when calling `assignUserId`.");let a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());e={method:"POST",path:"/1/clusters/mapping",queryParameters:{},headers:a,data:r};return o.request(e,t)},batch({indexName:e,batchWriteParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `batch`.");if(!r)throw new Error("Parameter `batchWriteParams` is required when calling `batch`.");if(!r.requests)throw new Error("Parameter `batchWriteParams.requests` is required when calling `batch`.");e={method:"POST",path:"/1/indexes/{indexName}/batch".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},batchAssignUserIds({xAlgoliaUserID:e,batchAssignUserIdsParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `batchAssignUserIds`.");if(!r)throw new Error("Parameter `batchAssignUserIdsParams` is required when calling `batchAssignUserIds`.");if(!r.cluster)throw new Error("Parameter `batchAssignUserIdsParams.cluster` is required when calling `batchAssignUserIds`.");if(!r.users)throw new Error("Parameter `batchAssignUserIdsParams.users` is required when calling `batchAssignUserIds`.");let a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());e={method:"POST",path:"/1/clusters/mapping/batch",queryParameters:{},headers:a,data:r};return o.request(e,t)},batchDictionaryEntries({dictionaryName:e,batchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `batchDictionaryEntries`.");if(!r)throw new Error("Parameter `batchDictionaryEntriesParams` is required when calling `batchDictionaryEntries`.");if(!r.requests)throw new Error("Parameter `batchDictionaryEntriesParams.requests` is required when calling `batchDictionaryEntries`.");e={method:"POST",path:"/1/dictionaries/{dictionaryName}/batch".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},browse({indexName:e,browseParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `browse`.");e={method:"POST",path:"/1/indexes/{indexName}/browse".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0};return o.request(e,t)},clearObjects({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `clearObjects`.");e={method:"POST",path:"/1/indexes/{indexName}/clear".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},clearRules({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearRules`.");let a="/1/indexes/{indexName}/rules/clear".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==r&&(i.forwardToReplicas=r.toString());e={method:"POST",path:a,queryParameters:i,headers:{}};return o.request(e,t)},clearSynonyms({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearSynonyms`.");let a="/1/indexes/{indexName}/synonyms/clear".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==r&&(i.forwardToReplicas=r.toString());e={method:"POST",path:a,queryParameters:i,headers:{}};return o.request(e,t)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return o.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return o.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return o.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return o.request(e,a)},deleteApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `deleteApiKey`.");e={method:"DELETE",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},deleteBy({indexName:e,deleteByParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteBy`.");if(!r)throw new Error("Parameter `deleteByParams` is required when calling `deleteBy`.");e={method:"POST",path:"/1/indexes/{indexName}/deleteByQuery".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},deleteIndex({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteIndex`.");e={method:"DELETE",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},deleteObject({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteObject`.");e={method:"DELETE",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},deleteRule({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteRule`.");let i="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),n={};void 0!==t&&(n.forwardToReplicas=t.toString());e={method:"DELETE",path:i,queryParameters:n,headers:{}};return o.request(e,a)},deleteSource({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `deleteSource`.");e={method:"DELETE",path:"/1/security/sources/{source}".replace("{source}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},deleteSynonym({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteSynonym`.");let i="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),n={};void 0!==t&&(n.forwardToReplicas=t.toString());e={method:"DELETE",path:i,queryParameters:n,headers:{}};return o.request(e,a)},getApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `getApiKey`.");e={method:"GET",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},getAppTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `getAppTask`.");e={method:"GET",path:"/1/task/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},getDictionaryLanguages(e){return o.request({method:"GET",path:"/1/dictionaries/*/languages",queryParameters:{},headers:{}},e)},getDictionarySettings(e){return o.request({method:"GET",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{}},e)},getLogs({offset:e,length:r,indexName:t,type:a}={},i=void 0){let n={};void 0!==e&&(n.offset=e.toString()),void 0!==r&&(n.length=r.toString()),void 0!==t&&(n.indexName=t.toString()),void 0!==a&&(n.type=a.toString());e={method:"GET",path:"/1/logs",queryParameters:n,headers:{}};return o.request(e,i)},getObject({indexName:e,objectID:r,attributesToRetrieve:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getObject`.");let i="/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),n={};void 0!==t&&(n.attributesToRetrieve=t.toString());e={method:"GET",path:i,queryParameters:n,headers:{}};return o.request(e,a)},getObjects(e,r){if(!e)throw new Error("Parameter `getObjectsParams` is required when calling `getObjects`.");if(!e.requests)throw new Error("Parameter `getObjectsParams.requests` is required when calling `getObjects`.");e={method:"POST",path:"/1/indexes/*/objects",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return o.request(e,r)},getRule({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getRule`.");e={method:"GET",path:"/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},getSettings({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getSettings`.");e={method:"GET",path:"/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},getSources(e){return o.request({method:"GET",path:"/1/security/sources",queryParameters:{},headers:{}},e)},getSynonym({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getSynonym`.");e={method:"GET",path:"/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},getTask({indexName:e,taskID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getTask`.");if(!r)throw new Error("Parameter `taskID` is required when calling `getTask`.");e={method:"GET",path:"/1/indexes/{indexName}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{taskID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return o.request(e,t)},getTopUserIds(e){return o.request({method:"GET",path:"/1/clusters/mapping/top",queryParameters:{},headers:{}},e)},getUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `getUserId`.");e={method:"GET",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},hasPendingMappings({getClusters:e}={},r=void 0){let t={};void 0!==e&&(t.getClusters=e.toString());e={method:"GET",path:"/1/clusters/mapping/pending",queryParameters:t,headers:{}};return o.request(e,r)},listApiKeys(e){return o.request({method:"GET",path:"/1/keys",queryParameters:{},headers:{}},e)},listClusters(e){return o.request({method:"GET",path:"/1/clusters",queryParameters:{},headers:{}},e)},listIndices({page:e,hitsPerPage:r}={},t=void 0){let a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());e={method:"GET",path:"/1/indexes",queryParameters:a,headers:{}};return o.request(e,t)},listUserIds({page:e,hitsPerPage:r}={},t=void 0){let a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());e={method:"GET",path:"/1/clusters/mapping",queryParameters:a,headers:{}};return o.request(e,t)},multipleBatch(e,r){if(!e)throw new Error("Parameter `batchParams` is required when calling `multipleBatch`.");if(!e.requests)throw new Error("Parameter `batchParams.requests` is required when calling `multipleBatch`.");e={method:"POST",path:"/1/indexes/*/batch",queryParameters:{},headers:{},data:e};return o.request(e,r)},operationIndex({indexName:e,operationIndexParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `operationIndex`.");if(!r)throw new Error("Parameter `operationIndexParams` is required when calling `operationIndex`.");if(!r.operation)throw new Error("Parameter `operationIndexParams.operation` is required when calling `operationIndex`.");if(!r.destination)throw new Error("Parameter `operationIndexParams.destination` is required when calling `operationIndex`.");e={method:"POST",path:"/1/indexes/{indexName}/operation".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},partialUpdateObject({indexName:e,objectID:r,attributesToUpdate:t,createIfNotExists:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `partialUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `partialUpdateObject`.");if(!t)throw new Error("Parameter `attributesToUpdate` is required when calling `partialUpdateObject`.");let n="/1/indexes/{indexName}/{objectID}/partial".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==a&&(s.createIfNotExists=a.toString());e={method:"POST",path:n,queryParameters:s,headers:{},data:t};return o.request(e,i)},removeUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `removeUserId`.");e={method:"DELETE",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},replaceSources({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `replaceSources`.");e={method:"PUT",path:"/1/security/sources",queryParameters:{},headers:{},data:e};return o.request(e,r)},restoreApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `restoreApiKey`.");e={method:"POST",path:"/1/keys/{key}/restore".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return o.request(e,r)},saveObject({indexName:e,body:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `saveObject`.");if(!r)throw new Error("Parameter `body` is required when calling `saveObject`.");e={method:"POST",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)},saveRule({indexName:e,objectID:r,rule:t,forwardToReplicas:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveRule`.");if(!t)throw new Error("Parameter `rule` is required when calling `saveRule`.");if(!t.objectID)throw new Error("Parameter `rule.objectID` is required when calling `saveRule`.");let n="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==a&&(s.forwardToReplicas=a.toString());e={method:"PUT",path:n,queryParameters:s,headers:{},data:t};return o.request(e,i)},saveRules({indexName:e,rules:r,forwardToReplicas:t,clearExistingRules:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRules`.");if(!r)throw new Error("Parameter `rules` is required when calling `saveRules`.");let n="/1/indexes/{indexName}/rules/batch".replace("{indexName}",encodeURIComponent(e)),s={};void 0!==t&&(s.forwardToReplicas=t.toString()),void 0!==a&&(s.clearExistingRules=a.toString());e={method:"POST",path:n,queryParameters:s,headers:{},data:r};return o.request(e,i)},saveSynonym({indexName:e,objectID:r,synonymHit:t,forwardToReplicas:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveSynonym`.");if(!t)throw new Error("Parameter `synonymHit` is required when calling `saveSynonym`.");if(!t.objectID)throw new Error("Parameter `synonymHit.objectID` is required when calling `saveSynonym`.");if(!t.type)throw new Error("Parameter `synonymHit.type` is required when calling `saveSynonym`.");let n="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==a&&(s.forwardToReplicas=a.toString());e={method:"PUT",path:n,queryParameters:s,headers:{},data:t};return o.request(e,i)},saveSynonyms({indexName:e,synonymHit:r,forwardToReplicas:t,replaceExistingSynonyms:a},i){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonyms`.");if(!r)throw new Error("Parameter `synonymHit` is required when calling `saveSynonyms`.");let n="/1/indexes/{indexName}/synonyms/batch".replace("{indexName}",encodeURIComponent(e)),s={};void 0!==t&&(s.forwardToReplicas=t.toString()),void 0!==a&&(s.replaceExistingSynonyms=a.toString());e={method:"POST",path:n,queryParameters:s,headers:{},data:r};return o.request(e,i)},search(e,r){if(!(e=e&&Array.isArray(e)?{requests:e.map(({params:e,...r})=>"facet"===r.type?{...r,...e,type:"facet"}:{...r,...e,facet:void 0,maxFacetHits:void 0,facetQuery:void 0})}:e))throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");e={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return o.request(e,r)},searchDictionaryEntries({dictionaryName:e,searchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `searchDictionaryEntries`.");if(!r)throw new Error("Parameter `searchDictionaryEntriesParams` is required when calling `searchDictionaryEntries`.");if(!r.query)throw new Error("Parameter `searchDictionaryEntriesParams.query` is required when calling `searchDictionaryEntries`.");e={method:"POST",path:"/1/dictionaries/{dictionaryName}/search".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r,useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchForFacetValues({indexName:e,facetName:r,searchForFacetValuesRequest:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchForFacetValues`.");if(!r)throw new Error("Parameter `facetName` is required when calling `searchForFacetValues`.");e={method:"POST",path:"/1/indexes/{indexName}/facets/{facetName}/query".replace("{indexName}",encodeURIComponent(e)).replace("{facetName}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{},useReadTransporter:!0,cacheable:!0};return o.request(e,a)},searchRules({indexName:e,searchRulesParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRules`.");e={method:"POST",path:"/1/indexes/{indexName}/rules/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchSingleIndex({indexName:e,searchParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSingleIndex`.");e={method:"POST",path:"/1/indexes/{indexName}/query".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchSynonyms({indexName:e,searchSynonymsParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSynonyms`.");e={method:"POST",path:"/1/indexes/{indexName}/synonyms/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return o.request(e,t)},searchUserIds(e,r){if(!e)throw new Error("Parameter `searchUserIdsParams` is required when calling `searchUserIds`.");if(!e.query)throw new Error("Parameter `searchUserIdsParams.query` is required when calling `searchUserIds`.");e={method:"POST",path:"/1/clusters/mapping/search",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return o.request(e,r)},setDictionarySettings(e,r){if(!e)throw new Error("Parameter `dictionarySettingsParams` is required when calling `setDictionarySettings`.");if(!e.disableStandardEntries)throw new Error("Parameter `dictionarySettingsParams.disableStandardEntries` is required when calling `setDictionarySettings`.");e={method:"PUT",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{},data:e};return o.request(e,r)},setSettings({indexName:e,indexSettings:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `setSettings`.");if(!r)throw new Error("Parameter `indexSettings` is required when calling `setSettings`.");let i="/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),n={};void 0!==t&&(n.forwardToReplicas=t.toString());e={method:"PUT",path:i,queryParameters:n,headers:{},data:r};return o.request(e,a)},updateApiKey({key:e,apiKey:r},t){if(!e)throw new Error("Parameter `key` is required when calling `updateApiKey`.");if(!r)throw new Error("Parameter `apiKey` is required when calling `updateApiKey`.");if(!r.acl)throw new Error("Parameter `apiKey.acl` is required when calling `updateApiKey`.");e={method:"PUT",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return o.request(e,t)}}}function j(e,r,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(r&&"string"==typeof r)return a({appId:e,apiKey:r,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:O+"-"+e}),c()]}),...t});throw new Error("`apiKey` is missing.")}var Q="1.15.0",W=["eu","us"];function F(r,t,a,i){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");if(a&&"string"==typeof a&&W.includes(a)){var{appId:t,apiKey:a,authMode:n,algoliaAgents:r,region:i,...s}=[{appId:r,apiKey:t,region:a,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:Q+"-"+r}),c()]}),...i}][0];let e=w(t,a,n),l=f({hosts:[{url:"data.{region}.algolia.com".replace("{region}",i),accept:"readWrite",protocol:"https"}],...s,algoliaAgent:P({algoliaAgents:r,client:"Ingestion",version:Q}),baseHeaders:{"content-type":"text/plain",...e.headers(),...s.baseHeaders},baseQueryParameters:{...e.queryParameters(),...s.baseQueryParameters}});return{transporter:l,appId:t,clearCache(){return Promise.all([l.requestsCache.clear(),l.responsesCache.clear()]).then(()=>{})},get _ua(){return l.algoliaAgent.value},addAlgoliaAgent(e,r){l.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?l.baseQueryParameters["x-algolia-api-key"]=e:l.baseHeaders["x-algolia-api-key"]=e},createAuthentication(e,r){if(!e)throw new Error("Parameter `authenticationCreate` is required when calling `createAuthentication`.");if(!e.type)throw new Error("Parameter `authenticationCreate.type` is required when calling `createAuthentication`.");if(!e.name)throw new Error("Parameter `authenticationCreate.name` is required when calling `createAuthentication`.");if(!e.input)throw new Error("Parameter `authenticationCreate.input` is required when calling `createAuthentication`.");e={method:"POST",path:"/1/authentications",queryParameters:{},headers:{},data:e};return l.request(e,r)},createDestination(e,r){if(!e)throw new Error("Parameter `destinationCreate` is required when calling `createDestination`.");if(!e.type)throw new Error("Parameter `destinationCreate.type` is required when calling `createDestination`.");if(!e.name)throw new Error("Parameter `destinationCreate.name` is required when calling `createDestination`.");if(!e.input)throw new Error("Parameter `destinationCreate.input` is required when calling `createDestination`.");e={method:"POST",path:"/1/destinations",queryParameters:{},headers:{},data:e};return l.request(e,r)},createSource(e,r){if(!e)throw new Error("Parameter `sourceCreate` is required when calling `createSource`.");if(!e.type)throw new Error("Parameter `sourceCreate.type` is required when calling `createSource`.");if(!e.name)throw new Error("Parameter `sourceCreate.name` is required when calling `createSource`.");e={method:"POST",path:"/1/sources",queryParameters:{},headers:{},data:e};return l.request(e,r)},createTask(e,r){if(!e)throw new Error("Parameter `taskCreate` is required when calling `createTask`.");if(!e.sourceID)throw new Error("Parameter `taskCreate.sourceID` is required when calling `createTask`.");if(!e.destinationID)throw new Error("Parameter `taskCreate.destinationID` is required when calling `createTask`.");if(!e.action)throw new Error("Parameter `taskCreate.action` is required when calling `createTask`.");e={method:"POST",path:"/2/tasks",queryParameters:{},headers:{},data:e};return l.request(e,r)},createTaskV1(e,r){if(!e)throw new Error("Parameter `taskCreate` is required when calling `createTaskV1`.");if(!e.sourceID)throw new Error("Parameter `taskCreate.sourceID` is required when calling `createTaskV1`.");if(!e.destinationID)throw new Error("Parameter `taskCreate.destinationID` is required when calling `createTaskV1`.");if(!e.trigger)throw new Error("Parameter `taskCreate.trigger` is required when calling `createTaskV1`.");if(!e.action)throw new Error("Parameter `taskCreate.action` is required when calling `createTaskV1`.");e={method:"POST",path:"/1/tasks",queryParameters:{},headers:{},data:e};return l.request(e,r)},createTransformation(e,r){if(!e)throw new Error("Parameter `transformationCreate` is required when calling `createTransformation`.");if(!e.code)throw new Error("Parameter `transformationCreate.code` is required when calling `createTransformation`.");if(!e.name)throw new Error("Parameter `transformationCreate.name` is required when calling `createTransformation`.");e={method:"POST",path:"/1/transformations",queryParameters:{},headers:{},data:e};return l.request(e,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return l.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return l.request(e,a)},deleteAuthentication({authenticationID:e},r){if(!e)throw new Error("Parameter `authenticationID` is required when calling `deleteAuthentication`.");e={method:"DELETE",path:"/1/authentications/{authenticationID}".replace("{authenticationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteDestination({destinationID:e},r){if(!e)throw new Error("Parameter `destinationID` is required when calling `deleteDestination`.");e={method:"DELETE",path:"/1/destinations/{destinationID}".replace("{destinationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteSource({sourceID:e},r){if(!e)throw new Error("Parameter `sourceID` is required when calling `deleteSource`.");e={method:"DELETE",path:"/1/sources/{sourceID}".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `deleteTask`.");e={method:"DELETE",path:"/2/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `deleteTaskV1`.");e={method:"DELETE",path:"/1/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},deleteTransformation({transformationID:e},r){if(!e)throw new Error("Parameter `transformationID` is required when calling `deleteTransformation`.");e={method:"DELETE",path:"/1/transformations/{transformationID}".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},disableTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `disableTask`.");e={method:"PUT",path:"/2/tasks/{taskID}/disable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},disableTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `disableTaskV1`.");e={method:"PUT",path:"/1/tasks/{taskID}/disable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},enableTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `enableTask`.");e={method:"PUT",path:"/2/tasks/{taskID}/enable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},enableTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `enableTaskV1`.");e={method:"PUT",path:"/1/tasks/{taskID}/enable".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getAuthentication({authenticationID:e},r){if(!e)throw new Error("Parameter `authenticationID` is required when calling `getAuthentication`.");e={method:"GET",path:"/1/authentications/{authenticationID}".replace("{authenticationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getDestination({destinationID:e},r){if(!e)throw new Error("Parameter `destinationID` is required when calling `getDestination`.");e={method:"GET",path:"/1/destinations/{destinationID}".replace("{destinationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getEvent({runID:e,eventID:r},t){if(!e)throw new Error("Parameter `runID` is required when calling `getEvent`.");if(!r)throw new Error("Parameter `eventID` is required when calling `getEvent`.");e={method:"GET",path:"/1/runs/{runID}/events/{eventID}".replace("{runID}",encodeURIComponent(e)).replace("{eventID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return l.request(e,t)},getRun({runID:e},r){if(!e)throw new Error("Parameter `runID` is required when calling `getRun`.");e={method:"GET",path:"/1/runs/{runID}".replace("{runID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getSource({sourceID:e},r){if(!e)throw new Error("Parameter `sourceID` is required when calling `getSource`.");e={method:"GET",path:"/1/sources/{sourceID}".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `getTask`.");e={method:"GET",path:"/2/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `getTaskV1`.");e={method:"GET",path:"/1/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},getTransformation({transformationID:e},r){if(!e)throw new Error("Parameter `transformationID` is required when calling `getTransformation`.");e={method:"GET",path:"/1/transformations/{transformationID}".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},listAuthentications({itemsPerPage:e,page:r,type:t,platform:a,sort:i,order:n}={},s=void 0){let o={};void 0!==e&&(o.itemsPerPage=e.toString()),void 0!==r&&(o.page=r.toString()),void 0!==t&&(o.type=t.toString()),void 0!==a&&(o.platform=a.toString()),void 0!==i&&(o.sort=i.toString()),void 0!==n&&(o.order=n.toString());e={method:"GET",path:"/1/authentications",queryParameters:o,headers:{}};return l.request(e,s)},listDestinations({itemsPerPage:e,page:r,type:t,authenticationID:a,transformationID:i,sort:n,order:s}={},o=void 0){let d={};void 0!==e&&(d.itemsPerPage=e.toString()),void 0!==r&&(d.page=r.toString()),void 0!==t&&(d.type=t.toString()),void 0!==a&&(d.authenticationID=a.toString()),void 0!==i&&(d.transformationID=i.toString()),void 0!==n&&(d.sort=n.toString()),void 0!==s&&(d.order=s.toString());e={method:"GET",path:"/1/destinations",queryParameters:d,headers:{}};return l.request(e,o)},listEvents({runID:e,itemsPerPage:r,page:t,status:a,type:i,sort:n,order:s,startDate:o,endDate:d},u){if(!e)throw new Error("Parameter `runID` is required when calling `listEvents`.");let h="/1/runs/{runID}/events".replace("{runID}",encodeURIComponent(e)),c={};void 0!==r&&(c.itemsPerPage=r.toString()),void 0!==t&&(c.page=t.toString()),void 0!==a&&(c.status=a.toString()),void 0!==i&&(c.type=i.toString()),void 0!==n&&(c.sort=n.toString()),void 0!==s&&(c.order=s.toString()),void 0!==o&&(c.startDate=o.toString()),void 0!==d&&(c.endDate=d.toString());e={method:"GET",path:h,queryParameters:c,headers:{}};return l.request(e,u)},listRuns({itemsPerPage:e,page:r,status:t,type:a,taskID:i,sort:n,order:s,startDate:o,endDate:d}={},u=void 0){let h={};void 0!==e&&(h.itemsPerPage=e.toString()),void 0!==r&&(h.page=r.toString()),void 0!==t&&(h.status=t.toString()),void 0!==a&&(h.type=a.toString()),void 0!==i&&(h.taskID=i.toString()),void 0!==n&&(h.sort=n.toString()),void 0!==s&&(h.order=s.toString()),void 0!==o&&(h.startDate=o.toString()),void 0!==d&&(h.endDate=d.toString());e={method:"GET",path:"/1/runs",queryParameters:h,headers:{}};return l.request(e,u)},listSources({itemsPerPage:e,page:r,type:t,authenticationID:a,sort:i,order:n}={},s=void 0){let o={};void 0!==e&&(o.itemsPerPage=e.toString()),void 0!==r&&(o.page=r.toString()),void 0!==t&&(o.type=t.toString()),void 0!==a&&(o.authenticationID=a.toString()),void 0!==i&&(o.sort=i.toString()),void 0!==n&&(o.order=n.toString());e={method:"GET",path:"/1/sources",queryParameters:o,headers:{}};return l.request(e,s)},listTasks({itemsPerPage:e,page:r,action:t,enabled:a,sourceID:i,destinationID:n,triggerType:s,sort:o,order:d}={},u=void 0){let h={};void 0!==e&&(h.itemsPerPage=e.toString()),void 0!==r&&(h.page=r.toString()),void 0!==t&&(h.action=t.toString()),void 0!==a&&(h.enabled=a.toString()),void 0!==i&&(h.sourceID=i.toString()),void 0!==n&&(h.destinationID=n.toString()),void 0!==s&&(h.triggerType=s.toString()),void 0!==o&&(h.sort=o.toString()),void 0!==d&&(h.order=d.toString());e={method:"GET",path:"/2/tasks",queryParameters:h,headers:{}};return l.request(e,u)},listTasksV1({itemsPerPage:e,page:r,action:t,enabled:a,sourceID:i,destinationID:n,triggerType:s,sort:o,order:d}={},u=void 0){let h={};void 0!==e&&(h.itemsPerPage=e.toString()),void 0!==r&&(h.page=r.toString()),void 0!==t&&(h.action=t.toString()),void 0!==a&&(h.enabled=a.toString()),void 0!==i&&(h.sourceID=i.toString()),void 0!==n&&(h.destinationID=n.toString()),void 0!==s&&(h.triggerType=s.toString()),void 0!==o&&(h.sort=o.toString()),void 0!==d&&(h.order=d.toString());e={method:"GET",path:"/1/tasks",queryParameters:h,headers:{}};return l.request(e,u)},listTransformations({itemsPerPage:e,page:r,sort:t,order:a}={},i=void 0){let n={};void 0!==e&&(n.itemsPerPage=e.toString()),void 0!==r&&(n.page=r.toString()),void 0!==t&&(n.sort=t.toString()),void 0!==a&&(n.order=a.toString());e={method:"GET",path:"/1/transformations",queryParameters:n,headers:{}};return l.request(e,i)},pushTask({taskID:e,pushTaskPayload:r},t){if(!e)throw new Error("Parameter `taskID` is required when calling `pushTask`.");if(!r)throw new Error("Parameter `pushTaskPayload` is required when calling `pushTask`.");if(!r.action)throw new Error("Parameter `pushTaskPayload.action` is required when calling `pushTask`.");if(!r.records)throw new Error("Parameter `pushTaskPayload.records` is required when calling `pushTask`.");e={method:"POST",path:"/2/tasks/{taskID}/push".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},runSource({sourceID:e,runSourcePayload:r},t){if(!e)throw new Error("Parameter `sourceID` is required when calling `runSource`.");e={method:"POST",path:"/1/sources/{sourceID}/run".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{}};return l.request(e,t)},runTask({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `runTask`.");e={method:"POST",path:"/2/tasks/{taskID}/run".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},runTaskV1({taskID:e},r){if(!e)throw new Error("Parameter `taskID` is required when calling `runTaskV1`.");e={method:"POST",path:"/1/tasks/{taskID}/run".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},searchAuthentications(e,r){if(!e)throw new Error("Parameter `authenticationSearch` is required when calling `searchAuthentications`.");if(!e.authenticationIDs)throw new Error("Parameter `authenticationSearch.authenticationIDs` is required when calling `searchAuthentications`.");e={method:"POST",path:"/1/authentications/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchDestinations(e,r){if(!e)throw new Error("Parameter `destinationSearch` is required when calling `searchDestinations`.");if(!e.destinationIDs)throw new Error("Parameter `destinationSearch.destinationIDs` is required when calling `searchDestinations`.");e={method:"POST",path:"/1/destinations/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchSources(e,r){if(!e)throw new Error("Parameter `sourceSearch` is required when calling `searchSources`.");if(!e.sourceIDs)throw new Error("Parameter `sourceSearch.sourceIDs` is required when calling `searchSources`.");e={method:"POST",path:"/1/sources/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchTasks(e,r){if(!e)throw new Error("Parameter `taskSearch` is required when calling `searchTasks`.");if(!e.taskIDs)throw new Error("Parameter `taskSearch.taskIDs` is required when calling `searchTasks`.");e={method:"POST",path:"/2/tasks/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchTasksV1(e,r){if(!e)throw new Error("Parameter `taskSearch` is required when calling `searchTasksV1`.");if(!e.taskIDs)throw new Error("Parameter `taskSearch.taskIDs` is required when calling `searchTasksV1`.");e={method:"POST",path:"/1/tasks/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},searchTransformations(e,r){if(!e)throw new Error("Parameter `transformationSearch` is required when calling `searchTransformations`.");if(!e.transformationIDs)throw new Error("Parameter `transformationSearch.transformationIDs` is required when calling `searchTransformations`.");e={method:"POST",path:"/1/transformations/search",queryParameters:{},headers:{},data:e};return l.request(e,r)},triggerDockerSourceDiscover({sourceID:e},r){if(!e)throw new Error("Parameter `sourceID` is required when calling `triggerDockerSourceDiscover`.");e={method:"POST",path:"/1/sources/{sourceID}/discover".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return l.request(e,r)},tryTransformation(e,r){if(!e)throw new Error("Parameter `transformationTry` is required when calling `tryTransformation`.");if(!e.code)throw new Error("Parameter `transformationTry.code` is required when calling `tryTransformation`.");if(!e.sampleRecord)throw new Error("Parameter `transformationTry.sampleRecord` is required when calling `tryTransformation`.");e={method:"POST",path:"/1/transformations/try",queryParameters:{},headers:{},data:e};return l.request(e,r)},tryTransformationBeforeUpdate({transformationID:e,transformationTry:r},t){if(!e)throw new Error("Parameter `transformationID` is required when calling `tryTransformationBeforeUpdate`.");if(!r)throw new Error("Parameter `transformationTry` is required when calling `tryTransformationBeforeUpdate`.");if(!r.code)throw new Error("Parameter `transformationTry.code` is required when calling `tryTransformationBeforeUpdate`.");if(!r.sampleRecord)throw new Error("Parameter `transformationTry.sampleRecord` is required when calling `tryTransformationBeforeUpdate`.");e={method:"POST",path:"/1/transformations/{transformationID}/try".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateAuthentication({authenticationID:e,authenticationUpdate:r},t){if(!e)throw new Error("Parameter `authenticationID` is required when calling `updateAuthentication`.");if(!r)throw new Error("Parameter `authenticationUpdate` is required when calling `updateAuthentication`.");e={method:"PATCH",path:"/1/authentications/{authenticationID}".replace("{authenticationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateDestination({destinationID:e,destinationUpdate:r},t){if(!e)throw new Error("Parameter `destinationID` is required when calling `updateDestination`.");if(!r)throw new Error("Parameter `destinationUpdate` is required when calling `updateDestination`.");e={method:"PATCH",path:"/1/destinations/{destinationID}".replace("{destinationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateSource({sourceID:e,sourceUpdate:r},t){if(!e)throw new Error("Parameter `sourceID` is required when calling `updateSource`.");if(!r)throw new Error("Parameter `sourceUpdate` is required when calling `updateSource`.");e={method:"PATCH",path:"/1/sources/{sourceID}".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateTask({taskID:e,taskUpdate:r},t){if(!e)throw new Error("Parameter `taskID` is required when calling `updateTask`.");if(!r)throw new Error("Parameter `taskUpdate` is required when calling `updateTask`.");e={method:"PATCH",path:"/2/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateTaskV1({taskID:e,taskUpdate:r},t){if(!e)throw new Error("Parameter `taskID` is required when calling `updateTaskV1`.");if(!r)throw new Error("Parameter `taskUpdate` is required when calling `updateTaskV1`.");e={method:"PATCH",path:"/1/tasks/{taskID}".replace("{taskID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},updateTransformation({transformationID:e,transformationCreate:r},t){if(!e)throw new Error("Parameter `transformationID` is required when calling `updateTransformation`.");if(!r)throw new Error("Parameter `transformationCreate` is required when calling `updateTransformation`.");if(!r.code)throw new Error("Parameter `transformationCreate.code` is required when calling `updateTransformation`.");if(!r.name)throw new Error("Parameter `transformationCreate.name` is required when calling `updateTransformation`.");e={method:"PUT",path:"/1/transformations/{transformationID}".replace("{transformationID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)},validateSource(e,r=void 0){e={method:"POST",path:"/1/sources/validate",queryParameters:{},headers:{},data:e||{}};return l.request(e,r)},validateSourceBeforeUpdate({sourceID:e,sourceUpdate:r},t){if(!e)throw new Error("Parameter `sourceID` is required when calling `validateSourceBeforeUpdate`.");if(!r)throw new Error("Parameter `sourceUpdate` is required when calling `validateSourceBeforeUpdate`.");e={method:"POST",path:"/1/sources/{sourceID}/validate".replace("{sourceID}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return l.request(e,t)}}}throw new Error("`region` is required and must be one of the following: "+W.join(", "))}var L="1.15.0";function z(r,t,a){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(t&&"string"==typeof t){var{appId:t,apiKey:r,authMode:n,algoliaAgents:a,...s}=[{appId:r,apiKey:t,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:L+"-"+r}),c()]}),...a}][0];let e=w(t,r,n),i=f({hosts:[{url:"status.algolia.com",accept:"readWrite",protocol:"https"}],...s,algoliaAgent:P({algoliaAgents:a,client:"Monitoring",version:L}),baseHeaders:{"content-type":"text/plain",...e.headers(),...s.baseHeaders},baseQueryParameters:{...e.queryParameters(),...s.baseQueryParameters}});return{transporter:i,appId:t,clearCache(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then(()=>{})},get _ua(){return i.algoliaAgent.value},addAlgoliaAgent(e,r){i.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){n&&"WithinHeaders"!==n?i.baseQueryParameters["x-algolia-api-key"]=e:i.baseHeaders["x-algolia-api-key"]=e},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return i.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return i.request(e,a)},getClusterIncidents({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getClusterIncidents`.");e={method:"GET",path:"/1/incidents/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getClusterStatus({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getClusterStatus`.");e={method:"GET",path:"/1/status/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getIncidents(e){return i.request({method:"GET",path:"/1/incidents",queryParameters:{},headers:{}},e)},getIndexingTime({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getIndexingTime`.");e={method:"GET",path:"/1/indexing/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getLatency({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getLatency`.");e={method:"GET",path:"/1/latency/{clusters}".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getMetrics({metric:e,period:r},t){if(!e)throw new Error("Parameter `metric` is required when calling `getMetrics`.");if(!r)throw new Error("Parameter `period` is required when calling `getMetrics`.");e={method:"GET",path:"/1/infrastructure/{metric}/period/{period}".replace("{metric}",encodeURIComponent(e)).replace("{period}",encodeURIComponent(r)),queryParameters:{},headers:{}};return i.request(e,t)},getReachability({clusters:e},r){if(!e)throw new Error("Parameter `clusters` is required when calling `getReachability`.");e={method:"GET",path:"/1/reachability/{clusters}/probes".replace("{clusters}",encodeURIComponent(e)),queryParameters:{},headers:{}};return i.request(e,r)},getServers(e){return i.request({method:"GET",path:"/1/inventory/servers",queryParameters:{},headers:{}},e)},getStatus(e){return i.request({method:"GET",path:"/1/status",queryParameters:{},headers:{}},e)}}}throw new Error("`apiKey` is missing.")}var M="5.15.0";function V({appId:e,apiKey:r,authMode:t,algoliaAgents:a,...i}){let n=w(e,r,t),s=f({hosts:[{url:e+"-dsn.algolia.net",accept:"read",protocol:"https"},{url:e+".algolia.net",accept:"write",protocol:"https"}].concat(y([{url:e+"-1.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-2.algolianet.com",accept:"readWrite",protocol:"https"},{url:e+"-3.algolianet.com",accept:"readWrite",protocol:"https"}])),...i,algoliaAgent:P({algoliaAgents:a,client:"Recommend",version:M}),baseHeaders:{"content-type":"text/plain",...n.headers(),...i.baseHeaders},baseQueryParameters:{...n.queryParameters(),...i.baseQueryParameters}});return{transporter:s,appId:e,clearCache(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then(()=>{})},get _ua(){return s.algoliaAgent.value},addAlgoliaAgent(e,r){s.algoliaAgent.add({segment:e,version:r})},setClientApiKey({apiKey:e}){t&&"WithinHeaders"!==t?s.baseQueryParameters["x-algolia-api-key"]=e:s.baseHeaders["x-algolia-api-key"]=e},batchRecommendRules({indexName:e,model:r,recommendRule:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");if(!r)throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");e={method:"POST",path:"/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{}};return s.request(e,a)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");e={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");e={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return s.request(e,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");e={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");e={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return s.request(e,a)},deleteRecommendRule({indexName:e,model:r,objectID:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");if(!r)throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");if(!t)throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");e={method:"DELETE",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)).replace("{objectID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return s.request(e,a)},getRecommendRule({indexName:e,model:r,objectID:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");if(!r)throw new Error("Parameter `model` is required when calling `getRecommendRule`.");if(!t)throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");e={method:"GET",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)).replace("{objectID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return s.request(e,a)},getRecommendStatus({indexName:e,model:r,taskID:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");if(!r)throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");if(!t)throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");e={method:"GET",path:"/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)).replace("{taskID}",encodeURIComponent(t)),queryParameters:{},headers:{}};return s.request(e,a)},getRecommendations(e,r){if(!(e=e&&Array.isArray(e)?{requests:e}:e))throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");e={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return s.request(e,r)},searchRecommendRules({indexName:e,model:r,searchRecommendRulesParams:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");if(!r)throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");e={method:"POST",path:"/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{},useReadTransporter:!0,cacheable:!0};return s.request(e,a)}}}function J(e,r,t){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(r&&"string"==typeof r)return V({appId:e,apiKey:r,timeouts:{connect:m,read:p,write:g},logger:q(),requester:d(),algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:c(),requestsCache:c({serializable:!1}),hostsCache:h({caches:[u({key:M+"-"+e}),c()]}),...t});throw new Error("`apiKey` is missing.")}e.abtestingClient=i,e.algoliasearch=function(r,t,e){if(!r||"string"!=typeof r)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");let a=j(r,t,e);return{...a,get _ua(){return a.transporter.algoliaAgent.value},initAbtesting:e=>i(e.appId||r,e.apiKey||t,e.region,e.options),initAnalytics:e=>n(e.appId||r,e.apiKey||t,e.region,e.options),initIngestion:e=>F(e.appId||r,e.apiKey||t,e.region,e.options),initInsights:e=>b(e.appId||r,e.apiKey||t,e.region,e.options),initMonitoring:(e={})=>z(e.appId||r,e.apiKey||t,e.options),initPersonalization:e=>C(e.appId||r,e.apiKey||t,e.region,e.options),initQuerySuggestions:e=>U(e.appId||r,e.apiKey||t,e.region,e.options),initRecommend:(e={})=>J(e.appId||r,e.apiKey||t,e.options)}},e.analyticsClient=n,e.apiClientVersion=O,e.ingestionClient=F,e.insightsClient=b,e.isOnDemandTrigger=function(e){return"onDemand"===e.type},e.isScheduleTrigger=function(e){return"schedule"===e.type},e.isSubscriptionTrigger=function(e){return"subscription"===e.type},e.monitoringClient=z,e.personalizationClient=C,e.querySuggestionsClient=U,e.recommendClient=J,e.searchClient=j});
\ No newline at end of file
diff --git a/resources/algoliasearch/5.12.0/note b/resources/algoliasearch/5.15.0/note
similarity index 100%
rename from resources/algoliasearch/5.12.0/note
rename to resources/algoliasearch/5.15.0/note