mirror of
https://github.com/Horhik/dotfiles.git
synced 2024-11-29 11:31:29 +00:00
2744 lines
35 KiB
Haskell
2744 lines
35 KiB
Haskell
{-# LANGUAGE ScopedTypeVariables, TypeSynonymInstances, FlexibleInstances #-}
|
|
-----------------------------------------------------------------------------
|
|
-- |
|
|
-- Module : TaskMonad.Utils
|
|
-- Copyright : Max Magorsch <max@magorsch.de>
|
|
-- License : BSD-style (see LICENSE)
|
|
--
|
|
-- Maintainer : Max Magorsch <max@magorsch.de>
|
|
-- Stability : unstable
|
|
-- Portability : unportable
|
|
--
|
|
-- TaskMonad.Utils bundles a number of help functions that can be used to
|
|
-- interact with the taskwarrior command line application.
|
|
--
|
|
-----------------------------------------------------------------------------
|
|
|
|
module TaskMonad.Utils
|
|
( getTaskwarriorTaskList
|
|
, getTaskwarriorIds
|
|
, isTWReport
|
|
, defaulttwreports
|
|
, execCommand
|
|
, execCommandWithOutput
|
|
, twicon
|
|
)
|
|
where
|
|
|
|
import Data.List
|
|
import Data.Maybe
|
|
import System.Process
|
|
import System.IO
|
|
import Control.Monad ( filterM )
|
|
|
|
import XMonad hiding ( liftX )
|
|
import XMonad.Util.Font
|
|
import qualified XMonad.StackSet as W
|
|
import XMonad.Layout.Decoration
|
|
import XMonad.Prompt
|
|
import XMonad.Prompt.Input
|
|
import XMonad.Util.Image
|
|
import XMonad.Util.NamedWindows
|
|
import XMonad.Util.XUtils
|
|
import XMonad.Util.NamedScratchpad
|
|
import XMonad.Util.Run
|
|
import XMonad.Actions.GridSelect
|
|
|
|
|
|
|
|
|
|
-- | Returns a filtered list of all properties that belong to a given category. For example
|
|
--
|
|
-- > getTaskwarriorIds "status:pending" "tags"
|
|
--
|
|
-- returns a list of all tags of the pending tasks. Likewise
|
|
--
|
|
-- > getTaskwarriorIds "status:pending" "ids"
|
|
--
|
|
-- returns the ids of all pending tasks.
|
|
getTaskwarriorIds
|
|
:: String -- ^ A filter that is applied, e.g. "+INBOX" or "status:pending". Please refer to the [taskwarrior documentation](https://taskwarrior.org/docs/filter.html) for further information.
|
|
-> String -- ^ The category of properties that should be returned, e.g. "ids" or "tags"
|
|
-> IO [String] -- ^ A filtered list of all properties that belong to the specified category
|
|
getTaskwarriorIds filter category = do
|
|
result <- execCommandWithOutput "task" (filter ++ " _" ++ category)
|
|
return $ lines result
|
|
|
|
|
|
-- | Get a tuple containing the id and the description of a task with a specified id
|
|
getTaskwarriorTaskDescription
|
|
:: String -- ^ the id of the task
|
|
-> IO (String, String) -- ^ (the id of the task, the description)
|
|
getTaskwarriorTaskDescription id = do
|
|
result <- execCommandWithOutput "task" ("_get " ++ id ++ ".description")
|
|
return (id, result)
|
|
|
|
|
|
-- | Get the description of a task with a specified id
|
|
getTaskDescription
|
|
:: String -- ^ the id of the task
|
|
-> IO String -- ^ the description of the task
|
|
getTaskDescription id =
|
|
execCommandWithOutput "task" ("_get " ++ id ++ ".description")
|
|
|
|
|
|
-- | Returns a filtered list of tasks that contains the specified properties of each task
|
|
getTaskwarriorTaskList
|
|
:: String -- ^ A filter that is applied, e.g. "+INBOX" or "status:pending". Please refer to the [taskwarrior documentation](https://taskwarrior.org/docs/filter.html) for further information.
|
|
-> [String] -- ^ A list of properties that should be retrieved for each task, e.g. ["id", "description", "tags"]
|
|
-> IO [[String]] -- ^ A filtered list of tasks that contains the specified properties of each task
|
|
getTaskwarriorTaskList filter taskproperties = do
|
|
ids <- getTaskwarriorIds filter "ids"
|
|
traverse (getTaskwarriorTaskProperties taskproperties) ids
|
|
|
|
|
|
-- | Get a list of specified properties of a task with a specified id
|
|
getTaskwarriorTaskProperties
|
|
:: Traversable t
|
|
=> t String -- ^ a list of properties
|
|
-> String -- ^ the id of the task
|
|
-> IO (t String) -- ^ the list containing the values of the specified properties
|
|
getTaskwarriorTaskProperties properties id =
|
|
traverse (getTaskwarriorTaskProperty id) properties
|
|
|
|
|
|
-- | Get a specified property of a task with a specified id
|
|
getTaskwarriorTaskProperty
|
|
:: String -- ^ the id of the task
|
|
-> String -- ^ the desired property
|
|
-> IO String -- ^ the value of the desired property of the specified task
|
|
getTaskwarriorTaskProperty id property = do
|
|
result <- execCommandWithOutput "task" ("_get " ++ id ++ "." ++ property)
|
|
return $ filter (/= '\n') result
|
|
|
|
|
|
-- | Checks whether a given taskwarrior command is a report or not
|
|
isTWReport :: String -> Bool
|
|
isTWReport command = head (words command) `elem` defaulttwreports
|
|
|
|
|
|
-- | A list containing all taskwarrior reports. For further information, please refer to [https://taskwarrior.org/docs/report.html](https://taskwarrior.org/docs/report.html)
|
|
defaulttwreports :: [String]
|
|
defaulttwreports =
|
|
[ "dailyreview"
|
|
, "weeklyreview"
|
|
, "inbox"
|
|
, "processInbox"
|
|
, "process"
|
|
, "active"
|
|
, "all"
|
|
, "blocked"
|
|
, "blocking"
|
|
, "completed"
|
|
, "done"
|
|
, "list"
|
|
, "long"
|
|
, "ls"
|
|
, "minimal"
|
|
, "newest"
|
|
, "next"
|
|
, "oldest"
|
|
, "overdue"
|
|
, "ready"
|
|
, "recurring"
|
|
, "unblocked"
|
|
, "waiting"
|
|
, "burndown.daily"
|
|
, "burndown.monthly"
|
|
, "burndown.weekly"
|
|
, "calendar"
|
|
, "colors"
|
|
, "columns"
|
|
, "commands"
|
|
, "diagnostics"
|
|
, "ghistory.annual"
|
|
, "ghistory.monthly"
|
|
, "ghistory.weekly"
|
|
, "ghistory.daily"
|
|
, "history.annual"
|
|
, "history.monthly"
|
|
, "history.weekly"
|
|
, "history.daily"
|
|
, "ids"
|
|
, "information"
|
|
, "projects"
|
|
, "reports"
|
|
, "show"
|
|
, "stats"
|
|
, "summary"
|
|
, "tags"
|
|
, "timesheet"
|
|
, "udas"
|
|
, "uuids"
|
|
]
|
|
|
|
|
|
-- | Executes a shell command.
|
|
execCommand :: MonadIO m => String -> m ()
|
|
execCommand = unsafeSpawn
|
|
|
|
|
|
-- | Executes an executable with args and returns the output.
|
|
execCommandWithOutput :: FilePath -> String -> IO String
|
|
execCommandWithOutput executable args = do
|
|
(_, Just hout, _, _) <- createProcess (proc executable (words args))
|
|
{ std_out = CreatePipe
|
|
}
|
|
hGetContents hout
|
|
|
|
|
|
-- | The Taskwarrior icon
|
|
twicon :: [[Bool]]
|
|
twicon =
|
|
[ [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, True
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, True
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
, [ False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
, False
|
|
]
|
|
]
|