-- Copyright (c) 2016-present, Facebook, Inc.
-- All rights reserved.
--
-- This source code is licensed under the BSD-style license found in the
-- LICENSE file in the root directory of this source tree.

module Duckling.Time.Computed
  ( chanukah, chineseNewYear, dhanteras, easterSunday, eidalAdha, eidalFitr
  , globalYouthServiceDay, guruGobindSinghJayanti, karvaChauth
  , krishnaJanmashtami, lagBaOmer, mawlid, muharram, navaratri, orthodoxEaster
  , passover, rajab, rakshaBandhan, mahavirJayanti, mahaShivaRatri
  , ramadan, rathaYatra, roshHashana, thaiPongal, thiruOnam, superTuesday
  , tishaBAv, tuBishvat, vasantPanchami, vesak
  , yomHaatzmaut, vaisakhi, purim, saraswatiJayanti, rabindraJayanti
  , ravidassJayanti, pargatDiwas, ugadi, ganeshChaturthi, ramaNavami
  ) where

import Data.Maybe
import Prelude

import Duckling.Time.Helpers (timeComputed, toTimeObjectM)
import Duckling.Time.Types (TimeData(..), TimeObject(..), timedata')
import qualified Duckling.TimeGrain.Types as TG

computedDays :: [TimeObject] -> TimeData
computedDays :: [TimeObject] -> TimeData
computedDays [TimeObject]
xs = TimeData
timedata'
  { timePred :: Predicate
timePred = [TimeObject] -> Predicate
timeComputed [TimeObject]
xs
  , timeGrain :: Grain
timeGrain = Grain
TG.Day
  }

chanukah :: TimeData
chanukah :: TimeData
chanukah = [TimeObject] -> TimeData
computedDays [TimeObject]
chanukah'

chanukah' :: [TimeObject]
chanukah' :: [TimeObject]
chanukah' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
12, Int
3)
  , (Integer
1951, Int
12, Int
23)
  , (Integer
1952, Int
12, Int
12)
  , (Integer
1953, Int
12, Int
1)
  , (Integer
1954, Int
12, Int
19)
  , (Integer
1955, Int
12, Int
9)
  , (Integer
1956, Int
11, Int
28)
  , (Integer
1957, Int
12, Int
17)
  , (Integer
1958, Int
12, Int
6)
  , (Integer
1959, Int
12, Int
25)
  , (Integer
1960, Int
12, Int
13)
  , (Integer
1961, Int
12, Int
2)
  , (Integer
1962, Int
12, Int
21)
  , (Integer
1963, Int
12, Int
10)
  , (Integer
1964, Int
11, Int
29)
  , (Integer
1965, Int
12, Int
18)
  , (Integer
1966, Int
12, Int
7)
  , (Integer
1967, Int
12, Int
26)
  , (Integer
1968, Int
12, Int
15)
  , (Integer
1969, Int
12, Int
4)
  , (Integer
1970, Int
12, Int
22)
  , (Integer
1971, Int
12, Int
12)
  , (Integer
1972, Int
11, Int
30)
  , (Integer
1973, Int
12, Int
19)
  , (Integer
1974, Int
12, Int
8)
  , (Integer
1975, Int
11, Int
28)
  , (Integer
1976, Int
12, Int
16)
  , (Integer
1977, Int
12, Int
4)
  , (Integer
1978, Int
12, Int
24)
  , (Integer
1979, Int
12, Int
14)
  , (Integer
1980, Int
12, Int
2)
  , (Integer
1981, Int
12, Int
20)
  , (Integer
1982, Int
12, Int
10)
  , (Integer
1983, Int
11, Int
30)
  , (Integer
1984, Int
12, Int
18)
  , (Integer
1985, Int
12, Int
7)
  , (Integer
1986, Int
12, Int
26)
  , (Integer
1987, Int
12, Int
15)
  , (Integer
1988, Int
12, Int
3)
  , (Integer
1989, Int
12, Int
22)
  , (Integer
1990, Int
12, Int
11)
  , (Integer
1991, Int
12, Int
1)
  , (Integer
1992, Int
12, Int
19)
  , (Integer
1993, Int
12, Int
8)
  , (Integer
1994, Int
11, Int
27)
  , (Integer
1995, Int
12, Int
17)
  , (Integer
1996, Int
12, Int
5)
  , (Integer
1997, Int
12, Int
23)
  , (Integer
1998, Int
12, Int
13)
  , (Integer
1999, Int
12, Int
3)
  , (Integer
2000, Int
12, Int
21)
  , (Integer
2001, Int
12, Int
9)
  , (Integer
2002, Int
11, Int
29)
  , (Integer
2003, Int
12, Int
19)
  , (Integer
2004, Int
12, Int
7)
  , (Integer
2005, Int
12, Int
25)
  , (Integer
2006, Int
12, Int
15)
  , (Integer
2007, Int
12, Int
4)
  , (Integer
2008, Int
12, Int
21)
  , (Integer
2009, Int
12, Int
11)
  , (Integer
2010, Int
12, Int
1)
  , (Integer
2011, Int
12, Int
20)
  , (Integer
2012, Int
12, Int
8)
  , (Integer
2013, Int
11, Int
27)
  , (Integer
2014, Int
12, Int
16)
  , (Integer
2015, Int
12, Int
6)
  , (Integer
2016, Int
12, Int
24)
  , (Integer
2017, Int
12, Int
12)
  , (Integer
2018, Int
12, Int
2)
  , (Integer
2019, Int
12, Int
22)
  , (Integer
2020, Int
12, Int
10)
  , (Integer
2021, Int
11, Int
28)
  , (Integer
2022, Int
12, Int
18)
  , (Integer
2023, Int
12, Int
7)
  , (Integer
2024, Int
12, Int
25)
  , (Integer
2025, Int
12, Int
14)
  , (Integer
2026, Int
12, Int
4)
  , (Integer
2027, Int
12, Int
24)
  , (Integer
2028, Int
12, Int
12)
  , (Integer
2029, Int
12, Int
1)
  , (Integer
2030, Int
12, Int
20)
  , (Integer
2031, Int
12, Int
9)
  , (Integer
2032, Int
11, Int
27)
  , (Integer
2033, Int
12, Int
16)
  , (Integer
2034, Int
12, Int
6)
  , (Integer
2035, Int
12, Int
25)
  , (Integer
2036, Int
12, Int
13)
  , (Integer
2037, Int
12, Int
2)
  , (Integer
2038, Int
12, Int
21)
  , (Integer
2039, Int
12, Int
11)
  , (Integer
2040, Int
11, Int
29)
  , (Integer
2041, Int
12, Int
17)
  , (Integer
2042, Int
12, Int
7)
  , (Integer
2043, Int
12, Int
26)
  , (Integer
2044, Int
12, Int
14)
  , (Integer
2045, Int
12, Int
3)
  , (Integer
2046, Int
12, Int
23)
  , (Integer
2047, Int
12, Int
12)
  , (Integer
2048, Int
11, Int
29)
  , (Integer
2049, Int
12, Int
19)
  , (Integer
2050, Int
12, Int
9)
  ]

chineseNewYear :: TimeData
chineseNewYear :: TimeData
chineseNewYear = [TimeObject] -> TimeData
computedDays [TimeObject]
chineseNewYear'

chineseNewYear' :: [TimeObject]
chineseNewYear' :: [TimeObject]
chineseNewYear' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
2, Int
17)
  , (Integer
1951, Int
2, Int
6)
  , (Integer
1952, Int
1, Int
27)
  , (Integer
1953, Int
2, Int
14)
  , (Integer
1954, Int
2, Int
3)
  , (Integer
1955, Int
1, Int
24)
  , (Integer
1956, Int
2, Int
12)
  , (Integer
1957, Int
1, Int
31)
  , (Integer
1958, Int
2, Int
18)
  , (Integer
1959, Int
2, Int
8)
  , (Integer
1960, Int
1, Int
28)
  , (Integer
1961, Int
2, Int
15)
  , (Integer
1962, Int
2, Int
5)
  , (Integer
1963, Int
1, Int
25)
  , (Integer
1964, Int
2, Int
13)
  , (Integer
1965, Int
2, Int
2)
  , (Integer
1966, Int
1, Int
21)
  , (Integer
1967, Int
2, Int
9)
  , (Integer
1968, Int
1, Int
30)
  , (Integer
1969, Int
2, Int
17)
  , (Integer
1970, Int
2, Int
6)
  , (Integer
1971, Int
1, Int
27)
  , (Integer
1972, Int
2, Int
15)
  , (Integer
1973, Int
2, Int
3)
  , (Integer
1974, Int
1, Int
23)
  , (Integer
1975, Int
2, Int
11)
  , (Integer
1976, Int
1, Int
31)
  , (Integer
1977, Int
2, Int
18)
  , (Integer
1978, Int
2, Int
7)
  , (Integer
1979, Int
1, Int
28)
  , (Integer
1980, Int
2, Int
16)
  , (Integer
1981, Int
2, Int
5)
  , (Integer
1982, Int
1, Int
25)
  , (Integer
1983, Int
2, Int
13)
  , (Integer
1984, Int
2, Int
2)
  , (Integer
1985, Int
2, Int
20)
  , (Integer
1986, Int
2, Int
9)
  , (Integer
1987, Int
1, Int
29)
  , (Integer
1988, Int
2, Int
17)
  , (Integer
1989, Int
2, Int
6)
  , (Integer
1990, Int
1, Int
27)
  , (Integer
1991, Int
2, Int
15)
  , (Integer
1992, Int
2, Int
4)
  , (Integer
1993, Int
1, Int
23)
  , (Integer
1994, Int
2, Int
10)
  , (Integer
1995, Int
1, Int
31)
  , (Integer
1996, Int
2, Int
19)
  , (Integer
1997, Int
2, Int
7)
  , (Integer
1998, Int
1, Int
28)
  , (Integer
1999, Int
2, Int
16)
  , (Integer
2000, Int
2, Int
5)
  , (Integer
2001, Int
1, Int
24)
  , (Integer
2002, Int
2, Int
12)
  , (Integer
2003, Int
2, Int
1)
  , (Integer
2004, Int
1, Int
22)
  , (Integer
2005, Int
2, Int
9)
  , (Integer
2006, Int
1, Int
29)
  , (Integer
2007, Int
2, Int
18)
  , (Integer
2008, Int
2, Int
7)
  , (Integer
2009, Int
1, Int
26)
  , (Integer
2010, Int
2, Int
14)
  , (Integer
2011, Int
2, Int
3)
  , (Integer
2012, Int
1, Int
23)
  , (Integer
2013, Int
2, Int
10)
  , (Integer
2014, Int
1, Int
31)
  , (Integer
2015, Int
2, Int
19)
  , (Integer
2016, Int
2, Int
8)
  , (Integer
2017, Int
1, Int
28)
  , (Integer
2018, Int
2, Int
16)
  , (Integer
2019, Int
2, Int
5)
  , (Integer
2020, Int
1, Int
25)
  , (Integer
2021, Int
2, Int
12)
  , (Integer
2022, Int
2, Int
1)
  , (Integer
2023, Int
1, Int
22)
  , (Integer
2024, Int
2, Int
10)
  , (Integer
2025, Int
1, Int
29)
  , (Integer
2026, Int
2, Int
17)
  , (Integer
2027, Int
2, Int
6)
  , (Integer
2028, Int
1, Int
26)
  , (Integer
2029, Int
2, Int
13)
  , (Integer
2030, Int
2, Int
3)
  , (Integer
2031, Int
1, Int
23)
  , (Integer
2032, Int
2, Int
11)
  , (Integer
2033, Int
1, Int
31)
  , (Integer
2034, Int
2, Int
19)
  , (Integer
2035, Int
2, Int
8)
  , (Integer
2036, Int
1, Int
28)
  , (Integer
2037, Int
2, Int
15)
  , (Integer
2038, Int
2, Int
4)
  , (Integer
2039, Int
1, Int
24)
  , (Integer
2040, Int
2, Int
12)
  , (Integer
2041, Int
2, Int
1)
  , (Integer
2042, Int
1, Int
22)
  , (Integer
2043, Int
2, Int
10)
  , (Integer
2044, Int
1, Int
30)
  , (Integer
2045, Int
2, Int
17)
  , (Integer
2046, Int
2, Int
6)
  , (Integer
2047, Int
1, Int
26)
  , (Integer
2048, Int
2, Int
14)
  , (Integer
2049, Int
2, Int
2)
  , (Integer
2050, Int
1, Int
23)
  ]

easterSunday :: TimeData
easterSunday :: TimeData
easterSunday = [TimeObject] -> TimeData
computedDays [TimeObject]
easterSunday'

easterSunday' :: [TimeObject]
easterSunday' :: [TimeObject]
easterSunday' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
4, Int
9)
  , (Integer
1951, Int
3, Int
25)
  , (Integer
1952, Int
4, Int
13)
  , (Integer
1953, Int
4, Int
5)
  , (Integer
1954, Int
4, Int
18)
  , (Integer
1955, Int
4, Int
10)
  , (Integer
1956, Int
4, Int
1)
  , (Integer
1957, Int
4, Int
21)
  , (Integer
1958, Int
4, Int
6)
  , (Integer
1959, Int
3, Int
29)
  , (Integer
1960, Int
4, Int
17)
  , (Integer
1961, Int
4, Int
2)
  , (Integer
1962, Int
4, Int
22)
  , (Integer
1963, Int
4, Int
14)
  , (Integer
1964, Int
3, Int
29)
  , (Integer
1965, Int
4, Int
18)
  , (Integer
1966, Int
4, Int
10)
  , (Integer
1967, Int
3, Int
26)
  , (Integer
1968, Int
4, Int
14)
  , (Integer
1969, Int
4, Int
6)
  , (Integer
1970, Int
3, Int
29)
  , (Integer
1971, Int
4, Int
11)
  , (Integer
1972, Int
4, Int
2)
  , (Integer
1973, Int
4, Int
22)
  , (Integer
1974, Int
4, Int
14)
  , (Integer
1975, Int
3, Int
30)
  , (Integer
1976, Int
4, Int
18)
  , (Integer
1977, Int
4, Int
10)
  , (Integer
1978, Int
3, Int
26)
  , (Integer
1979, Int
4, Int
15)
  , (Integer
1980, Int
4, Int
6)
  , (Integer
1981, Int
4, Int
19)
  , (Integer
1982, Int
4, Int
11)
  , (Integer
1983, Int
4, Int
3)
  , (Integer
1984, Int
4, Int
22)
  , (Integer
1985, Int
4, Int
7)
  , (Integer
1986, Int
3, Int
30)
  , (Integer
1987, Int
4, Int
19)
  , (Integer
1988, Int
4, Int
3)
  , (Integer
1989, Int
3, Int
26)
  , (Integer
1990, Int
4, Int
15)
  , (Integer
1991, Int
3, Int
31)
  , (Integer
1992, Int
4, Int
19)
  , (Integer
1993, Int
4, Int
11)
  , (Integer
1994, Int
4, Int
3)
  , (Integer
1995, Int
4, Int
16)
  , (Integer
1996, Int
4, Int
7)
  , (Integer
1997, Int
3, Int
30)
  , (Integer
1998, Int
4, Int
12)
  , (Integer
1999, Int
4, Int
4)
  , (Integer
2000, Int
4, Int
23)
  , (Integer
2001, Int
4, Int
15)
  , (Integer
2002, Int
3, Int
31)
  , (Integer
2003, Int
4, Int
20)
  , (Integer
2004, Int
4, Int
11)
  , (Integer
2005, Int
3, Int
27)
  , (Integer
2006, Int
4, Int
16)
  , (Integer
2007, Int
4, Int
8)
  , (Integer
2008, Int
3, Int
23)
  , (Integer
2009, Int
4, Int
12)
  , (Integer
2010, Int
4, Int
4)
  , (Integer
2011, Int
4, Int
24)
  , (Integer
2012, Int
4, Int
8)
  , (Integer
2013, Int
3, Int
31)
  , (Integer
2014, Int
4, Int
20)
  , (Integer
2015, Int
4, Int
5)
  , (Integer
2016, Int
3, Int
27)
  , (Integer
2017, Int
4, Int
16)
  , (Integer
2018, Int
4, Int
1)
  , (Integer
2019, Int
4, Int
21)
  , (Integer
2020, Int
4, Int
12)
  , (Integer
2021, Int
4, Int
4)
  , (Integer
2022, Int
4, Int
17)
  , (Integer
2023, Int
4, Int
9)
  , (Integer
2024, Int
3, Int
31)
  , (Integer
2025, Int
4, Int
20)
  , (Integer
2026, Int
4, Int
5)
  , (Integer
2027, Int
3, Int
28)
  , (Integer
2028, Int
4, Int
16)
  , (Integer
2029, Int
4, Int
1)
  , (Integer
2030, Int
4, Int
21)
  , (Integer
2031, Int
4, Int
13)
  , (Integer
2032, Int
3, Int
28)
  , (Integer
2033, Int
4, Int
17)
  , (Integer
2034, Int
4, Int
9)
  , (Integer
2035, Int
3, Int
25)
  , (Integer
2036, Int
4, Int
13)
  , (Integer
2037, Int
4, Int
5)
  , (Integer
2038, Int
4, Int
25)
  , (Integer
2039, Int
4, Int
10)
  , (Integer
2040, Int
4, Int
1)
  , (Integer
2041, Int
4, Int
21)
  , (Integer
2042, Int
4, Int
6)
  , (Integer
2043, Int
3, Int
29)
  , (Integer
2044, Int
4, Int
17)
  , (Integer
2045, Int
4, Int
9)
  , (Integer
2046, Int
3, Int
25)
  , (Integer
2047, Int
4, Int
14)
  , (Integer
2048, Int
4, Int
5)
  , (Integer
2049, Int
4, Int
18)
  , (Integer
2050, Int
4, Int
10)
  ]

