val parse_subjectPublicKeyInfo_payload_kind:parser_kind
val parse_subjectPublicKeyInfo_payload_kind:parser_kind
let parse_subjectPublicKeyInfo_payload_kind
: parser_kind
= parse_filter_kind
  (parse_asn1_envelop_tag_with_TLV_kind SEQUENCE
   `and_then_kind`
   parse_asn1_TLV_kind_of_type BIT_STRING)
module X509.BasicFields.SubjectPublicKeyInfo

open LowParse.Low.Base

open ASN1.Spec
open ASN1.Low

open X509.Base
open X509.Crypto

open FStar.Integers

type subjectPublicKeyInfo_payload_t
= { subjectPubKey_alg : algorithmIdentifier_t;
    subjectPubKey     : pubkey_t }
/
X509.Crypto.AlgorithmIdentifier.fsti.checked X509.Crypto.fst.checked X509.Base.fst.checked prims.fst.checked LowParse.Low.Base.fst.checked FStar.UInt32.fsti.checked FStar.Seq.fst.checked FStar.Pervasives.fsti.checked FStar.Integers.fst.checked FStar.Bytes.fsti.checked ASN1.Spec.fst.checked ASN1.Low.fst.checked
X509.BasicFields.SubjectPublicKeyInfo.fsti
LowParse.Spec.Base.parser_kind
LowParse.Spec.Combinators.parse_filter_kind LowParse.Spec.Combinators.and_then_kind ASN1.Spec.Value.Envelop.parse_asn1_envelop_tag_with_TLV_kind ASN1.Base.SEQUENCE ASN1.Spec.TLV.parse_asn1_TLV_kind_of_type ASN1.Base.BIT_STRING
let parse_subjectPublicKeyInfo_payload_kind:parser_kind =
  
parse_filter_kind ((parse_asn1_envelop_tag_with_TLV_kind SEQUENCE)
    `and_then_kind`
    (parse_asn1_TLV_kind_of_type BIT_STRING))