# Mercury Spark Schema

The output below details the Spark schema for Mercury JSON data. It matches the structure produced by `printSchema()` when applied to a DataFrame loaded with Mercury JSON output.

```
root
 |-- fingerprints: struct (nullable = true)
 |    |-- dhcp: string (nullable = true)
 |    |-- dtls: string (nullable = true)
 |    |-- dtls_server: string (nullable = true)
 |    |-- http: string (nullable = true)
 |    |-- http_server: string (nullable = true)
 |    |-- openvpn: string (nullable = true)
 |    |-- quic: string (nullable = true)
 |    |-- smtp_server: string (nullable = true)
 |    |-- ssh: string (nullable = true)
 |    |-- ssh_init: string (nullable = true)
 |    |-- ssh_kex: string (nullable = true)
 |    |-- stun: string (nullable = true)
 |    |-- tcp: string (nullable = true)
 |    |-- tcp_server: string (nullable = true)
 |    |-- tofsee: string (nullable = true)
 |    |-- tls: string (nullable = true)
 |    |-- tls_server: string (nullable = true)
 |-- tls: struct (nullable = true)
 |    |-- client: struct (nullable = true)
 |    |    |-- random: string (nullable = true)
 |    |    |-- session_id: string (nullable = true)
 |    |    |-- session_ticket: string (nullable = true)
 |    |    |-- compression_methods: string (nullable = true)
 |    |    |-- server_name: string (nullable = true)
 |    |    |-- cipher_suites: string (nullable = true)
 |    |    |-- version: string (nullable = true)
 |    |    |-- quic_transport_parameters: string (nullable = true)
 |    |    |-- quic_transport_parameters_draft: string (nullable = true)
 |    |    |-- application_layer_protocol_negotiation: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |    |-- google_user_agent: string (nullable = true)
 |    |    |-- ech_client_hello: struct (nullable = true)
 |    |    |    |-- config_id: long (nullable = true)
 |    |    |    |-- hpke_symmetric_cipher_suite: struct (nullable = true)
 |    |    |    |    |-- aead: string (nullable = true)
 |    |    |    |    |-- kdf: string (nullable = true)
 |    |    |    |-- payload_length: long (nullable = true)
 |    |    |-- certs: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- base64: string (nullable = true)
 |    |    |-- features: string (nullable = true)
 |    |-- server: struct (nullable = true)
 |    |    |-- certs: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- base64: string (nullable = true)
 |    |    |-- random: string (nullable = true)
 |    |    |-- selected_cipher_suite: string (nullable = true)
 |    |    |-- session_ticket: string (nullable = true)
 |    |    |-- compression_method: string (nullable = true)
 |    |    |-- version: string (nullable = true)
 |    |    |-- application_layer_protocol_negotiation: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |-- undetermined: struct (nullable = true)
 |    |    |-- certs: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- base64: string (nullable = true)
 |-- dtls: struct (nullable = true)
 |    |-- client: struct (nullable = true)
 |    |    |-- random: string (nullable = true)
 |    |    |-- session_id: string (nullable = true)
 |    |    |-- session_ticket: string (nullable = true)
 |    |    |-- compression_methods: string (nullable = true)
 |    |    |-- server_name: string (nullable = true)
 |    |    |-- cipher_suites: string (nullable = true)
 |    |    |-- version: string (nullable = true)
 |    |    |-- application_layer_protocol_negotiation: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |    |-- features: string (nullable = true)
 |    |-- server: struct (nullable = true)
 |    |    |-- random: string (nullable = true)
 |    |    |-- selected_cipher_suite: string (nullable = true)
 |    |    |-- session_ticket: string (nullable = true)
 |    |    |-- compression_method: string (nullable = true)
 |    |    |-- version: string (nullable = true)
 |    |    |-- application_layer_protocol_negotiation: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |-- http: struct (nullable = true)
 |    |-- request: struct (nullable = true)
 |    |    |-- host: string (nullable = true)
 |    |    |-- method: string (nullable = true)
 |    |    |-- protocol: string (nullable = true)
 |    |    |-- referer: string (nullable = true)
 |    |    |-- upgrade: string (nullable = true)
 |    |    |-- uri: string (nullable = true)
 |    |    |-- user_agent: string (nullable = true)
 |    |    |-- via: string (nullable = true)
 |    |    |-- x_forwarded_for: string (nullable = true)
 |    |    |-- authorization: struct (nullable = true)
 |    |    |    |-- basic: struct (nullable = true)
 |    |    |    |    |-- param: string (nullable = true)
 |    |    |    |-- bearer: struct (nullable = true)
 |    |    |    |    |-- header: string (nullable = true)
 |    |    |    |    |-- payload: string (nullable = true)
 |    |    |    |    |-- signature: string (nullable = true)
 |    |    |    |    |-- token: string (nullable = true)
 |    |    |    |-- digest: struct (nullable = true)
 |    |    |    |    |-- param: string (nullable = true)
 |    |    |    |-- unknown: struct (nullable = true)
 |    |    |    |    |-- param: string (nullable = true)
 |    |    |-- body: string (nullable = true)
 |    |    |-- headers: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- delimiter: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- value: string (nullable = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- content_length: string (nullable = true)
 |    |    |-- content_type: string (nullable = true)
 |    |    |-- server: string (nullable = true)
 |    |    |-- status_code: string (nullable = true)
 |    |    |-- status_reason: string (nullable = true)
 |    |    |-- version: string (nullable = true)
 |    |    |-- via: string (nullable = true)
 |    |    |-- body: string (nullable = true)
 |    |    |-- headers: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- delimiter: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- value: string (nullable = true)
 |-- smtp: struct (nullable = true)
 |    |-- request: struct (nullable = true)
 |    |    |-- command: string (nullable = true)
 |    |    |-- parameters: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- command: string (nullable = true)
 |    |    |-- parameters: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |-- ssh: struct (nullable = true)
 |    |-- init: struct (nullable = true)
 |    |    |-- comment: string (nullable = true)
 |    |    |-- protocol: string (nullable = true)
 |    |-- kex: struct (nullable = true)
 |    |    |-- compression_algorithms_client_to_server: string (nullable = true)
 |    |    |-- compression_algorithms_server_to_client: string (nullable = true)
 |    |    |-- encryption_algorithms_client_to_server: string (nullable = true)
 |    |    |-- encryption_algorithms_server_to_client: string (nullable = true)
 |    |    |-- kex_algorithms: string (nullable = true)
 |    |    |-- languages_client_to_server: string (nullable = true)
 |    |    |-- languages_server_to_client: string (nullable = true)
 |    |    |-- mac_algorithms_client_to_server: string (nullable = true)
 |    |    |-- mac_algorithms_server_to_client: string (nullable = true)
 |    |    |-- server_host_key_algorithms: string (nullable = true)
 |    |-- sec_binary_pkt_code: long (nullable = true)
 |    |-- sec_binary_pkt_len: long (nullable = true)
 |-- tcp: struct (nullable = true)
 |    |-- data: string (nullable = true)
 |    |-- seq: long (nullable = true)
 |    |-- timestamp: struct (nullable = true)
 |    |    |-- ts_ecr: long (nullable = true)
 |    |    |-- ts_val: long (nullable = true)
 |-- tcp_server: struct (nullable = true)
 |    |-- seq: long (nullable = true)
 |    |-- timestamp: struct (nullable = true)
 |    |    |-- ts_ecr: long (nullable = true)
 |    |    |-- ts_val: long (nullable = true)
 |-- udp: struct (nullable = true)
 |    |-- data: string (nullable = true)
 |-- dns: struct (nullable = true)
 |    |-- base64: string (nullable = true)
 |    |-- query: struct (nullable = true)
 |    |    |-- additional: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- expire: long (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- minimum: long (nullable = true)
 |    |    |    |    |-- mname: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- refresh: long (nullable = true)
 |    |    |    |    |-- retry: long (nullable = true)
 |    |    |    |    |-- rname: string (nullable = true)
 |    |    |    |    |-- serial: long (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- answer: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |    |    |-- expire: long (nullable = true)
 |    |    |    |    |-- minimum: long (nullable = true)
 |    |    |    |    |-- mname: string (nullable = true)
 |    |    |    |    |-- refresh: long (nullable = true)
 |    |    |    |    |-- retry: long (nullable = true)
 |    |    |    |    |-- rname: string (nullable = true)
 |    |    |    |    |-- serial: long (nullable = true)
 |    |    |    |    |-- target_name: string (nullable = true)
 |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |-- svc_params: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mandatory: string (nullable = true)
 |    |    |    |    |    |    |-- unknown: string (nullable = true)
 |    |    |-- authority: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- expire: long (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- minimum: long (nullable = true)
 |    |    |    |    |-- mname: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- refresh: long (nullable = true)
 |    |    |    |    |-- retry: long (nullable = true)
 |    |    |    |    |-- rname: string (nullable = true)
 |    |    |    |    |-- serial: long (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- svc_params: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mandatory: string (nullable = true)
 |    |    |    |    |    |    |-- unknown: string (nullable = true)
 |    |    |    |    |-- target_name: string (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- question: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |-- id: string (nullable = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- additional: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- expire: long (nullable = true)
 |    |    |    |    |-- minimum: long (nullable = true)
 |    |    |    |    |-- mname: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- refresh: long (nullable = true)
 |    |    |    |    |-- retry: long (nullable = true)
 |    |    |    |    |-- rname: string (nullable = true)
 |    |    |    |    |-- serial: long (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- answer: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |-- svc_params: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- alpn: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |    |    |-- ech_config: struct (nullable = true)
 |    |    |    |    |    |    |    |-- extensions: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |    |-- data: string (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |    |    |    |-- hpke_key_config: struct (nullable = true)
 |    |    |    |    |    |    |    |    |-- config_id: long (nullable = true)
 |    |    |    |    |    |    |    |    |-- hpke_symmetric_cipher_suite: array (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |    |    |-- aead: string (nullable = true)
 |    |    |    |    |    |    |    |    |    |    |-- kdf: string (nullable = true)
 |    |    |    |    |    |    |    |    |-- kem: string (nullable = true)
 |    |    |    |    |    |    |    |    |-- public_key: string (nullable = true)
 |    |    |    |    |    |    |    |-- maximum_name_length: long (nullable = true)
 |    |    |    |    |    |    |    |-- public_name: string (nullable = true)
 |    |    |    |    |    |    |    |-- version: string (nullable = true)
 |    |    |    |    |    |    |-- ipv4hint: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |    |    |-- ipv6hint: array (nullable = true)
 |    |    |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |    |    |-- key: string (nullable = true)
 |    |    |    |    |    |    |-- no_default_alpn: string (nullable = true)
 |    |    |    |    |    |    |-- unknown: string (nullable = true)
 |    |    |    |    |    |    |-- value: long (nullable = true)
 |    |    |    |    |-- target_name: string (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- expire: long (nullable = true)
 |    |    |    |    |-- minimum: long (nullable = true)
 |    |    |    |    |-- mname: string (nullable = true)
 |    |    |    |    |-- refresh: long (nullable = true)
 |    |    |    |    |-- retry: long (nullable = true)
 |    |    |    |    |-- rname: string (nullable = true)
 |    |    |    |    |-- serial: long (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- authority: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- expire: long (nullable = true)
 |    |    |    |    |-- minimum: long (nullable = true)
 |    |    |    |    |-- mname: string (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- refresh: long (nullable = true)
 |    |    |    |    |-- retry: long (nullable = true)
 |    |    |    |    |-- rname: string (nullable = true)
 |    |    |    |    |-- serial: long (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- svc_params: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- mandatory: string (nullable = true)
 |    |    |    |    |-- target_name: string (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- question: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |-- id: string (nullable = true)
 |-- dhcp: struct (nullable = true)
 |    |-- client_id: struct (nullable = true)
 |    |    |-- address: string (nullable = true)
 |    |    |-- hw_type: string (nullable = true)
 |    |    |-- hw_type_code: long (nullable = true)
 |    |    |-- oui: string (nullable = true)
 |    |    |-- iaid: long (nullable = true)
 |    |-- options: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- length: long (nullable = true)
 |    |    |    |-- tag: long (nullable = true)
 |    |    |    |-- value: string (nullable = true)
 |    |    |    |-- client_id: string (nullable = true)
 |    |    |    |-- end: string (nullable = true)
 |    |    |    |-- hostname: string (nullable = true)
 |    |    |    |-- hwtype: long (nullable = true)
 |    |    |    |-- ip_address_lease_time: long (nullable = true)
 |    |    |    |-- msg_type: long (nullable = true)
 |    |    |    |-- oui: string (nullable = true)
 |    |    |    |-- pad: string (nullable = true)
 |    |    |    |-- vendor_class_id: string (nullable = true)
 |    |-- hostname: string (nullable = true)
 |    |-- msg_type: string (nullable = true)
 |    |-- requested_address: string (nullable = true)
 |    |-- vendor_class_id: string (nullable = true)
 |-- wireguard: struct (nullable = true)
 |    |-- sender_index: string (nullable = true)
 |-- quic: struct (nullable = true)
 |    |-- ack: struct (nullable = true)
 |    |    |-- ack_delay: long (nullable = true)
 |    |    |-- ack_range_count: long (nullable = true)
 |    |    |-- first_ack_range: long (nullable = true)
 |    |    |-- largest_acked: long (nullable = true)
 |    |-- ack_ecn: struct (nullable = true)
 |    |    |-- ack: struct (nullable = true)
 |    |    |    |-- ack_delay: long (nullable = true)
 |    |    |    |-- ack_range_count: long (nullable = true)
 |    |    |    |-- first_ack_range: long (nullable = true)
 |    |    |    |-- largest_acked: long (nullable = true)
 |    |    |-- ecn_ce: long (nullable = true)
 |    |    |-- ect0: long (nullable = true)
 |    |    |-- ect1: long (nullable = true)
 |    |-- connection_close: struct (nullable = true)
 |    |    |-- error_code: long (nullable = true)
 |    |    |-- frame_type: long (nullable = true)
 |    |    |-- reason_phrase: string (nullable = true)
 |    |-- connection_info: string (nullable = true)
 |    |-- data: string (nullable = true)
 |    |-- dcid: string (nullable = true)
 |    |-- plaintext: string (nullable = true)
 |    |-- salt_string: string (nullable = true)
 |    |-- scid: string (nullable = true)
 |    |-- token: string (nullable = true)
 |    |-- version: string (nullable = true)
 |-- esp: struct (nullable = true)
 |    |-- payload_length: long (nullable = true)
 |    |-- payload: string (nullable = true)
 |    |-- seq: string (nullable = true)
 |    |-- spi: string (nullable = true)
 |-- ike: struct (nullable = true)
 |    |-- exchange_type: string (nullable = true)
 |    |-- initiator: boolean (nullable = true)
 |    |-- initiator_spi: string (nullable = true)
 |    |-- length: long (nullable = true)
 |    |-- major_version: long (nullable = true)
 |    |-- minor_version: long (nullable = true)
 |    |-- message_id: long (nullable = true)
 |    |-- payloads: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- critical: boolean (nullable = true)
 |    |    |    |-- data: string (nullable = true)
 |    |    |    |-- diffie_hellman_group_type: string (nullable = true)
 |    |    |    |-- nonce: string (nullable = true)
 |    |    |    |-- notify_message_error_type: string (nullable = true)
 |    |    |    |-- notify_message_status_type: string (nullable = true)
 |    |    |    |-- payload_length: long (nullable = true)
 |    |    |    |-- payload: string (nullable = true)
 |    |    |    |-- payload_type: string (nullable = true)
 |    |    |    |-- proposals: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- last_proposal: long (nullable = true)
 |    |    |    |    |    |-- num_transforms: long (nullable = true)
 |    |    |    |    |    |-- proposal_length: long (nullable = true)
 |    |    |    |    |    |-- proposal_num: long (nullable = true)
 |    |    |    |    |    |-- protocol_id: long (nullable = true)
 |    |    |    |    |    |-- spi_size: long (nullable = true)
 |    |    |    |    |    |-- spi: string (nullable = true)
 |    |    |    |    |    |-- transforms: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- attributes: array (nullable = true)
 |    |    |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |    |    |-- af: long (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- attribute_type: long (nullable = true)
 |    |    |    |    |    |    |    |    |    |-- value: string (nullable = true)
 |    |    |    |    |    |    |    |-- diffie_hellman_group_type: string (nullable = true)
 |    |    |    |    |    |    |    |-- encryption_transform_type: string (nullable = true)
 |    |    |    |    |    |    |    |-- extended_sequence_numbers_type: string (nullable = true)
 |    |    |    |    |    |    |    |-- integrity_transform_type: string (nullable = true)
 |    |    |    |    |    |    |    |-- last_transform: long (nullable = true)
 |    |    |    |    |    |    |    |-- pseudorandom_function_type: string (nullable = true)
 |    |    |    |    |    |    |    |-- transform_length: long (nullable = true)
 |    |    |    |    |    |    |    |-- transform_id: long (nullable = true)
 |    |    |    |    |    |    |    |-- transform_type: string (nullable = true)
 |    |    |    |-- security_protocol_type: string (nullable = true)
 |    |    |    |-- spi: string (nullable = true)
 |    |    |    |-- vendor_id_hex: string (nullable = true)
 |    |-- responder_spi: string (nullable = true)
 |    |-- response: boolean (nullable = true)
 |    |-- version: boolean (nullable = true)
 |-- bittorrent: struct (nullable = true)
 |    |-- extension_bytes: string (nullable = true)
 |    |-- features: string (nullable = true)
 |    |-- info_dict: string (nullable = true)
 |    |-- messages: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- message_type: string (nullable = true)
 |    |    |    |-- message_length: long (nullable = true)
 |    |    |    |-- message: string (nullable = true)
 |    |-- peer_id: string (nullable = true)
 |-- bittorrent_dht: struct (nullable = true)
 |    |-- features: string (nullable = true)
 |    |-- attributes: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- key: string (nullable = true)
 |    |    |    |-- value: string (nullable = true)
 |    |    |    |-- value_hex: string (nullable = true)
 |    |    |    |-- attributes: array (nullable = true)
 |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |-- key: string (nullable = true)
 |    |    |    |    |    |-- value: string (nullable = true)
 |    |    |    |    |    |-- value_hex: string (nullable = true)
 |    |    |    |    |    |-- attributes: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- key: string (nullable = true)
 |    |    |    |    |    |    |    |-- value: string (nullable = true)
 |    |    |    |    |    |    |    |-- value_hex: string (nullable = true)
 |-- bittorrent_lsd: struct (nullable = true)
 |    |-- version: string (nullable = true)
 |    |-- features: string (nullable = true)
 |    |-- headers: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- key: string (nullable = true)
 |    |    |    |-- value: string (nullable = true)
 |-- dnp3: struct (nullable = true)
 |    |-- app: struct (nullable = true)
 |    |    |-- app_hdr: struct (nullable = true)
 |    |    |    |-- con: boolean (nullable = true)
 |    |    |    |-- fin: boolean (nullable = true)
 |    |    |    |-- fir: boolean (nullable = true)
 |    |    |    |-- func_str: string (nullable = true)
 |    |    |    |-- internal_indications: string (nullable = true)
 |    |    |    |-- resp: boolean (nullable = true)
 |    |    |    |-- seq: long (nullable = true)
 |    |    |    |-- uns: boolean (nullable = true)
 |    |    |-- left_obj_data: long (nullable = true)
 |    |-- link: struct (nullable = true)
 |    |    |-- block_count: long (nullable = true)
 |    |    |-- control: struct (nullable = true)
 |    |    |    |-- dfc: boolean (nullable = true)
 |    |    |    |-- dir: boolean (nullable = true)
 |    |    |    |-- fcb: boolean (nullable = true)
 |    |    |    |-- fcv: boolean (nullable = true)
 |    |    |    |-- func_fcv_mismatch: boolean (nullable = true)
 |    |    |    |-- func_str: string (nullable = true)
 |    |    |    |-- prim: boolean (nullable = true)
 |    |    |    |-- prim_fcb_mismatch: boolean (nullable = true)
 |    |    |    |-- sec_buffer_exceed: boolean (nullable = true)
 |    |    |-- data_len: long (nullable = true)
 |    |    |-- dest_addr: long (nullable = true)
 |    |    |-- src_addr: long (nullable = true)
 |    |-- transport: struct (nullable = true)
 |    |    |-- fin: boolean (nullable = true)
 |    |    |-- fir: boolean (nullable = true)
 |    |    |-- seq: long (nullable = true)
 |-- ftp: struct (nullable = true)
 |    |-- request: struct (nullable = true)
 |    |    |-- command: string (nullable = true)
 |    |    |-- argument: string (nullable = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- reply_text: string (nullable = true)
 |    |    |-- status_code: string (nullable = true)
 |-- iec60870_5_104: struct (nullable = true)
 |    |-- apdu_length: long (nullable = true)
 |    |-- i_frame: struct (nullable = true)
 |    |    |-- asdu_address: long (nullable = true)
 |    |    |-- cot: string (nullable = true)
 |    |    |-- info_objs: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- information_element: string (nullable = true)
 |    |    |    |    |-- information_object_address: string (nullable = true)
 |    |    |-- information_object: struct (nullable = true)
 |    |    |    |-- information_elements: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- information_object_address: string (nullable = true)
 |    |    |-- negative_confirm: boolean (nullable = true)
 |    |    |-- number_of_objects: long (nullable = true)
 |    |    |-- originator_address: long (nullable = true)
 |    |    |-- receive_sequence_number: long (nullable = true)
 |    |    |-- send_sequence_number: long (nullable = true)
 |    |    |-- sq: boolean (nullable = true)
 |    |    |-- test_bit: boolean (nullable = true)
 |    |    |-- type_id: string (nullable = true)
 |    |-- s_frame: struct (nullable = true)
 |    |    |-- receive_sequence_number: long (nullable = true)
 |    |-- u_frame: struct (nullable = true)
 |    |    |-- u_frame_function: string (nullable = true)
 |-- imap: struct (nullable = true)
 |    |-- requests: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- args_length: long (nullable = true)
 |    |    |    |-- arguments: string (nullable = true)
 |    |    |    |-- auth_type: string (nullable = true)
 |    |    |    |-- command: string (nullable = true)
 |    |    |    |-- data: string (nullable = true)
 |    |    |    |-- is_tagged: boolean (nullable = true)
 |    |    |    |-- password: string (nullable = true)
 |    |    |    |-- tag: string (nullable = true)
 |    |    |    |-- type: string (nullable = true)
 |    |    |    |-- username: string (nullable = true)
 |    |-- responses: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- data: string (nullable = true)
 |    |    |    |-- is_tagged: boolean (nullable = true)
 |    |    |    |-- status: string (nullable = true)
 |    |    |    |-- tag: string (nullable = true)
 |    |    |    |-- text: string (nullable = true)
 |    |    |    |-- type: string (nullable = true)
 |-- kerberos: struct (nullable = true)
 |    |-- error: struct (nullable = true)
 |    |    |-- e_data: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- pa_data_type: string (nullable = true)
 |    |    |    |    |-- pa_etype_info2: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- etype: string (nullable = true)
 |    |    |    |    |    |    |-- salt: string (nullable = true)
 |    |    |    |    |-- value_hex: string (nullable = true)
 |    |    |-- error_code: string (nullable = true)
 |    |    |-- msg_type: string (nullable = true)
 |    |    |-- pvno: long (nullable = true)
 |    |    |-- realm: string (nullable = true)
 |    |    |-- sname: struct (nullable = true)
 |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- type: string (nullable = true)
 |    |    |-- stime: string (nullable = true)
 |    |    |-- susec: long (nullable = true)
 |    |-- kdc_rep: struct (nullable = true)
 |    |    |-- cname: struct (nullable = true)
 |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- type: string (nullable = true)
 |    |    |-- crealm: string (nullable = true)
 |    |    |-- enc_data: struct (nullable = true)
 |    |    |    |-- ciphertext_length: long (nullable = true)
 |    |    |    |-- etype: string (nullable = true)
 |    |    |    |-- kvno: long (nullable = true)
 |    |    |-- msg_type: string (nullable = true)
 |    |    |-- pa_data: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- pa_data_type: string (nullable = true)
 |    |    |    |    |-- pa_etype_info2: array (nullable = true)
 |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |-- etype: string (nullable = true)
 |    |    |    |    |    |    |-- salt: string (nullable = true)
 |    |    |-- pvno: long (nullable = true)
 |    |    |-- ticket: struct (nullable = true)
 |    |    |    |-- enc_data: struct (nullable = true)
 |    |    |    |    |-- ciphertext_length: long (nullable = true)
 |    |    |    |    |-- etype: string (nullable = true)
 |    |    |    |    |-- kvno: long (nullable = true)
 |    |    |    |-- realm: string (nullable = true)
 |    |    |    |-- sname: struct (nullable = true)
 |    |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |-- vno: long (nullable = true)
 |    |-- kdc_req: struct (nullable = true)
 |    |    |-- body: struct (nullable = true)
 |    |    |    |-- cname: struct (nullable = true)
 |    |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |-- etype: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- kdc_options: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- nonce: long (nullable = true)
 |    |    |    |-- realm: string (nullable = true)
 |    |    |    |-- rtime: string (nullable = true)
 |    |    |    |-- sname: struct (nullable = true)
 |    |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |-- till: string (nullable = true)
 |    |    |-- msg_type: string (nullable = true)
 |    |    |-- pa_data: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- pa_data_type: string (nullable = true)
 |    |    |    |    |-- pa_enc_timestamp: struct (nullable = true)
 |    |    |    |    |    |-- enc_timestamp: struct (nullable = true)
 |    |    |    |    |    |    |-- ciphertext_length: long (nullable = true)
 |    |    |    |    |    |    |-- etype: string (nullable = true)
 |    |    |    |    |-- value_hex: string (nullable = true)
 |    |    |-- pvno: long (nullable = true)
 |    |-- tgs_rep: struct (nullable = true)
 |    |    |-- cname: struct (nullable = true)
 |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- type: string (nullable = true)
 |    |    |-- crealm: string (nullable = true)
 |    |    |-- enc_data: struct (nullable = true)
 |    |    |    |-- ciphertext_length: long (nullable = true)
 |    |    |    |-- etype: string (nullable = true)
 |    |    |-- msg_type: string (nullable = true)
 |    |    |-- pvno: long (nullable = true)
 |    |    |-- ticket: struct (nullable = true)
 |    |    |    |-- enc_data: struct (nullable = true)
 |    |    |    |    |-- ciphertext_length: long (nullable = true)
 |    |    |    |    |-- etype: string (nullable = true)
 |    |    |    |    |-- kvno: long (nullable = true)
 |    |    |    |-- realm: string (nullable = true)
 |    |    |    |-- sname: struct (nullable = true)
 |    |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |-- vno: long (nullable = true)
 |-- ldap: struct (nullable = true)
 |    |-- bind_request: struct (nullable = true)
 |    |    |-- auth: struct (nullable = true)
 |    |    |    |-- sasl: struct (nullable = true)
 |    |    |    |    |-- gssapi: struct (nullable = true)
 |    |    |    |    |    |-- base64: string (nullable = true)
 |    |    |    |    |-- gss_spnego: struct (nullable = true)
 |    |    |    |    |    |-- base64: string (nullable = true)
 |    |    |    |    |-- UNKNOWN: struct (nullable = true)
 |    |    |    |    |    |-- base64: string (nullable = true)
 |    |    |    |-- simple: string (nullable = true)
 |    |    |    |-- truncated: string (nullable = true)
 |    |    |    |-- unknown: string (nullable = true)
 |    |    |-- ldapdn: string (nullable = true)
 |    |    |-- truncated: string (nullable = true)
 |    |    |-- version: string (nullable = true)
 |    |-- bind_response: struct (nullable = true)
 |    |    |-- diagnostic_message: string (nullable = true)
 |    |    |-- matched_dn: string (nullable = true)
 |    |    |-- result_code: string (nullable = true)
 |    |    |-- truncated: string (nullable = true)
 |    |-- message_id: string (nullable = true)
 |-- mdns: struct (nullable = true)
 |    |-- query: struct (nullable = true)
 |    |    |-- additional: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |-- answer: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |-- authority: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- question: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |-- id: string (nullable = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- additional: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |-- answer: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- authority: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- domain_name: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- ns_domain_name: string (nullable = true)
 |    |    |    |    |-- srv: struct (nullable = true)
 |    |    |    |    |    |-- port: long (nullable = true)
 |    |    |    |    |    |-- priority: long (nullable = true)
 |    |    |    |    |    |-- target: string (nullable = true)
 |    |    |    |    |    |-- weight: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- txt: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |-- question: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |-- id: string (nullable = true)
 |-- mysql_login: struct (nullable = true)
 |    |-- auth_data: string (nullable = true)
 |    |-- auth_plugin: string (nullable = true)
 |    |-- collation: string (nullable = true)
 |    |-- mariadb: boolean (nullable = true)
 |    |-- mariadb_extended: long (nullable = true)
 |    |-- pkt_num: long (nullable = true)
 |    |-- ssl_request: boolean (nullable = true)
 |    |-- username: string (nullable = true)
 |-- mysql_server: struct (nullable = true)
 |    |-- auth_plugin_len: long (nullable = true)
 |    |-- auth_plugin: string (nullable = true)
 |    |-- capabilities_str: array (nullable = true)
 |    |    |-- element: string (containsNull = true)
 |    |-- capabilities_value: string (nullable = true)
 |    |-- collation: string (nullable = true)
 |    |-- ext_capabilities_str: array (nullable = true)
 |    |    |-- element: string (containsNull = true)
 |    |-- extended_capabilities_value: string (nullable = true)
 |    |-- mariadb: boolean (nullable = true)
 |    |-- mariadb_extended: long (nullable = true)
 |    |-- pkt_num: long (nullable = true)
 |    |-- salt: string (nullable = true)
 |    |-- server_status_str: array (nullable = true)
 |    |    |-- element: string (containsNull = true)
 |    |-- server_status_value: string (nullable = true)
 |    |-- version: string (nullable = true)
 |-- nbns: struct (nullable = true)
 |    |-- base64: string (nullable = true)
 |    |-- query: struct (nullable = true)
 |    |    |-- additional: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- rdata: string (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |-- answer: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- nbstat: struct (nullable = true)
 |    |    |    |    |    |-- jumpers: long (nullable = true)
 |    |    |    |    |    |-- max_total_sessions_possible: long (nullable = true)
 |    |    |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- name_flags: string (nullable = true)
 |    |    |    |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |    |-- number_of_alignment_errors: long (nullable = true)
 |    |    |    |    |    |-- number_of_collisions: long (nullable = true)
 |    |    |    |    |    |-- number_of_command_blocks: long (nullable = true)
 |    |    |    |    |    |-- number_of_crcs: long (nullable = true)
 |    |    |    |    |    |-- number_of_good_receives: long (nullable = true)
 |    |    |    |    |    |-- number_of_good_sends: long (nullable = true)
 |    |    |    |    |    |-- max_pending_sessions: long (nullable = true)
 |    |    |    |    |    |-- number_of_no_resource_conditions: long (nullable = true)
 |    |    |    |    |    |-- number_of_pending_sessions: long (nullable = true)
 |    |    |    |    |    |-- number_of_retransmits: long (nullable = true)
 |    |    |    |    |    |-- number_of_send_aborts: long (nullable = true)
 |    |    |    |    |    |-- period_of_statistics: long (nullable = true)
 |    |    |    |    |    |-- session_data_packet_size: long (nullable = true)
 |    |    |    |    |    |-- test_result: long (nullable = true)
 |    |    |    |    |    |-- unit_id: string (nullable = true)
 |    |    |    |    |    |-- version_number: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |-- question: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |-- authority: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |-- id: string (nullable = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- additional: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- ip6_addr: string (nullable = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |-- answer: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- nb: struct (nullable = true)
 |    |    |    |    |    |-- group_name_flag: long (nullable = true)
 |    |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |    |-- owner_node_type: long (nullable = true)
 |    |    |    |    |-- nbstat: struct (nullable = true)
 |    |    |    |    |    |-- jumpers: long (nullable = true)
 |    |    |    |    |    |-- max_total_sessions_possible: long (nullable = true)
 |    |    |    |    |    |-- names: array (nullable = true)
 |    |    |    |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |    |    |    |-- name_flags: string (nullable = true)
 |    |    |    |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |    |-- number_of_alignment_errors: long (nullable = true)
 |    |    |    |    |    |-- number_of_collisions: long (nullable = true)
 |    |    |    |    |    |-- number_of_command_blocks: long (nullable = true)
 |    |    |    |    |    |-- number_of_crcs: long (nullable = true)
 |    |    |    |    |    |-- number_of_good_receives: long (nullable = true)
 |    |    |    |    |    |-- number_of_good_sends: long (nullable = true)
 |    |    |    |    |    |-- max_pending_sessions: long (nullable = true)
 |    |    |    |    |    |-- number_of_no_resource_conditions: long (nullable = true)
 |    |    |    |    |    |-- number_of_pending_sessions: long (nullable = true)
 |    |    |    |    |    |-- number_of_retransmits: long (nullable = true)
 |    |    |    |    |    |-- number_of_send_aborts: long (nullable = true)
 |    |    |    |    |    |-- period_of_statistics: long (nullable = true)
 |    |    |    |    |    |-- session_data_packet_size: long (nullable = true)
 |    |    |    |    |    |-- test_result: long (nullable = true)
 |    |    |    |    |    |-- unit_id: string (nullable = true)
 |    |    |    |    |    |-- version_number: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |-- authority: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |    |-- ttl: long (nullable = true)
 |    |    |    |    |-- unknown_rr_type: long (nullable = true)
 |    |    |    |    |-- unknown_rr_value: string (nullable = true)
 |    |    |    |    |-- nsec: struct (nullable = true)
 |    |    |    |    |    |-- next_domain_name: string (nullable = true)
 |    |    |    |    |    |-- type_bit_maps: string (nullable = true)
 |    |    |-- question: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- class: string (nullable = true)
 |    |    |    |    |-- class_code: long (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- type: string (nullable = true)
 |    |    |    |    |-- type_code: long (nullable = true)
 |    |    |-- id: string (nullable = true)
 |-- nbds: struct (nullable = true)
 |    |-- datagram_id: long (nullable = true)
 |    |-- datagram_length: long (nullable = true)
 |    |-- data: string (nullable = true)
 |    |-- destination_name: string (nullable = true)
 |    |-- flags: string (nullable = true)
 |    |-- msg_type: string (nullable = true)
 |    |-- packet_offset: long (nullable = true)
 |    |-- source_name: string (nullable = true)
 |    |-- source_ip: string (nullable = true)
 |    |-- source_port: long (nullable = true)
 |-- nbss: struct (nullable = true)
 |    |-- type: string (nullable = true)
 |    |-- length: long (nullable = true)
 |    |-- data: string (nullable = true)
 |-- openvpn: struct (nullable = true)
 |    |-- data_len: long (nullable = true)
 |    |-- has_tls: boolean (nullable = true)
 |    |-- num_records: long (nullable = true)
 |    |-- records: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- hmac: boolean (nullable = true)
 |    |    |    |-- id_array_len: long (nullable = true)
 |    |    |    |-- msg_pkt_id: long (nullable = true)
 |    |    |    |-- net_time: long (nullable = true)
 |    |    |    |-- opcode: string (nullable = true)
 |    |    |    |-- replay_pkt_id: long (nullable = true)
 |    |    |    |-- session_id: string (nullable = true)
 |-- smb1: struct (nullable = true)
 |    |-- DFS: boolean (nullable = true)
 |    |-- NT_error_codes: boolean (nullable = true)
 |    |-- batch_oplock: boolean (nullable = true)
 |    |-- canonicalized_path: boolean (nullable = true)
 |    |-- case_insensitive: boolean (nullable = true)
 |    |-- command: string (nullable = true)
 |    |-- compressed: boolean (nullable = true)
 |    |-- extended_attributes: boolean (nullable = true)
 |    |-- extended_security: boolean (nullable = true)
 |    |-- lock_and_read: boolean (nullable = true)
 |    |-- long_name: boolean (nullable = true)
 |    |-- long_names_allowed: boolean (nullable = true)
 |    |-- multiplex_id: long (nullable = true)
 |    |-- negotiate_request: struct (nullable = true)
 |    |    |-- dialects: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |-- oplock: boolean (nullable = true)
 |    |-- process_id_high: long (nullable = true)
 |    |-- process_id_low: long (nullable = true)
 |    |-- read_if_execute: boolean (nullable = true)
 |    |-- receive_buffer_available: boolean (nullable = true)
 |    |-- reparse_path: boolean (nullable = true)
 |    |-- response: boolean (nullable = true)
 |    |-- security_signatures_allowed: boolean (nullable = true)
 |    |-- security_signatures_required: boolean (nullable = true)
 |    |-- signature: string (nullable = true)
 |    |-- status: string (nullable = true)
 |    |-- tree_id: long (nullable = true)
 |    |-- unicode_string: boolean (nullable = true)
 |    |-- user_id: long (nullable = true)
 |-- smb2: struct (nullable = true)
 |    |-- async_command: boolean (nullable = true)
 |    |-- chained_request: boolean (nullable = true)
 |    |-- command: string (nullable = true)
 |    |-- credit_charge: long (nullable = true)
 |    |-- credits_granted: long (nullable = true)
 |    |-- credits_requested: long (nullable = true)
 |    |-- dfs_operation: boolean (nullable = true)
 |    |-- features: string (nullable = true)
 |    |-- message_id: string (nullable = true)
 |    |-- negotiate_request: struct (nullable = true)
 |    |    |-- capabilities: string (nullable = true)
 |    |    |-- dialect_count: long (nullable = true)
 |    |    |-- dialects: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |    |-- guid: string (nullable = true)
 |    |    |-- negotiate_context_count: long (nullable = true)
 |    |    |-- negotiate_context_offset: string (nullable = true)
 |    |    |-- negotiate_contexts: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- cipher_count: long (nullable = true)
 |    |    |    |    |-- ciphers: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- compression_algorithm_count: long (nullable = true)
 |    |    |    |    |-- compression_algorithms: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- context_type: string (nullable = true)
 |    |    |    |    |-- data_length: long (nullable = true)
 |    |    |    |    |-- flags: string (nullable = true)
 |    |    |    |    |-- hash_algorithm_count: long (nullable = true)
 |    |    |    |    |-- hash_algorithms: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- netname: string (nullable = true)
 |    |    |    |    |-- rdma_transform_ids: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- salt: string (nullable = true)
 |    |    |    |    |-- signing_algorithm_count: long (nullable = true)
 |    |    |    |    |-- signing_algorithms: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- transform_count: long (nullable = true)
 |    |    |    |    |-- value: string (nullable = true)
 |    |    |-- security_mode: string (nullable = true)
 |    |    |-- structure_size: long (nullable = true)
 |    |-- negotiate_response: struct (nullable = true)
 |    |    |-- capabilities: string (nullable = true)
 |    |    |-- dialect: string (nullable = true)
 |    |    |-- guid: string (nullable = true)
 |    |    |-- max_read_size: long (nullable = true)
 |    |    |-- max_transact_size: long (nullable = true)
 |    |    |-- max_write_size: long (nullable = true)
 |    |    |-- negotiate_context_count: long (nullable = true)
 |    |    |-- negotiate_contexts: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- cipher_count: long (nullable = true)
 |    |    |    |    |-- ciphers: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- compression_algorithm_count: long (nullable = true)
 |    |    |    |    |-- compression_algorithms: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- context_type: string (nullable = true)
 |    |    |    |    |-- data_length: long (nullable = true)
 |    |    |    |    |-- flags: string (nullable = true)
 |    |    |    |    |-- hash_algorithm_count: long (nullable = true)
 |    |    |    |    |-- hash_algorithms: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- rdma_transform_ids: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- signing_algorithm_count: long (nullable = true)
 |    |    |    |    |-- signing_algorithms: array (nullable = true)
 |    |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |    |-- salt: string (nullable = true)
 |    |    |    |    |-- transform_count: long (nullable = true)
 |    |    |    |    |-- value: string (nullable = true)
 |    |    |-- security_buffer_length: long (nullable = true)
 |    |    |-- security_buffer_offset: long (nullable = true)
 |    |    |-- security_mode: string (nullable = true)
 |    |    |-- server_start_time: string (nullable = true)
 |    |    |-- structure_size: long (nullable = true)
 |    |    |-- system_time: string (nullable = true)
 |    |-- next_command: string (nullable = true)
 |    |-- priority: string (nullable = true)
 |    |-- process_id: string (nullable = true)
 |    |-- replay_operation: boolean (nullable = true)
 |    |-- response: boolean (nullable = true)
 |    |-- session_id: string (nullable = true)
 |    |-- signature: string (nullable = true)
 |    |-- signed: boolean (nullable = true)
 |    |-- status: string (nullable = true)
 |    |-- structure_size: long (nullable = true)
 |    |-- tree_id: string (nullable = true)
 |-- snmp: struct (nullable = true)
 |    |-- auth: boolean (nullable = true)
 |    |-- community: string (nullable = true)
 |    |-- context_engine_id: string (nullable = true)
 |    |-- context_name: string (nullable = true)
 |    |-- encrypted_pdu_length: long (nullable = true)
 |    |-- engine_id: struct (nullable = true)
 |    |    |-- address: string (nullable = true)
 |    |    |-- agent_id: string (nullable = true)
 |    |    |-- data: string (nullable = true)
 |    |    |-- enterprise_number: long (nullable = true)
 |    |    |-- format_type: long (nullable = true)
 |    |    |-- mac: string (nullable = true)
 |    |    |-- octets: string (nullable = true)
 |    |    |-- text: string (nullable = true)
 |    |    |-- v3_format: boolean (nullable = true)
 |    |-- engine_id_raw: string (nullable = true)
 |    |-- msg_security_model: long (nullable = true)
 |    |-- password_recovery: string (nullable = true)
 |    |-- pdu: struct (nullable = true)
 |    |    |-- error_index: string (nullable = true)
 |    |    |-- error_status: string (nullable = true)
 |    |    |-- request_id: long (nullable = true)
 |    |    |-- var_bind_list: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- bit_string_hex: string (nullable = true)
 |    |    |    |    |-- boolean: boolean (nullable = true)
 |    |    |    |    |-- counter32: long (nullable = true)
 |    |    |    |    |-- counter64: long (nullable = true)
 |    |    |    |    |-- integer: long (nullable = true)
 |    |    |    |    |-- ipv4_address: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- null: boolean (nullable = true)
 |    |    |    |    |-- octet_string: string (nullable = true)
 |    |    |    |    |-- oid: string (nullable = true)
 |    |    |    |    |-- opaque: string (nullable = true)
 |    |    |    |    |-- time_ticks: long (nullable = true)
 |    |    |    |    |-- truncated: string (nullable = true)
 |    |    |    |    |-- unsigned32: long (nullable = true)
 |    |    |    |    |-- value_tlv_hex: string (nullable = true)
 |    |-- pdu_type: string (nullable = true)
 |    |-- priv: boolean (nullable = true)
 |    |-- trap: struct (nullable = true)
 |    |    |-- agent_addr: string (nullable = true)
 |    |    |-- enterprise: string (nullable = true)
 |    |    |-- generic_trap: string (nullable = true)
 |    |    |-- remainder: string (nullable = true)
 |    |    |-- specific_trap: string (nullable = true)
 |    |    |-- timestamp: string (nullable = true)
 |    |    |-- var_bind_list: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- counter32: long (nullable = true)
 |    |    |    |    |-- counter64: long (nullable = true)
 |    |    |    |    |-- integer: long (nullable = true)
 |    |    |    |    |-- ipv4_address: string (nullable = true)
 |    |    |    |    |-- name: string (nullable = true)
 |    |    |    |    |-- octet_string: string (nullable = true)
 |    |    |    |    |-- oid: string (nullable = true)
 |    |    |    |    |-- time_ticks: long (nullable = true)
 |    |    |    |    |-- unsigned32: long (nullable = true)
 |    |    |    |    |-- value_tlv_hex: string (nullable = true)
 |    |-- user_name: string (nullable = true)
 |    |-- version: long (nullable = true)
 |-- socks4: struct (nullable = true)
 |    |-- cmd: string (nullable = true)
 |    |-- domain: string (nullable = true)
 |    |-- id: string (nullable = true)
 |    |-- ip: string (nullable = true)
 |    |-- port: long (nullable = true)
 |    |-- socks4a: boolean (nullable = true)
 |-- socks5: struct (nullable = true)
 |    |-- auth_list: array (nullable = true)
 |    |    |-- element: string (containsNull = true)
 |    |-- nauth: long (nullable = true)
 |-- socks5_req_resp: struct (nullable = true)
 |    |-- addr: string (nullable = true)
 |    |-- addr_type: long (nullable = true)
 |    |-- cmd: string (nullable = true)
 |    |-- domain: string (nullable = true)
 |    |-- dst_port: long (nullable = true)
 |    |-- ipv4: string (nullable = true)
 |-- ssdp: struct (nullable = true)
 |    |-- m_search: struct (nullable = true)
 |    |    |-- method: string (nullable = true)
 |    |    |-- host: string (nullable = true)
 |    |    |-- notify_type: string (nullable = true)
 |    |    |-- features: string (nullable = true)
 |    |    |-- man: string (nullable = true)
 |    |    |-- target: string (nullable = true)
 |    |    |-- user_agent: string (nullable = true)
 |    |    |-- delay: string (nullable = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- bootid: string (nullable = true)
 |    |    |-- cache_control: string (nullable = true)
 |    |    |-- conf_id: string (nullable = true)
 |    |    |-- date: string (nullable = true)
 |    |    |-- delay: string (nullable = true)
 |    |    |-- ext: string (nullable = true)
 |    |    |-- features: string (nullable = true)
 |    |    |-- host: string (nullable = true)
 |    |    |-- location: string (nullable = true)
 |    |    |-- method: string (nullable = true)
 |    |    |-- notify_type: string (nullable = true)
 |    |    |-- notify_subtype: string (nullable = true)
 |    |    |-- nls: string (nullable = true)
 |    |    |-- opt: string (nullable = true)
 |    |    |-- searchport: string (nullable = true)
 |    |    |-- server: string (nullable = true)
 |    |    |-- target: string (nullable = true)
 |    |    |-- user_agent: string (nullable = true)
 |    |    |-- usn: string (nullable = true)
 |    |-- notify: struct (nullable = true)
 |    |    |-- method: string (nullable = true)
 |    |    |-- host: string (nullable = true)
 |    |    |-- notify_type: string (nullable = true)
 |    |    |-- notify_subtype: string (nullable = true)
 |    |    |-- bootid: string (nullable = true)
 |    |    |-- conf_id: string (nullable = true)
 |    |    |-- cache_control: string (nullable = true)
 |    |    |-- date: string (nullable = true)
 |    |    |-- delay: string (nullable = true)
 |    |    |-- ext: string (nullable = true)
 |    |    |-- features: string (nullable = true)
 |    |    |-- location: string (nullable = true)
 |    |    |-- nls: string (nullable = true)
 |    |    |-- opt: string (nullable = true)
 |    |    |-- server: string (nullable = true)
 |    |    |-- target: string (nullable = true)
 |    |    |-- user_agent: string (nullable = true)
 |    |    |-- usn: string (nullable = true)
 |-- stun: struct (nullable = true)
 |    |-- attributes: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- address: string (nullable = true)
 |    |    |    |-- channel_number: long (nullable = true)
 |    |    |    |-- class: long (nullable = true)
 |    |    |    |-- family: string (nullable = true)
 |    |    |    |-- hex_value: string (nullable = true)
 |    |    |    |-- kbps: long (nullable = true)
 |    |    |    |-- length: long (nullable = true)
 |    |    |    |-- message_type: string (nullable = true)
 |    |    |    |-- number: long (nullable = true)
 |    |    |    |-- port: long (nullable = true)
 |    |    |    |-- priority: long (nullable = true)
 |    |    |    |-- protocol: long (nullable = true)
 |    |    |    |-- reason_phrase: string (nullable = true)
 |    |    |    |-- seconds: long (nullable = true)
 |    |    |    |-- tiebreaker: string (nullable = true)
 |    |    |    |-- type: string (nullable = true)
 |    |    |    |-- type_code: long (nullable = true)
 |    |    |    |-- type_code_hex: string (nullable = true)
 |    |    |    |-- unparseable: string (nullable = true)
 |    |    |    |-- value: string (nullable = true)
 |    |    |    |-- x_address: string (nullable = true)
 |    |    |    |-- x_port: long (nullable = true)
 |    |-- class: string (nullable = true)
 |    |-- features: string (nullable = true)
 |    |-- malformed: boolean (nullable = true)
 |    |-- magic_cookie: boolean (nullable = true)
 |    |-- message_length: long (nullable = true)
 |    |-- message_type: string (nullable = true)
 |    |-- method: string (nullable = true)
 |    |-- method_type_code: long (nullable = true)
 |    |-- transaction_id: string (nullable = true)
 |    |-- usage: string (nullable = true)
 |-- arp: struct (nullable = true)
 |    |-- hw_addr_len: long (nullable = true)
 |    |-- hwtype: long (nullable = true)
 |    |-- opcode: string (nullable = true)
 |    |-- proto_addr_len: long (nullable = true)
 |    |-- protocol: long (nullable = true)
 |    |-- sender_hw_addr: string (nullable = true)
 |    |-- sender_proto_addr: string (nullable = true)
 |    |-- target_hw_addr: string (nullable = true)
 |    |-- target_proto_addr: string (nullable = true)
 |-- cdp: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- addresses: array (nullable = true)
 |    |    |    |-- element: struct (containsNull = true)
 |    |    |    |    |-- ipv4_addr: string (nullable = true)
 |    |    |    |    |-- ipv6_addr: string (nullable = true)
 |    |    |-- capabilities: string (nullable = true)
 |    |    |-- device_id: string (nullable = true)
 |    |    |-- full_duplex: boolean (nullable = true)
 |    |    |-- interface: string (nullable = true)
 |    |    |-- length: long (nullable = true)
 |    |    |-- mtu: long (nullable = true)
 |    |    |-- native_vlan_tag: string (nullable = true)
 |    |    |-- platform: string (nullable = true)
 |    |    |-- software_version: string (nullable = true)
 |    |    |-- sys_mib_oid: string (nullable = true)
 |    |    |-- sys_name_fqdn: string (nullable = true)
 |    |    |-- type: long (nullable = true)
 |    |    |-- value: string (nullable = true)
 |    |    |-- vtp_domain: string (nullable = true)
 |-- lldp: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- chassis_id: struct (nullable = true)
 |    |    |    |-- mac_address: string (nullable = true)
 |    |    |-- management_address: string (nullable = true)
 |    |    |-- organizationally_specific_tlv: struct (nullable = true)
 |    |    |    |-- oui: long (nullable = true)
 |    |    |    |-- substring: string (nullable = true)
 |    |    |    |-- subtype: long (nullable = true)
 |    |    |-- port_description: string (nullable = true)
 |    |    |-- port_id: struct (nullable = true)
 |    |    |    |-- xxx: string (nullable = true)
 |    |    |-- system_capabilities: struct (nullable = true)
 |    |    |    |-- capabilities: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |    |-- enabled_capabilities: array (nullable = true)
 |    |    |    |    |-- element: string (containsNull = true)
 |    |    |-- system_description: string (nullable = true)
 |    |    |-- system_name: string (nullable = true)
 |    |    |-- ttl: long (nullable = true)
 |-- ospf: struct (nullable = true)
 |    |-- area_id: long (nullable = true)
 |    |-- authentication: string (nullable = true)
 |    |-- au_type: string (nullable = true)
 |    |-- body: string (nullable = true)
 |    |-- router_id: long (nullable = true)
 |    |-- type: string (nullable = true)
 |    |-- version: long (nullable = true)
 |-- icmp: struct (nullable = true)
 |    |-- body: string (nullable = true)
 |    |-- code: long (nullable = true)
 |    |-- destination_unreachable: struct (nullable = true)
 |    |    |-- original_datagram: string (nullable = true)
 |    |-- echo: struct (nullable = true)
 |    |    |-- data: string (nullable = true)
 |    |    |-- identifier: long (nullable = true)
 |    |    |-- sequence_number: long (nullable = true)
 |    |-- packet_too_big: struct (nullable = true)
 |    |    |-- mtu: long (nullable = true)
 |    |    |-- original_datagram: string (nullable = true)
 |    |-- type: long (nullable = true)
 |-- sctp: struct (nullable = true)
 |    |-- src_port: long (nullable = true)
 |    |-- dst_port: long (nullable = true)
 |    |-- chunk: struct (nullable = true)
 |    |    |-- type: string (nullable = true)
 |    |    |-- flags: long (nullable = true)
 |    |    |-- length: long (nullable = true)
 |    |    |-- value: string (nullable = true)
 |-- rdp: struct (nullable = true)
 |    |-- cookie: string (nullable = true)
 |    |-- negotiation_request: struct (nullable = true)
 |    |    |-- flags: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |    |-- requested_protocols: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |-- redis: struct (nullable = true)
 |    |-- request: struct (nullable = true)
 |    |    |-- auth: struct (nullable = true)
 |    |    |    |-- password: string (nullable = true)
 |    |    |    |-- username: string (nullable = true)
 |    |    |-- command: string (nullable = true)
 |    |-- response: struct (nullable = true)
 |    |    |-- data: string (nullable = true)
 |    |    |-- truncated: boolean (nullable = true)
 |    |    |-- type: string (nullable = true)
 |-- syslog: struct (nullable = true)
 |    |-- body: string (nullable = true)
 |    |-- facility: string (nullable = true)
 |    |-- severity: string (nullable = true)
 |-- tacacs_plus: struct (nullable = true)
 |    |-- major_version: long (nullable = true)
 |    |-- minor_version: long (nullable = true)
 |    |-- type: string (nullable = true)
 |    |-- seq_no: long (nullable = true)
 |    |-- flags: array (nullable = true)
 |    |    |-- element: string (containsNull = true)
 |    |-- session_id: string (nullable = true)
 |    |-- encrypted_request: string (nullable = true)
 |    |-- encrypted_reply: string (nullable = true)
 |    |-- unencrypted_request: string (nullable = true)
 |    |-- unencrypted_reply: string (nullable = true)
 |    |-- authentication_start: struct (nullable = true)
 |    |    |-- authen_action: string (nullable = true)
 |    |    |-- privilege_level: string (nullable = true)
 |    |    |-- authen_type: string (nullable = true)
 |    |    |-- authen_service: string (nullable = true)
 |    |    |-- user: string (nullable = true)
 |    |    |-- port: string (nullable = true)
 |    |    |-- rem_addr: string (nullable = true)
 |    |    |-- data: string (nullable = true)
 |    |-- authentication_reply: struct (nullable = true)
 |    |    |-- authen_status: string (nullable = true)
 |    |    |-- flags: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |    |-- server_msg: string (nullable = true)
 |    |    |-- data: string (nullable = true)
 |    |-- authentication_continue: struct (nullable = true)
 |    |    |-- flags: array (nullable = true)
 |    |    |    |-- element: string (containsNull = true)
 |    |    |-- user: string (nullable = true)
 |    |    |-- data: string (nullable = true)
 |    |-- password_recovery: string (nullable = true)
 |-- telnet: struct (nullable = true)
 |    |-- message: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- command: string (nullable = true)
 |    |    |    |-- data: string (nullable = true)
 |-- tftp: struct (nullable = true)
 |    |-- opcode: string (nullable = true)
 |    |-- filename: string (nullable = true)
 |    |-- mode: string (nullable = true)
 |    |-- options: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- option: string (nullable = true)
 |    |    |    |-- value: string (nullable = true)
 |    |-- error: struct (nullable = true)
 |    |    |-- code: long (nullable = true)
 |-- vnc: struct (nullable = true)
 |    |-- version: string (nullable = true)
 |-- tofsee_initial_message: struct (nullable = true)
 |    |-- bot_ip: string (nullable = true)
 |    |-- key: string (nullable = true)
 |    |-- srv_time: string (nullable = true)
 |    |-- unknown_1: string (nullable = true)
 |    |-- unknown_2: string (nullable = true)
 |-- reassembly_properties: struct (nullable = true)
 |    |-- back_partial_overlap: boolean (nullable = true)
 |    |-- back_subset_overlap: boolean (nullable = true)
 |    |-- front_partial_overlap: boolean (nullable = true)
 |    |-- front_superset_overlap: boolean (nullable = true)
 |    |-- max_segments_exceed: boolean (nullable = true)
 |    |-- reassembled: boolean (nullable = true)
 |    |-- segment_count_exceed: boolean (nullable = true)
 |    |-- segment_overlaps: boolean (nullable = true)
 |    |-- timeout: boolean (nullable = true)
 |    |-- truncated: boolean (nullable = true)
 |-- encapsulations: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- type: string (nullable = true)
 |    |    |-- src_ip: string (nullable = true)
 |    |    |-- dst_ip: string (nullable = true)
 |    |    |-- protocol_type: long (nullable = true)
 |-- complete: string (nullable = true)
 |-- ip: struct (nullable = true)
 |    |-- version: long (nullable = true)
 |    |-- ttl: long (nullable = true)
 |    |-- id: string (nullable = true)
 |    |-- extensions: string (nullable = true)
 |-- src_ip: string (nullable = true)
 |-- dst_ip: string (nullable = true)
 |-- src_port: long (nullable = true)
 |-- dst_port: long (nullable = true)
 |-- protocol: long (nullable = true)
 |-- event_start: double (nullable = true)

```