lagBaOmer :: TimeData
lagBaOmer :: TimeData
lagBaOmer = [TimeObject] -> TimeData
computedDays [TimeObject]
lagBaOmer'

lagBaOmer' :: [TimeObject]
lagBaOmer' :: [TimeObject]
lagBaOmer' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
5, Int
4)
  , (Integer
1951, Int
5, Int
23)
  , (Integer
1952, Int
5, Int
12)
  , (Integer
1953, Int
5, Int
2)
  , (Integer
1954, Int
5, Int
20)
  , (Integer
1955, Int
5, Int
9)
  , (Integer
1956, Int
4, Int
28)
  , (Integer
1957, Int
5, Int
18)
  , (Integer
1958, Int
5, Int
7)
  , (Integer
1959, Int
5, Int
25)
  , (Integer
1960, Int
5, Int
14)
  , (Integer
1961, Int
5, Int
3)
  , (Integer
1962, Int
5, Int
21)
  , (Integer
1963, Int
5, Int
11)
  , (Integer
1964, Int
4, Int
29)
  , (Integer
1965, Int
5, Int
19)
  , (Integer
1966, Int
5, Int
7)
  , (Integer
1967, Int
5, Int
27)
  , (Integer
1968, Int
5, Int
15)
  , (Integer
1969, Int
5, Int
5)
  , (Integer
1970, Int
5, Int
23)
  , (Integer
1971, Int
5, Int
12)
  , (Integer
1972, Int
5, Int
1)
  , (Integer
1973, Int
5, Int
19)
  , (Integer
1974, Int
5, Int
9)
  , (Integer
1975, Int
4, Int
28)
  , (Integer
1976, Int
5, Int
17)
  , (Integer
1977, Int
5, Int
5)
  , (Integer
1978, Int
5, Int
24)
  , (Integer
1979, Int
5, Int
14)
  , (Integer
1980, Int
5, Int
3)
  , (Integer
1981, Int
5, Int
21)
  , (Integer
1982, Int
5, Int
10)
  , (Integer
1983, Int
4, Int
30)
  , (Integer
1984, Int
5, Int
19)
  , (Integer
1985, Int
5, Int
8)
  , (Integer
1986, Int
5, Int
26)
  , (Integer
1987, Int
5, Int
16)
  , (Integer
1988, Int
5, Int
4)
  , (Integer
1989, Int
5, Int
22)
  , (Integer
1990, Int
5, Int
12)
  , (Integer
1991, Int
5, Int
1)
  , (Integer
1992, Int
5, Int
20)
  , (Integer
1993, Int
5, Int
8)
  , (Integer
1994, Int
4, Int
28)
  , (Integer
1995, Int
5, Int
17)
  , (Integer
1996, Int
5, Int
6)
  , (Integer
1997, Int
5, Int
24)
  , (Integer
1998, Int
5, Int
13)
  , (Integer
1999, Int
5, Int
3)
  , (Integer
2000, Int
5, Int
22)
  , (Integer
2001, Int
5, Int
10)
  , (Integer
2002, Int
4, Int
29)
  , (Integer
2003, Int
5, Int
19)
  , (Integer
2004, Int
5, Int
8)
  , (Integer
2005, Int
5, Int
26)
  , (Integer
2006, Int
5, Int
15)
  , (Integer
2007, Int
5, Int
5)
  , (Integer
2008, Int
5, Int
22)
  , (Integer
2009, Int
5, Int
11)
  , (Integer
2010, Int
5, Int
1)
  , (Integer
2011, Int
5, Int
21)
  , (Integer
2012, Int
5, Int
9)
  , (Integer
2013, Int
4, Int
27)
  , (Integer
2014, Int
5, Int
17)
  , (Integer
2015, Int
5, Int
6)
  , (Integer
2016, Int
5, Int
25)
  , (Integer
2017, Int
5, Int
13)
  , (Integer
2018, Int
5, Int
2)
  , (Integer
2019, Int
5, Int
22)
  , (Integer
2020, Int
5, Int
11)
  , (Integer
2021, Int
4, Int
29)
  , (Integer
2022, Int
5, Int
18)
  , (Integer
2023, Int
5, Int
8)
  , (Integer
2024, Int
5, Int
25)
  , (Integer
2025, Int
5, Int
15)
  , (Integer
2026, Int
5, Int
4)
  , (Integer
2027, Int
5, Int
24)
  , (Integer
2028, Int
5, Int
13)
  , (Integer
2029, Int
5, Int
2)
  , (Integer
2030, Int
5, Int
20)
  , (Integer
2031, Int
5, Int
10)
  , (Integer
2032, Int
4, Int
28)
  , (Integer
2033, Int
5, Int
16)
  , (Integer
2034, Int
5, Int
6)
  , (Integer
2035, Int
5, Int
26)
  , (Integer
2036, Int
5, Int
14)
  , (Integer
2037, Int
5, Int
2)
  , (Integer
2038, Int
5, Int
22)
  , (Integer
2039, Int
5, Int
11)
  , (Integer
2040, Int
4, Int
30)
  , (Integer
2041, Int
5, Int
18)
  , (Integer
2042, Int
5, Int
7)
  , (Integer
2043, Int
5, Int
27)
  , (Integer
2044, Int
5, Int
14)
  , (Integer
2045, Int
5, Int
4)
  , (Integer
2046, Int
5, Int
23)
  , (Integer
2047, Int
5, Int
13)
  , (Integer
2048, Int
4, Int
30)
  , (Integer
2049, Int
5, Int
19)
  , (Integer
2050, Int
5, Int
9)
  ]

orthodoxEaster :: TimeData
orthodoxEaster :: TimeData
orthodoxEaster = [TimeObject] -> TimeData
computedDays [TimeObject]
orthodoxEaster'

orthodoxEaster' :: [TimeObject]
orthodoxEaster' :: [TimeObject]
orthodoxEaster' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
4, Int
9)
  , (Integer
1951, Int
4, Int
29)
  , (Integer
1952, Int
4, Int
20)
  , (Integer
1953, Int
4, Int
5)
  , (Integer
1954, Int
4, Int
25)
  , (Integer
1955, Int
4, Int
17)
  , (Integer
1956, Int
5, Int
6)
  , (Integer
1957, Int
4, Int
21)
  , (Integer
1958, Int
4, Int
13)
  , (Integer
1959, Int
5, Int
3)
  , (Integer
1960, Int
4, Int
17)
  , (Integer
1961, Int
4, Int
9)
  , (Integer
1962, Int
4, Int
29)
  , (Integer
1963, Int
4, Int
14)
  , (Integer
1964, Int
5, Int
3)
  , (Integer
1965, Int
4, Int
25)
  , (Integer
1966, Int
4, Int
10)
  , (Integer
1967, Int
4, Int
30)
  , (Integer
1968, Int
4, Int
21)
  , (Integer
1969, Int
4, Int
13)
  , (Integer
1970, Int
4, Int
26)
  , (Integer
1971, Int
4, Int
18)
  , (Integer
1972, Int
4, Int
9)
  , (Integer
1973, Int
4, Int
29)
  , (Integer
1974, Int
4, Int
14)
  , (Integer
1975, Int
5, Int
4)
  , (Integer
1976, Int
4, Int
25)
  , (Integer
1977, Int
4, Int
10)
  , (Integer
1978, Int
4, Int
30)
  , (Integer
1979, Int
4, Int
22)
  , (Integer
1980, Int
4, Int
6)
  , (Integer
1981, Int
4, Int
26)
  , (Integer
1982, Int
4, Int
18)
  , (Integer
1983, Int
5, Int
8)
  , (Integer
1984, Int
4, Int
22)
  , (Integer
1985, Int
4, Int
14)
  , (Integer
1986, Int
5, Int
4)
  , (Integer
1987, Int
4, Int
19)
  , (Integer
1988, Int
4, Int
10)
  , (Integer
1989, Int
4, Int
30)
  , (Integer
1990, Int
4, Int
15)
  , (Integer
1991, Int
4, Int
7)
  , (Integer
1992, Int
4, Int
26)
  , (Integer
1993, Int
4, Int
18)
  , (Integer
1994, Int
5, Int
1)
  , (Integer
1995, Int
4, Int
23)
  , (Integer
1996, Int
4, Int
14)
  , (Integer
1997, Int
4, Int
27)
  , (Integer
1998, Int
4, Int
19)
  , (Integer
1999, Int
4, Int
11)
  , (Integer
2000, Int
4, Int
30)
  , (Integer
2001, Int
4, Int
15)
  , (Integer
2002, Int
5, Int
5)
  , (Integer
2003, Int
4, Int
27)
  , (Integer
2004, Int
4, Int
11)
  , (Integer
2005, Int
5, Int
1)
  , (Integer
2006, Int
4, Int
23)
  , (Integer
2007, Int
4, Int
8)
  , (Integer
2008, Int
4, Int
27)
  , (Integer
2009, Int
4, Int
19)
  , (Integer
2010, Int
4, Int
4)
  , (Integer
2011, Int
4, Int
24)
  , (Integer
2012, Int
4, Int
15)
  , (Integer
2013, Int
5, Int
5)
  , (Integer
2014, Int
4, Int
20)
  , (Integer
2015, Int
4, Int
12)
  , (Integer
2016, Int
5, Int
1)
  , (Integer
2017, Int
4, Int
16)
  , (Integer
2018, Int
4, Int
8)
  , (Integer
2019, Int
4, Int
28)
  , (Integer
2020, Int
4, Int
19)
  , (Integer
2021, Int
5, Int
2)
  , (Integer
2022, Int
4, Int
24)
  , (Integer
2023, Int
4, Int
16)
  , (Integer
2024, Int
5, Int
5)
  , (Integer
2025, Int
4, Int
20)
  , (Integer
2026, Int
4, Int
12)
  , (Integer
2027, Int
5, Int
2)
  , (Integer
2028, Int
4, Int
16)
  , (Integer
2029, Int
4, Int
8)
  , (Integer
2030, Int
4, Int
28)
  , (Integer
2031, Int
4, Int
13)
  , (Integer
2032, Int
5, Int
2)
  , (Integer
2033, Int
4, Int
24)
  , (Integer
2034, Int
4, Int
9)
  , (Integer
2035, Int
4, Int
29)
  , (Integer
2036, Int
4, Int
20)
  , (Integer
2037, Int
4, Int
5)
  , (Integer
2038, Int
4, Int
25)
  , (Integer
2039, Int
4, Int
17)
  , (Integer
2040, Int
5, Int
6)
  , (Integer
2041, Int
4, Int
21)
  , (Integer
2042, Int
4, Int
13)
  , (Integer
2043, Int
5, Int
3)
  , (Integer
2044, Int
4, Int
24)
  , (Integer
2045, Int
4, Int
9)
  , (Integer
2046, Int
4, Int
29)
  , (Integer
2047, Int
4, Int
21)
  , (Integer
2048, Int
4, Int
5)
  , (Integer
2049, Int
4, Int
25)
  , (Integer
2050, Int
4, Int
17)
  ]

passover :: TimeData
passover :: TimeData
passover = [TimeObject] -> TimeData
computedDays [TimeObject]
passover'

