@aidc-toolkit/gs1 1.0.42-beta → 1.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/dist/index.cjs +19 -0
  2. package/dist/index.d.cts +2205 -0
  3. package/dist/index.d.ts +2205 -63
  4. package/dist/index.js +3 -36
  5. package/package.json +4 -4
  6. package/src/gcp-length.ts +55 -18
  7. package/test/gcp-length.test.ts +12 -7
  8. package/tsconfig-src.tsbuildinfo +1 -1
  9. package/dist/abstract-identifier-creator.d.ts +0 -41
  10. package/dist/abstract-identifier-creator.d.ts.map +0 -1
  11. package/dist/abstract-identifier-creator.js +0 -73
  12. package/dist/abstract-identifier-creator.js.map +0 -1
  13. package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts +0 -36
  14. package/dist/abstract-non-gtin-numeric-identifier-creator.d.ts.map +0 -1
  15. package/dist/abstract-non-gtin-numeric-identifier-creator.js +0 -37
  16. package/dist/abstract-non-gtin-numeric-identifier-creator.js.map +0 -1
  17. package/dist/abstract-numeric-identifier-creator.d.ts +0 -34
  18. package/dist/abstract-numeric-identifier-creator.d.ts.map +0 -1
  19. package/dist/abstract-numeric-identifier-creator.js +0 -154
  20. package/dist/abstract-numeric-identifier-creator.js.map +0 -1
  21. package/dist/character-set.d.ts +0 -27
  22. package/dist/character-set.d.ts.map +0 -1
  23. package/dist/character-set.js +0 -83
  24. package/dist/character-set.js.map +0 -1
  25. package/dist/check.d.ts +0 -81
  26. package/dist/check.d.ts.map +0 -1
  27. package/dist/check.js +0 -218
  28. package/dist/check.js.map +0 -1
  29. package/dist/content-character-set-creators.d.ts +0 -4
  30. package/dist/content-character-set-creators.d.ts.map +0 -1
  31. package/dist/content-character-set-creators.js +0 -9
  32. package/dist/content-character-set-creators.js.map +0 -1
  33. package/dist/content-character-set.d.ts +0 -26
  34. package/dist/content-character-set.d.ts.map +0 -1
  35. package/dist/content-character-set.js +0 -18
  36. package/dist/content-character-set.js.map +0 -1
  37. package/dist/gcp-length-cache.d.ts +0 -86
  38. package/dist/gcp-length-cache.d.ts.map +0 -1
  39. package/dist/gcp-length-cache.js +0 -237
  40. package/dist/gcp-length-cache.js.map +0 -1
  41. package/dist/gcp-length-data.d.ts +0 -108
  42. package/dist/gcp-length-data.d.ts.map +0 -1
  43. package/dist/gcp-length-data.js +0 -53
  44. package/dist/gcp-length-data.js.map +0 -1
  45. package/dist/gcp-length-tree.d.ts +0 -33
  46. package/dist/gcp-length-tree.d.ts.map +0 -1
  47. package/dist/gcp-length-tree.js +0 -13
  48. package/dist/gcp-length-tree.js.map +0 -1
  49. package/dist/gcp-length.d.ts +0 -75
  50. package/dist/gcp-length.d.ts.map +0 -1
  51. package/dist/gcp-length.js +0 -357
  52. package/dist/gcp-length.js.map +0 -1
  53. package/dist/gtin-creator.d.ts +0 -47
  54. package/dist/gtin-creator.d.ts.map +0 -1
  55. package/dist/gtin-creator.js +0 -64
  56. package/dist/gtin-creator.js.map +0 -1
  57. package/dist/gtin-descriptor.d.ts +0 -22
  58. package/dist/gtin-descriptor.d.ts.map +0 -1
  59. package/dist/gtin-descriptor.js +0 -2
  60. package/dist/gtin-descriptor.js.map +0 -1
  61. package/dist/gtin-length.d.ts +0 -64
  62. package/dist/gtin-length.d.ts.map +0 -1
  63. package/dist/gtin-length.js +0 -36
  64. package/dist/gtin-length.js.map +0 -1
  65. package/dist/gtin-type.d.ts +0 -26
  66. package/dist/gtin-type.d.ts.map +0 -1
  67. package/dist/gtin-type.js +0 -7
  68. package/dist/gtin-type.js.map +0 -1
  69. package/dist/gtin-validator.d.ts +0 -132
  70. package/dist/gtin-validator.d.ts.map +0 -1
  71. package/dist/gtin-validator.js +0 -349
  72. package/dist/gtin-validator.js.map +0 -1
  73. package/dist/identifier-creator.d.ts +0 -31
  74. package/dist/identifier-creator.d.ts.map +0 -1
  75. package/dist/identifier-creator.js +0 -2
  76. package/dist/identifier-creator.js.map +0 -1
  77. package/dist/identifier-creators.d.ts +0 -118
  78. package/dist/identifier-creators.d.ts.map +0 -1
  79. package/dist/identifier-creators.js +0 -92
  80. package/dist/identifier-creators.js.map +0 -1
  81. package/dist/identifier-descriptor.d.ts +0 -27
  82. package/dist/identifier-descriptor.d.ts.map +0 -1
  83. package/dist/identifier-descriptor.js +0 -2
  84. package/dist/identifier-descriptor.js.map +0 -1
  85. package/dist/identifier-descriptors.d.ts +0 -106
  86. package/dist/identifier-descriptors.d.ts.map +0 -1
  87. package/dist/identifier-descriptors.js +0 -262
  88. package/dist/identifier-descriptors.js.map +0 -1
  89. package/dist/identifier-extension.d.ts +0 -82
  90. package/dist/identifier-extension.d.ts.map +0 -1
  91. package/dist/identifier-extension.js +0 -79
  92. package/dist/identifier-extension.js.map +0 -1
  93. package/dist/identifier-type.d.ts +0 -62
  94. package/dist/identifier-type.d.ts.map +0 -1
  95. package/dist/identifier-type.js +0 -54
  96. package/dist/identifier-type.js.map +0 -1
  97. package/dist/identifier-validator.d.ts +0 -85
  98. package/dist/identifier-validator.d.ts.map +0 -1
  99. package/dist/identifier-validator.js +0 -107
  100. package/dist/identifier-validator.js.map +0 -1
  101. package/dist/identifier-validators.d.ts +0 -131
  102. package/dist/identifier-validators.d.ts.map +0 -1
  103. package/dist/identifier-validators.js +0 -167
  104. package/dist/identifier-validators.js.map +0 -1
  105. package/dist/index.d.ts.map +0 -1
  106. package/dist/index.js.map +0 -1
  107. package/dist/leader-type.d.ts +0 -26
  108. package/dist/leader-type.d.ts.map +0 -1
  109. package/dist/leader-type.js +0 -18
  110. package/dist/leader-type.js.map +0 -1
  111. package/dist/locale/en/locale-resources.d.ts +0 -48
  112. package/dist/locale/en/locale-resources.d.ts.map +0 -1
  113. package/dist/locale/en/locale-resources.js +0 -47
  114. package/dist/locale/en/locale-resources.js.map +0 -1
  115. package/dist/locale/fr/locale-resources.d.ts +0 -48
  116. package/dist/locale/fr/locale-resources.d.ts.map +0 -1
  117. package/dist/locale/fr/locale-resources.js +0 -47
  118. package/dist/locale/fr/locale-resources.js.map +0 -1
  119. package/dist/locale/i18n.d.ts +0 -27
  120. package/dist/locale/i18n.d.ts.map +0 -1
  121. package/dist/locale/i18n.js +0 -35
  122. package/dist/locale/i18n.js.map +0 -1
  123. package/dist/non-gtin-numeric-identifier-creator.d.ts +0 -12
  124. package/dist/non-gtin-numeric-identifier-creator.d.ts.map +0 -1
  125. package/dist/non-gtin-numeric-identifier-creator.js +0 -2
  126. package/dist/non-gtin-numeric-identifier-creator.js.map +0 -1
  127. package/dist/non-gtin-numeric-identifier-descriptor.d.ts +0 -22
  128. package/dist/non-gtin-numeric-identifier-descriptor.d.ts.map +0 -1
  129. package/dist/non-gtin-numeric-identifier-descriptor.js +0 -2
  130. package/dist/non-gtin-numeric-identifier-descriptor.js.map +0 -1
  131. package/dist/non-gtin-numeric-identifier-type.d.ts +0 -26
  132. package/dist/non-gtin-numeric-identifier-type.d.ts.map +0 -1
  133. package/dist/non-gtin-numeric-identifier-type.js +0 -8
  134. package/dist/non-gtin-numeric-identifier-type.js.map +0 -1
  135. package/dist/non-gtin-numeric-identifier-validator.d.ts +0 -12
  136. package/dist/non-gtin-numeric-identifier-validator.d.ts.map +0 -1
  137. package/dist/non-gtin-numeric-identifier-validator.js +0 -10
  138. package/dist/non-gtin-numeric-identifier-validator.js.map +0 -1
  139. package/dist/non-numeric-identifier-creator.d.ts +0 -40
  140. package/dist/non-numeric-identifier-creator.d.ts.map +0 -1
  141. package/dist/non-numeric-identifier-creator.js +0 -82
  142. package/dist/non-numeric-identifier-creator.js.map +0 -1
  143. package/dist/non-numeric-identifier-descriptor.d.ts +0 -26
  144. package/dist/non-numeric-identifier-descriptor.d.ts.map +0 -1
  145. package/dist/non-numeric-identifier-descriptor.js +0 -2
  146. package/dist/non-numeric-identifier-descriptor.js.map +0 -1
  147. package/dist/non-numeric-identifier-type.d.ts +0 -26
  148. package/dist/non-numeric-identifier-type.d.ts.map +0 -1
  149. package/dist/non-numeric-identifier-type.js +0 -8
  150. package/dist/non-numeric-identifier-type.js.map +0 -1
  151. package/dist/non-numeric-identifier-validator.d.ts +0 -41
  152. package/dist/non-numeric-identifier-validator.d.ts.map +0 -1
  153. package/dist/non-numeric-identifier-validator.js +0 -69
  154. package/dist/non-numeric-identifier-validator.js.map +0 -1
  155. package/dist/non-serializable-numeric-identifier-creator.d.ts +0 -10
  156. package/dist/non-serializable-numeric-identifier-creator.d.ts.map +0 -1
  157. package/dist/non-serializable-numeric-identifier-creator.js +0 -8
  158. package/dist/non-serializable-numeric-identifier-creator.js.map +0 -1
  159. package/dist/non-serializable-numeric-identifier-descriptor.d.ts +0 -12
  160. package/dist/non-serializable-numeric-identifier-descriptor.d.ts.map +0 -1
  161. package/dist/non-serializable-numeric-identifier-descriptor.js +0 -2
  162. package/dist/non-serializable-numeric-identifier-descriptor.js.map +0 -1
  163. package/dist/non-serializable-numeric-identifier-type.d.ts +0 -26
  164. package/dist/non-serializable-numeric-identifier-type.d.ts.map +0 -1
  165. package/dist/non-serializable-numeric-identifier-type.js +0 -7
  166. package/dist/non-serializable-numeric-identifier-type.js.map +0 -1
  167. package/dist/non-serializable-numeric-identifier-validator.d.ts +0 -16
  168. package/dist/non-serializable-numeric-identifier-validator.d.ts.map +0 -1
  169. package/dist/non-serializable-numeric-identifier-validator.js +0 -17
  170. package/dist/non-serializable-numeric-identifier-validator.js.map +0 -1
  171. package/dist/numeric-identifier-creator.d.ts +0 -53
  172. package/dist/numeric-identifier-creator.d.ts.map +0 -1
  173. package/dist/numeric-identifier-creator.js +0 -2
  174. package/dist/numeric-identifier-creator.js.map +0 -1
  175. package/dist/numeric-identifier-descriptor.d.ts +0 -22
  176. package/dist/numeric-identifier-descriptor.d.ts.map +0 -1
  177. package/dist/numeric-identifier-descriptor.js +0 -2
  178. package/dist/numeric-identifier-descriptor.js.map +0 -1
  179. package/dist/numeric-identifier-type.d.ts +0 -26
  180. package/dist/numeric-identifier-type.d.ts.map +0 -1
  181. package/dist/numeric-identifier-type.js +0 -7
  182. package/dist/numeric-identifier-type.js.map +0 -1
  183. package/dist/numeric-identifier-validator.d.ts +0 -38
  184. package/dist/numeric-identifier-validator.d.ts.map +0 -1
  185. package/dist/numeric-identifier-validator.js +0 -61
  186. package/dist/numeric-identifier-validator.js.map +0 -1
  187. package/dist/prefix-manager.d.ts +0 -151
  188. package/dist/prefix-manager.d.ts.map +0 -1
  189. package/dist/prefix-manager.js +0 -297
  190. package/dist/prefix-manager.js.map +0 -1
  191. package/dist/prefix-provider.d.ts +0 -27
  192. package/dist/prefix-provider.d.ts.map +0 -1
  193. package/dist/prefix-provider.js +0 -2
  194. package/dist/prefix-provider.js.map +0 -1
  195. package/dist/prefix-type.d.ts +0 -26
  196. package/dist/prefix-type.d.ts.map +0 -1
  197. package/dist/prefix-type.js +0 -18
  198. package/dist/prefix-type.js.map +0 -1
  199. package/dist/prefix-validator.d.ts +0 -71
  200. package/dist/prefix-validator.d.ts.map +0 -1
  201. package/dist/prefix-validator.js +0 -204
  202. package/dist/prefix-validator.js.map +0 -1
  203. package/dist/serializable-numeric-identifier-creator.d.ts +0 -48
  204. package/dist/serializable-numeric-identifier-creator.d.ts.map +0 -1
  205. package/dist/serializable-numeric-identifier-creator.js +0 -93
  206. package/dist/serializable-numeric-identifier-creator.js.map +0 -1
  207. package/dist/serializable-numeric-identifier-descriptor.d.ts +0 -26
  208. package/dist/serializable-numeric-identifier-descriptor.d.ts.map +0 -1
  209. package/dist/serializable-numeric-identifier-descriptor.js +0 -2
  210. package/dist/serializable-numeric-identifier-descriptor.js.map +0 -1
  211. package/dist/serializable-numeric-identifier-type.d.ts +0 -26
  212. package/dist/serializable-numeric-identifier-type.d.ts.map +0 -1
  213. package/dist/serializable-numeric-identifier-type.js +0 -8
  214. package/dist/serializable-numeric-identifier-type.js.map +0 -1
  215. package/dist/serializable-numeric-identifier-validator.d.ts +0 -67
  216. package/dist/serializable-numeric-identifier-validator.d.ts.map +0 -1
  217. package/dist/serializable-numeric-identifier-validator.js +0 -97
  218. package/dist/serializable-numeric-identifier-validator.js.map +0 -1
  219. package/dist/variable-measure.d.ts +0 -68
  220. package/dist/variable-measure.d.ts.map +0 -1
  221. package/dist/variable-measure.js +0 -210
  222. package/dist/variable-measure.js.map +0 -1
  223. package/dist/verified-by-gs1.d.ts +0 -22
  224. package/dist/verified-by-gs1.d.ts.map +0 -1
  225. package/dist/verified-by-gs1.js +0 -46
  226. package/dist/verified-by-gs1.js.map +0 -1
  227. package/src/gcp-length-tree.ts +0 -39
