@danielhaim/titlecaser 1.7.13 → 1.7.14

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.
package/README.md CHANGED
@@ -17,21 +17,22 @@ A style-guide–aware title case engine for JavaScript that implements **AP**, *
17
17
  - [CodePen Demo 2](https://codepen.io/danielhaim/pen/oNPGzKw)
18
18
  - [Contributing](CONTRIBUTING.md)
19
19
  - [Changelog](CHANGELOG.md)
20
+ - [License](LICENSE)
20
21
 
21
22
  ---
22
23
 
23
24
  ## Introduction
24
25
 
25
- TitleCaser is a deterministic, style-guide–aware title casing engine built for production publishing systems. It implements major editorial standards with rule-driven capitalization logic, including acronym disambiguation, hyphenated compounds, possessives, punctuation sensitivity, and curated domain-specific term normalization across finance, marketing, academia, military, and technology.
26
+ TitleCaser is a deterministic, style-guide–aware title casing engine built for production publishing systems. It implements major editorial standards with rule-driven capitalization logic, including contextual acronym disambiguation, compound handling, possessive normalization, punctuation-aware processing, and curated domain vocabulary enforcement across marketing, academia, business, finance, geography, legal, defense, and technology.
26
27
 
27
- Its multi-pass processing architecture ensures consistent output while supporting custom word overrides, exact phrase preservation, brand enforcement, and controlled vocabulary rules. Designed for both Node.js and browser environments, TitleCaser integrates cleanly into CMS pipelines, build systems, and automated content workflows where precision and repeatability are required.
28
+ Its multi-pass processing architecture ensures deterministic output while supporting custom overrides, exact phrase preservation, and controlled vocabulary enforcement. Designed for Node.js and browser environments, TitleCaser integrates cleanly into CMS pipelines, build systems, and automated editorial workflows where precision and repeatability are required.
28
29
 
29
30
  ---
30
31
 
31
32
  ## Key Features
32
33
 
33
34
  ### Multi-Style Editorial Engine
34
- Built-in rule systems for **AP**, **APA**, **Chicago**, **NYT**, **Wikipedia** (sentence case), and **British** styles. Each style applies its own logic for minor words, hyphenated compounds, possessives, colon capitalization, and acronym handling, producing deterministic and repeatable output.
35
+ Built-in rule systems for **AP**, **APA**, **Chicago**, **NYT**, **Wikipedia** (sentence case), and **British** styles. Each style applies its own logic for minor words, hyphenated compounds, possessives, colon capitalization, and acronym handling, producing consistent, repeatable output.
35
36
 
36
37
  ### Contextual Acronym & Pronoun Disambiguation
37
38
  Distinguishes regional acronyms from identical lowercase words using positional and surrounding-word heuristics.
@@ -53,7 +54,7 @@ For example:
53
54
  - Avoids false positives inside longer words
54
55
 
55
56
  ### Structured Vocabulary Normalization
56
- Includes **1,000+ curated terms** across brands, technology, geography, business, marketing, defense, academia, finance, and legal domains.
57
+ Includes **1,000+ curated normalization rules** across brands, technology, geography, business, marketing, defense, academia, finance, and legal domains.
57
58
 
58
59
  - Mixed-case normalization (`GOOGle → Google`)
59
60
  - Intentional lowercase brands (`iPhone`, `eBay`)
@@ -77,6 +78,7 @@ Intelligent processing of hyphenated compounds with style-specific rules:
77
78
  Layered multi-pass processing for stable handling of complex inputs:
78
79
 
79
80
  - Input normalization (spacing and `<br>` handling)
81
+ - Token-based whitespace-preserving transformation pipeline
80
82
  - Style-aware casing pass
81
83
  - Acronym resolution pass
82
84
  - Short-word correction pass
@@ -85,12 +87,13 @@ Layered multi-pass processing for stable handling of complex inputs:
85
87
  - Exact phrase override pass
86
88
 
87
89
  ### HTML-Safe & CMS-Ready
88
- Designed for integration into publishing workflows, CMS pipelines, and automated content systems.
90
+ Designed for integration into publishing workflows, CMS pipelines, and automated editorial systems.
89
91
 
90
92
  - Preserves `<br>` tags
91
93
  - Normalizes spacing around colon + `<br>`
92
94
  - Retains ampersands and symbols
93
95
  - Handles excessive whitespace safely
96
+ - Optional whitespace preservation for editor-safe real-time usage
94
97
 
95
98
  ### Runtime & Build Support
96
99
  The AMD/browser build extends `String.prototype.toTitleCase()` for direct string usage in client environments.
@@ -118,6 +121,8 @@ titleCaser.toTitleCase('nodejs development on aws'); // → "Node.js Development
118
121
  titleCaser.toTitleCase('let us know about the us military'); // → "Let Us Know About the US Military"
119
122
  ```
120
123
 
124
+ ---
125
+
121
126
  ## Core Usage
122
127
 
123
128
  ### Editorial-Grade Transformation (AP Example)
@@ -158,6 +163,37 @@ const tc = new TitleCaser({
158
163
  tc.toTitleCase('"never underestimate the power o\' persistence,"'); // → “Never Underestimate the Power O’ Persistence,”
159
164
  ```
160
165
 
166
+ ### Whitespace Normalization
167
+
168
+ Whitespace normalization is enabled by default.
169
+
170
+ By default, TitleCaser collapses consecutive whitespace and trims leading and trailing spaces:
171
+
172
+ ```javascript
173
+ const tc = new TitleCaser({ style: "ap" });
174
+
175
+ tc.toTitleCase(" the quick brown fox "); // → "The Quick Brown Fox"
176
+ ```
177
+
178
+ For real-time editors or environments where spacing must be preserved, disable normalization:
179
+
180
+ ```javascript
181
+ const tc = new TitleCaser({
182
+ style: "ap",
183
+ normalizeWhitespace: false
184
+ });
185
+
186
+ tc.toTitleCase(" the quick brown fox "); // → " The Quick Brown Fox "
187
+ ```
188
+
189
+ When normalizeWhitespace is false:
190
+ - Internal spacing is preserved
191
+ - Leading/trailing whitespace is preserved
192
+ - Newlines and tabs are preserved
193
+ - Only letter casing is transformed
194
+
195
+ This behavior allows safe integration into real-time editors without unexpected trimming or cursor instability when normalization is disabled (see [Issue #17](https://github.com/danielhaim1/TitleCaser/issues/17) for discussion).
196
+
161
197
  ### Browser Usage
162
198
  ```html
163
199
  <script src="./path/to/TitleCaser.amd.js"></script>
@@ -207,8 +243,7 @@ new TitleCaser(options)
207
243
  | `neverCapitalize` | string[] | `[]` | Additional words that should remain lowercase (merged with style defaults) |
208
244
  | `wordReplacementsList` | object[] | internal defaults | Array of `{ 'term': 'replacement' }` objects used for term normalization |
209
245
  | `debug` | boolean | `false` | Enables internal warning logs during processing |
210
-
211
- ---
246
+ | `normalizeWhitespace` | boolean | `true` | Collapses consecutive whitespace and trims leading/trailing whitespace. Set to `false` to preserve original spacing (editor-safe mode). |
212
247
 
213
248
  ### Methods
214
249
 
@@ -246,40 +281,10 @@ titleCaser.addExactPhraseReplacements([
246
281
  #### setStyle(style)
247
282
  ```javascript
248
283
  titleCaser.setStyle('chicago');
249
- ```
250
-
251
- ---
252
-
253
- ## Architecture
254
- TitleCaser is structured into three main components:
255
-
256
- - `TitleCaser.js` — Public API
257
- - `TitleCaserConsts.js` — Style rules and data sets
258
- - `TitleCaserUtils.js` — Processing and normalization engine
259
-
260
- ## Data Sets
261
- Curated structured term libraries power normalization:
262
-
263
- - Brand and trademarks
264
- - Business, finance, and legal terminology
265
- - E-commerce and digital terms
266
- - Global geography
267
- - Marketing and media terms
268
- - Defense and geopolitical terminology
269
- - Technology and computing concepts
270
- - Academic and temporal terminology
284
+ ```
271
285
 
272
286
  ---
273
287
 
274
- ## Build Process
275
-
276
- ```bash
277
- npm run build-package
278
- npm run build-docs
279
- npm run copy-package-to-docs
280
- npm run test
281
- ```
282
-
283
288
  ## Test Coverage
284
289
 
285
290
  ```bash
@@ -292,6 +297,8 @@ npm run test
292
297
  - Hyphenation edge cases
293
298
  - Brand normalization
294
299
 
300
+ ---
301
+
295
302
  ## Resources
296
303
 
297
304
  Useful materials for improving your knowledge of writing and language style guides. These resources include various books and manuals, such as the Publication Manual of the American Psychological Association, the Chicago Manual of Style, and the AP Stylebook, which are widely recognized as authoritative sources on grammar, punctuation, and capitalization rules.
@@ -305,20 +312,28 @@ Useful materials for improving your knowledge of writing and language style guid
305
312
  - [Wikipedia: Letter case](https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Capital_letters)
306
313
  - [Wikipedia:Manual of Style/Titles of works](https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Titles_of_works#Capital_letters)
307
314
 
315
+ ---
316
+
308
317
  ## Report Bugs
309
318
 
310
319
  If you encounter any bugs or issues while using the library or the demo page, please report them by opening a new issue in the repository's issue tracker.
311
320
 
312
321
  When reporting a bug, please provide as much detail as possible, including the steps to reproduce the issue and any error messages that you see. I appreciate any contribution to improving this library.
313
322
 
323
+ ---
324
+
314
325
  ## Contributing
315
326
 
316
327
  We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
317
328
 
329
+ ---
330
+
318
331
  ## License
319
332
 
320
333
  This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
321
334
 
335
+ ---
336
+
322
337
  ## Changelog
323
338
 
324
339
  See [CHANGELOG.md](CHANGELOG.md) for a list of changes and version history.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @danielhaim/titlecaser - v1.7.13 - 2026-02-14
2
+ * @danielhaim/titlecaser - v1.7.14 - 2026-02-17
3
3
  * https://github.com/danielhaim1/titlecaser.git
4
4
  * Copyright (c) 2026 Daniel Haim, Licensed Apache-2.0
5
- */(()=>{var e={987(e,t,r){var n,a;n=[t,r(388)],void 0===(a=function(e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TitleCaser",{enumerable:!0,get:function(){return r.TitleCaser}}),t.default=void 0,void 0===String.prototype.toTitleCase&&(String.prototype.toTitleCase=function(e){return new r.TitleCaser(e).toTitleCase(this)}),"undefined"!=typeof window&&window.document&&(window.TitleCaser=r.TitleCaser);t.default=r.TitleCaser}.apply(t,n))||(e.exports=a)},388(e,t,r){var n,a;n=[t,r(416),r(279)],a=function(e,r,n){"use strict";function a(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||s(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return l(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function p(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==u(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaser=void 0;t.TitleCaser=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options=t,this.debug=t.debug||!1,this.wordReplacementsList=r.wordReplacementsList,this.phraseReplacementMap=r.phraseReplacementMap}return t=e,l=[{key:"shouldKeepCasing",value:function(e,t){return!!n.TitleCaserUtils.isRegionalAcronym(e)||!!n.TitleCaserUtils.hasUppercaseIntentional(e)||!!n.TitleCaserUtils.isWordInArray(e,t)}}],(s=[{key:"logWarning",value:function(e){this.debug&&console.warn("Warning: ".concat(e))}},{key:"toTitleCase",value:function(t){var a=this;try{if(0===t.trim().length)throw new TypeError("Invalid input: input must not be empty.");if("string"!=typeof t)throw new TypeError("Invalid input: input must be a string.");if(t.length>1e5)throw new TypeError("Invalid input: input exceeds maximum length of 100,000 characters.");if(void 0!==this.options&&"object"!==u(this.options))throw new TypeError("Invalid options: options must be an object.");var s=this.options,l=s.style,c=void 0===l?"ap":l,p=s.neverCapitalize,d=void 0===p?[]:p,y=s.wordReplacementsList,f=void 0===y?this.wordReplacementsList:y,m=s.smartQuotes,g=void 0!==m&&m,h=r.styleConfigMap[c]||{},C=["nl2br"].concat(o(d)),v=n.TitleCaserUtils.getTitleCaseOptions(this.options,r.shortWordsList,f),S=(v.articlesList,v.shortConjunctionsList,v.shortPrepositionsList,v.neverCapitalizedList,v.replaceTerms,v.smartQuotes,f.map((function(e){return Object.keys(e)[0].toLowerCase()}))),b=Object.fromEntries(f.map((function(e){return[Object.keys(e)[0].toLowerCase(),Object.values(e)[0]]})));this.logWarning("replaceTermsArray: ".concat(S)),this.logWarning("this.wordReplacementsList: ".concat(this.wordReplacementsList));var A=t.trim();A=(A=A.replace(r.REGEX_PATTERNS.HTML_BREAK," nl2br ")).replace(r.REGEX_PATTERNS.MULTIPLE_SPACES," "),n.TitleCaserUtils.isEntirelyUppercase(A.replace(/[^a-zA-Z]/g,""))&&(this.logWarning("Input string is entirely uppercase, normalizing to lowercase first"),A=A.toLowerCase());var w=A.split(" "),T=w.map((function(e,t){switch(!0){case n.TitleCaserUtils.isWordAmpersand(e):case n.TitleCaserUtils.hasHtmlBreak(e):case n.TitleCaserUtils.isWordIgnored(e,C):return e;case S.includes(e.toLowerCase()):return b[e.toLowerCase()];case n.TitleCaserUtils.isWordInArray(e,r.specialTermsList):return n.TitleCaserUtils.correctTerm(e,r.specialTermsList);case n.TitleCaserUtils.isElidedWord(e):return n.TitleCaserUtils.normalizeElidedWord(e);case n.TitleCaserUtils.hasHyphen(e):var i=e.replace(/[\W_]+$/,""),o=e.slice(i.length),s=i.split("-"),l=s.map((function(e){var t=e.toLowerCase();return S.includes(t)?b[t]:e})),u=l.every((function(e,t){return e===s[t]}))?n.TitleCaserUtils.correctTermHyphenated(e,c):l.join("-");return u.endsWith(o)?u:u+o;case n.TitleCaserUtils.hasSuffix(e,c):return n.TitleCaserUtils.correctSuffix(e,r.specialTermsList);case n.TitleCaserUtils.hasUppercaseIntentional(e):return e;case n.TitleCaserUtils.isShortWord(e,c)&&0!==t:return t>0&&n.TitleCaserUtils.endsWithSymbol(w[t-1],[":","?","!","."])?e.charAt(0).toUpperCase()+e.slice(1):n.TitleCaserUtils.normalizeCasingForWordByStyle(e,c);case n.TitleCaserUtils.endsWithSymbol(e):a.logWarning("Check if the word ends with a symbol: ".concat(e));var p=e.split(r.REGEX_PATTERNS.SPLIT_AT_PUNCTUATION);a.logWarning("Splitting word at symbols, result: ".concat(p));var d=p.map((function(e){if(a.logWarning("Processing part: ".concat(e)),n.TitleCaserUtils.endsWithSymbol(e))return a.logWarning("Part is a symbol: ".concat(e)),e;if(a.logWarning("Part is a word: ".concat(e)),n.TitleCaserUtils.isWordInArray(e,r.specialTermsList)){var t=n.TitleCaserUtils.correctTerm(e,r.specialTermsList);return a.logWarning("Word is in specialTermsList, corrected term: ".concat(t)),t}if(S.includes(e)){var i=b[e];return a.logWarning("Word is in replaceTermsArray, replacement: ".concat(i)),i}var o=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();return a.logWarning("Applying title casing to word: ".concat(o)),o}));return d.join("");case n.TitleCaserUtils.startsWithSymbol(e):return n.TitleCaserUtils.isWordInArray(e,r.specialTermsList)?n.TitleCaserUtils.correctTerm(e):e;case n.TitleCaserUtils.hasRomanNumeral(e):return e.toUpperCase();case n.TitleCaserUtils.hasNumbers(e):return e;default:return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}}));A=(A=T.join(" ")).replace(/nl2br/gi,"<br>"),g&&(A=n.TitleCaserUtils.convertQuotesToCurly(A));for(var L=A.split(" "),P=L[0],O=L[1]||null,E=0;E<L.length;E++){E>0&&L[E-1];var I=L[E],R=E<L.length-1?L[E+1]:null,F=I.match(r.REGEX_PATTERNS.TRAILING_PUNCTUATION),k="";F&&(k=F[0],I=I.replace(r.REGEX_PATTERNS.TRAILING_PUNCTUATION,"")),n.TitleCaserUtils.isRegionalAcronym(I)&&(I=n.TitleCaserUtils.normalizeRegionalAcronym(I)),n.TitleCaserUtils.isRegionalAcronymNoDot(I,R)&&(I=n.TitleCaserUtils.normalizeRegionalAcronym(I)),""!==k&&(I+=k)}for(var M=(A=L.join(" ")).split(" "),U=1;U<M.length-1;U++){var N=M[U];M[U-1],M[U+1],N===N.toUpperCase()||n.TitleCaserUtils.hasUppercaseIntentional(N)||n.TitleCaserUtils.isWordInArray(N,r.shortWordsList)&&(M[U]=N.length<=3?N.toLowerCase():N)}for(var B=(A=M.join(" ")).split(" "),j=0;j<B.length;j++){var W=B[j],D=B[j+1],G=B[j-1];D&&n.TitleCaserUtils.isRegionalAcronymNoDot(W,D,G)&&(B[j]=W.toUpperCase())}var x=B[B.length-1],z=B[B.length-2],H=B[B.length-3];n.TitleCaserUtils.isRegionalAcronym(P)&&(this.logWarning("firstWord is a regional acronym: ".concat(P)),B[0]=P.toUpperCase()),n.TitleCaserUtils.isRegionalAcronymNoDot(P,O)&&(B[0]=P.toUpperCase()),n.TitleCaserUtils.isFinalWordRegionalAcronym(x,z,H)&&(B[B.length-1]=x.toUpperCase()),A=B.join(" ");for(var V=0,K=Object.entries(this.phraseReplacementMap);V<K.length;V++){var Q=i(K[V],2),_=Q[0],X=Q[1],J=new RegExp(_.replace(r.REGEX_PATTERNS.REGEX_ESCAPE,"\\$&"),"gi");A=A.replace(J,X)}if("sentence"===h.caseStyle){for(var Z=A.split(" "),q=!1,Y=0;Y<Z.length;Y++){var $=Z[Y];q||!/[A-Za-z]/.test($)?e.shouldKeepCasing($,r.specialTermsList)||(Z[Y]=$.toLowerCase()):(e.shouldKeepCasing($,r.specialTermsList)||(Z[Y]=$.charAt(0).toUpperCase()+$.slice(1).toLowerCase()),q=!0)}A=Z.join(" ")}return A}catch(e){throw e instanceof Error?e:new Error(String(e))}}},{key:"setReplaceTerms",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: setReplaceTerms must be an array of objects.");e.forEach((function(e){if(e&&"object"===u(e)){var r=i(Object.entries(e)[0],2),n=r[0],o=r[1],s=t.wordReplacementsList.findIndex((function(e){return e.hasOwnProperty(n)}));-1!==s?t.wordReplacementsList[s][n]=o:t.wordReplacementsList.push(a({},n,o))}else console.warn("Invalid entry in terms array:",e)})),this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addReplaceTerm",value:function(e,t){if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Invalid argument: term and replacement must be strings.");var r=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));-1!==r?this.wordReplacementsList[r][e]=t:this.wordReplacementsList.push(a({},e,t)),this.options.wordReplacementsList=this.wordReplacementsList}},{key:"removeReplaceTerm",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: term must be a string.");var t=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));if(-1===t)throw new Error("Term '".concat(e,"' not found in word replacements list."));this.wordReplacementsList.splice(t,1),this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addExactPhraseReplacements",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: newPhrases must be an array.");e.forEach((function(e){if("object"!==u(e)||Array.isArray(e)||1!==Object.keys(e).length){if("object"!==u(e)||Array.isArray(e))throw new TypeError("Invalid argument: Each item must be an object with a single key-value pair.");Object.entries(e).forEach((function(e){var r=i(e,2),n=r[0],a=r[1];if("string"!=typeof n||"string"!=typeof a)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[n]=a}))}else{var r=Object.keys(e)[0],n=e[r];if("string"!=typeof r||"string"!=typeof n)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[r]=n}})),this.logWarning("Log the this.phraseReplacementMap: ".concat(this.phraseReplacementMap))}},{key:"setStyle",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: style must be a string.");this.options.style=e}}])&&c(t.prototype,s),l&&c(t,l),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,s,l}()}.apply(t,n),void 0===a||(e.exports=a)},416(e,t,r){var n,a;n=[t,r(223),r(814),r(661),r(157),r(321),r(742),r(501),r(491),r(16)],a=function(e,r,n,a,i,o,s,l,u,c){"use strict";function p(e){return e&&e.__esModule?e:{default:e}}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function y(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),t.wordReplacementsList=t.styleConfigMap=t.specialTermsList=t.shortWordsList=t.regionalAcronymPrecedingWordsList=t.regionalAcronymList=t.regionalAcronymFollowingWordsList=t.phraseReplacementMap=t.ignoredWordList=t.allowedStylesList=t.TITLE_CASE_STYLES=t.REGEX_PATTERNS=void 0,r=p(r),n=p(n),a=p(a),i=p(i),o=p(o),s=p(s),l=p(l),u=p(u),c=p(c);var m=function(){for(var e=[],t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.forEach((function(t){Array.isArray(t)?t.forEach((function(t){Object.values(t).forEach((function(t){e.push.apply(e,y(t))}))})):"object"===d(t)&&Object.values(t).forEach((function(t){e.push.apply(e,y(t))}))})),y(new Set(e))}(r.default,n.default,a.default,i.default,o.default,s.default,l.default,u.default,c.default),g=(t.specialTermsList=m,t.shortWordsList=["the","in","to","within","towards","into","at","of","for","by","on","from","with","through","about","across","over","under","between"],t.wordReplacementsList=[{"a.k.a":"AKA"},{"a.s.a.p":"ASAP"},{"f.a.q":"FAQ"},{"f.a.q.s":"FAQs"},{FAQS:"FAQs"},{"f.y.i":"FYI"},{"d.i.y":"DIY"},{"t.b.d":"TBD"},{"back-end":"Backend"},{"front-end":"Frontend"},{"full-stack":"Fullstack"},{nodejs:"Node.js"},{nextjs:"Next.js"},{nuxtjs:"Nuxt.js"},{reactjs:"React"},{"react.js":"React"},{"cyber-security":"Cybersecurity"}],t.TITLE_CASE_STYLES=Object.freeze({AP:"ap",APA:"apa",BRITISH:"british",CHICAGO:"chicago",NYT:"nyt",WIKIPEDIA:"wikipedia"}));t.allowedStylesList=Object.values(g),t.styleConfigMap=Object.freeze({ap:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},apa:{caseStyle:"title",shortConjunctionsList:["and","as","but","for","if","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["as","at","by","for","in","of","off","on","per","to","via"],neverCapitalizedList:[]},british:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},chicago:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:["etc."]},nyt:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},wikipedia:{caseStyle:"sentence",shortConjunctionsList:["and","as","but","for","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]}}),t.ignoredWordList=[],t.phraseReplacementMap={"the cybersmile foundation":"The Cybersmile Foundation","co. by colgate":"CO. by Colgate","on & off":"On & Off","on and off":"On and Off"},t.REGEX_PATTERNS=Object.freeze({TRAILING_PUNCTUATION:/[.,!?;:]+$/,SPLIT_AT_PUNCTUATION:/([.,\/#!$%\^&\*;:{}=\-_`~()?])/g,HTML_BREAK:/<\s*br\s*\/?\s*>/gi,MULTIPLE_SPACES:/ {2,}/g,REGEX_ESCAPE:/[.*+?^${}()|[\]\\]/g}),t.regionalAcronymList=["usa","us","u.s.a","u.s.","u.s","u.s.a.","eu","e.u.","e.u","uk","u.k.","u.k"],t.regionalAcronymPrecedingWordsList=["the","via","among","across","beyond","outside","alongside","throughout","despite","unlike","upon"],t.regionalAcronymFollowingWordsList=["act","acts","administration","administrations","agency","agencies","agreement","agreements","airforce","airforces","aid","alliance","alliances","ambassador","ambassadors","authority","authorities","bill","bills","bloc","blocs","budget","budgets","bureau","bureaus","cabinet","cabinets","charter","charters","command","commands","commission","commissions","conference","conferences","congress","congresses","convention","conventions","council","councils","court","courts","defense","defences","defence","defenses","delegation","delegations","democracy","democracies","department","departments","development","developments","directive","directives","diplomacy","division","divisions","economy","economies","embassy","embassies","engagement","engagements","envoy","envoys","exports","federation","federations","finance","finances","forces","framework","frameworks","funding","government","governments","hearing","hearings","imports","initiative","initiatives","intel","intelligence","intervention","interventions","jurisdiction","jurisdictions","law","laws","leadership","leaders","legislation","liaison","liaisons","mandate","mandates","markets","marines","military","militaries","ministry","ministries","mission","missions","navy","navies","negotiations","office","offices","operations","oversight","parliament","parliaments","plan","plans","policies","policy","policy-makers","precedent","precedents","presence","program","programme","programmes","programs","project","projects","protocol","protocols","province","provinces","reform","reforms","regulation","regulations","regulator","regulators","relations","representation","representations","republic","republics","resolution","resolutions","ruling","rulings","sanctions","security","securities","senate","senates","service","services","state","states","statute","statutes","strategy","strategies","summit","summits","summitry","surveillance","talks","tariffs","territory","territories","trade","trades","treasury","treasuries","treaty","treaties","tribunal","tribunals","troops","union","unions","veterans","warships","zone","zones"]}.apply(t,n),void 0===a||(e.exports=a)},279(e,t,r){var n,a;n=[t,r(416)],a=function(e,r){"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=u(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw i}}}}function u(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function d(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaserUtils=void 0;var f=t.TitleCaserUtils=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,u=[{key:"validateOption",value:function(e,t){if(!Array.isArray(t))throw new TypeError("Invalid option: ".concat(e," must be an array"));if(!t.every((function(e){return"string"==typeof e})))throw new TypeError("Invalid option: ".concat(e," must be an array of strings"))}},{key:"validateOptions",value:function(t){for(var n=0,a=Object.keys(t);n<a.length;n++){var i=a[n];if("style"!==i)if("wordReplacementsList"!==i){if(!r.styleConfigMap.hasOwnProperty(i))throw new TypeError("Invalid option: ".concat(i));e.validateOption(i,t[i])}else{if(!Array.isArray(t.wordReplacementsList))throw new TypeError("Invalid option: ".concat(i," must be an array"));var o,s=l(t.wordReplacementsList);try{for(s.s();!(o=s.n()).done;)if("string"!=typeof o.value)throw new TypeError("Invalid option: ".concat(i," must contain only strings"))}catch(e){s.e(e)}finally{s.f()}}else{if("string"!=typeof t.style)throw new TypeError("Invalid option: ".concat(i," must be a string"));if(!r.allowedStylesList.includes(t.style))throw new TypeError("Invalid option: ".concat(i," must be a string"))}}}},{key:"getTitleCaseOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=t.style||"ap",l=!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes,u="".concat(o,"|").concat(l,"|").concat(n.length>0?n.sort().join(","):"");if(e.titleCaseOptionsCache.has(u))return e.titleCaseOptionsCache.get(u);var c=s(s(s({},r.styleConfigMap[t.style||"ap"]),t),{},{smartQuotes:!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes}),p=i(new Set([].concat(i(c.articlesList),i(n)))),d=i(new Set([].concat(i(c.shortConjunctionsList),i(n)))),y=i(new Set([].concat(i(c.shortPrepositionsList),i(n)))),f=[].concat(i((c.replaceTerms||[]).map((function(e){var t=a(e,2),r=t[0],n=t[1];return[r.toLowerCase(),n]}))),i(r.wordReplacementsList)),m={articlesList:p,shortConjunctionsList:d,shortPrepositionsList:y,neverCapitalizedList:i(c.neverCapitalizedList),replaceTerms:f,smartQuotes:c.smartQuotes};return e.titleCaseOptionsCache.set(u,m),m}},{key:"capitalizeFirstLetter",value:function(e){return e.charAt(0).toUpperCase()+e.slice(1)}},{key:"isShortConjunction",value:function(t,r){var n=i(e.getTitleCaseOptions({style:r}).shortConjunctionsList),a=t.toLowerCase();return n.includes(a)}},{key:"isArticle",value:function(t,r){return e.getTitleCaseOptions({style:r}).articlesList.includes(t.toLowerCase())}},{key:"isShortPreposition",value:function(t,r){return e.getTitleCaseOptions({style:r}).shortPrepositionsList.includes(t.toLowerCase())}},{key:"isNeverCapitalized",value:function(t,r){var n="".concat(r,"_").concat(t.toLowerCase());if(e.isNeverCapitalizedCache.has(n))return e.isNeverCapitalizedCache.get(n);var a=e.getTitleCaseOptions({style:r}).neverCapitalizedList.includes(t.toLowerCase());return e.isNeverCapitalizedCache.set(n,a),a}},{key:"isShortWord",value:function(t,a){if("string"!=typeof t)throw new TypeError("Invalid input: word must be a string. Received ".concat(n(t),"."));if(!r.allowedStylesList.includes(a))throw new Error("Invalid option: style must be one of ".concat(r.allowedStylesList.join(", "),"."));return e.isShortConjunction(t,a)||e.isArticle(t,a)||e.isShortPreposition(t,a)||e.isNeverCapitalized(t,a)}},{key:"hasNumbers",value:function(e){return/\d/.test(e)}},{key:"hasUppercaseMultiple",value:function(e){for(var t=0,r=0;r<e.length&&t<2;r++)/[A-Z]/.test(e[r])&&t++;return t>=2}},{key:"hasUppercaseIntentional",value:function(e){if(e.length<=4)return/[A-Z]/.test(e.slice(1));var t=/[A-Z]/.test(e.slice(1)),r=/[a-z]/.test(e.slice(1));return t&&r}},{key:"isEntirelyUppercase",value:function(e){return e===e.toUpperCase()&&e!==e.toLowerCase()&&e.length>1}},{key:"isRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");if(e.length<2)return!1;var t=e.toLowerCase();return r.regionalAcronymList.includes(t)}},{key:"isRegionalAcronymNoDot",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w\s]/g,""),i=t.toLowerCase().replace(/[^\w\s]/g,"");return!!(n&&r.regionalAcronymList.includes(a)&&["the"].includes(n.toLowerCase()))||r.regionalAcronymList.includes(a)&&r.regionalAcronymFollowingWordsList.includes(i)}},{key:"isFinalWordRegionalAcronym",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w]/g,""),i=t.toLowerCase().replace(/[^\w]/g,""),o="string"==typeof n?n.toLowerCase().replace(/[^\w]/g,""):null;return!!(r.regionalAcronymList.includes(a)&&(r.regionalAcronymPrecedingWordsList.includes(i)||"the"===i&&o&&r.regionalAcronymPrecedingWordsList.includes(o)))}},{key:"normalizeRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");return e.toUpperCase()}},{key:"normalizeAcronymKey",value:function(e){return e.toLowerCase().replace(/\./g,"")}},{key:"normalizeCasingForWordByStyle",value:function(e,t){if(!e||!t||!r.styleConfigMap[t])return!1;var n=e.toLowerCase(),a=r.styleConfigMap[t],o=a.shortConjunctionsList,s=a.articlesList,l=a.shortPrepositionsList,u=a.neverCapitalizedList;return!![].concat(i(o),i(s),i(l),i(u)).includes(n)&&e}},{key:"hasSuffix",value:function(e){return e.length>2&&e.endsWith("'s")}},{key:"hasApostrophe",value:function(e){return-1!==e.indexOf("'")}},{key:"hasHyphen",value:function(e){return-1!==e.indexOf("-")||-1!==e.indexOf("–")||-1!==e.indexOf("—")}},{key:"hasRomanNumeral",value:function(e){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");var t=e.includes("'")?e.split("'"):[e],r=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i;return t.every((function(e){return r.test(e)}))}},{key:"hasHyphenRomanNumeral",value:function(t){if("string"!=typeof t||""===t)throw new TypeError("Invalid input: word must be a non-empty string.");for(var r=t.split("-"),n=0;n<r.length;n++)if(!e.hasRomanNumeral(r[n]))return!1;return!0}},{key:"hasHtmlBreak",value:function(e){return"nl2br"===e}},{key:"hasUnicodeSymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u0100-\u017F\u0180-\u024F\u0250-\u02AF\u02B0-\u02FF\u0300-\u036F\u0370-\u03FF\u0400-\u04FF\u0500-\u052F\u0530-\u058F\u0590-\u05FF\u0600-\u06FF\u0700-\u074F\u0750-\u077F\u0780-\u07BF\u07C0-\u07FF\u0800-\u083F\u0840-\u085F\u0860-\u087F\u0880-\u08AF\u08B0-\u08FF\u0900-\u097F\u0980-\u09FF\u0A00-\u0A7F\u0A80-\u0AFF\u0B00-\u0B7F\u0B80-\u0BFF\u0C00-\u0C7F\u0C80-\u0CFF\u0D00-\u0D7F\u0D80-\u0DFF\u0E00-\u0E7F\u0E80-\u0EFF\u0F00-\u0FFF]/.test(e)}},{key:"hasCurrencySymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u20AC\u20A0-\u20B9\u20BD\u20A1-\u20A2\u00A3-\u00A5\u058F\u060B\u09F2-\u09F3\u0AF1\u0BF9\u0E3F\u17DB\u20A6\u20A8\u20B1\u2113\u20AA-\u20AB\u20AA\u20AC-\u20AD\u20B9]/.test(e)}},{key:"isWordAmpersand",value:function(e){return/&amp;|&/.test(e)}},{key:"startsWithSymbol",value:function(e){if("string"!=typeof e)throw new Error("Parameter 'word' must be a string. Received '".concat(n(e),"' instead."));if(0===e.length)return!1;var t=e.charAt(0);return"#"===t||"@"===t||"."===t}},{key:"escapeSpecialCharacters",value:function(e){return e.replace(/[&<>"']/g,(function(e){switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&#x27;";default:return e}}))}},{key:"unescapeSpecialCharacters",value:function(e){return e.replace(/&amp;|&lt;|&gt;|&quot;|&#x27;/g,(function(e){switch(e){case"&amp;":return"&";case"&lt;":return"<";case"&gt;":return">";case"&quot;":return'"';case"&#x27;":return"'";default:return e}}))}},{key:"endsWithSymbol",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[".",",",";",":","?","!"];if("string"!=typeof e||!Array.isArray(t))throw new Error("Invalid arguments");return t.some((function(t){return e.endsWith(t)}))||t.includes(e.slice(-2))}},{key:"isWordIgnored",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.ignoredWordList;if(!Array.isArray(n))throw new TypeError("Invalid input: ignoredWords must be an array.");if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");return t=e.toLowerCase().trim(),n.includes(t)}},{key:"isWordInArray",value:function(e,t){return!!Array.isArray(t)&&t.some((function(t){return t.toLowerCase()===e.toLowerCase()}))}},{key:"convertQuotesToCurly",value:function(e){for(var t={"'":["‘","’"],'"':["“","”"]},r="",n=0;n<e.length;n++){var a=e[n],i=t[a];if(i){var o=e[n-1],s=e[n+1],l=o&&" "!==o&&"\n"!==o?i[1]:i[0];r+=l,l===i[1]&&/[.,;!?()\[\]{}:]/.test(s)&&(r+=s,n++)}else r+=a}return r}},{key:"replaceTerm",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||"object"!==n(t))throw new TypeError("Invalid input: replaceTermObj must be a non-null object.");var r;if(r=e.toLowerCase(),t.hasOwnProperty(r))return t[r];if(t.hasOwnProperty(e))return t[e];var a=e.toUpperCase();return t.hasOwnProperty(a)?t[a]:e}},{key:"isElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim().toLowerCase().replace(/'/g,"’"),a=l(r);try{for(a.s();!(t=a.n()).done;){var i=t.value;if(n.startsWith(i))return!0}}catch(e){a.e(e)}finally{a.f()}return!1}},{key:"normalizeElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim(),a=n.replace(/'/g,"’").toLowerCase(),i=l(r);try{for(i.s();!(t=i.n()).done;){var o=t.value;if(a.startsWith(o)){var s=o.length,u=n.slice(s);return o.charAt(0).toUpperCase()+o.slice(1)+(u.length>0?u.charAt(0).toUpperCase()+u.slice(1):"")}}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"correctSuffix",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t)||t.some((function(e){return"string"!=typeof e})))throw new TypeError("Invalid input: correctTerms must be an array of strings.");if(/'s$/i.test(e)){var r=e.slice(0,-2),n=t.findIndex((function(e){return e.toLowerCase()===r.toLowerCase()}));if(n>=0){var a=t[n];return"".concat(a,"'s")}var i=r.charAt(0).toUpperCase()+r.slice(1);return"".concat(i,"'s")}return e}},{key:"correctTerm",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/[-']/;if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t))throw new TypeError("Invalid input: correctTerms must be an array.");if(!("string"==typeof r||Array.isArray(r)||r instanceof RegExp))throw new TypeError("Invalid input: delimiters must be a string, an array of strings, or a regular expression.");"string"==typeof r?r=new RegExp("[".concat(r,"]")):Array.isArray(r)&&(r=new RegExp("[".concat(r.join(""),"]")));for(var n=e.split(r),a=n.length,i=function(){var e=n[o].toLowerCase(),r=t.findIndex((function(t){return t.toLowerCase()===e}));n[o]=r>=0?t[r]:n[o].charAt(0).toUpperCase()+n[o].slice(1).toLowerCase()},o=0;o<a;o++)i();var s=r.source.charAt(0);return e.includes("-")?s="-":e.includes("'")&&(s="'"),n.join(s)}},{key:"correctTermHyphenated",value:function(t,n){var a=t.match(/[-–—]/);if(!a)return t;var i=a[0],o=t.split(/[-–—]/),s=o.some((function(e){return r.regionalAcronymList.includes(e.toLowerCase().replace(/[^\w]/g,""))})),l=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},u=function(e){return e.charAt(0)+e.slice(1).toLowerCase()},c={ap:function(e,t){return s||0===t?l(e):u(e)},chicago:l,apa:function(t,r,a){return!s&&e.isShortWord(t,n)&&r>0&&r<a-1?t.toLowerCase():l(t)},nyt:l,wikipedia:function(e,t){return 0===t?l(e):u(e)}}[n]||u;return o.map((function(e,t){var n=e,a=e.toLowerCase().replace(/[^\w]/g,"");if(r.regionalAcronymList.includes(a))return e.toUpperCase();if(/^(M{0,3})(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i.test(e))return e.toUpperCase();var i=e.toLowerCase(),s=r.specialTermsList.findIndex((function(e){return e.toLowerCase()===i}));return s>=0&&(n=r.specialTermsList[s]),c(n,t,o.length)})).join(i)}}],(o=null)&&p(t.prototype,o),u&&p(t,u),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,u}();d(f,"TitleCaseValidator",void 0),d(f,"titleCaseOptionsCache",new Map),d(f,"isNeverCapitalizedCache",new Map)}.apply(t,n),void 0===a||(e.exports=a)},223(e){"use strict";e.exports=JSON.parse('{"sports":["FIFA","UEFA","NBA","NFL","MLB","NHL","NASCAR","IOC","FIBA","ATP","WTA","PGA","LPGA","FIA","WADA","ITF","AFL","NRL","ICC","IRB","IHF","FIVB","FINA","UCI","IAAF","ISU","WSF","BWF","WBC","WBO","IBF","IBO","UEFA","CONMEBOL","CONCACAF","CAF","AFC","OFC","CPL","MLS","LaLiga","Bundesliga","Ligue1","Eredivisie","JLeague","KLeague","Ryder Cup","Davis Cup","FedCup","XGames","Olympics","Paralympics","Dakar"],"apple":["Apple","AirDrop","AirPlay","AirPods","AirTags","FinalCut","GarageBand","iBooks","iCloud","iLife","iMac","iMessage","iMovie","iPhoto","iWatch","iWork","LogicPro","macOS","ProTools","QuickTime","iPhone","iPad","iPod","iOS","macOS","tvOS","watchOS"],"corporate":["Deloitte","Devoteam","ExxonMobil","GE","Boeing","Shell","Chevron"],"tech":["Bing","Salesforce","Asus","Acer","Lenovo","Huawei","Xiaomi","Epson","Nvidia","AMD","Qualcomm","Logitech","Panasonic","Sharp","Toshiba","Philips","Fujitsu","Netgear","Lexmark","Razer","SAP","Symantec","Kaspersky","Avast","McAfee","Siemens","Canon","Nikon","Garmin","GoPro","Oculus","Zoom","Slack","Trello","WeChat","Alibaba","Tencent","Baidu","Roku","Fitbit","Dropbox","Reddit","TikTok","Slack","Trello","Uber","Zoom","Reddit","Quora","JIRA","ZoomInfo","HubSpot","Mailchimp","WeChat","Dropbox","Uber","Telegram","Discord","StackOverflow","Quora","Reddit","ZoomInfo","Airbnb","LinkedIn","Snapchat","GitHub","GitLab","Nginx","OpenSSL","Webpack","Unity3D","Figma","JIRA","Kubernetes","TensorFlow","NPM","WooCommerce","WordPress","Slack","Trello","Uber","Zoom","Reddit","Quora","WeChat","Dropbox","Telegram","Discord","StackOverflow","Airbnb","LinkedIn","Snapchat","JIRA","MobX","VMware","Google"],"business":["Visa","Mastercard","Citibank","JPMorgan","Barclay","AMEX","Citigroup","PayPal","BNP","HSBC","Santander","UBS","Allianz","Prudential","Vanguard","BlackRock","CapitalOne","TD","Robinhood","MoneyGram","SoFi","Experian","Equifax","TransUnion","MasterCard","Blockchain","Coinbase","Binance","Kraken","Ethereum","Bitcoin"],"automotive":["BMW","Ford","Mercedes","Nissan","Tesla","Toyota","Audi","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Honda","Hyundai","Infiniti","Jaguar","Jeep","Kia","Lamborghini","LandRover","Lexus","Maserati","Mazda","McLaren","Mitsubishi","Peugeot","Porsche","Renault","RollsRoyce","Saab","Subaru","Suzuki","Volkswagen","Volvo","Alfa Romeo","Bentley","Bugatti","Cadillac","Citroen","Daewoo","Daihatsu","Datsun","DeLorean","Fiat Chrysler","GMC","Holden","Hummer","Isuzu","Koenigsegg","Lancia","Lincoln","Lotus","Mahindra","Suzuki","Opel","Pagani","Perodua","Proton","Rover","Scania","Skoda","SsangYong","Tata","Vauxhall","VinFast","Yugo","Zenvo"],"media":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","HBO","Showtime","Starz","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Vine","Zynga","Tidal","Quibi","Crave","Gaia","PlutoTV","Vudu","Kanopy","Mubi","BritBox"],"telecom":["Verizon","Sprint","Nokia","Ericsson","Vodafone","AT&T","Huawei","Xiaomi","Orange","NTT","T-Mobile","Telefonica","Airtel","Telstra","Rogers","Bell","MTN","ZTE","Qualcomm","Motorola","Telus","BT","Swisscom","SoftBank","KDDI"],"entertainment":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","Pandora","HBO","Showtime","Starz","Paramount","Peacock","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Zynga","Tidal","Oscars"],"retail":["Amazon","eBay","IKEA","Walmart","Zara","Target","Costco","Sephora","Nordstrom","Tesco","Asda","Aldi","Lidl","Carrefour","Uniqlo","H&M","Gap","Cabela’s","BassPro","REI","Ulta","Saks","JCPenney","Belk","Argos","Safeway","Kroger","Publix","HomeDepot","Woolworths","Staples","OfficeMax","B&H","Newegg","MicroCenter","Frys","Monoprix","Waitrose","Morrisons","Ocado","Flipkart","Rakuten","Alibaba","JD","Taobao","Tmall","Guomei","Suning"],"food":["Nestle","Pepsi","Coca-Cola","PepsiCo","Starbucks","KFC","BurgerKing","PizzaHut","TacoBell","Kroger","Costco","Woolworths","Carrefour","Tesco","Aldi","Lidl","Walmart","Safeway","Publix","WholeFoods","RedBull","Monster","Nespresso","Heineken","Budweiser","Corona","Guinness","GeneralMills","Unilever","Kraft","Heinz","Danone","Campbell","Tyson","Conagra","Mondelez","Suntory","Diageo","Pernod"],"pharmaceutical":["Pfizer","Moderna","Gilead","Merck","Novartis","Sanofi","Roche","AbbVie","Amgen","Bayer","Biogen","BristolMyers","Celgene","GSK","Janssen","Lilly","Medtronic","Mylan","NovoNordisk","Regeneron","Teva","AstraZeneca","Boehringer","Daiichi","Eisai","Genentech","Grifols","Ipsen","Mundipharma","Otsuka","Purdue","Sandoz","Servier","SunPharma","Takeda","UCB","Viatris","Wockhardt","Zydus","Alkem"],"nonprofit":["NGO","NPO","NGOs","NPOs","UN","UNESCO","UNICEF","UNHCR","UNODC","UNDP","UNFPA","UNEP","UNRWA"]}')},814(e){"use strict";e.exports=JSON.parse('{"commercial":["Ltd.","LLC","PLC","Co.","Inc.","St.","Ave.","Bldg.","No.","GmbH"],"titles":["CEO","CEOs","CFO","CFOs","CIO","CIOs","CMO","CMOs","COO","COOs","CPO","CPOs","CRO","CROs","CSO","CSOs","CTO","CTOs","EVP","EVPs","HR","HRs","SVP","SVPs","VP","VPs","CMTO","CDO"],"accounting":["AP","COGS","EBIT","EPS","FIFO","GAAP","LIFO","P&L","ROI","SOX","TCO","VAT","EBITDA","NPV","WACC","AR"],"finance":["CAGR","DCF","ETF","IPO","IRR","M&A","NAV","PE","PEG","PPE","ROE","S&P","TVM","VC","FOMC","FX","ETF"],"legal":["AFA","ADR","CCPA","CFAA","CISG","DMCA","EULA","GDPR","HIPAA","NDA","SOW","TOS","LLM","JD","Esq.","AG","SARL","KYC","AML","ph.d.","m.d.","d.d.s.","d.m.d.","d.o.","d.c.","d.v.m.","d.n.p.","d.p.m.","d.s.w.","d.s.n.","d.n.sc.","d.n.a.","d.n.t.","d.n.p.t.","d.n.o.","d.n.m.","d.n.e.","d.n.s.","d.n.p.s."]}')},661(e){"use strict";e.exports=JSON.parse('{"eterms":["eBook","eBooks","eMarket","eMarketplace","eMarketplaces","eMarkets","eReader","eShop","eShops","eStore","eStores","E-commerce","E-com"]}')},157(e){"use strict";e.exports=JSON.parse('{"countries":["Afghanistan","Albania","Algeria","Andorra","Angola","Antigua and Barbuda","Argentina","Armenia","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","Brunei","Bulgaria","Burkina Faso","Burundi","Cabo Verde","Cambodia","Cameroon","Canada","Central African Republic","Chad","Chile","China","Colombia","Comoros","Congo","Costa Rica","Cote d\'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Eswatini","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Greece","Grenada","Guatemala","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Israel","Italy","Jamaica","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Korea","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Zealand","Nicaragua","Niger","Nigeria","North Macedonia","Norway","Oman","Pakistan","Palau","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Qatar","Romania","Russia","Rwanda","Saint Kitts and Nevis","Saint Lucia","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe"],"alpha2":["UK"],"alpha3":["USA"]}')},321(e){"use strict";e.exports=JSON.parse('{"advertising":["AdWords","AdSense","AdMob","DoubleClick","SpotX"],"digitalMarketing":["DSP","SSP","CTR","CPA","CPC","CPL","CPM","CRM","SEO","SEM","SMM","A/B","CTOR","KPI","SERP","FAQ","PR"],"general":["B2B","B2C","CMO","USP","PWA","SMO","T&C","TOS","PP","UI","UX","UI/UX"],"blockchain":["PoE","PoW","PoC"],"accessibility":["A11Y"]}')},16(e){"use strict";e.exports=JSON.parse('{"ranks":["Pvt.","Cpl.","Sgt.","SSgt.","GySgt.","MSgt.","1stSgt.","SgtMaj.","WO1","CW2","CW3","CW4","CW5","2ndLt.","1stLt.","Capt.","Maj.","LtCol.","Col.","BrigGen.","MajGen.","LtGen.","Gen.","Adm.","Cpt.","Cmdr.","Lt.","Ens."],"branches":["Army","Navy","Air Force","Marines","Coast Guard","Space Force","National Guard","People\'s Liberation Army","Russian Ground Forces","JASDF","ROKA"],"units":["Platoon","Company","Battalion","Regiment","Brigade","Division","Corps","Squad","Fleet","Wing","Squadron","Task Force","Eurocorps","Battlegroup","Rapid Reaction Force","Joint Expeditionary Force"],"acronyms":["DoD","NATO","EUFOR","EUTM","OSCE","UNSC","JAG","ROTC","AFB","MOS","AWOL","MRE","IED","FOB","TOC","CONUS","OCONUS","UCMJ","USMC","USAF","USN","USA","SOCOM","CENTCOM","NORAD","PACOM","JTF","RPG","SAM","ASEAN","AUKUS","QUAD","CSTO","SCO","CFSP","EEAS","EUMS","Frontex","GRU","FSB","PLAN","PLAAF"],"equipment":["Humvee","MRAP","Apache","Black Hawk","Bradley","Abrams","F-16","F-22","F-35","B-2","B-52","C-130","LCAC","MRE"],"operations":["Operation Desert Storm","Operation Enduring Freedom","Operation Iraqi Freedom","Operation Inherent Resolve"],"treaties":["Lisbon Treaty","Maastricht Treaty","Treaty of Rome","Nice Treaty","Schengen Agreement"],"regions":["South China Sea","Taiwan Strait","Korean DMZ","Kashmir","Kuril Islands","Senkaku Islands"],"alliances":["NATO","AUKUS","QUAD","ASEAN","SCO","CSTO","Five Eyes"]}')},742(e){"use strict";e.exports=JSON.parse('{"miscellaneous":["w/","w/o","Open Source","Cybersecurity","Ecosystem","Biodiversity","LGBT","LGBTQ+","LGBTQIA+","2SLGBTQ+","BIPOC"]}')},501(e){"use strict";e.exports=JSON.parse('{"terms":["API","APIs","ASCII","CI","CLI","DLL","DNS","EC2","FTP","HTTP","HTTPS","ICMP","IDE","IP","ISP","LPWAN","M2M","MQTT","OOP","REST","SSH","SSL","TCP","UDP","URL","WLAN","WYSIWYG","IMAP","RSS","IaaS","PaaS","SaaS","CaaS","FaaS","XaaS","RaaS","IoE","IoT","LoRa","NB-IoT","RFID","RF","RFI","RFQ","ECMAScript","IO","I/O","DevOps","SecOps","DDoS","VoIP","AI","AR","ML","VR","CI/CD","DevSecOps","UI/UX","UX/UI","UI","UX","MVC","ORM","3G","4G","5G","NumPy","VPN","PKI","WAN","NAT","GPU","SSD","HDD","RAM","Frontend","Backend","Fullstack"],"legal":["DMCA","GDPR","HIPAA","NDA","SOW","TOS"],"languages":["JavaScript","TypeScript","Java","PHP","SQL","CSS",".NET","ES5","ES6","NoSQL","DynamoDB","Terraform","CloudFormation","RDS","Python","Ruby","Go","Swift","Kotlin","Perl"],"formats":["JSON","XML","YAML","GraphQL","WebSocket","RESTful"],"secops":["RaaS","DevSecOps","SecOps","Cybersecurity","DDoS"],"technologies":["AWS","Azure","GCP","VMware","Docker","Ansible","Chef","Puppet","Git","Subversion","Jenkins","CircleCI","Hadoop","Spark","BigQuery","PowerBI","Tableau"],"os":["Android","macOS","Windows","Linux","iOS","Ubuntu","CentOS","Fedora","Debian","SUSE","HarmonyOS","FreeRTOS","BeOS","BSD","Cordova","Flutter"],"programming":["Angular","Bootstrap","CodeIgniter","jQuery","Laravel","Redux","Vue.js","VueX","SCSS","AJAX","GraphQL","HTML","HTML5","MySQL","MongoDB","PostgresQL","SQLite","ASP","ASPX","Elasticsearch","Nginx","OpenSSL","Webpack","Unity3D","Kubernetes","TensorFlow","NPM","cURL"]}')},491(e){"use strict";e.exports=JSON.parse('{"timeRelated":["a.m.","p.m.","ca.","cc.","fig.","pl.","pt.","rev.","sr.","v.","vol.","et al.","pp.","p."],"academic":["adj.","adv.","cf.","cm.","co.","corp.","dept.","dist.","ed.","edn.","esp.","etc.","ex.","i.e.","e.g.","op. cit.","vs."]}')}},t={};(function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports})(987)})();
5
+ */(()=>{var e={987(e,t,r){var n,a;n=[t,r(388)],void 0===(a=function(e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TitleCaser",{enumerable:!0,get:function(){return r.TitleCaser}}),t.default=void 0,void 0===String.prototype.toTitleCase&&(String.prototype.toTitleCase=function(e){return new r.TitleCaser(e).toTitleCase(this)}),"undefined"!=typeof window&&window.document&&(window.TitleCaser=r.TitleCaser);t.default=r.TitleCaser}.apply(t,n))||(e.exports=a)},388(e,t,r){var n,a;n=[t,r(416),r(279)],a=function(e,r,n){"use strict";function a(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||s(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return l(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function p(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==u(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaser=void 0;t.TitleCaser=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options=t,this.debug=t.debug||!1,this.wordReplacementsList=JSON.parse(JSON.stringify(r.wordReplacementsList)),this.phraseReplacementMap=JSON.parse(JSON.stringify(r.phraseReplacementMap))}return t=e,s=[{key:"logWarning",value:function(e){this.debug&&console.warn("Warning: ".concat(e))}},{key:"toTitleCase",value:function(t){var a=this;try{if("string"!=typeof t)throw new TypeError("Invalid input: input must be a string.");if(0===t.length)throw new TypeError("Invalid input: input must not be empty.");if(t.length>1e5)throw new TypeError("Invalid input: input exceeds maximum length of 100,000 characters.");if(void 0!==this.options&&"object"!==u(this.options))throw new TypeError("Invalid options: options must be an object.");var s=this.options,l=s.style,c=void 0===l?"ap":l,p=s.neverCapitalize,d=void 0===p?[]:p,f=s.wordReplacementsList,y=void 0===f?this.wordReplacementsList:f,m=s.smartQuotes,g=void 0!==m&&m,h=s.normalizeWhitespace,C=void 0===h||h,v=r.styleConfigMap[c]||{},S=["nl2br"].concat(o(d)),b=n.TitleCaserUtils.getTitleCaseOptions(this.options,r.shortWordsList,y),A=(b.articlesList,b.shortConjunctionsList,b.shortPrepositionsList,b.neverCapitalizedList,b.replaceTerms,b.smartQuotes,y.map((function(e){return Object.keys(e)[0].toLowerCase()}))),w=Object.fromEntries(y.map((function(e){return[Object.keys(e)[0].toLowerCase(),Object.values(e)[0]]})));this.logWarning("replaceTermsArray: ".concat(A)),this.logWarning("this.wordReplacementsList: ".concat(this.wordReplacementsList));var T=t;T=T.replace(r.REGEX_PATTERNS.HTML_BREAK," nl2br "),n.TitleCaserUtils.isEntirelyUppercase(T.replace(/[^a-zA-Z]/g,""))&&(this.logWarning("Input string is entirely uppercase, normalizing to lowercase first"),T=T.toLowerCase());var L=T.split(/(\s+)/),O=L.map((function(e,t){if(!e||/^\s+$/.test(e))return e;var i=e;switch(!0){case n.TitleCaserUtils.isWordAmpersand(i):case n.TitleCaserUtils.hasHtmlBreak(i):case n.TitleCaserUtils.isWordIgnored(i,S):return i;case A.includes(i.toLowerCase()):return w[i.toLowerCase()];case n.TitleCaserUtils.isWordInArray(i,r.specialTermsList):return n.TitleCaserUtils.correctTerm(i,r.specialTermsList);case n.TitleCaserUtils.isElidedWord(i):return n.TitleCaserUtils.normalizeElidedWord(i);case n.TitleCaserUtils.hasHyphen(i):var o=i.replace(/[\W_]+$/,""),s=i.slice(o.length),l=o.split("-"),u=l.map((function(e){var t=e.toLowerCase();return A.includes(t)?w[t]:e})),p=u.every((function(e,t){return e===l[t]}))?n.TitleCaserUtils.correctTermHyphenated(i,c):u.join("-");return p.endsWith(s)?p:p+s;case n.TitleCaserUtils.hasSuffix(i,c):return n.TitleCaserUtils.correctSuffix(i,r.specialTermsList);case n.TitleCaserUtils.hasUppercaseIntentional(i):return i;case n.TitleCaserUtils.isShortWord(i,c)&&0!==t:for(var d=null,f=t-1;f>=0;f--)if(!/^\s+$/.test(L[f])){d=L[f];break}return d&&n.TitleCaserUtils.endsWithSymbol(d,[":","?","!","."])?i.charAt(0).toUpperCase()+i.slice(1):n.TitleCaserUtils.normalizeCasingForWordByStyle(i,c);case n.TitleCaserUtils.endsWithSymbol(i):a.logWarning("Check if the word ends with a symbol: ".concat(i));var y=i.split(r.REGEX_PATTERNS.SPLIT_AT_PUNCTUATION);a.logWarning("Splitting word at symbols, result: ".concat(y));var m=y.map((function(e){if(a.logWarning("Processing part: ".concat(e)),n.TitleCaserUtils.endsWithSymbol(e))return a.logWarning("Part is a symbol: ".concat(e)),e;if(a.logWarning("Part is a word: ".concat(e)),n.TitleCaserUtils.isWordInArray(e,r.specialTermsList)){var t=n.TitleCaserUtils.correctTerm(e,r.specialTermsList);return a.logWarning("Word is in specialTermsList, corrected term: ".concat(t)),t}if(A.includes(e)){var i=w[e];return a.logWarning("Word is in replaceTermsArray, replacement: ".concat(i)),i}var o=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();return a.logWarning("Applying title casing to word: ".concat(o)),o}));return m.join("");case n.TitleCaserUtils.startsWithSymbol(i):return n.TitleCaserUtils.isWordInArray(i,r.specialTermsList)?n.TitleCaserUtils.correctTerm(i):i;case n.TitleCaserUtils.hasRomanNumeral(i):return i.toUpperCase();case n.TitleCaserUtils.hasNumbers(i):return i;default:return i.charAt(0).toUpperCase()+i.slice(1).toLowerCase()}}));T=(T=O.join("")).replace(/nl2br/gi,"<br>"),g&&(T=n.TitleCaserUtils.convertQuotesToCurly(T));for(var P=T.split(/(\s+)/),E=P.filter((function(e){return!/^\s+$/.test(e)})),I=E[0]||null,R=E[1]||null,k=0;k<P.length;k++)if(!/^\s+$/.test(P[k])){for(var F=null,M=k-1;M>=0;M--)if(!/^\s+$/.test(P[M])){F=P[M];break}for(var U=null,N=k+1;N<P.length;N++)if(!/^\s+$/.test(P[N])){U=P[N];break}var B=P[k],W=B.match(r.REGEX_PATTERNS.TRAILING_PUNCTUATION),j="";W&&(j=W[0],B=B.replace(r.REGEX_PATTERNS.TRAILING_PUNCTUATION,"")),n.TitleCaserUtils.isRegionalAcronymNoDot(B,U,F)&&(B=n.TitleCaserUtils.normalizeRegionalAcronym(B)),""!==j&&(B+=j),P[k]=B}for(var D=(T=P.join("")).split(/(\s+)/),G=1;G<D.length-1;G++){var x=D[G];D[G-1],D[G+1],x===x.toUpperCase()||n.TitleCaserUtils.hasUppercaseIntentional(x)||n.TitleCaserUtils.isWordInArray(x,r.shortWordsList)&&(D[G]=x.length<=3?x.toLowerCase():x)}for(var z=(T=D.join("")).split(/(\s+)/),H=0;H<z.length;H++)if(!/^\s+$/.test(z[H])){for(var V=z[H],K=null,Q=H-1;Q>=0;Q--)if(!/^\s+$/.test(z[Q])){K=z[Q];break}for(var J=null,_=H+1;_<z.length;_++)if(!/^\s+$/.test(z[_])){J=z[_];break}J&&n.TitleCaserUtils.isRegionalAcronymNoDot(V,J,K)&&(z[H]=V.toUpperCase())}var X=z.filter((function(e){return!/^\s+$/.test(e)})),Z=X[X.length-1],$=X[X.length-2],q=X[X.length-3];I&&n.TitleCaserUtils.isRegionalAcronym(I)&&(this.logWarning("firstWord is a regional acronym: ".concat(I)),z[0]=I.toUpperCase()),I&&R&&n.TitleCaserUtils.isRegionalAcronymNoDot(I,R)&&(z[0]=I.toUpperCase()),Z&&$&&n.TitleCaserUtils.isFinalWordRegionalAcronym(Z,$,q)&&(z[z.length-1]=Z.toUpperCase()),T=z.join("");for(var Y=0,ee=Object.entries(this.phraseReplacementMap);Y<ee.length;Y++){var te=i(ee[Y],2),re=te[0],ne=te[1],ae=new RegExp(re.replace(r.REGEX_PATTERNS.REGEX_ESCAPE,"\\$&"),"gi");T=T.replace(ae,ne)}if("sentence"===v.caseStyle){for(var ie=T.split(/(\s+)/),oe=!1,se=0;se<ie.length;se++){var le=ie[se];oe||!/[A-Za-z]/.test(le)?e.shouldKeepCasing(le,r.specialTermsList)||(ie[se]=le.toLowerCase()):(e.shouldKeepCasing(le,r.specialTermsList)||(ie[se]=le.charAt(0).toUpperCase()+le.slice(1).toLowerCase()),oe=!0)}T=ie.join("")}return C&&(T=T.replace(/\s+/g," ").trim()),T}catch(e){throw e instanceof Error?e:new Error(String(e))}}},{key:"setReplaceTerms",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: setReplaceTerms must be an array of objects.");if(e.forEach((function(e){if(e&&"object"===u(e)){var r=i(Object.entries(e)[0],2),n=r[0],o=r[1],s=t.wordReplacementsList.findIndex((function(e){return e.hasOwnProperty(n)}));-1!==s?t.wordReplacementsList[s][n]=o:t.wordReplacementsList.push(a({},n,o))}else console.warn("Invalid entry in terms array:",e)})),this.wordReplacementsList.length>2e3)throw new Error("Too many replacement rules.");this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addReplaceTerm",value:function(e,t){if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Invalid argument: term and replacement must be strings.");var r=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));if(-1!==r?this.wordReplacementsList[r][e]=t:this.wordReplacementsList.push(a({},e,t)),this.wordReplacementsList.length>2e3)throw new Error("Too many replacement rules.");this.options.wordReplacementsList=this.wordReplacementsList}},{key:"removeReplaceTerm",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: term must be a string.");var t=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));if(-1===t)throw new Error("Term '".concat(e,"' not found in word replacements list."));this.wordReplacementsList.splice(t,1),this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addExactPhraseReplacements",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: newPhrases must be an array.");e.forEach((function(e){if("object"!==u(e)||Array.isArray(e)||1!==Object.keys(e).length){if("object"!==u(e)||Array.isArray(e))throw new TypeError("Invalid argument: Each item must be an object with a single key-value pair.");Object.entries(e).forEach((function(e){var r=i(e,2),n=r[0],a=r[1];if("string"!=typeof n||"string"!=typeof a)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[n]=a}))}else{var r=Object.keys(e)[0],n=e[r];if("string"!=typeof r||"string"!=typeof n)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[r]=n}})),this.logWarning("Log the this.phraseReplacementMap: ".concat(this.phraseReplacementMap))}},{key:"setStyle",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: style must be a string.");this.options.style=e}}],l=[{key:"shouldKeepCasing",value:function(e,t){return!!n.TitleCaserUtils.isRegionalAcronym(e)||!!n.TitleCaserUtils.hasUppercaseIntentional(e)||!!n.TitleCaserUtils.isWordInArray(e,t)}}],s&&c(t.prototype,s),l&&c(t,l),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,s,l}()}.apply(t,n),void 0===a||(e.exports=a)},416(e,t,r){var n,a;n=[t,r(223),r(814),r(661),r(157),r(321),r(742),r(501),r(491),r(16)],a=function(e,r,n,a,i,o,s,l,u,c){"use strict";function p(e){return e&&e.__esModule?e:{default:e}}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function f(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),t.wordReplacementsList=t.styleConfigMap=t.specialTermsList=t.shortWordsList=t.regionalAcronymPrecedingWordsList=t.regionalAcronymList=t.regionalAcronymFollowingWordsList=t.phraseReplacementMap=t.ignoredWordList=t.allowedStylesList=t.TITLE_CASE_STYLES=t.REGEX_PATTERNS=void 0,r=p(r),n=p(n),a=p(a),i=p(i),o=p(o),s=p(s),l=p(l),u=p(u),c=p(c);var m=function(){for(var e=[],t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.forEach((function(t){Array.isArray(t)?t.forEach((function(t){Object.values(t).forEach((function(t){e.push.apply(e,f(t))}))})):"object"===d(t)&&Object.values(t).forEach((function(t){e.push.apply(e,f(t))}))})),f(new Set(e))}(r.default,n.default,a.default,i.default,o.default,s.default,l.default,u.default,c.default),g=(t.specialTermsList=m,t.shortWordsList=["the","in","to","within","towards","into","at","of","for","by","on","from","with","through","about","across","over","under","between"],t.wordReplacementsList=[{"a.k.a":"AKA"},{"a.s.a.p":"ASAP"},{"f.a.q":"FAQ"},{"f.a.q.s":"FAQs"},{FAQS:"FAQs"},{"f.y.i":"FYI"},{"d.i.y":"DIY"},{"t.b.d":"TBD"},{"back-end":"Backend"},{"front-end":"Frontend"},{"full-stack":"Fullstack"},{nodejs:"Node.js"},{nextjs:"Next.js"},{nuxtjs:"Nuxt.js"},{reactjs:"React"},{"react.js":"React"},{"cyber-security":"Cybersecurity"}],t.TITLE_CASE_STYLES=Object.freeze({AP:"ap",APA:"apa",BRITISH:"british",CHICAGO:"chicago",NYT:"nyt",WIKIPEDIA:"wikipedia"}));t.allowedStylesList=Object.values(g),t.styleConfigMap=Object.freeze({ap:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},apa:{caseStyle:"title",shortConjunctionsList:["and","as","but","for","if","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["as","at","by","for","in","of","off","on","per","to","via"],neverCapitalizedList:[]},british:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},chicago:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:["etc."]},nyt:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},wikipedia:{caseStyle:"sentence",shortConjunctionsList:["and","as","but","for","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]}}),t.ignoredWordList=[],t.phraseReplacementMap={"the cybersmile foundation":"The Cybersmile Foundation","co. by colgate":"CO. by Colgate","on & off":"On & Off","on and off":"On and Off"},t.REGEX_PATTERNS=Object.freeze({TRAILING_PUNCTUATION:/[.,!?;:]+$/,SPLIT_AT_PUNCTUATION:/([.,\/#!$%\^&\*;:{}=\-_`~()?])/g,HTML_BREAK:/<\s*br\s*\/?\s*>/gi,MULTIPLE_SPACES:/ {2,}/g,REGEX_ESCAPE:/[.*+?^${}()|[\]\\]/g}),t.regionalAcronymList=["usa","us","u.s.a","u.s.","u.s","u.s.a.","eu","e.u.","e.u","uk","u.k.","u.k"],t.regionalAcronymPrecedingWordsList=["the","via","among","across","beyond","outside","alongside","throughout","despite","unlike","upon"],t.regionalAcronymFollowingWordsList=["act","acts","administration","administrations","agency","agencies","agreement","agreements","airforce","airforces","aid","alliance","alliances","ambassador","ambassadors","authority","authorities","bill","bills","bloc","blocs","budget","budgets","bureau","bureaus","cabinet","cabinets","charter","charters","command","commands","commission","commissions","conference","conferences","congress","congresses","convention","conventions","council","councils","court","courts","defense","defences","defence","defenses","delegation","delegations","democracy","democracies","department","departments","development","developments","directive","directives","diplomacy","division","divisions","economy","economies","embassy","embassies","engagement","engagements","envoy","envoys","exports","federation","federations","finance","finances","forces","framework","frameworks","funding","government","governments","hearing","hearings","imports","initiative","initiatives","intel","intelligence","intervention","interventions","jurisdiction","jurisdictions","law","laws","leadership","leaders","legislation","liaison","liaisons","mandate","mandates","markets","marines","military","militaries","ministry","ministries","mission","missions","navy","navies","negotiations","office","offices","operations","oversight","parliament","parliaments","plan","plans","policies","policy","policy-makers","precedent","precedents","presence","program","programme","programmes","programs","project","projects","protocol","protocols","province","provinces","reform","reforms","regulation","regulations","regulator","regulators","relations","representation","representations","republic","republics","resolution","resolutions","ruling","rulings","sanctions","security","securities","senate","senates","service","services","state","states","statute","statutes","strategy","strategies","summit","summits","summitry","surveillance","talks","tariffs","territory","territories","trade","trades","treasury","treasuries","treaty","treaties","tribunal","tribunals","troops","union","unions","veterans","warships","zone","zones"]}.apply(t,n),void 0===a||(e.exports=a)},279(e,t,r){var n,a;n=[t,r(416)],a=function(e,r){"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=u(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw i}}}}function u(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function d(e,t,r){return(t=f(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaserUtils=void 0;var y=t.TitleCaserUtils=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,u=[{key:"validateOption",value:function(e,t){if(!Array.isArray(t))throw new TypeError("Invalid option: ".concat(e," must be an array"));if(!t.every((function(e){return"string"==typeof e})))throw new TypeError("Invalid option: ".concat(e," must be an array of strings"))}},{key:"validateOptions",value:function(t){for(var n=0,a=Object.keys(t);n<a.length;n++){var i=a[n];if("style"!==i)if("wordReplacementsList"!==i){if(!r.styleConfigMap.hasOwnProperty(i))throw new TypeError("Invalid option: ".concat(i));e.validateOption(i,t[i])}else{if(!Array.isArray(t.wordReplacementsList))throw new TypeError("Invalid option: ".concat(i," must be an array"));var o,s=l(t.wordReplacementsList);try{for(s.s();!(o=s.n()).done;)if("string"!=typeof o.value)throw new TypeError("Invalid option: ".concat(i," must contain only strings"))}catch(e){s.e(e)}finally{s.f()}}else{if("string"!=typeof t.style)throw new TypeError("Invalid option: ".concat(i," must be a string"));if(!r.allowedStylesList.includes(t.style))throw new TypeError("Invalid option: ".concat(i," must be a string"))}}}},{key:"getTitleCaseOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=t.style||"ap",l=!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes,u="".concat(o,"|").concat(l,"|").concat(n.length>0?n.sort().join(","):"");if(e.titleCaseOptionsCache.has(u))return e.titleCaseOptionsCache.get(u);var c=s(s(s({},r.styleConfigMap[t.style||"ap"]),t),{},{smartQuotes:!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes}),p=i(new Set([].concat(i(c.articlesList),i(n)))),d=i(new Set([].concat(i(c.shortConjunctionsList),i(n)))),f=i(new Set([].concat(i(c.shortPrepositionsList),i(n)))),y=[].concat(i((c.replaceTerms||[]).map((function(e){var t=a(e,2),r=t[0],n=t[1];return[r.toLowerCase(),n]}))),i(r.wordReplacementsList)),m={articlesList:p,shortConjunctionsList:d,shortPrepositionsList:f,neverCapitalizedList:i(c.neverCapitalizedList),replaceTerms:y,smartQuotes:c.smartQuotes};return e.titleCaseOptionsCache.set(u,m),m}},{key:"capitalizeFirstLetter",value:function(e){return e.charAt(0).toUpperCase()+e.slice(1)}},{key:"isShortConjunction",value:function(t,r){var n=i(e.getTitleCaseOptions({style:r}).shortConjunctionsList),a=t.toLowerCase();return n.includes(a)}},{key:"isArticle",value:function(t,r){return e.getTitleCaseOptions({style:r}).articlesList.includes(t.toLowerCase())}},{key:"isShortPreposition",value:function(t,r){return e.getTitleCaseOptions({style:r}).shortPrepositionsList.includes(t.toLowerCase())}},{key:"isNeverCapitalized",value:function(t,r){var n="".concat(r,"_").concat(t.toLowerCase());if(e.isNeverCapitalizedCache.has(n))return e.isNeverCapitalizedCache.get(n);var a=e.getTitleCaseOptions({style:r}).neverCapitalizedList.includes(t.toLowerCase());return e.isNeverCapitalizedCache.set(n,a),a}},{key:"isShortWord",value:function(t,a){if("string"!=typeof t)throw new TypeError("Invalid input: word must be a string. Received ".concat(n(t),"."));if(!r.allowedStylesList.includes(a))throw new Error("Invalid option: style must be one of ".concat(r.allowedStylesList.join(", "),"."));return e.isShortConjunction(t,a)||e.isArticle(t,a)||e.isShortPreposition(t,a)||e.isNeverCapitalized(t,a)}},{key:"hasNumbers",value:function(e){return/\d/.test(e)}},{key:"hasUppercaseMultiple",value:function(e){for(var t=0,r=0;r<e.length&&t<2;r++)/[A-Z]/.test(e[r])&&t++;return t>=2}},{key:"hasUppercaseIntentional",value:function(e){if(e.length<=4)return/[A-Z]/.test(e.slice(1));var t=/[A-Z]/.test(e.slice(1)),r=/[a-z]/.test(e.slice(1));return t&&r}},{key:"isEntirelyUppercase",value:function(e){return e===e.toUpperCase()&&e!==e.toLowerCase()&&e.length>1}},{key:"isRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");if(e.length<2)return!1;var t=e.toLowerCase();return r.regionalAcronymList.includes(t)}},{key:"isRegionalAcronymNoDot",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w\s]/g,""),i=t.toLowerCase().replace(/[^\w\s]/g,"");return!!(n&&r.regionalAcronymList.includes(a)&&["the"].includes(n.toLowerCase()))||r.regionalAcronymList.includes(a)&&r.regionalAcronymFollowingWordsList.includes(i)}},{key:"isFinalWordRegionalAcronym",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w]/g,""),i=t.toLowerCase().replace(/[^\w]/g,""),o="string"==typeof n?n.toLowerCase().replace(/[^\w]/g,""):null;return!!(r.regionalAcronymList.includes(a)&&(r.regionalAcronymPrecedingWordsList.includes(i)||"the"===i&&o&&r.regionalAcronymPrecedingWordsList.includes(o)))}},{key:"normalizeRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");return e.toUpperCase()}},{key:"normalizeAcronymKey",value:function(e){return e.toLowerCase().replace(/\./g,"")}},{key:"normalizeCasingForWordByStyle",value:function(e,t){if(!e||!t||!r.styleConfigMap[t])return!1;var n=e.toLowerCase(),a=r.styleConfigMap[t],o=a.shortConjunctionsList,s=a.articlesList,l=a.shortPrepositionsList,u=a.neverCapitalizedList;return!![].concat(i(o),i(s),i(l),i(u)).includes(n)&&e}},{key:"hasSuffix",value:function(e){return e.length>2&&e.endsWith("'s")}},{key:"hasApostrophe",value:function(e){return-1!==e.indexOf("'")}},{key:"hasHyphen",value:function(e){return-1!==e.indexOf("-")||-1!==e.indexOf("–")||-1!==e.indexOf("—")}},{key:"hasRomanNumeral",value:function(e){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");var t=e.includes("'")?e.split("'"):[e],r=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i;return t.every((function(e){return r.test(e)}))}},{key:"hasHyphenRomanNumeral",value:function(t){if("string"!=typeof t||""===t)throw new TypeError("Invalid input: word must be a non-empty string.");for(var r=t.split("-"),n=0;n<r.length;n++)if(!e.hasRomanNumeral(r[n]))return!1;return!0}},{key:"hasHtmlBreak",value:function(e){return"nl2br"===e}},{key:"hasUnicodeSymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u0100-\u017F\u0180-\u024F\u0250-\u02AF\u02B0-\u02FF\u0300-\u036F\u0370-\u03FF\u0400-\u04FF\u0500-\u052F\u0530-\u058F\u0590-\u05FF\u0600-\u06FF\u0700-\u074F\u0750-\u077F\u0780-\u07BF\u07C0-\u07FF\u0800-\u083F\u0840-\u085F\u0860-\u087F\u0880-\u08AF\u08B0-\u08FF\u0900-\u097F\u0980-\u09FF\u0A00-\u0A7F\u0A80-\u0AFF\u0B00-\u0B7F\u0B80-\u0BFF\u0C00-\u0C7F\u0C80-\u0CFF\u0D00-\u0D7F\u0D80-\u0DFF\u0E00-\u0E7F\u0E80-\u0EFF\u0F00-\u0FFF]/.test(e)}},{key:"hasCurrencySymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u20AC\u20A0-\u20B9\u20BD\u20A1-\u20A2\u00A3-\u00A5\u058F\u060B\u09F2-\u09F3\u0AF1\u0BF9\u0E3F\u17DB\u20A6\u20A8\u20B1\u2113\u20AA-\u20AB\u20AA\u20AC-\u20AD\u20B9]/.test(e)}},{key:"isWordAmpersand",value:function(e){return/&amp;|&/.test(e)}},{key:"startsWithSymbol",value:function(e){if("string"!=typeof e)throw new Error("Parameter 'word' must be a string. Received '".concat(n(e),"' instead."));if(0===e.length)return!1;var t=e.charAt(0);return"#"===t||"@"===t||"."===t}},{key:"escapeSpecialCharacters",value:function(e){return e.replace(/[&<>"']/g,(function(e){switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&#x27;";default:return e}}))}},{key:"unescapeSpecialCharacters",value:function(e){return e.replace(/&amp;|&lt;|&gt;|&quot;|&#x27;/g,(function(e){switch(e){case"&amp;":return"&";case"&lt;":return"<";case"&gt;":return">";case"&quot;":return'"';case"&#x27;":return"'";default:return e}}))}},{key:"endsWithSymbol",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[".",",",";",":","?","!"];if("string"!=typeof e||!Array.isArray(t))throw new Error("Invalid arguments");return t.some((function(t){return e.endsWith(t)}))||t.includes(e.slice(-2))}},{key:"isWordIgnored",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.ignoredWordList;if(!Array.isArray(n))throw new TypeError("Invalid input: ignoredWords must be an array.");if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");return t=e.toLowerCase().trim(),n.includes(t)}},{key:"isWordInArray",value:function(e,t){return!!Array.isArray(t)&&t.some((function(t){return t.toLowerCase()===e.toLowerCase()}))}},{key:"convertQuotesToCurly",value:function(e){for(var t={"'":["‘","’"],'"':["“","”"]},r="",n=0;n<e.length;n++){var a=e[n],i=t[a];if(i){var o=e[n-1],s=e[n+1],l=o&&" "!==o&&"\n"!==o?i[1]:i[0];r+=l,l===i[1]&&/[.,;!?()\[\]{}:]/.test(s)&&(r+=s,n++)}else r+=a}return r}},{key:"replaceTerm",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||"object"!==n(t))throw new TypeError("Invalid input: replaceTermObj must be a non-null object.");var r;if(r=e.toLowerCase(),t.hasOwnProperty(r))return t[r];if(t.hasOwnProperty(e))return t[e];var a=e.toUpperCase();return t.hasOwnProperty(a)?t[a]:e}},{key:"isElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim().toLowerCase().replace(/'/g,"’"),a=l(r);try{for(a.s();!(t=a.n()).done;){var i=t.value;if(n.startsWith(i))return!0}}catch(e){a.e(e)}finally{a.f()}return!1}},{key:"normalizeElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim(),a=n.replace(/'/g,"’").toLowerCase(),i=l(r);try{for(i.s();!(t=i.n()).done;){var o=t.value;if(a.startsWith(o)){var s=o.length,u=n.slice(s);return o.charAt(0).toUpperCase()+o.slice(1)+(u.length>0?u.charAt(0).toUpperCase()+u.slice(1):"")}}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"correctSuffix",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t)||t.some((function(e){return"string"!=typeof e})))throw new TypeError("Invalid input: correctTerms must be an array of strings.");if(/'s$/i.test(e)){var r=e.slice(0,-2),n=t.findIndex((function(e){return e.toLowerCase()===r.toLowerCase()}));if(n>=0){var a=t[n];return"".concat(a,"'s")}var i=r.charAt(0).toUpperCase()+r.slice(1);return"".concat(i,"'s")}return e}},{key:"correctTerm",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/[-']/;if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t))throw new TypeError("Invalid input: correctTerms must be an array.");if(!("string"==typeof r||Array.isArray(r)||r instanceof RegExp))throw new TypeError("Invalid input: delimiters must be a string, an array of strings, or a regular expression.");"string"==typeof r?r=new RegExp("[".concat(r,"]")):Array.isArray(r)&&(r=new RegExp("[".concat(r.join(""),"]")));for(var n=e.split(r),a=n.length,i=function(){var e=n[o].toLowerCase(),r=t.findIndex((function(t){return t.toLowerCase()===e}));n[o]=r>=0?t[r]:n[o].charAt(0).toUpperCase()+n[o].slice(1).toLowerCase()},o=0;o<a;o++)i();var s=r.source.charAt(0);return e.includes("-")?s="-":e.includes("'")&&(s="'"),n.join(s)}},{key:"correctTermHyphenated",value:function(t,n){var a=t.match(/[-–—]/);if(!a)return t;var i=a[0],o=t.split(/[-–—]/),s=o.some((function(e){return r.regionalAcronymList.includes(e.toLowerCase().replace(/[^\w]/g,""))})),l=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},u=function(e){return e.charAt(0)+e.slice(1).toLowerCase()},c={ap:function(e,t){return s||0===t?l(e):u(e)},chicago:l,apa:function(t,r,a){return!s&&e.isShortWord(t,n)&&r>0&&r<a-1?t.toLowerCase():l(t)},nyt:l,wikipedia:function(e,t){return 0===t?l(e):u(e)}}[n]||u;return o.map((function(e,t){var n=e,a=e.toLowerCase().replace(/[^\w]/g,"");if(r.regionalAcronymList.includes(a))return e.toUpperCase();if(/^(M{0,3})(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i.test(e))return e.toUpperCase();var i=e.toLowerCase(),s=r.specialTermsList.findIndex((function(e){return e.toLowerCase()===i}));return s>=0&&(n=r.specialTermsList[s]),c(n,t,o.length)})).join(i)}}],(o=null)&&p(t.prototype,o),u&&p(t,u),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,u}();d(y,"TitleCaseValidator",void 0),d(y,"titleCaseOptionsCache",new Map),d(y,"isNeverCapitalizedCache",new Map)}.apply(t,n),void 0===a||(e.exports=a)},223(e){"use strict";e.exports=JSON.parse('{"sports":["FIFA","UEFA","NBA","NFL","MLB","NHL","NASCAR","IOC","FIBA","ATP","WTA","PGA","LPGA","FIA","WADA","ITF","AFL","NRL","ICC","IRB","IHF","FIVB","FINA","UCI","IAAF","ISU","WSF","BWF","WBC","WBO","IBF","IBO","UEFA","CONMEBOL","CONCACAF","CAF","AFC","OFC","CPL","MLS","LaLiga","Bundesliga","Ligue1","Eredivisie","JLeague","KLeague","Ryder Cup","Davis Cup","FedCup","XGames","Olympics","Paralympics","Dakar"],"apple":["Apple","AirDrop","AirPlay","AirPods","AirTags","FinalCut","GarageBand","iBooks","iCloud","iLife","iMac","iMessage","iMovie","iPhoto","iWatch","iWork","LogicPro","macOS","ProTools","QuickTime","iPhone","iPad","iPod","iOS","macOS","tvOS","watchOS"],"corporate":["Deloitte","Devoteam","ExxonMobil","GE","Boeing","Shell","Chevron"],"tech":["Bing","Salesforce","Asus","Acer","Lenovo","Huawei","Xiaomi","Epson","Nvidia","AMD","Qualcomm","Logitech","Panasonic","Sharp","Toshiba","Philips","Fujitsu","Netgear","Lexmark","Razer","SAP","Symantec","Kaspersky","Avast","McAfee","Siemens","Canon","Nikon","Garmin","GoPro","Oculus","Zoom","Slack","Trello","WeChat","Alibaba","Tencent","Baidu","Roku","Fitbit","Dropbox","Reddit","TikTok","Slack","Trello","Uber","Zoom","Reddit","Quora","JIRA","ZoomInfo","HubSpot","Mailchimp","WeChat","Dropbox","Uber","Telegram","Discord","StackOverflow","Quora","Reddit","ZoomInfo","Airbnb","LinkedIn","Snapchat","GitHub","GitLab","Nginx","OpenSSL","Webpack","Unity3D","Figma","JIRA","Kubernetes","TensorFlow","NPM","WooCommerce","WordPress","Slack","Trello","Uber","Zoom","Reddit","Quora","WeChat","Dropbox","Telegram","Discord","StackOverflow","Airbnb","LinkedIn","Snapchat","JIRA","MobX","VMware","Google"],"business":["Visa","Mastercard","Citibank","JPMorgan","Barclay","AMEX","Citigroup","PayPal","BNP","HSBC","Santander","UBS","Allianz","Prudential","Vanguard","BlackRock","CapitalOne","TD","Robinhood","MoneyGram","SoFi","Experian","Equifax","TransUnion","MasterCard","Blockchain","Coinbase","Binance","Kraken","Ethereum","Bitcoin"],"automotive":["BMW","Ford","Mercedes","Nissan","Tesla","Toyota","Audi","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Honda","Hyundai","Infiniti","Jaguar","Jeep","Kia","Lamborghini","LandRover","Lexus","Maserati","Mazda","McLaren","Mitsubishi","Peugeot","Porsche","Renault","RollsRoyce","Saab","Subaru","Suzuki","Volkswagen","Volvo","Alfa Romeo","Bentley","Bugatti","Cadillac","Citroen","Daewoo","Daihatsu","Datsun","DeLorean","Fiat Chrysler","GMC","Holden","Hummer","Isuzu","Koenigsegg","Lancia","Lincoln","Lotus","Mahindra","Suzuki","Opel","Pagani","Perodua","Proton","Rover","Scania","Skoda","SsangYong","Tata","Vauxhall","VinFast","Yugo","Zenvo"],"media":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","HBO","Showtime","Starz","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Vine","Zynga","Tidal","Quibi","Crave","Gaia","PlutoTV","Vudu","Kanopy","Mubi","BritBox"],"telecom":["Verizon","Sprint","Nokia","Ericsson","Vodafone","AT&T","Huawei","Xiaomi","Orange","NTT","T-Mobile","Telefonica","Airtel","Telstra","Rogers","Bell","MTN","ZTE","Qualcomm","Motorola","Telus","BT","Swisscom","SoftBank","KDDI"],"entertainment":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","Pandora","HBO","Showtime","Starz","Paramount","Peacock","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Zynga","Tidal","Oscars"],"retail":["Amazon","eBay","IKEA","Walmart","Zara","Target","Costco","Sephora","Nordstrom","Tesco","Asda","Aldi","Lidl","Carrefour","Uniqlo","H&M","Gap","Cabela’s","BassPro","REI","Ulta","Saks","JCPenney","Belk","Argos","Safeway","Kroger","Publix","HomeDepot","Woolworths","Staples","OfficeMax","B&H","Newegg","MicroCenter","Frys","Monoprix","Waitrose","Morrisons","Ocado","Flipkart","Rakuten","Alibaba","JD","Taobao","Tmall","Guomei","Suning"],"food":["Nestle","Pepsi","Coca-Cola","PepsiCo","Starbucks","KFC","BurgerKing","PizzaHut","TacoBell","Kroger","Costco","Woolworths","Carrefour","Tesco","Aldi","Lidl","Walmart","Safeway","Publix","WholeFoods","RedBull","Monster","Nespresso","Heineken","Budweiser","Corona","Guinness","GeneralMills","Unilever","Kraft","Heinz","Danone","Campbell","Tyson","Conagra","Mondelez","Suntory","Diageo","Pernod"],"pharmaceutical":["Pfizer","Moderna","Gilead","Merck","Novartis","Sanofi","Roche","AbbVie","Amgen","Bayer","Biogen","BristolMyers","Celgene","GSK","Janssen","Lilly","Medtronic","Mylan","NovoNordisk","Regeneron","Teva","AstraZeneca","Boehringer","Daiichi","Eisai","Genentech","Grifols","Ipsen","Mundipharma","Otsuka","Purdue","Sandoz","Servier","SunPharma","Takeda","UCB","Viatris","Wockhardt","Zydus","Alkem"],"nonprofit":["NGO","NPO","NGOs","NPOs","UN","UNESCO","UNICEF","UNHCR","UNODC","UNDP","UNFPA","UNEP","UNRWA"]}')},814(e){"use strict";e.exports=JSON.parse('{"commercial":["Ltd.","LLC","PLC","Co.","Inc.","St.","Ave.","Bldg.","No.","GmbH"],"titles":["CEO","CEOs","CFO","CFOs","CIO","CIOs","CMO","CMOs","COO","COOs","CPO","CPOs","CRO","CROs","CSO","CSOs","CTO","CTOs","EVP","EVPs","HR","HRs","SVP","SVPs","VP","VPs","CMTO","CDO"],"accounting":["AP","COGS","EBIT","EPS","FIFO","GAAP","LIFO","P&L","ROI","SOX","TCO","VAT","EBITDA","NPV","WACC","AR"],"finance":["CAGR","DCF","ETF","IPO","IRR","M&A","NAV","PE","PEG","PPE","ROE","S&P","TVM","VC","FOMC","FX","ETF"],"legal":["AFA","ADR","CCPA","CFAA","CISG","DMCA","EULA","GDPR","HIPAA","NDA","SOW","TOS","LLM","JD","Esq.","AG","SARL","KYC","AML","ph.d.","m.d.","d.d.s.","d.m.d.","d.o.","d.c.","d.v.m.","d.n.p.","d.p.m.","d.s.w.","d.s.n.","d.n.sc.","d.n.a.","d.n.t.","d.n.p.t.","d.n.o.","d.n.m.","d.n.e.","d.n.s.","d.n.p.s."]}')},661(e){"use strict";e.exports=JSON.parse('{"eterms":["eBook","eBooks","eMarket","eMarketplace","eMarketplaces","eMarkets","eReader","eShop","eShops","eStore","eStores","E-commerce","E-com"]}')},157(e){"use strict";e.exports=JSON.parse('{"countries":["Afghanistan","Albania","Algeria","Andorra","Angola","Antigua and Barbuda","Argentina","Armenia","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","Brunei","Bulgaria","Burkina Faso","Burundi","Cabo Verde","Cambodia","Cameroon","Canada","Central African Republic","Chad","Chile","China","Colombia","Comoros","Congo","Costa Rica","Cote d\'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Eswatini","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Greece","Grenada","Guatemala","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Israel","Italy","Jamaica","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Korea","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Zealand","Nicaragua","Niger","Nigeria","North Macedonia","Norway","Oman","Pakistan","Palau","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Qatar","Romania","Russia","Rwanda","Saint Kitts and Nevis","Saint Lucia","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe"],"alpha2":["UK"],"alpha3":["USA"]}')},321(e){"use strict";e.exports=JSON.parse('{"advertising":["AdWords","AdSense","AdMob","DoubleClick","SpotX"],"digitalMarketing":["DSP","SSP","CTR","CPA","CPC","CPL","CPM","CRM","SEO","SEM","SMM","A/B","CTOR","KPI","SERP","FAQ","PR"],"general":["B2B","B2C","CMO","USP","PWA","SMO","T&C","TOS","PP","UI","UX","UI/UX"],"blockchain":["PoE","PoW","PoC"],"accessibility":["A11Y"]}')},16(e){"use strict";e.exports=JSON.parse('{"ranks":["Pvt.","Cpl.","Sgt.","SSgt.","GySgt.","MSgt.","1stSgt.","SgtMaj.","WO1","CW2","CW3","CW4","CW5","2ndLt.","1stLt.","Capt.","Maj.","LtCol.","Col.","BrigGen.","MajGen.","LtGen.","Gen.","Adm.","Cpt.","Cmdr.","Lt.","Ens."],"branches":["Army","Navy","Air Force","Marines","Coast Guard","Space Force","National Guard","People\'s Liberation Army","Russian Ground Forces","JASDF","ROKA"],"units":["Platoon","Company","Battalion","Regiment","Brigade","Division","Corps","Squad","Fleet","Wing","Squadron","Task Force","Eurocorps","Battlegroup","Rapid Reaction Force","Joint Expeditionary Force"],"acronyms":["DoD","NATO","EUFOR","EUTM","OSCE","UNSC","JAG","ROTC","AFB","MOS","AWOL","MRE","IED","FOB","TOC","CONUS","OCONUS","UCMJ","USMC","USAF","USN","USA","SOCOM","CENTCOM","NORAD","PACOM","JTF","RPG","SAM","ASEAN","AUKUS","QUAD","CSTO","SCO","CFSP","EEAS","EUMS","Frontex","GRU","FSB","PLAN","PLAAF"],"equipment":["Humvee","MRAP","Apache","Black Hawk","Bradley","Abrams","F-16","F-22","F-35","B-2","B-52","C-130","LCAC","MRE"],"operations":["Operation Desert Storm","Operation Enduring Freedom","Operation Iraqi Freedom","Operation Inherent Resolve"],"treaties":["Lisbon Treaty","Maastricht Treaty","Treaty of Rome","Nice Treaty","Schengen Agreement"],"regions":["South China Sea","Taiwan Strait","Korean DMZ","Kashmir","Kuril Islands","Senkaku Islands"],"alliances":["NATO","AUKUS","QUAD","ASEAN","SCO","CSTO","Five Eyes"]}')},742(e){"use strict";e.exports=JSON.parse('{"miscellaneous":["w/","w/o","Open Source","Cybersecurity","Ecosystem","Biodiversity","LGBT","LGBTQ+","LGBTQIA+","2SLGBTQ+","BIPOC"]}')},501(e){"use strict";e.exports=JSON.parse('{"terms":["API","APIs","ASCII","CI","CLI","DLL","DNS","EC2","FTP","HTTP","HTTPS","ICMP","IDE","IP","ISP","LPWAN","M2M","MQTT","OOP","REST","SSH","SSL","TCP","UDP","URL","WLAN","WYSIWYG","IMAP","RSS","IaaS","PaaS","SaaS","CaaS","FaaS","XaaS","RaaS","IoE","IoT","LoRa","NB-IoT","RFID","RF","RFI","RFQ","ECMAScript","IO","I/O","DevOps","SecOps","DDoS","VoIP","AI","AR","ML","VR","CI/CD","DevSecOps","UI/UX","UX/UI","UI","UX","MVC","ORM","3G","4G","5G","NumPy","VPN","PKI","WAN","NAT","GPU","SSD","HDD","RAM","Frontend","Backend","Fullstack"],"legal":["DMCA","GDPR","HIPAA","NDA","SOW","TOS"],"languages":["JavaScript","TypeScript","Java","PHP","SQL","CSS",".NET","ES5","ES6","NoSQL","DynamoDB","Terraform","CloudFormation","RDS","Python","Ruby","Go","Swift","Kotlin","Perl"],"formats":["JSON","XML","YAML","GraphQL","WebSocket","RESTful"],"secops":["RaaS","DevSecOps","SecOps","Cybersecurity","DDoS"],"technologies":["AWS","Azure","GCP","VMware","Docker","Ansible","Chef","Puppet","Git","Subversion","Jenkins","CircleCI","Hadoop","Spark","BigQuery","PowerBI","Tableau"],"os":["Android","macOS","Windows","Linux","iOS","Ubuntu","CentOS","Fedora","Debian","SUSE","HarmonyOS","FreeRTOS","BeOS","BSD","Cordova","Flutter"],"programming":["Angular","Bootstrap","CodeIgniter","jQuery","Laravel","Redux","Vue.js","VueX","SCSS","AJAX","GraphQL","HTML","HTML5","MySQL","MongoDB","PostgresQL","SQLite","ASP","ASPX","Elasticsearch","Nginx","OpenSSL","Webpack","Unity3D","Kubernetes","TensorFlow","NPM","cURL"]}')},491(e){"use strict";e.exports=JSON.parse('{"timeRelated":["a.m.","p.m.","ca.","cc.","fig.","pl.","pt.","rev.","sr.","v.","vol.","et al.","pp.","p."],"academic":["adj.","adv.","cf.","cm.","co.","corp.","dept.","dist.","ed.","edn.","esp.","etc.","ex.","i.e.","e.g.","op. cit.","vs."]}')}},t={};(function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports})(987)})();