passover' :: [TimeObject]
passover' :: [TimeObject]
passover' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
4, Int
1)
  , (Integer
1951, Int
4, Int
20)
  , (Integer
1952, Int
4, Int
9)
  , (Integer
1953, Int
3, Int
30)
  , (Integer
1954, Int
4, Int
17)
  , (Integer
1955, Int
4, Int
6)
  , (Integer
1956, Int
3, Int
26)
  , (Integer
1957, Int
4, Int
15)
  , (Integer
1958, Int
4, Int
4)
  , (Integer
1959, Int
4, Int
22)
  , (Integer
1960, Int
4, Int
11)
  , (Integer
1961, Int
3, Int
31)
  , (Integer
1962, Int
4, Int
18)
  , (Integer
1963, Int
4, Int
8)
  , (Integer
1964, Int
3, Int
27)
  , (Integer
1965, Int
4, Int
16)
  , (Integer
1966, Int
4, Int
4)
  , (Integer
1967, Int
4, Int
24)
  , (Integer
1968, Int
4, Int
12)
  , (Integer
1969, Int
4, Int
2)
  , (Integer
1970, Int
4, Int
20)
  , (Integer
1971, Int
4, Int
9)
  , (Integer
1972, Int
3, Int
29)
  , (Integer
1973, Int
4, Int
16)
  , (Integer
1974, Int
4, Int
6)
  , (Integer
1975, Int
3, Int
26)
  , (Integer
1976, Int
4, Int
14)
  , (Integer
1977, Int
4, Int
2)
  , (Integer
1978, Int
4, Int
21)
  , (Integer
1979, Int
4, Int
11)
  , (Integer
1980, Int
3, Int
31)
  , (Integer
1981, Int
4, Int
18)
  , (Integer
1982, Int
4, Int
7)
  , (Integer
1983, Int
3, Int
28)
  , (Integer
1984, Int
4, Int
16)
  , (Integer
1985, Int
4, Int
5)
  , (Integer
1986, Int
4, Int
23)
  , (Integer
1987, Int
4, Int
13)
  , (Integer
1988, Int
4, Int
1)
  , (Integer
1989, Int
4, Int
19)
  , (Integer
1990, Int
4, Int
9)
  , (Integer
1991, Int
3, Int
29)
  , (Integer
1992, Int
4, Int
17)
  , (Integer
1993, Int
4, Int
5)
  , (Integer
1994, Int
3, Int
26)
  , (Integer
1995, Int
4, Int
14)
  , (Integer
1996, Int
4, Int
3)
  , (Integer
1997, Int
4, Int
21)
  , (Integer
1998, Int
4, Int
10)
  , (Integer
1999, Int
3, Int
31)
  , (Integer
2000, Int
4, Int
19)
  , (Integer
2001, Int
4, Int
7)
  , (Integer
2002, Int
3, Int
27)
  , (Integer
2003, Int
4, Int
16)
  , (Integer
2004, Int
4, Int
5)
  , (Integer
2005, Int
4, Int
23)
  , (Integer
2006, Int
4, Int
12)
  , (Integer
2007, Int
4, Int
2)
  , (Integer
2008, Int
4, Int
19)
  , (Integer
2009, Int
4, Int
8)
  , (Integer
2010, Int
3, Int
29)
  , (Integer
2011, Int
4, Int
18)
  , (Integer
2012, Int
4, Int
6)
  , (Integer
2013, Int
3, Int
25)
  , (Integer
2014, Int
4, Int
14)
  , (Integer
2015, Int
4, Int
3)
  , (Integer
2016, Int
4, Int
22)
  , (Integer
2017, Int
4, Int
10)
  , (Integer
2018, Int
3, Int
30)
  , (Integer
2019, Int
4, Int
19)
  , (Integer
2020, Int
4, Int
8)
  , (Integer
2021, Int
3, Int
27)
  , (Integer
2022, Int
4, Int
15)
  , (Integer
2023, Int
4, Int
5)
  , (Integer
2024, Int
4, Int
22)
  , (Integer
2025, Int
4, Int
12)
  , (Integer
2026, Int
4, Int
1)
  , (Integer
2027, Int
4, Int
21)
  , (Integer
2028, Int
4, Int
10)
  , (Integer
2029, Int
3, Int
30)
  , (Integer
2030, Int
4, Int
17)
  , (Integer
2031, Int
4, Int
7)
  , (Integer
2032, Int
3, Int
26)
  , (Integer
2033, Int
4, Int
13)
  , (Integer
2034, Int
4, Int
3)
  , (Integer
2035, Int
4, Int
23)
  , (Integer
2036, Int
4, Int
11)
  , (Integer
2037, Int
3, Int
30)
  , (Integer
2038, Int
4, Int
19)
  , (Integer
2039, Int
4, Int
8)
  , (Integer
2040, Int
3, Int
28)
  , (Integer
2041, Int
4, Int
15)
  , (Integer
2042, Int
4, Int
4)
  , (Integer
2043, Int
4, Int
24)
  , (Integer
2044, Int
4, Int
11)
  , (Integer
2045, Int
4, Int
1)
  , (Integer
2046, Int
4, Int
20)
  , (Integer
2047, Int
4, Int
10)
  , (Integer
2048, Int
3, Int
28)
  , (Integer
2049, Int
4, Int
16)
  , (Integer
2050, Int
4, Int
6)
  ]

roshHashana :: TimeData
roshHashana :: TimeData
roshHashana = [TimeObject] -> TimeData
computedDays [TimeObject]
roshHashana'

roshHashana' :: [TimeObject]
roshHashana' :: [TimeObject]
roshHashana' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
9, Int
11)
  , (Integer
1951, Int
9, Int
30)
  , (Integer
1952, Int
9, Int
19)
  , (Integer
1953, Int
9, Int
9)
  , (Integer
1954, Int
9, Int
27)
  , (Integer
1955, Int
9, Int
16)
  , (Integer
1956, Int
9, Int
5)
  , (Integer
1957, Int
9, Int
25)
  , (Integer
1958, Int
9, Int
14)
  , (Integer
1959, Int
10, Int
2)
  , (Integer
1960, Int
9, Int
21)
  , (Integer
1961, Int
9, Int
10)
  , (Integer
1962, Int
9, Int
28)
  , (Integer
1963, Int
9, Int
18)
  , (Integer
1964, Int
9, Int
6)
  , (Integer
1965, Int
9, Int
26)
  , (Integer
1966, Int
9, Int
14)
  , (Integer
1967, Int
10, Int
4)
  , (Integer
1968, Int
9, Int
22)
  , (Integer
1969, Int
9, Int
12)
  , (Integer
1970, Int
9, Int
30)
  , (Integer
1971, Int
9, Int
19)
  , (Integer
1972, Int
9, Int
8)
  , (Integer
1973, Int
9, Int
26)
  , (Integer
1974, Int
9, Int
16)
  , (Integer
1975, Int
9, Int
5)
  , (Integer
1976, Int
9, Int
24)
  , (Integer
1977, Int
9, Int
12)
  , (Integer
1978, Int
10, Int
1)
  , (Integer
1979, Int
9, Int
21)
  , (Integer
1980, Int
9, Int
10)
  , (Integer
1981, Int
9, Int
28)
  , (Integer
1982, Int
9, Int
17)
  , (Integer
1983, Int
9, Int
7)
  , (Integer
1984, Int
9, Int
26)
  , (Integer
1985, Int
9, Int
15)
  , (Integer
1986, Int
10, Int
3)
  , (Integer
1987, Int
9, Int
23)
  , (Integer
1988, Int
9, Int
11)
  , (Integer
1989, Int
9, Int
29)
  , (Integer
1990, Int
9, Int
19)
  , (Integer
1991, Int
9, Int
8)
  , (Integer
1992, Int
9, Int
27)
  , (Integer
1993, Int
9, Int
15)
  , (Integer
1994, Int
9, Int
5)
  , (Integer
1995, Int
9, Int
24)
  , (Integer
1996, Int
9, Int
13)
  , (Integer
1997, Int
10, Int
1)
  , (Integer
1998, Int
9, Int
20)
  , (Integer
1999, Int
9, Int
10)
  , (Integer
2000, Int
9, Int
29)
  , (Integer
2001, Int
9, Int
17)
  , (Integer
2002, Int
9, Int
6)
  , (Integer
2003, Int
9, Int
26)
  , (Integer
2004, Int
9, Int
15)
  , (Integer
2005, Int
10, Int
3)
  , (Integer
2006, Int
9, Int
22)
  , (Integer
2007, Int
9, Int
12)
  , (Integer
2008, Int
9, Int
29)
  , (Integer
2009, Int
9, Int
18)
  , (Integer
2010, Int
9, Int
8)
  , (Integer
2011, Int
9, Int
28)
  , (Integer
2012, Int
9, Int
18)
  , (Integer
2013, Int
9, Int
4)
  , (Integer
2014, Int
9, Int
24)
  , (Integer
2015, Int
9, Int
13)
  , (Integer
2016, Int
10, Int
2)
  , (Integer
2017, Int
9, Int
20)
  , (Integer
2018, Int
9, Int
9)
  , (Integer
2019, Int
9, Int
29)
  , (Integer
2020, Int
9, Int
18)
  , (Integer
2021, Int
9, Int
6)
  , (Integer
2022, Int
9, Int
25)
  , (Integer
2023, Int
9, Int
15)
  , (Integer
2024, Int
10, Int
2)
  , (Integer
2025, Int
9, Int
22)
  , (Integer
2026, Int
9, Int
11)
  , (Integer
2027, Int
10, Int
1)
  , (Integer
2028, Int
9, Int
20)
  , (Integer
2029, Int
9, Int
9)
  , (Integer
2030, Int
9, Int
27)
  , (Integer
2031, Int
9, Int
17)
  , (Integer
2032, Int
9, Int
5)
  , (Integer
2033, Int
9, Int
23)
  , (Integer
2034, Int
9, Int
13)
  , (Integer
2035, Int
10, Int
3)
  , (Integer
2036, Int
9, Int
21)
  , (Integer
2037, Int
9, Int
9)
  , (Integer
2038, Int
9, Int
29)
  , (Integer
2039, Int
9, Int
18)
  , (Integer
2040, Int
9, Int
7)
  , (Integer
2041, Int
9, Int
25)
  , (Integer
2042, Int
9, Int
14)
  , (Integer
2043, Int
10, Int
4)
  , (Integer
2044, Int
9, Int
21)
  , (Integer
2045, Int
9, Int
11)
  , (Integer
2046, Int
9, Int
30)
  , (Integer
2047, Int
9, Int
20)
  , (Integer
2048, Int
9, Int
7)
  , (Integer
2049, Int
9, Int
26)
  , (Integer
2050, Int
9, Int
16)
  ]

tishaBAv :: TimeData
tishaBAv :: TimeData
tishaBAv = [TimeObject] -> TimeData
computedDays [TimeObject]
tishaBAv'

tishaBAv' :: [TimeObject]
tishaBAv' :: [TimeObject]
tishaBAv' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
7, Int
22)
  , (Integer
1951, Int
8, Int
11)
  , (Integer
1952, Int
7, Int
30)
  , (Integer
1953, Int
7, Int
20)
  , (Integer
1954, Int
8, Int
7)
  , (Integer
1955, Int
7, Int
27)
  , (Integer
1956, Int
7, Int
16)
  , (Integer
1957, Int
8, Int
5)
  , (Integer
1958, Int
7, Int
26)
  , (Integer
1959, Int
8, Int
12)
  , (Integer
1960, Int
8, Int
1)
  , (Integer
1961, Int
7, Int
22)
  , (Integer
1962, Int
8, Int
8)
  , (Integer
1963, Int
7, Int
29)
  , (Integer
1964, Int
7, Int
18)
  , (Integer
1965, Int
8, Int
7)
  , (Integer
1966, Int
7, Int
25)
  , (Integer
1967, Int
8, Int
14)
  , (Integer
1968, Int
8, Int
3)
  , (Integer
1969, Int
7, Int
23)
  , (Integer
1970, Int
8, Int
10)
  , (Integer
1971, Int
7, Int
31)
  , (Integer
1972, Int
7, Int
19)
  , (Integer
1973, Int
8, Int
6)
  , (Integer
1974, Int
7, Int
27)
  , (Integer
1975, Int
7, Int
16)
  , (Integer
1976, Int
8, Int
4)
  , (Integer
1977, Int
7, Int
23)
  , (Integer
1978, Int
8, Int
12)
  , (Integer
1979, Int
8, Int
1)
  , (Integer
1980, Int
7, Int
21)
  , (Integer
1981, Int
8, Int
8)
  , (Integer
1982, Int
7, Int
28)
  , (Integer
1983, Int
7, Int
18)
  , (Integer
1984, Int
8, Int
6)
  , (Integer
1985, Int
7, Int
27)
  , (Integer
1986, Int
8, Int
13)
  , (Integer
1987, Int
8, Int
3)
  , (Integer
1988, Int
7, Int
23)
  , (Integer
1989, Int
8, Int
9)
  , (Integer
1990, Int
7, Int
30)
  , (Integer
1991, Int
7, Int
20)
  , (Integer
1992, Int
8, Int
8)
  , (Integer
1993, Int
7, Int
26)
  , (Integer
1994, Int
7, Int
16)
  , (Integer
1995, Int
8, Int
5)
  , (Integer
1996, Int
7, Int
24)
  , (Integer
1997, Int
8, Int
11)
  , (Integer
1998, Int
8, Int
1)
  , (Integer
1999, Int
7, Int
21)
  , (Integer
2000, Int
8, Int
9)
  , (Integer
2001, Int
7, Int
28)
  , (Integer
2002, Int
7, Int
17)
  , (Integer
2003, Int
8, Int
6)
  , (Integer
2004, Int
7, Int
26)
  , (Integer
2005, Int
8, Int
13)
  , (Integer
2006, Int
8, Int
2)
  , (Integer
2007, Int
7, Int
23)
  , (Integer
2008, Int
8, Int
9)
  , (Integer
2009, Int
7, Int
29)
  , (Integer
2010, Int
7, Int
19)
  , (Integer
2011, Int
8, Int
8)
  , (Integer
2012, Int
7, Int
28)
  , (Integer
2013, Int
7, Int
15)
  , (Integer
2014, Int
8, Int
4)
  , (Integer
2015, Int
7, Int
25)
  , (Integer
2016, Int
8, Int
13)
  , (Integer
2017, Int
7, Int
31)
  , (Integer
2018, Int
7, Int
21)
  , (Integer
2019, Int
8, Int
10)
  , (Integer
2020, Int
7, Int
29)
  , (Integer
2021, Int
7, Int
17)
  , (Integer
2022, Int
8, Int
6)
  , (Integer
2023, Int
7, Int
26)
  , (Integer
2024, Int
8, Int
12)
  , (Integer
2025, Int
8, Int
2)
  , (Integer
2026, Int
7, Int
22)
  , (Integer
2027, Int
8, Int
11)
  , (Integer
2028, Int
7, Int
31)
  , (Integer
2029, Int
7, Int
21)
  , (Integer
2030, Int
8, Int
7)
  , (Integer
2031, Int
7, Int
28)
  , (Integer
2032, Int
7, Int
17)
  , (Integer
2033, Int
8, Int
3)
  , (Integer
2034, Int
7, Int
24)
  , (Integer
2035, Int
8, Int
13)
  , (Integer
2036, Int
8, Int
2)
  , (Integer
2037, Int
7, Int
20)
  , (Integer
2038, Int
8, Int
9)
  , (Integer
2039, Int
7, Int
30)
  , (Integer
2040, Int
7, Int
18)
  , (Integer
2041, Int
8, Int
5)
  , (Integer
2042, Int
7, Int
26)
  , (Integer
2043, Int
8, Int
15)
  , (Integer
2044, Int
8, Int
1)
  , (Integer
2045, Int
7, Int
22)
  , (Integer
2046, Int
8, Int
11)
  , (Integer
2047, Int
7, Int
31)
  , (Integer
2048, Int
7, Int
18)
  , (Integer
2049, Int
8, Int
7)
  , (Integer
2050, Int
7, Int
27)
  ]

yomHaatzmaut :: TimeData
yomHaatzmaut :: TimeData
yomHaatzmaut = [TimeObject] -> TimeData
computedDays [TimeObject]
yomHaatzmaut'

