@hebcal/leyning 8.2.9 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bundle.js +1660 -2155
  2. package/dist/bundle.min.js +2 -2
  3. package/dist/esm/aliyot.json.js +4 -0
  4. package/dist/esm/calculateHaftarahNumVerses.d.ts +1 -0
  5. package/dist/esm/clone.d.ts +12 -0
  6. package/dist/esm/clone.js +32 -0
  7. package/dist/esm/common.d.ts +33 -0
  8. package/dist/esm/common.js +94 -0
  9. package/dist/esm/csv.d.ts +14 -0
  10. package/dist/esm/festival.d.ts +9 -0
  11. package/dist/esm/festival.js +42 -0
  12. package/dist/esm/getLeyningForHoliday.d.ts +17 -0
  13. package/dist/esm/getLeyningForHoliday.js +106 -0
  14. package/dist/esm/getLeyningKeyForEvent.d.ts +9 -0
  15. package/dist/esm/getLeyningKeyForEvent.js +141 -0
  16. package/dist/esm/getLeyningOnDate.d.ts +21 -0
  17. package/dist/esm/getLeyningOnDate.js +134 -0
  18. package/dist/esm/he.po.d.ts +61 -0
  19. package/dist/esm/he.po.js +4 -0
  20. package/dist/esm/holiday-readings.json.js +4 -0
  21. package/dist/esm/index.d.ts +11 -0
  22. package/dist/esm/index.js +12 -0
  23. package/dist/esm/internalTypes.d.ts +20 -0
  24. package/dist/esm/leyning.d.ts +30 -0
  25. package/dist/esm/leyning.js +203 -0
  26. package/dist/esm/locale.d.ts +2 -0
  27. package/dist/esm/locale.js +17 -0
  28. package/dist/esm/numverses.json.js +4 -0
  29. package/dist/esm/specialReadings.d.ts +15 -0
  30. package/dist/esm/specialReadings.js +142 -0
  31. package/dist/esm/summary.d.ts +18 -0
  32. package/dist/esm/summary.js +83 -0
  33. package/dist/esm/types.d.ts +130 -0
  34. package/dist/getLeyningForHoliday.d.ts +1 -1
  35. package/dist/getLeyningKeyForEvent.d.ts +1 -1
  36. package/dist/getLeyningOnDate.d.ts +1 -1
  37. package/dist/index.cjs +47 -2147
  38. package/dist/index.d.ts +1 -2
  39. package/dist/leyning.d.ts +1 -1
  40. package/dist/locale.d.ts +2 -1
  41. package/dist/specialReadings.d.ts +1 -1
  42. package/package.json +21 -13
  43. package/dist/aliyot.json.d.ts +0 -1570
  44. package/dist/holiday-readings.json.d.ts +0 -2703
  45. package/dist/index.mjs +0 -3039
  46. package/dist/module.d.ts +0 -325
  47. package/dist/numverses.json.d.ts +0 -36
package/dist/bundle.js CHANGED
@@ -1,69 +1,23 @@
1
- /*! @hebcal/leyning v8.2.9 */
2
- var hebcal__leyning = (function (exports, core) {
1
+ /*! @hebcal/leyning v9.0.0 */
2
+ var hebcal__leyning = (function (exports, locale, event, holidays, sedra, ParshaEvent) {
3
3
  'use strict';
4
4
 
5
- var poHe = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);" }, "contexts": { "": { "Shabbat Machar Chodesh": ["שַׁבָּת מָחָר חוֹדֶשׁ"], "Shabbat Rosh Chodesh": ["שַׁבָּת רֹאשׁ חוֹדֶשׁ"], "Pesach I (on Shabbat)": ["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"], "Pesach Chol ha-Moed Day 1": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"], "Pesach Chol ha-Moed Day 2": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"], "Pesach Chol ha-Moed Day 2 on Sunday": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳ (בְּיוֹם רִאשׁוֹן)"], "Pesach Chol ha-Moed Day 3": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"], "Pesach Chol ha-Moed Day 3 on Monday": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳ (בְּיוֹם שָׁנִי)"], "Pesach Chol ha-Moed Day 4": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"], "Pesach Chol ha-Moed Day 5": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"], "Pesach Shabbat Chol ha-Moed": ["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"], "Pesach VII (on Shabbat)": ["פֶּסַח ז׳ (בְּשַׁבָּת)"], "Pesach VIII (on Shabbat)": ["פֶּסַח ח׳ (בְּשַׁבָּת)"], "Shavuot II (on Shabbat)": ["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"], "Rosh Hashana I (on Shabbat)": ["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"], "Yom Kippur (on Shabbat)": ["יוֹם כִּפּוּר (בְּשַׁבָּת)"], "Yom Kippur (Mincha, Traditional)": ["יוֹם כִּפּוּר מִנחָה"], "Yom Kippur (Mincha, Alternate)": ["יוֹם כִּפּוּר מִנחָה"], "Sukkot I (on Shabbat)": ["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"], "Sukkot Chol ha-Moed Day 1": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"], "Sukkot Chol ha-Moed Day 2": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"], "Sukkot Chol ha-Moed Day 3": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"], "Sukkot Chol ha-Moed Day 4": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"], "Sukkot Chol ha-Moed Day 5": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ה׳"], "Sukkot Shabbat Chol ha-Moed": ["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"], "Sukkot Final Day (Hoshana Raba)": ["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"], "Shmini Atzeret (on Shabbat)": ["שְׁמִינִי עֲצֶרֶת (בְּשַׁבָּת)"], "Chanukah Day 1": ["חֲנוּכָּה יוֹם א׳"], "Chanukah Day 2": ["חֲנוּכָּה יוֹם ב׳"], "Chanukah Day 3": ["חֲנוּכָּה יוֹם ג׳"], "Chanukah Day 4": ["חֲנוּכָּה יוֹם ד׳"], "Chanukah Day 5": ["חֲנוּכָּה יוֹם ה׳"], "Chanukah Day 6": ["חֲנוּכָּה יוֹם ו׳"], "Chanukah Day 7": ["חֲנוּכָּה יוֹם ז׳"], "Chanukah Day 7 (on Rosh Chodesh)": ["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"], "Chanukah Day 8": ["חֲנוּכָּה יוֹם ח׳"], "Chanukah Day 1 (on Shabbat)": ["חֲנוּכָּה יוֹם א׳ (בְּשַׁבָּת)"], "Chanukah Day 2 (on Shabbat)": ["חֲנוּכָּה יוֹם ב׳ (בְּשַׁבָּת)"], "Chanukah Day 3 (on Shabbat)": ["חֲנוּכָּה יוֹם ג׳ (בְּשַׁבָּת)"], "Chanukah Day 4 (on Shabbat)": ["חֲנוּכָּה יוֹם ד׳ (בְּשַׁבָּת)"], "Chanukah Day 5 (on Shabbat)": ["חֲנוּכָּה יוֹם ה׳ (בְּשַׁבָּת)"], "Chanukah Day 7 (on Shabbat)": ["חֲנוּכָּה יוֹם ז׳ (בְּשַׁבָּת)"], "Chanukah Day 8 (on Shabbat)": ["חֲנוּכָּה יוֹם ח׳ (בְּשַׁבָּת)"], "Shabbat Rosh Chodesh Chanukah": ["שַׁבָּת רֹאשׁ חוֹדֶשׁ חֲנוּכָּה"], "Yom Kippur (Mincha)": ["יוֹם כִּפּוּר מִנחָה"], "Tish'a B'Av (Mincha)": ["תִּשְׁעָה בְּאָב מִנחָה"], "Asara B'Tevet (Mincha)": ["עֲשָׂרָה בְּטֵבֵת מִנחָה"], "Ta'anit Bechorot (Mincha)": ["תַּעֲנִית בְּכוֹרוֹת מִנחָה"], "Ta'anit Esther (Mincha)": ["תַּעֲנִית אֶסְתֵּר מִנחָה"], "Tzom Gedaliah (Mincha)": ["צוֹם גְּדַלְיָה מִנחָה"], "Tzom Tammuz (Mincha)": ["צוֹם תָּמוּז מִנחָה"] } } };
5
+ var poHe$1 = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);" }, "contexts": { "": { "Shabbat Machar Chodesh": ["שַׁבָּת מָחָר חוֹדֶשׁ"], "Shabbat Rosh Chodesh": ["שַׁבָּת רֹאשׁ חוֹדֶשׁ"], "Pesach I (on Shabbat)": ["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"], "Pesach Chol ha-Moed Day 1": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"], "Pesach Chol ha-Moed Day 2": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"], "Pesach Chol ha-Moed Day 2 on Sunday": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳ (בְּיוֹם רִאשׁוֹן)"], "Pesach Chol ha-Moed Day 3": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"], "Pesach Chol ha-Moed Day 3 on Monday": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳ (בְּיוֹם שָׁנִי)"], "Pesach Chol ha-Moed Day 4": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"], "Pesach Chol ha-Moed Day 5": ["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"], "Pesach Shabbat Chol ha-Moed": ["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"], "Pesach VII (on Shabbat)": ["פֶּסַח ז׳ (בְּשַׁבָּת)"], "Pesach VIII (on Shabbat)": ["פֶּסַח ח׳ (בְּשַׁבָּת)"], "Shavuot II (on Shabbat)": ["שָׁבוּעוֹת יוֹם ב׳ (בְּשַׁבָּת)"], "Rosh Hashana I (on Shabbat)": ["רֹאשׁ הַשָּׁנָה יוֹם א׳ (בְּשַׁבָּת)"], "Yom Kippur (on Shabbat)": ["יוֹם כִּפּוּר (בְּשַׁבָּת)"], "Yom Kippur (Mincha, Traditional)": ["יוֹם כִּפּוּר מִנחָה"], "Yom Kippur (Mincha, Alternate)": ["יוֹם כִּפּוּר מִנחָה"], "Sukkot I (on Shabbat)": ["סוּכּוֹת יוֹם א׳ (בְּשַׁבָּת)"], "Sukkot Chol ha-Moed Day 1": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם א׳"], "Sukkot Chol ha-Moed Day 2": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ב׳"], "Sukkot Chol ha-Moed Day 3": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ג׳"], "Sukkot Chol ha-Moed Day 4": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ד׳"], "Sukkot Chol ha-Moed Day 5": ["סוּכּוֹת חוֹל הַמּוֹעֵד יוֹם ה׳"], "Sukkot Shabbat Chol ha-Moed": ["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"], "Sukkot Final Day (Hoshana Raba)": ["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"], "Shmini Atzeret (on Shabbat)": ["שְׁמִינִי עֲצֶרֶת (בְּשַׁבָּת)"], "Chanukah Day 1": ["חֲנוּכָּה יוֹם א׳"], "Chanukah Day 2": ["חֲנוּכָּה יוֹם ב׳"], "Chanukah Day 3": ["חֲנוּכָּה יוֹם ג׳"], "Chanukah Day 4": ["חֲנוּכָּה יוֹם ד׳"], "Chanukah Day 5": ["חֲנוּכָּה יוֹם ה׳"], "Chanukah Day 6": ["חֲנוּכָּה יוֹם ו׳"], "Chanukah Day 7": ["חֲנוּכָּה יוֹם ז׳"], "Chanukah Day 7 (on Rosh Chodesh)": ["חֲנוּכָּה יוֹם ז׳ (רֹאשׁ חוֹדֶשׁ)"], "Chanukah Day 8": ["חֲנוּכָּה יוֹם ח׳"], "Chanukah Day 1 (on Shabbat)": ["חֲנוּכָּה יוֹם א׳ (בְּשַׁבָּת)"], "Chanukah Day 2 (on Shabbat)": ["חֲנוּכָּה יוֹם ב׳ (בְּשַׁבָּת)"], "Chanukah Day 3 (on Shabbat)": ["חֲנוּכָּה יוֹם ג׳ (בְּשַׁבָּת)"], "Chanukah Day 4 (on Shabbat)": ["חֲנוּכָּה יוֹם ד׳ (בְּשַׁבָּת)"], "Chanukah Day 5 (on Shabbat)": ["חֲנוּכָּה יוֹם ה׳ (בְּשַׁבָּת)"], "Chanukah Day 7 (on Shabbat)": ["חֲנוּכָּה יוֹם ז׳ (בְּשַׁבָּת)"], "Chanukah Day 8 (on Shabbat)": ["חֲנוּכָּה יוֹם ח׳ (בְּשַׁבָּת)"], "Shabbat Rosh Chodesh Chanukah": ["שַׁבָּת רֹאשׁ חוֹדֶשׁ חֲנוּכָּה"], "Yom Kippur (Mincha)": ["יוֹם כִּפּוּר מִנחָה"], "Tish'a B'Av (Mincha)": ["תִּשְׁעָה בְּאָב מִנחָה"], "Asara B'Tevet (Mincha)": ["עֲשָׂרָה בְּטֵבֵת מִנחָה"], "Ta'anit Bechorot (Mincha)": ["תַּעֲנִית בְּכוֹרוֹת מִנחָה"], "Ta'anit Esther (Mincha)": ["תַּעֲנִית אֶסְתֵּר מִנחָה"], "Tzom Gedaliah (Mincha)": ["צוֹם גְּדַלְיָה מִנחָה"], "Tzom Tammuz (Mincha)": ["צוֹם תָּמוּז מִנחָה"] } } };
6
6
 