package/dist/index.cjs ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";var Ze=Object.defineProperty;var Cr=Object.getOwnPropertyDescriptor;var Sr=Object.getOwnPropertyNames;var Gr=Object.prototype.hasOwnProperty;var Pr=(n,e)=>{for(var t in e)Ze(n,t,{get:e[t],enumerable:!0})},br=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Sr(e))!Gr.call(n,i)&&i!==t&&Ze(n,i,{get:()=>e[i],enumerable:!(r=Cr(e,i))||r.enumerable});return n};var Rr=n=>br(Ze({},"__esModule",{value:!0}),n);var Wi={};Pr(Wi,{AI39_CREATOR:()=>_e,AI39_VALIDATOR:()=>Ur,AI64_VALIDATOR:()=>Hr,AI82_CREATOR:()=>pe,AI82_VALIDATOR:()=>Br,ContentCharacterSets:()=>x,GCPLength:()=>vt,GCPLengthCache:()=>Xe,GTINBaseLengths:()=>q,GTINCreator:()=>Le,GTINLengths:()=>N,GTINLevels:()=>L,GTINTypes:()=>Ge,GTINValidator:()=>E,GTIN_BASE_TYPES:()=>xt,IdentifierCreatorConstructors:()=>Ye,IdentifierDescriptors:()=>j,IdentifierTypes:()=>l,IdentifierValidator:()=>ie,IdentifierValidatorConstructors:()=>Oi,IdentifierValidators:()=>be,LeaderTypes:()=>C,NonGTINNumericIdentifierTypes:()=>$,NonGTINNumericIdentifierValidator:()=>oe,NonNumericIdentifierCreator:()=>Q,NonNumericIdentifierTypes:()=>Nt,NonNumericIdentifierValidator:()=>A,NonSerializableNumericIdentifierCreator:()=>Z,NonSerializableNumericIdentifierTypes:()=>Pe,NonSerializableNumericIdentifierValidator:()=>D,NumericIdentifierTypes:()=>U,NumericIdentifierValidator:()=>ne,PrefixManager:()=>Lt,PrefixTypes:()=>T,PrefixValidator:()=>Y,RemoteGCPLengthCache:()=>Dt,SerializableNumericIdentifierCreator:()=>ae,SerializableNumericIdentifierTypes:()=>yt,SerializableNumericIdentifierValidator:()=>w,VariableMeasure:()=>Rt,checkCharacterPair:()=>Me,checkDigit:()=>W,checkDigitSum:()=>Se,gs1NS:()=>Qt,gs1ResourceBundle:()=>er,hasValidCheckCharacterPair:()=>ut,hasValidCheckDigit:()=>re,i18nGS1Init:()=>Kr,i18nextGS1:()=>h,isGCPLengthAppData:()=>Et,isGCPLengthData:()=>Je,isGCPLengthHeader:()=>De,isGCPLengthSourceJSON:()=>Hi,isGTINCreator:()=>Fi,isGTINDescriptor:()=>mi,isGTINDescriptors:()=>Ct,isGTINValidator:()=>wi,isGTINValidators:()=>Vi,isNonGTINNumericIdentifierCreator:()=>Mi,isNonGTINNumericIdentifierDescriptor:()=>gi,isNonGTINNumericIdentifierValidator:()=>ki,isNonNumericIdentifierCreator:()=>Ui,isNonNumericIdentifierDescriptor:()=>yi,isNonNumericIdentifierValidator:()=>_i,isNonSerializableNumericIdentifierCreator:()=>Ki,isNonSerializableNumericIdentifierDescriptor:()=>Ii,isNonSerializableNumericIdentifierValidator:()=>$i,isNumericIdentifierCreator:()=>bt,isNumericIdentifierDescriptor:()=>hi,isNumericIdentifierValidator:()=>Pt,isSerializableNumericIdentifierCreator:()=>Bi,isSerializableNumericIdentifierDescriptor:()=>Ti,isSerializableNumericIdentifierValidator:()=>ji,isValidPriceOrWeightCheckDigit:()=>lt,priceOrWeightCheckDigit:()=>Fe,verifiedByGS1:()=>zi});module.exports=Rr(Wi);var je=require("@aidc-toolkit/core"),Zt=require("@aidc-toolkit/utility");var I=n=>typeof n=="string",Ne=()=>{let n,e,t=new Promise((r,i)=>{n=r,e=i});return t.resolve=n,t.reject=e,t},$t=n=>n==null?"":""+n,Lr=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},Er=/###/g,jt=n=>n&&n.indexOf("###")>-1?n.replace(Er,"."):n,_t=n=>!n||I(n),xe=(n,e,t)=>{let r=I(e)?e.split("."):e,i=0;for(;i<r.length-1;){if(_t(n))return{};let o=jt(r[i]);!n[o]&&t&&(n[o]=new t),Object.prototype.hasOwnProperty.call(n,o)?n=n[o]:n={},++i}return _t(n)?{}:{obj:n,k:jt(r[i])}},zt=(n,e,t)=>{let{obj:r,k:i}=xe(n,e,Object);if(r!==void 0||e.length===1){r[i]=t;return}let o=e[e.length-1],a=e.slice(0,e.length-1),s=xe(n,a,Object);for(;s.obj===void 0&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=xe(n,a,Object),s?.obj&&typeof s.obj[`${s.k}.${o}`]<"u"&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=t},Dr=(n,e,t,r)=>{let{obj:i,k:o}=xe(n,e,Object);i[o]=i[o]||[],i[o].push(t)},Oe=(n,e)=>{let{obj:t,k:r}=xe(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},Ar=(n,e,t)=>{let r=Oe(n,t);return r!==void 0?r:Oe(e,t)},Wt=(n,e,t)=>{for(let r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?I(n[r])||n[r]instanceof String||I(e[r])||e[r]instanceof String?t&&(n[r]=e[r]):Wt(n[r],e[r],t):n[r]=e[r]);return n},de=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),vr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},Or=n=>I(n)?n.replace(/[&<>"'\/]/g,e=>vr[e]):n,rt=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}},Vr=[" ",",","?","!",";"],wr=new rt(20),kr=(n,e,t)=>{e=e||"",t=t||"";let r=Vr.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(r.length===0)return!0;let i=wr.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`),o=!i.test(n);if(!o){let a=n.indexOf(t);a>0&&!i.test(n.substring(0,a))&&(o=!0)}return o},it=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;let r=e.split(t),i=n;for(let o=0;o<r.length;){if(!i||typeof i!="object")return;let a,s="";for(let f=o;f<r.length;++f)if(f!==o&&(s+=t),s+=r[f],a=i[s],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&f<r.length-1)continue;o+=f-o+1;break}i=a}return i},Ce=n=>n?.replace("_","-"),$r={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console?.[n]?.apply?.(console,e)}},nt=class n{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||$r,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,i){return i&&!this.debug?null:(I(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new n(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new n(this.logger,e)}},M=new nt,ce=class{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);let i=this.observers[r].get(t)||0;this.observers[r].set(t,i+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([i,o])=>{for(let a=0;a<o;a++)i(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,o])=>{for(let a=0;a<o;a++)i.apply(i,[e,...t])})}},Ve=class extends ce{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,i={}){let o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure,s;e.indexOf(".")>-1?s=e.split("."):(s=[e,t],r&&(Array.isArray(r)?s.push(...r):I(r)&&o?s.push(...r.split(o)):s.push(r)));let f=Oe(this.data,s);return!f&&!t&&!r&&e.indexOf(".")>-1&&(e=s[0],t=s[1],r=s.slice(2).join(".")),f||!a||!I(r)?f:it(this.data?.[e]?.[t],r,o)}addResource(e,t,r,i,o={silent:!1}){let a=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,s=[e,t];r&&(s=s.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(s=e.split("."),i=t,t=s[1]),this.addNamespaces(t),zt(this.data,s,i),o.silent||this.emit("added",e,t,r,i)}addResources(e,t,r,i={silent:!1}){for(let o in r)(I(r[o])||Array.isArray(r[o]))&&this.addResource(e,t,o,r[o],{silent:!0});i.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,i,o,a={silent:!1,skipCopy:!1}){let s=[e,t];e.indexOf(".")>-1&&(s=e.split("."),i=r,r=t,t=s[1]),this.addNamespaces(t);let f=Oe(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?Wt(f,r,o):f={...f,...r},zt(this.data,s,f),a.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(i=>t[i]&&Object.keys(t[i]).length>0)}toJSON(){return this.data}},Yt={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,r,i){return n.forEach(o=>{e=this.processors[o]?.process(e,t,r,i)??e}),e}},Jt=Symbol("i18next/PATH_KEY");function jr(){let n=[],e=Object.create(null),t;return e.get=(r,i)=>(t?.revoke?.(),i===Jt?n:(n.push(i),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function ot(n,e){let{[Jt]:t}=n(jr());return t.join(e?.keySeparator??".")}var Ft={},Qe=n=>!I(n)&&typeof n!="boolean"&&typeof n!="number",we=class n extends ce{constructor(e,t={}){super(),Lr(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=M.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(e==null)return!1;let i=this.resolve(e,r);if(i?.res===void 0)return!1;let o=Qe(i.res);return!(r.returnObjects===!1&&o)}extractFromKey(e,t){let r=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");let i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS||[],a=r&&e.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!kr(e,r,i);if(a&&!s){let f=e.match(this.interpolator.nestingRegexp);if(f&&f.length>0)return{key:e,namespaces:I(o)?[o]:o};let d=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(d[0])>-1)&&(o=d.shift()),e=d.join(i)}return{key:e,namespaces:I(o)?[o]:o}}translate(e,t,r){let i=typeof t=="object"?{...t}:t;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=ot(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]);let o=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:s,namespaces:f}=this.extractFromKey(e[e.length-1],i),d=f[f.length-1],p=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;p===void 0&&(p=":");let c=i.lng||this.language,m=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return m?o?{res:`${d}${p}${s}`,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:`${d}${p}${s}`:o?{res:s,usedKey:s,exactUsedKey:s,usedLng:c,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:s;let u=this.resolve(e,i),g=u?.res,S=u?.usedKey||s,b=u?.exactUsedKey||s,v=["[object Number]","[object Function]","[object RegExp]"],G=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,O=!this.i18nFormat||this.i18nFormat.handleAsObject,y=i.count!==void 0&&!I(i.count),P=n.hasDefaultValue(i),se=y?this.pluralResolver.getSuffix(c,i.count,i):"",fe=i.ordinal&&y?this.pluralResolver.getSuffix(c,i.count,{ordinal:!1}):"",Ot=y&&!i.ordinal&&i.count===0,X=Ot&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${se}`]||i[`defaultValue${fe}`]||i.defaultValue,_=g;O&&!g&&P&&(_=X);let Nr=Qe(_),xr=Object.prototype.toString.apply(_);if(O&&_&&Nr&&v.indexOf(xr)<0&&!(I(G)&&Array.isArray(_))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let z=this.options.returnedObjectHandler?this.options.returnedObjectHandler(S,_,{...i,ns:f}):`key '${s} (${this.language})' returned an object instead of string.`;return o?(u.res=z,u.usedParams=this.getUsedParamsDetails(i),u):z}if(a){let z=Array.isArray(_),k=z?[]:{},Vt=z?b:S;for(let F in _)if(Object.prototype.hasOwnProperty.call(_,F)){let H=`${Vt}${a}${F}`;P&&!g?k[F]=this.translate(H,{...i,defaultValue:Qe(X)?X[F]:void 0,joinArrays:!1,ns:f}):k[F]=this.translate(H,{...i,joinArrays:!1,ns:f}),k[F]===H&&(k[F]=_[F])}g=k}}else if(O&&I(G)&&Array.isArray(g))g=g.join(G),g&&(g=this.extendTranslation(g,e,i,r));else{let z=!1,k=!1;!this.isValidLookup(g)&&P&&(z=!0,g=X),this.isValidLookup(g)||(k=!0,g=s);let F=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&k?void 0:g,H=P&&X!==g&&this.options.updateMissing;if(k||z||H){if(this.logger.log(H?"updateKey":"missingKey",c,d,s,H?X:g),a){let V=this.resolve(s,{...i,keySeparator:!1});V&&V.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Te=[],Ae=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Ae&&Ae[0])for(let V=0;V<Ae.length;V++)Te.push(Ae[V]);else this.options.saveMissingTo==="all"?Te=this.languageUtils.toResolveHierarchy(i.lng||this.language):Te.push(i.lng||this.language);let wt=(V,te,ye)=>{let kt=P&&ye!==g?ye:F;this.options.missingKeyHandler?this.options.missingKeyHandler(V,d,te,kt,H,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(V,d,te,kt,H,i),this.emit("missingKey",V,d,te,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&y?Te.forEach(V=>{let te=this.pluralResolver.getSuffixes(V,i);Ot&&i[`defaultValue${this.options.pluralSeparator}zero`]&&te.indexOf(`${this.options.pluralSeparator}zero`)<0&&te.push(`${this.options.pluralSeparator}zero`),te.forEach(ye=>{wt([V],s+ye,i[`defaultValue${ye}`]||X)})}):wt(Te,s,X))}g=this.extendTranslation(g,e,i,u,r),k&&g===s&&this.options.appendNamespaceToMissingKey&&(g=`${d}${p}${s}`),(k||z)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${d}${p}${s}`:s,z?g:void 0,i))}return o?(u.res=g,u.usedParams=this.getUsedParamsDetails(i),u):g}extendTranslation(e,t,r,i,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});let f=I(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),d;if(f){let c=e.match(this.interpolator.nestingRegexp);d=c&&c.length}let p=r.replace&&!I(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),e=this.interpolator.interpolate(e,p,r.lng||this.language||i.usedLng,r),f){let c=e.match(this.interpolator.nestingRegexp),m=c&&c.length;d<m&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...c)=>o?.[0]===c[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${c[0]} in key: ${t[0]}`),null):this.translate(...c,t),r)),r.interpolation&&this.interpolator.reset()}let a=r.postProcess||this.options.postProcess,s=I(a)?[a]:a;return e!=null&&s?.length&&r.applyPostProcessor!==!1&&(e=Yt.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,i,o,a,s;return I(e)&&(e=[e]),e.forEach(f=>{if(this.isValidLookup(r))return;let d=this.extractFromKey(f,t),p=d.key;i=p;let c=d.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));let m=t.count!==void 0&&!I(t.count),u=m&&!t.ordinal&&t.count===0,g=t.context!==void 0&&(I(t.context)||typeof t.context=="number")&&t.context!=="",S=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);c.forEach(b=>{this.isValidLookup(r)||(s=b,!Ft[`${S[0]}-${b}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(s)&&(Ft[`${S[0]}-${b}`]=!0,this.logger.warn(`key "${i}" for languages "${S.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),S.forEach(v=>{if(this.isValidLookup(r))return;a=v;let G=[p];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(G,p,v,b,t);else{let y;m&&(y=this.pluralResolver.getSuffix(v,t.count,t));let P=`${this.options.pluralSeparator}zero`,se=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(t.ordinal&&y.indexOf(se)===0&&G.push(p+y.replace(se,this.options.pluralSeparator)),G.push(p+y),u&&G.push(p+P)),g){let fe=`${p}${this.options.contextSeparator||"_"}${t.context}`;G.push(fe),m&&(t.ordinal&&y.indexOf(se)===0&&G.push(fe+y.replace(se,this.options.pluralSeparator)),G.push(fe+y),u&&G.push(fe+P))}}let O;for(;O=G.pop();)this.isValidLookup(r)||(o=O,r=this.getResource(v,b,O,t))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:a,usedNS:s}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,r,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,i):this.resourceStore.getResource(e,t,r,i)}getUsedParamsDetails(e={}){let t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!I(e.replace),i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(let o of t)delete i[o]}return i}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&e[r]!==void 0)return!0;return!1}},ke=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=M.create("languageUtils")}getScriptPartFromCode(e){if(e=Ce(e),!e||e.indexOf("-")<0)return null;let t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=Ce(e),!e||e.indexOf("-")<0)return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(I(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(r=>{if(t)return;let i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(r=>{if(t)return;let i=this.getScriptPartFromCode(r);if(this.isSupportedCode(i))return t=i;let o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return t=o;t=this.options.supportedLngs.find(a=>{if(a===o)return a;if(!(a.indexOf("-")<0&&o.indexOf("-")<0)&&(a.indexOf("-")>0&&o.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===o||a.indexOf(o)===0&&o.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),I(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),i=[],o=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return I(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(e))):I(e)&&o(this.formatLanguageCode(e)),r.forEach(a=>{i.indexOf(a)<0&&o(this.formatLanguageCode(a))}),i}},Mt={zero:0,one:1,two:2,few:3,many:4,other:5},Kt={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},at=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=M.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r=Ce(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Kt;if(!e.match(/-|_/))return Kt;let f=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(f,t)}return this.pluralRulesCache[o]=a,a}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(i=>`${t}${i}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((i,o)=>Mt[i]-Mt[o]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,t,r={}){let i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}},Bt=(n,e,t,r=".",i=!0)=>{let o=Ar(n,e,t);return!o&&i&&I(t)&&(o=it(n,t,r),o===void 0&&(o=it(e,t,r))),o},et=n=>n.replace(/\$/g,"$$$$"),$e=class{constructor(e={}){this.logger=M.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:i,prefix:o,prefixEscaped:a,suffix:s,suffixEscaped:f,formatSeparator:d,unescapeSuffix:p,unescapePrefix:c,nestingPrefix:m,nestingPrefixEscaped:u,nestingSuffix:g,nestingSuffixEscaped:S,nestingOptionsSeparator:b,maxReplaces:v,alwaysFormat:G}=e.interpolation;this.escape=t!==void 0?t:Or,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=o?de(o):a||"{{",this.suffix=s?de(s):f||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?de(m):u||de("$t("),this.nestingSuffix=g?de(g):S||de(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=v||1e3,this.alwaysFormat=G!==void 0?G:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(t,r)=>t?.source===r?(t.lastIndex=0,t):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,i){let o,a,s,f=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=u=>{if(u.indexOf(this.formatSeparator)<0){let v=Bt(t,f,u,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(v,void 0,r,{...i,...t,interpolationkey:u}):v}let g=u.split(this.formatSeparator),S=g.shift().trim(),b=g.join(this.formatSeparator).trim();return this.format(Bt(t,f,S,this.options.keySeparator,this.options.ignoreJSONStructure),b,r,{...i,...t,interpolationkey:S})};this.resetRegExp();let p=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:u=>et(u)},{regex:this.regexp,safeValue:u=>this.escapeValue?et(this.escape(u)):et(u)}].forEach(u=>{for(s=0;o=u.regex.exec(e);){let g=o[1].trim();if(a=d(g),a===void 0)if(typeof p=="function"){let b=p(e,o,i);a=I(b)?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,g))a="";else if(c){a=o[0];continue}else this.logger.warn(`missed to pass in variable ${g} for interpolating ${e}`),a="";else!I(a)&&!this.useRawValueToEscape&&(a=$t(a));let S=u.safeValue(a);if(e=e.replace(o[0],S),c?(u.regex.lastIndex+=a.length,u.regex.lastIndex-=o[0].length):u.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),e}nest(e,t,r={}){let i,o,a,s=(f,d)=>{let p=this.nestingOptionsSeparator;if(f.indexOf(p)<0)return f;let c=f.split(new RegExp(`${p}[ ]*{`)),m=`{${c[1]}`;f=c[0],m=this.interpolate(m,a);let u=m.match(/'/g),g=m.match(/"/g);((u?.length??0)%2===0&&!g||g.length%2!==0)&&(m=m.replace(/'/g,'"'));try{a=JSON.parse(m),d&&(a={...d,...a})}catch(S){return this.logger.warn(`failed parsing options string in nesting for key ${f}`,S),`${f}${p}${m}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,f};for(;i=this.nestingRegexp.exec(e);){let f=[];a={...r},a=a.replace&&!I(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let d=/{.*}/.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(d!==-1&&(f=i[1].slice(d).split(this.formatSeparator).map(p=>p.trim()).filter(Boolean),i[1]=i[1].slice(0,d)),o=t(s.call(this,i[1].trim(),a),a),o&&i[0]===e&&!I(o))return o;I(o)||(o=$t(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),o=""),f.length&&(o=f.reduce((p,c)=>this.format(p,c,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),e=e.replace(i[0],o),this.regexp.lastIndex=0}return e}},_r=n=>{let e=n.toLowerCase().trim(),t={};if(n.indexOf("(")>-1){let r=n.split("(");e=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?t.currency||(t.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?t.range||(t.range=i.trim()):i.split(";").forEach(a=>{if(a){let[s,...f]=a.split(":"),d=f.join(":").trim().replace(/^'+|'+$/g,""),p=s.trim();t[p]||(t[p]=d),d==="false"&&(t[p]=!1),d==="true"&&(t[p]=!0),isNaN(d)||(t[p]=parseInt(d,10))}})}return{formatName:e,formatOptions:t}},Ut=n=>{let e={};return(t,r,i)=>{let o=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(o={...o,[i.interpolationkey]:void 0});let a=r+JSON.stringify(o),s=e[a];return s||(s=n(Ce(r),i),e[a]=s),s(t)}},zr=n=>(e,t,r)=>n(Ce(t),r)(e),st=class{constructor(e={}){this.logger=M.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?Ut:zr;this.formats={number:r((i,o)=>{let a=new Intl.NumberFormat(i,{...o});return s=>a.format(s)}),currency:r((i,o)=>{let a=new Intl.NumberFormat(i,{...o,style:"currency"});return s=>a.format(s)}),datetime:r((i,o)=>{let a=new Intl.DateTimeFormat(i,{...o});return s=>a.format(s)}),relativetime:r((i,o)=>{let a=new Intl.RelativeTimeFormat(i,{...o});return s=>a.format(s,o.range||"day")}),list:r((i,o)=>{let a=new Intl.ListFormat(i,{...o});return s=>a.format(s)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Ut(t)}format(e,t,r,i={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(s=>s.indexOf(")")>-1)){let s=o.findIndex(f=>f.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,s)].join(this.formatSeparator)}return o.reduce((s,f)=>{let{formatName:d,formatOptions:p}=_r(f);if(this.formats[d]){let c=s;try{let m=i?.formatParams?.[i.interpolationkey]||{},u=m.locale||m.lng||i.locale||i.lng||r;c=this.formats[d](s,u,{...p,...i,...m})}catch(m){this.logger.warn(m)}return c}else this.logger.warn(`there was no format function for ${d}`);return s},e)}},Fr=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)},ft=class extends ce{constructor(e,t,r,i={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=M.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(e,t,r,i){let o={},a={},s={},f={};return e.forEach(d=>{let p=!0;t.forEach(c=>{let m=`${d}|${c}`;!r.reload&&this.store.hasResourceBundle(d,c)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?a[m]===void 0&&(a[m]=!0):(this.state[m]=1,p=!1,a[m]===void 0&&(a[m]=!0),o[m]===void 0&&(o[m]=!0),f[c]===void 0&&(f[c]=!0)))}),p||(s[d]=!0)}),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(f)}}loaded(e,t,r){let i=e.split("|"),o=i[0],a=i[1];t&&this.emit("failedLoading",o,a,t),!t&&r&&this.store.addResourceBundle(o,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let s={};this.queue.forEach(f=>{Dr(f.loaded,[o],a),Fr(f,e),t&&f.errors.push(t),f.pendingCount===0&&!f.done&&(Object.keys(f.loaded).forEach(d=>{s[d]||(s[d]={});let p=f.loaded[d];p.length&&p.forEach(c=>{s[d][c]===void 0&&(s[d][c]=!0)})}),f.done=!0,f.errors.length?f.callback(f.errors):f.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(f=>!f.done)}read(e,t,r,i=0,o=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:r,tried:i,wait:o,callback:a});return}this.readingCalls++;let s=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){let c=this.waitingReads.shift();this.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}if(d&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,r,i+1,o*2,a)},o);return}a(d,p)},f=this.backend[r].bind(this.backend);if(f.length===2){try{let d=f(e,t);d&&typeof d.then=="function"?d.then(p=>s(null,p)).catch(s):s(null,d)}catch(d){s(d)}return}return f(e,t,s)}prepareLoading(e,t,r={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();I(e)&&(e=this.languageUtils.toResolveHierarchy(e)),I(t)&&(t=[t]);let o=this.queueLoad(e,t,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,a),!a&&s&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,s),this.loaded(e,a,s)})}saveMissing(e,t,r,i,o,a={},s=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){let f={...a,isUpdate:o},d=this.backend.create.bind(this.backend);if(d.length<6)try{let p;d.length===5?p=d(e,t,r,i,f):p=d(e,t,r,i),p&&typeof p.then=="function"?p.then(c=>s(null,c)).catch(s):s(null,p)}catch(p){s(p)}else d(e,t,r,i,s,f)}!e||!e[0]||this.store.addResource(e[0],t,r,i)}}},tt=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),I(n[1])&&(e.defaultValue=n[1]),I(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){let t=n[3]||n[2];Object.keys(t).forEach(r=>{e[r]=t[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Ht=n=>(I(n.ns)&&(n.ns=[n.ns]),I(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),I(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs?.indexOf?.("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n),ve=()=>{},Mr=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})},dt=class n extends ce{constructor(e={},t){if(super(),this.options=Ht(e),this.services={},this.logger=M,this.modules={external:[]},Mr(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(I(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));let r=tt();this.options={...r,...this.options,...Ht(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=r.overloadTranslationOptionHandler),this.options.debug===!0&&typeof console<"u"&&console.warn("i18next is maintained with support from locize.com \u2014 consider powering your project with managed localization (AI, CDN, integrations): https://locize.com");let i=d=>d?typeof d=="function"?new d:d:null;if(!this.options.isClone){this.modules.logger?M.init(i(this.modules.logger),this.options):M.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:d=st;let p=new ke(this.options);this.store=new Ve(this.options.resources,this.options);let c=this.services;c.logger=M,c.resourceStore=this.store,c.languageUtils=p,c.pluralResolver=new at(p,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),d&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(c.formatter=i(d),c.formatter.init&&c.formatter.init(c,this.options),this.options.interpolation.format=c.formatter.format.bind(c.formatter)),c.interpolator=new $e(this.options),c.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},c.backendConnector=new ft(i(this.modules.backend),c.resourceStore,c,this.options),c.backendConnector.on("*",(u,...g)=>{this.emit(u,...g)}),this.modules.languageDetector&&(c.languageDetector=i(this.modules.languageDetector),c.languageDetector.init&&c.languageDetector.init(c,this.options.detection,this.options)),this.modules.i18nFormat&&(c.i18nFormat=i(this.modules.i18nFormat),c.i18nFormat.init&&c.i18nFormat.init(this)),this.translator=new we(this.services,this.options),this.translator.on("*",(u,...g)=>{this.emit(u,...g)}),this.modules.external.forEach(u=>{u.init&&u.init(this)})}if(this.format=this.options.interpolation.format,t||(t=ve),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=(...p)=>this.store[d](...p)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=(...p)=>(this.store[d](...p),this)});let s=Ne(),f=()=>{let d=(p,c)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(c),t(p,c)};if(this.languages&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initAsync?f():setTimeout(f,0),s}loadResources(e,t=ve){let r=t,i=I(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();let o=[],a=s=>{if(!s||s==="cimode")return;this.services.languageUtils.toResolveHierarchy(s).forEach(d=>{d!=="cimode"&&o.indexOf(d)<0&&o.push(d)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(f=>a(f)),this.options.preload?.forEach?.(s=>a(s)),this.services.backendConnector.load(o,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(e,t,r){let i=Ne();return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=ve),this.services.backendConnector.reload(e,t,o=>{i.resolve(),r(o)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Yt.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){let r=this.languages[t];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=Ne();this.emit("languageChanging",e);let i=s=>{this.language=s,this.languages=this.services.languageUtils.toResolveHierarchy(s),this.resolvedLanguage=void 0,this.setResolvedLanguage(s)},o=(s,f)=>{f?this.isLanguageChangingTo===e&&(i(f),this.translator.changeLanguage(f),this.isLanguageChangingTo=void 0,this.emit("languageChanged",f),this.logger.log("languageChanged",f)):this.isLanguageChangingTo=void 0,r.resolve((...d)=>this.t(...d)),t&&t(s,(...d)=>this.t(...d))},a=s=>{!e&&!s&&this.services.languageDetector&&(s=[]);let f=I(s)?s:s&&s[0],d=this.store.hasLanguageSomeTranslations(f)?f:this.services.languageUtils.getBestMatchFromCodes(I(s)?[s]:s);d&&(this.language||i(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector?.cacheUserLanguage?.(d)),this.loadResources(d,p=>{o(p,d)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,r){let i=(o,a,...s)=>{let f;typeof a!="object"?f=this.options.overloadTranslationOptionHandler([o,a].concat(s)):f={...a},f.lng=f.lng||i.lng,f.lngs=f.lngs||i.lngs,f.ns=f.ns||i.ns,f.keyPrefix!==""&&(f.keyPrefix=f.keyPrefix||r||i.keyPrefix);let d=this.options.keySeparator||".",p;return f.keyPrefix&&Array.isArray(o)?p=o.map(c=>(typeof c=="function"&&(c=ot(c,{...this.options,...a})),`${f.keyPrefix}${d}${c}`)):(typeof o=="function"&&(o=ot(o,{...this.options,...a})),p=f.keyPrefix?`${f.keyPrefix}${d}${o}`:o),this.t(p,f)};return I(e)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=r,i}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let r=t.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;let a=(s,f)=>{let d=this.services.backendConnector.state[`${s}|${f}`];return d===-1||d===0||d===2};if(t.precheck){let s=t.precheck(this,a);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!i||a(o,e)))}loadNamespaces(e,t){let r=Ne();return this.options.ns?(I(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),t&&t(i)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=Ne();I(e)&&(e=[e]);let i=this.options.preload||[],o=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return o.length?(this.options.preload=i.concat(o),this.loadResources(a=>{r.resolve(),t&&t(a)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let i=new Intl.Locale(e);if(i&&i.getTextInfo){let o=i.getTextInfo();if(o&&o.direction)return o.direction}}catch{}let t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new ke(tt());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){let r=new n(e,t);return r.createInstance=n.createInstance,r}cloneInstance(e={},t=ve){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let i={...this.options,...e,isClone:!0},o=new n(i);if((e.debug!==void 0||e.prefix!==void 0)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(s=>{o[s]=this[s]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r){let s=Object.keys(this.store.data).reduce((f,d)=>(f[d]={...this.store.data[d]},f[d]=Object.keys(f[d]).reduce((p,c)=>(p[c]={...f[d][c]},p),f[d]),f),{});o.store=new Ve(s,i),o.services.resourceStore=o.store}if(e.interpolation){let f={...tt().interpolation,...this.options.interpolation,...e.interpolation},d={...i,interpolation:f};o.services.interpolator=new $e(d)}return o.translator=new we(o.services,i),o.translator.on("*",(s,...f)=>{o.emit(s,...f)}),o.init(i,t),o.translator.options=i,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}},R=dt.createInstance(),Ji=R.createInstance,Xi=R.dir,qi=R.init,Zi=R.loadResources,Qi=R.reloadResources,en=R.use,tn=R.changeLanguage,rn=R.getFixedT,nn=R.t,on=R.exists,an=R.setDefaultNamespace,sn=R.hasLoadedNamespace,fn=R.loadNamespaces,dn=R.loadLanguages;var Xt={AI64CharacterSetValidator:{lengthMustBeMultipleOf4:"Length {{length, number}} must be a multiple of 4"},Check:{lengthOfStringForPriceOrWeightMustBeExactly:"Length {{length, number}} of string for price or weight must be 4 or 5",priceOrWeightComponent:"price or weight",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"Length {{length, number}} of string for check character pair must be less than or equal to {{maximumLength, number}}"},Identifier:{identifierTypeLength:"{{identifierType}} must be {{length, number}} digits long",invalidCheckDigit:"Invalid check digit",invalidGTINLength:"GTIN must be 13, 12, 8, or 14 digits long",invalidGTIN14Length:"GTIN must be 14 digits long",invalidZeroSuppressedGTIN12:"Invalid zero-suppressed GTIN-12",invalidZeroSuppressibleGTIN12:"GTIN-12 not zero-suppressible",invalidZeroSuppressedGTIN12AsGTIN13:"Invalid zero-suppressed GTIN-12 as GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"Invalid zero-suppressed GTIN-12 as GTIN-14",invalidGTINAtRetail:"GTIN not supported at retail consumer trade item level",invalidGTINAtOtherThanRetail:"GTIN not supported at other than retail consumer trade item level",invalidRCNLength:"RCN length must match format length",invalidVariableMeasureRCNFormat:"Invalid variable measure RCN format",invalidVariableMeasureRCNPrefix:"Invalid variable measure RCN prefix",invalidVariableMeasurePriceOrWeight:"Invalid variable measure price or weight",indicatorDigit:"indicator digit",serialComponent:"serial component",reference:"reference",referenceCantBeAllNumeric:"Reference can't be all-numeric",invalidCheckCharacterPair:"Invalid check character pair"},Prefix:{gs1CompanyPrefix:"GS1 Company Prefix",upcCompanyPrefix:"U.P.C. Company Prefix",gs18Prefix:"GS1-8 Prefix",gs1CompanyPrefixCantStartWith0:`GS1 Company Prefix can't start with "0"`,gs1CompanyPrefixCantStartWith00000:`GS1 Company Prefix can't start with "00000"`,gs1CompanyPrefixCantStartWith000000:`GS1 Company Prefix can't start with "000000"`,upcCompanyPrefixCantStartWith0000:`U.P.C. Company Prefix can't start with "0000"`,gs18PrefixCantStartWith0:`GS1-8 Prefix can't start with "0"`,identifierTypeNotSupportedByGS18Prefix:"{{identifierType}} not supported by GS1-8 Prefix"},GCPLength:{gs1CompanyPrefixLengthDataFileNotFound:'GS1 Company Prefix length data "{{key}}" not found',gs1CompanyPrefixLengthDataNotLoaded:"GS1 Company Prefix length data not loaded"}};var qt={AI64CharacterSetValidator:{lengthMustBeMultipleOf4:"La longueur {{length, number}} doit \xEAtre un multiple de 4"},Check:{lengthOfStringForPriceOrWeightMustBeExactly:"La longueur {{length, number}} de la cha\xEEne pour le prix ou le poids doit \xEAtre 4 ou 5",priceOrWeightComponent:"prix ou poids",lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo:"La longueur {{length, number}} de la cha\xEEne pour la paire de caract\xE8res de v\xE9rification doit \xEAtre inf\xE9rieure ou \xE9gale \xE0 {{maximumLength, number}}"},Identifier:{identifierTypeLength:"{{identifierType}} doit comporter {{length, number}} chiffres",invalidCheckDigit:"Chiffre de contr\xF4le non valide",invalidGTINLength:"Le GTIN doit comporter 13, 12, 8 ou 14 chiffres",invalidGTIN14Length:"Le GTIN doit comporter 14 chiffres",invalidZeroSuppressedGTIN12:"Code GTIN-12 non valide avec z\xE9ro supprim\xE9",invalidZeroSuppressibleGTIN12:"Le GTIN-12 ne peut pas \xEAtre supprim\xE9 par z\xE9ro",invalidZeroSuppressedGTIN12AsGTIN13:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-13",invalidZeroSuppressedGTIN12AsGTIN14:"GTIN-12 non valide avec z\xE9ro supprim\xE9 en tant que GTIN-14",invalidGTINAtRetail:"Le GTIN n'est pas pris en charge au niveau des articles de consommation au d\xE9tail",invalidGTINAtOtherThanRetail:"Le GTIN n'est pas pris en charge \xE0 d'autres niveaux que ceux des articles de consommation au d\xE9tail",invalidRCNLength:"La longueur du RCN doit correspondre \xE0 la longueur du format",invalidVariableMeasureRCNFormat:"Format RCN de mesure variable non valide",invalidVariableMeasureRCNPrefix:"Pr\xE9fixe RCN de mesure variable non valide",invalidVariableMeasurePriceOrWeight:"Mesure variable invalide : prix ou poids",indicatorDigit:"chiffre indicateur",serialComponent:"composant s\xE9rie",reference:"r\xE9f\xE9rence",referenceCantBeAllNumeric:"La r\xE9f\xE9rence ne peut pas \xEAtre enti\xE8rement num\xE9rique",invalidCheckCharacterPair:"Paire de caract\xE8res de contr\xF4le non valide"},Prefix:{gs1CompanyPrefix:"Pr\xE9fixe de l'entreprise GS1",upcCompanyPrefix:"Pr\xE9fixe de l'entreprise U.P.C.",gs18Prefix:"Pr\xE9fixe GS1-8",gs1CompanyPrefixCantStartWith0:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "0"`,gs1CompanyPrefixCantStartWith00000:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "00000"`,gs1CompanyPrefixCantStartWith000000:`Le pr\xE9fixe de l'entreprise GS1 ne peut pas commencer par "000000"`,upcCompanyPrefixCantStartWith0000:`Le pr\xE9fixe de l'entreprise U.P.C. ne peut pas commencer par "0000"`,gs18PrefixCantStartWith0:'Le pr\xE9fixe GS1-8 ne peut pas commencer par "0"',identifierTypeNotSupportedByGS18Prefix:"{{identifierType}} non pris en charge par le pr\xE9fixe GS1-8"},GCPLength:{gs1CompanyPrefixLengthDataFileNotFound:"Donn\xE9es de longueur du pr\xE9fixe d'entreprise GS1 \xAB{{key}}\xBB introuvables",gs1CompanyPrefixLengthDataNotLoaded:"Les donn\xE9es relatives \xE0 la longueur du pr\xE9fixe d'entreprise GS1 n'ont pas \xE9t\xE9 charg\xE9es"}};var Qt="aidct_gs1",er={en:{aidct_gs1:Xt},fr:{aidct_gs1:qt}},h=R.createInstance();async function Kr(n,e=!1){return(0,je.i18nInit)(h,n,e,Qt,er,je.i18nCoreInit,Zt.i18nUtilityInit)}var K=require("@aidc-toolkit/utility");var pe=new K.CharacterSetCreator(["!",'"',"%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],K.Exclusions.AllNumeric),Br=pe,_e=new K.CharacterSetCreator(["#","-","/","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],K.Exclusions.AllNumeric),Ur=_e,ct=class extends K.CharacterSetValidator{constructor(){super(["-","0","1","2","3","4","5","6","7","8","9","=","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","_","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"])}validate(e,t){super.validate(e,t);let r=e.length;if(r%4!==0)throw new RangeError(h.t("AI64CharacterSetValidator.lengthMustBeMultipleOf4",{length:r}));let i=e.search(/={1,2}/u);if(i!==-1&&i<r-2)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:K.utilityNS,c:"=",position:i}))}},Hr=new ct;var B=require("@aidc-toolkit/utility");var or=[0,3,6,9,12,15,18,21,24,27],ze=[0,2,4,6,8,9,1,3,5,7],tr=[0,5,1,6,2,7,3,8,4,9],rr=[0,5,9,4,8,3,7,2,6,1],Wr=[0,9,7,5,3,1,8,6,4,2];function Se(n,e){let t=(e.length+Number(n))%2===0;return B.NUMERIC_CREATOR.characterIndexes(e).reduce((r,i,o)=>{if(i===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:B.utilityNS,c:e.charAt(o),position:o+1}));return t=!t,r+(t?or[i]:i)},0)}function W(n){return B.NUMERIC_CREATOR.character(9-(Se(!1,n)+9)%10)}function re(n){return Se(!0,n)%10===0}function ir(n,e){return B.NUMERIC_CREATOR.characterIndexes(e).reduce((t,r,i)=>{if(r===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPositionOfComponent",{ns:B.utilityNS,c:e.charAt(i),position:i+1,component:h.t("Check.priceOrWeightComponent")}));return t+n[i][r]},0)}function Fe(n){let e;switch(n.length){case 4:e=B.NUMERIC_CREATOR.character(ir([ze,ze,or,rr],n)*3%10);break;case 5:e=B.NUMERIC_CREATOR.character(Wr[9-(ir([tr,ze,rr,tr,ze],n)+9)%10]);break;default:throw new RangeError(h.t("Check.lengthOfStringForPriceOrWeightMustBeExactly",{length:n.length}))}return e}function lt(n,e){return Fe(n)===e}var pt=[107,103,101,97,89,83,79,73,71,67,61,59,53,47,43,41,37,31,29,23,19,17,13,11,7,5,3,2],nr=["2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"];function Me(n){let e=pt.length-n.length;if(e<0)throw new RangeError(h.t("Check.lengthOfStringForCheckCharacterPairMustBeLessThanOrEqualTo",{length:n.length,maximumLength:pt.length}));let t=pe.characterIndexes(n).reduce((i,o,a)=>{if(o===void 0)throw new RangeError(h.t("CharacterSetValidator.invalidCharacterAtPosition",{ns:B.utilityNS,c:n.charAt(a),position:a+1}));return i+o*pt[e+a]},0)%1021,r=t%32;return nr[(t-r)/32]+nr[r]}function ut(n){let e=n.length-2;return Me(n.substring(0,e))===n.substring(e)}var T={GS1CompanyPrefix:"GS1 Company Prefix",UPCCompanyPrefix:"U.P.C. Company Prefix",GS18Prefix:"GS1-8 Prefix"};var ht=require("@aidc-toolkit/utility");var ar=4,sr=12,mt=5,gt=11,It=2,Tt=7,Yr={minimumLength:ar,maximumLength:sr,component:()=>h.t("Prefix.gs1CompanyPrefix")},Jr={minimumLength:mt+1,maximumLength:gt+1,component:()=>h.t("Prefix.gs1CompanyPrefix")},Xr={minimumLength:It+5,maximumLength:Tt+5,component:()=>h.t("Prefix.gs1CompanyPrefix")},qr={minimumLength:mt,maximumLength:gt,component:()=>h.t("Prefix.upcCompanyPrefix")},Zr={minimumLength:It,maximumLength:Tt,component:()=>h.t("Prefix.gs18Prefix")},Y={GS1_COMPANY_PREFIX_MINIMUM_LENGTH:ar,GS1_COMPANY_PREFIX_MAXIMUM_LENGTH:sr,UPC_COMPANY_PREFIX_MINIMUM_LENGTH:mt,UPC_COMPANY_PREFIX_MAXIMUM_LENGTH:gt,GS1_8_PREFIX_MINIMUM_LENGTH:It,GS1_8_PREFIX_MAXIMUM_LENGTH:Tt,validate(n,e,t,r,i=!1,o=!1,a){let s;switch(n){case T.GS1CompanyPrefix:if(!r.startsWith("0"))s=Yr;else if(r.startsWith("00000")){if(r.startsWith("000000"))throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith000000"));if(!t)throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith00000"));s=Xr}else{if(!e)throw new RangeError(h.t(a??"Prefix.gs1CompanyPrefixCantStartWith0"));s=Jr}break;case T.UPCCompanyPrefix:if(r.startsWith("0000"))throw new RangeError(h.t("Prefix.upcCompanyPrefixCantStartWith0000"));s=qr;break;case T.GS18Prefix:if(r.startsWith("0"))throw new RangeError(h.t("Prefix.gs18PrefixCantStartWith0"));s=Zr;break}i?o||ht.NUMERIC_CREATOR.validate(r.substring(0,Math.min(s.minimumLength,r.length-1)),s):ht.NUMERIC_CREATOR.validate(r,s)},normalize(n,e){this.validate(n,!0,!0,e);let t;switch(n){case T.GS1CompanyPrefix:t=e;break;case T.UPCCompanyPrefix:t=`0${e}`;break;case T.GS18Prefix:t=`00000${e}`;break}let r,i,o,a;return t.startsWith("0")?t.startsWith("00000")?(r=T.GS18Prefix,a=t.substring(5),i=a):(r=T.UPCCompanyPrefix,o=t.substring(1),i=o):(r=T.GS1CompanyPrefix,i=t),{prefixType:r,prefix:i,gs1CompanyPrefix:t,upcCompanyPrefix:o,gs18Prefix:a}}};var x={Numeric:"Numeric",AI82:"AI82",AI39:"AI39"};var l={GTIN:"GTIN",GLN:"GLN",SSCC:"SSCC",GRAI:"GRAI",GIAI:"GIAI",GSRN:"GSRN",GDTI:"GDTI",GINC:"GINC",GSIN:"GSIN",GCN:"GCN",CPID:"CPID",GMN:"GMN"};var C={None:"None",IndicatorDigit:"Indicator digit",ExtensionDigit:"Extension digit"};var fr=require("@aidc-toolkit/core");var U=(0,fr.pick)(l,l.GTIN,l.GLN,l.SSCC,l.GRAI,l.GSRN,l.GDTI,l.GSIN,l.GCN);var dr=require("@aidc-toolkit/core");var Ge=(0,dr.pick)(U,U.GTIN);var cr=require("@aidc-toolkit/core");var $=(0,cr.exclude)(U,Ge);var pr=require("@aidc-toolkit/core");var Pe=(0,pr.pick)($,$.GLN,$.SSCC,$.GSRN,$.GSIN);var lr=require("@aidc-toolkit/core");var yt=(0,lr.exclude)($,Pe);var ur=require("@aidc-toolkit/core");var Nt=(0,ur.exclude)(l,U);var hr=require("@aidc-toolkit/core");var N={GTIN13:13,GTIN12:12,GTIN8:8,GTIN14:14},q=(0,hr.omit)(N,"GTIN14"),xt={[T.GS1CompanyPrefix]:N.GTIN13,[T.UPCCompanyPrefix]:N.GTIN12,[T.GS18Prefix]:N.GTIN8};function le(n){return n.identifierType in U}function ue(n){return n.identifierType in Ge}function he(n){return n.identifierType in $}function me(n){return n.identifierType in Pe}function ge(n){return n.identifierType in yt}function Ie(n){return n.identifierType in Nt}var Qr={identifierType:l.GTIN,prefixType:T.GS1CompanyPrefix,length:q.GTIN13,referenceCharacterSet:x.Numeric,leaderType:C.IndicatorDigit},ei={identifierType:l.GTIN,prefixType:T.UPCCompanyPrefix,length:q.GTIN12,referenceCharacterSet:x.Numeric,leaderType:C.IndicatorDigit},ti={identifierType:l.GTIN,prefixType:T.GS18Prefix,length:q.GTIN8,referenceCharacterSet:x.Numeric,leaderType:C.IndicatorDigit},ri={[q.GTIN13]:Qr,[q.GTIN12]:ei,[q.GTIN8]:ti},ii={identifierType:l.GLN,prefixType:T.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:C.None},ni={identifierType:l.SSCC,prefixType:T.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:C.ExtensionDigit},oi={identifierType:l.GRAI,prefixType:T.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:C.None,serialComponentLength:16,serialComponentCharacterSet:x.AI82},ai={identifierType:l.GIAI,prefixType:T.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!1},si={identifierType:l.GSRN,prefixType:T.GS1CompanyPrefix,length:18,referenceCharacterSet:x.Numeric,leaderType:C.None},fi={identifierType:l.GDTI,prefixType:T.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:C.None,serialComponentLength:17,serialComponentCharacterSet:x.AI82},di={identifierType:l.GINC,prefixType:T.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!1},ci={identifierType:l.GSIN,prefixType:T.GS1CompanyPrefix,length:17,referenceCharacterSet:x.Numeric,leaderType:C.None},pi={identifierType:l.GCN,prefixType:T.GS1CompanyPrefix,length:13,referenceCharacterSet:x.Numeric,leaderType:C.None,serialComponentLength:12,serialComponentCharacterSet:x.Numeric},li={identifierType:l.CPID,prefixType:T.GS1CompanyPrefix,length:30,referenceCharacterSet:x.AI39,requiresCheckCharacterPair:!1},ui={identifierType:l.GMN,prefixType:T.GS1CompanyPrefix,length:25,referenceCharacterSet:x.AI82,requiresCheckCharacterPair:!0},j={[l.GTIN]:ri,[l.GLN]:ii,[l.SSCC]:ni,[l.GRAI]:oi,[l.GIAI]:ai,[l.GSRN]:si,[l.GDTI]:fi,[l.GINC]:di,[l.GSIN]:ci,[l.GCN]:pi,[l.CPID]:li,[l.GMN]:ui};function Ct(n){return!("identifierType"in n)}function hi(n){return le(n)}function mi(n){return ue(n)}function gi(n){return he(n)}function Ii(n){return me(n)}function Ti(n){return ge(n)}function yi(n){return Ie(n)}var mr=require("@aidc-toolkit/utility");var Ke={[x.Numeric]:mr.NUMERIC_CREATOR,[x.AI82]:pe,[x.AI39]:_e};var ie=class{#t;#e;#r;#i;constructor(e){this.#t=e.identifierType,this.#e=e.length,this.#r=e.referenceCharacterSet,this.#i=Ke[e.referenceCharacterSet]}get identifierType(){return this.#t}get prefixType(){return T.GS1CompanyPrefix}get length(){return this.#e}get referenceCharacterSet(){return this.#r}get referenceCreator(){return this.#i}padIdentifier(e,t){return t===void 0?e:this.referenceCreator.character(0).repeat(t).concat(e)}validatePrefix(e){Y.validate(this.prefixType,!0,!1,e,!0,this.referenceCharacterSet===x.Numeric)}};var ne=class extends ie{#t;#e;constructor(e){super(e),this.#t=e.leaderType,this.#e=+(this.leaderType===C.ExtensionDigit)}get leaderType(){return this.#t}validate(e,t){if(this.#e===0?super.validatePrefix(e):super.validatePrefix(e.substring(this.#e)),e.length!==this.length)throw new RangeError(h.t("Identifier.identifierTypeLength",{identifierType:this.identifierType,length:this.length}));if(!re(this.padIdentifier(e,t?.positionOffset)))throw new RangeError(h.t("Identifier.invalidCheckDigit"))}};var St=require("@aidc-toolkit/utility");var L={Any:0,RetailConsumer:1,OtherThanRetailConsumer:2},E=class n extends ne{static#t={minimumLength:0,maximumLength:1,component:()=>h.t("Identifier.indicatorDigit")};static#e={minimumLength:8,maximumLength:8};static#r={[L.Any]:void 0,[L.RetailConsumer]:"Identifier.invalidGTINAtRetail",[L.OtherThanRetailConsumer]:"Identifier.invalidGTINAtOtherThanRetail"};#i;constructor(e){let t=j.GTIN[e];super(t),this.#i=t.prefixType}get prefixType(){return this.#i}validatePrefix(e){Y.validate(this.prefixType,!1,!1,e,!0,!0)}static zeroSuppress(e){Gt.validate(e);let t=Array.from(e),r;if(t[0]==="0"&&t[6]==="0"&&t[7]==="0"&&(t[10]>="5"&&t[8]==="0"&&t[9]==="0"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}${t[10]}${t[11]}`:t[5]==="0"&&t[8]==="0"&&t[9]==="0"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[10]}4${t[11]}`:t[3]<="2"&&t[4]==="0"&&t[5]==="0"?r=`0${t[1]}${t[2]}${t[8]}${t[9]}${t[10]}${t[3]}${t[11]}`:t[3]>="3"&&t[4]==="0"&&t[5]==="0"&&t[8]==="0"&&(r=`0${t[1]}${t[2]}${t[3]}${t[9]}${t[10]}3${t[11]}`)),r===void 0)throw new RangeError(h.t("Identifier.invalidZeroSuppressibleGTIN12"));return r}static zeroExpand(e){St.NUMERIC_CREATOR.validate(e,n.#e);let t=Array.from(e),r;if(t[0]==="0"&&(t[6]>="5"&&t[5]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}${t[5]}0000${t[6]}${t[7]}`:t[6]==="4"&&t[4]!=="0"?r=`0${t[1]}${t[2]}${t[3]}${t[4]}00000${t[5]}${t[7]}`:t[6]<="2"?r=`0${t[1]}${t[2]}${t[6]}0000${t[3]}${t[4]}${t[5]}${t[7]}`:t[6]==="3"&&t[3]>="3"&&(r=`0${t[1]}${t[2]}${t[3]}00000${t[4]}${t[5]}${t[7]}`)),r===void 0)throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12"));return Gt.validate(r),r}static convertToGTIN14(e,t){St.NUMERIC_CREATOR.validate(e,n.#t);let r=n.normalize(t).padStart(N.GTIN14,"0");if(e.length!==0&&!r.startsWith(e)){let i=`${e}${r.substring(1,N.GTIN14-1)}`;r=`${i}${W(i)}`}return r}static normalize(e){let t=e.length,r;switch(t){case N.GTIN13:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00000"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(5);else throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN13"));break;case N.GTIN12:r=e;break;case N.GTIN8:e.startsWith("0")?r=n.zeroExpand(e):r=e;break;case N.GTIN14:if(!e.startsWith("0"))r=e;else if(!e.startsWith("00"))r=e.substring(1);else if(!e.startsWith("000000"))r=e.substring(2);else if(!e.startsWith("0000000"))r=e.substring(6);else throw new RangeError(h.t("Identifier.invalidZeroSuppressedGTIN12AsGTIN14"));break;default:throw new RangeError(h.t("Identifier.invalidGTINLength"))}return n.validateAny(r),r}static validateAny(e,t=L.Any){let r=e,i,o=!1,a=!1,s=e,f;switch(e.length){case N.GTIN13:i=T.GS1CompanyPrefix,o=t!==L.RetailConsumer,a=t===L.Any,f=L.Any;break;case N.GTIN12:i=T.UPCCompanyPrefix,f=L.Any;break;case N.GTIN8:e.startsWith("0")?(r=n.zeroExpand(e),i=void 0):i=T.GS18Prefix,f=L.RetailConsumer;break;case N.GTIN14:i=T.GS1CompanyPrefix,o=!0,a=t!==L.OtherThanRetailConsumer||!e.startsWith("0"),s=e.substring(1),f=L.OtherThanRetailConsumer;break;default:throw new RangeError(h.t("Identifier.invalidGTINLength"))}if(i!==void 0&&Y.validate(i,o,a,s,!0,!0,n.#r[t]),!re(r))throw new RangeError(h.t("Identifier.invalidCheckDigit"));if(t!==L.Any&&f!==L.Any&&f!==t)throw new RangeError(h.t(t===L.RetailConsumer?"Identifier.invalidGTINAtRetail":"Identifier.invalidGTINAtOtherThanRetail"))}static validateGTIN14(e){if(e.length!==N.GTIN14)throw new RangeError(h.t("Identifier.invalidGTIN14Length"));n.validateAny(e)}},Ni=new E(N.GTIN13),Gt=new E(N.GTIN12),xi=new E(N.GTIN8),gr={[N.GTIN13]:Ni,[N.GTIN12]:Gt,[N.GTIN8]:xi};var oe=class extends ne{};var D=class extends oe{constructor(e){super(j[e])}};var w=class extends oe{#t;#e;#r;#i;constructor(e){let t=j[e];super(t),this.#t=t.serialComponentLength,this.#e=t.serialComponentCharacterSet,this.#r={minimumLength:1,maximumLength:t.serialComponentLength,component:()=>h.t("Identifier.serialComponent")},this.#i=Ke[t.serialComponentCharacterSet]}get serialComponentLength(){return this.#t}get serialComponentCharacterSet(){return this.#e}get serialComponentValidation(){return this.#r}get serialComponentCreator(){return this.#i}validate(e,t){super.validate(e.substring(0,this.length),t),e.length>this.length&&this.serialComponentCreator.validate(e.substring(this.length),this.#r)}split(e,t){return this.validate(e,t),{baseIdentifier:e.substring(0,this.length),serialComponent:e.substring(this.length)}}};var Be=require("@aidc-toolkit/utility");var A=class n extends ie{static#t=new class extends Be.RegExpValidator{createErrorMessage(e){return h.t("Identifier.referenceCantBeAllNumeric")}}(/\D/u);#e;constructor(e){let t=j[e];super(t),this.#e=t.requiresCheckCharacterPair}get requiresCheckCharacterPair(){return this.#e}validate(e,t){let r=this.requiresCheckCharacterPair?e.substring(0,e.length-2):e;if(super.validatePrefix(r),!this.requiresCheckCharacterPair)this.referenceCreator.validate(e,{maximumLength:this.length});else if(!ut(this.padIdentifier(e)))throw new RangeError(h.t("Identifier.invalidCheckCharacterPair"));t?.exclusion===Be.Exclusions.AllNumeric&&n.#t.validate(r)}};var Ci=new D(l.GLN),Si=new D(l.SSCC),Gi=new w(l.GRAI),Pi=new A(l.GIAI),bi=new D(l.GSRN),Ri=new w(l.GDTI),Li=new A(l.GINC),Ei=new D(l.GSIN),Di=new w(l.GCN),Ai=new A(l.CPID),vi=new A(l.GMN),be={[l.GTIN]:gr,[l.GLN]:Ci,[l.SSCC]:Si,[l.GRAI]:Gi,[l.GIAI]:Pi,[l.GSRN]:bi,[l.GDTI]:Ri,[l.GINC]:Li,[l.GSIN]:Ei,[l.GCN]:Di,[l.CPID]:Ai,[l.GMN]:vi},Oi={GTIN:E,GLN:D,SSCC:D,GRAI:w,GIAI:A,GSRN:D,GDTI:w,GINC:A,GSIN:D,GCN:w,CPID:A,GMN:A};function Vi(n){return Ct(n)}function Pt(n){return le(n)}function wi(n){return ue(n)}function ki(n){return he(n)}function $i(n){return me(n)}function ji(n){return ge(n)}function _i(n){return Ie(n)}var Ir="https://www.gs1.org/services/verified-by-gs1/results?";function zi(n,e,t=void 0,r){let i,o;n===l.GTIN?(i=E.normalize(e),o=!0):(be[n].validate(e),i=e,o=n===l.GLN);let a=n.toLowerCase();return{reference:o?`${Ir}${a}=${i}`:`${Ir}key=${i}&key_type=${a}`,text:t??e,details:r}}var Re=require("@aidc-toolkit/utility");var J=require("@aidc-toolkit/utility");function Ue(n){class e extends n{#t;#e;constructor(r,i,o,...a){super(...a),this.#t=r,this.#e=this.length-i.length-o}get prefixProvider(){return this.#t}get prefix(){return this.prefixProvider.gs1CompanyPrefix}get referenceLength(){return this.#e}}return e}function He(n){class e extends Ue(n){#t;#e=0n;constructor(r,i,...o){super(r,i,1,...o),this.#t=Number(J.CharacterSetCreator.powerOf10(this.referenceLength))}get capacity(){return this.#t}get tweak(){return this.#e}set tweak(r){this.#e=r}#r(r){let i=this.leaderType===C.ExtensionDigit?r.substring(0,1)+this.prefix+r.substring(1):this.prefix+r;return i+W(i)}create(r,i=!1){return J.NUMERIC_CREATOR.create(this.referenceLength,r,J.Exclusions.None,i?this.tweak:void 0,o=>this.#r(o))}static*createAllPartial(r,i,o,a,s){if(i===0)yield r+J.NUMERIC_CREATOR.character(9-(s+9)%10);else{let f=i-1,d=s;if(o!==0)for(let p of J.NUMERIC_CREATOR.characterSet)yield*e.createAllPartial(p+r,f,0,a,d),d+=o;else{let p=4-a;for(let c of J.NUMERIC_CREATOR.characterSet)yield*e.createAllPartial(r+c,f,0,p,d),d+=a}}}createAll(){let r=this.leaderType===C.ExtensionDigit,i=this.prefix,o=this.length,a=this.referenceLength,s=3-2*((a+1-Number(r))%2);return{[Symbol.iterator](){return e.createAllPartial(i,a,r?3-2*o%2:0,s,Se(s===3,i))}}}}return e}var Le=class n extends He(E){static#t={minimumLength:1,maximumLength:1,component:()=>h.t("Identifier.indicatorDigit")};constructor(e,t){super(e,e.prefix,t)}get prefix(){return this.prefixProvider.prefix}createGTIN14(e,t,r=!1){return Re.NUMERIC_CREATOR.validate(e,n.#t),Re.NUMERIC_CREATOR.create(N.GTIN13-this.prefixProvider.gs1CompanyPrefix.length-1,t,Re.Exclusions.None,r?this.tweak:void 0,i=>{let o=e+this.prefixProvider.gs1CompanyPrefix+i;return o+W(o)})}};function We(n){class e extends He(n){constructor(r,...i){super(r,r.gs1CompanyPrefix,...i)}}return e}var Z=class extends We(D){};var Tr=require("@aidc-toolkit/utility");var ae=class extends We(w){#t(e,t){let r,i=this.serialComponentCreator,o=this.serialComponentValidation;function a(s){return i.validate(s,o),e+s}return typeof t!="object"?r=a(t):r=(0,Tr.mapIterable)(t,a),r}createSerialized(e,t,r){return this.#t(this.create(e,r),t)}concatenate(e,t){return this.validate(e),this.#t(e,t)}};var yr=require("@aidc-toolkit/utility");var Q=class extends Ue(A){#t;constructor(e,t){super(e,e.gs1CompanyPrefix,2*Number(j[t].requiresCheckCharacterPair),t),this.#t={minimumLength:1,maximumLength:this.referenceLength,component:()=>h.t("Identifier.reference")}}get referenceValidation(){return this.#t}create(e){let t,r=this.referenceCreator,i=this.referenceValidation,o=this.prefix,a=this.requiresCheckCharacterPair;function s(f){r.validate(f,i);let d=o+f;return a?d+Me(d):d}return typeof e!="object"?t=s(e):t=(0,yr.mapIterable)(e,s),t}};var Ye={GTIN:Le,GLN:Z,SSCC:Z,GRAI:ae,GIAI:Q,GSRN:Z,GDTI:ae,GINC:Q,GSIN:Z,GCN:ae,CPID:Q,GMN:Q};function bt(n){return le(n)}function Fi(n){return ue(n)}function Mi(n){return he(n)}function Ki(n){return me(n)}function Bi(n){return ge(n)}function Ui(n){return Ie(n)}var Ee=require("@aidc-toolkit/utility");var Rt=class{static parseRCN(e,t){let r=e.length;if(t.length!==r)throw new RangeError(h.t("Identifier.invalidRCNLength"));let i=r===12||r===13,o=!0,a=!1,s="",f=!1,d="",p="";for(let c=0;i&&c<r;c++){let m=e.charAt(c),u=t.charAt(c);if(c===0)i=m==="2",o=u==="2";else if(r===13&&c===1)i=Ee.NUMERIC_CREATOR.characterIndex(m)!==void 0,o=u===m;else if(c===r-1)i=m==="C";else switch(m){case"I":a||(i=s==="",a=!0,f=!1),s+=u;break;case"P":f||(i=d==="",f=!0,a=!1),d+=u;break;case"V":i=p==="",a=!1,f=!1,p=u;break;default:i=!1;break}}if(i&&=s!==""&&d!=="",!i)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNFormat"));if(!o)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNPrefix"));if(p!==""&&!lt(d,p))throw new RangeError(h.t("Identifier.invalidVariableMeasurePriceOrWeight"));if(!re(t))throw new RangeError(h.t("Identifier.invalidCheckDigit"));return{itemReference:Number(s),priceOrWeight:Number(d)}}static createRCN(e,t,r){let i=e.length,o=i===12||i===13,a="",s=!1,f="",d=0,p=!1,c="",m=0,u=!1,g=y=>y+a,S=y=>y+f,b=y=>y+c,v=y=>y+Fe(c),G=y=>y+W(y),O=[g];for(let y=0;o&&y<i;y++){let P=e.charAt(y);if(y===0)o=P==="2",a=P;else if(i===13&&y===1)o=Ee.NUMERIC_CREATOR.characterIndex(P)!==void 0,a+=P;else if(y===i-1)o=P==="C";else switch(P){case"I":s||(o=d===0,s=!0,p=!1,O.push(S)),d++;break;case"P":p||(o=m===0,p=!0,s=!1,O.push(b)),m++;break;case"V":o=!u,s=!1,p=!1,u=!0,O.push(v);break;default:o=!1;break}}if(o&&=d!==0&&m!==0,!o)throw new RangeError(h.t("Identifier.invalidVariableMeasureRCNFormat"));return f=Ee.NUMERIC_CREATOR.create(d,t),c=Ee.NUMERIC_CREATOR.create(m,r),O.push(G),O.reduce((y,P)=>P(y),"")}};var Lt=class n{static#t=new Map;static#e={GTIN:1987n,GLN:4241n,SSCC:8087n,GRAI:3221n,GSRN:2341n,GDTI:7333n,GSIN:5623n,GCN:6869n};#r;#i;#n;#a;#s;#f;#o=0n;#d={};constructor(e,t){let r=Y.normalize(e,t);this.#r=r.prefixType,this.#i=r.prefix,this.#n=r.gs1CompanyPrefix,this.#a=r.upcCompanyPrefix,this.#s=r.gs18Prefix,this.#f=BigInt(`1${this.gs1CompanyPrefix}`),this.resetTweakFactor()}get prefixType(){return this.#r}get prefix(){return this.#i}get gs1CompanyPrefix(){return this.#n}get upcCompanyPrefix(){return this.#a}get gs18Prefix(){return this.#s}#c(e){bt(e)&&(e.tweak=this.tweakFactor*n.#e[e.identifierType])}get tweakFactor(){return this.#o}set tweakFactor(e){let t=BigInt(e);if(this.#o!==t){this.#o=t;for(let r of Object.values(this.#d))this.#c(r)}}resetTweakFactor(){this.tweakFactor=this.#f}static get(e,t){let r=Y.normalize(e,t),i=n.#t.get(r.gs1CompanyPrefix);return i===void 0&&(i=new n(r.prefixType,r.prefix),n.#t.set(r.gs1CompanyPrefix,i)),i}getIdentifierCreator(e){let t=this.#d[e];if(t===void 0){if(e===l.GTIN)t=new Ye.GTIN(this,xt[this.prefixType]);else{if(this.prefixType===T.GS18Prefix)throw new RangeError(h.t("Prefix.identifierTypeNotSupportedByGS18Prefix",{identifierType:e}));t=new Ye[e](this,e)}this.#c(t),this.#d[e]=t}return t}get gtinCreator(){return this.getIdentifierCreator(l.GTIN)}get glnCreator(){return this.getIdentifierCreator(l.GLN)}get ssccCreator(){return this.getIdentifierCreator(l.SSCC)}get graiCreator(){return this.getIdentifierCreator(l.GRAI)}get giaiCreator(){return this.getIdentifierCreator(l.GIAI)}get gsrnCreator(){return this.getIdentifierCreator(l.GSRN)}get gdtiCreator(){return this.getIdentifierCreator(l.GDTI)}get gincCreator(){return this.getIdentifierCreator(l.GINC)}get gsinCreator(){return this.getIdentifierCreator(l.GSIN)}get gcnCreator(){return this.getIdentifierCreator(l.GCN)}get cpidCreator(){return this.getIdentifierCreator(l.CPID)}get gmnCreator(){return this.getIdentifierCreator(l.GMN)}};function De(n){return typeof n=="object"&&"dateTime"in n&&n.dateTime instanceof Date&&"disclaimer"in n&&typeof n.disclaimer=="string"}function Je(n){return De(n)&&"data"in n&&n.data instanceof Uint8Array}function Et(n){return typeof n=="object"&&"nextCheckDateTime"in n&&n.nextCheckDateTime instanceof Date&&(!("gcpLengthData"in n)||n.gcpLengthData===void 0||typeof n.gcpLengthData=="object"&&n.gcpLengthData!==null&&Je(n.gcpLengthData))}function Hi(n){return typeof n=="object"&&"_disclaimer"in n&&"GCPPrefixFormatList"in n}var ee=require("@aidc-toolkit/core");var Xe=class n extends ee.Cache{static APP_DATA_STORAGE_KEY="gcp-length";static NEXT_CHECK_DATE_TIME_STORAGE_KEY="gcp-length-next-check-date-time";static HEADER_STORAGE_KEY="gcp-length-header";static DATA_STORAGE_KEY="gcp-length-data";#t;#e;constructor(e){super(),this.#t=e}get appDataStorage(){return this.#t}async#r(){if(this.#e===void 0)if(this.appDataStorage.supportsBinary){let e=await this.appDataStorage.read(n.NEXT_CHECK_DATE_TIME_STORAGE_KEY),t=await this.appDataStorage.read(n.HEADER_STORAGE_KEY),r=await this.appDataStorage.read(n.DATA_STORAGE_KEY,!0);this.#e={nextCheckDateTime:e instanceof Date?e:void 0,gcpLengthData:De(t)&&r instanceof Uint8Array?{...t,data:r}:void 0}}else{let e=await this.appDataStorage.read(n.APP_DATA_STORAGE_KEY);Et(e)&&(this.#e=e)}return this.#e===void 0&&(this.#e={nextCheckDateTime:new Date,gcpLengthData:void 0}),this.#e}get nextCheckDateTime(){return this.#r().then(e=>e.nextCheckDateTime)}get cacheDateTime(){return this.#r().then(e=>e.gcpLengthData?.dateTime)}get cacheData(){return this.#r().then(e=>{if(e.gcpLengthData===void 0)throw new Error("GS1 Company Prefix length application data not loaded");return e.gcpLengthData})}async update(e,t,r){this.#e={nextCheckDateTime:e,gcpLengthData:r??this.#e?.gcpLengthData},this.appDataStorage.supportsBinary?(await this.appDataStorage.write(n.NEXT_CHECK_DATE_TIME_STORAGE_KEY,e),r!==void 0&&(await this.appDataStorage.write(n.HEADER_STORAGE_KEY,(0,ee.omit)(r,"data")),await this.appDataStorage.write(n.DATA_STORAGE_KEY,r.data))):await this.appDataStorage.write(n.APP_DATA_STORAGE_KEY,this.#e)}},Dt=class n extends Xe{static DEFAULT_BASE_URL=`${ee.WEBSITE_BASE_URL}/data`;#t;#e;constructor(e,t=n.DEFAULT_BASE_URL){super(e),this.#t=new ee.RemoteAppDataStorage(t)}async#r(e,t,r){return this.#t.read(e,t).then(i=>{if(i===void 0)throw new RangeError(h.t("GCPLength.gs1CompanyPrefixLengthDataFileNotFound",{key:e}));return r(i)}).catch(async i=>{let o=new Date;throw o.setMinutes(o.getMinutes()+10),await this.update(o),i})}get sourceDateTime(){return this.#r(n.HEADER_STORAGE_KEY,!1,e=>{if(!De(e))throw new Error("Invalid GS1 Company Prefix length header");return this.#e=e,this.#e.dateTime})}get sourceData(){return this.#r(n.DATA_STORAGE_KEY,!0,e=>{let t=this.#e;if(t===void 0)throw new Error("GS1 Company Prefix length header not loaded");if(!(e instanceof Uint8Array))throw new Error("Invalid GS1 Company Prefix length data");return{...t,data:e}})}};var At=require("@aidc-toolkit/core");function qe(n){return"length"in n}var vt=class n{static#t=15;static#e=14;#r;#i;constructor(e){this.#r=e}get root(){if(this.#i===void 0)throw new RangeError(h.t("GCPLength.gs1CompanyPrefixLengthDataNotLoaded"));return this.#i}get dateTime(){return this.root.dateTime}get disclaimer(){return this.root.disclaimer}static#n(e,t,r){let i=r,o=new Array(10);for(let a=0;a<10;a+=2){let s=e[i++];o[a]=s>>4,o[a+1]=s&15}for(let a=0;a<10;a++){let s=o[a];if(s!==n.#t){let f;if(s===n.#e){let d=[];i=n.#n(e,d,i),f={childNodes:d}}else f={length:s};t[a]=f}}return i}static#a(e,t,r){let i=Number(t.charAt(0)),o=e.childNodes[i],a=0;if(t.length!==1){let s;if(o===void 0)s={childNodes:[]},a++;else{if(qe(o))throw new Error("Overlapping entry");s=o}e.childNodes[i]=s,a+=n.#a(s,t.substring(1),r)}else{if(o!==void 0)throw new Error("Duplicate entry");e.childNodes[i]={length:r}}return a}static#s(e){return e!==void 0?qe(e)?e.length:n.#e:n.#t}static#f(e,t,r){let i=r,o=t.childNodes;for(let a=0;a<10;a+=2)e[i++]=n.#s(o[a])<<4|n.#s(o[a+1]);for(let a of o)a!==void 0&&!qe(a)&&(i=n.#f(e,a,i));return i}static#o(e,t){let r=new Date(e);return r.setDate(r.getDate()+t),r}async load(){let e,t=this.#r,r=await t.nextCheckDateTime,i=await t.cacheDateTime,o=new Date,a=n.#o(o,1);if(r===void 0||r.getTime()<=o.getTime()){let s=await t.sourceDateTime;if(i===void 0||i.getTime()<s.getTime()){let f=await t.sourceData,d;if(Je(f)){let p=[];n.#n(f.data,p,0),e={dateTime:f.dateTime,disclaimer:f.disclaimer,childNodes:p},d=f}else{let p={childNodes:[]},c=1;for(let u of f.GCPPrefixFormatList.entry)c+=n.#a(p,u.prefix,u.gcpLength);e={dateTime:new Date(f.GCPPrefixFormatList.date),disclaimer:`${f._disclaimer.reduce((u,g)=>(u.length===0||u[u.length-1]===""||g===""?u.push(g):u.push(`${u.pop()} ${g}`),u),[]).join(`
2
+ `)}
3
+ `,...p};let m=new Uint8Array(c*5);n.#f(m,e,0),d={...(0,At.omit)(e,"childNodes"),data:m}}r=n.#o(s,7),r.getTime()<a.getTime()&&(r=a),i=s,await t.update(r,i,d)}else await t.update(a)}if(e===void 0&&i!==void 0){let s=await t.cacheData,f=[];n.#n(s.data,f,0),e={...(0,At.omit)(s,"data"),childNodes:f}}e!==void 0&&(this.#i=e)}lengthOf(e,t){let r;if(e===l.GTIN)r=E.normalize(t).padStart(N.GTIN14,"0").substring(1);else{let a=be[e];a.validate(t),r=!Pt(a)||a.leaderType!==C.ExtensionDigit?t:t.substring(1)}let i=this.root,o=0;for(;i!==void 0&&!qe(i);)i=i.childNodes[Number(r.charAt(o++))];return i?.length??-1}};0&&(module.exports={AI39_CREATOR,AI39_VALIDATOR,AI64_VALIDATOR,AI82_CREATOR,AI82_VALIDATOR,ContentCharacterSets,GCPLength,GCPLengthCache,GTINBaseLengths,GTINCreator,GTINLengths,GTINLevels,GTINTypes,GTINValidator,GTIN_BASE_TYPES,IdentifierCreatorConstructors,IdentifierDescriptors,IdentifierTypes,IdentifierValidator,IdentifierValidatorConstructors,IdentifierValidators,LeaderTypes,NonGTINNumericIdentifierTypes,NonGTINNumericIdentifierValidator,NonNumericIdentifierCreator,NonNumericIdentifierTypes,NonNumericIdentifierValidator,NonSerializableNumericIdentifierCreator,NonSerializableNumericIdentifierTypes,NonSerializableNumericIdentifierValidator,NumericIdentifierTypes,NumericIdentifierValidator,PrefixManager,PrefixTypes,PrefixValidator,RemoteGCPLengthCache,SerializableNumericIdentifierCreator,SerializableNumericIdentifierTypes,SerializableNumericIdentifierValidator,VariableMeasure,checkCharacterPair,checkDigit,checkDigitSum,gs1NS,gs1ResourceBundle,hasValidCheckCharacterPair,hasValidCheckDigit,i18nGS1Init,i18nextGS1,isGCPLengthAppData,isGCPLengthData,isGCPLengthHeader,isGCPLengthSourceJSON,isGTINCreator,isGTINDescriptor,isGTINDescriptors,isGTINValidator,isGTINValidators,isNonGTINNumericIdentifierCreator,isNonGTINNumericIdentifierDescriptor,isNonGTINNumericIdentifierValidator,isNonNumericIdentifierCreator,isNonNumericIdentifierDescriptor,isNonNumericIdentifierValidator,isNonSerializableNumericIdentifierCreator,isNonSerializableNumericIdentifierDescriptor,isNonSerializableNumericIdentifierValidator,isNumericIdentifierCreator,isNumericIdentifierDescriptor,isNumericIdentifierValidator,isSerializableNumericIdentifierCreator,isSerializableNumericIdentifierDescriptor,isSerializableNumericIdentifierValidator,isValidPriceOrWeightCheckDigit,priceOrWeightCheckDigit,verifiedByGS1});
4
+ /*!
5
+ * Copyright © 2024-2026 Dolphin Data Development Ltd. and AIDC Toolkit
6
+ * contributors
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * https://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ */