@hebcal/core 3.31.3 → 3.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @hebcal/core v3.31.3 */
1
+ /*! @hebcal/core v3.33.1 */
2
2
  /*
3
3
  Hebcal - A Jewish Calendar Generator
4
4
  Copyright (c) 1994-2020 Danny Sadinoff
@@ -391,7 +391,7 @@ const Locale = {
391
391
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
392
392
  * @return {string}
393
393
  */
394
- lookupTranslation: function (id, locale) {
394
+ lookupTranslation: function lookupTranslation(id, locale) {
395
395
  const locale0 = locale && locale.toLowerCase();
396
396
  const loc = typeof locale == 'string' && this.locales[locale0] || this.activeLocale;
397
397
  const array = loc[id];
@@ -409,7 +409,7 @@ const Locale = {
409
409
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
410
410
  * @return {string}
411
411
  */
412
- gettext: function (id, locale) {
412
+ gettext: function gettext(id, locale) {
413
413
  const text = this.lookupTranslation(id, locale);
414
414
 
415
415
  if (typeof text == 'undefined') {
@@ -424,7 +424,7 @@ const Locale = {
424
424
  * @param {string} locale Locale name (i.e.: `'he'`, `'fr'`)
425
425
  * @param {LocaleDate} data parsed data from a `.po` file.
426
426
  */
427
- addLocale: function (locale, data) {
427
+ addLocale: function addLocale(locale, data) {
428
428
  if (typeof data.contexts !== 'object' || typeof data.contexts[''] !== 'object') {
429
429
  throw new TypeError(`Locale '${locale}' invalid compact format`);
430
430
  }
@@ -439,7 +439,7 @@ const Locale = {
439
439
  * @param {string} locale Locale name (i.e: `'he'`, `'fr'`)
440
440
  * @return {LocaleData}
441
441
  */
442
- useLocale: function (locale) {
442
+ useLocale: function useLocale(locale) {
443
443
  const locale0 = locale.toLowerCase();
444
444
  const obj = this.locales[locale0];
445
445
 
@@ -456,16 +456,24 @@ const Locale = {
456
456
  * Returns the name of the active locale (i.e. 'he', 'ashkenazi', 'fr')
457
457
  * @return {string}
458
458
  */
459
- getLocaleName: function () {
459
+ getLocaleName: function getLocaleName() {
460
460
  return this.activeName;
461
461
  },
462
462
 
463
+ /**
464
+ * Returns the names of registered locales
465
+ * @return {string[]}
466
+ */
467
+ getLocaleNames: function getLocaleNames() {
468
+ return Object.keys(this.locales).sort();
469
+ },
470
+
463
471
  /**
464
472
  * @param {number} n
465
473
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
466
474
  * @return {string}
467
475
  */
468
- ordinal: function (n, locale) {
476
+ ordinal: function ordinal(n, locale) {
469
477
  const locale1 = locale && locale.toLowerCase();
470
478
  const locale0 = locale1 || this.activeName;
471
479
 
@@ -501,7 +509,7 @@ const Locale = {
501
509
  * @param {number} n
502
510
  * @return {string}
503
511
  */
504
- getEnOrdinal: function (n) {
512
+ getEnOrdinal: function getEnOrdinal(n) {
505
513
  const s = ['th', 'st', 'nd', 'rd'];
506
514
  const v = n % 100;
507
515
  return n + (s[(v - 20) % 10] || s[v] || s[0]);
@@ -512,7 +520,7 @@ const Locale = {
512
520
  * @param {string} str
513
521
  * @return {string}
514
522
  */
515
- hebrewStripNikkud: function (str) {
523
+ hebrewStripNikkud: function hebrewStripNikkud(str) {
516
524
  return str.replace(/[\u0590-\u05bd]/g, '').replace(/[\u05bf-\u05c7]/g, '');
517
525
  }
518
526
  };
@@ -609,7 +617,7 @@ const monthNames0 = ['', 'Nisan', 'Iyyar', 'Sivan', 'Tamuz', 'Av', 'Elul', 'Tish
609
617
 
610
618
  const monthNames = [monthNames0.concat(['Adar', 'Nisan']), monthNames0.concat(['Adar I', 'Adar II', 'Nisan'])]; // eslint-disable-next-line require-jsdoc
611
619
 
612
- function throwTypeError$2(msg) {
620
+ function throwTypeError$3(msg) {
613
621
  throw new TypeError(msg);
614
622
  }
615
623
 
@@ -644,7 +652,7 @@ const UNITS_VALID = {
644
652
 
645
653
  /** Represents a Hebrew date */
646
654
 
647
- class HDate$1 {
655
+ class HDate {
648
656
  /**
649
657
  * Create a Hebrew date. There are 3 basic forms for the `HDate()` constructor.
650
658
  *
@@ -713,13 +721,13 @@ class HDate$1 {
713
721
  } // 1 argument
714
722
 
715
723
 
716
- const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate$1.isHDate(day) ? {
724
+ const abs0 = typeof day === 'number' && !isNaN(day) ? day : greg.isDate(day) ? greg.greg2abs(day) : HDate.isHDate(day) ? {
717
725
  dd: day.day,
718
726
  mm: day.month,
719
727
  yy: day.year
720
- } : throwTypeError$2(`HDate called with bad argument: ${day}`);
728
+ } : throwTypeError$3(`HDate called with bad argument: ${day}`);
721
729
  const isNumber = typeof abs0 === 'number';
722
- const d = isNumber ? HDate$1.abs2hebrew(abs0) : abs0;
730
+ const d = isNumber ? HDate.abs2hebrew(abs0) : abs0;
723
731
  /**
724
732
  * @private
725
733
  * @type {number}
@@ -764,7 +772,7 @@ class HDate$1 {
764
772
 
765
773
 
766
774
  isLeapYear() {
767
- return HDate$1.isLeapYear(this.year);
775
+ return HDate.isLeapYear(this.year);
768
776
  }
769
777
  /**
770
778
  * Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
@@ -782,7 +790,7 @@ class HDate$1 {
782
790
 
783
791
 
784
792
  getTishreiMonth() {
785
- const nummonths = HDate$1.monthsInYear(this.getFullYear());
793
+ const nummonths = HDate.monthsInYear(this.getFullYear());
786
794
  return (this.getMonth() + nummonths - 6) % nummonths || nummonths;
787
795
  }
788
796
  /**
@@ -792,7 +800,7 @@ class HDate$1 {
792
800
 
793
801
 
794
802
  daysInMonth() {
795
- return HDate$1.daysInMonth(this.getMonth(), this.getFullYear());
803
+ return HDate.daysInMonth(this.getMonth(), this.getFullYear());
796
804
  }
797
805
  /**
798
806
  * Gets the day within the month (1-30)
@@ -835,7 +843,7 @@ class HDate$1 {
835
843
 
836
844
 
837
845
  setMonth(month) {
838
- this.month = HDate$1.monthNum(month);
846
+ this.month = HDate.monthNum(month);
839
847
  fix(this);
840
848
  return this;
841
849
  }
@@ -871,7 +879,7 @@ class HDate$1 {
871
879
 
872
880
  abs() {
873
881
  if (typeof this.abs0 !== 'number') {
874
- this.abs0 = HDate$1.hebrew2abs(this.year, this.month, this.day);
882
+ this.abs0 = HDate.hebrew2abs(this.year, this.month, this.day);
875
883
  }
876
884
 
877
885
  return this.abs0;
@@ -891,20 +899,20 @@ class HDate$1 {
891
899
  let tempabs = day;
892
900
 
893
901
  if (month < TISHREI$2) {
894
- for (let m = TISHREI$2; m <= HDate$1.monthsInYear(year); m++) {
895
- tempabs += HDate$1.daysInMonth(m, year);
902
+ for (let m = TISHREI$2; m <= HDate.monthsInYear(year); m++) {
903
+ tempabs += HDate.daysInMonth(m, year);
896
904
  }
897
905
 
898
906
  for (let m = NISAN$2; m < month; m++) {
899
- tempabs += HDate$1.daysInMonth(m, year);
907
+ tempabs += HDate.daysInMonth(m, year);
900
908
  }
901
909
  } else {
902
910
  for (let m = TISHREI$2; m < month; m++) {
903
- tempabs += HDate$1.daysInMonth(m, year);
911
+ tempabs += HDate.daysInMonth(m, year);
904
912
  }
905
913
  }
906
914
 
907
- return EPOCH + HDate$1.elapsedDays(year) + tempabs - 1;
915
+ return EPOCH + HDate.elapsedDays(year) + tempabs - 1;
908
916
  }
909
917
  /**
910
918
  * @private
@@ -914,7 +922,7 @@ class HDate$1 {
914
922
 
915
923
 
916
924
  static newYear(year) {
917
- return EPOCH + HDate$1.elapsedDays(year) + HDate$1.newYearDelay(year);
925
+ return EPOCH + HDate.elapsedDays(year) + HDate.newYearDelay(year);
918
926
  }
919
927
  /**
920
928
  * @private
@@ -924,13 +932,13 @@ class HDate$1 {
924
932
 
925
933
 
926
934
  static newYearDelay(year) {
927
- const ny1 = HDate$1.elapsedDays(year);
928
- const ny2 = HDate$1.elapsedDays(year + 1);
935
+ const ny1 = HDate.elapsedDays(year);
936
+ const ny2 = HDate.elapsedDays(year + 1);
929
937
 
930
938
  if (ny2 - ny1 === 356) {
931
939
  return 2;
932
940
  } else {
933
- const ny0 = HDate$1.elapsedDays(year - 1);
941
+ const ny0 = HDate.elapsedDays(year - 1);
934
942
  return ny1 - ny0 === 382 ? 1 : 0;
935
943
  }
936
944
  }
@@ -951,18 +959,18 @@ class HDate$1 {
951
959
 
952
960
  let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
953
961
 
954
- while (HDate$1.newYear(year) <= abs) {
962
+ while (HDate.newYear(year) <= abs) {
955
963
  ++year;
956
964
  }
957
965
 
958
966
  --year;
959
- let month = abs < HDate$1.hebrew2abs(year, 1, 1) ? 7 : 1;
967
+ let month = abs < HDate.hebrew2abs(year, 1, 1) ? 7 : 1;
960
968
 
961
- while (abs > HDate$1.hebrew2abs(year, month, HDate$1.daysInMonth(month, year))) {
969
+ while (abs > HDate.hebrew2abs(year, month, HDate.daysInMonth(month, year))) {
962
970
  ++month;
963
971
  }
964
972
 
965
- const day = 1 + abs - HDate$1.hebrew2abs(year, month, 1);
973
+ const day = 1 + abs - HDate.hebrew2abs(year, month, 1);
966
974
  return {
967
975
  yy: year,
968
976
  mm: month,
@@ -976,7 +984,7 @@ class HDate$1 {
976
984
 
977
985
 
978
986
  getMonthName() {
979
- return HDate$1.getMonthName(this.getMonth(), this.getFullYear());
987
+ return HDate.getMonthName(this.getMonth(), this.getFullYear());
980
988
  }
981
989
  /**
982
990
  * Renders this Hebrew date as a translated or transliterated string,
@@ -998,7 +1006,7 @@ class HDate$1 {
998
1006
  const day = this.getDate();
999
1007
  const monthName = Locale.gettext(this.getMonthName(), locale0);
1000
1008
  const nth = Locale.ordinal(day, locale0);
1001
- const dayOf = HDate$1.getDayOfTranslation(locale0);
1009
+ const dayOf = HDate.getDayOfTranslation(locale0);
1002
1010
  const dateStr = `${nth}${dayOf} ${monthName}`;
1003
1011
 
1004
1012
  if (showYear) {
@@ -1131,7 +1139,7 @@ class HDate$1 {
1131
1139
 
1132
1140
 
1133
1141
  next() {
1134
- return new HDate$1(this.abs() + 1);
1142
+ return new HDate(this.abs() + 1);
1135
1143
  }
1136
1144
  /**
1137
1145
  * Returns the previous Hebrew date
@@ -1140,7 +1148,7 @@ class HDate$1 {
1140
1148
 
1141
1149
 
1142
1150
  prev() {
1143
- return new HDate$1(this.abs() - 1);
1151
+ return new HDate(this.abs() - 1);
1144
1152
  }
1145
1153
  /**
1146
1154
  * Returns a cloned `HDate` object with a specified amount of time added
@@ -1164,24 +1172,24 @@ class HDate$1 {
1164
1172
  number = parseInt(number, 10);
1165
1173
 
1166
1174
  if (!number) {
1167
- return new HDate$1(this);
1175
+ return new HDate(this);
1168
1176
  }
1169
1177
 
1170
- units = HDate$1.standardizeUnits(units);
1178
+ units = HDate.standardizeUnits(units);
1171
1179
 
1172
1180
  if (units === UNITS_DAY) {
1173
- return new HDate$1(this.abs() + number);
1181
+ return new HDate(this.abs() + number);
1174
1182
  } else if (units === UNITS_WEEK) {
1175
- return new HDate$1(this.abs() + 7 * number);
1183
+ return new HDate(this.abs() + 7 * number);
1176
1184
  } else if (units === UNITS_YEAR) {
1177
- return new HDate$1(this.getDate(), this.getMonth(), this.getFullYear() + number);
1185
+ return new HDate(this.getDate(), this.getMonth(), this.getFullYear() + number);
1178
1186
  } else if (units === UNITS_MONTH) {
1179
- let hd = new HDate$1(this);
1187
+ let hd = new HDate(this);
1180
1188
  const sign = number > 0 ? 1 : -1;
1181
1189
  number = Math.abs(number);
1182
1190
 
1183
1191
  for (let i = 0; i < number; i++) {
1184
- hd = new HDate$1(hd.abs() + sign * hd.daysInMonth());
1192
+ hd = new HDate(hd.abs() + sign * hd.daysInMonth());
1185
1193
  }
1186
1194
 
1187
1195
  return hd;
@@ -1196,7 +1204,7 @@ class HDate$1 {
1196
1204
 
1197
1205
  static standardizeUnits(units) {
1198
1206
  const full = UNITS_SINGLE[units] || String(units || '').toLowerCase().replace(/s$/, '');
1199
- return UNITS_VALID[full] || throwTypeError$2(`Invalid units '${units}'`);
1207
+ return UNITS_VALID[full] || throwTypeError$3(`Invalid units '${units}'`);
1200
1208
  }
1201
1209
  /**
1202
1210
  * Returns a cloned `HDate` object with a specified amount of time subracted
@@ -1245,7 +1253,7 @@ class HDate$1 {
1245
1253
 
1246
1254
 
1247
1255
  deltaDays(other) {
1248
- if (!HDate$1.isHDate(other)) {
1256
+ if (!HDate.isHDate(other)) {
1249
1257
  throw new TypeError(`Bad argument: ${other}`);
1250
1258
  }
1251
1259
 
@@ -1259,7 +1267,7 @@ class HDate$1 {
1259
1267
 
1260
1268
 
1261
1269
  isSameDate(other) {
1262
- if (HDate$1.isHDate(other)) {
1270
+ if (HDate.isHDate(other)) {
1263
1271
  return this.year == other.year && this.month == other.month && this.day == other.day;
1264
1272
  }
1265
1273
 
@@ -1292,7 +1300,7 @@ class HDate$1 {
1292
1300
 
1293
1301
 
1294
1302
  static monthsInYear(year) {
1295
- return 12 + HDate$1.isLeapYear(year); // boolean is cast to 1 or 0
1303
+ return 12 + HDate.isLeapYear(year); // boolean is cast to 1 or 0
1296
1304
  }
1297
1305
  /**
1298
1306
  * Number of days in Hebrew month in a given year (29 or 30)
@@ -1303,7 +1311,7 @@ class HDate$1 {
1303
1311
 
1304
1312
 
1305
1313
  static daysInMonth(month, year) {
1306
- if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate$1.isLeapYear(year) || month == CHESHVAN$2 && !HDate$1.longCheshvan(year) || month == KISLEV$2 && HDate$1.shortKislev(year)) {
1314
+ if (month == IYYAR$1 || month == TAMUZ$1 || month == ELUL$2 || month == TEVET$2 || month == ADAR_II$2 || month == ADAR_I$2 && !HDate.isLeapYear(year) || month == CHESHVAN$2 && !HDate.longCheshvan(year) || month == KISLEV$2 && HDate.shortKislev(year)) {
1307
1315
  return 29;
1308
1316
  } else {
1309
1317
  return 30;
@@ -1323,7 +1331,7 @@ class HDate$1 {
1323
1331
  throw new TypeError(`bad month argument ${month}`);
1324
1332
  }
1325
1333
 
1326
- return monthNames[+HDate$1.isLeapYear(year)][month];
1334
+ return monthNames[+HDate.isLeapYear(year)][month];
1327
1335
  }
1328
1336
  /**
1329
1337
  * Returns the Hebrew month number (NISAN=1, TISHREI=7)
@@ -1335,7 +1343,7 @@ class HDate$1 {
1335
1343
  static monthNum(month) {
1336
1344
  return typeof month === 'number' ? month : month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 ?
1337
1345
  /* number */
1338
- parseInt(month, 10) : HDate$1.monthFromName(month);
1346
+ parseInt(month, 10) : HDate.monthFromName(month);
1339
1347
  }
1340
1348
  /**
1341
1349
  * Days from sunday prior to start of Hebrew calendar to mean
@@ -1346,7 +1354,7 @@ class HDate$1 {
1346
1354
 
1347
1355
 
1348
1356
  static elapsedDays(year) {
1349
- const elapsed = edCache[year] = edCache[year] || HDate$1.elapsedDays0(year);
1357
+ const elapsed = edCache[year] = edCache[year] || HDate.elapsedDays0(year);
1350
1358
  return elapsed;
1351
1359
  }
1352
1360
  /**
@@ -1368,7 +1376,7 @@ class HDate$1 {
1368
1376
  const hElapsed = 5 + 12 * mElapsed + 793 * Math.floor(mElapsed / 1080) + Math.floor(pElapsed / 1080);
1369
1377
  const parts = pElapsed % 1080 + 1080 * (hElapsed % 24);
1370
1378
  const day = 1 + 29 * mElapsed + Math.floor(hElapsed / 24);
1371
- const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate$1.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate$1.isLeapYear(prevYear));
1379
+ const altDay = day + (parts >= 19440 || 2 == day % 7 && parts >= 9924 && !HDate.isLeapYear(year) || 1 == day % 7 && parts >= 16789 && HDate.isLeapYear(prevYear));
1372
1380
  return altDay + (altDay % 7 === 0 || altDay % 7 == 3 || altDay % 7 == 5);
1373
1381
  }
1374
1382
  /**
@@ -1379,7 +1387,7 @@ class HDate$1 {
1379
1387
 
1380
1388
 
1381
1389
  static daysInYear(year) {
1382
- return HDate$1.elapsedDays(year + 1) - HDate$1.elapsedDays(year);
1390
+ return HDate.elapsedDays(year + 1) - HDate.elapsedDays(year);
1383
1391
  }
1384
1392
  /**
1385
1393
  * true if Cheshvan is long in Hebrew year
@@ -1389,7 +1397,7 @@ class HDate$1 {
1389
1397
 
1390
1398
 
1391
1399
  static longCheshvan(year) {
1392
- return HDate$1.daysInYear(year) % 10 == 5;
1400
+ return HDate.daysInYear(year) % 10 == 5;
1393
1401
  }
1394
1402
  /**
1395
1403
  * true if Kislev is short in Hebrew year
@@ -1399,7 +1407,7 @@ class HDate$1 {
1399
1407
 
1400
1408
 
1401
1409
  static shortKislev(year) {
1402
- return HDate$1.daysInYear(year) % 10 == 3;
1410
+ return HDate.daysInYear(year) % 10 == 3;
1403
1411
  }
1404
1412
  /**
1405
1413
  * Converts Hebrew month string name to numeric
@@ -1588,17 +1596,17 @@ function fixDate(date) {
1588
1596
  date.year -= 1;
1589
1597
  }
1590
1598
 
1591
- date.day += HDate$1.daysInMonth(date.month, date.year);
1599
+ date.day += HDate.daysInMonth(date.month, date.year);
1592
1600
  date.month -= 1;
1593
1601
  fix(date);
1594
1602
  }
1595
1603
 
1596
- if (date.day > HDate$1.daysInMonth(date.month, date.year)) {
1604
+ if (date.day > HDate.daysInMonth(date.month, date.year)) {
1597
1605
  if (date.month == ELUL$2) {
1598
1606
  date.year += 1;
1599
1607
  }
1600
1608
 
1601
- date.day -= HDate$1.daysInMonth(date.month, date.year);
1609
+ date.day -= HDate.daysInMonth(date.month, date.year);
1602
1610
  date.month += 1;
1603
1611
  fix(date);
1604
1612
  }
@@ -1617,11 +1625,11 @@ function fixMonth(date) {
1617
1625
 
1618
1626
  fix(date);
1619
1627
  } else if (date.month < 1) {
1620
- date.month += HDate$1.monthsInYear(date.year);
1628
+ date.month += HDate.monthsInYear(date.year);
1621
1629
  date.year -= 1;
1622
1630
  fix(date);
1623
- } else if (date.month > HDate$1.monthsInYear(date.year)) {
1624
- date.month -= HDate$1.monthsInYear(date.year);
1631
+ } else if (date.month > HDate.monthsInYear(date.year)) {
1632
+ date.month -= HDate.monthsInYear(date.year);
1625
1633
  date.year += 1;
1626
1634
  fix(date);
1627
1635
  }
@@ -1638,7 +1646,7 @@ function fixMonth(date) {
1638
1646
 
1639
1647
 
1640
1648
  function onOrBefore(day, t, offset) {
1641
- return new HDate$1(HDate$1.dayOnOrBefore(day, t.abs() + offset));
1649
+ return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
1642
1650
  }
1643
1651
 
1644
1652
  const CHAG$1 = 0x000001;
@@ -1665,6 +1673,7 @@ const HEBREW_DATE = 0x040000;
1665
1673
  const MINOR_HOLIDAY$2 = 0x080000;
1666
1674
  const EREV$2 = 0x100000;
1667
1675
  const CHOL_HAMOED$2 = 0x200000;
1676
+ const MISHNA_YOMI = 0x400000;
1668
1677
  /**
1669
1678
  * Holiday flags for Event
1670
1679
  * @readonly
@@ -1736,7 +1745,10 @@ const flags = {
1736
1745
  EREV: EREV$2,
1737
1746
 
1738
1747
  /** Chol haMoed, intermediate days of Pesach or Sukkot */
1739
- CHOL_HAMOED: CHOL_HAMOED$2
1748
+ CHOL_HAMOED: CHOL_HAMOED$2,
1749
+
1750
+ /** Mishna Yomi */
1751
+ MISHNA_YOMI
1740
1752
  };
1741
1753
  /** Represents an Event with a title, date, and flags */
1742
1754
 
@@ -2288,7 +2300,7 @@ function pad4(number) {
2288
2300
  return String(number);
2289
2301
  }
2290
2302
 
2291
- function throwTypeError$1(error) {
2303
+ function throwTypeError$2(error) {
2292
2304
  throw new TypeError(error);
2293
2305
  }
2294
2306
  /**
@@ -2349,7 +2361,7 @@ class Zmanim {
2349
2361
  throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
2350
2362
  }
2351
2363
 
2352
- const dt = greg.isDate(date) ? date : HDate$1.isHDate(date) ? date.greg() : throwTypeError$1(`invalid date: ${date}`);
2364
+ const dt = greg.isDate(date) ? date : HDate.isHDate(date) ? date.greg() : throwTypeError$2(`invalid date: ${date}`);
2353
2365
  this.date = dt;
2354
2366
  this.sun = new Sun_1(this.date, latitude, longitude);
2355
2367
  this.latitude = latitude;
@@ -3014,6 +3026,7 @@ const days = {
3014
3026
  };
3015
3027
  /**
3016
3028
  * @private
3029
+ * @constant
3017
3030
  * This method returns the tzais (nightfall) based on the opinion of the
3018
3031
  * Geonim calculated as 30 minutes after sunset during the equinox
3019
3032
  * (on March 16, about 4 days before the astronomical equinox, the day that
@@ -3269,7 +3282,7 @@ class Molad {
3269
3282
  let m_adj = month - 7;
3270
3283
 
3271
3284
  if (m_adj < 0) {
3272
- m_adj += HDate$1.monthsInYear(year);
3285
+ m_adj += HDate.monthsInYear(year);
3273
3286
  }
3274
3287
 
3275
3288
  const m_elapsed = 235 * Math.floor((year - 1) / 19) + // Months in complete 19 year lunar (Metonic) cycles so far
@@ -3312,7 +3325,7 @@ class Molad {
3312
3325
 
3313
3326
 
3314
3327
  getMonthName() {
3315
- return HDate$1.getMonthName(this.month, this.year);
3328
+ return HDate.getMonthName(this.month, this.year);
3316
3329
  }
3317
3330
  /**
3318
3331
  * @return {number} Day of Week (0=Sunday, 6=Saturday)
@@ -3493,18 +3506,23 @@ const shas = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim',
3493
3506
  name: m[0],
3494
3507
  blatt: m[1]
3495
3508
  };
3496
- });
3509
+ }); // eslint-disable-next-line require-jsdoc
3510
+
3511
+ function throwTypeError$1(msg) {
3512
+ throw new TypeError(msg);
3513
+ }
3497
3514
  /**
3498
3515
  * Returns the Daf Yomi for given date
3499
3516
  */
3500
3517
 
3518
+
3501
3519
  class DafYomi {
3502
3520
  /**
3503
3521
  * Initializes a daf yomi instance
3504
- * @param {Date} gregdate Gregorian date
3522
+ * @param {Date|HDate|number} gregdate Gregorian date
3505
3523
  */
3506
3524
  constructor(gregdate) {
3507
- const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError(`non-date given to dafyomi: ${gregdate}`);
3525
+ const cday = typeof gregdate === 'number' && !isNaN(gregdate) ? gregdate : greg.isDate(gregdate) ? greg.greg2abs(gregdate) : HDate.isHDate(gregdate) ? gregdate.abs() : throwTypeError$1(`non-date given to dafyomi: ${gregdate}`);
3508
3526
 
3509
3527
  if (cday < osday) {
3510
3528
  throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
@@ -3696,16 +3714,16 @@ class Sedra {
3696
3714
  constructor(hebYr, il) {
3697
3715
  // the Hebrew year
3698
3716
  hebYr = +hebYr;
3699
- const longC = HDate$1.longCheshvan(hebYr);
3700
- const shortK = HDate$1.shortKislev(hebYr);
3717
+ const longC = HDate.longCheshvan(hebYr);
3718
+ const shortK = HDate.shortKislev(hebYr);
3701
3719
  const type = this.type = longC && !shortK ? COMPLETE : !longC && shortK ? INCOMPLETE : REGULAR;
3702
3720
  this.year = hebYr;
3703
- const rh0 = new HDate$1(1, months.TISHREI, hebYr);
3721
+ const rh0 = new HDate(1, months.TISHREI, hebYr);
3704
3722
  const rh = rh0.abs();
3705
3723
  const rhDay = this.roshHashanaDay = rh0.getDay() + 1; // find the first Saturday on or after Rosh Hashana
3706
3724
 
3707
- this.firstSaturday = HDate$1.dayOnOrBefore(6, rh + 6);
3708
- const leap = this.leap = +HDate$1.isLeapYear(hebYr);
3725
+ this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);
3726
+ const leap = this.leap = +HDate.isLeapYear(hebYr);
3709
3727
  this.il = Boolean(il);
3710
3728
  const key = `${leap}${rhDay}${type}`;
3711
3729
 
@@ -3782,7 +3800,7 @@ class Sedra {
3782
3800
  return null; // doesn't occur this year
3783
3801
  }
3784
3802
 
3785
- return new HDate$1(this.firstSaturday + idx * 7);
3803
+ return new HDate(this.firstSaturday + idx * 7);
3786
3804
  } else if (typeof parsha === 'string') {
3787
3805
  const num = parsha2id[parsha];
3788
3806
 
@@ -3798,7 +3816,7 @@ class Sedra {
3798
3816
  return null; // doesn't occur this year
3799
3817
  }
3800
3818
 
3801
- return new HDate$1(this.firstSaturday + idx * 7);
3819
+ return new HDate(this.firstSaturday + idx * 7);
3802
3820
  }
3803
3821
  } else if (Array.isArray(parsha) && parsha.length === 1 && typeof parsha[0] === 'string') {
3804
3822
  return this.find(parsha[0]);
@@ -3849,9 +3867,9 @@ class Sedra {
3849
3867
 
3850
3868
 
3851
3869
  lookup(hDate) {
3852
- const absDate = typeof hDate === 'number' ? hDate : HDate$1.isHDate(hDate) ? hDate.abs() : throwError(`Bad date argument: ${hDate}`); // find the first saturday on or after today's date
3870
+ const absDate = typeof hDate === 'number' ? hDate : HDate.isHDate(hDate) ? hDate.abs() : throwError(`Bad date argument: ${hDate}`); // find the first saturday on or after today's date
3853
3871
 
3854
- const saturday = HDate$1.dayOnOrBefore(6, absDate + 6);
3872
+ const saturday = HDate.dayOnOrBefore(6, absDate + 6);
3855
3873
  const weekNum = (saturday - this.firstSaturday) / 7;
3856
3874
  const index = this.theSedraArray[weekNum];
3857
3875
 
@@ -4307,7 +4325,7 @@ class MevarchimChodeshEvent extends Event {
4307
4325
  this.monthName = monthName;
4308
4326
  const hyear = date.getFullYear();
4309
4327
  const hmonth = date.getMonth();
4310
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4328
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4311
4329
  const molad = new MoladEvent(date, hyear, monNext);
4312
4330
  this.memo = molad.render();
4313
4331
  }
@@ -4323,9 +4341,7 @@ class MevarchimChodeshEvent extends Event {
4323
4341
  }
4324
4342
 
4325
4343
  }
4326
- /**
4327
- * @private
4328
- */
4344
+ /** Represents Rosh Hashana, the Jewish New Year */
4329
4345
 
4330
4346
  class RoshHashanaEvent extends HolidayEvent {
4331
4347
  /**
@@ -4386,7 +4402,10 @@ const MAJOR_FAST$1 = flags.MAJOR_FAST;
4386
4402
  const MINOR_HOLIDAY$1 = flags.MINOR_HOLIDAY;
4387
4403
  const EREV$1 = flags.EREV;
4388
4404
  const CHOL_HAMOED$1 = flags.CHOL_HAMOED;
4389
- /** @private */
4405
+ /**
4406
+ * Avoid dependency on ES6 Map object
4407
+ * @private
4408
+ */
4390
4409
 
4391
4410
  class SimpleMap {
4392
4411
  /**
@@ -4471,8 +4490,8 @@ function getHolidaysForYear(year) {
4471
4490
  return cached;
4472
4491
  }
4473
4492
 
4474
- const RH = new HDate$1(1, TISHREI$1, year);
4475
- const pesach = new HDate$1(15, NISAN$1, year);
4493
+ const RH = new HDate(1, TISHREI$1, year);
4494
+ const pesach = new HDate(15, NISAN$1, year);
4476
4495
  const h = new SimpleMap(); // eslint-disable-next-line require-jsdoc
4477
4496
 
4478
4497
  function add(...events) {
@@ -4496,7 +4515,7 @@ function getHolidaysForYear(year) {
4496
4515
 
4497
4516
  function addEvents(year, arr) {
4498
4517
  arr.forEach(a => {
4499
- add(new HolidayEvent(new HDate$1(a[0], a[1], year), a[2], a[3], a[4]));
4518
+ add(new HolidayEvent(new HDate(a[0], a[1], year), a[2], a[3], a[4]));
4500
4519
  });
4501
4520
  } // standard holidays that don't shift based on year
4502
4521
 
@@ -4508,7 +4527,7 @@ function getHolidaysForYear(year) {
4508
4527
  emoji: '📖✍️'
4509
4528
  }]]); // first SAT after RH
4510
4529
 
4511
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4530
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4512
4531
  addEvents(year, [[10, TISHREI$1, 'Yom Kippur', CHAG | YOM_TOV_ENDS$1 | MAJOR_FAST$1, {
4513
4532
  emoji: '📖✍️'
4514
4533
  }], [14, TISHREI$1, 'Erev Sukkot', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
@@ -4534,37 +4553,37 @@ function getHolidaysForYear(year) {
4534
4553
  cholHaMoedDay: -1
4535
4554
  }], [22, TISHREI$1, 'Shmini Atzeret', CHAG | LIGHT_CANDLES_TZEIS$1 | CHUL_ONLY$1], // [22, TISHREI, "Shmini Atzeret / Simchat Torah", YOM_TOV_ENDS | IL_ONLY],
4536
4555
  [22, TISHREI$1, 'Shmini Atzeret', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [23, TISHREI$1, 'Simchat Torah', CHAG | YOM_TOV_ENDS$1 | CHUL_ONLY$1]]);
4537
- add(new HolidayEvent(new HDate$1(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4556
+ add(new HolidayEvent(new HDate(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4538
4557
  emoji: chanukahEmoji + KEYCAP_DIGITS[1]
4539
4558
  })); // yes, we know Kislev 30-32 are wrong
4540
4559
  // HDate() corrects the month automatically
4541
4560
 
4542
4561
  for (let candles = 2; candles <= 8; candles++) {
4543
- const hd = new HDate$1(23 + candles, KISLEV$1, year);
4562
+ const hd = new HDate(23 + candles, KISLEV$1, year);
4544
4563
  add(new HolidayEvent(hd, `Chanukah: ${candles} Candles`, MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4545
4564
  chanukahDay: candles - 1,
4546
4565
  emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
4547
4566
  }));
4548
4567
  }
4549
4568
 
4550
- add(new HolidayEvent(new HDate$1(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4569
+ add(new HolidayEvent(new HDate(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4551
4570
  chanukahDay: 8,
4552
4571
  emoji: chanukahEmoji
4553
4572
  }));
4554
- add(new AsaraBTevetEvent(new HDate$1(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1), new HolidayEvent(new HDate$1(15, SHVAT$1, year), 'Tu BiShvat', MINOR_HOLIDAY$1, {
4573
+ add(new AsaraBTevetEvent(new HDate(10, TEVET$1, year), 'Asara B\'Tevet', MINOR_FAST$1), new HolidayEvent(new HDate(15, SHVAT$1, year), 'Tu BiShvat', MINOR_HOLIDAY$1, {
4555
4574
  emoji: '🌳'
4556
4575
  }));
4557
4576
  const pesachAbs = pesach.abs();
4558
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4577
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 43)), 'Shabbat Shekalim', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 30)), 'Shabbat Zachor', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == TUE ? 33 : 31)), 'Ta\'anit Esther', MINOR_FAST$1));
4559
4578
  addEvents(year, [[13, ADAR_II$1, 'Erev Purim', EREV$1 | MINOR_HOLIDAY$1, {
4560
4579
  emoji: '🎭️📜'
4561
4580
  }], [14, ADAR_II$1, 'Purim', MINOR_HOLIDAY$1, {
4562
4581
  emoji: '🎭️📜'
4563
4582
  }]]);
4564
- add(new HolidayEvent(new HDate$1(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4583
+ add(new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4565
4584
  emoji: '🎭️📜'
4566
- }), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent( // if the fast falls on Shabbat, move to Thursday
4567
- pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate$1(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4585
+ }), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14) - 7), 'Shabbat Parah', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 14)), 'Shabbat HaChodesh', SPECIAL_SHABBAT$1), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, pesachAbs - 1)), 'Shabbat HaGadol', SPECIAL_SHABBAT$1), new HolidayEvent( // if the fast falls on Shabbat, move to Thursday
4586
+ pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4568
4587
  addEvents(year, [[14, NISAN$1, 'Erev Pesach', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
4569
4588
  [15, NISAN$1, 'Pesach I', CHAG | YOM_TOV_ENDS$1 | IL_ONLY$1], [16, NISAN$1, 'Pesach II (CH\'\'M)', IL_ONLY$1 | CHOL_HAMOED$1, {
4570
4589
  cholHaMoedDay: 1
@@ -4599,22 +4618,22 @@ function getHolidaysForYear(year) {
4599
4618
  }], [1, ELUL$1, 'Rosh Hashana LaBehemot', MINOR_HOLIDAY$1, {
4600
4619
  emoji: '🐑'
4601
4620
  }]]);
4602
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, new HDate$1(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4621
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4603
4622
  emoji: '🕍'
4604
4623
  }));
4605
- add(new HolidayEvent(new HDate$1(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4624
+ add(new HolidayEvent(new HDate(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4606
4625
  emoji: '🍏🍯'
4607
4626
  }));
4608
4627
 
4609
- if (HDate$1.isLeapYear(year)) {
4610
- add(new HolidayEvent(new HDate$1(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4628
+ if (HDate.isLeapYear(year)) {
4629
+ add(new HolidayEvent(new HDate(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4611
4630
  emoji: '🎭️'
4612
4631
  }));
4613
4632
  }
4614
4633
 
4615
4634
  if (year >= 5711) {
4616
4635
  // Yom HaShoah first observed in 1951
4617
- let nisan27dt = new HDate$1(27, NISAN$1, year);
4636
+ let nisan27dt = new HDate(27, NISAN$1, year);
4618
4637
  /* When the actual date of Yom Hashoah falls on a Friday, the
4619
4638
  * state of Israel observes Yom Hashoah on the preceding
4620
4639
  * Thursday. When it falls on a Sunday, Yom Hashoah is observed
@@ -4623,9 +4642,9 @@ function getHolidaysForYear(year) {
4623
4642
  */
4624
4643
 
4625
4644
  if (nisan27dt.getDay() == FRI$1) {
4626
- nisan27dt = new HDate$1(26, NISAN$1, year);
4645
+ nisan27dt = new HDate(26, NISAN$1, year);
4627
4646
  } else if (nisan27dt.getDay() == SUN) {
4628
- nisan27dt = new HDate$1(28, NISAN$1, year);
4647
+ nisan27dt = new HDate(28, NISAN$1, year);
4629
4648
  }
4630
4649
 
4631
4650
  add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
@@ -4647,34 +4666,34 @@ function getHolidaysForYear(year) {
4647
4666
  day = 4;
4648
4667
  }
4649
4668
 
4650
- add(new HolidayEvent(new HDate$1(day, IYYAR, year), 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate$1(day + 1, IYYAR, year), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
4669
+ add(new HolidayEvent(new HDate(day, IYYAR, year), 'Yom HaZikaron', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(day + 1, IYYAR, year), 'Yom HaAtzma\'ut', MODERN_HOLIDAY$1, emojiIsraelFlag));
4651
4670
  }
4652
4671
 
4653
4672
  if (year >= 5727) {
4654
4673
  // Yom Yerushalayim only celebrated after 1967
4655
- add(new HolidayEvent(new HDate$1(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4674
+ add(new HolidayEvent(new HDate(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4656
4675
  }
4657
4676
 
4658
4677
  if (year >= 5769) {
4659
- add(new HolidayEvent(new HDate$1(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4678
+ add(new HolidayEvent(new HDate(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4660
4679
  }
4661
4680
 
4662
4681
  if (year >= 5777) {
4663
- add(new HolidayEvent(new HDate$1(7, CHESHVAN$1, year), 'Yom HaAliyah School Observance', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate$1(10, NISAN$1, year), 'Yom HaAliyah', MODERN_HOLIDAY$1, emojiIsraelFlag));
4682
+ add(new HolidayEvent(new HDate(7, CHESHVAN$1, year), 'Yom HaAliyah School Observance', MODERN_HOLIDAY$1, emojiIsraelFlag), new HolidayEvent(new HDate(10, NISAN$1, year), 'Yom HaAliyah', MODERN_HOLIDAY$1, emojiIsraelFlag));
4664
4683
  }
4665
4684
 
4666
- let tamuz17 = new HDate$1(17, TAMUZ, year);
4685
+ let tamuz17 = new HDate(17, TAMUZ, year);
4667
4686
  let tamuz17attrs;
4668
4687
 
4669
4688
  if (tamuz17.getDay() == SAT$1) {
4670
- tamuz17 = new HDate$1(18, TAMUZ, year);
4689
+ tamuz17 = new HDate(18, TAMUZ, year);
4671
4690
  tamuz17attrs = {
4672
4691
  observed: true
4673
4692
  };
4674
4693
  }
4675
4694
 
4676
4695
  add(new HolidayEvent(tamuz17, 'Tzom Tammuz', MINOR_FAST$1, tamuz17attrs));
4677
- let av9dt = new HDate$1(9, AV, year);
4696
+ let av9dt = new HDate(9, AV, year);
4678
4697
  let av9title = 'Tish\'a B\'Av';
4679
4698
  let av9attrs;
4680
4699
 
@@ -4687,17 +4706,17 @@ function getHolidaysForYear(year) {
4687
4706
  }
4688
4707
 
4689
4708
  const av9abs = av9dt.abs();
4690
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
4691
- const monthsInYear = HDate$1.monthsInYear(year);
4709
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs)), 'Shabbat Chazon', SPECIAL_SHABBAT$1), new HolidayEvent(av9dt.prev(), 'Erev Tish\'a B\'Av', EREV$1 | MAJOR_FAST$1, av9attrs), new HolidayEvent(av9dt, av9title, MAJOR_FAST$1, av9attrs), new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, av9abs + 7)), 'Shabbat Nachamu', SPECIAL_SHABBAT$1));
4710
+ const monthsInYear = HDate.monthsInYear(year);
4692
4711
 
4693
4712
  for (let month = 1; month <= monthsInYear; month++) {
4694
- const monthName = HDate$1.getMonthName(month, year);
4713
+ const monthName = HDate.getMonthName(month, year);
4695
4714
 
4696
- if ((month == NISAN$1 ? HDate$1.daysInMonth(HDate$1.monthsInYear(year - 1), year - 1) : HDate$1.daysInMonth(month - 1, year)) == 30) {
4697
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4698
- add(new RoshChodeshEvent(new HDate$1(30, month - 1, year), monthName));
4715
+ if ((month == NISAN$1 ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1) : HDate.daysInMonth(month - 1, year)) == 30) {
4716
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4717
+ add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));
4699
4718
  } else if (month !== TISHREI$1) {
4700
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4719
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4701
4720
  }
4702
4721
 
4703
4722
  if (month == ELUL$1) {
@@ -4705,8 +4724,8 @@ function getHolidaysForYear(year) {
4705
4724
  } // Don't worry about month overrun; will get "Nisan" for month=14
4706
4725
 
4707
4726
 
4708
- const nextMonthName = HDate$1.getMonthName(month + 1, year);
4709
- add(new MevarchimChodeshEvent(new HDate$1(29, month, year).onOrBefore(SAT$1), nextMonthName));
4727
+ const nextMonthName = HDate.getMonthName(month + 1, year);
4728
+ add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$1), nextMonthName));
4710
4729
  }
4711
4730
 
4712
4731
  const sedra = getSedra(year, false);
@@ -4716,14 +4735,172 @@ function getHolidaysForYear(year) {
4716
4735
  return h;
4717
4736
  }
4718
4737
 
4719
- var version="3.31.3";
4738
+ var mishnayot = [{k:"Berakhot",v:[5,8,6,7,5,8,5,8,5]},{k:"Peah",v:[6,8,8,11,8,11,8,9]},{k:"Demai",v:[4,5,6,7,11,12,8]},{k:"Kilayim",v:[9,11,7,9,8,9,8,6,10]},{k:"Sheviit",v:[8,10,10,10,9,6,7,11,9,9]},{k:"Terumot",v:[10,6,9,13,9,6,7,12,7,12,10]},{k:"Maasrot",v:[8,8,10,6,8]},{k:"Maaser Sheni",v:[7,10,13,12,15]},{k:"Challah",v:[9,8,10,11]},{k:"Orlah",v:[9,17,9]},{k:"Bikkurim",v:[11,11,12,5]},{k:"Shabbat",v:[11,7,6,2,4,10,4,7,7,6,6,6,7,4,3,8,8,3,6,5,3,6,5,5]},{k:"Eruvin",v:[10,6,9,11,9,10,11,11,4,15]},{k:"Pesachim",v:[7,8,8,9,10,6,13,8,11,9]},{k:"Shekalim",v:[7,5,4,9,6,6,7,8]},{k:"Yoma",v:[8,7,11,6,7,8,5,9]},{k:"Sukkah",v:[11,9,15,10,8]},{k:"Beitzah",v:[10,10,8,7,7]},{k:"Rosh Hashanah",v:[9,9,8,9]},{k:"Taanit",v:[7,10,9,8]},{k:"Megillah",v:[11,6,6,10]},{k:"Moed Katan",v:[10,5,9]},{k:"Chagigah",v:[8,7,8]},{k:"Yevamot",v:[4,10,10,13,6,6,6,6,6,9,7,6,13,9,10,7]},{k:"Ketubot",v:[10,10,9,12,9,7,10,8,9,6,6,4,11]},{k:"Nedarim",v:[4,5,11,8,6,10,9,7,10,8,12]},{k:"Nazir",v:[7,10,7,7,7,11,4,2,5]},{k:"Sotah",v:[9,6,8,5,5,4,8,7,15]},{k:"Gittin",v:[6,7,8,9,9,7,9,10,10]},{k:"Kiddushin",v:[10,10,13,14]},{k:"Bava Kamma",v:[4,6,11,9,7,6,7,7,12,10]},{k:"Bava Metzia",v:[8,11,12,12,11,8,11,9,13,6]},{k:"Bava Batra",v:[6,14,8,9,11,8,4,8,10,8]},{k:"Sanhedrin",v:[6,5,8,5,5,6,11,7,6,6,6]},{k:"Makkot",v:[10,8,16]},{k:"Shevuot",v:[7,5,11,13,5,7,8,6]},{k:"Eduyot",v:[14,10,12,12,7,3,9,7]},{k:"Avodah Zarah",v:[9,7,10,12,12]},{k:"Avot",v:[18,16,18,22,23,11]},{k:"Horayot",v:[5,7,8]},{k:"Zevachim",v:[4,5,6,6,8,7,6,12,7,8,8,6,8,10]},{k:"Menachot",v:[4,5,7,5,9,7,6,7,9,9,9,5,11]},{k:"Chullin",v:[7,10,7,7,5,7,6,6,8,4,2,5]},{k:"Bekhorot",v:[7,9,4,10,6,12,7,10,8]},{k:"Arakhin",v:[4,6,5,4,6,5,5,7,8]},{k:"Temurah",v:[6,3,5,4,6,5,6]},{k:"Keritot",v:[7,6,10,3,8,9]},{k:"Meilah",v:[4,9,8,6,5,6]},{k:"Tamid",v:[4,5,9,3,6,3,4]},{k:"Middot",v:[9,6,8,7,4]},{k:"Kinnim",v:[4,5,6]},{k:"Kelim",v:[9,8,8,4,11,4,6,11,8,8,9,8,8,8,6,8,17,9,10,7,3,10,5,17,9,9,12,10,8,4]},{k:"Oholot",v:[8,7,7,3,7,7,6,6,16,7,9,8,6,7,10,5,5,10]},{k:"Negaim",v:[6,5,8,11,5,8,5,10,3,10,12,7,12,13]},{k:"Parah",v:[4,5,11,4,9,5,12,11,9,6,9,11]},{k:"Tahorot",v:[9,8,8,13,9,10,9,9,9,8]},{k:"Mikvaot",v:[8,10,4,5,6,11,7,5,7,8]},{k:"Niddah",v:[7,7,7,7,9,14,5,4,11,8]},{k:"Makhshirin",v:[6,11,8,10,11,8]},{k:"Zavim",v:[6,4,3,7,12]},{k:"Tevul Yom",v:[5,8,6,7]},{k:"Yadayim",v:[5,4,5,8]},{k:"Oktzin",v:[6,10,12]}];
4739
+
4740
+ const cycleStartDate = new Date(1947, 4, 20);
4741
+ const mishnaYomiStart = greg.greg2abs(cycleStartDate);
4742
+ const numMishnayot = 4192;
4743
+ const numDays = numMishnayot / 2;
4744
+ /**
4745
+ * Describes a mishna to be read
4746
+ * @typedef {Object} MishnaYomi
4747
+ * @property {string} k tractate name in Sephardic transliteration (e.g. "Berakhot", "Moed Katan")
4748
+ * @property {string} v verse (e.g. "2:1")
4749
+ */
4750
+ // eslint-disable-next-line require-jsdoc
4751
+
4752
+ function throwTypeError(msg) {
4753
+ throw new TypeError(msg);
4754
+ }
4755
+ /**
4756
+ * A program of daily learning in which participants study two Mishnahs
4757
+ * each day in order to finish the entire Mishnah in ~6 years.
4758
+ */
4759
+
4760
+
4761
+ class MishnaYomiIndex {
4762
+ /**
4763
+ * Initializes a Mishna Yomi instance
4764
+ */
4765
+ constructor() {
4766
+ const tmp = Array(numMishnayot);
4767
+ let i = 0;
4768
+
4769
+ for (const tractate of mishnayot) {
4770
+ const v = tractate.v;
4771
+
4772
+ for (let chap = 1; chap <= v.length; chap++) {
4773
+ const numv = v[chap - 1];
4774
+
4775
+ for (let verse = 1; verse <= numv; verse++) {
4776
+ tmp[i++] = {
4777
+ k: tractate.k,
4778
+ v: `${chap}:${verse}`
4779
+ };
4780
+ }
4781
+ }
4782
+ }
4783
+
4784
+ const days = Array(numDays);
4785
+
4786
+ for (let j = 0; j < numDays; j++) {
4787
+ const k = j * 2;
4788
+ days[j] = [tmp[k], tmp[k + 1]];
4789
+ }
4790
+ /** @type {MishnaYomi[]} */
4791
+
4792
+
4793
+ this.days = days;
4794
+ }
4795
+ /**
4796
+ * Looks up a Mishna Yomi
4797
+ * @param {Date|HDate|number} date Gregorian date
4798
+ * @return {MishnaYomi[]}
4799
+ */
4800
+
4801
+
4802
+ lookup(date) {
4803
+ const abs = typeof date === 'number' && !isNaN(date) ? date : greg.isDate(date) ? greg.greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
4804
+
4805
+ if (abs < mishnaYomiStart) {
4806
+ const s = date.toISOString().substring(0, 10);
4807
+ throw new RangeError(`Date ${s} too early; Mishna Yomi cycle began on 1947-05-20`);
4808
+ }
4809
+
4810
+ const dayNum = (abs - mishnaYomiStart) % numDays;
4811
+ return this.days[dayNum];
4812
+ }
4813
+
4814
+ }
4815
+
4816
+ /**
4817
+ * @private
4818
+ * @param {MishnaYomi[]} mishnaYomi
4819
+ * @param {string} locale
4820
+ * @return {string}
4821
+ */
4822
+
4823
+ function formatMyomi(mishnaYomi, locale) {
4824
+ const k1 = mishnaYomi[0].k;
4825
+ const cv1 = mishnaYomi[0].v;
4826
+ const mishna1 = Locale.gettext(k1, locale) + ' ' + cv1;
4827
+ const k2 = mishnaYomi[1].k;
4828
+ const cv2 = mishnaYomi[1].v;
4829
+
4830
+ if (k1 !== k2) {
4831
+ return mishna1 + '-' + Locale.gettext(k2, locale) + ' ' + cv2;
4832
+ }
4833
+
4834
+ const p1 = cv1.split(':');
4835
+ const p2 = cv2.split(':');
4836
+
4837
+ if (p1[0] === p2[0]) {
4838
+ return mishna1 + '-' + p2[1];
4839
+ }
4840
+
4841
+ return mishna1 + '-' + cv2;
4842
+ }
4843
+ /**
4844
+ * Event wrapper around a Mishna Yomi instance
4845
+ */
4846
+
4720
4847
 
4721
- var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
4848
+ class MishnaYomiEvent extends Event {
4849
+ /**
4850
+ * @param {HDate} date
4851
+ * @param {MishnaYomi[]} mishnaYomi
4852
+ */
4853
+ constructor(date, mishnaYomi) {
4854
+ super(date, formatMyomi(mishnaYomi, null), flags.MISHNA_YOMI, {
4855
+ mishnaYomi
4856
+ });
4857
+ }
4858
+ /**
4859
+ * Returns Mishna Yomi name (e.g. "Bava Metzia 10:5-6" or "Berakhot 9:5-Peah 1:1").
4860
+ * @param {string} [locale] Optional locale name (defaults to active locale).
4861
+ * @return {string}
4862
+ */
4863
+
4864
+
4865
+ render(locale) {
4866
+ return formatMyomi(this.mishnaYomi, locale);
4867
+ }
4868
+ /**
4869
+ * Returns a link to sefaria.org
4870
+ * @return {string}
4871
+ */
4872
+
4873
+
4874
+ url() {
4875
+ const mishnaYomi = this.mishnaYomi;
4876
+ const k1 = mishnaYomi[0].k;
4877
+ const mishna = k1 === 'Avot' ? 'Pirkei' : 'Mishnah';
4878
+ const name = k1.replace(/ /g, '_');
4879
+ const prefix = `https://www.sefaria.org/${mishna}_${name}`;
4880
+ const cv1 = mishnaYomi[0].v;
4881
+
4882
+ if (k1 !== mishnaYomi[1].k) {
4883
+ return `${prefix}.${cv1}?lang=bi`;
4884
+ }
4885
+
4886
+ const cv2 = mishnaYomi[1].v;
4887
+ const p1 = cv1.split(':');
4888
+ const p2 = cv2.split(':');
4889
+ const verse1 = p1.join('.');
4890
+ const verse2 = p1[0] === p2[0] ? p2[1] : p2.join('.');
4891
+ return `${prefix}.${verse1}-${verse2}?lang=bi`;
4892
+ }
4893
+
4894
+ }
4895
+
4896
+ var version="3.33.1";
4897
+
4898
+ var headers$1={"plural-forms":"nplurals=2; plural=(n > 1);",language:"en_CA@ashkenazi"};var contexts$1={"":{Berachot:["Berachos"],Shabbat:["Shabbos"],Taanit:["Taanis"],Yevamot:["Yevamos"],Ketubot:["Kesubos"],"Baba Batra":["Baba Basra"],Makkot:["Makkos"],Shevuot:["Shevuos"],Horayot:["Horayos"],Menachot:["Menachos"],Bechorot:["Bechoros"],Keritot:["Kerisos"],Midot:["Midos"],"Achrei Mot":["Achrei Mos"],Bechukotai:["Bechukosai"],"Beha'alotcha":["Beha'aloscha"],Bereshit:["Bereshis"],Chukat:["Chukas"],"Erev Shavuot":["Erev Shavuos"],"Erev Sukkot":["Erev Sukkos"],"Ki Tavo":["Ki Savo"],"Ki Teitzei":["Ki Seitzei"],"Ki Tisa":["Ki Sisa"],Matot:["Matos"],"Purim Katan":["Purim Koton"],Tazria:["Sazria"],"Shabbat Chazon":["Shabbos Chazon"],"Shabbat HaChodesh":["Shabbos HaChodesh"],"Shabbat HaGadol":["Shabbos HaGadol"],"Shabbat Nachamu":["Shabbos Nachamu"],"Shabbat Parah":["Shabbos Parah"],"Shabbat Shekalim":["Shabbos Shekalim"],"Shabbat Shuva":["Shabbos Shuvah"],"Shabbat Zachor":["Shabbos Zachor"],Shavuot:["Shavuos"],"Shavuot I":["Shavuos I"],"Shavuot II":["Shavuos II"],Shemot:["Shemos"],"Shmini Atzeret":["Shmini Atzeres"],"Simchat Torah":["Simchas Torah"],Sukkot:["Sukkos"],"Sukkot I":["Sukkos I"],"Sukkot II":["Sukkos II"],"Sukkot II (CH''M)":["Sukkos II (CH''M)"],"Sukkot III (CH''M)":["Sukkos III (CH''M)"],"Sukkot IV (CH''M)":["Sukkos IV (CH''M)"],"Sukkot V (CH''M)":["Sukkos V (CH''M)"],"Sukkot VI (CH''M)":["Sukkos VI (CH''M)"],"Sukkot VII (Hoshana Raba)":["Sukkos VII (Hoshana Raba)"],"Ta'anit Bechorot":["Ta'anis Bechoros"],"Ta'anit Esther":["Ta'anis Esther"],Toldot:["Toldos"],Vaetchanan:["Vaeschanan"],Yitro:["Yisro"],"Vezot Haberakhah":["Vezos Haberakhah"],Parashat:["Parshas"],"Leil Selichot":["Leil Selichos"],"Shabbat Mevarchim Chodesh":["Shabbos Mevorchim Chodesh"],"Shabbat Shirah":["Shabbos Shirah"],Tevet:["Teves"],"Asara B'Tevet":["Asara B'Teves"],Berakhot:["Berakhos"],Sheviit:["Sheviis"],Terumot:["Terumos"],Maasrot:["Maasros"],Eduyot:["Eduyos"],Avot:["Avos"],Bekhorot:["Bekhoros"],Middot:["Middos"],Oholot:["Oholos"],Tahorot:["Tahoros"],Mikvaot:["Mikvaos"]}};var poAshkenazi = {headers:headers$1,contexts:contexts$1};
4722
4899
 
4723
4900
  Locale.addLocale('ashkenazi', poAshkenazi);
4724
4901
  Locale.addLocale('a', poAshkenazi);
4725
4902
 
4726
- var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"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 Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"Chanukah Day 1":["חֲנוּכָּה יוֹם א׳"],"Chanukah Day 2":["חֲנוּכָּה יוֹם ב׳"],"Chanukah Day 3":["חֲנוּכָּה יוֹם ג׳"],"Chanukah Day 4":["חֲנוּכָּה יוֹם ד׳"],"Chanukah Day 5":["חֲנוּכָּה יוֹם ה׳"],"Chanukah Day 6":["חֲנוּכָּה יוֹם ו׳"],"Chanukah Day 7":["חֲנוּכָּה יוֹם ז׳"],"Chanukah Day 8":["חֲנוּכָּה יוֹם ח׳"]}};var poHe = {headers:headers,contexts:contexts};
4903
+ var headers={"plural-forms":"nplurals=2; plural=(n > 1);",language:"he_IL"};var contexts={"":{Berachot:["ברכות"],Shabbat:["שַׁבָּת"],Eruvin:["עירובין"],Pesachim:["פסחים"],Shekalim:["שקלים"],Yoma:["יומא"],Sukkah:["סוכה"],Beitzah:["ביצה"],Taanit:["תענית"],Megillah:["מגילה"],"Moed Katan":["מועד קטן"],Chagigah:["חגיגה"],Yevamot:["יבמות"],Ketubot:["כתובות"],Nedarim:["נדרים"],Nazir:["נזיר"],Sotah:["סוטה"],Gitin:["גיטין"],Kiddushin:["קידושין"],"Baba Kamma":["בבא קמא"],"Baba Metzia":["בבא מציעא"],"Baba Batra":["בבא בתרא"],Sanhedrin:["סנהדרין"],Makkot:["מכות"],Shevuot:["שבועות"],"Avodah Zarah":["עבודה זרה"],Horayot:["הוריות"],Zevachim:["זבחים"],Menachot:["מנחות"],Chullin:["חולין"],Bechorot:["בכורות"],Arachin:["ערכין"],Temurah:["תמורה"],Keritot:["כריתות"],Meilah:["מעילה"],Kinnim:["קינים"],Tamid:["תמיד"],Midot:["מדות"],Niddah:["נדה"],"Daf Yomi: %s %d":["דף יומי: %s %d"],"Daf Yomi":["דף יומי"],Parashat:["פָּרָשַׁת"],"Achrei Mot":["אַחֲרֵי מוֹת"],Balak:["בָּלָק"],Bamidbar:["בְּמִדְבַּר"],Bechukotai:["בְּחֻקֹּתַי"],"Beha'alotcha":["בְּהַעֲלֹתְךָ"],Behar:["בְּהַר"],Bereshit:["בְּרֵאשִׁית"],Beshalach:["בְּשַׁלַּח"],Bo:["בֹּא"],"Chayei Sara":["חַיֵּי שָֹרָה"],Chukat:["חֻקַּת"],Devarim:["דְּבָרִים"],Eikev:["עֵקֶב"],Emor:["אֱמוֹר"],"Ha'Azinu":["הַאֲזִינוּ"],Kedoshim:["קְדשִׁים"],"Ki Tavo":["כִּי־תָבוֹא"],"Ki Teitzei":["כִּי־תֵצֵא"],"Ki Tisa":["כִּי תִשָּׂא"],Korach:["קוֹרַח"],"Lech-Lecha":["לֶךְ־לְךָ"],Masei:["מַסְעֵי"],Matot:["מַּטּוֹת"],Metzora:["מְּצֹרָע"],Miketz:["מִקֵּץ"],Mishpatim:["מִּשְׁפָּטִים"],Nasso:["נָשׂא"],Nitzavim:["נִצָּבִים"],Noach:["נֹחַ"],Pekudei:["פְקוּדֵי"],Pinchas:["פִּינְחָס"],"Re'eh":["רְאֵה"],"Sh'lach":["שְׁלַח־לְךָ"],Shemot:["שְׁמוֹת"],Shmini:["שְּׁמִינִי"],Shoftim:["שׁוֹפְטִים"],Tazria:["תַזְרִיעַ"],Terumah:["תְּרוּמָה"],Tetzaveh:["תְּצַוֶּה"],Toldot:["תּוֹלְדוֹת"],Tzav:["צַו"],Vaera:["וָאֵרָא"],Vaetchanan:["וָאֶתְחַנַּן"],Vayakhel:["וַיַּקְהֵל"],Vayechi:["וַיְחִי"],Vayeilech:["וַיֵּלֶךְ"],Vayera:["וַיֵּרָא"],Vayeshev:["וַיֵּשֶׁב"],Vayetzei:["וַיֵּצֵא"],Vayigash:["וַיִּגַּשׁ"],Vayikra:["וַיִּקְרָא"],Vayishlach:["וַיִּשְׁלַח"],"Vezot Haberakhah":["וְזֹאת הַבְּרָכָה"],Yitro:["יִתְרוֹ"],"Asara B'Tevet":["עֲשָׂרָה בְּטֵבֵת"],"Candle lighting":["הַדלָקָת נֵרוֹת"],Chanukah:["חֲנוּכָּה"],"Chanukah: 1 Candle":["חֲנוּכָּה: א׳ נֵר"],"Chanukah: 2 Candles":["חֲנוּכָּה: ב׳ נֵרוֹת"],"Chanukah: 3 Candles":["חֲנוּכָּה: ג׳ נֵרוֹת"],"Chanukah: 4 Candles":["חֲנוּכָּה: ד׳ נֵרוֹת"],"Chanukah: 5 Candles":["חֲנוּכָּה: ה׳ נֵרוֹת"],"Chanukah: 6 Candles":["חֲנוּכָּה: ו׳ נֵרוֹת"],"Chanukah: 7 Candles":["חֲנוּכָּה: ז׳ נֵרוֹת"],"Chanukah: 8 Candles":["חֲנוּכָּה: ח׳ נֵרוֹת"],"Chanukah: 8th Day":["חֲנוּכָּה: יוֹם ח׳"],"Days of the Omer":["עוֹמֶר"],Omer:["עוֹמֶר"],"day of the Omer":["בָּעוֹמֶר"],"Erev Pesach":["עֶרֶב פֶּסַח"],"Erev Purim":["עֶרֶב פּוּרִים"],"Erev Rosh Hashana":["עֶרֶב רֹאשׁ הַשָּׁנָה"],"Erev Shavuot":["עֶרֶב שָׁבוּעוֹת"],"Erev Simchat Torah":["עֶרֶב שִׂמְחַת תּוֹרָה"],"Erev Sukkot":["עֶרֶב סוּכּוֹת"],"Erev Tish'a B'Av":["עֶרֶב תִּשְׁעָה בְּאָב"],"Erev Yom Kippur":["עֶרֶב יוֹם כִּפּוּר"],Havdalah:["הַבדָלָה"],"Lag BaOmer":["ל״ג בָּעוֹמֶר"],"Leil Selichot":["סליחות"],Pesach:["פֶּסַח"],"Pesach I":["פֶּסַח א׳"],"Pesach II":["פֶּסַח ב׳"],"Pesach II (CH''M)":["פֶּסַח ב׳ (חוה״מ)"],"Pesach III (CH''M)":["פֶּסַח ג׳ (חוה״מ)"],"Pesach IV (CH''M)":["פֶּסַח ד׳ (חוה״מ)"],"Pesach Sheni":["פֶּסַח שני"],"Pesach V (CH''M)":["פֶּסַח ה׳ (חוה״מ)"],"Pesach VI (CH''M)":["פֶּסַח ו׳ (חוה״מ)"],"Pesach VII":["פֶּסַח ז׳"],"Pesach VIII":["פֶּסַח ח׳"],Purim:["פּוּרִים"],"Purim Katan":["פּוּרִים קָטָן"],"Rosh Chodesh %s":["רֹאשׁ חוֹדֶשׁ %s"],"Rosh Chodesh":["רֹאשׁ חוֹדֶשׁ"],Adar:["אַדָר"],"Adar I":["אַדָר א׳"],"Adar II":["אַדָר ב׳"],Av:["אָב"],Cheshvan:["חֶשְׁוָן"],Elul:["אֱלוּל"],Iyyar:["אִיָיר"],Kislev:["כִּסְלֵו"],Nisan:["נִיסָן"],"Sh'vat":["שְׁבָט"],Sivan:["סִיוָן"],Tamuz:["תַּמּוּז"],Tevet:["טֵבֵת"],Tishrei:["תִשְׁרֵי"],"Rosh Hashana":["רֹאשׁ הַשָּׁנָה"],"Rosh Hashana I":["רֹאשׁ הַשָּׁנָה א׳"],"Rosh Hashana II":["רֹאשׁ הַשָּׁנָה ב׳"],"Shabbat Chazon":["שַׁבָּת חֲזוֹן"],"Shabbat HaChodesh":["שַׁבָּת הַחֹדֶשׁ"],"Shabbat HaGadol":["שַׁבָּת הַגָּדוֹל"],"Shabbat Machar Chodesh":["שַׁבָּת מָחָר חוֹדֶשׁ"],"Shabbat Nachamu":["שַׁבָּת נַחֲמוּ"],"Shabbat Parah":["שַׁבָּת פּרה"],"Shabbat Rosh Chodesh":["שַׁבָּת רֹאשׁ חוֹדֶשׁ"],"Shabbat Shekalim":["שַׁבָּת שְׁקָלִים"],"Shabbat Shuva":["שַׁבָּת שׁוּבָה"],"Shabbat Zachor":["שַׁבָּת זָכוֹר"],Shavuot:["שָׁבוּעוֹת"],"Shavuot I":["שָׁבוּעוֹת א׳"],"Shavuot II":["שָׁבוּעוֹת ב׳"],"Shmini Atzeret":["שְׁמִינִי עֲצֶרֶת"],"Shushan Purim":["שׁוּשָׁן פּוּרִים"],Sigd:["סיגד"],"Simchat Torah":["שִׂמְחַת תּוֹרָה"],Sukkot:["סוּכּוֹת"],"Sukkot I":["סוּכּוֹת א׳"],"Sukkot II":["סוּכּוֹת ב׳"],"Sukkot II (CH''M)":["סוּכּוֹת ב׳ (חוה״מ)"],"Sukkot III (CH''M)":["סוּכּוֹת ג׳ (חוה״מ)"],"Sukkot IV (CH''M)":["סוּכּוֹת ד׳ (חוה״מ)"],"Sukkot V (CH''M)":["סוּכּוֹת ה׳ (חוה״מ)"],"Sukkot VI (CH''M)":["סוּכּוֹת ו׳ (חוה״מ)"],"Sukkot VII (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Ta'anit Bechorot":["תַּעֲנִית בְּכוֹרוֹת"],"Ta'anit Esther":["תַּעֲנִית אֶסְתֵּר"],"Tish'a B'Av":["תִּשְׁעָה בְּאָב"],"Tu B'Av":["טוּ בְּאָב"],"Tu BiShvat":["טוּ בִּשְׁבָט"],"Tu B'Shvat":["טוּ בִּשְׁבָט"],"Tzom Gedaliah":["צוֹם גְּדַלְיָה"],"Tzom Tammuz":["צוֹם תָּמוּז"],"Yom HaAtzma'ut":["יוֹם הָעַצְמָאוּת"],"Yom HaShoah":["יוֹם הַשּׁוֹאָה"],"Yom HaZikaron":["יוֹם הַזִּכָּרוֹן"],"Yom Kippur":["יוֹם כִּפּוּר"],"Yom Yerushalayim":["יוֹם יְרוּשָׁלַיִם"],"Yom HaAliyah":["יוֹם הַעֲלִיָּה"],"Yom HaAliyah School Observance":["שְׁמִירָת בֵּית הַסֵפֶר לְיוֹם הַעֲלִיָּה"],"Pesach I (on Shabbat)":["פֶּסַח יוֹם א׳ (בְּשַׁבָּת)"],"Pesach Chol ha-Moed Day 1":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם א׳"],"Pesach Chol ha-Moed Day 2":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ב׳"],"Pesach Chol ha-Moed Day 3":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ג׳"],"Pesach Chol ha-Moed Day 4":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ד׳"],"Pesach Chol ha-Moed Day 5":["פֶּסַח חוֹל הַמּוֹעֵד יוֹם ה׳"],"Pesach Shabbat Chol ha-Moed":["פֶּסַח שַׁבָּת חוֹל הַמּוֹעֵד"],"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 Shabbat Chol ha-Moed":["סוּכּוֹת שַׁבָּת חוֹל הַמּוֹעֵד"],"Sukkot Final Day (Hoshana Raba)":["סוּכּוֹת ז׳ (הוֹשַׁעְנָא רַבָּה)"],"Rosh Chodesh Adar":["רֹאשׁ חוֹדֶשׁ אַדָר"],"Rosh Chodesh Adar I":["רֹאשׁ חוֹדֶשׁ אַדָר א׳"],"Rosh Chodesh Adar II":["רֹאשׁ חוֹדֶשׁ אַדָר ב׳"],"Rosh Chodesh Av":["רֹאשׁ חוֹדֶשׁ אָב"],"Rosh Chodesh Cheshvan":["רֹאשׁ חוֹדֶשׁ חֶשְׁוָן"],"Rosh Chodesh Elul":["רֹאשׁ חוֹדֶשׁ אֱלוּל"],"Rosh Chodesh Iyyar":["רֹאשׁ חוֹדֶשׁ אִיָיר"],"Rosh Chodesh Kislev":["רֹאשׁ חוֹדֶשׁ כִּסְלֵו"],"Rosh Chodesh Nisan":["רֹאשׁ חוֹדֶשׁ נִיסָן"],"Rosh Chodesh Sh'vat":["רֹאשׁ חוֹדֶשׁ שְׁבָט"],"Rosh Chodesh Sivan":["רֹאשׁ חוֹדֶשׁ סִיוָן"],"Rosh Chodesh Tamuz":["רֹאשׁ חוֹדֶשׁ תָּמוּז"],"Rosh Chodesh Tevet":["רֹאשׁ חוֹדֶשׁ טֵבֵת"],min:["דקות"],"Fast begins":["תחילת הַצוֹם"],"Fast ends":["סִיּוּם הַצוֹם"],"Rosh Hashana LaBehemot":["רֹאשׁ הַשָּׁנָה לְמַעְשַׂר בְּהֵמָה"],"Tish'a B'Av (observed)":["תִּשְׁעָה בְּאָב נִדחֶה"],"Shabbat Mevarchim Chodesh":["שַׁבָּת מברכים חוֹדֶשׁ"],"Shabbat Shirah":["שַׁבָּת שִׁירָה"],chatzotNight:["חֲצוֹת הַלַיְלָה"],alotHaShachar:["עֲלוֹת הַשַּׁחַר"],misheyakir:["משיכיר - זמן ציצית ותפילין"],misheyakirMachmir:["משיכיר - זמן ציצית ותפילין"],neitzHaChama:["הַנֵץ הַחַמָּה"],sofZmanShma:["סוֹף זְמַן קְרִיאַת שְׁמַע גר״א"],sofZmanTfilla:["סוֹף זְמַן תְּפִלָּה גר״א"],chatzot:["חֲצוֹת הַיּוֹם"],minchaGedola:["מִנְחָה גְּדוֹלָה"],minchaKetana:["מִנְחָה קְטַנָּה"],plagHaMincha:["פְּלַג הַמִּנְחָה"],shkiah:["שְׁקִיעָה"],"Nightfall - End of ordained fasts":["לַיְלָה - גמר תעניות דרבנן"],tzeit:["צֵאת כוכבים"],Lovingkindness:["חֶֽסֶד"],Might:["גְבוּרָה"],Beauty:["תִּפאֶרֶת"],Eternity:["נֶּֽצַח"],Splendor:["הוֹד"],Foundation:["יְּסוֹד"],Majesty:["מַּלְכוּת"],day:["יוֹם"],"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":["חֲנוּכָּה יוֹם ח׳"],Berakhot:["ברכות"],Peah:["פאה"],Demai:["דמאי"],Kilayim:["כלאים"],Sheviit:["שביעית"],Terumot:["תרומות"],Maasrot:["מעשרות"],"Maaser Sheni":["מעשר שני"],Challah:["חלה"],Orlah:["ערלה"],Bikkurim:["ביכורים"],"Rosh Hashanah":["ראש השנה"],Gittin:["גיטין"],"Bava Kamma":["בבא קמא"],"Bava Metzia":["בבא מציעא"],"Bava Batra":["בבא בתרא"],Eduyot:["עדיות"],Avot:["אבות"],Bekhorot:["בכורות"],Arakhin:["ערכין"],Middot:["מדות"],Kelim:["כלים"],Oholot:["אהלות"],Negaim:["נגעים"],Parah:["פרה"],Tahorot:["טהרות"],Mikvaot:["מקואות"],Makhshirin:["מכשירין"],Zavim:["זבים"],"Tevul Yom":["טבול יום"],Yadayim:["ידים"],Oktzin:["עוקצים"]}};var poHe = {headers:headers,contexts:contexts};
4727
4904
 
4728
4905
  Locale.addLocale('he', poHe);
4729
4906
  Locale.addLocale('h', poHe);
@@ -4819,6 +4996,7 @@ const RECOGNIZED_OPTIONS = {
4819
4996
  noSpecialShabbat: 1,
4820
4997
  noHolidays: 1,
4821
4998
  dafyomi: 1,
4999
+ mishnaYomi: 1,
4822
5000
  omer: 1,
4823
5001
  molad: 1,
4824
5002
  ashkenazi: 1,
@@ -4919,6 +5097,7 @@ function checkCandleOptions(options) {
4919
5097
  * @property {boolean} noSpecialShabbat - suppress Special Shabbat
4920
5098
  * @property {boolean} noHolidays - suppress regular holidays
4921
5099
  * @property {boolean} dafyomi - include Daf Yomi
5100
+ * @property {boolean} mishnaYomi - include Mishna Yomi
4922
5101
  * @property {boolean} omer - include Days of the Omer
4923
5102
  * @property {boolean} molad - include event announcing the molad
4924
5103
  * @property {boolean} ashkenazi - use Ashkenazi transliterations for event titles (default Sephardi transliterations)
@@ -4942,7 +5121,7 @@ function checkCandleOptions(options) {
4942
5121
  function getAbs(d) {
4943
5122
  if (typeof d == 'number') return d;
4944
5123
  if (greg.isDate(d)) return greg.greg2abs(d);
4945
- if (HDate$1.isHDate(d)) return d.abs();
5124
+ if (HDate.isHDate(d)) return d.abs();
4946
5125
  throw new TypeError(`Invalid date type: ${d}`);
4947
5126
  }
4948
5127
  /**
@@ -4961,7 +5140,7 @@ function getStartAndEnd(options) {
4961
5140
  }
4962
5141
 
4963
5142
  const isHebrewYear = Boolean(options.isHebrewYear);
4964
- const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate$1().getFullYear() : new Date().getFullYear();
5143
+ const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate().getFullYear() : new Date().getFullYear();
4965
5144
 
4966
5145
  if (isNaN(theYear)) {
4967
5146
  throw new RangeError(`Invalid year ${options.year}`);
@@ -4975,7 +5154,7 @@ function getStartAndEnd(options) {
4975
5154
 
4976
5155
  if (options.month) {
4977
5156
  if (isHebrewYear) {
4978
- theMonth = HDate$1.monthNum(options.month);
5157
+ theMonth = HDate.monthNum(options.month);
4979
5158
  } else {
4980
5159
  theMonth = options.month;
4981
5160
  }
@@ -4984,9 +5163,9 @@ function getStartAndEnd(options) {
4984
5163
  const numYears = parseInt(options.numYears, 10) || 1;
4985
5164
 
4986
5165
  if (isHebrewYear) {
4987
- const startDate = new HDate$1(1, theMonth || TISHREI, theYear);
5166
+ const startDate = new HDate(1, theMonth || TISHREI, theYear);
4988
5167
  let startAbs = startDate.abs();
4989
- const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate$1(1, TISHREI, theYear + numYears).abs() - 1; // for full Hebrew year, start on Erev Rosh Hashana which
5168
+ const endAbs = options.month ? startAbs + startDate.daysInMonth() : new HDate(1, TISHREI, theYear + numYears).abs() - 1; // for full Hebrew year, start on Erev Rosh Hashana which
4990
5169
  // is technically in the previous Hebrew year
4991
5170
  // (but conveniently lets us get candle-lighting time for Erev)
4992
5171
 
@@ -5040,6 +5219,7 @@ function getMaskFromOptions(options) {
5040
5219
  if (m & DAF_YOMI) options.dafyomi = true;
5041
5220
  if (m & OMER_COUNT) options.omer = true;
5042
5221
  if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
5222
+ if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
5043
5223
  options.userMask = true;
5044
5224
  return m;
5045
5225
  }
@@ -5088,6 +5268,10 @@ function getMaskFromOptions(options) {
5088
5268
  mask |= DAF_YOMI;
5089
5269
  }
5090
5270
 
5271
+ if (options.mishnaYomi) {
5272
+ mask |= flags.MISHNA_YOMI;
5273
+ }
5274
+
5091
5275
  if (options.omer) {
5092
5276
  mask |= OMER_COUNT;
5093
5277
  }
@@ -5101,6 +5285,7 @@ function getMaskFromOptions(options) {
5101
5285
 
5102
5286
  const MASK_LIGHT_CANDLES = LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | CHANUKAH_CANDLES | YOM_TOV_ENDS;
5103
5287
  /**
5288
+ * @namespace
5104
5289
  * HebrewCalendar is the main interface to the `@hebcal/core` library.
5105
5290
  * This namespace is used to calculate holidays, rosh chodesh, candle lighting & havdalah times,
5106
5291
  * Parashat HaShavua, Daf Yomi, days of the omer, and the molad.
@@ -5143,6 +5328,7 @@ const HebrewCalendar = {
5143
5328
  * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
5144
5329
  * * Counting of the Omer (`options.omer`)
5145
5330
  * * Daf Yomi (`options.dafyomi`)
5331
+ * * Mishna Yomi (`options.mishnaYomi`)
5146
5332
  * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
5147
5333
  * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
5148
5334
  *
@@ -5249,8 +5435,14 @@ const HebrewCalendar = {
5249
5435
  options.candlelighting = false;
5250
5436
  }
5251
5437
 
5438
+ let mishnaYomiIndex;
5439
+
5440
+ if (options.mishnaYomi) {
5441
+ mishnaYomiIndex = new MishnaYomiIndex();
5442
+ }
5443
+
5252
5444
  for (let abs = startAbs; abs <= endAbs; abs++) {
5253
- const hd = new HDate$1(abs);
5445
+ const hd = new HDate(abs);
5254
5446
  const hyear = hd.getFullYear();
5255
5447
 
5256
5448
  if (hyear != currentYear) {
@@ -5262,8 +5454,8 @@ const HebrewCalendar = {
5262
5454
  }
5263
5455
 
5264
5456
  if (options.omer) {
5265
- beginOmer = HDate$1.hebrew2abs(currentYear, NISAN, 16);
5266
- endOmer = HDate$1.hebrew2abs(currentYear, SIVAN, 5);
5457
+ beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);
5458
+ endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);
5267
5459
  }
5268
5460
  }
5269
5461
 
@@ -5287,6 +5479,11 @@ const HebrewCalendar = {
5287
5479
  evts.push(new DafYomiEvent(hd));
5288
5480
  }
5289
5481
 
5482
+ if (options.mishnaYomi && abs >= mishnaYomiStart) {
5483
+ const mishnaYomi = mishnaYomiIndex.lookup(abs);
5484
+ evts.push(new MishnaYomiEvent(hd, mishnaYomi));
5485
+ }
5486
+
5290
5487
  if (options.omer && abs >= beginOmer && abs <= endOmer) {
5291
5488
  const omer = abs - beginOmer + 1;
5292
5489
  evts.push(new OmerEvent(hd, omer));
@@ -5295,7 +5492,7 @@ const HebrewCalendar = {
5295
5492
  const hmonth = hd.getMonth();
5296
5493
 
5297
5494
  if (options.molad && dow == SAT && hmonth != ELUL && hd.getDate() >= 23 && hd.getDate() <= 29) {
5298
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? NISAN : hmonth + 1;
5495
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;
5299
5496
  evts.push(new MoladEvent(hd, hyear, monNext));
5300
5497
  }
5301
5498
 
@@ -5357,7 +5554,7 @@ const HebrewCalendar = {
5357
5554
  * @return {HDate} anniversary occurring in `hyear`
5358
5555
  */
5359
5556
  getBirthdayOrAnniversary: function (hyear, gdate) {
5360
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5557
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5361
5558
  const origYear = orig.getFullYear();
5362
5559
 
5363
5560
  if (hyear <= origYear) {
@@ -5365,24 +5562,24 @@ const HebrewCalendar = {
5365
5562
  return undefined;
5366
5563
  }
5367
5564
 
5368
- const isOrigLeap = HDate$1.isLeapYear(origYear);
5565
+ const isOrigLeap = HDate.isLeapYear(origYear);
5369
5566
  let month = orig.getMonth();
5370
5567
  let day = orig.getDate();
5371
5568
 
5372
5569
  if (month == ADAR_I && !isOrigLeap || month == ADAR_II && isOrigLeap) {
5373
- month = HDate$1.monthsInYear(hyear);
5374
- } else if (month == CHESHVAN && day == 30 && !HDate$1.longCheshvan(hyear)) {
5570
+ month = HDate.monthsInYear(hyear);
5571
+ } else if (month == CHESHVAN && day == 30 && !HDate.longCheshvan(hyear)) {
5375
5572
  month = KISLEV;
5376
5573
  day = 1;
5377
- } else if (month == KISLEV && day == 30 && HDate$1.shortKislev(hyear)) {
5574
+ } else if (month == KISLEV && day == 30 && HDate.shortKislev(hyear)) {
5378
5575
  month = TEVET;
5379
5576
  day = 1;
5380
- } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate$1.isLeapYear(hyear)) {
5577
+ } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate.isLeapYear(hyear)) {
5381
5578
  month = NISAN;
5382
5579
  day = 1;
5383
5580
  }
5384
5581
 
5385
- return new HDate$1(day, month, hyear);
5582
+ return new HDate(day, month, hyear);
5386
5583
  },
5387
5584
 
5388
5585
  /**
@@ -5420,7 +5617,7 @@ const HebrewCalendar = {
5420
5617
  * @return {HDate} anniversary occurring in hyear
5421
5618
  */
5422
5619
  getYahrzeit: function (hyear, gdate) {
5423
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5620
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5424
5621
  let hDeath = {
5425
5622
  yy: orig.getFullYear(),
5426
5623
  mm: orig.getMonth(),
@@ -5432,18 +5629,18 @@ const HebrewCalendar = {
5432
5629
  return undefined;
5433
5630
  }
5434
5631
 
5435
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hDeath.yy + 1)) {
5632
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hDeath.yy + 1)) {
5436
5633
  // If it's Heshvan 30 it depends on the first anniversary;
5437
5634
  // if that was not Heshvan 30, use the day before Kislev 1.
5438
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, KISLEV, 1) - 1);
5439
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hDeath.yy + 1)) {
5635
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, KISLEV, 1) - 1);
5636
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hDeath.yy + 1)) {
5440
5637
  // If it's Kislev 30 it depends on the first anniversary;
5441
5638
  // if that was not Kislev 30, use the day before Teveth 1.
5442
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, TEVET, 1) - 1);
5639
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, TEVET, 1) - 1);
5443
5640
  } else if (hDeath.mm == ADAR_II) {
5444
5641
  // If it's Adar II, use the same day in last month of year (Adar or Adar II).
5445
- hDeath.mm = HDate$1.monthsInYear(hyear);
5446
- } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate$1.isLeapYear(hyear)) {
5642
+ hDeath.mm = HDate.monthsInYear(hyear);
5643
+ } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate.isLeapYear(hyear)) {
5447
5644
  // If it's the 30th in Adar I and year is not a leap year
5448
5645
  // (so Adar has only 29 days), use the last day in Shevat.
5449
5646
  hDeath.dd = 30;
@@ -5452,15 +5649,15 @@ const HebrewCalendar = {
5452
5649
  // advance day to rosh chodesh if needed
5453
5650
 
5454
5651
 
5455
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hyear)) {
5652
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hyear)) {
5456
5653
  hDeath.mm = KISLEV;
5457
5654
  hDeath.dd = 1;
5458
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hyear)) {
5655
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hyear)) {
5459
5656
  hDeath.mm = TEVET;
5460
5657
  hDeath.dd = 1;
5461
5658
  }
5462
5659
 
5463
- return new HDate$1(hDeath.dd, hDeath.mm, hyear);
5660
+ return new HDate(hDeath.dd, hDeath.mm, hyear);
5464
5661
  },
5465
5662
 
5466
5663
  /**
@@ -5481,12 +5678,12 @@ const HebrewCalendar = {
5481
5678
  */
5482
5679
  getHolidaysForYearArray: function (year, il) {
5483
5680
  const yearMap = HebrewCalendar.getHolidaysForYear(year);
5484
- const startAbs = HDate$1.hebrew2abs(year, TISHREI, 1);
5485
- const endAbs = HDate$1.hebrew2abs(year + 1, TISHREI, 1) - 1;
5681
+ const startAbs = HDate.hebrew2abs(year, TISHREI, 1);
5682
+ const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;
5486
5683
  const events = [];
5487
5684
 
5488
5685
  for (let absDt = startAbs; absDt <= endAbs; absDt++) {
5489
- const hd = new HDate$1(absDt);
5686
+ const hd = new HDate(absDt);
5490
5687
  const holidays = yearMap.get(hd.toString());
5491
5688
 
5492
5689
  if (holidays) {
@@ -5505,7 +5702,7 @@ const HebrewCalendar = {
5505
5702
  * @return {Event[]}
5506
5703
  */
5507
5704
  getHolidaysOnDate: function (date, il) {
5508
- const hd = HDate$1.isHDate(date) ? date : new HDate$1(date);
5705
+ const hd = HDate.isHDate(date) ? date : new HDate(date);
5509
5706
  const yearMap = HebrewCalendar.getHolidaysForYear(hd.getFullYear());
5510
5707
  const events = yearMap.get(hd.toString());
5511
5708
 
@@ -5635,4 +5832,4 @@ function appendHolidayAndRelated(events, ev, options, candlesEv, dow) {
5635
5832
  return candlesEv;
5636
5833
  }
5637
5834
 
5638
- export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate$1 as HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, Molad, MoladEvent, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, greg, months, parshiot, version };
5835
+ export { AsaraBTevetEvent, CandleLightingEvent, DafYomi, DafYomiEvent, Event, HDate, HavdalahEvent, HebrewCalendar, HebrewDateEvent, HolidayEvent, Locale, Location, MevarchimChodeshEvent, MishnaYomiEvent, MishnaYomiIndex, Molad, MoladEvent, OmerEvent, ParshaEvent, RoshChodeshEvent, RoshHashanaEvent, Sedra, TimedEvent, Zmanim, flags, gematriya, greg, months, parshiot, version };