7
- core.Locale.addTranslations('he', poHe);
8
- core.Locale.addTranslations('h', poHe);
9
- const heStrs = poHe.contexts[''];
10
- const heNoNikud = {};
11
- for (const [key, val] of Object.entries(heStrs)) {
12
- heNoNikud[key] = [core.Locale.hebrewStripNikkud(val[0])];
7
+ locale.Locale.addTranslations('he', poHe$1);
8
+ locale.Locale.addTranslations('h', poHe$1);
9
+ const heStrs$1 = poHe$1.contexts[''];
10
+ const heNoNikud$1 = {};
11
+ for (const [key, val] of Object.entries(heStrs$1)) {
12
+ heNoNikud$1[key] = [locale.Locale.hebrewStripNikkud(val[0])];
13
13
  }
14
- const poHeNoNikud = {
15
- headers: poHe.headers,
16
- contexts: { '': heNoNikud },
14
+ const poHeNoNikud$1 = {
15
+ headers: poHe$1.headers,
16
+ contexts: { '': heNoNikud$1 },
17
17
  };
18
- core.Locale.addTranslations('he-x-NoNikud', poHeNoNikud);
18
+ locale.Locale.addTranslations('he-x-NoNikud', poHeNoNikud$1);
19
19
 
20
- var numverses = {
21
- "Genesis": [0,
22
- 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33,
23
- 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43,
24
- 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26],
25
- "Exodus": [0,
26
- 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27,
27
- 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38,
28
- 29, 31, 43, 38],
29
- "Leviticus": [0,
30
- 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30,
31
- 37, 27, 24, 33, 44, 23, 55, 46, 34],
32
- "Numbers": [0,
33
- 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32,
34
- 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13],
35
- "Deuteronomy": [0,
36
- 46, 37, 29, 49, 30, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22,
37
- 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12],
38
- "Joshua": [0, 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33],
39
- "Judges": [0, 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25],
40
- "Ruth": [0, 22, 23, 18, 22],
41
- "I Samuel": [0, 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 43, 25, 12, 25, 11, 31, 13],
42
- "II Samuel": [0, 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25],
43
- "I Kings": [0, 53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54],
44
- "II Kings": [0, 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],
45
- "Isaiah": [0, 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],
46
- "Jeremiah": [0, 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],
47
- "Lamentations": [0, 22, 22, 66, 22, 22],
48
- "Baruch": [0, 22, 35, 38, 37, 9, 72],
49
- "Esther": [0, 22, 23, 15, 17, 14, 14, 10, 17, 32, 3],
50
- "Ecclesiastes": [0, 18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14],
51
- "Song of Songs": [0, 17, 17, 11, 16, 16, 12, 14, 14],
52
- "Ezekiel": [0, 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],
53
- "Daniel": [0, 21, 49, 100, 34, 30, 29, 28, 27, 27, 21, 45, 13, 64, 42],
54
- "Hosea": [0, 9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10],
55
- "Joel": [0, 20, 27, 5, 21],
56
- "Amos": [0, 15, 16, 15, 13, 27, 14, 17, 14, 15],
57
- "Obadiah": [0, 21],
58
- "Jonah": [0, 16, 11, 10, 11],
59
- "Micah": [0, 16, 13, 12, 14, 14, 16, 20],
60
- "Nachum": [0, 14, 14, 19],
61
- "Habakkuk": [0, 17, 20, 19],
62
- "Zephaniah": [0, 18, 15, 20],
63
- "Haggai": [0, 15, 23],
64
- "Zechariah": [0, 17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21],
65
- "Malachi": [0, 14, 17, 24]
66
- };
20
+ const Genesis=[0,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];const Exodus=[0,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];const Leviticus=[0,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];const Numbers=[0,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];const Deuteronomy=[0,46,37,29,49,30,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];const Joshua=[0,18,24,17,24,15,27,26,35,27,43,23,24,33,15,63,10,18,28,51,9,45,34,16,33];const Judges=[0,36,23,31,24,31,40,25,35,57,18,40,15,25,20,20,31,13,31,30,48,25];const Ruth=[0,22,23,18,22];const Isaiah=[0,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];const Jeremiah=[0,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];const Lamentations=[0,22,22,66,22,22];const Baruch=[0,22,35,38,37,9,72];const Esther=[0,22,23,15,17,14,14,10,17,32,3];const Ecclesiastes=[0,18,26,22,17,19,12,29,17,18,20,10,14];const Ezekiel=[0,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];const Daniel=[0,21,49,100,34,30,29,28,27,27,21,45,13,64,42];const Hosea=[0,9,25,5,19,15,11,16,14,17,15,11,15,15,10];const Joel=[0,20,27,5,21];const Amos=[0,15,16,15,13,27,14,17,14,15];const Obadiah=[0,21];const Jonah=[0,16,11,10,11];const Micah=[0,16,13,12,14,14,16,20];const Nachum=[0,14,14,19];const Habakkuk=[0,17,20,19];const Zephaniah=[0,18,15,20];const Haggai=[0,15,23];const Zechariah=[0,17,17,10,14,11,15,14,23,17,12,17,14,9,21];const Malachi=[0,14,17,24];var numverses = {Genesis:Genesis,Exodus:Exodus,Leviticus:Leviticus,Numbers:Numbers,Deuteronomy:Deuteronomy,Joshua:Joshua,Judges:Judges,Ruth:Ruth,"I Samuel":[0,28,36,21,22,12,21,17,22,27,27,15,25,23,52,35,23,58,30,24,42,16,23,28,23,43,25,12,25,11,31,13],"II Samuel":[0,27,32,39,12,25,23,29,18,13,19,27,31,39,33,37,23,29,32,44,26,22,51,39,25],"I Kings":[0,53,46,28,20,32,38,51,66,28,29,43,33,34,31,34,34,24,46,21,43,29,54],"II Kings":[0,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],Isaiah:Isaiah,Jeremiah:Jeremiah,Lamentations:Lamentations,Baruch:Baruch,Esther:Esther,Ecclesiastes:Ecclesiastes,"Song of Songs":[0,17,17,11,16,16,12,14,14],Ezekiel:Ezekiel,Daniel:Daniel,Hosea:Hosea,Joel:Joel,Amos:Amos,Obadiah:Obadiah,Jonah:Jonah,Micah:Micah,Nachum:Nachum,Habakkuk:Habakkuk,Zephaniah:Zephaniah,Haggai:Haggai,Zechariah:Zechariah,Malachi:Malachi};
67
21
 
68
22
  /**
69
23
  * Names of the books of the Torah. BOOK[1] === 'Genesis'
@@ -262,637 +216,7 @@ function sumVerses(aliyot) {
262
216
  : aliyot.v;
263
217
  }
264
218
 
265
- var festivals0 = { "Pesach I": {
266
- "haft": [
267
- { "k": "Joshua", "b": "3:5", "e": "3:7" },
268
- { "k": "Joshua", "b": "5:2", "e": "6:1" },
269
- { "k": "Joshua", "b": "6:27", "e": "6:27" }
270
- ],
271
- "seph": [
272
- { "k": "Joshua", "b": "5:2", "e": "6:1" },
273
- { "k": "Joshua", "b": "6:27", "e": "6:27" }
274
- ],
275
- "fullkriyah": { "1": { "p": 15, "k": 2, "b": "12:21", "e": "12:24" },
276
- "2": { "p": 15, "k": 2, "b": "12:25", "e": "12:28" },
277
- "3": { "p": 15, "k": 2, "b": "12:29", "e": "12:36" },
278
- "4": { "p": 15, "k": 2, "b": "12:37", "e": "12:42" },
279
- "5": { "p": 15, "k": 2, "b": "12:43", "e": "12:51" },
280
- "M": { "p": 41, "k": 4, "b": "28:16", "e": "28:25" } }
281
- },
282
- "Pesach I (on Shabbat)": {
283
- "haft": [
284
- { "k": "Joshua", "b": "3:5", "e": "3:7" },
285
- { "k": "Joshua", "b": "5:2", "e": "6:1" },
286
- { "k": "Joshua", "b": "6:27", "e": "6:27" }
287
- ],
288
- "seph": [
289
- { "k": "Joshua", "b": "5:2", "e": "6:1" },
290
- { "k": "Joshua", "b": "6:27", "e": "6:27" }
291
- ],
292
- "fullkriyah": { "1": { "p": 15, "k": 2, "b": "12:21", "e": "12:24" },
293
- "2": { "p": 15, "k": 2, "b": "12:25", "e": "12:28" },
294
- "3": { "p": 15, "k": 2, "b": "12:29", "e": "12:32" },
295
- "4": { "p": 15, "k": 2, "b": "12:33", "e": "12:36" },
296
- "5": { "p": 15, "k": 2, "b": "12:37", "e": "12:42" },
297
- "6": { "p": 15, "k": 2, "b": "12:43", "e": "12:47" },
298
- "7": { "p": 15, "k": 2, "b": "12:48", "e": "12:51" },
299
- "M": { "p": 41, "k": 4, "b": "28:16", "e": "28:25" } }
300
- },
301
- "Pesach II": {
302
- "haft": [{ "k": "II Kings", "b": "23:1", "e": "23:9" },
303
- { "k": "II Kings", "b": "23:21", "e": "23:25" }],
304
- "fullkriyah": { "1": { "p": 31, "k": 3, "b": "22:26", "e": "23:3" },
305
- "2": { "p": 31, "k": 3, "b": "23:4", "e": "23:14" },
306
- "3": { "p": 31, "k": 3, "b": "23:15", "e": "23:22" },
307
- "4": { "p": 31, "k": 3, "b": "23:23", "e": "23:32" },
308
- "5": { "p": 31, "k": 3, "b": "23:33", "e": "23:44" },
309
- "M": { "p": 41, "k": 4, "b": "28:16", "e": "28:25" } }
310
- },
311
- "Pesach II (CH''M)": {
312
- "note": "Israel only - according to Vaani T'fillati Siddur Yisraeli",
313
- "il": true,
314
- "fullkriyah": { "1": { "p": 31, "k": 3, "b": "22:26", "e": "23:8" },
315
- "2": { "p": 31, "k": 3, "b": "23:9", "e": "23:14" },
316
- "3": { "p": 31, "k": 3, "b": "23:15", "e": "23:44" },
317
- "4": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
318
- },
319
- "Pesach Chol ha-Moed Day 1": {
320
- "fullkriyah": { "1": { "p": 15, "k": 2, "b": "13:1", "e": "13:4" },
321
- "2": { "p": 15, "k": 2, "b": "13:5", "e": "13:10" },
322
- "3": { "p": 15, "k": 2, "b": "13:11", "e": "13:16" },
323
- "4": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
324
- },
325
- "Pesach Chol ha-Moed Day 2": {
326
- "fullkriyah": { "1": { "p": 18, "k": 2, "b": "22:24", "e": "22:26" },
327
- "2": { "p": 18, "k": 2, "b": "22:27", "e": "23:5" },
328
- "3": { "p": 18, "k": 2, "b": "23:6", "e": "23:19" },
329
- "4": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
330
- },
331
- "Pesach Chol ha-Moed Day 3": {
332
- "fullkriyah": { "1": { "p": 21, "k": 2, "b": "34:1", "e": "34:10" },
333
- "2": { "p": 21, "k": 2, "b": "34:11", "e": "34:17" },
334
- "3": { "p": 21, "k": 2, "b": "34:18", "e": "34:26" },
335
- "4": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
336
- },
337
- "Pesach Chol ha-Moed Day 4": {
338
- "fullkriyah": { "1": { "p": 36, "k": 4, "b": "9:1", "e": "9:5" },
339
- "2": { "p": 36, "k": 4, "b": "9:6", "e": "9:8" },
340
- "3": { "p": 36, "k": 4, "b": "9:9", "e": "9:14" },
341
- "4": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
342
- },
343
- "Pesach Shabbat Chol ha-Moed": {
344
- "megillah": "Song of Songs",
345
- "haft": { "k": "Ezekiel", "b": "37:1", "e": "37:14" },
346
- "fullkriyah": { "1": { "p": 21, "k": 2, "b": "33:12", "e": "33:16" },
347
- "2": { "p": 21, "k": 2, "b": "33:17", "e": "33:19" },
348
- "3": { "p": 21, "k": 2, "b": "33:20", "e": "33:23" },
349
- "4": { "p": 21, "k": 2, "b": "34:1", "e": "34:3" },
350
- "5": { "p": 21, "k": 2, "b": "34:4", "e": "34:10" },
351
- "6": { "p": 21, "k": 2, "b": "34:11", "e": "34:17" },
352
- "7": { "p": 21, "k": 2, "b": "34:18", "e": "34:26" },
353
- "M": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
354
- },
355
- "Pesach VII": {
356
- "haft": { "k": "II Samuel", "b": "22:1", "e": "22:51" },
357
- "fullkriyah": { "1": { "p": 16, "k": 2, "b": "13:17", "e": "13:22" },
358
- "2": { "p": 16, "k": 2, "b": "14:1", "e": "14:8" },
359
- "3": { "p": 16, "k": 2, "b": "14:9", "e": "14:14" },
360
- "4": { "p": 16, "k": 2, "b": "14:15", "e": "14:25" },
361
- "5": { "p": 16, "k": 2, "b": "14:26", "e": "15:26" },
362
- "M": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
363
- },
364
- "Pesach VII (on Shabbat)": {
365
- "megillah": "Song of Songs",
366
- "haft": { "k": "II Samuel", "b": "22:1", "e": "22:51" },
367
- "fullkriyah": { "1": { "p": 16, "k": 2, "b": "13:17", "e": "13:19" },
368
- "2": { "p": 16, "k": 2, "b": "13:20", "e": "13:22" },
369
- "3": { "p": 16, "k": 2, "b": "14:1", "e": "14:4" },
370
- "4": { "p": 16, "k": 2, "b": "14:5", "e": "14:8" },
371
- "5": { "p": 16, "k": 2, "b": "14:9", "e": "14:14" },
372
- "6": { "p": 16, "k": 2, "b": "14:15", "e": "14:25" },
373
- "7": { "p": 16, "k": 2, "b": "14:26", "e": "15:26" },
374
- "M": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
375
- },
376
- "Pesach VIII": {
377
- "haft": { "k": "Isaiah", "b": "10:32", "e": "12:6" },
378
- "fullkriyah": { "1": { "p": 47, "k": 5, "b": "15:19", "e": "15:23" },
379
- "2": { "p": 47, "k": 5, "b": "16:1", "e": "16:3" },
380
- "3": { "p": 47, "k": 5, "b": "16:4", "e": "16:8" },
381
- "4": { "p": 47, "k": 5, "b": "16:9", "e": "16:12" },
382
- "5": { "p": 47, "k": 5, "b": "16:13", "e": "16:17" },
383
- "M": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
384
- },
385
- "Pesach VIII (on Shabbat)": {
386
- "megillah": "Song of Songs",
387
- "haft": { "k": "Isaiah", "b": "10:32", "e": "12:6" },
388
- "fullkriyah": { "1": { "p": 47, "k": 5, "b": "14:22", "e": "14:29" },
389
- "2": { "p": 47, "k": 5, "b": "15:1", "e": "15:18" },
390
- "3": { "p": 47, "k": 5, "b": "15:19", "e": "15:23" },
391
- "4": { "p": 47, "k": 5, "b": "16:1", "e": "16:3" },
392
- "5": { "p": 47, "k": 5, "b": "16:4", "e": "16:8" },
393
- "6": { "p": 47, "k": 5, "b": "16:9", "e": "16:12" },
394
- "7": { "p": 47, "k": 5, "b": "16:13", "e": "16:17" },
395
- "M": { "p": 41, "k": 4, "b": "28:19", "e": "28:25" } }
396
- },
397
- "Pesach III (CH''M)": { "alias": true, "il": true, "key": "Pesach Chol ha-Moed Day 1" },
398
- "Pesach IV (CH''M)": { "alias": true, "il": true, "key": "Pesach Chol ha-Moed Day 2" },
399
- "Pesach V (CH''M)": { "alias": true, "il": true, "key": "Pesach Chol ha-Moed Day 3" },
400
- "Pesach VI (CH''M)": { "alias": true, "il": true, "key": "Pesach Chol ha-Moed Day 4" },
401
- "Pesach Chol ha-Moed Day 2 on Sunday": { "alias": true, "il": false, "key": "Pesach Chol ha-Moed Day 1" },
402
- "Pesach Chol ha-Moed Day 3 on Monday": { "alias": true, "il": false, "key": "Pesach Chol ha-Moed Day 2" },
403
- "Shavuot": {
404
- "note": "Israel only",
405
- "il": true,
406
- "megillah": "Ruth",
407
- "haft": [{ "k": "Ezekiel", "b": "1:1", "e": "1:28" },
408
- { "k": "Ezekiel", "b": "3:12", "e": "3:12" }],
409
- "fullkriyah": { "1": { "p": 17, "k": 2, "b": "19:1", "e": "19:6" },
410
- "2": { "p": 17, "k": 2, "b": "19:7", "e": "19:13" },
411
- "3": { "p": 17, "k": 2, "b": "19:14", "e": "19:19" },
412
- "4": { "p": 17, "k": 2, "b": "19:20", "e": "20:14" },
413
- "5": { "p": 17, "k": 2, "b": "20:15", "e": "20:23" },
414
- "M": { "p": 41, "k": 4, "b": "28:26", "e": "28:31" } }
415
- },
416
- "Shavuot I": {
417
- "haft": [{ "k": "Ezekiel", "b": "1:1", "e": "1:28" },
418
- { "k": "Ezekiel", "b": "3:12", "e": "3:12" }],
419
- "fullkriyah": { "1": { "p": 17, "k": 2, "b": "19:1", "e": "19:6" },
420
- "2": { "p": 17, "k": 2, "b": "19:7", "e": "19:13" },
421
- "3": { "p": 17, "k": 2, "b": "19:14", "e": "19:19" },
422
- "4": { "p": 17, "k": 2, "b": "19:20", "e": "20:14" },
423
- "5": { "p": 17, "k": 2, "b": "20:15", "e": "20:23" },
424
- "M": { "p": 41, "k": 4, "b": "28:26", "e": "28:31" } }
425
- },
426
- "Shavuot II": {
427
- "megillah": "Ruth",
428
- "haft": { "k": "Habakkuk", "b": "3:1", "e": "3:19" },
429
- "seph": { "k": "Habakkuk", "b": "2:20", "e": "3:19" },
430
- "fullkriyah": { "1": { "p": 47, "k": 5, "b": "15:19", "e": "15:23" },
431
- "2": { "p": 47, "k": 5, "b": "16:1", "e": "16:3" },
432
- "3": { "p": 47, "k": 5, "b": "16:4", "e": "16:8" },
433
- "4": { "p": 47, "k": 5, "b": "16:9", "e": "16:12" },
434
- "5": { "p": 47, "k": 5, "b": "16:13", "e": "16:17" },
435
- "M": { "p": 41, "k": 4, "b": "28:26", "e": "28:31" } }
436
- },
437
- "Shavuot II (on Shabbat)": {
438
- "megillah": "Ruth",
439
- "haft": { "k": "Habakkuk", "b": "3:1", "e": "3:19" },
440
- "seph": { "k": "Habakkuk", "b": "2:20", "e": "3:19" },
441
- "fullkriyah": { "1": { "p": 47, "k": 5, "b": "14:22", "e": "14:29" },
442
- "2": { "p": 47, "k": 5, "b": "15:1", "e": "15:18" },
443
- "3": { "p": 47, "k": 5, "b": "15:19", "e": "15:23" },
444
- "4": { "p": 47, "k": 5, "b": "16:1", "e": "16:3" },
445
- "5": { "p": 47, "k": 5, "b": "16:4", "e": "16:8" },
446
- "6": { "p": 47, "k": 5, "b": "16:9", "e": "16:12" },
447
- "7": { "p": 47, "k": 5, "b": "16:13", "e": "16:17" },
448
- "M": { "p": 41, "k": 4, "b": "28:26", "e": "28:31" } }
449
- },
450
- "Fast Day (Morning)": {
451
- "fullkriyah": { "1": { "p": 21, "k": 2, "b": "32:11", "e": "32:14" },
452
- "2": { "p": 21, "k": 2, "b": "34:1", "e": "34:3" },
453
- "3": { "p": 21, "k": 2, "b": "34:4", "e": "34:10" } }
454
- },
455
- "Fast Day (Afternoon)": {
456
- "haft": { "k": "Isaiah", "b": "55:6", "e": "56:8" },
457
- "fullkriyah": { "1": { "p": 21, "k": 2, "b": "32:11", "e": "32:14" },
458
- "2": { "p": 21, "k": 2, "b": "34:1", "e": "34:3" },
459
- "M": { "p": 21, "k": 2, "b": "34:4", "e": "34:10" } }
460
- },
461
- "Asara B'Tevet": { "alias": true, "key": "Fast Day (Morning)" },
462
- "Ta'anit Esther": { "alias": true, "key": "Fast Day (Morning)" },
463
- "Tzom Gedaliah": { "alias": true, "key": "Fast Day (Morning)" },
464
- "Tzom Tammuz": { "alias": true, "key": "Fast Day (Morning)" },
465
- "Asara B'Tevet (Mincha)": { "alias": true, "key": "Fast Day (Afternoon)" },
466
- "Ta'anit Esther (Mincha)": { "alias": true, "key": "Fast Day (Afternoon)" },
467
- "Tzom Gedaliah (Mincha)": { "alias": true, "key": "Fast Day (Afternoon)" },
468
- "Tzom Tammuz (Mincha)": { "alias": true, "key": "Fast Day (Afternoon)" },
469
- "Erev Tish'a B'Av": { "megillah": "Lamentations" },
470
- "Tish'a B'Av": {
471
- "haft": { "k": "Jeremiah", "b": "8:13", "e": "9:23" },
472
- "fullkriyah": { "1": { "p": 45, "k": 5, "b": "4:25", "e": "4:29" },
473
- "2": { "p": 45, "k": 5, "b": "4:30", "e": "4:35" },
474
- "3": { "p": 45, "k": 5, "b": "4:36", "e": "4:40" } }
475
- },
476
- "Tish'a B'Av (Mincha)": { "alias": true, "key": "Fast Day (Afternoon)" },
477
- "Rosh Hashana I": {
478
- "haft": { "k": "I Samuel", "b": "1:1", "e": "2:10" },
479
- "fullkriyah": { "1": { "p": 4, "k": 1, "b": "21:1", "e": "21:4" },
480
- "2": { "p": 4, "k": 1, "b": "21:5", "e": "21:12" },
481
- "3": { "p": 4, "k": 1, "b": "21:13", "e": "21:21" },
482
- "4": { "p": 4, "k": 1, "b": "21:22", "e": "21:27" },
483
- "5": { "p": 4, "k": 1, "b": "21:28", "e": "21:34" },
484
- "M": { "p": 41, "k": 4, "b": "29:1", "e": "29:6" } }
485
- },
486
- "Rosh Hashana I (on Shabbat)": {
487
- "haft": { "k": "I Samuel", "b": "1:1", "e": "2:10" },
488
- "fullkriyah": { "1": { "p": 4, "k": 1, "b": "21:1", "e": "21:4" },
489
- "2": { "p": 4, "k": 1, "b": "21:5", "e": "21:8" },
490
- "3": { "p": 4, "k": 1, "b": "21:9", "e": "21:12" },
491
- "4": { "p": 4, "k": 1, "b": "21:13", "e": "21:17" },
492
- "5": { "p": 4, "k": 1, "b": "21:18", "e": "21:21" },
493
- "6": { "p": 4, "k": 1, "b": "21:22", "e": "21:27" },
494
- "7": { "p": 4, "k": 1, "b": "21:28", "e": "21:34" },
495
- "M": { "p": 41, "k": 4, "b": "29:1", "e": "29:6" } }
496
- },
497
- "Rosh Hashana II": {
498
- "haft": {
499
- "k": "Jeremiah", "b": "31:2", "e": "31:20",
500
- "note": "labeled 31:1–19 in some books"
501
- },
502
- "fullkriyah": { "1": { "p": 4, "k": 1, "b": "22:1", "e": "22:3" },
503
- "2": { "p": 4, "k": 1, "b": "22:4", "e": "22:8" },
504
- "3": { "p": 4, "k": 1, "b": "22:9", "e": "22:14" },
505
- "4": { "p": 4, "k": 1, "b": "22:15", "e": "22:19" },
506
- "5": { "p": 4, "k": 1, "b": "22:20", "e": "22:24" },
507
- "M": { "p": 41, "k": 4, "b": "29:1", "e": "29:6" } }
508
- },
509
- "Yom Kippur": {
510
- "haft": { "k": "Isaiah", "b": "57:14", "e": "58:14" },
511
- "fullkriyah": { "1": { "p": 29, "k": 3, "b": "16:1", "e": "16:6" },
512
- "2": { "p": 29, "k": 3, "b": "16:7", "e": "16:11" },
513
- "3": { "p": 29, "k": 3, "b": "16:12", "e": "16:17" },
514
- "4": { "p": 29, "k": 3, "b": "16:18", "e": "16:24" },
515
- "5": { "p": 29, "k": 3, "b": "16:25", "e": "16:30" },
516
- "6": { "p": 29, "k": 3, "b": "16:31", "e": "16:34" },
517
- "M": { "p": 41, "k": 4, "b": "29:7", "e": "29:11" } }
518
- },
519
- "Yom Kippur (on Shabbat)": {
520
- "haft": { "k": "Isaiah", "b": "57:14", "e": "58:14" },
521
- "fullkriyah": { "1": { "p": 29, "k": 3, "b": "16:1", "e": "16:3" },
522
- "2": { "p": 29, "k": 3, "b": "16:4", "e": "16:6" },
523
- "3": { "p": 29, "k": 3, "b": "16:7", "e": "16:11" },
524
- "4": { "p": 29, "k": 3, "b": "16:12", "e": "16:17" },
525
- "5": { "p": 29, "k": 3, "b": "16:18", "e": "16:24" },
526
- "6": { "p": 29, "k": 3, "b": "16:25", "e": "16:30" },
527
- "7": { "p": 29, "k": 3, "b": "16:31", "e": "16:34" },
528
- "M": { "p": 41, "k": 4, "b": "29:7", "e": "29:11" } }
529
- },
530
- "Yom Kippur (Mincha)": { "alias": true, "key": "Yom Kippur (Mincha, Traditional)" },
531
- "Yom Kippur (Mincha, Traditional)": {
532
- "haft": [{ "k": "Jonah", "b": "1:1", "e": "4:11" },
533
- { "k": "Micah", "b": "7:18", "e": "7:20" }],
534
- "fullkriyah": { "1": { "p": 29, "k": 3, "b": "18:1", "e": "18:5" },
535
- "2": { "p": 29, "k": 3, "b": "18:6", "e": "18:21" },
536
- "M": { "p": 29, "k": 3, "b": "18:22", "e": "18:30" } }
537
- },
538
- "Yom Kippur (Mincha, Alternate)": {
539
- "haft": [{ "k": "Jonah", "b": "1:1", "e": "4:11" },
540
- { "k": "Micah", "b": "7:18", "e": "7:20" }],
541
- "fullkriyah": { "1": { "p": 30, "k": 3, "b": "19:1", "e": "19:4" },
542
- "2": { "p": 30, "k": 3, "b": "19:5", "e": "19:10" },
543
- "M": { "p": 30, "k": 3, "b": "19:11", "e": "19:18" } }
544
- },
545
- "Sukkot I": {
546
- "haft": { "k": "Zechariah", "b": "14:1", "e": "14:21" },
547
- "fullkriyah": { "1": { "p": 31, "k": 3, "b": "22:26", "e": "23:3" },
548
- "2": { "p": 31, "k": 3, "b": "23:4", "e": "23:14" },
549
- "3": { "p": 31, "k": 3, "b": "23:15", "e": "23:22" },
550
- "4": { "p": 31, "k": 3, "b": "23:23", "e": "23:32" },
551
- "5": { "p": 31, "k": 3, "b": "23:33", "e": "23:44" },
552
- "M": { "p": 41, "k": 4, "b": "29:12", "e": "29:16" } }
553
- },
554
- "Sukkot I (on Shabbat)": {
555
- "haft": { "k": "Zechariah", "b": "14:1", "e": "14:21" },
556
- "fullkriyah": { "1": { "p": 31, "k": 3, "b": "22:26", "e": "22:33" },
557
- "2": { "p": 31, "k": 3, "b": "23:1", "e": "23:3" },
558
- "3": { "p": 31, "k": 3, "b": "23:4", "e": "23:8" },
559
- "4": { "p": 31, "k": 3, "b": "23:9", "e": "23:14" },
560
- "5": { "p": 31, "k": 3, "b": "23:15", "e": "23:22" },
561
- "6": { "p": 31, "k": 3, "b": "23:23", "e": "23:32" },
562
- "7": { "p": 31, "k": 3, "b": "23:33", "e": "23:44" },
563
- "M": { "p": 41, "k": 4, "b": "29:12", "e": "29:16" } }
564
- },
565
- "Sukkot II": {
566
- "haft": { "k": "I Kings", "b": "8:2", "e": "8:21" },
567
- "fullkriyah": { "1": { "p": 31, "k": 3, "b": "22:26", "e": "23:3" },
568
- "2": { "p": 31, "k": 3, "b": "23:4", "e": "23:14" },
569
- "3": { "p": 31, "k": 3, "b": "23:15", "e": "23:22" },
570
- "4": { "p": 31, "k": 3, "b": "23:23", "e": "23:32" },
571
- "5": { "p": 31, "k": 3, "b": "23:33", "e": "23:44" },
572
- "M": { "p": 41, "k": 4, "b": "29:12", "e": "29:16" } }
573
- },
574
- "Sukkot Chol ha-Moed Day 1": {
575
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "29:17", "e": "29:19" },
576
- "2": { "p": 41, "k": 4, "b": "29:20", "e": "29:22" },
577
- "3": { "p": 41, "k": 4, "b": "29:23", "e": "29:25" },
578
- "4": { "p": 41, "k": 4, "b": "29:17", "e": "29:22" } }
579
- },
580
- "Sukkot Chol ha-Moed Day 2": {
581
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "29:20", "e": "29:22" },
582
- "2": { "p": 41, "k": 4, "b": "29:23", "e": "29:25" },
583
- "3": { "p": 41, "k": 4, "b": "29:26", "e": "29:28" },
584
- "4": { "p": 41, "k": 4, "b": "29:20", "e": "29:25" } }
585
- },
586
- "Sukkot Chol ha-Moed Day 3": {
587
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "29:23", "e": "29:25" },
588
- "2": { "p": 41, "k": 4, "b": "29:26", "e": "29:28" },
589
- "3": { "p": 41, "k": 4, "b": "29:29", "e": "29:31" },
590
- "4": { "p": 41, "k": 4, "b": "29:23", "e": "29:28" } }
591
- },
592
- "Sukkot Chol ha-Moed Day 4": {
593
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "29:26", "e": "29:28" },
594
- "2": { "p": 41, "k": 4, "b": "29:29", "e": "29:31" },
595
- "3": { "p": 41, "k": 4, "b": "29:32", "e": "29:34" },
596
- "4": { "p": 41, "k": 4, "b": "29:26", "e": "29:31" } }
597
- },
598
- "Sukkot Chol ha-Moed Day 5": {
599
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "29:29", "e": "29:31" },
600
- "2": { "p": 41, "k": 4, "b": "29:32", "e": "29:34" },
601
- "3": { "p": 41, "k": 4, "b": "29:35", "e": "29:37" },
602
- "4": { "p": 41, "k": 4, "b": "29:29", "e": "29:34" } }
603
- },
604
- "Sukkot Shabbat Chol ha-Moed": {
605
- "megillah": "Ecclesiastes",
606
- "haft": { "k": "Ezekiel", "b": "38:18", "e": "39:16" },
607
- "fullkriyah": { "1": { "p": 21, "k": 2, "b": "33:12", "e": "33:16" },
608
- "2": { "p": 21, "k": 2, "b": "33:17", "e": "33:19" },
609
- "3": { "p": 21, "k": 2, "b": "33:20", "e": "33:23" },
610
- "4": { "p": 21, "k": 2, "b": "34:1", "e": "34:3" },
611
- "5": { "p": 21, "k": 2, "b": "34:4", "e": "34:10" },
612
- "6": { "p": 21, "k": 2, "b": "34:11", "e": "34:17" },
613
- "7": { "p": 21, "k": 2, "b": "34:18", "e": "34:26" },
614
- "M-day1": { "p": 41, "k": 4, "b": "29:17", "e": "29:22" },
615
- "M-day2": { "p": 41, "k": 4, "b": "29:20", "e": "29:25" },
616
- "M-day3": { "p": 41, "k": 4, "b": "29:23", "e": "29:28" },
617
- "M-day4": { "p": 41, "k": 4, "b": "29:26", "e": "29:31" },
618
- "M-day5": { "p": 41, "k": 4, "b": "29:29", "e": "29:34" } }
619
- },
620
- "Sukkot Final Day (Hoshana Raba)": {
621
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "29:26", "e": "29:28" },
622
- "2": { "p": 41, "k": 4, "b": "29:29", "e": "29:31" },
623
- "3": { "p": 41, "k": 4, "b": "29:32", "e": "29:34" },
624
- "4": { "p": 41, "k": 4, "b": "29:29", "e": "29:34" } }
625
- },
626
- "Shmini Atzeret": {
627
- "haft": { "k": "I Kings", "b": "8:54", "e": "8:66" },
628
- "fullkriyah": { "1": { "p": 47, "k": 5, "b": "14:22", "e": "14:29" },
629
- "2": { "p": 47, "k": 5, "b": "15:1", "e": "15:18" },
630
- "3": { "p": 47, "k": 5, "b": "15:19", "e": "16:3" },
631
- "4": { "p": 47, "k": 5, "b": "16:4", "e": "16:8" },
632
- "5": { "p": 47, "k": 5, "b": "16:9", "e": "16:17" },
633
- "M": { "p": 41, "k": 4, "b": "29:35", "e": "30:1" } }
634
- },
635
- "Shmini Atzeret (on Shabbat)": {
636
- "megillah": "Ecclesiastes",
637
- "haft": { "k": "I Kings", "b": "8:54", "e": "8:66" },
638
- "fullkriyah": { "1": { "p": 47, "k": 5, "b": "14:22", "e": "14:29" },
639
- "2": { "p": 47, "k": 5, "b": "15:1", "e": "15:18" },
640
- "3": { "p": 47, "k": 5, "b": "15:19", "e": "15:23" },
641
- "4": { "p": 47, "k": 5, "b": "16:1", "e": "16:3" },
642
- "5": { "p": 47, "k": 5, "b": "16:4", "e": "16:8" },
643
- "6": { "p": 47, "k": 5, "b": "16:9", "e": "16:12" },
644
- "7": { "p": 47, "k": 5, "b": "16:13", "e": "16:17" },
645
- "M": { "p": 41, "k": 4, "b": "29:35", "e": "30:1" } }
646
- },
647
- "Erev Simchat Torah": {
648
- "fullkriyah": { "1": { "p": 54, "k": 5, "b": "33:1", "e": "33:7" },
649
- "2": { "p": 54, "k": 5, "b": "33:8", "e": "33:12" },
650
- "3": { "p": 54, "k": 5, "b": "33:13", "e": "33:17" } }
651
- },
652
- "Simchat Torah": {
653
- "haft": { "k": "Joshua", "b": "1:1", "e": "1:18" },
654
- "fullkriyah": { "1": { "p": 54, "k": 5, "b": "33:1", "e": "33:7" },
655
- "2": { "p": 54, "k": 5, "b": "33:8", "e": "33:12" },
656
- "3": { "p": 54, "k": 5, "b": "33:13", "e": "33:17" },
657
- "4": { "p": 54, "k": 5, "b": "33:18", "e": "33:21" },
658
- "5": { "p": 54, "k": 5, "b": "33:22", "e": "33:26" },
659
- "6": { "p": 54, "k": 5, "b": "33:27", "e": "34:12" },
660
- "7": { "p": 1, "k": 1, "b": "1:1", "e": "2:3" },
661
- "M": { "p": 41, "k": 4, "b": "29:35", "e": "30:1" } }
662
- },
663
- "Simchat Torah (on Shabbat)": {
664
- "megillah": "Ecclesiastes",
665
- "haft": { "k": "Joshua", "b": "1:1", "e": "1:18" },
666
- "fullkriyah": { "1": { "p": 54, "k": 5, "b": "33:1", "e": "33:7" },
667
- "2": { "p": 54, "k": 5, "b": "33:8", "e": "33:12" },
668
- "3": { "p": 54, "k": 5, "b": "33:13", "e": "33:17" },
669
- "4": { "p": 54, "k": 5, "b": "33:18", "e": "33:21" },
670
- "5": { "p": 54, "k": 5, "b": "33:22", "e": "33:26" },
671
- "6": { "p": 54, "k": 5, "b": "33:27", "e": "33:29" },
672
- "7": { "p": 54, "k": 5, "b": "34:1", "e": "34:12" },
673
- "8": { "p": 1, "k": 1, "b": "1:1", "e": "2:3" },
674
- "M": { "p": 41, "k": 4, "b": "29:35", "e": "30:1" } }
675
- },
676
- "Shabbat Rosh Chodesh Chanukah": {
677
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
678
- "fullkriyah": { "7": { "p": 41, "k": 4, "b": "28:9", "e": "28:15" },
679
- "M": { "p": 35, "k": 4, "b": "7:42", "e": "7:47" } }
680
- },
681
- "Chanukah Day 1": {
682
- "fullkriyah": { "1": { "p": 35, "k": 4, "b": "7:1", "e": "7:11" },
683
- "2": { "p": 35, "k": 4, "b": "7:12", "e": "7:14" },
684
- "3": { "p": 35, "k": 4, "b": "7:15", "e": "7:17" } },
685
- "alt": { "1": { "p": 35, "k": 4, "b": "7:1", "e": "7:3" },
686
- "2": { "p": 35, "k": 4, "b": "7:4", "e": "7:11" },
687
- "3": { "p": 35, "k": 4, "b": "7:12", "e": "7:17" } }
688
- },
689
- "Chanukah Day 1 (on Shabbat)": {
690
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
691
- "fullkriyah": { "M": { "p": 35, "k": 4, "b": "7:1", "e": "7:17" } }
692
- },
693
- "Chanukah Day 2": {
694
- "fullkriyah": { "1": { "p": 35, "k": 4, "b": "7:18", "e": "7:20" },
695
- "2": { "p": 35, "k": 4, "b": "7:21", "e": "7:23" },
696
- "3": { "p": 35, "k": 4, "b": "7:24", "e": "7:29" } },
697
- "alt": { "1": { "p": 35, "k": 4, "b": "7:18", "e": "7:20" },
698
- "2": { "p": 35, "k": 4, "b": "7:21", "e": "7:23" },
699
- "3": { "p": 35, "k": 4, "b": "7:18", "e": "7:23" } }
700
- },
701
- "Chanukah Day 2 (on Shabbat)": {
702
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
703
- "fullkriyah": { "M": { "p": 35, "k": 4, "b": "7:18", "e": "7:23" } }
704
- },
705
- "Chanukah Day 3": {
706
- "fullkriyah": { "1": { "p": 35, "k": 4, "b": "7:24", "e": "7:26" },
707
- "2": { "p": 35, "k": 4, "b": "7:27", "e": "7:29" },
708
- "3": { "p": 35, "k": 4, "b": "7:30", "e": "7:35" } },
709
- "alt": { "1": { "p": 35, "k": 4, "b": "7:24", "e": "7:26" },
710
- "2": { "p": 35, "k": 4, "b": "7:27", "e": "7:29" },
711
- "3": { "p": 35, "k": 4, "b": "7:24", "e": "7:29" } }
712
- },
713
- "Chanukah Day 3 (on Shabbat)": {
714
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
715
- "fullkriyah": { "M": { "p": 35, "k": 4, "b": "7:24", "e": "7:29" } }
716
- },
717
- "Chanukah Day 4": {
718
- "fullkriyah": { "1": { "p": 35, "k": 4, "b": "7:30", "e": "7:32" },
719
- "2": { "p": 35, "k": 4, "b": "7:33", "e": "7:35" },
720
- "3": { "p": 35, "k": 4, "b": "7:36", "e": "7:41" } },
721
- "alt": { "1": { "p": 35, "k": 4, "b": "7:30", "e": "7:32" },
722
- "2": { "p": 35, "k": 4, "b": "7:33", "e": "7:35" },
723
- "3": { "p": 35, "k": 4, "b": "7:30", "e": "7:35" } }
724
- },
725
- "Chanukah Day 4 (on Shabbat)": {
726
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
727
- "fullkriyah": { "M": { "p": 35, "k": 4, "b": "7:30", "e": "7:35" } }
728
- },
729
- "Chanukah Day 5": {
730
- "fullkriyah": { "1": { "p": 35, "k": 4, "b": "7:36", "e": "7:38" },
731
- "2": { "p": 35, "k": 4, "b": "7:39", "e": "7:41" },
732
- "3": { "p": 35, "k": 4, "b": "7:42", "e": "7:47" } },
733
- "alt": { "1": { "p": 35, "k": 4, "b": "7:36", "e": "7:38" },
734
- "2": { "p": 35, "k": 4, "b": "7:39", "e": "7:41" },
735
- "3": { "p": 35, "k": 4, "b": "7:36", "e": "7:41" } }
736
- },
737
- "Chanukah Day 5 (on Shabbat)": {
738
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
739
- "fullkriyah": { "M": { "p": 35, "k": 4, "b": "7:36", "e": "7:41" } }
740
- },
741
- "Chanukah Day 6": {
742
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "28:1", "e": "28:5" },
743
- "2": { "p": 41, "k": 4, "b": "28:6", "e": "28:10" },
744
- "3": { "p": 41, "k": 4, "b": "28:11", "e": "28:15" },
745
- "4": { "p": 35, "k": 4, "b": "7:42", "e": "7:47" } }
746
- },
747
- "Chanukah Day 7": {
748
- "fullkriyah": { "1": { "p": 35, "k": 4, "b": "7:48", "e": "7:50" },
749
- "2": { "p": 35, "k": 4, "b": "7:51", "e": "7:53" },
750
- "3": { "p": 35, "k": 4, "b": "7:54", "e": "7:59" } },
751
- "alt": { "1": { "p": 35, "k": 4, "b": "7:48", "e": "7:50" },
752
- "2": { "p": 35, "k": 4, "b": "7:51", "e": "7:53" },
753
- "3": { "p": 35, "k": 4, "b": "7:48", "e": "7:53" } }
754
- },
755
- "Chanukah Day 7 (on Rosh Chodesh)": {
756
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "28:1", "e": "28:5" },
757
- "2": { "p": 41, "k": 4, "b": "28:6", "e": "28:10" },
758
- "3": { "p": 41, "k": 4, "b": "28:11", "e": "28:15" },
759
- "4": { "p": 35, "k": 4, "b": "7:48", "e": "7:53" } }
760
- },
761
- "Chanukah Day 7 (on Shabbat)": {
762
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
763
- "fullkriyah": { "M": { "p": 35, "k": 4, "b": "7:48", "e": "7:53" } }
764
- },
765
- "Chanukah Day 8": {
766
- "fullkriyah": { "1": { "p": 35, "k": 4, "b": "7:54", "e": "7:56" },
767
- "2": { "p": 35, "k": 4, "b": "7:57", "e": "7:59" },
768
- "3": { "p": 35, "k": 4, "b": "7:60", "e": "8:4" } }
769
- },
770
- "Chanukah Day 8 (on Shabbat)": {
771
- "haft": { "k": "I Kings", "b": "7:40", "e": "7:50" },
772
- "fullkriyah": { "M": { "p": 35, "k": 4, "b": "7:54", "e": "8:4" } }
773
- },
774
- "Erev Purim": { "megillah": "Esther" },
775
- "Purim": {
776
- "megillah": "Esther",
777
- "fullkriyah": { "1": { "p": 16, "k": 2, "b": "17:8", "e": "17:10" },
778
- "2": { "p": 16, "k": 2, "b": "17:11", "e": "17:13" },
779
- "3": { "p": 16, "k": 2, "b": "17:14", "e": "17:16" } }
780
- },
781
- "Shushan Purim": {
782
- "note": "Jerusalem & walled cities only",
783
- "il": true,
784
- "megillah": "Esther",
785
- "fullkriyah": { "1": { "p": 16, "k": 2, "b": "17:8", "e": "17:10" },
786
- "2": { "p": 16, "k": 2, "b": "17:11", "e": "17:13" },
787
- "3": { "p": 16, "k": 2, "b": "17:14", "e": "17:16" } }
788
- },
789
- "Shushan Purim (on Shabbat)": {
790
- "il": true,
791
- "note": "Jerusalem & walled cities only: special maftir Exodus 17:8-16, same Haftara as Shabbat Zachor"
792
- },
793
- "Shabbat HaChodesh": {
794
- "haft": { "k": "Ezekiel", "b": "45:16", "e": "46:18" },
795
- "seph": { "k": "Ezekiel", "b": "45:18", "e": "46:15" },
796
- "fullkriyah": { "M": { "p": 15, "k": 2, "b": "12:1", "e": "12:20" } }
797
- },
798
- "Shabbat HaChodesh (on Rosh Chodesh)": {
799
- "haft": { "k": "Ezekiel", "b": "45:16", "e": "46:18" },
800
- "seph": { "k": "Ezekiel", "b": "45:18", "e": "46:15" },
801
- "fullkriyah": { "7": { "p": 41, "k": 4, "b": "28:9", "e": "28:15" },
802
- "M": { "p": 15, "k": 2, "b": "12:1", "e": "12:20" } }
803
- },
804
- "Shabbat HaGadol": {
805
- "haft": { "k": "Malachi", "b": "3:4", "e": "3:24" }
806
- },
807
- "Shabbat Parah": {
808
- "haft": { "k": "Ezekiel", "b": "36:16", "e": "36:38" },
809
- "seph": { "k": "Ezekiel", "b": "36:16", "e": "36:36" },
810
- "fullkriyah": { "M": { "p": 39, "k": 4, "b": "19:1", "e": "19:22" } }
811
- },
812
- "Shabbat Shekalim": {
813
- "haft": { "k": "II Kings", "b": "12:1", "e": "12:17" },
814
- "seph": { "k": "II Kings", "b": "11:17", "e": "12:17" },
815
- "fullkriyah": { "M": { "p": 21, "k": 2, "b": "30:11", "e": "30:16" } }
816
- },
817
- "Shabbat Shekalim (on Rosh Chodesh)": {
818
- "haft": { "k": "II Kings", "b": "12:1", "e": "12:17" },
819
- "seph": { "k": "II Kings", "b": "11:17", "e": "12:17" },
820
- "fullkriyah": { "7": { "p": 41, "k": 4, "b": "28:9", "e": "28:15" },
821
- "M": { "p": 21, "k": 2, "b": "30:11", "e": "30:16" } }
822
- },
823
- "Shabbat Shuva (with Vayeilech)": {
824
- "haft": [{ "k": "Hosea", "b": "14:2", "e": "14:10" },
825
- { "k": "Micah", "b": "7:18", "e": "7:20" }]
826
- },
827
- "Shabbat Shuva (with Ha'azinu)": {
828
- "haft": [{ "k": "Hosea", "b": "14:2", "e": "14:10" },
829
- { "k": "Joel", "b": "2:15", "e": "2:27" }],
830
- "seph": [{ "k": "Hosea", "b": "14:2", "e": "14:10" },
831
- { "k": "Micah", "b": "7:18", "e": "7:20" }]
832
- },
833
- "Shabbat Shuva": {
834
- "haft": [{ "k": "Hosea", "b": "14:2", "e": "14:10" },
835
- { "k": "Micah", "b": "7:18", "e": "7:20" },
836
- { "k": "Joel", "b": "2:15", "e": "2:27" }]
837
- },
838
- "Shabbat Zachor": {
839
- "haft": { "k": "I Samuel", "b": "15:2", "e": "15:34" },
840
- "seph": { "k": "I Samuel", "b": "15:1", "e": "15:34" },
841
- "fullkriyah": { "M": { "p": 49, "k": 5, "b": "25:17", "e": "25:19" } }
842
- },
843
- "Pinchas occurring after 17 Tammuz": {
844
- "haft": { "k": "Jeremiah", "b": "1:1", "e": "2:3" }
845
- },
846
- "Kedoshim following Special Shabbat": {
847
- "haft": { "k": "Amos", "b": "9:7", "e": "9:15" },
848
- "seph": { "k": "Ezekiel", "b": "20:2", "e": "20:20" }
849
- },
850
- "Masei on Shabbat Rosh Chodesh": {
851
- "haft": [
852
- { "k": "Jeremiah", "b": "2:4", "e": "2:28" },
853
- { "k": "Jeremiah", "b": "3:4", "e": "3:4" }
854
- ],
855
- "seph": [
856
- { "k": "Jeremiah", "b": "2:4", "e": "2:28" },
857
- { "k": "Jeremiah", "b": "4:1", "e": "4:2" },
858
- { "k": "Isaiah", "b": "66:1", "e": "66:1" },
859
- { "k": "Isaiah", "b": "66:23", "e": "66:23" }
860
- ],
861
- "fullkriyah": { "M": { "p": 41, "k": 4, "b": "28:9", "e": "28:15" } }
862
- },
863
- "Matot-Masei on Shabbat Rosh Chodesh": { "alias": true, "key": "Masei on Shabbat Rosh Chodesh" },
864
- "Ki Teitzei with 3rd Haftarah of Consolation": {
865
- "haft": [
866
- { "k": "Isaiah", "b": "54:1", "e": "54:10" },
867
- { "k": "Isaiah", "b": "54:11", "e": "55:5" }
868
- ]
869
- },
870
- "Rosh Chodesh": {
871
- "fullkriyah": { "1": { "p": 41, "k": 4, "b": "28:1", "e": "28:3" },
872
- "2": { "p": 41, "k": 4, "b": "28:3", "e": "28:5" },
873
- "3": { "p": 41, "k": 4, "b": "28:6", "e": "28:10" },
874
- "4": { "p": 41, "k": 4, "b": "28:11", "e": "28:15" } }
875
- },
876
- "Rosh Chodesh Nisan": { "alias": true, "key": "Rosh Chodesh" },
877
- "Rosh Chodesh Iyyar": { "alias": true, "key": "Rosh Chodesh" },
878
- "Rosh Chodesh Sivan": { "alias": true, "key": "Rosh Chodesh" },
879
- "Rosh Chodesh Tamuz": { "alias": true, "key": "Rosh Chodesh" },
880
- "Rosh Chodesh Av": { "alias": true, "key": "Rosh Chodesh" },
881
- "Rosh Chodesh Elul": { "alias": true, "key": "Rosh Chodesh" },
882
- "Rosh Chodesh Tishrei": { "alias": true, "key": "Rosh Chodesh" },
883
- "Rosh Chodesh Cheshvan": { "alias": true, "key": "Rosh Chodesh" },
884
- "Rosh Chodesh Kislev": { "alias": true, "key": "Rosh Chodesh" },
885
- "Rosh Chodesh Sh'vat": { "alias": true, "key": "Rosh Chodesh" },
886
- "Rosh Chodesh Adar": { "alias": true, "key": "Rosh Chodesh" },
887
- "Rosh Chodesh Adar I": { "alias": true, "key": "Rosh Chodesh" },
888
- "Rosh Chodesh Adar II": { "alias": true, "key": "Rosh Chodesh" },
889
- "Shabbat Rosh Chodesh": {
890
- "haft": { "k": "Isaiah", "b": "66:1", "e": "66:24" },
891
- "fullkriyah": { "M": { "p": 41, "k": 4, "b": "28:9", "e": "28:15" } }
892
- },
893
- "Shabbat Machar Chodesh": {
894
- "haft": { "k": "I Samuel", "b": "20:18", "e": "20:42" }
895
- } };
219
+ const Shavuot={note:"Israel only",il:true,megillah:"Ruth",haft:[{k:"Ezekiel",b:"1:1",e:"1:28"},{k:"Ezekiel",b:"3:12",e:"3:12"}],fullkriyah:{"1":{p:17,k:2,b:"19:1",e:"19:6"},"2":{p:17,k:2,b:"19:7",e:"19:13"},"3":{p:17,k:2,b:"19:14",e:"19:19"},"4":{p:17,k:2,b:"19:20",e:"20:14"},"5":{p:17,k:2,b:"20:15",e:"20:23"},M:{p:41,k:4,b:"28:26",e:"28:31"}}};const Purim={megillah:"Esther",fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}};var festivals0 = {"Pesach I":{haft:[{k:"Joshua",b:"3:5",e:"3:7"},{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],seph:[{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:36"},"4":{p:15,k:2,b:"12:37",e:"12:42"},"5":{p:15,k:2,b:"12:43",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach I (on Shabbat)":{haft:[{k:"Joshua",b:"3:5",e:"3:7"},{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],seph:[{k:"Joshua",b:"5:2",e:"6:1"},{k:"Joshua",b:"6:27",e:"6:27"}],fullkriyah:{"1":{p:15,k:2,b:"12:21",e:"12:24"},"2":{p:15,k:2,b:"12:25",e:"12:28"},"3":{p:15,k:2,b:"12:29",e:"12:32"},"4":{p:15,k:2,b:"12:33",e:"12:36"},"5":{p:15,k:2,b:"12:37",e:"12:42"},"6":{p:15,k:2,b:"12:43",e:"12:47"},"7":{p:15,k:2,b:"12:48",e:"12:51"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II":{haft:[{k:"II Kings",b:"23:1",e:"23:9"},{k:"II Kings",b:"23:21",e:"23:25"}],fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"28:16",e:"28:25"}}},"Pesach II (CH''M)":{note:"Israel only - according to Vaani T'fillati Siddur Yisraeli",il:true,fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:8"},"2":{p:31,k:3,b:"23:9",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:44"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 1":{fullkriyah:{"1":{p:15,k:2,b:"13:1",e:"13:4"},"2":{p:15,k:2,b:"13:5",e:"13:10"},"3":{p:15,k:2,b:"13:11",e:"13:16"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 2":{fullkriyah:{"1":{p:18,k:2,b:"22:24",e:"22:26"},"2":{p:18,k:2,b:"22:27",e:"23:5"},"3":{p:18,k:2,b:"23:6",e:"23:19"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 3":{fullkriyah:{"1":{p:21,k:2,b:"34:1",e:"34:10"},"2":{p:21,k:2,b:"34:11",e:"34:17"},"3":{p:21,k:2,b:"34:18",e:"34:26"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Chol ha-Moed Day 4":{fullkriyah:{"1":{p:36,k:4,b:"9:1",e:"9:5"},"2":{p:36,k:4,b:"9:6",e:"9:8"},"3":{p:36,k:4,b:"9:9",e:"9:14"},"4":{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach Shabbat Chol ha-Moed":{megillah:"Song of Songs",haft:{k:"Ezekiel",b:"37:1",e:"37:14"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII":{haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:22"},"2":{p:16,k:2,b:"14:1",e:"14:8"},"3":{p:16,k:2,b:"14:9",e:"14:14"},"4":{p:16,k:2,b:"14:15",e:"14:25"},"5":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VII (on Shabbat)":{megillah:"Song of Songs",haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":{p:16,k:2,b:"13:17",e:"13:19"},"2":{p:16,k:2,b:"13:20",e:"13:22"},"3":{p:16,k:2,b:"14:1",e:"14:4"},"4":{p:16,k:2,b:"14:5",e:"14:8"},"5":{p:16,k:2,b:"14:9",e:"14:14"},"6":{p:16,k:2,b:"14:15",e:"14:25"},"7":{p:16,k:2,b:"14:26",e:"15:26"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII":{haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach VIII (on Shabbat)":{megillah:"Song of Songs",haft:{k:"Isaiah",b:"10:32",e:"12:6"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:19",e:"28:25"}}},"Pesach III (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 1"},"Pesach IV (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 2"},"Pesach V (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 3"},"Pesach VI (CH''M)":{alias:true,il:true,key:"Pesach Chol ha-Moed Day 4"},"Pesach Chol ha-Moed Day 2 on Sunday":{alias:true,il:false,key:"Pesach Chol ha-Moed Day 1"},"Pesach Chol ha-Moed Day 3 on Monday":{alias:true,il:false,key:"Pesach Chol ha-Moed Day 2"},Shavuot:Shavuot,"Shavuot I":{haft:[{k:"Ezekiel",b:"1:1",e:"1:28"},{k:"Ezekiel",b:"3:12",e:"3:12"}],fullkriyah:{"1":{p:17,k:2,b:"19:1",e:"19:6"},"2":{p:17,k:2,b:"19:7",e:"19:13"},"3":{p:17,k:2,b:"19:14",e:"19:19"},"4":{p:17,k:2,b:"19:20",e:"20:14"},"5":{p:17,k:2,b:"20:15",e:"20:23"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II":{megillah:"Ruth",haft:{k:"Habakkuk",b:"3:1",e:"3:19"},seph:{k:"Habakkuk",b:"2:20",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"15:19",e:"15:23"},"2":{p:47,k:5,b:"16:1",e:"16:3"},"3":{p:47,k:5,b:"16:4",e:"16:8"},"4":{p:47,k:5,b:"16:9",e:"16:12"},"5":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Shavuot II (on Shabbat)":{megillah:"Ruth",haft:{k:"Habakkuk",b:"3:1",e:"3:19"},seph:{k:"Habakkuk",b:"2:20",e:"3:19"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"28:26",e:"28:31"}}},"Fast Day (Morning)":{fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},"3":{p:21,k:2,b:"34:4",e:"34:10"}}},"Fast Day (Afternoon)":{haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":{p:21,k:2,b:"32:11",e:"32:14"},"2":{p:21,k:2,b:"34:1",e:"34:3"},M:{p:21,k:2,b:"34:4",e:"34:10"}}},"Asara B'Tevet":{alias:true,key:"Fast Day (Morning)"},"Ta'anit Esther":{alias:true,key:"Fast Day (Morning)"},"Tzom Gedaliah":{alias:true,key:"Fast Day (Morning)"},"Tzom Tammuz":{alias:true,key:"Fast Day (Morning)"},"Asara B'Tevet (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Ta'anit Esther (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Gedaliah (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Tzom Tammuz (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Erev Tish'a B'Av":{megillah:"Lamentations"},"Tish'a B'Av":{haft:{k:"Jeremiah",b:"8:13",e:"9:23"},fullkriyah:{"1":{p:45,k:5,b:"4:25",e:"4:29"},"2":{p:45,k:5,b:"4:30",e:"4:35"},"3":{p:45,k:5,b:"4:36",e:"4:40"}}},"Tish'a B'Av (Mincha)":{alias:true,key:"Fast Day (Afternoon)"},"Rosh Hashana I":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:12"},"3":{p:4,k:1,b:"21:13",e:"21:21"},"4":{p:4,k:1,b:"21:22",e:"21:27"},"5":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana I (on Shabbat)":{haft:{k:"I Samuel",b:"1:1",e:"2:10"},fullkriyah:{"1":{p:4,k:1,b:"21:1",e:"21:4"},"2":{p:4,k:1,b:"21:5",e:"21:8"},"3":{p:4,k:1,b:"21:9",e:"21:12"},"4":{p:4,k:1,b:"21:13",e:"21:17"},"5":{p:4,k:1,b:"21:18",e:"21:21"},"6":{p:4,k:1,b:"21:22",e:"21:27"},"7":{p:4,k:1,b:"21:28",e:"21:34"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Rosh Hashana II":{haft:{k:"Jeremiah",b:"31:2",e:"31:20",note:"labeled 31:1–19 in some books"},fullkriyah:{"1":{p:4,k:1,b:"22:1",e:"22:3"},"2":{p:4,k:1,b:"22:4",e:"22:8"},"3":{p:4,k:1,b:"22:9",e:"22:14"},"4":{p:4,k:1,b:"22:15",e:"22:19"},"5":{p:4,k:1,b:"22:20",e:"22:24"},M:{p:41,k:4,b:"29:1",e:"29:6"}}},"Yom Kippur":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:6"},"2":{p:29,k:3,b:"16:7",e:"16:11"},"3":{p:29,k:3,b:"16:12",e:"16:17"},"4":{p:29,k:3,b:"16:18",e:"16:24"},"5":{p:29,k:3,b:"16:25",e:"16:30"},"6":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (on Shabbat)":{haft:{k:"Isaiah",b:"57:14",e:"58:14"},fullkriyah:{"1":{p:29,k:3,b:"16:1",e:"16:3"},"2":{p:29,k:3,b:"16:4",e:"16:6"},"3":{p:29,k:3,b:"16:7",e:"16:11"},"4":{p:29,k:3,b:"16:12",e:"16:17"},"5":{p:29,k:3,b:"16:18",e:"16:24"},"6":{p:29,k:3,b:"16:25",e:"16:30"},"7":{p:29,k:3,b:"16:31",e:"16:34"},M:{p:41,k:4,b:"29:7",e:"29:11"}}},"Yom Kippur (Mincha)":{alias:true,key:"Yom Kippur (Mincha, Traditional)"},"Yom Kippur (Mincha, Traditional)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:29,k:3,b:"18:1",e:"18:5"},"2":{p:29,k:3,b:"18:6",e:"18:21"},M:{p:29,k:3,b:"18:22",e:"18:30"}}},"Yom Kippur (Mincha, Alternate)":{haft:[{k:"Jonah",b:"1:1",e:"4:11"},{k:"Micah",b:"7:18",e:"7:20"}],fullkriyah:{"1":{p:30,k:3,b:"19:1",e:"19:4"},"2":{p:30,k:3,b:"19:5",e:"19:10"},M:{p:30,k:3,b:"19:11",e:"19:18"}}},"Sukkot I":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot I (on Shabbat)":{haft:{k:"Zechariah",b:"14:1",e:"14:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"22:33"},"2":{p:31,k:3,b:"23:1",e:"23:3"},"3":{p:31,k:3,b:"23:4",e:"23:8"},"4":{p:31,k:3,b:"23:9",e:"23:14"},"5":{p:31,k:3,b:"23:15",e:"23:22"},"6":{p:31,k:3,b:"23:23",e:"23:32"},"7":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot II":{haft:{k:"I Kings",b:"8:2",e:"8:21"},fullkriyah:{"1":{p:31,k:3,b:"22:26",e:"23:3"},"2":{p:31,k:3,b:"23:4",e:"23:14"},"3":{p:31,k:3,b:"23:15",e:"23:22"},"4":{p:31,k:3,b:"23:23",e:"23:32"},"5":{p:31,k:3,b:"23:33",e:"23:44"},M:{p:41,k:4,b:"29:12",e:"29:16"}}},"Sukkot Chol ha-Moed Day 1":{fullkriyah:{"1":{p:41,k:4,b:"29:17",e:"29:19"},"2":{p:41,k:4,b:"29:20",e:"29:22"},"3":{p:41,k:4,b:"29:23",e:"29:25"},"4":{p:41,k:4,b:"29:17",e:"29:22"}}},"Sukkot Chol ha-Moed Day 2":{fullkriyah:{"1":{p:41,k:4,b:"29:20",e:"29:22"},"2":{p:41,k:4,b:"29:23",e:"29:25"},"3":{p:41,k:4,b:"29:26",e:"29:28"},"4":{p:41,k:4,b:"29:20",e:"29:25"}}},"Sukkot Chol ha-Moed Day 3":{fullkriyah:{"1":{p:41,k:4,b:"29:23",e:"29:25"},"2":{p:41,k:4,b:"29:26",e:"29:28"},"3":{p:41,k:4,b:"29:29",e:"29:31"},"4":{p:41,k:4,b:"29:23",e:"29:28"}}},"Sukkot Chol ha-Moed Day 4":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:26",e:"29:31"}}},"Sukkot Chol ha-Moed Day 5":{fullkriyah:{"1":{p:41,k:4,b:"29:29",e:"29:31"},"2":{p:41,k:4,b:"29:32",e:"29:34"},"3":{p:41,k:4,b:"29:35",e:"29:37"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Shabbat Chol ha-Moed":{megillah:"Ecclesiastes",haft:{k:"Ezekiel",b:"38:18",e:"39:16"},fullkriyah:{"1":{p:21,k:2,b:"33:12",e:"33:16"},"2":{p:21,k:2,b:"33:17",e:"33:19"},"3":{p:21,k:2,b:"33:20",e:"33:23"},"4":{p:21,k:2,b:"34:1",e:"34:3"},"5":{p:21,k:2,b:"34:4",e:"34:10"},"6":{p:21,k:2,b:"34:11",e:"34:17"},"7":{p:21,k:2,b:"34:18",e:"34:26"},"M-day1":{p:41,k:4,b:"29:17",e:"29:22"},"M-day2":{p:41,k:4,b:"29:20",e:"29:25"},"M-day3":{p:41,k:4,b:"29:23",e:"29:28"},"M-day4":{p:41,k:4,b:"29:26",e:"29:31"},"M-day5":{p:41,k:4,b:"29:29",e:"29:34"}}},"Sukkot Final Day (Hoshana Raba)":{fullkriyah:{"1":{p:41,k:4,b:"29:26",e:"29:28"},"2":{p:41,k:4,b:"29:29",e:"29:31"},"3":{p:41,k:4,b:"29:32",e:"29:34"},"4":{p:41,k:4,b:"29:29",e:"29:34"}}},"Shmini Atzeret":{haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"16:3"},"4":{p:47,k:5,b:"16:4",e:"16:8"},"5":{p:47,k:5,b:"16:9",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shmini Atzeret (on Shabbat)":{megillah:"Ecclesiastes",haft:{k:"I Kings",b:"8:54",e:"8:66"},fullkriyah:{"1":{p:47,k:5,b:"14:22",e:"14:29"},"2":{p:47,k:5,b:"15:1",e:"15:18"},"3":{p:47,k:5,b:"15:19",e:"15:23"},"4":{p:47,k:5,b:"16:1",e:"16:3"},"5":{p:47,k:5,b:"16:4",e:"16:8"},"6":{p:47,k:5,b:"16:9",e:"16:12"},"7":{p:47,k:5,b:"16:13",e:"16:17"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Erev Simchat Torah":{fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"}}},"Simchat Torah":{haft:{k:"Joshua",b:"1:1",e:"1:18"},fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"},"6":{p:54,k:5,b:"33:27",e:"34:12"},"7":{p:1,k:1,b:"1:1",e:"2:3"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Simchat Torah (on Shabbat)":{megillah:"Ecclesiastes",haft:{k:"Joshua",b:"1:1",e:"1:18"},fullkriyah:{"1":{p:54,k:5,b:"33:1",e:"33:7"},"2":{p:54,k:5,b:"33:8",e:"33:12"},"3":{p:54,k:5,b:"33:13",e:"33:17"},"4":{p:54,k:5,b:"33:18",e:"33:21"},"5":{p:54,k:5,b:"33:22",e:"33:26"},"6":{p:54,k:5,b:"33:27",e:"33:29"},"7":{p:54,k:5,b:"34:1",e:"34:12"},"8":{p:1,k:1,b:"1:1",e:"2:3"},M:{p:41,k:4,b:"29:35",e:"30:1"}}},"Shabbat Rosh Chodesh Chanukah":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 1":{fullkriyah:{"1":{p:35,k:4,b:"7:1",e:"7:11"},"2":{p:35,k:4,b:"7:12",e:"7:14"},"3":{p:35,k:4,b:"7:15",e:"7:17"}},alt:{"1":{p:35,k:4,b:"7:1",e:"7:3"},"2":{p:35,k:4,b:"7:4",e:"7:11"},"3":{p:35,k:4,b:"7:12",e:"7:17"}}},"Chanukah Day 1 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:1",e:"7:17"}}},"Chanukah Day 2":{fullkriyah:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:24",e:"7:29"}},alt:{"1":{p:35,k:4,b:"7:18",e:"7:20"},"2":{p:35,k:4,b:"7:21",e:"7:23"},"3":{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 2 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:18",e:"7:23"}}},"Chanukah Day 3":{fullkriyah:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:30",e:"7:35"}},alt:{"1":{p:35,k:4,b:"7:24",e:"7:26"},"2":{p:35,k:4,b:"7:27",e:"7:29"},"3":{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 3 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:24",e:"7:29"}}},"Chanukah Day 4":{fullkriyah:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:36",e:"7:41"}},alt:{"1":{p:35,k:4,b:"7:30",e:"7:32"},"2":{p:35,k:4,b:"7:33",e:"7:35"},"3":{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 4 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:30",e:"7:35"}}},"Chanukah Day 5":{fullkriyah:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:42",e:"7:47"}},alt:{"1":{p:35,k:4,b:"7:36",e:"7:38"},"2":{p:35,k:4,b:"7:39",e:"7:41"},"3":{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 5 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:36",e:"7:41"}}},"Chanukah Day 6":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:42",e:"7:47"}}},"Chanukah Day 7":{fullkriyah:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:54",e:"7:59"}},alt:{"1":{p:35,k:4,b:"7:48",e:"7:50"},"2":{p:35,k:4,b:"7:51",e:"7:53"},"3":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Rosh Chodesh)":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:5"},"2":{p:41,k:4,b:"28:6",e:"28:10"},"3":{p:41,k:4,b:"28:11",e:"28:15"},"4":{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 7 (on Shabbat)":{haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{M:{p:35,k:4,b:"7:48",e:"7:53"}}},"Chanukah Day 8":{fullkriyah:{"1":{p:35,k:4,b:"7:54",e:"7:56"},"2":{p:35,k:4,b:"7:57",e:"7:59"},"3":{p:35,k:4,b:"7:60",e:"8:4"}}},"Chanukah Day 8 (on Shabbat)":{haft:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{M:{p:35,k:4,b:"7:54",e:"8:4"}}},"Erev Purim":{megillah:"Esther"},Purim:Purim,"Shushan Purim":{note:"Jerusalem & walled cities only",il:true,megillah:"Esther",fullkriyah:{"1":{p:16,k:2,b:"17:8",e:"17:10"},"2":{p:16,k:2,b:"17:11",e:"17:13"},"3":{p:16,k:2,b:"17:14",e:"17:16"}}},"Shushan Purim (on Shabbat)":{il:true,note:"Jerusalem & walled cities only: special maftir Exodus 17:8-16, same Haftara as Shabbat Zachor"},"Shabbat HaChodesh":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},seph:{k:"Ezekiel",b:"45:18",e:"46:15"},fullkriyah:{M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaChodesh (on Rosh Chodesh)":{haft:{k:"Ezekiel",b:"45:16",e:"46:18"},seph:{k:"Ezekiel",b:"45:18",e:"46:15"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:15,k:2,b:"12:1",e:"12:20"}}},"Shabbat HaGadol":{haft:{k:"Malachi",b:"3:4",e:"3:24"}},"Shabbat Parah":{haft:{k:"Ezekiel",b:"36:16",e:"36:38"},seph:{k:"Ezekiel",b:"36:16",e:"36:36"},fullkriyah:{M:{p:39,k:4,b:"19:1",e:"19:22"}}},"Shabbat Shekalim":{haft:{k:"II Kings",b:"12:1",e:"12:17"},seph:{k:"II Kings",b:"11:17",e:"12:17"},fullkriyah:{M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shekalim (on Rosh Chodesh)":{haft:{k:"II Kings",b:"12:1",e:"12:17"},seph:{k:"II Kings",b:"11:17",e:"12:17"},fullkriyah:{"7":{p:41,k:4,b:"28:9",e:"28:15"},M:{p:21,k:2,b:"30:11",e:"30:16"}}},"Shabbat Shuva (with Vayeilech)":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"}]},"Shabbat Shuva (with Ha'azinu)":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Joel",b:"2:15",e:"2:27"}],seph:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"}]},"Shabbat Shuva":{haft:[{k:"Hosea",b:"14:2",e:"14:10"},{k:"Micah",b:"7:18",e:"7:20"},{k:"Joel",b:"2:15",e:"2:27"}]},"Shabbat Zachor":{haft:{k:"I Samuel",b:"15:2",e:"15:34"},seph:{k:"I Samuel",b:"15:1",e:"15:34"},fullkriyah:{M:{p:49,k:5,b:"25:17",e:"25:19"}}},"Pinchas occurring after 17 Tammuz":{haft:{k:"Jeremiah",b:"1:1",e:"2:3"}},"Kedoshim following Special Shabbat":{haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"}},"Masei on Shabbat Rosh Chodesh":{haft:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"3:4",e:"3:4"}],seph:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"4:1",e:"4:2"},{k:"Isaiah",b:"66:1",e:"66:1"},{k:"Isaiah",b:"66:23",e:"66:23"}],fullkriyah:{M:{p:41,k:4,b:"28:9",e:"28:15"}}},"Matot-Masei on Shabbat Rosh Chodesh":{alias:true,key:"Masei on Shabbat Rosh Chodesh"},"Ki Teitzei with 3rd Haftarah of Consolation":{haft:[{k:"Isaiah",b:"54:1",e:"54:10"},{k:"Isaiah",b:"54:11",e:"55:5"}]},"Rosh Chodesh":{fullkriyah:{"1":{p:41,k:4,b:"28:1",e:"28:3"},"2":{p:41,k:4,b:"28:3",e:"28:5"},"3":{p:41,k:4,b:"28:6",e:"28:10"},"4":{p:41,k:4,b:"28:11",e:"28:15"}}},"Rosh Chodesh Nisan":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Iyyar":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Sivan":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Tamuz":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Av":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Elul":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Tishrei":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Cheshvan":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Kislev":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Sh'vat":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Adar":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Adar I":{alias:true,key:"Rosh Chodesh"},"Rosh Chodesh Adar II":{alias:true,key:"Rosh Chodesh"},"Shabbat Rosh Chodesh":{haft:{k:"Isaiah",b:"66:1",e:"66:24"},fullkriyah:{M:{p:41,k:4,b:"28:9",e:"28:15"}}},"Shabbat Machar Chodesh":{haft:{k:"I Samuel",b:"20:18",e:"20:42"}}};
896
220
 
897
221
  const festivals = festivals0;
898
222
  /**
@@ -930,15 +254,1625 @@ function lookupFestival(holiday) {
930
254
  return result;
931
255
  }
932
256
 
933
- const HOLIDAY_IGNORE_MASK = core.flags.DAF_YOMI |
934
- core.flags.OMER_COUNT |
935
- core.flags.SHABBAT_MEVARCHIM |
936
- core.flags.MOLAD |
937
- core.flags.USER_EVENT |
938
- core.flags.HEBREW_DATE |
939
- core.flags.MISHNA_YOMI |
940
- core.flags.MODERN_HOLIDAY |
941
- core.flags.YERUSHALMI_YOMI;
257
+ /* eslint-disable @typescript-eslint/no-namespace, no-inner-declarations */
258
+ /** @private */
259
+ const lengths = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
260
+ /** @private */
261
+ const monthLengths = [lengths, lengths.slice()];
262
+ monthLengths[1][2] = 29;
263
+ /**
264
+ * @private
265
+ */
266
+ function mod$1(x, y) {
267
+ return x - y * Math.floor(x / y);
268
+ }
269
+ /**
270
+ * @private
271
+ */
272
+ function quotient(x, y) {
273
+ return Math.floor(x / y);
274
+ }
275
+ /**
276
+ * @private
277
+ * @param abs - R.D. number of days
278
+ */
279
+ function yearFromFixed(abs) {
280
+ const l0 = abs - 1;
281
+ const n400 = quotient(l0, 146097);
282
+ const d1 = mod$1(l0, 146097);
283
+ const n100 = quotient(d1, 36524);
284
+ const d2 = mod$1(d1, 36524);
285
+ const n4 = quotient(d2, 1461);
286
+ const d3 = mod$1(d2, 1461);
287
+ const n1 = quotient(d3, 365);
288
+ const year = 400 * n400 + 100 * n100 + 4 * n4 + n1;
289
+ return n100 !== 4 && n1 !== 4 ? year + 1 : year;
290
+ }
291
+ /*
292
+ const ABS_14SEP1752 = 639797;
293
+ const ABS_2SEP1752 = 639785;
294
+ */
295
+ /*
296
+ * Formerly in namespace, now top-level
297
+ */
298
+ /**
299
+ * Returns true if the Gregorian year is a leap year
300
+ * @param year Gregorian year
301
+ */
302
+ function isGregLeapYear(year) {
303
+ return !(year % 4) && (!!(year % 100) || !(year % 400));
304
+ }
305
+ /**
306
+ * Number of days in the Gregorian month for given year
307
+ * @param month Gregorian month (1=January, 12=December)
308
+ * @param year Gregorian year
309
+ */
310
+ function daysInGregMonth(month, year) {
311
+ // 1 based months
312
+ return monthLengths[+isGregLeapYear(year)][month];
313
+ }
314
+ /**
315
+ * Returns true if the object is a Javascript Date
316
+ */
317
+ function isDate(obj) {
318
+ // eslint-disable-next-line no-prototype-builtins
319
+ return typeof obj === 'object' && Date.prototype.isPrototypeOf(obj);
320
+ }
321
+ /**
322
+ * @private
323
+ * @param year
324
+ * @param month (1-12)
325
+ * @param day (1-31)
326
+ */
327
+ function toFixed(year, month, day) {
328
+ const py = year - 1;
329
+ return (365 * py +
330
+ quotient(py, 4) -
331
+ quotient(py, 100) +
332
+ quotient(py, 400) +
333
+ quotient(367 * month - 362, 12) +
334
+ (month <= 2 ? 0 : isGregLeapYear(year) ? -1 : -2) +
335
+ day);
336
+ }
337
+ /**
338
+ * Converts Gregorian date to absolute R.D. (Rata Die) days
339
+ * @param date Gregorian date
340
+ */
341
+ function greg2abs(date) {
342
+ if (!isDate(date)) {
343
+ throw new TypeError(`Argument not a Date: ${date}`);
344
+ }
345
+ const abs = toFixed(date.getFullYear(), date.getMonth() + 1, date.getDate());
346
+ /*
347
+ if (abs < ABS_14SEP1752 && abs > ABS_2SEP1752) {
348
+ throw new RangeError(`Invalid Date: ${date}`);
349
+ }
350
+ */
351
+ return abs;
352
+ }
353
+ /**
354
+ * Converts from Rata Die (R.D. number) to Gregorian date.
355
+ * See the footnote on page 384 of ``Calendrical Calculations, Part II:
356
+ * Three Historical Calendars'' by E. M. Reingold, N. Dershowitz, and S. M.
357
+ * Clamen, Software--Practice and Experience, Volume 23, Number 4
358
+ * (April, 1993), pages 383-404 for an explanation.
359
+ *
360
+ * Note that this function returns the daytime portion of the date.
361
+ * For example, the 15th of Cheshvan 5769 began at sundown on
362
+ * 12 November 2008 and continues through 13 November 2008. This
363
+ * function would return only the date 13 November 2008.
364
+ * @param abs - R.D. number of days
365
+ * @example
366
+ * const abs = hebrew2abs(5769, months.CHESHVAN, 15);
367
+ * const date = abs2greg(abs); // 13 November 2008
368
+ * const year = date.getFullYear(); // 2008
369
+ * const monthNum = date.getMonth() + 1; // 11
370
+ * const day = date.getDate(); // 13
371
+ */
372
+ function abs2greg(abs) {
373
+ if (typeof abs !== 'number') {
374
+ throw new TypeError(`Argument not a Number: ${abs}`);
375
+ }
376
+ abs = Math.trunc(abs);
377
+ /*
378
+ if (abs < ABS_14SEP1752 && abs > ABS_2SEP1752) {
379
+ throw new RangeError(`Invalid Date: ${abs}`);
380
+ }
381
+ */
382
+ const year = yearFromFixed(abs);
383
+ const priorDays = abs - toFixed(year, 1, 1);
384
+ const correction = abs < toFixed(year, 3, 1) ? 0 : isGregLeapYear(year) ? 1 : 2;
385
+ const month = quotient(12 * (priorDays + correction) + 373, 367);
386
+ const day = abs - toFixed(year, month, 1) + 1;
387
+ const dt = new Date(year, month - 1, day);
388
+ if (year < 100 && year >= 0) {
389
+ dt.setFullYear(year);
390
+ }
391
+ return dt;
392
+ }
393
+
394
+ /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-namespace */
395
+ /**
396
+ * Gregorian date helper functions
397
+ */
398
+ var greg;
399
+ (function (greg) {
400
+ })(greg || (greg = {}));
401
+ greg.abs2greg = abs2greg;
402
+ greg.daysInMonth = daysInGregMonth;
403
+ greg.greg2abs = greg2abs;
404
+ greg.isDate = isDate;
405
+ greg.isLeapYear = isGregLeapYear;
406
+
407
+ /*
408
+ * More minimal HDate
409
+ */
410
+ const NISAN = 1;
411
+ const IYYAR = 2;
412
+ const SIVAN = 3;
413
+ const TAMUZ = 4;
414
+ const AV = 5;
415
+ const ELUL = 6;
416
+ const TISHREI = 7;
417
+ const CHESHVAN = 8;
418
+ const KISLEV = 9;
419
+ const TEVET = 10;
420
+ const SHVAT = 11;
421
+ const ADAR_I = 12;
422
+ const ADAR_II = 13;
423
+ /**
424
+ * Hebrew months of the year (NISAN=1, TISHREI=7)
425
+ * @readonly
426
+ * @enum {number}
427
+ */
428
+ const months = {
429
+ /** Nissan / ניסן */
430
+ NISAN,
431
+ /** Iyyar / אייר */
432
+ IYYAR,
433
+ /** Sivan / סיון */
434
+ SIVAN,
435
+ /** Tamuz (sometimes Tammuz) / תמוז */
436
+ TAMUZ,
437
+ /** Av / אב */
438
+ AV,
439
+ /** Elul / אלול */
440
+ ELUL,
441
+ /** Tishrei / תִּשְׁרֵי */
442
+ TISHREI,
443
+ /** Cheshvan / חשון */
444
+ CHESHVAN,
445
+ /** Kislev / כסלו */
446
+ KISLEV,
447
+ /** Tevet / טבת */
448
+ TEVET,
449
+ /** Sh'vat / שבט */
450
+ SHVAT,
451
+ /** Adar or Adar Rishon / אדר */
452
+ ADAR_I,
453
+ /** Adar Sheini (only on leap years) / אדר ב׳ */
454
+ ADAR_II,
455
+ };
456
+ const monthNames0 = [
457
+ '',
458
+ 'Nisan',
459
+ 'Iyyar',
460
+ 'Sivan',
461
+ 'Tamuz',
462
+ 'Av',
463
+ 'Elul',
464
+ 'Tishrei',
465
+ 'Cheshvan',
466
+ 'Kislev',
467
+ 'Tevet',
468
+ "Sh'vat",
469
+ ];
470
+ /**
471
+ * Transliterations of Hebrew month names.
472
+ * Regular years are index 0 and leap years are index 1.
473
+ * @private
474
+ */
475
+ const monthNames = [
476
+ monthNames0.concat(['Adar', 'Nisan']),
477
+ monthNames0.concat(['Adar I', 'Adar II', 'Nisan']),
478
+ ];
479
+ const edCache = new Map();
480
+ const EPOCH = -1373428;
481
+ // Avg year length in the cycle (19 solar years with 235 lunar months)
482
+ const AVG_HEBYEAR_DAYS = 365.24682220597794;
483
+ /**
484
+ * @private
485
+ */
486
+ function assertNumber(n, name) {
487
+ if (typeof n !== 'number' || isNaN(n)) {
488
+ throw new TypeError(`invalid parameter '${name}' not a number: ${n}`);
489
+ }
490
+ }
491
+ /**
492
+ * Converts Hebrew date to R.D. (Rata Die) fixed days.
493
+ * R.D. 1 is the imaginary date Monday, January 1, 1 on the Gregorian
494
+ * Calendar.
495
+ * @param year Hebrew year
496
+ * @param month Hebrew month
497
+ * @param day Hebrew date (1-30)
498
+ * @example
499
+ * const abs = hebrew2abs(5769, months.CHESHVAN, 15);
500
+ */
501
+ function hebrew2abs(year, month, day) {
502
+ assertNumber(year, 'year');
503
+ assertNumber(month, 'month');
504
+ assertNumber(day, 'day');
505
+ if (year < 1) {
506
+ throw new RangeError(`hebrew2abs: invalid year ${year}`);
507
+ }
508
+ let tempabs = day;
509
+ if (month < TISHREI) {
510
+ for (let m = TISHREI; m <= monthsInYear(year); m++) {
511
+ tempabs += daysInMonth(m, year);
512
+ }
513
+ for (let m = NISAN; m < month; m++) {
514
+ tempabs += daysInMonth(m, year);
515
+ }
516
+ }
517
+ else {
518
+ for (let m = TISHREI; m < month; m++) {
519
+ tempabs += daysInMonth(m, year);
520
+ }
521
+ }
522
+ return EPOCH + elapsedDays(year) + tempabs - 1;
523
+ }
524
+ /**
525
+ * @private
526
+ */
527
+ function newYear(year) {
528
+ return EPOCH + elapsedDays(year);
529
+ }
530
+ /**
531
+ * Converts absolute R.D. days to Hebrew date
532
+ * @param abs absolute R.D. days
533
+ */
534
+ function abs2hebrew(abs) {
535
+ assertNumber(abs, 'abs');
536
+ abs = Math.trunc(abs);
537
+ if (abs <= EPOCH) {
538
+ throw new RangeError(`abs2hebrew: ${abs} is before epoch`);
539
+ }
540
+ // first, quickly approximate year
541
+ let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
542
+ while (newYear(year) <= abs) {
543
+ ++year;
544
+ }
545
+ --year;
546
+ let month = abs < hebrew2abs(year, 1, 1) ? 7 : 1;
547
+ while (abs > hebrew2abs(year, month, daysInMonth(month, year))) {
548
+ ++month;
549
+ }
550
+ const day = 1 + abs - hebrew2abs(year, month, 1);
551
+ return { yy: year, mm: month, dd: day };
552
+ }
553
+ /**
554
+ * Returns true if Hebrew year is a leap year
555
+ * @param year Hebrew year
556
+ */
557
+ function isLeapYear(year) {
558
+ return (1 + year * 7) % 19 < 7;
559
+ }
560
+ /**
561
+ * Number of months in this Hebrew year (either 12 or 13 depending on leap year)
562
+ * @param year Hebrew year
563
+ */
564
+ function monthsInYear(year) {
565
+ return 12 + +isLeapYear(year); // boolean is cast to 1 or 0
566
+ }
567
+ /**
568
+ * Number of days in Hebrew month in a given year (29 or 30)
569
+ * @param month Hebrew month (e.g. months.TISHREI)
570
+ * @param year Hebrew year
571
+ */
572
+ function daysInMonth(month, year) {
573
+ switch (month) {
574
+ case IYYAR:
575
+ case TAMUZ:
576
+ case ELUL:
577
+ case TEVET:
578
+ case ADAR_II:
579
+ return 29;
580
+ }
581
+ if ((month === ADAR_I && !isLeapYear(year)) ||
582
+ (month === CHESHVAN && !longCheshvan(year)) ||
583
+ (month === KISLEV && shortKislev(year))) {
584
+ return 29;
585
+ }
586
+ else {
587
+ return 30;
588
+ }
589
+ }
590
+ /**
591
+ * Returns a transliterated string name of Hebrew month in year,
592
+ * for example 'Elul' or 'Cheshvan'.
593
+ * @param month Hebrew month (e.g. months.TISHREI)
594
+ * @param year Hebrew year
595
+ */
596
+ function getMonthName(month, year) {
597
+ assertNumber(month, 'month');
598
+ assertNumber(year, 'year');
599
+ if (month < 1 || month > 14) {
600
+ throw new TypeError(`bad month argument ${month}`);
601
+ }
602
+ return monthNames[+isLeapYear(year)][month];
603
+ }
604
+ /**
605
+ * Days from sunday prior to start of Hebrew calendar to mean
606
+ * conjunction of Tishrei in Hebrew YEAR
607
+ * @param year Hebrew year
608
+ */
609
+ function elapsedDays(year) {
610
+ const n = edCache.get(year);
611
+ if (typeof n === 'number') {
612
+ return n;
613
+ }
614
+ const elapsed = elapsedDays0(year);
615
+ edCache.set(year, elapsed);
616
+ return elapsed;
617
+ }
618
+ /**
619
+ * Days from sunday prior to start of Hebrew calendar to mean
620
+ * conjunction of Tishrei in Hebrew YEAR
621
+ * @private
622
+ * @param year Hebrew year
623
+ */
624
+ function elapsedDays0(year) {
625
+ const prevYear = year - 1;
626
+ const mElapsed = 235 * Math.floor(prevYear / 19) + // Months in complete 19 year lunar (Metonic) cycles so far
627
+ 12 * (prevYear % 19) + // Regular months in this cycle
628
+ Math.floor(((prevYear % 19) * 7 + 1) / 19); // Leap months this cycle
629
+ const pElapsed = 204 + 793 * (mElapsed % 1080);
630
+ const hElapsed = 5 +
631
+ 12 * mElapsed +
632
+ 793 * Math.floor(mElapsed / 1080) +
633
+ Math.floor(pElapsed / 1080);
634
+ const parts = (pElapsed % 1080) + 1080 * (hElapsed % 24);
635
+ const day = 1 + 29 * mElapsed + Math.floor(hElapsed / 24);
636
+ let altDay = day;
637
+ if (parts >= 19440 ||
638
+ (2 === day % 7 && parts >= 9924 && !isLeapYear(year)) ||
639
+ (1 === day % 7 && parts >= 16789 && isLeapYear(prevYear))) {
640
+ altDay++;
641
+ }
642
+ if (altDay % 7 === 0 || altDay % 7 === 3 || altDay % 7 === 5) {
643
+ return altDay + 1;
644
+ }
645
+ else {
646
+ return altDay;
647
+ }
648
+ }
649
+ /**
650
+ * Number of days in the hebrew YEAR.
651
+ * A common Hebrew calendar year can have a length of 353, 354 or 355 days
652
+ * A leap Hebrew calendar year can have a length of 383, 384 or 385 days
653
+ * @param year Hebrew year
654
+ */
655
+ function daysInYear(year) {
656
+ return elapsedDays(year + 1) - elapsedDays(year);
657
+ }
658
+ /**
659
+ * true if Cheshvan is long in Hebrew year
660
+ * @param year Hebrew year
661
+ */
662
+ function longCheshvan(year) {
663
+ return daysInYear(year) % 10 === 5;
664
+ }
665
+ /**
666
+ * true if Kislev is short in Hebrew year
667
+ * @param year Hebrew year
668
+ */
669
+ function shortKislev(year) {
670
+ return daysInYear(year) % 10 === 3;
671
+ }
672
+ /**
673
+ * Converts Hebrew month string name to numeric
674
+ * @param monthName monthName
675
+ */
676
+ function monthFromName(monthName) {
677
+ if (typeof monthName === 'number') {
678
+ if (isNaN(monthName) || monthName < 1 || monthName > 14) {
679
+ throw new RangeError(`Invalid month name: ${monthName}`);
680
+ }
681
+ return monthName;
682
+ }
683
+ let c = monthName.trim().toLowerCase();
684
+ // If Hebrew month starts with a bet (for example `בתמוז`) then ignore it
685
+ if (c[0] === 'ב') {
686
+ c = c.substring(1);
687
+ }
688
+ /*
689
+ the Hebrew months are unique to their second letter
690
+ N Nisan (November?)
691
+ I Iyyar
692
+ E Elul
693
+ C Cheshvan
694
+ K Kislev
695
+ 1 1Adar
696
+ 2 2Adar
697
+ Si Sh Sivan, Shvat
698
+ Ta Ti Te Tamuz, Tishrei, Tevet
699
+ Av Ad Av, Adar
700
+
701
+ אב אד אי אל אב אדר אייר אלול
702
+ ח חשון
703
+ ט טבת
704
+ כ כסלו
705
+ נ ניסן
706
+ ס סיון
707
+ ש שבט
708
+ תמ תש תמוז תשרי
709
+ */
710
+ switch (c[0]) {
711
+ case 'n':
712
+ case 'נ':
713
+ if (c[1] === 'o') {
714
+ break; /* this catches "november" */
715
+ }
716
+ return NISAN;
717
+ case 'i':
718
+ return IYYAR;
719
+ case 'e':
720
+ return ELUL;
721
+ case 'c':
722
+ case 'ח':
723
+ return CHESHVAN;
724
+ case 'k':
725
+ case 'כ':
726
+ return KISLEV;
727
+ case 's':
728
+ switch (c[1]) {
729
+ case 'i':
730
+ return SIVAN;
731
+ case 'h':
732
+ return SHVAT;
733
+ }
734
+ break;
735
+ case 't':
736
+ switch (c[1]) {
737
+ case 'a':
738
+ return TAMUZ;
739
+ case 'i':
740
+ return TISHREI;
741
+ case 'e':
742
+ return TEVET;
743
+ }
744
+ break;
745
+ case 'a':
746
+ switch (c[1]) {
747
+ case 'v':
748
+ return AV;
749
+ case 'd':
750
+ if (/(1|[^i]i|a|א)$/i.test(monthName)) {
751
+ return ADAR_I;
752
+ }
753
+ return ADAR_II; // else assume sheini
754
+ }
755
+ break;
756
+ case 'ס':
757
+ return SIVAN;
758
+ case 'ט':
759
+ return TEVET;
760
+ case 'ש':
761
+ return SHVAT;
762
+ case 'א':
763
+ switch (c[1]) {
764
+ case 'ב':
765
+ return AV;
766
+ case 'ד':
767
+ if (/(1|[^i]i|a|א)$/i.test(monthName)) {
768
+ return ADAR_I;
769
+ }
770
+ return ADAR_II; // else assume sheini
771
+ case 'י':
772
+ return IYYAR;
773
+ case 'ל':
774
+ return ELUL;
775
+ }
776
+ break;
777
+ case 'ת':
778
+ switch (c[1]) {
779
+ case 'מ':
780
+ return TAMUZ;
781
+ case 'ש':
782
+ return TISHREI;
783
+ }
784
+ break;
785
+ }
786
+ throw new RangeError(`Unable to parse month name: ${monthName}`);
787
+ }
788
+
789
+ const GERESH = '׳';
790
+ const GERSHAYIM = '״';
791
+ const alefbet = {
792
+ א: 1,
793
+ ב: 2,
794
+ ג: 3,
795
+ ד: 4,
796
+ ה: 5,
797
+ ו: 6,
798
+ ז: 7,
799
+ ח: 8,
800
+ ט: 9,
801
+ י: 10,
802
+ כ: 20,
803
+ ל: 30,
804
+ מ: 40,
805
+ נ: 50,
806
+ ס: 60,
807
+ ע: 70,
808
+ פ: 80,
809
+ צ: 90,
810
+ ק: 100,
811
+ ר: 200,
812
+ ש: 300,
813
+ ת: 400,
814
+ };
815
+ const heb2num = new Map();
816
+ const num2heb = new Map();
817
+ for (const [key, val] of Object.entries(alefbet)) {
818
+ heb2num.set(key, val);
819
+ num2heb.set(val, key);
820
+ }
821
+ function num2digits(num) {
822
+ const digits = [];
823
+ while (num > 0) {
824
+ if (num === 15 || num === 16) {
825
+ digits.push(9);
826
+ digits.push(num - 9);
827
+ break;
828
+ }
829
+ let incr = 100;
830
+ let i;
831
+ for (i = 400; i > num; i -= incr) {
832
+ if (i === incr) {
833
+ incr = incr / 10;
834
+ }
835
+ }
836
+ digits.push(i);
837
+ num -= i;
838
+ }
839
+ return digits;
840
+ }
841
+ /**
842
+ * Converts a numerical value to a string of Hebrew letters.
843
+ *
844
+ * When specifying years of the Hebrew calendar in the present millennium,
845
+ * we omit the thousands (which is presently 5 [ה]).
846
+ * @example
847
+ * gematriya(5774) // 'תשע״ד' - cropped to 774
848
+ * gematriya(25) // 'כ״ה'
849
+ * gematriya(60) // 'ס׳'
850
+ * gematriya(3761) // 'ג׳תשס״א'
851
+ * gematriya(1123) // 'א׳קכ״ג'
852
+ */
853
+ function gematriya(num) {
854
+ const num0 = num;
855
+ const num1 = parseInt(num0, 10);
856
+ if (!num1 || num1 < 0) {
857
+ throw new TypeError(`invalid gematriya number: ${num}`);
858
+ }
859
+ let str = '';
860
+ const thousands = Math.floor(num1 / 1000);
861
+ if (thousands > 0 && thousands !== 5) {
862
+ const tdigits = num2digits(thousands);
863
+ for (const tdig of tdigits) {
864
+ str += num2heb.get(tdig);
865
+ }
866
+ str += GERESH;
867
+ }
868
+ const digits = num2digits(num1 % 1000);
869
+ if (digits.length === 1) {
870
+ return str + num2heb.get(digits[0]) + GERESH;
871
+ }
872
+ for (let i = 0; i < digits.length; i++) {
873
+ if (i + 1 === digits.length) {
874
+ str += GERSHAYIM;
875
+ }
876
+ str += num2heb.get(digits[i]);
877
+ }
878
+ return str;
879
+ }
880
+ /**
881
+ * Converts a string of Hebrew letters to a numerical value.
882
+ *
883
+ * Only considers the value of Hebrew letters `א` through `ת`.
884
+ * Ignores final Hebrew letters such as `ך` (kaf sofit) or `ם` (mem sofit)
885
+ * and vowels (nekudot).
886
+ */
887
+ function gematriyaStrToNum(str) {
888
+ let num = 0;
889
+ const gereshIdx = str.indexOf(GERESH);
890
+ if (gereshIdx !== -1 && gereshIdx !== str.length - 1) {
891
+ const thousands = str.substring(0, gereshIdx);
892
+ num += gematriyaStrToNum(thousands) * 1000;
893
+ str = str.substring(gereshIdx);
894
+ }
895
+ for (const ch of str) {
896
+ const n = heb2num.get(ch);
897
+ if (typeof n === 'number') {
898
+ num += n;
899
+ }
900
+ }
901
+ return num;
902
+ }
903
+
904
+ var poAshkenazi = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);" }, "contexts": { "": { "Tevet": ["Teves"] } } };
905
+
906
+ var poHe = { "headers": { "plural-forms": "nplurals=2; plural=(n > 1);" }, "contexts": { "": { "Adar": ["אַדָר"], "Adar I": ["אַדָר א׳"], "Adar II": ["אַדָר ב׳"], "Av": ["אָב"], "Cheshvan": ["חֶשְׁוָן"], "Elul": ["אֱלוּל"], "Iyyar": ["אִיָיר"], "Kislev": ["כִּסְלֵו"], "Nisan": ["נִיסָן"], "Sh'vat": ["שְׁבָט"], "Sivan": ["סִיוָן"], "Tamuz": ["תַּמּוּז"], "Tevet": ["טֵבֵת"], "Tishrei": ["תִּשְׁרֵי"] } } };
907
+
908
+ const noopLocale = {
909
+ headers: { 'plural-forms': 'nplurals=2; plural=(n!=1);' },
910
+ contexts: { '': {} },
911
+ };
912
+ const alias = {
913
+ h: 'he',
914
+ a: 'ashkenazi',
915
+ s: 'en',
916
+ '': 'en',
917
+ };
918
+ /** @private */
919
+ const locales = new Map();
920
+ /** @private */
921
+ let activeLocale;
922
+ /** @private */
923
+ let activeName;
924
+ /** @private */
925
+ function getEnOrdinal(n) {
926
+ const s = ['th', 'st', 'nd', 'rd'];
927
+ const v = n % 100;
928
+ return n + (s[(v - 20) % 10] || s[v] || s[0]);
929
+ }
930
+ /** @private */
931
+ function checkLocale(locale) {
932
+ if (typeof locale !== 'string') {
933
+ throw new TypeError(`Invalid locale name: ${locale}`);
934
+ }
935
+ return locale.toLowerCase();
936
+ }
937
+ /** @private */
938
+ function getExistingLocale(locale) {
939
+ const locale1 = checkLocale(locale);
940
+ const loc = locales.get(locale1);
941
+ if (!loc) {
942
+ throw new RangeError(`Locale '${locale}' not found`);
943
+ }
944
+ return loc;
945
+ }
946
+ /**
947
+ * A locale in Hebcal is used for translations/transliterations of
948
+ * holidays. `@hebcal/hdate` supports four locales by default
949
+ * * `en` - default, Sephardic transliterations (e.g. "Shabbat")
950
+ * * `ashkenazi` - Ashkenazi transliterations (e.g. "Shabbos")
951
+ * * `he` - Hebrew (e.g. "שַׁבָּת")
952
+ * * `he-x-NoNikud` - Hebrew without nikud (e.g. "שבת")
953
+ */
954
+ class Locale {
955
+ /**
956
+ * Returns translation only if `locale` offers a non-empty translation for `id`.
957
+ * Otherwise, returns `undefined`.
958
+ * @param id Message ID to translate
959
+ * @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
960
+ */
961
+ static lookupTranslation(id, locale) {
962
+ const loc = (typeof locale === 'string' && locales.get(locale.toLowerCase())) ||
963
+ activeLocale;
964
+ const array = loc[id];
965
+ if ((array === null || array === void 0 ? void 0 : array.length) && array[0].length) {
966
+ return array[0];
967
+ }
968
+ return undefined;
969
+ }
970
+ /**
971
+ * By default, if no translation was found, returns `id`.
972
+ * @param id Message ID to translate
973
+ * @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
974
+ */
975
+ static gettext(id, locale) {
976
+ const text = this.lookupTranslation(id, locale);
977
+ if (typeof text === 'undefined') {
978
+ return id;
979
+ }
980
+ return text;
981
+ }
982
+ /**
983
+ * Register locale translations.
984
+ * @param locale Locale name (i.e.: `'he'`, `'fr'`)
985
+ * @param data parsed data from a `.po` file.
986
+ */
987
+ static addLocale(locale, data) {
988
+ locale = checkLocale(locale);
989
+ if (typeof data.contexts !== 'object' ||
990
+ typeof data.contexts[''] !== 'object') {
991
+ throw new TypeError(`Locale '${locale}' invalid compact format`);
992
+ }
993
+ locales.set(locale, data.contexts['']);
994
+ }
995
+ /**
996
+ * Adds a translation to `locale`, replacing any previous translation.
997
+ * @param locale Locale name (i.e: `'he'`, `'fr'`).
998
+ * @param id Message ID to translate
999
+ * @param translation Translation text
1000
+ */
1001
+ static addTranslation(locale, id, translation) {
1002
+ const loc = getExistingLocale(locale);
1003
+ if (typeof id !== 'string' || id.length === 0) {
1004
+ throw new TypeError(`Invalid id string: ${id}`);
1005
+ }
1006
+ const isArray = Array.isArray(translation);
1007
+ if (isArray) {
1008
+ const t0 = translation[0];
1009
+ if (typeof t0 !== 'string' || t0.length === 0) {
1010
+ throw new TypeError(`Invalid translation array: ${translation}`);
1011
+ }
1012
+ }
1013
+ else if (typeof translation !== 'string') {
1014
+ throw new TypeError(`Invalid translation string: ${translation}`);
1015
+ }
1016
+ loc[id] = isArray ? translation : [translation];
1017
+ }
1018
+ /**
1019
+ * Adds multiple translations to `locale`, replacing any previous translations.
1020
+ * @param locale Locale name (i.e: `'he'`, `'fr'`).
1021
+ * @param data parsed data from a `.po` file.
1022
+ */
1023
+ static addTranslations(locale, data) {
1024
+ const loc = getExistingLocale(locale);
1025
+ if (typeof data.contexts !== 'object' ||
1026
+ typeof data.contexts[''] !== 'object') {
1027
+ throw new TypeError(`Locale '${locale}' invalid compact format`);
1028
+ }
1029
+ const ctx = data.contexts[''];
1030
+ Object.assign(loc, ctx);
1031
+ }
1032
+ /**
1033
+ * Activates a locale. Throws an error if the locale has not been previously added.
1034
+ * After setting the locale to be used, all strings marked for translations
1035
+ * will be represented by the corresponding translation in the specified locale.
1036
+ * @param locale Locale name (i.e: `'he'`, `'fr'`)
1037
+ */
1038
+ static useLocale(locale) {
1039
+ const locale0 = checkLocale(locale);
1040
+ const obj = getExistingLocale(locale0);
1041
+ activeName = alias[locale0] || locale0;
1042
+ activeLocale = obj;
1043
+ return activeLocale;
1044
+ }
1045
+ /**
1046
+ * Returns the name of the active locale (i.e. 'he', 'ashkenazi', 'fr')
1047
+ */
1048
+ static getLocaleName() {
1049
+ return activeName;
1050
+ }
1051
+ /**
1052
+ * Returns the names of registered locales
1053
+ */
1054
+ static getLocaleNames() {
1055
+ const keys = Array.from(locales.keys());
1056
+ return keys.sort((a, b) => a.localeCompare(b));
1057
+ }
1058
+ /**
1059
+ * Renders a number in ordinal, such as 1st, 2nd or 3rd
1060
+ * @param [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
1061
+ */
1062
+ static ordinal(n, locale) {
1063
+ const locale1 = locale === null || locale === void 0 ? void 0 : locale.toLowerCase();
1064
+ const locale0 = locale1 || activeName;
1065
+ if (!locale0) {
1066
+ return getEnOrdinal(n);
1067
+ }
1068
+ switch (locale0) {
1069
+ case 'en':
1070
+ case 's':
1071
+ case 'a':
1072
+ return getEnOrdinal(n);
1073
+ case 'es':
1074
+ return n + 'º';
1075
+ case 'h':
1076
+ case 'he':
1077
+ case 'he-x-nonikud':
1078
+ return String(n);
1079
+ }
1080
+ if (locale0.startsWith('ashkenazi')) {
1081
+ return getEnOrdinal(n);
1082
+ }
1083
+ return n + '.';
1084
+ }
1085
+ /**
1086
+ * Removes nekudot from Hebrew string
1087
+ */
1088
+ static hebrewStripNikkud(str) {
1089
+ return str.replace(/[\u0590-\u05bd]/g, '').replace(/[\u05bf-\u05c7]/g, '');
1090
+ }
1091
+ }
1092
+ Locale.addLocale('en', noopLocale);
1093
+ Locale.addLocale('s', noopLocale);
1094
+ Locale.addLocale('', noopLocale);
1095
+ Locale.useLocale('en');
1096
+ /* Ashkenazic transliterations */
1097
+ Locale.addLocale('ashkenazi', poAshkenazi);
1098
+ Locale.addLocale('a', poAshkenazi);
1099
+ /* Hebrew with nikkud */
1100
+ Locale.addLocale('he', poHe);
1101
+ Locale.addLocale('h', poHe);
1102
+ /* Hebrew without nikkud */
1103
+ const heStrs = poHe.contexts[''];
1104
+ const heNoNikud = {};
1105
+ for (const [key, val] of Object.entries(heStrs)) {
1106
+ heNoNikud[key] = [Locale.hebrewStripNikkud(val[0])];
1107
+ }
1108
+ const poHeNoNikud = {
1109
+ headers: poHe.headers,
1110
+ contexts: { '': heNoNikud },
1111
+ };
1112
+ Locale.addLocale('he-x-NoNikud', poHeNoNikud);
1113
+
1114
+ /*
1115
+ Hebcal - A Jewish Calendar Generator
1116
+ Copyright (c) 1994-2020 Danny Sadinoff
1117
+ Portions copyright Eyal Schachter and Michael J. Radwin
1118
+
1119
+ https://github.com/hebcal/hebcal-es6
1120
+
1121
+ This program is free software; you can redistribute it and/or
1122
+ modify it under the terms of the GNU General Public License
1123
+ as published by the Free Software Foundation; either version 2
1124
+ of the License, or (at your option) any later version.
1125
+
1126
+ This program is distributed in the hope that it will be useful,
1127
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1128
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1129
+ GNU General Public License for more details.
1130
+
1131
+ You should have received a copy of the GNU General Public License
1132
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
1133
+ */
1134
+ function mod(x, y) {
1135
+ return x - y * Math.floor(x / y);
1136
+ }
1137
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1138
+ function isSimpleHebrewDate(obj) {
1139
+ return obj.yy !== undefined;
1140
+ }
1141
+ const UNITS_DAY = 'day';
1142
+ const UNITS_WEEK = 'week';
1143
+ const UNITS_MONTH = 'month';
1144
+ const UNITS_YEAR = 'year';
1145
+ /**
1146
+ * A `HDate` represents a Hebrew calendar date.
1147
+ *
1148
+ * An instance of this class encapsulates a date in the Hebrew calendar system.
1149
+ * It consists of a year, month, and day, without any associated time or location data.
1150
+ * The Hebrew calendar is a lunisolar calendar, meaning it is based on both lunar and solar cycles.
1151
+ *
1152
+ * A Hebrew date internally stores three numbers:
1153
+ * - year: The Hebrew year (1-9999). Counted from the traditional Hebrew date of creation (3761 BCE in the Gregorian calendar)
1154
+ * - month: The Hebrew month (1-13). Month 1 is Nisan, month 7 is Tishrei. There are 12 months in a regular year and 13 months in a leap year.
1155
+ * - day: The day of the month (1-30)
1156
+ *
1157
+ * This class uses Rata Die to convert between the Hebrew and Gregorian calendars.
1158
+ *
1159
+ * To calculate times of day, use `Zmanim` class from `@hebcal/core`
1160
+ * @see {@link https://en.wikipedia.org/wiki/Rata_Die | Rata Die}
1161
+ * @see {@link https://hebcal.github.io/api/core/classes/Zmanim.html | Zmanim}
1162
+ */
1163
+ class HDate {
1164
+ /**
1165
+ * Create a Hebrew date. There are 3 basic forms for the `HDate()` constructor.
1166
+ *
1167
+ * 1. No parameters - represents the current Hebrew date at time of instantiation
1168
+ * 2. One parameter
1169
+ * * `Date` - represents the Hebrew date corresponding to the Gregorian date using
1170
+ * local time. Hours, minutes, seconds and milliseconds are ignored.
1171
+ * * `HDate` - clones a copy of the given Hebrew date
1172
+ * * `number` - Converts absolute R.D. days to Hebrew date.
1173
+ * R.D. 1 == the imaginary date January 1, 1 (Gregorian)
1174
+ * 3. Three parameters: Hebrew day, Hebrew month, Hebrew year. Hebrew day should
1175
+ * be a number between 1-30, Hebrew month can be a number or string, and
1176
+ * Hebrew year is always a number.
1177
+ * @example
1178
+ * import {HDate, months} from '@hebcal/hdate';
1179
+ *
1180
+ * const hd1 = new HDate();
1181
+ * const hd2 = new HDate(new Date(2008, 10, 13));
1182
+ * const hd3 = new HDate(15, 'Cheshvan', 5769);
1183
+ * const hd4 = new HDate(15, months.CHESHVAN, 5769);
1184
+ * const hd5 = new HDate(733359); // ==> 15 Cheshvan 5769
1185
+ * const monthName = 'אייר';
1186
+ * const hd6 = new HDate(5, monthName, 5773);
1187
+ * @param [day] - Day of month (1-30) if a `number`.
1188
+ * If a `Date` is specified, represents the Hebrew date corresponding to the
1189
+ * Gregorian date using local time.
1190
+ * If an `HDate` is specified, clones a copy of the given Hebrew date.
1191
+ * @param [month] - Hebrew month of year (1=NISAN, 7=TISHREI)
1192
+ * @param [year] - Hebrew year
1193
+ */
1194
+ constructor(day, month, year) {
1195
+ if (arguments.length === 2 || arguments.length > 3) {
1196
+ throw new TypeError('HDate constructor requires 0, 1 or 3 arguments');
1197
+ }
1198
+ if (arguments.length === 3) {
1199
+ // Hebrew day, Hebrew month, Hebrew year
1200
+ this.dd = this.mm = 1;
1201
+ const yy = typeof year === 'string' ? parseInt(year, 10) : year;
1202
+ if (isNaN(yy)) {
1203
+ throw new TypeError(`HDate called with bad year argument: ${year}`);
1204
+ }
1205
+ this.yy = yy;
1206
+ setMonth(this, month); // will throw if we can't parse
1207
+ const dd = typeof day === 'string' ? parseInt(day, 10) : day;
1208
+ if (isNaN(dd)) {
1209
+ throw new TypeError(`HDate called with bad day argument: ${day}`);
1210
+ }
1211
+ setDate(this, dd);
1212
+ }
1213
+ else {
1214
+ // 0 arguments
1215
+ if (typeof day === 'undefined' || day === null) {
1216
+ day = new Date();
1217
+ }
1218
+ // 1 argument
1219
+ const abs0 = typeof day === 'number' && !isNaN(day)
1220
+ ? day
1221
+ : isDate(day)
1222
+ ? greg2abs(day)
1223
+ : isSimpleHebrewDate(day)
1224
+ ? day
1225
+ : null;
1226
+ if (abs0 === null) {
1227
+ throw new TypeError(`HDate called with bad argument: ${day}`);
1228
+ }
1229
+ const isNumber = typeof abs0 === 'number';
1230
+ const d = isNumber ? abs2hebrew(abs0) : abs0;
1231
+ this.yy = d.yy;
1232
+ this.mm = d.mm;
1233
+ this.dd = d.dd;
1234
+ if (isNumber) {
1235
+ this.rd = abs0;
1236
+ }
1237
+ }
1238
+ }
1239
+ /**
1240
+ * Returns the Hebrew year of this Hebrew date
1241
+ * @returns an integer >= 1
1242
+ * @example
1243
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1244
+ * hd.getFullYear(); // 5769
1245
+ */
1246
+ getFullYear() {
1247
+ return this.yy;
1248
+ }
1249
+ /**
1250
+ * Returns `true` if this Hebrew date occurs during a Hebrew leap year
1251
+ * @example
1252
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1253
+ * hd.isLeapYear(); // false
1254
+ */
1255
+ isLeapYear() {
1256
+ return isLeapYear(this.yy);
1257
+ }
1258
+ /**
1259
+ * Returns the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
1260
+ * @returns an integer 1-13
1261
+ * @example
1262
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1263
+ * hd.getMonth(); // 8
1264
+ */
1265
+ getMonth() {
1266
+ return this.mm;
1267
+ }
1268
+ /**
1269
+ * The Tishrei-based month of this Hebrew date. 1 is Tishrei, 7 is Nisan, 13 is Elul in a leap year
1270
+ * @returns an integer 1-13
1271
+ * @example
1272
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1273
+ * hd.getTishreiMonth(); // 2
1274
+ */
1275
+ getTishreiMonth() {
1276
+ const nummonths = monthsInYear(this.getFullYear());
1277
+ return (this.getMonth() + nummonths - 6) % nummonths || nummonths;
1278
+ }
1279
+ /**
1280
+ * Number of days in the month of this Hebrew date (29 or 30)
1281
+ * @returns an integer 29-30
1282
+ * @example
1283
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1284
+ * hd.daysInMonth(); // 29
1285
+ */
1286
+ daysInMonth() {
1287
+ return daysInMonth(this.getMonth(), this.getFullYear());
1288
+ }
1289
+ /**
1290
+ * Gets the day within the month (1-30)
1291
+ * @returns an integer 1-30
1292
+ * @example
1293
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1294
+ * hd.getDate(); // 15
1295
+ */
1296
+ getDate() {
1297
+ return this.dd;
1298
+ }
1299
+ /**
1300
+ * Returns the day of the week for this Hebrew date,
1301
+ * where 0 represents Sunday, 1 represents Monday, 6 represents Saturday.
1302
+ *
1303
+ * For the day of the month, see `getDate()`
1304
+ * @returns an integer 0-6
1305
+ * @example
1306
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1307
+ * hd.getDate(); // 4
1308
+ */
1309
+ getDay() {
1310
+ return mod(this.abs(), 7);
1311
+ }
1312
+ /**
1313
+ * Converts this Hebrew date to the corresponding Gregorian date.
1314
+ *
1315
+ * The returned `Date` object will be in the local (i.e. host system) time zone.
1316
+ * Hours, minutes, seconds and milliseconds will all be zero.
1317
+ *
1318
+ * Note that this function returns the daytime portion of the date.
1319
+ * For example, the 15th of Cheshvan 5769 began at sundown on
1320
+ * 12 November 2008 and continues through 13 November 2008. This
1321
+ * function would return only the date 13 November 2008.
1322
+ * @example
1323
+ * const hd = new HDate(15, 'Cheshvan', 5769);
1324
+ * const date = hd.greg(); // 13 November 2008
1325
+ * const year = date.getFullYear(); // 2008
1326
+ * const monthNum = date.getMonth() + 1; // 11
1327
+ * const day = date.getDate(); // 13
1328
+ */
1329
+ greg() {
1330
+ return abs2greg(this.abs());
1331
+ }
1332
+ /**
1333
+ * Converts from Hebrew date representation to R.D. (Rata Die) fixed days.
1334
+ * R.D. 1 is the imaginary date Monday, January 1, 1 (Gregorian).
1335
+ * Note also that R.D. = Julian Date − 1,721,424.5
1336
+ * @see {@link https://en.wikipedia.org/wiki/Rata_Die | Rata Die}
1337
+ * @example
1338
+ * const hd = new HDate(15, 'Cheshvan', 5769);
1339
+ * hd.abs(); // 733359
1340
+ */
1341
+ abs() {
1342
+ if (typeof this.rd !== 'number') {
1343
+ this.rd = hebrew2abs(this.yy, this.mm, this.dd);
1344
+ }
1345
+ return this.rd;
1346
+ }
1347
+ /**
1348
+ * Converts Hebrew date to R.D. (Rata Die) fixed days.
1349
+ * R.D. 1 is the imaginary date Monday, January 1, 1 on the Gregorian
1350
+ * Calendar.
1351
+ * @param year Hebrew year
1352
+ * @param month Hebrew month (1=NISAN, 7=TISHREI)
1353
+ * @param day Hebrew date (1-30)
1354
+ * @example
1355
+ * import {HDate, months} from '@hebcal/hdate';
1356
+ * HDate.hebrew2abs(5769, months.CHESHVAN, 15); // 733359
1357
+ */
1358
+ static hebrew2abs(year, month, day) {
1359
+ return hebrew2abs(year, month, day);
1360
+ }
1361
+ /**
1362
+ * Returns a transliterated Hebrew month name, e.g. `'Elul'` or `'Cheshvan'`.
1363
+ * @example
1364
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1365
+ * hd.getMonthName(); // 'Cheshvan'
1366
+ */
1367
+ getMonthName() {
1368
+ return getMonthName(this.getMonth(), this.getFullYear());
1369
+ }
1370
+ /**
1371
+ * Renders this Hebrew date as a translated or transliterated string,
1372
+ * including ordinal e.g. `'15th of Cheshvan, 5769'`.
1373
+ * @example
1374
+ * import {HDate, months} from '@hebcal/hdate';
1375
+ *
1376
+ * const hd = new HDate(15, months.CHESHVAN, 5769);
1377
+ * console.log(hd.render('en')); // '15th of Cheshvan, 5769'
1378
+ * console.log(hd.render('he')); // '15 חֶשְׁוָן, 5769'
1379
+ * console.log(hd.render('en', false)); // '15th of Cheshvan'
1380
+ * console.log(hd.render('he', false)); // '15 חֶשְׁוָן'
1381
+ * @param [locale] Optional locale name (defaults to active locale).
1382
+ * @param [showYear=true] Display year (defaults to true).
1383
+ * @see {@link Locale}
1384
+ */
1385
+ render(locale, showYear = true) {
1386
+ const locale0 = locale || Locale.getLocaleName();
1387
+ const day = this.getDate();
1388
+ const monthName0 = Locale.gettext(this.getMonthName(), locale0);
1389
+ const monthName = monthName0.replace(/'/g, '’');
1390
+ const nth = Locale.ordinal(day, locale0);
1391
+ const dayOf = getDayOfTranslation(locale0);
1392
+ const dateStr = `${nth}${dayOf} ${monthName}`;
1393
+ if (showYear) {
1394
+ const fullYear = this.getFullYear();
1395
+ return `${dateStr}, ${fullYear}`;
1396
+ }
1397
+ else {
1398
+ return dateStr;
1399
+ }
1400
+ }
1401
+ /**
1402
+ * Renders this Hebrew date in Hebrew gematriya, regardless of locale.
1403
+ * @example
1404
+ * import {HDate, months} from '@hebcal/hdate';
1405
+ * const hd = new HDate(15, months.CHESHVAN, 5769);
1406
+ * hd.renderGematriya(); // 'ט״ו חֶשְׁוָן תשס״ט'
1407
+ * hd.renderGematriya(true); // 'ט״ו חשון תשס״ט'
1408
+ */
1409
+ renderGematriya(suppressNikud = false) {
1410
+ const d = this.getDate();
1411
+ const locale = suppressNikud ? 'he-x-NoNikud' : 'he';
1412
+ const m = Locale.gettext(this.getMonthName(), locale);
1413
+ const y = this.getFullYear();
1414
+ return gematriya(d) + ' ' + m + ' ' + gematriya(y);
1415
+ }
1416
+ /**
1417
+ * Returns an `HDate` corresponding to the specified day of week
1418
+ * **before** this Hebrew date
1419
+ * @example
1420
+ * new HDate(new Date('Wednesday February 19, 2014')).before(6).greg() // Sat Feb 15 2014
1421
+ * @param dayOfWeek day of week: Sunday=0, Saturday=6
1422
+ */
1423
+ before(dayOfWeek) {
1424
+ return onOrBefore(dayOfWeek, this, -1);
1425
+ }
1426
+ /**
1427
+ * Returns an `HDate` corresponding to the specified day of week
1428
+ * **on or before** this Hebrew date
1429
+ * @example
1430
+ * new HDate(new Date('Wednesday February 19, 2014')).onOrBefore(6).greg() // Sat Feb 15 2014
1431
+ * new HDate(new Date('Saturday February 22, 2014')).onOrBefore(6).greg() // Sat Feb 22 2014
1432
+ * new HDate(new Date('Sunday February 23, 2014')).onOrBefore(6).greg() // Sat Feb 22 2014
1433
+ * @param dayOfWeek day of week: Sunday=0, Saturday=6
1434
+ */
1435
+ onOrBefore(dayOfWeek) {
1436
+ return onOrBefore(dayOfWeek, this, 0);
1437
+ }
1438
+ /**
1439
+ * Returns an `HDate` corresponding to the specified day of week
1440
+ * **nearest** to this Hebrew date
1441
+ * @example
1442
+ * new HDate(new Date('Wednesday February 19, 2014')).nearest(6).greg() // Sat Feb 22 2014
1443
+ * new HDate(new Date('Tuesday February 18, 2014')).nearest(6).greg() // Sat Feb 15 2014
1444
+ * @param dayOfWeek day of week: Sunday=0, Saturday=6
1445
+ */
1446
+ nearest(dayOfWeek) {
1447
+ return onOrBefore(dayOfWeek, this, 3);
1448
+ }
1449
+ /**
1450
+ * Returns an `HDate` corresponding to the specified day of week
1451
+ * **on or after** this Hebrew date
1452
+ * @example
1453
+ * new HDate(new Date('Wednesday February 19, 2014')).onOrAfter(6).greg() // Sat Feb 22 2014
1454
+ * new HDate(new Date('Saturday February 22, 2014')).onOrAfter(6).greg() // Sat Feb 22 2014
1455
+ * new HDate(new Date('Sunday February 23, 2014')).onOrAfter(6).greg() // Sat Mar 01 2014
1456
+ * @param dayOfWeek day of week: Sunday=0, Saturday=6
1457
+ */
1458
+ onOrAfter(dayOfWeek) {
1459
+ return onOrBefore(dayOfWeek, this, 6);
1460
+ }
1461
+ /**
1462
+ * Returns an `HDate` corresponding to the specified day of week
1463
+ * **after** this Hebrew date
1464
+ * @example
1465
+ * new HDate(new Date('Wednesday February 19, 2014')).after(6).greg() // Sat Feb 22 2014
1466
+ * new HDate(new Date('Saturday February 22, 2014')).after(6).greg() // Sat Mar 01 2014
1467
+ * new HDate(new Date('Sunday February 23, 2014')).after(6).greg() // Sat Mar 01 2014
1468
+ * @param dayOfWeek day of week: Sunday=0, Saturday=6
1469
+ */
1470
+ after(dayOfWeek) {
1471
+ return onOrBefore(dayOfWeek, this, 7);
1472
+ }
1473
+ /**
1474
+ * Returns the next Hebrew date
1475
+ * @example
1476
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1477
+ * hd.next(); // '16 Cheshvan 5769'
1478
+ */
1479
+ next() {
1480
+ return new HDate(this.abs() + 1);
1481
+ }
1482
+ /**
1483
+ * Returns the previous Hebrew date
1484
+ * @example
1485
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1486
+ * hd.prev(); // '14 Cheshvan 5769'
1487
+ */
1488
+ prev() {
1489
+ return new HDate(this.abs() - 1);
1490
+ }
1491
+ /**
1492
+ * Returns a cloned `HDate` object with a specified amount of time added
1493
+ *
1494
+ * Units are case insensitive, and support plural and short forms.
1495
+ * Note, short forms are case sensitive.
1496
+ *
1497
+ * | Unit | Shorthand | Description
1498
+ * | --- | --- | --- |
1499
+ * | `day` | `d` | days |
1500
+ * | `week` | `w` | weeks |
1501
+ * | `month` | `M` | months |
1502
+ * | `year` | `y` | years |
1503
+ */
1504
+ add(amount, units = 'd') {
1505
+ amount =
1506
+ typeof amount === 'string' ? parseInt(amount, 10) : amount;
1507
+ if (!amount) {
1508
+ return new HDate(this);
1509
+ }
1510
+ units = standardizeUnits(units);
1511
+ if (units === UNITS_DAY) {
1512
+ return new HDate(this.abs() + amount);
1513
+ }
1514
+ else if (units === UNITS_WEEK) {
1515
+ return new HDate(this.abs() + 7 * amount);
1516
+ }
1517
+ else if (units === UNITS_YEAR) {
1518
+ return new HDate(this.getDate(), this.getMonth(), this.getFullYear() + amount);
1519
+ }
1520
+ else {
1521
+ // units === UNITS_MONTH
1522
+ let hd = new HDate(this);
1523
+ const sign = amount > 0 ? 1 : -1;
1524
+ amount = Math.abs(amount);
1525
+ for (let i = 0; i < amount; i++) {
1526
+ hd = new HDate(hd.abs() + sign * hd.daysInMonth());
1527
+ }
1528
+ return hd;
1529
+ }
1530
+ }
1531
+ /**
1532
+ * Returns a cloned `HDate` object with a specified amount of time subracted
1533
+ *
1534
+ * Units are case insensitive, and support plural and short forms.
1535
+ * Note, short forms are case sensitive.
1536
+ *
1537
+ * | Unit | Shorthand | Description
1538
+ * | --- | --- | --- |
1539
+ * | `day` | `d` | days |
1540
+ * | `week` | `w` | weeks |
1541
+ * | `month` | `M` | months |
1542
+ * | `year` | `y` | years |
1543
+ * @example
1544
+ * import {HDate, months} from '@hebcal/hdate';
1545
+ *
1546
+ * const hd1 = new HDate(15, months.CHESHVAN, 5769);
1547
+ * const hd2 = hd1.add(1, 'weeks'); // 7 Kislev 5769
1548
+ * const hd3 = hd1.add(-3, 'M'); // 30 Av 5768
1549
+ */
1550
+ subtract(amount, units = 'd') {
1551
+ return this.add(amount * -1, units);
1552
+ }
1553
+ /**
1554
+ * Returns the difference in days between the two given HDates.
1555
+ *
1556
+ * The result is positive if `this` date is comes chronologically
1557
+ * after the `other` date, and negative
1558
+ * if the order of the two dates is reversed.
1559
+ *
1560
+ * The result is zero if the two dates are identical.
1561
+ * @example
1562
+ * import {HDate, months} from '@hebcal/hdate';
1563
+ *
1564
+ * const hd1 = new HDate(25, months.KISLEV, 5770);
1565
+ * const hd2 = new HDate(15, months.CHESHVAN, 5769);
1566
+ * const days = hd1.deltaDays(hd2); // 394
1567
+ * @param other Hebrew date to compare
1568
+ */
1569
+ deltaDays(other) {
1570
+ return this.abs() - other.abs();
1571
+ }
1572
+ /**
1573
+ * Compares this Hebrew date to another date, returning `true` if the dates match.
1574
+ * @param other Hebrew date to compare
1575
+ * @example
1576
+ * const hd1 = new HDate(new Date(2008, 10, 13));
1577
+ * const hd2 = new HDate(15, 'Cheshvan', 5769);
1578
+ * hd1.isSameDate(hd2); // true
1579
+ */
1580
+ isSameDate(other) {
1581
+ return this.yy === other.yy && this.mm === other.mm && this.dd === other.dd;
1582
+ }
1583
+ /**
1584
+ * Returns a string representation of this Hebrew date using English transliterations
1585
+ * @example
1586
+ * const hd = new HDate(new Date(2008, 10, 13)); // 15 Cheshvan 5769
1587
+ * hd.toString(); // '15 Cheshvan 5769'
1588
+ */
1589
+ toString() {
1590
+ const day = this.getDate();
1591
+ const fullYear = this.getFullYear();
1592
+ const monthName = this.getMonthName();
1593
+ return `${day} ${monthName} ${fullYear}`;
1594
+ }
1595
+ /**
1596
+ * Returns true if Hebrew year is a leap year
1597
+ * @param year Hebrew year
1598
+ * @example
1599
+ * HDate.isLeapYear(5783); // false
1600
+ * HDate.isLeapYear(5784); // true
1601
+ */
1602
+ static isLeapYear(year) {
1603
+ return isLeapYear(year);
1604
+ }
1605
+ /**
1606
+ * Number of months in this Hebrew year (either 12 or 13 depending on leap year)
1607
+ * @param year Hebrew year
1608
+ * @example
1609
+ * HDate.monthsInYear(5783); // 12
1610
+ * HDate.monthsInYear(5784); // 13
1611
+ */
1612
+ static monthsInYear(year) {
1613
+ return monthsInYear(year);
1614
+ }
1615
+ /**
1616
+ * Number of days in Hebrew month in a given year (29 or 30)
1617
+ * @param month Hebrew month (e.g. months.TISHREI)
1618
+ * @param year Hebrew year
1619
+ * @example
1620
+ * import {HDate, months} from '@hebcal/hdate';
1621
+ * HDate.daysInMonth(months.CHESHVAN, 5769); // 29
1622
+ */
1623
+ static daysInMonth(month, year) {
1624
+ return daysInMonth(month, year);
1625
+ }
1626
+ /**
1627
+ * Returns a transliterated string name of Hebrew month in year,
1628
+ * for example 'Elul' or 'Cheshvan'.
1629
+ * @param month Hebrew month (e.g. months.TISHREI)
1630
+ * @param year Hebrew year
1631
+ * @example
1632
+ * import {HDate, months} from '@hebcal/hdate';
1633
+ * HDate.getMonthName(months.CHESHVAN, 5769); // 'Cheshvan'
1634
+ */
1635
+ static getMonthName(month, year) {
1636
+ return getMonthName(month, year);
1637
+ }
1638
+ /**
1639
+ * Returns the Hebrew month number (NISAN=1, TISHREI=7)
1640
+ * @param month A number, or Hebrew month name string
1641
+ * @example
1642
+ * import {HDate, months} from '@hebcal/hdate';
1643
+ * HDate.monthNum(months.CHESHVAN); // 8
1644
+ * HDate.monthNum('Cheshvan'); // 8
1645
+ * HDate.monthNum('חשון'); // 8
1646
+ */
1647
+ static monthNum(month) {
1648
+ if (typeof month === 'number') {
1649
+ if (isNaN(month) || month > 14) {
1650
+ throw new RangeError(`Invalid month number: ${month}`);
1651
+ }
1652
+ return month;
1653
+ }
1654
+ return month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 /* number */
1655
+ ? parseInt(month, 10)
1656
+ : HDate.monthFromName(month);
1657
+ }
1658
+ /**
1659
+ * Number of days in the Hebrew year.
1660
+ * Regular years can have 353, 354, or 355 days.
1661
+ * Leap years can have 383, 384, or 385 days.
1662
+ * @param year Hebrew year
1663
+ * @example
1664
+ * HDate.daysInYear(5783); // 355
1665
+ * HDate.daysInYear(5784); // 383
1666
+ */
1667
+ static daysInYear(year) {
1668
+ return daysInYear(year);
1669
+ }
1670
+ /**
1671
+ * true if Cheshvan is long in Hebrew year
1672
+ * @param year Hebrew year
1673
+ * @example
1674
+ * HDate.longCheshvan(5783); // true
1675
+ * HDate.longCheshvan(5784); // false
1676
+ */
1677
+ static longCheshvan(year) {
1678
+ return longCheshvan(year);
1679
+ }
1680
+ /**
1681
+ * true if Kislev is short in Hebrew year
1682
+ * @param year Hebrew year
1683
+ * @example
1684
+ * HDate.shortKislev(5783); // false
1685
+ * HDate.shortKislev(5784); // true
1686
+ */
1687
+ static shortKislev(year) {
1688
+ return shortKislev(year);
1689
+ }
1690
+ /**
1691
+ * Converts Hebrew month string name to numeric
1692
+ * @example
1693
+ * import {HDate, months} from '@hebcal/hdate';
1694
+ * HDate.monthFromName(months.CHESHVAN); // 8
1695
+ * HDate.monthFromName('Cheshvan'); // 8
1696
+ * HDate.monthFromName('חשון'); // 8
1697
+ */
1698
+ static monthFromName(monthName) {
1699
+ if (typeof monthName === 'number') {
1700
+ if (isNaN(monthName) || monthName < 1 || monthName > 14) {
1701
+ throw new RangeError(`Invalid month name: ${monthName}`);
1702
+ }
1703
+ return monthName;
1704
+ }
1705
+ const name = Locale.hebrewStripNikkud(monthName);
1706
+ return monthFromName(name);
1707
+ }
1708
+ /**
1709
+ * Convenience function for determining the R.D. date
1710
+ * near a specified R.D. date, corresponding to the specified day of week.
1711
+ *
1712
+ * Note: Applying this function to d+6 gives us the `dayOfWeek` on or after an
1713
+ * absolute day d. Similarly, applying it to d+3 gives the `dayOfWeek` nearest to
1714
+ * absolute date d, applying it to d-1 gives the `dayOfWeek` previous to absolute
1715
+ * date d, and applying it to d+7 gives the `dayOfWeek` following absolute date d.
1716
+ * @param dayOfWeek day of week: Sunday=0, Saturday=6
1717
+ */
1718
+ static dayOnOrBefore(dayOfWeek, absdate) {
1719
+ return absdate - ((absdate - dayOfWeek) % 7);
1720
+ }
1721
+ /**
1722
+ * Tests if the object is an instance of `HDate`
1723
+ * @example
1724
+ * HDate.isHDate(new HDate()); // true
1725
+ * HDate.isHDate(new Date()); // false
1726
+ * HDate.isHDate(null); // false
1727
+ * HDate.isHDate(12345); // false
1728
+ * HDate.isHDate('15 Cheshvan 5769'); // false
1729
+ */
1730
+ static isHDate(obj) {
1731
+ return (obj !== null &&
1732
+ typeof obj === 'object' &&
1733
+ typeof obj.yy === 'number' &&
1734
+ typeof obj.mm === 'number' &&
1735
+ typeof obj.dd === 'number' &&
1736
+ typeof obj.greg === 'function' &&
1737
+ typeof obj.abs === 'function');
1738
+ }
1739
+ /**
1740
+ * Construct a new instance of `HDate` from a Gematriya-formatted string
1741
+ * @example
1742
+ * HDate.fromGematriyaString('כ״ז בְּתַמּוּז תשפ״ג') // 27 Tamuz 5783
1743
+ * HDate.fromGematriyaString('כ׳ סיון תש״ד') // 20 Sivan 5704
1744
+ * HDate.fromGematriyaString('ה׳ אִיָיר תש״ח') // 5 Iyyar 5708
1745
+ */
1746
+ static fromGematriyaString(str, currentThousands = 5000) {
1747
+ const parts = str.split(' ').filter(x => x.length !== 0);
1748
+ const numParts = parts.length;
1749
+ if (numParts !== 3 && numParts !== 4) {
1750
+ throw new RangeError(`Unable to parse gematriya string: "${str}"`);
1751
+ }
1752
+ const day = gematriyaStrToNum(parts[0]);
1753
+ const monthStr = numParts === 3 ? parts[1] : parts[1] + ' ' + parts[2];
1754
+ const month = HDate.monthFromName(monthStr);
1755
+ const yearStr = numParts === 3 ? parts[2] : parts[3];
1756
+ let year = gematriyaStrToNum(yearStr);
1757
+ if (year < 1000) {
1758
+ year += currentThousands;
1759
+ }
1760
+ return new HDate(day, month, year);
1761
+ }
1762
+ }
1763
+ function standardizeUnits(units) {
1764
+ switch (units) {
1765
+ case 'd':
1766
+ return UNITS_DAY;
1767
+ case 'w':
1768
+ return UNITS_WEEK;
1769
+ case 'M':
1770
+ return UNITS_MONTH;
1771
+ case 'y':
1772
+ return UNITS_YEAR;
1773
+ }
1774
+ const str = String(units || '')
1775
+ .toLowerCase()
1776
+ .replace(/s$/, '');
1777
+ switch (str) {
1778
+ case UNITS_DAY:
1779
+ case UNITS_WEEK:
1780
+ case UNITS_MONTH:
1781
+ case UNITS_YEAR:
1782
+ return str;
1783
+ }
1784
+ throw new TypeError(`Invalid units '${units}'`);
1785
+ }
1786
+ function getDayOfTranslation(locale) {
1787
+ switch (locale) {
1788
+ case 'en':
1789
+ case 's':
1790
+ case 'a':
1791
+ case 'ashkenazi':
1792
+ return ' of';
1793
+ }
1794
+ const ofStr = Locale.lookupTranslation('of', locale);
1795
+ if (ofStr) {
1796
+ return ' ' + ofStr;
1797
+ }
1798
+ if (locale.startsWith('ashkenazi')) {
1799
+ return ' of';
1800
+ }
1801
+ return '';
1802
+ }
1803
+ /**
1804
+ * Sets the day of the month of the date. Returns the object it was called upon
1805
+ * @private
1806
+ * @param month A number, or Hebrew month name string
1807
+ */
1808
+ function setMonth(hd, month) {
1809
+ hd.mm = HDate.monthNum(month);
1810
+ fix(hd);
1811
+ return hd;
1812
+ }
1813
+ function setDate(hd, date) {
1814
+ hd.dd = date;
1815
+ fix(hd);
1816
+ return hd;
1817
+ }
1818
+ function fix(hd) {
1819
+ fixMonth(hd);
1820
+ fixDate(hd);
1821
+ }
1822
+ function fixDate(hd) {
1823
+ if (hd.dd < 1) {
1824
+ if (hd.mm === months.TISHREI) {
1825
+ hd.yy -= 1;
1826
+ }
1827
+ hd.dd += daysInMonth(hd.mm, hd.yy);
1828
+ hd.mm -= 1;
1829
+ fix(hd);
1830
+ }
1831
+ if (hd.dd > daysInMonth(hd.mm, hd.yy)) {
1832
+ if (hd.mm === months.ELUL) {
1833
+ hd.yy += 1;
1834
+ }
1835
+ hd.dd -= daysInMonth(hd.mm, hd.yy);
1836
+ if (hd.mm === monthsInYear(hd.yy)) {
1837
+ hd.mm = 1; // rollover to NISAN
1838
+ }
1839
+ else {
1840
+ hd.mm += 1;
1841
+ }
1842
+ fix(hd);
1843
+ }
1844
+ fixMonth(hd);
1845
+ }
1846
+ function fixMonth(hd) {
1847
+ if (hd.mm === months.ADAR_II && !hd.isLeapYear()) {
1848
+ hd.mm -= 1; // to Adar I
1849
+ fix(hd);
1850
+ }
1851
+ else if (hd.mm < 1) {
1852
+ hd.mm += monthsInYear(hd.yy);
1853
+ hd.yy -= 1;
1854
+ fix(hd);
1855
+ }
1856
+ else if (hd.mm > monthsInYear(hd.yy)) {
1857
+ hd.mm -= monthsInYear(hd.yy);
1858
+ hd.yy += 1;
1859
+ fix(hd);
1860
+ }
1861
+ delete hd.rd;
1862
+ }
1863
+ function onOrBefore(day, t, offset) {
1864
+ return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
1865
+ }
1866
+
1867
+ const HOLIDAY_IGNORE_MASK = event.flags.DAF_YOMI |
1868
+ event.flags.OMER_COUNT |
1869
+ event.flags.SHABBAT_MEVARCHIM |
1870
+ event.flags.MOLAD |
1871
+ event.flags.USER_EVENT |
1872
+ event.flags.HEBREW_DATE |
1873
+ event.flags.MISHNA_YOMI |
1874
+ event.flags.MODERN_HOLIDAY |
1875
+ event.flags.YERUSHALMI_YOMI;
942
1876
  /**
943
1877
  * Based on the event date, type and title, finds the relevant leyning key
944
1878
  * @param ev event
@@ -955,7 +1889,7 @@ function getLeyningKeyForEvent(ev, il = false) {
955
1889
  }
956
1890
  // Skip all Erevs except for Simchat Torah
957
1891
  const desc = ev.getDesc();
958
- if (mask & core.flags.EREV && !hasFestival(desc)) {
1892
+ if (mask & event.flags.EREV && !hasFestival(desc)) {
959
1893
  return undefined;
960
1894
  }
961
1895
  const hd = ev.getDate();
@@ -974,7 +1908,7 @@ function getLeyningKeyForEvent(ev, il = false) {
974
1908
  }
975
1909
  return desc;
976
1910
  }
977
- if (day === 1 && month === core.months.TISHREI) {
1911
+ if (day === 1 && month === months.TISHREI) {
978
1912
  return isShabbat ? 'Rosh Hashana I (on Shabbat)' : 'Rosh Hashana I';
979
1913
  }
980
1914
  const cholHaMoedDay = ev.cholHaMoedDay;
@@ -1049,7 +1983,7 @@ function getLeyningKeyForEvent(ev, il = false) {
1049
1983
  if (isShabbat) {
1050
1984
  return 'Shabbat Rosh Chodesh Chanukah';
1051
1985
  }
1052
- if (day === 30 || core.HDate.shortKislev(hd.getFullYear())) {
1986
+ if (day === 30 || HDate.shortKislev(hd.getFullYear())) {
1053
1987
  return 'Chanukah Day 6'; // 30th of Kislev or 1st of Tevet
1054
1988
  }
1055
1989
  else {
@@ -1136,8 +2070,8 @@ function specialReadings2(parsha, hd, il, aliyot) {
1136
2070
  }
1137
2071
  }
1138
2072
  const parshaName = parshaToString(parsha);
1139
- const events0 = core.HebrewCalendar.getHolidaysOnDate(hd, il) || [];
1140
- const events = events0.filter(ev => !(ev.getFlags() & core.flags.ROSH_CHODESH));
2073
+ const events0 = holidays.getHolidaysOnDate(hd, il) || [];
2074
+ const events = events0.filter(ev => !(ev.getFlags() & event.flags.ROSH_CHODESH));
1141
2075
  for (const ev of events) {
1142
2076
  if (ev.getDesc() === 'Shabbat Shuva') {
1143
2077
  handleSpecial(`Shabbat Shuva (with ${parshaName})`);
@@ -1184,7 +2118,7 @@ function specialReadings2(parsha, hd, il, aliyot) {
1184
2118
  // "The Haftarot of Etz Hayim," David E. S. Stein, Conservative Judaism 54/3 (Spring 2002)
1185
2119
  handleSpecial('Kedoshim following Special Shabbat');
1186
2120
  }
1187
- else if (hd.getMonth() !== core.months.AV) {
2121
+ else if (hd.getMonth() !== months.AV) {
1188
2122
  // Parashat Re'eh is always read in Av on 25, 27, 29 or 30.
1189
2123
  // When it coincides with Erev Rosh Chodesh, the Haftarah is
1190
2124
  // עניה סוערה (Isaiah 54:11-55:5) and not מחר חדש
@@ -1220,7 +2154,7 @@ function getLeyningForHolidayKey(key, cholHaMoedDay, il) {
1220
2154
  const leyning = {
1221
2155
  name: {
1222
2156
  en: key,
1223
- he: core.Locale.lookupTranslation(key, 'he'),
2157
+ he: locale.Locale.lookupTranslation(key, 'he'),
1224
2158
  },
1225
2159
  };
1226
2160
  if (src.fullkriyah) {
@@ -1281,7 +2215,7 @@ function getLeyningForHoliday(ev, il = false) {
1281
2215
  else if (typeof ev.eventTime !== 'undefined') {
1282
2216
  return undefined;
1283
2217
  }
1284
- else if (ev.getFlags() & core.flags.PARSHA_HASHAVUA) {
2218
+ else if (ev.getFlags() & event.flags.PARSHA_HASHAVUA) {
1285
2219
  throw new TypeError(`Event should be a holiday: ${ev.getDesc()}`);
1286
2220
  }
1287
2221
  else if (ev.getFlags() & HOLIDAY_IGNORE_MASK) {
@@ -1292,1291 +2226,7 @@ function getLeyningForHoliday(ev, il = false) {
1292
2226
  return leyning;
1293
2227
  }
1294
2228
 
1295
- var parshiyotObj0 = {
1296
- "Bereshit": {
1297
- "num": 1,
1298
- "hebrew": "בְּרֵאשִׁית",
1299
- "book": 1,
1300
- "haft": { "k": "Isaiah", "b": "42:5", "e": "43:10" },
1301
- "seph": { "k": "Isaiah", "b": "42:5", "e": "42:21" },
1302
- "fullkriyah": {
1303
- "1": ["1:1", "2:3"],
1304
- "2": ["2:4", "2:19"],
1305
- "3": ["2:20", "3:21"],
1306
- "4": ["3:22", "4:18"],
1307
- "5": ["4:19", "4:22"],
1308
- "6": ["4:23", "5:24"],
1309
- "7": ["5:25", "6:8"],
1310
- "M": ["6:5", "6:8"]
1311
- },
1312
- "weekday": {
1313
- "1": ["1:1", "1:5"],
1314
- "2": ["1:6", "1:8"],
1315
- "3": ["1:9", "1:13"]
1316
- }
1317
- },
1318
- "Noach": {
1319
- "num": 2,
1320
- "hebrew": "נֹחַ",
1321
- "book": 1,
1322
- "haft": { "k": "Isaiah", "b": "54:1", "e": "55:5" },
1323
- "seph": { "k": "Isaiah", "b": "54:1", "e": "54:10" },
1324
- "fullkriyah": {
1325
- "1": ["6:9", "6:22"],
1326
- "2": ["7:1", "7:16"],
1327
- "3": ["7:17", "8:14"],
1328
- "4": ["8:15", "9:7"],
1329
- "5": ["9:8", "9:17"],
1330
- "6": ["9:18", "10:32"],
1331
- "7": ["11:1", "11:32"],
1332
- "M": ["11:29", "11:32"]
1333
- },
1334
- "weekday": {
1335
- "1": ["6:9", "6:16"],
1336
- "2": ["6:17", "6:19"],
1337
- "3": ["6:20", "6:22"]
1338
- }
1339
- },
1340
- "Lech-Lecha": {
1341
- "num": 3,
1342
- "hebrew": "לֶךְ־לְךָ",
1343
- "book": 1,
1344
- "haft": { "k": "Isaiah", "b": "40:27", "e": "41:16" },
1345
- "fullkriyah": {
1346
- "1": ["12:1", "12:13"],
1347
- "2": ["12:14", "13:4"],
1348
- "3": ["13:5", "13:18"],
1349
- "4": ["14:1", "14:20"],
1350
- "5": ["14:21", "15:6"],
1351
- "6": ["15:7", "17:6"],
1352
- "7": ["17:7", "17:27"],
1353
- "M": ["17:24", "17:27"]
1354
- },
1355
- "weekday": {
1356
- "1": ["12:1", "12:3"],
1357
- "2": ["12:4", "12:9"],
1358
- "3": ["12:10", "12:13"]
1359
- }
1360
- },
1361
- "Vayera": {
1362
- "num": 4,
1363
- "hebrew": "וַיֵּרָא",
1364
- "book": 1,
1365
- "haft": { "k": "II Kings", "b": "4:1", "e": "4:37" },
1366
- "seph": { "k": "II Kings", "b": "4:1", "e": "4:23" },
1367
- "fullkriyah": {
1368
- "1": ["18:1", "18:14"],
1369
- "2": ["18:15", "18:33"],
1370
- "3": ["19:1", "19:20"],
1371
- "4": ["19:21", "21:4"],
1372
- "5": ["21:5", "21:21"],
1373
- "6": ["21:22", "21:34"],
1374
- "7": ["22:1", "22:24"],
1375
- "M": ["22:20", "22:24"]
1376
- },
1377
- "weekday": {
1378
- "1": ["18:1", "18:5"],
1379
- "2": ["18:6", "18:8"],
1380
- "3": ["18:9", "18:14"]
1381
- }
1382
- },
1383
- "Chayei Sara": {
1384
- "num": 5,
1385
- "hebrew": "חַיֵּי שָֹרָה",
1386
- "book": 1,
1387
- "haft": { "k": "I Kings", "b": "1:1", "e": "1:31" },
1388
- "fullkriyah": {
1389
- "1": ["23:1", "23:16"],
1390
- "2": ["23:17", "24:9"],
1391
- "3": ["24:10", "24:26"],
1392
- "4": ["24:27", "24:52"],
1393
- "5": ["24:53", "24:67"],
1394
- "6": ["25:1", "25:11"],
1395
- "7": ["25:12", "25:18"],
1396
- "M": ["25:16", "25:18"]
1397
- },
1398
- "weekday": {
1399
- "1": ["23:1", "23:7"],
1400
- "2": ["23:8", "23:12"],
1401
- "3": ["23:13", "23:16"]
1402
- }
1403
- },
1404
- "Toldot": {
1405
- "num": 6,
1406
- "hebrew": "תּוֹלְדוֹת",
1407
- "book": 1,
1408
- "haft": { "k": "Malachi", "b": "1:1", "e": "2:7" },
1409
- "fullkriyah": {
1410
- "1": ["25:19", "26:5"],
1411
- "2": ["26:6", "26:12"],
1412
- "3": ["26:13", "26:22"],
1413
- "4": ["26:23", "26:29"],
1414
- "5": ["26:30", "27:27"],
1415
- "6": ["27:28", "28:4"],
1416
- "7": ["28:5", "28:9"],
1417
- "M": ["28:7", "28:9"]
1418
- },
1419
- "weekday": {
1420
- "1": ["25:19", "25:22"],
1421
- "2": ["25:23", "25:26"],
1422
- "3": ["25:27", "26:5"]
1423
- }
1424
- },
1425
- "Vayetzei": {
1426
- "num": 7,
1427
- "hebrew": "וַיֵּצֵא",
1428
- "book": 1,
1429
- "haft": { "k": "Hosea", "b": "12:13", "e": "14:10" },
1430
- "seph": { "k": "Hosea", "b": "11:7", "e": "12:12" },
1431
- "fullkriyah": {
1432
- "1": ["28:10", "28:22"],
1433
- "2": ["29:1", "29:17"],
1434
- "3": ["29:18", "30:13"],
1435
- "4": ["30:14", "30:27"],
1436
- "5": ["30:28", "31:16"],
1437
- "6": ["31:17", "31:42"],
1438
- "7": ["31:43", "32:3"],
1439
- "M": ["32:1", "32:3"]
1440
- },
1441
- "weekday": {
1442
- "1": ["28:10", "28:12"],
1443
- "2": ["28:13", "28:17"],
1444
- "3": ["28:18", "28:22"]
1445
- }
1446
- },
1447
- "Vayishlach": {
1448
- "num": 8,
1449
- "hebrew": "וַיִּשְׁלַח",
1450
- "book": 1,
1451
- "haft": { "k": "Obadiah", "b": "1:1", "e": "1:21" },
1452
- "fullkriyah": {
1453
- "1": ["32:4", "32:13"],
1454
- "2": ["32:14", "32:30"],
1455
- "3": ["32:31", "33:5"],
1456
- "4": ["33:6", "33:20"],
1457
- "5": ["34:1", "35:11"],
1458
- "6": ["35:12", "36:19"],
1459
- "7": ["36:20", "36:43"],
1460
- "M": ["36:40", "36:43"]
1461
- },
1462
- "weekday": {
1463
- "1": ["32:4", "32:6"],
1464
- "2": ["32:7", "32:9"],
1465
- "3": ["32:10", "32:13"]
1466
- }
1467
- },
1468
- "Vayeshev": {
1469
- "num": 9,
1470
- "hebrew": "וַיֵּשֶׁב",
1471
- "book": 1,
1472
- "haft": { "k": "Amos", "b": "2:6", "e": "3:8" },
1473
- "fullkriyah": {
1474
- "1": ["37:1", "37:11"],
1475
- "2": ["37:12", "37:22"],
1476
- "3": ["37:23", "37:36"],
1477
- "4": ["38:1", "38:30"],
1478
- "5": ["39:1", "39:6"],
1479
- "6": ["39:7", "39:23"],
1480
- "7": ["40:1", "40:23"],
1481
- "M": ["40:20", "40:23"]
1482
- },
1483
- "weekday": {
1484
- "1": ["37:1", "37:3"],
1485
- "2": ["37:4", "37:7"],
1486
- "3": ["37:8", "37:11"]
1487
- }
1488
- },
1489
- "Miketz": {
1490
- "num": 10,
1491
- "hebrew": "מִקֵּץ",
1492
- "book": 1,
1493
- "haft": { "k": "I Kings", "b": "3:15", "e": "4:1" },
1494
- "fullkriyah": {
1495
- "1": ["41:1", "41:14"],
1496
- "2": ["41:15", "41:38"],
1497
- "3": ["41:39", "41:52"],
1498
- "4": ["41:53", "42:18"],
1499
- "5": ["42:19", "43:15"],
1500
- "6": ["43:16", "43:29"],
1501
- "7": ["43:30", "44:17"],
1502
- "M": ["44:14", "44:17"]
1503
- },
1504
- "weekday": {
1505
- "1": ["41:1", "41:4"],
1506
- "2": ["41:5", "41:7"],
1507
- "3": ["41:8", "41:14"]
1508
- }
1509
- },
1510
- "Vayigash": {
1511
- "num": 11,
1512
- "hebrew": "וַיִּגַּשׁ",
1513
- "book": 1,
1514
- "haft": { "k": "Ezekiel", "b": "37:15", "e": "37:28" },
1515
- "fullkriyah": {
1516
- "1": ["44:18", "44:30"],
1517
- "2": ["44:31", "45:7"],
1518
- "3": ["45:8", "45:18"],
1519
- "4": ["45:19", "45:27"],
1520
- "5": ["45:28", "46:27"],
1521
- "6": ["46:28", "47:10"],
1522
- "7": ["47:11", "47:27"],
1523
- "M": ["47:25", "47:27"]
1524
- },
1525
- "weekday": {
1526
- "1": ["44:18", "44:20"],
1527
- "2": ["44:21", "44:24"],
1528
- "3": ["44:25", "44:30"]
1529
- }
1530
- },
1531
- "Vayechi": {
1532
- "num": 12,
1533
- "hebrew": "וַיְחִי",
1534
- "book": 1,
1535
- "haft": { "k": "I Kings", "b": "2:1", "e": "2:12" },
1536
- "fullkriyah": {
1537
- "1": ["47:28", "48:9"],
1538
- "2": ["48:10", "48:16"],
1539
- "3": ["48:17", "48:22"],
1540
- "4": ["49:1", "49:18"],
1541
- "5": ["49:19", "49:26"],
1542
- "6": ["49:27", "50:20"],
1543
- "7": ["50:21", "50:26"],
1544
- "M": ["50:23", "50:26"]
1545
- },
1546
- "weekday": {
1547
- "1": ["47:28", "47:31"],
1548
- "2": ["48:1", "48:3"],
1549
- "3": ["48:4", "48:9"]
1550
- }
1551
- },
1552
- "Shemot": {
1553
- "num": 13,
1554
- "hebrew": "שְׁמוֹת",
1555
- "book": 2,
1556
- "haft": [{ "k": "Isaiah", "b": "27:6", "e": "28:13" }, { "k": "Isaiah", "b": "29:22", "e": "29:23" }],
1557
- "seph": { "k": "Jeremiah", "b": "1:1", "e": "2:3" },
1558
- "fullkriyah": {
1559
- "1": ["1:1", "1:17"],
1560
- "2": ["1:18", "2:10"],
1561
- "3": ["2:11", "2:25"],
1562
- "4": ["3:1", "3:15"],
1563
- "5": ["3:16", "4:17"],
1564
- "6": ["4:18", "4:31"],
1565
- "7": ["5:1", "6:1"],
1566
- "M": ["5:22", "6:1"]
1567
- },
1568
- "weekday": {
1569
- "1": ["1:1", "1:7"],
1570
- "2": ["1:8", "1:12"],
1571
- "3": ["1:13", "1:17"]
1572
- }
1573
- },
1574
- "Vaera": {
1575
- "num": 14,
1576
- "hebrew": "וָאֵרָא",
1577
- "book": 2,
1578
- "haft": { "k": "Ezekiel", "b": "28:25", "e": "29:21" },
1579
- "fullkriyah": {
1580
- "1": ["6:2", "6:13"],
1581
- "2": ["6:14", "6:28"],
1582
- "3": ["6:29", "7:7"],
1583
- "4": ["7:8", "8:6"],
1584
- "5": ["8:7", "8:18"],
1585
- "6": ["8:19", "9:16"],
1586
- "7": ["9:17", "9:35"],
1587
- "M": ["9:33", "9:35"]
1588
- },
1589
- "weekday": {
1590
- "1": ["6:2", "6:5"],
1591
- "2": ["6:6", "6:9"],
1592
- "3": ["6:10", "6:13"]
1593
- }
1594
- },
1595
- "Bo": {
1596
- "num": 15,
1597
- "hebrew": "בֹּא",
1598
- "book": 2,
1599
- "haft": { "k": "Jeremiah", "b": "46:13", "e": "46:28" },
1600
- "fullkriyah": {
1601
- "1": ["10:1", "10:11"],
1602
- "2": ["10:12", "10:23"],
1603
- "3": ["10:24", "11:3"],
1604
- "4": ["11:4", "12:20"],
1605
- "5": ["12:21", "12:28"],
1606
- "6": ["12:29", "12:51"],
1607
- "7": ["13:1", "13:16"],
1608
- "M": ["13:14", "13:16"]
1609
- },
1610
- "weekday": {
1611
- "1": ["10:1", "10:3"],
1612
- "2": ["10:4", "10:6"],
1613
- "3": ["10:7", "10:11"]
1614
- }
1615
- },
1616
- "Beshalach": {
1617
- "num": 16,
1618
- "hebrew": "בְּשַׁלַּח",
1619
- "book": 2,
1620
- "haft": { "k": "Judges", "b": "4:4", "e": "5:31" },
1621
- "seph": { "k": "Judges", "b": "5:1", "e": "5:31" },
1622
- "fullkriyah": {
1623
- "1": ["13:17", "14:8"],
1624
- "2": ["14:9", "14:14"],
1625
- "3": ["14:15", "14:25"],
1626
- "4": ["14:26", "15:26"],
1627
- "5": ["15:27", "16:10"],
1628
- "6": ["16:11", "16:36"],
1629
- "7": ["17:1", "17:16"],
1630
- "M": ["17:14", "17:16"]
1631
- },
1632
- "weekday": {
1633
- "1": ["13:17", "13:22"],
1634
- "2": ["14:1", "14:4"],
1635
- "3": ["14:5", "14:8"]
1636
- }
1637
- },
1638
- "Yitro": {
1639
- "num": 17,
1640
- "hebrew": "יִתְרוֹ",
1641
- "book": 2,
1642
- "haft": [{ "k": "Isaiah", "b": "6:1", "e": "7:6" }, { "k": "Isaiah", "b": "9:5", "e": "9:6" }],
1643
- "seph": { "k": "Isaiah", "b": "6:1", "e": "6:13" },
1644
- "fullkriyah": {
1645
- "1": ["18:1", "18:12"],
1646
- "2": ["18:13", "18:23"],
1647
- "3": ["18:24", "18:27"],
1648
- "4": ["19:1", "19:6"],
1649
- "5": ["19:7", "19:19"],
1650
- "6": ["19:20", "20:14"],
1651
- "7": ["20:15", "20:23"],
1652
- "M": ["20:19", "20:23"]
1653
- },
1654
- "weekday": {
1655
- "1": ["18:1", "18:4"],
1656
- "2": ["18:5", "18:8"],
1657
- "3": ["18:9", "18:12"]
1658
- }
1659
- },
1660
- "Mishpatim": {
1661
- "num": 18,
1662
- "hebrew": "מִּשְׁפָּטִים",
1663
- "book": 2,
1664
- "haft": [{ "k": "Jeremiah", "b": "34:8", "e": "34:22" }, { "k": "Jeremiah", "b": "33:25", "e": "33:26" }],
1665
- "fullkriyah": {
1666
- "1": ["21:1", "21:19"],
1667
- "2": ["21:20", "22:3"],
1668
- "3": ["22:4", "22:26"],
1669
- "4": ["22:27", "23:5"],
1670
- "5": ["23:6", "23:19"],
1671
- "6": ["23:20", "23:25"],
1672
- "7": ["23:26", "24:18"],
1673
- "M": ["24:15", "24:18"]
1674
- },
1675
- "weekday": {
1676
- "1": ["21:1", "21:6"],
1677
- "2": ["21:7", "21:11"],
1678
- "3": ["21:12", "21:19"]
1679
- }
1680
- },
1681
- "Terumah": {
1682
- "num": 19,
1683
- "hebrew": "תְּרוּמָה",
1684
- "book": 2,
1685
- "haft": { "k": "I Kings", "b": "5:26", "e": "6:13" },
1686
- "fullkriyah": {
1687
- "1": ["25:1", "25:16"],
1688
- "2": ["25:17", "25:30"],
1689
- "3": ["25:31", "26:14"],
1690
- "4": ["26:15", "26:30"],
1691
- "5": ["26:31", "26:37"],
1692
- "6": ["27:1", "27:8"],
1693
- "7": ["27:9", "27:19"],
1694
- "M": ["27:17", "27:19"]
1695
- },
1696
- "weekday": {
1697
- "1": ["25:1", "25:5"],
1698
- "2": ["25:6", "25:9"],
1699
- "3": ["25:10", "25:16"]
1700
- }
1701
- },
1702
- "Tetzaveh": {
1703
- "num": 20,
1704
- "hebrew": "תְּצַוֶּה",
1705
- "book": 2,
1706
- "haft": { "k": "Ezekiel", "b": "43:10", "e": "43:27" },
1707
- "fullkriyah": {
1708
- "1": ["27:20", "28:12"],
1709
- "2": ["28:13", "28:30"],
1710
- "3": ["28:31", "28:43"],
1711
- "4": ["29:1", "29:18"],
1712
- "5": ["29:19", "29:37"],
1713
- "6": ["29:38", "29:46"],
1714
- "7": ["30:1", "30:10"],
1715
- "M": ["30:8", "30:10"]
1716
- },
1717
- "weekday": {
1718
- "1": ["27:20", "28:5"],
1719
- "2": ["28:6", "28:9"],
1720
- "3": ["28:10", "28:12"]
1721
- }
1722
- },
1723
- "Ki Tisa": {
1724
- "num": 21,
1725
- "hebrew": "כִּי תִשָּׂא",
1726
- "book": 2,
1727
- "haft": { "k": "I Kings", "b": "18:1", "e": "18:39" },
1728
- "seph": { "k": "I Kings", "b": "18:20", "e": "18:39" },
1729
- "fullkriyah": {
1730
- "1": ["30:11", "31:17"],
1731
- "2": ["31:18", "33:11"],
1732
- "3": ["33:12", "33:16"],
1733
- "4": ["33:17", "33:23"],
1734
- "5": ["34:1", "34:9"],
1735
- "6": ["34:10", "34:26"],
1736
- "7": ["34:27", "34:35"],
1737
- "M": ["34:33", "34:35"]
1738
- },
1739
- "weekday": {
1740
- "1": ["30:11", "30:13"],
1741
- "2": ["30:14", "30:16"],
1742
- "3": ["30:17", "30:21"]
1743
- }
1744
- },
1745
- "Vayakhel": {
1746
- "num": 22,
1747
- "hebrew": "וַיַּקְהֵל",
1748
- "book": 2,
1749
- "haft": { "k": "I Kings", "b": "7:40", "e": "7:50" },
1750
- "seph": { "k": "I Kings", "b": "7:13", "e": "7:26" },
1751
- "fullkriyah": {
1752
- "1": ["35:1", "35:20"],
1753
- "2": ["35:21", "35:29"],
1754
- "3": ["35:30", "36:7"],
1755
- "4": ["36:8", "36:19"],
1756
- "5": ["36:20", "37:16"],
1757
- "6": ["37:17", "37:29"],
1758
- "7": ["38:1", "38:20"],
1759
- "M": ["38:18", "38:20"]
1760
- },
1761
- "weekday": {
1762
- "1": ["35:1", "35:3"],
1763
- "2": ["35:4", "35:10"],
1764
- "3": ["35:11", "35:20"]
1765
- }
1766
- },
1767
- "Pekudei": {
1768
- "num": 23,
1769
- "hebrew": "פְקוּדֵי",
1770
- "book": 2,
1771
- "haft": { "k": "I Kings", "b": "7:51", "e": "8:21" },
1772
- "seph": { "k": "I Kings", "b": "7:40", "e": "7:50" },
1773
- "fullkriyah": {
1774
- "1": ["38:21", "39:1"],
1775
- "2": ["39:2", "39:21"],
1776
- "3": ["39:22", "39:32"],
1777
- "4": ["39:33", "39:43"],
1778
- "5": ["40:1", "40:16"],
1779
- "6": ["40:17", "40:27"],
1780
- "7": ["40:28", "40:38"],
1781
- "M": ["40:34", "40:38"]
1782
- },
1783
- "weekday": {
1784
- "1": ["38:21", "38:23"],
1785
- "2": ["38:24", "38:27"],
1786
- "3": ["38:28", "39:1"]
1787
- }
1788
- },
1789
- "Vayikra": {
1790
- "num": 24,
1791
- "hebrew": "וַיִּקְרָא",
1792
- "book": 3,
1793
- "haft": { "k": "Isaiah", "b": "43:21", "e": "44:23" },
1794
- "fullkriyah": {
1795
- "1": ["1:1", "1:13"],
1796
- "2": ["1:14", "2:6"],
1797
- "3": ["2:7", "2:16"],
1798
- "4": ["3:1", "3:17"],
1799
- "5": ["4:1", "4:26"],
1800
- "6": ["4:27", "5:10"],
1801
- "7": ["5:11", "5:26"],
1802
- "M": ["5:24", "5:26"]
1803
- },
1804
- "weekday": {
1805
- "1": ["1:1", "1:4"],
1806
- "2": ["1:5", "1:9"],
1807
- "3": ["1:10", "1:13"]
1808
- }
1809
- },
1810
- "Tzav": {
1811
- "num": 25,
1812
- "hebrew": "צַו",
1813
- "book": 3,
1814
- "haft": [{ "k": "Jeremiah", "b": "7:21", "e": "8:3" }, { "k": "Jeremiah", "b": "9:22", "e": "9:23" }],
1815
- "fullkriyah": {
1816
- "1": ["6:1", "6:11"],
1817
- "2": ["6:12", "7:10"],
1818
- "3": ["7:11", "7:38"],
1819
- "4": ["8:1", "8:13"],
1820
- "5": ["8:14", "8:21"],
1821
- "6": ["8:22", "8:29"],
1822
- "7": ["8:30", "8:36"],
1823
- "M": ["8:33", "8:36"]
1824
- },
1825
- "weekday": {
1826
- "1": ["6:1", "6:3"],
1827
- "2": ["6:4", "6:6"],
1828
- "3": ["6:7", "6:11"]
1829
- }
1830
- },
1831
- "Shmini": {
1832
- "num": 26,
1833
- "hebrew": "שְּׁמִינִי",
1834
- "book": 3,
1835
- "haft": { "k": "II Samuel", "b": "6:1", "e": "7:17" },
1836
- "seph": { "k": "II Samuel", "b": "6:1", "e": "6:19" },
1837
- "fullkriyah": {
1838
- "1": ["9:1", "9:16"],
1839
- "2": ["9:17", "9:23"],
1840
- "3": ["9:24", "10:11"],
1841
- "4": ["10:12", "10:15"],
1842
- "5": ["10:16", "10:20"],
1843
- "6": ["11:1", "11:32"],
1844
- "7": ["11:33", "11:47"],
1845
- "M": ["11:45", "11:47"]
1846
- },
1847
- "weekday": {
1848
- "1": ["9:1", "9:6"],
1849
- "2": ["9:7", "9:10"],
1850
- "3": ["9:11", "9:16"]
1851
- }
1852
- },
1853
- "Tazria": {
1854
- "num": 27,
1855
- "hebrew": "תַזְרִיעַ",
1856
- "book": 3,
1857
- "haft": { "k": "II Kings", "b": "4:42", "e": "5:19" },
1858
- "fullkriyah": {
1859
- "1": ["12:1", "13:5"],
1860
- "2": ["13:6", "13:17"],
1861
- "3": ["13:18", "13:23"],
1862
- "4": ["13:24", "13:28"],
1863
- "5": ["13:29", "13:39"],
1864
- "6": ["13:40", "13:54"],
1865
- "7": ["13:55", "13:59"],
1866
- "M": ["13:57", "13:59"]
1867
- },
1868
- "weekday": {
1869
- "1": ["12:1", "12:4"],
1870
- "2": ["12:5", "12:8"],
1871
- "3": ["13:1", "13:5"]
1872
- }
1873
- },
1874
- "Metzora": {
1875
- "num": 28,
1876
- "hebrew": "מְּצֹרָע",
1877
- "book": 3,
1878
- "haft": { "k": "II Kings", "b": "7:3", "e": "7:20" },
1879
- "fullkriyah": {
1880
- "1": ["14:1", "14:12"],
1881
- "2": ["14:13", "14:20"],
1882
- "3": ["14:21", "14:32"],
1883
- "4": ["14:33", "14:53"],
1884
- "5": ["14:54", "15:15"],
1885
- "6": ["15:16", "15:28"],
1886
- "7": ["15:29", "15:33"],
1887
- "M": ["15:31", "15:33"]
1888
- },
1889
- "weekday": {
1890
- "1": ["14:1", "14:5"],
1891
- "2": ["14:6", "14:9"],
1892
- "3": ["14:10", "14:12"]
1893
- }
1894
- },
1895
- "Achrei Mot": {
1896
- "num": 29,
1897
- "hebrew": "אַחֲרֵי מוֹת",
1898
- "book": 3,
1899
- "haft": { "k": "Amos", "b": "9:7", "e": "9:15" },
1900
- "seph": { "k": "Ezekiel", "b": "22:1", "e": "22:16" },
1901
- "fullkriyah": {
1902
- "1": ["16:1", "16:17"],
1903
- "2": ["16:18", "16:24"],
1904
- "3": ["16:25", "16:34"],
1905
- "4": ["17:1", "17:7"],
1906
- "5": ["17:8", "18:5"],
1907
- "6": ["18:6", "18:21"],
1908
- "7": ["18:22", "18:30"],
1909
- "M": ["18:28", "18:30"]
1910
- },
1911
- "weekday": {
1912
- "1": ["16:1", "16:6"],
1913
- "2": ["16:7", "16:11"],
1914
- "3": ["16:12", "16:17"]
1915
- }
1916
- },
1917
- "Kedoshim": {
1918
- "num": 30,
1919
- "hebrew": "קְדשִׁים",
1920
- "book": 3,
1921
- "haft": { "k": "Ezekiel", "b": "22:1", "e": "22:19" },
1922
- "seph": { "k": "Ezekiel", "b": "20:2", "e": "20:20" },
1923
- "fullkriyah": {
1924
- "1": ["19:1", "19:14"],
1925
- "2": ["19:15", "19:22"],
1926
- "3": ["19:23", "19:32"],
1927
- "4": ["19:33", "19:37"],
1928
- "5": ["20:1", "20:7"],
1929
- "6": ["20:8", "20:22"],
1930
- "7": ["20:23", "20:27"],
1931
- "M": ["20:25", "20:27"]
1932
- },
1933
- "weekday": {
1934
- "1": ["19:1", "19:4"],
1935
- "2": ["19:5", "19:10"],
1936
- "3": ["19:11", "19:14"]
1937
- }
1938
- },
1939
- "Emor": {
1940
- "num": 31,
1941
- "hebrew": "אֱמוֹר",
1942
- "book": 3,
1943
- "haft": { "k": "Ezekiel", "b": "44:15", "e": "44:31" },
1944
- "fullkriyah": {
1945
- "1": ["21:1", "21:15"],
1946
- "2": ["21:16", "22:16"],
1947
- "3": ["22:17", "22:33"],
1948
- "4": ["23:1", "23:22"],
1949
- "5": ["23:23", "23:32"],
1950
- "6": ["23:33", "23:44"],
1951
- "7": ["24:1", "24:23"],
1952
- "M": ["24:21", "24:23"]
1953
- },
1954
- "weekday": {
1955
- "1": ["21:1", "21:6"],
1956
- "2": ["21:7", "21:12"],
1957
- "3": ["21:13", "21:15"]
1958
- }
1959
- },
1960
- "Behar": {
1961
- "num": 32,
1962
- "hebrew": "בְּהַר",
1963
- "book": 3,
1964
- "haft": { "k": "Jeremiah", "b": "32:6", "e": "32:27" },
1965
- "fullkriyah": {
1966
- "1": ["25:1", "25:13"],
1967
- "2": ["25:14", "25:18"],
1968
- "3": ["25:19", "25:24"],
1969
- "4": ["25:25", "25:28"],
1970
- "5": ["25:29", "25:38"],
1971
- "6": ["25:39", "25:46"],
1972
- "7": ["25:47", "26:2"],
1973
- "M": ["25:55", "26:2"]
1974
- },
1975
- "weekday": {
1976
- "1": ["25:1", "25:3"],
1977
- "2": ["25:4", "25:7"],
1978
- "3": ["25:8", "25:13"]
1979
- }
1980
- },
1981
- "Bechukotai": {
1982
- "num": 33,
1983
- "hebrew": "בְּחֻקֹּתַי",
1984
- "book": 3,
1985
- "haft": { "k": "Jeremiah", "b": "16:19", "e": "17:14" },
1986
- "fullkriyah": {
1987
- "1": ["26:3", "26:5"],
1988
- "2": ["26:6", "26:9"],
1989
- "3": ["26:10", "26:46"],
1990
- "4": ["27:1", "27:15"],
1991
- "5": ["27:16", "27:21"],
1992
- "6": ["27:22", "27:28"],
1993
- "7": ["27:29", "27:34"],
1994
- "M": ["27:32", "27:34"]
1995
- },
1996
- "weekday": {
1997
- "1": ["26:3", "26:5"],
1998
- "2": ["26:6", "26:9"],
1999
- "3": ["26:10", "26:13"]
2000
- }
2001
- },
2002
- "Bamidbar": {
2003
- "num": 34,
2004
- "hebrew": "בְּמִדְבַּר",
2005
- "book": 4,
2006
- "haft": { "k": "Hosea", "b": "2:1", "e": "2:22" },
2007
- "fullkriyah": {
2008
- "1": ["1:1", "1:19"],
2009
- "2": ["1:20", "1:54"],
2010
- "3": ["2:1", "2:34"],
2011
- "4": ["3:1", "3:13"],
2012
- "5": ["3:14", "3:39"],
2013
- "6": ["3:40", "3:51"],
2014
- "7": ["4:1", "4:20"],
2015
- "M": ["4:17", "4:20"]
2016
- },
2017
- "weekday": {
2018
- "1": ["1:1", "1:4"],
2019
- "2": ["1:5", "1:16"],
2020
- "3": ["1:17", "1:19"]
2021
- }
2022
- },
2023
- "Nasso": {
2024
- "num": 35,
2025
- "hebrew": "נָשׂא",
2026
- "book": 4,
2027
- "haft": { "k": "Judges", "b": "13:2", "e": "13:25" },
2028
- "fullkriyah": {
2029
- "1": ["4:21", "4:37"],
2030
- "2": ["4:38", "4:49"],
2031
- "3": ["5:1", "5:10"],
2032
- "4": ["5:11", "6:27"],
2033
- "5": ["7:1", "7:41"],
2034
- "6": ["7:42", "7:71"],
2035
- "7": ["7:72", "7:89"],
2036
- "M": ["7:87", "7:89"]
2037
- },
2038
- "weekday": {
2039
- "1": ["4:21", "4:24"],
2040
- "2": ["4:25", "4:28"],
2041
- "3": ["4:29", "4:33"]
2042
- }
2043
- },
2044
- "Beha'alotcha": {
2045
- "num": 36,
2046
- "hebrew": "בְּהַעֲלֹתְךָ",
2047
- "book": 4,
2048
- "haft": { "k": "Zechariah", "b": "2:14", "e": "4:7" },
2049
- "fullkriyah": {
2050
- "1": ["8:1", "8:14"],
2051
- "2": ["8:15", "8:26"],
2052
- "3": ["9:1", "9:14"],
2053
- "4": ["9:15", "10:10"],
2054
- "5": ["10:11", "10:34"],
2055
- "6": ["10:35", "11:29"],
2056
- "7": ["11:30", "12:16"],
2057
- "M": ["12:14", "12:16"]
2058
- },
2059
- "weekday": {
2060
- "1": ["8:1", "8:4"],
2061
- "2": ["8:5", "8:9"],
2062
- "3": ["8:10", "8:14"]
2063
- }
2064
- },
2065
- "Sh'lach": {
2066
- "num": 37,
2067
- "hebrew": "שְׁלַח־לְךָ",
2068
- "book": 4,
2069
- "haft": { "k": "Joshua", "b": "2:1", "e": "2:24" },
2070
- "fullkriyah": {
2071
- "1": ["13:1", "13:20"],
2072
- "2": ["13:21", "14:7"],
2073
- "3": ["14:8", "14:25"],
2074
- "4": ["14:26", "15:7"],
2075
- "5": ["15:8", "15:16"],
2076
- "6": ["15:17", "15:26"],
2077
- "7": ["15:27", "15:41"],
2078
- "M": ["15:37", "15:41"]
2079
- },
2080
- "weekday": {
2081
- "1": ["13:1", "13:3"],
2082
- "2": ["13:4", "13:16"],
2083
- "3": ["13:17", "13:20"]
2084
- }
2085
- },
2086
- "Korach": {
2087
- "num": 38,
2088
- "hebrew": "קוֹרַח",
2089
- "book": 4,
2090
- "haft": { "k": "I Samuel", "b": "11:14", "e": "12:22" },
2091
- "fullkriyah": {
2092
- "1": ["16:1", "16:13"],
2093
- "2": ["16:14", "16:19"],
2094
- "3": ["16:20", "17:8"],
2095
- "4": ["17:9", "17:15"],
2096
- "5": ["17:16", "17:24"],
2097
- "6": ["17:25", "18:20"],
2098
- "7": ["18:21", "18:32"],
2099
- "M": ["18:30", "18:32"]
2100
- },
2101
- "weekday": {
2102
- "1": ["16:1", "16:3"],
2103
- "2": ["16:4", "16:7"],
2104
- "3": ["16:8", "16:13"]
2105
- }
2106
- },
2107
- "Chukat": {
2108
- "num": 39,
2109
- "hebrew": "חֻקַּת",
2110
- "book": 4,
2111
- "haft": { "k": "Judges", "b": "11:1", "e": "11:33" },
2112
- "fullkriyah": {
2113
- "1": ["19:1", "19:17"],
2114
- "2": ["19:18", "20:6"],
2115
- "3": ["20:7", "20:13"],
2116
- "4": ["20:14", "20:21"],
2117
- "5": ["20:22", "21:9"],
2118
- "6": ["21:10", "21:20"],
2119
- "7": ["21:21", "22:1"],
2120
- "M": ["21:34", "22:1"]
2121
- },
2122
- "weekday": {
2123
- "1": ["19:1", "19:6"],
2124
- "2": ["19:7", "19:9"],
2125
- "3": ["19:10", "19:17"]
2126
- }
2127
- },
2128
- "Balak": {
2129
- "num": 40,
2130
- "hebrew": "בָּלָק",
2131
- "book": 4,
2132
- "haft": { "k": "Micah", "b": "5:6", "e": "6:8" },
2133
- "fullkriyah": {
2134
- "1": ["22:2", "22:12"],
2135
- "2": ["22:13", "22:20"],
2136
- "3": ["22:21", "22:38"],
2137
- "4": ["22:39", "23:12"],
2138
- "5": ["23:13", "23:26"],
2139
- "6": ["23:27", "24:13"],
2140
- "7": ["24:14", "25:9"],
2141
- "M": ["25:7", "25:9"]
2142
- },
2143
- "weekday": {
2144
- "1": ["22:2", "22:4"],
2145
- "2": ["22:5", "22:7"],
2146
- "3": ["22:8", "22:12"]
2147
- }
2148
- },
2149
- "Pinchas": {
2150
- "num": 41,
2151
- "hebrew": "פִּינְחָס",
2152
- "book": 4,
2153
- "haft": { "k": "I Kings", "b": "18:46", "e": "19:21" },
2154
- "fullkriyah": {
2155
- "1": ["25:10", "26:4"],
2156
- "2": ["26:5", "26:51"],
2157
- "3": ["26:52", "27:5"],
2158
- "4": ["27:6", "27:23"],
2159
- "5": ["28:1", "28:15"],
2160
- "6": ["28:16", "29:11"],
2161
- "7": ["29:12", "30:1"],
2162
- "M": ["29:35", "30:1"]
2163
- },
2164
- "weekday": {
2165
- "1": ["25:10", "25:12"],
2166
- "2": ["25:13", "25:15"],
2167
- "3": ["25:16", "26:4"]
2168
- }
2169
- },
2170
- "Matot": {
2171
- "num": 42,
2172
- "hebrew": "מַּטּוֹת",
2173
- "book": 4,
2174
- "haft": { "k": "Jeremiah", "b": "1:1", "e": "2:3" },
2175
- "fullkriyah": {
2176
- "1": ["30:2", "30:17"],
2177
- "2": ["31:1", "31:12"],
2178
- "3": ["31:13", "31:24"],
2179
- "4": ["31:25", "31:41"],
2180
- "5": ["31:42", "31:54"],
2181
- "6": ["32:1", "32:19"],
2182
- "7": ["32:20", "32:42"],
2183
- "M": ["32:39", "32:42"]
2184
- },
2185
- "weekday": {
2186
- "1": ["30:2", "30:9"],
2187
- "2": ["30:10", "30:13"],
2188
- "3": ["30:14", "30:17"]
2189
- }
2190
- },
2191
- "Masei": {
2192
- "num": 43,
2193
- "hebrew": "מַסְעֵי",
2194
- "book": 4,
2195
- "haft": [{ "k": "Jeremiah", "b": "2:4", "e": "2:28" }, { "k": "Jeremiah", "b": "3:4", "e": "3:4" }],
2196
- "seph": [{ "k": "Jeremiah", "b": "2:4", "e": "2:28" }, { "k": "Jeremiah", "b": "4:1", "e": "4:2" }],
2197
- "fullkriyah": {
2198
- "1": ["33:1", "33:10"],
2199
- "2": ["33:11", "33:49"],
2200
- "3": ["33:50", "34:15"],
2201
- "4": ["34:16", "34:29"],
2202
- "5": ["35:1", "35:8"],
2203
- "6": ["35:9", "35:34"],
2204
- "7": ["36:1", "36:13"],
2205
- "M": ["36:11", "36:13"]
2206
- },
2207
- "weekday": {
2208
- "1": ["33:1", "33:3"],
2209
- "2": ["33:4", "33:6"],
2210
- "3": ["33:7", "33:10"]
2211
- }
2212
- },
2213
- "Devarim": {
2214
- "num": 44,
2215
- "hebrew": "דְּבָרִים",
2216
- "book": 5,
2217
- "haft": { "k": "Isaiah", "b": "1:1", "e": "1:27" },
2218
- "fullkriyah": {
2219
- "1": ["1:1", "1:10"],
2220
- "2": ["1:11", "1:21"],
2221
- "3": ["1:22", "1:38"],
2222
- "4": ["1:39", "2:1"],
2223
- "5": ["2:2", "2:30"],
2224
- "6": ["2:31", "3:14"],
2225
- "7": ["3:15", "3:22"],
2226
- "M": ["3:20", "3:22"]
2227
- },
2228
- "weekday": {
2229
- "1": ["1:1", "1:3"],
2230
- "2": ["1:4", "1:7"],
2231
- "3": ["1:8", "1:11"]
2232
- }
2233
- },
2234
- "Vaetchanan": {
2235
- "num": 45,
2236
- "hebrew": "וָאֶתְחַנַּן",
2237
- "book": 5,
2238
- "haft": { "k": "Isaiah", "b": "40:1", "e": "40:26" },
2239
- "fullkriyah": {
2240
- "1": ["3:23", "4:4"],
2241
- "2": ["4:5", "4:40"],
2242
- "3": ["4:41", "4:49"],
2243
- "4": ["5:1", "5:18"],
2244
- "5": ["5:19", "6:3"],
2245
- "6": ["6:4", "6:25"],
2246
- "7": ["7:1", "7:11"],
2247
- "M": ["7:9", "7:11"]
2248
- },
2249
- "weekday": {
2250
- "1": ["3:23", "3:25"],
2251
- "2": ["3:26", "4:4"],
2252
- "3": ["4:5", "4:8"]
2253
- }
2254
- },
2255
- "Eikev": {
2256
- "num": 46,
2257
- "hebrew": "עֵקֶב",
2258
- "book": 5,
2259
- "haft": { "k": "Isaiah", "b": "49:14", "e": "51:3" },
2260
- "fullkriyah": {
2261
- "1": ["7:12", "8:10"],
2262
- "2": ["8:11", "9:3"],
2263
- "3": ["9:4", "9:29"],
2264
- "4": ["10:1", "10:11"],
2265
- "5": ["10:12", "11:9"],
2266
- "6": ["11:10", "11:21"],
2267
- "7": ["11:22", "11:25"],
2268
- "M": ["11:22", "11:25"]
2269
- },
2270
- "weekday": {
2271
- "1": ["7:12", "7:21"],
2272
- "2": ["7:22", "8:3"],
2273
- "3": ["8:4", "8:10"]
2274
- }
2275
- },
2276
- "Re'eh": {
2277
- "num": 47,
2278
- "hebrew": "רְאֵה",
2279
- "book": 5,
2280
- "haft": { "k": "Isaiah", "b": "54:11", "e": "55:5" },
2281
- "fullkriyah": {
2282
- "1": ["11:26", "12:10"],
2283
- "2": ["12:11", "12:28"],
2284
- "3": ["12:29", "13:19"],
2285
- "4": ["14:1", "14:21"],
2286
- "5": ["14:22", "14:29"],
2287
- "6": ["15:1", "15:18"],
2288
- "7": ["15:19", "16:17"],
2289
- "M": ["16:13", "16:17"]
2290
- },
2291
- "weekday": {
2292
- "1": ["11:26", "11:31"],
2293
- "2": ["11:32", "12:5"],
2294
- "3": ["12:6", "12:10"]
2295
- }
2296
- },
2297
- "Shoftim": {
2298
- "num": 48,
2299
- "hebrew": "שׁוֹפְטִים",
2300
- "book": 5,
2301
- "haft": { "k": "Isaiah", "b": "51:12", "e": "52:12" },
2302
- "fullkriyah": {
2303
- "1": ["16:18", "17:13"],
2304
- "2": ["17:14", "17:20"],
2305
- "3": ["18:1", "18:5"],
2306
- "4": ["18:6", "18:13"],
2307
- "5": ["18:14", "19:13"],
2308
- "6": ["19:14", "20:9"],
2309
- "7": ["20:10", "21:9"],
2310
- "M": ["21:7", "21:9"]
2311
- },
2312
- "weekday": {
2313
- "1": ["16:18", "16:20"],
2314
- "2": ["16:21", "17:10"],
2315
- "3": ["17:11", "17:13"]
2316
- }
2317
- },
2318
- "Ki Teitzei": {
2319
- "num": 49,
2320
- "hebrew": "כִּי־תֵצֵא",
2321
- "book": 5,
2322
- "haft": { "k": "Isaiah", "b": "54:1", "e": "54:10" },
2323
- "fullkriyah": {
2324
- "1": ["21:10", "21:21"],
2325
- "2": ["21:22", "22:7"],
2326
- "3": ["22:8", "23:7"],
2327
- "4": ["23:8", "23:24"],
2328
- "5": ["23:25", "24:4"],
2329
- "6": ["24:5", "24:13"],
2330
- "7": ["24:14", "25:19"],
2331
- "M": ["25:17", "25:19"]
2332
- },
2333
- "weekday": {
2334
- "1": ["21:10", "21:14"],
2335
- "2": ["21:15", "21:17"],
2336
- "3": ["21:18", "21:21"]
2337
- }
2338
- },
2339
- "Ki Tavo": {
2340
- "num": 50,
2341
- "hebrew": "כִּי־תָבוֹא",
2342
- "book": 5,
2343
- "haft": { "k": "Isaiah", "b": "60:1", "e": "60:22" },
2344
- "fullkriyah": {
2345
- "1": ["26:1", "26:11"],
2346
- "2": ["26:12", "26:15"],
2347
- "3": ["26:16", "26:19"],
2348
- "4": ["27:1", "27:10"],
2349
- "5": ["27:11", "28:6"],
2350
- "6": ["28:7", "28:69"],
2351
- "7": ["29:1", "29:8"],
2352
- "M": ["29:6", "29:8"]
2353
- },
2354
- "weekday": {
2355
- "1": ["26:1", "26:3"],
2356
- "2": ["26:4", "26:11"],
2357
- "3": ["26:12", "26:15"]
2358
- }
2359
- },
2360
- "Nitzavim": {
2361
- "num": 51,
2362
- "hebrew": "נִצָּבִים",
2363
- "book": 5,
2364
- "haft": { "k": "Isaiah", "b": "61:10", "e": "63:9" },
2365
- "fullkriyah": {
2366
- "1": ["29:9", "29:11"],
2367
- "2": ["29:12", "29:14"],
2368
- "3": ["29:15", "29:28"],
2369
- "4": ["30:1", "30:6"],
2370
- "5": ["30:7", "30:10"],
2371
- "6": ["30:11", "30:14"],
2372
- "7": ["30:15", "30:20"],
2373
- "M": ["30:15", "30:20"]
2374
- },
2375
- "weekday": {
2376
- "1": ["29:9", "29:11"],
2377
- "2": ["29:12", "29:14"],
2378
- "3": ["29:15", "29:28"]
2379
- }
2380
- },
2381
- "Vayeilech": {
2382
- "num": 52,
2383
- "hebrew": "וַיֵּלֶךְ",
2384
- "book": 5,
2385
- "haft": { "k": "Isaiah", "b": "55:6", "e": "56:8" },
2386
- "fullkriyah": {
2387
- "1": ["31:1", "31:3"],
2388
- "2": ["31:4", "31:6"],
2389
- "3": ["31:7", "31:9"],
2390
- "4": ["31:10", "31:13"],
2391
- "5": ["31:14", "31:19"],
2392
- "6": ["31:20", "31:24"],
2393
- "7": ["31:25", "31:30"],
2394
- "M": ["31:28", "31:30"]
2395
- },
2396
- "weekday": {
2397
- "1": ["31:1", "31:3"],
2398
- "2": ["31:4", "31:6"],
2399
- "3": ["31:7", "31:13"]
2400
- }
2401
- },
2402
- "Ha'azinu": {
2403
- "num": 53,
2404
- "hebrew": "הַאֲזִינוּ",
2405
- "book": 5,
2406
- "haft": { "k": "II Samuel", "b": "22:1", "e": "22:51" },
2407
- "fullkriyah": {
2408
- "1": ["32:1", "32:6"],
2409
- "2": ["32:7", "32:12"],
2410
- "3": ["32:13", "32:18"],
2411
- "4": ["32:19", "32:28"],
2412
- "5": ["32:29", "32:39"],
2413
- "6": ["32:40", "32:43"],
2414
- "7": ["32:44", "32:52"],
2415
- "M": ["32:48", "32:52"]
2416
- },
2417
- "weekday": {
2418
- "1": ["32:1", "32:3"],
2419
- "2": ["32:4", "32:6"],
2420
- "3": ["32:7", "32:12"]
2421
- }
2422
- },
2423
- "Vezot Haberakhah": {
2424
- "num": 54,
2425
- "hebrew": "וְזֹאת הַבְּרָכָה",
2426
- "book": 5,
2427
- "haft": { "k": "Joshua", "b": "1:1", "e": "1:18" },
2428
- "seph": { "k": "Joshua", "b": "1:1", "e": "1:9" },
2429
- "fullkriyah": {
2430
- "1": ["33:1", "33:7"],
2431
- "2": ["33:8", "33:12"],
2432
- "3": ["33:13", "33:17"],
2433
- "4": ["33:18", "33:21"],
2434
- "5": ["33:22", "33:26"],
2435
- "6": ["33:27", "33:29"],
2436
- "7": ["34:1", "34:12"]
2437
- },
2438
- "weekday": {
2439
- "1": ["33:1", "33:7"],
2440
- "2": ["33:8", "33:12"],
2441
- "3": ["33:13", "33:17"]
2442
- }
2443
- },
2444
- "Vayakhel-Pekudei": {
2445
- "num": [22, 23],
2446
- "combined": true,
2447
- "p1": "Vayakhel",
2448
- "p2": "Pekudei",
2449
- "num1": 22,
2450
- "num2": 23,
2451
- "book": 2,
2452
- "fullkriyah": {
2453
- "1": ["35:1", "35:29"],
2454
- "2": ["35:30", "37:16"],
2455
- "3": ["37:17", "37:29"],
2456
- "4": ["38:1", "39:1"],
2457
- "5": ["39:2", "39:21"],
2458
- "6": ["39:22", "39:43"],
2459
- "7": ["40:1", "40:38"],
2460
- "M": ["40:34", "40:38"]
2461
- }
2462
- },
2463
- "Tazria-Metzora": {
2464
- "num": [27, 28],
2465
- "combined": true,
2466
- "p1": "Tazria",
2467
- "p2": "Metzora",
2468
- "num1": 27,
2469
- "num2": 28,
2470
- "book": 3,
2471
- "fullkriyah": {
2472
- "1": ["12:1", "13:23"],
2473
- "2": ["13:24", "13:39"],
2474
- "3": ["13:40", "13:54"],
2475
- "4": ["13:55", "14:20"],
2476
- "5": ["14:21", "14:32"],
2477
- "6": ["14:33", "15:15"],
2478
- "7": ["15:16", "15:33"],
2479
- "M": ["15:31", "15:33"]
2480
- }
2481
- },
2482
- "Achrei Mot-Kedoshim": {
2483
- "num": [29, 30],
2484
- "combined": true,
2485
- "p1": "Achrei Mot",
2486
- "p2": "Kedoshim",
2487
- "num1": 29,
2488
- "num2": 30,
2489
- "book": 3,
2490
- "haft": { "k": "Amos", "b": "9:7", "e": "9:15" },
2491
- "seph": { "k": "Ezekiel", "b": "20:2", "e": "20:20" },
2492
- "fullkriyah": {
2493
- "1": ["16:1", "16:24"],
2494
- "2": ["16:25", "17:7"],
2495
- "3": ["17:8", "18:21"],
2496
- "4": ["18:22", "19:14"],
2497
- "5": ["19:15", "19:32"],
2498
- "6": ["19:33", "20:7"],
2499
- "7": ["20:8", "20:27"],
2500
- "M": ["20:25", "20:27"]
2501
- }
2502
- },
2503
- "Behar-Bechukotai": {
2504
- "num": [32, 33],
2505
- "combined": true,
2506
- "p1": "Behar",
2507
- "p2": "Bechukotai",
2508
- "num1": 32,
2509
- "num2": 33,
2510
- "book": 3,
2511
- "fullkriyah": {
2512
- "1": ["25:1", "25:18"],
2513
- "2": ["25:19", "25:28"],
2514
- "3": ["25:29", "25:38"],
2515
- "4": ["25:39", "26:9"],
2516
- "5": ["26:10", "26:46"],
2517
- "6": ["27:1", "27:15"],
2518
- "7": ["27:16", "27:34"],
2519
- "M": ["27:32", "27:34"]
2520
- }
2521
- },
2522
- "Chukat-Balak": {
2523
- "num": [39, 40],
2524
- "combined": true,
2525
- "p1": "Chukat",
2526
- "p2": "Balak",
2527
- "num1": 39,
2528
- "num2": 40,
2529
- "book": 4,
2530
- "fullkriyah": {
2531
- "1": ["19:1", "20:6"],
2532
- "2": ["20:7", "20:21"],
2533
- "3": ["20:22", "21:20"],
2534
- "4": ["21:21", "22:12"],
2535
- "5": ["22:13", "22:38"],
2536
- "6": ["22:39", "23:26"],
2537
- "7": ["23:27", "25:9"],
2538
- "M": ["25:7", "25:9"]
2539
- }
2540
- },
2541
- "Matot-Masei": {
2542
- "num": [42, 43],
2543
- "combined": true,
2544
- "p1": "Matot",
2545
- "p2": "Masei",
2546
- "num1": 42,
2547
- "num2": 43,
2548
- "book": 4,
2549
- "fullkriyah": {
2550
- "1": ["30:2", "31:12"],
2551
- "2": ["31:13", "31:54"],
2552
- "3": ["32:1", "32:19"],
2553
- "4": ["32:20", "33:49"],
2554
- "5": ["33:50", "34:15"],
2555
- "6": ["34:16", "35:8"],
2556
- "7": ["35:9", "36:13"],
2557
- "M": ["36:11", "36:13"]
2558
- }
2559
- },
2560
- "Nitzavim-Vayeilech": {
2561
- "num": [51, 52],
2562
- "combined": true,
2563
- "p1": "Nitzavim",
2564
- "p2": "Vayeilech",
2565
- "num1": 51,
2566
- "num2": 52,
2567
- "book": 5,
2568
- "fullkriyah": {
2569
- "1": ["29:9", "29:28"],
2570
- "2": ["30:1", "30:6"],
2571
- "3": ["30:7", "30:14"],
2572
- "4": ["30:15", "31:6"],
2573
- "5": ["31:7", "31:13"],
2574
- "6": ["31:14", "31:19"],
2575
- "7": ["31:20", "31:30"],
2576
- "M": ["31:28", "31:30"]
2577
- }
2578
- }
2579
- };
2229
+ const Bereshit={num:1,hebrew:"בְּרֵאשִׁית",book:1,haft:{k:"Isaiah",b:"42:5",e:"43:10"},seph:{k:"Isaiah",b:"42:5",e:"42:21"},fullkriyah:{"1":["1:1","2:3"],"2":["2:4","2:19"],"3":["2:20","3:21"],"4":["3:22","4:18"],"5":["4:19","4:22"],"6":["4:23","5:24"],"7":["5:25","6:8"],M:["6:5","6:8"]},weekday:{"1":["1:1","1:5"],"2":["1:6","1:8"],"3":["1:9","1:13"]}};const Noach={num:2,hebrew:"נֹחַ",book:1,haft:{k:"Isaiah",b:"54:1",e:"55:5"},seph:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["6:9","6:22"],"2":["7:1","7:16"],"3":["7:17","8:14"],"4":["8:15","9:7"],"5":["9:8","9:17"],"6":["9:18","10:32"],"7":["11:1","11:32"],M:["11:29","11:32"]},weekday:{"1":["6:9","6:16"],"2":["6:17","6:19"],"3":["6:20","6:22"]}};const Vayera={num:4,hebrew:"וַיֵּרָא",book:1,haft:{k:"II Kings",b:"4:1",e:"4:37"},seph:{k:"II Kings",b:"4:1",e:"4:23"},fullkriyah:{"1":["18:1","18:14"],"2":["18:15","18:33"],"3":["19:1","19:20"],"4":["19:21","21:4"],"5":["21:5","21:21"],"6":["21:22","21:34"],"7":["22:1","22:24"],M:["22:20","22:24"]},weekday:{"1":["18:1","18:5"],"2":["18:6","18:8"],"3":["18:9","18:14"]}};const Toldot={num:6,hebrew:"תּוֹלְדוֹת",book:1,haft:{k:"Malachi",b:"1:1",e:"2:7"},fullkriyah:{"1":["25:19","26:5"],"2":["26:6","26:12"],"3":["26:13","26:22"],"4":["26:23","26:29"],"5":["26:30","27:27"],"6":["27:28","28:4"],"7":["28:5","28:9"],M:["28:7","28:9"]},weekday:{"1":["25:19","25:22"],"2":["25:23","25:26"],"3":["25:27","26:5"]}};const Vayetzei={num:7,hebrew:"וַיֵּצֵא",book:1,haft:{k:"Hosea",b:"12:13",e:"14:10"},seph:{k:"Hosea",b:"11:7",e:"12:12"},fullkriyah:{"1":["28:10","28:22"],"2":["29:1","29:17"],"3":["29:18","30:13"],"4":["30:14","30:27"],"5":["30:28","31:16"],"6":["31:17","31:42"],"7":["31:43","32:3"],M:["32:1","32:3"]},weekday:{"1":["28:10","28:12"],"2":["28:13","28:17"],"3":["28:18","28:22"]}};const Vayishlach={num:8,hebrew:"וַיִּשְׁלַח",book:1,haft:{k:"Obadiah",b:"1:1",e:"1:21"},fullkriyah:{"1":["32:4","32:13"],"2":["32:14","32:30"],"3":["32:31","33:5"],"4":["33:6","33:20"],"5":["34:1","35:11"],"6":["35:12","36:19"],"7":["36:20","36:43"],M:["36:40","36:43"]},weekday:{"1":["32:4","32:6"],"2":["32:7","32:9"],"3":["32:10","32:13"]}};const Vayeshev={num:9,hebrew:"וַיֵּשֶׁב",book:1,haft:{k:"Amos",b:"2:6",e:"3:8"},fullkriyah:{"1":["37:1","37:11"],"2":["37:12","37:22"],"3":["37:23","37:36"],"4":["38:1","38:30"],"5":["39:1","39:6"],"6":["39:7","39:23"],"7":["40:1","40:23"],M:["40:20","40:23"]},weekday:{"1":["37:1","37:3"],"2":["37:4","37:7"],"3":["37:8","37:11"]}};const Miketz={num:10,hebrew:"מִקֵּץ",book:1,haft:{k:"I Kings",b:"3:15",e:"4:1"},fullkriyah:{"1":["41:1","41:14"],"2":["41:15","41:38"],"3":["41:39","41:52"],"4":["41:53","42:18"],"5":["42:19","43:15"],"6":["43:16","43:29"],"7":["43:30","44:17"],M:["44:14","44:17"]},weekday:{"1":["41:1","41:4"],"2":["41:5","41:7"],"3":["41:8","41:14"]}};const Vayigash={num:11,hebrew:"וַיִּגַּשׁ",book:1,haft:{k:"Ezekiel",b:"37:15",e:"37:28"},fullkriyah:{"1":["44:18","44:30"],"2":["44:31","45:7"],"3":["45:8","45:18"],"4":["45:19","45:27"],"5":["45:28","46:27"],"6":["46:28","47:10"],"7":["47:11","47:27"],M:["47:25","47:27"]},weekday:{"1":["44:18","44:20"],"2":["44:21","44:24"],"3":["44:25","44:30"]}};const Vayechi={num:12,hebrew:"וַיְחִי",book:1,haft:{k:"I Kings",b:"2:1",e:"2:12"},fullkriyah:{"1":["47:28","48:9"],"2":["48:10","48:16"],"3":["48:17","48:22"],"4":["49:1","49:18"],"5":["49:19","49:26"],"6":["49:27","50:20"],"7":["50:21","50:26"],M:["50:23","50:26"]},weekday:{"1":["47:28","47:31"],"2":["48:1","48:3"],"3":["48:4","48:9"]}};const Shemot={num:13,hebrew:"שְׁמוֹת",book:2,haft:[{k:"Isaiah",b:"27:6",e:"28:13"},{k:"Isaiah",b:"29:22",e:"29:23"}],seph:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["1:1","1:17"],"2":["1:18","2:10"],"3":["2:11","2:25"],"4":["3:1","3:15"],"5":["3:16","4:17"],"6":["4:18","4:31"],"7":["5:1","6:1"],M:["5:22","6:1"]},weekday:{"1":["1:1","1:7"],"2":["1:8","1:12"],"3":["1:13","1:17"]}};const Vaera={num:14,hebrew:"וָאֵרָא",book:2,haft:{k:"Ezekiel",b:"28:25",e:"29:21"},fullkriyah:{"1":["6:2","6:13"],"2":["6:14","6:28"],"3":["6:29","7:7"],"4":["7:8","8:6"],"5":["8:7","8:18"],"6":["8:19","9:16"],"7":["9:17","9:35"],M:["9:33","9:35"]},weekday:{"1":["6:2","6:5"],"2":["6:6","6:9"],"3":["6:10","6:13"]}};const Bo={num:15,hebrew:"בֹּא",book:2,haft:{k:"Jeremiah",b:"46:13",e:"46:28"},fullkriyah:{"1":["10:1","10:11"],"2":["10:12","10:23"],"3":["10:24","11:3"],"4":["11:4","12:20"],"5":["12:21","12:28"],"6":["12:29","12:51"],"7":["13:1","13:16"],M:["13:14","13:16"]},weekday:{"1":["10:1","10:3"],"2":["10:4","10:6"],"3":["10:7","10:11"]}};const Beshalach={num:16,hebrew:"בְּשַׁלַּח",book:2,haft:{k:"Judges",b:"4:4",e:"5:31"},seph:{k:"Judges",b:"5:1",e:"5:31"},fullkriyah:{"1":["13:17","14:8"],"2":["14:9","14:14"],"3":["14:15","14:25"],"4":["14:26","15:26"],"5":["15:27","16:10"],"6":["16:11","16:36"],"7":["17:1","17:16"],M:["17:14","17:16"]},weekday:{"1":["13:17","13:22"],"2":["14:1","14:4"],"3":["14:5","14:8"]}};const Yitro={num:17,hebrew:"יִתְרוֹ",book:2,haft:[{k:"Isaiah",b:"6:1",e:"7:6"},{k:"Isaiah",b:"9:5",e:"9:6"}],seph:{k:"Isaiah",b:"6:1",e:"6:13"},fullkriyah:{"1":["18:1","18:12"],"2":["18:13","18:23"],"3":["18:24","18:27"],"4":["19:1","19:6"],"5":["19:7","19:19"],"6":["19:20","20:14"],"7":["20:15","20:23"],M:["20:19","20:23"]},weekday:{"1":["18:1","18:4"],"2":["18:5","18:8"],"3":["18:9","18:12"]}};const Mishpatim={num:18,hebrew:"מִּשְׁפָּטִים",book:2,haft:[{k:"Jeremiah",b:"34:8",e:"34:22"},{k:"Jeremiah",b:"33:25",e:"33:26"}],fullkriyah:{"1":["21:1","21:19"],"2":["21:20","22:3"],"3":["22:4","22:26"],"4":["22:27","23:5"],"5":["23:6","23:19"],"6":["23:20","23:25"],"7":["23:26","24:18"],M:["24:15","24:18"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:11"],"3":["21:12","21:19"]}};const Terumah={num:19,hebrew:"תְּרוּמָה",book:2,haft:{k:"I Kings",b:"5:26",e:"6:13"},fullkriyah:{"1":["25:1","25:16"],"2":["25:17","25:30"],"3":["25:31","26:14"],"4":["26:15","26:30"],"5":["26:31","26:37"],"6":["27:1","27:8"],"7":["27:9","27:19"],M:["27:17","27:19"]},weekday:{"1":["25:1","25:5"],"2":["25:6","25:9"],"3":["25:10","25:16"]}};const Tetzaveh={num:20,hebrew:"תְּצַוֶּה",book:2,haft:{k:"Ezekiel",b:"43:10",e:"43:27"},fullkriyah:{"1":["27:20","28:12"],"2":["28:13","28:30"],"3":["28:31","28:43"],"4":["29:1","29:18"],"5":["29:19","29:37"],"6":["29:38","29:46"],"7":["30:1","30:10"],M:["30:8","30:10"]},weekday:{"1":["27:20","28:5"],"2":["28:6","28:9"],"3":["28:10","28:12"]}};const Vayakhel={num:22,hebrew:"וַיַּקְהֵל",book:2,haft:{k:"I Kings",b:"7:40",e:"7:50"},seph:{k:"I Kings",b:"7:13",e:"7:26"},fullkriyah:{"1":["35:1","35:20"],"2":["35:21","35:29"],"3":["35:30","36:7"],"4":["36:8","36:19"],"5":["36:20","37:16"],"6":["37:17","37:29"],"7":["38:1","38:20"],M:["38:18","38:20"]},weekday:{"1":["35:1","35:3"],"2":["35:4","35:10"],"3":["35:11","35:20"]}};const Pekudei={num:23,hebrew:"פְקוּדֵי",book:2,haft:{k:"I Kings",b:"7:51",e:"8:21"},seph:{k:"I Kings",b:"7:40",e:"7:50"},fullkriyah:{"1":["38:21","39:1"],"2":["39:2","39:21"],"3":["39:22","39:32"],"4":["39:33","39:43"],"5":["40:1","40:16"],"6":["40:17","40:27"],"7":["40:28","40:38"],M:["40:34","40:38"]},weekday:{"1":["38:21","38:23"],"2":["38:24","38:27"],"3":["38:28","39:1"]}};const Vayikra={num:24,hebrew:"וַיִּקְרָא",book:3,haft:{k:"Isaiah",b:"43:21",e:"44:23"},fullkriyah:{"1":["1:1","1:13"],"2":["1:14","2:6"],"3":["2:7","2:16"],"4":["3:1","3:17"],"5":["4:1","4:26"],"6":["4:27","5:10"],"7":["5:11","5:26"],M:["5:24","5:26"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:9"],"3":["1:10","1:13"]}};const Tzav={num:25,hebrew:"צַו",book:3,haft:[{k:"Jeremiah",b:"7:21",e:"8:3"},{k:"Jeremiah",b:"9:22",e:"9:23"}],fullkriyah:{"1":["6:1","6:11"],"2":["6:12","7:10"],"3":["7:11","7:38"],"4":["8:1","8:13"],"5":["8:14","8:21"],"6":["8:22","8:29"],"7":["8:30","8:36"],M:["8:33","8:36"]},weekday:{"1":["6:1","6:3"],"2":["6:4","6:6"],"3":["6:7","6:11"]}};const Shmini={num:26,hebrew:"שְּׁמִינִי",book:3,haft:{k:"II Samuel",b:"6:1",e:"7:17"},seph:{k:"II Samuel",b:"6:1",e:"6:19"},fullkriyah:{"1":["9:1","9:16"],"2":["9:17","9:23"],"3":["9:24","10:11"],"4":["10:12","10:15"],"5":["10:16","10:20"],"6":["11:1","11:32"],"7":["11:33","11:47"],M:["11:45","11:47"]},weekday:{"1":["9:1","9:6"],"2":["9:7","9:10"],"3":["9:11","9:16"]}};const Tazria={num:27,hebrew:"תַזְרִיעַ",book:3,haft:{k:"II Kings",b:"4:42",e:"5:19"},fullkriyah:{"1":["12:1","13:5"],"2":["13:6","13:17"],"3":["13:18","13:23"],"4":["13:24","13:28"],"5":["13:29","13:39"],"6":["13:40","13:54"],"7":["13:55","13:59"],M:["13:57","13:59"]},weekday:{"1":["12:1","12:4"],"2":["12:5","12:8"],"3":["13:1","13:5"]}};const Metzora={num:28,hebrew:"מְּצֹרָע",book:3,haft:{k:"II Kings",b:"7:3",e:"7:20"},fullkriyah:{"1":["14:1","14:12"],"2":["14:13","14:20"],"3":["14:21","14:32"],"4":["14:33","14:53"],"5":["14:54","15:15"],"6":["15:16","15:28"],"7":["15:29","15:33"],M:["15:31","15:33"]},weekday:{"1":["14:1","14:5"],"2":["14:6","14:9"],"3":["14:10","14:12"]}};const Kedoshim={num:30,hebrew:"קְדשִׁים",book:3,haft:{k:"Ezekiel",b:"22:1",e:"22:19"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"},fullkriyah:{"1":["19:1","19:14"],"2":["19:15","19:22"],"3":["19:23","19:32"],"4":["19:33","19:37"],"5":["20:1","20:7"],"6":["20:8","20:22"],"7":["20:23","20:27"],M:["20:25","20:27"]},weekday:{"1":["19:1","19:4"],"2":["19:5","19:10"],"3":["19:11","19:14"]}};const Emor={num:31,hebrew:"אֱמוֹר",book:3,haft:{k:"Ezekiel",b:"44:15",e:"44:31"},fullkriyah:{"1":["21:1","21:15"],"2":["21:16","22:16"],"3":["22:17","22:33"],"4":["23:1","23:22"],"5":["23:23","23:32"],"6":["23:33","23:44"],"7":["24:1","24:23"],M:["24:21","24:23"]},weekday:{"1":["21:1","21:6"],"2":["21:7","21:12"],"3":["21:13","21:15"]}};const Behar={num:32,hebrew:"בְּהַר",book:3,haft:{k:"Jeremiah",b:"32:6",e:"32:27"},fullkriyah:{"1":["25:1","25:13"],"2":["25:14","25:18"],"3":["25:19","25:24"],"4":["25:25","25:28"],"5":["25:29","25:38"],"6":["25:39","25:46"],"7":["25:47","26:2"],M:["25:55","26:2"]},weekday:{"1":["25:1","25:3"],"2":["25:4","25:7"],"3":["25:8","25:13"]}};const Bechukotai={num:33,hebrew:"בְּחֻקֹּתַי",book:3,haft:{k:"Jeremiah",b:"16:19",e:"17:14"},fullkriyah:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:46"],"4":["27:1","27:15"],"5":["27:16","27:21"],"6":["27:22","27:28"],"7":["27:29","27:34"],M:["27:32","27:34"]},weekday:{"1":["26:3","26:5"],"2":["26:6","26:9"],"3":["26:10","26:13"]}};const Bamidbar={num:34,hebrew:"בְּמִדְבַּר",book:4,haft:{k:"Hosea",b:"2:1",e:"2:22"},fullkriyah:{"1":["1:1","1:19"],"2":["1:20","1:54"],"3":["2:1","2:34"],"4":["3:1","3:13"],"5":["3:14","3:39"],"6":["3:40","3:51"],"7":["4:1","4:20"],M:["4:17","4:20"]},weekday:{"1":["1:1","1:4"],"2":["1:5","1:16"],"3":["1:17","1:19"]}};const Nasso={num:35,hebrew:"נָשׂא",book:4,haft:{k:"Judges",b:"13:2",e:"13:25"},fullkriyah:{"1":["4:21","4:37"],"2":["4:38","4:49"],"3":["5:1","5:10"],"4":["5:11","6:27"],"5":["7:1","7:41"],"6":["7:42","7:71"],"7":["7:72","7:89"],M:["7:87","7:89"]},weekday:{"1":["4:21","4:24"],"2":["4:25","4:28"],"3":["4:29","4:33"]}};const Korach={num:38,hebrew:"קוֹרַח",book:4,haft:{k:"I Samuel",b:"11:14",e:"12:22"},fullkriyah:{"1":["16:1","16:13"],"2":["16:14","16:19"],"3":["16:20","17:8"],"4":["17:9","17:15"],"5":["17:16","17:24"],"6":["17:25","18:20"],"7":["18:21","18:32"],M:["18:30","18:32"]},weekday:{"1":["16:1","16:3"],"2":["16:4","16:7"],"3":["16:8","16:13"]}};const Chukat={num:39,hebrew:"חֻקַּת",book:4,haft:{k:"Judges",b:"11:1",e:"11:33"},fullkriyah:{"1":["19:1","19:17"],"2":["19:18","20:6"],"3":["20:7","20:13"],"4":["20:14","20:21"],"5":["20:22","21:9"],"6":["21:10","21:20"],"7":["21:21","22:1"],M:["21:34","22:1"]},weekday:{"1":["19:1","19:6"],"2":["19:7","19:9"],"3":["19:10","19:17"]}};const Balak={num:40,hebrew:"בָּלָק",book:4,haft:{k:"Micah",b:"5:6",e:"6:8"},fullkriyah:{"1":["22:2","22:12"],"2":["22:13","22:20"],"3":["22:21","22:38"],"4":["22:39","23:12"],"5":["23:13","23:26"],"6":["23:27","24:13"],"7":["24:14","25:9"],M:["25:7","25:9"]},weekday:{"1":["22:2","22:4"],"2":["22:5","22:7"],"3":["22:8","22:12"]}};const Pinchas={num:41,hebrew:"פִּינְחָס",book:4,haft:{k:"I Kings",b:"18:46",e:"19:21"},fullkriyah:{"1":["25:10","26:4"],"2":["26:5","26:51"],"3":["26:52","27:5"],"4":["27:6","27:23"],"5":["28:1","28:15"],"6":["28:16","29:11"],"7":["29:12","30:1"],M:["29:35","30:1"]},weekday:{"1":["25:10","25:12"],"2":["25:13","25:15"],"3":["25:16","26:4"]}};const Matot={num:42,hebrew:"מַּטּוֹת",book:4,haft:{k:"Jeremiah",b:"1:1",e:"2:3"},fullkriyah:{"1":["30:2","30:17"],"2":["31:1","31:12"],"3":["31:13","31:24"],"4":["31:25","31:41"],"5":["31:42","31:54"],"6":["32:1","32:19"],"7":["32:20","32:42"],M:["32:39","32:42"]},weekday:{"1":["30:2","30:9"],"2":["30:10","30:13"],"3":["30:14","30:17"]}};const Masei={num:43,hebrew:"מַסְעֵי",book:4,haft:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"3:4",e:"3:4"}],seph:[{k:"Jeremiah",b:"2:4",e:"2:28"},{k:"Jeremiah",b:"4:1",e:"4:2"}],fullkriyah:{"1":["33:1","33:10"],"2":["33:11","33:49"],"3":["33:50","34:15"],"4":["34:16","34:29"],"5":["35:1","35:8"],"6":["35:9","35:34"],"7":["36:1","36:13"],M:["36:11","36:13"]},weekday:{"1":["33:1","33:3"],"2":["33:4","33:6"],"3":["33:7","33:10"]}};const Devarim={num:44,hebrew:"דְּבָרִים",book:5,haft:{k:"Isaiah",b:"1:1",e:"1:27"},fullkriyah:{"1":["1:1","1:10"],"2":["1:11","1:21"],"3":["1:22","1:38"],"4":["1:39","2:1"],"5":["2:2","2:30"],"6":["2:31","3:14"],"7":["3:15","3:22"],M:["3:20","3:22"]},weekday:{"1":["1:1","1:3"],"2":["1:4","1:7"],"3":["1:8","1:11"]}};const Vaetchanan={num:45,hebrew:"וָאֶתְחַנַּן",book:5,haft:{k:"Isaiah",b:"40:1",e:"40:26"},fullkriyah:{"1":["3:23","4:4"],"2":["4:5","4:40"],"3":["4:41","4:49"],"4":["5:1","5:18"],"5":["5:19","6:3"],"6":["6:4","6:25"],"7":["7:1","7:11"],M:["7:9","7:11"]},weekday:{"1":["3:23","3:25"],"2":["3:26","4:4"],"3":["4:5","4:8"]}};const Eikev={num:46,hebrew:"עֵקֶב",book:5,haft:{k:"Isaiah",b:"49:14",e:"51:3"},fullkriyah:{"1":["7:12","8:10"],"2":["8:11","9:3"],"3":["9:4","9:29"],"4":["10:1","10:11"],"5":["10:12","11:9"],"6":["11:10","11:21"],"7":["11:22","11:25"],M:["11:22","11:25"]},weekday:{"1":["7:12","7:21"],"2":["7:22","8:3"],"3":["8:4","8:10"]}};const Shoftim={num:48,hebrew:"שׁוֹפְטִים",book:5,haft:{k:"Isaiah",b:"51:12",e:"52:12"},fullkriyah:{"1":["16:18","17:13"],"2":["17:14","17:20"],"3":["18:1","18:5"],"4":["18:6","18:13"],"5":["18:14","19:13"],"6":["19:14","20:9"],"7":["20:10","21:9"],M:["21:7","21:9"]},weekday:{"1":["16:18","16:20"],"2":["16:21","17:10"],"3":["17:11","17:13"]}};const Nitzavim={num:51,hebrew:"נִצָּבִים",book:5,haft:{k:"Isaiah",b:"61:10",e:"63:9"},fullkriyah:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"],"4":["30:1","30:6"],"5":["30:7","30:10"],"6":["30:11","30:14"],"7":["30:15","30:20"],M:["30:15","30:20"]},weekday:{"1":["29:9","29:11"],"2":["29:12","29:14"],"3":["29:15","29:28"]}};const Vayeilech={num:52,hebrew:"וַיֵּלֶךְ",book:5,haft:{k:"Isaiah",b:"55:6",e:"56:8"},fullkriyah:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:9"],"4":["31:10","31:13"],"5":["31:14","31:19"],"6":["31:20","31:24"],"7":["31:25","31:30"],M:["31:28","31:30"]},weekday:{"1":["31:1","31:3"],"2":["31:4","31:6"],"3":["31:7","31:13"]}};var parshiyotObj0 = {Bereshit:Bereshit,Noach:Noach,"Lech-Lecha":{num:3,hebrew:"לֶךְ־לְךָ",book:1,haft:{k:"Isaiah",b:"40:27",e:"41:16"},fullkriyah:{"1":["12:1","12:13"],"2":["12:14","13:4"],"3":["13:5","13:18"],"4":["14:1","14:20"],"5":["14:21","15:6"],"6":["15:7","17:6"],"7":["17:7","17:27"],M:["17:24","17:27"]},weekday:{"1":["12:1","12:3"],"2":["12:4","12:9"],"3":["12:10","12:13"]}},Vayera:Vayera,"Chayei Sara":{num:5,hebrew:"חַיֵּי שָֹרָה",book:1,haft:{k:"I Kings",b:"1:1",e:"1:31"},fullkriyah:{"1":["23:1","23:16"],"2":["23:17","24:9"],"3":["24:10","24:26"],"4":["24:27","24:52"],"5":["24:53","24:67"],"6":["25:1","25:11"],"7":["25:12","25:18"],M:["25:16","25:18"]},weekday:{"1":["23:1","23:7"],"2":["23:8","23:12"],"3":["23:13","23:16"]}},Toldot:Toldot,Vayetzei:Vayetzei,Vayishlach:Vayishlach,Vayeshev:Vayeshev,Miketz:Miketz,Vayigash:Vayigash,Vayechi:Vayechi,Shemot:Shemot,Vaera:Vaera,Bo:Bo,Beshalach:Beshalach,Yitro:Yitro,Mishpatim:Mishpatim,Terumah:Terumah,Tetzaveh:Tetzaveh,"Ki Tisa":{num:21,hebrew:"כִּי תִשָּׂא",book:2,haft:{k:"I Kings",b:"18:1",e:"18:39"},seph:{k:"I Kings",b:"18:20",e:"18:39"},fullkriyah:{"1":["30:11","31:17"],"2":["31:18","33:11"],"3":["33:12","33:16"],"4":["33:17","33:23"],"5":["34:1","34:9"],"6":["34:10","34:26"],"7":["34:27","34:35"],M:["34:33","34:35"]},weekday:{"1":["30:11","30:13"],"2":["30:14","30:16"],"3":["30:17","30:21"]}},Vayakhel:Vayakhel,Pekudei:Pekudei,Vayikra:Vayikra,Tzav:Tzav,Shmini:Shmini,Tazria:Tazria,Metzora:Metzora,"Achrei Mot":{num:29,hebrew:"אַחֲרֵי מוֹת",book:3,haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"22:1",e:"22:16"},fullkriyah:{"1":["16:1","16:17"],"2":["16:18","16:24"],"3":["16:25","16:34"],"4":["17:1","17:7"],"5":["17:8","18:5"],"6":["18:6","18:21"],"7":["18:22","18:30"],M:["18:28","18:30"]},weekday:{"1":["16:1","16:6"],"2":["16:7","16:11"],"3":["16:12","16:17"]}},Kedoshim:Kedoshim,Emor:Emor,Behar:Behar,Bechukotai:Bechukotai,Bamidbar:Bamidbar,Nasso:Nasso,"Beha'alotcha":{num:36,hebrew:"בְּהַעֲלֹתְךָ",book:4,haft:{k:"Zechariah",b:"2:14",e:"4:7"},fullkriyah:{"1":["8:1","8:14"],"2":["8:15","8:26"],"3":["9:1","9:14"],"4":["9:15","10:10"],"5":["10:11","10:34"],"6":["10:35","11:29"],"7":["11:30","12:16"],M:["12:14","12:16"]},weekday:{"1":["8:1","8:4"],"2":["8:5","8:9"],"3":["8:10","8:14"]}},"Sh'lach":{num:37,hebrew:"שְׁלַח־לְךָ",book:4,haft:{k:"Joshua",b:"2:1",e:"2:24"},fullkriyah:{"1":["13:1","13:20"],"2":["13:21","14:7"],"3":["14:8","14:25"],"4":["14:26","15:7"],"5":["15:8","15:16"],"6":["15:17","15:26"],"7":["15:27","15:41"],M:["15:37","15:41"]},weekday:{"1":["13:1","13:3"],"2":["13:4","13:16"],"3":["13:17","13:20"]}},Korach:Korach,Chukat:Chukat,Balak:Balak,Pinchas:Pinchas,Matot:Matot,Masei:Masei,Devarim:Devarim,Vaetchanan:Vaetchanan,Eikev:Eikev,"Re'eh":{num:47,hebrew:"רְאֵה",book:5,haft:{k:"Isaiah",b:"54:11",e:"55:5"},fullkriyah:{"1":["11:26","12:10"],"2":["12:11","12:28"],"3":["12:29","13:19"],"4":["14:1","14:21"],"5":["14:22","14:29"],"6":["15:1","15:18"],"7":["15:19","16:17"],M:["16:13","16:17"]},weekday:{"1":["11:26","11:31"],"2":["11:32","12:5"],"3":["12:6","12:10"]}},Shoftim:Shoftim,"Ki Teitzei":{num:49,hebrew:"כִּי־תֵצֵא",book:5,haft:{k:"Isaiah",b:"54:1",e:"54:10"},fullkriyah:{"1":["21:10","21:21"],"2":["21:22","22:7"],"3":["22:8","23:7"],"4":["23:8","23:24"],"5":["23:25","24:4"],"6":["24:5","24:13"],"7":["24:14","25:19"],M:["25:17","25:19"]},weekday:{"1":["21:10","21:14"],"2":["21:15","21:17"],"3":["21:18","21:21"]}},"Ki Tavo":{num:50,hebrew:"כִּי־תָבוֹא",book:5,haft:{k:"Isaiah",b:"60:1",e:"60:22"},fullkriyah:{"1":["26:1","26:11"],"2":["26:12","26:15"],"3":["26:16","26:19"],"4":["27:1","27:10"],"5":["27:11","28:6"],"6":["28:7","28:69"],"7":["29:1","29:8"],M:["29:6","29:8"]},weekday:{"1":["26:1","26:3"],"2":["26:4","26:11"],"3":["26:12","26:15"]}},Nitzavim:Nitzavim,Vayeilech:Vayeilech,"Ha'azinu":{num:53,hebrew:"הַאֲזִינוּ",book:5,haft:{k:"II Samuel",b:"22:1",e:"22:51"},fullkriyah:{"1":["32:1","32:6"],"2":["32:7","32:12"],"3":["32:13","32:18"],"4":["32:19","32:28"],"5":["32:29","32:39"],"6":["32:40","32:43"],"7":["32:44","32:52"],M:["32:48","32:52"]},weekday:{"1":["32:1","32:3"],"2":["32:4","32:6"],"3":["32:7","32:12"]}},"Vezot Haberakhah":{num:54,hebrew:"וְזֹאת הַבְּרָכָה",book:5,haft:{k:"Joshua",b:"1:1",e:"1:18"},seph:{k:"Joshua",b:"1:1",e:"1:9"},fullkriyah:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"],"4":["33:18","33:21"],"5":["33:22","33:26"],"6":["33:27","33:29"],"7":["34:1","34:12"]},weekday:{"1":["33:1","33:7"],"2":["33:8","33:12"],"3":["33:13","33:17"]}},"Vayakhel-Pekudei":{num:[22,23],combined:true,p1:"Vayakhel",p2:"Pekudei",num1:22,num2:23,book:2,fullkriyah:{"1":["35:1","35:29"],"2":["35:30","37:16"],"3":["37:17","37:29"],"4":["38:1","39:1"],"5":["39:2","39:21"],"6":["39:22","39:43"],"7":["40:1","40:38"],M:["40:34","40:38"]}},"Tazria-Metzora":{num:[27,28],combined:true,p1:"Tazria",p2:"Metzora",num1:27,num2:28,book:3,fullkriyah:{"1":["12:1","13:23"],"2":["13:24","13:39"],"3":["13:40","13:54"],"4":["13:55","14:20"],"5":["14:21","14:32"],"6":["14:33","15:15"],"7":["15:16","15:33"],M:["15:31","15:33"]}},"Achrei Mot-Kedoshim":{num:[29,30],combined:true,p1:"Achrei Mot",p2:"Kedoshim",num1:29,num2:30,book:3,haft:{k:"Amos",b:"9:7",e:"9:15"},seph:{k:"Ezekiel",b:"20:2",e:"20:20"},fullkriyah:{"1":["16:1","16:24"],"2":["16:25","17:7"],"3":["17:8","18:21"],"4":["18:22","19:14"],"5":["19:15","19:32"],"6":["19:33","20:7"],"7":["20:8","20:27"],M:["20:25","20:27"]}},"Behar-Bechukotai":{num:[32,33],combined:true,p1:"Behar",p2:"Bechukotai",num1:32,num2:33,book:3,fullkriyah:{"1":["25:1","25:18"],"2":["25:19","25:28"],"3":["25:29","25:38"],"4":["25:39","26:9"],"5":["26:10","26:46"],"6":["27:1","27:15"],"7":["27:16","27:34"],M:["27:32","27:34"]}},"Chukat-Balak":{num:[39,40],combined:true,p1:"Chukat",p2:"Balak",num1:39,num2:40,book:4,fullkriyah:{"1":["19:1","20:6"],"2":["20:7","20:21"],"3":["20:22","21:20"],"4":["21:21","22:12"],"5":["22:13","22:38"],"6":["22:39","23:26"],"7":["23:27","25:9"],M:["25:7","25:9"]}},"Matot-Masei":{num:[42,43],combined:true,p1:"Matot",p2:"Masei",num1:42,num2:43,book:4,fullkriyah:{"1":["30:2","31:12"],"2":["31:13","31:54"],"3":["32:1","32:19"],"4":["32:20","33:49"],"5":["33:50","34:15"],"6":["34:16","35:8"],"7":["35:9","36:13"],M:["36:11","36:13"]}},"Nitzavim-Vayeilech":{num:[51,52],combined:true,p1:"Nitzavim",p2:"Vayeilech",num1:51,num2:52,book:5,fullkriyah:{"1":["29:9","29:28"],"2":["30:1","30:6"],"3":["30:7","30:14"],"4":["30:15","31:6"],"5":["31:7","31:13"],"6":["31:14","31:19"],"7":["31:20","31:30"],M:["31:28","31:30"]}}};
2580
2230
 
2581
2231
  const parshiyotObj = parshiyotObj0;
2582
2232
  /**
@@ -2604,7 +2254,7 @@ function makeLeyningNames(parsha) {
2604
2254
  const name = parshaToString(parsha);
2605
2255
  return {
2606
2256
  en: name,
2607
- he: parsha.map(s => core.Locale.lookupTranslation(s, 'he')).join('־'),
2257
+ he: parsha.map(s => locale.Locale.lookupTranslation(s, 'he')).join('־'),
2608
2258
  };
2609
2259
  }
2610
2260
  /**
@@ -2695,7 +2345,7 @@ function getLeyningForParshaHaShavua(ev, il = false) {
2695
2345
  if (typeof ev !== 'object' || typeof ev.getFlags !== 'function') {
2696
2346
  throw new TypeError(`Bad event argument: ${ev}`);
2697
2347
  }
2698
- else if (ev.getFlags() !== core.flags.PARSHA_HASHAVUA) {
2348
+ else if (ev.getFlags() !== event.flags.PARSHA_HASHAVUA) {
2699
2349
  throw new TypeError(`Event must be parsha hashavua: ${ev.getDesc()}`);
2700
2350
  }
2701
2351
  // first, collect the default aliyot and haftara
@@ -2760,7 +2410,7 @@ function lookupParsha(parsha) {
2760
2410
  if (raw.combined) {
2761
2411
  const [p1, p2] = name.split('-');
2762
2412
  if (!raw.hebrew) {
2763
- raw.hebrew = core.Locale.gettext(p1, 'he') + '־' + core.Locale.gettext(p2, 'he');
2413
+ raw.hebrew = locale.Locale.gettext(p1, 'he') + '־' + locale.Locale.gettext(p2, 'he');
2764
2414
  }
2765
2415
  if (!raw.haft) {
2766
2416
  const haftKey = p1 === 'Nitzavim' ? p1 : p2;
@@ -2772,8 +2422,8 @@ function lookupParsha(parsha) {
2772
2422
 
2773
2423
  function findParshaHaShavua(saturday, il) {
2774
2424
  const hyear = saturday.getFullYear();
2775
- const sedra = core.HebrewCalendar.getSedra(hyear, il);
2776
- const parsha = sedra.lookup(saturday);
2425
+ const sedra$1 = sedra.getSedra(hyear, il);
2426
+ const parsha = sedra$1.lookup(saturday);
2777
2427
  if (!parsha.chag) {
2778
2428
  return parsha;
2779
2429
  }
@@ -2781,7 +2431,7 @@ function findParshaHaShavua(saturday, il) {
2781
2431
  // If Vayeilech or Ha'azinu occurs between RH and YK, the following block for
2782
2432
  // Monday/Thursday weekday isn't executed because the above sedra.lookup()
2783
2433
  // would have already found the regular Saturday parsha.
2784
- if (saturday.getMonth() === core.months.TISHREI) {
2434
+ if (saturday.getMonth() === months.TISHREI) {
2785
2435
  const dd = saturday.getDate();
2786
2436
  const simchatTorah = il ? 22 : 23;
2787
2437
  if (dd > 2 && dd <= simchatTorah) {
@@ -2794,10 +2444,10 @@ function findParshaHaShavua(saturday, il) {
2794
2444
  }
2795
2445
  }
2796
2446
  // Search for next regular parsha, which could even spill into next year
2797
- const endOfYear = new core.HDate(1, core.months.TISHREI, hyear + 1).abs() - 1;
2447
+ const endOfYear = new HDate(1, months.TISHREI, hyear + 1).abs() - 1;
2798
2448
  const endAbs = endOfYear + 30;
2799
2449
  for (let sat2 = saturday.abs() + 7; sat2 <= endAbs; sat2 += 7) {
2800
- const sedra2 = sat2 > endOfYear ? core.HebrewCalendar.getSedra(hyear + 1, il) : sedra;
2450
+ const sedra2 = sat2 > endOfYear ? sedra.getSedra(hyear + 1, il) : sedra$1;
2801
2451
  const parsha2 = sedra2.lookup(sat2);
2802
2452
  if (!parsha2.chag) {
2803
2453
  return parsha2;
@@ -2812,10 +2462,10 @@ function getLeyningOnDate(hdate, il, wantarray = false) {
2812
2462
  let hasParshaHaShavua = false;
2813
2463
  if (dow === 6) {
2814
2464
  const hyear = hdate.getFullYear();
2815
- const sedra = core.HebrewCalendar.getSedra(hyear, il);
2816
- const parsha = sedra.lookup(hdate);
2465
+ const sedra$1 = sedra.getSedra(hyear, il);
2466
+ const parsha = sedra$1.lookup(hdate);
2817
2467
  if (!parsha.chag) {
2818
- const parshaEvent = new core.ParshaEvent(hdate, parsha.parsha, il);
2468
+ const parshaEvent = new ParshaEvent.ParshaEvent(hdate, parsha.parsha, il);
2819
2469
  const reading = getLeyningForParshaHaShavua(parshaEvent, il);
2820
2470
  if (wantarray) {
2821
2471
  hasParshaHaShavua = true;
@@ -2826,10 +2476,10 @@ function getLeyningOnDate(hdate, il, wantarray = false) {
2826
2476
  }
2827
2477
  }
2828
2478
  }
2829
- const events = core.HebrewCalendar.getHolidaysOnDate(hdate, il) || [];
2479
+ const events = holidays.getHolidaysOnDate(hdate, il) || [];
2830
2480
  let hasFullKriyah = false;
2831
2481
  for (const ev of events) {
2832
- const specialShabbat = Boolean(ev.getFlags() & (core.flags.SPECIAL_SHABBAT | core.flags.ROSH_CHODESH));
2482
+ const specialShabbat = Boolean(ev.getFlags() & (event.flags.SPECIAL_SHABBAT | event.flags.ROSH_CHODESH));
2833
2483
  if (hasParshaHaShavua && specialShabbat) {
2834
2484
  continue;
2835
2485
  }
@@ -2892,151 +2542,10 @@ function getMincha(ev, il) {
2892
2542
  return undefined;
2893
2543
  }
2894
2544
 
2895
- const fmt = new Intl.DateTimeFormat('en-US', {
2896
- year: 'numeric',
2897
- month: 'short',
2898
- day: '2-digit',
2545
+ Object.defineProperty(exports, "Locale", {
2546
+ enumerable: true,
2547
+ get: function () { return locale.Locale; }
2899
2548
  });
2900
- function fmtDate(dt) {
2901
- const s = fmt.format(dt).split(' ');
2902
- return s[1].substring(0, 2) + '-' + s[0] + '-' + s[2];
2903
- }
2904
- function getParshaDates(events) {
2905
- const parshaEvents = events.filter(ev => ev.getFlags() === core.flags.PARSHA_HASHAVUA);
2906
- const emptyMap = {};
2907
- const parshaDates = parshaEvents.reduce((set, ev) => {
2908
- set[ev.getDate().toString()] = true;
2909
- return set;
2910
- }, emptyMap);
2911
- return parshaDates;
2912
- }
2913
- function writeFullKriyahCsv(stream, hyear, il) {
2914
- const events0 = core.HebrewCalendar.calendar({
2915
- year: hyear,
2916
- isHebrewYear: true,
2917
- sedrot: true,
2918
- il: il,
2919
- });
2920
- const events = events0.filter((ev) => ev.getDesc() !== 'Rosh Chodesh Tevet');
2921
- const parshaDates = getParshaDates(events);
2922
- stream.write('"Date","Parashah","Aliyah","Reading","Verses"\r\n');
2923
- for (const ev of events) {
2924
- if (ev.getFlags() === core.flags.PARSHA_HASHAVUA ||
2925
- !parshaDates[ev.getDate().toString()]) {
2926
- writeFullKriyahEvent(stream, ev, il);
2927
- }
2928
- }
2929
- }
2930
- function ignore(ev) {
2931
- const mask = ev.getFlags();
2932
- if (mask === core.flags.SPECIAL_SHABBAT) {
2933
- return true;
2934
- }
2935
- if (mask !== core.flags.ROSH_CHODESH) {
2936
- return false;
2937
- }
2938
- return ev.getDate().getDay() === 6;
2939
- }
2940
- function writeFullKriyahEvent(stream, ev, il) {
2941
- if (ignore(ev)) {
2942
- return;
2943
- }
2944
- const mask = ev.getFlags();
2945
- const isParsha = mask === core.flags.PARSHA_HASHAVUA;
2946
- const reading = isParsha
2947
- ? getLeyningForParshaHaShavua(ev, il)
2948
- : getLeyningForHoliday(ev, il);
2949
- if (reading) {
2950
- writeCsvLines(stream, ev, reading, il, isParsha);
2951
- if (!isParsha) {
2952
- writeHolidayMincha(stream, ev, il);
2953
- const desc = ev.getDesc();
2954
- if ((il && desc === 'Sukkot VII (Hoshana Raba)') ||
2955
- (!il && desc === 'Shmini Atzeret')) {
2956
- const ev2 = new core.HolidayEvent(ev.getDate(), 'Erev Simchat Torah', core.flags.EREV);
2957
- writeFullKriyahEvent(stream, ev2, il);
2958
- }
2959
- }
2960
- }
2961
- }
2962
- function writeHolidayMincha(stream, ev, il) {
2963
- const desc = ev.getDesc();
2964
- const minchaDesc1 = desc + ' (Mincha)';
2965
- const readingMincha1 = getLeyningForHolidayKey(minchaDesc1, ev.cholHaMoedDay, il);
2966
- const readingMincha = readingMincha1 ||
2967
- getLeyningForHolidayKey(getLeyningKeyForEvent(ev, il) + ' (Mincha)', ev.cholHaMoedDay, il);
2968
- if (readingMincha) {
2969
- const minchaEv = new core.Event(ev.getDate(), minchaDesc1, core.flags.USER_EVENT);
2970
- writeCsvLines(stream, minchaEv, readingMincha, il, false);
2971
- }
2972
- }
2973
- /**
2974
- * Formats reading for CSV
2975
- */
2976
- function writeCsvLines(stream, ev, reading, il, isParsha) {
2977
- const parsha = isParsha
2978
- ? ev.basename()
2979
- : getLeyningKeyForEvent(ev, il) || ev.render();
2980
- const date = fmtDate(ev.getDate().greg());
2981
- const lines = getFullKriyahLines(reading);
2982
- for (const s of lines) {
2983
- const code = s[0].charCodeAt(0);
2984
- if (code < 48 || code > 57) {
2985
- s[0] = `"${s[0]}"`;
2986
- }
2987
- stream.write(`${date},"${parsha}",${s[0]},"${s[1]}",${s[2]}\r\n`);
2988
- }
2989
- stream.write('\r\n');
2990
- }
2991
- function getFullKriyahLines(reading) {
2992
- var _a, _b, _c;
2993
- const lines = [];
2994
- if (reading.fullkriyah) {
2995
- for (const [num, a] of Object.entries(reading.fullkriyah)) {
2996
- if (typeof a !== 'undefined') {
2997
- const k = num === 'M' ? 'maf' : num;
2998
- let aliyah = formatAliyahWithBook(a);
2999
- if ((_a = reading.reason) === null || _a === void 0 ? void 0 : _a[num]) {
3000
- aliyah += ' | ' + reading.reason[num];
3001
- }
3002
- lines.push([k, aliyah, a.v || '']);
3003
- }
3004
- }
3005
- }
3006
- if (reading.haftara) {
3007
- let haftara = reading.haftara.replace(/,/g, ';');
3008
- if ((_b = reading.reason) === null || _b === void 0 ? void 0 : _b.haftara) {
3009
- haftara += ' | ' + reading.reason.haftara;
3010
- }
3011
- const title = reading.sephardic ? 'Haftara for Ashkenazim' : 'Haftara';
3012
- lines.push([title, haftara, reading.haftaraNumV || '']);
3013
- }
3014
- if (reading.sephardic) {
3015
- let sephardic = reading.sephardic.replace(/,/g, ';');
3016
- if ((_c = reading.reason) === null || _c === void 0 ? void 0 : _c.sephardic) {
3017
- sephardic += ' | ' + reading.reason.sephardic;
3018
- }
3019
- lines.push([
3020
- 'Haftara for Sephardim',
3021
- sephardic,
3022
- reading.sephardicNumV || '',
3023
- ]);
3024
- }
3025
- if (reading.triHaftara) {
3026
- const haftara = reading.triHaftara.replace(/,/g, ';');
3027
- lines.push(['Alternate Haftara', haftara, reading.triHaftaraNumV || '']);
3028
- }
3029
- if (reading.megillah) {
3030
- for (const [num, a] of Object.entries(reading.megillah)) {
3031
- if (typeof a !== 'undefined') {
3032
- const aliyah = formatAliyahWithBook(a);
3033
- lines.push([`Megillah Ch. ${num}`, aliyah, a.v || '']);
3034
- }
3035
- }
3036
- }
3037
- return lines;
3038
- }
3039
-
3040
2549
  exports.BOOK = BOOK;
3041
2550
  exports.NUM_VERSES = NUM_VERSES;
3042
2551
  exports.calculateNumVerses = calculateNumVerses;
@@ -3050,7 +2559,6 @@ exports.getLeyningForParsha = getLeyningForParsha;
3050
2559
  exports.getLeyningForParshaHaShavua = getLeyningForParshaHaShavua;
3051
2560
  exports.getLeyningKeyForEvent = getLeyningKeyForEvent;
3052
2561
  exports.getLeyningOnDate = getLeyningOnDate;
3053
- exports.getParshaDates = getParshaDates;
3054
2562
  exports.getWeekdayReading = getWeekdayReading;
3055
2563
  exports.hasFestival = hasFestival;
3056
2564
  exports.lookupFestival = lookupFestival;
@@ -3062,10 +2570,7 @@ exports.makeSummaryFromParts = makeSummaryFromParts;
3062
2570
  exports.parshaToString = parshaToString;
3063
2571
  exports.specialReadings2 = specialReadings2;
3064
2572
  exports.sumVerses = sumVerses;
3065
- exports.writeCsvLines = writeCsvLines;
3066
- exports.writeFullKriyahCsv = writeFullKriyahCsv;
3067
- exports.writeHolidayMincha = writeHolidayMincha;
3068
2573
 
3069
2574
  return exports;
3070
2575
 
3071
- })({}, hebcal);
2576
+ })({}, hebcal, hebcal, hebcal, hebcal, hebcal);