packages feed

haal-models-0.1.3.0: src/Haal/Models/DTLS/ScandiumV2V0V0EcdheCertNreq.hs

-- Generated by haal-gen. Do not edit manually.
module Haal.Models.DTLS.ScandiumV2V0V0EcdheCertNreq
    ( ScandiumV2V0V0EcdheCertNreqInput (..)
    , ScandiumV2V0V0EcdheCertNreqOutput (..)
    , scandiumV2V0V0EcdheCertNreq
    ) where

import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomatonTable)

data ScandiumV2V0V0EcdheCertNreqInput
    = In_ECDH_CLIENT_HELLO
    | In_ECDH_CLIENT_KEY_EXCHANGE
    | In_CHANGE_CIPHER_SPEC
    | In_FINISHED
    | In_APPLICATION
    | In_CERTIFICATE
    | In_EMPTY_CERTIFICATE
    | In_CERTIFICATE_VERIFY
    | In_Alert_WARNING_CLOSE_NOTIFY
    | In_Alert_FATAL_UNEXPECTED_MESSAGE
    deriving (Show, Eq, Ord, Enum, Bounded)

data ScandiumV2V0V0EcdheCertNreqOutput
    = Out_HELLO_VERIFY_REQUEST
    | Out_TIMEOUT
    | Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    | Out_Alert_FATAL_INTERNAL_ERROR
    | Out_Alert_WARNING_CLOSE_NOTIFY
    | Out_SERVER_HELLO_DONE
    | Out_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    | Out_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    | Out_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
    | Out_CHANGE_CIPHER_SPEC_FINISHED
    | Out_Alert_WARNING_NO_RENEGOTIATION
    | Out_APPLICATION
    | Out_Alert_FATAL_HANDSHAKE_FAILURE
    | Out_CHANGE_CIPHER_SPEC_FINISHED_APPLICATION
    deriving (Show, Eq, Ord, Enum, Bounded)

