Skip to content

EVE SDE Schema

Documentation for third-party developers

militaryCampaigns.jsonl

Schema

  • _key (required): string
  • annotations (required): object

    • aoCampaignCardButtonImage (required): string
    • backgroundVideoLoop (required): string
    • briefingBackground (required): string
    • briefingFailureDescription (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • briefingFailureHeader (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • briefingFinalWords (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • briefingForeground (required): string

    • briefingGoalDescription (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • briefingHeader (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • briefingMiddleground (required): string

    • briefingSuccessDescription (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • briefingSuccessHeader (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • campaignSet (required): string

    • dashboardAmbientBackground (required): string
    • dashboardBackground (required): string
    • dashboardForeground (required): string
    • dashboardMiddleground (required): string
    • finishedCampaignEnded (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • finishedFailureDescription (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • finishedResolutionStateFailure (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • finishedResolutionStateSuccess (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • finishedSuccessDescription (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • foregroundVideoIntro (required): string

    • foregroundVideoLoop (required): string
    • foregroundVideoOutro (required): string
    • mapFocusEntityID (required): integer
      Range: 10000041 .. 30003788
    • mapHeader (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapSection1Paragraph (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapSection1Title (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapSection2Paragraph (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapSection2Title (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapSection3Paragraph (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapSection3Title (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapSubheader (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • mapTitle (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • middlegroundVideoIntro (required): string

    • middlegroundVideoLoop (required): string
    • middlegroundVideoOutro (required): string
    • presentingCharacterName (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • presentingCharacterSubtitle (required): object

      • de (required): string
      • en (required): string
      • es (required): string
      • fr (required): string
      • ja (required): string
      • ko (required): string
      • ru (required): string
      • zh (required): string
    • presentingCharacterTexturePath (required): string

    • race (required): enum
      Enum values: amarr, minmatar, gallente, caldari
    • themePack (required): string
    • towCampaignCardButtonImage (required): string
  • issuer (required): object

    • factionID (required): integer
      Range: 500001 .. 500004
  • subtitle (required): object

    • de (required): string
    • en (required): string
    • es (required): string
    • fr (required): string
    • ja (required): string
    • ko (required): string
    • ru (required): string
    • zh (required): string
  • targetProgress (required): integer
    Range: 30 .. 30

  • title (required): object
    • de (required): string
    • en (required): string
    • es (required): string
    • fr (required): string
    • ja (required): string
    • ko (required): string
    • ru (required): string
    • zh (required): string

Code snippets

// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
//    using QuickType;
//
//    var militaryCampaign = MilitaryCampaign.FromJson(jsonString);

namespace QuickType
{
    using System;
    using System.Collections.Generic;

    using System.Globalization;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;

    public partial class MilitaryCampaign
    {
        [JsonProperty("_key")]
        [JsonConverter(typeof(PurpleMinMaxLengthCheckConverter))]
        public string Key { get; set; }

        [JsonProperty("annotations")]
        public Annotations Annotations { get; set; }

        [JsonProperty("issuer")]
        public Issuer Issuer { get; set; }

        [JsonProperty("subtitle")]
        public Subtitle Subtitle { get; set; }

        [JsonProperty("targetProgress")]
        public long TargetProgress { get; set; }

        [JsonProperty("title")]
        public Title Title { get; set; }
    }

    public partial class Annotations
    {
        [JsonProperty("aoCampaignCardButtonImage")]
        [JsonConverter(typeof(FluffyMinMaxLengthCheckConverter))]
        public string AoCampaignCardButtonImage { get; set; }

        [JsonProperty("backgroundVideoLoop")]
        [JsonConverter(typeof(TentacledMinMaxLengthCheckConverter))]
        public string BackgroundVideoLoop { get; set; }

        [JsonProperty("briefingBackground")]
        [JsonConverter(typeof(StickyMinMaxLengthCheckConverter))]
        public string BriefingBackground { get; set; }

        [JsonProperty("briefingFailureDescription")]
        public BriefingFailureDescription BriefingFailureDescription { get; set; }

        [JsonProperty("briefingFailureHeader")]
        public BriefingFailureHeader BriefingFailureHeader { get; set; }

        [JsonProperty("briefingFinalWords")]
        public BriefingFinalWords BriefingFinalWords { get; set; }

        [JsonProperty("briefingForeground")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter13))]
        public string BriefingForeground { get; set; }

        [JsonProperty("briefingGoalDescription")]
        public BriefingGoalDescription BriefingGoalDescription { get; set; }

        [JsonProperty("briefingHeader")]
        public BriefingHeader BriefingHeader { get; set; }

        [JsonProperty("briefingMiddleground")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter27))]
        public string BriefingMiddleground { get; set; }

        [JsonProperty("briefingSuccessDescription")]
        public BriefingSuccessDescription BriefingSuccessDescription { get; set; }

        [JsonProperty("briefingSuccessHeader")]
        public BriefingSuccessHeader BriefingSuccessHeader { get; set; }

        [JsonProperty("campaignSet")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter26))]
        public string CampaignSet { get; set; }

        [JsonProperty("dashboardAmbientBackground")]
        [JsonConverter(typeof(StickyMinMaxLengthCheckConverter))]
        public string DashboardAmbientBackground { get; set; }

        [JsonProperty("dashboardBackground")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter13))]
        public string DashboardBackground { get; set; }

        [JsonProperty("dashboardForeground")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter13))]
        public string DashboardForeground { get; set; }

        [JsonProperty("dashboardMiddleground")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter27))]
        public string DashboardMiddleground { get; set; }

        [JsonProperty("finishedCampaignEnded")]
        public FinishedCampaignEnded FinishedCampaignEnded { get; set; }

        [JsonProperty("finishedFailureDescription")]
        public FinishedFailureDescription FinishedFailureDescription { get; set; }

        [JsonProperty("finishedResolutionStateFailure")]
        public FinishedResolutionStateFailure FinishedResolutionStateFailure { get; set; }

        [JsonProperty("finishedResolutionStateSuccess")]
        public FinishedResolutionStateSuccess FinishedResolutionStateSuccess { get; set; }

        [JsonProperty("finishedSuccessDescription")]
        public FinishedSuccessDescription FinishedSuccessDescription { get; set; }

        [JsonProperty("foregroundVideoIntro")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter61))]
        public string ForegroundVideoIntro { get; set; }

        [JsonProperty("foregroundVideoLoop")]
        [JsonConverter(typeof(TentacledMinMaxLengthCheckConverter))]
        public string ForegroundVideoLoop { get; set; }

        [JsonProperty("foregroundVideoOutro")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter61))]
        public string ForegroundVideoOutro { get; set; }

        [JsonProperty("mapFocusEntityID")]
        public long MapFocusEntityId { get; set; }

        [JsonProperty("mapHeader")]
        public MapHeader MapHeader { get; set; }

        [JsonProperty("mapSection1Paragraph")]
        public MapSection1Paragraph MapSection1Paragraph { get; set; }

        [JsonProperty("mapSection1Title")]
        public MapSection1Title MapSection1Title { get; set; }

        [JsonProperty("mapSection2Paragraph")]
        public MapSection2Paragraph MapSection2Paragraph { get; set; }

        [JsonProperty("mapSection2Title")]
        public MapSection2Title MapSection2Title { get; set; }

        [JsonProperty("mapSection3Paragraph")]
        public MapSection3Paragraph MapSection3Paragraph { get; set; }

        [JsonProperty("mapSection3Title")]
        public MapSection3Title MapSection3Title { get; set; }

        [JsonProperty("mapSubheader")]
        public MapSubheader MapSubheader { get; set; }

        [JsonProperty("mapTitle")]
        public MapTitle MapTitle { get; set; }

        [JsonProperty("middlegroundVideoIntro")]
        [JsonConverter(typeof(FluffyMinMaxLengthCheckConverter))]
        public string MiddlegroundVideoIntro { get; set; }

        [JsonProperty("middlegroundVideoLoop")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter106))]
        public string MiddlegroundVideoLoop { get; set; }

        [JsonProperty("middlegroundVideoOutro")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter106))]
        public string MiddlegroundVideoOutro { get; set; }

        [JsonProperty("presentingCharacterName")]
        public PresentingCharacterName PresentingCharacterName { get; set; }

        [JsonProperty("presentingCharacterSubtitle")]
        public PresentingCharacterSubtitle PresentingCharacterSubtitle { get; set; }

        [JsonProperty("presentingCharacterTexturePath")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter123))]
        public string PresentingCharacterTexturePath { get; set; }

        [JsonProperty("race")]
        public Race Race { get; set; }

        [JsonProperty("themePack")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter124))]
        public string ThemePack { get; set; }

        [JsonProperty("towCampaignCardButtonImage")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter125))]
        public string TowCampaignCardButtonImage { get; set; }
    }

    public partial class BriefingFailureDescription
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(IndigoMinMaxLengthCheckConverter))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(IndecentMinMaxLengthCheckConverter))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(HilariousMinMaxLengthCheckConverter))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(AmbitiousMinMaxLengthCheckConverter))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(CunningMinMaxLengthCheckConverter))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MagentaMinMaxLengthCheckConverter))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(FriskyMinMaxLengthCheckConverter))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MischievousMinMaxLengthCheckConverter))]
        public string Zh { get; set; }
    }

    public partial class BriefingFailureHeader
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter1))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter1))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter2))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter4))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Zh { get; set; }
    }

    public partial class BriefingFinalWords
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter5))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter6))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter7))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter8))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter9))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter10))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter11))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter12))]
        public string Zh { get; set; }
    }

    public partial class BriefingGoalDescription
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter14))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter15))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter16))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter17))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter18))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter19))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter20))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter21))]
        public string Zh { get; set; }
    }

    public partial class BriefingHeader
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter22))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter23))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter24))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter22))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter25))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter26))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter4))]
        public string Zh { get; set; }
    }

    public partial class BriefingSuccessDescription
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter28))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter29))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter30))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter31))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter32))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter33))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter34))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter35))]
        public string Zh { get; set; }
    }

    public partial class BriefingSuccessHeader
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter4))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter1))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter2))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter4))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Zh { get; set; }
    }

    public partial class FinishedCampaignEnded
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter36))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter37))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter38))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter39))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter40))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter41))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter42))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter43))]
        public string Zh { get; set; }
    }

    public partial class FinishedFailureDescription
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter44))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter45))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter46))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter47))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter48))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter49))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter50))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter51))]
        public string Zh { get; set; }
    }

    public partial class FinishedResolutionStateFailure
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter41))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter2))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Zh { get; set; }
    }

    public partial class FinishedResolutionStateSuccess
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter52))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter1))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter25))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter25))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter4))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Zh { get; set; }
    }

    public partial class FinishedSuccessDescription
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter53))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter54))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter55))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter56))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter57))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter58))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter59))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter60))]
        public string Zh { get; set; }
    }

    public partial class MapHeader
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter23))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter62))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter23))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter26))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter52))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter2))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter24))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter63))]
        public string Zh { get; set; }
    }

    public partial class MapSection1Paragraph
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter64))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter65))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter66))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter67))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter68))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter69))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter70))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter71))]
        public string Zh { get; set; }
    }

    public partial class MapSection1Title
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter72))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter73))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter74))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter75))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter76))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter77))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter73))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter78))]
        public string Zh { get; set; }
    }

    public partial class MapSection2Paragraph
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter79))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter80))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter81))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter82))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter83))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter84))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter85))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter86))]
        public string Zh { get; set; }
    }

    public partial class MapSection2Title
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter25))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter25))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter2))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter4))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Zh { get; set; }
    }

    public partial class MapSection3Paragraph
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter87))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter88))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter89))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter90))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter91))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter92))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter93))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter94))]
        public string Zh { get; set; }
    }

    public partial class MapSection3Title
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter95))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter96))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter23))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter23))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter52))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter2))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(BraggadociousMinMaxLengthCheckConverter))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Zh { get; set; }
    }

    public partial class MapSubheader
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter97))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter98))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter99))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter100))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter101))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter102))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter103))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter104))]
        public string Zh { get; set; }
    }

    public partial class MapTitle
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter95))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter24))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter105))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter22))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter26))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter2))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter105))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter3))]
        public string Zh { get; set; }
    }

    public partial class PresentingCharacterName
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter107))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter108))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter109))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter110))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter111))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter112))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter113))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter114))]
        public string Zh { get; set; }
    }

    public partial class PresentingCharacterSubtitle
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter115))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter116))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter117))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter118))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter119))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter120))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter121))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter122))]
        public string Zh { get; set; }
    }

    public partial class Issuer
    {
        [JsonProperty("factionID")]
        public long FactionId { get; set; }
    }

    public partial class Subtitle
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter126))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter127))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter128))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter129))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter130))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter131))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter132))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter133))]
        public string Zh { get; set; }
    }

    public partial class Title
    {
        [JsonProperty("de")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter134))]
        public string De { get; set; }

        [JsonProperty("en")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter135))]
        public string En { get; set; }

        [JsonProperty("es")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter136))]
        public string Es { get; set; }

        [JsonProperty("fr")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter137))]
        public string Fr { get; set; }

        [JsonProperty("ja")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter138))]
        public string Ja { get; set; }

        [JsonProperty("ko")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter139))]
        public string Ko { get; set; }

        [JsonProperty("ru")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter140))]
        public string Ru { get; set; }

        [JsonProperty("zh")]
        [JsonConverter(typeof(MinMaxLengthCheckConverter141))]
        public string Zh { get; set; }
    }

    public enum Race { Amarr, Caldari, Gallente, Minmatar };

    public partial class MilitaryCampaign
    {
        public static MilitaryCampaign FromJson(string json) => JsonConvert.DeserializeObject<MilitaryCampaign>(json, QuickType.Converter.Settings);
    }

    public static class Serialize
    {
        public static string ToJson(this MilitaryCampaign self) => JsonConvert.SerializeObject(self, QuickType.Converter.Settings);
    }

    internal static class Converter
    {
        public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
        {
            MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
            DateParseHandling = DateParseHandling.None,
            Converters =
            {
                RaceConverter.Singleton,
                new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
            },
        };
    }

    internal class PurpleMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 36 && value.Length <= 36)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 36 && value.Length <= 36)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly PurpleMinMaxLengthCheckConverter Singleton = new PurpleMinMaxLengthCheckConverter();
    }

    internal class FluffyMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 58 && value.Length <= 61)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 58 && value.Length <= 61)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly FluffyMinMaxLengthCheckConverter Singleton = new FluffyMinMaxLengthCheckConverter();
    }

    internal class TentacledMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 55 && value.Length <= 58)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 55 && value.Length <= 58)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly TentacledMinMaxLengthCheckConverter Singleton = new TentacledMinMaxLengthCheckConverter();
    }

    internal class StickyMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 68 && value.Length <= 71)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 68 && value.Length <= 71)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly StickyMinMaxLengthCheckConverter Singleton = new StickyMinMaxLengthCheckConverter();
    }

    internal class IndigoMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 60 && value.Length <= 430)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 60 && value.Length <= 430)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly IndigoMinMaxLengthCheckConverter Singleton = new IndigoMinMaxLengthCheckConverter();
    }

    internal class IndecentMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 53 && value.Length <= 388)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 53 && value.Length <= 388)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly IndecentMinMaxLengthCheckConverter Singleton = new IndecentMinMaxLengthCheckConverter();
    }

    internal class HilariousMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 61 && value.Length <= 457)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 61 && value.Length <= 457)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly HilariousMinMaxLengthCheckConverter Singleton = new HilariousMinMaxLengthCheckConverter();
    }

    internal class AmbitiousMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 61 && value.Length <= 485)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 61 && value.Length <= 485)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly AmbitiousMinMaxLengthCheckConverter Singleton = new AmbitiousMinMaxLengthCheckConverter();
    }

    internal class CunningMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 30 && value.Length <= 209)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 30 && value.Length <= 209)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly CunningMinMaxLengthCheckConverter Singleton = new CunningMinMaxLengthCheckConverter();
    }

    internal class MagentaMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 24 && value.Length <= 242)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 24 && value.Length <= 242)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MagentaMinMaxLengthCheckConverter Singleton = new MagentaMinMaxLengthCheckConverter();
    }

    internal class FriskyMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 65 && value.Length <= 393)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 65 && value.Length <= 393)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly FriskyMinMaxLengthCheckConverter Singleton = new FriskyMinMaxLengthCheckConverter();
    }

    internal class MischievousMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 25 && value.Length <= 156)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 25 && value.Length <= 156)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MischievousMinMaxLengthCheckConverter Singleton = new MischievousMinMaxLengthCheckConverter();
    }

    internal class BraggadociousMinMaxLengthCheckConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 9 && value.Length <= 9)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 9 && value.Length <= 9)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly BraggadociousMinMaxLengthCheckConverter Singleton = new BraggadociousMinMaxLengthCheckConverter();
    }

    internal class MinMaxLengthCheckConverter1 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 7 && value.Length <= 7)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 7 && value.Length <= 7)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter1 Singleton = new MinMaxLengthCheckConverter1();
    }

    internal class MinMaxLengthCheckConverter2 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 5 && value.Length <= 5)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 5 && value.Length <= 5)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter2 Singleton = new MinMaxLengthCheckConverter2();
    }

    internal class MinMaxLengthCheckConverter3 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 2 && value.Length <= 2)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 2 && value.Length <= 2)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter3 Singleton = new MinMaxLengthCheckConverter3();
    }

    internal class MinMaxLengthCheckConverter4 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 6 && value.Length <= 6)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 6 && value.Length <= 6)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter4 Singleton = new MinMaxLengthCheckConverter4();
    }

    internal class MinMaxLengthCheckConverter5 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 41 && value.Length <= 71)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 41 && value.Length <= 71)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter5 Singleton = new MinMaxLengthCheckConverter5();
    }

    internal class MinMaxLengthCheckConverter6 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 36 && value.Length <= 54)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 36 && value.Length <= 54)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter6 Singleton = new MinMaxLengthCheckConverter6();
    }

    internal class MinMaxLengthCheckConverter7 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 36 && value.Length <= 69)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 36 && value.Length <= 69)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter7 Singleton = new MinMaxLengthCheckConverter7();
    }

    internal class MinMaxLengthCheckConverter8 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 36 && value.Length <= 68)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 36 && value.Length <= 68)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter8 Singleton = new MinMaxLengthCheckConverter8();
    }

    internal class MinMaxLengthCheckConverter9 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 14 && value.Length <= 23)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 14 && value.Length <= 23)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter9 Singleton = new MinMaxLengthCheckConverter9();
    }

    internal class MinMaxLengthCheckConverter10 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 14 && value.Length <= 27)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 14 && value.Length <= 27)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter10 Singleton = new MinMaxLengthCheckConverter10();
    }

    internal class MinMaxLengthCheckConverter11 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 28 && value.Length <= 43)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 28 && value.Length <= 43)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter11 Singleton = new MinMaxLengthCheckConverter11();
    }

    internal class MinMaxLengthCheckConverter12 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 12 && value.Length <= 18)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 12 && value.Length <= 18)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter12 Singleton = new MinMaxLengthCheckConverter12();
    }

    internal class MinMaxLengthCheckConverter13 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 71 && value.Length <= 74)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 71 && value.Length <= 74)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter13 Singleton = new MinMaxLengthCheckConverter13();
    }

    internal class MinMaxLengthCheckConverter14 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 1026 && value.Length <= 1088)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 1026 && value.Length <= 1088)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter14 Singleton = new MinMaxLengthCheckConverter14();
    }

    internal class MinMaxLengthCheckConverter15 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 887 && value.Length <= 922)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 887 && value.Length <= 922)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter15 Singleton = new MinMaxLengthCheckConverter15();
    }

    internal class MinMaxLengthCheckConverter16 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 951 && value.Length <= 1033)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 951 && value.Length <= 1033)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter16 Singleton = new MinMaxLengthCheckConverter16();
    }

    internal class MinMaxLengthCheckConverter17 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 955 && value.Length <= 1071)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 955 && value.Length <= 1071)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter17 Singleton = new MinMaxLengthCheckConverter17();
    }

    internal class MinMaxLengthCheckConverter18 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 402 && value.Length <= 482)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 402 && value.Length <= 482)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter18 Singleton = new MinMaxLengthCheckConverter18();
    }

    internal class MinMaxLengthCheckConverter19 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 511 && value.Length <= 570)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 511 && value.Length <= 570)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter19 Singleton = new MinMaxLengthCheckConverter19();
    }

    internal class MinMaxLengthCheckConverter20 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 790 && value.Length <= 964)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 790 && value.Length <= 964)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter20 Singleton = new MinMaxLengthCheckConverter20();
    }

    internal class MinMaxLengthCheckConverter21 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 318 && value.Length <= 410)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 318 && value.Length <= 410)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter21 Singleton = new MinMaxLengthCheckConverter21();
    }

    internal class MinMaxLengthCheckConverter22 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 20 && value.Length <= 20)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 20 && value.Length <= 20)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter22 Singleton = new MinMaxLengthCheckConverter22();
    }

    internal class MinMaxLengthCheckConverter23 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 17 && value.Length <= 17)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 17 && value.Length <= 17)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter23 Singleton = new MinMaxLengthCheckConverter23();
    }

    internal class MinMaxLengthCheckConverter24 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 21 && value.Length <= 21)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 21 && value.Length <= 21)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter24 Singleton = new MinMaxLengthCheckConverter24();
    }

    internal class MinMaxLengthCheckConverter25 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 8 && value.Length <= 8)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 8 && value.Length <= 8)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter25 Singleton = new MinMaxLengthCheckConverter25();
    }

    internal class MinMaxLengthCheckConverter26 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 16 && value.Length <= 16)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 16 && value.Length <= 16)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter26 Singleton = new MinMaxLengthCheckConverter26();
    }

    internal class MinMaxLengthCheckConverter27 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 73 && value.Length <= 76)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 73 && value.Length <= 76)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter27 Singleton = new MinMaxLengthCheckConverter27();
    }

    internal class MinMaxLengthCheckConverter28 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 262 && value.Length <= 500)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 262 && value.Length <= 500)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter28 Singleton = new MinMaxLengthCheckConverter28();
    }

    internal class MinMaxLengthCheckConverter29 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 361 && value.Length <= 470)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 361 && value.Length <= 470)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter29 Singleton = new MinMaxLengthCheckConverter29();
    }

    internal class MinMaxLengthCheckConverter30 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 299 && value.Length <= 518)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 299 && value.Length <= 518)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter30 Singleton = new MinMaxLengthCheckConverter30();
    }

    internal class MinMaxLengthCheckConverter31 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 309 && value.Length <= 538)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 309 && value.Length <= 538)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter31 Singleton = new MinMaxLengthCheckConverter31();
    }

    internal class MinMaxLengthCheckConverter32 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 134 && value.Length <= 278)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 134 && value.Length <= 278)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter32 Singleton = new MinMaxLengthCheckConverter32();
    }

    internal class MinMaxLengthCheckConverter33 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 164 && value.Length <= 305)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 164 && value.Length <= 305)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter33 Singleton = new MinMaxLengthCheckConverter33();
    }

    internal class MinMaxLengthCheckConverter34 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 278 && value.Length <= 428)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 278 && value.Length <= 428)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter34 Singleton = new MinMaxLengthCheckConverter34();
    }

    internal class MinMaxLengthCheckConverter35 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 114 && value.Length <= 228)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 114 && value.Length <= 228)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter35 Singleton = new MinMaxLengthCheckConverter35();
    }

    internal class MinMaxLengthCheckConverter36 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 26 && value.Length <= 29)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 26 && value.Length <= 29)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter36 Singleton = new MinMaxLengthCheckConverter36();
    }

    internal class MinMaxLengthCheckConverter37 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 20 && value.Length <= 23)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 20 && value.Length <= 23)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter37 Singleton = new MinMaxLengthCheckConverter37();
    }

    internal class MinMaxLengthCheckConverter38 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 27 && value.Length <= 30)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 27 && value.Length <= 30)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter38 Singleton = new MinMaxLengthCheckConverter38();
    }

    internal class MinMaxLengthCheckConverter39 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 23 && value.Length <= 26)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 23 && value.Length <= 26)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter39 Singleton = new MinMaxLengthCheckConverter39();
    }

    internal class MinMaxLengthCheckConverter40 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 12 && value.Length <= 14)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 12 && value.Length <= 14)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter40 Singleton = new MinMaxLengthCheckConverter40();
    }

    internal class MinMaxLengthCheckConverter41 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 12 && value.Length <= 12)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 12 && value.Length <= 12)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter41 Singleton = new MinMaxLengthCheckConverter41();
    }

    internal class MinMaxLengthCheckConverter42 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 28 && value.Length <= 31)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 28 && value.Length <= 31)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter42 Singleton = new MinMaxLengthCheckConverter42();
    }

    internal class MinMaxLengthCheckConverter43 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 9 && value.Length <= 11)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 9 && value.Length <= 11)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter43 Singleton = new MinMaxLengthCheckConverter43();
    }

    internal class MinMaxLengthCheckConverter44 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 537 && value.Length <= 864)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 537 && value.Length <= 864)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter44 Singleton = new MinMaxLengthCheckConverter44();
    }

    internal class MinMaxLengthCheckConverter45 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 486 && value.Length <= 761)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 486 && value.Length <= 761)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter45 Singleton = new MinMaxLengthCheckConverter45();
    }

    internal class MinMaxLengthCheckConverter46 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 545 && value.Length <= 839)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 545 && value.Length <= 839)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter46 Singleton = new MinMaxLengthCheckConverter46();
    }

    internal class MinMaxLengthCheckConverter47 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 539 && value.Length <= 886)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 539 && value.Length <= 886)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter47 Singleton = new MinMaxLengthCheckConverter47();
    }

    internal class MinMaxLengthCheckConverter48 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 295 && value.Length <= 391)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 295 && value.Length <= 391)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter48 Singleton = new MinMaxLengthCheckConverter48();
    }

    internal class MinMaxLengthCheckConverter49 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 343 && value.Length <= 443)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 343 && value.Length <= 443)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter49 Singleton = new MinMaxLengthCheckConverter49();
    }

    internal class MinMaxLengthCheckConverter50 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 485 && value.Length <= 784)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 485 && value.Length <= 784)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter50 Singleton = new MinMaxLengthCheckConverter50();
    }

    internal class MinMaxLengthCheckConverter51 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 240 && value.Length <= 315)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 240 && value.Length <= 315)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter51 Singleton = new MinMaxLengthCheckConverter51();
    }

    internal class MinMaxLengthCheckConverter52 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 4 && value.Length <= 4)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 4 && value.Length <= 4)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter52 Singleton = new MinMaxLengthCheckConverter52();
    }

    internal class MinMaxLengthCheckConverter53 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 536 && value.Length <= 778)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 536 && value.Length <= 778)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter53 Singleton = new MinMaxLengthCheckConverter53();
    }

    internal class MinMaxLengthCheckConverter54 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 464 && value.Length <= 679)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 464 && value.Length <= 679)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter54 Singleton = new MinMaxLengthCheckConverter54();
    }

    internal class MinMaxLengthCheckConverter55 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 479 && value.Length <= 802)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 479 && value.Length <= 802)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter55 Singleton = new MinMaxLengthCheckConverter55();
    }

    internal class MinMaxLengthCheckConverter56 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 485 && value.Length <= 782)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 485 && value.Length <= 782)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter56 Singleton = new MinMaxLengthCheckConverter56();
    }

    internal class MinMaxLengthCheckConverter57 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 214 && value.Length <= 329)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 214 && value.Length <= 329)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter57 Singleton = new MinMaxLengthCheckConverter57();
    }

    internal class MinMaxLengthCheckConverter58 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 261 && value.Length <= 391)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 261 && value.Length <= 391)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter58 Singleton = new MinMaxLengthCheckConverter58();
    }

    internal class MinMaxLengthCheckConverter59 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 428 && value.Length <= 574)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 428 && value.Length <= 574)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter59 Singleton = new MinMaxLengthCheckConverter59();
    }

    internal class MinMaxLengthCheckConverter60 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 155 && value.Length <= 255)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 155 && value.Length <= 255)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter60 Singleton = new MinMaxLengthCheckConverter60();
    }

    internal class MinMaxLengthCheckConverter61 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 56 && value.Length <= 59)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 56 && value.Length <= 59)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter61 Singleton = new MinMaxLengthCheckConverter61();
    }

    internal class MinMaxLengthCheckConverter62 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 18 && value.Length <= 18)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 18 && value.Length <= 18)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter62 Singleton = new MinMaxLengthCheckConverter62();
    }

    internal class MinMaxLengthCheckConverter63 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 3 && value.Length <= 3)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 3 && value.Length <= 3)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter63 Singleton = new MinMaxLengthCheckConverter63();
    }

    internal class MinMaxLengthCheckConverter64 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 201 && value.Length <= 419)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 201 && value.Length <= 419)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter64 Singleton = new MinMaxLengthCheckConverter64();
    }

    internal class MinMaxLengthCheckConverter65 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 189 && value.Length <= 404)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 189 && value.Length <= 404)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter65 Singleton = new MinMaxLengthCheckConverter65();
    }

    internal class MinMaxLengthCheckConverter66 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 167 && value.Length <= 415)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 167 && value.Length <= 415)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter66 Singleton = new MinMaxLengthCheckConverter66();
    }

    internal class MinMaxLengthCheckConverter67 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 196 && value.Length <= 408)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 196 && value.Length <= 408)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter67 Singleton = new MinMaxLengthCheckConverter67();
    }

    internal class MinMaxLengthCheckConverter68 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 61 && value.Length <= 302)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 61 && value.Length <= 302)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter68 Singleton = new MinMaxLengthCheckConverter68();
    }

    internal class MinMaxLengthCheckConverter69 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 94 && value.Length <= 289)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 94 && value.Length <= 289)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter69 Singleton = new MinMaxLengthCheckConverter69();
    }

    internal class MinMaxLengthCheckConverter70 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 152 && value.Length <= 428)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 152 && value.Length <= 428)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter70 Singleton = new MinMaxLengthCheckConverter70();
    }

    internal class MinMaxLengthCheckConverter71 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 62 && value.Length <= 271)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 62 && value.Length <= 271)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter71 Singleton = new MinMaxLengthCheckConverter71();
    }

    internal class MinMaxLengthCheckConverter72 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 5 && value.Length <= 30)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 5 && value.Length <= 30)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter72 Singleton = new MinMaxLengthCheckConverter72();
    }

    internal class MinMaxLengthCheckConverter73 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 5 && value.Length <= 29)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 5 && value.Length <= 29)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter73 Singleton = new MinMaxLengthCheckConverter73();
    }

    internal class MinMaxLengthCheckConverter74 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 5 && value.Length <= 32)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 5 && value.Length <= 32)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter74 Singleton = new MinMaxLengthCheckConverter74();
    }

    internal class MinMaxLengthCheckConverter75 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 5 && value.Length <= 31)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 5 && value.Length <= 31)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter75 Singleton = new MinMaxLengthCheckConverter75();
    }

    internal class MinMaxLengthCheckConverter76 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 3 && value.Length <= 16)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 3 && value.Length <= 16)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter76 Singleton = new MinMaxLengthCheckConverter76();
    }

    internal class MinMaxLengthCheckConverter77 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 3 && value.Length <= 13)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 3 && value.Length <= 13)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter77 Singleton = new MinMaxLengthCheckConverter77();
    }

    internal class MinMaxLengthCheckConverter78 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 2 && value.Length <= 8)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 2 && value.Length <= 8)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter78 Singleton = new MinMaxLengthCheckConverter78();
    }

    internal class MinMaxLengthCheckConverter79 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 264 && value.Length <= 264)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 264 && value.Length <= 264)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter79 Singleton = new MinMaxLengthCheckConverter79();
    }

    internal class MinMaxLengthCheckConverter80 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 224 && value.Length <= 224)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 224 && value.Length <= 224)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter80 Singleton = new MinMaxLengthCheckConverter80();
    }

    internal class MinMaxLengthCheckConverter81 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 265 && value.Length <= 265)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 265 && value.Length <= 265)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter81 Singleton = new MinMaxLengthCheckConverter81();
    }

    internal class MinMaxLengthCheckConverter82 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 294 && value.Length <= 294)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 294 && value.Length <= 294)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter82 Singleton = new MinMaxLengthCheckConverter82();
    }

    internal class MinMaxLengthCheckConverter83 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 101 && value.Length <= 101)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 101 && value.Length <= 101)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter83 Singleton = new MinMaxLengthCheckConverter83();
    }

    internal class MinMaxLengthCheckConverter84 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 129 && value.Length <= 129)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 129 && value.Length <= 129)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter84 Singleton = new MinMaxLengthCheckConverter84();
    }

    internal class MinMaxLengthCheckConverter85 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 328 && value.Length <= 328)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 328 && value.Length <= 328)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter85 Singleton = new MinMaxLengthCheckConverter85();
    }

    internal class MinMaxLengthCheckConverter86 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 68 && value.Length <= 68)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 68 && value.Length <= 68)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter86 Singleton = new MinMaxLengthCheckConverter86();
    }

    internal class MinMaxLengthCheckConverter87 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 269 && value.Length <= 269)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 269 && value.Length <= 269)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter87 Singleton = new MinMaxLengthCheckConverter87();
    }

    internal class MinMaxLengthCheckConverter88 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 244 && value.Length <= 244)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 244 && value.Length <= 244)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter88 Singleton = new MinMaxLengthCheckConverter88();
    }

    internal class MinMaxLengthCheckConverter89 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 297 && value.Length <= 297)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 297 && value.Length <= 297)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter89 Singleton = new MinMaxLengthCheckConverter89();
    }

    internal class MinMaxLengthCheckConverter90 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 287 && value.Length <= 287)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 287 && value.Length <= 287)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter90 Singleton = new MinMaxLengthCheckConverter90();
    }

    internal class MinMaxLengthCheckConverter91 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 156 && value.Length <= 156)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 156 && value.Length <= 156)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter91 Singleton = new MinMaxLengthCheckConverter91();
    }

    internal class MinMaxLengthCheckConverter92 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 177 && value.Length <= 177)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 177 && value.Length <= 177)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter92 Singleton = new MinMaxLengthCheckConverter92();
    }

    internal class MinMaxLengthCheckConverter93 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 305 && value.Length <= 305)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 305 && value.Length <= 305)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter93 Singleton = new MinMaxLengthCheckConverter93();
    }

    internal class MinMaxLengthCheckConverter94 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 133 && value.Length <= 133)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 133 && value.Length <= 133)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter94 Singleton = new MinMaxLengthCheckConverter94();
    }

    internal class MinMaxLengthCheckConverter95 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 14 && value.Length <= 14)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 14 && value.Length <= 14)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter95 Singleton = new MinMaxLengthCheckConverter95();
    }

    internal class MinMaxLengthCheckConverter96 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 11 && value.Length <= 11)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 11 && value.Length <= 11)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter96 Singleton = new MinMaxLengthCheckConverter96();
    }

    internal class MinMaxLengthCheckConverter97 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 36 && value.Length <= 61)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 36 && value.Length <= 61)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter97 Singleton = new MinMaxLengthCheckConverter97();
    }

    internal class MinMaxLengthCheckConverter98 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 33 && value.Length <= 57)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 33 && value.Length <= 57)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter98 Singleton = new MinMaxLengthCheckConverter98();
    }

    internal class MinMaxLengthCheckConverter99 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 37 && value.Length <= 63)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 37 && value.Length <= 63)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter99 Singleton = new MinMaxLengthCheckConverter99();
    }

    internal class MinMaxLengthCheckConverter100 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 34 && value.Length <= 60)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 34 && value.Length <= 60)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter100 Singleton = new MinMaxLengthCheckConverter100();
    }

    internal class MinMaxLengthCheckConverter101 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 15 && value.Length <= 28)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 15 && value.Length <= 28)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter101 Singleton = new MinMaxLengthCheckConverter101();
    }

    internal class MinMaxLengthCheckConverter102 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 18 && value.Length <= 28)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 18 && value.Length <= 28)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter102 Singleton = new MinMaxLengthCheckConverter102();
    }

    internal class MinMaxLengthCheckConverter103 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 34 && value.Length <= 58)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 34 && value.Length <= 58)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter103 Singleton = new MinMaxLengthCheckConverter103();
    }

    internal class MinMaxLengthCheckConverter104 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 9 && value.Length <= 15)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 9 && value.Length <= 15)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter104 Singleton = new MinMaxLengthCheckConverter104();
    }

    internal class MinMaxLengthCheckConverter105 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 22 && value.Length <= 22)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 22 && value.Length <= 22)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter105 Singleton = new MinMaxLengthCheckConverter105();
    }

    internal class MinMaxLengthCheckConverter106 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 57 && value.Length <= 60)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 57 && value.Length <= 60)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter106 Singleton = new MinMaxLengthCheckConverter106();
    }

    internal class MinMaxLengthCheckConverter107 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 21 && value.Length <= 30)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 21 && value.Length <= 30)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter107 Singleton = new MinMaxLengthCheckConverter107();
    }

    internal class MinMaxLengthCheckConverter108 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 27 && value.Length <= 31)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 27 && value.Length <= 31)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter108 Singleton = new MinMaxLengthCheckConverter108();
    }

    internal class MinMaxLengthCheckConverter109 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 27 && value.Length <= 32)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 27 && value.Length <= 32)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter109 Singleton = new MinMaxLengthCheckConverter109();
    }

    internal class MinMaxLengthCheckConverter110 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 27 && value.Length <= 34)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 27 && value.Length <= 34)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter110 Singleton = new MinMaxLengthCheckConverter110();
    }

    internal class MinMaxLengthCheckConverter111 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 13 && value.Length <= 21)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 13 && value.Length <= 21)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter111 Singleton = new MinMaxLengthCheckConverter111();
    }

    internal class MinMaxLengthCheckConverter112 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 11 && value.Length <= 13)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 11 && value.Length <= 13)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter112 Singleton = new MinMaxLengthCheckConverter112();
    }

    internal class MinMaxLengthCheckConverter113 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 18 && value.Length <= 33)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 18 && value.Length <= 33)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter113 Singleton = new MinMaxLengthCheckConverter113();
    }

    internal class MinMaxLengthCheckConverter114 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 9 && value.Length <= 12)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 9 && value.Length <= 12)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter114 Singleton = new MinMaxLengthCheckConverter114();
    }

    internal class MinMaxLengthCheckConverter115 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 53 && value.Length <= 108)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 53 && value.Length <= 108)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter115 Singleton = new MinMaxLengthCheckConverter115();
    }

    internal class MinMaxLengthCheckConverter116 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 51 && value.Length <= 97)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 51 && value.Length <= 97)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter116 Singleton = new MinMaxLengthCheckConverter116();
    }

    internal class MinMaxLengthCheckConverter117 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 57 && value.Length <= 108)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 57 && value.Length <= 108)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter117 Singleton = new MinMaxLengthCheckConverter117();
    }

    internal class MinMaxLengthCheckConverter118 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 54 && value.Length <= 107)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 54 && value.Length <= 107)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter118 Singleton = new MinMaxLengthCheckConverter118();
    }

    internal class MinMaxLengthCheckConverter119 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 18 && value.Length <= 56)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 18 && value.Length <= 56)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter119 Singleton = new MinMaxLengthCheckConverter119();
    }

    internal class MinMaxLengthCheckConverter120 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 21 && value.Length <= 52)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 21 && value.Length <= 52)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter120 Singleton = new MinMaxLengthCheckConverter120();
    }

    internal class MinMaxLengthCheckConverter121 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 53 && value.Length <= 86)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 53 && value.Length <= 86)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter121 Singleton = new MinMaxLengthCheckConverter121();
    }

    internal class MinMaxLengthCheckConverter122 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 19 && value.Length <= 36)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 19 && value.Length <= 36)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter122 Singleton = new MinMaxLengthCheckConverter122();
    }

    internal class MinMaxLengthCheckConverter123 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 72 && value.Length <= 75)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 72 && value.Length <= 75)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter123 Singleton = new MinMaxLengthCheckConverter123();
    }

    internal class RaceConverter : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(Race) || t == typeof(Race?);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            if (reader.TokenType == JsonToken.Null) return null;
            var value = serializer.Deserialize<string>(reader);
            switch (value)
            {
                case "amarr":
                    return Race.Amarr;
                case "caldari":
                    return Race.Caldari;
                case "gallente":
                    return Race.Gallente;
                case "minmatar":
                    return Race.Minmatar;
            }
            throw new Exception("Cannot unmarshal type Race");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            if (untypedValue == null)
            {
                serializer.Serialize(writer, null);
                return;
            }
            var value = (Race)untypedValue;
            switch (value)
            {
                case Race.Amarr:
                    serializer.Serialize(writer, "amarr");
                    return;
                case Race.Caldari:
                    serializer.Serialize(writer, "caldari");
                    return;
                case Race.Gallente:
                    serializer.Serialize(writer, "gallente");
                    return;
                case Race.Minmatar:
                    serializer.Serialize(writer, "minmatar");
                    return;
            }
            throw new Exception("Cannot marshal type Race");
        }

        public static readonly RaceConverter Singleton = new RaceConverter();
    }

    internal class MinMaxLengthCheckConverter124 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 14 && value.Length <= 17)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 14 && value.Length <= 17)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter124 Singleton = new MinMaxLengthCheckConverter124();
    }

    internal class MinMaxLengthCheckConverter125 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 69 && value.Length <= 72)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 69 && value.Length <= 72)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter125 Singleton = new MinMaxLengthCheckConverter125();
    }

    internal class MinMaxLengthCheckConverter126 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 230 && value.Length <= 378)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 230 && value.Length <= 378)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter126 Singleton = new MinMaxLengthCheckConverter126();
    }

    internal class MinMaxLengthCheckConverter127 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 169 && value.Length <= 328)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 169 && value.Length <= 328)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter127 Singleton = new MinMaxLengthCheckConverter127();
    }

    internal class MinMaxLengthCheckConverter128 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 192 && value.Length <= 345)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 192 && value.Length <= 345)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter128 Singleton = new MinMaxLengthCheckConverter128();
    }

    internal class MinMaxLengthCheckConverter129 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 207 && value.Length <= 352)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 207 && value.Length <= 352)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter129 Singleton = new MinMaxLengthCheckConverter129();
    }

    internal class MinMaxLengthCheckConverter130 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 66 && value.Length <= 226)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 66 && value.Length <= 226)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter130 Singleton = new MinMaxLengthCheckConverter130();
    }

    internal class MinMaxLengthCheckConverter131 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 83 && value.Length <= 245)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 83 && value.Length <= 245)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter131 Singleton = new MinMaxLengthCheckConverter131();
    }

    internal class MinMaxLengthCheckConverter132 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 160 && value.Length <= 328)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 160 && value.Length <= 328)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter132 Singleton = new MinMaxLengthCheckConverter132();
    }

    internal class MinMaxLengthCheckConverter133 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 51 && value.Length <= 203)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 51 && value.Length <= 203)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter133 Singleton = new MinMaxLengthCheckConverter133();
    }

    internal class MinMaxLengthCheckConverter134 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 20 && value.Length <= 27)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 20 && value.Length <= 27)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter134 Singleton = new MinMaxLengthCheckConverter134();
    }

    internal class MinMaxLengthCheckConverter135 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 20 && value.Length <= 25)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 20 && value.Length <= 25)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter135 Singleton = new MinMaxLengthCheckConverter135();
    }

    internal class MinMaxLengthCheckConverter136 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 22 && value.Length <= 34)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 22 && value.Length <= 34)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter136 Singleton = new MinMaxLengthCheckConverter136();
    }

    internal class MinMaxLengthCheckConverter137 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 15 && value.Length <= 27)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 15 && value.Length <= 27)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter137 Singleton = new MinMaxLengthCheckConverter137();
    }

    internal class MinMaxLengthCheckConverter138 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 6 && value.Length <= 11)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 6 && value.Length <= 11)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter138 Singleton = new MinMaxLengthCheckConverter138();
    }

    internal class MinMaxLengthCheckConverter139 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 8 && value.Length <= 9)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 8 && value.Length <= 9)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter139 Singleton = new MinMaxLengthCheckConverter139();
    }

    internal class MinMaxLengthCheckConverter140 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 16 && value.Length <= 37)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 16 && value.Length <= 37)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter140 Singleton = new MinMaxLengthCheckConverter140();
    }

    internal class MinMaxLengthCheckConverter141 : JsonConverter
    {
        public override bool CanConvert(Type t) => t == typeof(string);

        public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer)
        {
            var value = serializer.Deserialize<string>(reader);
            if (value.Length >= 5 && value.Length <= 8)
            {
                return value;
            }
            throw new Exception("Cannot unmarshal type string");
        }

        public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer)
        {
            var value = (string)untypedValue;
            if (value.Length >= 5 && value.Length <= 8)
            {
                serializer.Serialize(writer, value);
                return;
            }
            throw new Exception("Cannot marshal type string");
        }

        public static readonly MinMaxLengthCheckConverter141 Singleton = new MinMaxLengthCheckConverter141();
    }
}
// Code generated from JSON Schema using quicktype. DO NOT EDIT.
// To parse and unparse this JSON data, add this code to your project and do:
//
//    militaryCampaign, err := UnmarshalMilitaryCampaign(bytes)
//    bytes, err = militaryCampaign.Marshal()

