// 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 _type12 = 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 _typeMInt8Slice = 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 _typeNInt8 = 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.LIST;
_type10.name = "";
_type10.elem = vdl.types.BYTE;
_type11.kind = vdl.kind.OPTIONAL;
_type11.name = "";
_type11.elem = _typeLargeMessageType;
_type12.kind = vdl.kind.OPTIONAL;
_type12.name = "";
_type12.elem = _typeLargeAnyMessageType;
_type2.kind = vdl.kind.MAP;
_type2.name = "";
_type2.elem = _type1;
_type2.key = vdl.types.BYTE;
_type3.kind = vdl.kind.MAP;
_type3.name = "";
_type3.elem = _type4;
_type3.key = vdl.types.STRING;
_type4.kind = vdl.kind.LIST;
_type4.name = "";
_type4.elem = vdl.types.TYPEOBJECT;
_type5.kind = vdl.kind.MAP;
_type5.name = "";
_type5.elem = _type6;
_type5.key = vdl.types.STRING;
_type6.kind = vdl.kind.LIST;
_type6.name = "";
_type6.elem = _typeConvertGroup;
_type7.kind = vdl.kind.OPTIONAL;
_type7.name = "";
_type7.elem = _typeNStruct;
_type8.kind = vdl.kind.OPTIONAL;
_type8.name = "";
_type8.elem = _typeRecStruct;
_type9.kind = vdl.kind.MAP;
_type9.name = "";
_type9.elem = vdl.types.INT64;
_type9.key = vdl.types.INT64;
_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: _type12}];
_typeLargeMessageType.kind = vdl.kind.STRUCT;
_typeLargeMessageType.name = "v.io/v23/vom/testdata/types.LargeMessageType";
_typeLargeMessageType.fields = [{name: "Payload", type: _type10}, {name: "Next", type: _type11}];
_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;
_typeMInt8Slice.kind = vdl.kind.LIST;
_typeMInt8Slice.name = "v.io/v23/vom/testdata/types.MInt8Slice";
_typeMInt8Slice.elem = vdl.types.INT8;
_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: _type7}, {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";
_typeNInt8.kind = vdl.kind.INT8;
_typeNInt8.name = "v.io/v23/vom/testdata/types.NInt8";
_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: _type8}];
_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: _type10}, {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: _type9}];
_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: _type2}, {name: "CompatData", type: _type3}, {name: "ConvertData", type: _type5}];
_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();
_type12.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();
_typeMInt8Slice.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();
_typeNInt8.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.MInt8Slice = (vdl.registry.lookupOrCreateConstructor(_typeMInt8Slice));
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.NInt8 = (vdl.registry.lookupOrCreateConstructor(_typeNInt8));
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:

   

   
 


