packages feed

haal-models-0.1.0.0: src/Haal/Models/DTLS/EtinydtlsPsk.hs

-- Generated by haal-gen. Do not edit manually.
module Haal.Models.DTLS.EtinydtlsPsk
    ( EtinydtlsPskInput (..)
    , EtinydtlsPskOutput (..)
    , etinydtlsPsk
    ) where

import qualified Data.Set as Set
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomaton)

data EtinydtlsPskInput
    = In_PSK_CLIENT_HELLO
    | In_PSK_CLIENT_KEY_EXCHANGE
    | In_CHANGE_CIPHER_SPEC
    | In_FINISHED
    | In_APPLICATION
    | In_Alert_WARNING_CLOSE_NOTIFY
    | In_Alert_FATAL_UNEXPECTED_MESSAGE
    deriving (Show, Eq, Ord, Enum, Bounded)

data EtinydtlsPskOutput
    = Out_HELLO_VERIFY_REQUEST
    | Out_TIMEOUT
    | Out_SOCKET_CLOSED
    | Out_SERVER_HELLO_SERVER_HELLO_DONE
    | Out_Alert_FATAL_UNEXPECTED_MESSAGE
    | Out_Alert_FATAL_CLOSE_NOTIFY
    | Out_Alert_FATAL_DECRYPT_ERROR
    | Out_CHANGE_CIPHER_SPEC_FINISHED
    | Out_APPLICATION
    deriving (Show, Eq, Ord, Enum, Bounded)

