{"version":3,"file":"kalenderjawa.min.cjs","sources":["../src/taun.ts","../src/kurup.ts","../src/kurup_asapon_anenhing_statik.ts","../src/sasi.ts","../src/rumus_apalan_awal_bulan_mukarom_abadi.ts","../src/rumus_apalan_awal_bulan_sapar_abadi.ts","../src/rumus_apalan_awal_bulan_robiulawal_abadi.ts","../src/rumus_apalan_awal_bulan_robiulakir_abadi.ts","../src/rumus_apalan_awal_bulan_jumadilawal_abadi.ts","../src/rumus_apalan_awal_bulan_jumadilakir_abadi.ts","../src/rumus_apalan_awal_bulan_rojab_abadi.ts","../src/rumus_apalan_awal_bulan_sakban_abadi.ts","../src/rumus_apalan_awal_bulan_romadon_abadi.ts","../src/rumus_apalan_awal_bulan_sawal_abadi.ts","../src/rumus_apalan_awal_bulan_dulkodah_abadi.ts","../src/rumus_apalan_awal_bulan_dulkijah_abadi.ts","../src/rupa_ati.ts","../src/silpin.ts","../src/index.ts"],"sourcesContent":["/**\n * 📁taun.ts\n * @desc Araning Tahun Ing Dalem Sewindu\n */\n\nimport type { TaunType } from './types.js';\n\nconst _ALIP = Symbol.for('alip');\nconst _EHE = Symbol.for('ehe');\nconst _JIMAWAL = Symbol.for('jimawal');\nconst _JE = Symbol.for('je');\nconst _DAL = Symbol.for('dal');\nconst _BE = Symbol.for('be');\nconst _WAWU = Symbol.for('wawu');\nconst _JIMAKIR = Symbol.for('jimakir');\n\nconst ALIP: TaunType = { taun: 'alip', neptu: 1, urutan: 1, cacah: 354 };\nconst EHE: TaunType = { taun: 'ehe', neptu: 5, urutan: 2, cacah: 355 };\nconst JIMAWAL: TaunType = { taun: 'jimawal', neptu: 3, urutan: 3, cacah: 354 };\nconst JE: TaunType = { taun: 'je', neptu: 7, urutan: 4, cacah: 354 };\nconst DAL: TaunType = { taun: 'dal', neptu: 4, urutan: 5, cacah: 355 };\nconst BE: TaunType = { taun: 'be', neptu: 2, urutan: 6, cacah: 354 };\nconst WAWU: TaunType = { taun: 'wawu', neptu: 6, urutan: 7, cacah: 354 };\nconst JIMAKIR: TaunType = { taun: 'jimakir', neptu: 3, urutan: 8, cacah: 355 };\n\nconst TAHUN_ARR: TaunType[] = [ALIP, EHE, JIMAWAL, JE, DAL, BE, WAWU, JIMAKIR];\nconst ARANING_TAHUN_SEWINDU: Map<symbol, TaunType> = new Map();\n\nARANING_TAHUN_SEWINDU.set(_ALIP, ALIP);\nARANING_TAHUN_SEWINDU.set(_EHE, EHE);\nARANING_TAHUN_SEWINDU.set(_JIMAWAL, JIMAWAL);\nARANING_TAHUN_SEWINDU.set(_JE, JE);\nARANING_TAHUN_SEWINDU.set(_DAL, DAL);\nARANING_TAHUN_SEWINDU.set(_BE, BE);\nARANING_TAHUN_SEWINDU.set(_WAWU, WAWU);\nARANING_TAHUN_SEWINDU.set(_JIMAKIR, JIMAKIR);\n\nexport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n  TAHUN_ARR,\n};\n","/**\n * Arane Kurup\n * 📁 kurup.ts\n */\n\nimport * as P from '@kalenderjawa/pancawara';\nimport * as D from '@kalenderjawa/saptawara';\n\nimport type { KurupType } from './types.js';\n\n/**\n * @constant\n */\nconst ASAPON: KurupType = {\n  taun: 'alip',\n  dinten: D.DINTEN.get(D._SELASA)!,\n  pasaran: P.PASARAN.get(P._PON)!,\n};\n\n/**\n * @constant\n */\nconst ANENHING: KurupType = {\n  taun: 'alip',\n  dinten: D.DINTEN.get(D._SENEN)!,\n  pasaran: P.PASARAN.get(P._PAHING)!,\n};\n\nexport { ASAPON, ANENHING };\n","/**\n * 📁 kurup_asapon_anenhing_statik.ts\n * @desc Hari Awal awal Kalender Jawa 1867 -2106 (1355-1594 H, 1936-2169 M)\n * @desc Kurup A-Sa-Pon & Kurup A-Nen-Hing\n */\n\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\nimport { ASAPON, ANENHING } from './kurup.js';\nimport type { TaunKurupType } from './types.js';\n\n/**\n * Kurup Alip Selasa Pon (A-SA-PON)\n */\n\nconst ALIP_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP)!,\n  kurup: ASAPON,\n  awal: [\n    1867, 1875, 1883, 1891, 1899, 1907, 1915, 1923, 1931, 1939, 1947, 1955,\n    1963, 1971, 1979,\n  ],\n};\n\nconst EHE_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE)!,\n  kurup: ASAPON,\n  awal: [\n    1868, 1876, 1884, 1892, 1900, 1908, 1916, 1924, 1932, 1940, 1948, 1956,\n    1964, 1972, 1980,\n  ],\n};\n\nconst JIMAWAL_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL)!,\n  kurup: ASAPON,\n  awal: [\n    1869, 1877, 1885, 1893, 1901, 1909, 1917, 1925, 1933, 1941, 1949, 1957,\n    1965, 1973, 1981,\n  ],\n};\n\nconst JE_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_JE)!,\n  kurup: ASAPON,\n  awal: [\n    1870, 1878, 1886, 1894, 1902, 1910, 1918, 1926, 1934, 1942, 1950, 1958,\n    1966, 1974, 1982,\n  ],\n};\n\nconst DAL_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL)!,\n  kurup: ASAPON,\n  awal: [\n    1871, 1879, 1887, 1895, 1903, 1911, 1919, 1927, 1935, 1943, 1951, 1959,\n    1967, 1975, 1983,\n  ],\n};\n\nconst BE_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_BE)!,\n  kurup: ASAPON,\n  awal: [\n    1872, 1880, 1888, 1896, 1904, 1912, 1920, 1928, 1936, 1944, 1952, 1960,\n    1968, 1976, 1984,\n  ],\n};\n\nconst WAWU_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU)!,\n  kurup: ASAPON,\n  awal: [\n    1873, 1881, 1889, 1897, 1905, 1913, 1921, 1929, 1937, 1945, 1953, 1961,\n    1969, 1977, 1985,\n  ],\n};\n\nconst JIMAKIR_ASAPON: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR)!,\n  kurup: ASAPON,\n  awal: [\n    1874, 1882, 1890, 1898, 1906, 1914, 1922, 1930, 1938, 1946, 1954, 1962,\n    1970, 1978, 1986,\n  ],\n};\n\n/**\n * Kurup Alip Senen Pahing (A-NEN-HING)\n */\n\nconst ALIP_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP)!,\n  kurup: ANENHING,\n  awal: [\n    1987, 1995, 2003, 2011, 2019, 2027, 2035, 2043, 2051, 2059, 2067, 2075,\n    2083, 2091, 2099,\n  ],\n};\n\nconst EHE_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE)!,\n  kurup: ANENHING,\n  awal: [\n    1988, 1996, 2004, 2012, 2020, 2028, 2036, 2044, 2052, 2060, 2068, 2076,\n    2084, 2092, 2100,\n  ],\n};\n\nconst JIMAWAL_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL)!,\n  kurup: ANENHING,\n  awal: [\n    1989, 1997, 2005, 2013, 2021, 2029, 2037, 2045, 2053, 2061, 2069, 2077,\n    2085, 2093, 2101,\n  ],\n};\n\nconst JE_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_JE)!,\n  kurup: ANENHING,\n  awal: [\n    1990, 1998, 2006, 2014, 2022, 2030, 2038, 2046, 2054, 2062, 2070, 2078,\n    2086, 2094, 2102,\n  ],\n};\n\nconst DAL_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL)!,\n  kurup: ANENHING,\n  awal: [\n    1991, 1999, 2007, 2015, 2023, 2031, 2039, 2047, 2055, 2063, 2071, 2079,\n    2087, 2095, 2103,\n  ],\n};\n\nconst BE_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_BE)!,\n  kurup: ANENHING,\n  awal: [\n    1992, 2000, 2008, 2016, 2024, 2032, 2040, 2048, 2056, 2064, 2072, 2080,\n    2088, 2096, 2104,\n  ],\n};\n\nconst WAWU_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU)!,\n  kurup: ANENHING,\n  awal: [\n    1993, 2001, 2009, 2017, 2025, 2033, 2041, 2049, 2057, 2065, 2073, 2081,\n    2089, 2097, 2105,\n  ],\n};\n\nconst JIMAKIR_ANENHING: TaunKurupType = {\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR)!,\n  kurup: ANENHING,\n  awal: [\n    1994, 2002, 2010, 2018, 2026, 2034, 2042, 2050, 2058, 2066, 2074, 2082,\n    2090, 2098, 2106,\n  ],\n};\n\nconst KURUP_ASAPON_ANENHING: TaunKurupType[] = [\n  ALIP_ASAPON,\n  EHE_ASAPON,\n  JIMAWAL_ASAPON,\n  JE_ASAPON,\n  DAL_ASAPON,\n  BE_ASAPON,\n  WAWU_ASAPON,\n  JIMAKIR_ASAPON,\n  ALIP_ANENHING,\n  EHE_ANENHING,\n  JIMAWAL_ANENHING,\n  JE_ANENHING,\n  DAL_ANENHING,\n  BE_ANENHING,\n  WAWU_ANENHING,\n  JIMAKIR_ANENHING,\n];\n\nexport { KURUP_ASAPON_ANENHING };\n","/**\n * 📁sasi.ts\n * @desc Araning Wulan Ing Setaun\n */\n\nimport type { WulanType } from './types.js';\n\n/**\n * @constant\n * @type {Symbol}\n */\nconst _MUKAROM = Symbol.for('mukarom');\nconst _SAPAR = Symbol.for('sapar');\nconst _ROBIULAWAL = Symbol.for('robiulawal');\nconst _ROBIULAKIR = Symbol.for('robiulakir');\nconst _JUMADILAWAL = Symbol.for('jumadilawal');\nconst _JUMADILAKIR = Symbol.for('jumadilakir');\nconst _ROJAB = Symbol.for('rojab');\nconst _SAKBAN = Symbol.for('sakban');\nconst _ROMADON = Symbol.for('romadon');\nconst _SAWAL = Symbol.for('sawal');\nconst _DULKODAH = Symbol.for('dulkodah');\nconst _DULKIJAH = Symbol.for('dulkijah');\n\nconst MUKAROM: WulanType = {\n  wulan: 'mukarom',\n  celukan: 'rom',\n  urutan: 1,\n  cacah: [30],\n};\nconst SAPAR: WulanType = {\n  wulan: 'sapar',\n  celukan: 'par',\n  urutan: 2,\n  cacah: [29],\n};\nconst ROBIULAWAL: WulanType = {\n  wulan: 'robiulawal',\n  celukan: 'rowal',\n  urutan: 3,\n  cacah: [30],\n};\nconst ROBIULAKIR: WulanType = {\n  wulan: 'robiulakir',\n  celukan: 'rokir',\n  urutan: 4,\n  cacah: [29],\n};\nconst JUMADILAWAL: WulanType = {\n  wulan: 'jumadilawal',\n  celukan: 'juwal',\n  urutan: 5,\n  cacah: [30],\n};\nconst JUMADILAKIR: WulanType = {\n  wulan: 'jumadilakir',\n  celukan: 'jukir',\n  urutan: 6,\n  cacah: [29],\n};\nconst ROJAB: WulanType = {\n  wulan: 'rojab',\n  celukan: 'jab',\n  urutan: 7,\n  cacah: [30],\n};\nconst SAKBAN: WulanType = {\n  wulan: 'sakban',\n  celukan: 'ban',\n  urutan: 8,\n  cacah: [29],\n};\nconst ROMADON: WulanType = {\n  wulan: 'romadon',\n  celukan: 'don',\n  urutan: 9,\n  cacah: [30],\n};\nconst SAWAL: WulanType = {\n  wulan: 'sawal',\n  celukan: 'wal',\n  urutan: 10,\n  cacah: [29],\n};\nconst DULKODAH: WulanType = {\n  wulan: 'dulkodah',\n  celukan: 'dah',\n  urutan: 11,\n  cacah: [30],\n};\nconst DULKIJAH: WulanType = {\n  wulan: 'dulkijah',\n  celukan: 'jah',\n  urutan: 12,\n  cacah: [29, 30],\n};\n\nconst ARANING_WULAN_SETAUN: Map<symbol, WulanType> = new Map();\n\nARANING_WULAN_SETAUN.set(_MUKAROM, MUKAROM);\nARANING_WULAN_SETAUN.set(_SAPAR, SAPAR);\nARANING_WULAN_SETAUN.set(_ROBIULAWAL, ROBIULAWAL);\nARANING_WULAN_SETAUN.set(_ROBIULAKIR, ROBIULAKIR);\nARANING_WULAN_SETAUN.set(_JUMADILAWAL, JUMADILAWAL);\nARANING_WULAN_SETAUN.set(_JUMADILAKIR, JUMADILAKIR);\nARANING_WULAN_SETAUN.set(_ROJAB, ROJAB);\nARANING_WULAN_SETAUN.set(_SAKBAN, SAKBAN);\nARANING_WULAN_SETAUN.set(_ROMADON, ROMADON);\nARANING_WULAN_SETAUN.set(_SAWAL, SAWAL);\nARANING_WULAN_SETAUN.set(_DULKODAH, DULKODAH);\nARANING_WULAN_SETAUN.set(_DULKIJAH, DULKIJAH);\n\nconst SASI_ARR: WulanType[] = [\n  MUKAROM,\n  SAPAR,\n  ROBIULAWAL,\n  ROBIULAKIR,\n  JUMADILAWAL,\n  JUMADILAKIR,\n  ROJAB,\n  SAKBAN,\n  ROMADON,\n  SAWAL,\n  DULKODAH,\n  DULKIJAH,\n];\n\nexport {\n  _MUKAROM,\n  _SAPAR,\n  _ROBIULAWAL,\n  _ROBIULAKIR,\n  _JUMADILAWAL,\n  _JUMADILAKIR,\n  _ROJAB,\n  _SAKBAN,\n  _ROMADON,\n  _SAWAL,\n  _DULKODAH,\n  _DULKIJAH,\n  ARANING_WULAN_SETAUN,\n  SASI_ARR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_mukarom_abadi.ts\n * Rumus untuk bulan Mukarom selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _MUKAROM, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _ROM_ALIP = Symbol.for('rom_alip');\nconst _ROM_EHE = Symbol.for('rom_ehe');\nconst _ROM_JIMAWAL = Symbol.for('rom_jimawal');\nconst _ROM_JE = Symbol.for('rom_je');\nconst _ROM_DAL = Symbol.for('rom_dal');\nconst _ROM_BE = Symbol.for('rom_be');\nconst _ROM_WAWU = Symbol.for('rom_wawu');\nconst _ROM_JIMAKIR = Symbol.for('rom_jimakir');\n\n// Rumus abadi Mukarom\nconst ROM_JI_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 1,\n  pasaran: 1,\n};\n\nconst ROM_MO_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 5,\n  pasaran: 5,\n};\n\nconst ROM_LU_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 3,\n  pasaran: 5,\n};\n\nconst ROM_TU_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 7,\n  pasaran: 4,\n};\n\nconst ROM_PAT_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 4,\n  pasaran: 3,\n};\n\nconst ROM_RO_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 2,\n  pasaran: 3,\n};\n\nconst ROM_NEM_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 6,\n  pasaran: 2,\n};\n\nconst ROM_LU_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  dino: 3,\n  pasaran: 1,\n};\n\n// Kunci Mukarom - Sewindu\n\nconst ROM_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: ROM_JI_JI,\n};\n\nconst ROM_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: ROM_MO_MO,\n};\n\nconst ROM_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: ROM_LU_MO,\n};\n\nconst ROM_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: ROM_TU_PAT,\n};\n\nconst ROM_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: ROM_PAT_LU,\n};\n\nconst ROM_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: ROM_RO_LU,\n};\n\nconst ROM_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: ROM_NEM_RO,\n};\n\nconst ROM_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_MUKAROM),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: ROM_LU_JI,\n};\n\n// Mapping Rumus abadi Mukarom dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_ALIP, ROM_ALIP);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_EHE, ROM_EHE);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_JIMAWAL, ROM_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_JE, ROM_JE);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_DAL, ROM_DAL);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_BE, ROM_BE);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_WAWU, ROM_WAWU);\nRUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI.set(_ROM_JIMAKIR, ROM_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI,\n  _ROM_ALIP,\n  _ROM_EHE,\n  _ROM_JIMAWAL,\n  _ROM_JE,\n  _ROM_DAL,\n  _ROM_BE,\n  _ROM_WAWU,\n  _ROM_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_sapar_abadi.ts\n * Rumus untuk bulan Sapar selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _SAPAR, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _PAR_ALIP = Symbol.for('par_alip');\nconst _PAR_EHE = Symbol.for('par_ehe');\nconst _PAR_JIMAWAL = Symbol.for('par_jimawal');\nconst _PAR_JE = Symbol.for('par_je');\nconst _PAR_DAL = Symbol.for('par_dal');\nconst _PAR_BE = Symbol.for('par_be');\nconst _PAR_WAWU = Symbol.for('par_wawu');\nconst _PAR_JIMAKIR = Symbol.for('par_jimakir');\n\n// Rumus abadi Sapar\nconst PAR_RO_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 2,\n  pasaran: 2,\n};\n\nconst PAR_NEM_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 6,\n  pasaran: 1,\n};\n\nconst PAR_PAT_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 4,\n  pasaran: 1,\n};\n\nconst PAR_JI_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 1,\n  pasaran: 5,\n};\n\nconst PAR_MO_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 5,\n  pasaran: 4,\n};\n\nconst PAR_LU_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 3,\n  pasaran: 4,\n};\n\nconst PAR_TU_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 7,\n  pasaran: 3,\n};\n\nconst PAR_PAT_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  dino: 4,\n  pasaran: 2,\n};\n\n// Kunci Sapar - Sewindu\n\nconst PAR_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: PAR_RO_RO,\n};\n\nconst PAR_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: PAR_NEM_JI,\n};\n\nconst PAR_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: PAR_PAT_JI,\n};\n\nconst PAR_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: PAR_JI_MO,\n};\n\nconst PAR_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: PAR_MO_PAT,\n};\n\nconst PAR_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: PAR_LU_PAT,\n};\n\nconst PAR_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: PAR_TU_LU,\n};\n\nconst PAR_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAPAR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: PAR_PAT_RO,\n};\n\n// Mapping Rumus abadi Sapar dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_ALIP, PAR_ALIP);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_EHE, PAR_EHE);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_JIMAWAL, PAR_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_JE, PAR_JE);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_DAL, PAR_DAL);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_BE, PAR_BE);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_WAWU, PAR_WAWU);\nRUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI.set(_PAR_JIMAKIR, PAR_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI,\n  _PAR_ALIP,\n  _PAR_EHE,\n  _PAR_JIMAWAL,\n  _PAR_JE,\n  _PAR_DAL,\n  _PAR_BE,\n  _PAR_WAWU,\n  _PAR_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_robiulawal_abadi.ts\n * Rumus untuk bulan Robiulawal selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROBIULAWAL, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _ROWAL_ALIP = Symbol.for('rowal_alip');\nconst _ROWAL_EHE = Symbol.for('rowal_ehe');\nconst _ROWAL_JIMAWAL = Symbol.for('rowal_jimawal');\nconst _ROWAL_JE = Symbol.for('rowal_je');\nconst _ROWAL_DAL = Symbol.for('rowal_dal');\nconst _ROWAL_BE = Symbol.for('rowal_be');\nconst _ROWAL_WAWU = Symbol.for('rowal_wawu');\nconst _ROWAL_JIMAKIR = Symbol.for('rowal_jimakir');\n\n// Rumus abadi Robiulawal\nconst ROWAL_PAT_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 4,\n  pasaran: 5,\n};\n\nconst ROWAL_JI_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 1,\n  pasaran: 4,\n};\n\nconst ROWAL_NEM_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 6,\n  pasaran: 4,\n};\n\nconst ROWAL_LU_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 3,\n  pasaran: 3,\n};\n\nconst ROWAL_TU_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 7,\n  pasaran: 2,\n};\n\nconst ROWAL_MO_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 5,\n  pasaran: 2,\n};\n\nconst ROWAL_RO_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 2,\n  pasaran: 1,\n};\n\nconst ROWAL_NEM_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  dino: 6,\n  pasaran: 5,\n};\n\n// Kunci Robiulawal - Sewindu\nconst ROWAL_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: ROWAL_PAT_MO,\n};\n\nconst ROWAL_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: ROWAL_JI_PAT,\n};\n\nconst ROWAL_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: ROWAL_NEM_PAT,\n};\n\nconst ROWAL_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: ROWAL_LU_LU,\n};\n\nconst ROWAL_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: ROWAL_TU_RO,\n};\n\nconst ROWAL_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: ROWAL_MO_RO,\n};\n\nconst ROWAL_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: ROWAL_RO_JI,\n};\n\nconst ROWAL_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: ROWAL_NEM_MO,\n};\n\n// Mapping Rumus abadi Robiulawal dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_ALIP, ROWAL_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_EHE, ROWAL_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_JIMAWAL, ROWAL_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_JE, ROWAL_JE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_DAL, ROWAL_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_BE, ROWAL_BE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_WAWU, ROWAL_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI.set(_ROWAL_JIMAKIR, ROWAL_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI,\n  _ROWAL_ALIP,\n  _ROWAL_EHE,\n  _ROWAL_JIMAWAL,\n  _ROWAL_JE,\n  _ROWAL_DAL,\n  _ROWAL_BE,\n  _ROWAL_WAWU,\n  _ROWAL_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_robiulakir_abadi.ts\n * Rumus untuk bulan Robiulakir selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROBIULAKIR, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _ROKIR_ALIP = Symbol.for('rokir_alip');\nconst _ROKIR_EHE = Symbol.for('rokir_ehe');\nconst _ROKIR_JIMAWAL = Symbol.for('rokir_jimawal');\nconst _ROKIR_JE = Symbol.for('rokir_je');\nconst _ROKIR_DAL = Symbol.for('rokir_dal');\nconst _ROKIR_BE = Symbol.for('rokir_be');\nconst _ROKIR_WAWU = Symbol.for('rokir_wawu');\nconst _ROKIR_JIMAKIR = Symbol.for('rokir_jimakir');\n\n// Rumus Matematis\nconst ROKIR_NEM_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 6,\n  pasaran: 5,\n};\n\nconst ROKIR_LU_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 3,\n  pasaran: 4,\n};\n\nconst ROKIR_JI_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 1,\n  pasaran: 4,\n};\n\nconst ROKIR_MO_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 5,\n  pasaran: 3,\n};\n\nconst ROKIR_RO_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 2,\n  pasaran: 2,\n};\n\nconst ROKIR_TU_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 1,\n  pasaran: 2,\n};\n\nconst ROKIR_PAT_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 4,\n  pasaran: 1,\n};\n\nconst ROKIR_JI_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  dino: 1,\n  pasaran: 5,\n};\n\n// Kunci Robiulakir - Sewindu\nconst ROKIR_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: ROKIR_NEM_MO,\n};\n\nconst ROKIR_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: ROKIR_LU_PAT,\n};\n\nconst ROKIR_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: ROKIR_JI_PAT,\n};\n\nconst ROKIR_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: ROKIR_MO_LU,\n};\n\nconst ROKIR_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: ROKIR_RO_RO,\n};\n\nconst ROKIR_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: ROKIR_TU_RO,\n};\n\nconst ROKIR_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: ROKIR_PAT_JI,\n};\n\nconst ROKIR_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROBIULAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: ROKIR_JI_MO,\n};\n\n// Mapping Rumus abadi Robiulakir dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_ALIP, ROKIR_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_EHE, ROKIR_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_JIMAWAL, ROKIR_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_JE, ROKIR_JE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_DAL, ROKIR_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_BE, ROKIR_BE);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_WAWU, ROKIR_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI.set(_ROKIR_JIMAKIR, ROKIR_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI,\n  _ROKIR_ALIP,\n  _ROKIR_EHE,\n  _ROKIR_JIMAWAL,\n  _ROKIR_JE,\n  _ROKIR_DAL,\n  _ROKIR_BE,\n  _ROKIR_WAWU,\n  _ROKIR_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_jumadilawal_abadi.ts\n * Rumus untuk bulan Jumadilawal selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _JUMADILAWAL, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _JUWAL_ALIP = Symbol.for('juwal_alip');\nconst _JUWAL_EHE = Symbol.for('juwal_ehe');\nconst _JUWAL_JIMAWAL = Symbol.for('juwal_jimawal');\nconst _JUWAL_JE = Symbol.for('juwal_je');\nconst _JUWAL_DAL = Symbol.for('juwal_dal');\nconst _JUWAL_BE = Symbol.for('juwal_be');\nconst _JUWAL_WAWU = Symbol.for('juwal_wawu');\nconst _JUWAL_JIMAKIR = Symbol.for('juwal_jimakir');\n\n// Rumus matematis\nconst JUWAL_TU_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 7,\n  pasaran: 4,\n};\n\nconst JUWAL_PAT_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 4,\n  pasaran: 3,\n};\n\nconst JUWAL_RO_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 2,\n  pasaran: 3,\n};\n\nconst JUWAL_NEM_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 6,\n  pasaran: 2,\n};\n\nconst JUWAL_LU_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 3,\n  pasaran: 1,\n};\n\nconst JUWAL_JI_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 1,\n  pasaran: 1,\n};\n\nconst JUWAL_MO_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 5,\n  pasaran: 5,\n};\n\nconst JUWAL_RO_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  dino: 2,\n  pasaran: 4,\n};\n\n// Kunci Jumadilawal - Sewindu\nconst JUWAL_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: JUWAL_TU_PAT,\n};\n\nconst JUWAL_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: JUWAL_PAT_LU,\n};\n\nconst JUWAL_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: JUWAL_RO_LU,\n};\n\nconst JUWAL_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: JUWAL_NEM_RO,\n};\n\nconst JUWAL_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: JUWAL_LU_JI,\n};\n\nconst JUWAL_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: JUWAL_JI_JI,\n};\n\nconst JUWAL_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: JUWAL_MO_MO,\n};\n\nconst JUWAL_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: JUWAL_RO_PAT,\n};\n\n//\nconst RUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_ALIP, JUWAL_ALIP);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_EHE, JUWAL_EHE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_JIMAWAL, JUWAL_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_JE, JUWAL_JE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_DAL, JUWAL_DAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_BE, JUWAL_BE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_WAWU, JUWAL_WAWU);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI.set(_JUWAL_JIMAKIR, JUWAL_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI,\n  _JUWAL_ALIP,\n  _JUWAL_EHE,\n  _JUWAL_JIMAWAL,\n  _JUWAL_JE,\n  _JUWAL_DAL,\n  _JUWAL_BE,\n  _JUWAL_WAWU,\n  _JUWAL_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_jumadilakir_abadi.ts\n * Rumus untuk bulan Jumadilakir selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _JUMADILAKIR, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _JUKIR_ALIP = Symbol.for('jukir_alip');\nconst _JUKIR_EHE = Symbol.for('jukir_ehe');\nconst _JUKIR_JIMAWAL = Symbol.for('jukir_jimawal');\nconst _JUKIR_JE = Symbol.for('jukir_je');\nconst _JUKIR_DAL = Symbol.for('jukir_dal');\nconst _JUKIR_BE = Symbol.for('jukir_be');\nconst _JUKIR_WAWU = Symbol.for('jukir_wawu');\nconst _JUKIR_JIMAKIR = Symbol.for('jukir_jimakir');\n\n// Rumus Matematis\nconst JUKIR_RO_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 2,\n  pasaran: 4,\n};\n\nconst JUKIR_NEM_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 6,\n  pasaran: 3,\n};\n\nconst JUKIR_PAT_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 4,\n  pasaran: 3,\n};\n\nconst JUKIR_JI_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 1,\n  pasaran: 2,\n};\n\nconst JUKIR_MO_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 5,\n  pasaran: 1,\n};\n\nconst JUKIR_LU_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 3,\n  pasaran: 1,\n};\n\nconst JUKIR_TU_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 7,\n  pasaran: 5,\n};\n\nconst JUKIR_PAT_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  dino: 4,\n  pasaran: 4,\n};\n\n// Kunci Jumadilakir - Sewindu\nconst JUKIR_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: JUKIR_RO_PAT,\n};\n\nconst JUKIR_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: JUKIR_NEM_LU,\n};\n\nconst JUKIR_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: JUKIR_PAT_LU,\n};\n\nconst JUKIR_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: JUKIR_JI_RO,\n};\n\nconst JUKIR_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: JUKIR_MO_JI,\n};\n\nconst JUKIR_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: JUKIR_LU_JI,\n};\n\nconst JUKIR_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: JUKIR_TU_MO,\n};\n\nconst JUKIR_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_JUMADILAKIR),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: JUKIR_PAT_PAT,\n};\n\n// Mapping\nconst RUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_ALIP, JUKIR_ALIP);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_EHE, JUKIR_EHE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_JIMAWAL, JUKIR_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_JE, JUKIR_JE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_DAL, JUKIR_DAL);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_BE, JUKIR_BE);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_WAWU, JUKIR_WAWU);\nRUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI.set(_JUKIR_JIMAKIR, JUKIR_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI,\n  _JUKIR_ALIP,\n  _JUKIR_EHE,\n  _JUKIR_JIMAWAL,\n  _JUKIR_JE,\n  _JUKIR_DAL,\n  _JUKIR_BE,\n  _JUKIR_WAWU,\n  _JUKIR_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_rojab_abadi.ts\n * Rumus untuk bulan Rojab selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROJAB, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _JAB_ALIP = Symbol.for('jab_alip');\nconst _JAB_EHE = Symbol.for('jab_ehe');\nconst _JAB_JIMAWAL = Symbol.for('jab_jimawal');\nconst _JAB_JE = Symbol.for('jab_je');\nconst _JAB_DAL = Symbol.for('jab_dal');\nconst _JAB_BE = Symbol.for('jab_be');\nconst _JAB_WAWU = Symbol.for('jab_wawu');\nconst _JAB_JIMAKIR = Symbol.for('jab_jimakir');\n\n// Rumus\n\nconst JAB_LU_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 3,\n  pasaran: 3,\n};\n\nconst JAB_TU_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 7,\n  pasaran: 2,\n};\n\nconst JAB_MO_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 5,\n  pasaran: 2,\n};\n\nconst JAB_RO_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 2,\n  pasaran: 1,\n};\n\nconst JAB_NEM_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 6,\n  pasaran: 5,\n};\n\nconst JAB_PAT_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 4,\n  pasaran: 5,\n};\n\nconst JAB_JI_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 1,\n  pasaran: 4,\n};\n\nconst JAB_MO_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  dino: 5,\n  pasaran: 3,\n};\n\n// Kunci Rojab - Sewindu\nconst JAB_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: JAB_LU_LU,\n};\n\nconst JAB_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: JAB_TU_RO,\n};\n\nconst JAB_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: JAB_MO_RO,\n};\n\nconst JAB_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: JAB_RO_JI,\n};\n\nconst JAB_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: JAB_NEM_MO,\n};\n\nconst JAB_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: JAB_PAT_MO,\n};\n\nconst JAB_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: JAB_JI_PAT,\n};\n\nconst JAB_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROJAB),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: JAB_MO_LU,\n};\n\n// Mapping Rumus abadi Rojab dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_ALIP, JAB_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_EHE, JAB_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_JIMAWAL, JAB_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_JE, JAB_JE);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_DAL, JAB_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_BE, JAB_BE);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_WAWU, JAB_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI.set(_JAB_JIMAKIR, JAB_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI,\n  _JAB_ALIP,\n  _JAB_EHE,\n  _JAB_JIMAWAL,\n  _JAB_JE,\n  _JAB_DAL,\n  _JAB_BE,\n  _JAB_WAWU,\n  _JAB_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_sakban_abadi.ts\n * Rumus untuk bulan Sakban selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _SAKBAN, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry\nconst _BAN_ALIP = Symbol.for('ban_alip');\nconst _BAN_EHE = Symbol.for('ban_ehe');\nconst _BAN_JIMAWAL = Symbol.for('ban_jimawal');\nconst _BAN_JE = Symbol.for('ban_je');\nconst _BAN_DAL = Symbol.for('ban_dal');\nconst _BAN_BE = Symbol.for('ban_be');\nconst _BAN_WAWU = Symbol.for('ban_wawu');\nconst _BAN_JIMAKIR = Symbol.for('ban_jimakir');\n\n// Rumus\nconst BAN_MO_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 5,\n  pasaran: 3,\n};\n\nconst BAN_RO_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 2,\n  pasaran: 2,\n};\n\nconst BAN_TU_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 7,\n  pasaran: 2,\n};\n\nconst BAN_PAT_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 4,\n  pasaran: 1,\n};\n\nconst BAN_JI_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 1,\n  pasaran: 5,\n};\n\nconst BAN_NEM_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 6,\n  pasaran: 5,\n};\n\nconst BAN_LU_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 3,\n  pasaran: 4,\n};\n\nconst BAN_TU_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  dino: 7,\n  pasaran: 3,\n};\n\n//\n\n// Kunci Sakban - Sewindu\nconst BAN_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: BAN_MO_LU,\n};\n\nconst BAN_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: BAN_RO_RO,\n};\n\nconst BAN_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: BAN_TU_RO,\n};\n\nconst BAN_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: BAN_PAT_JI,\n};\n\nconst BAN_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: BAN_JI_MO,\n};\n\nconst BAN_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: BAN_NEM_MO,\n};\n\nconst BAN_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: BAN_LU_PAT,\n};\n\nconst BAN_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAKBAN),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: BAN_TU_LU,\n};\n\n// Mapping\nconst RUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_ALIP, BAN_ALIP);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_EHE, BAN_EHE);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_JIMAWAL, BAN_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_JE, BAN_JE);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_DAL, BAN_DAL);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_BE, BAN_BE);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_WAWU, BAN_WAWU);\nRUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI.set(_BAN_JIMAKIR, BAN_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI,\n  _BAN_ALIP,\n  _BAN_EHE,\n  _BAN_JIMAWAL,\n  _BAN_JE,\n  _BAN_DAL,\n  _BAN_BE,\n  _BAN_WAWU,\n  _BAN_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_romadon_abadi.ts\n * Rumus untuk bulan Romadon selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _ROMADON, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry Wulan Romadon Sewindu (8 Taun)\nconst _DON_ALIP = Symbol.for('don_alip');\nconst _DON_EHE = Symbol.for('don_ehe');\nconst _DON_JIMAWAL = Symbol.for('don_jimawal');\nconst _DON_JE = Symbol.for('don_je');\nconst _DON_DAL = Symbol.for('don_dal');\nconst _DON_BE = Symbol.for('don_be');\nconst _DON_WAWU = Symbol.for('don_wawu');\nconst _DON_JIMAKIR = Symbol.for('don_jimakir');\n\n// Rumus Matematis\n\n/**\n * Don Nem Ro - Romadon Enem Loro\n */\nconst DON_NEM_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 6,\n  pasaran: 2,\n};\n\nconst DON_LU_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 3,\n  pasaran: 1,\n};\n\nconst DON_JI_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 1,\n  pasaran: 1,\n};\n\nconst DON_MO_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 5,\n  pasaran: 5,\n};\n\nconst DON_RO_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 2,\n  pasaran: 4,\n};\n\n/**\n * Don Tu Pat - Romadon Pitu Papat\n * Wulan Romadon Dino ke-Pitu (7) Pasaran ke-papat (4)\n */\nconst DON_TU_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 7,\n  pasaran: 4,\n};\n\nconst DON_PAT_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 4,\n  pasaran: 3,\n};\n\nconst DON_JI_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  dino: 1,\n  pasaran: 2,\n};\n\n/**\n * Don Alip -> Don Nem Ro\n * Wulan Romadon Taun Alip\n */\nconst DON_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: DON_NEM_RO,\n};\n\n/**\n * Don Ehe -> Don Lu Ji\n * Wulan Romadon Taun Ehe\n */\nconst DON_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: DON_LU_JI,\n};\n\n/**\n * Don Jimawal -> Don Ji Ji\n * Wulan Romadon Taun Jimawal\n */\nconst DON_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: DON_JI_JI,\n};\n\n/**\n * Don Je -> Don Mo Mo\n * Wulan Romadon Taun Je\n */\nconst DON_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: DON_MO_MO,\n};\n\n/**\n * Don Dal -> Don Ro Pat\n * Wulan Romadon Taun Dal\n */\nconst DON_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: DON_RO_PAT,\n};\n\n/**\n * Don Be -> Don Tu Pat\n * Wulan Romadon Taun Be\n */\nconst DON_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: DON_TU_PAT,\n};\n\n/**\n * Don Wawu -> Don Pat Lu\n * Wulan Romadon Taun Wawu\n */\nconst DON_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: DON_PAT_LU,\n};\n\n/**\n * Don Jimakir -> Don Ji Ro\n * Wulan Romadon Taun Jimakir\n */\nconst DON_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_ROMADON),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: DON_JI_RO,\n};\n\n// Mapping\nconst RUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_ALIP, DON_ALIP);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_EHE, DON_EHE);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_JIMAWAL, DON_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_JE, DON_JE);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_DAL, DON_DAL);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_BE, DON_BE);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_WAWU, DON_WAWU);\nRUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI.set(_DON_JIMAKIR, DON_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI,\n  _DON_ALIP,\n  _DON_BE,\n  _DON_DAL,\n  _DON_EHE,\n  _DON_JE,\n  _DON_JIMAKIR,\n  _DON_JIMAWAL,\n  _DON_WAWU,\n};\n","/**\n * @flow\n *\n * 📁rumus_apalan_awal_taun_sawal_abadi.js\n * Rumus untuk bulan Sawal selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _SAWAL, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry Symbol untuk Sawal Sewindu\n\nconst _WAL_ALIP = Symbol.for('wal_alip');\nconst _WAL_EHE = Symbol.for('wal_ehe');\nconst _WAL_JIMAWAL = Symbol.for('wal_jimawal');\nconst _WAL_JE = Symbol.for('wal_je');\nconst _WAL_DAL = Symbol.for('wal_dal');\nconst _WAL_BE = Symbol.for('wal_be');\nconst _WAL_WAWU = Symbol.for('wal_wawu');\nconst _WAL_JIMAKIR = Symbol.for('wal_jimakir');\n\n// Rumus matematis\n\nconst WAL_JI_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 1,\n  pasaran: 2,\n};\n\nconst WAL_MO_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 5,\n  pasaran: 1,\n};\n\nconst WAL_LU_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 3,\n  pasaran: 1,\n};\n\nconst WAL_TU_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 7,\n  pasaran: 5,\n};\n\nconst WAL_PAT_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 4,\n  pasaran: 4,\n};\n\nconst WAL_RO_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 2,\n  pasaran: 4,\n};\n\nconst WAL_NEM_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 6,\n  pasaran: 3,\n};\n\nconst WAL_LU_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  dino: 3,\n  pasaran: 2,\n};\n\n// Intersection [row x column -> rumus]\n// Kunci Sawal - Sewindu\n\nconst WAL_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: WAL_JI_RO,\n};\n\nconst WAL_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: WAL_MO_JI,\n};\n\nconst WAL_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: WAL_LU_JI,\n};\n\nconst WAL_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: WAL_TU_MO,\n};\n\nconst WAL_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: WAL_PAT_PAT,\n};\n\nconst WAL_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: WAL_RO_PAT,\n};\n\nconst WAL_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: WAL_NEM_LU,\n};\n\nconst WAL_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_SAWAL),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: WAL_LU_RO,\n};\n\nconst RUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_ALIP, WAL_ALIP);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_EHE, WAL_EHE);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_JIMAWAL, WAL_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_JE, WAL_JE);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_DAL, WAL_DAL);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_BE, WAL_BE);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_WAWU, WAL_WAWU);\nRUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI.set(_WAL_JIMAKIR, WAL_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI,\n  _WAL_ALIP,\n  _WAL_BE,\n  _WAL_DAL,\n  _WAL_EHE,\n  _WAL_JE,\n  _WAL_JIMAKIR,\n  _WAL_JIMAWAL,\n  _WAL_WAWU,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_dulkodah_abadi.ts\n * Rumus untuk bulan Dulkodah selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _DULKODAH, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry Symbol untuk Dulkodah Sewindu\nconst _DAH_ALIP = Symbol.for('dah_alip');\nconst _DAH_EHE = Symbol.for('dah_ehe');\nconst _DAH_JIMAWAL = Symbol.for('dah_jimawal');\nconst _DAH_JE = Symbol.for('dah_je');\nconst _DAH_DAL = Symbol.for('dah_dal');\nconst _DAH_BE = Symbol.for('dah_be');\nconst _DAH_WAWU = Symbol.for('dah_wawu');\nconst _DAH_JIMAKIR = Symbol.for('dah_jimakir');\n\n// Rumus Matematis\n\n/**\n * Dah Ro Ji - Dulkodah Loro Siji\n */\nconst DAH_RO_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 2,\n  pasaran: 1,\n};\n\nconst DAH_NEM_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 6,\n  pasaran: 5,\n};\n\nconst DAH_PAT_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 4,\n  pasaran: 5,\n};\n\nconst DAH_JI_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 1,\n  pasaran: 4,\n};\n\nconst DAH_MO_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 5,\n  pasaran: 3,\n};\n\nconst DAH_LU_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 3,\n  pasaran: 3,\n};\n\nconst DAH_TU_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 7,\n  pasaran: 2,\n};\n\nconst DAH_PAT_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  dino: 4,\n  pasaran: 1,\n};\n\n// Wulan - Taun\n// Kunci Dulkodah - Sewindu\n\nconst DAH_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: DAH_RO_JI,\n};\n\nconst DAH_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: DAH_NEM_MO,\n};\n\nconst DAH_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: DAH_PAT_MO,\n};\n\nconst DAH_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: DAH_JI_PAT,\n};\n\nconst DAH_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: DAH_MO_LU,\n};\n\nconst DAH_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: DAH_LU_LU,\n};\n\nconst DAH_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: DAH_TU_RO,\n};\n\nconst DAH_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKODAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: DAH_PAT_JI,\n};\n\n// Mapping Rumus abadi Dulkodah dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_ALIP, DAH_ALIP);\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_EHE, DAH_EHE);\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_JIMAWAL, DAH_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_JE, DAH_JE);\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_DAL, DAH_DAL);\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_BE, DAH_BE);\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_WAWU, DAH_WAWU);\nRUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI.set(_DAH_JIMAKIR, DAH_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI,\n  _DAH_ALIP,\n  _DAH_EHE,\n  _DAH_JIMAWAL,\n  _DAH_JE,\n  _DAH_DAL,\n  _DAH_BE,\n  _DAH_WAWU,\n  _DAH_JIMAKIR,\n};\n","/**\n * 📁rumus_apalan_awal_bulan_dulkijah_abadi.ts\n * Rumus untuk bulan Dulkijah selama 8 Tahun (Sewindu)\n */\n\nimport type { WulanTaunType } from './types.js';\nimport { _DULKIJAH, ARANING_WULAN_SETAUN } from './sasi.js';\nimport {\n  _ALIP,\n  _EHE,\n  _JIMAWAL,\n  _JE,\n  _DAL,\n  _BE,\n  _WAWU,\n  _JIMAKIR,\n  ARANING_TAHUN_SEWINDU,\n} from './taun.js';\n\n// Registry Symbol\nconst _JAH_ALIP = Symbol.for('jah_alip');\nconst _JAH_EHE = Symbol.for('jah_ehe');\nconst _JAH_JIMAWAL = Symbol.for('jah_jimawal');\nconst _JAH_JE = Symbol.for('jah_je');\nconst _JAH_DAL = Symbol.for('jah_dal');\nconst _JAH_BE = Symbol.for('jah_be');\nconst _JAH_WAWU = Symbol.for('jah_wawu');\nconst _JAH_JIMAKIR = Symbol.for('jah_jimakir');\n\n// Rumus\nconst JAH_PAT_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 4,\n  pasaran: 1,\n};\n\nconst JAH_JI_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 1,\n  pasaran: 5,\n};\n\nconst JAH_NEM_MO = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 6,\n  pasaran: 5,\n};\n\nconst JAH_LU_PAT = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 3,\n  pasaran: 4,\n};\n\nconst JAH_TU_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 7,\n  pasaran: 3,\n};\n\nconst JAH_MO_LU = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 5,\n  pasaran: 3,\n};\n\nconst JAH_RO_RO = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 2,\n  pasaran: 2,\n};\n\nconst JAH_NEM_JI = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  dino: 6,\n  pasaran: 1,\n};\n\n// Kunci Dulkijah - Sewindu\nconst JAH_ALIP: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_ALIP),\n  rumus: JAH_PAT_JI,\n};\n\nconst JAH_EHE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_EHE),\n  rumus: JAH_JI_MO,\n};\n\nconst JAH_JIMAWAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAWAL),\n  rumus: JAH_NEM_MO,\n};\n\nconst JAH_JE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_JE),\n  rumus: JAH_LU_PAT,\n};\n\nconst JAH_DAL: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_DAL),\n  rumus: JAH_TU_LU,\n};\n\nconst JAH_BE: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_BE),\n  rumus: JAH_MO_LU,\n};\n\nconst JAH_WAWU: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_WAWU),\n  rumus: JAH_RO_RO,\n};\n\nconst JAH_JIMAKIR: WulanTaunType = {\n  wulan: ARANING_WULAN_SETAUN.get(_DULKIJAH),\n  taun: ARANING_TAHUN_SEWINDU.get(_JIMAKIR),\n  rumus: JAH_NEM_JI,\n};\n\n// Mapping Rumus abadi Dulkijah dengan Registry\nconst RUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI: Map<symbol, WulanTaunType> =\n  new Map();\n\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_ALIP, JAH_ALIP);\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_EHE, JAH_EHE);\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_JIMAWAL, JAH_JIMAWAL);\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_JE, JAH_JE);\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_DAL, JAH_DAL);\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_BE, JAH_BE);\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_WAWU, JAH_WAWU);\nRUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI.set(_JAH_JIMAKIR, JAH_JIMAKIR);\n\nexport {\n  RUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI,\n  _JAH_ALIP,\n  _JAH_EHE,\n  _JAH_JIMAWAL,\n  _JAH_JE,\n  _JAH_DAL,\n  _JAH_BE,\n  _JAH_WAWU,\n  _JAH_JIMAKIR,\n};\n","/**\n * Rupa Ati\n * 📁 rupa_ati.ts\n */\nimport * as Mukarom from './rumus_apalan_awal_bulan_mukarom_abadi.js';\nimport * as Sapar from './rumus_apalan_awal_bulan_sapar_abadi.js';\nimport * as Robiulawal from './rumus_apalan_awal_bulan_robiulawal_abadi.js';\nimport * as Robiulakir from './rumus_apalan_awal_bulan_robiulakir_abadi.js';\nimport * as Jumadilawal from './rumus_apalan_awal_bulan_jumadilawal_abadi.js';\nimport * as Jumadilakir from './rumus_apalan_awal_bulan_jumadilakir_abadi.js';\nimport * as Rojab from './rumus_apalan_awal_bulan_rojab_abadi.js';\nimport * as Sakban from './rumus_apalan_awal_bulan_sakban_abadi.js';\nimport * as Romadon from './rumus_apalan_awal_bulan_romadon_abadi.js';\nimport * as Sawal from './rumus_apalan_awal_bulan_sawal_abadi.js';\nimport * as Dulkodah from './rumus_apalan_awal_bulan_dulkodah_abadi.js';\nimport * as Dulkijah from './rumus_apalan_awal_bulan_dulkijah_abadi.js';\n\ntype KWMapType = Map<symbol, object>;\n\nfunction _SengkalaMap(): KWMapType {\n  return new Map([\n    ...Mukarom.RUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI,\n    ...Sapar.RUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI,\n    ...Robiulawal.RUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI,\n    ...Robiulakir.RUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI,\n    ...Jumadilawal.RUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI,\n    ...Jumadilakir.RUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI,\n    ...Rojab.RUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI,\n    ...Sakban.RUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI,\n    ...Romadon.RUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI,\n    ...Sawal.RUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI,\n    ...Dulkodah.RUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI,\n    ...Dulkijah.RUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI,\n  ]);\n}\n\nconst SengkalaMap = _SengkalaMap();\n\nexport { SengkalaMap };\n","/**\n * Silpin (Bahasa Sanskrit) artinya Seniman\n * 📁 silpin.ts\n */\nimport type {\n  PasaranType,\n  DintenType,\n  RumusType,\n  SasiReturnType,\n  TaunReturnType,\n  WulanTaunQueryType,\n  RumusSasiTaunType,\n} from './types.js';\nimport { PASARAN } from '@kalenderjawa/pancawara';\nimport { DINTEN } from '@kalenderjawa/saptawara';\nimport { ARANING_WULAN_SETAUN, SASI_ARR } from './sasi.js';\nimport { ARANING_TAHUN_SEWINDU } from './taun.js';\nimport { SengkalaMap } from './rupa_ati.js';\n\n/**\n *\n * @param h Dinten adjustment dari Kurup Dino -> dn + h\n * @param dn Kurup Dino. Misal Selasa -> Urutan 2\n */\nasync function konversiHari(\n  h: number,\n  dn: number\n): Promise<DintenType | string> {\n  const _xH = dn + h - 1;\n  let xH = 0;\n\n  if (_xH > 7) {\n    xH = _xH - 7;\n  } else {\n    xH = _xH;\n  }\n\n  return new Promise((resolve, reject) => {\n    DINTEN.forEach((value, key, map) => {\n      if (value.urutan === xH) {\n        resolve(value);\n      }\n    });\n    reject(new Error('Error konversiHari'));\n  });\n}\n\nasync function konversiPasaran(\n  p: number,\n  ps: number\n): Promise<PasaranType | string> {\n  const _xP = ps + p - 1;\n  let xP = 0;\n\n  if (_xP > 5) {\n    xP = _xP - 5;\n  } else {\n    xP = _xP;\n  }\n\n  return new Promise((resolve, reject) => {\n    PASARAN.forEach((value, key, map) => {\n      // Hanya mengambil value sekali, gak perlu reject selama xP masih dalam range 1-5\n      if (value.urutan === xP) {\n        resolve(value);\n      }\n    });\n    reject(new Error('Error konversiPasaran'));\n  });\n}\n\nasync function konversiHariPasaran(h: number, p: number, k: RumusType) {\n  const qH = await konversiHari(h, k.dino);\n  const qP = await konversiPasaran(p, k.pasaran);\n  return { h: qH, p: qP };\n}\n\nfunction cariTaunRegistry(taun: string): TaunReturnType {\n  return ARANING_TAHUN_SEWINDU.has(Symbol.for(taun))\n    ? ARANING_TAHUN_SEWINDU.get(Symbol.for(taun))\n    : undefined;\n}\n\nfunction cariWulanRegistry(wulan: string): SasiReturnType {\n  // console.log(ARANING_WULAN_SETAUN.get(Symbol.for(wulan)))\n  // cek wulan type number or string\n  let _wulan = '';\n\n  if (typeof wulan === 'string') {\n    _wulan = wulan;\n  } else if (typeof wulan === 'number') {\n    const _sasi = SASI_ARR[wulan - 1];\n    if (_sasi) {\n      _wulan = _sasi.wulan;\n    }\n  }\n\n  return ARANING_WULAN_SETAUN.has(Symbol.for(_wulan))\n    ? ARANING_WULAN_SETAUN.get(Symbol.for(_wulan))\n    : undefined;\n}\n\nfunction cariRumusWulanTaun(\n  key: string,\n  q: WulanTaunQueryType\n): RumusSasiTaunType | undefined {\n  if (SengkalaMap.has(Symbol.for(key))) {\n    const _RWT = SengkalaMap.get(Symbol.for(key));\n    const _K = { query: q };\n    return { ..._RWT, ..._K };\n  } else {\n    return undefined;\n  }\n}\n\nexport {\n  konversiPasaran,\n  konversiHari,\n  konversiHariPasaran,\n  cariWulanRegistry,\n  cariTaunRegistry,\n  cariRumusWulanTaun,\n};\n","// Pustaka Kalender Jawa\n// Perhtungan, pengkonversian dan penanggalan Jawa\n// 📁 index.ts\n// :ES6\n\nimport * as Kurup from './kurup_asapon_anenhing_statik.js';\nimport type {\n  RumusSasiTaunType,\n  TaunKurupType,\n  SasiKeyType,\n  PasaranType,\n  DintenType,\n} from './types.js';\nimport {\n  konversiHari,\n  konversiPasaran,\n  cariWulanRegistry,\n  cariTaunRegistry,\n  cariRumusWulanTaun,\n} from './silpin.js';\nimport { DINTEN_ARR } from '@kalenderjawa/saptawara';\nimport { PASARAN_ARR } from '@kalenderjawa/pancawara';\nimport { SASI_ARR } from './sasi.js';\nimport { TAHUN_ARR } from './taun.js';\nimport pkg from '../package.json';\n\n/**\n * Mencari Kurup dan Taun Jawa\n * @param input - 4 digit integer\n * @returns data - hasil promise adalah object\n */\n\nasync function cariKurupTaun(_q: number): Promise<TaunKurupType> {\n  const _qi = parseInt(_q.toString());\n  return new Promise((resolve, reject) => {\n    for (const _kurup of Kurup.KURUP_ASAPON_ANENHING) {\n      _kurup.awal.find(query => {\n        if (query === _qi) resolve(_kurup);\n      });\n    }\n\n    reject(new Error('Error cariKurupTaun'));\n  });\n}\n\n/**\n * Fungsi untuk mencari rumus perhitungan abadi\n * @param wulan\n * @param taun\n */\nasync function cariRumusAbadiAwalBulanTahunJawa(\n  wulan: string,\n  taun: number\n): Promise<RumusSasiTaunType | undefined> {\n  return new Promise((resolve, reject) => {\n    cariKurupTaun(taun)\n      .then(r => {\n        const wulanMap = cariWulanRegistry(wulan);\n        const taunMap = cariTaunRegistry(r.taun.taun);\n\n        if (wulanMap !== undefined && taunMap !== undefined) {\n          const KEY_RUMUS = `${wulanMap.celukan}_${taunMap.taun}`;\n          const RWT = cariRumusWulanTaun(KEY_RUMUS, {\n            wulan: wulan,\n            taun: taun,\n          });\n          if (RWT !== undefined) {\n            // Return an adjusted clone for Dulkijah without mutating registry\n            if (wulanMap.urutan === 12 && 'rumus' in RWT) {\n              const correctedWulan = {\n                ...wulanMap,\n                cacah: [r.taun.cacah === 354 ? 29 : 30],\n              };\n              resolve({ ...RWT, wulan: correctedWulan });\n              return;\n            }\n            resolve(RWT);\n          }\n        }\n        reject(new Error('error cariRumusAbadi'));\n      })\n      .catch(e => reject(e));\n  });\n}\n\n/**\n *\n * @param w - string wulan (bulan)\n * @param t - 4 digit integer\n */\nasync function cariHariPasaranAwalBulanTahunJawa(w: string, t: number) {\n  const [sengkalaTaun, sengkalaRumus] = await Promise.all([\n    cariKurupTaun(t),\n    cariRumusAbadiAwalBulanTahunJawa(w, t),\n  ]);\n  const [kH, kP] = await Promise.all([\n    konversiHari(\n      sengkalaRumus && 'rumus' in sengkalaRumus ? sengkalaRumus.rumus.dino : 0,\n      sengkalaTaun.kurup.dinten.urutan\n    ),\n    konversiPasaran(\n      sengkalaRumus && 'rumus' in sengkalaRumus\n        ? sengkalaRumus.rumus.pasaran\n        : 0,\n      sengkalaTaun.kurup.pasaran.urutan\n    ),\n  ]);\n  const i = {\n    taun: sengkalaTaun.taun.taun,\n    kurup: `${sengkalaTaun.kurup.taun} ${sengkalaTaun.kurup.dinten.dino} ${sengkalaTaun.kurup.pasaran.pasaran}`,\n  };\n  return { w, t, i, kH, kP };\n}\n\nasync function sasi(s: string, th: number) {\n  const [{ kH, kP }, dat] = await Promise.all([\n    cariHariPasaranAwalBulanTahunJawa(s, th),\n    cariRumusAbadiAwalBulanTahunJawa(s, th),\n  ]);\n  const _m: Array<{\n    [key: number]: { dinten: string; pasaran: string; neptu: number };\n  }> = [];\n  let i = 0;\n  let _x = (kP as PasaranType).urutan;\n  let _s = (kH as DintenType).urutan;\n\n  do {\n    i = i + 1;\n    const { ps, pn } = koreksiPasaran(_x);\n    _m.push({\n      [i]: { dinten: koreksiDino(_s), pasaran: ps, neptu: pn },\n    });\n    _x = _x + 1;\n    _s = _s + 1;\n  } while (i < (dat && 'wulan' in dat && dat.wulan ? dat.wulan.cacah[0] : 0));\n\n  const sMap: Map<\n    SasiKeyType,\n    Array<{ [key: number]: { dinten: string; pasaran: string; neptu: number } }>\n  > = new Map();\n  const sKey: SasiKeyType = {\n    sasi: dat && 'wulan' in dat && dat.wulan ? dat.wulan.wulan : '',\n    taun: th,\n  };\n  sMap.set(sKey, _m);\n\n  // Map keys use ===\n  return { k: sKey, s: sMap };\n}\n\nfunction koreksiDino(d: number) {\n  let dc = 0;\n  if (d > 7) {\n    dc = d % 7;\n    if (dc === 0) {\n      dc = 7;\n    }\n  } else {\n    dc = d;\n  }\n\n  return DINTEN_ARR[dc - 1]['dino'];\n}\n\nfunction koreksiPasaran(p: number) {\n  let pc = 0;\n  if (p > 5) {\n    pc = p % 5;\n    if (pc === 0) {\n      pc = 5;\n    }\n  } else {\n    pc = p;\n  }\n  return {\n    ps: PASARAN_ARR[pc - 1]['pasaran'],\n    pn: PASARAN_ARR[pc - 1]['neptu'],\n  };\n}\n\nfunction version(): string {\n  return `v${pkg.version}`;\n}\n\nexport {\n  cariKurupTaun as cariKurupTahunJawa,\n  cariRumusAbadiAwalBulanTahunJawa,\n  cariHariPasaranAwalBulanTahunJawa,\n  sasi,\n  PASARAN_ARR as araningPasaran,\n  DINTEN_ARR as araningDinten,\n  SASI_ARR as araningSasi,\n  TAHUN_ARR as tahunJawa,\n  version as versi,\n};\n"],"names":["_ALIP","Symbol","for","_EHE","_JIMAWAL","_JE","_DAL","_BE","_WAWU","_JIMAKIR","ALIP","taun","neptu","urutan","cacah","EHE","JIMAWAL","JE","DAL","BE","WAWU","JIMAKIR","TAHUN_ARR","ARANING_TAHUN_SEWINDU","Map","set","ASAPON","dinten","D","DINTEN","get","_SELASA","pasaran","P","PASARAN","_PON","ANENHING","_SENEN","_PAHING","KURUP_ASAPON_ANENHING","kurup","awal","_MUKAROM","_SAPAR","_ROBIULAWAL","_ROBIULAKIR","_JUMADILAWAL","_JUMADILAKIR","_ROJAB","_SAKBAN","_ROMADON","_SAWAL","_DULKODAH","_DULKIJAH","MUKAROM","wulan","celukan","SAPAR","ROBIULAWAL","ROBIULAKIR","JUMADILAWAL","JUMADILAKIR","ROJAB","SAKBAN","ROMADON","SAWAL","DULKODAH","DULKIJAH","ARANING_WULAN_SETAUN","SASI_ARR","_ROM_ALIP","_ROM_EHE","_ROM_JIMAWAL","_ROM_JE","_ROM_DAL","_ROM_BE","_ROM_WAWU","_ROM_JIMAKIR","ROM_JI_JI","dino","ROM_MO_MO","ROM_LU_MO","ROM_TU_PAT","ROM_PAT_LU","ROM_RO_LU","ROM_NEM_RO","ROM_LU_JI","ROM_ALIP","rumus","ROM_EHE","ROM_JIMAWAL","ROM_JE","ROM_DAL","ROM_BE","ROM_WAWU","ROM_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI","_PAR_ALIP","_PAR_EHE","_PAR_JIMAWAL","_PAR_JE","_PAR_DAL","_PAR_BE","_PAR_WAWU","_PAR_JIMAKIR","PAR_RO_RO","PAR_NEM_JI","PAR_PAT_JI","PAR_JI_MO","PAR_MO_PAT","PAR_LU_PAT","PAR_TU_LU","PAR_PAT_RO","PAR_ALIP","PAR_EHE","PAR_JIMAWAL","PAR_JE","PAR_DAL","PAR_BE","PAR_WAWU","PAR_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI","_ROWAL_ALIP","_ROWAL_EHE","_ROWAL_JIMAWAL","_ROWAL_JE","_ROWAL_DAL","_ROWAL_BE","_ROWAL_WAWU","_ROWAL_JIMAKIR","ROWAL_PAT_MO","ROWAL_JI_PAT","ROWAL_NEM_PAT","ROWAL_LU_LU","ROWAL_TU_RO","ROWAL_MO_RO","ROWAL_RO_JI","ROWAL_NEM_MO","ROWAL_ALIP","ROWAL_EHE","ROWAL_JIMAWAL","ROWAL_JE","ROWAL_DAL","ROWAL_BE","ROWAL_WAWU","ROWAL_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI","_ROKIR_ALIP","_ROKIR_EHE","_ROKIR_JIMAWAL","_ROKIR_JE","_ROKIR_DAL","_ROKIR_BE","_ROKIR_WAWU","_ROKIR_JIMAKIR","ROKIR_NEM_MO","ROKIR_LU_PAT","ROKIR_JI_PAT","ROKIR_MO_LU","ROKIR_RO_RO","ROKIR_TU_RO","ROKIR_PAT_JI","ROKIR_JI_MO","ROKIR_ALIP","ROKIR_EHE","ROKIR_JIMAWAL","ROKIR_JE","ROKIR_DAL","ROKIR_BE","ROKIR_WAWU","ROKIR_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI","_JUWAL_ALIP","_JUWAL_EHE","_JUWAL_JIMAWAL","_JUWAL_JE","_JUWAL_DAL","_JUWAL_BE","_JUWAL_WAWU","_JUWAL_JIMAKIR","JUWAL_TU_PAT","JUWAL_PAT_LU","JUWAL_RO_LU","JUWAL_NEM_RO","JUWAL_LU_JI","JUWAL_JI_JI","JUWAL_MO_MO","JUWAL_RO_PAT","JUWAL_ALIP","JUWAL_EHE","JUWAL_JIMAWAL","JUWAL_JE","JUWAL_DAL","JUWAL_BE","JUWAL_WAWU","JUWAL_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI","_JUKIR_ALIP","_JUKIR_EHE","_JUKIR_JIMAWAL","_JUKIR_JE","_JUKIR_DAL","_JUKIR_BE","_JUKIR_WAWU","_JUKIR_JIMAKIR","JUKIR_RO_PAT","JUKIR_NEM_LU","JUKIR_PAT_LU","JUKIR_JI_RO","JUKIR_MO_JI","JUKIR_LU_JI","JUKIR_TU_MO","JUKIR_PAT_PAT","JUKIR_ALIP","JUKIR_EHE","JUKIR_JIMAWAL","JUKIR_JE","JUKIR_DAL","JUKIR_BE","JUKIR_WAWU","JUKIR_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI","_JAB_ALIP","_JAB_EHE","_JAB_JIMAWAL","_JAB_JE","_JAB_DAL","_JAB_BE","_JAB_WAWU","_JAB_JIMAKIR","JAB_LU_LU","JAB_TU_RO","JAB_MO_RO","JAB_RO_JI","JAB_NEM_MO","JAB_PAT_MO","JAB_JI_PAT","JAB_MO_LU","JAB_ALIP","JAB_EHE","JAB_JIMAWAL","JAB_JE","JAB_DAL","JAB_BE","JAB_WAWU","JAB_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI","_BAN_ALIP","_BAN_EHE","_BAN_JIMAWAL","_BAN_JE","_BAN_DAL","_BAN_BE","_BAN_WAWU","_BAN_JIMAKIR","BAN_MO_LU","BAN_RO_RO","BAN_TU_RO","BAN_PAT_JI","BAN_JI_MO","BAN_NEM_MO","BAN_LU_PAT","BAN_TU_LU","BAN_ALIP","BAN_EHE","BAN_JIMAWAL","BAN_JE","BAN_DAL","BAN_BE","BAN_WAWU","BAN_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI","_DON_ALIP","_DON_EHE","_DON_JIMAWAL","_DON_JE","_DON_DAL","_DON_BE","_DON_WAWU","_DON_JIMAKIR","DON_NEM_RO","DON_LU_JI","DON_JI_JI","DON_MO_MO","DON_RO_PAT","DON_TU_PAT","DON_PAT_LU","DON_JI_RO","DON_ALIP","DON_EHE","DON_JIMAWAL","DON_JE","DON_DAL","DON_BE","DON_WAWU","DON_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI","_WAL_ALIP","_WAL_EHE","_WAL_JIMAWAL","_WAL_JE","_WAL_DAL","_WAL_BE","_WAL_WAWU","_WAL_JIMAKIR","WAL_JI_RO","WAL_MO_JI","WAL_LU_JI","WAL_TU_MO","WAL_PAT_PAT","WAL_RO_PAT","WAL_NEM_LU","WAL_LU_RO","WAL_ALIP","WAL_EHE","WAL_JIMAWAL","WAL_JE","WAL_DAL","WAL_BE","WAL_WAWU","WAL_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI","_DAH_ALIP","_DAH_EHE","_DAH_JIMAWAL","_DAH_JE","_DAH_DAL","_DAH_BE","_DAH_WAWU","_DAH_JIMAKIR","DAH_RO_JI","DAH_NEM_MO","DAH_PAT_MO","DAH_JI_PAT","DAH_MO_LU","DAH_LU_LU","DAH_TU_RO","DAH_PAT_JI","DAH_ALIP","DAH_EHE","DAH_JIMAWAL","DAH_JE","DAH_DAL","DAH_BE","DAH_WAWU","DAH_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI","_JAH_ALIP","_JAH_EHE","_JAH_JIMAWAL","_JAH_JE","_JAH_DAL","_JAH_BE","_JAH_WAWU","_JAH_JIMAKIR","JAH_PAT_JI","JAH_JI_MO","JAH_NEM_MO","JAH_LU_PAT","JAH_TU_LU","JAH_MO_LU","JAH_RO_RO","JAH_NEM_JI","JAH_ALIP","JAH_EHE","JAH_JIMAWAL","JAH_JE","JAH_DAL","JAH_BE","JAH_WAWU","JAH_JIMAKIR","RUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI","SengkalaMap","Mukarom.RUMUS_APALAN_AWAL_BULAN_MUKAROM_ABADI","Sapar.RUMUS_APALAN_AWAL_BULAN_SAPAR_ABADI","Robiulawal.RUMUS_APALAN_AWAL_BULAN_ROBIULAWAL_ABADI","Robiulakir.RUMUS_APALAN_AWAL_BULAN_ROBIULAKIR_ABADI","Jumadilawal.RUMUS_APALAN_AWAL_BULAN_JUMADILAWAL_ABADI","Jumadilakir.RUMUS_APALAN_AWAL_BULAN_JUMADILAKIR_ABADI","Rojab.RUMUS_APALAN_AWAL_BULAN_ROJAB_ABADI","Sakban.RUMUS_APALAN_AWAL_BULAN_SAKBAN_ABADI","Romadon.RUMUS_APALAN_AWAL_BULAN_ROMADON_ABADI","Sawal.RUMUS_APALAN_AWAL_BULAN_SAWAL_ABADI","Dulkodah.RUMUS_APALAN_AWAL_BULAN_DULKODAH_ABADI","Dulkijah.RUMUS_APALAN_AWAL_BULAN_DULKIJAH_ABADI","async","konversiHari","h","dn","_xH","xH","Promise","resolve","reject","forEach","value","key","map","Error","konversiPasaran","p","ps","_xP","xP","cariKurupTaun","_q","_qi","parseInt","toString","_kurup","Kurup.KURUP_ASAPON_ANENHING","find","query","cariRumusAbadiAwalBulanTahunJawa","then","r","wulanMap","_wulan","_sasi","has","cariWulanRegistry","taunMap","cariTaunRegistry","RWT","q","cariRumusWulanTaun","correctedWulan","catch","e","cariHariPasaranAwalBulanTahunJawa","w","t","sengkalaTaun","sengkalaRumus","all","kH","kP","i","koreksiDino","d","dc","DINTEN_ARR","koreksiPasaran","pc","PASARAN_ARR","pn","s","th","dat","_m","_x","_s","push","sMap","sKey","sasi","k","pkg"],"mappings":"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"}