yomHaatzmaut' :: [TimeObject]
yomHaatzmaut' :: [TimeObject]
yomHaatzmaut' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
4, Int
19)
  , (Integer
1951, Int
5, Int
9)
  , (Integer
1952, Int
4, Int
29)
  , (Integer
1953, Int
4, Int
19)
  , (Integer
1954, Int
5, Int
5)
  , (Integer
1955, Int
4, Int
26)
  , (Integer
1956, Int
4, Int
15)
  , (Integer
1957, Int
5, Int
5)
  , (Integer
1958, Int
4, Int
23)
  , (Integer
1959, Int
5, Int
12)
  , (Integer
1960, Int
5, Int
1)
  , (Integer
1961, Int
4, Int
19)
  , (Integer
1962, Int
5, Int
8)
  , (Integer
1963, Int
4, Int
28)
  , (Integer
1964, Int
4, Int
15)
  , (Integer
1965, Int
5, Int
5)
  , (Integer
1966, Int
4, Int
24)
  , (Integer
1967, Int
5, Int
14)
  , (Integer
1968, Int
5, Int
1)
  , (Integer
1969, Int
4, Int
22)
  , (Integer
1970, Int
5, Int
10)
  , (Integer
1971, Int
4, Int
28)
  , (Integer
1972, Int
4, Int
18)
  , (Integer
1973, Int
5, Int
6)
  , (Integer
1974, Int
4, Int
24)
  , (Integer
1975, Int
4, Int
15)
  , (Integer
1976, Int
5, Int
4)
  , (Integer
1977, Int
4, Int
20)
  , (Integer
1978, Int
5, Int
10)
  , (Integer
1979, Int
5, Int
1)
  , (Integer
1980, Int
4, Int
20)
  , (Integer
1981, Int
5, Int
6)
  , (Integer
1982, Int
4, Int
27)
  , (Integer
1983, Int
4, Int
17)
  , (Integer
1984, Int
5, Int
6)
  , (Integer
1985, Int
4, Int
24)
  , (Integer
1986, Int
5, Int
13)
  , (Integer
1987, Int
5, Int
3)
  , (Integer
1988, Int
4, Int
20)
  , (Integer
1989, Int
5, Int
9)
  , (Integer
1990, Int
4, Int
29)
  , (Integer
1991, Int
4, Int
17)
  , (Integer
1992, Int
5, Int
6)
  , (Integer
1993, Int
4, Int
25)
  , (Integer
1994, Int
4, Int
13)
  , (Integer
1995, Int
5, Int
3)
  , (Integer
1996, Int
4, Int
23)
  , (Integer
1997, Int
5, Int
11)
  , (Integer
1998, Int
4, Int
29)
  , (Integer
1999, Int
4, Int
20)
  , (Integer
2000, Int
5, Int
9)
  , (Integer
2001, Int
4, Int
25)
  , (Integer
2002, Int
4, Int
16)
  , (Integer
2003, Int
5, Int
6)
  , (Integer
2004, Int
4, Int
26)
  , (Integer
2005, Int
5, Int
11)
  , (Integer
2006, Int
5, Int
2)
  , (Integer
2007, Int
4, Int
23)
  , (Integer
2008, Int
5, Int
7)
  , (Integer
2009, Int
4, Int
28)
  , (Integer
2010, Int
4, Int
19)
  , (Integer
2011, Int
5, Int
9)
  , (Integer
2012, Int
4, Int
25)
  , (Integer
2013, Int
4, Int
15)
  , (Integer
2014, Int
5, Int
5)
  , (Integer
2015, Int
4, Int
22)
  , (Integer
2016, Int
5, Int
11)
  , (Integer
2017, Int
5, Int
1)
  , (Integer
2018, Int
4, Int
18)
  , (Integer
2019, Int
5, Int
8)
  , (Integer
2020, Int
4, Int
28)
  , (Integer
2021, Int
4, Int
14)
  , (Integer
2022, Int
5, Int
4)
  , (Integer
2023, Int
4, Int
25)
  , (Integer
2024, Int
5, Int
13)
  , (Integer
2025, Int
4, Int
30)
  , (Integer
2026, Int
4, Int
21)
  , (Integer
2027, Int
5, Int
11)
  , (Integer
2028, Int
5, Int
1)
  , (Integer
2029, Int
4, Int
18)
  , (Integer
2030, Int
5, Int
7)
  , (Integer
2031, Int
4, Int
28)
  , (Integer
2032, Int
4, Int
14)
  , (Integer
2033, Int
5, Int
3)
  , (Integer
2034, Int
4, Int
24)
  , (Integer
2035, Int
5, Int
14)
  , (Integer
2036, Int
4, Int
30)
  , (Integer
2037, Int
4, Int
20)
  , (Integer
2038, Int
5, Int
10)
  , (Integer
2039, Int
4, Int
27)
  , (Integer
2040, Int
4, Int
17)
  , (Integer
2041, Int
5, Int
6)
  , (Integer
2042, Int
4, Int
23)
  , (Integer
2043, Int
5, Int
13)
  , (Integer
2044, Int
5, Int
2)
  , (Integer
2045, Int
4, Int
19)
  , (Integer
2046, Int
5, Int
9)
  , (Integer
2047, Int
4, Int
30)
  , (Integer
2048, Int
4, Int
15)
  , (Integer
2049, Int
5, Int
5)
  , (Integer
2050, Int
4, Int
26)
  ]

eidalAdha :: TimeData
eidalAdha :: TimeData
eidalAdha = [TimeObject] -> TimeData
computedDays [TimeObject]
eidalAdha'

eidalAdha' :: [TimeObject]
eidalAdha' :: [TimeObject]
eidalAdha' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
9, Int
23)
  , (Integer
1951, Int
9, Int
12)
  , (Integer
1952, Int
8, Int
31)
  , (Integer
1953, Int
8, Int
20)
  , (Integer
1954, Int
8, Int
9)
  , (Integer
1955, Int
7, Int
30)
  , (Integer
1956, Int
7, Int
19)
  , (Integer
1957, Int
7, Int
8)
  , (Integer
1958, Int
6, Int
27)
  , (Integer
1959, Int
6, Int
17)
  , (Integer
1960, Int
6, Int
4)
  , (Integer
1961, Int
5, Int
25)
  , (Integer
1962, Int
5, Int
14)
  , (Integer
1963, Int
5, Int
3)
  , (Integer
1964, Int
4, Int
22)
  , (Integer
1965, Int
4, Int
11)
  , (Integer
1966, Int
4, Int
1)
  , (Integer
1967, Int
3, Int
21)
  , (Integer
1968, Int
3, Int
9)
  , (Integer
1969, Int
2, Int
27)
  , (Integer
1970, Int
2, Int
16)
  , (Integer
1971, Int
2, Int
6)
  , (Integer
1972, Int
1, Int
26)
  , (Integer
1973, Int
1, Int
14)
  , (Integer
1974, Int
1, Int
3)
  , (Integer
1974, Int
12, Int
24)
  , (Integer
1975, Int
12, Int
13)
  , (Integer
1976, Int
12, Int
1)
  , (Integer
1977, Int
11, Int
21)
  , (Integer
1978, Int
11, Int
10)
  , (Integer
1979, Int
10, Int
31)
  , (Integer
1980, Int
10, Int
19)
  , (Integer
1981, Int
10, Int
8)
  , (Integer
1982, Int
9, Int
27)
  , (Integer
1983, Int
9, Int
17)
  , (Integer
1984, Int
9, Int
5)
  , (Integer
1985, Int
8, Int
26)
  , (Integer
1986, Int
8, Int
15)
  , (Integer
1987, Int
8, Int
4)
  , (Integer
1988, Int
7, Int
23)
  , (Integer
1989, Int
7, Int
13)
  , (Integer
1990, Int
7, Int
2)
  , (Integer
1991, Int
6, Int
22)
  , (Integer
1992, Int
6, Int
11)
  , (Integer
1993, Int
5, Int
31)
  , (Integer
1994, Int
5, Int
20)
  , (Integer
1995, Int
5, Int
9)
  , (Integer
1996, Int
4, Int
27)
  , (Integer
1997, Int
4, Int
17)
  , (Integer
1998, Int
4, Int
7)
  , (Integer
1999, Int
3, Int
27)
  , (Integer
2000, Int
3, Int
16)
  , (Integer
2001, Int
3, Int
5)
  , (Integer
2002, Int
2, Int
22)
  , (Integer
2003, Int
2, Int
11)
  , (Integer
2004, Int
2, Int
1)
  , (Integer
2005, Int
1, Int
21)
  , (Integer
2006, Int
1, Int
10)
  , (Integer
2006, Int
12, Int
31)
  , (Integer
2007, Int
12, Int
20)
  , (Integer
2008, Int
12, Int
8)
  , (Integer
2009, Int
11, Int
27)
  , (Integer
2011, Int
11, Int
6)
  , (Integer
2012, Int
10, Int
26)
  , (Integer
2013, Int
10, Int
15)
  , (Integer
2014, Int
10, Int
4)
  , (Integer
2015, Int
8, Int
23)
  , (Integer
2016, Int
9, Int
11)
  , (Integer
2017, Int
9, Int
1)
  , (Integer
2018, Int
8, Int
21)
  , (Integer
2019, Int
8, Int
11)
  , (Integer
2020, Int
7, Int
31)
  , (Integer
2021, Int
7, Int
20)
  , (Integer
2022, Int
7, Int
9)
  , (Integer
2023, Int
6, Int
28)
  , (Integer
2024, Int
6, Int
16)
  , (Integer
2025, Int
6, Int
6)
  , (Integer
2026, Int
5, Int
27)
  , (Integer
2027, Int
5, Int
16)
  , (Integer
2028, Int
5, Int
5)
  , (Integer
2029, Int
4, Int
24)
  ]

eidalFitr :: TimeData
eidalFitr :: TimeData
eidalFitr = [TimeObject] -> TimeData
computedDays [TimeObject]
eidalFitr'

eidalFitr' :: [TimeObject]
eidalFitr' :: [TimeObject]
eidalFitr' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
7, Int
16)
  , (Integer
1951, Int
7, Int
6)
  , (Integer
1952, Int
6, Int
23)
  , (Integer
1953, Int
6, Int
13)
  , (Integer
1954, Int
6, Int
2)
  , (Integer
1955, Int
5, Int
23)
  , (Integer
1956, Int
5, Int
11)
  , (Integer
1957, Int
5, Int
1)
  , (Integer
1958, Int
4, Int
20)
  , (Integer
1959, Int
4, Int
10)
  , (Integer
1960, Int
3, Int
28)
  , (Integer
1961, Int
3, Int
18)
  , (Integer
1962, Int
3, Int
7)
  , (Integer
1963, Int
2, Int
24)
  , (Integer
1964, Int
2, Int
14)
  , (Integer
1965, Int
2, Int
2)
  , (Integer
1966, Int
1, Int
22)
  , (Integer
1967, Int
1, Int
12)
  , (Integer
1968, Int
1, Int
1)
  , (Integer
1968, Int
12, Int
21)
  , (Integer
1969, Int
12, Int
10)
  , (Integer
1970, Int
11, Int
30)
  , (Integer
1971, Int
11, Int
19)
  , (Integer
1972, Int
11, Int
7)
  , (Integer
1973, Int
10, Int
27)
  , (Integer
1974, Int
10, Int
16)
  , (Integer
1975, Int
10, Int
6)
  , (Integer
1976, Int
9, Int
24)
  , (Integer
1977, Int
9, Int
14)
  , (Integer
1978, Int
9, Int
3)
  , (Integer
1979, Int
8, Int
23)
  , (Integer
1980, Int
8, Int
12)
  , (Integer
1981, Int
8, Int
1)
  , (Integer
1982, Int
7, Int
21)
  , (Integer
1983, Int
7, Int
11)
  , (Integer
1984, Int
6, Int
30)
  , (Integer
1985, Int
6, Int
19)
  , (Integer
1986, Int
6, Int
8)
  , (Integer
1987, Int
5, Int
28)
  , (Integer
1988, Int
5, Int
16)
  , (Integer
1989, Int
5, Int
6)
  , (Integer
1990, Int
4, Int
26)
  , (Integer
1991, Int
4, Int
15)
  , (Integer
1992, Int
4, Int
4)
  , (Integer
1993, Int
3, Int
24)
  , (Integer
1994, Int
3, Int
13)
  , (Integer
1995, Int
3, Int
2)
  , (Integer
1996, Int
2, Int
19)
  , (Integer
1997, Int
2, Int
8)
  , (Integer
1998, Int
1, Int
29)
  , (Integer
1999, Int
1, Int
18)
  , (Integer
2000, Int
1, Int
8)
  , (Integer
2000, Int
12, Int
27)
  , (Integer
2001, Int
12, Int
16)
  , (Integer
2002, Int
12, Int
5)
  , (Integer
2003, Int
11, Int
25)
  , (Integer
2004, Int
11, Int
14)
  , (Integer
2005, Int
11, Int
3)
  , (Integer
2006, Int
10, Int
23)
  , (Integer
2007, Int
10, Int
13)
  , (Integer
2008, Int
10, Int
1)
  , (Integer
2009, Int
9, Int
20)
  , (Integer
2010, Int
9, Int
10)
  , (Integer
2011, Int
8, Int
30)
  , (Integer
2012, Int
8, Int
19)
  , (Integer
2013, Int
8, Int
8)
  , (Integer
2014, Int
7, Int
28)
  , (Integer
2015, Int
7, Int
17)
  , (Integer
2016, Int
7, Int
6)
  , (Integer
2017, Int
6, Int
25)
  , (Integer
2018, Int
6, Int
15)
  , (Integer
2019, Int
6, Int
4)
  , (Integer
2020, Int
5, Int
24)
  , (Integer
2021, Int
5, Int
13)
  , (Integer
2022, Int
5, Int
2)
  , (Integer
2023, Int
4, Int
21)
  , (Integer
2024, Int
4, Int
10)
  , (Integer
2025, Int
3, Int
30)
  , (Integer
2026, Int
3, Int
20)
  , (Integer
2027, Int
3, Int
9)
  , (Integer
2028, Int
2, Int
26)
  , (Integer
2029, Int
2, Int
14)
  , (Integer
2030, Int
2, Int
05)
  , (Integer
2031, Int
1, Int
25)
  , (Integer
2032, Int
1, Int
14)
  , (Integer
2033, Int
1, Int
3)
  , (Integer
2033, Int
12, Int
23)
  , (Integer
2034, Int
12, Int
12)
  , (Integer
2035, Int
12, Int
2)
  , (Integer
2036, Int
11, Int
20)
  , (Integer
2037, Int
11, Int
10)
  , (Integer
2038, Int
10, Int
30)
  , (Integer
2039, Int
10, Int
19)
  , (Integer
2040, Int
10, Int
8)
  , (Integer
2041, Int
9, Int
27)
  , (Integer
2042, Int
9, Int
16)
  , (Integer
2043, Int
9, Int
6)
  , (Integer
2044, Int
8, Int
25)
  , (Integer
2045, Int
8, Int
15)
  , (Integer
2046, Int
8, Int
4)
  , (Integer
2047, Int
7, Int
24)
  , (Integer
2048, Int
7, Int
13)
  , (Integer
2049, Int
7, Int
2)
  , (Integer
2050, Int
6, Int
21)
  ]

rajab :: TimeData
rajab :: TimeData
rajab = [TimeObject] -> TimeData
computedDays [TimeObject]
rajab'

rajab' :: [TimeObject]
rajab' :: [TimeObject]
rajab' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1999, Int
10, Int
10)
  , (Integer
2000, Int
9, Int
28)
  , (Integer
2001, Int
9, Int
18)
  , (Integer
2002, Int
9, Int
8)
  , (Integer
2003, Int
8, Int
29)
  , (Integer
2004, Int
8, Int
17)
  , (Integer
2005, Int
8, Int
6)
  , (Integer
2006, Int
7, Int
26)
  , (Integer
2007, Int
7, Int
15)
  , (Integer
2008, Int
7, Int
4)
  , (Integer
2009, Int
6, Int
24)
  , (Integer
2010, Int
6, Int
13)
  , (Integer
2011, Int
6, Int
3)
  , (Integer
2012, Int
5, Int
22)
  , (Integer
2013, Int
5, Int
11)
  , (Integer
2014, Int
4, Int
30)
  , (Integer
2015, Int
4, Int
20)
  , (Integer
2016, Int
4, Int
8)
  , (Integer
2017, Int
3, Int
29)
  , (Integer
2018, Int
3, Int
18)
  , (Integer
2019, Int
3, Int
8)
  , (Integer
2020, Int
2, Int
25)
  , (Integer
2021, Int
2, Int
13)
  , (Integer
2022, Int
2, Int
2)
  , (Integer
2023, Int
1, Int
23)
  , (Integer
2024, Int
1, Int
13)
  , (Integer
2025, Int
1, Int
1)
  , (Integer
2025, Int
12, Int
21)
  , (Integer
2026, Int
12, Int
10)
  , (Integer
2027, Int
11, Int
29)
  , (Integer
2028, Int
11, Int
18)
  ]

muharram :: TimeData
muharram :: TimeData
muharram = [TimeObject] -> TimeData
computedDays [TimeObject]
muharram'

