/* Ċ Ġ* ĠModule : Ġr 2 - streamer - kotlin Ċ Ġ* ĠDevelopers : ĠA fer d ita ĠM uri qi , ĠCl Ã©ment ĠBa um ann Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 . ĠRead ium ĠFoundation . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġa ĠBSD - style Ġlicense Ġwhich Ġis Ġdetailed Ġin Ġthe Ċ Ġ* ĠLICENSE Ġfile Ġpresent Ġin Ġthe Ġproject Ġrepository Ġwhere Ġthis Ġsource Ġcode Ġis Ġmaintained . Ċ Ġ*/ Ċ Ċ package Ġorg . read ium . r 2 . streamer . parser . ep ub Ċ Ċ import Ġorg . read ium . r 2 . shared . Encryption Ċ import Ġorg . read ium . r 2 . shared . Publication Ċ import Ġorg . read ium . r 2 . shared . parser . xml . Node Ċ import Ġorg . read ium . r 2 . streamer . parser . normalize Ċ Ċ class ĠEncryption Parser Ġ{ ĊĊĠĠĠ Ġfun Ġparse Encryption Properties ( encrypted Data Element : ĠNode , Ġencryption : ĠEncryption ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġencryption Properties Ġ= Ġencrypted Data Element . getFirst (" Encryption Properties ") ?. get (" Encryption Property ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġfor Ġ( encryption Property Ġin Ġencryption Properties ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparse Compression Element ( encryption Property , Ġencryption ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparse Compression Element ( encryption Property : ĠNode , Ġencryption : ĠEncryption ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcompression Element Ġ= Ġencryption Property . getFirst (" Compression ") Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Length Ġ= Ġcompression Element . attributes [" Original Length "] ĊĠĠĠĠĠĠĠ Ġencryption . original Length Ġ= Ġoriginal Length ?. toInt () ĊĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġcompression Element . attributes [" Method "] Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġencryption . compression Ġ= Ġif Ġ( method Ġ== Ġ" 8 ") Ġ" def late " Ġelse Ġ" none " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( encryption : ĠEncryption , Ġpublication : ĠPublic ation , Ġencrypted Data Element : ĠNode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresource URI Ġ= Ġencrypted Data Element . getFirst (" Cipher Data ") ?. getFirst (" Cipher Reference ") ?. let Ġ{ Ġit . attributes [" URI "] Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġresource URI Ġ= Ġnormalize ("/", Ġresource URI ) ĊĠĠĠĠĠĠĠ Ġval Ġlink Ġ= Ġpublication . link With Href ( resource URI ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġlink . properties . encryption Ġ= Ġencryption ĊĠĠĠ Ġ} Ċ Ċ }