@gravity-rail/cli 0.18.0 → 0.21.0

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/dist/gr.js CHANGED
@@ -12,6 +12,7 @@ import readline2__default from 'readline';
12
12
  import os, { homedir } from 'os';
13
13
  import * as readline5 from 'readline/promises';
14
14
  import { stdout, stdin } from 'process';
15
+ import { writeFile } from 'fs/promises';
15
16
  import { EventEmitter } from 'events';
16
17
 
17
18
  createRequire(import.meta.url);
@@ -207,7 +208,7 @@ var init_pagination = __esm({
207
208
  }
208
209
  });
209
210
 
210
- // ../sdk/dist/chunk-PJFEGUHM.js
211
+ // ../sdk/dist/chunk-7OLBLLV7.js
211
212
  function getCookieValue(name) {
212
213
  if (typeof document === "undefined") return void 0;
213
214
  const cookies = document.cookie.split(";");
@@ -265,8 +266,8 @@ function setOrgAuthHeader(headers2, token) {
265
266
  headers2.set(orgAuthHeaderName(token), token);
266
267
  }
267
268
  var ApiError, BaseApiClient;
268
- var init_chunk_PJFEGUHM = __esm({
269
- "../sdk/dist/chunk-PJFEGUHM.js"() {
269
+ var init_chunk_7OLBLLV7 = __esm({
270
+ "../sdk/dist/chunk-7OLBLLV7.js"() {
270
271
  ApiError = class extends Error {
271
272
  statusCode;
272
273
  /** Legacy string-array errors — kept for non-validation callers. */
@@ -516,7 +517,11 @@ ${formattedErrors}`, response.status);
516
517
  throw error;
517
518
  }
518
519
  const errorMessage = typeof errorData.detail === "string" ? errorData.detail : errorData.message || response.statusText;
519
- throw new ApiError(errorMessage, response.status);
520
+ const simpleError = new ApiError(errorMessage, response.status);
521
+ if (typeof errorData.code === "string") {
522
+ simpleError.errorData = errorData;
523
+ }
524
+ throw simpleError;
520
525
  }
521
526
  if (response.status === 204) {
522
527
  return void 0;
@@ -688,7 +693,7 @@ ${formattedErrors}`, response.status);
688
693
  var metadata_min_json_default;
689
694
  var init_metadata_min_json = __esm({
690
695
  "../../node_modules/libphonenumber-js/metadata.min.json.js"() {
691
- metadata_min_json_default = { "version": 4, "country_calling_codes": { "1": ["US", "AG", "AI", "AS", "BB", "BM", "BS", "CA", "DM", "DO", "GD", "GU", "JM", "KN", "KY", "LC", "MP", "MS", "PR", "SX", "TC", "TT", "VC", "VG", "VI"], "7": ["RU", "KZ"], "20": ["EG"], "27": ["ZA"], "30": ["GR"], "31": ["NL"], "32": ["BE"], "33": ["FR"], "34": ["ES"], "36": ["HU"], "39": ["IT", "VA"], "40": ["RO"], "41": ["CH"], "43": ["AT"], "44": ["GB", "GG", "IM", "JE"], "45": ["DK"], "46": ["SE"], "47": ["NO", "SJ"], "48": ["PL"], "49": ["DE"], "51": ["PE"], "52": ["MX"], "53": ["CU"], "54": ["AR"], "55": ["BR"], "56": ["CL"], "57": ["CO"], "58": ["VE"], "60": ["MY"], "61": ["AU", "CC", "CX"], "62": ["ID"], "63": ["PH"], "64": ["NZ"], "65": ["SG"], "66": ["TH"], "81": ["JP"], "82": ["KR"], "84": ["VN"], "86": ["CN"], "90": ["TR"], "91": ["IN"], "92": ["PK"], "93": ["AF"], "94": ["LK"], "95": ["MM"], "98": ["IR"], "211": ["SS"], "212": ["MA", "EH"], "213": ["DZ"], "216": ["TN"], "218": ["LY"], "220": ["GM"], "221": ["SN"], "222": ["MR"], "223": ["ML"], "224": ["GN"], "225": ["CI"], "226": ["BF"], "227": ["NE"], "228": ["TG"], "229": ["BJ"], "230": ["MU"], "231": ["LR"], "232": ["SL"], "233": ["GH"], "234": ["NG"], "235": ["TD"], "236": ["CF"], "237": ["CM"], "238": ["CV"], "239": ["ST"], "240": ["GQ"], "241": ["GA"], "242": ["CG"], "243": ["CD"], "244": ["AO"], "245": ["GW"], "246": ["IO"], "247": ["AC"], "248": ["SC"], "249": ["SD"], "250": ["RW"], "251": ["ET"], "252": ["SO"], "253": ["DJ"], "254": ["KE"], "255": ["TZ"], "256": ["UG"], "257": ["BI"], "258": ["MZ"], "260": ["ZM"], "261": ["MG"], "262": ["RE", "YT"], "263": ["ZW"], "264": ["NA"], "265": ["MW"], "266": ["LS"], "267": ["BW"], "268": ["SZ"], "269": ["KM"], "290": ["SH", "TA"], "291": ["ER"], "297": ["AW"], "298": ["FO"], "299": ["GL"], "350": ["GI"], "351": ["PT"], "352": ["LU"], "353": ["IE"], "354": ["IS"], "355": ["AL"], "356": ["MT"], "357": ["CY"], "358": ["FI", "AX"], "359": ["BG"], "370": ["LT"], "371": ["LV"], "372": ["EE"], "373": ["MD"], "374": ["AM"], "375": ["BY"], "376": ["AD"], "377": ["MC"], "378": ["SM"], "380": ["UA"], "381": ["RS"], "382": ["ME"], "383": ["XK"], "385": ["HR"], "386": ["SI"], "387": ["BA"], "389": ["MK"], "420": ["CZ"], "421": ["SK"], "423": ["LI"], "500": ["FK"], "501": ["BZ"], "502": ["GT"], "503": ["SV"], "504": ["HN"], "505": ["NI"], "506": ["CR"], "507": ["PA"], "508": ["PM"], "509": ["HT"], "590": ["GP", "BL", "MF"], "591": ["BO"], "592": ["GY"], "593": ["EC"], "594": ["GF"], "595": ["PY"], "596": ["MQ"], "597": ["SR"], "598": ["UY"], "599": ["CW", "BQ"], "670": ["TL"], "672": ["NF"], "673": ["BN"], "674": ["NR"], "675": ["PG"], "676": ["TO"], "677": ["SB"], "678": ["VU"], "679": ["FJ"], "680": ["PW"], "681": ["WF"], "682": ["CK"], "683": ["NU"], "685": ["WS"], "686": ["KI"], "687": ["NC"], "688": ["TV"], "689": ["PF"], "690": ["TK"], "691": ["FM"], "692": ["MH"], "850": ["KP"], "852": ["HK"], "853": ["MO"], "855": ["KH"], "856": ["LA"], "880": ["BD"], "886": ["TW"], "960": ["MV"], "961": ["LB"], "962": ["JO"], "963": ["SY"], "964": ["IQ"], "965": ["KW"], "966": ["SA"], "967": ["YE"], "968": ["OM"], "970": ["PS"], "971": ["AE"], "972": ["IL"], "973": ["BH"], "974": ["QA"], "975": ["BT"], "976": ["MN"], "977": ["NP"], "992": ["TJ"], "993": ["TM"], "994": ["AZ"], "995": ["GE"], "996": ["KG"], "998": ["UZ"] }, "countries": { "AC": ["247", "00", "(?:[01589]\\d|[2-467])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], "BF": ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], "BL": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "(?:[2-7]\\d\\d|8001)\\d{5}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"]], ["(\\d{8})", "$1", ["[5-7]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], "BQ": ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], "BR": ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], "BY": ["375", "810", "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], ["(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], "BZ": ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], "CA": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], "CF": ["236", "00", "8776\\d{4}|(?:[27]\\d|61)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]]], "CG": ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], "CH": ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], "0"], "CI": ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "CK": ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], "CL": ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], "CM": ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], "CR": ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], "CU": ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "CV": ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], "CW": ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], "CX": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], "DJ": ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], "DK": ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], "DM": ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], "DO": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], "DZ": ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]], "0"], "EC": ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], "EE": ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], ["(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "EG": ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], ["(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], "0"], "EH": ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, 0, [["528[89]\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "(?:400|[5-9]\\d\\d)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[4-9]"]]]], "ET": ["251", "00", "(?:11|[2-57-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "0$1"]], "0"], "FI": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], "FJ": ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "FK": ["500", "00", "[2-7]\\d{4}", [5]], "FM": ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], "FO": ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], "GF": ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]]], "GP": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], "GW": ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], "GY": ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "HN": ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], "HR": ["385", "00", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], "HT": ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "HU": ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], "06"], "ID": ["62", "00[89]", "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], ["(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], ["(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], ["(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], ["(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], ["(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], ["(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], "0"], "IE": ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], ["(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], ["(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "IL": ["972", "0(?:0|1[2-9])", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\d{4})(\\d{3})", "$1-$2", ["125"]], ["(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], ["(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], ["(\\d{4})(\\d{6})", "$1-$2", ["159"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], "IM": ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0|180020", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["16|[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[06]0"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]], 0, 0, 0, 0, 0, 0, [["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[47]"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], "KE": ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0"], "KG": ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "KH": ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "KI": ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], "KM": ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], "KN": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], "KP": ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], "KR": ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", [5, 6, 8, 9, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], "KW": ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "8\\d{13}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["3"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "LK": ["94", "00", "[1-9]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]], "0"], "LR": ["231", "00", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "LS": ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], "LT": ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], "LU": ["352", "00", "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", [4, 5, 6, 7, 8, 9, 10, 11], [["(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["20"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["20"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], "LV": ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{4})(\\d{5})", "$1-$2", ["892"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8(?:0[0-7]|9)"], "0$1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[5-8]"], "0$1"]], "0", 0, 0, 0, 0, "[5-8]"], "MC": ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "0$1"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "MH": ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], "MK": ["389", "00", "[2-578]\\d{7}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], "ML": ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], "MM": ["95", "00", "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", [6, 7, 8, 9, 10], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], "MN": ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["11|2[16]"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "MR": ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], "MS": ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], "MT": ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], "MU": ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], "MV": ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-37-9]"], "0$1"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MY": ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], "MZ": ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "NA": ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "NC": ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], "NE": ["227", "00", "[027-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]]], "NF": ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], "NG": ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], "NI": ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], "NL": ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], "NR": ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "00"], "OM": ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], "PA": ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "PG": ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], "PK": ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"], ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], "0"], "PL": ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "PR": ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], "PS": ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "PT": ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"], ["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], "RS": ["381", "00", "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", [6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], ["(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], "0"], "RU": ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, "[3489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "SD": ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "SE": ["46", "00", "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", [6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "SH": ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], "SI": ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[013]|51|6"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], "0", 0, 0, 0, 0, 0, 0, "00"], "SJ": ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], "SK": ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[3-5]"], "0$1"]], "0"], "SL": ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], "SM": ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], "SN": ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], "SO": ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], ["(\\d{6})", "$1", ["[134]"]], ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|9[2-9]"]], ["(\\d)(\\d{7})", "$1 $2", ["[267]|904"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[346-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-9]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "0$1", 1]], "0"], "SZ": ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], "TA": ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], "TC": ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[3689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "TG": ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], "TH": ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "TJ": ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], "TK": ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], "TL": ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], "TM": ["993", "810", "[1-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], "TN": ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], "TO": ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], ["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]]], "TR": ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[0-79]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], "TT": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"], "TV": ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7], [["(\\d{2})(\\d{3})", "$1 $2", ["2"]], ["(\\d{2})(\\d{4})", "$1 $2", ["90"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "TW": ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11], [["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["826"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["83"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["82"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[25]0|37|49|8[09]"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-478])|7[1-9]", "[23568]|4(?:0[2-48]|[1-478])|(?:400|7)[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, "#"], "TZ": ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["5"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "0~0"], "UG": ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9], [["(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "0$1"]], "0"], "US": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{4,5})", "$1", ["21"]], ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "VA": ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], "VE": ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], "VG": ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}", [7, 8, 9, 10], [["(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[26]|6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "WS": ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "XK": ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], "YT": ["262", "00", "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|5[12]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
696
+ metadata_min_json_default = { "version": 4, "country_calling_codes": { "1": ["US", "AG", "AI", "AS", "BB", "BM", "BS", "CA", "DM", "DO", "GD", "GU", "JM", "KN", "KY", "LC", "MP", "MS", "PR", "SX", "TC", "TT", "VC", "VG", "VI"], "7": ["RU", "KZ"], "20": ["EG"], "27": ["ZA"], "30": ["GR"], "31": ["NL"], "32": ["BE"], "33": ["FR"], "34": ["ES"], "36": ["HU"], "39": ["IT", "VA"], "40": ["RO"], "41": ["CH"], "43": ["AT"], "44": ["GB", "GG", "IM", "JE"], "45": ["DK"], "46": ["SE"], "47": ["NO", "SJ"], "48": ["PL"], "49": ["DE"], "51": ["PE"], "52": ["MX"], "53": ["CU"], "54": ["AR"], "55": ["BR"], "56": ["CL"], "57": ["CO"], "58": ["VE"], "60": ["MY"], "61": ["AU", "CC", "CX"], "62": ["ID"], "63": ["PH"], "64": ["NZ"], "65": ["SG"], "66": ["TH"], "81": ["JP"], "82": ["KR"], "84": ["VN"], "86": ["CN"], "90": ["TR"], "91": ["IN"], "92": ["PK"], "93": ["AF"], "94": ["LK"], "95": ["MM"], "98": ["IR"], "211": ["SS"], "212": ["MA", "EH"], "213": ["DZ"], "216": ["TN"], "218": ["LY"], "220": ["GM"], "221": ["SN"], "222": ["MR"], "223": ["ML"], "224": ["GN"], "225": ["CI"], "226": ["BF"], "227": ["NE"], "228": ["TG"], "229": ["BJ"], "230": ["MU"], "231": ["LR"], "232": ["SL"], "233": ["GH"], "234": ["NG"], "235": ["TD"], "236": ["CF"], "237": ["CM"], "238": ["CV"], "239": ["ST"], "240": ["GQ"], "241": ["GA"], "242": ["CG"], "243": ["CD"], "244": ["AO"], "245": ["GW"], "246": ["IO"], "247": ["AC"], "248": ["SC"], "249": ["SD"], "250": ["RW"], "251": ["ET"], "252": ["SO"], "253": ["DJ"], "254": ["KE"], "255": ["TZ"], "256": ["UG"], "257": ["BI"], "258": ["MZ"], "260": ["ZM"], "261": ["MG"], "262": ["RE", "YT"], "263": ["ZW"], "264": ["NA"], "265": ["MW"], "266": ["LS"], "267": ["BW"], "268": ["SZ"], "269": ["KM"], "290": ["SH", "TA"], "291": ["ER"], "297": ["AW"], "298": ["FO"], "299": ["GL"], "350": ["GI"], "351": ["PT"], "352": ["LU"], "353": ["IE"], "354": ["IS"], "355": ["AL"], "356": ["MT"], "357": ["CY"], "358": ["FI", "AX"], "359": ["BG"], "370": ["LT"], "371": ["LV"], "372": ["EE"], "373": ["MD"], "374": ["AM"], "375": ["BY"], "376": ["AD"], "377": ["MC"], "378": ["SM"], "380": ["UA"], "381": ["RS"], "382": ["ME"], "383": ["XK"], "385": ["HR"], "386": ["SI"], "387": ["BA"], "389": ["MK"], "420": ["CZ"], "421": ["SK"], "423": ["LI"], "500": ["FK"], "501": ["BZ"], "502": ["GT"], "503": ["SV"], "504": ["HN"], "505": ["NI"], "506": ["CR"], "507": ["PA"], "508": ["PM"], "509": ["HT"], "590": ["GP", "BL", "MF"], "591": ["BO"], "592": ["GY"], "593": ["EC"], "594": ["GF"], "595": ["PY"], "596": ["MQ"], "597": ["SR"], "598": ["UY"], "599": ["CW", "BQ"], "670": ["TL"], "672": ["NF"], "673": ["BN"], "674": ["NR"], "675": ["PG"], "676": ["TO"], "677": ["SB"], "678": ["VU"], "679": ["FJ"], "680": ["PW"], "681": ["WF"], "682": ["CK"], "683": ["NU"], "685": ["WS"], "686": ["KI"], "687": ["NC"], "688": ["TV"], "689": ["PF"], "690": ["TK"], "691": ["FM"], "692": ["MH"], "850": ["KP"], "852": ["HK"], "853": ["MO"], "855": ["KH"], "856": ["LA"], "880": ["BD"], "886": ["TW"], "960": ["MV"], "961": ["LB"], "962": ["JO"], "963": ["SY"], "964": ["IQ"], "965": ["KW"], "966": ["SA"], "967": ["YE"], "968": ["OM"], "970": ["PS"], "971": ["AE"], "972": ["IL"], "973": ["BH"], "974": ["QA"], "975": ["BT"], "976": ["MN"], "977": ["NP"], "992": ["TJ"], "993": ["TM"], "994": ["AZ"], "995": ["GE"], "996": ["KG"], "998": ["UZ"] }, "countries": { "AC": ["247", "00", "(?:[01589]\\d|[2-467])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], "BF": ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], "BL": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "BM": ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], "BN": ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], "BO": ["591", "00(?:1\\d)?", "(?:[2-7]\\d\\d|8001)\\d{5}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"]], ["(\\d{8})", "$1", ["[5-7]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], "BQ": ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], "BR": ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], "BS": ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], "BT": ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]]], "BW": ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], "BY": ["375", "810", "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], ["(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], "BZ": ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], "CA": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], "CC": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CD": ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], "CF": ["236", "00", "8776\\d{4}|(?:[27]\\d|61)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]]], "CG": ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], "CH": ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], "0"], "CI": ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], "CK": ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], "CL": ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], "CM": ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], "CN": ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], "CO": ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], "CR": ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], "CU": ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], "CV": ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], "CW": ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], "CX": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "CY": ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], "CZ": ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], "DE": ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], "DJ": ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], "DK": ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], "DM": ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], "DO": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], "DZ": ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]], "0"], "EC": ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], "EE": ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], ["(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "EG": ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], ["(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], "0"], "EH": ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, 0, [["528[89]\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "(?:400|[5-9]\\d\\d)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[4-9]"]]]], "ET": ["251", "00", "(?:11|[2-57-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "0$1"]], "0"], "FI": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], "FJ": ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "FK": ["500", "00", "[2-7]\\d{4}", [5]], "FM": ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], "FO": ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], "GF": ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[48]\\d{8}|[2-9]\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|4(?:[0-35]|4[16-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[48]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]]], "GP": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "GQ": ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], "GR": ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], "GT": ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "GU": ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], "GW": ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], "GY": ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "HK": ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "HN": ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], "HR": ["385", "00", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], "HT": ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], "HU": ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], "06"], "ID": ["62", "00[89]", "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], ["(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], ["(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], ["(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], ["(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], ["(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], ["(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], "0"], "IE": ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], ["(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], ["(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "IL": ["972", "0(?:0|1(?:05|[2-9]))", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\d{4})(\\d{3})", "$1-$2", ["125"]], ["(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], ["(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], ["(\\d{4})(\\d{6})", "$1-$2", ["159"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], "IM": ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0|180020", "1624$1", 0, "74576|(?:16|7[56])24"], "IN": ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["16|[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[06]0"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], "IO": ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], "IQ": ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], "IR": ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], "IS": ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "IT": ["39", "00", "0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]], 0, 0, 0, 0, 0, 0, [["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], "JE": ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], "JM": ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], "JO": ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[47]"], "0$1"]], "0"], "JP": ["81", "010", "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], "KE": ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0"], "KG": ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "KH": ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "KI": ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], "KM": ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], "KN": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], "KP": ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], "KR": ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", [5, 6, 8, 9, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], "KW": ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], "KY": ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], "KZ": ["7", "810", "8\\d{13}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "7", 0, "8~10"], "LA": ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["3"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], "LB": ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], "LC": ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], "LI": ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], "LK": ["94", "00", "[1-9]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]], "0"], "LR": ["231", "00", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], "LS": ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], "LT": ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], "LU": ["352", "00", "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", [4, 5, 6, 7, 8, 9, 10, 11], [["(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["20"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["20"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], "LV": ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]]], "LY": ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], "MA": ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{4})(\\d{5})", "$1-$2", ["892"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8(?:0[0-7]|9)"], "0$1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[5-8]"], "0$1"]], "0", 0, 0, 0, 0, "[5-8]"], "MC": ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "0$1"]], "0"], "MD": ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], "ME": ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], "MF": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], "MG": ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], "MH": ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], "MK": ["389", "00", "[2-578]\\d{7}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], "ML": ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], "MM": ["95", "00", "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", [6, 7, 8, 9, 10], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], "MN": ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["11|2[16]"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], "0"], "MO": ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], "MP": ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], "MQ": ["596", "00", "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "MR": ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], "MS": ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], "MT": ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], "MU": ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], "MV": ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MW": ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-37-9]"], "0$1"]], "0"], "MX": ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "MY": ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], "MZ": ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "NA": ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "NC": ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], "NE": ["227", "00", "[027-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]]], "NF": ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], "NG": ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], "NI": ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], "NL": ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], "NR": ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "00"], "OM": ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], "PA": ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "PG": ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], "PK": ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"], ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], "0"], "PL": ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "PR": ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], "PS": ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "PT": ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"], ["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], "RO": ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], "RS": ["381", "00", "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", [6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], ["(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], "0"], "RU": ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, "[3489]", 0, "8~10"], "RW": ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], "SA": ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], "SB": ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], "SC": ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "SD": ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "SE": ["46", "00", "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", [6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], "SG": ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], "SH": ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], "SI": ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[013]|51|6"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], "0", 0, 0, 0, 0, 0, 0, "00"], "SJ": ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], "SK": ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[3-5]"], "0$1"]], "0"], "SL": ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], "SM": ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], "SN": ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], "SO": ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], ["(\\d{6})", "$1", ["[134]"]], ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|9[2-9]"]], ["(\\d)(\\d{7})", "$1 $2", ["[267]|904"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[346-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-9]\\d)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]]], "SS": ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], "ST": ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], "SV": ["503", "00", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], "SX": ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], "SY": ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "0$1", 1]], "0"], "SZ": ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], "TA": ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], "TC": ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], "TD": ["235", "00|16", "(?:22|[3689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "TG": ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], "TH": ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "TJ": ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], "TK": ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], "TL": ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], "TM": ["993", "810", "[1-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], "TN": ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], "TO": ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], ["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]]], "TR": ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], "TT": ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"], "TV": ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7], [["(\\d{2})(\\d{3})", "$1 $2", ["2"]], ["(\\d{2})(\\d{4})", "$1 $2", ["90"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "TW": ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11], [["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["826"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["83"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["82"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[25]0|37|49|8[09]"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-478])|7[1-9]", "[23568]|4(?:0[2-48]|[1-478])|(?:400|7)[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, "#"], "TZ": ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["5"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], "0"], "UA": ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "0~0"], "UG": ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9], [["(\\d{4})(\\d{5})", "$1 $2", ["202", "2024", "20240"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["20[0-35-7]|4(?:6[45]|[7-9])|[7-9]", "20(?:[0135-7]|2[5-9])|4(?:6[45]|[7-9])|[7-9]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[2-4]"], "0$1"]], "0"], "US": ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{4,5})", "$1", ["21"]], ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "VA": ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], "VE": ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], "VG": ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}", [7, 8, 9, 10], [["(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[26]|6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], "VU": ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], "WF": ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "WS": ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], "XK": ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], "YE": ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], "YT": ["262", "00", "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], "ZA": ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "ZM": ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], "0"], "ZW": ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, "nonGeographic": { "800": ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], "808": ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], "870": ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], "878": ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], "881": ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], "882": ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|5[12]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], "883": ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], "888": ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], "979": ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
692
697
  }
693
698
  });
694
699
 
@@ -3220,7 +3225,7 @@ var init_libphonenumber_js = __esm({
3220
3225
  }
3221
3226
  });
3222
3227
 