muharram' :: [TimeObject]
muharram' :: [TimeObject]
muharram' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1998, Int
4, Int
27)
  , (Integer
1999, Int
4, Int
17)
  , (Integer
2000, Int
4, Int
6)
  , (Integer
2001, Int
3, Int
26)
  , (Integer
2002, Int
3, Int
15)
  , (Integer
2003, Int
4, Int
4)
  , (Integer
2004, Int
2, Int
21)
  , (Integer
2005, Int
2, Int
10)
  , (Integer
2006, Int
1, Int
31)
  , (Integer
2007, Int
1, Int
20)
  , (Integer
2008, Int
1, Int
10)
  , (Integer
2009, Int
12, Int
18)
  , (Integer
2010, Int
12, Int
7)
  , (Integer
2011, Int
11, Int
26)
  , (Integer
2012, Int
11, Int
15)
  , (Integer
2013, Int
11, Int
4)
  , (Integer
2014, Int
10, Int
25)
  , (Integer
2015, Int
10, Int
14)
  , (Integer
2016, Int
10, Int
2)
  , (Integer
2017, Int
9, Int
21)
  , (Integer
2018, Int
9, Int
11)
  , (Integer
2019, Int
8, Int
31)
  , (Integer
2020, Int
8, Int
20)
  , (Integer
2021, Int
8, Int
9)
  , (Integer
2022, Int
7, Int
30)
  , (Integer
2023, Int
7, Int
19)
  , (Integer
2024, Int
7, Int
7)
  , (Integer
2025, Int
6, Int
26)
  , (Integer
2026, Int
6, Int
16)
  , (Integer
2027, Int
6, Int
6)
  , (Integer
2028, Int
5, Int
25)
  ]

ramadan :: TimeData
ramadan :: TimeData
ramadan = [TimeObject] -> TimeData
computedDays [TimeObject]
ramadan'

ramadan' :: [TimeObject]
ramadan' :: [TimeObject]
ramadan' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
6, Int
17)
  , (Integer
1951, Int
6, Int
6)
  , (Integer
1952, Int
5, Int
25)
  , (Integer
1953, Int
5, Int
14)
  , (Integer
1954, Int
5, Int
4)
  , (Integer
1955, Int
4, Int
24)
  , (Integer
1956, Int
4, Int
12)
  , (Integer
1957, Int
4, Int
1)
  , (Integer
1958, Int
3, Int
21)
  , (Integer
1959, Int
3, Int
11)
  , (Integer
1960, Int
2, Int
28)
  , (Integer
1961, Int
2, Int
16)
  , (Integer
1962, Int
2, Int
5)
  , (Integer
1963, Int
1, Int
26)
  , (Integer
1964, Int
1, Int
15)
  , (Integer
1965, Int
1, Int
3)
  , (Integer
1965, Int
12, Int
23)
  , (Integer
1966, Int
12, Int
13)
  , (Integer
1967, Int
12, Int
2)
  , (Integer
1968, Int
11, Int
21)
  , (Integer
1969, Int
11, Int
10)
  , (Integer
1970, Int
11, Int
1)
  , (Integer
1971, Int
10, Int
20)
  , (Integer
1972, Int
10, Int
8)
  , (Integer
1973, Int
9, Int
27)
  , (Integer
1974, Int
9, Int
17)
  , (Integer
1975, Int
9, Int
6)
  , (Integer
1976, Int
8, Int
26)
  , (Integer
1977, Int
8, Int
15)
  , (Integer
1978, Int
8, Int
5)
  , (Integer
1979, Int
7, Int
25)
  , (Integer
1980, Int
7, Int
13)
  , (Integer
1981, Int
7, Int
2)
  , (Integer
1982, Int
6, Int
22)
  , (Integer
1983, Int
6, Int
12)
  , (Integer
1984, Int
5, Int
31)
  , (Integer
1985, Int
5, Int
20)
  , (Integer
1986, Int
5, Int
9)
  , (Integer
1987, Int
4, Int
29)
  , (Integer
1988, Int
4, Int
17)
  , (Integer
1989, Int
4, Int
7)
  , (Integer
1990, Int
3, Int
27)
  , (Integer
1991, Int
3, Int
17)
  , (Integer
1992, Int
3, Int
5)
  , (Integer
1993, Int
2, Int
22)
  , (Integer
1994, Int
2, Int
11)
  , (Integer
1995, Int
1, Int
31)
  , (Integer
1996, Int
1, Int
21)
  , (Integer
1997, Int
1, Int
10)
  , (Integer
1997, Int
12, Int
30)
  , (Integer
1998, Int
12, Int
19)
  , (Integer
1999, Int
12, Int
9)
  , (Integer
2000, Int
11, Int
27)
  , (Integer
2001, Int
11, Int
16)
  , (Integer
2002, Int
11, Int
6)
  , (Integer
2003, Int
10, Int
26)
  , (Integer
2004, Int
10, Int
15)
  , (Integer
2005, Int
10, Int
4)
  , (Integer
2006, Int
9, Int
24)
  , (Integer
2007, Int
9, Int
13)
  , (Integer
2008, Int
9, Int
1)
  , (Integer
2009, Int
8, Int
22)
  , (Integer
2010, Int
8, Int
11)
  , (Integer
2011, Int
8, Int
1)
  , (Integer
2012, Int
7, Int
20)
  , (Integer
2013, Int
7, Int
9)
  , (Integer
2014, Int
6, Int
28)
  , (Integer
2015, Int
6, Int
18)
  , (Integer
2016, Int
6, Int
6)
  , (Integer
2017, Int
5, Int
27)
  , (Integer
2018, Int
5, Int
16)
  , (Integer
2019, Int
5, Int
6)
  , (Integer
2020, Int
4, Int
24)
  , (Integer
2021, Int
4, Int
13)
  , (Integer
2022, Int
4, Int
2)
  , (Integer
2023, Int
3, Int
23)
  , (Integer
2024, Int
3, Int
11)
  , (Integer
2025, Int
3, Int
1)
  , (Integer
2026, Int
2, Int
18)
  , (Integer
2027, Int
2, Int
8)
  , (Integer
2028, Int
1, Int
28)
  , (Integer
2029, Int
1, Int
16)
  , (Integer
2030, Int
1, Int
6)
  , (Integer
2030, Int
12, Int
26)
  , (Integer
2031, Int
12, Int
15)
  , (Integer
2032, Int
12, Int
4)
  , (Integer
2033, Int
11, Int
23)
  , (Integer
2034, Int
11, Int
12)
  , (Integer
2035, Int
11, Int
2)
  , (Integer
2036, Int
10, Int
21)
  , (Integer
2037, Int
10, Int
11)
  , (Integer
2038, Int
9, Int
30)
  , (Integer
2039, Int
9, Int
19)
  , (Integer
2040, Int
9, Int
8)
  , (Integer
2041, Int
8, Int
28)
  , (Integer
2042, Int
8, Int
17)
  , (Integer
2043, Int
8, Int
7)
  , (Integer
2044, Int
7, Int
26)
  , (Integer
2045, Int
7, Int
16)
  , (Integer
2046, Int
7, Int
5)
  , (Integer
2047, Int
6, Int
24)
  , (Integer
2048, Int
6, Int
13)
  , (Integer
2049, Int
6, Int
2)
  , (Integer
2050, Int
5, Int
22)
  ]

mawlid :: TimeData
mawlid :: TimeData
mawlid = [TimeObject] -> TimeData
computedDays [TimeObject]
mawlid'

mawlid' :: [TimeObject]
mawlid' :: [TimeObject]
mawlid' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
1, Int
1)
  , (Integer
1950, Int
12, Int
22)
  , (Integer
1951, Int
12, Int
11)
  , (Integer
1952, Int
11, Int
30)
  , (Integer
1953, Int
11, Int
19)
  , (Integer
1954, Int
11, Int
8)
  , (Integer
1955, Int
10, Int
29)
  , (Integer
1956, Int
10, Int
17)
  , (Integer
1957, Int
10, Int
6)
  , (Integer
1958, Int
9, Int
26)
  , (Integer
1959, Int
9, Int
15)
  , (Integer
1960, Int
9, Int
3)
  , (Integer
1961, Int
8, Int
23)
  , (Integer
1962, Int
8, Int
12)
  , (Integer
1963, Int
8, Int
2)
  , (Integer
1964, Int
7, Int
21)
  , (Integer
1965, Int
7, Int
10)
  , (Integer
1966, Int
7, Int
1)
  , (Integer
1967, Int
6, Int
19)
  , (Integer
1968, Int
6, Int
8)
  , (Integer
1969, Int
5, Int
28)
  , (Integer
1970, Int
5, Int
18)
  , (Integer
1971, Int
5, Int
7)
  , (Integer
1972, Int
4, Int
25)
  , (Integer
1973, Int
4, Int
15)
  , (Integer
1974, Int
4, Int
4)
  , (Integer
1975, Int
3, Int
24)
  , (Integer
1976, Int
3, Int
12)
  , (Integer
1977, Int
3, Int
2)
  , (Integer
1978, Int
2, Int
19)
  , (Integer
1979, Int
2, Int
9)
  , (Integer
1980, Int
1, Int
30)
  , (Integer
1981, Int
1, Int
18)
  , (Integer
1982, Int
1, Int
7)
  , (Integer
1982, Int
12, Int
27)
  , (Integer
1983, Int
12, Int
16)
  , (Integer
1984, Int
12, Int
4)
  , (Integer
1985, Int
11, Int
24)
  , (Integer
1986, Int
11, Int
14)
  , (Integer
1987, Int
11, Int
3)
  , (Integer
1988, Int
10, Int
22)
  , (Integer
1989, Int
10, Int
11)
  , (Integer
1990, Int
10, Int
1)
  , (Integer
1991, Int
9, Int
20)
  , (Integer
1992, Int
9, Int
9)
  , (Integer
1993, Int
8, Int
29)
  , (Integer
1994, Int
8, Int
19)
  , (Integer
1995, Int
8, Int
8)
  , (Integer
1996, Int
7, Int
27)
  , (Integer
1997, Int
7, Int
16)
  , (Integer
1998, Int
7, Int
6)
  , (Integer
1999, Int
6, Int
26)
  , (Integer
2000, Int
6, Int
14)
  , (Integer
2001, Int
6, Int
4)
  , (Integer
2002, Int
5, Int
24)
  , (Integer
2003, Int
5, Int
13)
  , (Integer
2004, Int
5, Int
1)
  , (Integer
2005, Int
4, Int
21)
  , (Integer
2006, Int
4, Int
10)
  , (Integer
2007, Int
3, Int
31)
  , (Integer
2008, Int
3, Int
20)
  , (Integer
2009, Int
3, Int
9)
  , (Integer
2010, Int
2, Int
26)
  , (Integer
2011, Int
2, Int
15)
  , (Integer
2012, Int
2, Int
4)
  , (Integer
2013, Int
1, Int
24)
  , (Integer
2014, Int
1, Int
13)
  , (Integer
2015, Int
1, Int
3)
  , (Integer
2015, Int
12, Int
23)
  , (Integer
2016, Int
12, Int
11)
  , (Integer
2017, Int
11, Int
30)
  , (Integer
2018, Int
11, Int
20)
  , (Integer
2019, Int
11, Int
9)
  , (Integer
2020, Int
10, Int
29)
  , (Integer
2021, Int
10, Int
18)
  , (Integer
2022, Int
10, Int
8)
  , (Integer
2023, Int
9, Int
27)
  , (Integer
2024, Int
9, Int
15)
  , (Integer
2025, Int
9, Int
4)
  , (Integer
2026, Int
8, Int
25)
  , (Integer
2027, Int
8, Int
14)
  , (Integer
2028, Int
8, Int
3)
  ]

tuBishvat :: TimeData
tuBishvat :: TimeData
tuBishvat = [TimeObject] -> TimeData
computedDays [TimeObject]
tuBishvat'

tuBishvat' :: [TimeObject]
tuBishvat' :: [TimeObject]
tuBishvat' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
2, Int
1)
  , (Integer
1951, Int
1, Int
21)
  , (Integer
1952, Int
2, Int
10)
  , (Integer
1953, Int
1, Int
30)
  , (Integer
1954, Int
1, Int
18)
  , (Integer
1955, Int
2, Int
6)
  , (Integer
1956, Int
1, Int
27)
  , (Integer
1957, Int
1, Int
16)
  , (Integer
1958, Int
2, Int
4)
  , (Integer
1959, Int
1, Int
23)
  , (Integer
1960, Int
2, Int
12)
  , (Integer
1961, Int
1, Int
31)
  , (Integer
1962, Int
1, Int
19)
  , (Integer
1963, Int
2, Int
8)
  , (Integer
1964, Int
1, Int
28)
  , (Integer
1965, Int
1, Int
17)
  , (Integer
1966, Int
2, Int
4)
  , (Integer
1967, Int
1, Int
25)
  , (Integer
1968, Int
2, Int
13)
  , (Integer
1969, Int
2, Int
2)
  , (Integer
1970, Int
1, Int
21)
  , (Integer
1971, Int
2, Int
9)
  , (Integer
1972, Int
1, Int
30)
  , (Integer
1973, Int
1, Int
17)
  , (Integer
1974, Int
2, Int
6)
  , (Integer
1975, Int
1, Int
26)
  , (Integer
1976, Int
1, Int
16)
  , (Integer
1977, Int
2, Int
2)
  , (Integer
1978, Int
1, Int
22)
  , (Integer
1979, Int
2, Int
11)
  , (Integer
1980, Int
2, Int
1)
  , (Integer
1981, Int
1, Int
19)
  , (Integer
1982, Int
2, Int
7)
  , (Integer
1983, Int
1, Int
28)
  , (Integer
1984, Int
1, Int
18)
  , (Integer
1985, Int
2, Int
5)
  , (Integer
1986, Int
1, Int
24)
  , (Integer
1987, Int
2, Int
13)
  , (Integer
1988, Int
2, Int
2)
  , (Integer
1989, Int
1, Int
20)
  , (Integer
1990, Int
2, Int
9)
  , (Integer
1991, Int
1, Int
29)
  , (Integer
1992, Int
1, Int
19)
  , (Integer
1993, Int
2, Int
5)
  , (Integer
1994, Int
1, Int
26)
  , (Integer
1995, Int
1, Int
15)
  , (Integer
1996, Int
2, Int
4)
  , (Integer
1997, Int
1, Int
22)
  , (Integer
1998, Int
2, Int
10)
  , (Integer
1999, Int
1, Int
31)
  , (Integer
2000, Int
1, Int
21)
  , (Integer
2001, Int
2, Int
7)
  , (Integer
2002, Int
1, Int
27)
  , (Integer
2003, Int
1, Int
17)
  , (Integer
2004, Int
2, Int
6)
  , (Integer
2005, Int
1, Int
24)
  , (Integer
2006, Int
2, Int
12)
  , (Integer
2007, Int
2, Int
2)
  , (Integer
2008, Int
1, Int
21)
  , (Integer
2009, Int
2, Int
8)
  , (Integer
2010, Int
1, Int
29)
  , (Integer
2011, Int
1, Int
19)
  , (Integer
2012, Int
2, Int
7)
  , (Integer
2013, Int
1, Int
25)
  , (Integer
2014, Int
1, Int
15)
  , (Integer
2015, Int
2, Int
3)
  , (Integer
2016, Int
1, Int
24)
  , (Integer
2017, Int
2, Int
10)
  , (Integer
2018, Int
1, Int
30)
  , (Integer
2019, Int
1, Int
20)
  , (Integer
2020, Int
2, Int
9)
  , (Integer
2021, Int
1, Int
27)
  , (Integer
2022, Int
1, Int
16)
  , (Integer
2023, Int
2, Int
5)
  , (Integer
2024, Int
1, Int
24)
  , (Integer
2025, Int
2, Int
12)
  , (Integer
2026, Int
2, Int
1)
  , (Integer
2027, Int
1, Int
22)
  , (Integer
2028, Int
2, Int
11)
  , (Integer
2029, Int
1, Int
30)
  , (Integer
2030, Int
1, Int
18)
  , (Integer
2031, Int
2, Int
7)
  , (Integer
2032, Int
1, Int
27)
  , (Integer
2033, Int
1, Int
14)
  , (Integer
2034, Int
2, Int
3)
  , (Integer
2035, Int
1, Int
24)
  , (Integer
2036, Int
2, Int
12)
  , (Integer
2037, Int
1, Int
30)
  , (Integer
2038, Int
1, Int
20)
  , (Integer
2039, Int
2, Int
8)
  , (Integer
2040, Int
1, Int
29)
  , (Integer
2041, Int
1, Int
16)
  , (Integer
2042, Int
2, Int
4)
  , (Integer
2043, Int
1, Int
25)
  , (Integer
2044, Int
2, Int
12)
  , (Integer
2045, Int
2, Int
1)
  , (Integer
2046, Int
1, Int
21)
  , (Integer
2047, Int
2, Int
10)
  , (Integer
2048, Int
1, Int
29)
  , (Integer
2049, Int
1, Int
17)
  , (Integer
2050, Int
2, Int
6)
  ]