package model

import "encoding/json"

func UnmarshalMilitaryCampaign(data []byte) (MilitaryCampaign, error) {
    var r MilitaryCampaign
    err := json.Unmarshal(data, &r)
    return r, err
}

func (r *MilitaryCampaign) Marshal() ([]byte, error) {
    return json.Marshal(r)
}

type MilitaryCampaign struct {
    Key            string      `json:"_key"`
    Annotations    Annotations `json:"annotations"`
    Issuer         Issuer      `json:"issuer"`
    Subtitle       Subtitle    `json:"subtitle"`
    TargetProgress int64       `json:"targetProgress"`
    Title          Title       `json:"title"`
}

type Annotations struct {
    AoCampaignCardButtonImage      string                         `json:"aoCampaignCardButtonImage"`
    BackgroundVideoLoop            string                         `json:"backgroundVideoLoop"`
    BriefingBackground             string                         `json:"briefingBackground"`
    BriefingFailureDescription     BriefingFailureDescription     `json:"briefingFailureDescription"`
    BriefingFailureHeader          BriefingFailureHeader          `json:"briefingFailureHeader"`
    BriefingFinalWords             BriefingFinalWords             `json:"briefingFinalWords"`
    BriefingForeground             string                         `json:"briefingForeground"`
    BriefingGoalDescription        BriefingGoalDescription        `json:"briefingGoalDescription"`
    BriefingHeader                 BriefingHeader                 `json:"briefingHeader"`
    BriefingMiddleground           string                         `json:"briefingMiddleground"`
    BriefingSuccessDescription     BriefingSuccessDescription     `json:"briefingSuccessDescription"`
    BriefingSuccessHeader          BriefingSuccessHeader          `json:"briefingSuccessHeader"`
    CampaignSet                    string                         `json:"campaignSet"`
    DashboardAmbientBackground     string                         `json:"dashboardAmbientBackground"`
    DashboardBackground            string                         `json:"dashboardBackground"`
    DashboardForeground            string                         `json:"dashboardForeground"`
    DashboardMiddleground          string                         `json:"dashboardMiddleground"`
    FinishedCampaignEnded          FinishedCampaignEnded          `json:"finishedCampaignEnded"`
    FinishedFailureDescription     FinishedFailureDescription     `json:"finishedFailureDescription"`
    FinishedResolutionStateFailure FinishedResolutionStateFailure `json:"finishedResolutionStateFailure"`
    FinishedResolutionStateSuccess FinishedResolutionStateSuccess `json:"finishedResolutionStateSuccess"`
    FinishedSuccessDescription     FinishedSuccessDescription     `json:"finishedSuccessDescription"`
    ForegroundVideoIntro           string                         `json:"foregroundVideoIntro"`
    ForegroundVideoLoop            string                         `json:"foregroundVideoLoop"`
    ForegroundVideoOutro           string                         `json:"foregroundVideoOutro"`
    MapFocusEntityID               int64                          `json:"mapFocusEntityID"`
    MapHeader                      MapHeader                      `json:"mapHeader"`
    MapSection1Paragraph           MapSection1Paragraph           `json:"mapSection1Paragraph"`
    MapSection1Title               MapSection1Title               `json:"mapSection1Title"`
    MapSection2Paragraph           MapSection2Paragraph           `json:"mapSection2Paragraph"`
    MapSection2Title               MapSection2Title               `json:"mapSection2Title"`
    MapSection3Paragraph           MapSection3Paragraph           `json:"mapSection3Paragraph"`
    MapSection3Title               MapSection3Title               `json:"mapSection3Title"`
    MapSubheader                   MapSubheader                   `json:"mapSubheader"`
    MapTitle                       MapTitle                       `json:"mapTitle"`
    MiddlegroundVideoIntro         string                         `json:"middlegroundVideoIntro"`
    MiddlegroundVideoLoop          string                         `json:"middlegroundVideoLoop"`
    MiddlegroundVideoOutro         string                         `json:"middlegroundVideoOutro"`
    PresentingCharacterName        PresentingCharacterName        `json:"presentingCharacterName"`
    PresentingCharacterSubtitle    PresentingCharacterSubtitle    `json:"presentingCharacterSubtitle"`
    PresentingCharacterTexturePath string                         `json:"presentingCharacterTexturePath"`
    Race                           Race                           `json:"race"`
    ThemePack                      string                         `json:"themePack"`
    TowCampaignCardButtonImage     string                         `json:"towCampaignCardButtonImage"`
}

type BriefingFailureDescription struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type BriefingFailureHeader struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type BriefingFinalWords struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type BriefingGoalDescription struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type BriefingHeader struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type BriefingSuccessDescription struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type BriefingSuccessHeader struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type FinishedCampaignEnded struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type FinishedFailureDescription struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type FinishedResolutionStateFailure struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type FinishedResolutionStateSuccess struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type FinishedSuccessDescription struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapHeader struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapSection1Paragraph struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapSection1Title struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapSection2Paragraph struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapSection2Title struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapSection3Paragraph struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapSection3Title struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapSubheader struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type MapTitle struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type PresentingCharacterName struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type PresentingCharacterSubtitle struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type Issuer struct {
    FactionID int64 `json:"factionID"`
}

type Subtitle struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type Title struct {
    De string `json:"de"`
    En string `json:"en"`
    Es string `json:"es"`
    Fr string `json:"fr"`
    Ja string `json:"ja"`
    Ko string `json:"ko"`
    Ru string `json:"ru"`
    Zh string `json:"zh"`
}

type Race string

const (
    Amarr    Race = "amarr"
    Caldari  Race = "caldari"
    Gallente Race = "gallente"
    Minmatar Race = "minmatar"
)
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"_key":{"type":"string","minLength":36,"maxLength":36},"annotations":{"type":"object","properties":{"aoCampaignCardButtonImage":{"type":"string","minLength":58,"maxLength":61},"backgroundVideoLoop":{"type":"string","minLength":55,"maxLength":58},"briefingBackground":{"type":"string","minLength":68,"maxLength":71},"briefingFailureDescription":{"type":"object","properties":{"de":{"type":"string","minLength":60,"maxLength":430},"en":{"type":"string","minLength":53,"maxLength":388},"es":{"type":"string","minLength":61,"maxLength":457},"fr":{"type":"string","minLength":61,"maxLength":485},"ja":{"type":"string","minLength":30,"maxLength":209},"ko":{"type":"string","minLength":24,"maxLength":242},"ru":{"type":"string","minLength":65,"maxLength":393},"zh":{"type":"string","minLength":25,"maxLength":156}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"briefingFailureHeader":{"type":"object","properties":{"de":{"type":"string","minLength":9,"maxLength":9},"en":{"type":"string","minLength":7,"maxLength":7},"es":{"type":"string","minLength":7,"maxLength":7},"fr":{"type":"string","minLength":5,"maxLength":5},"ja":{"type":"string","minLength":2,"maxLength":2},"ko":{"type":"string","minLength":2,"maxLength":2},"ru":{"type":"string","minLength":6,"maxLength":6},"zh":{"type":"string","minLength":2,"maxLength":2}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"briefingFinalWords":{"type":"object","properties":{"de":{"type":"string","minLength":41,"maxLength":71},"en":{"type":"string","minLength":36,"maxLength":54},"es":{"type":"string","minLength":36,"maxLength":69},"fr":{"type":"string","minLength":36,"maxLength":68},"ja":{"type":"string","minLength":14,"maxLength":23},"ko":{"type":"string","minLength":14,"maxLength":27},"ru":{"type":"string","minLength":28,"maxLength":43},"zh":{"type":"string","minLength":12,"maxLength":18}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"briefingForeground":{"type":"string","minLength":71,"maxLength":74},"briefingGoalDescription":{"type":"object","properties":{"de":{"type":"string","minLength":1026,"maxLength":1088},"en":{"type":"string","minLength":887,"maxLength":922},"es":{"type":"string","minLength":951,"maxLength":1033},"fr":{"type":"string","minLength":955,"maxLength":1071},"ja":{"type":"string","minLength":402,"maxLength":482},"ko":{"type":"string","minLength":511,"maxLength":570},"ru":{"type":"string","minLength":790,"maxLength":964},"zh":{"type":"string","minLength":318,"maxLength":410}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"briefingHeader":{"type":"object","properties":{"de":{"type":"string","minLength":20,"maxLength":20},"en":{"type":"string","minLength":17,"maxLength":17},"es":{"type":"string","minLength":21,"maxLength":21},"fr":{"type":"string","minLength":20,"maxLength":20},"ja":{"type":"string","minLength":8,"maxLength":8},"ko":{"type":"string","minLength":9,"maxLength":9},"ru":{"type":"string","minLength":16,"maxLength":16},"zh":{"type":"string","minLength":6,"maxLength":6}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"briefingMiddleground":{"type":"string","minLength":73,"maxLength":76},"briefingSuccessDescription":{"type":"object","properties":{"de":{"type":"string","minLength":262,"maxLength":500},"en":{"type":"string","minLength":361,"maxLength":470},"es":{"type":"string","minLength":299,"maxLength":518},"fr":{"type":"string","minLength":309,"maxLength":538},"ja":{"type":"string","minLength":134,"maxLength":278},"ko":{"type":"string","minLength":164,"maxLength":305},"ru":{"type":"string","minLength":278,"maxLength":428},"zh":{"type":"string","minLength":114,"maxLength":228}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"briefingSuccessHeader":{"type":"object","properties":{"de":{"type":"string","minLength":6,"maxLength":6},"en":{"type":"string","minLength":7,"maxLength":7},"es":{"type":"string","minLength":5,"maxLength":5},"fr":{"type":"string","minLength":6,"maxLength":6},"ja":{"type":"string","minLength":2,"maxLength":2},"ko":{"type":"string","minLength":2,"maxLength":2},"ru":{"type":"string","minLength":9,"maxLength":9},"zh":{"type":"string","minLength":2,"maxLength":2}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"campaignSet":{"type":"string","minLength":16,"maxLength":16},"dashboardAmbientBackground":{"type":"string","minLength":68,"maxLength":71},"dashboardBackground":{"type":"string","minLength":71,"maxLength":74},"dashboardForeground":{"type":"string","minLength":71,"maxLength":74},"dashboardMiddleground":{"type":"string","minLength":73,"maxLength":76},"finishedCampaignEnded":{"type":"object","properties":{"de":{"type":"string","minLength":26,"maxLength":29},"en":{"type":"string","minLength":20,"maxLength":23},"es":{"type":"string","minLength":27,"maxLength":30},"fr":{"type":"string","minLength":23,"maxLength":26},"ja":{"type":"string","minLength":12,"maxLength":14},"ko":{"type":"string","minLength":12,"maxLength":12},"ru":{"type":"string","minLength":28,"maxLength":31},"zh":{"type":"string","minLength":9,"maxLength":11}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"finishedFailureDescription":{"type":"object","properties":{"de":{"type":"string","minLength":537,"maxLength":864},"en":{"type":"string","minLength":486,"maxLength":761},"es":{"type":"string","minLength":545,"maxLength":839},"fr":{"type":"string","minLength":539,"maxLength":886},"ja":{"type":"string","minLength":295,"maxLength":391},"ko":{"type":"string","minLength":343,"maxLength":443},"ru":{"type":"string","minLength":485,"maxLength":784},"zh":{"type":"string","minLength":240,"maxLength":315}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"finishedResolutionStateFailure":{"type":"object","properties":{"de":{"type":"string","minLength":9,"maxLength":9},"en":{"type":"string","minLength":12,"maxLength":12},"es":{"type":"string","minLength":9,"maxLength":9},"fr":{"type":"string","minLength":5,"maxLength":5},"ja":{"type":"string","minLength":2,"maxLength":2},"ko":{"type":"string","minLength":2,"maxLength":2},"ru":{"type":"string","minLength":9,"maxLength":9},"zh":{"type":"string","minLength":2,"maxLength":2}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"finishedResolutionStateSuccess":{"type":"object","properties":{"de":{"type":"string","minLength":4,"maxLength":4},"en":{"type":"string","minLength":7,"maxLength":7},"es":{"type":"string","minLength":8,"maxLength":8},"fr":{"type":"string","minLength":8,"maxLength":8},"ja":{"type":"string","minLength":2,"maxLength":2},"ko":{"type":"string","minLength":2,"maxLength":2},"ru":{"type":"string","minLength":6,"maxLength":6},"zh":{"type":"string","minLength":2,"maxLength":2}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"finishedSuccessDescription":{"type":"object","properties":{"de":{"type":"string","minLength":536,"maxLength":778},"en":{"type":"string","minLength":464,"maxLength":679},"es":{"type":"string","minLength":479,"maxLength":802},"fr":{"type":"string","minLength":485,"maxLength":782},"ja":{"type":"string","minLength":214,"maxLength":329},"ko":{"type":"string","minLength":261,"maxLength":391},"ru":{"type":"string","minLength":428,"maxLength":574},"zh":{"type":"string","minLength":155,"maxLength":255}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"foregroundVideoIntro":{"type":"string","minLength":56,"maxLength":59},"foregroundVideoLoop":{"type":"string","minLength":55,"maxLength":58},"foregroundVideoOutro":{"type":"string","minLength":56,"maxLength":59},"mapFocusEntityID":{"type":"integer","minimum":10000041,"maximum":30003788},"mapHeader":{"type":"object","properties":{"de":{"type":"string","minLength":17,"maxLength":17},"en":{"type":"string","minLength":18,"maxLength":18},"es":{"type":"string","minLength":17,"maxLength":17},"fr":{"type":"string","minLength":16,"maxLength":16},"ja":{"type":"string","minLength":4,"maxLength":4},"ko":{"type":"string","minLength":5,"maxLength":5},"ru":{"type":"string","minLength":21,"maxLength":21},"zh":{"type":"string","minLength":3,"maxLength":3}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapSection1Paragraph":{"type":"object","properties":{"de":{"type":"string","minLength":201,"maxLength":419},"en":{"type":"string","minLength":189,"maxLength":404},"es":{"type":"string","minLength":167,"maxLength":415},"fr":{"type":"string","minLength":196,"maxLength":408},"ja":{"type":"string","minLength":61,"maxLength":302},"ko":{"type":"string","minLength":94,"maxLength":289},"ru":{"type":"string","minLength":152,"maxLength":428},"zh":{"type":"string","minLength":62,"maxLength":271}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapSection1Title":{"type":"object","properties":{"de":{"type":"string","minLength":5,"maxLength":30},"en":{"type":"string","minLength":5,"maxLength":29},"es":{"type":"string","minLength":5,"maxLength":32},"fr":{"type":"string","minLength":5,"maxLength":31},"ja":{"type":"string","minLength":3,"maxLength":16},"ko":{"type":"string","minLength":3,"maxLength":13},"ru":{"type":"string","minLength":5,"maxLength":29},"zh":{"type":"string","minLength":2,"maxLength":8}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapSection2Paragraph":{"type":"object","properties":{"de":{"type":"string","minLength":264,"maxLength":264},"en":{"type":"string","minLength":224,"maxLength":224},"es":{"type":"string","minLength":265,"maxLength":265},"fr":{"type":"string","minLength":294,"maxLength":294},"ja":{"type":"string","minLength":101,"maxLength":101},"ko":{"type":"string","minLength":129,"maxLength":129},"ru":{"type":"string","minLength":328,"maxLength":328},"zh":{"type":"string","minLength":68,"maxLength":68}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapSection2Title":{"type":"object","properties":{"de":{"type":"string","minLength":9,"maxLength":9},"en":{"type":"string","minLength":8,"maxLength":8},"es":{"type":"string","minLength":9,"maxLength":9},"fr":{"type":"string","minLength":8,"maxLength":8},"ja":{"type":"string","minLength":5,"maxLength":5},"ko":{"type":"string","minLength":2,"maxLength":2},"ru":{"type":"string","minLength":6,"maxLength":6},"zh":{"type":"string","minLength":2,"maxLength":2}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapSection3Paragraph":{"type":"object","properties":{"de":{"type":"string","minLength":269,"maxLength":269},"en":{"type":"string","minLength":244,"maxLength":244},"es":{"type":"string","minLength":297,"maxLength":297},"fr":{"type":"string","minLength":287,"maxLength":287},"ja":{"type":"string","minLength":156,"maxLength":156},"ko":{"type":"string","minLength":177,"maxLength":177},"ru":{"type":"string","minLength":305,"maxLength":305},"zh":{"type":"string","minLength":133,"maxLength":133}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapSection3Title":{"type":"object","properties":{"de":{"type":"string","minLength":14,"maxLength":14},"en":{"type":"string","minLength":11,"maxLength":11},"es":{"type":"string","minLength":17,"maxLength":17},"fr":{"type":"string","minLength":17,"maxLength":17},"ja":{"type":"string","minLength":4,"maxLength":4},"ko":{"type":"string","minLength":5,"maxLength":5},"ru":{"type":"string","minLength":9,"maxLength":9},"zh":{"type":"string","minLength":2,"maxLength":2}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapSubheader":{"type":"object","properties":{"de":{"type":"string","minLength":36,"maxLength":61},"en":{"type":"string","minLength":33,"maxLength":57},"es":{"type":"string","minLength":37,"maxLength":63},"fr":{"type":"string","minLength":34,"maxLength":60},"ja":{"type":"string","minLength":15,"maxLength":28},"ko":{"type":"string","minLength":18,"maxLength":28},"ru":{"type":"string","minLength":34,"maxLength":58},"zh":{"type":"string","minLength":9,"maxLength":15}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"mapTitle":{"type":"object","properties":{"de":{"type":"string","minLength":14,"maxLength":14},"en":{"type":"string","minLength":21,"maxLength":21},"es":{"type":"string","minLength":22,"maxLength":22},"fr":{"type":"string","minLength":20,"maxLength":20},"ja":{"type":"string","minLength":16,"maxLength":16},"ko":{"type":"string","minLength":5,"maxLength":5},"ru":{"type":"string","minLength":22,"maxLength":22},"zh":{"type":"string","minLength":2,"maxLength":2}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"middlegroundVideoIntro":{"type":"string","minLength":58,"maxLength":61},"middlegroundVideoLoop":{"type":"string","minLength":57,"maxLength":60},"middlegroundVideoOutro":{"type":"string","minLength":57,"maxLength":60},"presentingCharacterName":{"type":"object","properties":{"de":{"type":"string","minLength":21,"maxLength":30},"en":{"type":"string","minLength":27,"maxLength":31},"es":{"type":"string","minLength":27,"maxLength":32},"fr":{"type":"string","minLength":27,"maxLength":34},"ja":{"type":"string","minLength":13,"maxLength":21},"ko":{"type":"string","minLength":11,"maxLength":13},"ru":{"type":"string","minLength":18,"maxLength":33},"zh":{"type":"string","minLength":9,"maxLength":12}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"presentingCharacterSubtitle":{"type":"object","properties":{"de":{"type":"string","minLength":53,"maxLength":108},"en":{"type":"string","minLength":51,"maxLength":97},"es":{"type":"string","minLength":57,"maxLength":108},"fr":{"type":"string","minLength":54,"maxLength":107},"ja":{"type":"string","minLength":18,"maxLength":56},"ko":{"type":"string","minLength":21,"maxLength":52},"ru":{"type":"string","minLength":53,"maxLength":86},"zh":{"type":"string","minLength":19,"maxLength":36}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"presentingCharacterTexturePath":{"type":"string","minLength":72,"maxLength":75},"race":{"type":"string","enum":["amarr","minmatar","gallente","caldari"]},"themePack":{"type":"string","minLength":14,"maxLength":17},"towCampaignCardButtonImage":{"type":"string","minLength":69,"maxLength":72}},"required":["aoCampaignCardButtonImage","backgroundVideoLoop","briefingBackground","briefingFailureDescription","briefingFailureHeader","briefingFinalWords","briefingForeground","briefingGoalDescription","briefingHeader","briefingMiddleground","briefingSuccessDescription","briefingSuccessHeader","campaignSet","dashboardAmbientBackground","dashboardBackground","dashboardForeground","dashboardMiddleground","finishedCampaignEnded","finishedFailureDescription","finishedResolutionStateFailure","finishedResolutionStateSuccess","finishedSuccessDescription","foregroundVideoIntro","foregroundVideoLoop","foregroundVideoOutro","mapFocusEntityID","mapHeader","mapSection1Paragraph","mapSection1Title","mapSection2Paragraph","mapSection2Title","mapSection3Paragraph","mapSection3Title","mapSubheader","mapTitle","middlegroundVideoIntro","middlegroundVideoLoop","middlegroundVideoOutro","presentingCharacterName","presentingCharacterSubtitle","presentingCharacterTexturePath","race","themePack","towCampaignCardButtonImage"]},"issuer":{"type":"object","properties":{"factionID":{"type":"integer","minimum":500001,"maximum":500004}},"required":["factionID"]},"subtitle":{"type":"object","properties":{"de":{"type":"string","minLength":230,"maxLength":378},"en":{"type":"string","minLength":169,"maxLength":328},"es":{"type":"string","minLength":192,"maxLength":345},"fr":{"type":"string","minLength":207,"maxLength":352},"ja":{"type":"string","minLength":66,"maxLength":226},"ko":{"type":"string","minLength":83,"maxLength":245},"ru":{"type":"string","minLength":160,"maxLength":328},"zh":{"type":"string","minLength":51,"maxLength":203}},"required":["de","en","es","fr","ja","ko","ru","zh"]},"targetProgress":{"type":"integer","minimum":30,"maximum":30},"title":{"type":"object","properties":{"de":{"type":"string","minLength":20,"maxLength":27},"en":{"type":"string","minLength":20,"maxLength":25},"es":{"type":"string","minLength":22,"maxLength":34},"fr":{"type":"string","minLength":15,"maxLength":27},"ja":{"type":"string","minLength":6,"maxLength":11},"ko":{"type":"string","minLength":8,"maxLength":9},"ru":{"type":"string","minLength":16,"maxLength":37},"zh":{"type":"string","minLength":5,"maxLength":8}},"required":["de","en","es","fr","ja","ko","ru","zh"]}},"required":["_key","annotations","issuer","subtitle","targetProgress","title"]}
// To parse the JSON, install kotlin's serialization plugin and do:
//
// val json             = Json { allowStructuredMapKeys = true }
// val militaryCampaign = json.parse(MilitaryCampaign.serializer(), jsonString)

package model

import kotlinx.serialization.*
import kotlinx.serialization.json.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*

@Serializable
data class MilitaryCampaign (
    @SerialName("_key")
    val key: String,

    val annotations: Annotations,
    val issuer: Issuer,
    val subtitle: Subtitle,
    val targetProgress: Long,
    val title: Title
)

@Serializable
data class Annotations (
    val aoCampaignCardButtonImage: String,
    val backgroundVideoLoop: String,
    val briefingBackground: String,
    val briefingFailureDescription: BriefingFailureDescription,
    val briefingFailureHeader: BriefingFailureHeader,
    val briefingFinalWords: BriefingFinalWords,
    val briefingForeground: String,
    val briefingGoalDescription: BriefingGoalDescription,
    val briefingHeader: BriefingHeader,
    val briefingMiddleground: String,
    val briefingSuccessDescription: BriefingSuccessDescription,
    val briefingSuccessHeader: BriefingSuccessHeader,
    val campaignSet: String,
    val dashboardAmbientBackground: String,
    val dashboardBackground: String,
    val dashboardForeground: String,
    val dashboardMiddleground: String,
    val finishedCampaignEnded: FinishedCampaignEnded,
    val finishedFailureDescription: FinishedFailureDescription,
    val finishedResolutionStateFailure: FinishedResolutionStateFailure,
    val finishedResolutionStateSuccess: FinishedResolutionStateSuccess,
    val finishedSuccessDescription: FinishedSuccessDescription,
    val foregroundVideoIntro: String,
    val foregroundVideoLoop: String,
    val foregroundVideoOutro: String,

    @SerialName("mapFocusEntityID")
    val mapFocusEntityId: Long,

    val mapHeader: MapHeader,
    val mapSection1Paragraph: MapSection1Paragraph,
    val mapSection1Title: MapSection1Title,
    val mapSection2Paragraph: MapSection2Paragraph,
    val mapSection2Title: MapSection2Title,
    val mapSection3Paragraph: MapSection3Paragraph,
    val mapSection3Title: MapSection3Title,
    val mapSubheader: MapSubheader,
    val mapTitle: MapTitle,
    val middlegroundVideoIntro: String,
    val middlegroundVideoLoop: String,
    val middlegroundVideoOutro: String,
    val presentingCharacterName: PresentingCharacterName,
    val presentingCharacterSubtitle: PresentingCharacterSubtitle,
    val presentingCharacterTexturePath: String,
    val race: Race,
    val themePack: String,
    val towCampaignCardButtonImage: String
)

@Serializable
data class BriefingFailureDescription (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class BriefingFailureHeader (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class BriefingFinalWords (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class BriefingGoalDescription (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class BriefingHeader (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class BriefingSuccessDescription (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class BriefingSuccessHeader (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class FinishedCampaignEnded (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class FinishedFailureDescription (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class FinishedResolutionStateFailure (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class FinishedResolutionStateSuccess (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class FinishedSuccessDescription (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapHeader (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapSection1Paragraph (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapSection1Title (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapSection2Paragraph (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapSection2Title (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapSection3Paragraph (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapSection3Title (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapSubheader (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class MapTitle (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class PresentingCharacterName (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class PresentingCharacterSubtitle (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
enum class Race(val value: String) {
    @SerialName("amarr") Amarr("amarr"),
    @SerialName("caldari") Caldari("caldari"),
    @SerialName("gallente") Gallente("gallente"),
    @SerialName("minmatar") Minmatar("minmatar");
}

@Serializable
data class Issuer (
    @SerialName("factionID")
    val factionId: Long
)

@Serializable
data class Subtitle (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)

@Serializable
data class Title (
    val de: String,
    val en: String,
    val es: String,
    val fr: String,
    val ja: String,
    val ko: String,
    val ru: String,
    val zh: String
)
<?php

// This is a autogenerated file:MilitaryCampaign

class MilitaryCampaign {
    private string $key; // json:_key Required
    private Annotations $annotations; // json:annotations Required
    private Issuer $issuer; // json:issuer Required
    private Subtitle $subtitle; // json:subtitle Required
    private int $targetProgress; // json:targetProgress Required
    private Title $title; // json:title Required

    /**
     * @param string $key
     * @param Annotations $annotations
     * @param Issuer $issuer
     * @param Subtitle $subtitle
     * @param int $targetProgress
     * @param Title $title
     */
    public function __construct(string $key, Annotations $annotations, Issuer $issuer, Subtitle $subtitle, int $targetProgress, Title $title) {
        $this->key = $key;
        $this->annotations = $annotations;
        $this->issuer = $issuer;
        $this->subtitle = $subtitle;
        $this->targetProgress = $targetProgress;
        $this->title = $title;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKey(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKey(): string {
        if (MilitaryCampaign::validateKey($this->key))  {
            return $this->key; /*string*/
        }
        throw new Exception('never get to this MilitaryCampaign::key');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKey(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MilitaryCampaign::key");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKey(): string {
        if (MilitaryCampaign::validateKey($this->key))  {
            return $this->key;
        }
        throw new Exception('never get to getKey MilitaryCampaign::key');
    }

    /**
     * @return string
     */
    public static function sampleKey(): string {
        return 'MilitaryCampaign::key::31'; /*31:key*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return Annotations
     */
    public static function fromAnnotations(stdClass $value): Annotations {
        return Annotations::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toAnnotations(): stdClass {
        if (MilitaryCampaign::validateAnnotations($this->annotations))  {
            return $this->annotations->to(); /*class*/
        }
        throw new Exception('never get to this MilitaryCampaign::annotations');
    }

    /**
     * @param Annotations
     * @return bool
     * @throws Exception
     */
    public static function validateAnnotations(Annotations $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return Annotations
     */
    public function getAnnotations(): Annotations {
        if (MilitaryCampaign::validateAnnotations($this->annotations))  {
            return $this->annotations;
        }
        throw new Exception('never get to getAnnotations MilitaryCampaign::annotations');
    }

    /**
     * @return Annotations
     */
    public static function sampleAnnotations(): Annotations {
        return Annotations::sample(); /*32:annotations*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return Issuer
     */
    public static function fromIssuer(stdClass $value): Issuer {
        return Issuer::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toIssuer(): stdClass {
        if (MilitaryCampaign::validateIssuer($this->issuer))  {
            return $this->issuer->to(); /*class*/
        }
        throw new Exception('never get to this MilitaryCampaign::issuer');
    }

    /**
     * @param Issuer
     * @return bool
     * @throws Exception
     */
    public static function validateIssuer(Issuer $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return Issuer
     */
    public function getIssuer(): Issuer {
        if (MilitaryCampaign::validateIssuer($this->issuer))  {
            return $this->issuer;
        }
        throw new Exception('never get to getIssuer MilitaryCampaign::issuer');
    }

    /**
     * @return Issuer
     */
    public static function sampleIssuer(): Issuer {
        return Issuer::sample(); /*33:issuer*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return Subtitle
     */
    public static function fromSubtitle(stdClass $value): Subtitle {
        return Subtitle::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toSubtitle(): stdClass {
        if (MilitaryCampaign::validateSubtitle($this->subtitle))  {
            return $this->subtitle->to(); /*class*/
        }
        throw new Exception('never get to this MilitaryCampaign::subtitle');
    }

    /**
     * @param Subtitle
     * @return bool
     * @throws Exception
     */
    public static function validateSubtitle(Subtitle $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return Subtitle
     */
    public function getSubtitle(): Subtitle {
        if (MilitaryCampaign::validateSubtitle($this->subtitle))  {
            return $this->subtitle;
        }
        throw new Exception('never get to getSubtitle MilitaryCampaign::subtitle');
    }

    /**
     * @return Subtitle
     */
    public static function sampleSubtitle(): Subtitle {
        return Subtitle::sample(); /*34:subtitle*/
    }

    /**
     * @param int $value
     * @throws Exception
     * @return int
     */
    public static function fromTargetProgress(int $value): int {
        return $value; /*int*/
    }

    /**
     * @throws Exception
     * @return int
     */
    public function toTargetProgress(): int {
        if (MilitaryCampaign::validateTargetProgress($this->targetProgress))  {
            return $this->targetProgress; /*int*/
        }
        throw new Exception('never get to this MilitaryCampaign::targetProgress');
    }

    /**
     * @param int
     * @return bool
     * @throws Exception
     */
    public static function validateTargetProgress(int $value): bool {
        if (!is_integer($value)) {
            throw new Exception("Attribute Error:MilitaryCampaign::targetProgress");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return int
     */
    public function getTargetProgress(): int {
        if (MilitaryCampaign::validateTargetProgress($this->targetProgress))  {
            return $this->targetProgress;
        }
        throw new Exception('never get to getTargetProgress MilitaryCampaign::targetProgress');
    }

    /**
     * @return int
     */
    public static function sampleTargetProgress(): int {
        return 35; /*35:targetProgress*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return Title
     */
    public static function fromTitle(stdClass $value): Title {
        return Title::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toTitle(): stdClass {
        if (MilitaryCampaign::validateTitle($this->title))  {
            return $this->title->to(); /*class*/
        }
        throw new Exception('never get to this MilitaryCampaign::title');
    }

    /**
     * @param Title
     * @return bool
     * @throws Exception
     */
    public static function validateTitle(Title $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return Title
     */
    public function getTitle(): Title {
        if (MilitaryCampaign::validateTitle($this->title))  {
            return $this->title;
        }
        throw new Exception('never get to getTitle MilitaryCampaign::title');
    }

    /**
     * @return Title
     */
    public static function sampleTitle(): Title {
        return Title::sample(); /*36:title*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MilitaryCampaign::validateKey($this->key)
        || MilitaryCampaign::validateAnnotations($this->annotations)
        || MilitaryCampaign::validateIssuer($this->issuer)
        || MilitaryCampaign::validateSubtitle($this->subtitle)
        || MilitaryCampaign::validateTargetProgress($this->targetProgress)
        || MilitaryCampaign::validateTitle($this->title);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'_key'} = $this->toKey();
        $out->{'annotations'} = $this->toAnnotations();
        $out->{'issuer'} = $this->toIssuer();
        $out->{'subtitle'} = $this->toSubtitle();
        $out->{'targetProgress'} = $this->toTargetProgress();
        $out->{'title'} = $this->toTitle();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MilitaryCampaign
     * @throws Exception
     */
    public static function from(stdClass $obj): MilitaryCampaign {
        return new MilitaryCampaign(
         MilitaryCampaign::fromKey($obj->{'_key'})
        ,MilitaryCampaign::fromAnnotations($obj->{'annotations'})
        ,MilitaryCampaign::fromIssuer($obj->{'issuer'})
        ,MilitaryCampaign::fromSubtitle($obj->{'subtitle'})
        ,MilitaryCampaign::fromTargetProgress($obj->{'targetProgress'})
        ,MilitaryCampaign::fromTitle($obj->{'title'})
        );
    }

    /**
     * @return MilitaryCampaign
     */
    public static function sample(): MilitaryCampaign {
        return new MilitaryCampaign(
         MilitaryCampaign::sampleKey()
        ,MilitaryCampaign::sampleAnnotations()
        ,MilitaryCampaign::sampleIssuer()
        ,MilitaryCampaign::sampleSubtitle()
        ,MilitaryCampaign::sampleTargetProgress()
        ,MilitaryCampaign::sampleTitle()
        );
    }
}

// This is a autogenerated file:Annotations

class Annotations {
    private string $aoCampaignCardButtonImage; // json:aoCampaignCardButtonImage Required
    private string $backgroundVideoLoop; // json:backgroundVideoLoop Required
    private string $briefingBackground; // json:briefingBackground Required
    private BriefingFailureDescription $briefingFailureDescription; // json:briefingFailureDescription Required
    private BriefingFailureHeader $briefingFailureHeader; // json:briefingFailureHeader Required
    private BriefingFinalWords $briefingFinalWords; // json:briefingFinalWords Required
    private string $briefingForeground; // json:briefingForeground Required
    private BriefingGoalDescription $briefingGoalDescription; // json:briefingGoalDescription Required
    private BriefingHeader $briefingHeader; // json:briefingHeader Required
    private string $briefingMiddleground; // json:briefingMiddleground Required
    private BriefingSuccessDescription $briefingSuccessDescription; // json:briefingSuccessDescription Required
    private BriefingSuccessHeader $briefingSuccessHeader; // json:briefingSuccessHeader Required
    private string $campaignSet; // json:campaignSet Required
    private string $dashboardAmbientBackground; // json:dashboardAmbientBackground Required
    private string $dashboardBackground; // json:dashboardBackground Required
    private string $dashboardForeground; // json:dashboardForeground Required
    private string $dashboardMiddleground; // json:dashboardMiddleground Required
    private FinishedCampaignEnded $finishedCampaignEnded; // json:finishedCampaignEnded Required
    private FinishedFailureDescription $finishedFailureDescription; // json:finishedFailureDescription Required
    private FinishedResolutionStateFailure $finishedResolutionStateFailure; // json:finishedResolutionStateFailure Required
    private FinishedResolutionStateSuccess $finishedResolutionStateSuccess; // json:finishedResolutionStateSuccess Required
    private FinishedSuccessDescription $finishedSuccessDescription; // json:finishedSuccessDescription Required
    private string $foregroundVideoIntro; // json:foregroundVideoIntro Required
    private string $foregroundVideoLoop; // json:foregroundVideoLoop Required
    private string $foregroundVideoOutro; // json:foregroundVideoOutro Required
    private int $mapFocusEntityId; // json:mapFocusEntityID Required
    private MapHeader $mapHeader; // json:mapHeader Required
    private MapSection1Paragraph $mapSection1Paragraph; // json:mapSection1Paragraph Required
    private MapSection1Title $mapSection1Title; // json:mapSection1Title Required
    private MapSection2Paragraph $mapSection2Paragraph; // json:mapSection2Paragraph Required
    private MapSection2Title $mapSection2Title; // json:mapSection2Title Required
    private MapSection3Paragraph $mapSection3Paragraph; // json:mapSection3Paragraph Required
    private MapSection3Title $mapSection3Title; // json:mapSection3Title Required
    private MapSubheader $mapSubheader; // json:mapSubheader Required
    private MapTitle $mapTitle; // json:mapTitle Required
    private string $middlegroundVideoIntro; // json:middlegroundVideoIntro Required
    private string $middlegroundVideoLoop; // json:middlegroundVideoLoop Required
    private string $middlegroundVideoOutro; // json:middlegroundVideoOutro Required
    private PresentingCharacterName $presentingCharacterName; // json:presentingCharacterName Required
    private PresentingCharacterSubtitle $presentingCharacterSubtitle; // json:presentingCharacterSubtitle Required
    private string $presentingCharacterTexturePath; // json:presentingCharacterTexturePath Required
    private Race $race; // json:race Required
    private string $themePack; // json:themePack Required
    private string $towCampaignCardButtonImage; // json:towCampaignCardButtonImage Required

    /**
     * @param string $aoCampaignCardButtonImage
     * @param string $backgroundVideoLoop
     * @param string $briefingBackground
     * @param BriefingFailureDescription $briefingFailureDescription
     * @param BriefingFailureHeader $briefingFailureHeader
     * @param BriefingFinalWords $briefingFinalWords
     * @param string $briefingForeground
     * @param BriefingGoalDescription $briefingGoalDescription
     * @param BriefingHeader $briefingHeader
     * @param string $briefingMiddleground
     * @param BriefingSuccessDescription $briefingSuccessDescription
     * @param BriefingSuccessHeader $briefingSuccessHeader
     * @param string $campaignSet
     * @param string $dashboardAmbientBackground
     * @param string $dashboardBackground
     * @param string $dashboardForeground
     * @param string $dashboardMiddleground
     * @param FinishedCampaignEnded $finishedCampaignEnded
     * @param FinishedFailureDescription $finishedFailureDescription
     * @param FinishedResolutionStateFailure $finishedResolutionStateFailure
     * @param FinishedResolutionStateSuccess $finishedResolutionStateSuccess
     * @param FinishedSuccessDescription $finishedSuccessDescription
     * @param string $foregroundVideoIntro
     * @param string $foregroundVideoLoop
     * @param string $foregroundVideoOutro
     * @param int $mapFocusEntityId
     * @param MapHeader $mapHeader
     * @param MapSection1Paragraph $mapSection1Paragraph
     * @param MapSection1Title $mapSection1Title
     * @param MapSection2Paragraph $mapSection2Paragraph
     * @param MapSection2Title $mapSection2Title
     * @param MapSection3Paragraph $mapSection3Paragraph
     * @param MapSection3Title $mapSection3Title
     * @param MapSubheader $mapSubheader
     * @param MapTitle $mapTitle
     * @param string $middlegroundVideoIntro
     * @param string $middlegroundVideoLoop
     * @param string $middlegroundVideoOutro
     * @param PresentingCharacterName $presentingCharacterName
     * @param PresentingCharacterSubtitle $presentingCharacterSubtitle
     * @param string $presentingCharacterTexturePath
     * @param Race $race
     * @param string $themePack
     * @param string $towCampaignCardButtonImage
     */
    public function __construct(string $aoCampaignCardButtonImage, string $backgroundVideoLoop, string $briefingBackground, BriefingFailureDescription $briefingFailureDescription, BriefingFailureHeader $briefingFailureHeader, BriefingFinalWords $briefingFinalWords, string $briefingForeground, BriefingGoalDescription $briefingGoalDescription, BriefingHeader $briefingHeader, string $briefingMiddleground, BriefingSuccessDescription $briefingSuccessDescription, BriefingSuccessHeader $briefingSuccessHeader, string $campaignSet, string $dashboardAmbientBackground, string $dashboardBackground, string $dashboardForeground, string $dashboardMiddleground, FinishedCampaignEnded $finishedCampaignEnded, FinishedFailureDescription $finishedFailureDescription, FinishedResolutionStateFailure $finishedResolutionStateFailure, FinishedResolutionStateSuccess $finishedResolutionStateSuccess, FinishedSuccessDescription $finishedSuccessDescription, string $foregroundVideoIntro, string $foregroundVideoLoop, string $foregroundVideoOutro, int $mapFocusEntityId, MapHeader $mapHeader, MapSection1Paragraph $mapSection1Paragraph, MapSection1Title $mapSection1Title, MapSection2Paragraph $mapSection2Paragraph, MapSection2Title $mapSection2Title, MapSection3Paragraph $mapSection3Paragraph, MapSection3Title $mapSection3Title, MapSubheader $mapSubheader, MapTitle $mapTitle, string $middlegroundVideoIntro, string $middlegroundVideoLoop, string $middlegroundVideoOutro, PresentingCharacterName $presentingCharacterName, PresentingCharacterSubtitle $presentingCharacterSubtitle, string $presentingCharacterTexturePath, Race $race, string $themePack, string $towCampaignCardButtonImage) {
        $this->aoCampaignCardButtonImage = $aoCampaignCardButtonImage;
        $this->backgroundVideoLoop = $backgroundVideoLoop;
        $this->briefingBackground = $briefingBackground;
        $this->briefingFailureDescription = $briefingFailureDescription;
        $this->briefingFailureHeader = $briefingFailureHeader;
        $this->briefingFinalWords = $briefingFinalWords;
        $this->briefingForeground = $briefingForeground;
        $this->briefingGoalDescription = $briefingGoalDescription;
        $this->briefingHeader = $briefingHeader;
        $this->briefingMiddleground = $briefingMiddleground;
        $this->briefingSuccessDescription = $briefingSuccessDescription;
        $this->briefingSuccessHeader = $briefingSuccessHeader;
        $this->campaignSet = $campaignSet;
        $this->dashboardAmbientBackground = $dashboardAmbientBackground;
        $this->dashboardBackground = $dashboardBackground;
        $this->dashboardForeground = $dashboardForeground;
        $this->dashboardMiddleground = $dashboardMiddleground;
        $this->finishedCampaignEnded = $finishedCampaignEnded;
        $this->finishedFailureDescription = $finishedFailureDescription;
        $this->finishedResolutionStateFailure = $finishedResolutionStateFailure;
        $this->finishedResolutionStateSuccess = $finishedResolutionStateSuccess;
        $this->finishedSuccessDescription = $finishedSuccessDescription;
        $this->foregroundVideoIntro = $foregroundVideoIntro;
        $this->foregroundVideoLoop = $foregroundVideoLoop;
        $this->foregroundVideoOutro = $foregroundVideoOutro;
        $this->mapFocusEntityId = $mapFocusEntityId;
        $this->mapHeader = $mapHeader;
        $this->mapSection1Paragraph = $mapSection1Paragraph;
        $this->mapSection1Title = $mapSection1Title;
        $this->mapSection2Paragraph = $mapSection2Paragraph;
        $this->mapSection2Title = $mapSection2Title;
        $this->mapSection3Paragraph = $mapSection3Paragraph;
        $this->mapSection3Title = $mapSection3Title;
        $this->mapSubheader = $mapSubheader;
        $this->mapTitle = $mapTitle;
        $this->middlegroundVideoIntro = $middlegroundVideoIntro;
        $this->middlegroundVideoLoop = $middlegroundVideoLoop;
        $this->middlegroundVideoOutro = $middlegroundVideoOutro;
        $this->presentingCharacterName = $presentingCharacterName;
        $this->presentingCharacterSubtitle = $presentingCharacterSubtitle;
        $this->presentingCharacterTexturePath = $presentingCharacterTexturePath;
        $this->race = $race;
        $this->themePack = $themePack;
        $this->towCampaignCardButtonImage = $towCampaignCardButtonImage;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromAoCampaignCardButtonImage(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toAoCampaignCardButtonImage(): string {
        if (Annotations::validateAoCampaignCardButtonImage($this->aoCampaignCardButtonImage))  {
            return $this->aoCampaignCardButtonImage; /*string*/
        }
        throw new Exception('never get to this Annotations::aoCampaignCardButtonImage');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateAoCampaignCardButtonImage(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::aoCampaignCardButtonImage");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getAoCampaignCardButtonImage(): string {
        if (Annotations::validateAoCampaignCardButtonImage($this->aoCampaignCardButtonImage))  {
            return $this->aoCampaignCardButtonImage;
        }
        throw new Exception('never get to getAoCampaignCardButtonImage Annotations::aoCampaignCardButtonImage');
    }

    /**
     * @return string
     */
    public static function sampleAoCampaignCardButtonImage(): string {
        return 'Annotations::aoCampaignCardButtonImage::31'; /*31:aoCampaignCardButtonImage*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromBackgroundVideoLoop(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toBackgroundVideoLoop(): string {
        if (Annotations::validateBackgroundVideoLoop($this->backgroundVideoLoop))  {
            return $this->backgroundVideoLoop; /*string*/
        }
        throw new Exception('never get to this Annotations::backgroundVideoLoop');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateBackgroundVideoLoop(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::backgroundVideoLoop");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getBackgroundVideoLoop(): string {
        if (Annotations::validateBackgroundVideoLoop($this->backgroundVideoLoop))  {
            return $this->backgroundVideoLoop;
        }
        throw new Exception('never get to getBackgroundVideoLoop Annotations::backgroundVideoLoop');
    }

    /**
     * @return string
     */
    public static function sampleBackgroundVideoLoop(): string {
        return 'Annotations::backgroundVideoLoop::32'; /*32:backgroundVideoLoop*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromBriefingBackground(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toBriefingBackground(): string {
        if (Annotations::validateBriefingBackground($this->briefingBackground))  {
            return $this->briefingBackground; /*string*/
        }
        throw new Exception('never get to this Annotations::briefingBackground');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingBackground(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::briefingBackground");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getBriefingBackground(): string {
        if (Annotations::validateBriefingBackground($this->briefingBackground))  {
            return $this->briefingBackground;
        }
        throw new Exception('never get to getBriefingBackground Annotations::briefingBackground');
    }

    /**
     * @return string
     */
    public static function sampleBriefingBackground(): string {
        return 'Annotations::briefingBackground::33'; /*33:briefingBackground*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return BriefingFailureDescription
     */
    public static function fromBriefingFailureDescription(stdClass $value): BriefingFailureDescription {
        return BriefingFailureDescription::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toBriefingFailureDescription(): stdClass {
        if (Annotations::validateBriefingFailureDescription($this->briefingFailureDescription))  {
            return $this->briefingFailureDescription->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::briefingFailureDescription');
    }

    /**
     * @param BriefingFailureDescription
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingFailureDescription(BriefingFailureDescription $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return BriefingFailureDescription
     */
    public function getBriefingFailureDescription(): BriefingFailureDescription {
        if (Annotations::validateBriefingFailureDescription($this->briefingFailureDescription))  {
            return $this->briefingFailureDescription;
        }
        throw new Exception('never get to getBriefingFailureDescription Annotations::briefingFailureDescription');
    }

    /**
     * @return BriefingFailureDescription
     */
    public static function sampleBriefingFailureDescription(): BriefingFailureDescription {
        return BriefingFailureDescription::sample(); /*34:briefingFailureDescription*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return BriefingFailureHeader
     */
    public static function fromBriefingFailureHeader(stdClass $value): BriefingFailureHeader {
        return BriefingFailureHeader::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toBriefingFailureHeader(): stdClass {
        if (Annotations::validateBriefingFailureHeader($this->briefingFailureHeader))  {
            return $this->briefingFailureHeader->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::briefingFailureHeader');
    }

    /**
     * @param BriefingFailureHeader
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingFailureHeader(BriefingFailureHeader $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return BriefingFailureHeader
     */
    public function getBriefingFailureHeader(): BriefingFailureHeader {
        if (Annotations::validateBriefingFailureHeader($this->briefingFailureHeader))  {
            return $this->briefingFailureHeader;
        }
        throw new Exception('never get to getBriefingFailureHeader Annotations::briefingFailureHeader');
    }

    /**
     * @return BriefingFailureHeader
     */
    public static function sampleBriefingFailureHeader(): BriefingFailureHeader {
        return BriefingFailureHeader::sample(); /*35:briefingFailureHeader*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return BriefingFinalWords
     */
    public static function fromBriefingFinalWords(stdClass $value): BriefingFinalWords {
        return BriefingFinalWords::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toBriefingFinalWords(): stdClass {
        if (Annotations::validateBriefingFinalWords($this->briefingFinalWords))  {
            return $this->briefingFinalWords->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::briefingFinalWords');
    }

    /**
     * @param BriefingFinalWords
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingFinalWords(BriefingFinalWords $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return BriefingFinalWords
     */
    public function getBriefingFinalWords(): BriefingFinalWords {
        if (Annotations::validateBriefingFinalWords($this->briefingFinalWords))  {
            return $this->briefingFinalWords;
        }
        throw new Exception('never get to getBriefingFinalWords Annotations::briefingFinalWords');
    }

    /**
     * @return BriefingFinalWords
     */
    public static function sampleBriefingFinalWords(): BriefingFinalWords {
        return BriefingFinalWords::sample(); /*36:briefingFinalWords*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromBriefingForeground(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toBriefingForeground(): string {
        if (Annotations::validateBriefingForeground($this->briefingForeground))  {
            return $this->briefingForeground; /*string*/
        }
        throw new Exception('never get to this Annotations::briefingForeground');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingForeground(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::briefingForeground");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getBriefingForeground(): string {
        if (Annotations::validateBriefingForeground($this->briefingForeground))  {
            return $this->briefingForeground;
        }
        throw new Exception('never get to getBriefingForeground Annotations::briefingForeground');
    }

    /**
     * @return string
     */
    public static function sampleBriefingForeground(): string {
        return 'Annotations::briefingForeground::37'; /*37:briefingForeground*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return BriefingGoalDescription
     */
    public static function fromBriefingGoalDescription(stdClass $value): BriefingGoalDescription {
        return BriefingGoalDescription::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toBriefingGoalDescription(): stdClass {
        if (Annotations::validateBriefingGoalDescription($this->briefingGoalDescription))  {
            return $this->briefingGoalDescription->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::briefingGoalDescription');
    }

    /**
     * @param BriefingGoalDescription
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingGoalDescription(BriefingGoalDescription $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return BriefingGoalDescription
     */
    public function getBriefingGoalDescription(): BriefingGoalDescription {
        if (Annotations::validateBriefingGoalDescription($this->briefingGoalDescription))  {
            return $this->briefingGoalDescription;
        }
        throw new Exception('never get to getBriefingGoalDescription Annotations::briefingGoalDescription');
    }

    /**
     * @return BriefingGoalDescription
     */
    public static function sampleBriefingGoalDescription(): BriefingGoalDescription {
        return BriefingGoalDescription::sample(); /*38:briefingGoalDescription*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return BriefingHeader
     */
    public static function fromBriefingHeader(stdClass $value): BriefingHeader {
        return BriefingHeader::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toBriefingHeader(): stdClass {
        if (Annotations::validateBriefingHeader($this->briefingHeader))  {
            return $this->briefingHeader->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::briefingHeader');
    }

    /**
     * @param BriefingHeader
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingHeader(BriefingHeader $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return BriefingHeader
     */
    public function getBriefingHeader(): BriefingHeader {
        if (Annotations::validateBriefingHeader($this->briefingHeader))  {
            return $this->briefingHeader;
        }
        throw new Exception('never get to getBriefingHeader Annotations::briefingHeader');
    }

    /**
     * @return BriefingHeader
     */
    public static function sampleBriefingHeader(): BriefingHeader {
        return BriefingHeader::sample(); /*39:briefingHeader*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromBriefingMiddleground(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toBriefingMiddleground(): string {
        if (Annotations::validateBriefingMiddleground($this->briefingMiddleground))  {
            return $this->briefingMiddleground; /*string*/
        }
        throw new Exception('never get to this Annotations::briefingMiddleground');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingMiddleground(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::briefingMiddleground");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getBriefingMiddleground(): string {
        if (Annotations::validateBriefingMiddleground($this->briefingMiddleground))  {
            return $this->briefingMiddleground;
        }
        throw new Exception('never get to getBriefingMiddleground Annotations::briefingMiddleground');
    }

    /**
     * @return string
     */
    public static function sampleBriefingMiddleground(): string {
        return 'Annotations::briefingMiddleground::40'; /*40:briefingMiddleground*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return BriefingSuccessDescription
     */
    public static function fromBriefingSuccessDescription(stdClass $value): BriefingSuccessDescription {
        return BriefingSuccessDescription::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toBriefingSuccessDescription(): stdClass {
        if (Annotations::validateBriefingSuccessDescription($this->briefingSuccessDescription))  {
            return $this->briefingSuccessDescription->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::briefingSuccessDescription');
    }

    /**
     * @param BriefingSuccessDescription
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingSuccessDescription(BriefingSuccessDescription $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return BriefingSuccessDescription
     */
    public function getBriefingSuccessDescription(): BriefingSuccessDescription {
        if (Annotations::validateBriefingSuccessDescription($this->briefingSuccessDescription))  {
            return $this->briefingSuccessDescription;
        }
        throw new Exception('never get to getBriefingSuccessDescription Annotations::briefingSuccessDescription');
    }

    /**
     * @return BriefingSuccessDescription
     */
    public static function sampleBriefingSuccessDescription(): BriefingSuccessDescription {
        return BriefingSuccessDescription::sample(); /*41:briefingSuccessDescription*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return BriefingSuccessHeader
     */
    public static function fromBriefingSuccessHeader(stdClass $value): BriefingSuccessHeader {
        return BriefingSuccessHeader::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toBriefingSuccessHeader(): stdClass {
        if (Annotations::validateBriefingSuccessHeader($this->briefingSuccessHeader))  {
            return $this->briefingSuccessHeader->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::briefingSuccessHeader');
    }

    /**
     * @param BriefingSuccessHeader
     * @return bool
     * @throws Exception
     */
    public static function validateBriefingSuccessHeader(BriefingSuccessHeader $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return BriefingSuccessHeader
     */
    public function getBriefingSuccessHeader(): BriefingSuccessHeader {
        if (Annotations::validateBriefingSuccessHeader($this->briefingSuccessHeader))  {
            return $this->briefingSuccessHeader;
        }
        throw new Exception('never get to getBriefingSuccessHeader Annotations::briefingSuccessHeader');
    }

    /**
     * @return BriefingSuccessHeader
     */
    public static function sampleBriefingSuccessHeader(): BriefingSuccessHeader {
        return BriefingSuccessHeader::sample(); /*42:briefingSuccessHeader*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromCampaignSet(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toCampaignSet(): string {
        if (Annotations::validateCampaignSet($this->campaignSet))  {
            return $this->campaignSet; /*string*/
        }
        throw new Exception('never get to this Annotations::campaignSet');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateCampaignSet(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::campaignSet");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getCampaignSet(): string {
        if (Annotations::validateCampaignSet($this->campaignSet))  {
            return $this->campaignSet;
        }
        throw new Exception('never get to getCampaignSet Annotations::campaignSet');
    }

    /**
     * @return string
     */
    public static function sampleCampaignSet(): string {
        return 'Annotations::campaignSet::43'; /*43:campaignSet*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDashboardAmbientBackground(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDashboardAmbientBackground(): string {
        if (Annotations::validateDashboardAmbientBackground($this->dashboardAmbientBackground))  {
            return $this->dashboardAmbientBackground; /*string*/
        }
        throw new Exception('never get to this Annotations::dashboardAmbientBackground');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDashboardAmbientBackground(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::dashboardAmbientBackground");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDashboardAmbientBackground(): string {
        if (Annotations::validateDashboardAmbientBackground($this->dashboardAmbientBackground))  {
            return $this->dashboardAmbientBackground;
        }
        throw new Exception('never get to getDashboardAmbientBackground Annotations::dashboardAmbientBackground');
    }

    /**
     * @return string
     */
    public static function sampleDashboardAmbientBackground(): string {
        return 'Annotations::dashboardAmbientBackground::44'; /*44:dashboardAmbientBackground*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDashboardBackground(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDashboardBackground(): string {
        if (Annotations::validateDashboardBackground($this->dashboardBackground))  {
            return $this->dashboardBackground; /*string*/
        }
        throw new Exception('never get to this Annotations::dashboardBackground');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDashboardBackground(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::dashboardBackground");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDashboardBackground(): string {
        if (Annotations::validateDashboardBackground($this->dashboardBackground))  {
            return $this->dashboardBackground;
        }
        throw new Exception('never get to getDashboardBackground Annotations::dashboardBackground');
    }

    /**
     * @return string
     */
    public static function sampleDashboardBackground(): string {
        return 'Annotations::dashboardBackground::45'; /*45:dashboardBackground*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDashboardForeground(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDashboardForeground(): string {
        if (Annotations::validateDashboardForeground($this->dashboardForeground))  {
            return $this->dashboardForeground; /*string*/
        }
        throw new Exception('never get to this Annotations::dashboardForeground');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDashboardForeground(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::dashboardForeground");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDashboardForeground(): string {
        if (Annotations::validateDashboardForeground($this->dashboardForeground))  {
            return $this->dashboardForeground;
        }
        throw new Exception('never get to getDashboardForeground Annotations::dashboardForeground');
    }

    /**
     * @return string
     */
    public static function sampleDashboardForeground(): string {
        return 'Annotations::dashboardForeground::46'; /*46:dashboardForeground*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDashboardMiddleground(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDashboardMiddleground(): string {
        if (Annotations::validateDashboardMiddleground($this->dashboardMiddleground))  {
            return $this->dashboardMiddleground; /*string*/
        }
        throw new Exception('never get to this Annotations::dashboardMiddleground');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDashboardMiddleground(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::dashboardMiddleground");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDashboardMiddleground(): string {
        if (Annotations::validateDashboardMiddleground($this->dashboardMiddleground))  {
            return $this->dashboardMiddleground;
        }
        throw new Exception('never get to getDashboardMiddleground Annotations::dashboardMiddleground');
    }

    /**
     * @return string
     */
    public static function sampleDashboardMiddleground(): string {
        return 'Annotations::dashboardMiddleground::47'; /*47:dashboardMiddleground*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return FinishedCampaignEnded
     */
    public static function fromFinishedCampaignEnded(stdClass $value): FinishedCampaignEnded {
        return FinishedCampaignEnded::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toFinishedCampaignEnded(): stdClass {
        if (Annotations::validateFinishedCampaignEnded($this->finishedCampaignEnded))  {
            return $this->finishedCampaignEnded->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::finishedCampaignEnded');
    }

    /**
     * @param FinishedCampaignEnded
     * @return bool
     * @throws Exception
     */
    public static function validateFinishedCampaignEnded(FinishedCampaignEnded $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return FinishedCampaignEnded
     */
    public function getFinishedCampaignEnded(): FinishedCampaignEnded {
        if (Annotations::validateFinishedCampaignEnded($this->finishedCampaignEnded))  {
            return $this->finishedCampaignEnded;
        }
        throw new Exception('never get to getFinishedCampaignEnded Annotations::finishedCampaignEnded');
    }

    /**
     * @return FinishedCampaignEnded
     */
    public static function sampleFinishedCampaignEnded(): FinishedCampaignEnded {
        return FinishedCampaignEnded::sample(); /*48:finishedCampaignEnded*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return FinishedFailureDescription
     */
    public static function fromFinishedFailureDescription(stdClass $value): FinishedFailureDescription {
        return FinishedFailureDescription::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toFinishedFailureDescription(): stdClass {
        if (Annotations::validateFinishedFailureDescription($this->finishedFailureDescription))  {
            return $this->finishedFailureDescription->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::finishedFailureDescription');
    }

    /**
     * @param FinishedFailureDescription
     * @return bool
     * @throws Exception
     */
    public static function validateFinishedFailureDescription(FinishedFailureDescription $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return FinishedFailureDescription
     */
    public function getFinishedFailureDescription(): FinishedFailureDescription {
        if (Annotations::validateFinishedFailureDescription($this->finishedFailureDescription))  {
            return $this->finishedFailureDescription;
        }
        throw new Exception('never get to getFinishedFailureDescription Annotations::finishedFailureDescription');
    }

    /**
     * @return FinishedFailureDescription
     */
    public static function sampleFinishedFailureDescription(): FinishedFailureDescription {
        return FinishedFailureDescription::sample(); /*49:finishedFailureDescription*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return FinishedResolutionStateFailure
     */
    public static function fromFinishedResolutionStateFailure(stdClass $value): FinishedResolutionStateFailure {
        return FinishedResolutionStateFailure::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toFinishedResolutionStateFailure(): stdClass {
        if (Annotations::validateFinishedResolutionStateFailure($this->finishedResolutionStateFailure))  {
            return $this->finishedResolutionStateFailure->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::finishedResolutionStateFailure');
    }

    /**
     * @param FinishedResolutionStateFailure
     * @return bool
     * @throws Exception
     */
    public static function validateFinishedResolutionStateFailure(FinishedResolutionStateFailure $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return FinishedResolutionStateFailure
     */
    public function getFinishedResolutionStateFailure(): FinishedResolutionStateFailure {
        if (Annotations::validateFinishedResolutionStateFailure($this->finishedResolutionStateFailure))  {
            return $this->finishedResolutionStateFailure;
        }
        throw new Exception('never get to getFinishedResolutionStateFailure Annotations::finishedResolutionStateFailure');
    }

    /**
     * @return FinishedResolutionStateFailure
     */
    public static function sampleFinishedResolutionStateFailure(): FinishedResolutionStateFailure {
        return FinishedResolutionStateFailure::sample(); /*50:finishedResolutionStateFailure*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return FinishedResolutionStateSuccess
     */
    public static function fromFinishedResolutionStateSuccess(stdClass $value): FinishedResolutionStateSuccess {
        return FinishedResolutionStateSuccess::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toFinishedResolutionStateSuccess(): stdClass {
        if (Annotations::validateFinishedResolutionStateSuccess($this->finishedResolutionStateSuccess))  {
            return $this->finishedResolutionStateSuccess->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::finishedResolutionStateSuccess');
    }

    /**
     * @param FinishedResolutionStateSuccess
     * @return bool
     * @throws Exception
     */
    public static function validateFinishedResolutionStateSuccess(FinishedResolutionStateSuccess $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return FinishedResolutionStateSuccess
     */
    public function getFinishedResolutionStateSuccess(): FinishedResolutionStateSuccess {
        if (Annotations::validateFinishedResolutionStateSuccess($this->finishedResolutionStateSuccess))  {
            return $this->finishedResolutionStateSuccess;
        }
        throw new Exception('never get to getFinishedResolutionStateSuccess Annotations::finishedResolutionStateSuccess');
    }

    /**
     * @return FinishedResolutionStateSuccess
     */
    public static function sampleFinishedResolutionStateSuccess(): FinishedResolutionStateSuccess {
        return FinishedResolutionStateSuccess::sample(); /*51:finishedResolutionStateSuccess*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return FinishedSuccessDescription
     */
    public static function fromFinishedSuccessDescription(stdClass $value): FinishedSuccessDescription {
        return FinishedSuccessDescription::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toFinishedSuccessDescription(): stdClass {
        if (Annotations::validateFinishedSuccessDescription($this->finishedSuccessDescription))  {
            return $this->finishedSuccessDescription->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::finishedSuccessDescription');
    }

    /**
     * @param FinishedSuccessDescription
     * @return bool
     * @throws Exception
     */
    public static function validateFinishedSuccessDescription(FinishedSuccessDescription $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return FinishedSuccessDescription
     */
    public function getFinishedSuccessDescription(): FinishedSuccessDescription {
        if (Annotations::validateFinishedSuccessDescription($this->finishedSuccessDescription))  {
            return $this->finishedSuccessDescription;
        }
        throw new Exception('never get to getFinishedSuccessDescription Annotations::finishedSuccessDescription');
    }

    /**
     * @return FinishedSuccessDescription
     */
    public static function sampleFinishedSuccessDescription(): FinishedSuccessDescription {
        return FinishedSuccessDescription::sample(); /*52:finishedSuccessDescription*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromForegroundVideoIntro(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toForegroundVideoIntro(): string {
        if (Annotations::validateForegroundVideoIntro($this->foregroundVideoIntro))  {
            return $this->foregroundVideoIntro; /*string*/
        }
        throw new Exception('never get to this Annotations::foregroundVideoIntro');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateForegroundVideoIntro(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::foregroundVideoIntro");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getForegroundVideoIntro(): string {
        if (Annotations::validateForegroundVideoIntro($this->foregroundVideoIntro))  {
            return $this->foregroundVideoIntro;
        }
        throw new Exception('never get to getForegroundVideoIntro Annotations::foregroundVideoIntro');
    }

    /**
     * @return string
     */
    public static function sampleForegroundVideoIntro(): string {
        return 'Annotations::foregroundVideoIntro::53'; /*53:foregroundVideoIntro*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromForegroundVideoLoop(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toForegroundVideoLoop(): string {
        if (Annotations::validateForegroundVideoLoop($this->foregroundVideoLoop))  {
            return $this->foregroundVideoLoop; /*string*/
        }
        throw new Exception('never get to this Annotations::foregroundVideoLoop');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateForegroundVideoLoop(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::foregroundVideoLoop");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getForegroundVideoLoop(): string {
        if (Annotations::validateForegroundVideoLoop($this->foregroundVideoLoop))  {
            return $this->foregroundVideoLoop;
        }
        throw new Exception('never get to getForegroundVideoLoop Annotations::foregroundVideoLoop');
    }

    /**
     * @return string
     */
    public static function sampleForegroundVideoLoop(): string {
        return 'Annotations::foregroundVideoLoop::54'; /*54:foregroundVideoLoop*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromForegroundVideoOutro(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toForegroundVideoOutro(): string {
        if (Annotations::validateForegroundVideoOutro($this->foregroundVideoOutro))  {
            return $this->foregroundVideoOutro; /*string*/
        }
        throw new Exception('never get to this Annotations::foregroundVideoOutro');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateForegroundVideoOutro(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::foregroundVideoOutro");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getForegroundVideoOutro(): string {
        if (Annotations::validateForegroundVideoOutro($this->foregroundVideoOutro))  {
            return $this->foregroundVideoOutro;
        }
        throw new Exception('never get to getForegroundVideoOutro Annotations::foregroundVideoOutro');
    }

    /**
     * @return string
     */
    public static function sampleForegroundVideoOutro(): string {
        return 'Annotations::foregroundVideoOutro::55'; /*55:foregroundVideoOutro*/
    }

    /**
     * @param int $value
     * @throws Exception
     * @return int
     */
    public static function fromMapFocusEntityId(int $value): int {
        return $value; /*int*/
    }

    /**
     * @throws Exception
     * @return int
     */
    public function toMapFocusEntityId(): int {
        if (Annotations::validateMapFocusEntityId($this->mapFocusEntityId))  {
            return $this->mapFocusEntityId; /*int*/
        }
        throw new Exception('never get to this Annotations::mapFocusEntityId');
    }

    /**
     * @param int
     * @return bool
     * @throws Exception
     */
    public static function validateMapFocusEntityId(int $value): bool {
        if (!is_integer($value)) {
            throw new Exception("Attribute Error:Annotations::mapFocusEntityId");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return int
     */
    public function getMapFocusEntityId(): int {
        if (Annotations::validateMapFocusEntityId($this->mapFocusEntityId))  {
            return $this->mapFocusEntityId;
        }
        throw new Exception('never get to getMapFocusEntityId Annotations::mapFocusEntityId');
    }

    /**
     * @return int
     */
    public static function sampleMapFocusEntityId(): int {
        return 56; /*56:mapFocusEntityId*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapHeader
     */
    public static function fromMapHeader(stdClass $value): MapHeader {
        return MapHeader::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapHeader(): stdClass {
        if (Annotations::validateMapHeader($this->mapHeader))  {
            return $this->mapHeader->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapHeader');
    }

    /**
     * @param MapHeader
     * @return bool
     * @throws Exception
     */
    public static function validateMapHeader(MapHeader $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapHeader
     */
    public function getMapHeader(): MapHeader {
        if (Annotations::validateMapHeader($this->mapHeader))  {
            return $this->mapHeader;
        }
        throw new Exception('never get to getMapHeader Annotations::mapHeader');
    }

    /**
     * @return MapHeader
     */
    public static function sampleMapHeader(): MapHeader {
        return MapHeader::sample(); /*57:mapHeader*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapSection1Paragraph
     */
    public static function fromMapSection1Paragraph(stdClass $value): MapSection1Paragraph {
        return MapSection1Paragraph::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapSection1Paragraph(): stdClass {
        if (Annotations::validateMapSection1Paragraph($this->mapSection1Paragraph))  {
            return $this->mapSection1Paragraph->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapSection1Paragraph');
    }

    /**
     * @param MapSection1Paragraph
     * @return bool
     * @throws Exception
     */
    public static function validateMapSection1Paragraph(MapSection1Paragraph $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapSection1Paragraph
     */
    public function getMapSection1Paragraph(): MapSection1Paragraph {
        if (Annotations::validateMapSection1Paragraph($this->mapSection1Paragraph))  {
            return $this->mapSection1Paragraph;
        }
        throw new Exception('never get to getMapSection1Paragraph Annotations::mapSection1Paragraph');
    }

    /**
     * @return MapSection1Paragraph
     */
    public static function sampleMapSection1Paragraph(): MapSection1Paragraph {
        return MapSection1Paragraph::sample(); /*58:mapSection1Paragraph*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapSection1Title
     */
    public static function fromMapSection1Title(stdClass $value): MapSection1Title {
        return MapSection1Title::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapSection1Title(): stdClass {
        if (Annotations::validateMapSection1Title($this->mapSection1Title))  {
            return $this->mapSection1Title->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapSection1Title');
    }

    /**
     * @param MapSection1Title
     * @return bool
     * @throws Exception
     */
    public static function validateMapSection1Title(MapSection1Title $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapSection1Title
     */
    public function getMapSection1Title(): MapSection1Title {
        if (Annotations::validateMapSection1Title($this->mapSection1Title))  {
            return $this->mapSection1Title;
        }
        throw new Exception('never get to getMapSection1Title Annotations::mapSection1Title');
    }

    /**
     * @return MapSection1Title
     */
    public static function sampleMapSection1Title(): MapSection1Title {
        return MapSection1Title::sample(); /*59:mapSection1Title*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapSection2Paragraph
     */
    public static function fromMapSection2Paragraph(stdClass $value): MapSection2Paragraph {
        return MapSection2Paragraph::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapSection2Paragraph(): stdClass {
        if (Annotations::validateMapSection2Paragraph($this->mapSection2Paragraph))  {
            return $this->mapSection2Paragraph->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapSection2Paragraph');
    }

    /**
     * @param MapSection2Paragraph
     * @return bool
     * @throws Exception
     */
    public static function validateMapSection2Paragraph(MapSection2Paragraph $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapSection2Paragraph
     */
    public function getMapSection2Paragraph(): MapSection2Paragraph {
        if (Annotations::validateMapSection2Paragraph($this->mapSection2Paragraph))  {
            return $this->mapSection2Paragraph;
        }
        throw new Exception('never get to getMapSection2Paragraph Annotations::mapSection2Paragraph');
    }

    /**
     * @return MapSection2Paragraph
     */
    public static function sampleMapSection2Paragraph(): MapSection2Paragraph {
        return MapSection2Paragraph::sample(); /*60:mapSection2Paragraph*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapSection2Title
     */
    public static function fromMapSection2Title(stdClass $value): MapSection2Title {
        return MapSection2Title::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapSection2Title(): stdClass {
        if (Annotations::validateMapSection2Title($this->mapSection2Title))  {
            return $this->mapSection2Title->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapSection2Title');
    }

    /**
     * @param MapSection2Title
     * @return bool
     * @throws Exception
     */
    public static function validateMapSection2Title(MapSection2Title $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapSection2Title
     */
    public function getMapSection2Title(): MapSection2Title {
        if (Annotations::validateMapSection2Title($this->mapSection2Title))  {
            return $this->mapSection2Title;
        }
        throw new Exception('never get to getMapSection2Title Annotations::mapSection2Title');
    }

    /**
     * @return MapSection2Title
     */
    public static function sampleMapSection2Title(): MapSection2Title {
        return MapSection2Title::sample(); /*61:mapSection2Title*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapSection3Paragraph
     */
    public static function fromMapSection3Paragraph(stdClass $value): MapSection3Paragraph {
        return MapSection3Paragraph::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapSection3Paragraph(): stdClass {
        if (Annotations::validateMapSection3Paragraph($this->mapSection3Paragraph))  {
            return $this->mapSection3Paragraph->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapSection3Paragraph');
    }

    /**
     * @param MapSection3Paragraph
     * @return bool
     * @throws Exception
     */
    public static function validateMapSection3Paragraph(MapSection3Paragraph $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapSection3Paragraph
     */
    public function getMapSection3Paragraph(): MapSection3Paragraph {
        if (Annotations::validateMapSection3Paragraph($this->mapSection3Paragraph))  {
            return $this->mapSection3Paragraph;
        }
        throw new Exception('never get to getMapSection3Paragraph Annotations::mapSection3Paragraph');
    }

    /**
     * @return MapSection3Paragraph
     */
    public static function sampleMapSection3Paragraph(): MapSection3Paragraph {
        return MapSection3Paragraph::sample(); /*62:mapSection3Paragraph*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapSection3Title
     */
    public static function fromMapSection3Title(stdClass $value): MapSection3Title {
        return MapSection3Title::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapSection3Title(): stdClass {
        if (Annotations::validateMapSection3Title($this->mapSection3Title))  {
            return $this->mapSection3Title->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapSection3Title');
    }

    /**
     * @param MapSection3Title
     * @return bool
     * @throws Exception
     */
    public static function validateMapSection3Title(MapSection3Title $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapSection3Title
     */
    public function getMapSection3Title(): MapSection3Title {
        if (Annotations::validateMapSection3Title($this->mapSection3Title))  {
            return $this->mapSection3Title;
        }
        throw new Exception('never get to getMapSection3Title Annotations::mapSection3Title');
    }

    /**
     * @return MapSection3Title
     */
    public static function sampleMapSection3Title(): MapSection3Title {
        return MapSection3Title::sample(); /*63:mapSection3Title*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapSubheader
     */
    public static function fromMapSubheader(stdClass $value): MapSubheader {
        return MapSubheader::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapSubheader(): stdClass {
        if (Annotations::validateMapSubheader($this->mapSubheader))  {
            return $this->mapSubheader->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapSubheader');
    }

    /**
     * @param MapSubheader
     * @return bool
     * @throws Exception
     */
    public static function validateMapSubheader(MapSubheader $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapSubheader
     */
    public function getMapSubheader(): MapSubheader {
        if (Annotations::validateMapSubheader($this->mapSubheader))  {
            return $this->mapSubheader;
        }
        throw new Exception('never get to getMapSubheader Annotations::mapSubheader');
    }

    /**
     * @return MapSubheader
     */
    public static function sampleMapSubheader(): MapSubheader {
        return MapSubheader::sample(); /*64:mapSubheader*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return MapTitle
     */
    public static function fromMapTitle(stdClass $value): MapTitle {
        return MapTitle::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toMapTitle(): stdClass {
        if (Annotations::validateMapTitle($this->mapTitle))  {
            return $this->mapTitle->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::mapTitle');
    }

    /**
     * @param MapTitle
     * @return bool
     * @throws Exception
     */
    public static function validateMapTitle(MapTitle $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return MapTitle
     */
    public function getMapTitle(): MapTitle {
        if (Annotations::validateMapTitle($this->mapTitle))  {
            return $this->mapTitle;
        }
        throw new Exception('never get to getMapTitle Annotations::mapTitle');
    }

    /**
     * @return MapTitle
     */
    public static function sampleMapTitle(): MapTitle {
        return MapTitle::sample(); /*65:mapTitle*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromMiddlegroundVideoIntro(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toMiddlegroundVideoIntro(): string {
        if (Annotations::validateMiddlegroundVideoIntro($this->middlegroundVideoIntro))  {
            return $this->middlegroundVideoIntro; /*string*/
        }
        throw new Exception('never get to this Annotations::middlegroundVideoIntro');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateMiddlegroundVideoIntro(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::middlegroundVideoIntro");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getMiddlegroundVideoIntro(): string {
        if (Annotations::validateMiddlegroundVideoIntro($this->middlegroundVideoIntro))  {
            return $this->middlegroundVideoIntro;
        }
        throw new Exception('never get to getMiddlegroundVideoIntro Annotations::middlegroundVideoIntro');
    }

    /**
     * @return string
     */
    public static function sampleMiddlegroundVideoIntro(): string {
        return 'Annotations::middlegroundVideoIntro::66'; /*66:middlegroundVideoIntro*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromMiddlegroundVideoLoop(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toMiddlegroundVideoLoop(): string {
        if (Annotations::validateMiddlegroundVideoLoop($this->middlegroundVideoLoop))  {
            return $this->middlegroundVideoLoop; /*string*/
        }
        throw new Exception('never get to this Annotations::middlegroundVideoLoop');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateMiddlegroundVideoLoop(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::middlegroundVideoLoop");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getMiddlegroundVideoLoop(): string {
        if (Annotations::validateMiddlegroundVideoLoop($this->middlegroundVideoLoop))  {
            return $this->middlegroundVideoLoop;
        }
        throw new Exception('never get to getMiddlegroundVideoLoop Annotations::middlegroundVideoLoop');
    }

    /**
     * @return string
     */
    public static function sampleMiddlegroundVideoLoop(): string {
        return 'Annotations::middlegroundVideoLoop::67'; /*67:middlegroundVideoLoop*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromMiddlegroundVideoOutro(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toMiddlegroundVideoOutro(): string {
        if (Annotations::validateMiddlegroundVideoOutro($this->middlegroundVideoOutro))  {
            return $this->middlegroundVideoOutro; /*string*/
        }
        throw new Exception('never get to this Annotations::middlegroundVideoOutro');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateMiddlegroundVideoOutro(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::middlegroundVideoOutro");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getMiddlegroundVideoOutro(): string {
        if (Annotations::validateMiddlegroundVideoOutro($this->middlegroundVideoOutro))  {
            return $this->middlegroundVideoOutro;
        }
        throw new Exception('never get to getMiddlegroundVideoOutro Annotations::middlegroundVideoOutro');
    }

    /**
     * @return string
     */
    public static function sampleMiddlegroundVideoOutro(): string {
        return 'Annotations::middlegroundVideoOutro::68'; /*68:middlegroundVideoOutro*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return PresentingCharacterName
     */
    public static function fromPresentingCharacterName(stdClass $value): PresentingCharacterName {
        return PresentingCharacterName::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toPresentingCharacterName(): stdClass {
        if (Annotations::validatePresentingCharacterName($this->presentingCharacterName))  {
            return $this->presentingCharacterName->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::presentingCharacterName');
    }

    /**
     * @param PresentingCharacterName
     * @return bool
     * @throws Exception
     */
    public static function validatePresentingCharacterName(PresentingCharacterName $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return PresentingCharacterName
     */
    public function getPresentingCharacterName(): PresentingCharacterName {
        if (Annotations::validatePresentingCharacterName($this->presentingCharacterName))  {
            return $this->presentingCharacterName;
        }
        throw new Exception('never get to getPresentingCharacterName Annotations::presentingCharacterName');
    }

    /**
     * @return PresentingCharacterName
     */
    public static function samplePresentingCharacterName(): PresentingCharacterName {
        return PresentingCharacterName::sample(); /*69:presentingCharacterName*/
    }

    /**
     * @param stdClass $value
     * @throws Exception
     * @return PresentingCharacterSubtitle
     */
    public static function fromPresentingCharacterSubtitle(stdClass $value): PresentingCharacterSubtitle {
        return PresentingCharacterSubtitle::from($value); /*class*/
    }

    /**
     * @throws Exception
     * @return stdClass
     */
    public function toPresentingCharacterSubtitle(): stdClass {
        if (Annotations::validatePresentingCharacterSubtitle($this->presentingCharacterSubtitle))  {
            return $this->presentingCharacterSubtitle->to(); /*class*/
        }
        throw new Exception('never get to this Annotations::presentingCharacterSubtitle');
    }

    /**
     * @param PresentingCharacterSubtitle
     * @return bool
     * @throws Exception
     */
    public static function validatePresentingCharacterSubtitle(PresentingCharacterSubtitle $value): bool {
        $value->validate();
        return true;
    }

    /**
     * @throws Exception
     * @return PresentingCharacterSubtitle
     */
    public function getPresentingCharacterSubtitle(): PresentingCharacterSubtitle {
        if (Annotations::validatePresentingCharacterSubtitle($this->presentingCharacterSubtitle))  {
            return $this->presentingCharacterSubtitle;
        }
        throw new Exception('never get to getPresentingCharacterSubtitle Annotations::presentingCharacterSubtitle');
    }

    /**
     * @return PresentingCharacterSubtitle
     */
    public static function samplePresentingCharacterSubtitle(): PresentingCharacterSubtitle {
        return PresentingCharacterSubtitle::sample(); /*70:presentingCharacterSubtitle*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromPresentingCharacterTexturePath(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toPresentingCharacterTexturePath(): string {
        if (Annotations::validatePresentingCharacterTexturePath($this->presentingCharacterTexturePath))  {
            return $this->presentingCharacterTexturePath; /*string*/
        }
        throw new Exception('never get to this Annotations::presentingCharacterTexturePath');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validatePresentingCharacterTexturePath(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::presentingCharacterTexturePath");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getPresentingCharacterTexturePath(): string {
        if (Annotations::validatePresentingCharacterTexturePath($this->presentingCharacterTexturePath))  {
            return $this->presentingCharacterTexturePath;
        }
        throw new Exception('never get to getPresentingCharacterTexturePath Annotations::presentingCharacterTexturePath');
    }

    /**
     * @return string
     */
    public static function samplePresentingCharacterTexturePath(): string {
        return 'Annotations::presentingCharacterTexturePath::71'; /*71:presentingCharacterTexturePath*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return Race
     */
    public static function fromRace(string $value): Race {
        return Race::from($value); /*enum*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRace(): string {
        if (Annotations::validateRace($this->race))  {
            return Race::to($this->race); /*enum*/
        }
        throw new Exception('never get to this Annotations::race');
    }

    /**
     * @param Race
     * @return bool
     * @throws Exception
     */
    public static function validateRace(Race $value): bool {
        Race::to($value);
        return true;
    }

    /**
     * @throws Exception
     * @return Race
     */
    public function getRace(): Race {
        if (Annotations::validateRace($this->race))  {
            return $this->race;
        }
        throw new Exception('never get to getRace Annotations::race');
    }

    /**
     * @return Race
     */
    public static function sampleRace(): Race {
        return Race::sample(); /*enum*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromThemePack(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toThemePack(): string {
        if (Annotations::validateThemePack($this->themePack))  {
            return $this->themePack; /*string*/
        }
        throw new Exception('never get to this Annotations::themePack');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateThemePack(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::themePack");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getThemePack(): string {
        if (Annotations::validateThemePack($this->themePack))  {
            return $this->themePack;
        }
        throw new Exception('never get to getThemePack Annotations::themePack');
    }

    /**
     * @return string
     */
    public static function sampleThemePack(): string {
        return 'Annotations::themePack::73'; /*73:themePack*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromTowCampaignCardButtonImage(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toTowCampaignCardButtonImage(): string {
        if (Annotations::validateTowCampaignCardButtonImage($this->towCampaignCardButtonImage))  {
            return $this->towCampaignCardButtonImage; /*string*/
        }
        throw new Exception('never get to this Annotations::towCampaignCardButtonImage');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateTowCampaignCardButtonImage(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Annotations::towCampaignCardButtonImage");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getTowCampaignCardButtonImage(): string {
        if (Annotations::validateTowCampaignCardButtonImage($this->towCampaignCardButtonImage))  {
            return $this->towCampaignCardButtonImage;
        }
        throw new Exception('never get to getTowCampaignCardButtonImage Annotations::towCampaignCardButtonImage');
    }

    /**
     * @return string
     */
    public static function sampleTowCampaignCardButtonImage(): string {
        return 'Annotations::towCampaignCardButtonImage::74'; /*74:towCampaignCardButtonImage*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return Annotations::validateAoCampaignCardButtonImage($this->aoCampaignCardButtonImage)
        || Annotations::validateBackgroundVideoLoop($this->backgroundVideoLoop)
        || Annotations::validateBriefingBackground($this->briefingBackground)
        || Annotations::validateBriefingFailureDescription($this->briefingFailureDescription)
        || Annotations::validateBriefingFailureHeader($this->briefingFailureHeader)
        || Annotations::validateBriefingFinalWords($this->briefingFinalWords)
        || Annotations::validateBriefingForeground($this->briefingForeground)
        || Annotations::validateBriefingGoalDescription($this->briefingGoalDescription)
        || Annotations::validateBriefingHeader($this->briefingHeader)
        || Annotations::validateBriefingMiddleground($this->briefingMiddleground)
        || Annotations::validateBriefingSuccessDescription($this->briefingSuccessDescription)
        || Annotations::validateBriefingSuccessHeader($this->briefingSuccessHeader)
        || Annotations::validateCampaignSet($this->campaignSet)
        || Annotations::validateDashboardAmbientBackground($this->dashboardAmbientBackground)
        || Annotations::validateDashboardBackground($this->dashboardBackground)
        || Annotations::validateDashboardForeground($this->dashboardForeground)
        || Annotations::validateDashboardMiddleground($this->dashboardMiddleground)
        || Annotations::validateFinishedCampaignEnded($this->finishedCampaignEnded)
        || Annotations::validateFinishedFailureDescription($this->finishedFailureDescription)
        || Annotations::validateFinishedResolutionStateFailure($this->finishedResolutionStateFailure)
        || Annotations::validateFinishedResolutionStateSuccess($this->finishedResolutionStateSuccess)
        || Annotations::validateFinishedSuccessDescription($this->finishedSuccessDescription)
        || Annotations::validateForegroundVideoIntro($this->foregroundVideoIntro)
        || Annotations::validateForegroundVideoLoop($this->foregroundVideoLoop)
        || Annotations::validateForegroundVideoOutro($this->foregroundVideoOutro)
        || Annotations::validateMapFocusEntityId($this->mapFocusEntityId)
        || Annotations::validateMapHeader($this->mapHeader)
        || Annotations::validateMapSection1Paragraph($this->mapSection1Paragraph)
        || Annotations::validateMapSection1Title($this->mapSection1Title)
        || Annotations::validateMapSection2Paragraph($this->mapSection2Paragraph)
        || Annotations::validateMapSection2Title($this->mapSection2Title)
        || Annotations::validateMapSection3Paragraph($this->mapSection3Paragraph)
        || Annotations::validateMapSection3Title($this->mapSection3Title)
        || Annotations::validateMapSubheader($this->mapSubheader)
        || Annotations::validateMapTitle($this->mapTitle)
        || Annotations::validateMiddlegroundVideoIntro($this->middlegroundVideoIntro)
        || Annotations::validateMiddlegroundVideoLoop($this->middlegroundVideoLoop)
        || Annotations::validateMiddlegroundVideoOutro($this->middlegroundVideoOutro)
        || Annotations::validatePresentingCharacterName($this->presentingCharacterName)
        || Annotations::validatePresentingCharacterSubtitle($this->presentingCharacterSubtitle)
        || Annotations::validatePresentingCharacterTexturePath($this->presentingCharacterTexturePath)
        || Annotations::validateRace($this->race)
        || Annotations::validateThemePack($this->themePack)
        || Annotations::validateTowCampaignCardButtonImage($this->towCampaignCardButtonImage);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'aoCampaignCardButtonImage'} = $this->toAoCampaignCardButtonImage();
        $out->{'backgroundVideoLoop'} = $this->toBackgroundVideoLoop();
        $out->{'briefingBackground'} = $this->toBriefingBackground();
        $out->{'briefingFailureDescription'} = $this->toBriefingFailureDescription();
        $out->{'briefingFailureHeader'} = $this->toBriefingFailureHeader();
        $out->{'briefingFinalWords'} = $this->toBriefingFinalWords();
        $out->{'briefingForeground'} = $this->toBriefingForeground();
        $out->{'briefingGoalDescription'} = $this->toBriefingGoalDescription();
        $out->{'briefingHeader'} = $this->toBriefingHeader();
        $out->{'briefingMiddleground'} = $this->toBriefingMiddleground();
        $out->{'briefingSuccessDescription'} = $this->toBriefingSuccessDescription();
        $out->{'briefingSuccessHeader'} = $this->toBriefingSuccessHeader();
        $out->{'campaignSet'} = $this->toCampaignSet();
        $out->{'dashboardAmbientBackground'} = $this->toDashboardAmbientBackground();
        $out->{'dashboardBackground'} = $this->toDashboardBackground();
        $out->{'dashboardForeground'} = $this->toDashboardForeground();
        $out->{'dashboardMiddleground'} = $this->toDashboardMiddleground();
        $out->{'finishedCampaignEnded'} = $this->toFinishedCampaignEnded();
        $out->{'finishedFailureDescription'} = $this->toFinishedFailureDescription();
        $out->{'finishedResolutionStateFailure'} = $this->toFinishedResolutionStateFailure();
        $out->{'finishedResolutionStateSuccess'} = $this->toFinishedResolutionStateSuccess();
        $out->{'finishedSuccessDescription'} = $this->toFinishedSuccessDescription();
        $out->{'foregroundVideoIntro'} = $this->toForegroundVideoIntro();
        $out->{'foregroundVideoLoop'} = $this->toForegroundVideoLoop();
        $out->{'foregroundVideoOutro'} = $this->toForegroundVideoOutro();
        $out->{'mapFocusEntityID'} = $this->toMapFocusEntityId();
        $out->{'mapHeader'} = $this->toMapHeader();
        $out->{'mapSection1Paragraph'} = $this->toMapSection1Paragraph();
        $out->{'mapSection1Title'} = $this->toMapSection1Title();
        $out->{'mapSection2Paragraph'} = $this->toMapSection2Paragraph();
        $out->{'mapSection2Title'} = $this->toMapSection2Title();
        $out->{'mapSection3Paragraph'} = $this->toMapSection3Paragraph();
        $out->{'mapSection3Title'} = $this->toMapSection3Title();
        $out->{'mapSubheader'} = $this->toMapSubheader();
        $out->{'mapTitle'} = $this->toMapTitle();
        $out->{'middlegroundVideoIntro'} = $this->toMiddlegroundVideoIntro();
        $out->{'middlegroundVideoLoop'} = $this->toMiddlegroundVideoLoop();
        $out->{'middlegroundVideoOutro'} = $this->toMiddlegroundVideoOutro();
        $out->{'presentingCharacterName'} = $this->toPresentingCharacterName();
        $out->{'presentingCharacterSubtitle'} = $this->toPresentingCharacterSubtitle();
        $out->{'presentingCharacterTexturePath'} = $this->toPresentingCharacterTexturePath();
        $out->{'race'} = $this->toRace();
        $out->{'themePack'} = $this->toThemePack();
        $out->{'towCampaignCardButtonImage'} = $this->toTowCampaignCardButtonImage();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return Annotations
     * @throws Exception
     */
    public static function from(stdClass $obj): Annotations {
        return new Annotations(
         Annotations::fromAoCampaignCardButtonImage($obj->{'aoCampaignCardButtonImage'})
        ,Annotations::fromBackgroundVideoLoop($obj->{'backgroundVideoLoop'})
        ,Annotations::fromBriefingBackground($obj->{'briefingBackground'})
        ,Annotations::fromBriefingFailureDescription($obj->{'briefingFailureDescription'})
        ,Annotations::fromBriefingFailureHeader($obj->{'briefingFailureHeader'})
        ,Annotations::fromBriefingFinalWords($obj->{'briefingFinalWords'})
        ,Annotations::fromBriefingForeground($obj->{'briefingForeground'})
        ,Annotations::fromBriefingGoalDescription($obj->{'briefingGoalDescription'})
        ,Annotations::fromBriefingHeader($obj->{'briefingHeader'})
        ,Annotations::fromBriefingMiddleground($obj->{'briefingMiddleground'})
        ,Annotations::fromBriefingSuccessDescription($obj->{'briefingSuccessDescription'})
        ,Annotations::fromBriefingSuccessHeader($obj->{'briefingSuccessHeader'})
        ,Annotations::fromCampaignSet($obj->{'campaignSet'})
        ,Annotations::fromDashboardAmbientBackground($obj->{'dashboardAmbientBackground'})
        ,Annotations::fromDashboardBackground($obj->{'dashboardBackground'})
        ,Annotations::fromDashboardForeground($obj->{'dashboardForeground'})
        ,Annotations::fromDashboardMiddleground($obj->{'dashboardMiddleground'})
        ,Annotations::fromFinishedCampaignEnded($obj->{'finishedCampaignEnded'})
        ,Annotations::fromFinishedFailureDescription($obj->{'finishedFailureDescription'})
        ,Annotations::fromFinishedResolutionStateFailure($obj->{'finishedResolutionStateFailure'})
        ,Annotations::fromFinishedResolutionStateSuccess($obj->{'finishedResolutionStateSuccess'})
        ,Annotations::fromFinishedSuccessDescription($obj->{'finishedSuccessDescription'})
        ,Annotations::fromForegroundVideoIntro($obj->{'foregroundVideoIntro'})
        ,Annotations::fromForegroundVideoLoop($obj->{'foregroundVideoLoop'})
        ,Annotations::fromForegroundVideoOutro($obj->{'foregroundVideoOutro'})
        ,Annotations::fromMapFocusEntityId($obj->{'mapFocusEntityID'})
        ,Annotations::fromMapHeader($obj->{'mapHeader'})
        ,Annotations::fromMapSection1Paragraph($obj->{'mapSection1Paragraph'})
        ,Annotations::fromMapSection1Title($obj->{'mapSection1Title'})
        ,Annotations::fromMapSection2Paragraph($obj->{'mapSection2Paragraph'})
        ,Annotations::fromMapSection2Title($obj->{'mapSection2Title'})
        ,Annotations::fromMapSection3Paragraph($obj->{'mapSection3Paragraph'})
        ,Annotations::fromMapSection3Title($obj->{'mapSection3Title'})
        ,Annotations::fromMapSubheader($obj->{'mapSubheader'})
        ,Annotations::fromMapTitle($obj->{'mapTitle'})
        ,Annotations::fromMiddlegroundVideoIntro($obj->{'middlegroundVideoIntro'})
        ,Annotations::fromMiddlegroundVideoLoop($obj->{'middlegroundVideoLoop'})
        ,Annotations::fromMiddlegroundVideoOutro($obj->{'middlegroundVideoOutro'})
        ,Annotations::fromPresentingCharacterName($obj->{'presentingCharacterName'})
        ,Annotations::fromPresentingCharacterSubtitle($obj->{'presentingCharacterSubtitle'})
        ,Annotations::fromPresentingCharacterTexturePath($obj->{'presentingCharacterTexturePath'})
        ,Annotations::fromRace($obj->{'race'})
        ,Annotations::fromThemePack($obj->{'themePack'})
        ,Annotations::fromTowCampaignCardButtonImage($obj->{'towCampaignCardButtonImage'})
        );
    }

    /**
     * @return Annotations
     */
    public static function sample(): Annotations {
        return new Annotations(
         Annotations::sampleAoCampaignCardButtonImage()
        ,Annotations::sampleBackgroundVideoLoop()
        ,Annotations::sampleBriefingBackground()
        ,Annotations::sampleBriefingFailureDescription()
        ,Annotations::sampleBriefingFailureHeader()
        ,Annotations::sampleBriefingFinalWords()
        ,Annotations::sampleBriefingForeground()
        ,Annotations::sampleBriefingGoalDescription()
        ,Annotations::sampleBriefingHeader()
        ,Annotations::sampleBriefingMiddleground()
        ,Annotations::sampleBriefingSuccessDescription()
        ,Annotations::sampleBriefingSuccessHeader()
        ,Annotations::sampleCampaignSet()
        ,Annotations::sampleDashboardAmbientBackground()
        ,Annotations::sampleDashboardBackground()
        ,Annotations::sampleDashboardForeground()
        ,Annotations::sampleDashboardMiddleground()
        ,Annotations::sampleFinishedCampaignEnded()
        ,Annotations::sampleFinishedFailureDescription()
        ,Annotations::sampleFinishedResolutionStateFailure()
        ,Annotations::sampleFinishedResolutionStateSuccess()
        ,Annotations::sampleFinishedSuccessDescription()
        ,Annotations::sampleForegroundVideoIntro()
        ,Annotations::sampleForegroundVideoLoop()
        ,Annotations::sampleForegroundVideoOutro()
        ,Annotations::sampleMapFocusEntityId()
        ,Annotations::sampleMapHeader()
        ,Annotations::sampleMapSection1Paragraph()
        ,Annotations::sampleMapSection1Title()
        ,Annotations::sampleMapSection2Paragraph()
        ,Annotations::sampleMapSection2Title()
        ,Annotations::sampleMapSection3Paragraph()
        ,Annotations::sampleMapSection3Title()
        ,Annotations::sampleMapSubheader()
        ,Annotations::sampleMapTitle()
        ,Annotations::sampleMiddlegroundVideoIntro()
        ,Annotations::sampleMiddlegroundVideoLoop()
        ,Annotations::sampleMiddlegroundVideoOutro()
        ,Annotations::samplePresentingCharacterName()
        ,Annotations::samplePresentingCharacterSubtitle()
        ,Annotations::samplePresentingCharacterTexturePath()
        ,Annotations::sampleRace()
        ,Annotations::sampleThemePack()
        ,Annotations::sampleTowCampaignCardButtonImage()
        );
    }
}

// This is a autogenerated file:BriefingFailureDescription

class BriefingFailureDescription {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (BriefingFailureDescription::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (BriefingFailureDescription::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe BriefingFailureDescription::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'BriefingFailureDescription::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (BriefingFailureDescription::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (BriefingFailureDescription::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn BriefingFailureDescription::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'BriefingFailureDescription::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (BriefingFailureDescription::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (BriefingFailureDescription::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs BriefingFailureDescription::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'BriefingFailureDescription::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (BriefingFailureDescription::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (BriefingFailureDescription::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr BriefingFailureDescription::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'BriefingFailureDescription::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (BriefingFailureDescription::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (BriefingFailureDescription::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa BriefingFailureDescription::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'BriefingFailureDescription::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (BriefingFailureDescription::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (BriefingFailureDescription::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo BriefingFailureDescription::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'BriefingFailureDescription::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (BriefingFailureDescription::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (BriefingFailureDescription::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu BriefingFailureDescription::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'BriefingFailureDescription::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (BriefingFailureDescription::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this BriefingFailureDescription::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureDescription::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (BriefingFailureDescription::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh BriefingFailureDescription::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'BriefingFailureDescription::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return BriefingFailureDescription::validateDe($this->de)
        || BriefingFailureDescription::validateEn($this->en)
        || BriefingFailureDescription::validateEs($this->es)
        || BriefingFailureDescription::validateFr($this->fr)
        || BriefingFailureDescription::validateJa($this->ja)
        || BriefingFailureDescription::validateKo($this->ko)
        || BriefingFailureDescription::validateRu($this->ru)
        || BriefingFailureDescription::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return BriefingFailureDescription
     * @throws Exception
     */
    public static function from(stdClass $obj): BriefingFailureDescription {
        return new BriefingFailureDescription(
         BriefingFailureDescription::fromDe($obj->{'de'})
        ,BriefingFailureDescription::fromEn($obj->{'en'})
        ,BriefingFailureDescription::fromEs($obj->{'es'})
        ,BriefingFailureDescription::fromFr($obj->{'fr'})
        ,BriefingFailureDescription::fromJa($obj->{'ja'})
        ,BriefingFailureDescription::fromKo($obj->{'ko'})
        ,BriefingFailureDescription::fromRu($obj->{'ru'})
        ,BriefingFailureDescription::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return BriefingFailureDescription
     */
    public static function sample(): BriefingFailureDescription {
        return new BriefingFailureDescription(
         BriefingFailureDescription::sampleDe()
        ,BriefingFailureDescription::sampleEn()
        ,BriefingFailureDescription::sampleEs()
        ,BriefingFailureDescription::sampleFr()
        ,BriefingFailureDescription::sampleJa()
        ,BriefingFailureDescription::sampleKo()
        ,BriefingFailureDescription::sampleRu()
        ,BriefingFailureDescription::sampleZh()
        );
    }
}

// This is a autogenerated file:BriefingFailureHeader

class BriefingFailureHeader {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (BriefingFailureHeader::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (BriefingFailureHeader::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe BriefingFailureHeader::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'BriefingFailureHeader::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (BriefingFailureHeader::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (BriefingFailureHeader::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn BriefingFailureHeader::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'BriefingFailureHeader::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (BriefingFailureHeader::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (BriefingFailureHeader::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs BriefingFailureHeader::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'BriefingFailureHeader::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (BriefingFailureHeader::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (BriefingFailureHeader::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr BriefingFailureHeader::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'BriefingFailureHeader::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (BriefingFailureHeader::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (BriefingFailureHeader::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa BriefingFailureHeader::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'BriefingFailureHeader::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (BriefingFailureHeader::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (BriefingFailureHeader::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo BriefingFailureHeader::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'BriefingFailureHeader::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (BriefingFailureHeader::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (BriefingFailureHeader::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu BriefingFailureHeader::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'BriefingFailureHeader::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (BriefingFailureHeader::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this BriefingFailureHeader::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFailureHeader::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (BriefingFailureHeader::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh BriefingFailureHeader::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'BriefingFailureHeader::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return BriefingFailureHeader::validateDe($this->de)
        || BriefingFailureHeader::validateEn($this->en)
        || BriefingFailureHeader::validateEs($this->es)
        || BriefingFailureHeader::validateFr($this->fr)
        || BriefingFailureHeader::validateJa($this->ja)
        || BriefingFailureHeader::validateKo($this->ko)
        || BriefingFailureHeader::validateRu($this->ru)
        || BriefingFailureHeader::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return BriefingFailureHeader
     * @throws Exception
     */
    public static function from(stdClass $obj): BriefingFailureHeader {
        return new BriefingFailureHeader(
         BriefingFailureHeader::fromDe($obj->{'de'})
        ,BriefingFailureHeader::fromEn($obj->{'en'})
        ,BriefingFailureHeader::fromEs($obj->{'es'})
        ,BriefingFailureHeader::fromFr($obj->{'fr'})
        ,BriefingFailureHeader::fromJa($obj->{'ja'})
        ,BriefingFailureHeader::fromKo($obj->{'ko'})
        ,BriefingFailureHeader::fromRu($obj->{'ru'})
        ,BriefingFailureHeader::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return BriefingFailureHeader
     */
    public static function sample(): BriefingFailureHeader {
        return new BriefingFailureHeader(
         BriefingFailureHeader::sampleDe()
        ,BriefingFailureHeader::sampleEn()
        ,BriefingFailureHeader::sampleEs()
        ,BriefingFailureHeader::sampleFr()
        ,BriefingFailureHeader::sampleJa()
        ,BriefingFailureHeader::sampleKo()
        ,BriefingFailureHeader::sampleRu()
        ,BriefingFailureHeader::sampleZh()
        );
    }
}

// This is a autogenerated file:BriefingFinalWords

class BriefingFinalWords {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (BriefingFinalWords::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (BriefingFinalWords::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe BriefingFinalWords::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'BriefingFinalWords::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (BriefingFinalWords::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (BriefingFinalWords::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn BriefingFinalWords::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'BriefingFinalWords::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (BriefingFinalWords::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (BriefingFinalWords::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs BriefingFinalWords::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'BriefingFinalWords::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (BriefingFinalWords::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (BriefingFinalWords::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr BriefingFinalWords::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'BriefingFinalWords::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (BriefingFinalWords::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (BriefingFinalWords::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa BriefingFinalWords::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'BriefingFinalWords::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (BriefingFinalWords::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (BriefingFinalWords::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo BriefingFinalWords::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'BriefingFinalWords::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (BriefingFinalWords::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (BriefingFinalWords::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu BriefingFinalWords::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'BriefingFinalWords::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (BriefingFinalWords::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this BriefingFinalWords::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingFinalWords::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (BriefingFinalWords::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh BriefingFinalWords::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'BriefingFinalWords::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return BriefingFinalWords::validateDe($this->de)
        || BriefingFinalWords::validateEn($this->en)
        || BriefingFinalWords::validateEs($this->es)
        || BriefingFinalWords::validateFr($this->fr)
        || BriefingFinalWords::validateJa($this->ja)
        || BriefingFinalWords::validateKo($this->ko)
        || BriefingFinalWords::validateRu($this->ru)
        || BriefingFinalWords::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return BriefingFinalWords
     * @throws Exception
     */
    public static function from(stdClass $obj): BriefingFinalWords {
        return new BriefingFinalWords(
         BriefingFinalWords::fromDe($obj->{'de'})
        ,BriefingFinalWords::fromEn($obj->{'en'})
        ,BriefingFinalWords::fromEs($obj->{'es'})
        ,BriefingFinalWords::fromFr($obj->{'fr'})
        ,BriefingFinalWords::fromJa($obj->{'ja'})
        ,BriefingFinalWords::fromKo($obj->{'ko'})
        ,BriefingFinalWords::fromRu($obj->{'ru'})
        ,BriefingFinalWords::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return BriefingFinalWords
     */
    public static function sample(): BriefingFinalWords {
        return new BriefingFinalWords(
         BriefingFinalWords::sampleDe()
        ,BriefingFinalWords::sampleEn()
        ,BriefingFinalWords::sampleEs()
        ,BriefingFinalWords::sampleFr()
        ,BriefingFinalWords::sampleJa()
        ,BriefingFinalWords::sampleKo()
        ,BriefingFinalWords::sampleRu()
        ,BriefingFinalWords::sampleZh()
        );
    }
}

// This is a autogenerated file:BriefingGoalDescription

class BriefingGoalDescription {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (BriefingGoalDescription::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (BriefingGoalDescription::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe BriefingGoalDescription::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'BriefingGoalDescription::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (BriefingGoalDescription::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (BriefingGoalDescription::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn BriefingGoalDescription::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'BriefingGoalDescription::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (BriefingGoalDescription::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (BriefingGoalDescription::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs BriefingGoalDescription::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'BriefingGoalDescription::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (BriefingGoalDescription::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (BriefingGoalDescription::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr BriefingGoalDescription::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'BriefingGoalDescription::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (BriefingGoalDescription::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (BriefingGoalDescription::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa BriefingGoalDescription::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'BriefingGoalDescription::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (BriefingGoalDescription::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (BriefingGoalDescription::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo BriefingGoalDescription::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'BriefingGoalDescription::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (BriefingGoalDescription::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (BriefingGoalDescription::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu BriefingGoalDescription::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'BriefingGoalDescription::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (BriefingGoalDescription::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this BriefingGoalDescription::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingGoalDescription::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (BriefingGoalDescription::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh BriefingGoalDescription::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'BriefingGoalDescription::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return BriefingGoalDescription::validateDe($this->de)
        || BriefingGoalDescription::validateEn($this->en)
        || BriefingGoalDescription::validateEs($this->es)
        || BriefingGoalDescription::validateFr($this->fr)
        || BriefingGoalDescription::validateJa($this->ja)
        || BriefingGoalDescription::validateKo($this->ko)
        || BriefingGoalDescription::validateRu($this->ru)
        || BriefingGoalDescription::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return BriefingGoalDescription
     * @throws Exception
     */
    public static function from(stdClass $obj): BriefingGoalDescription {
        return new BriefingGoalDescription(
         BriefingGoalDescription::fromDe($obj->{'de'})
        ,BriefingGoalDescription::fromEn($obj->{'en'})
        ,BriefingGoalDescription::fromEs($obj->{'es'})
        ,BriefingGoalDescription::fromFr($obj->{'fr'})
        ,BriefingGoalDescription::fromJa($obj->{'ja'})
        ,BriefingGoalDescription::fromKo($obj->{'ko'})
        ,BriefingGoalDescription::fromRu($obj->{'ru'})
        ,BriefingGoalDescription::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return BriefingGoalDescription
     */
    public static function sample(): BriefingGoalDescription {
        return new BriefingGoalDescription(
         BriefingGoalDescription::sampleDe()
        ,BriefingGoalDescription::sampleEn()
        ,BriefingGoalDescription::sampleEs()
        ,BriefingGoalDescription::sampleFr()
        ,BriefingGoalDescription::sampleJa()
        ,BriefingGoalDescription::sampleKo()
        ,BriefingGoalDescription::sampleRu()
        ,BriefingGoalDescription::sampleZh()
        );
    }
}

// This is a autogenerated file:BriefingHeader

class BriefingHeader {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (BriefingHeader::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (BriefingHeader::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe BriefingHeader::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'BriefingHeader::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (BriefingHeader::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (BriefingHeader::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn BriefingHeader::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'BriefingHeader::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (BriefingHeader::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (BriefingHeader::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs BriefingHeader::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'BriefingHeader::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (BriefingHeader::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (BriefingHeader::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr BriefingHeader::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'BriefingHeader::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (BriefingHeader::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (BriefingHeader::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa BriefingHeader::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'BriefingHeader::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (BriefingHeader::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (BriefingHeader::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo BriefingHeader::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'BriefingHeader::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (BriefingHeader::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (BriefingHeader::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu BriefingHeader::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'BriefingHeader::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (BriefingHeader::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this BriefingHeader::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingHeader::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (BriefingHeader::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh BriefingHeader::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'BriefingHeader::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return BriefingHeader::validateDe($this->de)
        || BriefingHeader::validateEn($this->en)
        || BriefingHeader::validateEs($this->es)
        || BriefingHeader::validateFr($this->fr)
        || BriefingHeader::validateJa($this->ja)
        || BriefingHeader::validateKo($this->ko)
        || BriefingHeader::validateRu($this->ru)
        || BriefingHeader::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return BriefingHeader
     * @throws Exception
     */
    public static function from(stdClass $obj): BriefingHeader {
        return new BriefingHeader(
         BriefingHeader::fromDe($obj->{'de'})
        ,BriefingHeader::fromEn($obj->{'en'})
        ,BriefingHeader::fromEs($obj->{'es'})
        ,BriefingHeader::fromFr($obj->{'fr'})
        ,BriefingHeader::fromJa($obj->{'ja'})
        ,BriefingHeader::fromKo($obj->{'ko'})
        ,BriefingHeader::fromRu($obj->{'ru'})
        ,BriefingHeader::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return BriefingHeader
     */
    public static function sample(): BriefingHeader {
        return new BriefingHeader(
         BriefingHeader::sampleDe()
        ,BriefingHeader::sampleEn()
        ,BriefingHeader::sampleEs()
        ,BriefingHeader::sampleFr()
        ,BriefingHeader::sampleJa()
        ,BriefingHeader::sampleKo()
        ,BriefingHeader::sampleRu()
        ,BriefingHeader::sampleZh()
        );
    }
}

// This is a autogenerated file:BriefingSuccessDescription

class BriefingSuccessDescription {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (BriefingSuccessDescription::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (BriefingSuccessDescription::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe BriefingSuccessDescription::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'BriefingSuccessDescription::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (BriefingSuccessDescription::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (BriefingSuccessDescription::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn BriefingSuccessDescription::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'BriefingSuccessDescription::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (BriefingSuccessDescription::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (BriefingSuccessDescription::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs BriefingSuccessDescription::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'BriefingSuccessDescription::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (BriefingSuccessDescription::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (BriefingSuccessDescription::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr BriefingSuccessDescription::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'BriefingSuccessDescription::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (BriefingSuccessDescription::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (BriefingSuccessDescription::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa BriefingSuccessDescription::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'BriefingSuccessDescription::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (BriefingSuccessDescription::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (BriefingSuccessDescription::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo BriefingSuccessDescription::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'BriefingSuccessDescription::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (BriefingSuccessDescription::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (BriefingSuccessDescription::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu BriefingSuccessDescription::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'BriefingSuccessDescription::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (BriefingSuccessDescription::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessDescription::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessDescription::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (BriefingSuccessDescription::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh BriefingSuccessDescription::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'BriefingSuccessDescription::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return BriefingSuccessDescription::validateDe($this->de)
        || BriefingSuccessDescription::validateEn($this->en)
        || BriefingSuccessDescription::validateEs($this->es)
        || BriefingSuccessDescription::validateFr($this->fr)
        || BriefingSuccessDescription::validateJa($this->ja)
        || BriefingSuccessDescription::validateKo($this->ko)
        || BriefingSuccessDescription::validateRu($this->ru)
        || BriefingSuccessDescription::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return BriefingSuccessDescription
     * @throws Exception
     */
    public static function from(stdClass $obj): BriefingSuccessDescription {
        return new BriefingSuccessDescription(
         BriefingSuccessDescription::fromDe($obj->{'de'})
        ,BriefingSuccessDescription::fromEn($obj->{'en'})
        ,BriefingSuccessDescription::fromEs($obj->{'es'})
        ,BriefingSuccessDescription::fromFr($obj->{'fr'})
        ,BriefingSuccessDescription::fromJa($obj->{'ja'})
        ,BriefingSuccessDescription::fromKo($obj->{'ko'})
        ,BriefingSuccessDescription::fromRu($obj->{'ru'})
        ,BriefingSuccessDescription::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return BriefingSuccessDescription
     */
    public static function sample(): BriefingSuccessDescription {
        return new BriefingSuccessDescription(
         BriefingSuccessDescription::sampleDe()
        ,BriefingSuccessDescription::sampleEn()
        ,BriefingSuccessDescription::sampleEs()
        ,BriefingSuccessDescription::sampleFr()
        ,BriefingSuccessDescription::sampleJa()
        ,BriefingSuccessDescription::sampleKo()
        ,BriefingSuccessDescription::sampleRu()
        ,BriefingSuccessDescription::sampleZh()
        );
    }
}

// This is a autogenerated file:BriefingSuccessHeader

class BriefingSuccessHeader {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (BriefingSuccessHeader::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (BriefingSuccessHeader::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe BriefingSuccessHeader::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'BriefingSuccessHeader::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (BriefingSuccessHeader::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (BriefingSuccessHeader::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn BriefingSuccessHeader::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'BriefingSuccessHeader::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (BriefingSuccessHeader::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (BriefingSuccessHeader::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs BriefingSuccessHeader::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'BriefingSuccessHeader::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (BriefingSuccessHeader::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (BriefingSuccessHeader::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr BriefingSuccessHeader::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'BriefingSuccessHeader::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (BriefingSuccessHeader::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (BriefingSuccessHeader::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa BriefingSuccessHeader::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'BriefingSuccessHeader::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (BriefingSuccessHeader::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (BriefingSuccessHeader::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo BriefingSuccessHeader::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'BriefingSuccessHeader::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (BriefingSuccessHeader::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (BriefingSuccessHeader::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu BriefingSuccessHeader::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'BriefingSuccessHeader::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (BriefingSuccessHeader::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this BriefingSuccessHeader::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:BriefingSuccessHeader::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (BriefingSuccessHeader::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh BriefingSuccessHeader::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'BriefingSuccessHeader::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return BriefingSuccessHeader::validateDe($this->de)
        || BriefingSuccessHeader::validateEn($this->en)
        || BriefingSuccessHeader::validateEs($this->es)
        || BriefingSuccessHeader::validateFr($this->fr)
        || BriefingSuccessHeader::validateJa($this->ja)
        || BriefingSuccessHeader::validateKo($this->ko)
        || BriefingSuccessHeader::validateRu($this->ru)
        || BriefingSuccessHeader::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return BriefingSuccessHeader
     * @throws Exception
     */
    public static function from(stdClass $obj): BriefingSuccessHeader {
        return new BriefingSuccessHeader(
         BriefingSuccessHeader::fromDe($obj->{'de'})
        ,BriefingSuccessHeader::fromEn($obj->{'en'})
        ,BriefingSuccessHeader::fromEs($obj->{'es'})
        ,BriefingSuccessHeader::fromFr($obj->{'fr'})
        ,BriefingSuccessHeader::fromJa($obj->{'ja'})
        ,BriefingSuccessHeader::fromKo($obj->{'ko'})
        ,BriefingSuccessHeader::fromRu($obj->{'ru'})
        ,BriefingSuccessHeader::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return BriefingSuccessHeader
     */
    public static function sample(): BriefingSuccessHeader {
        return new BriefingSuccessHeader(
         BriefingSuccessHeader::sampleDe()
        ,BriefingSuccessHeader::sampleEn()
        ,BriefingSuccessHeader::sampleEs()
        ,BriefingSuccessHeader::sampleFr()
        ,BriefingSuccessHeader::sampleJa()
        ,BriefingSuccessHeader::sampleKo()
        ,BriefingSuccessHeader::sampleRu()
        ,BriefingSuccessHeader::sampleZh()
        );
    }
}

// This is a autogenerated file:FinishedCampaignEnded

class FinishedCampaignEnded {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (FinishedCampaignEnded::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (FinishedCampaignEnded::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe FinishedCampaignEnded::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'FinishedCampaignEnded::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (FinishedCampaignEnded::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (FinishedCampaignEnded::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn FinishedCampaignEnded::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'FinishedCampaignEnded::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (FinishedCampaignEnded::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (FinishedCampaignEnded::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs FinishedCampaignEnded::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'FinishedCampaignEnded::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (FinishedCampaignEnded::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (FinishedCampaignEnded::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr FinishedCampaignEnded::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'FinishedCampaignEnded::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (FinishedCampaignEnded::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (FinishedCampaignEnded::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa FinishedCampaignEnded::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'FinishedCampaignEnded::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (FinishedCampaignEnded::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (FinishedCampaignEnded::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo FinishedCampaignEnded::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'FinishedCampaignEnded::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (FinishedCampaignEnded::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (FinishedCampaignEnded::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu FinishedCampaignEnded::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'FinishedCampaignEnded::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (FinishedCampaignEnded::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this FinishedCampaignEnded::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedCampaignEnded::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (FinishedCampaignEnded::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh FinishedCampaignEnded::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'FinishedCampaignEnded::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return FinishedCampaignEnded::validateDe($this->de)
        || FinishedCampaignEnded::validateEn($this->en)
        || FinishedCampaignEnded::validateEs($this->es)
        || FinishedCampaignEnded::validateFr($this->fr)
        || FinishedCampaignEnded::validateJa($this->ja)
        || FinishedCampaignEnded::validateKo($this->ko)
        || FinishedCampaignEnded::validateRu($this->ru)
        || FinishedCampaignEnded::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return FinishedCampaignEnded
     * @throws Exception
     */
    public static function from(stdClass $obj): FinishedCampaignEnded {
        return new FinishedCampaignEnded(
         FinishedCampaignEnded::fromDe($obj->{'de'})
        ,FinishedCampaignEnded::fromEn($obj->{'en'})
        ,FinishedCampaignEnded::fromEs($obj->{'es'})
        ,FinishedCampaignEnded::fromFr($obj->{'fr'})
        ,FinishedCampaignEnded::fromJa($obj->{'ja'})
        ,FinishedCampaignEnded::fromKo($obj->{'ko'})
        ,FinishedCampaignEnded::fromRu($obj->{'ru'})
        ,FinishedCampaignEnded::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return FinishedCampaignEnded
     */
    public static function sample(): FinishedCampaignEnded {
        return new FinishedCampaignEnded(
         FinishedCampaignEnded::sampleDe()
        ,FinishedCampaignEnded::sampleEn()
        ,FinishedCampaignEnded::sampleEs()
        ,FinishedCampaignEnded::sampleFr()
        ,FinishedCampaignEnded::sampleJa()
        ,FinishedCampaignEnded::sampleKo()
        ,FinishedCampaignEnded::sampleRu()
        ,FinishedCampaignEnded::sampleZh()
        );
    }
}

// This is a autogenerated file:FinishedFailureDescription

class FinishedFailureDescription {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (FinishedFailureDescription::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (FinishedFailureDescription::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe FinishedFailureDescription::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'FinishedFailureDescription::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (FinishedFailureDescription::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (FinishedFailureDescription::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn FinishedFailureDescription::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'FinishedFailureDescription::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (FinishedFailureDescription::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (FinishedFailureDescription::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs FinishedFailureDescription::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'FinishedFailureDescription::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (FinishedFailureDescription::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (FinishedFailureDescription::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr FinishedFailureDescription::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'FinishedFailureDescription::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (FinishedFailureDescription::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (FinishedFailureDescription::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa FinishedFailureDescription::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'FinishedFailureDescription::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (FinishedFailureDescription::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (FinishedFailureDescription::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo FinishedFailureDescription::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'FinishedFailureDescription::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (FinishedFailureDescription::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (FinishedFailureDescription::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu FinishedFailureDescription::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'FinishedFailureDescription::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (FinishedFailureDescription::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this FinishedFailureDescription::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedFailureDescription::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (FinishedFailureDescription::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh FinishedFailureDescription::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'FinishedFailureDescription::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return FinishedFailureDescription::validateDe($this->de)
        || FinishedFailureDescription::validateEn($this->en)
        || FinishedFailureDescription::validateEs($this->es)
        || FinishedFailureDescription::validateFr($this->fr)
        || FinishedFailureDescription::validateJa($this->ja)
        || FinishedFailureDescription::validateKo($this->ko)
        || FinishedFailureDescription::validateRu($this->ru)
        || FinishedFailureDescription::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return FinishedFailureDescription
     * @throws Exception
     */
    public static function from(stdClass $obj): FinishedFailureDescription {
        return new FinishedFailureDescription(
         FinishedFailureDescription::fromDe($obj->{'de'})
        ,FinishedFailureDescription::fromEn($obj->{'en'})
        ,FinishedFailureDescription::fromEs($obj->{'es'})
        ,FinishedFailureDescription::fromFr($obj->{'fr'})
        ,FinishedFailureDescription::fromJa($obj->{'ja'})
        ,FinishedFailureDescription::fromKo($obj->{'ko'})
        ,FinishedFailureDescription::fromRu($obj->{'ru'})
        ,FinishedFailureDescription::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return FinishedFailureDescription
     */
    public static function sample(): FinishedFailureDescription {
        return new FinishedFailureDescription(
         FinishedFailureDescription::sampleDe()
        ,FinishedFailureDescription::sampleEn()
        ,FinishedFailureDescription::sampleEs()
        ,FinishedFailureDescription::sampleFr()
        ,FinishedFailureDescription::sampleJa()
        ,FinishedFailureDescription::sampleKo()
        ,FinishedFailureDescription::sampleRu()
        ,FinishedFailureDescription::sampleZh()
        );
    }
}

// This is a autogenerated file:FinishedResolutionStateFailure

class FinishedResolutionStateFailure {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (FinishedResolutionStateFailure::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (FinishedResolutionStateFailure::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe FinishedResolutionStateFailure::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'FinishedResolutionStateFailure::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (FinishedResolutionStateFailure::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (FinishedResolutionStateFailure::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn FinishedResolutionStateFailure::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'FinishedResolutionStateFailure::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (FinishedResolutionStateFailure::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (FinishedResolutionStateFailure::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs FinishedResolutionStateFailure::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'FinishedResolutionStateFailure::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (FinishedResolutionStateFailure::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (FinishedResolutionStateFailure::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr FinishedResolutionStateFailure::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'FinishedResolutionStateFailure::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (FinishedResolutionStateFailure::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (FinishedResolutionStateFailure::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa FinishedResolutionStateFailure::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'FinishedResolutionStateFailure::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (FinishedResolutionStateFailure::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (FinishedResolutionStateFailure::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo FinishedResolutionStateFailure::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'FinishedResolutionStateFailure::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (FinishedResolutionStateFailure::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (FinishedResolutionStateFailure::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu FinishedResolutionStateFailure::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'FinishedResolutionStateFailure::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (FinishedResolutionStateFailure::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateFailure::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateFailure::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (FinishedResolutionStateFailure::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh FinishedResolutionStateFailure::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'FinishedResolutionStateFailure::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return FinishedResolutionStateFailure::validateDe($this->de)
        || FinishedResolutionStateFailure::validateEn($this->en)
        || FinishedResolutionStateFailure::validateEs($this->es)
        || FinishedResolutionStateFailure::validateFr($this->fr)
        || FinishedResolutionStateFailure::validateJa($this->ja)
        || FinishedResolutionStateFailure::validateKo($this->ko)
        || FinishedResolutionStateFailure::validateRu($this->ru)
        || FinishedResolutionStateFailure::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return FinishedResolutionStateFailure
     * @throws Exception
     */
    public static function from(stdClass $obj): FinishedResolutionStateFailure {
        return new FinishedResolutionStateFailure(
         FinishedResolutionStateFailure::fromDe($obj->{'de'})
        ,FinishedResolutionStateFailure::fromEn($obj->{'en'})
        ,FinishedResolutionStateFailure::fromEs($obj->{'es'})
        ,FinishedResolutionStateFailure::fromFr($obj->{'fr'})
        ,FinishedResolutionStateFailure::fromJa($obj->{'ja'})
        ,FinishedResolutionStateFailure::fromKo($obj->{'ko'})
        ,FinishedResolutionStateFailure::fromRu($obj->{'ru'})
        ,FinishedResolutionStateFailure::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return FinishedResolutionStateFailure
     */
    public static function sample(): FinishedResolutionStateFailure {
        return new FinishedResolutionStateFailure(
         FinishedResolutionStateFailure::sampleDe()
        ,FinishedResolutionStateFailure::sampleEn()
        ,FinishedResolutionStateFailure::sampleEs()
        ,FinishedResolutionStateFailure::sampleFr()
        ,FinishedResolutionStateFailure::sampleJa()
        ,FinishedResolutionStateFailure::sampleKo()
        ,FinishedResolutionStateFailure::sampleRu()
        ,FinishedResolutionStateFailure::sampleZh()
        );
    }
}

// This is a autogenerated file:FinishedResolutionStateSuccess

class FinishedResolutionStateSuccess {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (FinishedResolutionStateSuccess::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (FinishedResolutionStateSuccess::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe FinishedResolutionStateSuccess::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'FinishedResolutionStateSuccess::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (FinishedResolutionStateSuccess::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (FinishedResolutionStateSuccess::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn FinishedResolutionStateSuccess::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'FinishedResolutionStateSuccess::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (FinishedResolutionStateSuccess::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (FinishedResolutionStateSuccess::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs FinishedResolutionStateSuccess::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'FinishedResolutionStateSuccess::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (FinishedResolutionStateSuccess::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (FinishedResolutionStateSuccess::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr FinishedResolutionStateSuccess::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'FinishedResolutionStateSuccess::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (FinishedResolutionStateSuccess::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (FinishedResolutionStateSuccess::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa FinishedResolutionStateSuccess::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'FinishedResolutionStateSuccess::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (FinishedResolutionStateSuccess::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (FinishedResolutionStateSuccess::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo FinishedResolutionStateSuccess::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'FinishedResolutionStateSuccess::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (FinishedResolutionStateSuccess::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (FinishedResolutionStateSuccess::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu FinishedResolutionStateSuccess::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'FinishedResolutionStateSuccess::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (FinishedResolutionStateSuccess::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this FinishedResolutionStateSuccess::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedResolutionStateSuccess::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (FinishedResolutionStateSuccess::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh FinishedResolutionStateSuccess::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'FinishedResolutionStateSuccess::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return FinishedResolutionStateSuccess::validateDe($this->de)
        || FinishedResolutionStateSuccess::validateEn($this->en)
        || FinishedResolutionStateSuccess::validateEs($this->es)
        || FinishedResolutionStateSuccess::validateFr($this->fr)
        || FinishedResolutionStateSuccess::validateJa($this->ja)
        || FinishedResolutionStateSuccess::validateKo($this->ko)
        || FinishedResolutionStateSuccess::validateRu($this->ru)
        || FinishedResolutionStateSuccess::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return FinishedResolutionStateSuccess
     * @throws Exception
     */
    public static function from(stdClass $obj): FinishedResolutionStateSuccess {
        return new FinishedResolutionStateSuccess(
         FinishedResolutionStateSuccess::fromDe($obj->{'de'})
        ,FinishedResolutionStateSuccess::fromEn($obj->{'en'})
        ,FinishedResolutionStateSuccess::fromEs($obj->{'es'})
        ,FinishedResolutionStateSuccess::fromFr($obj->{'fr'})
        ,FinishedResolutionStateSuccess::fromJa($obj->{'ja'})
        ,FinishedResolutionStateSuccess::fromKo($obj->{'ko'})
        ,FinishedResolutionStateSuccess::fromRu($obj->{'ru'})
        ,FinishedResolutionStateSuccess::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return FinishedResolutionStateSuccess
     */
    public static function sample(): FinishedResolutionStateSuccess {
        return new FinishedResolutionStateSuccess(
         FinishedResolutionStateSuccess::sampleDe()
        ,FinishedResolutionStateSuccess::sampleEn()
        ,FinishedResolutionStateSuccess::sampleEs()
        ,FinishedResolutionStateSuccess::sampleFr()
        ,FinishedResolutionStateSuccess::sampleJa()
        ,FinishedResolutionStateSuccess::sampleKo()
        ,FinishedResolutionStateSuccess::sampleRu()
        ,FinishedResolutionStateSuccess::sampleZh()
        );
    }
}

// This is a autogenerated file:FinishedSuccessDescription

class FinishedSuccessDescription {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (FinishedSuccessDescription::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (FinishedSuccessDescription::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe FinishedSuccessDescription::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'FinishedSuccessDescription::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (FinishedSuccessDescription::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (FinishedSuccessDescription::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn FinishedSuccessDescription::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'FinishedSuccessDescription::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (FinishedSuccessDescription::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (FinishedSuccessDescription::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs FinishedSuccessDescription::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'FinishedSuccessDescription::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (FinishedSuccessDescription::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (FinishedSuccessDescription::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr FinishedSuccessDescription::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'FinishedSuccessDescription::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (FinishedSuccessDescription::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (FinishedSuccessDescription::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa FinishedSuccessDescription::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'FinishedSuccessDescription::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (FinishedSuccessDescription::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (FinishedSuccessDescription::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo FinishedSuccessDescription::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'FinishedSuccessDescription::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (FinishedSuccessDescription::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (FinishedSuccessDescription::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu FinishedSuccessDescription::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'FinishedSuccessDescription::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (FinishedSuccessDescription::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this FinishedSuccessDescription::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:FinishedSuccessDescription::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (FinishedSuccessDescription::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh FinishedSuccessDescription::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'FinishedSuccessDescription::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return FinishedSuccessDescription::validateDe($this->de)
        || FinishedSuccessDescription::validateEn($this->en)
        || FinishedSuccessDescription::validateEs($this->es)
        || FinishedSuccessDescription::validateFr($this->fr)
        || FinishedSuccessDescription::validateJa($this->ja)
        || FinishedSuccessDescription::validateKo($this->ko)
        || FinishedSuccessDescription::validateRu($this->ru)
        || FinishedSuccessDescription::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return FinishedSuccessDescription
     * @throws Exception
     */
    public static function from(stdClass $obj): FinishedSuccessDescription {
        return new FinishedSuccessDescription(
         FinishedSuccessDescription::fromDe($obj->{'de'})
        ,FinishedSuccessDescription::fromEn($obj->{'en'})
        ,FinishedSuccessDescription::fromEs($obj->{'es'})
        ,FinishedSuccessDescription::fromFr($obj->{'fr'})
        ,FinishedSuccessDescription::fromJa($obj->{'ja'})
        ,FinishedSuccessDescription::fromKo($obj->{'ko'})
        ,FinishedSuccessDescription::fromRu($obj->{'ru'})
        ,FinishedSuccessDescription::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return FinishedSuccessDescription
     */
    public static function sample(): FinishedSuccessDescription {
        return new FinishedSuccessDescription(
         FinishedSuccessDescription::sampleDe()
        ,FinishedSuccessDescription::sampleEn()
        ,FinishedSuccessDescription::sampleEs()
        ,FinishedSuccessDescription::sampleFr()
        ,FinishedSuccessDescription::sampleJa()
        ,FinishedSuccessDescription::sampleKo()
        ,FinishedSuccessDescription::sampleRu()
        ,FinishedSuccessDescription::sampleZh()
        );
    }
}

// This is a autogenerated file:MapHeader

class MapHeader {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapHeader::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapHeader::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapHeader::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapHeader::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapHeader::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapHeader::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapHeader::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapHeader::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapHeader::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapHeader::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapHeader::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapHeader::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapHeader::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapHeader::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapHeader::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapHeader::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapHeader::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapHeader::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapHeader::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapHeader::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapHeader::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapHeader::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapHeader::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapHeader::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapHeader::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapHeader::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapHeader::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapHeader::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapHeader::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapHeader::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapHeader::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapHeader::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapHeader::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapHeader::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapHeader::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapHeader::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapHeader::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapHeader::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapHeader::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapHeader::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapHeader::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapHeader::validateDe($this->de)
        || MapHeader::validateEn($this->en)
        || MapHeader::validateEs($this->es)
        || MapHeader::validateFr($this->fr)
        || MapHeader::validateJa($this->ja)
        || MapHeader::validateKo($this->ko)
        || MapHeader::validateRu($this->ru)
        || MapHeader::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapHeader
     * @throws Exception
     */
    public static function from(stdClass $obj): MapHeader {
        return new MapHeader(
         MapHeader::fromDe($obj->{'de'})
        ,MapHeader::fromEn($obj->{'en'})
        ,MapHeader::fromEs($obj->{'es'})
        ,MapHeader::fromFr($obj->{'fr'})
        ,MapHeader::fromJa($obj->{'ja'})
        ,MapHeader::fromKo($obj->{'ko'})
        ,MapHeader::fromRu($obj->{'ru'})
        ,MapHeader::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapHeader
     */
    public static function sample(): MapHeader {
        return new MapHeader(
         MapHeader::sampleDe()
        ,MapHeader::sampleEn()
        ,MapHeader::sampleEs()
        ,MapHeader::sampleFr()
        ,MapHeader::sampleJa()
        ,MapHeader::sampleKo()
        ,MapHeader::sampleRu()
        ,MapHeader::sampleZh()
        );
    }
}

// This is a autogenerated file:MapSection1Paragraph

class MapSection1Paragraph {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapSection1Paragraph::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapSection1Paragraph::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapSection1Paragraph::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapSection1Paragraph::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapSection1Paragraph::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapSection1Paragraph::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapSection1Paragraph::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapSection1Paragraph::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapSection1Paragraph::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapSection1Paragraph::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapSection1Paragraph::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapSection1Paragraph::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapSection1Paragraph::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapSection1Paragraph::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapSection1Paragraph::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapSection1Paragraph::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapSection1Paragraph::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapSection1Paragraph::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapSection1Paragraph::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapSection1Paragraph::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapSection1Paragraph::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapSection1Paragraph::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapSection1Paragraph::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapSection1Paragraph::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapSection1Paragraph::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapSection1Paragraph::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapSection1Paragraph::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapSection1Paragraph::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapSection1Paragraph::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapSection1Paragraph::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Paragraph::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapSection1Paragraph::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapSection1Paragraph::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapSection1Paragraph::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapSection1Paragraph::validateDe($this->de)
        || MapSection1Paragraph::validateEn($this->en)
        || MapSection1Paragraph::validateEs($this->es)
        || MapSection1Paragraph::validateFr($this->fr)
        || MapSection1Paragraph::validateJa($this->ja)
        || MapSection1Paragraph::validateKo($this->ko)
        || MapSection1Paragraph::validateRu($this->ru)
        || MapSection1Paragraph::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapSection1Paragraph
     * @throws Exception
     */
    public static function from(stdClass $obj): MapSection1Paragraph {
        return new MapSection1Paragraph(
         MapSection1Paragraph::fromDe($obj->{'de'})
        ,MapSection1Paragraph::fromEn($obj->{'en'})
        ,MapSection1Paragraph::fromEs($obj->{'es'})
        ,MapSection1Paragraph::fromFr($obj->{'fr'})
        ,MapSection1Paragraph::fromJa($obj->{'ja'})
        ,MapSection1Paragraph::fromKo($obj->{'ko'})
        ,MapSection1Paragraph::fromRu($obj->{'ru'})
        ,MapSection1Paragraph::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapSection1Paragraph
     */
    public static function sample(): MapSection1Paragraph {
        return new MapSection1Paragraph(
         MapSection1Paragraph::sampleDe()
        ,MapSection1Paragraph::sampleEn()
        ,MapSection1Paragraph::sampleEs()
        ,MapSection1Paragraph::sampleFr()
        ,MapSection1Paragraph::sampleJa()
        ,MapSection1Paragraph::sampleKo()
        ,MapSection1Paragraph::sampleRu()
        ,MapSection1Paragraph::sampleZh()
        );
    }
}

// This is a autogenerated file:MapSection1Title

class MapSection1Title {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapSection1Title::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapSection1Title::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapSection1Title::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapSection1Title::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapSection1Title::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapSection1Title::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapSection1Title::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapSection1Title::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapSection1Title::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapSection1Title::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapSection1Title::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapSection1Title::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapSection1Title::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapSection1Title::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapSection1Title::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapSection1Title::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapSection1Title::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapSection1Title::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapSection1Title::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapSection1Title::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapSection1Title::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapSection1Title::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapSection1Title::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapSection1Title::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapSection1Title::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapSection1Title::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapSection1Title::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapSection1Title::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapSection1Title::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapSection1Title::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection1Title::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapSection1Title::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapSection1Title::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapSection1Title::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapSection1Title::validateDe($this->de)
        || MapSection1Title::validateEn($this->en)
        || MapSection1Title::validateEs($this->es)
        || MapSection1Title::validateFr($this->fr)
        || MapSection1Title::validateJa($this->ja)
        || MapSection1Title::validateKo($this->ko)
        || MapSection1Title::validateRu($this->ru)
        || MapSection1Title::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapSection1Title
     * @throws Exception
     */
    public static function from(stdClass $obj): MapSection1Title {
        return new MapSection1Title(
         MapSection1Title::fromDe($obj->{'de'})
        ,MapSection1Title::fromEn($obj->{'en'})
        ,MapSection1Title::fromEs($obj->{'es'})
        ,MapSection1Title::fromFr($obj->{'fr'})
        ,MapSection1Title::fromJa($obj->{'ja'})
        ,MapSection1Title::fromKo($obj->{'ko'})
        ,MapSection1Title::fromRu($obj->{'ru'})
        ,MapSection1Title::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapSection1Title
     */
    public static function sample(): MapSection1Title {
        return new MapSection1Title(
         MapSection1Title::sampleDe()
        ,MapSection1Title::sampleEn()
        ,MapSection1Title::sampleEs()
        ,MapSection1Title::sampleFr()
        ,MapSection1Title::sampleJa()
        ,MapSection1Title::sampleKo()
        ,MapSection1Title::sampleRu()
        ,MapSection1Title::sampleZh()
        );
    }
}

// This is a autogenerated file:MapSection2Paragraph

class MapSection2Paragraph {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapSection2Paragraph::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapSection2Paragraph::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapSection2Paragraph::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapSection2Paragraph::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapSection2Paragraph::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapSection2Paragraph::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapSection2Paragraph::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapSection2Paragraph::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapSection2Paragraph::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapSection2Paragraph::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapSection2Paragraph::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapSection2Paragraph::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapSection2Paragraph::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapSection2Paragraph::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapSection2Paragraph::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapSection2Paragraph::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapSection2Paragraph::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapSection2Paragraph::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapSection2Paragraph::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapSection2Paragraph::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapSection2Paragraph::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapSection2Paragraph::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapSection2Paragraph::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapSection2Paragraph::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapSection2Paragraph::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapSection2Paragraph::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapSection2Paragraph::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapSection2Paragraph::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapSection2Paragraph::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapSection2Paragraph::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Paragraph::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapSection2Paragraph::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapSection2Paragraph::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapSection2Paragraph::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapSection2Paragraph::validateDe($this->de)
        || MapSection2Paragraph::validateEn($this->en)
        || MapSection2Paragraph::validateEs($this->es)
        || MapSection2Paragraph::validateFr($this->fr)
        || MapSection2Paragraph::validateJa($this->ja)
        || MapSection2Paragraph::validateKo($this->ko)
        || MapSection2Paragraph::validateRu($this->ru)
        || MapSection2Paragraph::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapSection2Paragraph
     * @throws Exception
     */
    public static function from(stdClass $obj): MapSection2Paragraph {
        return new MapSection2Paragraph(
         MapSection2Paragraph::fromDe($obj->{'de'})
        ,MapSection2Paragraph::fromEn($obj->{'en'})
        ,MapSection2Paragraph::fromEs($obj->{'es'})
        ,MapSection2Paragraph::fromFr($obj->{'fr'})
        ,MapSection2Paragraph::fromJa($obj->{'ja'})
        ,MapSection2Paragraph::fromKo($obj->{'ko'})
        ,MapSection2Paragraph::fromRu($obj->{'ru'})
        ,MapSection2Paragraph::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapSection2Paragraph
     */
    public static function sample(): MapSection2Paragraph {
        return new MapSection2Paragraph(
         MapSection2Paragraph::sampleDe()
        ,MapSection2Paragraph::sampleEn()
        ,MapSection2Paragraph::sampleEs()
        ,MapSection2Paragraph::sampleFr()
        ,MapSection2Paragraph::sampleJa()
        ,MapSection2Paragraph::sampleKo()
        ,MapSection2Paragraph::sampleRu()
        ,MapSection2Paragraph::sampleZh()
        );
    }
}

// This is a autogenerated file:MapSection2Title

class MapSection2Title {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapSection2Title::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapSection2Title::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapSection2Title::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapSection2Title::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapSection2Title::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapSection2Title::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapSection2Title::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapSection2Title::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapSection2Title::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapSection2Title::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapSection2Title::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapSection2Title::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapSection2Title::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapSection2Title::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapSection2Title::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapSection2Title::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapSection2Title::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapSection2Title::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapSection2Title::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapSection2Title::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapSection2Title::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapSection2Title::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapSection2Title::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapSection2Title::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapSection2Title::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapSection2Title::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapSection2Title::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapSection2Title::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapSection2Title::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapSection2Title::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection2Title::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapSection2Title::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapSection2Title::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapSection2Title::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapSection2Title::validateDe($this->de)
        || MapSection2Title::validateEn($this->en)
        || MapSection2Title::validateEs($this->es)
        || MapSection2Title::validateFr($this->fr)
        || MapSection2Title::validateJa($this->ja)
        || MapSection2Title::validateKo($this->ko)
        || MapSection2Title::validateRu($this->ru)
        || MapSection2Title::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapSection2Title
     * @throws Exception
     */
    public static function from(stdClass $obj): MapSection2Title {
        return new MapSection2Title(
         MapSection2Title::fromDe($obj->{'de'})
        ,MapSection2Title::fromEn($obj->{'en'})
        ,MapSection2Title::fromEs($obj->{'es'})
        ,MapSection2Title::fromFr($obj->{'fr'})
        ,MapSection2Title::fromJa($obj->{'ja'})
        ,MapSection2Title::fromKo($obj->{'ko'})
        ,MapSection2Title::fromRu($obj->{'ru'})
        ,MapSection2Title::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapSection2Title
     */
    public static function sample(): MapSection2Title {
        return new MapSection2Title(
         MapSection2Title::sampleDe()
        ,MapSection2Title::sampleEn()
        ,MapSection2Title::sampleEs()
        ,MapSection2Title::sampleFr()
        ,MapSection2Title::sampleJa()
        ,MapSection2Title::sampleKo()
        ,MapSection2Title::sampleRu()
        ,MapSection2Title::sampleZh()
        );
    }
}

// This is a autogenerated file:MapSection3Paragraph

class MapSection3Paragraph {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapSection3Paragraph::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapSection3Paragraph::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapSection3Paragraph::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapSection3Paragraph::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapSection3Paragraph::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapSection3Paragraph::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapSection3Paragraph::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapSection3Paragraph::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapSection3Paragraph::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapSection3Paragraph::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapSection3Paragraph::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapSection3Paragraph::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapSection3Paragraph::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapSection3Paragraph::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapSection3Paragraph::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapSection3Paragraph::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapSection3Paragraph::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapSection3Paragraph::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapSection3Paragraph::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapSection3Paragraph::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapSection3Paragraph::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapSection3Paragraph::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapSection3Paragraph::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapSection3Paragraph::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapSection3Paragraph::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapSection3Paragraph::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapSection3Paragraph::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapSection3Paragraph::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapSection3Paragraph::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapSection3Paragraph::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Paragraph::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapSection3Paragraph::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapSection3Paragraph::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapSection3Paragraph::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapSection3Paragraph::validateDe($this->de)
        || MapSection3Paragraph::validateEn($this->en)
        || MapSection3Paragraph::validateEs($this->es)
        || MapSection3Paragraph::validateFr($this->fr)
        || MapSection3Paragraph::validateJa($this->ja)
        || MapSection3Paragraph::validateKo($this->ko)
        || MapSection3Paragraph::validateRu($this->ru)
        || MapSection3Paragraph::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapSection3Paragraph
     * @throws Exception
     */
    public static function from(stdClass $obj): MapSection3Paragraph {
        return new MapSection3Paragraph(
         MapSection3Paragraph::fromDe($obj->{'de'})
        ,MapSection3Paragraph::fromEn($obj->{'en'})
        ,MapSection3Paragraph::fromEs($obj->{'es'})
        ,MapSection3Paragraph::fromFr($obj->{'fr'})
        ,MapSection3Paragraph::fromJa($obj->{'ja'})
        ,MapSection3Paragraph::fromKo($obj->{'ko'})
        ,MapSection3Paragraph::fromRu($obj->{'ru'})
        ,MapSection3Paragraph::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapSection3Paragraph
     */
    public static function sample(): MapSection3Paragraph {
        return new MapSection3Paragraph(
         MapSection3Paragraph::sampleDe()
        ,MapSection3Paragraph::sampleEn()
        ,MapSection3Paragraph::sampleEs()
        ,MapSection3Paragraph::sampleFr()
        ,MapSection3Paragraph::sampleJa()
        ,MapSection3Paragraph::sampleKo()
        ,MapSection3Paragraph::sampleRu()
        ,MapSection3Paragraph::sampleZh()
        );
    }
}

// This is a autogenerated file:MapSection3Title

class MapSection3Title {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapSection3Title::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapSection3Title::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapSection3Title::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapSection3Title::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapSection3Title::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapSection3Title::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapSection3Title::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapSection3Title::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapSection3Title::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapSection3Title::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapSection3Title::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapSection3Title::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapSection3Title::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapSection3Title::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapSection3Title::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapSection3Title::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapSection3Title::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapSection3Title::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapSection3Title::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapSection3Title::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapSection3Title::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapSection3Title::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapSection3Title::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapSection3Title::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapSection3Title::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapSection3Title::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapSection3Title::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapSection3Title::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapSection3Title::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapSection3Title::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSection3Title::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapSection3Title::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapSection3Title::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapSection3Title::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapSection3Title::validateDe($this->de)
        || MapSection3Title::validateEn($this->en)
        || MapSection3Title::validateEs($this->es)
        || MapSection3Title::validateFr($this->fr)
        || MapSection3Title::validateJa($this->ja)
        || MapSection3Title::validateKo($this->ko)
        || MapSection3Title::validateRu($this->ru)
        || MapSection3Title::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapSection3Title
     * @throws Exception
     */
    public static function from(stdClass $obj): MapSection3Title {
        return new MapSection3Title(
         MapSection3Title::fromDe($obj->{'de'})
        ,MapSection3Title::fromEn($obj->{'en'})
        ,MapSection3Title::fromEs($obj->{'es'})
        ,MapSection3Title::fromFr($obj->{'fr'})
        ,MapSection3Title::fromJa($obj->{'ja'})
        ,MapSection3Title::fromKo($obj->{'ko'})
        ,MapSection3Title::fromRu($obj->{'ru'})
        ,MapSection3Title::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapSection3Title
     */
    public static function sample(): MapSection3Title {
        return new MapSection3Title(
         MapSection3Title::sampleDe()
        ,MapSection3Title::sampleEn()
        ,MapSection3Title::sampleEs()
        ,MapSection3Title::sampleFr()
        ,MapSection3Title::sampleJa()
        ,MapSection3Title::sampleKo()
        ,MapSection3Title::sampleRu()
        ,MapSection3Title::sampleZh()
        );
    }
}

// This is a autogenerated file:MapSubheader

class MapSubheader {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapSubheader::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapSubheader::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapSubheader::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapSubheader::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapSubheader::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapSubheader::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapSubheader::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapSubheader::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapSubheader::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapSubheader::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapSubheader::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapSubheader::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapSubheader::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapSubheader::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapSubheader::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapSubheader::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapSubheader::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapSubheader::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapSubheader::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapSubheader::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapSubheader::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapSubheader::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapSubheader::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapSubheader::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapSubheader::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapSubheader::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapSubheader::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapSubheader::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapSubheader::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapSubheader::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapSubheader::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapSubheader::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapSubheader::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapSubheader::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapSubheader::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapSubheader::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapSubheader::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapSubheader::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapSubheader::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapSubheader::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapSubheader::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapSubheader::validateDe($this->de)
        || MapSubheader::validateEn($this->en)
        || MapSubheader::validateEs($this->es)
        || MapSubheader::validateFr($this->fr)
        || MapSubheader::validateJa($this->ja)
        || MapSubheader::validateKo($this->ko)
        || MapSubheader::validateRu($this->ru)
        || MapSubheader::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapSubheader
     * @throws Exception
     */
    public static function from(stdClass $obj): MapSubheader {
        return new MapSubheader(
         MapSubheader::fromDe($obj->{'de'})
        ,MapSubheader::fromEn($obj->{'en'})
        ,MapSubheader::fromEs($obj->{'es'})
        ,MapSubheader::fromFr($obj->{'fr'})
        ,MapSubheader::fromJa($obj->{'ja'})
        ,MapSubheader::fromKo($obj->{'ko'})
        ,MapSubheader::fromRu($obj->{'ru'})
        ,MapSubheader::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapSubheader
     */
    public static function sample(): MapSubheader {
        return new MapSubheader(
         MapSubheader::sampleDe()
        ,MapSubheader::sampleEn()
        ,MapSubheader::sampleEs()
        ,MapSubheader::sampleFr()
        ,MapSubheader::sampleJa()
        ,MapSubheader::sampleKo()
        ,MapSubheader::sampleRu()
        ,MapSubheader::sampleZh()
        );
    }
}

// This is a autogenerated file:MapTitle

class MapTitle {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (MapTitle::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this MapTitle::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (MapTitle::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe MapTitle::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'MapTitle::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (MapTitle::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this MapTitle::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (MapTitle::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn MapTitle::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'MapTitle::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (MapTitle::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this MapTitle::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (MapTitle::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs MapTitle::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'MapTitle::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (MapTitle::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this MapTitle::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (MapTitle::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr MapTitle::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'MapTitle::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (MapTitle::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this MapTitle::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (MapTitle::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa MapTitle::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'MapTitle::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (MapTitle::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this MapTitle::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (MapTitle::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo MapTitle::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'MapTitle::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (MapTitle::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this MapTitle::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (MapTitle::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu MapTitle::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'MapTitle::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (MapTitle::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this MapTitle::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:MapTitle::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (MapTitle::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh MapTitle::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'MapTitle::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return MapTitle::validateDe($this->de)
        || MapTitle::validateEn($this->en)
        || MapTitle::validateEs($this->es)
        || MapTitle::validateFr($this->fr)
        || MapTitle::validateJa($this->ja)
        || MapTitle::validateKo($this->ko)
        || MapTitle::validateRu($this->ru)
        || MapTitle::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return MapTitle
     * @throws Exception
     */
    public static function from(stdClass $obj): MapTitle {
        return new MapTitle(
         MapTitle::fromDe($obj->{'de'})
        ,MapTitle::fromEn($obj->{'en'})
        ,MapTitle::fromEs($obj->{'es'})
        ,MapTitle::fromFr($obj->{'fr'})
        ,MapTitle::fromJa($obj->{'ja'})
        ,MapTitle::fromKo($obj->{'ko'})
        ,MapTitle::fromRu($obj->{'ru'})
        ,MapTitle::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return MapTitle
     */
    public static function sample(): MapTitle {
        return new MapTitle(
         MapTitle::sampleDe()
        ,MapTitle::sampleEn()
        ,MapTitle::sampleEs()
        ,MapTitle::sampleFr()
        ,MapTitle::sampleJa()
        ,MapTitle::sampleKo()
        ,MapTitle::sampleRu()
        ,MapTitle::sampleZh()
        );
    }
}

// This is a autogenerated file:PresentingCharacterName

class PresentingCharacterName {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (PresentingCharacterName::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (PresentingCharacterName::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe PresentingCharacterName::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'PresentingCharacterName::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (PresentingCharacterName::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (PresentingCharacterName::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn PresentingCharacterName::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'PresentingCharacterName::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (PresentingCharacterName::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (PresentingCharacterName::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs PresentingCharacterName::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'PresentingCharacterName::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (PresentingCharacterName::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (PresentingCharacterName::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr PresentingCharacterName::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'PresentingCharacterName::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (PresentingCharacterName::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (PresentingCharacterName::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa PresentingCharacterName::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'PresentingCharacterName::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (PresentingCharacterName::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (PresentingCharacterName::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo PresentingCharacterName::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'PresentingCharacterName::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (PresentingCharacterName::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (PresentingCharacterName::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu PresentingCharacterName::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'PresentingCharacterName::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (PresentingCharacterName::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterName::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterName::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (PresentingCharacterName::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh PresentingCharacterName::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'PresentingCharacterName::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return PresentingCharacterName::validateDe($this->de)
        || PresentingCharacterName::validateEn($this->en)
        || PresentingCharacterName::validateEs($this->es)
        || PresentingCharacterName::validateFr($this->fr)
        || PresentingCharacterName::validateJa($this->ja)
        || PresentingCharacterName::validateKo($this->ko)
        || PresentingCharacterName::validateRu($this->ru)
        || PresentingCharacterName::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return PresentingCharacterName
     * @throws Exception
     */
    public static function from(stdClass $obj): PresentingCharacterName {
        return new PresentingCharacterName(
         PresentingCharacterName::fromDe($obj->{'de'})
        ,PresentingCharacterName::fromEn($obj->{'en'})
        ,PresentingCharacterName::fromEs($obj->{'es'})
        ,PresentingCharacterName::fromFr($obj->{'fr'})
        ,PresentingCharacterName::fromJa($obj->{'ja'})
        ,PresentingCharacterName::fromKo($obj->{'ko'})
        ,PresentingCharacterName::fromRu($obj->{'ru'})
        ,PresentingCharacterName::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return PresentingCharacterName
     */
    public static function sample(): PresentingCharacterName {
        return new PresentingCharacterName(
         PresentingCharacterName::sampleDe()
        ,PresentingCharacterName::sampleEn()
        ,PresentingCharacterName::sampleEs()
        ,PresentingCharacterName::sampleFr()
        ,PresentingCharacterName::sampleJa()
        ,PresentingCharacterName::sampleKo()
        ,PresentingCharacterName::sampleRu()
        ,PresentingCharacterName::sampleZh()
        );
    }
}

// This is a autogenerated file:PresentingCharacterSubtitle

class PresentingCharacterSubtitle {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (PresentingCharacterSubtitle::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (PresentingCharacterSubtitle::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe PresentingCharacterSubtitle::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'PresentingCharacterSubtitle::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (PresentingCharacterSubtitle::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (PresentingCharacterSubtitle::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn PresentingCharacterSubtitle::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'PresentingCharacterSubtitle::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (PresentingCharacterSubtitle::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (PresentingCharacterSubtitle::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs PresentingCharacterSubtitle::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'PresentingCharacterSubtitle::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (PresentingCharacterSubtitle::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (PresentingCharacterSubtitle::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr PresentingCharacterSubtitle::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'PresentingCharacterSubtitle::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (PresentingCharacterSubtitle::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (PresentingCharacterSubtitle::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa PresentingCharacterSubtitle::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'PresentingCharacterSubtitle::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (PresentingCharacterSubtitle::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (PresentingCharacterSubtitle::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo PresentingCharacterSubtitle::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'PresentingCharacterSubtitle::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (PresentingCharacterSubtitle::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (PresentingCharacterSubtitle::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu PresentingCharacterSubtitle::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'PresentingCharacterSubtitle::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (PresentingCharacterSubtitle::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this PresentingCharacterSubtitle::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:PresentingCharacterSubtitle::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (PresentingCharacterSubtitle::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh PresentingCharacterSubtitle::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'PresentingCharacterSubtitle::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return PresentingCharacterSubtitle::validateDe($this->de)
        || PresentingCharacterSubtitle::validateEn($this->en)
        || PresentingCharacterSubtitle::validateEs($this->es)
        || PresentingCharacterSubtitle::validateFr($this->fr)
        || PresentingCharacterSubtitle::validateJa($this->ja)
        || PresentingCharacterSubtitle::validateKo($this->ko)
        || PresentingCharacterSubtitle::validateRu($this->ru)
        || PresentingCharacterSubtitle::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return PresentingCharacterSubtitle
     * @throws Exception
     */
    public static function from(stdClass $obj): PresentingCharacterSubtitle {
        return new PresentingCharacterSubtitle(
         PresentingCharacterSubtitle::fromDe($obj->{'de'})
        ,PresentingCharacterSubtitle::fromEn($obj->{'en'})
        ,PresentingCharacterSubtitle::fromEs($obj->{'es'})
        ,PresentingCharacterSubtitle::fromFr($obj->{'fr'})
        ,PresentingCharacterSubtitle::fromJa($obj->{'ja'})
        ,PresentingCharacterSubtitle::fromKo($obj->{'ko'})
        ,PresentingCharacterSubtitle::fromRu($obj->{'ru'})
        ,PresentingCharacterSubtitle::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return PresentingCharacterSubtitle
     */
    public static function sample(): PresentingCharacterSubtitle {
        return new PresentingCharacterSubtitle(
         PresentingCharacterSubtitle::sampleDe()
        ,PresentingCharacterSubtitle::sampleEn()
        ,PresentingCharacterSubtitle::sampleEs()
        ,PresentingCharacterSubtitle::sampleFr()
        ,PresentingCharacterSubtitle::sampleJa()
        ,PresentingCharacterSubtitle::sampleKo()
        ,PresentingCharacterSubtitle::sampleRu()
        ,PresentingCharacterSubtitle::sampleZh()
        );
    }
}

// This is a autogenerated file:Race

class Race {
    public static Race $AMARR;
    public static Race $CALDARI;
    public static Race $GALLENTE;
    public static Race $MINMATAR;
    public static function init() {
        Race::$AMARR = new Race('amarr');
        Race::$CALDARI = new Race('caldari');
        Race::$GALLENTE = new Race('gallente');
        Race::$MINMATAR = new Race('minmatar');
    }
    private string $enum;
    public function __construct(string $enum) {
        $this->enum = $enum;
    }

    /**
     * @param Race
     * @return string
     * @throws Exception
     */
    public static function to(Race $obj): string {
        switch ($obj->enum) {
            case Race::$AMARR->enum: return 'amarr';
            case Race::$CALDARI->enum: return 'caldari';
            case Race::$GALLENTE->enum: return 'gallente';
            case Race::$MINMATAR->enum: return 'minmatar';
        }
        throw new Exception('the give value is not an enum-value.');
    }

    /**
     * @param mixed
     * @return Race
     * @throws Exception
     */
    public static function from($obj): Race {
        switch ($obj) {
            case 'amarr': return Race::$AMARR;
            case 'caldari': return Race::$CALDARI;
            case 'gallente': return Race::$GALLENTE;
            case 'minmatar': return Race::$MINMATAR;
        }
        throw new Exception("Cannot deserialize Race");
    }

    /**
     * @return Race
     */
    public static function sample(): Race {
        return Race::$AMARR;
    }
}
Race::init();

// This is a autogenerated file:Issuer

class Issuer {
    private int $factionId; // json:factionID Required

    /**
     * @param int $factionId
     */
    public function __construct(int $factionId) {
        $this->factionId = $factionId;
    }

    /**
     * @param int $value
     * @throws Exception
     * @return int
     */
    public static function fromFactionId(int $value): int {
        return $value; /*int*/
    }

    /**
     * @throws Exception
     * @return int
     */
    public function toFactionId(): int {
        if (Issuer::validateFactionId($this->factionId))  {
            return $this->factionId; /*int*/
        }
        throw new Exception('never get to this Issuer::factionId');
    }

    /**
     * @param int
     * @return bool
     * @throws Exception
     */
    public static function validateFactionId(int $value): bool {
        if (!is_integer($value)) {
            throw new Exception("Attribute Error:Issuer::factionId");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return int
     */
    public function getFactionId(): int {
        if (Issuer::validateFactionId($this->factionId))  {
            return $this->factionId;
        }
        throw new Exception('never get to getFactionId Issuer::factionId');
    }

    /**
     * @return int
     */
    public static function sampleFactionId(): int {
        return 31; /*31:factionId*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return Issuer::validateFactionId($this->factionId);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'factionID'} = $this->toFactionId();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return Issuer
     * @throws Exception
     */
    public static function from(stdClass $obj): Issuer {
        return new Issuer(
         Issuer::fromFactionId($obj->{'factionID'})
        );
    }

    /**
     * @return Issuer
     */
    public static function sample(): Issuer {
        return new Issuer(
         Issuer::sampleFactionId()
        );
    }
}

// This is a autogenerated file:Subtitle

class Subtitle {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (Subtitle::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this Subtitle::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (Subtitle::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe Subtitle::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'Subtitle::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (Subtitle::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this Subtitle::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (Subtitle::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn Subtitle::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'Subtitle::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (Subtitle::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this Subtitle::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (Subtitle::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs Subtitle::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'Subtitle::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (Subtitle::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this Subtitle::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (Subtitle::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr Subtitle::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'Subtitle::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (Subtitle::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this Subtitle::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (Subtitle::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa Subtitle::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'Subtitle::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (Subtitle::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this Subtitle::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (Subtitle::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo Subtitle::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'Subtitle::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (Subtitle::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this Subtitle::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (Subtitle::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu Subtitle::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'Subtitle::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (Subtitle::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this Subtitle::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Subtitle::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (Subtitle::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh Subtitle::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'Subtitle::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return Subtitle::validateDe($this->de)
        || Subtitle::validateEn($this->en)
        || Subtitle::validateEs($this->es)
        || Subtitle::validateFr($this->fr)
        || Subtitle::validateJa($this->ja)
        || Subtitle::validateKo($this->ko)
        || Subtitle::validateRu($this->ru)
        || Subtitle::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return Subtitle
     * @throws Exception
     */
    public static function from(stdClass $obj): Subtitle {
        return new Subtitle(
         Subtitle::fromDe($obj->{'de'})
        ,Subtitle::fromEn($obj->{'en'})
        ,Subtitle::fromEs($obj->{'es'})
        ,Subtitle::fromFr($obj->{'fr'})
        ,Subtitle::fromJa($obj->{'ja'})
        ,Subtitle::fromKo($obj->{'ko'})
        ,Subtitle::fromRu($obj->{'ru'})
        ,Subtitle::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return Subtitle
     */
    public static function sample(): Subtitle {
        return new Subtitle(
         Subtitle::sampleDe()
        ,Subtitle::sampleEn()
        ,Subtitle::sampleEs()
        ,Subtitle::sampleFr()
        ,Subtitle::sampleJa()
        ,Subtitle::sampleKo()
        ,Subtitle::sampleRu()
        ,Subtitle::sampleZh()
        );
    }
}

// This is a autogenerated file:Title

class Title {
    private string $de; // json:de Required
    private string $en; // json:en Required
    private string $es; // json:es Required
    private string $fr; // json:fr Required
    private string $ja; // json:ja Required
    private string $ko; // json:ko Required
    private string $ru; // json:ru Required
    private string $zh; // json:zh Required

    /**
     * @param string $de
     * @param string $en
     * @param string $es
     * @param string $fr
     * @param string $ja
     * @param string $ko
     * @param string $ru
     * @param string $zh
     */
    public function __construct(string $de, string $en, string $es, string $fr, string $ja, string $ko, string $ru, string $zh) {
        $this->de = $de;
        $this->en = $en;
        $this->es = $es;
        $this->fr = $fr;
        $this->ja = $ja;
        $this->ko = $ko;
        $this->ru = $ru;
        $this->zh = $zh;
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromDe(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toDe(): string {
        if (Title::validateDe($this->de))  {
            return $this->de; /*string*/
        }
        throw new Exception('never get to this Title::de');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateDe(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::de");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getDe(): string {
        if (Title::validateDe($this->de))  {
            return $this->de;
        }
        throw new Exception('never get to getDe Title::de');
    }

    /**
     * @return string
     */
    public static function sampleDe(): string {
        return 'Title::de::31'; /*31:de*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEn(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEn(): string {
        if (Title::validateEn($this->en))  {
            return $this->en; /*string*/
        }
        throw new Exception('never get to this Title::en');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEn(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::en");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEn(): string {
        if (Title::validateEn($this->en))  {
            return $this->en;
        }
        throw new Exception('never get to getEn Title::en');
    }

    /**
     * @return string
     */
    public static function sampleEn(): string {
        return 'Title::en::32'; /*32:en*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromEs(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toEs(): string {
        if (Title::validateEs($this->es))  {
            return $this->es; /*string*/
        }
        throw new Exception('never get to this Title::es');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateEs(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::es");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getEs(): string {
        if (Title::validateEs($this->es))  {
            return $this->es;
        }
        throw new Exception('never get to getEs Title::es');
    }

    /**
     * @return string
     */
    public static function sampleEs(): string {
        return 'Title::es::33'; /*33:es*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromFr(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toFr(): string {
        if (Title::validateFr($this->fr))  {
            return $this->fr; /*string*/
        }
        throw new Exception('never get to this Title::fr');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateFr(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::fr");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getFr(): string {
        if (Title::validateFr($this->fr))  {
            return $this->fr;
        }
        throw new Exception('never get to getFr Title::fr');
    }

    /**
     * @return string
     */
    public static function sampleFr(): string {
        return 'Title::fr::34'; /*34:fr*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromJa(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toJa(): string {
        if (Title::validateJa($this->ja))  {
            return $this->ja; /*string*/
        }
        throw new Exception('never get to this Title::ja');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateJa(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::ja");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getJa(): string {
        if (Title::validateJa($this->ja))  {
            return $this->ja;
        }
        throw new Exception('never get to getJa Title::ja');
    }

    /**
     * @return string
     */
    public static function sampleJa(): string {
        return 'Title::ja::35'; /*35:ja*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromKo(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toKo(): string {
        if (Title::validateKo($this->ko))  {
            return $this->ko; /*string*/
        }
        throw new Exception('never get to this Title::ko');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateKo(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::ko");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getKo(): string {
        if (Title::validateKo($this->ko))  {
            return $this->ko;
        }
        throw new Exception('never get to getKo Title::ko');
    }

    /**
     * @return string
     */
    public static function sampleKo(): string {
        return 'Title::ko::36'; /*36:ko*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromRu(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toRu(): string {
        if (Title::validateRu($this->ru))  {
            return $this->ru; /*string*/
        }
        throw new Exception('never get to this Title::ru');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateRu(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::ru");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getRu(): string {
        if (Title::validateRu($this->ru))  {
            return $this->ru;
        }
        throw new Exception('never get to getRu Title::ru');
    }

    /**
     * @return string
     */
    public static function sampleRu(): string {
        return 'Title::ru::37'; /*37:ru*/
    }

    /**
     * @param string $value
     * @throws Exception
     * @return string
     */
    public static function fromZh(string $value): string {
        return $value; /*string*/
    }

    /**
     * @throws Exception
     * @return string
     */
    public function toZh(): string {
        if (Title::validateZh($this->zh))  {
            return $this->zh; /*string*/
        }
        throw new Exception('never get to this Title::zh');
    }

    /**
     * @param string
     * @return bool
     * @throws Exception
     */
    public static function validateZh(string $value): bool {
        if (!is_string($value)) {
            throw new Exception("Attribute Error:Title::zh");
        }
        return true;
    }

    /**
     * @throws Exception
     * @return string
     */
    public function getZh(): string {
        if (Title::validateZh($this->zh))  {
            return $this->zh;
        }
        throw new Exception('never get to getZh Title::zh');
    }

    /**
     * @return string
     */
    public static function sampleZh(): string {
        return 'Title::zh::38'; /*38:zh*/
    }

    /**
     * @throws Exception
     * @return bool
     */
    public function validate(): bool {
        return Title::validateDe($this->de)
        || Title::validateEn($this->en)
        || Title::validateEs($this->es)
        || Title::validateFr($this->fr)
        || Title::validateJa($this->ja)
        || Title::validateKo($this->ko)
        || Title::validateRu($this->ru)
        || Title::validateZh($this->zh);
    }

    /**
     * @return stdClass
     * @throws Exception
     */
    public function to(): stdClass  {
        $out = new stdClass();
        $out->{'de'} = $this->toDe();
        $out->{'en'} = $this->toEn();
        $out->{'es'} = $this->toEs();
        $out->{'fr'} = $this->toFr();
        $out->{'ja'} = $this->toJa();
        $out->{'ko'} = $this->toKo();
        $out->{'ru'} = $this->toRu();
        $out->{'zh'} = $this->toZh();
        return $out;
    }

    /**
     * @param stdClass $obj
     * @return Title
     * @throws Exception
     */
    public static function from(stdClass $obj): Title {
        return new Title(
         Title::fromDe($obj->{'de'})
        ,Title::fromEn($obj->{'en'})
        ,Title::fromEs($obj->{'es'})
        ,Title::fromFr($obj->{'fr'})
        ,Title::fromJa($obj->{'ja'})
        ,Title::fromKo($obj->{'ko'})
        ,Title::fromRu($obj->{'ru'})
        ,Title::fromZh($obj->{'zh'})
        );
    }

    /**
     * @return Title
     */
    public static function sample(): Title {
        return new Title(
         Title::sampleDe()
        ,Title::sampleEn()
        ,Title::sampleEs()
        ,Title::sampleFr()
        ,Title::sampleJa()
        ,Title::sampleKo()
        ,Title::sampleRu()
        ,Title::sampleZh()
        );
    }
}
from typing import Any, TypeVar, Type, cast
from enum import Enum


T = TypeVar("T")
EnumT = TypeVar("EnumT", bound=Enum)


def from_str(x: Any) -> str:
    assert isinstance(x, str)
    return x


def from_int(x: Any) -> int:
    assert isinstance(x, int) and not isinstance(x, bool)
    return x


def to_class(c: Type[T], x: Any) -> dict:
    assert isinstance(x, c)
    return cast(Any, x).to_dict()


def to_enum(c: Type[EnumT], x: Any) -> EnumT:
    assert isinstance(x, c)
    return x.value


class BriefingFailureDescription:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'BriefingFailureDescription':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return BriefingFailureDescription(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class BriefingFailureHeader:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'BriefingFailureHeader':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return BriefingFailureHeader(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class BriefingFinalWords:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'BriefingFinalWords':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return BriefingFinalWords(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class BriefingGoalDescription:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'BriefingGoalDescription':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return BriefingGoalDescription(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class BriefingHeader:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'BriefingHeader':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return BriefingHeader(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class BriefingSuccessDescription:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'BriefingSuccessDescription':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return BriefingSuccessDescription(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class BriefingSuccessHeader:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'BriefingSuccessHeader':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return BriefingSuccessHeader(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class FinishedCampaignEnded:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'FinishedCampaignEnded':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return FinishedCampaignEnded(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class FinishedFailureDescription:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'FinishedFailureDescription':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return FinishedFailureDescription(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class FinishedResolutionStateFailure:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'FinishedResolutionStateFailure':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return FinishedResolutionStateFailure(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class FinishedResolutionStateSuccess:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'FinishedResolutionStateSuccess':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return FinishedResolutionStateSuccess(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class FinishedSuccessDescription:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'FinishedSuccessDescription':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return FinishedSuccessDescription(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapHeader:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapHeader':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapHeader(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapSection1Paragraph:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapSection1Paragraph':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapSection1Paragraph(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapSection1Title:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapSection1Title':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapSection1Title(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapSection2Paragraph:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapSection2Paragraph':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapSection2Paragraph(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapSection2Title:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapSection2Title':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapSection2Title(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapSection3Paragraph:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapSection3Paragraph':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapSection3Paragraph(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapSection3Title:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapSection3Title':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapSection3Title(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapSubheader:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapSubheader':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapSubheader(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MapTitle:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'MapTitle':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return MapTitle(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class PresentingCharacterName:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'PresentingCharacterName':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return PresentingCharacterName(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class PresentingCharacterSubtitle:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'PresentingCharacterSubtitle':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return PresentingCharacterSubtitle(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class Race(Enum):
    AMARR = "amarr"
    CALDARI = "caldari"
    GALLENTE = "gallente"
    MINMATAR = "minmatar"


class Annotations:
    ao_campaign_card_button_image: str
    background_video_loop: str
    briefing_background: str
    briefing_failure_description: BriefingFailureDescription
    briefing_failure_header: BriefingFailureHeader
    briefing_final_words: BriefingFinalWords
    briefing_foreground: str
    briefing_goal_description: BriefingGoalDescription
    briefing_header: BriefingHeader
    briefing_middleground: str
    briefing_success_description: BriefingSuccessDescription
    briefing_success_header: BriefingSuccessHeader
    campaign_set: str
    dashboard_ambient_background: str
    dashboard_background: str
    dashboard_foreground: str
    dashboard_middleground: str
    finished_campaign_ended: FinishedCampaignEnded
    finished_failure_description: FinishedFailureDescription
    finished_resolution_state_failure: FinishedResolutionStateFailure
    finished_resolution_state_success: FinishedResolutionStateSuccess
    finished_success_description: FinishedSuccessDescription
    foreground_video_intro: str
    foreground_video_loop: str
    foreground_video_outro: str
    map_focus_entity_id: int
    map_header: MapHeader
    map_section1_paragraph: MapSection1Paragraph
    map_section1_title: MapSection1Title
    map_section2_paragraph: MapSection2Paragraph
    map_section2_title: MapSection2Title
    map_section3_paragraph: MapSection3Paragraph
    map_section3_title: MapSection3Title
    map_subheader: MapSubheader
    map_title: MapTitle
    middleground_video_intro: str
    middleground_video_loop: str
    middleground_video_outro: str
    presenting_character_name: PresentingCharacterName
    presenting_character_subtitle: PresentingCharacterSubtitle
    presenting_character_texture_path: str
    race: Race
    theme_pack: str
    tow_campaign_card_button_image: str

    def __init__(self, ao_campaign_card_button_image: str, background_video_loop: str, briefing_background: str, briefing_failure_description: BriefingFailureDescription, briefing_failure_header: BriefingFailureHeader, briefing_final_words: BriefingFinalWords, briefing_foreground: str, briefing_goal_description: BriefingGoalDescription, briefing_header: BriefingHeader, briefing_middleground: str, briefing_success_description: BriefingSuccessDescription, briefing_success_header: BriefingSuccessHeader, campaign_set: str, dashboard_ambient_background: str, dashboard_background: str, dashboard_foreground: str, dashboard_middleground: str, finished_campaign_ended: FinishedCampaignEnded, finished_failure_description: FinishedFailureDescription, finished_resolution_state_failure: FinishedResolutionStateFailure, finished_resolution_state_success: FinishedResolutionStateSuccess, finished_success_description: FinishedSuccessDescription, foreground_video_intro: str, foreground_video_loop: str, foreground_video_outro: str, map_focus_entity_id: int, map_header: MapHeader, map_section1_paragraph: MapSection1Paragraph, map_section1_title: MapSection1Title, map_section2_paragraph: MapSection2Paragraph, map_section2_title: MapSection2Title, map_section3_paragraph: MapSection3Paragraph, map_section3_title: MapSection3Title, map_subheader: MapSubheader, map_title: MapTitle, middleground_video_intro: str, middleground_video_loop: str, middleground_video_outro: str, presenting_character_name: PresentingCharacterName, presenting_character_subtitle: PresentingCharacterSubtitle, presenting_character_texture_path: str, race: Race, theme_pack: str, tow_campaign_card_button_image: str) -> None:
        self.ao_campaign_card_button_image = ao_campaign_card_button_image
        self.background_video_loop = background_video_loop
        self.briefing_background = briefing_background
        self.briefing_failure_description = briefing_failure_description
        self.briefing_failure_header = briefing_failure_header
        self.briefing_final_words = briefing_final_words
        self.briefing_foreground = briefing_foreground
        self.briefing_goal_description = briefing_goal_description
        self.briefing_header = briefing_header
        self.briefing_middleground = briefing_middleground
        self.briefing_success_description = briefing_success_description
        self.briefing_success_header = briefing_success_header
        self.campaign_set = campaign_set
        self.dashboard_ambient_background = dashboard_ambient_background
        self.dashboard_background = dashboard_background
        self.dashboard_foreground = dashboard_foreground
        self.dashboard_middleground = dashboard_middleground
        self.finished_campaign_ended = finished_campaign_ended
        self.finished_failure_description = finished_failure_description
        self.finished_resolution_state_failure = finished_resolution_state_failure
        self.finished_resolution_state_success = finished_resolution_state_success
        self.finished_success_description = finished_success_description
        self.foreground_video_intro = foreground_video_intro
        self.foreground_video_loop = foreground_video_loop
        self.foreground_video_outro = foreground_video_outro
        self.map_focus_entity_id = map_focus_entity_id
        self.map_header = map_header
        self.map_section1_paragraph = map_section1_paragraph
        self.map_section1_title = map_section1_title
        self.map_section2_paragraph = map_section2_paragraph
        self.map_section2_title = map_section2_title
        self.map_section3_paragraph = map_section3_paragraph
        self.map_section3_title = map_section3_title
        self.map_subheader = map_subheader
        self.map_title = map_title
        self.middleground_video_intro = middleground_video_intro
        self.middleground_video_loop = middleground_video_loop
        self.middleground_video_outro = middleground_video_outro
        self.presenting_character_name = presenting_character_name
        self.presenting_character_subtitle = presenting_character_subtitle
        self.presenting_character_texture_path = presenting_character_texture_path
        self.race = race
        self.theme_pack = theme_pack
        self.tow_campaign_card_button_image = tow_campaign_card_button_image

    @staticmethod
    def from_dict(obj: Any) -> 'Annotations':
        assert isinstance(obj, dict)
        ao_campaign_card_button_image = from_str(obj.get("aoCampaignCardButtonImage"))
        background_video_loop = from_str(obj.get("backgroundVideoLoop"))
        briefing_background = from_str(obj.get("briefingBackground"))
        briefing_failure_description = BriefingFailureDescription.from_dict(obj.get("briefingFailureDescription"))
        briefing_failure_header = BriefingFailureHeader.from_dict(obj.get("briefingFailureHeader"))
        briefing_final_words = BriefingFinalWords.from_dict(obj.get("briefingFinalWords"))
        briefing_foreground = from_str(obj.get("briefingForeground"))
        briefing_goal_description = BriefingGoalDescription.from_dict(obj.get("briefingGoalDescription"))
        briefing_header = BriefingHeader.from_dict(obj.get("briefingHeader"))
        briefing_middleground = from_str(obj.get("briefingMiddleground"))
        briefing_success_description = BriefingSuccessDescription.from_dict(obj.get("briefingSuccessDescription"))
        briefing_success_header = BriefingSuccessHeader.from_dict(obj.get("briefingSuccessHeader"))
        campaign_set = from_str(obj.get("campaignSet"))
        dashboard_ambient_background = from_str(obj.get("dashboardAmbientBackground"))
        dashboard_background = from_str(obj.get("dashboardBackground"))
        dashboard_foreground = from_str(obj.get("dashboardForeground"))
        dashboard_middleground = from_str(obj.get("dashboardMiddleground"))
        finished_campaign_ended = FinishedCampaignEnded.from_dict(obj.get("finishedCampaignEnded"))
        finished_failure_description = FinishedFailureDescription.from_dict(obj.get("finishedFailureDescription"))
        finished_resolution_state_failure = FinishedResolutionStateFailure.from_dict(obj.get("finishedResolutionStateFailure"))
        finished_resolution_state_success = FinishedResolutionStateSuccess.from_dict(obj.get("finishedResolutionStateSuccess"))
        finished_success_description = FinishedSuccessDescription.from_dict(obj.get("finishedSuccessDescription"))
        foreground_video_intro = from_str(obj.get("foregroundVideoIntro"))
        foreground_video_loop = from_str(obj.get("foregroundVideoLoop"))
        foreground_video_outro = from_str(obj.get("foregroundVideoOutro"))
        map_focus_entity_id = from_int(obj.get("mapFocusEntityID"))
        map_header = MapHeader.from_dict(obj.get("mapHeader"))
        map_section1_paragraph = MapSection1Paragraph.from_dict(obj.get("mapSection1Paragraph"))
        map_section1_title = MapSection1Title.from_dict(obj.get("mapSection1Title"))
        map_section2_paragraph = MapSection2Paragraph.from_dict(obj.get("mapSection2Paragraph"))
        map_section2_title = MapSection2Title.from_dict(obj.get("mapSection2Title"))
        map_section3_paragraph = MapSection3Paragraph.from_dict(obj.get("mapSection3Paragraph"))
        map_section3_title = MapSection3Title.from_dict(obj.get("mapSection3Title"))
        map_subheader = MapSubheader.from_dict(obj.get("mapSubheader"))
        map_title = MapTitle.from_dict(obj.get("mapTitle"))
        middleground_video_intro = from_str(obj.get("middlegroundVideoIntro"))
        middleground_video_loop = from_str(obj.get("middlegroundVideoLoop"))
        middleground_video_outro = from_str(obj.get("middlegroundVideoOutro"))
        presenting_character_name = PresentingCharacterName.from_dict(obj.get("presentingCharacterName"))
        presenting_character_subtitle = PresentingCharacterSubtitle.from_dict(obj.get("presentingCharacterSubtitle"))
        presenting_character_texture_path = from_str(obj.get("presentingCharacterTexturePath"))
        race = Race(obj.get("race"))
        theme_pack = from_str(obj.get("themePack"))
        tow_campaign_card_button_image = from_str(obj.get("towCampaignCardButtonImage"))
        return Annotations(ao_campaign_card_button_image, background_video_loop, briefing_background, briefing_failure_description, briefing_failure_header, briefing_final_words, briefing_foreground, briefing_goal_description, briefing_header, briefing_middleground, briefing_success_description, briefing_success_header, campaign_set, dashboard_ambient_background, dashboard_background, dashboard_foreground, dashboard_middleground, finished_campaign_ended, finished_failure_description, finished_resolution_state_failure, finished_resolution_state_success, finished_success_description, foreground_video_intro, foreground_video_loop, foreground_video_outro, map_focus_entity_id, map_header, map_section1_paragraph, map_section1_title, map_section2_paragraph, map_section2_title, map_section3_paragraph, map_section3_title, map_subheader, map_title, middleground_video_intro, middleground_video_loop, middleground_video_outro, presenting_character_name, presenting_character_subtitle, presenting_character_texture_path, race, theme_pack, tow_campaign_card_button_image)

    def to_dict(self) -> dict:
        result: dict = {}
        result["aoCampaignCardButtonImage"] = from_str(self.ao_campaign_card_button_image)
        result["backgroundVideoLoop"] = from_str(self.background_video_loop)
        result["briefingBackground"] = from_str(self.briefing_background)
        result["briefingFailureDescription"] = to_class(BriefingFailureDescription, self.briefing_failure_description)
        result["briefingFailureHeader"] = to_class(BriefingFailureHeader, self.briefing_failure_header)
        result["briefingFinalWords"] = to_class(BriefingFinalWords, self.briefing_final_words)
        result["briefingForeground"] = from_str(self.briefing_foreground)
        result["briefingGoalDescription"] = to_class(BriefingGoalDescription, self.briefing_goal_description)
        result["briefingHeader"] = to_class(BriefingHeader, self.briefing_header)
        result["briefingMiddleground"] = from_str(self.briefing_middleground)
        result["briefingSuccessDescription"] = to_class(BriefingSuccessDescription, self.briefing_success_description)
        result["briefingSuccessHeader"] = to_class(BriefingSuccessHeader, self.briefing_success_header)
        result["campaignSet"] = from_str(self.campaign_set)
        result["dashboardAmbientBackground"] = from_str(self.dashboard_ambient_background)
        result["dashboardBackground"] = from_str(self.dashboard_background)
        result["dashboardForeground"] = from_str(self.dashboard_foreground)
        result["dashboardMiddleground"] = from_str(self.dashboard_middleground)
        result["finishedCampaignEnded"] = to_class(FinishedCampaignEnded, self.finished_campaign_ended)
        result["finishedFailureDescription"] = to_class(FinishedFailureDescription, self.finished_failure_description)
        result["finishedResolutionStateFailure"] = to_class(FinishedResolutionStateFailure, self.finished_resolution_state_failure)
        result["finishedResolutionStateSuccess"] = to_class(FinishedResolutionStateSuccess, self.finished_resolution_state_success)
        result["finishedSuccessDescription"] = to_class(FinishedSuccessDescription, self.finished_success_description)
        result["foregroundVideoIntro"] = from_str(self.foreground_video_intro)
        result["foregroundVideoLoop"] = from_str(self.foreground_video_loop)
        result["foregroundVideoOutro"] = from_str(self.foreground_video_outro)
        result["mapFocusEntityID"] = from_int(self.map_focus_entity_id)
        result["mapHeader"] = to_class(MapHeader, self.map_header)
        result["mapSection1Paragraph"] = to_class(MapSection1Paragraph, self.map_section1_paragraph)
        result["mapSection1Title"] = to_class(MapSection1Title, self.map_section1_title)
        result["mapSection2Paragraph"] = to_class(MapSection2Paragraph, self.map_section2_paragraph)
        result["mapSection2Title"] = to_class(MapSection2Title, self.map_section2_title)
        result["mapSection3Paragraph"] = to_class(MapSection3Paragraph, self.map_section3_paragraph)
        result["mapSection3Title"] = to_class(MapSection3Title, self.map_section3_title)
        result["mapSubheader"] = to_class(MapSubheader, self.map_subheader)
        result["mapTitle"] = to_class(MapTitle, self.map_title)
        result["middlegroundVideoIntro"] = from_str(self.middleground_video_intro)
        result["middlegroundVideoLoop"] = from_str(self.middleground_video_loop)
        result["middlegroundVideoOutro"] = from_str(self.middleground_video_outro)
        result["presentingCharacterName"] = to_class(PresentingCharacterName, self.presenting_character_name)
        result["presentingCharacterSubtitle"] = to_class(PresentingCharacterSubtitle, self.presenting_character_subtitle)
        result["presentingCharacterTexturePath"] = from_str(self.presenting_character_texture_path)
        result["race"] = to_enum(Race, self.race)
        result["themePack"] = from_str(self.theme_pack)
        result["towCampaignCardButtonImage"] = from_str(self.tow_campaign_card_button_image)
        return result


class Issuer:
    faction_id: int

    def __init__(self, faction_id: int) -> None:
        self.faction_id = faction_id

    @staticmethod
    def from_dict(obj: Any) -> 'Issuer':
        assert isinstance(obj, dict)
        faction_id = from_int(obj.get("factionID"))
        return Issuer(faction_id)

    def to_dict(self) -> dict:
        result: dict = {}
        result["factionID"] = from_int(self.faction_id)
        return result


class Subtitle:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'Subtitle':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return Subtitle(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class Title:
    de: str
    en: str
    es: str
    fr: str
    ja: str
    ko: str
    ru: str
    zh: str

    def __init__(self, de: str, en: str, es: str, fr: str, ja: str, ko: str, ru: str, zh: str) -> None:
        self.de = de
        self.en = en
        self.es = es
        self.fr = fr
        self.ja = ja
        self.ko = ko
        self.ru = ru
        self.zh = zh

    @staticmethod
    def from_dict(obj: Any) -> 'Title':
        assert isinstance(obj, dict)
        de = from_str(obj.get("de"))
        en = from_str(obj.get("en"))
        es = from_str(obj.get("es"))
        fr = from_str(obj.get("fr"))
        ja = from_str(obj.get("ja"))
        ko = from_str(obj.get("ko"))
        ru = from_str(obj.get("ru"))
        zh = from_str(obj.get("zh"))
        return Title(de, en, es, fr, ja, ko, ru, zh)

    def to_dict(self) -> dict:
        result: dict = {}
        result["de"] = from_str(self.de)
        result["en"] = from_str(self.en)
        result["es"] = from_str(self.es)
        result["fr"] = from_str(self.fr)
        result["ja"] = from_str(self.ja)
        result["ko"] = from_str(self.ko)
        result["ru"] = from_str(self.ru)
        result["zh"] = from_str(self.zh)
        return result


class MilitaryCampaign:
    key: str
    annotations: Annotations
    issuer: Issuer
    subtitle: Subtitle
    target_progress: int
    title: Title

    def __init__(self, key: str, annotations: Annotations, issuer: Issuer, subtitle: Subtitle, target_progress: int, title: Title) -> None:
        self.key = key
        self.annotations = annotations
        self.issuer = issuer
        self.subtitle = subtitle
        self.target_progress = target_progress
        self.title = title

    @staticmethod
    def from_dict(obj: Any) -> 'MilitaryCampaign':
        assert isinstance(obj, dict)
        key = from_str(obj.get("_key"))
        annotations = Annotations.from_dict(obj.get("annotations"))
        issuer = Issuer.from_dict(obj.get("issuer"))
        subtitle = Subtitle.from_dict(obj.get("subtitle"))
        target_progress = from_int(obj.get("targetProgress"))
        title = Title.from_dict(obj.get("title"))
        return MilitaryCampaign(key, annotations, issuer, subtitle, target_progress, title)

    def to_dict(self) -> dict:
        result: dict = {}
        result["_key"] = from_str(self.key)
        result["annotations"] = to_class(Annotations, self.annotations)
        result["issuer"] = to_class(Issuer, self.issuer)
        result["subtitle"] = to_class(Subtitle, self.subtitle)
        result["targetProgress"] = from_int(self.target_progress)
        result["title"] = to_class(Title, self.title)
        return result


def military_campaign_from_dict(s: Any) -> MilitaryCampaign:
    return MilitaryCampaign.from_dict(s)


def military_campaign_to_dict(x: MilitaryCampaign) -> Any:
    return to_class(MilitaryCampaign, x)
// To parse this data:
//
//   import { Convert, MilitaryCampaign } from "./file";
//
//   const militaryCampaign = Convert.toMilitaryCampaign(json);
//
// These functions will throw an error if the JSON doesn't
// match the expected interface, even if the JSON is valid.

export interface MilitaryCampaign {
    _key:           string;
    annotations:    Annotations;
    issuer:         Issuer;
    subtitle:       Subtitle;
    targetProgress: number;
    title:          Title;
    [property: string]: any;
}

export interface Annotations {
    aoCampaignCardButtonImage:      string;
    backgroundVideoLoop:            string;
    briefingBackground:             string;
    briefingFailureDescription:     BriefingFailureDescription;
    briefingFailureHeader:          BriefingFailureHeader;
    briefingFinalWords:             BriefingFinalWords;
    briefingForeground:             string;
    briefingGoalDescription:        BriefingGoalDescription;
    briefingHeader:                 BriefingHeader;
    briefingMiddleground:           string;
    briefingSuccessDescription:     BriefingSuccessDescription;
    briefingSuccessHeader:          BriefingSuccessHeader;
    campaignSet:                    string;
    dashboardAmbientBackground:     string;
    dashboardBackground:            string;
    dashboardForeground:            string;
    dashboardMiddleground:          string;
    finishedCampaignEnded:          FinishedCampaignEnded;
    finishedFailureDescription:     FinishedFailureDescription;
    finishedResolutionStateFailure: FinishedResolutionStateFailure;
    finishedResolutionStateSuccess: FinishedResolutionStateSuccess;
    finishedSuccessDescription:     FinishedSuccessDescription;
    foregroundVideoIntro:           string;
    foregroundVideoLoop:            string;
    foregroundVideoOutro:           string;
    mapFocusEntityID:               number;
    mapHeader:                      MapHeader;
    mapSection1Paragraph:           MapSection1Paragraph;
    mapSection1Title:               MapSection1Title;
    mapSection2Paragraph:           MapSection2Paragraph;
    mapSection2Title:               MapSection2Title;
    mapSection3Paragraph:           MapSection3Paragraph;
    mapSection3Title:               MapSection3Title;
    mapSubheader:                   MapSubheader;
    mapTitle:                       MapTitle;
    middlegroundVideoIntro:         string;
    middlegroundVideoLoop:          string;
    middlegroundVideoOutro:         string;
    presentingCharacterName:        PresentingCharacterName;
    presentingCharacterSubtitle:    PresentingCharacterSubtitle;
    presentingCharacterTexturePath: string;
    race:                           Race;
    themePack:                      string;
    towCampaignCardButtonImage:     string;
    [property: string]: any;
}

export interface BriefingFailureDescription {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface BriefingFailureHeader {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface BriefingFinalWords {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface BriefingGoalDescription {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface BriefingHeader {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface BriefingSuccessDescription {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface BriefingSuccessHeader {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface FinishedCampaignEnded {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface FinishedFailureDescription {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface FinishedResolutionStateFailure {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface FinishedResolutionStateSuccess {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface FinishedSuccessDescription {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapHeader {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapSection1Paragraph {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapSection1Title {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapSection2Paragraph {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapSection2Title {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapSection3Paragraph {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapSection3Title {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapSubheader {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface MapTitle {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface PresentingCharacterName {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface PresentingCharacterSubtitle {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export enum Race {
    Amarr = "amarr",
    Caldari = "caldari",
    Gallente = "gallente",
    Minmatar = "minmatar",
}

export interface Issuer {
    factionID: number;
    [property: string]: any;
}

export interface Subtitle {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

export interface Title {
    de: string;
    en: string;
    es: string;
    fr: string;
    ja: string;
    ko: string;
    ru: string;
    zh: string;
    [property: string]: any;
}

// Converts JSON strings to/from your types
// and asserts the results of JSON.parse at runtime
export class Convert {
    public static toMilitaryCampaign(json: string): MilitaryCampaign {
        return cast(JSON.parse(json), r("MilitaryCampaign"));
    }

    public static militaryCampaignToJson(value: MilitaryCampaign): string {
        return JSON.stringify(uncast(value, r("MilitaryCampaign")), null, 2);
    }
}

function invalidValue(typ: any, val: any, key: any, parent: any = ''): never {
    const prettyTyp = prettyTypeName(typ);
    const parentText = parent ? ` on ${parent}` : '';
    const keyText = key ? ` for key "${key}"` : '';
    throw Error(`Invalid value${keyText}${parentText}. Expected ${prettyTyp} but got ${JSON.stringify(val)}`);
}

function prettyTypeName(typ: any): string {
    if (Array.isArray(typ)) {
        if (typ.length === 2 && typ[0] === undefined) {
            return `an optional ${prettyTypeName(typ[1])}`;
        } else {
            return `one of [${typ.map(a => { return prettyTypeName(a); }).join(", ")}]`;
        }
    } else if (typeof typ === "object" && typ.literal !== undefined) {
        return typ.literal;
    } else {
        return typeof typ;
    }
}

function jsonToJSProps(typ: any): any {
    if (typ.jsonToJS === undefined) {
        const map: any = {};
        typ.props.forEach((p: any) => map[p.json] = { key: p.js, typ: p.typ });
        typ.jsonToJS = map;
    }
    return typ.jsonToJS;
}

function jsToJSONProps(typ: any): any {
    if (typ.jsToJSON === undefined) {
        const map: any = {};
        typ.props.forEach((p: any) => map[p.js] = { key: p.json, typ: p.typ });
        typ.jsToJSON = map;
    }
    return typ.jsToJSON;
}

function transform(val: any, typ: any, getProps: any, key: any = '', parent: any = ''): any {
    function transformPrimitive(typ: string, val: any): any {
        if (typeof typ === typeof val) return val;
        return invalidValue(typ, val, key, parent);
    }

    function transformUnion(typs: any[], val: any): any {
        // val must validate against one typ in typs
        const l = typs.length;
        for (let i = 0; i < l; i++) {
            const typ = typs[i];
            try {
                return transform(val, typ, getProps);
            } catch (_) {}
        }
        return invalidValue(typs, val, key, parent);
    }

    function transformEnum(cases: string[], val: any): any {
        if (cases.indexOf(val) !== -1) return val;
        return invalidValue(cases.map(a => { return l(a); }), val, key, parent);
    }

    function transformArray(typ: any, val: any): any {
        // val must be an array with no invalid elements
        if (!Array.isArray(val)) return invalidValue(l("array"), val, key, parent);
        return val.map(el => transform(el, typ, getProps));
    }

    function transformDate(val: any): any {
        if (val === null) {
            return null;
        }
        const d = new Date(val);
        if (isNaN(d.valueOf())) {
            return invalidValue(l("Date"), val, key, parent);
        }
        return d;
    }

    function transformObject(props: { [k: string]: any }, additional: any, val: any): any {
        if (val === null || typeof val !== "object" || Array.isArray(val)) {
            return invalidValue(l(ref || "object"), val, key, parent);
        }
        const result: any = {};
        Object.getOwnPropertyNames(props).forEach(key => {
            const prop = props[key];
            const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
            result[prop.key] = transform(v, prop.typ, getProps, key, ref);
        });
        Object.getOwnPropertyNames(val).forEach(key => {
            if (!Object.prototype.hasOwnProperty.call(props, key)) {
                result[key] = transform(val[key], additional, getProps, key, ref);
            }
        });
        return result;
    }

    if (typ === "any") return val;
    if (typ === null) {
        if (val === null) return val;
        return invalidValue(typ, val, key, parent);
    }
    if (typ === false) return invalidValue(typ, val, key, parent);
    let ref: any = undefined;
    while (typeof typ === "object" && typ.ref !== undefined) {
        ref = typ.ref;
        typ = typeMap[typ.ref];
    }
    if (Array.isArray(typ)) return transformEnum(typ, val);
    if (typeof typ === "object") {
        return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val)
            : typ.hasOwnProperty("arrayItems")    ? transformArray(typ.arrayItems, val)
            : typ.hasOwnProperty("props")         ? transformObject(getProps(typ), typ.additional, val)
            : invalidValue(typ, val, key, parent);
    }
    // Numbers can be parsed by Date but shouldn't be.
    if (typ === Date && typeof val !== "number") return transformDate(val);
    return transformPrimitive(typ, val);
}

function cast<T>(val: any, typ: any): T {
    return transform(val, typ, jsonToJSProps);
}

function uncast<T>(val: T, typ: any): any {
    return transform(val, typ, jsToJSONProps);
}

function l(typ: any) {
    return { literal: typ };
}

function a(typ: any) {
    return { arrayItems: typ };
}

function u(...typs: any[]) {
    return { unionMembers: typs };
}

function o(props: any[], additional: any) {
    return { props, additional };
}

function m(additional: any) {
    return { props: [], additional };
}

function r(name: string) {
    return { ref: name };
}

const typeMap: any = {
    "MilitaryCampaign": o([
        { json: "_key", js: "_key", typ: "" },
        { json: "annotations", js: "annotations", typ: r("Annotations") },
        { json: "issuer", js: "issuer", typ: r("Issuer") },
        { json: "subtitle", js: "subtitle", typ: r("Subtitle") },
        { json: "targetProgress", js: "targetProgress", typ: 0 },
        { json: "title", js: "title", typ: r("Title") },
    ], "any"),
    "Annotations": o([
        { json: "aoCampaignCardButtonImage", js: "aoCampaignCardButtonImage", typ: "" },
        { json: "backgroundVideoLoop", js: "backgroundVideoLoop", typ: "" },
        { json: "briefingBackground", js: "briefingBackground", typ: "" },
        { json: "briefingFailureDescription", js: "briefingFailureDescription", typ: r("BriefingFailureDescription") },
        { json: "briefingFailureHeader", js: "briefingFailureHeader", typ: r("BriefingFailureHeader") },
        { json: "briefingFinalWords", js: "briefingFinalWords", typ: r("BriefingFinalWords") },
        { json: "briefingForeground", js: "briefingForeground", typ: "" },
        { json: "briefingGoalDescription", js: "briefingGoalDescription", typ: r("BriefingGoalDescription") },
        { json: "briefingHeader", js: "briefingHeader", typ: r("BriefingHeader") },
        { json: "briefingMiddleground", js: "briefingMiddleground", typ: "" },
        { json: "briefingSuccessDescription", js: "briefingSuccessDescription", typ: r("BriefingSuccessDescription") },
        { json: "briefingSuccessHeader", js: "briefingSuccessHeader", typ: r("BriefingSuccessHeader") },
        { json: "campaignSet", js: "campaignSet", typ: "" },
        { json: "dashboardAmbientBackground", js: "dashboardAmbientBackground", typ: "" },
        { json: "dashboardBackground", js: "dashboardBackground", typ: "" },
        { json: "dashboardForeground", js: "dashboardForeground", typ: "" },
        { json: "dashboardMiddleground", js: "dashboardMiddleground", typ: "" },
        { json: "finishedCampaignEnded", js: "finishedCampaignEnded", typ: r("FinishedCampaignEnded") },
        { json: "finishedFailureDescription", js: "finishedFailureDescription", typ: r("FinishedFailureDescription") },
        { json: "finishedResolutionStateFailure", js: "finishedResolutionStateFailure", typ: r("FinishedResolutionStateFailure") },
        { json: "finishedResolutionStateSuccess", js: "finishedResolutionStateSuccess", typ: r("FinishedResolutionStateSuccess") },
        { json: "finishedSuccessDescription", js: "finishedSuccessDescription", typ: r("FinishedSuccessDescription") },
        { json: "foregroundVideoIntro", js: "foregroundVideoIntro", typ: "" },
        { json: "foregroundVideoLoop", js: "foregroundVideoLoop", typ: "" },
        { json: "foregroundVideoOutro", js: "foregroundVideoOutro", typ: "" },
        { json: "mapFocusEntityID", js: "mapFocusEntityID", typ: 0 },
        { json: "mapHeader", js: "mapHeader", typ: r("MapHeader") },
        { json: "mapSection1Paragraph", js: "mapSection1Paragraph", typ: r("MapSection1Paragraph") },
        { json: "mapSection1Title", js: "mapSection1Title", typ: r("MapSection1Title") },
        { json: "mapSection2Paragraph", js: "mapSection2Paragraph", typ: r("MapSection2Paragraph") },
        { json: "mapSection2Title", js: "mapSection2Title", typ: r("MapSection2Title") },
        { json: "mapSection3Paragraph", js: "mapSection3Paragraph", typ: r("MapSection3Paragraph") },
        { json: "mapSection3Title", js: "mapSection3Title", typ: r("MapSection3Title") },
        { json: "mapSubheader", js: "mapSubheader", typ: r("MapSubheader") },
        { json: "mapTitle", js: "mapTitle", typ: r("MapTitle") },
        { json: "middlegroundVideoIntro", js: "middlegroundVideoIntro", typ: "" },
        { json: "middlegroundVideoLoop", js: "middlegroundVideoLoop", typ: "" },
        { json: "middlegroundVideoOutro", js: "middlegroundVideoOutro", typ: "" },
        { json: "presentingCharacterName", js: "presentingCharacterName", typ: r("PresentingCharacterName") },
        { json: "presentingCharacterSubtitle", js: "presentingCharacterSubtitle", typ: r("PresentingCharacterSubtitle") },
        { json: "presentingCharacterTexturePath", js: "presentingCharacterTexturePath", typ: "" },
        { json: "race", js: "race", typ: r("Race") },
        { json: "themePack", js: "themePack", typ: "" },
        { json: "towCampaignCardButtonImage", js: "towCampaignCardButtonImage", typ: "" },
    ], "any"),
    "BriefingFailureDescription": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "BriefingFailureHeader": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "BriefingFinalWords": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "BriefingGoalDescription": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "BriefingHeader": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "BriefingSuccessDescription": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "BriefingSuccessHeader": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "FinishedCampaignEnded": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "FinishedFailureDescription": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "FinishedResolutionStateFailure": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "FinishedResolutionStateSuccess": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "FinishedSuccessDescription": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapHeader": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapSection1Paragraph": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapSection1Title": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapSection2Paragraph": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapSection2Title": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapSection3Paragraph": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapSection3Title": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapSubheader": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "MapTitle": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "PresentingCharacterName": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "PresentingCharacterSubtitle": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "Issuer": o([
        { json: "factionID", js: "factionID", typ: 0 },
    ], "any"),
    "Subtitle": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "Title": o([
        { json: "de", js: "de", typ: "" },
        { json: "en", js: "en", typ: "" },
        { json: "es", js: "es", typ: "" },
        { json: "fr", js: "fr", typ: "" },
        { json: "ja", js: "ja", typ: "" },
        { json: "ko", js: "ko", typ: "" },
        { json: "ru", js: "ru", typ: "" },
        { json: "zh", js: "zh", typ: "" },
    ], "any"),
    "Race": [
        "amarr",
        "caldari",
        "gallente",
        "minmatar",
    ],
};