etinydtlsPsk :: MealyAutomaton Int EtinydtlsPskInput EtinydtlsPskOutput
etinydtlsPsk = mkMealyAutomaton delta lambda (Set.fromList [0..21]) 0
  where
    delta 0 In_PSK_CLIENT_HELLO = 1
    delta 0 In_PSK_CLIENT_KEY_EXCHANGE = 2
    delta 0 In_CHANGE_CIPHER_SPEC = 3
    delta 0 In_FINISHED = 0
    delta 0 In_APPLICATION = 0
    delta 0 In_Alert_WARNING_CLOSE_NOTIFY = 0
    delta 0 In_Alert_FATAL_UNEXPECTED_MESSAGE = 0
    delta 3 In_PSK_CLIENT_HELLO = 3
    delta 3 In_PSK_CLIENT_KEY_EXCHANGE = 3
    delta 3 In_CHANGE_CIPHER_SPEC = 3
    delta 3 In_FINISHED = 3
    delta 3 In_APPLICATION = 3
    delta 3 In_Alert_WARNING_CLOSE_NOTIFY = 3
    delta 3 In_Alert_FATAL_UNEXPECTED_MESSAGE = 3
    delta 1 In_PSK_CLIENT_HELLO = 4
    delta 1 In_PSK_CLIENT_KEY_EXCHANGE = 5
    delta 1 In_CHANGE_CIPHER_SPEC = 3
    delta 1 In_FINISHED = 1
    delta 1 In_APPLICATION = 1
    delta 1 In_Alert_WARNING_CLOSE_NOTIFY = 1
    delta 1 In_Alert_FATAL_UNEXPECTED_MESSAGE = 1
    delta 4 In_PSK_CLIENT_HELLO = 6
    delta 4 In_PSK_CLIENT_KEY_EXCHANGE = 7
    delta 4 In_CHANGE_CIPHER_SPEC = 8
    delta 4 In_FINISHED = 6
    delta 4 In_APPLICATION = 4
    delta 4 In_Alert_WARNING_CLOSE_NOTIFY = 1
    delta 4 In_Alert_FATAL_UNEXPECTED_MESSAGE = 1
    delta 6 In_PSK_CLIENT_HELLO = 6
    delta 6 In_PSK_CLIENT_KEY_EXCHANGE = 9
    delta 6 In_CHANGE_CIPHER_SPEC = 10
    delta 6 In_FINISHED = 6
    delta 6 In_APPLICATION = 6
    delta 6 In_Alert_WARNING_CLOSE_NOTIFY = 1
    delta 6 In_Alert_FATAL_UNEXPECTED_MESSAGE = 1
    delta 8 In_PSK_CLIENT_HELLO = 11
    delta 8 In_PSK_CLIENT_KEY_EXCHANGE = 12
    delta 8 In_CHANGE_CIPHER_SPEC = 11
    delta 8 In_FINISHED = 11
    delta 8 In_APPLICATION = 11
    delta 8 In_Alert_WARNING_CLOSE_NOTIFY = 11
    delta 8 In_Alert_FATAL_UNEXPECTED_MESSAGE = 11
    delta 12 In_PSK_CLIENT_HELLO = 13
    delta 12 In_PSK_CLIENT_KEY_EXCHANGE = 12
    delta 12 In_CHANGE_CIPHER_SPEC = 3
    delta 12 In_FINISHED = 12
    delta 12 In_APPLICATION = 12
    delta 12 In_Alert_WARNING_CLOSE_NOTIFY = 12
    delta 12 In_Alert_FATAL_UNEXPECTED_MESSAGE = 12
    delta 10 In_PSK_CLIENT_HELLO = 10
    delta 10 In_PSK_CLIENT_KEY_EXCHANGE = 10
    delta 10 In_CHANGE_CIPHER_SPEC = 10
    delta 10 In_FINISHED = 10
    delta 10 In_APPLICATION = 10
    delta 10 In_Alert_WARNING_CLOSE_NOTIFY = 10
    delta 10 In_Alert_FATAL_UNEXPECTED_MESSAGE = 10
    delta 13 In_PSK_CLIENT_HELLO = 12
    delta 13 In_PSK_CLIENT_KEY_EXCHANGE = 12
    delta 13 In_CHANGE_CIPHER_SPEC = 14
    delta 13 In_FINISHED = 12
    delta 13 In_APPLICATION = 12
    delta 13 In_Alert_WARNING_CLOSE_NOTIFY = 12
    delta 13 In_Alert_FATAL_UNEXPECTED_MESSAGE = 12
    delta 14 In_PSK_CLIENT_HELLO = 14
    delta 14 In_PSK_CLIENT_KEY_EXCHANGE = 14
    delta 14 In_CHANGE_CIPHER_SPEC = 3
    delta 14 In_FINISHED = 14
    delta 14 In_APPLICATION = 14
    delta 14 In_Alert_WARNING_CLOSE_NOTIFY = 14
    delta 14 In_Alert_FATAL_UNEXPECTED_MESSAGE = 14
    delta 11 In_PSK_CLIENT_HELLO = 8
    delta 11 In_PSK_CLIENT_KEY_EXCHANGE = 12
    delta 11 In_CHANGE_CIPHER_SPEC = 3
    delta 11 In_FINISHED = 11
    delta 11 In_APPLICATION = 11
    delta 11 In_Alert_WARNING_CLOSE_NOTIFY = 11
    delta 11 In_Alert_FATAL_UNEXPECTED_MESSAGE = 11
    delta 7 In_PSK_CLIENT_HELLO = 9
    delta 7 In_PSK_CLIENT_KEY_EXCHANGE = 9
    delta 7 In_CHANGE_CIPHER_SPEC = 15
    delta 7 In_FINISHED = 9
    delta 7 In_APPLICATION = 7
    delta 7 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 7 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 15 In_PSK_CLIENT_HELLO = 16
    delta 15 In_PSK_CLIENT_KEY_EXCHANGE = 16
    delta 15 In_CHANGE_CIPHER_SPEC = 17
    delta 15 In_FINISHED = 18
    delta 15 In_APPLICATION = 15
    delta 15 In_Alert_WARNING_CLOSE_NOTIFY = 14
    delta 15 In_Alert_FATAL_UNEXPECTED_MESSAGE = 14
    delta 17 In_PSK_CLIENT_HELLO = 14
    delta 17 In_PSK_CLIENT_KEY_EXCHANGE = 14
    delta 17 In_CHANGE_CIPHER_SPEC = 14
    delta 17 In_FINISHED = 14
    delta 17 In_APPLICATION = 14
    delta 17 In_Alert_WARNING_CLOSE_NOTIFY = 14
    delta 17 In_Alert_FATAL_UNEXPECTED_MESSAGE = 14
    delta 18 In_PSK_CLIENT_HELLO = 19
    delta 18 In_PSK_CLIENT_KEY_EXCHANGE = 18
    delta 18 In_CHANGE_CIPHER_SPEC = 10
    delta 18 In_FINISHED = 18
    delta 18 In_APPLICATION = 18
    delta 18 In_Alert_WARNING_CLOSE_NOTIFY = 14
    delta 18 In_Alert_FATAL_UNEXPECTED_MESSAGE = 14
    delta 5 In_PSK_CLIENT_HELLO = 20
    delta 5 In_PSK_CLIENT_KEY_EXCHANGE = 5
    delta 5 In_CHANGE_CIPHER_SPEC = 3
    delta 5 In_FINISHED = 5
    delta 5 In_APPLICATION = 5
    delta 5 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 5 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 20 In_PSK_CLIENT_HELLO = 9
    delta 20 In_PSK_CLIENT_KEY_EXCHANGE = 7
    delta 20 In_CHANGE_CIPHER_SPEC = 17
    delta 20 In_FINISHED = 9
    delta 20 In_APPLICATION = 20
    delta 20 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 20 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 16 In_PSK_CLIENT_HELLO = 16
    delta 16 In_PSK_CLIENT_KEY_EXCHANGE = 16
    delta 16 In_CHANGE_CIPHER_SPEC = 10
    delta 16 In_FINISHED = 16
    delta 16 In_APPLICATION = 16
    delta 16 In_Alert_WARNING_CLOSE_NOTIFY = 14
    delta 16 In_Alert_FATAL_UNEXPECTED_MESSAGE = 14
    delta 19 In_PSK_CLIENT_HELLO = 16
    delta 19 In_PSK_CLIENT_KEY_EXCHANGE = 21
    delta 19 In_CHANGE_CIPHER_SPEC = 17
    delta 19 In_FINISHED = 16
    delta 19 In_APPLICATION = 19
    delta 19 In_Alert_WARNING_CLOSE_NOTIFY = 14
    delta 19 In_Alert_FATAL_UNEXPECTED_MESSAGE = 14
    delta 21 In_PSK_CLIENT_HELLO = 16
    delta 21 In_PSK_CLIENT_KEY_EXCHANGE = 16
    delta 21 In_CHANGE_CIPHER_SPEC = 15
    delta 21 In_FINISHED = 16
    delta 21 In_APPLICATION = 21
    delta 21 In_Alert_WARNING_CLOSE_NOTIFY = 14
    delta 21 In_Alert_FATAL_UNEXPECTED_MESSAGE = 14
    delta 9 In_PSK_CLIENT_HELLO = 9
    delta 9 In_PSK_CLIENT_KEY_EXCHANGE = 9
    delta 9 In_CHANGE_CIPHER_SPEC = 10
    delta 9 In_FINISHED = 9
    delta 9 In_APPLICATION = 9
    delta 9 In_Alert_WARNING_CLOSE_NOTIFY = 5
    delta 9 In_Alert_FATAL_UNEXPECTED_MESSAGE = 5
    delta 2 In_PSK_CLIENT_HELLO = 5
    delta 2 In_PSK_CLIENT_KEY_EXCHANGE = 2
    delta 2 In_CHANGE_CIPHER_SPEC = 3
    delta 2 In_FINISHED = 2
    delta 2 In_APPLICATION = 2
    delta 2 In_Alert_WARNING_CLOSE_NOTIFY = 2
    delta 2 In_Alert_FATAL_UNEXPECTED_MESSAGE = 2
    delta _ _ = error "haal-gen: undefined transition"
    lambda 0 In_PSK_CLIENT_HELLO = Out_HELLO_VERIFY_REQUEST
    lambda 0 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 0 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 0 In_FINISHED = Out_TIMEOUT
    lambda 0 In_APPLICATION = Out_TIMEOUT
    lambda 0 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 0 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 3 In_PSK_CLIENT_HELLO = Out_SOCKET_CLOSED
    lambda 3 In_PSK_CLIENT_KEY_EXCHANGE = Out_SOCKET_CLOSED
    lambda 3 In_CHANGE_CIPHER_SPEC = Out_SOCKET_CLOSED
    lambda 3 In_FINISHED = Out_SOCKET_CLOSED
    lambda 3 In_APPLICATION = Out_SOCKET_CLOSED
    lambda 3 In_Alert_WARNING_CLOSE_NOTIFY = Out_SOCKET_CLOSED
    lambda 3 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_SOCKET_CLOSED
    lambda 1 In_PSK_CLIENT_HELLO = Out_SERVER_HELLO_SERVER_HELLO_DONE
    lambda 1 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 1 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 1 In_FINISHED = Out_TIMEOUT
    lambda 1 In_APPLICATION = Out_TIMEOUT
    lambda 1 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 1 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 4 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 4 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 4 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 4 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 4 In_APPLICATION = Out_TIMEOUT
    lambda 4 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 4 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 6 In_PSK_CLIENT_HELLO = Out_TIMEOUT
    lambda 6 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 6 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 6 In_FINISHED = Out_TIMEOUT
    lambda 6 In_APPLICATION = Out_TIMEOUT
    lambda 6 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 6 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 8 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_PSK_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_CHANGE_CIPHER_SPEC = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_FINISHED = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_APPLICATION = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 8 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 12 In_PSK_CLIENT_HELLO = Out_SERVER_HELLO_SERVER_HELLO_DONE
    lambda 12 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 12 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 12 In_FINISHED = Out_TIMEOUT
    lambda 12 In_APPLICATION = Out_TIMEOUT
    lambda 12 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 12 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 10 In_PSK_CLIENT_HELLO = Out_TIMEOUT
    lambda 10 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 10 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 10 In_FINISHED = Out_TIMEOUT
    lambda 10 In_APPLICATION = Out_TIMEOUT
    lambda 10 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 10 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 13 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 13 In_PSK_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 13 In_CHANGE_CIPHER_SPEC = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 13 In_FINISHED = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 13 In_APPLICATION = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 13 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 13 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 14 In_PSK_CLIENT_HELLO = Out_TIMEOUT
    lambda 14 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 14 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 14 In_FINISHED = Out_TIMEOUT
    lambda 14 In_APPLICATION = Out_TIMEOUT
    lambda 14 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 14 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 11 In_PSK_CLIENT_HELLO = Out_SERVER_HELLO_SERVER_HELLO_DONE
    lambda 11 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 11 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 11 In_FINISHED = Out_TIMEOUT
    lambda 11 In_APPLICATION = Out_TIMEOUT
    lambda 11 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 11 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 7 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 7 In_PSK_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 7 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 7 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 7 In_APPLICATION = Out_TIMEOUT
    lambda 7 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 7 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 15 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 15 In_PSK_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 15 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 15 In_FINISHED = Out_CHANGE_CIPHER_SPEC_FINISHED
    lambda 15 In_APPLICATION = Out_TIMEOUT
    lambda 15 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 15 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 17 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 17 In_PSK_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 17 In_CHANGE_CIPHER_SPEC = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 17 In_FINISHED = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 17 In_APPLICATION = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 17 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 17 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_Alert_FATAL_DECRYPT_ERROR
    lambda 18 In_PSK_CLIENT_HELLO = Out_SERVER_HELLO_SERVER_HELLO_DONE
    lambda 18 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 18 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 18 In_FINISHED = Out_TIMEOUT
    lambda 18 In_APPLICATION = Out_APPLICATION
    lambda 18 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 18 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 5 In_PSK_CLIENT_HELLO = Out_SERVER_HELLO_SERVER_HELLO_DONE
    lambda 5 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 5 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 5 In_FINISHED = Out_TIMEOUT
    lambda 5 In_APPLICATION = Out_TIMEOUT
    lambda 5 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 5 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 20 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 20 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 20 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 20 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 20 In_APPLICATION = Out_TIMEOUT
    lambda 20 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 20 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 16 In_PSK_CLIENT_HELLO = Out_TIMEOUT
    lambda 16 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 16 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 16 In_FINISHED = Out_TIMEOUT
    lambda 16 In_APPLICATION = Out_TIMEOUT
    lambda 16 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 16 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 19 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 19 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 19 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 19 In_APPLICATION = Out_TIMEOUT
    lambda 19 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 19 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 21 In_PSK_CLIENT_HELLO = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 21 In_PSK_CLIENT_KEY_EXCHANGE = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 21 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 21 In_FINISHED = Out_Alert_FATAL_UNEXPECTED_MESSAGE
    lambda 21 In_APPLICATION = Out_TIMEOUT
    lambda 21 In_Alert_WARNING_CLOSE_NOTIFY = Out_Alert_FATAL_CLOSE_NOTIFY
    lambda 21 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 9 In_PSK_CLIENT_HELLO = Out_TIMEOUT
    lambda 9 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 9 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 9 In_FINISHED = Out_TIMEOUT
    lambda 9 In_APPLICATION = Out_TIMEOUT
    lambda 9 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 9 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda 2 In_PSK_CLIENT_HELLO = Out_HELLO_VERIFY_REQUEST
    lambda 2 In_PSK_CLIENT_KEY_EXCHANGE = Out_TIMEOUT
    lambda 2 In_CHANGE_CIPHER_SPEC = Out_TIMEOUT
    lambda 2 In_FINISHED = Out_TIMEOUT
    lambda 2 In_APPLICATION = Out_TIMEOUT
    lambda 2 In_Alert_WARNING_CLOSE_NOTIFY = Out_TIMEOUT
    lambda 2 In_Alert_FATAL_UNEXPECTED_MESSAGE = Out_TIMEOUT
    lambda _ _ = error "haal-gen: undefined transition"