dhanteras :: TimeData
dhanteras :: TimeData
dhanteras = [TimeObject] -> TimeData
computedDays [TimeObject]
dhanteras'

dhanteras' :: [TimeObject]
dhanteras' :: [TimeObject]
dhanteras' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
10, Int
24)
  , (Integer
2001, Int
11, Int
12)
  , (Integer
2002, Int
11, Int
2)
  , (Integer
2003, Int
10, Int
23)
  , (Integer
2004, Int
11, Int
10)
  , (Integer
2005, Int
10, Int
30)
  , (Integer
2006, Int
10, Int
19)
  , (Integer
2007, Int
11, Int
7)
  , (Integer
2008, Int
10, Int
26)
  , (Integer
2009, Int
10, Int
15)
  , (Integer
2010, Int
11, Int
3)
  , (Integer
2011, Int
10, Int
24)
  , (Integer
2012, Int
11, Int
11)
  , (Integer
2013, Int
11, Int
1)
  , (Integer
2014, Int
10, Int
21)
  , (Integer
2015, Int
11, Int
9)
  , (Integer
2016, Int
10, Int
28)
  , (Integer
2017, Int
10, Int
17)
  , (Integer
2018, Int
11, Int
5)
  , (Integer
2019, Int
10, Int
25)
  , (Integer
2020, Int
11, Int
13)
  , (Integer
2021, Int
11, Int
2)
  , (Integer
2022, Int
10, Int
22)
  , (Integer
2023, Int
11, Int
10)
  , (Integer
2024, Int
10, Int
29)
  , (Integer
2025, Int
10, Int
18)
  , (Integer
2026, Int
11, Int
6)
  , (Integer
2027, Int
10, Int
27)
  , (Integer
2028, Int
10, Int
15)
  , (Integer
2029, Int
11, Int
4)
  , (Integer
2030, Int
10, Int
24)
  ]

navaratri :: TimeData
navaratri :: TimeData
navaratri = [TimeObject] -> TimeData
computedDays [TimeObject]
navaratri'

navaratri' :: [TimeObject]
navaratri' :: [TimeObject]
navaratri' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
9, Int
28)
  , (Integer
2001, Int
10, Int
17)
  , (Integer
2002, Int
10, Int
7)
  , (Integer
2003, Int
9, Int
26)
  , (Integer
2004, Int
10, Int
14)
  , (Integer
2005, Int
10, Int
4)
  , (Integer
2006, Int
9, Int
23)
  , (Integer
2007, Int
10, Int
12)
  , (Integer
2008, Int
9, Int
30)
  , (Integer
2009, Int
9, Int
19)
  , (Integer
2010, Int
10, Int
8)
  , (Integer
2011, Int
9, Int
28)
  , (Integer
2012, Int
10, Int
16)
  , (Integer
2013, Int
10, Int
5)
  , (Integer
2014, Int
9, Int
25)
  , (Integer
2015, Int
10, Int
13)
  , (Integer
2016, Int
10, Int
1)
  , (Integer
2017, Int
9, Int
21)
  , (Integer
2018, Int
10, Int
9)
  , (Integer
2019, Int
9, Int
29)
  , (Integer
2020, Int
10, Int
17)
  , (Integer
2021, Int
10, Int
6)
  , (Integer
2022, Int
9, Int
26)
  , (Integer
2023, Int
10, Int
15)
  , (Integer
2024, Int
10, Int
3)
  , (Integer
2025, Int
9, Int
22)
  , (Integer
2026, Int
10, Int
11)
  , (Integer
2027, Int
9, Int
30)
  , (Integer
2028, Int
9, Int
19)
  , (Integer
2029, Int
10, Int
8)
  , (Integer
2030, Int
9, Int
27)
  ]

rakshaBandhan :: TimeData
rakshaBandhan :: TimeData
rakshaBandhan = [TimeObject] -> TimeData
computedDays [TimeObject]
rakshaBandhan'

rakshaBandhan' :: [TimeObject]
rakshaBandhan' :: [TimeObject]
rakshaBandhan' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
8, Int
15)
  , (Integer
2001, Int
8, Int
4)
  , (Integer
2002, Int
8, Int
22)
  , (Integer
2003, Int
8, Int
12)
  , (Integer
2004, Int
8, Int
29)
  , (Integer
2005, Int
8, Int
19)
  , (Integer
2006, Int
8, Int
9)
  , (Integer
2007, Int
8, Int
28)
  , (Integer
2008, Int
8, Int
16)
  , (Integer
2009, Int
8, Int
5)
  , (Integer
2010, Int
8, Int
24)
  , (Integer
2011, Int
8, Int
13)
  , (Integer
2012, Int
8, Int
2)
  , (Integer
2013, Int
8, Int
20)
  , (Integer
2014, Int
8, Int
10)
  , (Integer
2015, Int
8, Int
29)
  , (Integer
2016, Int
8, Int
18)
  , (Integer
2017, Int
8, Int
7)
  , (Integer
2018, Int
8, Int
26)
  , (Integer
2019, Int
8, Int
15)
  , (Integer
2020, Int
8, Int
3)
  , (Integer
2021, Int
8, Int
22)
  , (Integer
2022, Int
8, Int
11)
  , (Integer
2023, Int
8, Int
30)
  , (Integer
2024, Int
8, Int
19)
  , (Integer
2025, Int
8, Int
9)
  , (Integer
2026, Int
8, Int
28)
  , (Integer
2027, Int
8, Int
17)
  , (Integer
2028, Int
8, Int
5)
  , (Integer
2029, Int
8, Int
23)
  , (Integer
2030, Int
8, Int
13)
  ]

ganeshChaturthi :: TimeData
ganeshChaturthi :: TimeData
ganeshChaturthi = [TimeObject] -> TimeData
computedDays [TimeObject]
ganeshChaturthi'

ganeshChaturthi' :: [TimeObject]
ganeshChaturthi' :: [TimeObject]
ganeshChaturthi' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
9, Int
1)
  , (Integer
2001, Int
8, Int
22)
  , (Integer
2002, Int
9, Int
10)
  , (Integer
2003, Int
8, Int
31)
  , (Integer
2004, Int
9, Int
18)
  , (Integer
2005, Int
9, Int
7)
  , (Integer
2006, Int
8, Int
27)
  , (Integer
2007, Int
9, Int
15)
  , (Integer
2008, Int
9, Int
3)
  , (Integer
2009, Int
8, Int
23)
  , (Integer
2010, Int
9, Int
11)
  , (Integer
2011, Int
9, Int
1)
  , (Integer
2012, Int
9, Int
19)
  , (Integer
2013, Int
9, Int
9)
  , (Integer
2014, Int
8, Int
29)
  , (Integer
2015, Int
9, Int
17)
  , (Integer
2016, Int
9, Int
5)
  , (Integer
2017, Int
8, Int
25)
  , (Integer
2018, Int
9, Int
13)
  , (Integer
2019, Int
9, Int
2)
  , (Integer
2020, Int
8, Int
22)
  , (Integer
2021, Int
9, Int
9)
  , (Integer
2022, Int
8, Int
30)
  , (Integer
2023, Int
9, Int
18)
  , (Integer
2024, Int
9, Int
6)
  , (Integer
2025, Int
8, Int
26)
  , (Integer
2026, Int
9, Int
14)
  , (Integer
2027, Int
9, Int
3)
  , (Integer
2028, Int
8, Int
23)
  , (Integer
2029, Int
9, Int
11)
  , (Integer
2030, Int
9, Int
1)
  ]

mahavirJayanti :: TimeData
mahavirJayanti :: TimeData
mahavirJayanti = [TimeObject] -> TimeData
computedDays [TimeObject]
mahavirJayanti'

mahavirJayanti' :: [TimeObject]
mahavirJayanti' :: [TimeObject]
mahavirJayanti' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
4, Int
16)
  , (Integer
2001, Int
4, Int
6)
  , (Integer
2002, Int
4, Int
25)
  , (Integer
2003, Int
4, Int
15)
  , (Integer
2004, Int
4, Int
3)
  , (Integer
2005, Int
4, Int
22)
  , (Integer
2006, Int
4, Int
11)
  , (Integer
2007, Int
3, Int
31)
  , (Integer
2008, Int
4, Int
18)
  , (Integer
2009, Int
4, Int
7)
  , (Integer
2010, Int
3, Int
28)
  , (Integer
2011, Int
4, Int
16)
  , (Integer
2012, Int
4, Int
5)
  , (Integer
2013, Int
4, Int
24)
  , (Integer
2014, Int
4, Int
13)
  , (Integer
2015, Int
4, Int
2)
  , (Integer
2016, Int
4, Int
19)
  , (Integer
2017, Int
4, Int
9)
  , (Integer
2018, Int
3, Int
29)
  , (Integer
2019, Int
4, Int
17)
  , (Integer
2020, Int
4, Int
6)
  , (Integer
2021, Int
4, Int
25)
  , (Integer
2022, Int
4, Int
14)
  , (Integer
2023, Int
4, Int
4)
  , (Integer
2024, Int
4, Int
21)
  , (Integer
2025, Int
4, Int
10)
  , (Integer
2026, Int
3, Int
31)
  , (Integer
2027, Int
4, Int
19)
  , (Integer
2028, Int
4, Int
7)
  , (Integer
2029, Int
4, Int
26)
  , (Integer
2030, Int
4, Int
16)
  ]

thaiPongal :: TimeData
thaiPongal :: TimeData
thaiPongal = [TimeObject] -> TimeData
computedDays [TimeObject]
thaiPongal'

thaiPongal' :: [TimeObject]
thaiPongal' :: [TimeObject]
thaiPongal' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
1, Int
15)
  , (Integer
2001, Int
1, Int
14)
  , (Integer
2002, Int
1, Int
14)
  , (Integer
2003, Int
1, Int
14)
  , (Integer
2004, Int
1, Int
15)
  , (Integer
2005, Int
1, Int
14)
  , (Integer
2006, Int
1, Int
14)
  , (Integer
2007, Int
1, Int
15)
  , (Integer
2008, Int
1, Int
15)
  , (Integer
2009, Int
1, Int
14)
  , (Integer
2010, Int
1, Int
14)
  , (Integer
2011, Int
1, Int
15)
  , (Integer
2012, Int
1, Int
15)
  , (Integer
2013, Int
1, Int
14)
  , (Integer
2014, Int
1, Int
14)
  , (Integer
2015, Int
1, Int
15)
  , (Integer
2016, Int
1, Int
15)
  , (Integer
2017, Int
1, Int
14)
  , (Integer
2018, Int
1, Int
14)
  , (Integer
2019, Int
1, Int
15)
  , (Integer
2020, Int
1, Int
15)
  , (Integer
2021, Int
1, Int
14)
  , (Integer
2022, Int
1, Int
14)
  , (Integer
2023, Int
1, Int
15)
  , (Integer
2024, Int
1, Int
15)
  , (Integer
2025, Int
1, Int
14)
  , (Integer
2026, Int
1, Int
14)
  , (Integer
2027, Int
1, Int
15)
  , (Integer
2028, Int
1, Int
15)
  , (Integer
2029, Int
1, Int
14)
  , (Integer
2030, Int
1, Int
14)
  ]

mahaShivaRatri :: TimeData
mahaShivaRatri :: TimeData
mahaShivaRatri = [TimeObject] -> TimeData
computedDays [TimeObject]
mahaShivaRatri'

mahaShivaRatri' :: [TimeObject]
mahaShivaRatri' :: [TimeObject]
mahaShivaRatri' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
   [  (Integer
2000, Int
3, Int
4)
   ,  (Integer
2001, Int
2, Int
21)
   ,  (Integer
2002, Int
3, Int
12)
   ,  (Integer
2003, Int
3, Int
1)
   ,  (Integer
2004, Int
2, Int
18)
   ,  (Integer
2005, Int
3, Int
8)
   ,  (Integer
2006, Int
2, Int
26)
   ,  (Integer
2007, Int
2, Int
16)
   ,  (Integer
2008, Int
3, Int
6)
   ,  (Integer
2009, Int
2, Int
23)
   ,  (Integer
2010, Int
2, Int
12)
   ,  (Integer
2011, Int
3, Int
2)
   ,  (Integer
2012, Int
2, Int
20)
   ,  (Integer
2013, Int
3, Int
10)
   ,  (Integer
2014, Int
2, Int
27)
   ,  (Integer
2015, Int
2, Int
17)
   ,  (Integer
2016, Int
3, Int
7)
   ,  (Integer
2017, Int
2, Int
24)
   ,  (Integer
2018, Int
2, Int
13)
   ,  (Integer
2019, Int
3, Int
4)
   ,  (Integer
2020, Int
2, Int
21)
   ,  (Integer
2021, Int
3, Int
11)
   ,  (Integer
2022, Int
3, Int
1)
   ,  (Integer
2023, Int
2, Int
18)
   ,  (Integer
2024, Int
3, Int
8)
   ,  (Integer
2025, Int
2, Int
26)
   ,  (Integer
2026, Int
2, Int
15)
   ,  (Integer
2027, Int
3, Int
6)
   ,  (Integer
2028, Int
2, Int
23)
   ,  (Integer
2029, Int
2, Int
11)
   ,  (Integer
2030, Int
3, Int
2)
   ]

thiruOnam :: TimeData
thiruOnam :: TimeData
thiruOnam = [TimeObject] -> TimeData
computedDays [TimeObject]
thiruOnam'

thiruOnam' :: [TimeObject]
thiruOnam' :: [TimeObject]
thiruOnam' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
9, Int
10)
  , (Integer
2001, Int
8, Int
31)
  , (Integer
2002, Int
8, Int
21)
  , (Integer
2003, Int
9, Int
8)
  , (Integer
2004, Int
8, Int
28)
  , (Integer
2005, Int
9, Int
15)
  , (Integer
2006, Int
9, Int
5)
  , (Integer
2007, Int
8, Int
26)
  , (Integer
2008, Int
9, Int
12)
  , (Integer
2009, Int
9, Int
2)
  , (Integer
2010, Int
8, Int
23)
  , (Integer
2011, Int
9, Int
9)
  , (Integer
2012, Int
8, Int
29)
  , (Integer
2013, Int
8, Int
20)
  , (Integer
2014, Int
9, Int
6)
  , (Integer
2015, Int
8, Int
28)
  , (Integer
2016, Int
9, Int
13)
  , (Integer
2017, Int
9, Int
4)
  , (Integer
2018, Int
8, Int
24)
  , (Integer
2019, Int
9, Int
11)
  , (Integer
2020, Int
8, Int
31)
  , (Integer
2021, Int
8, Int
21)
  , (Integer
2022, Int
9, Int
8)
  , (Integer
2023, Int
8, Int
29)
  , (Integer
2024, Int
9, Int
15)
  , (Integer
2025, Int
9, Int
5)
  , (Integer
2026, Int
8, Int
26)
  , (Integer
2027, Int
9, Int
12)
  , (Integer
2028, Int
9, Int
1)
  , (Integer
2029, Int
8, Int
22)
  , (Integer
2030, Int
9, Int
9)
  ]

