package Ġdk . yout ec . d rapi Ċ Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ Ċ const Ġval ĠAPI _ VERSION Ġ= Ġ" 1 . 4 " Ċ const Ġval ĠAPI _ URL Ġ= Ġ" https :// www . dr . dk / mu - online / api /$ API _ VERSION " Ċ Ċ internal Ġinterface ĠID r Mu Api Ġ{ ĊĠĠĠ Ġsuspend Ġfun ĠgetAll Active Dr Tv Channels (): ĠList < Channel > ĊĊĠĠĠ Ġsuspend Ġfun Ġget Manifest ( uri : ĠString ): ĠManifest ĊĊĠĠĠ Ġsuspend Ġfun Ġsearch ( query : ĠString ): ĠSearch Result ĊĊĠĠĠ Ġsuspend Ġfun Ġget Most View ed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel Type : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlimit : ĠInt ĊĠĠĠ Ġ): ĠMost View ed ĊĊĠĠĠ Ġsuspend Ġfun Ġget Page Tv Programs ( genre : ĠGen re ): ĠPage Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠSearch Result ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Title ") Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Subtitle ") Ġval Ġsubtitle : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Description ") Ġval Ġdescription : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Is Re pre mi ere ") Ġval Ġis Re pre mi ere : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Bundle Type ") Ġval Ġbundle Type : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Theme Type ") Ġval Ġtheme Type : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Slug ") Ġval Ġslug : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Items ") Ġval Ġitems : ĠList < Program Card >, ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Paging ") Ġval Ġpaging : ĠMu Paging , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Total Size ") Ġval Ġtotal Size : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Background Image Uri ") Ġval Ġbackground Image Uri : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Site Url ") Ġval Ġsite Url : ĠString Ġ= Ġ"") Ċ Ċ @ Serializable Ċ data Ġclass ĠMu Paging ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Title ") Ġval Ġtitle : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Source ") Ġval Ġsource : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Next ") Ġval Ġnext : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Previous ") Ġval Ġprevious : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Total Size ") Ġval Ġtotal Size : ĠInt Ġ= Ġ 0 ) Ċ Ċ @ Serializable Ċ data Ġclass ĠChannel ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Type ") Ġval Ġtype : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Streaming Servers ") Ġval Ġstreaming Servers : ĠList < Mu Streaming Server >, ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Url ") Ġval Ġurl : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Source Url ") Ġval Ġsource Url : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Web Channel ") Ġval Ġweb Channel : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Slug ") Ġval Ġslug : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" U rn ") Ġval Ġurn : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Primary Image Uri ") Ġval Ġprimary Image Uri : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Presentation Uri ") Ġval Ġpresentation Uri : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Presentation Uri Aut oplay ") Ġval Ġpresentation Uri Aut oplay : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Title ") Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Item Label ") Ġval Ġitem Label : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Subtitle ") Ġval Ġsubtitle : ĠString Ġ= Ġ"") Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġh ls Server (): ĠMu Streaming Server ? Ġ= Ġstreaming Servers . first OrNull Ġ{ Ġit . link Type Ġ== Ġ" H LS " Ġ} ĊĠĠĠ Ġprivate Ġfun Ġh ds Server (): ĠMu Streaming Server ? Ġ= Ġstreaming Servers . first OrNull Ġ{ Ġit . link Type Ġ== Ġ" H DS " Ġ} ĊĠĠĠ Ġfun Ġserver (): ĠMu Streaming Server ? Ġ= Ġh ls Server () Ġ?: Ġh ds Server () Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠMu Streaming Server ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Server ") Ġval Ġserver : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Link Type ") Ġval Ġlink Type : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Qual ities ") Ġval Ġqual ities : ĠList < Mu Stream Quality >, ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Dynamic User Quality Change ") Ġval Ġdynamic User Quality Change : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Encrypted Server ") Ġval Ġencrypted Server : ĠString ) Ċ Ċ @ Serializable Ċ data Ġclass ĠMu Stream Quality ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Kb ps ") Ġval Ġkb ps : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Streams ") Ġval Ġstreams : ĠList < Mu Stream >) Ċ Ċ @ Serializable Ċ data Ġclass ĠMu Stream ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Stream ") Ġval Ġstream : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Encrypted Stream ") Ġval Ġencrypted Stream : ĠString Ġ= Ġ"") Ċ Ċ @ Serializable Ċ data Ġclass ĠMu Now Next ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Channel Slug ") Ġval Ġchannel Slug : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Channel ") Ġval Ġchannel : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Now ") Ġval Ġnow : ĠMu Schedule Broadcast ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Next ") Ġval Ġnext : ĠList < Mu Schedule Broadcast > Ġ= Ġempty List ()) Ċ Ċ @ Serializable Ċ data Ġclass ĠMu Schedule Broadcast ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Title ") Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Description ") Ġval Ġdescription : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Subtitle ") Ġval Ġsubtitle : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" StartTime ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval ĠstartTime : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" EndTime ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval ĠendTime : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Program Card ") Ġval Ġprogram Card : ĠProgram Card , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Online Genre Text ") Ġval Ġonline Genre Text : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Production Number ") Ġval Ġproduction Number : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Program Card Has Primary Asset ") Ġval Ġprogram Card Has Primary Asset : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Series Has Program Card With Primary Asset ") Ġval Ġseries Has Program Card With Primary Asset : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Anno unced StartTime ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġanno unced StartTime : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Anno unced EndTime ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġanno unced EndTime : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Production Country ") Ġval Ġproduction Country : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Production Year ") Ġval Ġproduction Year : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Video Wide screen ") Ġval Ġvideo Wide screen : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Sub titles TT V ") Ġval Ġsub titles TT V : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Video HD ") Ġval Ġvideo HD : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Wh ats On Uri ") Ġval Ġwh ats On Uri : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Is R er un ") Ġval Ġis R er un : ĠBoolean ) Ġ{ ĊĠĠĠ Ġfun Ġget Primary Asset Uri (): ĠString ? Ġ= Ġprogram Card . primary Asset ?. uri Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠProgram Card ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Type ") Ġval Ġtype : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Series Title ") Ġval Ġseries Title : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Episode Title ") Ġval Ġepisode Title : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Series Slug ") Ġval Ġseries Slug : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Series U rn ") Ġval Ġseries U rn : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" HostName ") Ġval Ġhost Name : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Series HostName ") Ġval Ġseries HostName : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Primary Channel ") Ġval Ġprimary Channel : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Primary Channel Slug ") Ġval Ġprimary Channel Slug : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Season Episode Number ing Valid ") Ġval Ġseason Episode Number ing Valid : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Season Title ") Ġval Ġseason Title : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Season Slug ") Ġval Ġseason Slug : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Season U rn ") Ġval Ġseason U rn : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Season Number ") Ġval Ġseason Number : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Pre Pre mi ere ") Ġval Ġpre Pre mi ere : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Expires So on ") Ġval Ġexpires So on : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Online Genre Text ") Ġval Ġonline Genre Text : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Primary Asset ") Ġval Ġprimary Asset : ĠPrimary Asset ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Has Public Primary Asset ") Ġval Ġhas Public Primary Asset : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Asset Target Types ") Ġval Ġasset Target Types : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Primary Broadcast StartTime ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġprimary Broadcast StartTime : ĠLong ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Sort DateTime ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġsort DateTime : ĠLong Ġ= Ġ 0 L , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" On Demand Info ") Ġval Ġon Demand Info : ĠInfo ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Slug ") Ġval Ġslug : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" U rn ") Ġval Ġurn : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Primary Image Uri ") Ġval Ġprimary Image Uri : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Presentation Uri ") Ġval Ġpresentation Uri : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Presentation Uri Aut oplay ") Ġval Ġpresentation Uri Aut oplay : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Title ") Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Subtitle ") Ġval Ġsubtitle : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Is New Series ") Ġval Ġis New Series : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Original Title ") Ġval Ġoriginal Title : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Rect ification Status ") Ġval Ġrect ification Status : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Rect ification Auto ") Ġval Ġrect ification Auto : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Rect ification Text ") Ġval Ġrect ification Text : ĠString Ġ= Ġ"") Ċ Ċ @ Serializable Ċ data Ġclass ĠInfo ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Start Publish ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġstart Publish : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" End Publish ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġend Publish : ĠLong ) Ċ Ċ @ Serializable Ċ data Ġclass ĠPrimary Asset ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Kind ") Ġval Ġkind : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Uri ") Ġval Ġuri : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Duration In Milliseconds ") Ġval Ġduration In Milliseconds : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Download able ") Ġval Ġdownload able : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Restricted To Den mark ") Ġval Ġrestricted To Den mark : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Start Publish ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġstart Publish : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" End Publish ") Ġ@ Serializable ( with Ġ= ĠDate Deserializer :: class ) Ġval Ġend Publish : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Target ") Ġval Ġtarget : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Encrypted ") Ġval Ġencrypted : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Is Live Stream ") Ġval Ġis Live Stream : ĠBoolean Ġ= Ġfalse ) Ċ Ċ @ Serializable Ċ data Ġclass ĠManifest ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Links ") Ġval Ġlinks : ĠList < Link >, ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Sub titles List ") Ġval Ġsub titles List : ĠList < Subtitle >) Ġ{ ĊĠĠĠ Ġfun Ġget Encrypted Uri (): ĠString Ġ= Ġlinks . first OrNull Ġ{ Ġit . target Ġ== Ġ" H LS " Ġ} ?. encrypted Uri Ġ?: Ġ"" ĊĠĠĠ Ġprivate Ġfun Ġget H ls Uri (): ĠString ? Ġ= Ġlinks . first OrNull Ġ{ Ġit . target Ġ== Ġ" H LS " Ġ} ?. uri ĊĠĠĠ Ġprivate Ġfun Ġget H ds Uri (): ĠString ? Ġ= Ġlinks . first OrNull Ġ{ Ġit . target Ġ== Ġ" H DS " Ġ} ?. uri ĊĠĠĠ Ġfun Ġget Uri (): ĠString ? Ġ= Ġget H ls Uri () Ġ?: Ġget H ds Uri () Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠLink ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Hard Sub titles Type ") Ġval Ġhard Sub titles Type : ĠString Ġ= Ġ" None ", ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Uri ") Ġval Ġuri : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Encrypted Uri ") Ġval Ġencrypted Uri : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" File Format ") Ġval Ġfile Format : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Target ") Ġval Ġtarget : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Bit rate ") Ġval Ġbit rate : ĠInt Ġ= Ġ 0 ) Ċ Ċ @ Serializable Ċ data Ġclass ĠSub title ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Language ") Ġval Ġlanguage : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" MimeType ") Ġval ĠmimeType : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Type ") Ġval Ġtype : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Uri ") Ġval Ġuri : ĠString ) Ċ Ċ @ Serializable Ċ data Ġclass ĠMost View ed ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Items ") Ġval Ġitems : ĠList < Program Card >, ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Paging ") Ġval Ġpaging : ĠMu Paging , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Total Size ") Ġval Ġtotal Size : ĠInt ) Ċ Ċ @ Serializable Ċ data Ġclass ĠPro grams ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Items ") Ġval Ġitems : ĠList < Program Card >, ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Paging ") Ġval Ġpaging : ĠMu Paging , ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Total Size ") Ġval Ġtotal Size : ĠInt ) Ċ Ċ @ Serializable Ċ data Ġclass ĠPage ( ĊĠĠĠĠĠĠĠ Ġ@ Serial Name (" Programs ") Ġval Ġprograms : ĠPro grams ) Ċ Ċ sealed Ġclass ĠGen re ( internal Ġval Ġvalue : ĠString ) Ġ{ ĊĠĠĠ Ġobject ĠD ram a Ġ: ĠGen re (" D ram a ") ĊĠĠĠ Ġobject ĠD okument ar Ġ: ĠGen re (" D okument ar ") ĊĠĠĠ Ġobject ĠLiv sst il Ġ: ĠGen re (" Liv sst il ") ĊĠĠĠ Ġobject ĠK ult ur Ġ: ĠGen re (" K ult ur ") ĊĠĠĠ Ġobject ĠN atur V iden Ġ: ĠGen re (" N atur Ġ& Ġv iden ") ĊĠĠĠ Ġobject ĠN y he der Ak tual itet Ġ: ĠGen re (" Ny he der Ġ& Ġaktual itet ") ĊĠĠĠ Ġobject ĠS port Ġ: ĠGen re (" Sport ") ĊĠĠĠ Ġobject ĠUnder hold ning Ġ: ĠGen re (" Under hold ning ") ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġvalue ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetBy Value ( value : ĠString ): ĠGen re Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD ram a . value Ġ-> ĠD ram a ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD okument ar . value Ġ-> ĠD okument ar ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLiv sst il . value Ġ-> ĠLiv sst il ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK ult ur . value Ġ-> ĠK ult ur ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN atur V iden . value Ġ-> ĠN atur V iden ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN y he der Ak tual itet . value Ġ-> ĠN y he der Ak tual itet ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS port . value Ġ-> ĠS port ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUnder hold ning . value Ġ-> ĠUnder hold ning ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" Genre Ġ$ value Ġnot Ġsupported ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }