UNPKG

bible-passage-reference-parser

Version:

Identifies and parses Bible references (like John 3:16) in over 40 languages.

1,093 lines (1,091 loc) 154 kB
// build/bcv_regexps.ts var bcv_regexps = class { constructor() { this.books = []; this.languages = ["ko"]; this.translations = [/KLB\b/gi]; // 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`. // Start with an inverted book/chapter (cb). The last one doesn't allow plural since it's a single chapter. // Then move onto a book, which is the anchor for everything. // The `/\d+\x1f` is for special Psalm chapters. // The `title` has `[a-z]` instead of `\w` because it could be followed by a number. // [a-e] allows `1:1a`. this.escaped_passage = /(?:^|[^\x1e\x1f\p{L}\p{N}])((?:(?:ch(?:apters?|a?pts?\.?|a?p?s?\.?)?\s*\d+\s*(?:[\u2013\u2014\-]|through|thru|to)\s*\d+\s*(?:from|of|in)(?:\s+the\s+book\s+of)?\s*)|(?:ch(?:apters?|a?pts?\.?|a?p?s?\.?)?\s*\d+\s*(?:from|of|in)(?:\s+the\s+book\s+of)?\s*)|(?:\d+(?:th|nd|st)\s*ch(?:apter|a?pt\.?|a?p?\.?)?\s*(?:from|of|in)(?:\s+the\s+book\s+of)?\s*))?\x1f(\d+)(?:\/\d+)?\x1f(?:\/\d+\x1f|[\d\s.:,;\x1e\x1f&\(\)()\[\]\\/"'\*=~\-–—]|title(?![a-z])|and|ff|장|~|~|절|[a-e](?!\w)|$)+)/giu; // These are the only valid ways to end a potential passage match. The closing parenthesis allows for fully capturing parentheses surrounding translations (ESV**)**. The last one, `[\d\x1f]` needs not to be +; otherwise `Gen5ff` becomes `\x1f0\x1f5ff`, and `adjust_regexp_end` matches the `\x1f5` and incorrectly dangles the ff. \uff09 is a full-width closing parenthesis. this.match_end_split = /\d\W*title|\d\W*ff(?:[\s*]*\.)?|\d[\s*]*[a-e](?!\w)|\x1e(?:[\s*]*[)\]\uff09])?|[\d\x1f]/gi; this.control = /[\x1e\x1f]/g; // These are needed for ranges outside of this class. this.first = /1\.?\s*/; this.second = /2\.?\s*/; this.third = /3\.?\s*/; this.range_and = /(?:[&\u2013\u2014-]|and|(?:~|~))/; this.range_only = /(?:[\u2013\u2014-]|(?:~|~))/; this.pre_book = /(?:^|(?<=[^\p{L}]))/gu; this.pre_number_book = /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))/gu; this.post_book = /(?:(?=[\d\s\.?:,;\x1e\x1f&\(\)()\[\]\/"’'\*=~\-–—])|$)/gu; // Each book regexp should return one parenthesized object: the book string. this.all_books = [ { osis: ["Ps"], testament: "a", extra: "2", // We only want to match a valid OSIS, so we can use a regular `\b` condition. It's always followed by ".1"; the regular Psalms parser can handle `Ps151` on its own. regexp: /\b(Ps151)(?=\.1\b)/g // It's case-sensitive because we only want to match a valid OSIS. No `u` flag is necessary because we're not doing anything that requires it. }, { osis: ["Gen"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Gen|창(?:세기?)?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Exod"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:출애굽기|Exod|탈출기?|출))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Bel"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:벨과\s*[뱀용]|Bel))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Num"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Num|민(?:수기?)?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Sir"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:벤시(?:(?:라크?의\s*|라크?\s*)|리크의\s*)지혜|Sir|집회서|집회))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Wis"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Wis|지혜서?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Lam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:예레미(?:야\s*?애가|아애가)|Lam|애가|애))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["EpJer"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:예레미야의\s*편지|EpJer))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Rev"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:요한(?:\s*[계묵]시록|[계묵]시록)|Rev|묵시|계))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["PrMan"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:므나쎄의\s*기도|PrMan))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Deut"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Deut|신(?:명기|명?)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Josh"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:여호(?:수아기?)?|Josh|수))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Judg"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Judg|판관기|사사기|판관|삿))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ruth"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Ruth|룻기?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Esd"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:에스드라\s*1서|1Esd))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Esd"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:에스드라\s*2서|2Esd))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Isa"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:이사(?:야서?)?|Isa|사))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Sam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:사무엘(?:기(?:\s*하권|하)|\s*?하)|2(?:Sam|사무)|삼하))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Sam"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:사무엘(?:기(?:\s*상권|상)|\s*?상)|1(?:Sam|사무)|삼상))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Kgs"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:열왕기(?:\s*하권?|하)|2(?:Kgs|열왕)|왕하))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Kgs"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:열왕기(?:\s*상권?|상)|1(?:Kgs|열왕)|왕상))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Chr"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:역대(?:기\s*하권?|지?하)|2(?:Chr|역대)|대하))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Chr"], testament: "o", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:역대(?:기\s*상권?|지?상)|1(?:Chr|역대)|대상))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["GkEsth"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:에스[겔텔]\s*추가본|GkEsth))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Esth"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:에(?:스(?:테르기|더[기서]|텔)|(?:스더?)?)|Esth))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Neh"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:느(?:헤(?:미(?:야[기서]?|아))?)?|Neh))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Job"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Job|욥기?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ps"], testament: "oa", testament_books: { "Ps": "oa" }, regexp: /(?:^|(?<=[^\p{L}]))((?:Ps|시편?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["PrAzar"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(PrAzar)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Prov"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Prov|잠언?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Acts"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:Acts|사도(?:행전)?|행))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Eccl"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Eccl|전도서|코헬렛?|전))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["SgThree"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))(SgThree)(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jer"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:예레(?:미(?:야서?|아))?|Jer|렘))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Phlm"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:필레몬(?:에게\s*보낸\s*서간|서)|Phlm|빌레몬서|필레|본))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Lev"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Lev|레(?:위기?)?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ezek"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:에(?:제(?:키엘서?)?|스겔서?)|Ezek|겔))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Dan"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:다니(?:엘서?)?|Dan|단))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hos"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:호(?:세(?:아서?)?)?|Hos))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Joel"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Joel|요엘서?|욜))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Amos"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Amos|아모(?:스서?)?|암))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Ezra"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Ezra|에(?:즈(?:라기?)?|스라기?)|스))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Obad"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:오바(?:드야서|댜서|디야|댜)?|Obad|옵))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jonah"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Jonah|요나서?|욘))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mic"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Mic|미(?:[가카]서?)?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Sus"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Sus|수산나))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Nah"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:Nah|나(?:훔서?)?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hab"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:하(?:바(?:(?:쿡서|꾹))?|박국서?)|Hab|합))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Zeph"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:스바(?:니야서?|냐서?)?|Zeph|습))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Hag"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:하(?:까이서|까|깨)|Hag|학개서|학개?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Zech"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:즈(?:카르야서|가리야)|Zech|스가랴서?|즈카|슥))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mal"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:말(?:라(?:기서|키서|기)?)?|Mal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Gal"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:갈(?:라(?:티아\s*신자들에게\s*보낸\s*서간|디아서)?)?|Gal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Song"], testament: "o", regexp: /(?:^|(?<=[^\p{L}]))((?:솔로몬의\s*노래|Song|아가|아))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Matt"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:마(?:태(?:오\s*)?복음서|(?:태(?:오\s*복음|복음)?)?)|Matt))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Mark"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:마(?:르(?:코\s*복음서?)?|가(?:복음서?)?)|Mark|막))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Luke"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:루카(?:\s*복음서?)?|누가복음서?|Luke|누가|눅))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:요(?:한(?:의\s*첫째\s*서간|[1일]서)|일)|1(?:John|요한)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:요(?:한(?:의\s*둘째\s*서간|[2이]서)|이)|2(?:John|요한)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["3John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:요(?:한(?:의\s*셋째\s*서간|[3삼]서)|삼)|3(?:John|요한)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["John"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:요(?:한\s*?복음서|(?:한(?:\s*복음|복음)?)?)|John))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Rom"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:로마(?:\s*신자들에게\s*보낸\s*서간|서)?|Rom|롬))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Cor"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:코린토(?:\s*신자들에게\s*보낸\s*둘째\s*서간|2서)|고린도[2후]서|2(?:Cor|코린)|고후))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Cor"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:코린토(?:\s*신자들에게\s*보낸\s*첫째\s*서간|1서)|고린도[1전]서|1(?:Cor|코린)|고전))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Eph"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:에(?:페(?:소(?:\s*신자들에게\s*보낸\s*서간|서))?|베소서)|Eph|엡))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Phil"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:필리(?:피(?:\s*신자들에게\s*보낸\s*서간|서))?|빌립보서|Phil|빌))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Col"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:콜로(?:새(?:\s*신자들에게\s*보낸\s*서간|서))?|골로새서|Col|골))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Thess"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:테살로니카(?:\s*신자들에게\s*보낸\s*둘째\s*서간|2서)|데살로니가[2후]서|2(?:Thess|테살)|살후))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Thess"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:테살로니카(?:\s*신자들에게\s*보낸\s*첫째\s*서간|1서)|데살로니가[1전]서|1(?:Thess|테살)|살전))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Tim"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:티모테오(?:에게\s*보낸\s*둘째\s*서간|2서)|디모데[2후]서|2(?:Tim|티모)|딤후))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Tim"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:티모테오(?:에게\s*보낸\s*첫째\s*서간|1서)|디모데[1전]서|1(?:Tim|티모)|딤전))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Titus"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:티토(?:에게\s*보낸\s*서간|서)|Titus|디도서|티토|딛))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Heb"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:히(?:브(?:리(?:인들에게\s*보낸\s*서간|서))?)?|Heb))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jas"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:야고(?:보(?:\s*서간|서))?|Jas|약))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Pet"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:베드로(?:의\s*둘째\s*서간|[2후]서)|2(?:Pet|베드)|벧후))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Pet"], testament: "n", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:베드로(?:의\s*첫째\s*서간|[1전]서)|1(?:Pet|베드)|벧전))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jude"], testament: "n", regexp: /(?:^|(?<=[^\p{L}]))((?:유(?:다(?:\s*서간|서)|다?)|Jude))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Tob"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Tob|토(?:빗기?|비트)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Jdt"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Jdt|유딧기?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["Bar"], testament: "a", regexp: /(?:^|(?<=[^\p{L}]))((?:Bar|바룩서?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["2Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:마카베오(?:기\s*하권|하)|2(?:Macc|마카)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["3Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:마카베오\s*3서|3(?:Macc|마카)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["4Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:마카베오\s*4서|4(?:Macc|마카)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu }, { osis: ["1Macc"], testament: "a", regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:마카베오(?:기\s*상권|상)|1(?:Macc|마카)))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu } ]; } }; // build/bcv_translations.ts var bcv_translations = class { constructor() { this.aliases = { // `current` reflects whatever versification system is active. By default, it matches `default`. It's always fully specified. current: { system: "current", osis: "" }, // `default` is the fully specified default versification system (matching ESV). default: { system: "default", osis: "" } }; this.current_system = "default"; this.systems = { current: {}, 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] // Never actually a book; we add this to Psalms if needed. } }, 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], "2Esd": [40, 48, 36, 52, 56, 59, 140, 63, 47, 60, 46, 51, 58, 48, 63, 78] } }, csb: { 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] } }, 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] } }, nrsvue: { 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], "Bar": [22, 35, 38, 37, 9], "PrAzar": [67], "EpJer": [72], "1Esd": [55, 25, 23, 63, 70, 33, 15, 92, 55] } } }; this.systems.current = structuredClone(this.systems.default); } }; // build/bcv_grammar.js function peg$subclass(child, parent) { function C() { this.constructor = child; } C.prototype = parent.prototype; child.prototype = new C(); } function peg$SyntaxError(message, expected, found, location) { var self = Error.call(this, message); if (Object.setPrototypeOf) { Object.setPrototypeOf(self, peg$SyntaxError.prototype); } self.expected = expected; self.found = found; self.location = location; self.name = "SyntaxError"; return self; } peg$subclass(peg$SyntaxError, Error); function peg$padEnd(str, targetLength, padString) { padString = padString || " "; if (str.length > targetLength) { return str; } targetLength -= str.length; padString += padString.repeat(targetLength); return str + padString.slice(0, targetLength); } peg$SyntaxError.prototype.format = function(sources) { var str = "Error: " + this.message; if (this.location) { var src = null; var k; for (k = 0; k < sources.length; k++) { if (sources[k].source === this.location.source) { src = sources[k].text.split(/\r\n|\n|\r/g); break; } } var s = this.location.start; var offset_s = this.location.source && typeof this.location.source.offset === "function" ? this.location.source.offset(s) : s; var loc = this.location.source + ":" + offset_s.line + ":" + offset_s.column; if (src) { var e = this.location.end; var filler = peg$padEnd("", offset_s.line.toString().length, " "); var line = src[s.line - 1]; var last = s.line === e.line ? e.column : line.length + 1; var hatLen = last - s.column || 1; str += "\n --> " + loc + "\n" + filler + " |\n" + offset_s.line + " | " + line + "\n" + filler + " | " + peg$padEnd("", s.column - 1, " ") + peg$padEnd("", hatLen, "^"); } else { str += "\n at " + loc; } } return str; }; peg$SyntaxError.buildMessage = function(expected, found) { var DESCRIBE_EXPECTATION_FNS = { literal: function(expectation) { return '"' + literalEscape(expectation.text) + '"'; }, class: function(expectation) { var escapedParts = expectation.parts.map(function(part) { return Array.isArray(part) ? classEscape(part[0]) + "-" + classEscape(part[1]) : classEscape(part); }); return "[" + (expectation.inverted ? "^" : "") + escapedParts.join("") + "]"; }, any: function() { return "any character"; }, end: function() { return "end of input"; }, other: function(expectation) { return expectation.description; } }; function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } function literalEscape(s) { return s.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(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function classEscape(s) { return s.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(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function describeExpectation(expectation) { return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); } function describeExpected(expected2) { var descriptions = expected2.map(describeExpectation); var i, j; descriptions.sort(); if (descriptions.length > 0) { for (i = 1, j = 1; i < descriptions.length; i++) { if (descriptions[i - 1] !== descriptions[i]) { descriptions[j] = descriptions[i]; j++; } } descriptions.length = j; } switch (descriptions.length) { case 1: return descriptions[0]; case 2: return descriptions[0] + " or " + descriptions[1]; default: return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1]; } } function describeFound(found2) { return found2 ? '"' + literalEscape(found2) + '"' : "end of input"; } return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; }; function peg$parse(input, options) { options = options !== void 0 ? options : {}; var peg$FAILED = {}; var peg$source = options.grammarSource; var peg$startRuleFunctions = { start: peg$parsestart }; var peg$startRuleFunction = peg$parsestart; var peg$c0 = "("; var peg$c1 = ")"; var peg$c2 = ""; var peg$c3 = "/"; var peg$c4 = ","; var peg$c5 = "."; var peg$c6 = "-"; var peg$c7 = "th"; var peg$c8 = "nd"; var peg$c9 = "st"; var peg$c10 = "/1"; var peg$c11 = "ff"; var peg$c12 = "/9"; var peg$c13 = "/2"; var peg$c14 = ".1"; var peg$c15 = "장"; var peg$c16 = "절"; var peg$c17 = ":"; var peg$c18 = "and"; var peg$c19 = "~"; var peg$c20 = "~"; var peg$c21 = "title"; var peg$c22 = "from"; var peg$c23 = "of"; var peg$c24 = "in"; var peg$c25 = "the"; var peg$c26 = "book"; var peg$c27 = ""; var peg$c28 = ",000"; var peg$r0 = /^[1-8]/; var peg$r1 = /^[a-z]/; var peg$r2 = /^[0-9]/; var peg$r3 = /^[a-e]/; var peg$r4 = /^["']/; var peg$r5 = /^[,;\/:&\-\u2013\u2014~]/; var peg$r6 = /^[\-\u2013\u2014]/; var peg$r7 = /^[([]/; var peg$r8 = /^[)\]]/; var peg$r9 = /^[^\x1F\x1E([]/; var peg$r10 = /^[\s*]/; var peg$e0 = peg$literalExpectation("(", false); var peg$e1 = peg$literalExpectation(")", false); var peg$e2 = peg$literalExpectation("", false); var peg$e3 = peg$literalExpectation("/", false); var peg$e4 = peg$classExpectation([["1", "8"]], false, false); var peg$e5 = peg$literalExpectation(",", false); var peg$e6 = peg$literalExpectation(".", false); var peg$e7 = peg$literalExpectation("-", false); var peg$e8 = peg$literalExpectation("th", false); var peg$e9 = peg$literalExpectation("nd", false); var peg$e10 = peg$literalExpectation("st", false); var peg$e11 = peg$literalExpectation("/1", false); var peg$e12 = peg$literalExpectation("ff", false); var peg$e13 = peg$classExpectation([["a", "z"]], false, false); var peg$e14 = peg$literalExpectation("/9", false); var peg$e15 = peg$literalExpectation("/2", false); var peg$e16 = peg$literalExpectation(".1", false); var peg$e17 = peg$classExpectation([["0", "9"]], false, false); var peg$e18 = peg$classExpectation([["a", "e"]], false, false); var peg$e19 = peg$literalExpectation("장", true); var peg$e20 = peg$literalExpectation("절", true); var peg$e21 = peg$literalExpectation(":", false); var peg$e22 = peg$classExpectation(['"', "'"], false, false); var peg$e23 = peg$classExpectation([",", ";", "/", ":", "&", "-", "–", "—", "~"], false, false); var peg$e24 = peg$literalExpectation("and", false); var peg$e25 = peg$classExpectation(["-", "–", "—"], false, false); var peg$e26 = peg$literalExpectation("~", true); var peg$e27 = peg$literalExpectation("~", false); var peg$e28 = peg$literalExpectation("title", false); var peg$e29 = peg$literalExpectation("from", false); var peg$e30 = peg$literalExpectation("of", false); var peg$e31 = peg$literalExpectation("in", false); var peg$e32 = peg$literalExpectation("the", false); var peg$e33 = peg$literalExpectation("book", false); var peg$e34 = peg$classExpectation(["(", "["], false, false); var peg$e35 = peg$classExpectation([")", "]"], false, false); var peg$e36 = peg$literalExpectation("", false); var peg$e37 = peg$literalExpectation(",000", false); var peg$e38 = peg$classExpectation(["", "", "(", "["], true, false); var peg$e39 = peg$classExpectation([" ", " ", "\r", "\n", " ", "*"], false, false); var peg$f0 = function(val_1, val_2) { val_2.unshift([val_1]); var r = range(); return { "type": "sequence", "value": val_2, "indices": [r.start, r.end - 1] }; }; var peg$f1 = function(val_1, val_2) { if (typeof val_2 === "undefined") val_2 = []; val_2.unshift([val_1]); var r = range(); return { "type": "sequence_post_enclosed", "value": val_2, "indices": [r.start, r.end - 1] }; }; var peg$f2 = function(val_1, val_2) { if (val_1.length && val_1.length === 2) val_1 = val_1[0]; var r = range(); return { "type": "range", "value": [val_1, val_2], "indices": [r.start, r.end - 1] }; }; var peg$f3 = function(val) { var r = range(); return { "type": "b", "value": val.value, "indices": [r.start, r.end - 1] }; }; var peg$f4 = function(val_1, val_2) { var r = range(); return { "type": "bc", "value