rathaYatra :: TimeData
rathaYatra :: TimeData
rathaYatra = [TimeObject] -> TimeData
computedDays [TimeObject]
rathaYatra'

rathaYatra' :: [TimeObject]
rathaYatra' :: [TimeObject]
rathaYatra' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
7, Int
2)
  , (Integer
2001, Int
6, Int
22)
  , (Integer
2002, Int
7, Int
11)
  , (Integer
2003, Int
7, Int
1)
  , (Integer
2004, Int
6, Int
19)
  , (Integer
2005, Int
7, Int
8)
  , (Integer
2006, Int
6, Int
27)
  , (Integer
2007, Int
7, Int
16)
  , (Integer
2008, Int
7, Int
4)
  , (Integer
2009, Int
6, Int
24)
  , (Integer
2010, Int
7, Int
13)
  , (Integer
2011, Int
7, Int
3)
  , (Integer
2012, Int
6, Int
21)
  , (Integer
2013, Int
7, Int
10)
  , (Integer
2014, Int
6, Int
29)
  , (Integer
2015, Int
7, Int
18)
  , (Integer
2016, Int
7, Int
6)
  , (Integer
2017, Int
6, Int
25)
  , (Integer
2018, Int
7, Int
14)
  , (Integer
2019, Int
7, Int
4)
  , (Integer
2020, Int
6, Int
23)
  , (Integer
2021, Int
7, Int
11)
  , (Integer
2022, Int
6, Int
30)
  , (Integer
2023, Int
6, Int
19)
  , (Integer
2024, Int
7, Int
7)
  , (Integer
2025, Int
6, Int
26)
  , (Integer
2026, Int
7, Int
15)
  , (Integer
2027, Int
7, Int
5)
  , (Integer
2028, Int
6, Int
24)
  , (Integer
2029, Int
7, Int
13)
  , (Integer
2030, Int
7, Int
2)
  ]

vasantPanchami :: TimeData
vasantPanchami :: TimeData
vasantPanchami = [TimeObject] -> TimeData
computedDays [TimeObject]
vasantPanchami'

vasantPanchami' :: [TimeObject]
vasantPanchami' :: [TimeObject]
vasantPanchami' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
2, Int
10)
  , (Integer
2001, Int
1, Int
29)
  , (Integer
2002, Int
2, Int
17)
  , (Integer
2003, Int
2, Int
6)
  , (Integer
2004, Int
1, Int
26)
  , (Integer
2005, Int
2, Int
13)
  , (Integer
2006, Int
2, Int
2)
  , (Integer
2007, Int
1, Int
23)
  , (Integer
2008, Int
2, Int
11)
  , (Integer
2009, Int
1, Int
31)
  , (Integer
2010, Int
1, Int
20)
  , (Integer
2011, Int
2, Int
8)
  , (Integer
2012, Int
1, Int
28)
  , (Integer
2013, Int
2, Int
15)
  , (Integer
2014, Int
2, Int
4)
  , (Integer
2015, Int
1, Int
24)
  , (Integer
2016, Int
2, Int
12)
  , (Integer
2017, Int
2, Int
1)
  , (Integer
2018, Int
1, Int
22)
  , (Integer
2019, Int
2, Int
10)
  , (Integer
2020, Int
1, Int
29)
  , (Integer
2021, Int
2, Int
16)
  , (Integer
2022, Int
2, Int
5)
  , (Integer
2023, Int
1, Int
26)
  , (Integer
2024, Int
2, Int
14)
  , (Integer
2025, Int
2, Int
2)
  , (Integer
2026, Int
1, Int
23)
  , (Integer
2027, Int
2, Int
11)
  , (Integer
2028, Int
1, Int
31)
  , (Integer
2029, Int
1, Int
19)
  , (Integer
2030, Int
2, Int
7)
  ]

globalYouthServiceDay :: TimeData
globalYouthServiceDay :: TimeData
globalYouthServiceDay = [TimeObject] -> TimeData
computedDays [TimeObject]
globalYouthServiceDay'

globalYouthServiceDay' :: [TimeObject]
globalYouthServiceDay' :: [TimeObject]
globalYouthServiceDay' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2012, Int
4, Int
20)
  , (Integer
2013, Int
4, Int
26)
  , (Integer
2014, Int
4, Int
11)
  , (Integer
2015, Int
4, Int
17)
  , (Integer
2016, Int
4, Int
15)
  , (Integer
2017, Int
4, Int
21)
  , (Integer
2018, Int
4, Int
20)
  ]

guruGobindSinghJayanti :: TimeData
guruGobindSinghJayanti :: TimeData
guruGobindSinghJayanti = [TimeObject] -> TimeData
computedDays [TimeObject]
guruGobindSinghJayanti'

guruGobindSinghJayanti' :: [TimeObject]
guruGobindSinghJayanti' :: [TimeObject]
guruGobindSinghJayanti' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
1, Int
14)
  , (Integer
2001, Int
1, Int
2)
  , (Integer
2002, Int
1, Int
21)
  , (Integer
2003, Int
12, Int
29)
  , (Integer
2004, Int
1, Int
5)
  , (Integer
2005, Int
1, Int
16)
  , (Integer
2006, Int
12, Int
27)
  , (Integer
2007, Int
1, Int
5)
  , (Integer
2008, Int
1, Int
14)
  , (Integer
2009, Int
12, Int
23)
  , (Integer
2010, Int
1, Int
5)
  , (Integer
2011, Int
1, Int
5)
  , (Integer
2012, Int
1, Int
5)
  , (Integer
2013, Int
1, Int
18)
  , (Integer
2014, Int
1, Int
7)
  , (Integer
2015, Int
1, Int
5)
  , (Integer
2016, Int
1, Int
16)
  , (Integer
2017, Int
12, Int
25)
  , (Integer
2018, Int
1, Int
5)
  , (Integer
2019, Int
1, Int
13)
  , (Integer
2020, Int
2, Int
1)
  , (Integer
2021, Int
1, Int
19)
  , (Integer
2022, Int
1, Int
8)
  , (Integer
2023, Int
1, Int
5)
  , (Integer
2024, Int
1, Int
17)
  , (Integer
2025, Int
1, Int
5)
  , (Integer
2026, Int
1, Int
5)
  , (Integer
2027, Int
1, Int
14)
  , (Integer
2028, Int
1, Int
3)
  , (Integer
2029, Int
1, Int
5)
  , (Integer
2030, Int
1, Int
10)
  ]

karvaChauth :: TimeData
karvaChauth :: TimeData
karvaChauth = [TimeObject] -> TimeData
computedDays [TimeObject]
karvaChauth'

karvaChauth' :: [TimeObject]
karvaChauth' :: [TimeObject]
karvaChauth' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
    [ (Integer
2000, Int
10, Int
16)
    , (Integer
2001, Int
10, Int
4)
    , (Integer
2002, Int
10, Int
24)
    , (Integer
2003, Int
10, Int
13)
    , (Integer
2004, Int
10, Int
31)
    , (Integer
2005, Int
10, Int
20)
    , (Integer
2006, Int
10, Int
9)
    , (Integer
2007, Int
10, Int
28)
    , (Integer
2008, Int
10, Int
17)
    , (Integer
2009, Int
10, Int
7)
    , (Integer
2010, Int
10, Int
26)
    , (Integer
2011, Int
10, Int
15)
    , (Integer
2012, Int
10, Int
2)
    , (Integer
2013, Int
10, Int
22)
    , (Integer
2014, Int
10, Int
11)
    , (Integer
2015, Int
10, Int
30)
    , (Integer
2016, Int
10, Int
18)
    , (Integer
2017, Int
10, Int
8)
    , (Integer
2018, Int
10, Int
27)
    , (Integer
2019, Int
10, Int
17)
    , (Integer
2020, Int
10, Int
3)
    , (Integer
2021, Int
10, Int
23)
    , (Integer
2022, Int
10, Int
12)
    , (Integer
2023, Int
10, Int
31)
    , (Integer
2024, Int
10, Int
20)
    , (Integer
2025, Int
10, Int
9)
    , (Integer
2026, Int
10, Int
28)
    , (Integer
2027, Int
10, Int
18)
    , (Integer
2028, Int
10, Int
6)
    , (Integer
2029, Int
10, Int
25)
    , (Integer
2030, Int
10, Int
14)
    ]

krishnaJanmashtami :: TimeData
krishnaJanmashtami :: TimeData
krishnaJanmashtami = [TimeObject] -> TimeData
computedDays [TimeObject]
krishnaJanmashtami'

krishnaJanmashtami' :: [TimeObject]
krishnaJanmashtami' :: [TimeObject]
krishnaJanmashtami' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
    [ (Integer
2000, Int
8, Int
22)
    , (Integer
2001, Int
8, Int
12)
    , (Integer
2002, Int
8, Int
31)
    , (Integer
2003, Int
8, Int
20)
    , (Integer
2004, Int
9, Int
6)
    , (Integer
2005, Int
8, Int
26)
    , (Integer
2006, Int
8, Int
15)
    , (Integer
2007, Int
9, Int
3)
    , (Integer
2008, Int
8, Int
23)
    , (Integer
2009, Int
8, Int
13)
    , (Integer
2010, Int
9, Int
1)
    , (Integer
2011, Int
8, Int
21)
    , (Integer
2012, Int
8, Int
9)
    , (Integer
2013, Int
8, Int
28)
    , (Integer
2014, Int
8, Int
17)
    , (Integer
2015, Int
9, Int
5)
    , (Integer
2016, Int
8, Int
25)
    , (Integer
2017, Int
8, Int
14)
    , (Integer
2018, Int
9, Int
3)
    , (Integer
2019, Int
8, Int
23)
    , (Integer
2020, Int
8, Int
11)
    , (Integer
2021, Int
8, Int
30)
    , (Integer
2022, Int
8, Int
19)
    , (Integer
2023, Int
9, Int
6)
    , (Integer
2024, Int
8, Int
26)
    , (Integer
2025, Int
8, Int
16)
    , (Integer
2026, Int
9, Int
4)
    , (Integer
2027, Int
8, Int
25)
    , (Integer
2028, Int
8, Int
13)
    , (Integer
2029, Int
9, Int
1)
    , (Integer
2030, Int
8, Int
21)
    ]

vesak :: TimeData
vesak :: TimeData
vesak = [TimeObject] -> TimeData
computedDays [TimeObject]
vesak'

vesak' :: [TimeObject]
vesak' :: [TimeObject]
vesak' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
5, Int
18)
  , (Integer
2001, Int
5, Int
7)
  , (Integer
2002, Int
5, Int
26)
  , (Integer
2003, Int
5, Int
15)
  , (Integer
2004, Int
5, Int
4)
  , (Integer
2005, Int
5, Int
23)
  , (Integer
2006, Int
5, Int
12)
  , (Integer
2007, Int
5, Int
31)
  , (Integer
2008, Int
5, Int
19)
  , (Integer
2009, Int
5, Int
8)
  , (Integer
2010, Int
5, Int
27)
  , (Integer
2011, Int
5, Int
17)
  , (Integer
2012, Int
5, Int
5)
  , (Integer
2013, Int
5, Int
24)
  , (Integer
2014, Int
5, Int
14)
  , (Integer
2015, Int
5, Int
3)
  , (Integer
2016, Int
5, Int
21)
  , (Integer
2017, Int
5, Int
10)
  , (Integer
2018, Int
5, Int
29)
  , (Integer
2019, Int
5, Int
18)
  , (Integer
2020, Int
5, Int
7)
  , (Integer
2021, Int
5, Int
26)
  , (Integer
2022, Int
5, Int
15)
  , (Integer
2023, Int
5, Int
5)
  , (Integer
2024, Int
5, Int
23)
  , (Integer
2025, Int
5, Int
12)
  , (Integer
2026, Int
5, Int
31)
  , (Integer
2027, Int
5, Int
20)
  , (Integer
2028, Int
5, Int
8)
  , (Integer
2029, Int
5, Int
27)
  , (Integer
2030, Int
5, Int
17)
  ]

vaisakhi :: TimeData
vaisakhi :: TimeData
vaisakhi = [TimeObject] -> TimeData
computedDays [TimeObject]
vaisakhi'

vaisakhi' :: [TimeObject]
vaisakhi' :: [TimeObject]
vaisakhi' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
4, Int
13)
  , (Integer
2001, Int
4, Int
13)
  , (Integer
2002, Int
4, Int
14)
  , (Integer
2003, Int
4, Int
14)
  , (Integer
2004, Int
4, Int
13)
  , (Integer
2005, Int
4, Int
13)
  , (Integer
2006, Int
4, Int
14)
  , (Integer
2007, Int
4, Int
14)
  , (Integer
2008, Int
4, Int
13)
  , (Integer
2009, Int
4, Int
14)
  , (Integer
2010, Int
4, Int
14)
  , (Integer
2011, Int
4, Int
14)
  , (Integer
2012, Int
4, Int
13)
  , (Integer
2013, Int
4, Int
14)
  , (Integer
2014, Int
4, Int
14)
  , (Integer
2015, Int
4, Int
14)
  , (Integer
2016, Int
4, Int
13)
  , (Integer
2017, Int
4, Int
14)
  , (Integer
2018, Int
4, Int
14)
  , (Integer
2019, Int
4, Int
14)
  , (Integer
2020, Int
4, Int
13)
  , (Integer
2021, Int
4, Int
14)
  , (Integer
2022, Int
4, Int
14)
  , (Integer
2023, Int
4, Int
14)
  , (Integer
2024, Int
4, Int
13)
  , (Integer
2025, Int
4, Int
14)
  , (Integer
2026, Int
4, Int
14)
  , (Integer
2027, Int
4, Int
14)
  , (Integer
2028, Int
4, Int
13)
  , (Integer
2029, Int
4, Int
14)
  , (Integer
2030, Int
4, Int
14)
  ]

purim :: TimeData
purim :: TimeData
purim = [TimeObject] -> TimeData
computedDays [TimeObject]
purim'