3223
- // ../sdk/dist/chunk-MP5ENP4Q.js
3228
+ // ../sdk/dist/chunk-24L4RD4Z.js
3224
3229
  function sanitizePhoneForBackend(phoneNumber) {
3225
3230
  try {
3226
3231
  let parsed = parsePhoneNumber4(phoneNumber);
@@ -3343,6 +3348,14 @@ function supportRequestParams(params) {
3343
3348
  const query = searchParams.toString();
3344
3349
  return query ? `?${query}` : "";
3345
3350
  }
3351
+ function notesPath(wid, workflowId, noteId, query) {
3352
+ const base = noteId == null ? `w/${wid}/workflows/${workflowId}/notes` : `w/${wid}/workflows/${workflowId}/notes/${noteId}`;
3353
+ if (query?.workflowRevisionId == null) return base;
3354
+ const params = new URLSearchParams({
3355
+ workflowRevisionId: String(query.workflowRevisionId)
3356
+ });
3357
+ return `${base}?${params.toString()}`;
3358
+ }
3346
3359
  function withFilters(params, options) {
3347
3360
  if (options.dateFrom) params.append("dateFrom", options.dateFrom);
3348
3361
  if (options.dateTo) params.append("dateTo", options.dateTo);
@@ -3374,6 +3387,7 @@ function createApiModules(apiKey, baseUrl3, customFetch) {
3374
3387
  customToolkits: new CustomToolkitsApi(apiKey, baseUrl3, customFetch),
3375
3388
  dashboards: new DashboardsApi(apiKey, baseUrl3, customFetch),
3376
3389
  dataTypes: new DataTypesApi(apiKey, baseUrl3, customFetch),
3390
+ devices: new DevicesApi(apiKey, baseUrl3, customFetch),
3377
3391
  discordBots: new DiscordBotsApi(apiKey, baseUrl3, customFetch),
3378
3392
  slackApps: new SlackAppsApi(apiKey, baseUrl3, customFetch),
3379
3393
  teamsApps: new TeamsAppsApi(apiKey, baseUrl3, customFetch),
@@ -3386,6 +3400,7 @@ function createApiModules(apiKey, baseUrl3, customFetch) {
3386
3400
  hubspot: new HubspotApi(apiKey, baseUrl3, customFetch),
3387
3401
  features: new FeaturesApi(apiKey, baseUrl3, customFetch),
3388
3402
  files: new FilesApi(apiKey, baseUrl3, customFetch),
3403
+ projects: new ProjectsApi(apiKey, baseUrl3, customFetch),
3389
3404
  inboxes: new InboxesApi(apiKey, baseUrl3, customFetch),
3390
3405
  inquiries: new InquiriesApi(apiKey, baseUrl3, customFetch),
3391
3406
  journeys: new JourneysApi(apiKey, baseUrl3, customFetch),
@@ -3595,6 +3610,8 @@ function bindDataTypesMethods(target, dataTypes) {
3595
3610
  target.getDataRecordChanges = dataTypes.getDataRecordChanges.bind(dataTypes);
3596
3611
  target.upsertDataRecord = dataTypes.upsertDataRecord.bind(dataTypes);
3597
3612
  target.toggleFieldIndex = dataTypes.toggleFieldIndex.bind(dataTypes);
3613
+ target.previewRenameFieldSlug = dataTypes.previewRenameFieldSlug.bind(dataTypes);
3614
+ target.renameFieldSlug = dataTypes.renameFieldSlug.bind(dataTypes);
3598
3615
  target.getFieldIndexStatus = dataTypes.getFieldIndexStatus.bind(dataTypes);
3599
3616
  target.validateDataTypeSlug = dataTypes.validateDataTypeSlug.bind(dataTypes);
3600
3617
  target.getMemberRecordCounts = dataTypes.getMemberRecordCounts.bind(dataTypes);
@@ -3605,8 +3622,22 @@ function bindDataTypesMethods(target, dataTypes) {
3605
3622
  target.deleteDataRecordFilter = dataTypes.deleteDataRecordFilter.bind(dataTypes);
3606
3623
  target.getDataRecordFilterCount = dataTypes.getDataRecordFilterCount.bind(dataTypes);
3607
3624
  }
3625
+ function bindDevicesMethods(target, devices) {
3626
+ target.getDevices = devices.getDevices.bind(devices);
3627
+ target.getDevice = devices.getDevice.bind(devices);
3628
+ target.getDeviceKinds = devices.getDeviceKinds.bind(devices);
3629
+ target.claimDevicePairing = devices.claimDevicePairing.bind(devices);
3630
+ target.updateDevice = devices.updateDevice.bind(devices);
3631
+ target.revokeDevice = devices.revokeDevice.bind(devices);
3632
+ }
3608
3633
  function bindMembersMethods(target, members) {
3609
3634
  target.getCurrentMember = members.getCurrentMember.bind(members);
3635
+ target.getMyDataTypes = members.getMyDataTypes.bind(members);
3636
+ target.getMyRecords = members.getMyRecords.bind(members);
3637
+ target.getMemberWorkflowVoices = members.getMemberWorkflowVoices.bind(members);
3638
+ target.previewMemberWorkflowVoice = members.previewMemberWorkflowVoice.bind(members);
3639
+ target.setMemberWorkflowVoice = members.setMemberWorkflowVoice.bind(members);
3640
+ target.clearMemberWorkflowVoice = members.clearMemberWorkflowVoice.bind(members);
3610
3641
  target.getOwnedMembers = members.getOwnedMembers.bind(members);
3611
3642
  target.switchMember = members.switchMember.bind(members);
3612
3643
  target.clearMemberSwitch = members.clearMemberSwitch.bind(members);
@@ -3697,6 +3728,7 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
3697
3728
  target.updateProduct = workspaces.updateProduct.bind(workspaces);
3698
3729
  target.deleteProduct = workspaces.deleteProduct.bind(workspaces);
3699
3730
  target.exportWorkspace = workspaces.exportWorkspace.bind(workspaces);
3731
+ target.exportWorkspaceZip = workspaces.exportWorkspaceZip.bind(workspaces);
3700
3732
  target.previewWorkspaceImport = workspaces.previewWorkspaceImport.bind(workspaces);
3701
3733
  target.importWorkspace = workspaces.importWorkspace.bind(workspaces);
3702
3734
  target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
@@ -3812,7 +3844,6 @@ function bindSitesMethods(target, sites) {
3812
3844
  target.siteSendEmailCode = sites.siteSendEmailCode.bind(sites);
3813
3845
  target.siteVerifyCode = sites.siteVerifyCode.bind(sites);
3814
3846
  target.siteGoogleOAuthInitiate = sites.siteGoogleOAuthInitiate.bind(sites);
3815
- target.crawlSite = sites.crawlSite.bind(sites);
3816
3847
  target.createSite = sites.createSite.bind(sites);
3817
3848
  target.updateSite = sites.updateSite.bind(sites);
3818
3849
  target.deleteSite = sites.deleteSite.bind(sites);
@@ -3872,6 +3903,13 @@ function bindFilesMethods(target, files) {
3872
3903
  target.getPublicFolder = files.getPublicFolder.bind(files);
3873
3904
  target.getPublicFolderFiles = files.getPublicFolderFiles.bind(files);
3874
3905
  }
3906
+ function bindProjectsMethods(target, projects) {
3907
+ target.getProjects = projects.getProjects.bind(projects);
3908
+ target.getProject = projects.getProject.bind(projects);
3909
+ target.getPlan = projects.getPlan.bind(projects);
3910
+ target.updateProject = projects.updateProject.bind(projects);
3911
+ target.updatePlan = projects.updatePlan.bind(projects);
3912
+ }
3875
3913
  function bindEventsMethods(target, events) {
3876
3914
  target.getEventRules = events.getEventRules.bind(events);
3877
3915
  target.getAvailableActions = events.getAvailableActions.bind(events);
@@ -4021,6 +4059,7 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
4021
4059
  target.getInboxEmail = inboxes.getInboxEmail.bind(inboxes);
4022
4060
  target.markEmailAsRead = inboxes.markEmailAsRead.bind(inboxes);
4023
4061
  target.markEmailAsUnread = inboxes.markEmailAsUnread.bind(inboxes);
4062
+ target.addEmailSenderAsMember = inboxes.addEmailSenderAsMember.bind(inboxes);
4024
4063
  target.convertEmail = inboxes.convertEmail.bind(inboxes);
4025
4064
  target.downloadEmailAttachment = inboxes.downloadEmailAttachment.bind(inboxes);
4026
4065
  target.getInboxThreads = inboxes.getInboxThreads.bind(inboxes);
@@ -4086,6 +4125,12 @@ function bindBillingMethods(target, apiKeys, subscriptions, reports) {
4086
4125
  target.addWorkspaceToSubscription = subscriptions.addWorkspaceToSubscription.bind(subscriptions);
4087
4126
  target.purchaseCredits = subscriptions.purchaseCredits.bind(subscriptions);
4088
4127
  target.createCheckoutSession = subscriptions.createCheckoutSession.bind(subscriptions);
4128
+ target.createMemberCheckoutSession = subscriptions.createMemberCheckoutSession.bind(subscriptions);
4129
+ target.createMemberPortalSession = subscriptions.createMemberPortalSession.bind(subscriptions);
4130
+ target.getMemberSubscriptionStatus = subscriptions.getMemberSubscriptionStatus.bind(subscriptions);
4131
+ target.createDeviceOrderCheckoutSession = subscriptions.createDeviceOrderCheckoutSession.bind(subscriptions);
4132
+ target.listDeviceOrders = subscriptions.listDeviceOrders.bind(subscriptions);
4133
+ target.getCheckoutAttemptStatus = subscriptions.getCheckoutAttemptStatus.bind(subscriptions);
4089
4134
  target.listSelfServeProducts = subscriptions.listSelfServeProducts.bind(subscriptions);
4090
4135
  target.getAIUsageReport = reports.getAIUsageReport.bind(reports);
4091
4136
  target.getSMSUsageReport = reports.getSMSUsageReport.bind(reports);
@@ -4259,6 +4304,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
4259
4304
  target.getLinkedSalesforceMembers = salesforce.getLinkedSalesforceMembers.bind(salesforce);
4260
4305
  target.getSalesforceSyncConfig = salesforce.getSalesforceSyncConfig.bind(salesforce);
4261
4306
  target.updateSalesforceSyncConfig = salesforce.updateSalesforceSyncConfig.bind(salesforce);
4307
+ target.resyncSalesforceLinkedMembers = salesforce.resyncSalesforceLinkedMembers.bind(salesforce);
4262
4308
  target.listSalesforceObjects = salesforce.listSalesforceObjects.bind(salesforce);
4263
4309
  target.describeSalesforceObject = salesforce.describeSalesforceObject.bind(salesforce);
4264
4310
  target.searchSalesforceRecords = salesforce.searchSalesforceRecords.bind(salesforce);
@@ -4326,6 +4372,7 @@ function bindOrgMethods(target, org) {
4326
4372
  target.disableOrgDomainEmail = org.disableOrgDomainEmail.bind(org);
4327
4373
  target.enableOrgDomainSite = org.enableOrgDomainSite.bind(org);
4328
4374
  target.getOrgDomainSite = org.getOrgDomainSite.bind(org);
4375
+ target.preflightOrgDomainSite = org.preflightOrgDomainSite.bind(org);
4329
4376
  target.verifyOrgDomainSite = org.verifyOrgDomainSite.bind(org);
4330
4377
  target.disableOrgDomainSite = org.disableOrgDomainSite.bind(org);
4331
4378
  target.getBusinessProfile = org.getBusinessProfile.bind(org);
@@ -4339,6 +4386,7 @@ function bindOrgMethods(target, org) {
4339
4386
  target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
4340
4387
  target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
4341
4388
  target.getOrgBillingCustomer = org.getOrgBillingCustomer.bind(org);
4389
+ target.getOrgWorkspaceUsage = org.getOrgWorkspaceUsage.bind(org);
4342
4390
  }
4343
4391
  function bindPronunciationsMethods(target, pronunciations) {
4344
4392
  target.getPronunciationEntries = pronunciations.getPronunciationEntries.bind(pronunciations);
@@ -4471,10 +4519,21 @@ function bindSupportRequestMethods(target, supportRequests) {
4471
4519
  target.reopenWorkspaceSupportRequest = supportRequests.reopenWorkspaceSupportRequest.bind(supportRequests);
4472
4520
  target.clickWorkspaceSupportRequestResource = supportRequests.clickWorkspaceSupportRequestResource.bind(supportRequests);
4473
4521
  }
4474
- var AbilitiesApi, AccessGrantsApi, AgentTasksApi, AgentsApi, AIModelsApi, ApiKeysApi, AppsApi, AssignmentsApi, VoiceApi, AuthApi, BuildersApi, CalendarsApi, CallsApi, CELApi, ChatsApi, ConfluenceApi, CustomToolkitsApi, DataTypesApi, DiscordBotsApi, SlackAppsApi, EventsApi, FeaturesApi, FhirConnectionsApi, InboundFaxStatus, DocumoFaxApi, HealthieApi, FilesApi, InboxesApi, InquiriesApi, AppConnectionsApi, McpServersApi, MemberImportValidationError, MembersApi, MondayIntegrationApi, NotificationRulesApi, OperatorApi, OrgApi, OAuthConnectionsApi, OAuthApi, PhoneNumbersApi, PronunciationsApi, PromptsApi, PersonasApi, QueriesApi, QualificationsApi, ReportsApi, SalesforceApi, ConnectionSyncApi, HubspotApi, SitesApi, SubscriptionsApi, SupportRequestsApi, CustomersApi, ResellersApi, SupervisorsApi, TasksApi, TemplatesApi, ToolkitsApi, JourneysApi, WorkflowsApi, WorkflowNotesApi, EventRuleEventType, DriverMode, WorkspaceInvitationsApi, WorkspacesApi, DashboardsApi, TeamsAppsApi, ExperimentsApi, PatientSyncConnectionsApi, ActivityTimelineApi, MotdApi, InterventionRequestsApi, MetricsApi, TrackedLinksApi, WORKSPACE_METHOD_NAMES, WORKSPACE_METHOD_NAME_SET, GravityRailClient, WIDGET_SLUGS, CHAT_TYPES, BUILTIN_ASSISTANT_CHAT_TYPES, MEMBER_AGENT_CHAT_TYPES;
4475
- var init_chunk_MP5ENP4Q = __esm({
4476
- "../sdk/dist/chunk-MP5ENP4Q.js"() {
4477
- init_chunk_PJFEGUHM();
4522
+ function getRevisionState(workflow, revision) {
4523
+ const draftIsLive = workflow.activeRevisionId === workflow.draftRevisionId;
4524
+ const hasUnpublishedChanges = workflow.draftModifiedAt != null;
4525
+ return {
4526
+ isActive: revision != null && revision.id === workflow.activeRevisionId,
4527
+ isDraft: revision != null && revision.id === workflow.draftRevisionId,
4528
+ draftIsLive,
4529
+ hasUnpublishedChanges,
4530
+ state: revision?.publishedAt != null ? "published" : "draft"
4531
+ };
4532
+ }
4533
+ var AbilitiesApi, AccessGrantsApi, AgentTasksApi, AgentsApi, AIModelsApi, ApiKeysApi, AppsApi, AssignmentsApi, VoiceApi, AuthApi, BuildersApi, CalendarsApi, CallsApi, CELApi, ChatsApi, ConfluenceApi, CustomToolkitsApi, DataTypesApi, DiscordBotsApi, SlackAppsApi, EventsApi, FeaturesApi, FhirConnectionsApi, InboundFaxStatus, DocumoFaxApi, HealthieApi, FilesApi, InboxesApi, InquiriesApi, AppConnectionsApi, McpServersApi, MemberImportValidationError, MembersApi, MondayIntegrationApi, NotificationRulesApi, OperatorApi, OrgApi, OAuthConnectionsApi, OAuthApi, PhoneNumbersApi, PronunciationsApi, PromptsApi, PersonasApi, QueriesApi, QualificationsApi, ReportsApi, SalesforceApi, ConnectionSyncApi, HubspotApi, SitesApi, SubscriptionsApi, SupportRequestsApi, CustomersApi, ResellersApi, SupervisorsApi, TasksApi, TemplatesApi, ToolkitsApi, JourneysApi, WorkflowsApi, WorkflowNotesApi, EventRuleObjectType, EventRuleEventType, EventRuleActionType, DriverMode, WorkspaceInvitationsApi, WorkspacesApi, DashboardsApi, DevicesApi, TeamsAppsApi, ExperimentsApi, PatientSyncConnectionsApi, ActivityTimelineApi, MotdApi, InterventionRequestsApi, MetricsApi, ProjectsApi, TrackedLinksApi, WORKSPACE_METHOD_NAMES, WORKSPACE_METHOD_NAME_SET, GravityRailClient, WIDGET_SLUGS, CHAT_TYPES, BUILTIN_ASSISTANT_CHAT_TYPES, MEMBER_AGENT_CHAT_TYPES;
4534
+ var init_chunk_24L4RD4Z = __esm({
4535
+ "../sdk/dist/chunk-24L4RD4Z.js"() {
4536
+ init_chunk_7OLBLLV7();
4478
4537
  init_libphonenumber_js();
4479
4538
  AbilitiesApi = class extends BaseApiClient {
4480
4539
  /**
@@ -4669,6 +4728,7 @@ var init_chunk_MP5ENP4Q = __esm({
4669
4728
  if (options.search) params.append("search", options.search);
4670
4729
  if (options.includeArchived)
4671
4730
  params.append("includeArchived", options.includeArchived.toString());
4731
+ if (options.owner) params.append("owner", options.owner);
4672
4732
  return this.fetch(
4673
4733
  `w/${wid}/agents${params.toString() ? `?${params.toString()}` : ""}`
4674
4734
  );
@@ -5036,33 +5096,36 @@ var init_chunk_MP5ENP4Q = __esm({
5036
5096
  });
5037
5097
  }
5038
5098
  /** Initiate SMS login by sending a verification code to the given phone number. */
5039
- async login(phoneNumber, wid, organizationUuid) {
5099
+ async login(phoneNumber, wid, organizationUuid, isSignUp = false) {
5040
5100
  const params = new URLSearchParams();
5041
5101
  if (wid) params.append("wid", wid);
5042
5102
  const body = { phoneNumber: sanitizePhoneForBackend(phoneNumber) };
5043
5103
  if (organizationUuid) body.organizationUuid = organizationUuid;
5104
+ if (isSignUp) body.isSignUp = true;
5044
5105
  return await this.fetch(`auth/login?${params.toString()}`, {
5045
5106
  method: "POST",
5046
5107
  body: JSON.stringify(body)
5047
5108
  });
5048
5109
  }
5049
5110
  /** Resend the SMS verification code to the given phone number. */
5050
- async resendCode(phoneNumber, organizationUuid) {
5111
+ async resendCode(phoneNumber, organizationUuid, isSignUp = false) {
5051
5112
  const body = { phoneNumber: sanitizePhoneForBackend(phoneNumber) };
5052
5113
  if (organizationUuid) body.organizationUuid = organizationUuid;
5114
+ if (isSignUp) body.isSignUp = true;
5053
5115
  return await this.fetch("auth/resend-code", {
5054
5116
  method: "POST",
5055
5117
  body: JSON.stringify(body)
5056
5118
  });
5057
5119
  }
5058
5120
  /** Verify an SMS code and complete authentication, handling 2FA if required. */
5059
- async verifyCodeWith2FA(phoneNumber, code, organizationUuid) {
5121
+ async verifyCodeWith2FA(phoneNumber, code, organizationUuid, isSignUp = false) {
5060
5122
  const verifyResponse = await this.fetch("auth/verify-with-2fa", {
5061
5123
  method: "POST",
5062
5124
  body: JSON.stringify({
5063
5125
  phoneNumber: sanitizePhoneForBackend(phoneNumber),
5064
5126
  code,
5065
- organizationUuid
5127
+ organizationUuid,
5128
+ isSignUp
5066
5129
  })
5067
5130
  });
5068
5131
  if (!verifyResponse.requiresTwoFactor && verifyResponse.token) {
@@ -5312,14 +5375,17 @@ var init_chunk_MP5ENP4Q = __esm({
5312
5375
  // ===== CREDENTIAL CHANGE METHODS =====
5313
5376
  /**
5314
5377
  * Request to change email or phone credential.
5315
- * Sends an OTP to the NEW credential to verify ownership.
5378
+ * Sends an OTP to the NEW credential to verify ownership. For phone, the
5379
+ * code can be delivered by SMS (default) or read aloud over a voice call
5380
+ * (`deliveryMethod: 'voice'`) so landlines can be verified too.
5316
5381
  */
5317
- async requestCredentialChange(credentialType, newValue) {
5382
+ async requestCredentialChange(credentialType, newValue, deliveryMethod = "sms") {
5318
5383
  return this.fetch("account/request-credential-change", {
5319
5384
  method: "POST",
5320
5385
  body: JSON.stringify({
5321
5386
  credential_type: credentialType,
5322
- new_value: newValue
5387
+ new_value: newValue,
5388
+ delivery_method: deliveryMethod
5323
5389
  })
5324
5390
  });
5325
5391
  }
@@ -5597,10 +5663,12 @@ var init_chunk_MP5ENP4Q = __esm({
5597
5663
  }
5598
5664
  /** Generate or regenerate an iCal feed token for a calendar. */
5599
5665
  async generateICalToken(wid, calendarId, regenerate = false) {
5600
- return this.fetch(`w/${wid}/calendars/${calendarId}/ical-token`, {
5601
- method: "POST",
5602
- body: JSON.stringify({ regenerate })
5603
- });
5666
+ const qs = new URLSearchParams();
5667
+ qs.set("regenerate", regenerate ? "true" : "false");
5668
+ return this.fetch(
5669
+ `w/${wid}/calendars/${calendarId}/ical-token?${qs.toString()}`,
5670
+ { method: "POST" }
5671
+ );
5604
5672
  }
5605
5673
  /** Revoke the iCal feed token for a calendar, disabling external feed access. */
5606
5674
  async revokeICalToken(wid, calendarId) {
@@ -6475,6 +6543,34 @@ var init_chunk_MP5ENP4Q = __esm({
6475
6543
  async getFieldIndexStatus(wid, dataTypeId, fieldSlug) {
6476
6544
  return this.fetch(`w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/index-status`);
6477
6545
  }
6546
+ /**
6547
+ * Preview renaming a field's slug — read-only.
6548
+ *
6549
+ * A field slug is the key its answers are stored under, so a rename moves
6550
+ * stored data. This reports whether the new slug is allowed, how many records
6551
+ * would move, and every configured place still naming the old slug (CEL,
6552
+ * templates, sync maps) which this rename does NOT rewrite.
6553
+ */
6554
+ async previewRenameFieldSlug(wid, dataTypeId, fieldSlug, newSlug) {
6555
+ return this.fetch(
6556
+ `w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/rename-preview`,
6557
+ { method: "POST", body: JSON.stringify({ newSlug }) }
6558
+ );
6559
+ }
6560
+ /**
6561
+ * Rename a field's slug, preserving stored answers.
6562
+ *
6563
+ * The schema change commits synchronously; the answers are moved by the
6564
+ * existing cleanup workflow, so this resolves on ACCEPTANCE, not completion.
6565
+ * Call {@link previewRenameFieldSlug} first — references naming the old slug
6566
+ * are reported, never rewritten.
6567
+ */
6568
+ async renameFieldSlug(wid, dataTypeId, fieldSlug, newSlug) {
6569
+ return this.fetch(
6570
+ `w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/rename`,
6571
+ { method: "POST", body: JSON.stringify({ newSlug }) }
6572
+ );
6573
+ }
6478
6574
  /**
6479
6575
  * Validate if a data type slug is available.
6480
6576
  * Returns availability and a suggested alternative if taken.
@@ -6856,6 +6952,7 @@ var init_chunk_MP5ENP4Q = __esm({
6856
6952
  if (options.sortBy) params.append("sortBy", options.sortBy);
6857
6953
  if (options.sortOrder) params.append("sortOrder", options.sortOrder);
6858
6954
  if (options.owner) params.append("owner", options.owner);
6955
+ if (options.ownerId) params.append("ownerId", options.ownerId.toString());
6859
6956
  return this.fetch(
6860
6957
  `w/${wid}/routines${params.toString() ? `?${params.toString()}` : ""}`
6861
6958
  );
@@ -7732,6 +7829,23 @@ var init_chunk_MP5ENP4Q = __esm({
7732
7829
  body: JSON.stringify({ content })
7733
7830
  });
7734
7831
  }
7832
+ /**
7833
+ * Make a stored email's sender a Member of this workspace.
7834
+ *
7835
+ * The explicit alternative to auto-signup for inboxes that accept
7836
+ * non-member mail. Requires `members:write` AND `inboxes:read`. Responds
7837
+ * 409 when a Member already holds the address — gate the call on
7838
+ * `Email.senderIsMember` rather than discovering it from the error.
7839
+ */
7840
+ async addEmailSenderAsMember(wid, inboxId, emailId, body) {
7841
+ return this.fetch(
7842
+ `w/${wid}/inboxes/${inboxId}/emails/${emailId}/add-sender-as-member`,
7843
+ {
7844
+ method: "POST",
7845
+ body: JSON.stringify(body)
7846
+ }
7847
+ );
7848
+ }
7735
7849
  /** Convert an email to text, markdown, or PDF format. */
7736
7850
  async convertEmail(wid, inboxId, emailId, format = "pdf") {
7737
7851
  return this.fetch(
@@ -8049,6 +8163,54 @@ var init_chunk_MP5ENP4Q = __esm({
8049
8163
  async getCurrentMember(wid) {
8050
8164
  return this.fetch(`w/${wid}/me`);
8051
8165
  }
8166
+ /**
8167
+ * One row per workflow available to the member, with its voice state
8168
+ * (Custom Voice). Own-data-or-scope: a member reads their OWN rows with
8169
+ * no member scope; others need members:read.
8170
+ */
8171
+ async getMemberWorkflowVoices(wid, memberId) {
8172
+ return this.fetch(
8173
+ `w/${wid}/members/${memberId}/workflow-voices`
8174
+ );
8175
+ }
8176
+ /** Audition a voice the member can pick for this workflow (PCM16). */
8177
+ async previewMemberWorkflowVoice(wid, memberId, workflowId, body) {
8178
+ const response = await this.fetchRaw(
8179
+ `w/${wid}/members/${memberId}/workflow-voices/${workflowId}/preview`,
8180
+ { method: "POST", body: JSON.stringify(body) }
8181
+ );
8182
+ return response.arrayBuffer();
8183
+ }
8184
+ /** Set the member's preferred voice for one workflow (Custom Voice). */
8185
+ async setMemberWorkflowVoice(wid, memberId, workflowId, body) {
8186
+ return this.fetch(
8187
+ `w/${wid}/members/${memberId}/workflow-voices/${workflowId}`,
8188
+ { method: "PUT", body: JSON.stringify(body) }
8189
+ );
8190
+ }
8191
+ /** Clear the member's preferred voice for one workflow (Custom Voice). */
8192
+ async clearMemberWorkflowVoice(wid, memberId, workflowId) {
8193
+ return this.fetch(
8194
+ `w/${wid}/members/${memberId}/workflow-voices/${workflowId}`,
8195
+ { method: "DELETE" }
8196
+ );
8197
+ }
8198
+ /**
8199
+ * Member-scoped DataTypes the current member may use (self-access — works
8200
+ * on a Site session, which can hold no records scope by construction).
8201
+ */
8202
+ async getMyDataTypes(wid) {
8203
+ return this.fetch(`w/${wid}/me/data-types`);
8204
+ }
8205
+ /** The current member's own records for one DataType (self-access). */
8206
+ async getMyRecords(wid, dataTypeId, options) {
8207
+ const params = new URLSearchParams({ data_type_id: String(dataTypeId) });
8208
+ if (options?.page) params.set("page", String(options.page));
8209
+ if (options?.pageSize) params.set("page_size", String(options.pageSize));
8210
+ return this.fetch(
8211
+ `w/${wid}/me/records?${params.toString()}`
8212
+ );
8213
+ }
8052
8214
  /**
8053
8215
  * Get all members owned by the current member in this workspace.
8054
8216
  * Returns the authenticated member plus any members they own (via owner_id).
@@ -8871,9 +9033,9 @@ var init_chunk_MP5ENP4Q = __esm({
8871
9033
  /**
8872
9034
  * Update the settings an org admin owns: name, slug and contact details.
8873
9035
  *
8874
- * Deliberately NOT the admin organization update — `primary` and
8875
- * `enforceCreditLimit` are superuser-only and are not fields on this
8876
- * endpoint's request model at all.
9036
+ * Deliberately NOT the admin organization update — `enforceCreditLimit`
9037
+ * is superuser-only and is not a field on this endpoint's request model
9038
+ * at all.
8877
9039
  */
8878
9040
  async updateOrganizationSettings(orgIdOrUuid, data) {
8879
9041
  return this.fetch(`o/${orgIdOrUuid}`, {
@@ -8904,11 +9066,30 @@ var init_chunk_MP5ENP4Q = __esm({
8904
9066
  });
8905
9067
  }
8906
9068
  /**
8907
- * Get the billing customer UUID for an organization.
9069
+ * Get the billing customer and this organization's billable subscription.
9070
+ *
9071
+ * `subscriptionId` is the org-scoped row — never pick the customer's
9072
+ * newest subscription from the list endpoint. One customer can bill many
9073
+ * organizations.
8908
9074
  */
8909
9075
  async getOrgBillingCustomer(orgIdOrUuid) {
8910
9076
  return this.fetch(`o/${orgIdOrUuid}/billing-customer`);
8911
9077
  }
9078
+ /**
9079
+ * Per-workspace usage for this organization's current credit window.
9080
+ *
9081
+ * Requires a billing role on the organization's billing customer — the
9082
+ * same gate `getOrgBillingCustomer().hasAccess` reports, and the one that
9083
+ * decides whether the billing tab is shown at all.
9084
+ *
9085
+ * `creditsUsed` is a real organization-wide total or it is null; it is
9086
+ * never a partial sum. There is deliberately no per-workspace "remaining"
9087
+ * figure — the caps belong to the organization, so `cap - oneWorkspace`
9088
+ * describes nothing.
9089
+ */
9090
+ async getOrgWorkspaceUsage(orgIdOrUuid) {
9091
+ return this.fetch(`o/${orgIdOrUuid}/usage/workspaces`);
9092
+ }
8912
9093
  /**
8913
9094
  * List members of an organization.
8914
9095
  */
@@ -9229,6 +9410,17 @@ var init_chunk_MP5ENP4Q = __esm({
9229
9410
  async getOrgDomainSite(orgIdOrUuid, domainUuid) {
9230
9411
  return this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}/site`);
9231
9412
  }
9413
+ /**
9414
+ * Pre-enable DNS check: is the site CNAME resolving to the routing
9415
+ * endpoint yet? Pure DNS — consumes no enable budget.
9416
+ */
9417
+ async preflightOrgDomainSite(orgIdOrUuid, domainUuid) {
9418
+ return this.fetch(
9419
+ `o/${orgIdOrUuid}/domains/${domainUuid}/site/preflight`,
9420
+ // Empty JSON body: the route requires one as a CSRF barrier.
9421
+ { method: "POST", body: JSON.stringify({}) }
9422
+ );
9423
+ }
9232
9424
  /**
9233
9425
  * Verify the site CNAME points at the Gravity Rail sites domain.
9234
9426
  */
@@ -9272,10 +9464,10 @@ var init_chunk_MP5ENP4Q = __esm({
9272
9464
  * is required — brands register per legal entity (Customer Profile);
9273
9465
  * there is no primary-entity fallback.
9274
9466
  */
9275
- async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandDescription, brandUuid = null) {
9467
+ async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null) {
9276
9468
  return this.fetch(`o/${orgUuid}/phone-numbers/a2p/start`, {
9277
9469
  method: "POST",
9278
- body: JSON.stringify({ legalEntityUuid, brandName, brandDescription, brandUuid })
9470
+ body: JSON.stringify({ legalEntityUuid, brandName, brandUuid })
9279
9471
  });
9280
9472
  }
9281
9473
  /**
@@ -9379,7 +9571,12 @@ var init_chunk_MP5ENP4Q = __esm({
9379
9571
  * Reconcile trust product state against Twilio (discovery + status
9380
9572
  * refresh). Returns the refreshed products plus which product keys were
9381
9573
  * newly discovered. Responds 409 when another Trust Hub operation holds
9382
- * the org lock — retry shortly rather than queueing.
9574
+ * this legal entity's lock, failing fast rather than queueing.
9575
+ *
9576
+ * No `Retry-After` is sent, deliberately (#23601): holders range from a
9577
+ * sub-second JSONB write to a multi-minute Twilio sequence, so no interval
9578
+ * would be honest. Back off on your own schedule, and re-read before
9579
+ * retrying — the operation you collided with may have committed SIDs.
9383
9580
  */
9384
9581
  async syncVoiceTrustProducts(orgUuid, legalEntityUuid) {
9385
9582
  return this.fetch(
@@ -9412,6 +9609,16 @@ var init_chunk_MP5ENP4Q = __esm({
9412
9609
  async listA2PBrands(orgUuid) {
9413
9610
  return this.fetch(`o/${orgUuid}/a2p-brands`);
9414
9611
  }
9612
+ /**
9613
+ * Live per-brand campaign use-case eligibility. Approved brands only — a
9614
+ * brand still under TCR review comes back as a structured 412 the picker
9615
+ * renders as the supported-list fallback, not an error.
9616
+ */
9617
+ async getA2PBrandUseCases(orgUuid, brandUuid) {
9618
+ return this.fetch(
9619
+ `o/${orgUuid}/a2p-brands/${brandUuid}/use-cases`
9620
+ );
9621
+ }
9415
9622
  /**
9416
9623
  * Fetch a brand's resolved A2P campaign config. The response carries both the
9417
9624
  * raw `overrides` and the `resolved` payload (defaults + overrides) the editor
@@ -10213,6 +10420,26 @@ var init_chunk_MP5ENP4Q = __esm({
10213
10420
  }
10214
10421
  );
10215
10422
  }
10423
+ /**
10424
+ * Pull linked members' Salesforce records now, ignoring the sync cursor.
10425
+ *
10426
+ * The inbound poll only ever returns records modified after the stored
10427
+ * cursor, so a member linked to a record that has not changed since is
10428
+ * unreachable by any poll and its link never receives a field — silently.
10429
+ * This fetches the records by Id and leaves the cursor untouched, so it is
10430
+ * safe to call at any time.
10431
+ *
10432
+ * Omit `memberIds` to resync every linked member (capped server-side).
10433
+ */
10434
+ async resyncSalesforceLinkedMembers(wid, data = {}) {
10435
+ return this.fetch(
10436
+ `w/${wid}/app-connections/salesforce/sync/resync-members`,
10437
+ {
10438
+ method: "POST",
10439
+ body: JSON.stringify(data)
10440
+ }
10441
+ );
10442
+ }
10216
10443
  /**
10217
10444
  * List the sObjects available in the connected org.
10218
10445
  *
@@ -10637,12 +10864,6 @@ var init_chunk_MP5ENP4Q = __esm({
10637
10864
  }
10638
10865
  return verifyResponse;
10639
10866
  }
10640
- /** Trigger a crawl of the site's external content source. */
10641
- async crawlSite(wid, siteId) {
10642
- return this.fetch(`w/${wid}/sites/${siteId}/crawl`, {
10643
- method: "POST"
10644
- });
10645
- }
10646
10867
  /** Create a new site in the workspace. */
10647
10868
  async createSite(wid, site) {
10648
10869
  return this.fetch(`w/${wid}/sites`, {
@@ -10783,9 +11004,65 @@ var init_chunk_MP5ENP4Q = __esm({
10783
11004
  headers: { "Content-Type": "application/json" }
10784
11005
  });
10785
11006
  }
11007
+ /** Purchase a role-granting membership in an existing workspace. */
11008
+ async createMemberCheckoutSession(productId, planPeriod = "month", options = {}) {
11009
+ return this.fetch(`subscriptions/member-checkout-session`, {
11010
+ method: "POST",
11011
+ credentials: "include",
11012
+ body: JSON.stringify({ productId, planPeriod, ...options }),
11013
+ headers: { "Content-Type": "application/json" }
11014
+ });
11015
+ }
11016
+ async getMemberSubscriptionStatus(siteUuidOrOptions) {
11017
+ const options = typeof siteUuidOrOptions === "string" ? { siteUuid: siteUuidOrOptions } : siteUuidOrOptions;
11018
+ const params = new URLSearchParams();
11019
+ if (options.siteUuid) params.set("siteUuid", options.siteUuid);
11020
+ if (options.workspaceUuid) params.set("workspaceUuid", options.workspaceUuid);
11021
+ return this.fetch(
11022
+ `subscriptions/member-subscription?${params.toString()}`,
11023
+ { credentials: "include" }
11024
+ );
11025
+ }
11026
+ /** Open Stripe's hosted membership-management portal. */
11027
+ async createMemberPortalSession(options) {
11028
+ return this.fetch(`subscriptions/member-portal-session`, {
11029
+ method: "POST",
11030
+ credentials: "include",
11031
+ body: JSON.stringify(options),
11032
+ headers: { "Content-Type": "application/json" }
11033
+ });
11034
+ }
11035
+ /**
11036
+ * Purchase one physical companion device (one-time payment; Stripe collects
11037
+ * the shipping address in hosted Checkout).
11038
+ */
11039
+ async createDeviceOrderCheckoutSession(productId, options = {}) {
11040
+ return this.fetch(`device-orders/checkout-session`, {
11041
+ method: "POST",
11042
+ credentials: "include",
11043
+ body: JSON.stringify({ productId, ...options }),
11044
+ headers: { "Content-Type": "application/json" }
11045
+ });
11046
+ }
11047
+ /** List the authenticated Account's own device orders in one workspace. */
11048
+ async listDeviceOrders(options) {
11049
+ const params = new URLSearchParams();
11050
+ if (options.siteUuid) params.set("siteUuid", options.siteUuid);
11051
+ if (options.workspaceUuid) params.set("workspaceUuid", options.workspaceUuid);
11052
+ return this.fetch(`device-orders?${params.toString()}`, {
11053
+ credentials: "include"
11054
+ });
11055
+ }
11056
+ /** Read one authenticated, server-owned checkout attempt. */
11057
+ async getCheckoutAttemptStatus(attemptId) {
11058
+ return this.fetch(
11059
+ `subscriptions/checkout-attempts/${encodeURIComponent(attemptId)}`,
11060
+ { credentials: "include" }
11061
+ );
11062
+ }
10786
11063
  /**
10787
- * List self-service, purchasable plans (org or workspace). Only plans with a
10788
- * paid Stripe price are returned. No auth required.
11064
+ * List self-service, purchasable organization plans or add-ons. Only products
11065
+ * with a Stripe Price are returned; zero-amount plans are allowed.
10789
11066
  */
10790
11067
  async listSelfServeProducts(productType2) {
10791
11068
  const qs = productType2 ? `?product_type=${productType2}` : "";
@@ -10820,7 +11097,13 @@ var init_chunk_MP5ENP4Q = __esm({
10820
11097
  }
10821
11098
  });
10822
11099
  }
10823
- /** Add a workspace to an existing subscription. */
11100
+ /**
11101
+ * Provision a new workspace under an existing org subscription.
11102
+ *
11103
+ * No product or period: the organization already holds the plan and the new
11104
+ * workspace bills through it. Returns before the workspace exists —
11105
+ * `provisioning: true` means poll for it.
11106
+ */
10824
11107
  async addWorkspaceToSubscription(subscriptionId, data) {
10825
11108
  return this.fetch(`subscriptions/${subscriptionId}/add-workspace`, {
10826
11109
  method: "POST",
@@ -10955,6 +11238,9 @@ var init_chunk_MP5ENP4Q = __esm({
10955
11238
  if (opts?.status) params.set("status", opts.status);
10956
11239
  if (opts?.page !== void 0) params.set("page", String(opts.page));
10957
11240
  if (opts?.pageSize !== void 0) params.set("page_size", String(opts.pageSize));
11241
+ if (opts?.subscriptionId !== void 0) {
11242
+ params.set("subscription_id", String(opts.subscriptionId));
11243
+ }
10958
11244
  const qs = params.toString();
10959
11245
  return this.fetch(`customers/${uuid}/subscriptions${qs ? "?" + qs : ""}`);
10960
11246
  }
@@ -11831,31 +12117,47 @@ var init_chunk_MP5ENP4Q = __esm({
11831
12117
  }
11832
12118
  };
11833
12119
  WorkflowNotesApi = class extends BaseApiClient {
11834
- /** List all notes for a specific workflow. */
11835
- async getWorkflowNotes(wid, workflowId) {
11836
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes`);
12120
+ /** List notes for a workflow root (draft unless `workflowRevisionId` is set). */
12121
+ async getWorkflowNotes(wid, workflowId, query) {
12122
+ return this.fetch(notesPath(wid, workflowId, void 0, query));
11837
12123
  }
11838
- /** Create a new note on a workflow. */
11839
- async createWorkflowNote(wid, workflowId, data) {
11840
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes`, {
12124
+ /** Create a new note on a workflow's draft (or a pinned draft revision). */
12125
+ async createWorkflowNote(wid, workflowId, data, query) {
12126
+ return this.fetch(notesPath(wid, workflowId, void 0, query), {
11841
12127
  method: "POST",
11842
12128
  body: JSON.stringify(data)
11843
12129
  });
11844
12130
  }
11845
12131
  /** Update an existing workflow note with partial data. */
11846
- async updateWorkflowNote(wid, workflowId, noteId, data) {
11847
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes/${noteId}`, {
12132
+ async updateWorkflowNote(wid, workflowId, noteId, data, query) {
12133
+ return this.fetch(notesPath(wid, workflowId, noteId, query), {
11848
12134
  method: "PUT",
11849
12135
  body: JSON.stringify(data)
11850
12136
  });
11851
12137
  }
11852
12138
  /** Delete a workflow note by ID. */
11853
- async deleteWorkflowNote(wid, workflowId, noteId) {
11854
- return this.fetch(`w/${wid}/workflows/${workflowId}/notes/${noteId}`, {
12139
+ async deleteWorkflowNote(wid, workflowId, noteId, query) {
12140
+ return this.fetch(notesPath(wid, workflowId, noteId, query), {
11855
12141
  method: "DELETE"
11856
12142
  });
11857
12143
  }
11858
12144
  };
12145
+ EventRuleObjectType = /* @__PURE__ */ ((EventRuleObjectType2) => {
12146
+ EventRuleObjectType2["TASK"] = "task";
12147
+ EventRuleObjectType2["WORKSPACE"] = "workspace";
12148
+ EventRuleObjectType2["CHAT"] = "chat";
12149
+ EventRuleObjectType2["DATA_RECORD"] = "data_record";
12150
+ EventRuleObjectType2["MEMBER"] = "member";
12151
+ EventRuleObjectType2["ROUTINE"] = "routine";
12152
+ EventRuleObjectType2["WORKFLOW"] = "workflow";
12153
+ EventRuleObjectType2["CALENDAR"] = "calendar";
12154
+ EventRuleObjectType2["CALENDAR_EVENT_TYPE"] = "calendar_event_type";
12155
+ EventRuleObjectType2["JOURNEY"] = "journey";
12156
+ EventRuleObjectType2["CALL"] = "call";
12157
+ EventRuleObjectType2["VOICEMAIL"] = "voicemail";
12158
+ EventRuleObjectType2["FAX"] = "fax";
12159
+ return EventRuleObjectType2;
12160
+ })(EventRuleObjectType || {});
11859
12161
  EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
11860
12162
  EventRuleEventType2["TASK_EXECUTE"] = "task:execute";
11861
12163
  EventRuleEventType2["TASK_ENTER"] = "task:enter";
@@ -11879,6 +12181,7 @@ var init_chunk_MP5ENP4Q = __esm({
11879
12181
  EventRuleEventType2["CALENDAR_EVENT_CANCELLED"] = "calendar_event:cancelled";
11880
12182
  EventRuleEventType2["CALENDAR_EVENT_STARTING"] = "calendar_event:starting";
11881
12183
  EventRuleEventType2["CALENDAR_EVENT_ENDED"] = "calendar_event:ended";
12184
+ EventRuleEventType2["CALENDAR_EVENT_NO_SHOW"] = "calendar_event:no_show";
11882
12185
  EventRuleEventType2["CONNECTOR_EVENT"] = "connector:event";
11883
12186
  EventRuleEventType2["ASSIGNMENT_CONCLUDED"] = "assignment:concluded";
11884
12187
  EventRuleEventType2["JOURNEY_STEP_EXECUTE"] = "journey_step:execute";
@@ -11891,6 +12194,38 @@ var init_chunk_MP5ENP4Q = __esm({
11891
12194
  EventRuleEventType2["FAX_RECEIVED"] = "fax:received";
11892
12195
  return EventRuleEventType2;
11893
12196
  })(EventRuleEventType || {});
12197
+ EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
12198
+ EventRuleActionType2["MEMBER_NOTIFY_ACTION"] = "member:notify";
12199
+ EventRuleActionType2["MEMBER_LABEL_ACTION"] = "member:label";
12200
+ EventRuleActionType2["MEMBER_UPSERT"] = "member:upsert";
12201
+ EventRuleActionType2["SEND_WEBHOOK"] = "webhook:send";
12202
+ EventRuleActionType2["SWITCH_TASK_ACTION"] = "task:switch";
12203
+ EventRuleActionType2["ASSISTANT_MESSAGE"] = "assistant:message";
12204
+ EventRuleActionType2["FORM_FIELD_UPDATE"] = "form:update_field";
12205
+ EventRuleActionType2["CEL_MUTATE"] = "record:cel_mutate";
12206
+ EventRuleActionType2["RECORD_COPY_FIELDS"] = "record:copy_fields";
12207
+ EventRuleActionType2["RECORD_UPSERT_LINKED"] = "record:upsert_linked";
12208
+ EventRuleActionType2["RECORD_VERIFY_FIELDS"] = "record:verify_fields";
12209
+ EventRuleActionType2["MESSAGE_VALIDATION"] = "message:validation";
12210
+ EventRuleActionType2["CHAT_CREATE"] = "chat:create";
12211
+ EventRuleActionType2["CHAT_CONTINUE"] = "chat:continue";
12212
+ EventRuleActionType2["CHAT_PAUSE"] = "chat:pause";
12213
+ EventRuleActionType2["CHAT_SUMMARIZE"] = "chat:summarize";
12214
+ EventRuleActionType2["EMAIL_SEND"] = "email:send";
12215
+ EventRuleActionType2["INVOKE_CUSTOM_TOOL"] = "custom_tool:invoke";
12216
+ EventRuleActionType2["MONDAY_UPSERT_ITEM"] = "monday:upsert_item";
12217
+ EventRuleActionType2["MONDAY_REFRESH"] = "monday:refresh";
12218
+ EventRuleActionType2["ASSIGNMENT_CONCLUDE"] = "assignment:conclude";
12219
+ EventRuleActionType2["JOURNEY_ENROLL"] = "journey:enroll";
12220
+ EventRuleActionType2["SMS_SEND"] = "sms:send";
12221
+ EventRuleActionType2["WHATSAPP_SEND"] = "whatsapp:send";
12222
+ EventRuleActionType2["PHONE_CALL"] = "phone:call";
12223
+ EventRuleActionType2["CONNECTION_SYNC"] = "connection:sync";
12224
+ EventRuleActionType2["CONNECTOR_OPERATION"] = "connector:operation";
12225
+ EventRuleActionType2["ECW_REFRESH_MEMBER_ENCOUNTERS"] = "ecw:refresh_member_encounters";
12226
+ EventRuleActionType2["PLAY_AUDIO"] = "audio:play";
12227
+ return EventRuleActionType2;
12228
+ })(EventRuleActionType || {});
11894
12229
  DriverMode = /* @__PURE__ */ ((DriverMode2) => {
11895
12230
  DriverMode2["AUTO"] = "auto";
11896
12231
  DriverMode2["HUMAN"] = "human";
@@ -12284,6 +12619,13 @@ var init_chunk_MP5ENP4Q = __esm({
12284
12619
  signal: options?.signal
12285
12620
  });
12286
12621
  }
12622
+ /** Provision the one-month direct organization plan carried by a promo code. */
12623
+ async startPromoPlanTrial(request) {
12624
+ return this.fetch("promo-codes/plan-trial", {
12625
+ method: "POST",
12626
+ body: JSON.stringify(request)
12627
+ });
12628
+ }
12287
12629
  /** Get a publicly accessible product by ID. */
12288
12630
  async getPublicProduct(id) {
12289
12631
  return this.fetch(`products/${id}`);
@@ -12334,15 +12676,47 @@ var init_chunk_MP5ENP4Q = __esm({
12334
12676
  })
12335
12677
  });
12336
12678
  }
12337
- /** Import workspace configuration from exported data. */
12338
- async importWorkspace(wid, exportData, importMappings, createNew) {
12679
+ /** Download a workspace export ZIP (``export.json`` + file blobs). */
12680
+ async exportWorkspaceZip(wid, workflowId, scope, exclude) {
12681
+ const searchParams = new URLSearchParams();
12682
+ if (workflowId !== void 0) searchParams.set("workflow_id", String(workflowId));
12683
+ if (scope !== void 0) searchParams.set("scope", scope);
12684
+ if (exclude !== void 0) searchParams.set("exclude", exclude);
12685
+ const qs = searchParams.toString();
12686
+ const response = await this.fetchRaw(`w/${wid}/export.zip${qs ? `?${qs}` : ""}`);
12687
+ return response.arrayBuffer();
12688
+ }
12689
+ /** Import workspace configuration from exported JSON, or from a ZIP archive.
12690
+ * Pass ``archive`` (the ZIP from ``exportWorkspaceZip``) to restore file
12691
+ * contents. ``exportData`` may be omitted when the ZIP contains it.
12692
+ */
12693
+ async importWorkspace(wid, exportData, importMappings, createNew, archive) {
12694
+ const payload = {
12695
+ importMappings,
12696
+ createNew
12697
+ };
12698
+ if (exportData) {
12699
+ payload.exportData = exportData;
12700
+ }
12701
+ if (archive) {
12702
+ const form = new FormData();
12703
+ form.append(
12704
+ "request",
12705
+ new Blob([JSON.stringify(payload)], { type: "application/json" }),
12706
+ "import.json"
12707
+ );
12708
+ form.append("archive", archive, "workspace-export.zip");
12709
+ return this.fetch(`w/${wid}/import.zip`, {
12710
+ method: "POST",
12711
+ body: form
12712
+ });
12713
+ }
12714
+ if (!exportData) {
12715
+ throw new Error("exportData is required for JSON import");
12716
+ }
12339
12717
  return this.fetch(`w/${wid}/import`, {
12340
12718
  method: "POST",
12341
- body: JSON.stringify({
12342
- exportData,
12343
- importMappings,
12344
- createNew
12345
- })
12719
+ body: JSON.stringify(payload)
12346
12720
  });
12347
12721
  }
12348
12722
  /** Preview a workspace import using the legacy untyped interface. */
@@ -12384,7 +12758,6 @@ var init_chunk_MP5ENP4Q = __esm({
12384
12758
  * Get billing dashboard data for a workspace.
12385
12759
  *
12386
12760
  * This endpoint is available to organization owners (with org:info scope).
12387
- * Superusers should use the admin endpoint via getWorkspaceUsageDashboard.
12388
12761
  *
12389
12762
  * Returns comprehensive billing information including:
12390
12763
  * - Subscription status and plan details
@@ -12465,6 +12838,42 @@ var init_chunk_MP5ENP4Q = __esm({
12465
12838
  );
12466
12839
  }
12467
12840
  };
12841
+ DevicesApi = class extends BaseApiClient {
12842
+ /** List devices visible to the caller (own devices, or all with devices:admin). */
12843
+ async getDevices(wid, options = {}) {
12844
+ const qs = options.mine ? "?mine=true" : "";
12845
+ return this.fetch(`w/${wid}/devices${qs}`);
12846
+ }
12847
+ /** Fetch one device by UUID. Non-owners without devices:admin receive 404. */
12848
+ async getDevice(wid, deviceUuid) {
12849
+ return this.fetch(`w/${wid}/devices/${deviceUuid}`);
12850
+ }
12851
+ /** List shippable companion-device products (Lantern, later SKUs). */
12852
+ async getDeviceKinds(wid) {
12853
+ return this.fetch(`w/${wid}/devices/kinds`);
12854
+ }
12855
+ /** Claim a pairing code shown on a companion device. Requires devices:write. */
12856
+ async claimDevicePairing(wid, body) {
12857
+ return this.fetch(`w/${wid}/devices/pairing/claim`, {
12858
+ method: "POST",
12859
+ body: JSON.stringify(body)
12860
+ });
12861
+ }
12862
+ /** Update display name and/or LAN capability flags. Requires devices:write. */
12863
+ async updateDevice(wid, deviceUuid, body) {
12864
+ return this.fetch(`w/${wid}/devices/${deviceUuid}`, {
12865
+ method: "PATCH",
12866
+ body: JSON.stringify(body)
12867
+ });
12868
+ }
12869
+ /** Revoke a device credential. The device must pair again. Requires devices:write. */
12870
+ async revokeDevice(wid, deviceUuid) {
12871
+ return this.fetch(`w/${wid}/devices/${deviceUuid}/revoke`, {
12872
+ method: "POST",
12873
+ body: JSON.stringify({})
12874
+ });
12875
+ }
12876
+ };
12468
12877
  TeamsAppsApi = class extends BaseApiClient {
12469
12878
  /**
12470
12879
  * List all Teams apps configured for a workspace.
@@ -12733,6 +13142,41 @@ var init_chunk_MP5ENP4Q = __esm({
12733
13142
  });
12734
13143
  }
12735
13144
  };
13145
+ ProjectsApi = class extends BaseApiClient {
13146
+ /** List projects (README frontmatter summaries). */
13147
+ async getProjects(wid, options = {}) {
13148
+ const params = new URLSearchParams();
13149
+ if (options.page !== void 0) params.append("page", options.page.toString());
13150
+ if (options.pageSize !== void 0) params.append("pageSize", options.pageSize.toString());
13151
+ return this.fetch(
13152
+ `w/${wid}/projects${params.toString() ? `?${params.toString()}` : ""}`
13153
+ );
13154
+ }
13155
+ /** One project: summary + present docs + plan summaries. */
13156
+ async getProject(wid, slug) {
13157
+ return this.fetch(`w/${wid}/projects/${encodeURIComponent(slug)}`);
13158
+ }
13159
+ /** One plan: summary + resolved process + flows + run state. */
13160
+ async getPlan(wid, slug, plan) {
13161
+ return this.fetch(
13162
+ `w/${wid}/projects/${encodeURIComponent(slug)}/plans/${encodeURIComponent(plan)}`
13163
+ );
13164
+ }
13165
+ /** Typed update of a project README; absent fields are untouched. */
13166
+ async updateProject(wid, slug, update) {
13167
+ return this.fetch(`w/${wid}/projects/${encodeURIComponent(slug)}`, {
13168
+ method: "PATCH",
13169
+ body: JSON.stringify(update)
13170
+ });
13171
+ }
13172
+ /** Typed update of a plan README; absent fields are untouched. */
13173
+ async updatePlan(wid, slug, plan, update) {
13174
+ return this.fetch(
13175
+ `w/${wid}/projects/${encodeURIComponent(slug)}/plans/${encodeURIComponent(plan)}`,
13176
+ { method: "PATCH", body: JSON.stringify(update) }
13177
+ );
13178
+ }
13179
+ };
12736
13180
  TrackedLinksApi = class extends BaseApiClient {
12737
13181
  /** Header counters plus whether shortening is configured and enabled. */
12738
13182
  async getTrackedLinkSummary(wid, options = {}) {
@@ -12835,6 +13279,7 @@ var init_chunk_MP5ENP4Q = __esm({
12835
13279
  };
12836
13280
  WORKSPACE_METHOD_NAMES = [
12837
13281
  "activateWorkflowRevision",
13282
+ "addEmailSenderAsMember",
12838
13283
  "addGroupMember",
12839
13284
  "advanceStep",
12840
13285
  "approveWorkspaceInvitation",
@@ -12865,6 +13310,7 @@ var init_chunk_MP5ENP4Q = __esm({
12865
13310
  "checkAvailability",
12866
13311
  "checkSiteDomainAvailability",
12867
13312
  "checkSiteSlugAvailability",
13313
+ "claimDevicePairing",
12868
13314
  "clearConnectionMemberExclusion",
12869
13315
  "clearMemberSwitch",
12870
13316
  "clearTrackedLinkDestinations",
@@ -12884,7 +13330,6 @@ var init_chunk_MP5ENP4Q = __esm({
12884
13330
  "configureSalesforce",
12885
13331
  "convertEmail",
12886
13332
  "convertFile",
12887
- "crawlSite",
12888
13333
  "createAbility",
12889
13334
  "createAccessGrant",
12890
13335
  "createAgent",
@@ -13053,6 +13498,7 @@ var init_chunk_MP5ENP4Q = __esm({
13053
13498
  "exportMembers",
13054
13499
  "exportPhoneNumberOutboundAnalyticsCsv",
13055
13500
  "exportWorkspace",
13501
+ "exportWorkspaceZip",
13056
13502
  "fetchVoicemailAudio",
13057
13503
  "fhirBackfillEncounterSync",
13058
13504
  "fhirCheckPatientLinks",
@@ -13149,6 +13595,11 @@ var init_chunk_MP5ENP4Q = __esm({
13149
13595
  "getConnectionSyncConfig",
13150
13596
  "getCredentialUpdateInvites",
13151
13597
  "getCurrentMember",
13598
+ "clearMemberWorkflowVoice",
13599
+ "getMemberWorkflowVoices",
13600
+ "getMyDataTypes",
13601
+ "getMyRecords",
13602
+ "setMemberWorkflowVoice",
13152
13603
  "getCurrentSmsChat",
13153
13604
  "getCustomToolkit",
13154
13605
  "getCustomToolkits",
@@ -13166,6 +13617,9 @@ var init_chunk_MP5ENP4Q = __esm({
13166
13617
  "getDataTypeByUuid",
13167
13618
  "getDataTypeBySlug",
13168
13619
  "getDataTypes",
13620
+ "getDevice",
13621
+ "getDeviceKinds",
13622
+ "getDevices",
13169
13623
  "getDiscordBot",
13170
13624
  "getDiscordBotAccounts",
13171
13625
  "getDiscordBotByUuid",
@@ -13309,13 +13763,17 @@ var init_chunk_MP5ENP4Q = __esm({
13309
13763
  "getPhoneNumbers",
13310
13764
  "getPhoneUsageReport",
13311
13765
  "getPlatformApp",
13766
+ "getPlan",
13312
13767
  "getPresenceStatus",
13313
13768
  "getProducts",
13769
+ "getProject",
13770
+ "getProjects",
13314
13771
  "getPublicFile",
13315
13772
  "getPublicFolder",
13316
13773
  "getPublicFolderFiles",
13317
13774
  "getPublicProducts",
13318
13775
  "previewPromoCode",
13776
+ "startPromoPlanTrial",
13319
13777
  "getQualification",
13320
13778
  "getQualifications",
13321
13779
  "getRecordingInfo",
@@ -13463,6 +13921,8 @@ var init_chunk_MP5ENP4Q = __esm({
13463
13921
  "markNotificationAsRead",
13464
13922
  "mergeMemberRoles",
13465
13923
  "previewImportMembers",
13924
+ "previewMemberWorkflowVoice",
13925
+ "previewRenameFieldSlug",
13466
13926
  "previewImportWorkspace",
13467
13927
  "previewRoutineWorkflowAccess",
13468
13928
  "previewSchedule",
@@ -13475,6 +13935,7 @@ var init_chunk_MP5ENP4Q = __esm({
13475
13935
  "rateMessage",
13476
13936
  "getChatFeedback",
13477
13937
  "reenrollMember",
13938
+ "renameFieldSlug",
13478
13939
  "registerLinkedRolesMetadata",
13479
13940
  "registerPushSubscription",
13480
13941
  "reindexFolder",
@@ -13494,6 +13955,7 @@ var init_chunk_MP5ENP4Q = __esm({
13494
13955
  "restoreFileVersion",
13495
13956
  "revokeAccessGrant",
13496
13957
  "revokeApiKey",
13958
+ "revokeDevice",
13497
13959
  "revokeICalToken",
13498
13960
  "runRoutine",
13499
13961
  "searchEventRules",
@@ -13564,6 +14026,7 @@ var init_chunk_MP5ENP4Q = __esm({
13564
14026
  "updateDataRecord",
13565
14027
  "updateDataRecordFilter",
13566
14028
  "updateDataType",
14029
+ "updateDevice",
13567
14030
  "updateDiscordBot",
13568
14031
  "updateEventAttendee",
13569
14032
  "updateEventRule",
@@ -13597,9 +14060,12 @@ var init_chunk_MP5ENP4Q = __esm({
13597
14060
  "updatePersona",
13598
14061
  "updatePhoneNumber",
13599
14062
  "updatePlatformApp",
14063
+ "updatePlan",
13600
14064
  "updateProduct",
14065
+ "updateProject",
13601
14066
  "updateRoutine",
13602
14067
  "updateSalesforceSyncConfig",
14068
+ "resyncSalesforceLinkedMembers",
13603
14069
  "updateScenario",
13604
14070
  "updateSite",
13605
14071
  "updateSiteSharing",
@@ -13731,6 +14197,8 @@ var init_chunk_MP5ENP4Q = __esm({
13731
14197
  getDataRecordChanges;
13732
14198
  upsertDataRecord;
13733
14199
  toggleFieldIndex;
14200
+ previewRenameFieldSlug;
14201
+ renameFieldSlug;
13734
14202
  getFieldIndexStatus;
13735
14203
  validateDataTypeSlug;
13736
14204
  getMemberRecordCounts;
@@ -13742,6 +14210,12 @@ var init_chunk_MP5ENP4Q = __esm({
13742
14210
  getDataRecordFilterCount;
13743
14211
  // Members API
13744
14212
  getCurrentMember;
14213
+ getMyDataTypes;
14214
+ getMyRecords;
14215
+ getMemberWorkflowVoices;
14216
+ previewMemberWorkflowVoice;
14217
+ setMemberWorkflowVoice;
14218
+ clearMemberWorkflowVoice;
13745
14219
  getOwnedMembers;
13746
14220
  switchMember;
13747
14221
  clearMemberSwitch;
@@ -13976,11 +14450,13 @@ var init_chunk_MP5ENP4Q = __esm({
13976
14450
  getWorkspaceProduct;
13977
14451
  getPublicProducts;
13978
14452
  previewPromoCode;
14453
+ startPromoPlanTrial;
13979
14454
  getPublicProduct;
13980
14455
  createProduct;
13981
14456
  updateProduct;
13982
14457
  deleteProduct;
13983
14458
  exportWorkspace;
14459
+ exportWorkspaceZip;
13984
14460
  previewWorkspaceImport;
13985
14461
  importWorkspace;
13986
14462
  previewImportWorkspace;
@@ -14007,6 +14483,7 @@ var init_chunk_MP5ENP4Q = __esm({
14007
14483
  disableOrgDomainEmail;
14008
14484
  enableOrgDomainSite;
14009
14485
  getOrgDomainSite;
14486
+ preflightOrgDomainSite;
14010
14487
  verifyOrgDomainSite;
14011
14488
  disableOrgDomainSite;
14012
14489
  getBusinessProfile;
@@ -14020,6 +14497,7 @@ var init_chunk_MP5ENP4Q = __esm({
14020
14497
  syncVoiceTrustProducts;
14021
14498
  createOrganizationWorkspace;
14022
14499
  getOrgBillingCustomer;
14500
+ getOrgWorkspaceUsage;
14023
14501
  getVapidPublicKey;
14024
14502
  registerPushSubscription;
14025
14503
  unregisterPushSubscription;
@@ -14119,7 +14597,6 @@ var init_chunk_MP5ENP4Q = __esm({
14119
14597
  siteSendEmailCode;
14120
14598
  siteVerifyCode;
14121
14599
  siteGoogleOAuthInitiate;
14122
- crawlSite;
14123
14600
  createSite;
14124
14601
  updateSite;
14125
14602
  deleteSite;
@@ -14140,6 +14617,11 @@ var init_chunk_MP5ENP4Q = __esm({
14140
14617
  // Files API
14141
14618
  getFiles;
14142
14619
  getFile;
14620
+ getProjects;
14621
+ getProject;
14622
+ getPlan;
14623
+ updateProject;
14624
+ updatePlan;
14143
14625
  resolveFilePath;
14144
14626
  downloadFilesZip;
14145
14627
  createFile;
@@ -14310,6 +14792,7 @@ var init_chunk_MP5ENP4Q = __esm({
14310
14792
  getInboxEmail;
14311
14793
  markEmailAsRead;
14312
14794
  markEmailAsUnread;
14795
+ addEmailSenderAsMember;
14313
14796
  convertEmail;
14314
14797
  downloadEmailAttachment;
14315
14798
  getInboxThreads;
@@ -14358,6 +14841,13 @@ var init_chunk_MP5ENP4Q = __esm({
14358
14841
  getFeatureRegistry;
14359
14842
  getPublicFeatureRegistry;
14360
14843
  getFeatureBySlug;
14844
+ // Devices API
14845
+ getDevices;
14846
+ getDevice;
14847
+ getDeviceKinds;
14848
+ claimDevicePairing;
14849
+ updateDevice;
14850
+ revokeDevice;
14361
14851
  // Billing API
14362
14852
  getApiKeys;
14363
14853
  createApiKey;
@@ -14373,6 +14863,12 @@ var init_chunk_MP5ENP4Q = __esm({
14373
14863
  addWorkspaceToSubscription;
14374
14864
  purchaseCredits;
14375
14865
  createCheckoutSession;
14866
+ createMemberCheckoutSession;
14867
+ createMemberPortalSession;
14868
+ getMemberSubscriptionStatus;
14869
+ createDeviceOrderCheckoutSession;
14870
+ listDeviceOrders;
14871
+ getCheckoutAttemptStatus;
14376
14872
  listSelfServeProducts;
14377
14873
  getAIUsageReport;
14378
14874
  getSMSUsageReport;
@@ -14552,6 +15048,7 @@ var init_chunk_MP5ENP4Q = __esm({
14552
15048
  getLinkedSalesforceMembers;
14553
15049
  getSalesforceSyncConfig;
14554
15050
  updateSalesforceSyncConfig;
15051
+ resyncSalesforceLinkedMembers;
14555
15052
  listSalesforceObjects;
14556
15053
  describeSalesforceObject;
14557
15054
  searchSalesforceRecords;
@@ -14654,6 +15151,7 @@ var init_chunk_MP5ENP4Q = __esm({
14654
15151
  bindChatsMethods(this, apis.chats);
14655
15152
  bindCallsMethods(this, apis.calls, apis.cel);
14656
15153
  bindDataTypesMethods(this, apis.dataTypes);
15154
+ bindDevicesMethods(this, apis.devices);
14657
15155
  bindMembersMethods(this, apis.members);
14658
15156
  bindAgentTasksMethods(this, apis.agentTasks);
14659
15157
  bindAgentsMethods(this, apis.agents);
@@ -14675,6 +15173,7 @@ var init_chunk_MP5ENP4Q = __esm({
14675
15173
  bindAuthMethods(this, apis.auth, apis.assignments);
14676
15174
  bindSitesMethods(this, apis.sites);
14677
15175
  bindFilesMethods(this, apis.files);
15176
+ bindProjectsMethods(this, apis.projects);
14678
15177
  bindEventsMethods(this, apis.events);
14679
15178
  bindWorkflowsMethods(this, apis.workflows, apis.workflowNotes, apis.voice, apis.supervisors);
14680
15179
  bindCalendarsMethods(this, apis.calendars);
@@ -14840,9 +15339,9 @@ var init_chunk_MP5ENP4Q = __esm({
14840
15339
  }
14841
15340
  });
14842
15341
 
14843
- // ../sdk/dist/chunk-2YLKG4TT.js
14844
- var init_chunk_2YLKG4TT = __esm({
14845
- "../sdk/dist/chunk-2YLKG4TT.js"() {
15342
+ // ../sdk/dist/chunk-3HAV5XUJ.js
15343
+ var init_chunk_3HAV5XUJ = __esm({
15344
+ "../sdk/dist/chunk-3HAV5XUJ.js"() {
14846
15345
  }
14847
15346
  });
14848
15347
 
@@ -14850,9 +15349,9 @@ var init_chunk_2YLKG4TT = __esm({
14850
15349
  var SEARCHABLE_EVENT_RULE_SOURCE_FIELDS;
14851
15350
  var init_dist = __esm({
14852
15351
  "../sdk/dist/index.js"() {
14853
- init_chunk_MP5ENP4Q();
14854
- init_chunk_2YLKG4TT();
14855
- init_chunk_PJFEGUHM();
15352
+ init_chunk_24L4RD4Z();
15353
+ init_chunk_3HAV5XUJ();
15354
+ init_chunk_7OLBLLV7();
14856
15355
  SEARCHABLE_EVENT_RULE_SOURCE_FIELDS = [
14857
15356
  "taskId",
14858
15357
  "dataTypeId",
@@ -15069,7 +15568,7 @@ var init_credentials_manager = __esm({
15069
15568
  isCredentialShape(value) {
15070
15569
  if (!value || typeof value !== "object") return false;
15071
15570
  const v = value;
15072
- const hasOAuth = typeof v.clientId === "string" && typeof v.clientSecret === "string";
15571
+ const hasOAuth = typeof v.clientId === "string" && v.clientId.length > 0;
15073
15572
  const hasToken = typeof v.accessToken === "string" && v.accessToken.length > 0;
15074
15573
  return hasOAuth || hasToken;
15075
15574
  }
@@ -15412,6 +15911,19 @@ function startCallbackServer() {
15412
15911
  timeout.unref();
15413
15912
  });
15414
15913
  }
15914
+ async function fetchFirstPartyClientId(envConfig) {
15915
+ try {
15916
+ const response = await fetch(`${envConfig.apiUrl}/.well-known/oauth-authorization-server`, {
15917
+ headers: { Accept: "application/json" }
15918
+ });
15919
+ if (!response.ok) return null;
15920
+ const metadata = await response.json();
15921
+ const clientId = metadata[FIRST_PARTY_CLIENT_METADATA_FIELD];
15922
+ return typeof clientId === "string" && clientId.length > 0 ? clientId : null;
15923
+ } catch {
15924
+ return null;
15925
+ }
15926
+ }
15415
15927
  async function dynamicClientRegistration(envConfig, clientName = "Gravity CLI") {
15416
15928
  stderr(" Registering OAuth client...");
15417
15929
  const registrationUrl = `${envConfig.apiUrl}/api/v2/oauth/register`;
@@ -15433,27 +15945,52 @@ async function dynamicClientRegistration(envConfig, clientName = "Gravity CLI")
15433
15945
  }
15434
15946
  return await response.json();
15435
15947
  }
15948
+ function tokenRequestAuth(clientId, clientSecret) {
15949
+ if (clientSecret) {
15950
+ const authHeader = Buffer.from(`${clientId}:${clientSecret}`).toString("base64");
15951
+ return {
15952
+ headers: { Authorization: `Basic ${authHeader}` },
15953
+ params: {}
15954
+ };
15955
+ }
15956
+ return { headers: {}, params: { client_id: clientId } };
15957
+ }
15958
+ async function resolveOAuthClient(envConfig, stored, clientName = "Gravity CLI", forceDynamicRegistration = false) {
15959
+ if (!forceDynamicRegistration) {
15960
+ const pinned = await fetchFirstPartyClientId(envConfig);
15961
+ if (pinned) {
15962
+ stderr(" Using the first-party CLI client");
15963
+ return { clientId: pinned };
15964
+ }
15965
+ if (stored?.clientId && stored.clientSecret) {
15966
+ stderr(" Using cached client credentials");
15967
+ return { clientId: stored.clientId, clientSecret: stored.clientSecret };
15968
+ }
15969
+ }
15970
+ const registration = await dynamicClientRegistration(envConfig, clientName);
15971
+ return { clientId: registration.client_id, clientSecret: registration.client_secret };
15972
+ }
15436
15973
  async function performOAuthFlow(options) {
15437
- const { env, envConfig, credentialsManager, clientName = "Gravity CLI", profile } = options;
15974
+ const {
15975
+ env,
15976
+ envConfig,
15977
+ credentialsManager,
15978
+ clientName = "Gravity CLI",
15979
+ profile,
15980
+ startCallback = startCallbackServer,
15981
+ openAuthUrl = openBrowser
15982
+ } = options;
15438
15983
  const profileName = credentialsManager.resolveProfileName(profile, env);
15439
15984
  let hasRetried = false;
15985
+ let forceDynamicRegistration = false;
15440
15986
  while (true) {
15441
- let creds = credentialsManager.load(env, profileName);
15442
- if (!creds || !creds.clientId || !creds.clientSecret) {
15443
- const registration = await dynamicClientRegistration(envConfig, clientName);
15444
- creds = {
15445
- clientId: registration.client_id,
15446
- clientSecret: registration.client_secret
15447
- };
15448
- credentialsManager.save(env, creds, profileName);
15449
- } else {
15450
- stderr(" Using cached client credentials");
15451
- }
15452
- if (!creds.clientId || !creds.clientSecret) {
15453
- throw new Error("OAuth client credentials missing after registration");
15454
- }
15455
- const clientId = creds.clientId;
15456
- const clientSecret = creds.clientSecret;
15987
+ const stored = credentialsManager.load(env, profileName);
15988
+ const { clientId, clientSecret } = await resolveOAuthClient(
15989
+ envConfig,
15990
+ stored,
15991
+ clientName,
15992
+ forceDynamicRegistration
15993
+ );
15457
15994
  const { codeVerifier, codeChallenge } = generatePKCE();
15458
15995
  const state = randomBytes(32).toString("base64url");
15459
15996
  const authParams = new URLSearchParams({
@@ -15466,13 +16003,13 @@ async function performOAuthFlow(options) {
15466
16003
  code_challenge_method: "S256"
15467
16004
  });
15468
16005
  const authUrl = `${envConfig.apiUrl}/api/v2/oauth/authorize?${authParams}`;
15469
- const callbackPromise = startCallbackServer();
16006
+ const callbackPromise = startCallback();
15470
16007
  stderr("\n Opening browser for authorization...");
15471
16008
  stderr(` Profile: ${profileName}`);
15472
16009
  stderr(` If browser doesn't open, visit:
15473
16010
  ${authUrl}
15474
16011
  `);
15475
- openBrowser(authUrl);
16012
+ openAuthUrl(authUrl);
15476
16013
  stderr(" Waiting for authorization (timeout: 5 minutes)...");
15477
16014
  let code;
15478
16015
  let receivedState;
@@ -15481,9 +16018,9 @@ async function performOAuthFlow(options) {
15481
16018
  } catch (err) {
15482
16019
  const msg = err instanceof Error ? err.message : String(err);
15483
16020
  if (!hasRetried && isOAuthError(msg, "invalid_client")) {
15484
- stderr(" Cached client credentials expired, re-registering...");
15485
- credentialsManager.clear(env, profileName);
16021
+ stderr(" Client rejected by the server, re-registering...");
15486
16022
  hasRetried = true;
16023
+ forceDynamicRegistration = true;
15487
16024
  continue;
15488
16025
  }
15489
16026
  throw err;
@@ -15494,35 +16031,42 @@ async function performOAuthFlow(options) {
15494
16031
  stderr(" Authorization code received!");
15495
16032
  stderr(" Exchanging code for tokens...");
15496
16033
  const tokenUrl = `${envConfig.apiUrl}/api/v2/oauth/token`;
15497
- const authHeader = Buffer.from(`${clientId}:${clientSecret}`).toString("base64");
16034
+ const auth = tokenRequestAuth(clientId, clientSecret);
15498
16035
  const tokenResponse = await fetch(tokenUrl, {
15499
16036
  method: "POST",
15500
16037
  headers: {
15501
- Authorization: `Basic ${authHeader}`,
16038
+ ...auth.headers,
15502
16039
  "Content-Type": "application/x-www-form-urlencoded"
15503
16040
  },
15504
16041
  body: new URLSearchParams({
15505
16042
  grant_type: "authorization_code",
15506
16043
  code,
15507
16044
  redirect_uri: REDIRECT_URI,
15508
- code_verifier: codeVerifier
16045
+ code_verifier: codeVerifier,
16046
+ ...auth.params
15509
16047
  })
15510
16048
  });
15511
16049
  if (!tokenResponse.ok) {
15512
16050
  const body = await tokenResponse.text();
15513
16051
  if (!hasRetried && isOAuthError(body, "invalid_client")) {
15514
- stderr(" Cached client credentials expired, re-registering...");
15515
- credentialsManager.clear(env, profileName);
16052
+ stderr(" Client rejected by the server, re-registering...");
15516
16053
  hasRetried = true;
16054
+ forceDynamicRegistration = true;
15517
16055
  continue;
15518
16056
  }
15519
16057
  throw new Error(`Token exchange failed: ${tokenResponse.status} - ${body}`);
15520
16058
  }
15521
16059
  const tokenData = await tokenResponse.json();
15522
16060
  const { accessToken, refreshToken, expiresIn } = validateTokenResponse(tokenData);
15523
- creds.accessToken = accessToken;
15524
- creds.refreshToken = refreshToken ?? creds.refreshToken;
15525
- creds.expiresAt = new Date(Date.now() + expiresIn * 1e3).toISOString();
16061
+ const clientChanged = stored?.clientId !== clientId;
16062
+ const creds = {
16063
+ ...stored ?? {},
16064
+ clientId,
16065
+ clientSecret,
16066
+ accessToken,
16067
+ refreshToken: refreshToken ?? (clientChanged ? void 0 : stored?.refreshToken),
16068
+ expiresAt: new Date(Date.now() + expiresIn * 1e3).toISOString()
16069
+ };
15526
16070
  credentialsManager.save(env, creds, profileName);
15527
16071
  credentialsManager.setCurrentProfile(env, profileName);
15528
16072
  stderr(" Authentication successful!");
@@ -15530,23 +16074,24 @@ async function performOAuthFlow(options) {
15530
16074
  }
15531
16075
  }
15532
16076
  async function refreshAccessToken(envConfig, creds, credentialsManager, env, profile) {
15533
- if (!creds.refreshToken || !creds.clientId || !creds.clientSecret) {
16077
+ if (!creds.refreshToken || !creds.clientId) {
15534
16078
  stderr(" Cannot refresh: missing credentials (re-login required)");
15535
16079
  return null;
15536
16080
  }
15537
16081
  const profileName = credentialsManager.resolveProfileName(profile, env);
15538
16082
  const tokenUrl = `${envConfig.apiUrl}/api/v2/oauth/token`;
15539
- const authHeader = Buffer.from(`${creds.clientId}:${creds.clientSecret}`).toString("base64");
16083
+ const auth = tokenRequestAuth(creds.clientId, creds.clientSecret);
15540
16084
  try {
15541
16085
  const response = await fetch(tokenUrl, {
15542
16086
  method: "POST",
15543
16087
  headers: {
15544
- Authorization: `Basic ${authHeader}`,
16088
+ ...auth.headers,
15545
16089
  "Content-Type": "application/x-www-form-urlencoded"
15546
16090
  },
15547
16091
  body: new URLSearchParams({
15548
16092
  grant_type: "refresh_token",
15549
- refresh_token: creds.refreshToken
16093
+ refresh_token: creds.refreshToken,
16094
+ ...auth.params
15550
16095
  })
15551
16096
  });
15552
16097
  if (!response.ok) {
@@ -15576,10 +16121,12 @@ async function refreshAccessToken(envConfig, creds, credentialsManager, env, pro
15576
16121
  return null;
15577
16122
  }
15578
16123
  }
16124
+ var FIRST_PARTY_CLIENT_METADATA_FIELD;
15579
16125
  var init_auth = __esm({
15580
16126
  "src/cli-utils/auth.ts"() {
15581
16127
  init_config();
15582
16128
  init_credentials_manager();
16129
+ FIRST_PARTY_CLIENT_METADATA_FIELD = "gravityrail_first_party_cli_client_id";
15583
16130
  }
15584
16131
  });
15585
16132
  async function selectFromList(items, options = {}) {
@@ -16142,6 +16689,12 @@ function hint(opts, lines) {
16142
16689
  function stderr2(msg) {
16143
16690
  process.stderr.write(msg + "\n");
16144
16691
  }
16692
+ async function flushStdout() {
16693
+ if (process.stdout.writableLength === 0) return;
16694
+ await new Promise((resolve3) => {
16695
+ process.stdout.write("", () => resolve3());
16696
+ });
16697
+ }
16145
16698
  var COL;
16146
16699
  var init_output = __esm({
16147
16700
  "src/lib/output.ts"() {
@@ -16802,7 +17355,10 @@ function parseArgs(defs, argv) {
16802
17355
  if (!def) {
16803
17356
  if ((flagPart.startsWith("--") || flagPart.startsWith("-")) && !KNOWN_GLOBAL_FLAGS.has(flagPart)) {
16804
17357
  const knownFlags = allDefs.map((d) => `--${d.name}`).join(", ");
16805
- const dataHint = allDefs.some((d) => d.name === "data") ? ` Entity fields are passed as JSON via --data (e.g. --data '{"name":"..."}'), not as individual flags.` : "";
17358
+ const takesNamedFields = defs.some(
17359
+ (d) => !d.isFlag && d.name !== "id" && d.name !== "uuid"
17360
+ );
17361
+ const dataHint = takesNamedFields ? "" : ` Entity fields are passed as JSON via --data (e.g. --data '{"name":"..."}'), not as individual flags.`;
16806
17362
  throw new CLIError(
16807
17363
  `Unknown flag "${flagPart}". Known flags: ${knownFlags || "(none)"}.${dataHint}`
16808
17364
  );
@@ -16926,6 +17482,10 @@ init_errors();
16926
17482
 
16927
17483
  // src/lib/input.ts
16928
17484
  init_errors();
17485
+ var WORKSPACE_EXPORT_ZIP = "__grWorkspaceExportZip";
17486
+ function isWorkspaceExportZip(data) {
17487
+ return typeof data === "object" && data !== null && data[WORKSPACE_EXPORT_ZIP] === true;
17488
+ }
16929
17489
  var JSON_BODY_ACTIONS = /* @__PURE__ */ new Set([
16930
17490
  "create",
16931
17491
  "update",
@@ -16972,8 +17532,15 @@ async function readJsonInput(args) {
16972
17532
  }
16973
17533
  if (filePath) {
16974
17534
  try {
16975
- const content = readFileSync(filePath, "utf-8");
16976
- return JSON.parse(content);
17535
+ const buf = readFileSync(filePath);
17536
+ if (buf.length >= 2 && buf[0] === 80 && buf[1] === 75) {
17537
+ return {
17538
+ [WORKSPACE_EXPORT_ZIP]: true,
17539
+ bytes: buf,
17540
+ path: filePath
17541
+ };
17542
+ }
17543
+ return JSON.parse(buf.toString("utf-8"));
16977
17544
  } catch (err) {
16978
17545
  if (err instanceof SyntaxError) {
16979
17546
  throw new CLIError(`Invalid JSON in file: ${filePath}`);
@@ -17436,8 +18003,9 @@ var CommandRegistry = class {
17436
18003
  for (const cmd of matching.sort((a, b) => a.path.join(" ").localeCompare(b.path.join(" ")))) {
17437
18004
  const subPath = cmd.path.slice(prefix.length).join(" ") || cmd.path[cmd.path.length - 1];
17438
18005
  const description = inSandbox ? sandboxHelpText(cmd.description) : cmd.description;
17439
- lines.push(` ${subPath.padEnd(28)} ${description}`);
18006
+ lines.push(` ${subPath.padEnd(28)} ${summaryLine(description)}`);
17440
18007
  }
18008
+ lines.push("", `Run \`gr ${prefixStr} <command> --help\` for arguments and examples.`);
17441
18009
  return lines.join("\n") + "\n";
17442
18010
  }
17443
18011
  getCommandHelp(cmd) {
@@ -17502,7 +18070,7 @@ var CommandRegistry = class {
17502
18070
  if (!seen.has(topWord) && cmd.path.length === 1) {
17503
18071
  seen.add(topWord);
17504
18072
  const description = inSandbox ? sandboxHelpText(cmd.description) : cmd.description;
17505
- lines.push(` ${topWord.padEnd(28)} ${description}`);
18073
+ lines.push(` ${topWord.padEnd(28)} ${summaryLine(description)}`);
17506
18074
  }
17507
18075
  }
17508
18076
  const globalOptions = [
@@ -17534,6 +18102,9 @@ var CommandRegistry = class {
17534
18102
  return lines.join("\n") + "\n";
17535
18103
  }
17536
18104
  };
18105
+ function summaryLine(text) {
18106
+ return text.split("\n", 1)[0].trimEnd();
18107
+ }
17537
18108
  function sandboxHelpText(text) {
17538
18109
  return text.replace(/\byarn gr\b/g, "gr").replace(/\s--allow-write\b/g, "").replace(/\s--profile\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "").replace(/\s--account\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "").replace(/\s-w\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "");
17539
18110
  }
@@ -19216,6 +19787,7 @@ After changing assistant/realtime fields, publish so live traffic picks them up:
19216
19787
  // src/domains/workflows.ts
19217
19788
  init_output();
19218
19789
  init_context();
19790
+ init_dist();
19219
19791
  var COLUMNS5 = [
19220
19792
  { header: "ID", getValue: (item) => String(item.workflow?.id ?? item.id ?? "") },
19221
19793
  { header: "UUID", getValue: (item) => String(item.workflow?.uuid ?? item.uuid ?? "") },
@@ -19295,13 +19867,19 @@ var REVISION_LIST_COLUMNS = [
19295
19867
  { header: "CREATED", getValue: (r) => r.createdAt ?? "" }
19296
19868
  ];
19297
19869
  function deriveRevisionBadges(revisionId, activeRevisionId, draftRevisionId) {
19298
- const badges = [];
19299
- if (activeRevisionId != null && Number(revisionId) === Number(activeRevisionId)) {
19300
- badges.push("active");
19301
- }
19302
- if (draftRevisionId != null && Number(revisionId) === Number(draftRevisionId)) {
19303
- badges.push("draft");
19870
+ if (revisionId == null || activeRevisionId == null && draftRevisionId == null) {
19871
+ return "";
19304
19872
  }
19873
+ const state = getRevisionState(
19874
+ {
19875
+ activeRevisionId: Number(activeRevisionId),
19876
+ draftRevisionId: Number(draftRevisionId)
19877
+ },
19878
+ { id: Number(revisionId) }
19879
+ );
19880
+ const badges = [];
19881
+ if (state.isActive) badges.push("active");
19882
+ if (state.isDraft) badges.push("draft");
19305
19883
  return badges.join("+");
19306
19884
  }
19307
19885
  var workflowsDomain = {
@@ -19456,10 +20034,17 @@ var workflowsDomain = {
19456
20034
  path: ["workflows", "notes", "list"],
19457
20035
  description: "List workflow notes",
19458
20036
  requiresWorkspace: true,
19459
- args: [{ name: "workflow-id", description: "Workflow ID", required: true }],
20037
+ args: [
20038
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20039
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
20040
+ ],
19460
20041
  handler: async ({ ctx, workspace, args }) => {
19461
20042
  const workflowId = requireNumber(args, "workflow-id");
19462
- const result2 = await requireAuth(ctx).apiClient.getWorkflowNotes(workspace, workflowId);
20043
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20044
+ const notesApi = requireAuth(ctx).apiClient;
20045
+ const result2 = revisionId != null ? await notesApi.getWorkflowNotes(workspace, workflowId, {
20046
+ workflowRevisionId: revisionId
20047
+ }) : await notesApi.getWorkflowNotes(workspace, workflowId);
19463
20048
  outputData(result2, ctx, NOTE_COLUMNS);
19464
20049
  }
19465
20050
  },
@@ -19468,15 +20053,18 @@ var workflowsDomain = {
19468
20053
  description: "Create a workflow note",
19469
20054
  mutates: true,
19470
20055
  requiresWorkspace: true,
19471
- args: [{ name: "workflow-id", description: "Workflow ID", required: true }],
20056
+ args: [
20057
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20058
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
20059
+ ],
19472
20060
  handler: async ({ ctx, workspace, args, data }) => {
19473
20061
  if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
19474
20062
  const workflowId = requireNumber(args, "workflow-id");
19475
- const result2 = await requireAuth(ctx).apiClient.createWorkflowNote(
19476
- workspace,
19477
- workflowId,
19478
- data
19479
- );
20063
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20064
+ const notesApi = requireAuth(ctx).apiClient;
20065
+ const result2 = revisionId != null ? await notesApi.createWorkflowNote(workspace, workflowId, data, {
20066
+ workflowRevisionId: revisionId
20067
+ }) : await notesApi.createWorkflowNote(workspace, workflowId, data);
19480
20068
  outputSingle(result2, ctx, NOTE_COLUMNS);
19481
20069
  }
19482
20070
  },
@@ -19486,19 +20074,19 @@ var workflowsDomain = {
19486
20074
  mutates: true,
19487
20075
  requiresWorkspace: true,
19488
20076
  args: [
19489
- { name: "workflow-id", description: "Workflow ID", required: true },
19490
- { name: "id", description: "Note ID", required: true }
20077
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20078
+ { name: "id", description: "Note ID", required: true },
20079
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
19491
20080
  ],
19492
20081
  handler: async ({ ctx, workspace, args, data }) => {
19493
20082
  if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
19494
20083
  const workflowId = requireNumber(args, "workflow-id");
19495
20084
  const noteId = requireNumber(args, "id");
19496
- const result2 = await requireAuth(ctx).apiClient.updateWorkflowNote(
19497
- workspace,
19498
- workflowId,
19499
- noteId,
19500
- data
19501
- );
20085
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20086
+ const notesApi = requireAuth(ctx).apiClient;
20087
+ const result2 = revisionId != null ? await notesApi.updateWorkflowNote(workspace, workflowId, noteId, data, {
20088
+ workflowRevisionId: revisionId
20089
+ }) : await notesApi.updateWorkflowNote(workspace, workflowId, noteId, data);
19502
20090
  outputSingle(result2, ctx, NOTE_COLUMNS);
19503
20091
  }
19504
20092
  },
@@ -19508,13 +20096,22 @@ var workflowsDomain = {
19508
20096
  mutates: true,
19509
20097
  requiresWorkspace: true,
19510
20098
  args: [
19511
- { name: "workflow-id", description: "Workflow ID", required: true },
19512
- { name: "id", description: "Note ID", required: true }
20099
+ { name: "workflow-id", description: "Workflow (root) ID", required: true },
20100
+ { name: "id", description: "Note ID", required: true },
20101
+ { name: "revision-id", description: "Optional revision pin (default: draft)" }
19513
20102
  ],
19514
20103
  handler: async ({ ctx, workspace, args }) => {
19515
20104
  const workflowId = requireNumber(args, "workflow-id");
19516
20105
  const noteId = requireNumber(args, "id");
19517
- await requireAuth(ctx).apiClient.deleteWorkflowNote(workspace, workflowId, noteId);
20106
+ const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
20107
+ const notesApi = requireAuth(ctx).apiClient;
20108
+ if (revisionId != null) {
20109
+ await notesApi.deleteWorkflowNote(workspace, workflowId, noteId, {
20110
+ workflowRevisionId: revisionId
20111
+ });
20112
+ } else {
20113
+ await notesApi.deleteWorkflowNote(workspace, workflowId, noteId);
20114
+ }
19518
20115
  process.stdout.write(`Deleted workflow note ${noteId}
19519
20116
  `);
19520
20117
  }
@@ -19876,6 +20473,126 @@ ${WORKFLOW_FIELD_REFERENCE}`,
19876
20473
  ]
19877
20474
  };
19878
20475
 
20476
+ // ../sdk/dist/helpers.js
20477
+ init_chunk_7OLBLLV7();
20478
+ new TextEncoder();
20479
+ var WORKSPACE_EXPORT_JSON_MEMBER = "export.json";
20480
+ var MAX_EXPORT_JSON_BYTES = 8 * 1024 * 1024;
20481
+ var EOCD_SIGNATURE = 101010256;
20482
+ var CDFH_SIGNATURE = 33639248;
20483
+ var LFH_SIGNATURE = 67324752;
20484
+ var ZIP_STORED = 0;
20485
+ var ZIP_DEFLATED = 8;
20486
+ function requireRange(bytes, start, length) {
20487
+ if (start < 0 || length < 0 || start + length > bytes.length) {
20488
+ throw new Error("ZIP offsets are out of range.");
20489
+ }
20490
+ }
20491
+ function u16(bytes, offset) {
20492
+ requireRange(bytes, offset, 2);
20493
+ return bytes[offset] | bytes[offset + 1] << 8;
20494
+ }
20495
+ function u32(bytes, offset) {
20496
+ requireRange(bytes, offset, 4);
20497
+ return (bytes[offset] | bytes[offset + 1] << 8 | bytes[offset + 2] << 16 | bytes[offset + 3] << 24) >>> 0;
20498
+ }
20499
+ async function inflateRaw(data, maxBytes) {
20500
+ if (typeof DecompressionStream === "function") {
20501
+ const stream = new Blob([data]).stream().pipeThrough(new DecompressionStream("deflate-raw"));
20502
+ const reader = stream.getReader();
20503
+ const chunks = [];
20504
+ let total = 0;
20505
+ while (true) {
20506
+ const { done, value } = await reader.read();
20507
+ if (done) break;
20508
+ total += value.byteLength;
20509
+ if (total > maxBytes) {
20510
+ await reader.cancel();
20511
+ throw new Error("ZIP member exceeds the export.json size limit.");
20512
+ }
20513
+ chunks.push(value);
20514
+ }
20515
+ const out = new Uint8Array(total);
20516
+ let offset = 0;
20517
+ for (const chunk of chunks) {
20518
+ out.set(chunk, offset);
20519
+ offset += chunk.byteLength;
20520
+ }
20521
+ return out;
20522
+ }
20523
+ const zlib = await import('zlib');
20524
+ return Uint8Array.from(zlib.inflateRawSync(data, { maxOutputLength: maxBytes }));
20525
+ }
20526
+ function findEocdOffset(bytes) {
20527
+ const min = 22;
20528
+ const maxComment = 65535;
20529
+ const start = Math.max(0, bytes.length - (min + maxComment));
20530
+ for (let i = bytes.length - min; i >= start; i--) {
20531
+ if (u32(bytes, i) !== EOCD_SIGNATURE) continue;
20532
+ const commentLength = u16(bytes, i + 20);
20533
+ if (i + min + commentLength === bytes.length) {
20534
+ return i;
20535
+ }
20536
+ }
20537
+ throw new Error("Not a ZIP archive (missing end-of-central-directory).");
20538
+ }
20539
+ async function extractZipMember(bytes, memberName) {
20540
+ const eocd = findEocdOffset(bytes);
20541
+ const entries = u16(bytes, eocd + 10);
20542
+ let offset = u32(bytes, eocd + 16);
20543
+ for (let i = 0; i < entries; i++) {
20544
+ if (u32(bytes, offset) !== CDFH_SIGNATURE) {
20545
+ throw new Error("ZIP central directory is corrupt.");
20546
+ }
20547
+ requireRange(bytes, offset, 46);
20548
+ const method = u16(bytes, offset + 10);
20549
+ const compressedSize = u32(bytes, offset + 20);
20550
+ const uncompressedSize = u32(bytes, offset + 24);
20551
+ const nameLen = u16(bytes, offset + 28);
20552
+ const extraLen = u16(bytes, offset + 30);
20553
+ const commentLen = u16(bytes, offset + 32);
20554
+ const localOffset = u32(bytes, offset + 42);
20555
+ requireRange(bytes, offset + 46, nameLen);
20556
+ const name = new TextDecoder().decode(bytes.subarray(offset + 46, offset + 46 + nameLen));
20557
+ offset += 46 + nameLen + extraLen + commentLen;
20558
+ requireRange(bytes, offset, 0);
20559
+ if (name !== memberName) continue;
20560
+ if (uncompressedSize === 4294967295 || compressedSize === 4294967295) {
20561
+ throw new Error("ZIP64 members are not supported for export.json.");
20562
+ }
20563
+ if (uncompressedSize > MAX_EXPORT_JSON_BYTES || compressedSize > MAX_EXPORT_JSON_BYTES) {
20564
+ throw new Error("ZIP member exceeds the export.json size limit.");
20565
+ }
20566
+ if (u32(bytes, localOffset) !== LFH_SIGNATURE) {
20567
+ throw new Error(`ZIP local header for ${memberName} is corrupt.`);
20568
+ }
20569
+ const localNameLen = u16(bytes, localOffset + 26);
20570
+ const localExtraLen = u16(bytes, localOffset + 28);
20571
+ const dataStart = localOffset + 30 + localNameLen + localExtraLen;
20572
+ requireRange(bytes, dataStart, compressedSize);
20573
+ const compressed = bytes.subarray(dataStart, dataStart + compressedSize);
20574
+ if (method === ZIP_STORED) {
20575
+ if (compressed.length !== uncompressedSize) {
20576
+ throw new Error("ZIP stored member size does not match the directory.");
20577
+ }
20578
+ return compressed.slice();
20579
+ }
20580
+ if (method === ZIP_DEFLATED) {
20581
+ const inflated = await inflateRaw(compressed, MAX_EXPORT_JSON_BYTES);
20582
+ if (inflated.length !== uncompressedSize) {
20583
+ throw new Error("ZIP deflated member size does not match the directory.");
20584
+ }
20585
+ return inflated;
20586
+ }
20587
+ throw new Error(`Unsupported ZIP compression method ${method} for ${memberName}.`);
20588
+ }
20589
+ throw new Error(`ZIP is missing ${memberName}.`);
20590
+ }
20591
+ async function extractWorkspaceExportJson(bytes) {
20592
+ const raw = await extractZipMember(bytes, WORKSPACE_EXPORT_JSON_MEMBER);
20593
+ return new TextDecoder().decode(raw);
20594
+ }
20595
+
19879
20596
  // src/domains/workspaces.ts
19880
20597
  init_errors();
19881
20598
  init_output();
@@ -19990,31 +20707,19 @@ var workspacesDomain = {
19990
20707
  description: "Organization UUID",
19991
20708
  required: true
19992
20709
  },
19993
- { name: "product", description: "Workspace plan product ID", required: true },
19994
20710
  { name: "name", description: "Workspace name", required: true },
19995
- { name: "period", description: "Billing period: 'month' or 'year'", default: "month" },
19996
20711
  { name: "slug", description: "Workspace slug (optional)" },
19997
20712
  { name: "template", description: "Template workspace UUID to clone (optional)" }
19998
20713
  ],
19999
- examples: ['gr workspaces create --org <org-uuid> --product 14 --name "Front Desk"'],
20714
+ examples: ['gr workspaces create --org <org-uuid> --name "Front Desk"'],
20000
20715
  handler: async ({ ctx, args }) => {
20001
20716
  const orgUuid = args.org ?? args["org-uuid"];
20002
20717
  const name = args.name;
20003
- const productRaw = args.product;
20004
20718
  if (!orgUuid) throw new CLIError("Missing required argument: --org <org-uuid>");
20005
20719
  if (!name) throw new CLIError("Missing required argument: --name");
20006
- if (!productRaw) {
20007
- throw new CLIError(
20008
- "Missing required argument: --product\nList workspace plans with: gr billing products --type workspace"
20009
- );
20010
- }
20011
- const payload = {
20012
- name,
20013
- productId: Number(productRaw),
20014
- planPeriod: args.period || "month"
20015
- };
20016
- if (args.slug) payload.slug = args.slug;
20017
- if (args.template) payload.templateWorkspaceUuid = args.template;
20720
+ const payload = { name };
20721
+ if (args.slug) payload.slug = String(args.slug);
20722
+ if (args.template) payload.templateWorkspaceUuid = String(args.template);
20018
20723
  try {
20019
20724
  const result2 = await requireAuth(ctx).apiClient.createOrganizationWorkspace(
20020
20725
  orgUuid,
@@ -20091,18 +20796,29 @@ Provisioning started. Watch it come up with:
20091
20796
  {
20092
20797
  name: "exclude",
20093
20798
  description: 'Comma-separated categories to exclude (e.g. "channels")'
20799
+ },
20800
+ {
20801
+ name: "format",
20802
+ description: "json (default, configuration only) or zip (single archive including files)"
20803
+ },
20804
+ {
20805
+ name: "output",
20806
+ description: "Write the export to this path. Required for --format zip."
20094
20807
  }
20095
20808
  ],
20096
20809
  examples: [
20097
20810
  "yarn gr workspaces export -w $UUID --env prod",
20098
20811
  "yarn gr workspaces export -w $UUID --env prod --scope workflows",
20099
20812
  "yarn gr workspaces export -w $UUID --env prod --workflow-id 42",
20100
- "yarn gr workspaces export -w $UUID --env prod --exclude channels"
20813
+ "yarn gr workspaces export -w $UUID --env prod --exclude channels",
20814
+ "yarn gr workspaces export -w $UUID --env prod --format zip --output export.zip"
20101
20815
  ],
20102
20816
  handler: async ({ ctx, workspace, args }) => {
20103
20817
  const scope = args["scope"];
20104
20818
  const workflowIdStr = args["workflow-id"];
20105
20819
  const exclude = args["exclude"];
20820
+ const outputPath = args["output"];
20821
+ const formatArg = args["format"];
20106
20822
  const workflowId = workflowIdStr ? Number(workflowIdStr) : void 0;
20107
20823
  if (workflowId !== void 0 && isNaN(workflowId)) {
20108
20824
  throw new CLIError("--workflow-id must be a number");
@@ -20113,12 +20829,39 @@ Provisioning started. Watch it come up with:
20113
20829
  if (scope && scope !== "workflows") {
20114
20830
  throw new CLIError('--scope must be "workflows"');
20115
20831
  }
20116
- const result2 = await requireAuth(ctx).apiClient.exportWorkspace(
20832
+ const format = formatArg ?? (outputPath?.toLowerCase().endsWith(".zip") ? "zip" : "json");
20833
+ if (format !== "json" && format !== "zip") {
20834
+ throw new CLIError('--format must be "json" or "zip"');
20835
+ }
20836
+ const client = requireAuth(ctx).apiClient;
20837
+ if (format === "zip") {
20838
+ if (!outputPath) {
20839
+ throw new CLIError("--output is required for ZIP export");
20840
+ }
20841
+ const zip = await client.exportWorkspaceZip(
20842
+ workspace,
20843
+ workflowId,
20844
+ scope,
20845
+ exclude
20846
+ );
20847
+ await writeFile(outputPath, Buffer.from(zip));
20848
+ process.stdout.write(`Saved ZIP export to ${outputPath}
20849
+ `);
20850
+ return;
20851
+ }
20852
+ const result2 = await client.exportWorkspace(
20117
20853
  workspace,
20118
20854
  workflowId,
20119
20855
  scope,
20120
20856
  exclude
20121
20857
  );
20858
+ if (outputPath) {
20859
+ await writeFile(outputPath, `${JSON.stringify(result2, null, 2)}
20860
+ `);
20861
+ process.stdout.write(`Saved JSON export to ${outputPath}
20862
+ `);
20863
+ return;
20864
+ }
20122
20865
  outputSingle(result2, ctx);
20123
20866
  }
20124
20867
  },
@@ -20136,11 +20879,25 @@ Provisioning started. Watch it come up with:
20136
20879
  ],
20137
20880
  examples: [
20138
20881
  "yarn gr workspaces import -w $UUID --env dev --file export.json --create-all",
20882
+ "yarn gr workspaces import -w $UUID --env dev --file export.zip --create-all",
20139
20883
  `yarn gr workspaces import -w $UUID --env dev --data '{"exportData": ..., "createNew": ..., "importMappings": {}}'`
20140
20884
  ],
20141
20885
  handler: async ({ ctx, workspace, data, args }) => {
20142
- if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
20143
- const payload = data;
20886
+ if (!data) throw new CLIError("JSON or ZIP data required (--data, --file, or stdin)");
20887
+ let archive;
20888
+ let payload;
20889
+ if (isWorkspaceExportZip(data)) {
20890
+ try {
20891
+ payload = JSON.parse(await extractWorkspaceExportJson(data.bytes));
20892
+ } catch (err) {
20893
+ throw new CLIError(
20894
+ err instanceof Error ? err.message : `ZIP is not a workspace export archive: ${data.path}`
20895
+ );
20896
+ }
20897
+ archive = new Blob([Uint8Array.from(data.bytes)]);
20898
+ } else {
20899
+ payload = data;
20900
+ }
20144
20901
  const createAll = args["create-all"] === true;
20145
20902
  let exportData;
20146
20903
  let importMappings;
@@ -20202,7 +20959,8 @@ Provisioning started. Watch it come up with:
20202
20959
  workspace,
20203
20960
  exportData,
20204
20961
  importMappings,
20205
- createNew
20962
+ createNew,
20963
+ archive
20206
20964
  );
20207
20965
  outputSingle(result2, ctx);
20208
20966
  }
@@ -21052,6 +21810,50 @@ ${DATA_TYPE_FIELD_REFERENCE}`
21052
21810
  outputSingle(result2, ctx, COLUMNS9);
21053
21811
  }
21054
21812
  },
21813
+ // Field-slug rename. Two commands, deliberately: a field slug is the key
21814
+ // its answers are stored under, so preview is the read-only half an
21815
+ // operator runs first and rename is the explicit mutation. Neither is
21816
+ // reachable from `data-types update`, so a rename can never happen as a
21817
+ // side effect of saving a form.
21818
+ {
21819
+ path: ["data-types", "fields", "rename-preview"],
21820
+ description: "Preview renaming a form field slug (read-only)",
21821
+ requiresWorkspace: true,
21822
+ args: [
21823
+ { name: "data-type-id", description: "Data type ID", required: true },
21824
+ { name: "slug", description: "Current field slug", required: true },
21825
+ { name: "new-slug", description: "Proposed new field slug", required: true }
21826
+ ],
21827
+ handler: async ({ ctx, workspace, args }) => {
21828
+ const result2 = await requireAuth(ctx).apiClient.previewRenameFieldSlug(
21829
+ workspace,
21830
+ requireNumber(args, "data-type-id"),
21831
+ requireString(args, "slug"),
21832
+ requireString(args, "new-slug")
21833
+ );
21834
+ outputSingle(result2, ctx);
21835
+ }
21836
+ },
21837
+ {
21838
+ path: ["data-types", "fields", "rename"],
21839
+ description: "Rename a form field slug, preserving stored answers",
21840
+ mutates: true,
21841
+ requiresWorkspace: true,
21842
+ args: [
21843
+ { name: "data-type-id", description: "Data type ID", required: true },
21844
+ { name: "slug", description: "Current field slug", required: true },
21845
+ { name: "new-slug", description: "New field slug", required: true }
21846
+ ],
21847
+ handler: async ({ ctx, workspace, args }) => {
21848
+ const result2 = await requireAuth(ctx).apiClient.renameFieldSlug(
21849
+ workspace,
21850
+ requireNumber(args, "data-type-id"),
21851
+ requireString(args, "slug"),
21852
+ requireString(args, "new-slug")
21853
+ );
21854
+ outputSingle(result2, ctx);
21855
+ }
21856
+ },
21055
21857
  // Data Records sub-resource
21056
21858
  {
21057
21859
  path: ["data-types", "records", "list"],
@@ -21156,10 +21958,225 @@ ${DATA_TYPE_FIELD_REFERENCE}`
21156
21958
  ]
21157
21959
  };
21158
21960
 
21961
+ // src/domains/devices.ts
21962
+ init_output();
21963
+ init_context();
21964
+ var DEVICE_COLUMNS = [
21965
+ { header: "UUID", getValue: (item) => item.uuid ?? "" },
21966
+ { header: "NAME", getValue: (item) => item.displayName ?? "" },
21967
+ { header: "KIND", getValue: (item) => item.kindName ?? "" },
21968
+ { header: "SLUG", getValue: (item) => item.slug ?? "" },
21969
+ { header: "MEMBER", getValue: (item) => String(item.memberId ?? "") },
21970
+ { header: "REVOKED", getValue: (item) => item.isRevoked ? "yes" : "" },
21971
+ { header: "LAST SEEN", getValue: (item) => item.lastSeenAt ?? "" },
21972
+ { header: "FIRMWARE", getValue: (item) => item.firmwareVersion ?? "" }
21973
+ ];
21974
+ var KIND_COLUMNS = [
21975
+ { header: "SLUG", getValue: (item) => item.slug ?? "" },
21976
+ { header: "NAME", getValue: (item) => item.name ?? "" },
21977
+ { header: "FAMILY", getValue: (item) => item.family ?? "" }
21978
+ ];
21979
+ var devicesDomain = {
21980
+ name: "devices",
21981
+ description: "Registered devices: list, inspect, rename, revoke, claim pairing",
21982
+ commands: [
21983
+ {
21984
+ path: ["devices", "list"],
21985
+ description: "List registered devices (all with devices:admin; --mine for the session member\u2019s own)",
21986
+ requiresWorkspace: true,
21987
+ args: [
21988
+ {
21989
+ name: "mine",
21990
+ description: "Only the session member\u2019s own devices",
21991
+ isFlag: true
21992
+ }
21993
+ ],
21994
+ examples: ["gr devices list -w $WID", "gr devices list -w $WID --mine"],
21995
+ handler: async ({ ctx, workspace, args }) => {
21996
+ const auth = requireAuth(ctx);
21997
+ const result2 = await auth.apiClient.getDevices(workspace, {
21998
+ mine: args.mine === true
21999
+ });
22000
+ outputData(result2, ctx, DEVICE_COLUMNS);
22001
+ }
22002
+ },
22003
+ {
22004
+ path: ["devices", "get"],
22005
+ description: "Show one device",
22006
+ requiresWorkspace: true,
22007
+ args: [{ name: "uuid", description: "Device UUID", required: true }],
22008
+ handler: async ({ ctx, workspace, args }) => {
22009
+ const auth = requireAuth(ctx);
22010
+ const result2 = await auth.apiClient.getDevice(workspace, requireString(args, "uuid"));
22011
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22012
+ }
22013
+ },
22014
+ {
22015
+ path: ["devices", "kinds"],
22016
+ description: "List the device catalog (kinds a device can register as)",
22017
+ requiresWorkspace: true,
22018
+ handler: async ({ ctx, workspace }) => {
22019
+ const auth = requireAuth(ctx);
22020
+ const result2 = await auth.apiClient.getDeviceKinds(workspace);
22021
+ outputData(result2, ctx, KIND_COLUMNS);
22022
+ }
22023
+ },
22024
+ {
22025
+ path: ["devices", "update"],
22026
+ description: "Update a device (displayName, lanReceive, lanBroadcast)",
22027
+ mutates: true,
22028
+ requiresWorkspace: true,
22029
+ args: [{ name: "uuid", description: "Device UUID", required: true }],
22030
+ examples: [
22031
+ `gr devices update -w $WID --uuid $UUID --data '{"displayName":"Kitchen Lantern"}' --allow-write`
22032
+ ],
22033
+ handler: async ({ ctx, workspace, args, data }) => {
22034
+ const auth = requireAuth(ctx);
22035
+ const result2 = await auth.apiClient.updateDevice(
22036
+ workspace,
22037
+ requireString(args, "uuid"),
22038
+ data ?? {}
22039
+ );
22040
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22041
+ }
22042
+ },
22043
+ {
22044
+ path: ["devices", "revoke"],
22045
+ description: "Revoke a device credential (the device must pair again)",
22046
+ mutates: true,
22047
+ requiresWorkspace: true,
22048
+ args: [{ name: "uuid", description: "Device UUID", required: true }],
22049
+ handler: async ({ ctx, workspace, args }) => {
22050
+ const auth = requireAuth(ctx);
22051
+ const result2 = await auth.apiClient.revokeDevice(
22052
+ workspace,
22053
+ requireString(args, "uuid")
22054
+ );
22055
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22056
+ }
22057
+ },
22058
+ {
22059
+ path: ["devices", "claim"],
22060
+ description: "Claim a device pairing code (binds the device to the CLAIMING member \u2014 the normal self-service pairing flow)",
22061
+ mutates: true,
22062
+ requiresWorkspace: true,
22063
+ args: [
22064
+ { name: "code", description: "Pairing code shown on the device", required: true },
22065
+ { name: "name", description: "Optional display name", required: false }
22066
+ ],
22067
+ handler: async ({ ctx, workspace, args }) => {
22068
+ const auth = requireAuth(ctx);
22069
+ const displayName = optionalString(args, "name");
22070
+ const result2 = await auth.apiClient.claimDevicePairing(workspace, {
22071
+ pairingCode: requireString(args, "code"),
22072
+ ...displayName !== void 0 ? { displayName } : {}
22073
+ });
22074
+ outputSingle(result2, ctx, DEVICE_COLUMNS);
22075
+ }
22076
+ }
22077
+ ]
22078
+ };
22079
+
21159
22080
  // src/domains/events.ts
21160
22081
  init_output();
21161
22082
  init_pagination();
21162
22083
  init_context();
22084
+ init_errors();
22085
+
22086
+ // src/lib/events/action-params.ts
22087
+ var ACTION_PARAM_HINTS = {
22088
+ "chat:create": {
22089
+ summary: "outbound voice/SMS/web \u2014 starts a workflow chat",
22090
+ shape: [
22091
+ '{"workflowUUID":"<workflow-uuid>","channel":"web-chat"|"phone-voice"|"phone-sms",',
22092
+ ' "phoneNumberUUID":"<uuid>","inboxUUID":"<optional-uuid>","assistantEnabled":<bool>}'
22093
+ ],
22094
+ notes: [
22095
+ "Keys are UUID strings: workflowUUID (not workflowId), phoneNumberUUID (not",
22096
+ "phoneNumberId), inboxUUID (not inboxId). Unknown keys are rejected.",
22097
+ "workflowUUID is the STABLE workflow uuid, not a revision uuid:",
22098
+ " gr workflows get --id <workflow-id> -w $WID --jq .uuid",
22099
+ "phone-voice and phone-sms need a phone at the rule, workflow, or workspace level."
22100
+ ]
22101
+ },
22102
+ "sms:send": {
22103
+ summary: "send an SMS, or start an SMS workflow chat",
22104
+ shape: [
22105
+ 'One-off text: {"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"Hi {{name}} \u2026"}',
22106
+ 'Workflow chat: {"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>",',
22107
+ ' "initialUserMessage":"<optional seed>"}'
22108
+ ],
22109
+ notes: [
22110
+ "phoneNumberUUID (the from-number) is required. The message body is messageTemplate",
22111
+ '(supports {{record/member}} template vars) \u2014 there is no "body"/"message" key.',
22112
+ "Provide messageTemplate for a one-off text, OR workflowUUID to start a chat."
22113
+ ]
22114
+ },
22115
+ "whatsapp:send": {
22116
+ summary: "send a WhatsApp message, or start a WhatsApp workflow chat",
22117
+ shape: [
22118
+ '{"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"\u2026"} (one-off)',
22119
+ '{"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>"} (chat)'
22120
+ ],
22121
+ notes: ["Same param model as sms:send."]
22122
+ },
22123
+ "email:send": {
22124
+ summary: "send an email, or start an email workflow chat",
22125
+ shape: [
22126
+ '{"inboxUUID":"<uuid>","subjectTemplate":"\u2026","bodyTemplate":"\u2026"}',
22127
+ '{"inboxUUID":"<uuid>","workflowUUID":"<workflow-uuid>"} (starts a chat instead)'
22128
+ ],
22129
+ notes: [
22130
+ "inboxUUID is required \u2014 list them with `gr inboxes list -w $WID`.",
22131
+ 'Optional: toEmail, contentType ("text" default), initialUserMessage.'
22132
+ ]
22133
+ },
22134
+ "member:label": {
22135
+ summary: "add/remove labels on the triggering member",
22136
+ shape: ['{"addLabelIds":["<uuid>"],"removeLabelIds":["<uuid>"]}'],
22137
+ notes: ["Label UUIDs, not names: `gr members labels list -w $WID --jq '.[].uuid'`."]
22138
+ },
22139
+ "member:notify": {
22140
+ summary: "notify a workspace member",
22141
+ shape: [
22142
+ '{"messageTemplate":"Hi {{member.name}} \u2026","memberId":<member-id>} (or "sendToOwner":true)'
22143
+ ],
22144
+ notes: [
22145
+ "messageTemplate is required (supports {{member}} template vars). Target exactly one",
22146
+ "of memberId or sendToOwner."
22147
+ ]
22148
+ },
22149
+ "webhook:send": {
22150
+ summary: "POST the event payload to a URL",
22151
+ shape: ['{"webhookUrl":"https://example.com/hook"}'],
22152
+ notes: [
22153
+ "webhookUrl is required and must be https in production.",
22154
+ "signingSecret is generated for you when omitted."
22155
+ ]
22156
+ },
22157
+ "assistant:message": {
22158
+ summary: "inject an assistant message into the chat",
22159
+ shape: ['{"message":"Welcome! \u2026","suggestions":["Yes","No"],"waitForResponse":<bool>}'],
22160
+ notes: ['message is required. The key is "message", not "messageTemplate".']
22161
+ },
22162
+ "chat:pause": {
22163
+ summary: "pause the chat for a human response",
22164
+ shape: ['{"message":"<optional assistant message shown on pause>"}']
22165
+ }
22166
+ };
22167
+ function renderHint(actionType, entry) {
22168
+ const lines = [`${actionType} actionParams (${entry.summary})`];
22169
+ for (const line of entry.shape) lines.push(` ${line}`);
22170
+ for (const note of entry.notes ?? []) lines.push(` ${note}`);
22171
+ return lines.join("\n");
22172
+ }
22173
+ function renderActionParamHint(actionType) {
22174
+ const entry = ACTION_PARAM_HINTS[actionType];
22175
+ return entry ? renderHint(actionType, entry) : void 0;
22176
+ }
22177
+ function renderAllActionParamHints() {
22178
+ return Object.entries(ACTION_PARAM_HINTS).map(([actionType, entry]) => renderHint(actionType, entry)).join("\n\n");
22179
+ }
21163
22180
 
21164
22181
  // src/lib/events/field-help.ts
21165
22182
  var EVENT_RULE_FIELD_REFERENCE = `
@@ -21181,29 +22198,194 @@ Common optional
21181
22198
  Scope (set exactly one when objectType requires it)
21182
22199
  routineId, workflowId, taskId, dataTypeId, journeyStepId, calendarId, ...
21183
22200
 
21184
- chat:create actionParams (outbound voice/SMS \u2014 starts a workflow chat)
21185
- {"workflowUUID":"<workflow-uuid>","channel":"phone-voice"|"phone-sms",
21186
- "phoneNumberUUID":"<uuid>","inboxUUID":"<optional-uuid>","assistantEnabled":<bool>}
21187
- Keys are UUID strings: workflowUUID (not workflowId), phoneNumberUUID (not
21188
- phoneNumberId), inboxUUID (not inboxId). Unknown keys are rejected.
21189
-
21190
- sms:send actionParams (send an SMS, or start an SMS workflow chat)
21191
- One-off text: {"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"Hi {{name}} \u2026"}
21192
- Workflow chat: {"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>",
21193
- "initialUserMessage":"<optional seed>"}
21194
- phoneNumberUUID (the from-number) is required. The message body is messageTemplate
21195
- (supports {{record/member}} template vars) \u2014 there is no "body"/"message" key.
21196
- Provide messageTemplate for a one-off text, OR workflowUUID to start a chat.
21197
-
21198
- member:label actionParams
21199
- {"addLabelIds":["<uuid>"],"removeLabelIds":["<uuid>"]}
21200
-
21201
- member:notify actionParams
21202
- {"messageTemplate":"Hi {{member.name}} \u2026","memberId":<member-id>} (or "sendToOwner":true)
21203
- messageTemplate is required (supports {{member}} template vars). Target exactly one
21204
- of memberId or sendToOwner.
22201
+ ${renderAllActionParamHints()}
22202
+
22203
+ Prefer a typed creator over hand-built JSON when one fits the trigger:
22204
+ gr events rules create-routine-rule routine fires
22205
+ gr events rules create-task-rule member reaches a task
22206
+ gr events rules create-data-record-rule form record created/updated
22207
+ gr events rules types triggers and the actions each accepts
21205
22208
  `;
21206
22209
 
22210
+ // src/lib/events/rule-create.ts
22211
+ init_dist();
22212
+ init_errors();
22213
+ var ALL_ACTION_TYPES = Object.values(EventRuleActionType).sort();
22214
+ var DATA_RECORD_EVENT_TYPES = [
22215
+ EventRuleEventType.DATA_RECORD_CREATED,
22216
+ EventRuleEventType.DATA_RECORD_UPDATED
22217
+ ];
22218
+ var DEFAULT_CHAT_CHANNEL = "web-chat";
22219
+ function editDistance(a, b) {
22220
+ const rows = a.length + 1;
22221
+ const cols = b.length + 1;
22222
+ let prev = Array.from({ length: cols }, (_, j) => j);
22223
+ for (let i = 1; i < rows; i++) {
22224
+ const curr = Array.from({ length: cols }, (_, j) => j === 0 ? i : 0);
22225
+ for (let j = 1; j < cols; j++) {
22226
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
22227
+ curr[j] = Math.min(prev[j] + 1, curr[j - 1] + 1, prev[j - 1] + cost);
22228
+ }
22229
+ prev = curr;
22230
+ }
22231
+ return prev[cols - 1];
22232
+ }
22233
+ function suggestValues(input2, allowed) {
22234
+ const namespace = input2.includes(":") ? input2.slice(0, input2.indexOf(":") + 1) : null;
22235
+ const scored = allowed.map((candidate) => ({ candidate, distance: editDistance(input2, candidate) })).filter(
22236
+ ({ candidate, distance }) => distance <= 3 || namespace !== null && candidate.startsWith(namespace)
22237
+ ).sort((a, b) => a.distance - b.distance || a.candidate.localeCompare(b.candidate));
22238
+ return scored.slice(0, 3).map(({ candidate }) => candidate);
22239
+ }
22240
+ function requireEnumValue(raw, allowed, flag, trailingHint, listLabel = "Valid values") {
22241
+ const match = allowed.find((candidate) => candidate === raw);
22242
+ if (match !== void 0) return match;
22243
+ const suggestions = suggestValues(raw, allowed);
22244
+ const didYouMean = suggestions.length ? ` Did you mean: ${suggestions.join(", ")}?` : "";
22245
+ const tail = trailingHint ? ` ${trailingHint}` : "";
22246
+ throw new CLIError(
22247
+ `Unknown --${flag} "${raw}".${didYouMean} ${listLabel}: ${allowed.join(", ")}.${tail}`
22248
+ );
22249
+ }
22250
+ function requireActionType(args) {
22251
+ const raw = optionalString(args, "action-type");
22252
+ const pointer = "Run `gr events rules types` for the trigger\u2192action matrix this workspace accepts.";
22253
+ if (raw === void 0) {
22254
+ throw new CLIError(
22255
+ `Missing required argument: --action-type. Known action types: ${ALL_ACTION_TYPES.join(", ")}. ${pointer}`
22256
+ );
22257
+ }
22258
+ return requireEnumValue(raw, ALL_ACTION_TYPES, "action-type", pointer, "Known action types");
22259
+ }
22260
+ function parseActionParams(args, actionType) {
22261
+ const raw = optionalString(args, "action-params");
22262
+ if (raw === void 0) return void 0;
22263
+ const hint2 = renderActionParamHint(actionType);
22264
+ const withHint = (message) => new CLIError(hint2 ? `${message}
22265
+
22266
+ ${hint2}` : message);
22267
+ let parsed;
22268
+ try {
22269
+ parsed = JSON.parse(raw);
22270
+ } catch (err) {
22271
+ throw withHint(
22272
+ `--action-params must be a JSON object: ${err instanceof Error ? err.message : String(err)}`
22273
+ );
22274
+ }
22275
+ if (typeof parsed === "string") {
22276
+ try {
22277
+ parsed = JSON.parse(parsed);
22278
+ } catch {
22279
+ }
22280
+ }
22281
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
22282
+ throw withHint(`--action-params must be a JSON object, got ${describeJson(parsed)}.`);
22283
+ }
22284
+ return parsed;
22285
+ }
22286
+ function describeJson(value) {
22287
+ if (value === null) return "null";
22288
+ if (Array.isArray(value)) return "an array";
22289
+ return `a ${typeof value}`;
22290
+ }
22291
+ function parseCommonRuleFlags(args) {
22292
+ const actionType = requireActionType(args);
22293
+ return {
22294
+ actionType,
22295
+ actionParams: parseActionParams(args, actionType),
22296
+ name: optionalString(args, "name"),
22297
+ conditions: optionalString(args, "conditions"),
22298
+ active: optionalBool(args, "active") ?? true
22299
+ };
22300
+ }
22301
+ function parseDelay(args) {
22302
+ const delay = optionalNumber(args, "delay") ?? 0;
22303
+ if (delay < 0 || !Number.isInteger(delay)) {
22304
+ throw new CLIError(`--delay must be a non-negative whole number of seconds (got ${delay})`);
22305
+ }
22306
+ return delay;
22307
+ }
22308
+ function assertChatCreateWorkflowResolvable(params, howToSupply) {
22309
+ if (typeof params.workflowUUID === "string" && params.workflowUUID.trim() !== "") return;
22310
+ throw new CLIError(
22311
+ `chat:create needs a workflowUUID \u2014 the stable workflow uuid, not a revision uuid. ${howToSupply} Find it with: gr workflows get --id <workflow-id> -w $WID --jq .uuid
22312
+
22313
+ ` + renderActionParamHint(EventRuleActionType.CHAT_CREATE)
22314
+ );
22315
+ }
22316
+ function hydrateChatCreateParams(actionType, actionParams, workflowUuid) {
22317
+ if (actionType !== EventRuleActionType.CHAT_CREATE) {
22318
+ if (workflowUuid !== void 0) {
22319
+ throw new CLIError(
22320
+ `--workflow-uuid only applies to --action-type chat:create (got "${actionType}"). Other actions take their workflow UUID inside --action-params.`
22321
+ );
22322
+ }
22323
+ return actionParams;
22324
+ }
22325
+ const params = { ...actionParams ?? {} };
22326
+ if (workflowUuid !== void 0 && !params.workflowUUID) {
22327
+ params.workflowUUID = workflowUuid;
22328
+ }
22329
+ if (params.channel === void 0) {
22330
+ params.channel = DEFAULT_CHAT_CHANNEL;
22331
+ }
22332
+ assertChatCreateWorkflowResolvable(
22333
+ params,
22334
+ 'Pass --workflow-uuid <uuid>, or put "workflowUUID" in --action-params.'
22335
+ );
22336
+ return params;
22337
+ }
22338
+ function assertTaskChatCreateParams(actionType, actionParams) {
22339
+ if (actionType !== EventRuleActionType.CHAT_CREATE) return;
22340
+ assertChatCreateWorkflowResolvable(
22341
+ actionParams ?? {},
22342
+ 'Put "workflowUUID" in --action-params (task rules have no --workflow-uuid shorthand, matching create_task_rule).'
22343
+ );
22344
+ }
22345
+ function buildRoutineRuleData(routineId, common, delay, workflowUuid) {
22346
+ return {
22347
+ name: common.name ?? `Routine Rule #${routineId}`,
22348
+ objectType: EventRuleObjectType.ROUTINE,
22349
+ eventType: EventRuleEventType.ROUTINE_TRIGGERED,
22350
+ actionType: common.actionType,
22351
+ actionParams: hydrateChatCreateParams(common.actionType, common.actionParams, workflowUuid) ?? {},
22352
+ routineId,
22353
+ conditions: common.conditions ?? null,
22354
+ active: common.active,
22355
+ delay,
22356
+ order: 0
22357
+ };
22358
+ }
22359
+ function buildTaskRuleData(taskId, common) {
22360
+ assertTaskChatCreateParams(common.actionType, common.actionParams);
22361
+ return {
22362
+ name: common.name ?? `Task Rule (Task #${taskId})`,
22363
+ objectType: EventRuleObjectType.TASK,
22364
+ eventType: EventRuleEventType.TASK_EXECUTE,
22365
+ actionType: common.actionType,
22366
+ actionParams: common.actionParams ?? {},
22367
+ taskId,
22368
+ conditions: common.conditions ?? null,
22369
+ active: common.active,
22370
+ delay: 0,
22371
+ order: 0
22372
+ };
22373
+ }
22374
+ function buildDataRecordRuleData(dataTypeId, eventType, common, workflowUuid) {
22375
+ return {
22376
+ name: common.name ?? `Data Record Rule (Type #${dataTypeId})`,
22377
+ objectType: EventRuleObjectType.DATA_RECORD,
22378
+ eventType,
22379
+ actionType: common.actionType,
22380
+ actionParams: hydrateChatCreateParams(common.actionType, common.actionParams, workflowUuid) ?? {},
22381
+ dataTypeId,
22382
+ conditions: common.conditions ?? null,
22383
+ active: common.active,
22384
+ delay: 0,
22385
+ order: 0
22386
+ };
22387
+ }
22388
+
21207
22389
  // src/domains/events.ts
21208
22390
  var RULE_COLUMNS = [
21209
22391
  COL.id(),
@@ -21302,7 +22484,247 @@ var eventRulesListCmd = {
21302
22484
  outputData(listResult(result2, true), ctx, RULE_COLUMNS);
21303
22485
  }
21304
22486
  };
21305
- var eventRulesCrud = [eventRulesListCmd, ...eventRulesCrudNoList];
22487
+ var CREATE_RULE_COMMON_ARGS = [
22488
+ {
22489
+ name: "action-type",
22490
+ description: "What to run when the rule fires (see `gr events rules types`)",
22491
+ required: true
22492
+ },
22493
+ {
22494
+ name: "action-params",
22495
+ description: "Action parameters as a JSON object (shapes in Examples below)"
22496
+ },
22497
+ { name: "name", description: "Rule name (auto-generated when omitted)" },
22498
+ { name: "conditions", description: "CEL expression; the rule only fires when it is true" },
22499
+ { name: "active", description: "true or false (default: true)" }
22500
+ ];
22501
+ var VERIFY_EXAMPLE_LINES = [
22502
+ "",
22503
+ "Verify what was created (the rule id is in the output above):",
22504
+ "gr events rules get --id <rule-id> -w $WID --jq '{eventType,actionType,actionParams,active}'"
22505
+ ];
22506
+ function actionParamExampleLines(actionTypes) {
22507
+ const lines = ["", "Action params by action type:"];
22508
+ for (const actionType of actionTypes) {
22509
+ const rendered = renderActionParamHint(actionType);
22510
+ if (rendered) lines.push(...rendered.split("\n"));
22511
+ }
22512
+ return lines;
22513
+ }
22514
+ async function submitRule(hctx, rule, label) {
22515
+ const created = await requireAuth(hctx.ctx).apiClient.createEventRule(hctx.workspace, rule);
22516
+ outputSingle(created, hctx.ctx, RULE_COLUMNS);
22517
+ hint(hctx.ctx, [
22518
+ `Created ${label}. Confirm it before reporting success:`,
22519
+ ` gr events rules get --id ${created.id} -w $WID -o json`
22520
+ ]);
22521
+ }
22522
+ var createRoutineRuleCmd = {
22523
+ path: ["events", "rules", "create-routine-rule"],
22524
+ description: "Create a rule that fires when a routine triggers (tool: create_routine_rule)",
22525
+ mutates: true,
22526
+ requiresWorkspace: true,
22527
+ columns: RULE_COLUMNS,
22528
+ args: [
22529
+ { name: "routine-id", description: "Routine ID from `gr routines list`", required: true },
22530
+ ...CREATE_RULE_COMMON_ARGS,
22531
+ {
22532
+ name: "workflow-uuid",
22533
+ description: "Workflow UUID for chat:create (stable workflow uuid, not a revision)"
22534
+ },
22535
+ { name: "delay", description: "Seconds to wait before running the action (default: 0)" }
22536
+ ],
22537
+ examples: [
22538
+ "Trigger: routine:triggered. Common actions: chat:create, webhook:send,",
22539
+ "email:send, member:notify.",
22540
+ "",
22541
+ "Scheduled outbound voice check-in:",
22542
+ "gr events rules create-routine-rule -w $WID --allow-write \\",
22543
+ " --routine-id 12 --action-type chat:create \\",
22544
+ ' --workflow-uuid "$(gr workflows get --id 3 -w $WID --jq .uuid)" \\',
22545
+ ` --action-params '{"channel":"phone-voice","phoneNumberUUID":"<uuid>"}'`,
22546
+ "",
22547
+ "Webhook on every fire, only for high-priority members:",
22548
+ "gr events rules create-routine-rule -w $WID --allow-write \\",
22549
+ " --routine-id 12 --action-type webhook:send \\",
22550
+ ` --action-params '{"webhookUrl":"https://example.com/hook"}' \\`,
22551
+ ` --conditions 'member.labels.exists(l, l == "priority")'`,
22552
+ ...actionParamExampleLines(["chat:create", "webhook:send", "email:send", "member:notify"]),
22553
+ ...VERIFY_EXAMPLE_LINES
22554
+ ],
22555
+ handler: async (hctx) => {
22556
+ const routineId = requireNumberFrom(hctx.args, "routine-id");
22557
+ const common = parseCommonRuleFlags(hctx.args);
22558
+ const rule = buildRoutineRuleData(
22559
+ routineId,
22560
+ common,
22561
+ parseDelay(hctx.args),
22562
+ optionalString(hctx.args, "workflow-uuid")
22563
+ );
22564
+ await submitRule(hctx, rule, `routine rule on routine ${routineId}`);
22565
+ }
22566
+ };
22567
+ var createTaskRuleCmd = {
22568
+ path: ["events", "rules", "create-task-rule"],
22569
+ description: "Create a rule that fires when a member reaches a task (tool: create_task_rule)",
22570
+ mutates: true,
22571
+ requiresWorkspace: true,
22572
+ columns: RULE_COLUMNS,
22573
+ args: [
22574
+ { name: "task-id", description: "Task ID from `gr tasks list`", required: true },
22575
+ ...CREATE_RULE_COMMON_ARGS
22576
+ ],
22577
+ examples: [
22578
+ "Trigger: task:execute. Common actions: assistant:message, chat:pause,",
22579
+ "member:notify, member:label.",
22580
+ "",
22581
+ "Welcome message when the member enters the task:",
22582
+ "gr events rules create-task-rule -w $WID --allow-write \\",
22583
+ " --task-id 88 --action-type assistant:message \\",
22584
+ ` --action-params '{"message":"Welcome! Let us start with a few questions."}'`,
22585
+ "",
22586
+ "Label the member on arrival:",
22587
+ "gr events rules create-task-rule -w $WID --allow-write \\",
22588
+ " --task-id 88 --action-type member:label \\",
22589
+ ` --action-params "{\\"addLabelIds\\":[\\"$(gr members labels list -w $WID --jq '.[0].uuid')\\"]}"`,
22590
+ ...actionParamExampleLines([
22591
+ "assistant:message",
22592
+ "chat:pause",
22593
+ "member:notify",
22594
+ "member:label"
22595
+ ]),
22596
+ ...VERIFY_EXAMPLE_LINES
22597
+ ],
22598
+ handler: async (hctx) => {
22599
+ const taskId = requireNumberFrom(hctx.args, "task-id");
22600
+ const rule = buildTaskRuleData(taskId, parseCommonRuleFlags(hctx.args));
22601
+ await submitRule(hctx, rule, `task rule on task ${taskId}`);
22602
+ }
22603
+ };
22604
+ var createDataRecordRuleCmd = {
22605
+ path: ["events", "rules", "create-data-record-rule"],
22606
+ description: "Create a rule that fires on form record changes (tool: create_data_record_event_rule)",
22607
+ mutates: true,
22608
+ requiresWorkspace: true,
22609
+ columns: RULE_COLUMNS,
22610
+ args: [
22611
+ {
22612
+ name: "data-type-id",
22613
+ description: "DataType (Form) ID from `gr data-types list`",
22614
+ required: true
22615
+ },
22616
+ {
22617
+ name: "event-type",
22618
+ description: `Trigger: ${DATA_RECORD_EVENT_TYPES.join(" or ")}`,
22619
+ required: true
22620
+ },
22621
+ ...CREATE_RULE_COMMON_ARGS,
22622
+ {
22623
+ name: "workflow-uuid",
22624
+ description: "Workflow UUID for chat:create (stable workflow uuid, not a revision)"
22625
+ }
22626
+ ],
22627
+ examples: [
22628
+ "Triggers: data_record:created, data_record:updated. Common actions:",
22629
+ "chat:create, webhook:send, email:send, member:label.",
22630
+ "",
22631
+ "CEL conditions read record fields as record.data.<fieldname>:",
22632
+ "gr events rules create-data-record-rule -w $WID --allow-write \\",
22633
+ " --data-type-id 45 --event-type data_record:created \\",
22634
+ " --action-type member:notify \\",
22635
+ " --conditions 'record.data.total_score >= 15' \\",
22636
+ ` --action-params '{"sendToOwner":true,"messageTemplate":"High-risk screening submitted."}'`,
22637
+ "",
22638
+ "Webhook on every update of the form:",
22639
+ "gr events rules create-data-record-rule -w $WID --allow-write \\",
22640
+ " --data-type-id 45 --event-type data_record:updated \\",
22641
+ ` --action-type webhook:send --action-params '{"webhookUrl":"https://example.com/hook"}'`,
22642
+ ...actionParamExampleLines(["chat:create", "webhook:send", "email:send", "member:label"]),
22643
+ ...VERIFY_EXAMPLE_LINES
22644
+ ],
22645
+ handler: async (hctx) => {
22646
+ const dataTypeId = requireNumberFrom(hctx.args, "data-type-id");
22647
+ const eventType = requireEnumValue(
22648
+ optionalString(hctx.args, "event-type") ?? "",
22649
+ DATA_RECORD_EVENT_TYPES,
22650
+ "event-type",
22651
+ "Other triggers need `gr events rules create --data` or another create-*-rule command."
22652
+ );
22653
+ const rule = buildDataRecordRuleData(
22654
+ dataTypeId,
22655
+ eventType,
22656
+ parseCommonRuleFlags(hctx.args),
22657
+ optionalString(hctx.args, "workflow-uuid")
22658
+ );
22659
+ await submitRule(hctx, rule, `data record rule on data type ${dataTypeId}`);
22660
+ }
22661
+ };
22662
+ function isEventRuleTypeRow(item) {
22663
+ if (item === null || typeof item !== "object") return false;
22664
+ const row = item;
22665
+ return typeof row.eventType === "string" && Array.isArray(row.actions);
22666
+ }
22667
+ var TYPE_COLUMNS = [
22668
+ {
22669
+ header: "EVENT TYPE",
22670
+ getValue: (item) => isEventRuleTypeRow(item) ? item.eventType : ""
22671
+ },
22672
+ {
22673
+ header: "ACTIONS",
22674
+ getValue: (item) => isEventRuleTypeRow(item) ? item.actions.join(", ") : ""
22675
+ }
22676
+ ];
22677
+ var eventRuleTypesCmd = {
22678
+ path: ["events", "rules", "types"],
22679
+ description: "List triggers and the actions each accepts (tool: list_event_rule_types)",
22680
+ requiresWorkspace: true,
22681
+ columns: TYPE_COLUMNS,
22682
+ args: [
22683
+ { name: "event-type", description: "Show only this trigger" },
22684
+ { name: "action-type", description: "Show only triggers that accept this action" }
22685
+ ],
22686
+ examples: [
22687
+ "gr events rules types -w $WID",
22688
+ "gr events rules types -w $WID --event-type routine:triggered",
22689
+ "gr events rules types -w $WID --action-type sms:send --jq '.[].eventType'",
22690
+ "",
22691
+ "This is the authoritative compatibility matrix \u2014 a value appearing in the",
22692
+ "request schema is not proof the API accepts it as a trigger. Read it before",
22693
+ "creating a rule with an eventType you have not used before."
22694
+ ],
22695
+ handler: async ({ ctx, workspace, args }) => {
22696
+ const result2 = await requireAuth(ctx).apiClient.getAvailableActions(workspace);
22697
+ let mappings = (result2.mappings ?? []).map((m) => ({
22698
+ eventType: m.eventType,
22699
+ actions: m.actions
22700
+ }));
22701
+ const eventType = optionalString(args, "event-type");
22702
+ if (eventType !== void 0) {
22703
+ const known = mappings.map((m) => m.eventType);
22704
+ requireEnumValue(eventType, known, "event-type");
22705
+ mappings = mappings.filter((m) => m.eventType === eventType);
22706
+ }
22707
+ const actionType = optionalString(args, "action-type");
22708
+ if (actionType !== void 0) {
22709
+ requireEnumValue(actionType, ALL_ACTION_TYPES, "action-type");
22710
+ mappings = mappings.filter((m) => m.actions.includes(actionType));
22711
+ if (mappings.length === 0) {
22712
+ throw new CLIError(
22713
+ `No trigger accepts action "${actionType}" in this workspace. Run \`gr events rules types\` without filters for the full matrix.`
22714
+ );
22715
+ }
22716
+ }
22717
+ outputData(mappings, ctx, TYPE_COLUMNS);
22718
+ }
22719
+ };
22720
+ var eventRulesCrud = [
22721
+ eventRulesListCmd,
22722
+ eventRuleTypesCmd,
22723
+ createRoutineRuleCmd,
22724
+ createTaskRuleCmd,
22725
+ createDataRecordRuleCmd,
22726
+ ...eventRulesCrudNoList
22727
+ ];
21306
22728
  var eventRulesAliases = eventRulesCrud.filter((cmd) => {
21307
22729
  const verb = cmd.path[cmd.path.length - 1];
21308
22730
  return verb === "list" || verb === "get";
@@ -21814,7 +23236,6 @@ var STEP_COLUMNS = [
21814
23236
  { header: "UUID", getValue: (item) => (item.uuid ?? "").slice(0, 8) },
21815
23237
  COL.name(),
21816
23238
  { header: "TYPE", getValue: (item) => item.stepType ?? "" },
21817
- { header: "TRIGGER", getValue: (item) => item.triggerType ?? "" },
21818
23239
  { header: "ORDER", getValue: (item) => String(item.order ?? "") }
21819
23240
  ];
21820
23241
  var MEMBER_JOURNEY_COLUMNS = [
@@ -22966,13 +24387,24 @@ function estimateRealtimeRunCostUsd(modelId) {
22966
24387
  function projectRealtimeBatchCostUsd(jobs) {
22967
24388
  return jobs.filter((j) => j.realtime).reduce((sum, j) => sum + estimateRealtimeRunCostUsd(j.modelId), 0);
22968
24389
  }
22969
- function actualRealtimeRowCostUsd(row, modelId) {
24390
+ function finiteNonNegative(value) {
24391
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
24392
+ }
24393
+ function billableRealtimeRowMinutes(row) {
22970
24394
  const summary = row.timing_summary;
22971
- const audioMs = summary ? summary["audio_output_ms_total"] : void 0;
22972
- if (typeof audioMs === "number" && Number.isFinite(audioMs) && audioMs >= 0) {
22973
- return audioMs / 6e4 * realtimeAudioUsdPerMin(modelId) + EST_TEXT_USD_PER_RUN;
22974
- }
22975
- return estimateRealtimeRunCostUsd(modelId);
24395
+ if (!summary) return void 0;
24396
+ const billableMs = finiteNonNegative(summary["billable_audio_ms_total"]);
24397
+ if (billableMs === void 0) return void 0;
24398
+ if (summary["billable_audio_source"] === "generated_audio_floor") return void 0;
24399
+ return billableMs / 6e4;
24400
+ }
24401
+ function actualRealtimeRowCostUsd(row, modelId) {
24402
+ const usdPerMin = realtimeAudioUsdPerMin(modelId);
24403
+ const billableMinutes = billableRealtimeRowMinutes(row);
24404
+ const measured = billableMinutes === void 0 ? estimateRealtimeRunCostUsd(modelId) : billableMinutes * usdPerMin + EST_TEXT_USD_PER_RUN;
24405
+ const generatedMs = row.timing_summary ? finiteNonNegative(row.timing_summary["audio_output_ms_total"]) : void 0;
24406
+ const generatedFloor = generatedMs === void 0 ? 0 : generatedMs / 6e4 * usdPerMin + EST_TEXT_USD_PER_RUN;
24407
+ return Math.max(measured, generatedFloor);
22976
24408
  }
22977
24409
  function parseMaxBudgetUsd(raw, flagName) {
22978
24410
  if (raw === void 0 || raw === null || raw === "") {
@@ -22993,12 +24425,26 @@ function summarizeCriterionResults(run) {
22993
24425
  score: c.score ?? null
22994
24426
  }));
22995
24427
  }
22996
- function runToBatchRow(job, workflowId, run, error, batchLabel) {
24428
+ function formatRevisionLabel(row) {
24429
+ const pin = row.workflow_revision_pinned ? "(pinned)" : "";
24430
+ if (row.workflow_revision_number != null) {
24431
+ return `#${row.workflow_revision_number}${pin}`;
24432
+ }
24433
+ if (row.workflow_revision_id != null) {
24434
+ return `id${row.workflow_revision_id}${pin}`;
24435
+ }
24436
+ return `?${pin}`;
24437
+ }
24438
+ function runToBatchRow(job, workflowId, run, error, batchLabel, pinnedRevisionId) {
22997
24439
  return {
22998
24440
  ts: (/* @__PURE__ */ new Date()).toISOString(),
22999
24441
  round: job.round,
23000
24442
  warmup: job.warmup,
23001
24443
  workflow_id: workflowId,
24444
+ workflow_revision_id: run?.workflowRevisionId ?? null,
24445
+ workflow_revision_number: run?.workflowRevisionNumber ?? null,
24446
+ workflow_revision_name: run?.workflowRevisionName ?? null,
24447
+ ...pinnedRevisionId != null ? { workflow_revision_pinned: true } : {},
23002
24448
  scenario_id: job.scenarioId,
23003
24449
  scenario_slug: job.scenarioSlug,
23004
24450
  scenario_name: job.scenarioName,
@@ -23024,21 +24470,32 @@ function parseConcurrency(raw, flagName, fallback) {
23024
24470
  }
23025
24471
  return value;
23026
24472
  }
24473
+ var BatchWaitTimeoutError = class extends CLIError {
24474
+ constructor(message, lastPolledRun) {
24475
+ super(message);
24476
+ this.lastPolledRun = lastPolledRun;
24477
+ }
24478
+ lastPolledRun;
24479
+ };
23027
24480
  async function waitForRunTerminal(api, workspace, runId, timeoutMs, pollMs, sleep) {
23028
24481
  const deadline = Date.now() + timeoutMs;
24482
+ let lastPolled;
23029
24483
  while (Date.now() < deadline) {
23030
24484
  const run = await api.getTestChatRun(workspace, runId);
24485
+ lastPolled = run;
23031
24486
  if (run.completedAt || run.failedAt) {
23032
24487
  return run;
23033
24488
  }
23034
24489
  await sleep(pollMs);
23035
24490
  }
23036
- throw new CLIError(`Timed out waiting for run ${runId} to complete`);
24491
+ throw new BatchWaitTimeoutError(`Timed out waiting for run ${runId} to complete`, lastPolled);
23037
24492
  }
23038
24493
  async function waitForEvaluation(api, workspace, runId, timeoutMs, pollMs, sleep) {
24494
+ let lastPolled;
23039
24495
  const deadline = Date.now() + timeoutMs;
23040
24496
  while (Date.now() < deadline) {
23041
24497
  const run = await api.getTestChatRun(workspace, runId);
24498
+ lastPolled = run;
23042
24499
  if (run.evaluatedAt) {
23043
24500
  return run;
23044
24501
  }
@@ -23047,25 +24504,27 @@ async function waitForEvaluation(api, workspace, runId, timeoutMs, pollMs, sleep
23047
24504
  }
23048
24505
  await sleep(pollMs);
23049
24506
  }
23050
- throw new CLIError(`Timed out waiting for evaluation on run ${runId}`);
24507
+ throw new BatchWaitTimeoutError(`Timed out waiting for evaluation on run ${runId}`, lastPolled);
23051
24508
  }
23052
24509
  function formatBatchProgressLine(job, row) {
23053
24510
  const ttftP50 = row.timing_summary && typeof row.timing_summary === "object" && row.timing_summary.ttft_ms && typeof row.timing_summary.ttft_ms === "object" && "p50" in row.timing_summary.ttft_ms ? String(row.timing_summary.ttft_ms.p50) : "-";
23054
24511
  const cfg = isConfigurationBlockerFailure(row.failure_reason) ? " CONFIG_BLOCKER" : "";
23055
24512
  const skipped = row.batch_skipped ? " SKIPPED" : "";
23056
- return `r${job.round} ${job.modelId} scenario=${job.scenarioId} run=${row.run_id ?? "ERR"} passed=${row.passed ?? "-"} score=${row.overall_score != null ? row.overall_score.toFixed(2) : "-"} ttft_p50=${ttftP50}ms${row.error ? ` [${formatProgressError(row.error)}]` : ""}${cfg}${skipped}${job.warmup ? " WARM" : ""}`;
24513
+ return `r${job.round} ${job.modelId} scenario=${job.scenarioId} rev=${formatRevisionLabel(row)} run=${row.run_id ?? "ERR"} passed=${row.passed ?? "-"} score=${row.overall_score != null ? row.overall_score.toFixed(2) : "-"} ttft_p50=${ttftP50}ms${row.error ? ` [${formatProgressError(row.error)}]` : ""}${cfg}${skipped}${job.warmup ? " WARM" : ""}`;
23057
24514
  }
23058
24515
  async function executeModelEvalJob(api, options, job, waitTimeoutMs, pollMs, sleep) {
24516
+ let run;
23059
24517
  try {
23060
24518
  const started = await api.startTestChatRun(options.workspace, options.workflowId, {
23061
24519
  scenarioId: job.scenarioId,
23062
24520
  driver: DriverMode.AUTO,
24521
+ ...options.workflowRevisionId != null ? { workflowRevisionId: options.workflowRevisionId } : {},
23063
24522
  ...job.realtime ? {
23064
24523
  assistantRealtimeModelId: job.modelId,
23065
24524
  ...options.realtimeConfig ? { assistantRealtimeModelConfig: options.realtimeConfig } : {}
23066
24525
  } : { assistantChatModelId: job.modelId }
23067
24526
  });
23068
- let run = await waitForRunTerminal(
24527
+ run = await waitForRunTerminal(
23069
24528
  api,
23070
24529
  options.workspace,
23071
24530
  started.run.id,
@@ -23084,10 +24543,25 @@ async function executeModelEvalJob(api, options, job, waitTimeoutMs, pollMs, sle
23084
24543
  sleep
23085
24544
  );
23086
24545
  }
23087
- return runToBatchRow(job, options.workflowId, run, void 0, options.batchLabel);
24546
+ return runToBatchRow(
24547
+ job,
24548
+ options.workflowId,
24549
+ run,
24550
+ void 0,
24551
+ options.batchLabel,
24552
+ options.workflowRevisionId
24553
+ );
23088
24554
  } catch (e) {
23089
24555
  const message = e instanceof Error ? e.message : String(e);
23090
- return runToBatchRow(job, options.workflowId, null, message, options.batchLabel);
24556
+ const lastKnown = (e instanceof BatchWaitTimeoutError ? e.lastPolledRun : void 0) ?? run ?? null;
24557
+ return runToBatchRow(
24558
+ job,
24559
+ options.workflowId,
24560
+ lastKnown,
24561
+ message,
24562
+ options.batchLabel,
24563
+ options.workflowRevisionId
24564
+ );
23091
24565
  }
23092
24566
  }
23093
24567
  function createSpacingGate(spacingSec, sleep) {
@@ -23161,7 +24635,8 @@ async function executeModelEvalBatch(api, options) {
23161
24635
  options.workflowId,
23162
24636
  null,
23163
24637
  budgetStopped ? "batch stopped: realtime budget cap reached" : "batch aborted before start",
23164
- options.batchLabel
24638
+ options.batchLabel,
24639
+ options.workflowRevisionId
23165
24640
  ),
23166
24641
  batch_skipped: true
23167
24642
  });
@@ -23459,6 +24934,16 @@ var qualificationsDomain = {
23459
24934
  },
23460
24935
  { name: "goal", description: "Goal for the user simulator", required: false },
23461
24936
  { name: "driver", description: "Driver mode: auto | human", required: false },
24937
+ {
24938
+ name: "workflow-revision-id",
24939
+ description: "Pin runs to this workflow revision (e.g. an unpublished draft) instead of the active one",
24940
+ required: false
24941
+ },
24942
+ {
24943
+ name: "workflow-revision-uuid",
24944
+ description: "Pin runs to this workflow revision by uuid",
24945
+ required: false
24946
+ },
23462
24947
  {
23463
24948
  name: "assistant-chat-model-id",
23464
24949
  description: "Override assistant chat model for this run",
@@ -23501,6 +24986,8 @@ var qualificationsDomain = {
23501
24986
  {
23502
24987
  ...scenarioId != null ? { scenarioId } : {},
23503
24988
  ...personaId != null ? { personaId } : {},
24989
+ ...args["workflow-revision-id"] ? { workflowRevisionId: requireNumber(args, "workflow-revision-id") } : {},
24990
+ ...args["workflow-revision-uuid"] ? { workflowRevisionUuid: String(args["workflow-revision-uuid"]) } : {},
23504
24991
  ...args["goal"] ? { goal: String(args["goal"]) } : {},
23505
24992
  ...args["assistant-chat-model-id"] ? { assistantChatModelId: String(args["assistant-chat-model-id"]) } : {},
23506
24993
  ...args["assistant-realtime-model-id"] ? {
@@ -23536,6 +25023,11 @@ var qualificationsDomain = {
23536
25023
  requiresWorkspace: true,
23537
25024
  args: [
23538
25025
  { name: "workflow-id", description: "Workflow ID", required: true },
25026
+ {
25027
+ name: "workflow-revision-id",
25028
+ description: "Pin every run to this workflow revision (e.g. an unpublished draft) instead of the active one",
25029
+ required: false
25030
+ },
23539
25031
  {
23540
25032
  name: "models",
23541
25033
  description: "Comma-separated assistant chat model IDs (optional with --realtime-models)",
@@ -23641,6 +25133,7 @@ var qualificationsDomain = {
23641
25133
  return id;
23642
25134
  }) : null;
23643
25135
  const workflowId = requireNumber(args, "workflow-id");
25136
+ const workflowRevisionId = args["workflow-revision-id"] ? requireNumber(args, "workflow-revision-id") : void 0;
23644
25137
  const rounds = parsePositiveInt(args.rounds, "--rounds", 1);
23645
25138
  if (rounds < 1) throw new CLIError("--rounds must be >= 1");
23646
25139
  const warmup = parsePositiveInt(args.warmup, "--warmup", 0);
@@ -23664,6 +25157,7 @@ var qualificationsDomain = {
23664
25157
  await executeModelEvalBatch(auth.apiClient, {
23665
25158
  workspace,
23666
25159
  workflowId,
25160
+ workflowRevisionId,
23667
25161
  models,
23668
25162
  realtimeModels,
23669
25163
  realtimeConfig,
@@ -24457,7 +25951,7 @@ function toAbilityData(a) {
24457
25951
  ...a.celCondition ? { celCondition: a.celCondition } : {}
24458
25952
  };
24459
25953
  }
24460
- var TYPE_COLUMNS = [
25954
+ var TYPE_COLUMNS2 = [
24461
25955
  { header: "SLUG", getValue: (item) => item.slug ?? "" },
24462
25956
  { header: "TITLE", getValue: (item) => item.title ?? "" },
24463
25957
  { header: "CATEGORY", getValue: (item) => item.category ?? "" },
@@ -24478,7 +25972,7 @@ var abilitiesDomain = {
24478
25972
  path: ["abilities", "list"],
24479
25973
  description: "List builtin ability types with their channel constraints and param specs. Table shows SLUG, TITLE, CATEGORY, CHANNELS (all = every channel), SINGLETON, FEATURE-GATE; use -o json for full specs including the params JSON Schema.",
24480
25974
  requiresWorkspace: true,
24481
- columns: TYPE_COLUMNS,
25975
+ columns: TYPE_COLUMNS2,
24482
25976
  args: [
24483
25977
  {
24484
25978
  name: "include-system",
@@ -24492,7 +25986,7 @@ var abilitiesDomain = {
24492
25986
  hctx.workspace,
24493
25987
  includeSystem ? { includeSystem: true } : {}
24494
25988
  );
24495
- outputData(result2.types ?? [], hctx.ctx, TYPE_COLUMNS);
25989
+ outputData(result2.types ?? [], hctx.ctx, TYPE_COLUMNS2);
24496
25990
  }
24497
25991
  },
24498
25992
  {
@@ -25347,7 +26841,7 @@ function isTable(ctx) {
25347
26841
  }
25348
26842
  function productType(args) {
25349
26843
  const t = args.type ?? args["product-type"];
25350
- if (t === "org" || t === "workspace") return t;
26844
+ if (t === "org" || t === "addon") return t;
25351
26845
  return void 0;
25352
26846
  }
25353
26847
  var billingDomain = {
@@ -25361,7 +26855,7 @@ var billingDomain = {
25361
26855
  args: [
25362
26856
  {
25363
26857
  name: "type",
25364
- description: "Filter by plan type: 'org' or 'workspace'"
26858
+ description: "Filter by product type: 'org' or 'addon'"
25365
26859
  }
25366
26860
  ],
25367
26861
  examples: ["gr billing products --type org"],
@@ -25471,8 +26965,7 @@ Then check it landed:
25471
26965
  );
25472
26966
  hint(ctx, [
25473
26967
  "You have an active subscription. Add a workspace:",
25474
- " gr billing products --type workspace # pick a workspace plan",
25475
- ` gr workspaces create --org ${orgUuid} --product <id> --name "My Workspace"`
26968
+ ` gr workspaces create --org ${orgUuid} --name "My Workspace"`
25476
26969
  ]);
25477
26970
  }
25478
26971
  }
@@ -26787,8 +28280,15 @@ var LEGAL_ENTITY_COLUMNS = [
26787
28280
  { header: "PRIMARY", getValue: (e) => e.isPrimary ? "yes" : "" },
26788
28281
  { header: "ID TYPE", getValue: (e) => e.registrationIdentifierType ?? "" },
26789
28282
  { header: "PROFILE SID", getValue: (e) => e.customerProfileSid ?? "" },
26790
- // The CACHED status hint. `org business-profile get` reads Twilio live.
26791
- { header: "PROFILE STATUS (cached)", getValue: (e) => e.customerProfileStatus ?? "" }
28283
+ // Both are CACHED hints. `org business-profile get` reads Twilio live.
28284
+ // Two columns since #23568: lifecycle and compliance answer different
28285
+ // questions and used to share one overloaded field, so a blank status no
28286
+ // longer means "nothing known" — check the evaluation column too.
28287
+ { header: "PROFILE STATUS (cached)", getValue: (e) => e.customerProfileStatus ?? "" },
28288
+ {
28289
+ header: "EVALUATION (cached)",
28290
+ getValue: (e) => e.customerProfileEvaluation ?? ""
28291
+ }
26792
28292
  ];
26793
28293
  var LEGAL_ENTITY_UUID_ARG = {
26794
28294
  name: "legal-entity-uuid",
@@ -26967,7 +28467,7 @@ var commands2 = [
26967
28467
  },
26968
28468
  {
26969
28469
  path: ["org", "trust-products", "sync"],
26970
- description: "Reconcile voice trust products against Twilio: claim products staged outside the app and refresh non-terminal statuses. This is the prerequisite for `admin phone-numbers migrate`, whose preflight reads the cached state. 409 if another Trust Hub operation holds the org lock \u2014 retry shortly.",
28470
+ description: "Reconcile voice trust products against Twilio: claim products staged outside the app and refresh non-terminal statuses. This is the prerequisite for `admin phone-numbers migrate`, whose preflight reads the cached state. 409 if another Trust Hub operation holds this legal entity lock \u2014 it fails fast and sends no Retry-After, because holders range from milliseconds to minutes. Back off on your own schedule and re-read before retrying.",
26971
28471
  // Writes trust_hub_state and calls Twilio. Read-only in business terms
26972
28472
  // (it discovers, it does not create or submit), but it mutates our cache,
26973
28473
  // so it takes --allow-write like every other state-changing verb.
@@ -27266,9 +28766,9 @@ Caller-facing messages
27266
28766
  voicemailGreeting (string)
27267
28767
 
27268
28768
  Inbound calls (inboundCallHandling)
27269
- agent | fax | always_forward | forward_off_hours | always_message | message_off_hours | voicemail | voicemail_off_hours | ring_operators
28769
+ agent | fax | always_forward | forward_off_hours | forward_business_hours | forward_unknown_callers | always_message | message_off_hours | message_business_hours | voicemail | voicemail_off_hours | voicemail_business_hours | ring_operators
27270
28770
  SMS work modes (smsWorkMode)
27271
- always_forward | forward_off_hours | always_message | message_off_hours
28771
+ always_forward | forward_off_hours | forward_business_hours | always_message | message_off_hours | message_business_hours
27272
28772
  voiceForwardNumber, smsForwardNumber, voiceOffHoursMessage, smsOffHoursMessage
27273
28773
 
27274
28774
  Provider link
@@ -27525,8 +29025,15 @@ function simulateInboundRouting(phone, opts = {}) {
27525
29025
  outcome: callerRole,
27526
29026
  detail: resolutionDetail
27527
29027
  });
29028
+ const inboundCallHandling = phone.inboundCallHandling ?? "agent";
27528
29029
  if (callerRole === "member") {
27529
29030
  steps.push({ step: "member_access", outcome: "proceed" });
29031
+ } else if (inboundCallHandling === "forward_unknown_callers" && phone.voiceForwardNumber) {
29032
+ steps.push({
29033
+ step: "inbound_call_handling",
29034
+ outcome: "forward_unknown_callers"
29035
+ });
29036
+ return finish("forward_pstn", false, true, steps, recommendations, callerRole);
27530
29037
  } else if (callerRole === "anonymous") {
27531
29038
  if (!phone.anonymousMemberRoleId) {
27532
29039
  steps.push({
@@ -27551,7 +29058,6 @@ function simulateInboundRouting(phone, opts = {}) {
27551
29058
  });
27552
29059
  return finish("anonymous_rejection_tts", false, true, steps, recommendations, callerRole);
27553
29060
  }
27554
- const inboundCallHandling = phone.inboundCallHandling ?? "agent";
27555
29061
  if (inboundCallHandling === "fax") {
27556
29062
  steps.push({ step: "inbound_call_handling", outcome: "receive_fax" });
27557
29063
  return finish("fax_receive", true, true, steps, recommendations, callerRole);
@@ -27568,11 +29074,15 @@ function simulateInboundRouting(phone, opts = {}) {
27568
29074
  steps.push({ step: "inbound_call_handling", outcome: "forward_off_hours" });
27569
29075
  return finish("forward_pstn", false, true, steps, recommendations, callerRole);
27570
29076
  }
27571
- if (inboundCallHandling === "voicemail" || inboundCallHandling === "voicemail_off_hours" && !isBusinessHours) {
29077
+ if (inboundCallHandling === "forward_business_hours" && isBusinessHours && phone.voiceForwardNumber) {
29078
+ steps.push({ step: "inbound_call_handling", outcome: "forward_business_hours" });
29079
+ return finish("forward_pstn", false, true, steps, recommendations, callerRole);
29080
+ }
29081
+ if (inboundCallHandling === "voicemail" || inboundCallHandling === "voicemail_off_hours" && !isBusinessHours || inboundCallHandling === "voicemail_business_hours" && isBusinessHours) {
27572
29082
  steps.push({ step: "inbound_call_handling", outcome: "voicemail" });
27573
29083
  return finish("voicemail_record", true, true, steps, recommendations, callerRole);
27574
29084
  }
27575
- if ((inboundCallHandling === "always_message" || inboundCallHandling === "message_off_hours") && phone.voiceOffHoursMessage) {
29085
+ if (phone.voiceOffHoursMessage && (inboundCallHandling === "always_message" || inboundCallHandling === "message_off_hours" && !isBusinessHours || inboundCallHandling === "message_business_hours" && isBusinessHours)) {
27576
29086
  steps.push({ step: "inbound_call_handling", outcome: "play_message" });
27577
29087
  return finish("play_message_hangup", false, false, steps, recommendations, callerRole);
27578
29088
  }
@@ -28805,7 +30315,7 @@ var ROUTINE_COLUMNS = [
28805
30315
  COL.name(),
28806
30316
  { header: "MODE", getValue: (item) => item.scheduleMode ?? "" },
28807
30317
  { header: "CRON", getValue: (item) => item.cronString ?? "" },
28808
- { header: "TZ", getValue: (item) => item.timezone ?? "UTC" },
30318
+ { header: "TZ", getValue: (item) => item.timezone ?? "(workspace)" },
28809
30319
  { header: "ENABLED", getValue: (item) => String(item.scheduleEnabled ?? "") },
28810
30320
  { header: "NEXT RUN", getValue: (item) => item.nextRun ?? "" }
28811
30321
  ];
@@ -28835,7 +30345,7 @@ ${ROUTINE_FIELD_REFERENCE}`,
28835
30345
  ' "scheduleEnabled":true,"scheduleMode":"CRON","cronString":"0 7 * * *",',
28836
30346
  ` "timezone":"America/Los_Angeles","targetMemberId":1,"workflowId":2}'`,
28837
30347
  " (timezone is an IANA name; omit it to default to the workspace timezone, else UTC.",
28838
- ' Without it, "0 7 * * *" fires at 07:00 UTC, not 7am local.)',
30348
+ ' A workspace with no timezone configured reads "0 7 * * *" as 07:00 UTC.)',
28839
30349
  "",
28840
30350
  "To actually send via SMS/voice, pair the routine with an event rule:",
28841
30351
  ' gr events rules create \u2014 objectType "routine", eventType "routine:triggered",',
@@ -31177,6 +32687,33 @@ var salesforceDomain = {
31177
32687
  outputSingle(result2, ctx);
31178
32688
  }
31179
32689
  },
32690
+ {
32691
+ path: ["salesforce", "resync-members"],
32692
+ description: "Pull linked members\u2019 Salesforce records now, ignoring the sync cursor",
32693
+ mutates: true,
32694
+ requiresWorkspace: true,
32695
+ args: [
32696
+ {
32697
+ name: "member-ids",
32698
+ description: "Comma-separated member IDs. Omit to resync every linked member."
32699
+ }
32700
+ ],
32701
+ handler: async ({ ctx, workspace, args }) => {
32702
+ const raw = args["member-ids"];
32703
+ const memberIds = raw ? String(raw).split(",").map((v) => v.trim()).filter(Boolean).map((v) => {
32704
+ const n = Number(v);
32705
+ if (!Number.isInteger(n)) {
32706
+ throw new CLIError(`Invalid member id: ${v}`);
32707
+ }
32708
+ return n;
32709
+ }) : void 0;
32710
+ const result2 = await requireAuth(ctx).apiClient.resyncSalesforceLinkedMembers(
32711
+ workspace,
32712
+ memberIds ? { memberIds } : {}
32713
+ );
32714
+ outputSingle(result2, ctx);
32715
+ }
32716
+ },
31180
32717
  {
31181
32718
  path: ["salesforce", "reconciliation"],
31182
32719
  description: "Find matching Salesforce records for workspace members",
@@ -31528,6 +33065,7 @@ function registerPublicDomains(registry) {
31528
33065
  registry.register(agentTasksDomain);
31529
33066
  registry.register(assignmentsDomain);
31530
33067
  registry.register(dataTypesDomain);
33068
+ registry.register(devicesDomain);
31531
33069
  registry.register(sitesDomain);
31532
33070
  registry.register(filesDomain);
31533
33071
  registry.register(eventsDomain);
@@ -31751,9 +33289,12 @@ function isCliLocalFileInterrupt(value) {
31751
33289
  return v.type === "cli_local_file" && typeof v.action === "string" && typeof v.path === "string";
31752
33290
  }
31753
33291
 
33292
+ // src/lib/decline-message.ts
33293
+ var UI_CHOICE_DECLINE_MESSAGE = "The user declined to make a selection.";
33294
+
31754
33295
  // src/lib/openui-parse.ts
31755
33296
  function markupIsInteractive(markup) {
31756
- return markup.includes("ChoiceButton(") || markup.includes("Form(") || markup.includes("Input(") || markup.includes("TextArea(") || markup.includes("Select(");
33297
+ return markup.includes("ChoiceButton(") || markup.includes("Form(") || markup.includes("Input(") || markup.includes("TextArea(") || markup.includes("Select(") || markup.includes("ChoiceField(");
31757
33298
  }
31758
33299
  function parseOpenUiMarkup(markup) {
31759
33300
  const bindings = parseBindings(markup);
@@ -31932,7 +33473,7 @@ function extractForm(bindings) {
31932
33473
  }
31933
33474
  if (!formBinding) return null;
31934
33475
  const name = asString(formBinding.args[0]) || "form";
31935
- const title = asString(formBinding.args[1]) || name;
33476
+ const title = asString(formBinding.args[1]) ?? name;
31936
33477
  const description = asString(formBinding.args[2]) || void 0;
31937
33478
  const buttonsArg = formBinding.args[3];
31938
33479
  const fieldsArg = formBinding.args[4];
@@ -31963,7 +33504,7 @@ function resolveFormControl(bindings, ref) {
31963
33504
  const { placeholder, required } = splitPlaceholderAndRules(inputBinding.args, 1);
31964
33505
  return { name: fieldName, label, kind: "textarea", placeholder, required, hint: hint2 };
31965
33506
  }
31966
- if (inputBinding.component === "Select") {
33507
+ if (inputBinding.component === "Select" || inputBinding.component === "ChoiceField") {
31967
33508
  const fieldName = asString(inputBinding.args[0]) || labelToName(label);
31968
33509
  const itemsArg = inputBinding.args[1];
31969
33510
  const { placeholder, required } = splitPlaceholderAndRules(inputBinding.args, 2);
@@ -32129,8 +33670,8 @@ function writeParsedSummary(parsed, markup) {
32129
33670
  );
32130
33671
  }
32131
33672
  } else if (parsed.form) {
32132
- writeOut(` Form: ${parsed.form.title}
32133
- `);
33673
+ writeOut(parsed.form.title ? ` Form: ${parsed.form.title}
33674
+ ` : " Form:\n");
32134
33675
  for (const f of parsed.form.fields) {
32135
33676
  writeOut(` - ${f.label} (${f.name})
32136
33677
  `);
@@ -32294,9 +33835,11 @@ async function selectChoice(choices) {
32294
33835
  });
32295
33836
  }
32296
33837
  async function promptForm(form, extraChoices) {
32297
- writeOut(`
33838
+ if (form.title) {
33839
+ writeOut(`
32298
33840
  ${BOLD}${form.title}${RESET}
32299
33841
  `);
33842
+ }
32300
33843
  if (form.description) {
32301
33844
  writeOut(`${DIM}${form.description}${RESET}
32302
33845
  `);
@@ -32357,7 +33900,7 @@ ${DIM}Select an action:${RESET}
32357
33900
  return action.choiceValue ?? action.label;
32358
33901
  }
32359
33902
  if (action.kind === "cancel") {
32360
- return "The user declined to make a selection.";
33903
+ return UI_CHOICE_DECLINE_MESSAGE;
32361
33904
  }
32362
33905
  if (action.kind === "open_url" && action.url) {
32363
33906
  writeOut(`${DIM}Open URL: ${action.url}${RESET}
@@ -32636,7 +34179,7 @@ async function handleUIChoiceTerminal(payload) {
32636
34179
  } catch (err) {
32637
34180
  if (err instanceof OpenUiTerminalAbortError) {
32638
34181
  return {
32639
- resumeValue: "The user declined to make a selection.",
34182
+ resumeValue: UI_CHOICE_DECLINE_MESSAGE,
32640
34183
  resumeInterruptId: stringField(payload, "interruptId", "interrupt_id")
32641
34184
  };
32642
34185
  }
@@ -35146,7 +36689,7 @@ Flags for unattended turns:
35146
36689
  - \`--auto-approve\`: skip HITL tool approval where policy allows
35147
36690
  - \`--allow-write\`: required for create/update tools
35148
36691
 
35149
- The concierge can: list/create orgs, list org/workspace products, create Stripe checkout sessions, and \`create_workspace\`.
36692
+ The concierge can: list/create orgs, list organization plans and add-ons, create Stripe checkout sessions, and \`create_workspace\`.
35150
36693
 
35151
36694
  ## Manual CLI path (if not using concierge)
35152
36695
  1. \`gr whoami\` \u2014 confirm account
@@ -35730,7 +37273,7 @@ init_concierge_api();
35730
37273
 
35731
37274
  // package.json
35732
37275
  var package_default = {
35733
- version: "0.18.0"};
37276
+ version: "0.21.0"};
35734
37277
 
35735
37278
  // src/gr.ts
35736
37279
  var VERSION = package_default.version;
@@ -35807,9 +37350,7 @@ async function main() {
35807
37350
  process.exit(1);
35808
37351
  }
35809
37352
  await cmd.handler(hctx);
35810
- if (process.stdout.writableNeedDrain) {
35811
- await new Promise((resolve3) => process.stdout.once("drain", resolve3));
35812
- }
37353
+ await flushStdout();
35813
37354
  process.exit(process.exitCode ?? 0);
35814
37355
  }
35815
37356
  main().catch(handleError);