// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This file was auto-generated by the vanadium vdl tool.
var vdl = require('../../../../../../vdl');
var canonicalize = require('../../../../../../vdl/canonicalize');






module.exports = {};



// Types:
var _type1 = new vdl.Type();
var _type10 = new vdl.Type();
var _type11 = new vdl.Type();
var _type2 = new vdl.Type();
var _type3 = new vdl.Type();
var _type4 = new vdl.Type();
var _type5 = new vdl.Type();
var _type6 = new vdl.Type();
var _type7 = new vdl.Type();
var _type8 = new vdl.Type();
var _type9 = new vdl.Type();
var _typeAbcStruct = new vdl.Type();
var _typeAdeStruct = new vdl.Type();
var _typeAnySlice = new vdl.Type();
var _typeArray3String = new vdl.Type();
var _typeArray4String = new vdl.Type();
var _typeBdeUnion = new vdl.Type();
var _typeBeanEnum = new vdl.Type();
var _typeBrieEnum = new vdl.Type();
var _typeConvertGroup = new vdl.Type();
var _typeFoodEnum = new vdl.Type();
var _typeLargeAnyMessageType = new vdl.Type();
var _typeLargeMessageType = new vdl.Type();
var _typeListString = new vdl.Type();
var _typeMBool = new vdl.Type();
var _typeMByteSlice = new vdl.Type();
var _typeMList = new vdl.Type();
var _typeMMap = new vdl.Type();
var _typeMStruct = new vdl.Type();
var _typeMapOnlyA = new vdl.Type();
var _typeMapOnlyA2 = new vdl.Type();
var _typeMapOnlyB = new vdl.Type();
var _typeMapOnlyB2 = new vdl.Type();
var _typeMapOnlySet = new vdl.Type();
var _typeMapOnlyStruct = new vdl.Type();
var _typeMapSetStruct = new vdl.Type();
var _typeMapStructSet = new vdl.Type();
var _typeNArray2Uint64 = new vdl.Type();
var _typeNBool = new vdl.Type();
var _typeNByte = new vdl.Type();
var _typeNByteArray = new vdl.Type();
var _typeNByteSlice = new vdl.Type();
var _typeNComplex128 = new vdl.Type();
var _typeNComplex64 = new vdl.Type();
var _typeNEnum = new vdl.Type();
var _typeNFloat32 = new vdl.Type();
var _typeNFloat64 = new vdl.Type();
var _typeNInt16 = new vdl.Type();
var _typeNInt32 = new vdl.Type();
var _typeNInt64 = new vdl.Type();
var _typeNListUint64 = new vdl.Type();
var _typeNMapUint64String = new vdl.Type();
var _typeNSetUint64 = new vdl.Type();
var _typeNString = new vdl.Type();
var _typeNStruct = new vdl.Type();
var _typeNUint16 = new vdl.Type();
var _typeNUint32 = new vdl.Type();
var _typeNUint64 = new vdl.Type();
var _typeNUnion = new vdl.Type();
var _typeRecA = new vdl.Type();
var _typeRecStruct = new vdl.Type();
var _typeRecX = new vdl.Type();
var _typeRecY = new vdl.Type();
var _typeSetOnlyA = new vdl.Type();
var _typeSetOnlyA2 = new vdl.Type();
var _typeSetOnlyB = new vdl.Type();
var _typeSetOnlyB2 = new vdl.Type();
var _typeSetOnlyMap = new vdl.Type();
var _typeSetStructMap = new vdl.Type();
var _typeSometimesSetMap = new vdl.Type();
var _typeStructAny = new vdl.Type();
var _typeStructManyTypes = new vdl.Type();
var _typeStructMap = new vdl.Type();
var _typeStructOnlyMap = new vdl.Type();
var _typeTestCase = new vdl.Type();
var _typeVomdataStruct = new vdl.Type();
var _typeXyzStruct = new vdl.Type();
var _typeYzStruct = new vdl.Type();
var _typeZStruct = new vdl.Type();
_type1.kind = vdl.kind.LIST;
_type1.name = "";
_type1.elem = vdl.types.ANY;
_type10.kind = vdl.kind.OPTIONAL;
_type10.name = "";
_type10.elem = _typeLargeMessageType;
_type11.kind = vdl.kind.OPTIONAL;
_type11.name = "";
_type11.elem = _typeLargeAnyMessageType;
_type2.kind = vdl.kind.MAP;
_type2.name = "";
_type2.elem = _type3;
_type2.key = vdl.types.STRING;
_type3.kind = vdl.kind.LIST;
_type3.name = "";
_type3.elem = vdl.types.TYPEOBJECT;
_type4.kind = vdl.kind.MAP;
_type4.name = "";
_type4.elem = _type5;
_type4.key = vdl.types.STRING;
_type5.kind = vdl.kind.LIST;
_type5.name = "";
_type5.elem = _typeConvertGroup;
_type6.kind = vdl.kind.OPTIONAL;
_type6.name = "";
_type6.elem = _typeNStruct;
_type7.kind = vdl.kind.OPTIONAL;
_type7.name = "";
_type7.elem = _typeRecStruct;
_type8.kind = vdl.kind.MAP;
_type8.name = "";
_type8.elem = vdl.types.INT64;
_type8.key = vdl.types.INT64;
_type9.kind = vdl.kind.LIST;
_type9.name = "";
_type9.elem = vdl.types.BYTE;
_typeAbcStruct.kind = vdl.kind.STRUCT;
_typeAbcStruct.name = "v.io/v23/vom/testdata/types.AbcStruct";
_typeAbcStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: vdl.types.STRING}, {name: "C", type: vdl.types.INT64}];
_typeAdeStruct.kind = vdl.kind.STRUCT;
_typeAdeStruct.name = "v.io/v23/vom/testdata/types.AdeStruct";
_typeAdeStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "D", type: vdl.types.ANY}, {name: "E", type: vdl.types.TYPEOBJECT}];
_typeAnySlice.kind = vdl.kind.LIST;
_typeAnySlice.name = "v.io/v23/vom/testdata/types.AnySlice";
_typeAnySlice.elem = vdl.types.ANY;
_typeArray3String.kind = vdl.kind.ARRAY;
_typeArray3String.name = "v.io/v23/vom/testdata/types.Array3String";
_typeArray3String.len = 3;
_typeArray3String.elem = vdl.types.STRING;
_typeArray4String.kind = vdl.kind.ARRAY;
_typeArray4String.name = "v.io/v23/vom/testdata/types.Array4String";
_typeArray4String.len = 4;
_typeArray4String.elem = vdl.types.STRING;
_typeBdeUnion.kind = vdl.kind.UNION;
_typeBdeUnion.name = "v.io/v23/vom/testdata/types.BdeUnion";
_typeBdeUnion.fields = [{name: "B", type: vdl.types.STRING}, {name: "D", type: vdl.types.ANY}, {name: "E", type: vdl.types.TYPEOBJECT}];
_typeBeanEnum.kind = vdl.kind.ENUM;
_typeBeanEnum.name = "v.io/v23/vom/testdata/types.BeanEnum";
_typeBeanEnum.labels = ["Bean"];
_typeBrieEnum.kind = vdl.kind.ENUM;
_typeBrieEnum.name = "v.io/v23/vom/testdata/types.BrieEnum";
_typeBrieEnum.labels = ["Glee", "Brie", "Three"];
_typeConvertGroup.kind = vdl.kind.STRUCT;
_typeConvertGroup.name = "v.io/v23/vom/testdata/types.ConvertGroup";
_typeConvertGroup.fields = [{name: "Name", type: vdl.types.STRING}, {name: "PrimaryType", type: vdl.types.TYPEOBJECT}, {name: "Values", type: _type1}];
_typeFoodEnum.kind = vdl.kind.ENUM;
_typeFoodEnum.name = "v.io/v23/vom/testdata/types.FoodEnum";
_typeFoodEnum.labels = ["Bean", "Brie", "Cherry"];
_typeLargeAnyMessageType.kind = vdl.kind.STRUCT;
_typeLargeAnyMessageType.name = "v.io/v23/vom/testdata/types.LargeAnyMessageType";
_typeLargeAnyMessageType.fields = [{name: "Payload", type: vdl.types.ANY}, {name: "Next", type: _type11}];
_typeLargeMessageType.kind = vdl.kind.STRUCT;
_typeLargeMessageType.name = "v.io/v23/vom/testdata/types.LargeMessageType";
_typeLargeMessageType.fields = [{name: "Payload", type: _type9}, {name: "Next", type: _type10}];
_typeListString.kind = vdl.kind.LIST;
_typeListString.name = "v.io/v23/vom/testdata/types.ListString";
_typeListString.elem = vdl.types.STRING;
_typeMBool.kind = vdl.kind.BOOL;
_typeMBool.name = "v.io/v23/vom/testdata/types.MBool";
_typeMByteSlice.kind = vdl.kind.LIST;
_typeMByteSlice.name = "v.io/v23/vom/testdata/types.MByteSlice";
_typeMByteSlice.elem = vdl.types.BYTE;
_typeMList.kind = vdl.kind.LIST;
_typeMList.name = "v.io/v23/vom/testdata/types.MList";
_typeMList.elem = _typeNListUint64;
_typeMMap.kind = vdl.kind.MAP;
_typeMMap.name = "v.io/v23/vom/testdata/types.MMap";
_typeMMap.elem = _typeNListUint64;
_typeMMap.key = _typeNFloat32;
_typeMStruct.kind = vdl.kind.STRUCT;
_typeMStruct.name = "v.io/v23/vom/testdata/types.MStruct";
_typeMStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: _typeNBool}, {name: "C", type: _typeMBool}, {name: "D", type: _type6}, {name: "E", type: vdl.types.TYPEOBJECT}, {name: "F", type: vdl.types.ANY}];
_typeMapOnlyA.kind = vdl.kind.MAP;
_typeMapOnlyA.name = "v.io/v23/vom/testdata/types.MapOnlyA";
_typeMapOnlyA.elem = vdl.types.UINT32;
_typeMapOnlyA.key = vdl.types.UINT32;
_typeMapOnlyA2.kind = vdl.kind.MAP;
_typeMapOnlyA2.name = "v.io/v23/vom/testdata/types.MapOnlyA2";
_typeMapOnlyA2.elem = vdl.types.FLOAT64;
_typeMapOnlyA2.key = vdl.types.INT64;
_typeMapOnlyB.kind = vdl.kind.MAP;
_typeMapOnlyB.name = "v.io/v23/vom/testdata/types.MapOnlyB";
_typeMapOnlyB.elem = vdl.types.STRING;
_typeMapOnlyB.key = vdl.types.BOOL;
_typeMapOnlyB2.kind = vdl.kind.MAP;
_typeMapOnlyB2.name = "v.io/v23/vom/testdata/types.MapOnlyB2";
_typeMapOnlyB2.elem = _typeNString;
_typeMapOnlyB2.key = _typeNBool;
_typeMapOnlySet.kind = vdl.kind.SET;
_typeMapOnlySet.name = "v.io/v23/vom/testdata/types.MapOnlySet";
_typeMapOnlySet.key = vdl.types.FLOAT64;
_typeMapOnlyStruct.kind = vdl.kind.STRUCT;
_typeMapOnlyStruct.name = "v.io/v23/vom/testdata/types.MapOnlyStruct";
_typeMapOnlyStruct.fields = [{name: "Key1", type: vdl.types.INT64}, {name: "Key2", type: vdl.types.UINT32}, {name: "Key3", type: vdl.types.COMPLEX128}];
_typeMapSetStruct.kind = vdl.kind.STRUCT;
_typeMapSetStruct.name = "v.io/v23/vom/testdata/types.MapSetStruct";
_typeMapSetStruct.fields = [{name: "Feat", type: vdl.types.BOOL}, {name: "Tire", type: vdl.types.BOOL}, {name: "Eel", type: vdl.types.BOOL}];
_typeMapStructSet.kind = vdl.kind.SET;
_typeMapStructSet.name = "v.io/v23/vom/testdata/types.MapStructSet";
_typeMapStructSet.key = vdl.types.STRING;
_typeNArray2Uint64.kind = vdl.kind.ARRAY;
_typeNArray2Uint64.name = "v.io/v23/vom/testdata/types.NArray2Uint64";
_typeNArray2Uint64.len = 2;
_typeNArray2Uint64.elem = vdl.types.UINT64;
_typeNBool.kind = vdl.kind.BOOL;
_typeNBool.name = "v.io/v23/vom/testdata/types.NBool";
_typeNByte.kind = vdl.kind.BYTE;
_typeNByte.name = "v.io/v23/vom/testdata/types.NByte";
_typeNByteArray.kind = vdl.kind.ARRAY;
_typeNByteArray.name = "v.io/v23/vom/testdata/types.NByteArray";
_typeNByteArray.len = 4;
_typeNByteArray.elem = vdl.types.BYTE;
_typeNByteSlice.kind = vdl.kind.LIST;
_typeNByteSlice.name = "v.io/v23/vom/testdata/types.NByteSlice";
_typeNByteSlice.elem = vdl.types.BYTE;
_typeNComplex128.kind = vdl.kind.COMPLEX128;
_typeNComplex128.name = "v.io/v23/vom/testdata/types.NComplex128";
_typeNComplex64.kind = vdl.kind.COMPLEX64;
_typeNComplex64.name = "v.io/v23/vom/testdata/types.NComplex64";
_typeNEnum.kind = vdl.kind.ENUM;
_typeNEnum.name = "v.io/v23/vom/testdata/types.NEnum";
_typeNEnum.labels = ["A", "B", "C"];
_typeNFloat32.kind = vdl.kind.FLOAT32;
_typeNFloat32.name = "v.io/v23/vom/testdata/types.NFloat32";
_typeNFloat64.kind = vdl.kind.FLOAT64;
_typeNFloat64.name = "v.io/v23/vom/testdata/types.NFloat64";
_typeNInt16.kind = vdl.kind.INT16;
_typeNInt16.name = "v.io/v23/vom/testdata/types.NInt16";
_typeNInt32.kind = vdl.kind.INT32;
_typeNInt32.name = "v.io/v23/vom/testdata/types.NInt32";
_typeNInt64.kind = vdl.kind.INT64;
_typeNInt64.name = "v.io/v23/vom/testdata/types.NInt64";
_typeNListUint64.kind = vdl.kind.LIST;
_typeNListUint64.name = "v.io/v23/vom/testdata/types.NListUint64";
_typeNListUint64.elem = vdl.types.UINT64;
_typeNMapUint64String.kind = vdl.kind.MAP;
_typeNMapUint64String.name = "v.io/v23/vom/testdata/types.NMapUint64String";
_typeNMapUint64String.elem = vdl.types.STRING;
_typeNMapUint64String.key = vdl.types.UINT64;
_typeNSetUint64.kind = vdl.kind.SET;
_typeNSetUint64.name = "v.io/v23/vom/testdata/types.NSetUint64";
_typeNSetUint64.key = vdl.types.UINT64;
_typeNString.kind = vdl.kind.STRING;
_typeNString.name = "v.io/v23/vom/testdata/types.NString";
_typeNStruct.kind = vdl.kind.STRUCT;
_typeNStruct.name = "v.io/v23/vom/testdata/types.NStruct";
_typeNStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: vdl.types.STRING}, {name: "C", type: vdl.types.INT64}];
_typeNUint16.kind = vdl.kind.UINT16;
_typeNUint16.name = "v.io/v23/vom/testdata/types.NUint16";
_typeNUint32.kind = vdl.kind.UINT32;
_typeNUint32.name = "v.io/v23/vom/testdata/types.NUint32";
_typeNUint64.kind = vdl.kind.UINT64;
_typeNUint64.name = "v.io/v23/vom/testdata/types.NUint64";
_typeNUnion.kind = vdl.kind.UNION;
_typeNUnion.name = "v.io/v23/vom/testdata/types.NUnion";
_typeNUnion.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: vdl.types.STRING}, {name: "C", type: vdl.types.INT64}];
_typeRecA.kind = vdl.kind.LIST;
_typeRecA.name = "v.io/v23/vom/testdata/types.RecA";
_typeRecA.elem = _typeRecA;
_typeRecStruct.kind = vdl.kind.STRUCT;
_typeRecStruct.name = "v.io/v23/vom/testdata/types.RecStruct";
_typeRecStruct.fields = [{name: "A", type: _type7}];
_typeRecX.kind = vdl.kind.LIST;
_typeRecX.name = "v.io/v23/vom/testdata/types.RecX";
_typeRecX.elem = _typeRecY;
_typeRecY.kind = vdl.kind.LIST;
_typeRecY.name = "v.io/v23/vom/testdata/types.RecY";
_typeRecY.elem = _typeRecX;
_typeSetOnlyA.kind = vdl.kind.SET;
_typeSetOnlyA.name = "v.io/v23/vom/testdata/types.SetOnlyA";
_typeSetOnlyA.key = vdl.types.BOOL;
_typeSetOnlyA2.kind = vdl.kind.SET;
_typeSetOnlyA2.name = "v.io/v23/vom/testdata/types.SetOnlyA2";
_typeSetOnlyA2.key = _typeNBool;
_typeSetOnlyB.kind = vdl.kind.SET;
_typeSetOnlyB.name = "v.io/v23/vom/testdata/types.SetOnlyB";
_typeSetOnlyB.key = vdl.types.INT16;
_typeSetOnlyB2.kind = vdl.kind.SET;
_typeSetOnlyB2.name = "v.io/v23/vom/testdata/types.SetOnlyB2";
_typeSetOnlyB2.key = _typeNInt16;
_typeSetOnlyMap.kind = vdl.kind.MAP;
_typeSetOnlyMap.name = "v.io/v23/vom/testdata/types.SetOnlyMap";
_typeSetOnlyMap.elem = vdl.types.BOOL;
_typeSetOnlyMap.key = vdl.types.FLOAT64;
_typeSetStructMap.kind = vdl.kind.MAP;
_typeSetStructMap.name = "v.io/v23/vom/testdata/types.SetStructMap";
_typeSetStructMap.elem = vdl.types.BOOL;
_typeSetStructMap.key = vdl.types.STRING;
_typeSometimesSetMap.kind = vdl.kind.MAP;
_typeSometimesSetMap.name = "v.io/v23/vom/testdata/types.SometimesSetMap";
_typeSometimesSetMap.elem = vdl.types.ANY;
_typeSometimesSetMap.key = vdl.types.FLOAT64;
_typeStructAny.kind = vdl.kind.STRUCT;
_typeStructAny.name = "v.io/v23/vom/testdata/types.StructAny";
_typeStructAny.fields = [{name: "Any", type: vdl.types.ANY}];
_typeStructManyTypes.kind = vdl.kind.STRUCT;
_typeStructManyTypes.name = "v.io/v23/vom/testdata/types.StructManyTypes";
_typeStructManyTypes.fields = [{name: "Bool", type: vdl.types.BOOL}, {name: "AByte", type: vdl.types.BYTE}, {name: "Int16", type: vdl.types.INT16}, {name: "Int32", type: vdl.types.INT32}, {name: "Int64", type: vdl.types.INT64}, {name: "Uint16", type: vdl.types.UINT16}, {name: "Uint32", type: vdl.types.UINT32}, {name: "Uint64", type: vdl.types.UINT64}, {name: "String", type: vdl.types.STRING}, {name: "Bytes", type: _type9}, {name: "Float32", type: vdl.types.FLOAT32}, {name: "Float64", type: vdl.types.FLOAT64}, {name: "Complex64", type: vdl.types.COMPLEX64}, {name: "Complex128", type: vdl.types.COMPLEX128}, {name: "FoodEnum", type: _typeFoodEnum}, {name: "NEnum", type: _typeNEnum}, {name: "NListUint64", type: _typeNListUint64}, {name: "NByteArray", type: _typeNByteArray}, {name: "NArray2Uint64", type: _typeNArray2Uint64}, {name: "NSetUint64", type: _typeNSetUint64}, {name: "NMapUint64String", type: _typeNMapUint64String}, {name: "NStruct", type: _typeNStruct}, {name: "NUnion", type: _typeNUnion}, {name: "TypeObject", type: vdl.types.TYPEOBJECT}];
_typeStructMap.kind = vdl.kind.STRUCT;
_typeStructMap.name = "v.io/v23/vom/testdata/types.StructMap";
_typeStructMap.fields = [{name: "Map", type: _type8}];
_typeStructOnlyMap.kind = vdl.kind.MAP;
_typeStructOnlyMap.name = "v.io/v23/vom/testdata/types.StructOnlyMap";
_typeStructOnlyMap.elem = vdl.types.UINT64;
_typeStructOnlyMap.key = vdl.types.STRING;
_typeTestCase.kind = vdl.kind.STRUCT;
_typeTestCase.name = "v.io/v23/vom/testdata/types.TestCase";
_typeTestCase.fields = [{name: "Name", type: vdl.types.STRING}, {name: "Value", type: vdl.types.ANY}, {name: "TypeString", type: vdl.types.STRING}, {name: "Hex", type: vdl.types.STRING}, {name: "HexVersion", type: vdl.types.STRING}, {name: "HexType", type: vdl.types.STRING}, {name: "HexValue", type: vdl.types.STRING}];
_typeVomdataStruct.kind = vdl.kind.STRUCT;
_typeVomdataStruct.name = "v.io/v23/vom/testdata/types.VomdataStruct";
_typeVomdataStruct.fields = [{name: "EncodeDecodeData", type: _type1}, {name: "CompatData", type: _type2}, {name: "ConvertData", type: _type4}];
_typeXyzStruct.kind = vdl.kind.STRUCT;
_typeXyzStruct.name = "v.io/v23/vom/testdata/types.XyzStruct";
_typeXyzStruct.fields = [{name: "X", type: vdl.types.BOOL}, {name: "Y", type: _typeMBool}, {name: "Z", type: vdl.types.STRING}];
_typeYzStruct.kind = vdl.kind.STRUCT;
_typeYzStruct.name = "v.io/v23/vom/testdata/types.YzStruct";
_typeYzStruct.fields = [{name: "Y", type: _typeNBool}, {name: "Z", type: _typeNString}];
_typeZStruct.kind = vdl.kind.STRUCT;
_typeZStruct.name = "v.io/v23/vom/testdata/types.ZStruct";
_typeZStruct.fields = [{name: "Z", type: vdl.types.STRING}];
_type1.freeze();
_type10.freeze();
_type11.freeze();
_type2.freeze();
_type3.freeze();
_type4.freeze();
_type5.freeze();
_type6.freeze();
_type7.freeze();
_type8.freeze();
_type9.freeze();
_typeAbcStruct.freeze();
_typeAdeStruct.freeze();
_typeAnySlice.freeze();
_typeArray3String.freeze();
_typeArray4String.freeze();
_typeBdeUnion.freeze();
_typeBeanEnum.freeze();
_typeBrieEnum.freeze();
_typeConvertGroup.freeze();
_typeFoodEnum.freeze();
_typeLargeAnyMessageType.freeze();
_typeLargeMessageType.freeze();
_typeListString.freeze();
_typeMBool.freeze();
_typeMByteSlice.freeze();
_typeMList.freeze();
_typeMMap.freeze();
_typeMStruct.freeze();
_typeMapOnlyA.freeze();
_typeMapOnlyA2.freeze();
_typeMapOnlyB.freeze();
_typeMapOnlyB2.freeze();
_typeMapOnlySet.freeze();
_typeMapOnlyStruct.freeze();
_typeMapSetStruct.freeze();
_typeMapStructSet.freeze();
_typeNArray2Uint64.freeze();
_typeNBool.freeze();
_typeNByte.freeze();
_typeNByteArray.freeze();
_typeNByteSlice.freeze();
_typeNComplex128.freeze();
_typeNComplex64.freeze();
_typeNEnum.freeze();
_typeNFloat32.freeze();
_typeNFloat64.freeze();
_typeNInt16.freeze();
_typeNInt32.freeze();
_typeNInt64.freeze();
_typeNListUint64.freeze();
_typeNMapUint64String.freeze();
_typeNSetUint64.freeze();
_typeNString.freeze();
_typeNStruct.freeze();
_typeNUint16.freeze();
_typeNUint32.freeze();
_typeNUint64.freeze();
_typeNUnion.freeze();
_typeRecA.freeze();
_typeRecStruct.freeze();
_typeRecX.freeze();
_typeRecY.freeze();
_typeSetOnlyA.freeze();
_typeSetOnlyA2.freeze();
_typeSetOnlyB.freeze();
_typeSetOnlyB2.freeze();
_typeSetOnlyMap.freeze();
_typeSetStructMap.freeze();
_typeSometimesSetMap.freeze();
_typeStructAny.freeze();
_typeStructManyTypes.freeze();
_typeStructMap.freeze();
_typeStructOnlyMap.freeze();
_typeTestCase.freeze();
_typeVomdataStruct.freeze();
_typeXyzStruct.freeze();
_typeYzStruct.freeze();
_typeZStruct.freeze();
module.exports.AbcStruct = (vdl.registry.lookupOrCreateConstructor(_typeAbcStruct));
module.exports.AdeStruct = (vdl.registry.lookupOrCreateConstructor(_typeAdeStruct));
module.exports.AnySlice = (vdl.registry.lookupOrCreateConstructor(_typeAnySlice));
module.exports.Array3String = (vdl.registry.lookupOrCreateConstructor(_typeArray3String));
module.exports.Array4String = (vdl.registry.lookupOrCreateConstructor(_typeArray4String));
module.exports.BdeUnion = (vdl.registry.lookupOrCreateConstructor(_typeBdeUnion));
module.exports.BeanEnum = {
  BEAN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBeanEnum))('Bean', true), _typeBeanEnum),
};
module.exports.BrieEnum = {
  GLEE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBrieEnum))('Glee', true), _typeBrieEnum),
  BRIE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBrieEnum))('Brie', true), _typeBrieEnum),
  THREE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBrieEnum))('Three', true), _typeBrieEnum),
};
module.exports.ConvertGroup = (vdl.registry.lookupOrCreateConstructor(_typeConvertGroup));
module.exports.FoodEnum = {
  BEAN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeFoodEnum))('Bean', true), _typeFoodEnum),
  BRIE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeFoodEnum))('Brie', true), _typeFoodEnum),
  CHERRY: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeFoodEnum))('Cherry', true), _typeFoodEnum),
};
module.exports.LargeAnyMessageType = (vdl.registry.lookupOrCreateConstructor(_typeLargeAnyMessageType));
module.exports.LargeMessageType = (vdl.registry.lookupOrCreateConstructor(_typeLargeMessageType));
module.exports.ListString = (vdl.registry.lookupOrCreateConstructor(_typeListString));
module.exports.MBool = (vdl.registry.lookupOrCreateConstructor(_typeMBool));
module.exports.MByteSlice = (vdl.registry.lookupOrCreateConstructor(_typeMByteSlice));
module.exports.MList = (vdl.registry.lookupOrCreateConstructor(_typeMList));
module.exports.MMap = (vdl.registry.lookupOrCreateConstructor(_typeMMap));
module.exports.MStruct = (vdl.registry.lookupOrCreateConstructor(_typeMStruct));
module.exports.MapOnlyA = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyA));
module.exports.MapOnlyA2 = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyA2));
module.exports.MapOnlyB = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyB));
module.exports.MapOnlyB2 = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyB2));
module.exports.MapOnlySet = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlySet));
module.exports.MapOnlyStruct = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyStruct));
module.exports.MapSetStruct = (vdl.registry.lookupOrCreateConstructor(_typeMapSetStruct));
module.exports.MapStructSet = (vdl.registry.lookupOrCreateConstructor(_typeMapStructSet));
module.exports.NArray2Uint64 = (vdl.registry.lookupOrCreateConstructor(_typeNArray2Uint64));
module.exports.NBool = (vdl.registry.lookupOrCreateConstructor(_typeNBool));
module.exports.NByte = (vdl.registry.lookupOrCreateConstructor(_typeNByte));
module.exports.NByteArray = (vdl.registry.lookupOrCreateConstructor(_typeNByteArray));
module.exports.NByteSlice = (vdl.registry.lookupOrCreateConstructor(_typeNByteSlice));
module.exports.NComplex128 = (vdl.registry.lookupOrCreateConstructor(_typeNComplex128));
module.exports.NComplex64 = (vdl.registry.lookupOrCreateConstructor(_typeNComplex64));
module.exports.NEnum = {
  A: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeNEnum))('A', true), _typeNEnum),
  B: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeNEnum))('B', true), _typeNEnum),
  C: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeNEnum))('C', true), _typeNEnum),
};
module.exports.NFloat32 = (vdl.registry.lookupOrCreateConstructor(_typeNFloat32));
module.exports.NFloat64 = (vdl.registry.lookupOrCreateConstructor(_typeNFloat64));
module.exports.NInt16 = (vdl.registry.lookupOrCreateConstructor(_typeNInt16));
module.exports.NInt32 = (vdl.registry.lookupOrCreateConstructor(_typeNInt32));
module.exports.NInt64 = (vdl.registry.lookupOrCreateConstructor(_typeNInt64));
module.exports.NListUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNListUint64));
module.exports.NMapUint64String = (vdl.registry.lookupOrCreateConstructor(_typeNMapUint64String));
module.exports.NSetUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNSetUint64));
module.exports.NString = (vdl.registry.lookupOrCreateConstructor(_typeNString));
module.exports.NStruct = (vdl.registry.lookupOrCreateConstructor(_typeNStruct));
module.exports.NUint16 = (vdl.registry.lookupOrCreateConstructor(_typeNUint16));
module.exports.NUint32 = (vdl.registry.lookupOrCreateConstructor(_typeNUint32));
module.exports.NUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNUint64));
module.exports.NUnion = (vdl.registry.lookupOrCreateConstructor(_typeNUnion));
module.exports.RecA = (vdl.registry.lookupOrCreateConstructor(_typeRecA));
module.exports.RecStruct = (vdl.registry.lookupOrCreateConstructor(_typeRecStruct));
module.exports.RecX = (vdl.registry.lookupOrCreateConstructor(_typeRecX));
module.exports.RecY = (vdl.registry.lookupOrCreateConstructor(_typeRecY));
module.exports.SetOnlyA = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyA));
module.exports.SetOnlyA2 = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyA2));
module.exports.SetOnlyB = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyB));
module.exports.SetOnlyB2 = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyB2));
module.exports.SetOnlyMap = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyMap));
module.exports.SetStructMap = (vdl.registry.lookupOrCreateConstructor(_typeSetStructMap));
module.exports.SometimesSetMap = (vdl.registry.lookupOrCreateConstructor(_typeSometimesSetMap));
module.exports.StructAny = (vdl.registry.lookupOrCreateConstructor(_typeStructAny));
module.exports.StructManyTypes = (vdl.registry.lookupOrCreateConstructor(_typeStructManyTypes));
module.exports.StructMap = (vdl.registry.lookupOrCreateConstructor(_typeStructMap));
module.exports.StructOnlyMap = (vdl.registry.lookupOrCreateConstructor(_typeStructOnlyMap));
module.exports.TestCase = (vdl.registry.lookupOrCreateConstructor(_typeTestCase));
module.exports.VomdataStruct = (vdl.registry.lookupOrCreateConstructor(_typeVomdataStruct));
module.exports.XyzStruct = (vdl.registry.lookupOrCreateConstructor(_typeXyzStruct));
module.exports.YzStruct = (vdl.registry.lookupOrCreateConstructor(_typeYzStruct));
module.exports.ZStruct = (vdl.registry.lookupOrCreateConstructor(_typeZStruct));




// Consts:



// Errors:



// Services:

   

   
 