purim' :: [TimeObject]
purim' :: [TimeObject]
purim' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1950, Int
3, Int
2)
  , (Integer
1951, Int
3, Int
21)
  , (Integer
1952, Int
3, Int
10)
  , (Integer
1953, Int
2, Int
28)
  , (Integer
1954, Int
3, Int
18)
  , (Integer
1955, Int
3, Int
7)
  , (Integer
1956, Int
2, Int
25)
  , (Integer
1957, Int
3, Int
16)
  , (Integer
1958, Int
3, Int
5)
  , (Integer
1959, Int
3, Int
23)
  , (Integer
1960, Int
3, Int
12)
  , (Integer
1961, Int
3, Int
1)
  , (Integer
1962, Int
3, Int
19)
  , (Integer
1963, Int
3, Int
9)
  , (Integer
1964, Int
2, Int
26)
  , (Integer
1965, Int
3, Int
17)
  , (Integer
1966, Int
3, Int
5)
  , (Integer
1967, Int
3, Int
25)
  , (Integer
1968, Int
3, Int
13)
  , (Integer
1969, Int
3, Int
3)
  , (Integer
1970, Int
3, Int
21)
  , (Integer
1971, Int
3, Int
10)
  , (Integer
1972, Int
2, Int
28)
  , (Integer
1973, Int
3, Int
17)
  , (Integer
1974, Int
3, Int
7)
  , (Integer
1975, Int
2, Int
24)
  , (Integer
1976, Int
3, Int
15)
  , (Integer
1977, Int
3, Int
3)
  , (Integer
1978, Int
3, Int
22)
  , (Integer
1979, Int
3, Int
12)
  , (Integer
1980, Int
3, Int
1)
  , (Integer
1981, Int
3, Int
19)
  , (Integer
1982, Int
3, Int
8)
  , (Integer
1983, Int
2, Int
26)
  , (Integer
1984, Int
3, Int
17)
  , (Integer
1985, Int
3, Int
6)
  , (Integer
1986, Int
3, Int
24)
  , (Integer
1987, Int
3, Int
14)
  , (Integer
1988, Int
3, Int
2)
  , (Integer
1989, Int
3, Int
20)
  , (Integer
1990, Int
3, Int
10)
  , (Integer
1991, Int
2, Int
27)
  , (Integer
1992, Int
3, Int
18)
  , (Integer
1993, Int
3, Int
6)
  , (Integer
1994, Int
2, Int
24)
  , (Integer
1995, Int
3, Int
15)
  , (Integer
1996, Int
3, Int
4)
  , (Integer
1997, Int
3, Int
22)
  , (Integer
1998, Int
3, Int
11)
  , (Integer
1999, Int
3, Int
1)
  , (Integer
2000, Int
3, Int
20)
  , (Integer
2001, Int
3, Int
8)
  , (Integer
2002, Int
2, Int
27)
  , (Integer
2003, Int
3, Int
19)
  , (Integer
2004, Int
3, Int
6)
  , (Integer
2005, Int
3, Int
24)
  , (Integer
2006, Int
3, Int
13)
  , (Integer
2007, Int
3, Int
3)
  , (Integer
2008, Int
3, Int
20)
  , (Integer
2009, Int
3, Int
9)
  , (Integer
2010, Int
2, Int
27)
  , (Integer
2011, Int
3, Int
19)
  , (Integer
2012, Int
3, Int
7)
  , (Integer
2013, Int
2, Int
23)
  , (Integer
2014, Int
3, Int
15)
  , (Integer
2015, Int
3, Int
4)
  , (Integer
2016, Int
3, Int
23)
  , (Integer
2017, Int
3, Int
11)
  , (Integer
2018, Int
2, Int
28)
  , (Integer
2019, Int
3, Int
20)
  , (Integer
2020, Int
3, Int
9)
  , (Integer
2021, Int
2, Int
25)
  , (Integer
2022, Int
3, Int
16)
  , (Integer
2023, Int
3, Int
6)
  , (Integer
2024, Int
3, Int
23)
  , (Integer
2025, Int
3, Int
13)
  , (Integer
2026, Int
3, Int
2)
  , (Integer
2027, Int
3, Int
22)
  , (Integer
2028, Int
3, Int
11)
  , (Integer
2029, Int
2, Int
28)
  , (Integer
2030, Int
3, Int
18)
  , (Integer
2031, Int
3, Int
8)
  , (Integer
2032, Int
2, Int
25)
  , (Integer
2033, Int
3, Int
14)
  , (Integer
2034, Int
3, Int
4)
  , (Integer
2035, Int
3, Int
24)
  , (Integer
2036, Int
3, Int
12)
  , (Integer
2037, Int
2, Int
28)
  , (Integer
2038, Int
3, Int
20)
  , (Integer
2039, Int
3, Int
9)
  , (Integer
2040, Int
2, Int
27)
  , (Integer
2041, Int
3, Int
16)
  , (Integer
2042, Int
3, Int
5)
  , (Integer
2043, Int
3, Int
25)
  , (Integer
2044, Int
3, Int
12)
  , (Integer
2045, Int
3, Int
2)
  , (Integer
2046, Int
3, Int
21)
  , (Integer
2047, Int
3, Int
11)
  , (Integer
2048, Int
2, Int
27)
  , (Integer
2049, Int
3, Int
17)
  , (Integer
2050, Int
3, Int
7)
  ]

saraswatiJayanti :: TimeData
saraswatiJayanti :: TimeData
saraswatiJayanti = [TimeObject] -> TimeData
computedDays [TimeObject]
saraswatiJayanti'

saraswatiJayanti' :: [TimeObject]
saraswatiJayanti' :: [TimeObject]
saraswatiJayanti' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
2, Int
29)
  , (Integer
2001, Int
2, Int
17)
  , (Integer
2002, Int
3, Int
8)
  , (Integer
2003, Int
2, Int
26)
  , (Integer
2004, Int
2, Int
15)
  , (Integer
2005, Int
3, Int
5)
  , (Integer
2006, Int
2, Int
23)
  , (Integer
2007, Int
2, Int
12)
  , (Integer
2008, Int
3, Int
2)
  , (Integer
2009, Int
2, Int
19)
  , (Integer
2010, Int
2, Int
8)
  , (Integer
2011, Int
2, Int
27)
  , (Integer
2012, Int
2, Int
16)
  , (Integer
2013, Int
3, Int
7)
  , (Integer
2014, Int
2, Int
24)
  , (Integer
2015, Int
2, Int
14)
  , (Integer
2016, Int
3, Int
4)
  , (Integer
2017, Int
2, Int
21)
  , (Integer
2018, Int
2, Int
10)
  , (Integer
2019, Int
2, Int
28)
  , (Integer
2020, Int
2, Int
18)
  , (Integer
2021, Int
3, Int
8)
  , (Integer
2022, Int
2, Int
26)
  , (Integer
2023, Int
2, Int
15)
  , (Integer
2024, Int
3, Int
5)
  , (Integer
2025, Int
2, Int
23)
  , (Integer
2026, Int
2, Int
12)
  , (Integer
2027, Int
3 , Int
2)
  , (Integer
2028, Int
2, Int
19)
  , (Integer
2029, Int
2, Int
8)
  , (Integer
2030, Int
2, Int
27)
  ]

rabindraJayanti :: TimeData
rabindraJayanti :: TimeData
rabindraJayanti = [TimeObject] -> TimeData
computedDays [TimeObject]
rabindraJayanti'

rabindraJayanti' :: [TimeObject]
rabindraJayanti' :: [TimeObject]
rabindraJayanti' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
5, Int
8)
  , (Integer
2001, Int
5, Int
9)
  , (Integer
2002, Int
5, Int
9)
  , (Integer
2003, Int
5, Int
9)
  , (Integer
2004, Int
5, Int
8)
  , (Integer
2005, Int
5, Int
9)
  , (Integer
2006, Int
5, Int
9)
  , (Integer
2007, Int
5, Int
9)
  , (Integer
2008, Int
5, Int
8)
  , (Integer
2009, Int
5, Int
9)
  , (Integer
2010, Int
5, Int
9)
  , (Integer
2011, Int
5, Int
9)
  , (Integer
2012, Int
5, Int
8)
  , (Integer
2013, Int
5, Int
9)
  , (Integer
2014, Int
5, Int
9)
  , (Integer
2015, Int
5, Int
9)
  , (Integer
2016, Int
5, Int
8)
  , (Integer
2017, Int
5, Int
9)
  , (Integer
2018, Int
5, Int
9)
  , (Integer
2019, Int
5, Int
9)
  , (Integer
2020, Int
5, Int
8)
  , (Integer
2021, Int
5, Int
9)
  , (Integer
2022, Int
5, Int
9)
  , (Integer
2023, Int
5, Int
9)
  , (Integer
2024, Int
5, Int
8)
  , (Integer
2025, Int
5, Int
9)
  , (Integer
2026, Int
5, Int
9)
  , (Integer
2027, Int
5 ,Int
9)
  , (Integer
2028, Int
5, Int
9)
  , (Integer
2029, Int
5, Int
9)
  , (Integer
2030, Int
5, Int
9)
  ]

ravidassJayanti :: TimeData
ravidassJayanti :: TimeData
ravidassJayanti = [TimeObject] -> TimeData
computedDays [TimeObject]
ravidassJayanti'

ravidassJayanti' :: [TimeObject]
ravidassJayanti' :: [TimeObject]
ravidassJayanti' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
2, Int
19)
  , (Integer
2001, Int
2, Int
8)
  , (Integer
2002, Int
2, Int
27)
  , (Integer
2003, Int
2, Int
16)
  , (Integer
2004, Int
2, Int
6)
  , (Integer
2005, Int
2, Int
24)
  , (Integer
2006, Int
2, Int
13)
  , (Integer
2007, Int
2, Int
2)
  , (Integer
2008, Int
2, Int
21)
  , (Integer
2009, Int
2, Int
9)
  , (Integer
2010, Int
1, Int
30)
  , (Integer
2011, Int
2, Int
18)
  , (Integer
2012, Int
2, Int
7)
  , (Integer
2013, Int
2, Int
25)
  , (Integer
2014, Int
2, Int
14)
  , (Integer
2015, Int
2, Int
3)
  , (Integer
2016, Int
2, Int
22)
  , (Integer
2017, Int
2, Int
10)
  , (Integer
2018, Int
1, Int
31)
  , (Integer
2019, Int
2, Int
19)
  , (Integer
2020, Int
2, Int
9)
  , (Integer
2021, Int
2, Int
27)
  , (Integer
2022, Int
2, Int
16)
  , (Integer
2023, Int
2, Int
5)
  , (Integer
2024, Int
2, Int
24)
  , (Integer
2025, Int
2, Int
12)
  , (Integer
2026, Int
2, Int
1)
  , (Integer
2027, Int
2 ,Int
20)
  , (Integer
2028, Int
2, Int
10)
  , (Integer
2029, Int
1, Int
30)
  , (Integer
2030, Int
2, Int
18)
  ]

pargatDiwas :: TimeData
pargatDiwas :: TimeData
pargatDiwas = [TimeObject] -> TimeData
computedDays [TimeObject]
pargatDiwas'

pargatDiwas' :: [TimeObject]
pargatDiwas' :: [TimeObject]
pargatDiwas' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
10, Int
12)
  , (Integer
2001, Int
10, Int
31)
  , (Integer
2002, Int
10, Int
20)
  , (Integer
2003, Int
10, Int
9)
  , (Integer
2004, Int
10, Int
27)
  , (Integer
2005, Int
10, Int
16)
  , (Integer
2006, Int
10, Int
6)
  , (Integer
2007, Int
10, Int
25)
  , (Integer
2008, Int
10, Int
14)
  , (Integer
2009, Int
10, Int
3)
  , (Integer
2010, Int
10, Int
22)
  , (Integer
2011, Int
10, Int
11)
  , (Integer
2012, Int
10, Int
29)
  , (Integer
2013, Int
10, Int
18)
  , (Integer
2014, Int
10, Int
7)
  , (Integer
2015, Int
10, Int
26)
  , (Integer
2016, Int
10, Int
15)
  , (Integer
2017, Int
10, Int
5)
  , (Integer
2018, Int
10, Int
24)
  , (Integer
2019, Int
10, Int
13)
  , (Integer
2020, Int
10, Int
30)
  , (Integer
2021, Int
10, Int
19)
  , (Integer
2022, Int
10, Int
9)
  , (Integer
2023, Int
10, Int
28)
  , (Integer
2024, Int
10, Int
16)
  , (Integer
2025, Int
10, Int
6)
  , (Integer
2026, Int
10, Int
25)
  , (Integer
2027, Int
10, Int
14)
  , (Integer
2028, Int
10, Int
2)
  , (Integer
2029, Int
10, Int
21)
  , (Integer
2030, Int
10, Int
10)
  ]

ugadi :: TimeData
ugadi :: TimeData
ugadi = [TimeObject] -> TimeData
computedDays [TimeObject]
ugadi'

ugadi' :: [TimeObject]
ugadi' :: [TimeObject]
ugadi' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
4, Int
5)
  , (Integer
2001, Int
3, Int
26)
  , (Integer
2002, Int
4, Int
13)
  , (Integer
2003, Int
4, Int
2)
  , (Integer
2004, Int
3, Int
21)
  , (Integer
2005, Int
4, Int
9)
  , (Integer
2006, Int
3, Int
30)
  , (Integer
2007, Int
3, Int
19)
  , (Integer
2008, Int
4, Int
6)
  , (Integer
2009, Int
3, Int
27)
  , (Integer
2010, Int
3, Int
16)
  , (Integer
2011, Int
4, Int
4)
  , (Integer
2012, Int
3, Int
23)
  , (Integer
2013, Int
4, Int
11)
  , (Integer
2014, Int
3, Int
31)
  , (Integer
2015, Int
3, Int
21)
  , (Integer
2016, Int
4, Int
8)
  , (Integer
2017, Int
3, Int
28)
  , (Integer
2018, Int
3, Int
18)
  , (Integer
2019, Int
4, Int
6)
  , (Integer
2020, Int
3, Int
25)
  , (Integer
2021, Int
4, Int
13)
  , (Integer
2022, Int
4, Int
2)
  , (Integer
2023, Int
3, Int
22)
  , (Integer
2024, Int
4, Int
9)
  , (Integer
2025, Int
3, Int
30)
  , (Integer
2026, Int
3, Int
19)
  , (Integer
2027, Int
4, Int
7)
  , (Integer
2028, Int
3, Int
27)
  , (Integer
2029, Int
4, Int
14)
  , (Integer
2030, Int
4, Int
3)
  ]

ramaNavami :: TimeData
ramaNavami :: TimeData
ramaNavami = [TimeObject] -> TimeData
computedDays [TimeObject]
ramaNavami'

ramaNavami' :: [TimeObject]
ramaNavami' :: [TimeObject]
ramaNavami' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
2000, Int
4, Int
12)
  , (Integer
2001, Int
4, Int
2)
  , (Integer
2002, Int
4, Int
21)
  , (Integer
2003, Int
4, Int
11)
  , (Integer
2004, Int
3, Int
30)
  , (Integer
2005, Int
4, Int
18)
  , (Integer
2006, Int
4, Int
6)
  , (Integer
2007, Int
3, Int
27)
  , (Integer
2008, Int
4, Int
14)
  , (Integer
2009, Int
4, Int
3)
  , (Integer
2010, Int
3, Int
24)
  , (Integer
2011, Int
4, Int
12)
  , (Integer
2012, Int
4, Int
1)
  , (Integer
2013, Int
4, Int
19)
  , (Integer
2014, Int
4, Int
8)
  , (Integer
2015, Int
3, Int
28)
  , (Integer
2016, Int
4, Int
15)
  , (Integer
2017, Int
4, Int
5)
  , (Integer
2018, Int
3, Int
25)
  , (Integer
2019, Int
4, Int
14)
  , (Integer
2020, Int
4, Int
2)
  , (Integer
2021, Int
4, Int
21)
  , (Integer
2022, Int
4, Int
10)
  , (Integer
2023, Int
3, Int
30)
  , (Integer
2024, Int
4, Int
17)
  , (Integer
2025, Int
4, Int
6)
  , (Integer
2026, Int
3, Int
27)
  , (Integer
2027, Int
4, Int
15)
  , (Integer
2028, Int
4, Int
4)
  , (Integer
2029, Int
4, Int
23)
  , (Integer
2030, Int
4, Int
12)
  ]

superTuesday :: TimeData
superTuesday :: TimeData
superTuesday = [TimeObject] -> TimeData
computedDays [TimeObject]
superTuesday'

superTuesday' :: [TimeObject]
superTuesday' :: [TimeObject]
superTuesday' = ((Integer, Int, Int) -> Maybe TimeObject)
-> [(Integer, Int, Int)] -> [TimeObject]
forall a b. (a -> Maybe b) -> [a] -> [b]
mapMaybe (Integer, Int, Int) -> Maybe TimeObject
toTimeObjectM
  [ (Integer
1984, Int
3, Int
13)
  , (Integer
1988, Int
3, Int
8)
  , (Integer
1992, Int
3, Int
10)
  , (Integer
1996, Int
3, Int
12)
  , (Integer
2000, Int
3, Int
7)
  , (Integer
2004, Int
3, Int
2)
  , (Integer
2008, Int
2, Int
5)
  , (Integer
2012, Int
3, Int
6)
  , (Integer
2016, Int
3, Int
1)
  , (Integer
2020, Int
3, Int
3)
  ]