{- Transitions (state  input -> next state / output):
    0     In_ECDH_CLIENT_HELLO               -> 1 / Out_HELLO_VERIFY_REQUEST
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 2 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 2 / Out_TIMEOUT
          In_APPLICATION                     -> 0 / Out_TIMEOUT
          In_CERTIFICATE                     -> 2 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 2 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 2 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 0 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 0 / Out_TIMEOUT
    1     In_ECDH_CLIENT_HELLO               -> 3 / Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_TIMEOUT
          In_APPLICATION                     -> 1 / Out_TIMEOUT
          In_CERTIFICATE                     -> 4 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 4 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 1 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 1 / Out_TIMEOUT
    2     In_ECDH_CLIENT_HELLO               -> 2 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 2 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 2 / Out_TIMEOUT
          In_APPLICATION                     -> 2 / Out_TIMEOUT
          In_CERTIFICATE                     -> 2 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 2 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 2 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 2 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 2 / Out_TIMEOUT
    3     In_ECDH_CLIENT_HELLO               -> 9 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 10 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 10 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 3 / Out_TIMEOUT
          In_CERTIFICATE                     -> 11 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 12 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 10 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 13 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 13 / Out_TIMEOUT
    4     In_ECDH_CLIENT_HELLO               -> 5 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_TIMEOUT
          In_APPLICATION                     -> 4 / Out_TIMEOUT
          In_CERTIFICATE                     -> 4 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 4 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    5     In_ECDH_CLIENT_HELLO               -> 6 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 5 / Out_TIMEOUT
          In_CERTIFICATE                     -> 7 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 8 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    6     In_ECDH_CLIENT_HELLO               -> 6 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 6 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 6 / Out_TIMEOUT
          In_APPLICATION                     -> 6 / Out_TIMEOUT
          In_CERTIFICATE                     -> 6 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 6 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 6 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    7     In_ECDH_CLIENT_HELLO               -> 6 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 17 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 7 / Out_TIMEOUT
          In_CERTIFICATE                     -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    8     In_ECDH_CLIENT_HELLO               -> 6 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 35 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 8 / Out_TIMEOUT
          In_CERTIFICATE                     -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    9     In_ECDH_CLIENT_HELLO               -> 18 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 18 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 18 / Out_TIMEOUT
          In_APPLICATION                     -> 9 / Out_TIMEOUT
          In_CERTIFICATE                     -> 18 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 18 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 18 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 10 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 10 / Out_TIMEOUT
    10    In_ECDH_CLIENT_HELLO               -> 14 / Out_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 15 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_TIMEOUT
          In_APPLICATION                     -> 10 / Out_TIMEOUT
          In_CERTIFICATE                     -> 15 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 15 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 15 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 10 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 10 / Out_TIMEOUT
    11    In_ECDH_CLIENT_HELLO               -> 18 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 21 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 11 / Out_TIMEOUT
          In_CERTIFICATE                     -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 10 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 10 / Out_TIMEOUT
    12    In_ECDH_CLIENT_HELLO               -> 18 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 29 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 12 / Out_TIMEOUT
          In_CERTIFICATE                     -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 10 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 10 / Out_TIMEOUT
    13    In_ECDH_CLIENT_HELLO               -> 14 / Out_SERVER_HELLO_DONE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 10 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 10 / Out_TIMEOUT
          In_APPLICATION                     -> 13 / Out_TIMEOUT
          In_CERTIFICATE                     -> 10 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 10 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 10 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 13 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 13 / Out_TIMEOUT
    14    In_ECDH_CLIENT_HELLO               -> 9 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 10 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 10 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 14 / Out_TIMEOUT
          In_CERTIFICATE                     -> 39 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 40 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 10 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 13 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 13 / Out_TIMEOUT
    15    In_ECDH_CLIENT_HELLO               -> 14 / Out_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 16 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 16 / Out_TIMEOUT
          In_APPLICATION                     -> 15 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 16 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 16 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 15 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 15 / Out_TIMEOUT
    16    In_ECDH_CLIENT_HELLO               -> 14 / Out_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_CERTIFICATE_REQUEST_SERVER_HELLO_DONE
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 1 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 1 / Out_TIMEOUT
          In_APPLICATION                     -> 16 / Out_TIMEOUT
          In_CERTIFICATE                     -> 1 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 1 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 1 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 16 / Out_TIMEOUT
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 16 / Out_TIMEOUT
    17    In_ECDH_CLIENT_HELLO               -> 31 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 17 / Out_TIMEOUT
          In_CERTIFICATE                     -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    18    In_ECDH_CLIENT_HELLO               -> 19 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 19 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 19 / Out_TIMEOUT
          In_APPLICATION                     -> 18 / Out_TIMEOUT
          In_CERTIFICATE                     -> 19 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 19 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 19 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 15 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 15 / Out_TIMEOUT
    19    In_ECDH_CLIENT_HELLO               -> 20 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 20 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 20 / Out_TIMEOUT
          In_APPLICATION                     -> 19 / Out_TIMEOUT
          In_CERTIFICATE                     -> 20 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 20 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 20 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 16 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 16 / Out_TIMEOUT
    20    In_ECDH_CLIENT_HELLO               -> 6 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 6 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 6 / Out_TIMEOUT
          In_APPLICATION                     -> 20 / Out_TIMEOUT
          In_CERTIFICATE                     -> 6 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 6 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 6 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 1 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 1 / Out_TIMEOUT
    21    In_ECDH_CLIENT_HELLO               -> 22 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 21 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 23 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 15 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 15 / Out_TIMEOUT
    22    In_ECDH_CLIENT_HELLO               -> 36 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 36 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 36 / Out_TIMEOUT
          In_APPLICATION                     -> 22 / Out_TIMEOUT
          In_CERTIFICATE                     -> 36 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 36 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 36 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 16 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 16 / Out_TIMEOUT
    23    In_ECDH_CLIENT_HELLO               -> 24 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 1 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 25 / Out_TIMEOUT
          In_FINISHED                        -> 1 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 23 / Out_TIMEOUT
          In_CERTIFICATE                     -> 1 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 1 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 1 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 16 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 16 / Out_TIMEOUT
    24    In_ECDH_CLIENT_HELLO               -> 32 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 33 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 34 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 24 / Out_TIMEOUT
          In_CERTIFICATE                     -> 33 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 33 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 33 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 1 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 1 / Out_TIMEOUT
    25    In_ECDH_CLIENT_HELLO               -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 26 / Out_CHANGE_CIPHER_SPEC_FINISHED
          In_APPLICATION                     -> 27 / Out_TIMEOUT
          In_CERTIFICATE                     -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 2 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 2 / Out_TIMEOUT
    26    In_ECDH_CLIENT_HELLO               -> 26 / Out_Alert_WARNING_NO_RENEGOTIATION
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 26 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 26 / Out_TIMEOUT
          In_APPLICATION                     -> 28 / Out_APPLICATION
          In_CERTIFICATE                     -> 26 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 26 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 26 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 2 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 2 / Out_TIMEOUT
    27    In_ECDH_CLIENT_HELLO               -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 28 / Out_CHANGE_CIPHER_SPEC_FINISHED_APPLICATION
          In_APPLICATION                     -> 27 / Out_TIMEOUT
          In_CERTIFICATE                     -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 2 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 2 / Out_TIMEOUT
    28    In_ECDH_CLIENT_HELLO               -> 28 / Out_Alert_WARNING_NO_RENEGOTIATION
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 28 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 28 / Out_TIMEOUT
          In_APPLICATION                     -> 28 / Out_APPLICATION
          In_CERTIFICATE                     -> 28 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 28 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 28 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 2 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 2 / Out_TIMEOUT
    29    In_ECDH_CLIENT_HELLO               -> 30 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 25 / Out_TIMEOUT
          In_FINISHED                        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 29 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 15 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 15 / Out_TIMEOUT
    30    In_ECDH_CLIENT_HELLO               -> 24 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 38 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 34 / Out_TIMEOUT
          In_FINISHED                        -> 38 / Out_TIMEOUT
          In_APPLICATION                     -> 30 / Out_TIMEOUT
          In_CERTIFICATE                     -> 38 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 38 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 16 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 16 / Out_TIMEOUT
    31    In_ECDH_CLIENT_HELLO               -> 31 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 31 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 31 / Out_TIMEOUT
          In_APPLICATION                     -> 31 / Out_TIMEOUT
          In_CERTIFICATE                     -> 31 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 31 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 31 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    32    In_ECDH_CLIENT_HELLO               -> 32 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 33 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 34 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 32 / Out_TIMEOUT
          In_CERTIFICATE                     -> 33 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 33 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 33 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    33    In_ECDH_CLIENT_HELLO               -> 33 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 33 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 33 / Out_TIMEOUT
          In_CERTIFICATE                     -> 33 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 33 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 33 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    34    In_ECDH_CLIENT_HELLO               -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 34 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 34 / Out_TIMEOUT
          In_APPLICATION                     -> 34 / Out_TIMEOUT
          In_CERTIFICATE                     -> 34 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 34 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 34 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 2 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 2 / Out_TIMEOUT
    35    In_ECDH_CLIENT_HELLO               -> 37 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 35 / Out_TIMEOUT
          In_CERTIFICATE                     -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 4 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    36    In_ECDH_CLIENT_HELLO               -> 31 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 31 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 31 / Out_TIMEOUT
          In_APPLICATION                     -> 36 / Out_TIMEOUT
          In_CERTIFICATE                     -> 31 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 31 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 31 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 1 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 1 / Out_TIMEOUT
    37    In_ECDH_CLIENT_HELLO               -> 37 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 33 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 37 / Out_TIMEOUT
          In_CERTIFICATE                     -> 33 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 33 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 33 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 4 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 4 / Out_TIMEOUT
    38    In_ECDH_CLIENT_HELLO               -> 33 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 33 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 38 / Out_TIMEOUT
          In_CERTIFICATE                     -> 33 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 33 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 33 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 1 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 1 / Out_TIMEOUT
    39    In_ECDH_CLIENT_HELLO               -> 18 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 44 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 39 / Out_TIMEOUT
          In_CERTIFICATE                     -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 10 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 10 / Out_TIMEOUT
    40    In_ECDH_CLIENT_HELLO               -> 18 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 41 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 40 / Out_TIMEOUT
          In_CERTIFICATE                     -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 15 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 10 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 10 / Out_TIMEOUT
    41    In_ECDH_CLIENT_HELLO               -> 42 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 41 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_Alert_WARNING_CLOSE_NOTIFY      -> 15 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 15 / Out_TIMEOUT
    42    In_ECDH_CLIENT_HELLO               -> 43 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 38 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 38 / Out_TIMEOUT
          In_APPLICATION                     -> 42 / Out_TIMEOUT
          In_CERTIFICATE                     -> 38 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 38 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 38 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 16 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 16 / Out_TIMEOUT
    43    In_ECDH_CLIENT_HELLO               -> 37 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 33 / Out_TIMEOUT
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_TIMEOUT
          In_FINISHED                        -> 33 / Out_TIMEOUT
          In_APPLICATION                     -> 43 / Out_TIMEOUT
          In_CERTIFICATE                     -> 33 / Out_TIMEOUT
          In_EMPTY_CERTIFICATE               -> 33 / Out_TIMEOUT
          In_CERTIFICATE_VERIFY              -> 33 / Out_TIMEOUT
          In_Alert_WARNING_CLOSE_NOTIFY      -> 1 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 1 / Out_TIMEOUT
    44    In_ECDH_CLIENT_HELLO               -> 22 / Out_TIMEOUT
          In_ECDH_CLIENT_KEY_EXCHANGE        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CHANGE_CIPHER_SPEC              -> 2 / Out_Alert_FATAL_INTERNAL_ERROR
          In_FINISHED                        -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_APPLICATION                     -> 44 / Out_TIMEOUT
          In_CERTIFICATE                     -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_EMPTY_CERTIFICATE               -> 16 / Out_Alert_FATAL_INTERNAL_ERROR
          In_CERTIFICATE_VERIFY              -> 16 / Out_Alert_FATAL_HANDSHAKE_FAILURE
          In_Alert_WARNING_CLOSE_NOTIFY      -> 15 / Out_Alert_WARNING_CLOSE_NOTIFY
          In_Alert_FATAL_UNEXPECTED_MESSAGE  -> 15 / Out_TIMEOUT
-}
scandiumV2V0V0EcdheCertNreq :: MealyAutomaton Int ScandiumV2V0V0EcdheCertNreqInput ScandiumV2V0V0EcdheCertNreqOutput
scandiumV2V0V0EcdheCertNreq =
    case mkMealyAutomatonTable 45 0 deltaTable lambdaTable of
        Right m -> m
        Left err -> error ("haal-gen: invalid transition table: " ++ err)
  where
    deltaTable =
        "\1\2\2\2\0\2\2\2\0\0\
        \\3\4\2\4\1\4\4\4\1\1\
        \\2\2\2\2\2\2\2\2\2\2\
        \\9\10\2\10\3\11\12\10\13\13\
        \\5\4\2\4\4\4\4\4\4\4\
        \\6\4\2\4\5\7\8\4\4\4\
        \\6\6\2\6\6\6\6\6\4\4\
        \\6\17\2\4\7\4\4\4\4\4\
        \\6\35\2\4\8\4\4\4\4\4\
        \\18\18\2\18\9\18\18\18\10\10\
        \\14\15\2\15\10\15\15\15\10\10\
        \\18\21\2\15\11\15\15\15\10\10\
        \\18\29\2\15\12\15\15\15\10\10\
        \\14\10\2\10\13\10\10\10\13\13\
        \\9\10\2\10\14\39\40\10\13\13\
        \\14\16\2\16\15\16\16\16\15\15\
        \\14\1\2\1\16\1\1\1\16\16\
        \\31\4\2\4\17\4\4\4\4\4\
        \\19\19\2\19\18\19\19\19\15\15\
        \\20\20\2\20\19\20\20\20\16\16\
        \\6\6\2\6\20\6\6\6\1\1\
        \\22\16\2\16\21\16\16\23\15\15\
        \\36\36\2\36\22\36\36\36\16\16\
        \\24\1\25\1\23\1\1\1\16\16\
        \\32\33\34\33\24\33\33\33\1\1\
        \\2\2\2\26\27\2\2\2\2\2\
        \\26\26\2\26\28\26\26\26\2\2\
        \\2\2\2\28\27\2\2\2\2\2\
        \\28\28\2\28\28\28\28\28\2\2\
        \\30\16\25\16\29\16\16\16\15\15\
        \\24\38\34\38\30\38\38\38\16\16\
        \\31\31\2\31\31\31\31\31\4\4\
        \\32\33\34\33\32\33\33\33\4\4\
        \\33\33\2\33\33\33\33\33\4\4\
        \\2\34\2\34\34\34\34\34\2\2\
        \\37\4\2\4\35\4\4\4\4\4\
        \\31\31\2\31\36\31\31\31\1\1\
        \\37\33\2\33\37\33\33\33\4\4\
        \\33\33\2\33\38\33\33\33\1\1\
        \\18\44\2\15\39\15\15\15\10\10\
        \\18\41\2\15\40\15\15\15\10\10\
        \\42\16\2\16\41\16\16\16\15\15\
        \\43\38\2\38\42\38\38\38\16\16\
        \\37\33\2\33\43\33\33\33\1\1\
        \\22\16\2\16\44\16\16\16\15\15"
    lambdaTable =
        "\0\1\1\1\1\1\1\1\1\1\
        \\2\1\1\1\1\1\1\1\1\1\
        \\1\1\1\1\1\1\1\1\1\1\
        \\1\3\1\3\1\1\1\3\4\1\
        \\1\1\1\1\1\1\1\1\1\1\
        \\1\3\1\3\1\1\1\3\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\1\1\3\1\3\3\3\4\1\
        \\1\1\1\3\1\3\3\3\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\6\1\1\1\1\1\1\1\1\1\
        \\1\1\1\3\1\3\3\3\4\1\
        \\1\1\1\3\1\3\3\3\4\1\
        \\5\1\1\1\1\1\1\1\1\1\
        \\1\3\1\3\1\1\1\3\4\1\
        \\7\1\1\1\1\1\1\1\1\1\
        \\8\1\1\1\1\1\1\1\1\1\
        \\1\3\3\3\1\3\3\12\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\3\3\3\1\3\3\1\4\1\
        \\1\1\3\1\1\1\1\1\4\1\
        \\1\3\1\3\1\3\3\3\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\3\3\3\9\1\3\3\3\4\1\
        \\10\1\3\1\11\1\1\1\4\1\
        \\3\3\3\13\1\3\3\3\4\1\
        \\10\1\1\1\11\1\1\1\4\1\
        \\1\3\1\3\1\3\3\3\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\1\3\1\1\1\1\1\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\1\12\1\1\1\1\1\4\1\
        \\3\1\3\1\1\1\1\1\4\1\
        \\1\3\1\3\1\3\3\3\4\1\
        \\1\1\3\1\1\1\1\1\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\1\12\1\1\1\1\1\4\1\
        \\1\1\1\3\1\3\3\3\4\1\
        \\1\1\1\3\1\3\3\3\4\1\
        \\1\3\1\3\1\3\3\3\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\1\1\1\1\1\1\1\4\1\
        \\1\3\3\3\1\3\3\12\4\1"