bible-ref-parse 3.2.0 → 3.3.1
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/am-bcv-parser.js +191 -32
- package/dist/am-bcv-parser.min.js +1 -1
- package/dist/ar-bcv-parser.js +191 -32
- package/dist/ar-bcv-parser.min.js +2 -2
- package/dist/bb-bcv-parser.js +191 -32
- package/dist/bb-bcv-parser.min.js +2 -2
- package/dist/bg-bcv-parser.js +191 -32
- package/dist/bg-bcv-parser.min.js +2 -2
- package/dist/bn-bcv-parser.js +191 -32
- package/dist/bn-bcv-parser.min.js +2 -2
- package/dist/ceb-bcv-parser.js +191 -32
- package/dist/ceb-bcv-parser.min.js +2 -2
- package/dist/cs-bcv-parser.js +191 -32
- package/dist/cs-bcv-parser.min.js +2 -2
- package/dist/da-bcv-parser.js +191 -32
- package/dist/da-bcv-parser.min.js +2 -2
- package/dist/de-bcv-parser.js +191 -32
- package/dist/de-bcv-parser.min.js +2 -2
- package/dist/ee-bcv-parser.js +191 -32
- package/dist/ee-bcv-parser.min.js +3 -3
- package/dist/el-bcv-parser.js +191 -32
- package/dist/el-bcv-parser.min.js +1 -1
- package/dist/en-bcv-parser.js +122 -11
- package/dist/en-bcv-parser.min.js +2 -2
- package/dist/es-bcv-parser.js +191 -32
- package/dist/es-bcv-parser.min.js +2 -2
- package/dist/fa-bcv-parser.js +191 -32
- package/dist/fa-bcv-parser.min.js +3 -3
- package/dist/fi-bcv-parser.js +191 -32
- package/dist/fi-bcv-parser.min.js +2 -2
- package/dist/fr-bcv-parser.js +191 -32
- package/dist/fr-bcv-parser.min.js +3 -3
- package/dist/he-bcv-parser.js +191 -32
- package/dist/he-bcv-parser.min.js +1 -1
- package/dist/hi-bcv-parser.js +191 -32
- package/dist/hi-bcv-parser.min.js +2 -2
- package/dist/hl-bcv-parser.js +191 -32
- package/dist/hl-bcv-parser.min.js +2 -2
- package/dist/hr-bcv-parser.js +191 -32
- package/dist/hr-bcv-parser.min.js +2 -2
- package/dist/ht-bcv-parser.js +191 -32
- package/dist/ht-bcv-parser.min.js +2 -2
- package/dist/hu-bcv-parser.js +191 -32
- package/dist/hu-bcv-parser.min.js +2 -2
- package/dist/id-bcv-parser.js +191 -32
- package/dist/id-bcv-parser.min.js +2 -2
- package/dist/il-bcv-parser.js +189 -30
- package/dist/il-bcv-parser.min.js +2 -2
- package/dist/is-bcv-parser.js +191 -32
- package/dist/is-bcv-parser.min.js +2 -2
- package/dist/it-bcv-parser.js +191 -32
- package/dist/it-bcv-parser.min.js +3 -3
- package/dist/ja-bcv-parser.js +191 -32
- package/dist/ja-bcv-parser.min.js +3 -3
- package/dist/jv-bcv-parser.js +191 -32
- package/dist/jv-bcv-parser.min.js +2 -2
- package/dist/ko-bcv-parser.js +191 -32
- package/dist/ko-bcv-parser.min.js +2 -2
- package/dist/la-bcv-parser.js +191 -32
- package/dist/la-bcv-parser.min.js +2 -2
- package/dist/lu-bcv-parser.js +191 -32
- package/dist/lu-bcv-parser.min.js +2 -2
- package/dist/mg-bcv-parser.js +191 -32
- package/dist/mg-bcv-parser.min.js +3 -3
- package/dist/mk-bcv-parser.js +191 -32
- package/dist/mk-bcv-parser.min.js +2 -2
- package/dist/mq-bcv-parser.js +191 -32
- package/dist/mq-bcv-parser.min.js +2 -2
- package/dist/mr-bcv-parser.js +191 -32
- package/dist/mr-bcv-parser.min.js +2 -2
- package/dist/nd-bcv-parser.js +191 -32
- package/dist/nd-bcv-parser.min.js +2 -2
- package/dist/ne-bcv-parser.js +191 -32
- package/dist/ne-bcv-parser.min.js +2 -2
- package/dist/nl-bcv-parser.js +191 -32
- package/dist/nl-bcv-parser.min.js +3 -3
- package/dist/no-bcv-parser.js +191 -32
- package/dist/no-bcv-parser.min.js +2 -2
- package/dist/ny-bcv-parser.js +191 -32
- package/dist/ny-bcv-parser.min.js +2 -2
- package/dist/or-bcv-parser.js +191 -32
- package/dist/or-bcv-parser.min.js +2 -2
- package/dist/pa-bcv-parser.js +191 -32
- package/dist/pa-bcv-parser.min.js +2 -2
- package/dist/pl-bcv-parser.js +191 -32
- package/dist/pl-bcv-parser.min.js +2 -2
- package/dist/pt-bcv-parser.js +191 -32
- package/dist/pt-bcv-parser.min.js +3 -3
- package/dist/ro-bcv-parser.js +191 -32
- package/dist/ro-bcv-parser.min.js +2 -2
- package/dist/ru-bcv-parser.js +191 -32
- package/dist/ru-bcv-parser.min.js +2 -2
- package/dist/rw-bcv-parser.js +191 -32
- package/dist/rw-bcv-parser.min.js +3 -3
- package/dist/si-bcv-parser.js +191 -32
- package/dist/si-bcv-parser.min.js +2 -2
- package/dist/sk-bcv-parser.js +191 -32
- package/dist/sk-bcv-parser.min.js +3 -3
- package/dist/so-bcv-parser.js +191 -32
- package/dist/so-bcv-parser.min.js +2 -2
- package/dist/sq-bcv-parser.js +191 -32
- package/dist/sq-bcv-parser.min.js +2 -2
- package/dist/sr-bcv-parser.js +191 -32
- package/dist/sr-bcv-parser.min.js +2 -2
- package/dist/sv-bcv-parser.js +191 -32
- package/dist/sv-bcv-parser.min.js +2 -2
- package/dist/sw-bcv-parser.js +191 -32
- package/dist/sw-bcv-parser.min.js +2 -2
- package/dist/ta-bcv-parser.js +191 -32
- package/dist/ta-bcv-parser.min.js +2 -2
- package/dist/test/en.spec.js +7 -0
- package/dist/th-bcv-parser.js +191 -32
- package/dist/th-bcv-parser.min.js +2 -2
- package/dist/tl-bcv-parser.js +191 -32
- package/dist/tl-bcv-parser.min.js +2 -2
- package/dist/tr-bcv-parser.js +191 -32
- package/dist/tr-bcv-parser.min.js +2 -2
- package/dist/uk-bcv-parser.js +191 -32
- package/dist/uk-bcv-parser.min.js +2 -2
- package/dist/ur-bcv-parser.js +191 -32
- package/dist/ur-bcv-parser.min.js +2 -2
- package/dist/vi-bcv-parser.js +191 -32
- package/dist/vi-bcv-parser.min.js +1 -1
- package/dist/zh-bcv-parser.js +191 -32
- package/dist/zh-bcv-parser.min.js +3 -3
- package/dist/zu-bcv-parser.js +191 -32
- package/dist/zu-bcv-parser.min.js +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.prototype.entities=[],this.prototype.passage=null,this.prototype.regexps={},this.prototype.options={consecutive_combination_strategy:"combine",osis_compaction_strategy:"b",book_sequence_strategy:"ignore",invalid_sequence_strategy:"ignore",sequence_combination_strategy:"combine",punctuation_strategy:"us",invalid_passage_strategy:"ignore",non_latin_digits_strategy:"ignore",passage_existence_strategy:"bcv",zero_chapter_strategy:"error",zero_verse_strategy:"error",single_chapter_1_strategy:"chapter",book_alone_strategy:"ignore",book_range_strategy:"ignore",captive_end_digits_strategy:"delete",end_range_digits_strategy:"verse",include_apocrypha:!1,ps151_strategy:"c",versification_system:"default",case_sensitive:"none"}}constructor(){for(var e of(this.options={},Object.keys(bcv_parser.prototype.options||{}))){var t=bcv_parser.prototype.options[e];this.options[e]=t}this.versification_system(this.options.versification_system)}parse(e){return this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),[this.entities]=Array.from(this.match_passages(e)),this}parse_with_context(e,t){let s;return this.reset(),[t,this.passage.books]=Array.from(this.match_books(this.replace_control_characters(t))),[s,t]=Array.from(this.match_passages(t)),this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),this.passage.books.push({value:"",parsed:[],start_index:0,type:"context",context:t}),e=""+(this.passage.books.length-1)+"/9"+e,[this.entities]=Array.from(this.match_passages(e)),this}reset(){return this.s="",this.entities=[],this.passage?(this.passage.books=[],this.passage.indices={}):(this.passage=new bcv_passage,this.passage.options=this.options,this.passage.translations=this.translations)}set_options(e){for(var t of Object.keys(e||{})){var s=e[t];"include_apocrypha"===t||"versification_system"===t||"case_sensitive"===t?this[t](s):this.options[t]=s}return this}include_apocrypha(e){if(null==e||!0!==e&&!1!==e)return this;for(var t of(this.options.include_apocrypha=e,this.regexps.books=this.regexps.get_books(e,this.options.case_sensitive),Object.keys(this.translations||{}))){var s;if("aliases"!==t&&"alternates"!==t)if(null==this.translations[t].chapters&&(this.translations[t].chapters={}),null==this.translations[t].chapters.Ps&&(this.translations[t].chapters.Ps=bcv_utils.shallow_clone_array(this.translations.default.chapters.Ps)),!0===e)s=null!=this.translations[t].chapters.Ps151?this.translations[t].chapters.Ps151[0]:this.translations.default.chapters.Ps151[0],this.translations[t].chapters.Ps[150]=s;else 151===this.translations[t].chapters.Ps.length&&this.translations[t].chapters.Ps.pop()}return this}versification_system(e){let t,s;if(null==e||null==this.translations[e])return this;if(null!=this.translations.alternates.default)if("default"===e)for(t of(null!=this.translations.alternates.default.order&&(this.translations.default.order=bcv_utils.shallow_clone(this.translations.alternates.default.order)),Object.keys(this.translations.alternates.default.chapters||{})))s=this.translations.alternates.default.chapters[t],this.translations.default.chapters[t]=bcv_utils.shallow_clone_array(s);else this.versification_system("default");if(null==this.translations.alternates.default&&(this.translations.alternates.default={order:null,chapters:{}}),"default"!==e&&null!=this.translations[e].order&&(null==this.translations.alternates.default.order&&(this.translations.alternates.default.order=bcv_utils.shallow_clone(this.translations.default.order)),this.translations.default.order=bcv_utils.shallow_clone(this.translations[e].order)),"default"!==e&&null!=this.translations[e].chapters)for(t of Object.keys(this.translations[e].chapters||{}))s=this.translations[e].chapters[t],null==this.translations.alternates.default.chapters[t]&&(this.translations.alternates.default.chapters[t]=bcv_utils.shallow_clone_array(this.translations.default.chapters[t])),this.translations.default.chapters[t]=bcv_utils.shallow_clone_array(s);return this.options.versification_system=e,this.include_apocrypha(this.options.include_apocrypha),this}case_sensitive(e){return null==e||"none"!==e&&"books"!==e||e===this.options.case_sensitive||(this.options.case_sensitive=e,this.regexps.books=this.regexps.get_books(this.options.include_apocrypha,e)),this}translation_info(e){let t;null==e&&(e="default"),null!=e&&null!=(null!=this.translations.aliases[e]?this.translations.aliases[e].alias:void 0)&&(e=this.translations.aliases[e].alias),null!=e&&null!=this.translations[e]||(e="default");const s=this.options.versification_system;e!==s&&this.versification_system(e);const r={alias:e,books:[],chapters:{},order:bcv_utils.shallow_clone(this.translations.default.order)};for(t of Object.keys(this.translations.default.chapters||{})){var a=this.translations.default.chapters[t];r.chapters[t]=bcv_utils.shallow_clone_array(a)}for(t of Object.keys(r.order||{})){var n=r.order[t];r.books[n-1]=t}return e!==s&&this.versification_system(s),r}replace_control_characters(e){return e=(e=(e=e.replace(this.regexps.control," ")).replace(/\uFF1A/g,":")).replace(/\uFF1B/g,";"),"replace"===this.options.non_latin_digits_strategy&&(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/[٠۰߀०০੦૦୦0౦೦൦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꩐꯰0]/g,"0")).replace(/[١۱߁१১੧૧୧௧౧೧൧๑໑༡၁႑១᠑᥇᧑᪁᪑᭑᮱᱁᱑꘡꣑꤁꧑꩑꯱1]/g,"1")).replace(/[٢۲߂२২੨૨୨௨౨೨൨๒໒༢၂႒២᠒᥈᧒᪂᪒᭒᮲᱂᱒꘢꣒꤂꧒꩒꯲2]/g,"2")).replace(/[٣۳߃३৩੩૩୩௩౩೩൩๓໓༣၃႓៣᠓᥉᧓᪃᪓᭓᮳᱃᱓꘣꣓꤃꧓꩓꯳3]/g,"3")).replace(/[٤۴߄४৪੪૪୪௪౪೪൪๔໔༤၄႔៤᠔᥊᧔᪄᪔᭔᮴᱄᱔꘤꣔꤄꧔꩔꯴4]/g,"4")).replace(/[٥۵߅५৫੫૫୫௫౫೫൫๕໕༥၅႕៥᠕᥋᧕᪅᪕᭕᮵᱅᱕꘥꣕꤅꧕꩕꯵5]/g,"5")).replace(/[٦۶߆६৬੬૬୬௬౬೬൬๖໖༦၆႖៦᠖᥌᧖᪆᪖᭖᮶᱆᱖꘦꣖꤆꧖꩖꯶6]/g,"6")).replace(/[٧۷߇७৭੭૭୭௭౭೭൭๗໗༧၇႗៧᠗᥍᧗᪇᪗᭗᮷᱇᱗꘧꣗꤇꧗꩗꯷7]/g,"7")).replace(/[٨۸߈८৮੮૮୮௮౮೮൮๘໘༨၈႘៨᠘᥎᧘᪈᪘᭘᮸᱈᱘꘨꣘꤈꧘꩘꯸8]/g,"8")).replace(/[٩۹߉९৯੯૯୯௯౯೯൯๙໙༩၉႙៩᠙᥏᧙᪉᪙᭙᮹᱉᱙꘩꣙꤉꧙꩙꯹9]/g,"9")),e}match_books(e){const t=[];for(var s of Array.from(this.regexps.books)){var r=!1;if(e=e.replace(s.regexp,(function(e,a,n){r=!0,t.push({value:n,parsed:s.osis,type:"book"});const i=null!=s.extra?`/${s.extra}`:"";return`${a}${t.length-1}${i}`})),!0===r&&/^[\s\x1f\d:.,;\-\u2013\u2014]+$/.test(e))break}return[e=e.replace(this.regexps.translations,(function(e){return t.push({value:e,parsed:e.toLowerCase(),type:"translation"}),`${t.length-1}`})),this.get_book_indices(t,e)]}get_book_indices(e,t){let s,r=0;const a=new RegExp("([\\x1f\\x1e])(\\d+)(?:/\\d+)?\\1","g");for(;s=a.exec(t);)e[s[2]].start_index=s.index+r,r+=e[s[2]].value.length-s[0].length;return e}match_passages(e){let t,s=[],r={};for(;t=this.regexps.escaped_passage.exec(e);){let g;var[a,n,i]=Array.from(t),o=n.length;if(t.index+=a.length-o,/\s[2-9]\d\d\s*$|\s\d{4,}\s*$/.test(n)&&(n=n.replace(/\s+\d+\s*$/,"")),/[\d\x1f\x1e)]$/.test(n)||(n=this.replace_match_end(n)),"delete"===this.options.captive_end_digits_strategy){var l=t.index+n.length;e.length>l&&/^\w/.test(e.substr(l,1))&&(n=n.replace(/[\s*]+\d+$/,"")),n=n.replace(/(\x1e[)\]]?)[\s*]*\d+$/,"$1")}var u=""===(n=n.replace(/[A-Z]+/g,(e=>e.toLowerCase()))).substr(0,1)?0:n.split("")[0].length,c={value:grammar.parse(n,{punctuation_strategy:this.options.punctuation_strategy}),type:"base",start_index:this.passage.books[i].start_index-u,match:n};"full"===this.options.book_alone_strategy&&"include"===this.options.book_range_strategy&&"b"===c.value[0].type&&(1===c.value.length||c.value.length>1&&"translation_sequence"===c.value[1].type)&&0===u&&(1===this.passage.books[i].parsed.length||this.passage.books[i].parsed.length>1&&"translation"===this.passage.books[i].parsed[1].type)&&/^[234]/.test(this.passage.books[i].parsed[0])&&this.create_book_range(e,c,i),[g,r]=Array.from(this.passage.handle_obj(c)),s=s.concat(g);var p=this.adjust_regexp_end(g,o,n.length);p>0&&(this.regexps.escaped_passage.lastIndex-=p)}return[s,r]}adjust_regexp_end(e,t,s){let r=0;return e.length>0?r=t-e[e.length-1].indices[1]-1:t!==s&&(r=t-s),r}replace_match_end(e){let t,s=e.length;for(;t=this.regexps.match_end_split.exec(e);)s=t.index+t[0].length;return s<e.length&&(e=e.substr(0,s)),e}create_book_range(e,t,s){const r=[bcv_parser.prototype.regexps.first,bcv_parser.prototype.regexps.second,bcv_parser.prototype.regexps.third],a=parseInt(this.passage.books[s].parsed[0].substr(0,1),10);for(let o=1,l=a,u=1<=l;u?o<l:o>l;u?o++:o--){var n=o===a-1?bcv_parser.prototype.regexps.range_and:bcv_parser.prototype.regexps.range_only,i=e.match(new RegExp(`(?:^|\\W)(${r[o-1]}\\s*${n}\\s*)\\x1f${s}\\x1f`,"i"));if(null!=i)return this.add_book_range_object(t,i,o)}return!1}add_book_range_object(e,t,s){const{length:r}=t[1];if(e.value[0]={type:"b_range_pre",value:[{type:"b_pre",value:s.toString(),indices:[t.index,t.index+r]},e.value[0]],indices:[0,e.value[0].indices[1]+r]},e.value[0].value[1].indices[0]+=r,e.value[0].value[1].indices[1]+=r,e.start_index-=r,e.match=t[1]+e.match,1!==e.value.length)return(()=>{const t=[];for(let s=1,a=e.value.length,n=1<=a;n?s<a:s>a;n?s++:s--)null!=e.value[s].value&&(null!=(null!=e.value[s].value[0]?e.value[s].value[0].indices:void 0)&&(e.value[s].value[0].indices[0]+=r,e.value[s].value[0].indices[1]+=r),e.value[s].indices[0]+=r,t.push(e.value[s].indices[1]+=r));return t})()}osis(){const e=[];for(var t of Array.from(this.parsed_entities()))t.osis.length>0&&e.push(t.osis);return e.join(",")}osis_and_translations(){const e=[];for(var t of Array.from(this.parsed_entities()))t.osis.length>0&&e.push([t.osis,t.translations.join(",")]);return e}osis_and_indices(){const e=[];for(var t of Array.from(this.parsed_entities()))t.osis.length>0&&e.push({osis:t.osis,translations:t.translations,indices:t.indices});return e}parsed_entities(){let e=[];for(let A=0,$=this.entities.length,w=0<=$;w?A<$:A>$;w?A++:A--){var t=this.entities[A];if(t.type&&"translation_sequence"===t.type&&e.length>0&&A===e[e.length-1].entity_id+1&&(e[e.length-1].indices[1]=t.absolute_indices[1]),null!=t.passages&&!("b"===t.type&&"ignore"===this.options.book_alone_strategy||"b_range"===t.type&&"ignore"===this.options.book_range_strategy||"context"===t.type)){var s=[],r=null;if(null!=t.passages[0].translations)for(var a of Array.from(t.passages[0].translations)){var n=(null!=a.osis?a.osis.length:void 0)>0?a.osis:"";null==r&&(r=a.alias),s.push(n)}else s=[""],r="default";for(var i=[],o=[],{length:l}=t.passages,u=0,c=u,p=l,g=0<=p;g?u<p:u>p;g?u++:u--,c=u){var _,h,f=t.passages[c];if(null==f.type&&(f.type=t.type),!1!==f.valid.valid||("ignore"===this.options.invalid_sequence_strategy&&"sequence"===t.type&&this.snap_sequence("ignore",t,i,c,l),"ignore"!==this.options.invalid_passage_strategy))if("b"!==f.type&&"b_range"!==f.type||"ignore"!==this.options.book_sequence_strategy||"sequence"!==t.type)if("b_range_start"!==f.type&&"range_end_b"!==f.type||"ignore"!==this.options.book_range_strategy||this.snap_range(t,c),null==f.absolute_indices&&(f.absolute_indices=t.absolute_indices),"separate-chapters"===this.options.consecutive_combination_strategy&&f.start.c!==f.end.c)for(c=f.start.c,h=f.end.c,_=f.start.c<=h;_?c<=h:c>=h;_?c++:c--){var d=c===f.start.c?f.start.v:1,x=c===f.end.c?f.end.v:this.translations[r].chapters[f.start.b][c-1],v={b:f.start.b,c:c,v:"bcv"===f.start.type?d:null,type:f.start.type},b={b:f.end.b,c:c,v:"bcv"===f.start.type?x:null,type:f.start.type};o.push({osis:f.valid.valid?this.to_osis(v,b,r):"",type:f.type,indices:f.absolute_indices,translations:s,start:v,end:b,enclosed_indices:f.enclosed_absolute_indices,entity_id:A,entities:[f]})}else i.push({osis:f.valid.valid?this.to_osis(f.start,f.end,r):"",type:f.type,indices:f.absolute_indices,translations:s,start:f.start,end:f.end,enclosed_indices:f.enclosed_absolute_indices,entity_id:A,entities:[f]});else this.snap_sequence("book",t,i,c,l)}if(0!==i.length||0!==o.length)if("combine"!==this.options.consecutive_combination_strategy&&"separate-chapters"!==this.options.consecutive_combination_strategy||(i.length>1&&(i=this.combine_consecutive_passages(i,r)),i=i.concat(o).sort(((e,t)=>e.indices[0]-t.indices[0]))),"separate"===this.options.sequence_combination_strategy)e=e.concat(i);else{var y,m=[],k=i.length-1;for(y of(null!=i[k].enclosed_indices&&i[k].enclosed_indices[1]>=0&&(t.absolute_indices[1]=i[k].enclosed_indices[1]),Array.from(i)))y.osis.length>0&&m.push(y.osis);e.push({osis:m.join(","),indices:t.absolute_indices,translations:s,entity_id:A,entities:i})}}}return e}to_osis(e,t,s){let r;null==t.c&&null==t.v&&e.b===t.b&&null==e.c&&null==e.v&&"first_chapter"===this.options.book_alone_strategy&&(t.c=1);const a={start:"",end:""};return null==e.c&&(e.c=1),null==e.v&&(e.v=1),null==t.c&&(this.options.passage_existence_strategy.indexOf("c")>=0||null!=this.passage.translations[s].chapters[t.b]&&1===this.passage.translations[s].chapters[t.b].length?t.c=this.passage.translations[s].chapters[t.b].length:t.c=999),null==t.v&&(null!=this.passage.translations[s].chapters[t.b][t.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0?t.v=this.passage.translations[s].chapters[t.b][t.c-1]:t.v=999),this.options.include_apocrypha&&"b"===this.options.ps151_strategy&&(151===e.c&&"Ps"===e.b||151===t.c&&"Ps"===t.b)&&this.fix_ps151(e,t,s),"b"===this.options.osis_compaction_strategy&&1===e.c&&1===e.v&&(999===t.c&&999===t.v||t.c===this.passage.translations[s].chapters[t.b].length&&this.options.passage_existence_strategy.indexOf("c")>=0&&(999===t.v||t.v===this.passage.translations[s].chapters[t.b][t.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0))?(a.start=e.b,a.end=t.b):this.options.osis_compaction_strategy.length<=2&&1===e.v&&(999===t.v||t.v===this.passage.translations[s].chapters[t.b][t.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0)?(a.start=e.b+"."+e.c.toString(),a.end=t.b+"."+t.c.toString()):(a.start=e.b+"."+e.c.toString()+"."+e.v.toString(),a.end=t.b+"."+t.c.toString()+"."+t.v.toString()),r=a.start===a.end?a.start:a.start+"-"+a.end,null!=e.extra&&(r=e.extra+","+r),null!=t.extra&&(r+=","+t.extra),r}fix_ps151(e,t,s){return"default"!==s&&null==(null!=this.translations[s]?this.translations[s].chapters.Ps151:void 0)&&this.passage.promote_book_to_translation("Ps151",s),151===e.c&&"Ps"===e.b?151===t.c&&"Ps"===t.b?(e.b="Ps151",e.c=1,t.b="Ps151",t.c=1):(e.extra=this.to_osis({b:"Ps151",c:1,v:e.v},{b:"Ps151",c:1,v:this.passage.translations[s].chapters.Ps151[0]},s),e.b="Prov",e.c=1,e.v=1):(t.extra=this.to_osis({b:"Ps151",c:1,v:1},{b:"Ps151",c:1,v:t.v},s),t.c=150,t.v=this.passage.translations[s].chapters.Ps[149])}combine_consecutive_passages(e,t){const s=[];let r={};const a=e.length-1;let n=-1,i=!1;for(let c=0,p=a,g=0<=p;g?c<=p:c>=p;g?c++:c--){var o=e[c];if(o.osis.length>0){var l=s.length-1,u=!1;o.enclosed_indices[0]!==n&&(n=o.enclosed_indices[0]),n>=0&&(c===a||e[c+1].enclosed_indices[0]!==o.enclosed_indices[0])&&(u=!0,i=!0),this.is_verse_consecutive(r,o.start,t)?(s[l].end=o.end,s[l].is_enclosed_last=u,s[l].indices[1]=o.indices[1],s[l].enclosed_indices[1]=o.enclosed_indices[1],s[l].osis=this.to_osis(s[l].start,o.end,t)):s.push(o),r={b:o.end.b,c:o.end.c,v:o.end.v}}else s.push(o),r={}}return i&&this.snap_enclosed_indices(s),s}snap_enclosed_indices(e){for(var t of Array.from(e))null!=t.is_enclosed_last&&(t.enclosed_indices[0]<0&&t.is_enclosed_last&&(t.indices[1]=t.enclosed_indices[1]),delete t.is_enclosed_last);return e}is_verse_consecutive(e,t,s){if(null==e.b)return!1;const r=null!=this.passage.translations[s].order?this.passage.translations[s].order:this.passage.translations.default.order;if(e.b===t.b){if(e.c===t.c){if(e.v===t.v-1)return!0}else if(1===t.v&&e.c===t.c-1&&e.v===this.passage.translations[s].chapters[e.b][e.c-1])return!0}else if(1===t.c&&1===t.v&&r[e.b]===r[t.b]-1&&e.c===this.passage.translations[s].chapters[e.b].length&&e.v===this.passage.translations[s].chapters[e.b][e.c-1])return!0;return!1}snap_range(e,t){let s,r,a;"b_range_start"===e.type||"sequence"===e.type&&"b_range_start"===e.passages[t].type?(s=1,r="end",a="b_range_start"):(s=0,r="start",a="range_end_b");const n="end"===r?"start":"end";for(var i of Object.keys(e.passages[t][n]||{}))e.passages[t][n][i]=e.passages[t][r][i];if("sequence"===e.type){t>=e.value.length&&(t=e.value.length-1);const s=this.passage.pluck(a,e.value[t]);if(null!=s){const r=this.snap_range(s,0);0===t?e.absolute_indices[0]=r.absolute_indices[0]:e.absolute_indices[1]=r.absolute_indices[1]}}else e.original_type=e.type,e.type=e.value[s].type,e.absolute_indices=[e.value[s].absolute_indices[0],e.value[s].absolute_indices[1]];return e}snap_sequence(e,t,s,r,a){const n=t.passages[r];return n.absolute_indices[0]===t.absolute_indices[0]&&r<a-1&&this.get_snap_sequence_i(t.passages,r,a)!==r?(t.absolute_indices[0]=t.passages[r+1].absolute_indices[0],this.remove_absolute_indices(t.passages,r+1)):n.absolute_indices[1]===t.absolute_indices[1]&&r>0?t.absolute_indices[1]=s.length>0?s[s.length-1].indices[1]:t.passages[r-1].absolute_indices[1]:"book"===e&&r<a-1&&!this.starts_with_book(t.passages[r+1])&&(t.passages[r+1].absolute_indices[0]=n.absolute_indices[0]),t}get_snap_sequence_i(e,t,s){for(let r=t+1,a=r,n=s,i=r<=n;i?a<n:a>n;i?a++:a--){if(this.starts_with_book(e[a]))return a;if(e[a].valid.valid)return t}return t}starts_with_book(e){return"b"===e.type.substr(0,1)||("range"===e.type||"ff"===e.type)&&"b"===e.start.type.substr(0,1)}remove_absolute_indices(e,t){if(e[t].enclosed_absolute_indices[0]<0)return!1;const[s,r]=Array.from(e[t].enclosed_absolute_indices);for(var a of Array.from(e.slice(t))){if(a.enclosed_absolute_indices[0]!==s||a.enclosed_absolute_indices[1]!==r)break;a.enclosed_absolute_indices=[-1,-1]}return!0}}bcv_parser.initClass(),this.bcv_parser=bcv_parser;class bcv_passage{static initClass(){this.prototype.books=[],this.prototype.indices={},this.prototype.options={},this.prototype.translations={}}handle_array(e,t,s){for(var r of(null==t&&(t=[]),null==s&&(s={}),Array.from(e)))if(null!=r){if("stop"===r.type)break;[t,s]=Array.from(this.handle_obj(r,t,s))}return[t,s]}handle_obj(e,t,s){return null!=e.type&&null!=this[e.type]?this[e.type](e,t,s):[t,s]}b(e,t,s){let r;e.start_context=bcv_utils.shallow_clone(s),e.passages=[];const a=[];for(r of Array.from(this.books[e.value].parsed)){var n=this.validate_ref(e.start_context.translations,{b:r}),i={start:{b:r},end:{b:r},valid:n};0===e.passages.length&&n.valid?e.passages.push(i):a.push(i)}return 0===e.passages.length&&e.passages.push(a.shift()),a.length>0&&(e.passages[0].alternates=a),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),t.push(e),s={b:e.passages[0].start.b},null!=e.start_context.translations&&(s.translations=e.start_context.translations),[t,s]}b_range(e,t,s){return this.range(e,t,s)}b_range_pre(e,t,s){let r,a;e.start_context=bcv_utils.shallow_clone(s),e.passages=[];const n=this.pluck("b",e.value);r=this.b(n,[],s),[a]=Array.from(r[0]),s=r[1],null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices));const i={b:e.value[0].value+a.passages[0].start.b.substr(1),type:"b"};return e.passages=[{start:i,end:a.passages[0].end,valid:a.passages[0].valid}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),t.push(e),[t,s]}b_range_start(e,t,s){return this.range(e,t,s)}base(e,t,s){return this.indices=this.calculate_indices(e.match,e.start_index),this.handle_array(e.value,t,s)}bc(e,t,s){e.start_context=bcv_utils.shallow_clone(s),e.passages=[],this.reset_context(s,["b","c","v"]);const r=this.pluck("c",e.value).value,a=[];for(var n of Array.from(this.books[this.pluck("b",e.value).value].parsed)){var i="c",o=this.validate_ref(e.start_context.translations,{b:n,c:r}),l={start:{b:n},end:{b:n},valid:o};(o.messages.start_chapter_not_exist_in_single_chapter_book||o.messages.start_chapter_1)&&(l.valid=this.validate_ref(e.start_context.translations,{b:n,v:r}),o.messages.start_chapter_not_exist_in_single_chapter_book&&(l.valid.messages.start_chapter_not_exist_in_single_chapter_book=1),l.start.c=1,l.end.c=1,i="v"),l.start[i]=r,[l.start.c,l.start.v]=Array.from(this.fix_start_zeroes(l.valid,l.start.c,l.start.v)),null==l.start.v&&delete l.start.v,l.end[i]=l.start[i],0===e.passages.length&&l.valid.valid?e.passages.push(l):a.push(l)}return 0===e.passages.length&&e.passages.push(a.shift()),a.length>0&&(e.passages[0].alternates=a),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(s,["b","c","v"],e.passages[0].start),t.push(e),[t,s]}bc_title(e,t,s){let r,a;if(e.start_context=bcv_utils.shallow_clone(s),r=this.bc(this.pluck("bc",e.value),[],s),[a]=Array.from(r[0]),s=r[1],"Ps"!==a.passages[0].start.b.substr(0,2)&&null!=a.passages[0].alternates)for(let e=0,t=a.passages[0].alternates.length,s=0<=t;s?e<t:e>t;s?e++:e--)if("Ps"===a.passages[0].alternates[e].start.b.substr(0,2)){a.passages[0]=a.passages[0].alternates[e];break}if("Ps"!==a.passages[0].start.b.substr(0,2))return t.push(a),[t,s];this.books[this.pluck("b",a.value).value].parsed=["Ps"];let n=this.pluck("title",e.value);return null==n&&(n=this.pluck("v",e.value)),e.value[1]={type:"v",value:[{type:"integer",value:1,indices:n.indices}],indices:n.indices},e.type="bcv",this.bcv(e,t,e.start_context)}bcv(e,t,s){e.start_context=bcv_utils.shallow_clone(s),e.passages=[],this.reset_context(s,["b","c","v"]);const r=this.pluck("bc",e.value);let a=this.pluck("c",r.value).value,n=this.pluck("v",e.value).value;const i=[];for(var o of Array.from(this.books[this.pluck("b",r.value).value].parsed)){var l=this.validate_ref(e.start_context.translations,{b:o,c:a,v:n});[a,n]=Array.from(this.fix_start_zeroes(l,a,n));var u={start:{b:o,c:a,v:n},end:{b:o,c:a,v:n},valid:l};0===e.passages.length&&l.valid?e.passages.push(u):i.push(u)}return 0===e.passages.length&&e.passages.push(i.shift()),i.length>0&&(e.passages[0].alternates=i),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(s,["b","c","v"],e.passages[0].start),t.push(e),[t,s]}bv(e,t,s){let r;e.start_context=bcv_utils.shallow_clone(s);const[a,n]=Array.from(e.value);let i={indices:e.indices,value:[{type:"bc",value:[a,{type:"c",value:[{type:"integer",value:1}]}]},n]};return r=this.bcv(i,[],s),[i]=Array.from(r[0]),s=r[1],e.passages=i.passages,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),t.push(e),[t,s]}c(e,t,s){e.start_context=bcv_utils.shallow_clone(s);let r="integer"===e.type?e.value:this.pluck("integer",e.value).value;const a=this.validate_ref(e.start_context.translations,{b:s.b,c:r});return!a.valid&&a.messages.start_chapter_not_exist_in_single_chapter_book?this.v(e,t,s):([r]=Array.from(this.fix_start_zeroes(a,r)),e.passages=[{start:{b:s.b,c:r},end:{b:s.b,c:r},valid:a}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),t.push(e),s.c=r,this.reset_context(s,["v"]),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[t,s])}c_psalm(e,t,s){e.type="bc";const r=parseInt(this.books[e.value].value.match(/^\d+/)[0],10);return e.value=[{type:"b",value:e.value,indices:e.indices},{type:"c",value:[{type:"integer",value:r,indices:e.indices}],indices:e.indices}],this.bc(e,t,s)}c_title(e,t,s){if(e.start_context=bcv_utils.shallow_clone(s),"Ps"!==s.b)return this.c(e.value[0],t,s);const r=this.pluck("title",e.value);return e.value[1]={type:"v",value:[{type:"integer",value:1,indices:r.indices}],indices:r.indices},e.type="cv",this.cv(e,t,e.start_context)}cv(e,t,s){e.start_context=bcv_utils.shallow_clone(s);let r=this.pluck("c",e.value).value,a=this.pluck("v",e.value).value;const n=this.validate_ref(e.start_context.translations,{b:s.b,c:r,v:a});return[r,a]=Array.from(this.fix_start_zeroes(n,r,a)),e.passages=[{start:{b:s.b,c:r,v:a},end:{b:s.b,c:r,v:a},valid:n}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),t.push(e),s.c=r,s.v=a,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[t,s]}cb_range(e,t,s){e.type="range";const[r,a,n]=Array.from(e.value);return e.value=[{type:"bc",value:[r,a],indices:e.indices},n],n.indices[1]=e.indices[1],this.range(e,t,s)}context(e,t,s){for(var r of(e.start_context=bcv_utils.shallow_clone(s),e.passages=[],Object.keys(this.books[e.value].context||{})))s[r]=this.books[e.value].context[r];return t.push(e),[t,s]}cv_psalm(e,t,s){e.start_context=bcv_utils.shallow_clone(s),e.type="bcv";const[r,a]=Array.from(e.value),n=this.c_psalm(r,[],e.start_context),[i]=Array.from(n[0]);return e.value=[i,a],this.bcv(e,t,s)}ff(e,t,s){let r;return e.start_context=bcv_utils.shallow_clone(s),e.value.push({type:"integer",indices:e.indices,value:999}),r=this.range(e,[],e.start_context),[e]=Array.from(r[0]),s=r[1],e.value[0].indices=e.value[1].indices,e.value[0].absolute_indices=e.value[1].absolute_indices,e.value.pop(),null!=e.passages[0].valid.messages.end_verse_not_exist&&delete e.passages[0].valid.messages.end_verse_not_exist,null!=e.passages[0].valid.messages.end_chapter_not_exist&&delete e.passages[0].valid.messages.end_chapter_not_exist,null!=e.passages[0].end.original_c&&delete e.passages[0].end.original_c,t.push(e),[t,s]}integer_title(e,t,s){return e.start_context=bcv_utils.shallow_clone(s),"Ps"!==s.b?this.integer(e.value[0],t,s):(e.value[0]={type:"c",value:[e.value[0]],indices:[e.value[0].indices[0],e.value[0].indices[1]]},e.value[1].type="v",e.value[1].original_type="title",e.value[1].value=[{type:"integer",value:1,indices:e.value[1].value.indices}],e.type="cv",this.cv(e,t,e.start_context))}integer(e,t,s){return null!=s.v?this.v(e,t,s):this.c(e,t,s)}next_v(e,t,s){let r,a;e.start_context=bcv_utils.shallow_clone(s);let n=this.pluck_last_recursively("integer",e.value);if(null==n&&(n={value:1}),e.value.push({type:"integer",indices:e.indices,value:n.value+1}),r=this.range(e,[],e.start_context),[a]=Array.from(r[0]),s=r[1],null!=a.passages[0].valid.messages.end_verse_not_exist&&null==a.passages[0].valid.messages.start_verse_not_exist&&null==a.passages[0].valid.messages.start_chapter_not_exist&&null!=s.c){let t;e.value.pop(),e.value.push({type:"cv",indices:e.indices,value:[{type:"c",value:[{type:"integer",value:s.c+1,indices:e.indices}],indices:e.indices},{type:"v",value:[{type:"integer",value:1,indices:e.indices}],indices:e.indices}]}),t=this.range(e,[],e.start_context),[a]=Array.from(t[0]),s=t[1]}return a.value[0].indices=a.value[1].indices,a.value[0].absolute_indices=a.value[1].absolute_indices,a.value.pop(),null!=a.passages[0].valid.messages.end_verse_not_exist&&delete a.passages[0].valid.messages.end_verse_not_exist,null!=a.passages[0].valid.messages.end_chapter_not_exist&&delete a.passages[0].valid.messages.end_chapter_not_exist,null!=a.passages[0].end.original_c&&delete a.passages[0].end.original_c,t.push(a),[t,s]}sequence(e,t,s){for(var r of(e.start_context=bcv_utils.shallow_clone(s),e.passages=[],Array.from(e.value))){var a,n;for(var i of(a=this.handle_array(r,[],s),[n]=Array.from(a[0]),s=a[1],Array.from(n.passages)))null==i.type&&(i.type=n.type),null==i.absolute_indices&&(i.absolute_indices=n.absolute_indices),null!=n.start_context.translations&&(i.translations=n.start_context.translations),i.enclosed_absolute_indices="sequence_post_enclosed"===n.type?n.absolute_indices:[-1,-1],e.passages.push(i)}return null==e.absolute_indices&&(e.passages.length>0&&"sequence"===e.type?e.absolute_indices=[e.passages[0].absolute_indices[0],e.passages[e.passages.length-1].absolute_indices[1]]:e.absolute_indices=this.get_absolute_indices(e.indices)),t.push(e),[t,s]}sequence_post_enclosed(e,t,s){return this.sequence(e,t,s)}v(e,t,s){let r,a="integer"===e.type?e.value:this.pluck("integer",e.value).value;e.start_context=bcv_utils.shallow_clone(s);const n=null!=s.c?s.c:1,i=this.validate_ref(e.start_context.translations,{b:s.b,c:n,v:a});return[r,a]=Array.from(this.fix_start_zeroes(i,0,a)),e.passages=[{start:{b:s.b,c:n,v:a},end:{b:s.b,c:n,v:a},valid:i}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),t.push(e),s.v=a,[t,s]}range(e,t,s){let r,a;e.start_context=bcv_utils.shallow_clone(s);let[n,i]=Array.from(e.value);if(r=this.handle_obj(n,[],s),[n]=Array.from(r[0]),s=r[1],"v"===i.type&&("bc"===n.type&&!__guard__(__guard__(__guard__(null!=n.passages?n.passages[0]:void 0,(e=>e.valid)),(e=>e.messages)),(e=>e.start_chapter_not_exist_in_single_chapter_book))||"c"===n.type)&&"verse"===this.options.end_range_digits_strategy)return e.value[0]=n,this.range_change_integer_end(e,t);a=this.handle_obj(i,[],s),[i]=Array.from(a[0]),s=a[1],e.value=[n,i],e.indices=[n.indices[0],i.indices[1]],delete e.absolute_indices;const o={b:n.passages[0].start.b,c:n.passages[0].start.c,v:n.passages[0].start.v,type:n.type},l={b:i.passages[0].end.b,c:i.passages[0].end.c,v:i.passages[0].end.v,type:i.type};i.passages[0].valid.messages.start_chapter_is_zero&&(l.c=0),i.passages[0].valid.messages.start_verse_is_zero&&(l.v=0);const u=this.validate_ref(e.start_context.translations,o,l);if(!u.valid)return this.range_handle_invalid(u,e,n,o,i,l,t);{const[s,r]=Array.from(this.range_handle_valid(u,e,n,o,i,l,t));if(s)return r}return null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),e.passages=[{start:o,end:l,valid:u}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),"b"===o.type?"b"===l.type?e.type="b_range":e.type="b_range_start":"b"===l.type&&(e.type="range_end_b"),t.push(e),[t,s]}range_change_end(e,t,s){let r;const[a,n]=Array.from(e.value);return"integer"===n.type?(n.original_value=n.value,n.value=s):"v"===n.type?(r=this.pluck("integer",n.value),r.original_value=r.value,r.value=s):"cv"===n.type&&(r=this.pluck("c",n.value),r.original_value=r.value,r.value=s),this.handle_obj(e,t,e.start_context)}range_change_integer_end(e,t){const[s,r]=Array.from(e.value);return null==e.original_type&&(e.original_type=e.type),null==e.original_value&&(e.original_value=[s,r]),e.type="integer"===s.type?"cv":s.type+"v","integer"===s.type&&(e.value[0]={type:"c",value:[s],indices:s.indices}),"integer"===r.type&&(e.value[1]={type:"v",value:[r],indices:r.indices}),this.handle_obj(e,t,e.start_context)}range_check_new_end(e,t,s,r){let a=0,n=null;if(r.messages.end_chapter_before_start?n="c":r.messages.end_verse_before_start&&(n="v"),null!=n&&(a=this.range_get_new_end_value(t,s,r,n)),a>0){const t={b:s.b,c:s.c,v:s.v};t[n]=a;this.validate_ref(e,t).valid||(a=0)}return a}range_end_b(e,t,s){return this.range(e,t,s)}range_get_new_end_value(e,t,s,r){let a=0;return"c"===r&&s.messages.end_chapter_is_zero||"v"===r&&s.messages.end_verse_is_zero||(e[r]>=10&&t[r]<10&&e[r]-10*Math.floor(e[r]/10)<t[r]?a=t[r]+10*Math.floor(e[r]/10):e[r]>=100&&t[r]<100&&e[r]-100<t[r]&&(a=t[r]+100)),a}range_handle_invalid(e,t,s,r,a,n,i){if(!1===e.valid&&(e.messages.end_chapter_before_start||e.messages.end_verse_before_start)&&("integer"===a.type||"v"===a.type)||!1===e.valid&&e.messages.end_chapter_before_start&&"cv"===a.type){const s=this.range_check_new_end(t.start_context.translations,r,n,e);if(s>0)return this.range_change_end(t,i,s)}if("verse"===this.options.end_range_digits_strategy&&null==r.v&&("integer"===a.type||"v"===a.type)){const e="v"===a.type?this.pluck("integer",a.value):a.value;if(this.validate_ref(t.start_context.translations,{b:r.b,c:r.c,v:e}).valid)return this.range_change_integer_end(t,i)}return null==t.original_type&&(t.original_type=t.type),t.type="sequence",[t.original_value,t.value]=Array.from([[s,a],[[s],[a]]]),this.sequence(t,i,t.start_context)}range_handle_valid(e,t,s,r,a,n,i){if(e.messages.end_chapter_not_exist&&"verse"===this.options.end_range_digits_strategy&&null==r.v&&("integer"===a.type||"v"===a.type)&&this.options.passage_existence_strategy.indexOf("v")>=0){const e="v"===a.type?this.pluck("integer",a.value):a.value;if(this.validate_ref(t.start_context.translations,{b:r.b,c:r.c,v:e}).valid)return[!0,this.range_change_integer_end(t,i)]}return this.range_validate(e,r,n,t),[!1,null]}range_validate(e,t,s,r){return e.messages.end_chapter_not_exist||e.messages.end_chapter_not_exist_in_single_chapter_book?(s.original_c=s.c,s.c=e.messages.end_chapter_not_exist?e.messages.end_chapter_not_exist:e.messages.end_chapter_not_exist_in_single_chapter_book,null!=s.v&&(s.v=this.validate_ref(r.start_context.translations,{b:s.b,c:s.c,v:999}).messages.end_verse_not_exist,delete e.messages.end_verse_is_zero)):e.messages.end_verse_not_exist&&(s.original_v=s.v,s.v=e.messages.end_verse_not_exist),e.messages.end_verse_is_zero&&"allow"!==this.options.zero_verse_strategy&&(s.v=e.messages.end_verse_is_zero),e.messages.end_chapter_is_zero&&(s.c=e.messages.end_chapter_is_zero),[t.c,t.v]=Array.from(this.fix_start_zeroes(e,t.c,t.v)),!0}translation_sequence(e,t,s){e.start_context=bcv_utils.shallow_clone(s);const r=[];for(var a of(r.push({translation:this.books[e.value[0].value].parsed}),Array.from(e.value[1])))null!=(a=this.books[this.pluck("translation",a).value].parsed)&&r.push({translation:a});for(var n of Array.from(r))null!=this.translations.aliases[n.translation]?(n.alias=this.translations.aliases[n.translation].alias,n.osis=this.translations.aliases[n.translation].osis||n.translation.toUpperCase()):(n.alias="default",n.osis=n.translation.toUpperCase());return t.length>0&&(s=this.translation_sequence_apply(t,r)),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),t.push(e),this.reset_context(s,["translations"]),[t,s]}translation_sequence_apply(e,t){let s,r=0;for(let t=e.length-1,s=t,a=t<=0;a?s<=0:s>=0;a?s++:s--)if(null!=e[s].original_type&&(e[s].type=e[s].original_type),null!=e[s].original_value&&(e[s].value=e[s].original_value),"translation_sequence"===e[s].type){r=s+1;break}if(r<e.length){let a;e[r].start_context.translations=t,[a,s]=Array.from(this.handle_array(e.slice(r),[],e[r].start_context))}else s=bcv_utils.shallow_clone(e[e.length-1].start_context);return s}pluck(e,t){for(var s of Array.from(t))if(null!=s&&null!=s.type&&s.type===e)return"c"===e||"v"===e?this.pluck("integer",s.value):s;return null}pluck_last_recursively(e,t){for(let a=t.length-1;a>=0;a--){var s=t[a];if(null!=s&&null!=s.type){if(s.type===e)return this.pluck(e,[s]);var r=this.pluck_last_recursively(e,s.value);if(null!=r)return r}}return null}set_context_from_object(e,t,s){return(()=>{const r=[];for(var a of Array.from(t))null!=s[a]&&r.push(e[a]=s[a]);return r})()}reset_context(e,t){return Array.from(t).map((t=>delete e[t]))}fix_start_zeroes(e,t,s){return e.messages.start_chapter_is_zero&&"upgrade"===this.options.zero_chapter_strategy&&(t=e.messages.start_chapter_is_zero),e.messages.start_verse_is_zero&&"upgrade"===this.options.zero_verse_strategy&&(s=e.messages.start_verse_is_zero),[t,s]}calculate_indices(e,t){let s,r="book";const a=[];let n=0;t=parseInt(t,10);let i=[e];for(var o of["",""]){var l=[];for(s of Array.from(i))l=l.concat(s.split(o));i=l}for(s of Array.from(i)){var u;r="book"===r?"rest":"book";var c=s.length;0!==c&&("book"===r?(s=s.replace(/\/\d+$/,""),u=n+c,a.length>0&&a[a.length-1].index===t?a[a.length-1].end=u:a.push({start:n,end:u,index:t}),n+=c+2,t=this.books[s].start_index+this.books[s].value.length-n,a.push({start:u+1,end:u+1,index:t})):(u=n+c-1,a.length>0&&a[a.length-1].index===t?a[a.length-1].end=u:a.push({start:n,end:u,index:t}),n+=c))}return a}get_absolute_indices(...e){const[t,s]=Array.from(e[0]);let r=null,a=null;for(var n of Array.from(this.indices))if(null===r&&n.start<=t&&t<=n.end&&(r=t+n.index),n.start<=s&&s<=n.end){a=s+n.index+1;break}return[r,a]}validate_ref(e,t,s){null!=e&&e.length>0||(e=[{translation:"default",osis:"",alias:"default"}]);let r=!1;const a={};for(var n of Array.from(e))if(null==n.alias&&(n.alias="default"),null!=n.alias){null==this.translations.aliases[n.alias]&&(n.alias="default",null==a.translation_unknown&&(a.translation_unknown=[]),a.translation_unknown.push(n));var[i]=Array.from(this.validate_start_ref(n.alias,t,a));s&&([i]=Array.from(this.validate_end_ref(n.alias,t,s,i,a))),!0===i&&(r=!0)}else null==a.translation_invalid&&(a.translation_invalid=[]),a.translation_invalid.push(n);return{valid:r,messages:a}}validate_start_ref(e,t,s){let r=!0;"default"!==e&&null==(null!=this.translations[e]?this.translations[e].chapters[t.b]:void 0)&&this.promote_book_to_translation(t.b,e);const a=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";if(null!=t.v&&(t.v=parseInt(t.v,10)),null!=this.translations[a].order[t.b]){if(null==t.c&&(t.c=1),t.c=parseInt(t.c,10),isNaN(t.c))return r=!1,s.start_chapter_not_numeric=!0,[r,s];0===t.c&&(s.start_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?r=!1:t.c=1),null!=t.v&&0===t.v&&(s.start_verse_is_zero=1,"error"===this.options.zero_verse_strategy?r=!1:"upgrade"===this.options.zero_verse_strategy&&(t.v=1)),t.c>0&&null!=this.translations[e].chapters[t.b][t.c-1]?null!=t.v?isNaN(t.v)?(r=!1,s.start_verse_not_numeric=!0):t.v>this.translations[e].chapters[t.b][t.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(r=!1,s.start_verse_not_exist=this.translations[e].chapters[t.b][t.c-1]):1===t.c&&"verse"===this.options.single_chapter_1_strategy&&1===this.translations[e].chapters[t.b].length&&(s.start_chapter_1=1):1!==t.c&&1===this.translations[e].chapters[t.b].length?(r=!1,s.start_chapter_not_exist_in_single_chapter_book=1):t.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(r=!1,s.start_chapter_not_exist=this.translations[e].chapters[t.b].length)}else null==t.b?(r=!1,s.start_book_not_defined=!0):(this.options.passage_existence_strategy.indexOf("b")>=0&&(r=!1),s.start_book_not_exist=!0);return[r,s]}validate_end_ref(e,t,s,r,a){const n=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";return null!=s.c&&(s.c=parseInt(s.c,10),isNaN(s.c)?(r=!1,a.end_chapter_not_numeric=!0):0===s.c&&(a.end_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?r=!1:s.c=1)),null!=s.v&&(s.v=parseInt(s.v,10),isNaN(s.v)?(r=!1,a.end_verse_not_numeric=!0):0===s.v&&(a.end_verse_is_zero=1,"error"===this.options.zero_verse_strategy?r=!1:"upgrade"===this.options.zero_verse_strategy&&(s.v=1))),null!=this.translations[n].order[s.b]?(null==s.c&&1===this.translations[e].chapters[s.b].length&&(s.c=1),null!=this.translations[n].order[t.b]&&this.translations[n].order[t.b]>this.translations[n].order[s.b]&&(this.options.passage_existence_strategy.indexOf("b")>=0&&(r=!1),a.end_book_before_start=!0),t.b!==s.b||null==s.c||isNaN(s.c)||(null==t.c&&(t.c=1),!isNaN(parseInt(t.c,10))&&t.c>s.c?(r=!1,a.end_chapter_before_start=!0):t.c!==s.c||null==s.v||isNaN(s.v)||(null==t.v&&(t.v=1),!isNaN(parseInt(t.v,10))&&t.v>s.v&&(r=!1,a.end_verse_before_start=!0))),null==s.c||isNaN(s.c)||null==this.translations[e].chapters[s.b][s.c-1]&&(1===this.translations[e].chapters[s.b].length?a.end_chapter_not_exist_in_single_chapter_book=1:s.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(a.end_chapter_not_exist=this.translations[e].chapters[s.b].length)),null==s.v||isNaN(s.v)||(null==s.c&&(s.c=this.translations[e].chapters[s.b].length),s.v>this.translations[e].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(a.end_verse_not_exist=this.translations[e].chapters[s.b][s.c-1]))):(r=!1,a.end_book_not_exist=!0),[r,a]}promote_book_to_translation(e,t){if(null==this.translations[t]&&(this.translations[t]={}),null==this.translations[t].chapters&&(this.translations[t].chapters={}),null==this.translations[t].chapters[e])return this.translations[t].chapters[e]=bcv_utils.shallow_clone_array(this.translations.default.chapters[e])}}function __guard__(e,t){return null!=e?t(e):void 0}bcv_passage.initClass();const bcv_utils={shallow_clone(e){if(null==e)return e;const t={};for(const s of Object.keys(e||{})){const r=e[s];t[s]=r}return t},shallow_clone_array(e){if(null==e)return e;const t=[];for(let s=0,r=e.length,a=0<=r;a?s<=r:s>=r;a?s++:s--)void 0!==e[s]&&(t[s]=e[s]);return t}};bcv_parser.prototype.regexps.translations=RegExp("(?:(?:BYSB))\\b","gi"),bcv_parser.prototype.translations={aliases:{default:{osis:"",alias:"default"}},alternates:{},default:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,Ezra:15,Neh:16,Esth:17,Job:18,Ps:19,Prov:20,Eccl:21,Song:22,Isa:23,Jer:24,Lam:25,Ezek:26,Dan:27,Hos:28,Joel:29,Amos:30,Obad:31,Jonah:32,Mic:33,Nah:34,Hab:35,Zeph:36,Hag:37,Zech:38,Mal:39,Matt:40,Mark:41,Luke:42,John:43,Acts:44,Rom:45,"1Cor":46,"2Cor":47,Gal:48,Eph:49,Phil:50,Col:51,"1Thess":52,"2Thess":53,"1Tim":54,"2Tim":55,Titus:56,Phlm:57,Heb:58,Jas:59,"1Pet":60,"2Pet":61,"1John":62,"2John":63,"3John":64,Jude:65,Rev:66,Tob:67,Jdt:68,GkEsth:69,Wis:70,Sir:71,Bar:72,PrAzar:73,Sus:74,Bel:75,SgThree:76,EpJer:77,"1Macc":78,"2Macc":79,"3Macc":80,"4Macc":81,"1Esd":82,"2Esd":83,PrMan:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,50,13,32,22,29,35,41,30,25,18,65,23,31,40,16,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,32,18,29,23,22,20,22,21,20,23,30,25,22,19,19,26,68,29,20,30,52,29,12],Josh:[18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33],Judg:[36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25],Ruth:[22,23,18,22],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,15,23,29,22,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,33,43,26,22,51,39,25],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,53],"2Kgs":[18,25,27,44,27,33,20,29,37,36,21,21,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,26,81,40,40,44,14,47,40,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[17,18,17,22,14,42,22,18,31,19,23,16,22,15,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Ezra:[11,70,13,24,17,22,28,36,15,44],Neh:[11,20,32,23,19,19,73,18,38,39,36,47,31],Esth:[22,23,15,17,14,14,10,17,32,3],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,24,34,17],Ps:[6,12,8,8,12,10,17,9,20,18,7,8,6,7,5,11,15,50,14,9,13,31,6,10,22,12,14,9,11,12,24,11,22,22,28,12,40,22,13,17,13,11,5,26,17,11,9,14,20,23,19,9,6,7,23,13,11,11,17,12,8,12,11,10,13,20,7,35,36,5,24,20,28,23,10,12,20,72,13,19,16,8,18,12,13,17,7,18,52,17,16,15,5,23,11,13,12,9,9,5,8,28,22,35,45,48,43,13,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,13,10,7,12,15,21,10,20,14,9,6],Prov:[33,22,35,27,23,35,27,36,18,32,31,28,25,35,33,33,28,24,29,30,31,29,35,34,28,28,27,28,27,33,31],Eccl:[18,26,22,16,20,12,29,17,18,20,10,14],Song:[17,17,11,16,16,13,13,14],Isa:[31,22,26,6,30,13,25,22,21,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,12,25,24],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Lam:[22,22,66,22,22],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,30,37,31,28,28,27,27,21,45,13],Hos:[11,23,5,19,15,11,16,14,17,15,12,14,16,9],Joel:[20,32,21],Amos:[15,16,15,13,27,14,17,14,15],Obad:[21],Jonah:[17,10,10,11],Mic:[16,13,12,13,15,16,20],Nah:[15,13,19],Hab:[17,20,19],Zeph:[18,15,20],Hag:[15,23],Zech:[21,13,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,18,6],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,27,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,41,43,56,37,38,50,52,33,44,37,72,47,20],Luke:[80,52,38,44,39,49,50,56,62,42,54,59,35,35,32,31,37,43,48,47,38,71,56,53],John:[51,25,36,54,47,71,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,60,40,43,48,30,25,52,28,41,40,34,28,41,38,40,30,35,27,27,32,44,31],Rom:[32,29,31,25,21,23,25,39,33,21,36,21,14,23,33,27],"1Cor":[31,16,23,21,13,20,40,13,27,33,34,31,13,40,58,24],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,14],Gal:[24,21,29,31,26,18],Eph:[23,22,21,32,33,24],Phil:[30,30,21,23],Col:[29,23,25,18],"1Thess":[10,20,13,18,28],"2Thess":[12,17,18],"1Tim":[20,15,16,16,25,21],"2Tim":[18,26,17,22],Titus:[16,15,15],Phlm:[25],Heb:[14,18,19,16,14,20,28,13,28,39,40,29,25],Jas:[27,26,18,17,20],"1Pet":[25,25,22,19,14],"2Pet":[21,22,18],"1John":[10,29,24,21,21],"2John":[13],"3John":[15],Jude:[25],Rev:[20,29,22,11,14,17,17,13,21,11,19,17,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,17,15],Jdt:[16,28,10,15,24,21,32,36,14,23,23,20,20,19,14,25],GkEsth:[22,23,15,17,14,14,10,17,32,13,12,6,18,19,16,24],Wis:[16,24,19,20,23,25,30,21,18,21,26,27,19,31,19,29,21,25,22],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,34,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,37,37,9],PrAzar:[68],Sus:[64],Bel:[42],SgThree:[39],EpJer:[73],"1Macc":[64,70,60,61,68,63,50,32,73,89,74,53,53,49,41,24],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,45,26,46,39],"3Macc":[29,33,30,21,51,41,23],"4Macc":[35,24,21,26,38,35,23,29,32,21,27,19,27,20,32,25,24,24],"1Esd":[58,30,24,63,73,34,15,96,55],"2Esd":[40,48,36,52,56,59,70,63,47,59,46,51,58,48,63,78],PrMan:[15],Ps151:[7]}},vulgate:{chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,32,25],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,36],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,45,34],Num:[54,34,51,49,31,27,89,26,23,36,34,15,34,45,41,50,13,32,22,30,35,41,30,25,18,65,23,31,39,17,54,42,56,29,34,13],Josh:[18,24,17,25,16,27,26,35,27,44,23,24,33,15,63,10,18,28,51,9,43,34,16,33],Judg:[36,23,31,24,32,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,24],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,43,15,23,28,23,44,25,12,25,11,31,13],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"1Chr":[54,55,24,43,26,81,40,40,44,14,46,40,14,17,29,43,27,17,19,7,30,19,32,31,31,32,34,21,30],Neh:[11,20,31,23,19,19,73,18,38,39,36,46,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,23,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,35,28,25,16],Ps:[6,13,9,10,13,11,18,10,39,8,9,6,7,5,10,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,26,18,12,10,15,21,23,21,11,7,9,24,13,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,26,9,10,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,11,9,14,9,6],Eccl:[18,26,22,17,19,11,30,17,18,20,10,14],Song:[16,17,11,16,17,12,13,14],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,20,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,9,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,31,28,28,27,27,21,45,13,65,42],Hos:[11,24,5,19,15,11,16,14,17,15,12,14,15,10],Amos:[15,16,15,13,27,15,17,14,14],Jonah:[16,11,10,11],Mic:[16,13,12,13,14,16,20],Hag:[14,24],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,26,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,40,43,56,37,39,49,52,33,44,37,72,47,20],John:[51,25,36,54,47,72,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,59,40,43,48,30,25,52,27,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[25,23,25,23,28,22,20,24,12,13,21,22,23,17],Jdt:[12,18,15,17,29,21,25,34,19,20,21,20,31,18,15,31],Wis:[16,25,19,20,24,27,30,21,19,21,27,27,19,31,19,29,20,25,20],Sir:[40,23,34,36,18,37,40,22,25,34,36,19,32,27,22,31,31,33,28,33,31,33,38,47,36,28,33,30,35,27,42,28,33,31,26,28,34,39,41,32,28,26,37,27,31,23,31,28,19,31,38,13],Bar:[22,35,38,37,9,72],"1Macc":[67,70,60,61,68,63,50,32,73,89,74,54,54,49,41,24],"2Macc":[36,33,40,50,27,31,42,36,29,38,38,46,26,46,40]}},ceb:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,18,15],PrAzar:[67],EpJer:[72],"1Esd":[55,26,24,63,71,33,15,92,55]}},kjv:{chapters:{"3John":[14]}},nab:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,PrMan:15,Ezra:16,Neh:17,"1Esd":18,"2Esd":19,Tob:20,Jdt:21,Esth:22,GkEsth:23,"1Macc":24,"2Macc":25,"3Macc":26,"4Macc":27,Job:28,Ps:29,Prov:30,Eccl:31,Song:32,Wis:33,Sir:34,Isa:35,Jer:36,Lam:37,Bar:38,EpJer:39,Ezek:40,Dan:41,PrAzar:42,Sus:43,Bel:44,SgThree:45,Hos:46,Joel:47,Amos:48,Obad:49,Jonah:50,Mic:51,Nah:52,Hab:53,Zeph:54,Hag:55,Zech:56,Mal:57,Matt:58,Mark:59,Luke:60,John:61,Acts:62,Rom:63,"1Cor":64,"2Cor":65,Gal:66,Eph:67,Phil:68,Col:69,"1Thess":70,"2Thess":71,"1Tim":72,"2Tim":73,Titus:74,Phlm:75,Heb:76,Jas:77,"1Pet":78,"2Pet":79,"1John":80,"2John":81,"3John":82,Jude:83,Rev:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"1Kgs":[53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"2Kgs":[18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,41,66,40,40,44,14,47,41,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[18,17,17,22,14,42,22,18,31,19,23,16,23,14,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Neh:[11,20,38,17,19,19,72,18,37,40,36,47,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,32,26,17],Ps:[6,11,9,9,13,11,18,10,21,18,7,9,6,7,5,11,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,27,18,12,10,15,21,23,21,11,7,9,24,14,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,20,14,9,6],Eccl:[18,26,22,17,19,12,29,17,18,20,10,14],Song:[17,17,11,16,16,12,14,14],Isa:[31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24],Jer:[19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,30,29,28,27,27,21,45,13,64,42],Hos:[9,25,5,19,15,11,16,14,17,15,11,15,15,10],Joel:[20,27,5,21],Jonah:[16,11,10,11],Mic:[16,13,12,14,14,16,20],Nah:[14,14,19],Zech:[17,17,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,24],Acts:[26,47,26,37,42,15,60,40,43,49,30,25,52,28,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,17,21,6,13,18,22,18,15],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,33,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,38,37,9,72],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,46,26,46,39]}},nlt:{chapters:{Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}},nrsv:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}}},bcv_parser.prototype.languages=["rw"];const heregex=e=>{let t="",s=!1,r=!1;for(let a=0;a<e.length;a++){const n=e[a];if(r)t+=n,r=!1;else if("\\"!==n)if(s||"["!==n)if(s&&"]"===n)s=!1,t+=n;else if(s||"#"!==n)!s&&/\s/.test(n)||(t+=n);else for(;a<e.length&&"\n"!==e[a];)a+=1;else s=!0,t+=n;else t+=n,r=!0}return t};var grammar;bcv_parser.prototype.regexps.space="[\\s\\xa0]",bcv_parser.prototype.regexps.escaped_passage=RegExp(heregex(String.raw`
|
|
1
|
+
const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.prototype.entities=[],this.prototype.passage=null,this.prototype.regexps={},this.prototype.options={consecutive_combination_strategy:"combine",osis_compaction_strategy:"b",book_sequence_strategy:"ignore",invalid_sequence_strategy:"ignore",sequence_combination_strategy:"combine",punctuation_strategy:"us",invalid_passage_strategy:"ignore",non_latin_digits_strategy:"ignore",passage_existence_strategy:"bcv",zero_chapter_strategy:"error",zero_verse_strategy:"error",single_chapter_1_strategy:"chapter",book_alone_strategy:"ignore",book_range_strategy:"ignore",captive_end_digits_strategy:"delete",end_range_digits_strategy:"verse",include_apocrypha:!1,ps151_strategy:"c",versification_system:"default",case_sensitive:"none"}}constructor(){for(var e of(this.options={},Object.keys(bcv_parser.prototype.options||{}))){var s=bcv_parser.prototype.options[e];this.options[e]=s}this.versification_system(this.options.versification_system)}parse(e){return this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),[this.entities]=Array.from(this.match_passages(e)),this}parse_with_context(e,s){let t;return this.reset(),[s,this.passage.books]=Array.from(this.match_books(this.replace_control_characters(s))),[t,s]=Array.from(this.match_passages(s)),this.reset(),this.s=e,e=this.replace_control_characters(e),[e,this.passage.books]=Array.from(this.match_books(e)),this.passage.books.push({value:"",parsed:[],start_index:0,type:"context",context:s}),e=""+(this.passage.books.length-1)+"/9"+e,[this.entities]=Array.from(this.match_passages(e)),this}reset(){return this.s="",this.entities=[],this.passage?(this.passage.books=[],this.passage.indices={}):(this.passage=new bcv_passage,this.passage.options=this.options,this.passage.translations=this.translations)}set_options(e){for(var s of Object.keys(e||{})){var t=e[s];"include_apocrypha"===s||"versification_system"===s||"case_sensitive"===s?this[s](t):this.options[s]=t}return this}include_apocrypha(e){if(null==e||!0!==e&&!1!==e)return this;for(var s of(this.options.include_apocrypha=e,this.regexps.books=this.regexps.get_books(e,this.options.case_sensitive),Object.keys(this.translations||{}))){var t;if("aliases"!==s&&"alternates"!==s)if(null==this.translations[s].chapters&&(this.translations[s].chapters={}),null==this.translations[s].chapters.Ps&&(this.translations[s].chapters.Ps=bcv_utils.shallow_clone_array(this.translations.default.chapters.Ps)),!0===e)t=null!=this.translations[s].chapters.Ps151?this.translations[s].chapters.Ps151[0]:this.translations.default.chapters.Ps151[0],this.translations[s].chapters.Ps[150]=t;else 151===this.translations[s].chapters.Ps.length&&this.translations[s].chapters.Ps.pop()}return this}versification_system(e){let s,t;if(null==e||null==this.translations[e])return this;if(null!=this.translations.alternates.default)if("default"===e)for(s of(null!=this.translations.alternates.default.order&&(this.translations.default.order=bcv_utils.shallow_clone(this.translations.alternates.default.order)),Object.keys(this.translations.alternates.default.chapters||{})))t=this.translations.alternates.default.chapters[s],this.translations.default.chapters[s]=bcv_utils.shallow_clone_array(t);else this.versification_system("default");if(null==this.translations.alternates.default&&(this.translations.alternates.default={order:null,chapters:{}}),"default"!==e&&null!=this.translations[e].order&&(null==this.translations.alternates.default.order&&(this.translations.alternates.default.order=bcv_utils.shallow_clone(this.translations.default.order)),this.translations.default.order=bcv_utils.shallow_clone(this.translations[e].order)),"default"!==e&&null!=this.translations[e].chapters)for(s of Object.keys(this.translations[e].chapters||{}))t=this.translations[e].chapters[s],null==this.translations.alternates.default.chapters[s]&&(this.translations.alternates.default.chapters[s]=bcv_utils.shallow_clone_array(this.translations.default.chapters[s])),this.translations.default.chapters[s]=bcv_utils.shallow_clone_array(t);return this.options.versification_system=e,this.include_apocrypha(this.options.include_apocrypha),this}case_sensitive(e){return null==e||"none"!==e&&"books"!==e||e===this.options.case_sensitive||(this.options.case_sensitive=e,this.regexps.books=this.regexps.get_books(this.options.include_apocrypha,e)),this}translation_info(e){let s;null==e&&(e="default"),null!=e&&null!=(null!=this.translations.aliases[e]?this.translations.aliases[e].alias:void 0)&&(e=this.translations.aliases[e].alias),null!=e&&null!=this.translations[e]||(e="default");const t=this.options.versification_system;e!==t&&this.versification_system(e);const r={alias:e,books:[],chapters:{},order:bcv_utils.shallow_clone(this.translations.default.order)};for(s of Object.keys(this.translations.default.chapters||{})){var a=this.translations.default.chapters[s];r.chapters[s]=bcv_utils.shallow_clone_array(a)}for(s of Object.keys(r.order||{})){var n=r.order[s];r.books[n-1]=s}return e!==t&&this.versification_system(t),r}replace_control_characters(e){return e=(e=(e=e.replace(this.regexps.control," ")).replace(/\uFF1A/g,":")).replace(/\uFF1B/g,";"),"replace"===this.options.non_latin_digits_strategy&&(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/[٠۰߀०০੦૦୦0౦೦൦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꩐꯰0]/g,"0")).replace(/[١۱߁१১੧૧୧௧౧೧൧๑໑༡၁႑១᠑᥇᧑᪁᪑᭑᮱᱁᱑꘡꣑꤁꧑꩑꯱1]/g,"1")).replace(/[٢۲߂२২੨૨୨௨౨೨൨๒໒༢၂႒២᠒᥈᧒᪂᪒᭒᮲᱂᱒꘢꣒꤂꧒꩒꯲2]/g,"2")).replace(/[٣۳߃३৩੩૩୩௩౩೩൩๓໓༣၃႓៣᠓᥉᧓᪃᪓᭓᮳᱃᱓꘣꣓꤃꧓꩓꯳3]/g,"3")).replace(/[٤۴߄४৪੪૪୪௪౪೪൪๔໔༤၄႔៤᠔᥊᧔᪄᪔᭔᮴᱄᱔꘤꣔꤄꧔꩔꯴4]/g,"4")).replace(/[٥۵߅५৫੫૫୫௫౫೫൫๕໕༥၅႕៥᠕᥋᧕᪅᪕᭕᮵᱅᱕꘥꣕꤅꧕꩕꯵5]/g,"5")).replace(/[٦۶߆६৬੬૬୬௬౬೬൬๖໖༦၆႖៦᠖᥌᧖᪆᪖᭖᮶᱆᱖꘦꣖꤆꧖꩖꯶6]/g,"6")).replace(/[٧۷߇७৭੭૭୭௭౭೭൭๗໗༧၇႗៧᠗᥍᧗᪇᪗᭗᮷᱇᱗꘧꣗꤇꧗꩗꯷7]/g,"7")).replace(/[٨۸߈८৮੮૮୮௮౮೮൮๘໘༨၈႘៨᠘᥎᧘᪈᪘᭘᮸᱈᱘꘨꣘꤈꧘꩘꯸8]/g,"8")).replace(/[٩۹߉९৯੯૯୯௯౯೯൯๙໙༩၉႙៩᠙᥏᧙᪉᪙᭙᮹᱉᱙꘩꣙꤉꧙꩙꯹9]/g,"9")),e}match_books(e){const s=[];for(var t of Array.from(this.regexps.books)){var r=!1;if(e=e.replace(t.regexp,(function(e,a,n){r=!0,s.push({value:n,parsed:t.osis,type:"book"});const i=null!=t.extra?`/${t.extra}`:"";return`${a}${s.length-1}${i}`})),!0===r&&/^[\s\x1f\d:.,;\-\u2013\u2014]+$/.test(e))break}return[e=e.replace(this.regexps.translations,(function(e){return s.push({value:e,parsed:e.toLowerCase(),type:"translation"}),`${s.length-1}`})),this.get_book_indices(s,e)]}get_book_indices(e,s){let t,r=0;const a=new RegExp("([\\x1f\\x1e])(\\d+)(?:/\\d+)?\\1","g");for(;t=a.exec(s);)e[t[2]].start_index=t.index+r,r+=e[t[2]].value.length-t[0].length;return e}match_passages(e){let s,t=[],r={};for(;s=this.regexps.escaped_passage.exec(e);){let g;var[a,n,i]=Array.from(s),o=n.length;if(s.index+=a.length-o,/\s[2-9]\d\d\s*$|\s\d{4,}\s*$/.test(n)&&(n=n.replace(/\s+\d+\s*$/,"")),/[\d\x1f\x1e)]$/.test(n)||(n=this.replace_match_end(n)),"delete"===this.options.captive_end_digits_strategy){var l=s.index+n.length;e.length>l&&/^\w/.test(e.substr(l,1))&&(n=n.replace(/[\s*]+\d+$/,"")),n=n.replace(/(\x1e[)\]]?)[\s*]*\d+$/,"$1")}var u=""===(n=n.replace(/[A-Z]+/g,(e=>e.toLowerCase()))).substr(0,1)?0:n.split("")[0].length,c={value:grammar.parse(n,{punctuation_strategy:this.options.punctuation_strategy}),type:"base",start_index:this.passage.books[i].start_index-u,match:n};"full"===this.options.book_alone_strategy&&"include"===this.options.book_range_strategy&&"b"===c.value[0].type&&(1===c.value.length||c.value.length>1&&"translation_sequence"===c.value[1].type)&&0===u&&(1===this.passage.books[i].parsed.length||this.passage.books[i].parsed.length>1&&"translation"===this.passage.books[i].parsed[1].type)&&/^[234]/.test(this.passage.books[i].parsed[0])&&this.create_book_range(e,c,i),[g,r]=Array.from(this.passage.handle_obj(c)),t=t.concat(g);var p=this.adjust_regexp_end(g,o,n.length);p>0&&(this.regexps.escaped_passage.lastIndex-=p)}return[t,r]}adjust_regexp_end(e,s,t){let r=0;return e.length>0?r=s-e[e.length-1].indices[1]-1:s!==t&&(r=s-t),r}replace_match_end(e){let s,t=e.length;for(;s=this.regexps.match_end_split.exec(e);)t=s.index+s[0].length;return t<e.length&&(e=e.substr(0,t)),e}create_book_range(e,s,t){const r=[bcv_parser.prototype.regexps.first,bcv_parser.prototype.regexps.second,bcv_parser.prototype.regexps.third],a=parseInt(this.passage.books[t].parsed[0].substr(0,1),10);for(let o=1,l=a,u=1<=l;u?o<l:o>l;u?o++:o--){var n=o===a-1?bcv_parser.prototype.regexps.range_and:bcv_parser.prototype.regexps.range_only,i=e.match(new RegExp(`(?:^|\\W)(${r[o-1]}\\s*${n}\\s*)\\x1f${t}\\x1f`,"i"));if(null!=i)return this.add_book_range_object(s,i,o)}return!1}add_book_range_object(e,s,t){const{length:r}=s[1];if(e.value[0]={type:"b_range_pre",value:[{type:"b_pre",value:t.toString(),indices:[s.index,s.index+r]},e.value[0]],indices:[0,e.value[0].indices[1]+r]},e.value[0].value[1].indices[0]+=r,e.value[0].value[1].indices[1]+=r,e.start_index-=r,e.match=s[1]+e.match,1!==e.value.length)return(()=>{const s=[];for(let t=1,a=e.value.length,n=1<=a;n?t<a:t>a;n?t++:t--)null!=e.value[t].value&&(null!=(null!=e.value[t].value[0]?e.value[t].value[0].indices:void 0)&&(e.value[t].value[0].indices[0]+=r,e.value[t].value[0].indices[1]+=r),e.value[t].indices[0]+=r,s.push(e.value[t].indices[1]+=r));return s})()}osis(){const e=[];for(var s of Array.from(this.parsed_entities()))s.osis.length>0&&e.push(s.osis);return e.join(",")}osis_and_translations(){const e=[];for(var s of Array.from(this.parsed_entities()))s.osis.length>0&&e.push([s.osis,s.translations.join(",")]);return e}osis_and_indices(){const e=[];for(var s of Array.from(this.parsed_entities()))if(s.osis.length>0){const t={osis:s.osis,translations:s.translations,indices:s.indices};null!=s.osises&&(t.osises=s.osises),e.push(t)}return e}parsed_entities(){let e=[];for(let x=0,v=this.entities.length,b=0<=v;b?x<v:x>v;b?x++:x--){var s=this.entities[x];if(s.type&&"translation_sequence"===s.type&&e.length>0&&x===e[e.length-1].entity_id+1&&(e[e.length-1].indices[1]=s.absolute_indices[1]),null!=s.passages){if("separate-chapters"===this.options.consecutive_combination_strategy){const t=this.split_text_by_semicolon(s.absolute_indices);if(t.length>1){for(const s of Array.from(t)){const t=new bcv_parser;t.set_options({...this.options}),t.parse(s.text);for(const r of Array.from(t.parsed_entities())){if(0===r.osis.length)continue;const t=[r.indices[0]+s.offset,r.indices[1]+s.offset],a={osis:r.osis,translations:r.translations,indices:t,entity_id:x};null!=r.osises&&(a.osises=r.osises),e.push(a)}}continue}}if(!("b"===s.type&&"ignore"===this.options.book_alone_strategy||"b_range"===s.type&&"ignore"===this.options.book_range_strategy||"context"===s.type)){var t=[],r=null;if(null!=s.passages[0].translations)for(var a of Array.from(s.passages[0].translations)){var n=(null!=a.osis?a.osis.length:void 0)>0?a.osis:"";null==r&&(r=a.alias),t.push(n)}else t=[""],r="default";for(var i=[],o=[],{length:l}=s.passages,u=0,c=u,p=l,g=0<=p;g?u<p:u>p;g?u++:u--,c=u){var _=s.passages[c];null==_.type&&(_.type=s.type),!1===_.valid.valid&&("ignore"===this.options.invalid_sequence_strategy&&"sequence"===s.type&&this.snap_sequence("ignore",s,i,c,l),"ignore"===this.options.invalid_passage_strategy)||("b"!==_.type&&"b_range"!==_.type||"ignore"!==this.options.book_sequence_strategy||"sequence"!==s.type?("b_range_start"!==_.type&&"range_end_b"!==_.type||"ignore"!==this.options.book_range_strategy||this.snap_range(s,c),null==_.absolute_indices&&(_.absolute_indices=s.absolute_indices),"separate-chapters"===this.options.consecutive_combination_strategy&&_.start.c!==_.end.c?i.push({osis:_.valid.valid?this.to_osis(_.start,_.end,r):"",osises:this.get_osises_by_chapter({osis:"",start:_.start,end:_.end},r),type:_.type,indices:_.absolute_indices,translations:t,start:_.start,end:_.end,enclosed_indices:_.enclosed_absolute_indices,entity_id:x,entities:[_]}):i.push({osis:_.valid.valid?this.to_osis(_.start,_.end,r):"",type:_.type,indices:_.absolute_indices,translations:t,start:_.start,end:_.end,enclosed_indices:_.enclosed_absolute_indices,entity_id:x,entities:[_]})):this.snap_sequence("book",s,i,c,l))}if(0!==i.length||0!==o.length){if("combine"!==this.options.consecutive_combination_strategy&&"separate-chapters"!==this.options.consecutive_combination_strategy||(i.length>1&&(i=this.combine_consecutive_passages(i,r)),i=i.concat(o).sort(((e,s)=>e.indices[0]-s.indices[0]))),"separate-chapters"===this.options.consecutive_combination_strategy)for(h of Array.from(i)){if(0===h.osis.length)continue;const e=this.get_osises_by_chapter(h,r);e.length>1&&(h.osises=e)}if("separate"===this.options.sequence_combination_strategy)e=e.concat(i);else{if("separate-chapters"===this.options.consecutive_combination_strategy&&"sequence"===s.type){const s=this.group_osises_by_semicolon(i);if(s.length>1){for(const r of Array.from(s)){if(0===r.length)continue;const s=r.length-1,a=[r[0].indices[0],r[s].indices[1]];null!=r[s].enclosed_indices&&r[s].enclosed_indices[1]>=0&&(a[1]=r[s].enclosed_indices[1]);const n=[];let i=[];for(h of Array.from(r))h.osis.length>0&&n.push(h.osis),null!=h.osises&&(i=i.concat(h.osises));const o={osis:n.join(","),indices:a,translations:t,entity_id:x,entities:r};i.length>0&&(o.osises=i),e.push(o)}continue}}var h,f=[],d=i.length-1;for(h of(null!=i[d].enclosed_indices&&i[d].enclosed_indices[1]>=0&&(s.absolute_indices[1]=i[d].enclosed_indices[1]),Array.from(i)))h.osis.length>0&&f.push(h.osis);let r=[];if("separate-chapters"===this.options.consecutive_combination_strategy)for(h of Array.from(i))null!=h.osises&&(r=r.concat(h.osises));const a={osis:f.join(","),indices:s.absolute_indices,translations:t,entity_id:x,entities:i};r.length>0&&(a.osises=r),e.push(a)}}}}}return e}to_osis(e,s,t){let r;null==s.c&&null==s.v&&e.b===s.b&&null==e.c&&null==e.v&&"first_chapter"===this.options.book_alone_strategy&&(s.c=1);const a={start:"",end:""};return null==e.c&&(e.c=1),null==e.v&&(e.v=1),null==s.c&&(this.options.passage_existence_strategy.indexOf("c")>=0||null!=this.passage.translations[t].chapters[s.b]&&1===this.passage.translations[t].chapters[s.b].length?s.c=this.passage.translations[t].chapters[s.b].length:s.c=999),null==s.v&&(null!=this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0?s.v=this.passage.translations[t].chapters[s.b][s.c-1]:s.v=999),this.options.include_apocrypha&&"b"===this.options.ps151_strategy&&(151===e.c&&"Ps"===e.b||151===s.c&&"Ps"===s.b)&&this.fix_ps151(e,s,t),"b"===this.options.osis_compaction_strategy&&1===e.c&&1===e.v&&(999===s.c&&999===s.v||s.c===this.passage.translations[t].chapters[s.b].length&&this.options.passage_existence_strategy.indexOf("c")>=0&&(999===s.v||s.v===this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0))?(a.start=e.b,a.end=s.b):this.options.osis_compaction_strategy.length<=2&&1===e.v&&(999===s.v||s.v===this.passage.translations[t].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0)?(a.start=e.b+"."+e.c.toString(),a.end=s.b+"."+s.c.toString()):(a.start=e.b+"."+e.c.toString()+"."+e.v.toString(),a.end=s.b+"."+s.c.toString()+"."+s.v.toString()),r=a.start===a.end?a.start:a.start+"-"+a.end,null!=e.extra&&(r=e.extra+","+r),null!=s.extra&&(r+=","+s.extra),r}get_osises_by_chapter(e,s){if(null==e||null==e.start||null==e.end)return[];if(null==e.start.b||null==e.end.b||null==e.start.c||null==e.end.c)return null!=e.osis&&e.osis.length>0?[e.osis]:[];if(e.start.b!==e.end.b||e.start.c===e.end.c)return null!=e.osis&&e.osis.length>0?[e.osis]:[];const t=[];for(let r=e.start.c,a=e.end.c,n=e.start.c<=a;n?r<=a:r>=a;n?r++:r--){const a=r===e.start.c?e.start.v:1,n=r===e.end.c?e.end.v:this.translations[s].chapters[e.start.b][r-1],i={b:e.start.b,c:r,v:"bcv"===e.start.type?a:null,type:e.start.type},o={b:e.end.b,c:r,v:"bcv"===e.start.type?n:null,type:e.start.type};t.push(this.to_osis(i,o,s))}return t}get_separator_between(e,s){if(null==this.s||null==e||null==s)return"";const t=e[1]+1,r=s[0];return r<=t?"":this.s.slice(t,r)}has_semicolon_separator(e,s){const t=this.get_separator_between(e.indices,s.indices);return/[;;]/.test(t)}group_osises_by_semicolon(e){const s=[];let t=[];for(const r of Array.from(e))0!==t.length&&this.has_semicolon_separator(t[t.length-1],r)?(s.push(t),t=[r]):t.push(r);return t.length>0&&s.push(t),s}split_text_by_semicolon(e){if(null==this.s||null==e||null==e[0]||null==e[1])return[];const s=this.s.slice(e[0],e[1]);if(!/[;;]/.test(s))return[{text:s,offset:e[0]}];const t=[];let r=0;for(let a=0,n=s.length;a<n;a++){const n=s[a];";"!==n&&";"!==n||(a>r&&t.push({text:s.slice(r,a),offset:e[0]+r}),r=a+1)}return r<s.length&&t.push({text:s.slice(r),offset:e[0]+r}),t}fix_ps151(e,s,t){return"default"!==t&&null==(null!=this.translations[t]?this.translations[t].chapters.Ps151:void 0)&&this.passage.promote_book_to_translation("Ps151",t),151===e.c&&"Ps"===e.b?151===s.c&&"Ps"===s.b?(e.b="Ps151",e.c=1,s.b="Ps151",s.c=1):(e.extra=this.to_osis({b:"Ps151",c:1,v:e.v},{b:"Ps151",c:1,v:this.passage.translations[t].chapters.Ps151[0]},t),e.b="Prov",e.c=1,e.v=1):(s.extra=this.to_osis({b:"Ps151",c:1,v:1},{b:"Ps151",c:1,v:s.v},t),s.c=150,s.v=this.passage.translations[t].chapters.Ps[149])}combine_consecutive_passages(e,s){const t=[];let r={};const a=e.length-1;let n=-1,i=!1;for(let c=0,p=a,g=0<=p;g?c<=p:c>=p;g?c++:c--){var o=e[c];if(o.osis.length>0){var l=t.length-1,u=!1;if(l>=0&&this.has_semicolon_separator(t[l],o)){t.push(o),r={b:o.end.b,c:o.end.c,v:o.end.v};continue}o.enclosed_indices[0]!==n&&(n=o.enclosed_indices[0]),n>=0&&(c===a||e[c+1].enclosed_indices[0]!==o.enclosed_indices[0])&&(u=!0,i=!0),this.is_verse_consecutive(r,o.start,s)?(t[l].end=o.end,t[l].is_enclosed_last=u,t[l].indices[1]=o.indices[1],t[l].enclosed_indices[1]=o.enclosed_indices[1],t[l].osis=this.to_osis(t[l].start,o.end,s)):t.push(o),r={b:o.end.b,c:o.end.c,v:o.end.v}}else t.push(o),r={}}return i&&this.snap_enclosed_indices(t),t}snap_enclosed_indices(e){for(var s of Array.from(e))null!=s.is_enclosed_last&&(s.enclosed_indices[0]<0&&s.is_enclosed_last&&(s.indices[1]=s.enclosed_indices[1]),delete s.is_enclosed_last);return e}is_verse_consecutive(e,s,t){if(null==e.b)return!1;const r=null!=this.passage.translations[t].order?this.passage.translations[t].order:this.passage.translations.default.order;if(e.b===s.b){if(e.c===s.c){if(e.v===s.v-1)return!0}else if(1===s.v&&e.c===s.c-1&&e.v===this.passage.translations[t].chapters[e.b][e.c-1])return!0}else if(1===s.c&&1===s.v&&r[e.b]===r[s.b]-1&&e.c===this.passage.translations[t].chapters[e.b].length&&e.v===this.passage.translations[t].chapters[e.b][e.c-1])return!0;return!1}snap_range(e,s){let t,r,a;"b_range_start"===e.type||"sequence"===e.type&&"b_range_start"===e.passages[s].type?(t=1,r="end",a="b_range_start"):(t=0,r="start",a="range_end_b");const n="end"===r?"start":"end";for(var i of Object.keys(e.passages[s][n]||{}))e.passages[s][n][i]=e.passages[s][r][i];if("sequence"===e.type){s>=e.value.length&&(s=e.value.length-1);const t=this.passage.pluck(a,e.value[s]);if(null!=t){const r=this.snap_range(t,0);0===s?e.absolute_indices[0]=r.absolute_indices[0]:e.absolute_indices[1]=r.absolute_indices[1]}}else e.original_type=e.type,e.type=e.value[t].type,e.absolute_indices=[e.value[t].absolute_indices[0],e.value[t].absolute_indices[1]];return e}snap_sequence(e,s,t,r,a){const n=s.passages[r];return n.absolute_indices[0]===s.absolute_indices[0]&&r<a-1&&this.get_snap_sequence_i(s.passages,r,a)!==r?(s.absolute_indices[0]=s.passages[r+1].absolute_indices[0],this.remove_absolute_indices(s.passages,r+1)):n.absolute_indices[1]===s.absolute_indices[1]&&r>0?s.absolute_indices[1]=t.length>0?t[t.length-1].indices[1]:s.passages[r-1].absolute_indices[1]:"book"===e&&r<a-1&&!this.starts_with_book(s.passages[r+1])&&(s.passages[r+1].absolute_indices[0]=n.absolute_indices[0]),s}get_snap_sequence_i(e,s,t){for(let r=s+1,a=r,n=t,i=r<=n;i?a<n:a>n;i?a++:a--){if(this.starts_with_book(e[a]))return a;if(e[a].valid.valid)return s}return s}starts_with_book(e){return"b"===e.type.substr(0,1)||("range"===e.type||"ff"===e.type)&&"b"===e.start.type.substr(0,1)}remove_absolute_indices(e,s){if(e[s].enclosed_absolute_indices[0]<0)return!1;const[t,r]=Array.from(e[s].enclosed_absolute_indices);for(var a of Array.from(e.slice(s))){if(a.enclosed_absolute_indices[0]!==t||a.enclosed_absolute_indices[1]!==r)break;a.enclosed_absolute_indices=[-1,-1]}return!0}}bcv_parser.initClass(),this.bcv_parser=bcv_parser;class bcv_passage{static initClass(){this.prototype.books=[],this.prototype.indices={},this.prototype.options={},this.prototype.translations={}}handle_array(e,s,t){for(var r of(null==s&&(s=[]),null==t&&(t={}),Array.from(e)))if(null!=r){if("stop"===r.type)break;[s,t]=Array.from(this.handle_obj(r,s,t))}return[s,t]}handle_obj(e,s,t){return null!=e.type&&null!=this[e.type]?this[e.type](e,s,t):[s,t]}b(e,s,t){let r;e.start_context=bcv_utils.shallow_clone(t),e.passages=[];const a=[];for(r of Array.from(this.books[e.value].parsed)){var n=this.validate_ref(e.start_context.translations,{b:r}),i={start:{b:r},end:{b:r},valid:n};0===e.passages.length&&n.valid?e.passages.push(i):a.push(i)}return 0===e.passages.length&&e.passages.push(a.shift()),a.length>0&&(e.passages[0].alternates=a),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),t={b:e.passages[0].start.b},null!=e.start_context.translations&&(t.translations=e.start_context.translations),[s,t]}b_range(e,s,t){return this.range(e,s,t)}b_range_pre(e,s,t){let r,a;e.start_context=bcv_utils.shallow_clone(t),e.passages=[];const n=this.pluck("b",e.value);r=this.b(n,[],t),[a]=Array.from(r[0]),t=r[1],null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices));const i={b:e.value[0].value+a.passages[0].start.b.substr(1),type:"b"};return e.passages=[{start:i,end:a.passages[0].end,valid:a.passages[0].valid}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),[s,t]}b_range_start(e,s,t){return this.range(e,s,t)}base(e,s,t){return this.indices=this.calculate_indices(e.match,e.start_index),this.handle_array(e.value,s,t)}bc(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.passages=[],this.reset_context(t,["b","c","v"]);const r=this.pluck("c",e.value).value,a=[];for(var n of Array.from(this.books[this.pluck("b",e.value).value].parsed)){var i="c",o=this.validate_ref(e.start_context.translations,{b:n,c:r}),l={start:{b:n},end:{b:n},valid:o};(o.messages.start_chapter_not_exist_in_single_chapter_book||o.messages.start_chapter_1)&&(l.valid=this.validate_ref(e.start_context.translations,{b:n,v:r}),o.messages.start_chapter_not_exist_in_single_chapter_book&&(l.valid.messages.start_chapter_not_exist_in_single_chapter_book=1),l.start.c=1,l.end.c=1,i="v"),l.start[i]=r,[l.start.c,l.start.v]=Array.from(this.fix_start_zeroes(l.valid,l.start.c,l.start.v)),null==l.start.v&&delete l.start.v,l.end[i]=l.start[i],0===e.passages.length&&l.valid.valid?e.passages.push(l):a.push(l)}return 0===e.passages.length&&e.passages.push(a.shift()),a.length>0&&(e.passages[0].alternates=a),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(t,["b","c","v"],e.passages[0].start),s.push(e),[s,t]}bc_title(e,s,t){let r,a;if(e.start_context=bcv_utils.shallow_clone(t),r=this.bc(this.pluck("bc",e.value),[],t),[a]=Array.from(r[0]),t=r[1],"Ps"!==a.passages[0].start.b.substr(0,2)&&null!=a.passages[0].alternates)for(let e=0,s=a.passages[0].alternates.length,t=0<=s;t?e<s:e>s;t?e++:e--)if("Ps"===a.passages[0].alternates[e].start.b.substr(0,2)){a.passages[0]=a.passages[0].alternates[e];break}if("Ps"!==a.passages[0].start.b.substr(0,2))return s.push(a),[s,t];this.books[this.pluck("b",a.value).value].parsed=["Ps"];let n=this.pluck("title",e.value);return null==n&&(n=this.pluck("v",e.value)),e.value[1]={type:"v",value:[{type:"integer",value:1,indices:n.indices}],indices:n.indices},e.type="bcv",this.bcv(e,s,e.start_context)}bcv(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.passages=[],this.reset_context(t,["b","c","v"]);const r=this.pluck("bc",e.value);let a=this.pluck("c",r.value).value,n=this.pluck("v",e.value).value;const i=[];for(var o of Array.from(this.books[this.pluck("b",r.value).value].parsed)){var l=this.validate_ref(e.start_context.translations,{b:o,c:a,v:n});[a,n]=Array.from(this.fix_start_zeroes(l,a,n));var u={start:{b:o,c:a,v:n},end:{b:o,c:a,v:n},valid:l};0===e.passages.length&&l.valid?e.passages.push(u):i.push(u)}return 0===e.passages.length&&e.passages.push(i.shift()),i.length>0&&(e.passages[0].alternates=i),null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),this.set_context_from_object(t,["b","c","v"],e.passages[0].start),s.push(e),[s,t]}bv(e,s,t){let r;e.start_context=bcv_utils.shallow_clone(t);const[a,n]=Array.from(e.value);let i={indices:e.indices,value:[{type:"bc",value:[a,{type:"c",value:[{type:"integer",value:1}]}]},n]};return r=this.bcv(i,[],t),[i]=Array.from(r[0]),t=r[1],e.passages=i.passages,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),[s,t]}c(e,s,t){e.start_context=bcv_utils.shallow_clone(t);let r="integer"===e.type?e.value:this.pluck("integer",e.value).value;const a=this.validate_ref(e.start_context.translations,{b:t.b,c:r});return!a.valid&&a.messages.start_chapter_not_exist_in_single_chapter_book?this.v(e,s,t):([r]=Array.from(this.fix_start_zeroes(a,r)),e.passages=[{start:{b:t.b,c:r},end:{b:t.b,c:r},valid:a}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),t.c=r,this.reset_context(t,["v"]),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[s,t])}c_psalm(e,s,t){e.type="bc";const r=parseInt(this.books[e.value].value.match(/^\d+/)[0],10);return e.value=[{type:"b",value:e.value,indices:e.indices},{type:"c",value:[{type:"integer",value:r,indices:e.indices}],indices:e.indices}],this.bc(e,s,t)}c_title(e,s,t){if(e.start_context=bcv_utils.shallow_clone(t),"Ps"!==t.b)return this.c(e.value[0],s,t);const r=this.pluck("title",e.value);return e.value[1]={type:"v",value:[{type:"integer",value:1,indices:r.indices}],indices:r.indices},e.type="cv",this.cv(e,s,e.start_context)}cv(e,s,t){e.start_context=bcv_utils.shallow_clone(t);let r=this.pluck("c",e.value).value,a=this.pluck("v",e.value).value;const n=this.validate_ref(e.start_context.translations,{b:t.b,c:r,v:a});return[r,a]=Array.from(this.fix_start_zeroes(n,r,a)),e.passages=[{start:{b:t.b,c:r,v:a},end:{b:t.b,c:r,v:a},valid:n}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),s.push(e),t.c=r,t.v=a,null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),[s,t]}cb_range(e,s,t){e.type="range";const[r,a,n]=Array.from(e.value);return e.value=[{type:"bc",value:[r,a],indices:e.indices},n],n.indices[1]=e.indices[1],this.range(e,s,t)}context(e,s,t){for(var r of(e.start_context=bcv_utils.shallow_clone(t),e.passages=[],Object.keys(this.books[e.value].context||{})))t[r]=this.books[e.value].context[r];return s.push(e),[s,t]}cv_psalm(e,s,t){e.start_context=bcv_utils.shallow_clone(t),e.type="bcv";const[r,a]=Array.from(e.value),n=this.c_psalm(r,[],e.start_context),[i]=Array.from(n[0]);return e.value=[i,a],this.bcv(e,s,t)}ff(e,s,t){let r;return e.start_context=bcv_utils.shallow_clone(t),e.value.push({type:"integer",indices:e.indices,value:999}),r=this.range(e,[],e.start_context),[e]=Array.from(r[0]),t=r[1],e.value[0].indices=e.value[1].indices,e.value[0].absolute_indices=e.value[1].absolute_indices,e.value.pop(),null!=e.passages[0].valid.messages.end_verse_not_exist&&delete e.passages[0].valid.messages.end_verse_not_exist,null!=e.passages[0].valid.messages.end_chapter_not_exist&&delete e.passages[0].valid.messages.end_chapter_not_exist,null!=e.passages[0].end.original_c&&delete e.passages[0].end.original_c,s.push(e),[s,t]}integer_title(e,s,t){return e.start_context=bcv_utils.shallow_clone(t),"Ps"!==t.b?this.integer(e.value[0],s,t):(e.value[0]={type:"c",value:[e.value[0]],indices:[e.value[0].indices[0],e.value[0].indices[1]]},e.value[1].type="v",e.value[1].original_type="title",e.value[1].value=[{type:"integer",value:1,indices:e.value[1].value.indices}],e.type="cv",this.cv(e,s,e.start_context))}integer(e,s,t){return null!=t.v?this.v(e,s,t):this.c(e,s,t)}next_v(e,s,t){let r,a;e.start_context=bcv_utils.shallow_clone(t);let n=this.pluck_last_recursively("integer",e.value);if(null==n&&(n={value:1}),e.value.push({type:"integer",indices:e.indices,value:n.value+1}),r=this.range(e,[],e.start_context),[a]=Array.from(r[0]),t=r[1],null!=a.passages[0].valid.messages.end_verse_not_exist&&null==a.passages[0].valid.messages.start_verse_not_exist&&null==a.passages[0].valid.messages.start_chapter_not_exist&&null!=t.c){let s;e.value.pop(),e.value.push({type:"cv",indices:e.indices,value:[{type:"c",value:[{type:"integer",value:t.c+1,indices:e.indices}],indices:e.indices},{type:"v",value:[{type:"integer",value:1,indices:e.indices}],indices:e.indices}]}),s=this.range(e,[],e.start_context),[a]=Array.from(s[0]),t=s[1]}return a.value[0].indices=a.value[1].indices,a.value[0].absolute_indices=a.value[1].absolute_indices,a.value.pop(),null!=a.passages[0].valid.messages.end_verse_not_exist&&delete a.passages[0].valid.messages.end_verse_not_exist,null!=a.passages[0].valid.messages.end_chapter_not_exist&&delete a.passages[0].valid.messages.end_chapter_not_exist,null!=a.passages[0].end.original_c&&delete a.passages[0].end.original_c,s.push(a),[s,t]}sequence(e,s,t){for(var r of(e.start_context=bcv_utils.shallow_clone(t),e.passages=[],Array.from(e.value))){var a,n;for(var i of(a=this.handle_array(r,[],t),[n]=Array.from(a[0]),t=a[1],Array.from(n.passages)))null==i.type&&(i.type=n.type),null==i.absolute_indices&&(i.absolute_indices=n.absolute_indices),null!=n.start_context.translations&&(i.translations=n.start_context.translations),i.enclosed_absolute_indices="sequence_post_enclosed"===n.type?n.absolute_indices:[-1,-1],e.passages.push(i)}return null==e.absolute_indices&&(e.passages.length>0&&"sequence"===e.type?e.absolute_indices=[e.passages[0].absolute_indices[0],e.passages[e.passages.length-1].absolute_indices[1]]:e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),[s,t]}sequence_post_enclosed(e,s,t){return this.sequence(e,s,t)}v(e,s,t){let r,a="integer"===e.type?e.value:this.pluck("integer",e.value).value;e.start_context=bcv_utils.shallow_clone(t);const n=null!=t.c?t.c:1,i=this.validate_ref(e.start_context.translations,{b:t.b,c:n,v:a});return[r,a]=Array.from(this.fix_start_zeroes(i,0,a)),e.passages=[{start:{b:t.b,c:n,v:a},end:{b:t.b,c:n,v:a},valid:i}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),t.v=a,[s,t]}range(e,s,t){let r,a;e.start_context=bcv_utils.shallow_clone(t);let[n,i]=Array.from(e.value);if(r=this.handle_obj(n,[],t),[n]=Array.from(r[0]),t=r[1],"v"===i.type&&("bc"===n.type&&!__guard__(__guard__(__guard__(null!=n.passages?n.passages[0]:void 0,(e=>e.valid)),(e=>e.messages)),(e=>e.start_chapter_not_exist_in_single_chapter_book))||"c"===n.type)&&"verse"===this.options.end_range_digits_strategy)return e.value[0]=n,this.range_change_integer_end(e,s);a=this.handle_obj(i,[],t),[i]=Array.from(a[0]),t=a[1],e.value=[n,i],e.indices=[n.indices[0],i.indices[1]],delete e.absolute_indices;const o={b:n.passages[0].start.b,c:n.passages[0].start.c,v:n.passages[0].start.v,type:n.type},l={b:i.passages[0].end.b,c:i.passages[0].end.c,v:i.passages[0].end.v,type:i.type};i.passages[0].valid.messages.start_chapter_is_zero&&(l.c=0),i.passages[0].valid.messages.start_verse_is_zero&&(l.v=0);const u=this.validate_ref(e.start_context.translations,o,l);if(!u.valid)return this.range_handle_invalid(u,e,n,o,i,l,s);{const[t,r]=Array.from(this.range_handle_valid(u,e,n,o,i,l,s));if(t)return r}return null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),e.passages=[{start:o,end:l,valid:u}],null!=e.start_context.translations&&(e.passages[0].translations=e.start_context.translations),"b"===o.type?"b"===l.type?e.type="b_range":e.type="b_range_start":"b"===l.type&&(e.type="range_end_b"),s.push(e),[s,t]}range_change_end(e,s,t){let r;const[a,n]=Array.from(e.value);return"integer"===n.type?(n.original_value=n.value,n.value=t):"v"===n.type?(r=this.pluck("integer",n.value),r.original_value=r.value,r.value=t):"cv"===n.type&&(r=this.pluck("c",n.value),r.original_value=r.value,r.value=t),this.handle_obj(e,s,e.start_context)}range_change_integer_end(e,s){const[t,r]=Array.from(e.value);return null==e.original_type&&(e.original_type=e.type),null==e.original_value&&(e.original_value=[t,r]),e.type="integer"===t.type?"cv":t.type+"v","integer"===t.type&&(e.value[0]={type:"c",value:[t],indices:t.indices}),"integer"===r.type&&(e.value[1]={type:"v",value:[r],indices:r.indices}),this.handle_obj(e,s,e.start_context)}range_check_new_end(e,s,t,r){let a=0,n=null;if(r.messages.end_chapter_before_start?n="c":r.messages.end_verse_before_start&&(n="v"),null!=n&&(a=this.range_get_new_end_value(s,t,r,n)),a>0){const s={b:t.b,c:t.c,v:t.v};s[n]=a;this.validate_ref(e,s).valid||(a=0)}return a}range_end_b(e,s,t){return this.range(e,s,t)}range_get_new_end_value(e,s,t,r){let a=0;return"c"===r&&t.messages.end_chapter_is_zero||"v"===r&&t.messages.end_verse_is_zero||(e[r]>=10&&s[r]<10&&e[r]-10*Math.floor(e[r]/10)<s[r]?a=s[r]+10*Math.floor(e[r]/10):e[r]>=100&&s[r]<100&&e[r]-100<s[r]&&(a=s[r]+100)),a}range_handle_invalid(e,s,t,r,a,n,i){if(!1===e.valid&&(e.messages.end_chapter_before_start||e.messages.end_verse_before_start)&&("integer"===a.type||"v"===a.type)||!1===e.valid&&e.messages.end_chapter_before_start&&"cv"===a.type){const t=this.range_check_new_end(s.start_context.translations,r,n,e);if(t>0)return this.range_change_end(s,i,t)}if("verse"===this.options.end_range_digits_strategy&&null==r.v&&("integer"===a.type||"v"===a.type)){const e="v"===a.type?this.pluck("integer",a.value):a.value;if(this.validate_ref(s.start_context.translations,{b:r.b,c:r.c,v:e}).valid)return this.range_change_integer_end(s,i)}return null==s.original_type&&(s.original_type=s.type),s.type="sequence",[s.original_value,s.value]=Array.from([[t,a],[[t],[a]]]),this.sequence(s,i,s.start_context)}range_handle_valid(e,s,t,r,a,n,i){if(e.messages.end_chapter_not_exist&&"verse"===this.options.end_range_digits_strategy&&null==r.v&&("integer"===a.type||"v"===a.type)&&this.options.passage_existence_strategy.indexOf("v")>=0){const e="v"===a.type?this.pluck("integer",a.value):a.value;if(this.validate_ref(s.start_context.translations,{b:r.b,c:r.c,v:e}).valid)return[!0,this.range_change_integer_end(s,i)]}return this.range_validate(e,r,n,s),[!1,null]}range_validate(e,s,t,r){return e.messages.end_chapter_not_exist||e.messages.end_chapter_not_exist_in_single_chapter_book?(t.original_c=t.c,t.c=e.messages.end_chapter_not_exist?e.messages.end_chapter_not_exist:e.messages.end_chapter_not_exist_in_single_chapter_book,null!=t.v&&(t.v=this.validate_ref(r.start_context.translations,{b:t.b,c:t.c,v:999}).messages.end_verse_not_exist,delete e.messages.end_verse_is_zero)):e.messages.end_verse_not_exist&&(t.original_v=t.v,t.v=e.messages.end_verse_not_exist),e.messages.end_verse_is_zero&&"allow"!==this.options.zero_verse_strategy&&(t.v=e.messages.end_verse_is_zero),e.messages.end_chapter_is_zero&&(t.c=e.messages.end_chapter_is_zero),[s.c,s.v]=Array.from(this.fix_start_zeroes(e,s.c,s.v)),!0}translation_sequence(e,s,t){e.start_context=bcv_utils.shallow_clone(t);const r=[];for(var a of(r.push({translation:this.books[e.value[0].value].parsed}),Array.from(e.value[1])))null!=(a=this.books[this.pluck("translation",a).value].parsed)&&r.push({translation:a});for(var n of Array.from(r))null!=this.translations.aliases[n.translation]?(n.alias=this.translations.aliases[n.translation].alias,n.osis=this.translations.aliases[n.translation].osis||n.translation.toUpperCase()):(n.alias="default",n.osis=n.translation.toUpperCase());return s.length>0&&(t=this.translation_sequence_apply(s,r)),null==e.absolute_indices&&(e.absolute_indices=this.get_absolute_indices(e.indices)),s.push(e),this.reset_context(t,["translations"]),[s,t]}translation_sequence_apply(e,s){let t,r=0;for(let s=e.length-1,t=s,a=s<=0;a?t<=0:t>=0;a?t++:t--)if(null!=e[t].original_type&&(e[t].type=e[t].original_type),null!=e[t].original_value&&(e[t].value=e[t].original_value),"translation_sequence"===e[t].type){r=t+1;break}if(r<e.length){let a;e[r].start_context.translations=s,[a,t]=Array.from(this.handle_array(e.slice(r),[],e[r].start_context))}else t=bcv_utils.shallow_clone(e[e.length-1].start_context);return t}pluck(e,s){for(var t of Array.from(s))if(null!=t&&null!=t.type&&t.type===e)return"c"===e||"v"===e?this.pluck("integer",t.value):t;return null}pluck_last_recursively(e,s){for(let a=s.length-1;a>=0;a--){var t=s[a];if(null!=t&&null!=t.type){if(t.type===e)return this.pluck(e,[t]);var r=this.pluck_last_recursively(e,t.value);if(null!=r)return r}}return null}set_context_from_object(e,s,t){return(()=>{const r=[];for(var a of Array.from(s))null!=t[a]&&r.push(e[a]=t[a]);return r})()}reset_context(e,s){return Array.from(s).map((s=>delete e[s]))}fix_start_zeroes(e,s,t){return e.messages.start_chapter_is_zero&&"upgrade"===this.options.zero_chapter_strategy&&(s=e.messages.start_chapter_is_zero),e.messages.start_verse_is_zero&&"upgrade"===this.options.zero_verse_strategy&&(t=e.messages.start_verse_is_zero),[s,t]}calculate_indices(e,s){let t,r="book";const a=[];let n=0;s=parseInt(s,10);let i=[e];for(var o of["",""]){var l=[];for(t of Array.from(i))l=l.concat(t.split(o));i=l}for(t of Array.from(i)){var u;r="book"===r?"rest":"book";var c=t.length;0!==c&&("book"===r?(t=t.replace(/\/\d+$/,""),u=n+c,a.length>0&&a[a.length-1].index===s?a[a.length-1].end=u:a.push({start:n,end:u,index:s}),n+=c+2,s=this.books[t].start_index+this.books[t].value.length-n,a.push({start:u+1,end:u+1,index:s})):(u=n+c-1,a.length>0&&a[a.length-1].index===s?a[a.length-1].end=u:a.push({start:n,end:u,index:s}),n+=c))}return a}get_absolute_indices(...e){const[s,t]=Array.from(e[0]);let r=null,a=null;for(var n of Array.from(this.indices))if(null===r&&n.start<=s&&s<=n.end&&(r=s+n.index),n.start<=t&&t<=n.end){a=t+n.index+1;break}return[r,a]}validate_ref(e,s,t){null!=e&&e.length>0||(e=[{translation:"default",osis:"",alias:"default"}]);let r=!1;const a={};for(var n of Array.from(e))if(null==n.alias&&(n.alias="default"),null!=n.alias){null==this.translations.aliases[n.alias]&&(n.alias="default",null==a.translation_unknown&&(a.translation_unknown=[]),a.translation_unknown.push(n));var[i]=Array.from(this.validate_start_ref(n.alias,s,a));t&&([i]=Array.from(this.validate_end_ref(n.alias,s,t,i,a))),!0===i&&(r=!0)}else null==a.translation_invalid&&(a.translation_invalid=[]),a.translation_invalid.push(n);return{valid:r,messages:a}}validate_start_ref(e,s,t){let r=!0;"default"!==e&&null==(null!=this.translations[e]?this.translations[e].chapters[s.b]:void 0)&&this.promote_book_to_translation(s.b,e);const a=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";if(null!=s.v&&(s.v=parseInt(s.v,10)),null!=this.translations[a].order[s.b]){if(null==s.c&&(s.c=1),s.c=parseInt(s.c,10),isNaN(s.c))return r=!1,t.start_chapter_not_numeric=!0,[r,t];0===s.c&&(t.start_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?r=!1:s.c=1),null!=s.v&&0===s.v&&(t.start_verse_is_zero=1,"error"===this.options.zero_verse_strategy?r=!1:"upgrade"===this.options.zero_verse_strategy&&(s.v=1)),s.c>0&&null!=this.translations[e].chapters[s.b][s.c-1]?null!=s.v?isNaN(s.v)?(r=!1,t.start_verse_not_numeric=!0):s.v>this.translations[e].chapters[s.b][s.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(r=!1,t.start_verse_not_exist=this.translations[e].chapters[s.b][s.c-1]):1===s.c&&"verse"===this.options.single_chapter_1_strategy&&1===this.translations[e].chapters[s.b].length&&(t.start_chapter_1=1):1!==s.c&&1===this.translations[e].chapters[s.b].length?(r=!1,t.start_chapter_not_exist_in_single_chapter_book=1):s.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(r=!1,t.start_chapter_not_exist=this.translations[e].chapters[s.b].length)}else null==s.b?(r=!1,t.start_book_not_defined=!0):(this.options.passage_existence_strategy.indexOf("b")>=0&&(r=!1),t.start_book_not_exist=!0);return[r,t]}validate_end_ref(e,s,t,r,a){const n=null!=(null!=this.translations[e]?this.translations[e].order:void 0)?e:"default";return null!=t.c&&(t.c=parseInt(t.c,10),isNaN(t.c)?(r=!1,a.end_chapter_not_numeric=!0):0===t.c&&(a.end_chapter_is_zero=1,"error"===this.options.zero_chapter_strategy?r=!1:t.c=1)),null!=t.v&&(t.v=parseInt(t.v,10),isNaN(t.v)?(r=!1,a.end_verse_not_numeric=!0):0===t.v&&(a.end_verse_is_zero=1,"error"===this.options.zero_verse_strategy?r=!1:"upgrade"===this.options.zero_verse_strategy&&(t.v=1))),null!=this.translations[n].order[t.b]?(null==t.c&&1===this.translations[e].chapters[t.b].length&&(t.c=1),null!=this.translations[n].order[s.b]&&this.translations[n].order[s.b]>this.translations[n].order[t.b]&&(this.options.passage_existence_strategy.indexOf("b")>=0&&(r=!1),a.end_book_before_start=!0),s.b!==t.b||null==t.c||isNaN(t.c)||(null==s.c&&(s.c=1),!isNaN(parseInt(s.c,10))&&s.c>t.c?(r=!1,a.end_chapter_before_start=!0):s.c!==t.c||null==t.v||isNaN(t.v)||(null==s.v&&(s.v=1),!isNaN(parseInt(s.v,10))&&s.v>t.v&&(r=!1,a.end_verse_before_start=!0))),null==t.c||isNaN(t.c)||null==this.translations[e].chapters[t.b][t.c-1]&&(1===this.translations[e].chapters[t.b].length?a.end_chapter_not_exist_in_single_chapter_book=1:t.c>0&&this.options.passage_existence_strategy.indexOf("c")>=0&&(a.end_chapter_not_exist=this.translations[e].chapters[t.b].length)),null==t.v||isNaN(t.v)||(null==t.c&&(t.c=this.translations[e].chapters[t.b].length),t.v>this.translations[e].chapters[t.b][t.c-1]&&this.options.passage_existence_strategy.indexOf("v")>=0&&(a.end_verse_not_exist=this.translations[e].chapters[t.b][t.c-1]))):(r=!1,a.end_book_not_exist=!0),[r,a]}promote_book_to_translation(e,s){if(null==this.translations[s]&&(this.translations[s]={}),null==this.translations[s].chapters&&(this.translations[s].chapters={}),null==this.translations[s].chapters[e])return this.translations[s].chapters[e]=bcv_utils.shallow_clone_array(this.translations.default.chapters[e])}}function __guard__(e,s){return null!=e?s(e):void 0}bcv_passage.initClass();const bcv_utils={shallow_clone(e){if(null==e)return e;const s={};for(const t of Object.keys(e||{})){const r=e[t];s[t]=r}return s},shallow_clone_array(e){if(null==e)return e;const s=[];for(let t=0,r=e.length,a=0<=r;a?t<=r:t>=r;a?t++:t--)void 0!==e[t]&&(s[t]=e[t]);return s}};bcv_parser.prototype.regexps.translations=RegExp("(?:(?:BYSB))\\b","gi"),bcv_parser.prototype.translations={aliases:{default:{osis:"",alias:"default"}},alternates:{},default:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,Ezra:15,Neh:16,Esth:17,Job:18,Ps:19,Prov:20,Eccl:21,Song:22,Isa:23,Jer:24,Lam:25,Ezek:26,Dan:27,Hos:28,Joel:29,Amos:30,Obad:31,Jonah:32,Mic:33,Nah:34,Hab:35,Zeph:36,Hag:37,Zech:38,Mal:39,Matt:40,Mark:41,Luke:42,John:43,Acts:44,Rom:45,"1Cor":46,"2Cor":47,Gal:48,Eph:49,Phil:50,Col:51,"1Thess":52,"2Thess":53,"1Tim":54,"2Tim":55,Titus:56,Phlm:57,Heb:58,Jas:59,"1Pet":60,"2Pet":61,"1John":62,"2John":63,"3John":64,Jude:65,Rev:66,Tob:67,Jdt:68,GkEsth:69,Wis:70,Sir:71,Bar:72,PrAzar:73,Sus:74,Bel:75,SgThree:76,EpJer:77,"1Macc":78,"2Macc":79,"3Macc":80,"4Macc":81,"1Esd":82,"2Esd":83,PrMan:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,50,13,32,22,29,35,41,30,25,18,65,23,31,40,16,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,32,18,29,23,22,20,22,21,20,23,30,25,22,19,19,26,68,29,20,30,52,29,12],Josh:[18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33],Judg:[36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25],Ruth:[22,23,18,22],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,15,23,29,22,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,33,43,26,22,51,39,25],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,53],"2Kgs":[18,25,27,44,27,33,20,29,37,36,21,21,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,26,81,40,40,44,14,47,40,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[17,18,17,22,14,42,22,18,31,19,23,16,22,15,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Ezra:[11,70,13,24,17,22,28,36,15,44],Neh:[11,20,32,23,19,19,73,18,38,39,36,47,31],Esth:[22,23,15,17,14,14,10,17,32,3],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,24,34,17],Ps:[6,12,8,8,12,10,17,9,20,18,7,8,6,7,5,11,15,50,14,9,13,31,6,10,22,12,14,9,11,12,24,11,22,22,28,12,40,22,13,17,13,11,5,26,17,11,9,14,20,23,19,9,6,7,23,13,11,11,17,12,8,12,11,10,13,20,7,35,36,5,24,20,28,23,10,12,20,72,13,19,16,8,18,12,13,17,7,18,52,17,16,15,5,23,11,13,12,9,9,5,8,28,22,35,45,48,43,13,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,13,10,7,12,15,21,10,20,14,9,6],Prov:[33,22,35,27,23,35,27,36,18,32,31,28,25,35,33,33,28,24,29,30,31,29,35,34,28,28,27,28,27,33,31],Eccl:[18,26,22,16,20,12,29,17,18,20,10,14],Song:[17,17,11,16,16,13,13,14],Isa:[31,22,26,6,30,13,25,22,21,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,12,25,24],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Lam:[22,22,66,22,22],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,30,37,31,28,28,27,27,21,45,13],Hos:[11,23,5,19,15,11,16,14,17,15,12,14,16,9],Joel:[20,32,21],Amos:[15,16,15,13,27,14,17,14,15],Obad:[21],Jonah:[17,10,10,11],Mic:[16,13,12,13,15,16,20],Nah:[15,13,19],Hab:[17,20,19],Zeph:[18,15,20],Hag:[15,23],Zech:[21,13,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,18,6],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,27,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,41,43,56,37,38,50,52,33,44,37,72,47,20],Luke:[80,52,38,44,39,49,50,56,62,42,54,59,35,35,32,31,37,43,48,47,38,71,56,53],John:[51,25,36,54,47,71,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,60,40,43,48,30,25,52,28,41,40,34,28,41,38,40,30,35,27,27,32,44,31],Rom:[32,29,31,25,21,23,25,39,33,21,36,21,14,23,33,27],"1Cor":[31,16,23,21,13,20,40,13,27,33,34,31,13,40,58,24],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,14],Gal:[24,21,29,31,26,18],Eph:[23,22,21,32,33,24],Phil:[30,30,21,23],Col:[29,23,25,18],"1Thess":[10,20,13,18,28],"2Thess":[12,17,18],"1Tim":[20,15,16,16,25,21],"2Tim":[18,26,17,22],Titus:[16,15,15],Phlm:[25],Heb:[14,18,19,16,14,20,28,13,28,39,40,29,25],Jas:[27,26,18,17,20],"1Pet":[25,25,22,19,14],"2Pet":[21,22,18],"1John":[10,29,24,21,21],"2John":[13],"3John":[15],Jude:[25],Rev:[20,29,22,11,14,17,17,13,21,11,19,17,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,17,15],Jdt:[16,28,10,15,24,21,32,36,14,23,23,20,20,19,14,25],GkEsth:[22,23,15,17,14,14,10,17,32,13,12,6,18,19,16,24],Wis:[16,24,19,20,23,25,30,21,18,21,26,27,19,31,19,29,21,25,22],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,34,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,37,37,9],PrAzar:[68],Sus:[64],Bel:[42],SgThree:[39],EpJer:[73],"1Macc":[64,70,60,61,68,63,50,32,73,89,74,53,53,49,41,24],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,45,26,46,39],"3Macc":[29,33,30,21,51,41,23],"4Macc":[35,24,21,26,38,35,23,29,32,21,27,19,27,20,32,25,24,24],"1Esd":[58,30,24,63,73,34,15,96,55],"2Esd":[40,48,36,52,56,59,70,63,47,59,46,51,58,48,63,78],PrMan:[15],Ps151:[7]}},vulgate:{chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,55,32,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,32,25],Exod:[22,25,22,31,23,30,25,32,35,29,10,51,22,31,27,36,16,27,25,26,36,31,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,36],Lev:[17,16,17,35,19,30,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,45,34],Num:[54,34,51,49,31,27,89,26,23,36,34,15,34,45,41,50,13,32,22,30,35,41,30,25,18,65,23,31,39,17,54,42,56,29,34,13],Josh:[18,24,17,25,16,27,26,35,27,44,23,24,33,15,63,10,18,28,51,9,43,34,16,33],Judg:[36,23,31,24,32,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,24],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,43,15,23,28,23,44,25,12,25,11,31,13],"1Kgs":[53,46,28,34,18,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"1Chr":[54,55,24,43,26,81,40,40,44,14,46,40,14,17,29,43,27,17,19,7,30,19,32,31,31,32,34,21,30],Neh:[11,20,31,23,19,19,73,18,38,39,36,46,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,23,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,35,28,25,16],Ps:[6,13,9,10,13,11,18,10,39,8,9,6,7,5,10,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,26,18,12,10,15,21,23,21,11,7,9,24,13,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,26,9,10,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,11,9,14,9,6],Eccl:[18,26,22,17,19,11,30,17,18,20,10,14],Song:[16,17,11,16,17,12,13,14],Jer:[19,37,25,31,31,30,34,22,26,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,20,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,9,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,49,32,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,31,28,28,27,27,21,45,13,65,42],Hos:[11,24,5,19,15,11,16,14,17,15,12,14,15,10],Amos:[15,16,15,13,27,15,17,14,14],Jonah:[16,11,10,11],Mic:[16,13,12,13,14,16,20],Hag:[14,24],Matt:[25,23,17,25,48,34,29,34,38,42,30,50,58,36,39,28,26,35,30,34,46,46,39,51,46,75,66,20],Mark:[45,28,35,40,43,56,37,39,49,52,33,44,37,72,47,20],John:[51,25,36,54,47,72,53,59,41,42,57,50,38,31,27,33,26,40,42,31,25],Acts:[26,47,26,37,42,15,59,40,43,48,30,25,52,27,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[25,23,25,23,28,22,20,24,12,13,21,22,23,17],Jdt:[12,18,15,17,29,21,25,34,19,20,21,20,31,18,15,31],Wis:[16,25,19,20,24,27,30,21,19,21,27,27,19,31,19,29,20,25,20],Sir:[40,23,34,36,18,37,40,22,25,34,36,19,32,27,22,31,31,33,28,33,31,33,38,47,36,28,33,30,35,27,42,28,33,31,26,28,34,39,41,32,28,26,37,27,31,23,31,28,19,31,38,13],Bar:[22,35,38,37,9,72],"1Macc":[67,70,60,61,68,63,50,32,73,89,74,54,54,49,41,24],"2Macc":[36,33,40,50,27,31,42,36,29,38,38,46,26,46,40]}},ceb:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,16,21,6,13,18,22,18,15],PrAzar:[67],EpJer:[72],"1Esd":[55,26,24,63,71,33,15,92,55]}},kjv:{chapters:{"3John":[14]}},nab:{order:{Gen:1,Exod:2,Lev:3,Num:4,Deut:5,Josh:6,Judg:7,Ruth:8,"1Sam":9,"2Sam":10,"1Kgs":11,"2Kgs":12,"1Chr":13,"2Chr":14,PrMan:15,Ezra:16,Neh:17,"1Esd":18,"2Esd":19,Tob:20,Jdt:21,Esth:22,GkEsth:23,"1Macc":24,"2Macc":25,"3Macc":26,"4Macc":27,Job:28,Ps:29,Prov:30,Eccl:31,Song:32,Wis:33,Sir:34,Isa:35,Jer:36,Lam:37,Bar:38,EpJer:39,Ezek:40,Dan:41,PrAzar:42,Sus:43,Bel:44,SgThree:45,Hos:46,Joel:47,Amos:48,Obad:49,Jonah:50,Mic:51,Nah:52,Hab:53,Zeph:54,Hag:55,Zech:56,Mal:57,Matt:58,Mark:59,Luke:60,John:61,Acts:62,Rom:63,"1Cor":64,"2Cor":65,Gal:66,Eph:67,Phil:68,Col:69,"1Thess":70,"2Thess":71,"1Tim":72,"2Tim":73,Titus:74,Phlm:75,Heb:76,Jas:77,"1Pet":78,"2Pet":79,"1John":80,"2John":81,"3John":82,Jude:83,Rev:84},chapters:{Gen:[31,25,24,26,32,22,24,22,29,32,32,20,18,24,21,16,27,33,38,18,34,24,20,67,34,35,46,22,35,43,54,33,20,31,29,43,36,30,23,23,57,38,34,34,28,34,31,22,33,26],Exod:[22,25,22,31,23,30,29,28,35,29,10,51,22,31,27,36,16,27,25,26,37,30,33,18,40,37,21,43,46,38,18,35,23,35,35,38,29,31,43,38],Lev:[17,16,17,35,26,23,38,36,24,20,47,8,59,57,33,34,16,30,37,27,24,33,44,23,55,46,34],Num:[54,34,51,49,31,27,89,26,23,36,35,16,33,45,41,35,28,32,22,29,35,41,30,25,19,65,23,31,39,17,54,42,56,29,34,13],Deut:[46,37,29,49,33,25,26,20,29,22,32,31,19,29,23,22,20,22,21,20,23,29,26,22,19,19,26,69,28,20,30,52,29,12],"1Sam":[28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,44,25,12,25,11,31,13],"2Sam":[27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"1Kgs":[53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"2Kgs":[18,25,27,44,27,33,20,29,37,36,20,22,25,29,38,20,41,37,37,21,26,20,37,20,30],"1Chr":[54,55,24,43,41,66,40,40,44,14,47,41,14,17,29,43,27,17,19,8,30,19,32,31,31,32,34,21,30],"2Chr":[18,17,17,22,14,42,22,18,31,19,23,16,23,14,19,14,19,34,11,37,20,12,21,27,28,23,9,27,36,27,21,33,25,33,27,23],Neh:[11,20,38,17,19,19,72,18,37,40,36,47,31],Job:[22,13,26,21,27,30,21,22,35,22,20,25,28,22,35,22,16,21,29,29,34,30,17,25,6,14,23,28,25,31,40,22,33,37,16,33,24,41,30,32,26,17],Ps:[6,11,9,9,13,11,18,10,21,18,7,9,6,7,5,11,15,51,15,10,14,32,6,10,22,12,14,9,11,13,25,11,22,23,28,13,40,23,14,18,14,12,5,27,18,12,10,15,21,23,21,11,7,9,24,14,12,12,18,14,9,13,12,11,14,20,8,36,37,6,24,20,28,23,11,13,21,72,13,20,17,8,19,13,14,17,7,19,53,17,16,16,5,23,11,13,12,9,9,5,8,29,22,35,45,48,43,14,31,7,10,10,9,8,18,19,2,29,176,7,8,9,4,8,5,6,5,6,8,8,3,18,3,3,21,26,9,8,24,14,10,8,12,15,21,10,20,14,9,6],Eccl:[18,26,22,17,19,12,29,17,18,20,10,14],Song:[17,17,11,16,16,12,14,14],Isa:[31,22,26,6,30,13,25,23,20,34,16,6,22,32,9,14,14,7,25,6,17,25,18,23,12,21,13,29,24,33,9,20,24,17,10,22,38,22,8,31,29,25,28,28,25,13,15,22,26,11,23,15,12,17,13,12,21,14,21,22,11,12,19,11,25,24],Jer:[19,37,25,31,31,30,34,23,25,25,23,17,27,22,21,21,27,23,15,18,14,30,40,10,38,24,22,17,32,24,40,44,26,22,19,32,21,28,18,16,18,22,13,30,5,28,7,47,39,46,64,34],Ezek:[28,10,27,17,17,14,27,18,11,22,25,28,23,23,8,63,24,32,14,44,37,31,49,27,17,21,36,26,21,26,18,32,33,31,15,38,28,23,29,49,26,20,27,31,25,24,23,35],Dan:[21,49,100,34,30,29,28,27,27,21,45,13,64,42],Hos:[9,25,5,19,15,11,16,14,17,15,11,15,15,10],Joel:[20,27,5,21],Jonah:[16,11,10,11],Mic:[16,13,12,14,14,16,20],Nah:[14,14,19],Zech:[17,17,10,14,11,15,14,23,17,12,17,14,9,21],Mal:[14,17,24],Acts:[26,47,26,37,42,15,60,40,43,49,30,25,52,28,41,40,34,28,40,38,40,30,35,27,27,32,44,31],"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21],Tob:[22,14,17,21,22,18,17,21,6,13,18,22,18,15],Sir:[30,18,31,31,15,37,36,19,18,31,34,18,26,27,20,30,32,33,30,31,28,27,27,33,26,29,30,26,28,25,31,24,33,31,26,31,31,34,35,30,22,25,33,23,26,20,25,25,16,29,30],Bar:[22,35,38,37,9,72],"2Macc":[36,32,40,50,27,31,42,36,29,38,38,46,26,46,39]}},nlt:{chapters:{Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}},nrsv:{chapters:{"2Cor":[24,17,18,18,21,18,16,24,15,18,33,21,13],Rev:[20,29,22,11,14,17,17,13,21,11,19,18,18,20,8,21,18,24,21,15,27,21]}}},bcv_parser.prototype.languages=["rw"];const heregex=e=>{let s="",t=!1,r=!1;for(let a=0;a<e.length;a++){const n=e[a];if(r)s+=n,r=!1;else if("\\"!==n)if(t||"["!==n)if(t&&"]"===n)t=!1,s+=n;else if(t||"#"!==n)!t&&/\s/.test(n)||(s+=n);else for(;a<e.length&&"\n"!==e[a];)a+=1;else t=!0,s+=n;else s+=n,r=!0}return s};var grammar;bcv_parser.prototype.regexps.space="[\\s\\xa0]",bcv_parser.prototype.regexps.escaped_passage=RegExp(heregex(String.raw`
|
|
2
2
|
(?:^ | [^\x1f\x1e\dA-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ] ) # Beginning of string or not in the middle of a word or immediately following another book. Only count a book if it's part of a sequence: \`Matt5John3\` is OK, but not \`1Matt5John3\`
|
|
3
3
|
(
|
|
4
4
|
# Start inverted book/chapter (cb)
|
|
@@ -29,7 +29,7 @@ const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.pro
|
|
|
29
29
|
| \d [\s\xa0*]* [a-e] (?! \w )
|
|
30
30
|
| \x1e (?: [\s\xa0*]* [)\]\uff09] )? #ff09 is a full-width closing parenthesis
|
|
31
31
|
| [\d\x1f]
|
|
32
|
-
`),"gi"),bcv_parser.prototype.regexps.control=/[\x1e\x1f]/g,bcv_parser.prototype.regexps.pre_book="[^A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ]",bcv_parser.prototype.regexps.first=`(?:1|ubanza)\\.?${bcv_parser.prototype.regexps.space}*`,bcv_parser.prototype.regexps.second=`2\\.?${bcv_parser.prototype.regexps.space}*`,bcv_parser.prototype.regexps.third=`3\\.?${bcv_parser.prototype.regexps.space}*`,bcv_parser.prototype.regexps.range_and="(?:[&\\u2013\\u2014-]|na|to)",bcv_parser.prototype.regexps.range_only="(?:[\\u2013\\u2014-]|to)",bcv_parser.prototype.regexps.get_books=function(e,
|
|
32
|
+
`),"gi"),bcv_parser.prototype.regexps.control=/[\x1e\x1f]/g,bcv_parser.prototype.regexps.pre_book="[^A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ]",bcv_parser.prototype.regexps.first=`(?:1|ubanza)\\.?${bcv_parser.prototype.regexps.space}*`,bcv_parser.prototype.regexps.second=`2\\.?${bcv_parser.prototype.regexps.space}*`,bcv_parser.prototype.regexps.third=`3\\.?${bcv_parser.prototype.regexps.space}*`,bcv_parser.prototype.regexps.range_and="(?:[&\\u2013\\u2014-]|na|to)",bcv_parser.prototype.regexps.range_only="(?:[\\u2013\\u2014-]|to)",bcv_parser.prototype.regexps.get_books=function(e,s){const t=[{osis:["Ps"],apocrypha:!0,extra:"2",regexp:RegExp("(\\b)(Ps151)(?=\\.1)","g")},{osis:["Gen"],regexp:RegExp(heregex(String.raw`(^|${bcv_parser.prototype.regexps.pre_book})(
|
|
33
33
|
(?:Ita(?:ngiriro)?|Gen)
|
|
34
34
|
)(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")},{osis:["Exod"],regexp:RegExp(heregex(String.raw`(^|${bcv_parser.prototype.regexps.pre_book})(
|
|
35
35
|
(?:Kuva?|Exod)
|
|
@@ -197,4 +197,4 @@ const root=this;class bcv_parser{static initClass(){this.prototype.s="",this.pro
|
|
|
197
197
|
(?:4Macc)
|
|
198
198
|
)(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")},{osis:["1Macc"],apocrypha:!0,regexp:RegExp(heregex(String.raw`(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])(
|
|
199
199
|
(?:1Macc)
|
|
200
|
-
)(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")}];if(!0===e&&"none"===t)return s;const r=[];for(const a of s)!1===e&&null!=a.apocrypha&&!0===a.apocrypha||("books"===t&&(a.regexp=new RegExp(a.regexp.source,"g")),r.push(a));return r},bcv_parser.prototype.regexps.books=bcv_parser.prototype.regexps.get_books(!1,"none"),function(){"use strict";function e(t,s,r,a){var n=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(n,e.prototype),n.expected=s,n.found=r,n.location=a,n.name="SyntaxError",n}function t(e,t,s){return s=s||" ",e.length>t?e:(t-=e.length,e+(s+=s.repeat(t)).slice(0,t))}!function(e,t){function s(){this.constructor=e}s.prototype=t.prototype,e.prototype=new s}(e,Error),e.prototype.format=function(e){var s="Error: "+this.message;if(this.location){var r,a=null;for(r=0;r<e.length;r++)if(e[r].source===this.location.source){a=e[r].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,i=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,o=this.location.source+":"+i.line+":"+i.column;if(a){var l=this.location.end,u=t("",i.line.toString().length," "),c=a[n.line-1],p=(n.line===l.line?l.column:c.length+1)-n.column||1;s+="\n --\x3e "+o+"\n"+u+" |\n"+i.line+" | "+c+"\n"+u+" | "+t("",n.column-1," ")+t("",p,"^")}else s+="\n at "+o}return s},e.buildMessage=function(e,t){var s={literal:function(e){return'"'+a(e.text)+'"'},class:function(e){var t=e.parts.map((function(e){return Array.isArray(e)?n(e[0])+"-"+n(e[1]):n(e)}));return"["+(e.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function r(e){return e.charCodeAt(0).toString(16).toUpperCase()}function a(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function n(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function i(e){return s[e.type](e)}return"Expected "+function(e){var t,s,r=e.map(i);if(r.sort(),r.length>0){for(t=1,s=1;t<r.length;t++)r[t-1]!==r[t]&&(r[s]=r[t],s++);r.length=s}switch(r.length){case 1:return r[0];case 2:return r[0]+" or "+r[1];default:return r.slice(0,-1).join(", ")+", or "+r[r.length-1]}}(e)+" but "+function(e){return e?'"'+a(e)+'"':"end of input"}(t)+" found."},grammar={StartRules:["start"],SyntaxError:e,parse:function(t,s){var r,a={},n=(s=void 0!==s?s:{}).grammarSource,i={start:Jt},o=Jt,l="(",u=")",c="",p="/",g=",",_=".",h="-",f="th",d="nd",x="st",v="/1",b="ff",y="/9",m="/2",k=".1",A="umutwe",$="chapter",w="umurongo",E="verse",S="na",R="to",z="title",J="from",P="of",C="in",M="the",N="book",T="",Z=/^[1-8]/,j=/^[a-z]/,q=/^[0-9]/,O=/^[a-e]/,I=/^["']/,H=/^[,;\/:&\-\u2013\u2014~]/,F=/^[\-\u2013\u2014]/,L=/^[([]/,K=/^[)\]]/,G=/^[^\x1F\x1E([]/,B=$t("(",!1),Y=$t(")",!1),D=$t("",!1),W=$t("/",!1),U=wt([["1","8"]],!1,!1),Q=$t(",",!1),V=$t(".",!1),X=$t("-",!1),ee=$t("th",!1),te=$t("nd",!1),se=$t("st",!1),re=$t("/1",!1),ae=$t("ff",!1),ne=wt([["a","z"]],!1,!1),ie=$t("/9",!1),oe=$t("/2",!1),le=$t(".1",!1),ue=wt([["0","9"]],!1,!1),ce=wt([["a","e"]],!1,!1),pe=$t("umutwe",!1),ge=$t("chapter",!1),_e=$t("umurongo",!1),he=$t("verse",!1),fe=$t(":",!1),de=wt(['"',"'"],!1,!1),xe=wt([",",";","/",":","&","-","–","—","~"],!1,!1),ve=$t("na",!1),be=wt(["-","–","—"],!1,!1),ye=$t("to",!1),me=$t("title",!1),ke=$t("from",!1),Ae=$t("of",!1),$e=$t("in",!1),we=$t("the",!1),Ee=$t("book",!1),Se=wt(["(","["],!1,!1),Re=wt([")","]"],!1,!1),ze=$t("",!1),Je=($t(",000",!1),wt(["","","(","["],!0,!1)),Pe=(wt([" ","\t","\r","\n"," ","*"],!1,!1),function(e,t){return t.unshift([e]),{type:"sequence",value:t,indices:[bt,vt-1]}}),Ce=function(e,t){return void 0===t&&(t=[]),t.unshift([e]),{type:"sequence_post_enclosed",value:t,indices:[bt,vt-1]}},Me=function(e,t){return e.length&&2===e.length&&(e=e[0]),{type:"range",value:[e,t],indices:[bt,vt-1]}},Ne=function(e){return{type:"b",value:e.value,indices:[bt,vt-1]}},Te=function(e,t){return{type:"bc",value:[e,t],indices:[bt,vt-1]}},Ze=function(e,t){return{type:"bc",value:[e,t],indices:[bt,vt-1]}},je=function(e,t){return{type:"bc_title",value:[e,t],indices:[bt,vt-1]}},qe=function(e,t){return{type:"bcv",value:[e,t],indices:[bt,vt-1]}},Oe=function(e,t){return{type:"bcv",value:[e,t],indices:[bt,vt-1]}},Ie=function(e,t){return{type:"bcv",value:[e,t],indices:[bt,vt-1]}},He=function(e,t,s,r){return{type:"range",value:[{type:"bcv",value:[{type:"bc",value:[e,t],indices:[e.indices[0],t.indices[1]]},s],indices:[e.indices[0],s.indices[1]]},r],indices:[bt,vt-1]}},Fe=function(e,t){return{type:"bv",value:[e,t],indices:[bt,vt-1]}},Le=function(e,t){return{type:"bc",value:[t,e],indices:[bt,vt-1]}},Ke=function(e,t,s){return{type:"cb_range",value:[s,e,t],indices:[bt,vt-1]}},Ge=function(e,t){return{type:"bcv",value:[e,t],indices:[bt,vt-1]}},Be=function(e,t){return{type:"bc",value:[t,e],indices:[bt,vt-1]}},Ye=function(e,t){return{type:"bcv",value:[e,t],indices:[bt,vt-1]}},De=function(e){return{type:"c_psalm",value:e.value,indices:[bt,vt-1]}},We=function(e,t){return{type:"cv_psalm",value:[e,t],indices:[bt,vt-1]}},Ue=function(e,t){return{type:"c_title",value:[e,t],indices:[bt,vt-1]}},Qe=function(e,t){return{type:"cv",value:[e,t],indices:[bt,vt-1]}},Ve=function(e,t){return{type:"cv",value:[e,t],indices:[bt,vt-1]}},Xe=function(e){return{type:"c",value:[e],indices:[bt,vt-1]}},et=function(e){return{type:"ff",value:[e],indices:[bt,vt-1]}},tt=function(e,t){return{type:"integer_title",value:[e,t],indices:[bt,vt-1]}},st=function(e){return{type:"context",value:e.value,indices:[bt,vt-1]}},rt=function(e){return{type:"b",value:e.value,indices:[bt,vt-1]}},at=function(e){return{type:"bc",value:[e,{type:"c",value:[{type:"integer",value:151,indices:[vt-2,vt-1]}],indices:[vt-2,vt-1]}],indices:[bt,vt-1]}},nt=function(e,t){return{type:"bcv",value:[e,{type:"v",value:[t],indices:[t.indices[0],t.indices[1]]}],indices:[bt,vt-1]}},it=function(e){return{type:"v",value:[e],indices:[bt,vt-1]}},ot=function(e){return{type:"v",value:[e],indices:[bt,vt-1]}},lt=function(){return{type:"c_explicit"}},ut=function(){return{type:"v_explicit"}},ct=function(){return""},pt=function(e){return{type:"title",value:[e],indices:[bt,vt-1]}},gt=function(e){return{type:"translation_sequence",value:e,indices:[bt,vt-1]}},_t=function(e){return{type:"translation_sequence",value:e,indices:[bt,vt-1]}},ht=function(e){return{type:"translation",value:e.value,indices:[bt,vt-1]}},ft=function(e){return{type:"integer",value:parseInt(e.join(""),10),indices:[bt,vt-1]}},dt=function(e){return{type:"word",value:e.join(""),indices:[bt,vt-1]}},xt=function(e){return{type:"stop",value:e,indices:[bt,vt-1]}},vt=0|s.peg$currPos,bt=vt,yt=[{line:1,column:1}],mt=vt,kt=s.peg$maxFailExpected||[],At=0|s.peg$silentFails;if(s.startRule){if(!(s.startRule in i))throw new Error("Can't start parsing from rule \""+s.startRule+'".');o=i[s.startRule]}function $t(e,t){return{type:"literal",text:e,ignoreCase:t}}function wt(e,t,s){return{type:"class",parts:e,inverted:t,ignoreCase:s}}function Et(e){var s,r=yt[e];if(r)return r;if(e>=yt.length)s=yt.length-1;else for(s=e;!yt[--s];);for(r={line:(r=yt[s]).line,column:r.column};s<e;)10===t.charCodeAt(s)?(r.line++,r.column=1):r.column++,s++;return yt[e]=r,r}function St(e,t,s){var r=Et(e),a=Et(t),i={source:n,start:{offset:e,line:r.line,column:r.column},end:{offset:t,line:a.line,column:a.column}};return s&&n&&"function"==typeof n.offset&&(i.start=n.offset(i.start),i.end=n.offset(i.end)),i}function Rt(e){vt<mt||(vt>mt&&(mt=vt,kt=[]),kt.push(e))}function zt(t,s,r){return new e(e.buildMessage(t,s),t,s,r)}function Jt(){var e,t;if(e=[],(t=It())===a&&(t=Pt())===a&&(t=Lt())===a&&(t=Mt())===a&&(t=Xt())===a&&(t=Ot())===a&&(t=Zt())===a&&(t=rs())===a&&(t=jt())===a&&(t=qt())===a&&(t=ss())===a&&(t=Tt())===a&&(t=Dt())===a&&(t=Ht())===a&&(t=Yt())===a&&(t=Nt())===a&&(t=Kt())===a&&(t=Bt())===a&&(t=Ft())===a&&(t=Gt())===a&&(t=hs())===a&&(t=fs())===a&&(t=cs())===a&&(t=Wt())===a&&(t=es())===a&&(t=Ut())===a&&(t=Qt())===a&&(t=as())===a&&(t=xs())===a&&(t=Vt())===a&&(t=ns())===a&&(t=bs())===a&&(t=ys())===a&&(t=ts()),t!==a)for(;t!==a;)e.push(t),(t=It())===a&&(t=Pt())===a&&(t=Lt())===a&&(t=Mt())===a&&(t=Xt())===a&&(t=Ot())===a&&(t=Zt())===a&&(t=rs())===a&&(t=jt())===a&&(t=qt())===a&&(t=ss())===a&&(t=Tt())===a&&(t=Dt())===a&&(t=Ht())===a&&(t=Yt())===a&&(t=Nt())===a&&(t=Kt())===a&&(t=Bt())===a&&(t=Ft())===a&&(t=Gt())===a&&(t=hs())===a&&(t=fs())===a&&(t=cs())===a&&(t=Wt())===a&&(t=es())===a&&(t=Ut())===a&&(t=Qt())===a&&(t=as())===a&&(t=xs())===a&&(t=Vt())===a&&(t=ns())===a&&(t=bs())===a&&(t=ys())===a&&(t=ts());else e=a;return e}function Pt(){var e,t,s,r,n,i;if(e=vt,(t=Lt())===a&&(t=It())===a&&(t=Mt())===a&&(t=Xt())===a&&(t=Ot())===a&&(t=Zt())===a&&(t=rs())===a&&(t=jt())===a&&(t=qt())===a&&(t=ss())===a&&(t=Tt())===a&&(t=Dt())===a&&(t=Ht())===a&&(t=Yt())===a&&(t=Nt())===a&&(t=Kt())===a&&(t=Bt())===a&&(t=Ft())===a&&(t=Gt())===a&&(t=ts()),t!==a){if(s=[],r=vt,(n=cs())===a&&(n=null),(i=Ct())!==a?r=n=[n,i]:(vt=r,r=a),r!==a)for(;r!==a;)s.push(r),r=vt,(n=cs())===a&&(n=null),(i=Ct())!==a?r=n=[n,i]:(vt=r,r=a);else s=a;s!==a?(bt=e,e=Pe(t,s)):(vt=e,e=a)}else vt=e,e=a;return e}function Ct(){var e;return(e=function(){var e,s,r,n,i,o,c;if(e=vt,40===t.charCodeAt(vt)?(s=l,vt++):(s=a,0===At&&Rt(B)),s!==a)if(ms(),cs(),(r=Ct())!==a){for(n=[],i=vt,(o=cs())===a&&(o=null),(c=Ct())!==a?i=o=[o,c]:(vt=i,i=a);i!==a;)n.push(i),i=vt,(o=cs())===a&&(o=null),(c=Ct())!==a?i=o=[o,c]:(vt=i,i=a);i=ms(),41===t.charCodeAt(vt)?(o=u,vt++):(o=a,0===At&&Rt(Y)),o!==a?(bt=e,e=Ce(r,n)):(vt=e,e=a)}else vt=e,e=a;else vt=e,e=a;return e}())===a&&(e=Lt())===a&&(e=It())===a&&(e=Mt())===a&&(e=Xt())===a&&(e=Ot())===a&&(e=Zt())===a&&(e=rs())===a&&(e=jt())===a&&(e=qt())===a&&(e=ss())===a&&(e=Tt())===a&&(e=Dt())===a&&(e=Ht())===a&&(e=Yt())===a&&(e=Nt())===a&&(e=Kt())===a&&(e=Bt())===a&&(e=Ft())===a&&(e=Gt())===a&&(e=Wt())===a&&(e=es())===a&&(e=Ut())===a&&(e=Qt())===a&&(e=as())===a&&(e=xs())===a&&(e=Vt())===a&&(e=ns()),e}function Mt(){var e,t,s,r,n,i,o;return e=vt,(t=Ot())===a&&(t=Zt())===a&&(t=rs())===a&&(t=jt())===a&&(t=qt())===a&&(t=ss())===a&&(t=Tt())===a&&(t=Dt())===a&&(t=Ht())===a&&(t=vt,(s=Nt())!==a?(r=vt,At++,n=vt,(i=ps())!==a?((o=Ot())===a&&(o=Zt())===a&&(o=rs())===a&&(o=jt())===a&&(o=qt())===a&&(o=ss())===a&&(o=Tt())===a&&(o=Ht())===a&&(o=Nt()),o!==a?n=i=[i,o]:(vt=n,n=a)):(vt=n,n=a),At--,n!==a?(vt=r,r=void 0):r=a,r!==a?t=s=[s,r]:(vt=t,t=a)):(vt=t,t=a),t===a&&(t=Kt())===a&&(t=Bt())===a&&(t=Yt())===a&&(t=Ft())===a&&(t=Gt())===a&&(t=Wt())===a&&(t=es())===a&&(t=Ut())===a&&(t=Qt())===a&&(t=as())===a&&(t=xs())===a&&(t=Vt())===a&&(t=ns())),t!==a&&(s=ps())!==a?((r=Xt())===a&&(r=Ot())===a&&(r=Zt())===a&&(r=rs())===a&&(r=jt())===a&&(r=qt())===a&&(r=ss())===a&&(r=Tt())===a&&(r=Dt())===a&&(r=Ht())===a&&(r=Nt())===a&&(r=Kt())===a&&(r=Bt())===a&&(r=Yt())===a&&(r=Ft())===a&&(r=Gt())===a&&(r=Wt())===a&&(r=es())===a&&(r=Ut())===a&&(r=as())===a&&(r=xs())===a&&(r=Qt())===a&&(r=Vt())===a&&(r=ns()),r!==a?(bt=e,e=Me(t,r)):(vt=e,e=a)):(vt=e,e=a),e}function Nt(){var e,s,r,n,i,o;return e=vt,31===t.charCodeAt(vt)?(s=c,vt++):(s=a,0===At&&Rt(D)),s!==a&&(r=vs())!==a?(n=vt,47===t.charCodeAt(vt)?(i=p,vt++):(i=a,0===At&&Rt(W)),i!==a?(o=t.charAt(vt),Z.test(o)?vt++:(o=a,0===At&&Rt(U)),o!==a?n=i=[i,o]:(vt=n,n=a)):(vt=n,n=a),n===a&&(n=null),31===t.charCodeAt(vt)?(i=c,vt++):(i=a,0===At&&Rt(D)),i!==a?(bt=e,e=Ne(r)):(vt=e,e=a)):(vt=e,e=a),e}function Tt(){var e,t,s,r,n,i,o,l,u;if(e=vt,(t=Nt())!==a){if(s=vt,(r=os())!==a?(n=vt,At++,i=vt,(o=Vt())!==a&&(l=ls())!==a&&(u=ns())!==a?i=o=[o,l,u]:(vt=i,i=a),At--,i!==a?(vt=n,n=void 0):n=a,n!==a?s=r=[r,n]:(vt=s,s=a)):(vt=s,s=a),s===a){if(s=[],(r=ls())!==a)for(;r!==a;)s.push(r),r=ls();else s=a;if(s===a){if(s=[],(r=us())!==a)for(;r!==a;)s.push(r),r=us();else s=a;if(s===a){if(s=[],(r=ps())!==a)for(;r!==a;)s.push(r),r=ps();else s=a;s===a&&(s=ms())}}}s!==a&&(r=Vt())!==a?(bt=e,e=Te(t,r)):(vt=e,e=a)}else vt=e,e=a;return e}function Zt(){var e,t,s;return e=vt,(t=ss())===a&&(t=Tt()),t!==a&&(s=gs())!==a?(bt=e,e=je(t,s)):(vt=e,e=a),e}function jt(){var e,s,r,n,i,o,l;return e=vt,(s=ss())===a&&(s=Tt()),s!==a?(r=vt,At++,n=vt,46===t.charCodeAt(vt)?(i=_,vt++):(i=a,0===At&&Rt(V)),i!==a&&(o=os())!==a&&(l=ns())!==a?n=i=[i,o,l]:(vt=n,n=a),n===a&&(n=vt,(i=cs())===a&&(i=null),(o=os())!==a&&(l=Ut())!==a?n=i=[i,o,l]:(vt=n,n=a)),At--,n===a?r=void 0:(vt=r,r=a),r!==a?(n=vt,(i=ls())===a&&(i=cs()),i===a&&(i=null),(o=os())!==a?n=i=[i,o]:(vt=n,n=a),n===a&&(n=ls()),n!==a?((i=as())===a&&(i=ns()),i!==a?(bt=e,e=qe(s,i)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function qt(){var e,t,s,r,n,i,o;return e=vt,(t=ss())===a&&(t=Tt()),t!==a&&us()!==a?((s=as())===a&&(s=ns()),s!==a?(r=vt,At++,n=vt,(i=ls())!==a&&(o=ns())!==a?n=i=[i,o]:(vt=n,n=a),At--,n===a?r=void 0:(vt=r,r=a),r!==a?(bt=e,e=Oe(t,s)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function Ot(){var e,s,r,n,i,o,l,u;return e=vt,s=function(){var e,s,r,n;return e=vt,(s=Nt())!==a?(ms(),44===t.charCodeAt(vt)?(r=g,vt++):(r=a,0===At&&Rt(Q)),r!==a?(ms(),(n=Vt())!==a?(bt=e,e=Ze(s,n)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}(),s!==a?(ms(),44===t.charCodeAt(vt)?(r=g,vt++):(r=a,0===At&&Rt(Q)),r!==a?(ms(),(n=as())===a&&(n=ns()),n!==a?(i=vt,At++,o=vt,(l=ls())!==a&&(u=ns())!==a?o=l=[l,u]:(vt=o,o=a),At--,o===a?i=void 0:(vt=i,i=a),i!==a?(bt=e,e=Ie(s,n)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function It(){var e,s,r,n,i,o,l,u;return e=vt,(s=Nt())!==a?(45===t.charCodeAt(vt)?(r=h,vt++):(r=a,0===At&&Rt(X)),r===a&&(r=ks()),r===a&&(r=null),(n=Vt())!==a?(45===t.charCodeAt(vt)?(i=h,vt++):(i=a,0===At&&Rt(X)),i!==a&&(o=ns())!==a?(45===t.charCodeAt(vt)?(l=h,vt++):(l=a,0===At&&Rt(X)),l!==a&&(u=ns())!==a?(bt=e,e=He(s,n,o,u)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function Ht(){var e,t,s,r,n,i;if(e=vt,(t=Nt())!==a){if(s=[],(r=ls())!==a)for(;r!==a;)s.push(r),r=ls();else s=a;if(s===a){if(s=[],(r=us())!==a)for(;r!==a;)s.push(r),r=us();else s=a;if(s===a){if(s=[],(r=ps())!==a)for(;r!==a;)s.push(r),r=ps();else s=a;if(s===a){if(s=vt,r=[],(n=cs())!==a)for(;n!==a;)r.push(n),n=cs();else r=a;r!==a?(n=vt,At++,i=os(),At--,i!==a?(vt=n,n=void 0):n=a,n!==a?s=r=[r,n]:(vt=s,s=a)):(vt=s,s=a),s===a&&(s=ms())}}}s!==a?((r=as())===a&&(r=ns()),r!==a?(bt=e,e=Fe(t,r)):(vt=e,e=a)):(vt=e,e=a)}else vt=e,e=a;return e}function Ft(){var e,t,s;return e=vt,is()!==a&&(t=Vt())!==a?(_s()===a&&null,(s=Nt())!==a?(bt=e,e=Le(t,s)):(vt=e,e=a)):(vt=e,e=a),e}function Lt(){var e,t,s,r;return e=vt,is()!==a&&(t=Vt())!==a&&ps()!==a&&(s=Vt())!==a?(_s()===a&&null,(r=Nt())!==a?(bt=e,e=Ke(t,s,r)):(vt=e,e=a)):(vt=e,e=a),e}function Kt(){var e,t,s;return e=vt,(t=Ft())!==a?(cs()===a&&null,os()!==a&&(s=ns())!==a?(bt=e,e=Ge(t,s)):(vt=e,e=a)):(vt=e,e=a),e}function Gt(){var e,s,r,n;return e=vt,(s=Vt())!==a?(t.substr(vt,2)===f?(r=f,vt+=2):(r=a,0===At&&Rt(ee)),r===a&&(t.substr(vt,2)===d?(r=d,vt+=2):(r=a,0===At&&Rt(te)),r===a&&(t.substr(vt,2)===x?(r=x,vt+=2):(r=a,0===At&&Rt(se)))),r!==a&&is()!==a?(_s()===a&&null,(n=Nt())!==a?(bt=e,e=Be(s,n)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function Bt(){var e,t,s;return e=vt,(t=Gt())!==a?(cs()===a&&null,os()!==a&&(s=ns())!==a?(bt=e,e=Ye(t,s)):(vt=e,e=a)):(vt=e,e=a),e}function Yt(){var e,s,r,n;return e=vt,31===t.charCodeAt(vt)?(s=c,vt++):(s=a,0===At&&Rt(D)),s!==a&&(r=vs())!==a?(t.substr(vt,3)===v?(n=v,vt+=3):(n=a,0===At&&Rt(re)),n!==a?(bt=e,e=De(r)):(vt=e,e=a)):(vt=e,e=a),e}function Dt(){var e,t,s;return e=vt,(t=Yt())!==a?(cs()===a&&null,os()!==a&&(s=ns())!==a?(bt=e,e=We(t,s)):(vt=e,e=a)):(vt=e,e=a),e}function Wt(){var e,t,s;return e=vt,is()!==a&&(t=Vt())!==a&&(s=gs())!==a?(bt=e,e=Ue(t,s)):(vt=e,e=a),e}function Ut(){var e,s,r,n,i,o,l;return e=vt,os()===a&&null,(s=Vt())!==a?(r=vt,At++,n=vt,46===t.charCodeAt(vt)?(i=_,vt++):(i=a,0===At&&Rt(V)),i!==a&&(o=os())!==a&&(l=ns())!==a?n=i=[i,o,l]:(vt=n,n=a),At--,n===a?r=void 0:(vt=r,r=a),r!==a?(n=vt,(i=ls())===a&&(i=null),(o=os())!==a?n=i=[i,o]:(vt=n,n=a),n===a&&(n=ls()),n!==a?((i=as())===a&&(i=ns()),i!==a?(bt=e,e=Qe(s,i)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function Qt(){var e,t,s,r,n,i,o;return e=vt,(t=Vt())!==a&&us()!==a?((s=as())===a&&(s=ns()),s!==a?(r=vt,At++,n=vt,(i=ls())!==a&&(o=ns())!==a?n=i=[i,o]:(vt=n,n=a),At--,n===a?r=void 0:(vt=r,r=a),r!==a?(bt=e,e=Ve(t,s)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function Vt(){var e,t;return e=vt,is()===a&&null,(t=xs())!==a?(bt=e,e=Xe(t)):(vt=e,e=a),e}function Xt(){var e,s,r,n,i,o;return e=vt,(s=jt())===a&&(s=qt())===a&&(s=Tt())===a&&(s=Ht())===a&&(s=Ut())===a&&(s=Qt())===a&&(s=xs())===a&&(s=Vt())===a&&(s=ns()),s!==a?(ms(),t.substr(vt,2)===b?(r=b,vt+=2):(r=a,0===At&&Rt(ae)),r!==a?(n=function(){var e,s,r,n,i,o,l,u,c;e=vt,s=ms(),46===t.charCodeAt(vt)?(r=_,vt++):(r=a,0===At&&Rt(V));r!==a?(n=vt,At++,i=vt,o=ms(),46===t.charCodeAt(vt)?(l=_,vt++):(l=a,0===At&&Rt(V)),l!==a?(u=ms(),46===t.charCodeAt(vt)?(c=_,vt++):(c=a,0===At&&Rt(V)),c!==a?i=o=[o,l,u,c]:(vt=i,i=a)):(vt=i,i=a),At--,i===a?n=void 0:(vt=n,n=a),n!==a?e=s=[s,r,n]:(vt=e,e=a)):(vt=e,e=a);return e}(),n===a&&(n=null),i=vt,At++,o=t.charAt(vt),j.test(o)?vt++:(o=a,0===At&&Rt(ne)),At--,o===a?i=void 0:(vt=i,i=a),i!==a?(bt=e,e=et(s)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function es(){var e,t,s;return e=vt,(t=xs())!==a&&(s=gs())!==a?(bt=e,e=tt(t,s)):(vt=e,e=a),e}function ts(){var e,s,r,n;return e=vt,31===t.charCodeAt(vt)?(s=c,vt++):(s=a,0===At&&Rt(D)),s!==a&&(r=vs())!==a?(t.substr(vt,3)===y?(n=y,vt+=3):(n=a,0===At&&Rt(ie)),n!==a?(bt=e,e=st(r)):(vt=e,e=a)):(vt=e,e=a),e}function ss(){var e,s,r,n,i;return e=vt,s=function(){var e,s,r,n;return e=vt,31===t.charCodeAt(vt)?(s=c,vt++):(s=a,0===At&&Rt(D)),s!==a&&(r=vs())!==a?(t.substr(vt,3)===m?(n=m,vt+=3):(n=a,0===At&&Rt(oe)),n!==a?(bt=e,e=rt(r)):(vt=e,e=a)):(vt=e,e=a),e}(),s!==a?(t.substr(vt,2)===k?(r=k,vt+=2):(r=a,0===At&&Rt(le)),r!==a?(n=vt,At++,i=t.charAt(vt),q.test(i)?vt++:(i=a,0===At&&Rt(ue)),At--,i===a?n=void 0:(vt=n,n=a),n!==a?(bt=e,e=at(s)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function rs(){var e,s,r,n;return e=vt,(s=ss())!==a?(46===t.charCodeAt(vt)?(r=_,vt++):(r=a,0===At&&Rt(V)),r!==a&&(n=xs())!==a?(bt=e,e=nt(s,n)):(vt=e,e=a)):(vt=e,e=a),e}function as(){var e,s,r,n,i,o;return e=vt,os()===a&&null,(s=xs())!==a?(ms(),r=vt,At++,t.substr(vt,2)===b?(n=b,vt+=2):(n=a,0===At&&Rt(ae)),At--,n===a?r=void 0:(vt=r,r=a),r!==a?(n=t.charAt(vt),O.test(n)?vt++:(n=a,0===At&&Rt(ce)),n!==a?(i=vt,At++,o=t.charAt(vt),j.test(o)?vt++:(o=a,0===At&&Rt(ne)),At--,o===a?i=void 0:(vt=i,i=a),i!==a?(bt=e,e=it(s)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a)):(vt=e,e=a),e}function ns(){var e,t;return e=vt,os()===a&&null,(t=xs())!==a?(bt=e,e=ot(t)):(vt=e,e=a),e}function is(){var e,s;return e=vt,ms(),t.substr(vt,6)===A?(s=A,vt+=6):(s=a,0===At&&Rt(pe)),s===a&&(t.substr(vt,7)===$?(s=$,vt+=7):(s=a,0===At&&Rt(ge))),s!==a?(ms(),bt=e,e=lt()):(vt=e,e=a),e}function os(){var e,s,r,n;return e=vt,ms(),t.substr(vt,8)===w?(s=w,vt+=8):(s=a,0===At&&Rt(_e)),s===a&&(t.substr(vt,5)===E?(s=E,vt+=5):(s=a,0===At&&Rt(he))),s!==a?(r=vt,At++,n=t.charAt(vt),j.test(n)?vt++:(n=a,0===At&&Rt(ne)),At--,n===a?r=void 0:(vt=r,r=a),r!==a?(n=ms(),bt=e,e=ut()):(vt=e,e=a)):(vt=e,e=a),e}function ls(){var e,s,r,n,i,o,l,u,c,p;if(e=vt,s=ms(),r=[],58===t.charCodeAt(vt)?(n=":",vt++):(n=a,0===At&&Rt(fe)),n!==a)for(;n!==a;)r.push(n),58===t.charCodeAt(vt)?(n=":",vt++):(n=a,0===At&&Rt(fe));else r=a;return r===a&&(r=vt,46===t.charCodeAt(vt)?(n=_,vt++):(n=a,0===At&&Rt(V)),n!==a?(i=vt,At++,o=vt,l=ms(),46===t.charCodeAt(vt)?(u=_,vt++):(u=a,0===At&&Rt(V)),u!==a?(c=ms(),46===t.charCodeAt(vt)?(p=_,vt++):(p=a,0===At&&Rt(V)),p!==a?o=l=[l,u,c,p]:(vt=o,o=a)):(vt=o,o=a),At--,o===a?i=void 0:(vt=i,i=a),i!==a?r=n=[n,i]:(vt=r,r=a)):(vt=r,r=a)),r!==a?e=s=[s,r,n=ms()]:(vt=e,e=a),e}function us(){var e,s,r;return e=vt,s=ms(),r=t.charAt(vt),I.test(r)?vt++:(r=a,0===At&&Rt(de)),r!==a?e=s=[s,r,ms()]:(vt=e,e=a),e===a&&(e=ks()),e}function cs(){var e,s,r,n,i,o,l,u,c,p;if(e=vt,s=[],r=t.charAt(vt),H.test(r)?vt++:(r=a,0===At&&Rt(xe)),r===a&&(r=vt,46===t.charCodeAt(vt)?(n=_,vt++):(n=a,0===At&&Rt(V)),n!==a?(i=vt,At++,o=vt,l=ms(),46===t.charCodeAt(vt)?(u=_,vt++):(u=a,0===At&&Rt(V)),u!==a?(c=ms(),46===t.charCodeAt(vt)?(p=_,vt++):(p=a,0===At&&Rt(V)),p!==a?o=l=[l,u,c,p]:(vt=o,o=a)):(vt=o,o=a),At--,o===a?i=void 0:(vt=i,i=a),i!==a?r=n=[n,i]:(vt=r,r=a)):(vt=r,r=a),r===a&&(t.substr(vt,2)===S?(r=S,vt+=2):(r=a,0===At&&Rt(ve)),r===a&&(r=ks()))),r!==a)for(;r!==a;)s.push(r),r=t.charAt(vt),H.test(r)?vt++:(r=a,0===At&&Rt(xe)),r===a&&(r=vt,46===t.charCodeAt(vt)?(n=_,vt++):(n=a,0===At&&Rt(V)),n!==a?(i=vt,At++,o=vt,l=ms(),46===t.charCodeAt(vt)?(u=_,vt++):(u=a,0===At&&Rt(V)),u!==a?(c=ms(),46===t.charCodeAt(vt)?(p=_,vt++):(p=a,0===At&&Rt(V)),p!==a?o=l=[l,u,c,p]:(vt=o,o=a)):(vt=o,o=a),At--,o===a?i=void 0:(vt=i,i=a),i!==a?r=n=[n,i]:(vt=r,r=a)):(vt=r,r=a),r===a&&(t.substr(vt,2)===S?(r=S,vt+=2):(r=a,0===At&&Rt(ve)),r===a&&(r=ks())));else s=a;return s!==a&&(bt=e,s=ct()),e=s}function ps(){var e,s,r,n,i;if(e=vt,s=ms(),r=[],n=vt,i=t.charAt(vt),F.test(i)?vt++:(i=a,0===At&&Rt(be)),i!==a?n=i=[i,ms()]:(vt=n,n=a),n===a&&(n=vt,t.substr(vt,2)===R?(i=R,vt+=2):(i=a,0===At&&Rt(ye)),i!==a?n=i=[i,ms()]:(vt=n,n=a)),n!==a)for(;n!==a;)r.push(n),n=vt,i=t.charAt(vt),F.test(i)?vt++:(i=a,0===At&&Rt(be)),i!==a?n=i=[i,ms()]:(vt=n,n=a),n===a&&(n=vt,t.substr(vt,2)===R?(i=R,vt+=2):(i=a,0===At&&Rt(ye)),i!==a?n=i=[i,ms()]:(vt=n,n=a));else r=a;return r!==a?e=s=[s,r]:(vt=e,e=a),e}function gs(){var e,s,r;return e=vt,(s=ls())===a&&(s=cs()),s===a&&(s=null),t.substr(vt,5)===z?(r=z,vt+=5):(r=a,0===At&&Rt(me)),r!==a?(bt=e,e=pt(r)):(vt=e,e=a),e}function _s(){var e,s,r,n,i,o,l,u,c,p;return e=vt,s=ms(),t.substr(vt,4)===J?(r=J,vt+=4):(r=a,0===At&&Rt(ke)),r===a&&(t.substr(vt,2)===P?(r=P,vt+=2):(r=a,0===At&&Rt(Ae)),r===a&&(t.substr(vt,2)===C?(r=C,vt+=2):(r=a,0===At&&Rt($e)))),r!==a?(n=ms(),i=vt,t.substr(vt,3)===M?(o=M,vt+=3):(o=a,0===At&&Rt(we)),o!==a?(l=ms(),t.substr(vt,4)===N?(u=N,vt+=4):(u=a,0===At&&Rt(Ee)),u!==a?(c=ms(),t.substr(vt,2)===P?(p=P,vt+=2):(p=a,0===At&&Rt(Ae)),p!==a?i=o=[o,l,u,c,p,ms()]:(vt=i,i=a)):(vt=i,i=a)):(vt=i,i=a),i===a&&(i=null),e=s=[s,r,n,i]):(vt=e,e=a),e}function hs(){var e,s,r,n,i,o,l,u;if(e=vt,ms(),s=t.charAt(vt),L.test(s)?vt++:(s=a,0===At&&Rt(Se)),s!==a){if(ms(),r=vt,(n=ds())!==a){for(i=[],o=vt,(l=cs())!==a&&(u=ds())!==a?o=l=[l,u]:(vt=o,o=a);o!==a;)i.push(o),o=vt,(l=cs())!==a&&(u=ds())!==a?o=l=[l,u]:(vt=o,o=a);r=n=[n,i]}else vt=r,r=a;r!==a?(n=ms(),i=t.charAt(vt),K.test(i)?vt++:(i=a,0===At&&Rt(Re)),i!==a?(bt=e,e=gt(r)):(vt=e,e=a)):(vt=e,e=a)}else vt=e,e=a;return e}function fs(){var e,s,r,n,i,o,l,u;if(e=vt,ms(),s=vt,44===t.charCodeAt(vt)?(r=g,vt++):(r=a,0===At&&Rt(Q)),r!==a?s=r=[r,n=ms()]:(vt=s,s=a),s===a&&(s=null),r=vt,(n=ds())!==a){for(i=[],o=vt,(l=cs())!==a&&(u=ds())!==a?o=l=[l,u]:(vt=o,o=a);o!==a;)i.push(o),o=vt,(l=cs())!==a&&(u=ds())!==a?o=l=[l,u]:(vt=o,o=a);r=n=[n,i]}else vt=r,r=a;return r!==a?(bt=e,e=_t(r)):(vt=e,e=a),e}function ds(){var e,s,r,n;return e=vt,30===t.charCodeAt(vt)?(s=T,vt++):(s=a,0===At&&Rt(ze)),s!==a&&(r=vs())!==a?(30===t.charCodeAt(vt)?(n=T,vt++):(n=a,0===At&&Rt(ze)),n!==a?(bt=e,e=ht(r)):(vt=e,e=a)):(vt=e,e=a),e}function xs(){var e;return(e=/^[0-9]{1,3}(?!\d|,000)/.exec(t.substr(vt)))?(bt=vt,vt+=e[0].length,{type:"integer",value:parseInt(e[0],10),indices:[bt,vt-1]}):a}function vs(){var e,s,r;if(e=vt,s=[],r=t.charAt(vt),q.test(r)?vt++:(r=a,0===At&&Rt(ue)),r!==a)for(;r!==a;)s.push(r),r=t.charAt(vt),q.test(r)?vt++:(r=a,0===At&&Rt(ue));else s=a;return s!==a&&(bt=e,s=ft(s)),e=s}function bs(){var e,s,r;if(e=vt,s=[],r=t.charAt(vt),G.test(r)?vt++:(r=a,0===At&&Rt(Je)),r!==a)for(;r!==a;)s.push(r),r=t.charAt(vt),G.test(r)?vt++:(r=a,0===At&&Rt(Je));else s=a;return s!==a&&(bt=e,s=dt(s)),e=s}function ys(){var e,s;return e=vt,s=t.charAt(vt),L.test(s)?vt++:(s=a,0===At&&Rt(Se)),s!==a&&(bt=e,s=xt(s)),e=s}function ms(){var e;return(e=ks())===a&&(e=null),e}function ks(){var e;return(e=/^[\s\xa0*]+/.exec(t.substr(vt)))?(vt+=e[0].length,[]):a}if("punctuation_strategy"in s&&"eu"===s.punctuation_strategy&&(ls=function(){var e,s,r;e=vt,s=ms(),44===t.charCodeAt(vt)?(r=g,vt++):(r=a,0===At&&Rt(Q));r!==a?e=s=[s,r,ms()]:(vt=e,e=a);return e},H=/^[;\/:&\-\u2013\u2014~]/),r=o(),s.peg$library)return{peg$result:r,peg$currPos:vt,peg$FAILED:a,peg$maxFailExpected:kt,peg$maxFailPos:mt};if(r!==a&&vt===t.length)return r;throw r!==a&&vt<t.length&&Rt({type:"end"}),zt(kt,mt<t.length?t.charAt(mt):null,mt<t.length?St(mt,mt+1):St(mt,mt))}}}();
|
|
200
|
+
)(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)\uff08\uff09\[\]/"'\*=~\-\u2013\u2014])|$)`),"gi")}];if(!0===e&&"none"===s)return t;const r=[];for(const a of t)!1===e&&null!=a.apocrypha&&!0===a.apocrypha||("books"===s&&(a.regexp=new RegExp(a.regexp.source,"g")),r.push(a));return r},bcv_parser.prototype.regexps.books=bcv_parser.prototype.regexps.get_books(!1,"none"),function(){"use strict";function e(s,t,r,a){var n=Error.call(this,s);return Object.setPrototypeOf&&Object.setPrototypeOf(n,e.prototype),n.expected=t,n.found=r,n.location=a,n.name="SyntaxError",n}function s(e,s,t){return t=t||" ",e.length>s?e:(s-=e.length,e+(t+=t.repeat(s)).slice(0,s))}!function(e,s){function t(){this.constructor=e}t.prototype=s.prototype,e.prototype=new t}(e,Error),e.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r,a=null;for(r=0;r<e.length;r++)if(e[r].source===this.location.source){a=e[r].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,i=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,o=this.location.source+":"+i.line+":"+i.column;if(a){var l=this.location.end,u=s("",i.line.toString().length," "),c=a[n.line-1],p=(n.line===l.line?l.column:c.length+1)-n.column||1;t+="\n --\x3e "+o+"\n"+u+" |\n"+i.line+" | "+c+"\n"+u+" | "+s("",n.column-1," ")+s("",p,"^")}else t+="\n at "+o}return t},e.buildMessage=function(e,s){var t={literal:function(e){return'"'+a(e.text)+'"'},class:function(e){var s=e.parts.map((function(e){return Array.isArray(e)?n(e[0])+"-"+n(e[1]):n(e)}));return"["+(e.inverted?"^":"")+s.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function r(e){return e.charCodeAt(0).toString(16).toUpperCase()}function a(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function n(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function i(e){return t[e.type](e)}return"Expected "+function(e){var s,t,r=e.map(i);if(r.sort(),r.length>0){for(s=1,t=1;s<r.length;s++)r[s-1]!==r[s]&&(r[t]=r[s],t++);r.length=t}switch(r.length){case 1:return r[0];case 2:return r[0]+" or "+r[1];default:return r.slice(0,-1).join(", ")+", or "+r[r.length-1]}}(e)+" but "+function(e){return e?'"'+a(e)+'"':"end of input"}(s)+" found."},grammar={StartRules:["start"],SyntaxError:e,parse:function(s,t){var r,a={},n=(t=void 0!==t?t:{}).grammarSource,i={start:Js},o=Js,l="(",u=")",c="",p="/",g=",",_=".",h="-",f="th",d="nd",x="st",v="/1",b="ff",y="/9",m="/2",k=".1",A="umutwe",$="chapter",w="umurongo",E="verse",S="na",R="to",z="title",J="from",P="of",C="in",M="the",N="book",T="",Z=/^[1-8]/,j=/^[a-z]/,q=/^[0-9]/,O=/^[a-e]/,I=/^["']/,H=/^[,;\/:&\-\u2013\u2014~]/,F=/^[\-\u2013\u2014]/,L=/^[([]/,K=/^[)\]]/,G=/^[^\x1F\x1E([]/,B=$s("(",!1),Y=$s(")",!1),D=$s("",!1),W=$s("/",!1),U=ws([["1","8"]],!1,!1),Q=$s(",",!1),V=$s(".",!1),X=$s("-",!1),ee=$s("th",!1),se=$s("nd",!1),te=$s("st",!1),re=$s("/1",!1),ae=$s("ff",!1),ne=ws([["a","z"]],!1,!1),ie=$s("/9",!1),oe=$s("/2",!1),le=$s(".1",!1),ue=ws([["0","9"]],!1,!1),ce=ws([["a","e"]],!1,!1),pe=$s("umutwe",!1),ge=$s("chapter",!1),_e=$s("umurongo",!1),he=$s("verse",!1),fe=$s(":",!1),de=ws(['"',"'"],!1,!1),xe=ws([",",";","/",":","&","-","–","—","~"],!1,!1),ve=$s("na",!1),be=ws(["-","–","—"],!1,!1),ye=$s("to",!1),me=$s("title",!1),ke=$s("from",!1),Ae=$s("of",!1),$e=$s("in",!1),we=$s("the",!1),Ee=$s("book",!1),Se=ws(["(","["],!1,!1),Re=ws([")","]"],!1,!1),ze=$s("",!1),Je=($s(",000",!1),ws(["","","(","["],!0,!1)),Pe=(ws([" ","\t","\r","\n"," ","*"],!1,!1),function(e,s){return s.unshift([e]),{type:"sequence",value:s,indices:[bs,vs-1]}}),Ce=function(e,s){return void 0===s&&(s=[]),s.unshift([e]),{type:"sequence_post_enclosed",value:s,indices:[bs,vs-1]}},Me=function(e,s){return e.length&&2===e.length&&(e=e[0]),{type:"range",value:[e,s],indices:[bs,vs-1]}},Ne=function(e){return{type:"b",value:e.value,indices:[bs,vs-1]}},Te=function(e,s){return{type:"bc",value:[e,s],indices:[bs,vs-1]}},Ze=function(e,s){return{type:"bc",value:[e,s],indices:[bs,vs-1]}},je=function(e,s){return{type:"bc_title",value:[e,s],indices:[bs,vs-1]}},qe=function(e,s){return{type:"bcv",value:[e,s],indices:[bs,vs-1]}},Oe=function(e,s){return{type:"bcv",value:[e,s],indices:[bs,vs-1]}},Ie=function(e,s){return{type:"bcv",value:[e,s],indices:[bs,vs-1]}},He=function(e,s,t,r){return{type:"range",value:[{type:"bcv",value:[{type:"bc",value:[e,s],indices:[e.indices[0],s.indices[1]]},t],indices:[e.indices[0],t.indices[1]]},r],indices:[bs,vs-1]}},Fe=function(e,s){return{type:"bv",value:[e,s],indices:[bs,vs-1]}},Le=function(e,s){return{type:"bc",value:[s,e],indices:[bs,vs-1]}},Ke=function(e,s,t){return{type:"cb_range",value:[t,e,s],indices:[bs,vs-1]}},Ge=function(e,s){return{type:"bcv",value:[e,s],indices:[bs,vs-1]}},Be=function(e,s){return{type:"bc",value:[s,e],indices:[bs,vs-1]}},Ye=function(e,s){return{type:"bcv",value:[e,s],indices:[bs,vs-1]}},De=function(e){return{type:"c_psalm",value:e.value,indices:[bs,vs-1]}},We=function(e,s){return{type:"cv_psalm",value:[e,s],indices:[bs,vs-1]}},Ue=function(e,s){return{type:"c_title",value:[e,s],indices:[bs,vs-1]}},Qe=function(e,s){return{type:"cv",value:[e,s],indices:[bs,vs-1]}},Ve=function(e,s){return{type:"cv",value:[e,s],indices:[bs,vs-1]}},Xe=function(e){return{type:"c",value:[e],indices:[bs,vs-1]}},es=function(e){return{type:"ff",value:[e],indices:[bs,vs-1]}},ss=function(e,s){return{type:"integer_title",value:[e,s],indices:[bs,vs-1]}},ts=function(e){return{type:"context",value:e.value,indices:[bs,vs-1]}},rs=function(e){return{type:"b",value:e.value,indices:[bs,vs-1]}},as=function(e){return{type:"bc",value:[e,{type:"c",value:[{type:"integer",value:151,indices:[vs-2,vs-1]}],indices:[vs-2,vs-1]}],indices:[bs,vs-1]}},ns=function(e,s){return{type:"bcv",value:[e,{type:"v",value:[s],indices:[s.indices[0],s.indices[1]]}],indices:[bs,vs-1]}},is=function(e){return{type:"v",value:[e],indices:[bs,vs-1]}},os=function(e){return{type:"v",value:[e],indices:[bs,vs-1]}},ls=function(){return{type:"c_explicit"}},us=function(){return{type:"v_explicit"}},cs=function(){return""},ps=function(e){return{type:"title",value:[e],indices:[bs,vs-1]}},gs=function(e){return{type:"translation_sequence",value:e,indices:[bs,vs-1]}},_s=function(e){return{type:"translation_sequence",value:e,indices:[bs,vs-1]}},hs=function(e){return{type:"translation",value:e.value,indices:[bs,vs-1]}},fs=function(e){return{type:"integer",value:parseInt(e.join(""),10),indices:[bs,vs-1]}},ds=function(e){return{type:"word",value:e.join(""),indices:[bs,vs-1]}},xs=function(e){return{type:"stop",value:e,indices:[bs,vs-1]}},vs=0|t.peg$currPos,bs=vs,ys=[{line:1,column:1}],ms=vs,ks=t.peg$maxFailExpected||[],As=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in i))throw new Error("Can't start parsing from rule \""+t.startRule+'".');o=i[t.startRule]}function $s(e,s){return{type:"literal",text:e,ignoreCase:s}}function ws(e,s,t){return{type:"class",parts:e,inverted:s,ignoreCase:t}}function Es(e){var t,r=ys[e];if(r)return r;if(e>=ys.length)t=ys.length-1;else for(t=e;!ys[--t];);for(r={line:(r=ys[t]).line,column:r.column};t<e;)10===s.charCodeAt(t)?(r.line++,r.column=1):r.column++,t++;return ys[e]=r,r}function Ss(e,s,t){var r=Es(e),a=Es(s),i={source:n,start:{offset:e,line:r.line,column:r.column},end:{offset:s,line:a.line,column:a.column}};return t&&n&&"function"==typeof n.offset&&(i.start=n.offset(i.start),i.end=n.offset(i.end)),i}function Rs(e){vs<ms||(vs>ms&&(ms=vs,ks=[]),ks.push(e))}function zs(s,t,r){return new e(e.buildMessage(s,t),s,t,r)}function Js(){var e,s;if(e=[],(s=Is())===a&&(s=Ps())===a&&(s=Ls())===a&&(s=Ms())===a&&(s=Xs())===a&&(s=Os())===a&&(s=Zs())===a&&(s=rt())===a&&(s=js())===a&&(s=qs())===a&&(s=tt())===a&&(s=Ts())===a&&(s=Ds())===a&&(s=Hs())===a&&(s=Ys())===a&&(s=Ns())===a&&(s=Ks())===a&&(s=Bs())===a&&(s=Fs())===a&&(s=Gs())===a&&(s=ht())===a&&(s=ft())===a&&(s=ct())===a&&(s=Ws())===a&&(s=et())===a&&(s=Us())===a&&(s=Qs())===a&&(s=at())===a&&(s=xt())===a&&(s=Vs())===a&&(s=nt())===a&&(s=bt())===a&&(s=yt())===a&&(s=st()),s!==a)for(;s!==a;)e.push(s),(s=Is())===a&&(s=Ps())===a&&(s=Ls())===a&&(s=Ms())===a&&(s=Xs())===a&&(s=Os())===a&&(s=Zs())===a&&(s=rt())===a&&(s=js())===a&&(s=qs())===a&&(s=tt())===a&&(s=Ts())===a&&(s=Ds())===a&&(s=Hs())===a&&(s=Ys())===a&&(s=Ns())===a&&(s=Ks())===a&&(s=Bs())===a&&(s=Fs())===a&&(s=Gs())===a&&(s=ht())===a&&(s=ft())===a&&(s=ct())===a&&(s=Ws())===a&&(s=et())===a&&(s=Us())===a&&(s=Qs())===a&&(s=at())===a&&(s=xt())===a&&(s=Vs())===a&&(s=nt())===a&&(s=bt())===a&&(s=yt())===a&&(s=st());else e=a;return e}function Ps(){var e,s,t,r,n,i;if(e=vs,(s=Ls())===a&&(s=Is())===a&&(s=Ms())===a&&(s=Xs())===a&&(s=Os())===a&&(s=Zs())===a&&(s=rt())===a&&(s=js())===a&&(s=qs())===a&&(s=tt())===a&&(s=Ts())===a&&(s=Ds())===a&&(s=Hs())===a&&(s=Ys())===a&&(s=Ns())===a&&(s=Ks())===a&&(s=Bs())===a&&(s=Fs())===a&&(s=Gs())===a&&(s=st()),s!==a){if(t=[],r=vs,(n=ct())===a&&(n=null),(i=Cs())!==a?r=n=[n,i]:(vs=r,r=a),r!==a)for(;r!==a;)t.push(r),r=vs,(n=ct())===a&&(n=null),(i=Cs())!==a?r=n=[n,i]:(vs=r,r=a);else t=a;t!==a?(bs=e,e=Pe(s,t)):(vs=e,e=a)}else vs=e,e=a;return e}function Cs(){var e;return(e=function(){var e,t,r,n,i,o,c;if(e=vs,40===s.charCodeAt(vs)?(t=l,vs++):(t=a,0===As&&Rs(B)),t!==a)if(mt(),ct(),(r=Cs())!==a){for(n=[],i=vs,(o=ct())===a&&(o=null),(c=Cs())!==a?i=o=[o,c]:(vs=i,i=a);i!==a;)n.push(i),i=vs,(o=ct())===a&&(o=null),(c=Cs())!==a?i=o=[o,c]:(vs=i,i=a);i=mt(),41===s.charCodeAt(vs)?(o=u,vs++):(o=a,0===As&&Rs(Y)),o!==a?(bs=e,e=Ce(r,n)):(vs=e,e=a)}else vs=e,e=a;else vs=e,e=a;return e}())===a&&(e=Ls())===a&&(e=Is())===a&&(e=Ms())===a&&(e=Xs())===a&&(e=Os())===a&&(e=Zs())===a&&(e=rt())===a&&(e=js())===a&&(e=qs())===a&&(e=tt())===a&&(e=Ts())===a&&(e=Ds())===a&&(e=Hs())===a&&(e=Ys())===a&&(e=Ns())===a&&(e=Ks())===a&&(e=Bs())===a&&(e=Fs())===a&&(e=Gs())===a&&(e=Ws())===a&&(e=et())===a&&(e=Us())===a&&(e=Qs())===a&&(e=at())===a&&(e=xt())===a&&(e=Vs())===a&&(e=nt()),e}function Ms(){var e,s,t,r,n,i,o;return e=vs,(s=Os())===a&&(s=Zs())===a&&(s=rt())===a&&(s=js())===a&&(s=qs())===a&&(s=tt())===a&&(s=Ts())===a&&(s=Ds())===a&&(s=Hs())===a&&(s=vs,(t=Ns())!==a?(r=vs,As++,n=vs,(i=pt())!==a?((o=Os())===a&&(o=Zs())===a&&(o=rt())===a&&(o=js())===a&&(o=qs())===a&&(o=tt())===a&&(o=Ts())===a&&(o=Hs())===a&&(o=Ns()),o!==a?n=i=[i,o]:(vs=n,n=a)):(vs=n,n=a),As--,n!==a?(vs=r,r=void 0):r=a,r!==a?s=t=[t,r]:(vs=s,s=a)):(vs=s,s=a),s===a&&(s=Ks())===a&&(s=Bs())===a&&(s=Ys())===a&&(s=Fs())===a&&(s=Gs())===a&&(s=Ws())===a&&(s=et())===a&&(s=Us())===a&&(s=Qs())===a&&(s=at())===a&&(s=xt())===a&&(s=Vs())===a&&(s=nt())),s!==a&&(t=pt())!==a?((r=Xs())===a&&(r=Os())===a&&(r=Zs())===a&&(r=rt())===a&&(r=js())===a&&(r=qs())===a&&(r=tt())===a&&(r=Ts())===a&&(r=Ds())===a&&(r=Hs())===a&&(r=Ns())===a&&(r=Ks())===a&&(r=Bs())===a&&(r=Ys())===a&&(r=Fs())===a&&(r=Gs())===a&&(r=Ws())===a&&(r=et())===a&&(r=Us())===a&&(r=at())===a&&(r=xt())===a&&(r=Qs())===a&&(r=Vs())===a&&(r=nt()),r!==a?(bs=e,e=Me(s,r)):(vs=e,e=a)):(vs=e,e=a),e}function Ns(){var e,t,r,n,i,o;return e=vs,31===s.charCodeAt(vs)?(t=c,vs++):(t=a,0===As&&Rs(D)),t!==a&&(r=vt())!==a?(n=vs,47===s.charCodeAt(vs)?(i=p,vs++):(i=a,0===As&&Rs(W)),i!==a?(o=s.charAt(vs),Z.test(o)?vs++:(o=a,0===As&&Rs(U)),o!==a?n=i=[i,o]:(vs=n,n=a)):(vs=n,n=a),n===a&&(n=null),31===s.charCodeAt(vs)?(i=c,vs++):(i=a,0===As&&Rs(D)),i!==a?(bs=e,e=Ne(r)):(vs=e,e=a)):(vs=e,e=a),e}function Ts(){var e,s,t,r,n,i,o,l,u;if(e=vs,(s=Ns())!==a){if(t=vs,(r=ot())!==a?(n=vs,As++,i=vs,(o=Vs())!==a&&(l=lt())!==a&&(u=nt())!==a?i=o=[o,l,u]:(vs=i,i=a),As--,i!==a?(vs=n,n=void 0):n=a,n!==a?t=r=[r,n]:(vs=t,t=a)):(vs=t,t=a),t===a){if(t=[],(r=lt())!==a)for(;r!==a;)t.push(r),r=lt();else t=a;if(t===a){if(t=[],(r=ut())!==a)for(;r!==a;)t.push(r),r=ut();else t=a;if(t===a){if(t=[],(r=pt())!==a)for(;r!==a;)t.push(r),r=pt();else t=a;t===a&&(t=mt())}}}t!==a&&(r=Vs())!==a?(bs=e,e=Te(s,r)):(vs=e,e=a)}else vs=e,e=a;return e}function Zs(){var e,s,t;return e=vs,(s=tt())===a&&(s=Ts()),s!==a&&(t=gt())!==a?(bs=e,e=je(s,t)):(vs=e,e=a),e}function js(){var e,t,r,n,i,o,l;return e=vs,(t=tt())===a&&(t=Ts()),t!==a?(r=vs,As++,n=vs,46===s.charCodeAt(vs)?(i=_,vs++):(i=a,0===As&&Rs(V)),i!==a&&(o=ot())!==a&&(l=nt())!==a?n=i=[i,o,l]:(vs=n,n=a),n===a&&(n=vs,(i=ct())===a&&(i=null),(o=ot())!==a&&(l=Us())!==a?n=i=[i,o,l]:(vs=n,n=a)),As--,n===a?r=void 0:(vs=r,r=a),r!==a?(n=vs,(i=lt())===a&&(i=ct()),i===a&&(i=null),(o=ot())!==a?n=i=[i,o]:(vs=n,n=a),n===a&&(n=lt()),n!==a?((i=at())===a&&(i=nt()),i!==a?(bs=e,e=qe(t,i)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function qs(){var e,s,t,r,n,i,o;return e=vs,(s=tt())===a&&(s=Ts()),s!==a&&ut()!==a?((t=at())===a&&(t=nt()),t!==a?(r=vs,As++,n=vs,(i=lt())!==a&&(o=nt())!==a?n=i=[i,o]:(vs=n,n=a),As--,n===a?r=void 0:(vs=r,r=a),r!==a?(bs=e,e=Oe(s,t)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function Os(){var e,t,r,n,i,o,l,u;return e=vs,t=function(){var e,t,r,n;return e=vs,(t=Ns())!==a?(mt(),44===s.charCodeAt(vs)?(r=g,vs++):(r=a,0===As&&Rs(Q)),r!==a?(mt(),(n=Vs())!==a?(bs=e,e=Ze(t,n)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}(),t!==a?(mt(),44===s.charCodeAt(vs)?(r=g,vs++):(r=a,0===As&&Rs(Q)),r!==a?(mt(),(n=at())===a&&(n=nt()),n!==a?(i=vs,As++,o=vs,(l=lt())!==a&&(u=nt())!==a?o=l=[l,u]:(vs=o,o=a),As--,o===a?i=void 0:(vs=i,i=a),i!==a?(bs=e,e=Ie(t,n)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function Is(){var e,t,r,n,i,o,l,u;return e=vs,(t=Ns())!==a?(45===s.charCodeAt(vs)?(r=h,vs++):(r=a,0===As&&Rs(X)),r===a&&(r=kt()),r===a&&(r=null),(n=Vs())!==a?(45===s.charCodeAt(vs)?(i=h,vs++):(i=a,0===As&&Rs(X)),i!==a&&(o=nt())!==a?(45===s.charCodeAt(vs)?(l=h,vs++):(l=a,0===As&&Rs(X)),l!==a&&(u=nt())!==a?(bs=e,e=He(t,n,o,u)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function Hs(){var e,s,t,r,n,i;if(e=vs,(s=Ns())!==a){if(t=[],(r=lt())!==a)for(;r!==a;)t.push(r),r=lt();else t=a;if(t===a){if(t=[],(r=ut())!==a)for(;r!==a;)t.push(r),r=ut();else t=a;if(t===a){if(t=[],(r=pt())!==a)for(;r!==a;)t.push(r),r=pt();else t=a;if(t===a){if(t=vs,r=[],(n=ct())!==a)for(;n!==a;)r.push(n),n=ct();else r=a;r!==a?(n=vs,As++,i=ot(),As--,i!==a?(vs=n,n=void 0):n=a,n!==a?t=r=[r,n]:(vs=t,t=a)):(vs=t,t=a),t===a&&(t=mt())}}}t!==a?((r=at())===a&&(r=nt()),r!==a?(bs=e,e=Fe(s,r)):(vs=e,e=a)):(vs=e,e=a)}else vs=e,e=a;return e}function Fs(){var e,s,t;return e=vs,it()!==a&&(s=Vs())!==a?(_t()===a&&null,(t=Ns())!==a?(bs=e,e=Le(s,t)):(vs=e,e=a)):(vs=e,e=a),e}function Ls(){var e,s,t,r;return e=vs,it()!==a&&(s=Vs())!==a&&pt()!==a&&(t=Vs())!==a?(_t()===a&&null,(r=Ns())!==a?(bs=e,e=Ke(s,t,r)):(vs=e,e=a)):(vs=e,e=a),e}function Ks(){var e,s,t;return e=vs,(s=Fs())!==a?(ct()===a&&null,ot()!==a&&(t=nt())!==a?(bs=e,e=Ge(s,t)):(vs=e,e=a)):(vs=e,e=a),e}function Gs(){var e,t,r,n;return e=vs,(t=Vs())!==a?(s.substr(vs,2)===f?(r=f,vs+=2):(r=a,0===As&&Rs(ee)),r===a&&(s.substr(vs,2)===d?(r=d,vs+=2):(r=a,0===As&&Rs(se)),r===a&&(s.substr(vs,2)===x?(r=x,vs+=2):(r=a,0===As&&Rs(te)))),r!==a&&it()!==a?(_t()===a&&null,(n=Ns())!==a?(bs=e,e=Be(t,n)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function Bs(){var e,s,t;return e=vs,(s=Gs())!==a?(ct()===a&&null,ot()!==a&&(t=nt())!==a?(bs=e,e=Ye(s,t)):(vs=e,e=a)):(vs=e,e=a),e}function Ys(){var e,t,r,n;return e=vs,31===s.charCodeAt(vs)?(t=c,vs++):(t=a,0===As&&Rs(D)),t!==a&&(r=vt())!==a?(s.substr(vs,3)===v?(n=v,vs+=3):(n=a,0===As&&Rs(re)),n!==a?(bs=e,e=De(r)):(vs=e,e=a)):(vs=e,e=a),e}function Ds(){var e,s,t;return e=vs,(s=Ys())!==a?(ct()===a&&null,ot()!==a&&(t=nt())!==a?(bs=e,e=We(s,t)):(vs=e,e=a)):(vs=e,e=a),e}function Ws(){var e,s,t;return e=vs,it()!==a&&(s=Vs())!==a&&(t=gt())!==a?(bs=e,e=Ue(s,t)):(vs=e,e=a),e}function Us(){var e,t,r,n,i,o,l;return e=vs,ot()===a&&null,(t=Vs())!==a?(r=vs,As++,n=vs,46===s.charCodeAt(vs)?(i=_,vs++):(i=a,0===As&&Rs(V)),i!==a&&(o=ot())!==a&&(l=nt())!==a?n=i=[i,o,l]:(vs=n,n=a),As--,n===a?r=void 0:(vs=r,r=a),r!==a?(n=vs,(i=lt())===a&&(i=null),(o=ot())!==a?n=i=[i,o]:(vs=n,n=a),n===a&&(n=lt()),n!==a?((i=at())===a&&(i=nt()),i!==a?(bs=e,e=Qe(t,i)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function Qs(){var e,s,t,r,n,i,o;return e=vs,(s=Vs())!==a&&ut()!==a?((t=at())===a&&(t=nt()),t!==a?(r=vs,As++,n=vs,(i=lt())!==a&&(o=nt())!==a?n=i=[i,o]:(vs=n,n=a),As--,n===a?r=void 0:(vs=r,r=a),r!==a?(bs=e,e=Ve(s,t)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function Vs(){var e,s;return e=vs,it()===a&&null,(s=xt())!==a?(bs=e,e=Xe(s)):(vs=e,e=a),e}function Xs(){var e,t,r,n,i,o;return e=vs,(t=js())===a&&(t=qs())===a&&(t=Ts())===a&&(t=Hs())===a&&(t=Us())===a&&(t=Qs())===a&&(t=xt())===a&&(t=Vs())===a&&(t=nt()),t!==a?(mt(),s.substr(vs,2)===b?(r=b,vs+=2):(r=a,0===As&&Rs(ae)),r!==a?(n=function(){var e,t,r,n,i,o,l,u,c;e=vs,t=mt(),46===s.charCodeAt(vs)?(r=_,vs++):(r=a,0===As&&Rs(V));r!==a?(n=vs,As++,i=vs,o=mt(),46===s.charCodeAt(vs)?(l=_,vs++):(l=a,0===As&&Rs(V)),l!==a?(u=mt(),46===s.charCodeAt(vs)?(c=_,vs++):(c=a,0===As&&Rs(V)),c!==a?i=o=[o,l,u,c]:(vs=i,i=a)):(vs=i,i=a),As--,i===a?n=void 0:(vs=n,n=a),n!==a?e=t=[t,r,n]:(vs=e,e=a)):(vs=e,e=a);return e}(),n===a&&(n=null),i=vs,As++,o=s.charAt(vs),j.test(o)?vs++:(o=a,0===As&&Rs(ne)),As--,o===a?i=void 0:(vs=i,i=a),i!==a?(bs=e,e=es(t)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function et(){var e,s,t;return e=vs,(s=xt())!==a&&(t=gt())!==a?(bs=e,e=ss(s,t)):(vs=e,e=a),e}function st(){var e,t,r,n;return e=vs,31===s.charCodeAt(vs)?(t=c,vs++):(t=a,0===As&&Rs(D)),t!==a&&(r=vt())!==a?(s.substr(vs,3)===y?(n=y,vs+=3):(n=a,0===As&&Rs(ie)),n!==a?(bs=e,e=ts(r)):(vs=e,e=a)):(vs=e,e=a),e}function tt(){var e,t,r,n,i;return e=vs,t=function(){var e,t,r,n;return e=vs,31===s.charCodeAt(vs)?(t=c,vs++):(t=a,0===As&&Rs(D)),t!==a&&(r=vt())!==a?(s.substr(vs,3)===m?(n=m,vs+=3):(n=a,0===As&&Rs(oe)),n!==a?(bs=e,e=rs(r)):(vs=e,e=a)):(vs=e,e=a),e}(),t!==a?(s.substr(vs,2)===k?(r=k,vs+=2):(r=a,0===As&&Rs(le)),r!==a?(n=vs,As++,i=s.charAt(vs),q.test(i)?vs++:(i=a,0===As&&Rs(ue)),As--,i===a?n=void 0:(vs=n,n=a),n!==a?(bs=e,e=as(t)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function rt(){var e,t,r,n;return e=vs,(t=tt())!==a?(46===s.charCodeAt(vs)?(r=_,vs++):(r=a,0===As&&Rs(V)),r!==a&&(n=xt())!==a?(bs=e,e=ns(t,n)):(vs=e,e=a)):(vs=e,e=a),e}function at(){var e,t,r,n,i,o;return e=vs,ot()===a&&null,(t=xt())!==a?(mt(),r=vs,As++,s.substr(vs,2)===b?(n=b,vs+=2):(n=a,0===As&&Rs(ae)),As--,n===a?r=void 0:(vs=r,r=a),r!==a?(n=s.charAt(vs),O.test(n)?vs++:(n=a,0===As&&Rs(ce)),n!==a?(i=vs,As++,o=s.charAt(vs),j.test(o)?vs++:(o=a,0===As&&Rs(ne)),As--,o===a?i=void 0:(vs=i,i=a),i!==a?(bs=e,e=is(t)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a)):(vs=e,e=a),e}function nt(){var e,s;return e=vs,ot()===a&&null,(s=xt())!==a?(bs=e,e=os(s)):(vs=e,e=a),e}function it(){var e,t;return e=vs,mt(),s.substr(vs,6)===A?(t=A,vs+=6):(t=a,0===As&&Rs(pe)),t===a&&(s.substr(vs,7)===$?(t=$,vs+=7):(t=a,0===As&&Rs(ge))),t!==a?(mt(),bs=e,e=ls()):(vs=e,e=a),e}function ot(){var e,t,r,n;return e=vs,mt(),s.substr(vs,8)===w?(t=w,vs+=8):(t=a,0===As&&Rs(_e)),t===a&&(s.substr(vs,5)===E?(t=E,vs+=5):(t=a,0===As&&Rs(he))),t!==a?(r=vs,As++,n=s.charAt(vs),j.test(n)?vs++:(n=a,0===As&&Rs(ne)),As--,n===a?r=void 0:(vs=r,r=a),r!==a?(n=mt(),bs=e,e=us()):(vs=e,e=a)):(vs=e,e=a),e}function lt(){var e,t,r,n,i,o,l,u,c,p;if(e=vs,t=mt(),r=[],58===s.charCodeAt(vs)?(n=":",vs++):(n=a,0===As&&Rs(fe)),n!==a)for(;n!==a;)r.push(n),58===s.charCodeAt(vs)?(n=":",vs++):(n=a,0===As&&Rs(fe));else r=a;return r===a&&(r=vs,46===s.charCodeAt(vs)?(n=_,vs++):(n=a,0===As&&Rs(V)),n!==a?(i=vs,As++,o=vs,l=mt(),46===s.charCodeAt(vs)?(u=_,vs++):(u=a,0===As&&Rs(V)),u!==a?(c=mt(),46===s.charCodeAt(vs)?(p=_,vs++):(p=a,0===As&&Rs(V)),p!==a?o=l=[l,u,c,p]:(vs=o,o=a)):(vs=o,o=a),As--,o===a?i=void 0:(vs=i,i=a),i!==a?r=n=[n,i]:(vs=r,r=a)):(vs=r,r=a)),r!==a?e=t=[t,r,n=mt()]:(vs=e,e=a),e}function ut(){var e,t,r;return e=vs,t=mt(),r=s.charAt(vs),I.test(r)?vs++:(r=a,0===As&&Rs(de)),r!==a?e=t=[t,r,mt()]:(vs=e,e=a),e===a&&(e=kt()),e}function ct(){var e,t,r,n,i,o,l,u,c,p;if(e=vs,t=[],r=s.charAt(vs),H.test(r)?vs++:(r=a,0===As&&Rs(xe)),r===a&&(r=vs,46===s.charCodeAt(vs)?(n=_,vs++):(n=a,0===As&&Rs(V)),n!==a?(i=vs,As++,o=vs,l=mt(),46===s.charCodeAt(vs)?(u=_,vs++):(u=a,0===As&&Rs(V)),u!==a?(c=mt(),46===s.charCodeAt(vs)?(p=_,vs++):(p=a,0===As&&Rs(V)),p!==a?o=l=[l,u,c,p]:(vs=o,o=a)):(vs=o,o=a),As--,o===a?i=void 0:(vs=i,i=a),i!==a?r=n=[n,i]:(vs=r,r=a)):(vs=r,r=a),r===a&&(s.substr(vs,2)===S?(r=S,vs+=2):(r=a,0===As&&Rs(ve)),r===a&&(r=kt()))),r!==a)for(;r!==a;)t.push(r),r=s.charAt(vs),H.test(r)?vs++:(r=a,0===As&&Rs(xe)),r===a&&(r=vs,46===s.charCodeAt(vs)?(n=_,vs++):(n=a,0===As&&Rs(V)),n!==a?(i=vs,As++,o=vs,l=mt(),46===s.charCodeAt(vs)?(u=_,vs++):(u=a,0===As&&Rs(V)),u!==a?(c=mt(),46===s.charCodeAt(vs)?(p=_,vs++):(p=a,0===As&&Rs(V)),p!==a?o=l=[l,u,c,p]:(vs=o,o=a)):(vs=o,o=a),As--,o===a?i=void 0:(vs=i,i=a),i!==a?r=n=[n,i]:(vs=r,r=a)):(vs=r,r=a),r===a&&(s.substr(vs,2)===S?(r=S,vs+=2):(r=a,0===As&&Rs(ve)),r===a&&(r=kt())));else t=a;return t!==a&&(bs=e,t=cs()),e=t}function pt(){var e,t,r,n,i;if(e=vs,t=mt(),r=[],n=vs,i=s.charAt(vs),F.test(i)?vs++:(i=a,0===As&&Rs(be)),i!==a?n=i=[i,mt()]:(vs=n,n=a),n===a&&(n=vs,s.substr(vs,2)===R?(i=R,vs+=2):(i=a,0===As&&Rs(ye)),i!==a?n=i=[i,mt()]:(vs=n,n=a)),n!==a)for(;n!==a;)r.push(n),n=vs,i=s.charAt(vs),F.test(i)?vs++:(i=a,0===As&&Rs(be)),i!==a?n=i=[i,mt()]:(vs=n,n=a),n===a&&(n=vs,s.substr(vs,2)===R?(i=R,vs+=2):(i=a,0===As&&Rs(ye)),i!==a?n=i=[i,mt()]:(vs=n,n=a));else r=a;return r!==a?e=t=[t,r]:(vs=e,e=a),e}function gt(){var e,t,r;return e=vs,(t=lt())===a&&(t=ct()),t===a&&(t=null),s.substr(vs,5)===z?(r=z,vs+=5):(r=a,0===As&&Rs(me)),r!==a?(bs=e,e=ps(r)):(vs=e,e=a),e}function _t(){var e,t,r,n,i,o,l,u,c,p;return e=vs,t=mt(),s.substr(vs,4)===J?(r=J,vs+=4):(r=a,0===As&&Rs(ke)),r===a&&(s.substr(vs,2)===P?(r=P,vs+=2):(r=a,0===As&&Rs(Ae)),r===a&&(s.substr(vs,2)===C?(r=C,vs+=2):(r=a,0===As&&Rs($e)))),r!==a?(n=mt(),i=vs,s.substr(vs,3)===M?(o=M,vs+=3):(o=a,0===As&&Rs(we)),o!==a?(l=mt(),s.substr(vs,4)===N?(u=N,vs+=4):(u=a,0===As&&Rs(Ee)),u!==a?(c=mt(),s.substr(vs,2)===P?(p=P,vs+=2):(p=a,0===As&&Rs(Ae)),p!==a?i=o=[o,l,u,c,p,mt()]:(vs=i,i=a)):(vs=i,i=a)):(vs=i,i=a),i===a&&(i=null),e=t=[t,r,n,i]):(vs=e,e=a),e}function ht(){var e,t,r,n,i,o,l,u;if(e=vs,mt(),t=s.charAt(vs),L.test(t)?vs++:(t=a,0===As&&Rs(Se)),t!==a){if(mt(),r=vs,(n=dt())!==a){for(i=[],o=vs,(l=ct())!==a&&(u=dt())!==a?o=l=[l,u]:(vs=o,o=a);o!==a;)i.push(o),o=vs,(l=ct())!==a&&(u=dt())!==a?o=l=[l,u]:(vs=o,o=a);r=n=[n,i]}else vs=r,r=a;r!==a?(n=mt(),i=s.charAt(vs),K.test(i)?vs++:(i=a,0===As&&Rs(Re)),i!==a?(bs=e,e=gs(r)):(vs=e,e=a)):(vs=e,e=a)}else vs=e,e=a;return e}function ft(){var e,t,r,n,i,o,l,u;if(e=vs,mt(),t=vs,44===s.charCodeAt(vs)?(r=g,vs++):(r=a,0===As&&Rs(Q)),r!==a?t=r=[r,n=mt()]:(vs=t,t=a),t===a&&(t=null),r=vs,(n=dt())!==a){for(i=[],o=vs,(l=ct())!==a&&(u=dt())!==a?o=l=[l,u]:(vs=o,o=a);o!==a;)i.push(o),o=vs,(l=ct())!==a&&(u=dt())!==a?o=l=[l,u]:(vs=o,o=a);r=n=[n,i]}else vs=r,r=a;return r!==a?(bs=e,e=_s(r)):(vs=e,e=a),e}function dt(){var e,t,r,n;return e=vs,30===s.charCodeAt(vs)?(t=T,vs++):(t=a,0===As&&Rs(ze)),t!==a&&(r=vt())!==a?(30===s.charCodeAt(vs)?(n=T,vs++):(n=a,0===As&&Rs(ze)),n!==a?(bs=e,e=hs(r)):(vs=e,e=a)):(vs=e,e=a),e}function xt(){var e;return(e=/^[0-9]{1,3}(?!\d|,000)/.exec(s.substr(vs)))?(bs=vs,vs+=e[0].length,{type:"integer",value:parseInt(e[0],10),indices:[bs,vs-1]}):a}function vt(){var e,t,r;if(e=vs,t=[],r=s.charAt(vs),q.test(r)?vs++:(r=a,0===As&&Rs(ue)),r!==a)for(;r!==a;)t.push(r),r=s.charAt(vs),q.test(r)?vs++:(r=a,0===As&&Rs(ue));else t=a;return t!==a&&(bs=e,t=fs(t)),e=t}function bt(){var e,t,r;if(e=vs,t=[],r=s.charAt(vs),G.test(r)?vs++:(r=a,0===As&&Rs(Je)),r!==a)for(;r!==a;)t.push(r),r=s.charAt(vs),G.test(r)?vs++:(r=a,0===As&&Rs(Je));else t=a;return t!==a&&(bs=e,t=ds(t)),e=t}function yt(){var e,t;return e=vs,t=s.charAt(vs),L.test(t)?vs++:(t=a,0===As&&Rs(Se)),t!==a&&(bs=e,t=xs(t)),e=t}function mt(){var e;return(e=kt())===a&&(e=null),e}function kt(){var e;return(e=/^[\s\xa0*]+/.exec(s.substr(vs)))?(vs+=e[0].length,[]):a}if("punctuation_strategy"in t&&"eu"===t.punctuation_strategy&&(lt=function(){var e,t,r;e=vs,t=mt(),44===s.charCodeAt(vs)?(r=g,vs++):(r=a,0===As&&Rs(Q));r!==a?e=t=[t,r,mt()]:(vs=e,e=a);return e},H=/^[;\/:&\-\u2013\u2014~]/),r=o(),t.peg$library)return{peg$result:r,peg$currPos:vs,peg$FAILED:a,peg$maxFailExpected:ks,peg$maxFailPos:ms};if(r!==a&&vs===s.length)return r;throw r!==a&&vs<s.length&&Rs({type:"end"}),zs(ks,ms<s.length?s.charAt(ms):null,ms<s.length?Ss(ms,ms+1):Ss(ms,ms))}}}();
|