KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64
User : ServerPC ( 0)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  C:/Users/ServerPC/AppData/Roaming/Emby-Server/system.old/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : C:/Users/ServerPC/AppData/Roaming/Emby-Server/system.old/Emby.Web.dll
MZ����@���	�!�L�!This program cannot be run in DOS mode.

$PEd��4��" �@� ;`�@@ ��(� �:< T�H.textP�� `.data>!�0�@�.reloc<@B�0��z4VS_VERSION_INFO��	P	P?DVarFileInfo$Translation��StringFileInfo�000004b02	CompanyNameEmby.Web:	FileDescriptionEmby.Web2	FileVersion4.9.1.80:
InternalNameEmby.Web.dll�/LegalCopyrightCopyright �2025 Emby LLC. All rights reserved.B
OriginalFilenameEmby.Web.dll2	ProductNameEmby.Web�2ProductVersion4.9.1.80+069a0c510fe42d67dab708c5dbd3a94d4159f2a9:	Assembly Version4.9.1.80Hz�����Hp|\LP1�� �RTR	Kd(e��f�(�g��h |8i���jdZqlx(\m�/pp��vt(w�/�yX|zd�8{>�����e1n��_�D��F&&F& $(,&048<�F&@DHL&PTX\�&`d>��B��!VF��B!t>�A�U�@�@)�-�fE�A�A�Q6%�5�A�NE�qUe�Gv���F&����&�����F&����&����F&����&����=f6	f6E�yU�Fe��u�Y	i2�!a)�6Ri��!"b	�������F��������N�������`*JF���u�Vv��ކ6�%����!F5Ց��6��>u�����C;)��=�>��J���C;)�;>�K%����n>e�\u�AI]~6QY6��iFq�.
����F&-=FE�+��Ve�����բ6��x�
�vF.�	���N6��(&��N65�!&]1V6u�+�
&�Q�V.��i��;I$!1Q�i�	�*�������RSDS{�!�]@� �#,�WD:\a\1\s\src\Emby.Web\obj\Release\net8.0\Emby.Web.pdb��SHA256{�!�]�� �#,�W�I^K֒N��;(�l>��I�MPN��'������dZTdZ�dZPdZ@b0`dZp�"�qk;���.���/20`pdZ���H�)��;�`�R0`pdZ�9D���I�.f���i�+�3�����m0`pdZP�BP(b0P`pdZ���zZ�������0P`pdZ�iC��� T�P(�0`pdZ�h:u�ޠ

�F�B0P`pdZT��٢K�<�`�20dZ`#�20dZ�F��20dZjPrc 

�0P`p�dZ4lS���pD�P(
�F!�dZ���
�I��XdZdZ�dZ�

20P`p�dZ*�І9(
20dZ4���`�zb�3�B0`dZ����~����	:�L
#0`
p	����PdZ��@ɘ�j�$N�f���Jhr��e0��k���̇GK�ҤD,{�b%3�Ӽ�:���a�xIej3���hGY�W��6��M�|�d8�s@�8�h�x�x�x�x�x�8��"�(��#���
*���f��J(�����J(���	�0`
p	����PdZ���@�4)�(�0(� �
GtB?����h?UV���a��bY�'��M�v�he���\��;r4;�+���8Ͷ��l�j�VgX�[tD:�!�$�ḭ04�j�ҍNע#�Yݢ�1]z]��|�y�����+F�k��q	��1���f�c�
è
���y~]s�zFU�Q��}��b=�-�FC�]c�������ccc3��7�-�;n���S.�JH�-�o:[a����

�Ul����o��/z���;>;lv_�o��M����ʬ�>�_�n�R�M�7�T�k�UN����"|�C��Ħ�y�Y���ZP�'p+d�s_�n�y��5�4���v��R��W��u(x��ɚ|J�fV��|@`�܆ے[��	B0`
p	����PdZ20`pdZES��� #�~�MK�\�Ղm�����?;�S�-�d20`pdZd���p�3�B0P`pdZt��v�kH��B0P`pdZ��`��"k���LB0P`pdZ$07�E!Qȴ���+f���P*���0`pdZDg.��B�B�`BdZd#

20P`p�dZ�1W!�!V씢�욺|C��ݙY20`pdZe���1B0P`pdZĆɔd��!�vw2
0	P`p���dZ�j,:FC�pz��0`pPdZ��@�F��!J(D�����xJ��Ⱥ2P�8�>v���]P��S�P�N�)z}�E�&^Q̧nbX%1�y����T���L2?xD����~�a��>�vӵ<Y��=�ѫ��.�6��m{��H�׈���w1�o�2y�z*%�IɧO�1���u�J�*
���EeZ��5��Ǩ�ϷT��P�ʽ���qĴV��]c�<K{cHA��d�dB0`pPdZB0`pPdZB0`pPdZdZ
��a�0`pPdZ���@�F���:(D�����xJ��Ⱥ2
�b#hX�J����c���|�u�^�&ѾWs�&�U���n.���c4��d~&x��}y|�_س�cj7]��B�[.��K3~w���!�JY�Nj��yMM�S�)�7��m�ۿ�g6�|�í��܆��E���y�a^�e6�k���?j˸Km7�ǐ�%&�$�B0`pPdZB0`pPdZB0`pPdZ�0`p��PdZ��@�Teb�(�
�M���J��Ⱥ2
�
G����I�sdȪH�l6V|9���9�1%s�h�D�;�`��6=�6�G�S���n��Z��F�p472R�#�7C�nCM�ǹ�L,Yw�s��!�Fc��n,
��fzO3�W
��=J��bF��O�)Us
��>j�>��ٵ��5���RS�iVe���Ϡ��J���������q�2�����MR�`�WH�yA����[�����d��]�zFF�=��?���/K���L��%��bU��SS�y6H4�:ͩ�Q�J(;W�e��_��&kP���Uu�,����2-����<6���2����޸�9iwTk�Ejӵ��Z
�o3]Klf��:�d
0>�҆S����pj��Ϩ4��֩8���`L��H�AM"�B0`p��PdZB0`p��PdZB0`p��PdZ20dZpB�4dZ�dZ��� �B0`dZ�BNWI20dZP#�20dZ`D��B0`dZddͪ�b0P`pdZT��0�!��;C��
b0`pPdZ�	h X��VGyhp	|<��˴�s�V�oRJ���zs���߮�����΂�0
���O���������	B0`pPdZR0dZ�"R0dZ�" dZ�� B0`dZp$�2�20`pdZCSy�20`pdZdSI�A0�dZ�Ce
BdZ�"!dZ
�� B0`dZ��qhH1"�ү
%0`
p	����PdZ����Ϸ|ȋûp0LG+%�3(���@A~����B����p�lP�5��'x��h�Xcs��EP�:9*ge�R��c�l����^�ˀ�E�(%�d�̃@�<g:����j�|8\_t�a^���;��y�N5��E
d��/6��Ď�l{����@��U/y��+cccc����oVշ�*XuY��vb;;;;��~�E�Ջ��@{�Ep�<n�tyyT��(~žJq�%Wt��о�X":N����$XBl>������Ԕ���)��UZE�()))LA�/7{����8dr�k{kᵵ�5����\s����S[�yytnQ�E-V�b4m)�Y������B�4@�M&��ly���yx���v�f��C���(��p��d�ѿ���A�o1ZZDF�ev�2J-�sFF�Q@�u~cyAa�0i��q��u�%����@���)(��+F�^�(���u5����Ã�/��]��W
q�σ��.!�H�������E��!�˻e�n���R"����d"Fl8V���<�W��TŪ*}��B�]�Dz;�uyTP��<�:fMæ��&M%=M�<B�(�)ʐ��Q����?���,��^$f:6����= �]Ccn�ƈ���LQ�������6rr�4r
ZP�	����&�9	$Fɱ�l�t5Z�]JW	�0`
p	����PdZ����0@7x=1T
e)�p�F
�f�v�zh8>LJRLf>X�0�H�, 8N,f"r�&�& $(,048<@DHLPTX\`dhl@ExP\�`e�pt���������x�����x�����x���x� $�04�@ExP\�`exp|���x�����x�����x�������]�`��epi4pX���E�P��������s��,������������������  x  �  % x0 < �@ A HP U x` l �p q H� � T� � `� � x� � �� � H� � T� � `� � H!!H!!x !,!�0!5!x@!L!�P!Q!H`!a!Hp!"l "�"��"#�#�)��)G.�G.�.D�./` /�/��/0�0�0��0�1�1�1�2t24�2�2T�2�3d�304�04�4��45�5|5��5*6�06"9�"9^9�^9�9��9�9 �9�9$ :�<8 �<�<!�</=,!/=s=@!�=�=$ �=�CT!�C�C#�C9D0#9D�DH#�D�D$ �D�D`#�D�DH�D�Dt#EExEE�# EHE�#PE_E�#`EaEHpE�E�#�E�E�#FFF�#PF�F�#�F�F�#�FuG�#�G�GH�G�G$�G`Hp$`H�H�$�H�H�$�H�H�$�HI�$IIH IgI�$pIqIH�I�I�$�I�IH�IJ�$JJH J\J%`JaJHpJ�J%�J�JH�J�J%�JK% KHK%PKQKH`KtK %�K�K %�K�KH�KL4% LgWP%gW�WX(�W�W$ ���������2Dk�e�XM{=|U�
�����=�����E����q*�3�_u�����	"�JR�S������������E���
|<u\bd-~������n�����Nlpl
�l�l�l�p�p t0t@tPt`t1|
q|�9 19 
1AxQA�I�I�I��I��I��I�I�I!IAQaY�i�i�q�1�����h	xqy(��8�a����))�)�O�define(["exports","./events.js","./apiclient.js","./credentials.js","./../common/servicelocator.js","./../common/querystring.js","./../common/usersettings/usersettings.js","./../common/appsettings.js"],function(_exports,_events,_apiclient,_credentials,_servicelocator,_querystring,_usersettings,_appsettings){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var currentApiClient,defaultTimeout=2e4;function setCurrentApiClient(instance,apiClient){instance.globalScopeApiClient&&(globalThis.ApiClient=apiClient),currentApiClient=apiClient}var ConnectionMode_Local=0,ConnectionMode_Remote=1,ConnectionMode_Manual=2;function getServerAddress(server,mode){switch(mode){case ConnectionMode_Local:return server.LocalAddress;case ConnectionMode_Manual:return server.ManualAddress;case ConnectionMode_Remote:return server.RemoteAddress;default:return server.ManualAddress||server.LocalAddress||server.RemoteAddress}}function mergeServers(credentialProvider,list1,list2){for(var changed=!1,i=0,length=list2.length;i<length;i++)credentialProvider.addOrUpdateServer(list1,list2[i])&&(changed=!0);return changed}function updateServerInfo(server,systemInfo){systemInfo.ServerName&&(server.Name=systemInfo.ServerName),systemInfo.Id&&(server.Id=systemInfo.Id),systemInfo.LocalAddress&&(server.LocalAddress=systemInfo.LocalAddress),systemInfo.WanAddress&&(server.RemoteAddress=systemInfo.WanAddress)}function getCapabilities(){var supportsSync=_servicelocator.appHost.supports("sync");return(supportsSync&&_servicelocator.appHost.getSyncProfile?_servicelocator.appHost.getSyncProfile():Promise.resolve(null)).then(function(deviceProfile){var supportedCommands={PlayableMediaTypes:["Audio","Video"],SupportedCommands:(supportedCommands=["MoveUp","MoveDown","MoveLeft","MoveRight","PageUp","PageDown","PreviousLetter","NextLetter","ToggleOsd","ToggleContextMenu","Select","Back","SendKey","SendString","GoHome","GoToSettings","VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","RefreshMediaSource","DisplayContent","GoToSearch","DisplayMessage","TriggerTranscodingFallback","SetRepeatMode","SetShuffle","SetSubtitleOffset","SetSubtitleAppearance","SetPlaybackRate","ChannelUp","ChannelDown","PlayMediaSource","PlayTrailers"],_servicelocator.appHost.supports("sleeptimer")&&supportedCommands.push("SetSleepTimer"),supportedCommands),SupportsMediaControl:!0};return supportedCommands.DeviceProfile=deviceProfile,supportedCommands.IconUrl=_servicelocator.appHost.deviceIconUrl?_servicelocator.appHost.deviceIconUrl():null,supportedCommands.SupportsSync=supportsSync,supportedCommands.SupportsContentUploading=_servicelocator.appHost.supports("cameraupload"),supportedCommands=_servicelocator.appHost.getPushTokenInfo?Object.assign(supportedCommands,_servicelocator.appHost.getPushTokenInfo()):supportedCommands})}function getFetchPromise(request,signal){var err,fetchRequest,timeoutSignal;return signal&&signal.aborted?Promise.reject(((err=new Error("AbortError")).name="AbortError",err)):(err=request.headers||{},"json"===request.dataType&&(err.accept="application/json"),fetchRequest={headers:err,method:request.type,credentials:"same-origin"},request.timeout&&(timeoutSignal=AbortSignal.timeout(request.timeout),signal=signal?AbortSignal.any([signal,timeoutSignal]):timeoutSignal),signal&&(fetchRequest.signal=signal),timeoutSignal=request.contentType,request.data&&("string"==typeof request.data?fetchRequest.body=request.data:(fetchRequest.body=_querystring.default.paramsToString(request.data),timeoutSignal=timeoutSignal||"application/x-www-form-urlencoded; charset=UTF-8")),timeoutSignal&&(err["Content-Type"]=timeoutSignal),fetch(request.url,fetchRequest))}function sortServers(a,b){return(b.DateLastAccessed||0)-(a.DateLastAccessed||0)}function setServerProperties(server){server.Type="Server"}function ajax(request,signal){if(request)return request.headers||(request.headers={}),console.log("ConnectionManager requesting url: "+request.url),getFetchPromise(request,signal).then(function(response){return console.log("ConnectionManager response status: "+response.status+", url: "+request.url),response.status<400?"json"===request.dataType?response.json():"text"===request.dataType?response.text():"application/json"===request.headers.accept?response.json():204===response.status?response.text():response:Promise.reject(response)});throw new Error("Request cannot be null")}function getConnectUrl(handler){return"https://connect.emby.media/service/"+handler}function replaceAll(originalString,strReplace,strWith){strReplace=new RegExp(strReplace,"ig");return originalString.replace(strReplace,strWith)}function normalizeAddress(address){return address=replaceAll(address=(address=address.trim()).toLowerCase().startsWith("http")?address:address.includes(":443")||address.includes(":8920")?"https://"+address:"http://"+address,"Http:","http:"),address=replaceAll(address,"Https:","https:")}function compareVersions(a,b){a=a.split("."),b=b.split(".");for(var i=0,length=Math.max(a.length,b.length);i<length;i++){var aVal=parseInt(a[i]||"0"),bVal=parseInt(b[i]||"0");if(aVal<bVal)return-1;if(bVal<aVal)return 1}return 0}function addAppInfoToConnectRequest(instance,request){request.headers||(request.headers={}),request.headers["X-Application"]=instance.appName()+"/"+instance.appVersion()}function getCacheKey(feature,apiClient,argument_2){var options=2<arguments.length&&void 0!==argument_2?argument_2:{},cacheKey="regInfo-"+apiClient.serverId();return options.viewOnly&&(cacheKey+="-viewonly"),options.allowNonPremiere&&(cacheKey+="-allowNonPremiere"),cacheKey}function onConnectUserSignIn(instance,user){instance._connectUser=user,_events.default.trigger(instance,"connectusersignedin",[user])}function ensureConnectUser(instance,credentials){var connectUser=instance.connectUser();return(!connectUser||connectUser.Id!==credentials.ConnectUserId)&&credentials.ConnectUserId&&credentials.ConnectAccessToken?(instance._connectUser=null,function(instance,userId,accessToken){if(!userId)throw new Error("null userId");if(accessToken)return ajax({type:"GET",url:"https://connect.emby.media/service/user?id="+userId,dataType:"json",headers:{"X-Application":instance.appName()+"/"+instance.appVersion(),"X-Connect-UserToken":accessToken}});throw new Error("null accessToken")}(instance,credentials.ConnectUserId,credentials.ConnectAccessToken).then(function(user){return onConnectUserSignIn(instance,user),Promise.resolve()},function(){return Promise.resolve()})):Promise.resolve()}function updateUserAuthenticationInfoOnServer(server,userId,accessToken){if(accessToken){server.UserId=userId,server.AccessToken=null,delete server.AccessToken;for(var users=(server.Users||[]).slice(0),i=0,length=users.length;i<length;i++){var user=users[i];if(user.UserId===userId)return void(user.AccessToken=accessToken)}users.push({UserId:userId,AccessToken:accessToken}),server.Users=users}else removeUserFromServer(server,userId)}function removeUserFromServer(server,userId){if(server.UserId===userId&&(server.UserId=null),server.AccessToken=null,delete server.AccessToken,server.Users){for(var users=(server.Users||[]).slice(0),list=[],i=0,length=users.length;i<length;i++){var user=users[i];user.UserId!==userId&&list.push(user)}server.Users=list}}function clearUsersFromServer(server){server.UserId=null,server.AccessToken=null,delete server.AccessToken,server.Users&&(server.Users=[])}function getUserAuthInfoFromServer(server,userId){if(server.Users)for(var users=(server.Users||[]).slice(0),i=0,length=users.length;i<length;i++){var user=users[i];if(user.UserId===userId)return user}return null}function getLastUserAuthInfoFromServer(server){return server.UserId?getUserAuthInfoFromServer(server,server.UserId):null}function validateAuthentication(instance,server,userAuthInfo,serverUrl){console.log("connectionManager.validateAuthentication: "+serverUrl);var userId=userAuthInfo.UserId;return ajax({type:"GET",url:instance.getEmbyServerUrl(serverUrl,"System/Info",{api_key:userAuthInfo.AccessToken}),dataType:"json"}).then(function(systemInfo){return updateServerInfo(server,systemInfo),systemInfo},function(){return removeUserFromServer(server,userId),Promise.resolve()})}function findServers(){function onFinish(foundServers){return foundServers.map(function(foundServer){return{Id:foundServer.Id,LocalAddress:((info=foundServer).Address&&info.EndpointAddress?(address=info.EndpointAddress.split(":")[0],1<(info=info.Address.split(":")).length&&(info=info[info.length-1],isNaN(parseInt(info))||(address+=":"+info)),normalizeAddress(address)):null)||foundServer.Address,Name:foundServer.Name,LastConnectionMode:ConnectionMode_Local};var info,address})}return _servicelocator.serverDiscovery.findServers(1e3).then(onFinish,function(){return onFinish([])})}function validateServerAddressWithEndpoint(connectionManager,url,endpoint){return ajax({url:connectionManager.getEmbyServerUrl(url,endpoint),timeout:defaultTimeout,type:"GET",dataType:"text"}).then(function(result){var srch=String.fromCharCode(106)+String.fromCharCode(101)+String.fromCharCode(108)+String.fromCharCode(108)+String.fromCharCode(121)+String.fromCharCode(102);return(result||"").toLowerCase().includes(srch)?Promise.reject("serverversion"):Promise.resolve()})}function onAuthenticated(apiClient,result){var options={},instance=this,credentials=_credentials.default.credentials(),servers=credentials.Servers.filter(function(s){return s.Id===result.ServerId}),server=servers.length?servers[0]:apiClient.serverInfo(),userAuthInfo=(!1!==options.updateDateLastAccessed&&(server.DateLastAccessed=Date.now()),server.Id=result.ServerId,updateUserAuthenticationInfoOnServer(server,result.User.Id,result.AccessToken),_credentials.default.addOrUpdateServer(credentials.Servers,server)&&_credentials.default.credentials(credentials),apiClient.enableAutomaticBitrateDetection=options.enableAutomaticBitrateDetection,apiClient.serverInfo(server),getUserAuthInfoFromServer(server,result.User.Id));return apiClient.setAuthenticationInfo(userAuthInfo),options.reportCapabilities=!0,afterConnected(instance,apiClient,server,options),apiClient.getPublicSystemInfo().then(function(systemInfo){return updateServerInfo(server,systemInfo),_credentials.default.addOrUpdateServer(credentials.Servers,server)&&_credentials.default.credentials(credentials),instance._getOrAddApiClient(server,apiClient.serverAddress(),userAuthInfo),onLocalUserSignIn(instance,server,apiClient,result.User.Id,apiClient.serverAddress())})}function afterConnected(instance,apiClient,server,argument_3){var options=3<arguments.length&&void 0!==argument_3?argument_3:{};!0!==options.reportCapabilities&&!1===options.reportCapabilities||!function(instance,apiClient){instance.reportCapabilities(apiClient)}(instance,apiClient),apiClient.enableAutomaticBitrateDetection=options.enableAutomaticBitrateDetection,apiClient.enableWebSocketAutoConnect=!1!==options.enableWebSocket,apiClient.enableWebSocketAutoConnect&&(console.log("calling apiClient.ensureWebSocket"),apiClient.connected=!0,apiClient.ensureWebSocket())}function onLocalUserSignIn(instance,server,apiClient,userId){return setCurrentApiClient(instance,apiClient),_usersettings.default.setUserInfo(userId,apiClient).then(function(){_events.default.trigger(instance,"localusersignedin",[server.Id,userId,apiClient])})}function handleConnectServersResponse(servers){return console.log("Connect servers response: "+JSON.stringify(servers)),servers.map(function(i){return{ExchangeToken:i.AccessKey,ConnectServerId:i.Id,Id:i.SystemId,Name:i.Name,RemoteAddress:i.Url,LocalAddress:i.LocalAddress}})}function tryReconnectToUrl(instance,url,connectionMode,delay,signal){return console.log("tryReconnectToUrl: "+url),timeout=delay,new Promise(function(resolve){setTimeout(resolve,timeout)}).then(function(){return ajax({url:instance.getEmbyServerUrl(url,"system/info/public"),timeout:defaultTimeout,type:"GET",dataType:"json"},signal).then(function(result){return{url:url,connectionMode:connectionMode,data:result}})});var timeout}function afterConnectValidated(instance,server,credentials,systemInfo,connectionMode,serverUrl,verifyLocalAuthentication,options){console.log("connectionManager.afterConnectValidated: "+serverUrl);var userAuthInfo=((options=options||{}).userId?getUserAuthInfoFromServer(server,options.userId):function(server,options){var autoLogin=options.autoLogin||_appsettings.default.autoLogin();switch(autoLogin){case"lastuser":return getLastUserAuthInfoFromServer(server);case"none":case"showlogin":return null;default:var userInfo=autoLogin.split("|");if(2===userInfo.length)return getUserAuthInfoFromServer(server,userInfo[1])}}(server,options))||{};if(verifyLocalAuthentication&&userAuthInfo.UserId&&userAuthInfo.AccessToken)return validateAuthentication(instance,server,userAuthInfo,serverUrl).then(function(fullSystemInfo){return options.userId=userAuthInfo.UserId,afterConnectValidated(instance,server,credentials,fullSystemInfo||systemInfo,connectionMode,serverUrl,!1,options)});updateServerInfo(server,systemInfo),server.LastConnectionMode=connectionMode,!1!==options.updateDateLastAccessed&&(server.DateLastAccessed=Date.now()),_credentials.default.addOrUpdateServer(credentials.Servers,server)&&_credentials.default.credentials(credentials);function resolveActions(){return _events.default.trigger(instance,"connected",[result]),Promise.resolve(result)}var result={Servers:[]},verifyLocalAuthentication=(result.ApiClient=instance._getOrAddApiClient(server,serverUrl,userAuthInfo,!0),result.ApiClient.setSystemInfo(systemInfo),options.autoLogin||_appsettings.default.autoLogin());result.State=userAuthInfo.UserId&&userAuthInfo.AccessToken&&"none"!==verifyLocalAuthentication&&"showlogin"!==verifyLocalAuthentication?"SignedIn":"ServerSignIn",result.Servers.push(server),result.ApiClient.enableAutomaticBitrateDetection=options.enableAutomaticBitrateDetection,result.ApiClient.updateServerInfo(server,serverUrl),instance.resetRegistrationInfo(result.ApiClient,!0);return console.log("connectionManager.afterConnectValidated result.State: "+(result.State||"")),"SignedIn"===result.State?(afterConnected(instance,result.ApiClient,server,options),onLocalUserSignIn(instance,server,result.ApiClient,userAuthInfo.UserId).then(resolveActions,resolveActions)):resolveActions()}function onSuccessfulConnection(instance,server,systemInfo,connectionMode,serverUrl,options){console.log("connectionManager.onSuccessfulConnection: "+serverUrl);var credentials=_credentials.default.credentials(),autoLogin=(options=options||{}).autoLogin||_appsettings.default.autoLogin();return credentials.ConnectAccessToken&&"none"!==autoLogin?ensureConnectUser(instance,credentials).then(function(){return server.ExchangeToken?function(instance,server,serverUrl,credentials){if(!server.ExchangeToken)throw new Error("server.ExchangeToken cannot be null");var appName,appVersion,deviceName,deviceId;if(credentials.ConnectUserId)return credentials={format:"json",ConnectUserId:credentials.ConnectUserId},appName=instance.appName(),appVersion=instance.appVersion(),deviceName=instance.deviceName(),deviceId=instance.deviceId(),appName&&(credentials["X-Emby-Client"]=appName),deviceId&&(credentials["X-Emby-Device-Id"]=deviceId),appVersion&&(credentials["X-Emby-Client-Version"]=appVersion),deviceName&&(credentials["X-Emby-Device-Name"]=deviceName),credentials["X-Emby-Token"]=server.ExchangeToken,ajax({type:"GET",url:instance.getEmbyServerUrl(serverUrl,"Connect/Exchange",credentials),dataType:"json"}).then(function(auth){return updateUserAuthenticationInfoOnServer(server,auth.LocalUserId,auth.AccessToken),auth},function(){return clearUsersFromServer(server),Promise.reject()});throw new Error("credentials.ConnectUserId cannot be null")}(instance,server,serverUrl,credentials).then(function(){return afterConnectValidated(instance,server,credentials,systemInfo,connectionMode,serverUrl,!0,options)},function(){return afterConnectValidated(instance,server,credentials,systemInfo,connectionMode,serverUrl,!0,options)}):afterConnectValidated(instance,server,credentials,systemInfo,connectionMode,serverUrl,!0,options)}):afterConnectValidated(instance,server,credentials,systemInfo,connectionMode,serverUrl,!0,options)}function getServerUnavailableResult(instance,response,server,address){return(null!=(response=response&&!response.text&&response.errors?response.errors[0]:response)&&response.text?response.text():Promise.resolve()).then(function(msg){return{State:"Unavailable",ErrorMessage:msg,Server:server,ConnectUser:instance.connectUser(),Address:address}})}function resolveIfAvailable(instance,url,server,result,connectionMode,options){return console.log("connectionManager.resolveIfAvailable: "+url),function(instance,url){return!1===instance.enableServerAddressValidation?Promise.resolve():Promise.all([validateServerAddressWithEndpoint(instance,url,"web/manifest.json"),validateServerAddressWithEndpoint(instance,url,"web/index.html"),validateServerAddressWithEndpoint(instance,url,"web/strings/en-US.json")])}(instance,url).then(function(){return onSuccessfulConnection(instance,server,result,connectionMode,url,options)},function(err){return"serverversion"===err?(console.log("minServerVersion requirement not met. Server version: "+result.Version),{State:"ServerUpdateNeeded",Servers:[server]}):getServerUnavailableResult(instance,err,server)})}function ConnectionManager(){this._apiClients=[],this._apiClientsMap={},console.log("Begin ConnectionManager constructor"),this._appName=_servicelocator.appHost.appName(),this._appVersion=_servicelocator.appHost.appVersion(),this._deviceName=_servicelocator.appHost.deviceName(),this._deviceId=_servicelocator.appHost.deviceId(),this._minServerVersion="4.7.14",_events.default.on(_credentials.default,"credentialsupdated",function(e,data){_events.default.trigger(this,"credentialsupdated",[data])}.bind(this))}ConnectionManager.prototype.appName=function(){return this._appName},ConnectionManager.prototype.appVersion=function(){return this._appVersion},ConnectionManager.prototype.deviceName=function(){return this._deviceName},ConnectionManager.prototype.deviceId=function(){return this._deviceId},ConnectionManager.prototype.minServerVersion=function(val){return val&&(this._minServerVersion=val),this._minServerVersion},ConnectionManager.prototype.connectUser=function(){return this._connectUser},ConnectionManager.prototype.connectUserId=function(){return _credentials.default.credentials().ConnectUserId},ConnectionManager.prototype.connectToken=function(){return _credentials.default.credentials().ConnectAccessToken},ConnectionManager.prototype.getServerInfo=function(id){return _credentials.default.credentials().Servers.filter(function(s){return s.Id===id})[0]},ConnectionManager.prototype.getLastUsedServer=function(){var servers=_credentials.default.credentials().Servers;return servers.sort(sortServers),servers.length?servers[0]:null},ConnectionManager.prototype.getApiClientFromServerInfo=function(server,serverUrlToMatch){server.DateLastAccessed=Date.now(),null==server.LastConnectionMode&&server.ManualAddress&&(server.LastConnectionMode=ConnectionMode_Manual);var credentials=_credentials.default.credentials(),serverUrlToMatch=(_credentials.default.addOrUpdateServer(credentials.Servers,server,serverUrlToMatch)&&_credentials.default.credentials(credentials),this._getOrAddApiClient(server,getServerAddress(server,server.LastConnectionMode)));return setCurrentApiClient(this,serverUrlToMatch),serverUrlToMatch},ConnectionManager.prototype.clearData=function(){console.log("connection manager clearing data"),this._connectUser=null;var credentials=_credentials.default.credentials();credentials.ConnectAccessToken=null,credentials.ConnectUserId=null,credentials.Servers=[],_credentials.default.credentials(credentials)},ConnectionManager.prototype.currentApiClient=function(){var server;return currentApiClient||(server=this.getLastUsedServer())&&(currentApiClient=setCurrentApiClient(this,this.getApiClient(server.Id))),currentApiClient},ConnectionManager.prototype._getOrAddApiClient=function(server,serverUrl,userAuthInfo,forceUpdateApiClientServerInfo){var apiClient=server.Id?this.getApiClient(server.Id):null;if(!apiClient&&server.IsLocalServer)for(var i=0,length=this._apiClients.length;i<length;i++){var current=this._apiClients[i];if(current.serverInfo().IsLocalServer){apiClient=current;break}}return apiClient?server.Id&&(apiClient.serverId()&&!forceUpdateApiClientServerInfo||(apiClient.serverInfo(server),apiClient.setAuthenticationInfo(userAuthInfo||getLastUserAuthInfoFromServer(server))),this._apiClientsMap[server.Id]=apiClient):(console.log("creating new apiclient"),apiClient=new _servicelocator.apiClientFactory(serverUrl,this.appName(),this.appVersion(),this.deviceName(),this.deviceId(),this.devicePixelRatio),currentApiClient=currentApiClient||apiClient,this._apiClients.push(apiClient),apiClient.serverInfo(server),apiClient.setAuthenticationInfo(userAuthInfo||getLastUserAuthInfoFromServer(server)),apiClient.serverId()&&(this._apiClientsMap[apiClient.serverId()]=apiClient),apiClient.setCurrentLocale(this.currentLocale),apiClient.onAuthenticated=onAuthenticated.bind(this),_events.default.trigger(this,"apiclientcreated",[apiClient]),_events.default.on(apiClient,"serveraddresschanged",function(e,data){_events.default.trigger(this,"serveraddresschanged",[data])}.bind(this))),console.log("returning instance from getOrAddApiClient"),apiClient},ConnectionManager.prototype.setCurrentLocale=function(value){this.currentLocale=value;for(var i=0,length=this._apiClients.length;i<length;i++)this._apiClients[i].setCurrentLocale(value)},ConnectionManager.prototype.logout=function(apiClient){console.log("begin connectionManager loguot");for(var promises=[],isLoggedIntoConnect=this.isLoggedIntoConnect(),apiClients=apiClient&&!isLoggedIntoConnect?[apiClient]:this._apiClients.slice(0),apiClientInfos=[],i=0,length=apiClients.length;i<length;i++){var currApiClient=apiClients[i];currApiClient.accessToken()&&(promises.push(function(instance,apiClient){var logoutInfo={serverId:apiClient.serverId()};return apiClient.logout().then(function(){_usersettings.default.setUserInfo(null,null),_events.default.trigger(instance,"localusersignedout",[logoutInfo])},function(){_usersettings.default.setUserInfo(null,null),_events.default.trigger(instance,"localusersignedout",[logoutInfo])})}(this,currApiClient)),apiClientInfos.push({userId:currApiClient.getCurrentUserId(),serverId:currApiClient.serverId()}))}var instance=this;return Promise.all(promises).then(function(){for(var credentials=_credentials.default.credentials(),servers=credentials.Servers.slice(0),_i=0,_length=apiClientInfos.length;_i<_length;_i++)!function(){var server,apiClientInfo=apiClientInfos[_i],currentServerId=apiClientInfo.serverId;currentServerId&&(server=servers.filter(function(s){return s.Id===currentServerId})[0])&&(isLoggedIntoConnect?clearUsersFromServer(server):removeUserFromServer(server,apiClientInfo.userId),server.ExchangeToken=null)}();credentials.Servers=servers,credentials.ConnectAccessToken=null,credentials.ConnectUserId=null,_credentials.default.credentials(credentials),instance._connectUser=null})},ConnectionManager.prototype.getSavedServers=function(){var servers;return _credentials.default?((servers=_credentials.default.credentials().Servers.slice(0)).forEach(setServerProperties),servers.sort(sortServers),servers):(console.log("A call was made to getSavedServers before connectionManager was initialized."),[])},ConnectionManager.prototype.getAvailableServers=function(){console.log("Begin getAvailableServers");var credentials=_credentials.default.credentials();return Promise.all([function(instance,credentials){return console.log("Begin getConnectServers"),credentials.ConnectAccessToken&&credentials.ConnectUserId?ajax({type:"GET",url:"https://connect.emby.media/service/servers?userId="+credentials.ConnectUserId,dataType:"json",headers:{"X-Application":instance.appName()+"/"+instance.appVersion(),"X-Connect-UserToken":credentials.ConnectAccessToken}}).then(handleConnectServersResponse,function(){return credentials.Servers.slice(0).filter(function(s){return s.ExchangeToken})}):Promise.resolve([])}(this,credentials),findServers()]).then(function(responses){var connectServers=responses[0],responses=responses[1],servers=credentials.Servers.slice(0),changed=!1;return mergeServers(_credentials.default,servers,responses)&&(changed=!0),mergeServers(_credentials.default,servers,connectServers)&&(changed=!0),(servers=function(servers,connectServers){return servers.filter(function(server){return!server.ExchangeToken||0<connectServers.filter(function(connectServer){return server.Id===connectServer.Id}).length})}(servers,connectServers)).forEach(setServerProperties),servers.sort(sortServers),changed||JSON.stringify(servers)!==JSON.stringify(credentials.Servers)&&(changed=!0),changed&&(credentials.Servers=servers,_credentials.default.credentials(credentials)),servers})},ConnectionManager.prototype.connectToServers=function(servers,options){console.log("Begin connectToServers, with "+servers.length+" servers");var firstServer=servers.length?servers[0]:null;return firstServer?this.connectToServer(firstServer,options).then(function(result){return"Unavailable"===result.State&&(result.State="ServerSelection"),console.log("resolving connectToServers with result.State: "+result.State),result}):Promise.resolve({Servers:servers,State:servers.length||this.connectUser()?"ServerSelection":"ConnectSignIn",ConnectUser:this.connectUser()})},ConnectionManager.prototype.connectToServer=function(server,options){console.log("begin connectToServer"),options=options||{};var instance=this;return function(instance,serverInfo,signal){var addresses=[],addressesStrings=[];if(serverInfo.ManualAddress&&((address=serverInfo.ManualAddress).includes("://127.0.0.1")||!!address.toLowerCase().includes("://localhost"))&&!addressesStrings.includes(serverInfo.ManualAddress.toLowerCase())&&(addresses.push({url:serverInfo.ManualAddress,mode:ConnectionMode_Manual}),addressesStrings.push(addresses[addresses.length-1].url.toLowerCase())),serverInfo.ManualAddressOnly||!serverInfo.LocalAddress||addressesStrings.includes(serverInfo.LocalAddress.toLowerCase())||(addresses.push({url:serverInfo.LocalAddress,mode:ConnectionMode_Local}),addressesStrings.push(addresses[addresses.length-1].url.toLowerCase())),serverInfo.ManualAddress&&!addressesStrings.includes(serverInfo.ManualAddress.toLowerCase())&&(addresses.push({url:serverInfo.ManualAddress,mode:ConnectionMode_Manual}),addressesStrings.push(addresses[addresses.length-1].url.toLowerCase())),serverInfo.ManualAddressOnly||!serverInfo.RemoteAddress||addressesStrings.includes(serverInfo.RemoteAddress.toLowerCase())||(addresses.push({url:serverInfo.RemoteAddress,mode:ConnectionMode_Remote}),addressesStrings.push(addresses[addresses.length-1].url.toLowerCase())),console.log("tryReconnect: "+addressesStrings.join("|")),!addressesStrings.length)return Promise.reject();for(var abortController=new AbortController,address=abortController.abort.bind(abortController),promises=(signal&&signal.addEventListener("abort",address),signal=abortController.signal,[]),i=0,length=addresses.length;i<length;i++)promises.push(tryReconnectToUrl(instance,addresses[i].url,addresses[i].mode,200*i,signal));return Promise.any(promises).then(function(result){return abortController.abort(),result})}(this,server).then(function(result){var serverUrl=result.url,connectionMode=result.connectionMode;return result=result.data,1===compareVersions(instance.minServerVersion(),result.Version)||1===compareVersions(result.Version,"8.0")?(console.log("minServerVersion requirement not met. Server version: "+result.Version),{State:"ServerUpdateNeeded",Servers:[server]}):(server.Id&&result.Id!==server.Id&&!1!==instance.validateServerIds&&updateServerInfo(server={Id:result.Id,ManualAddress:serverUrl},result),resolveIfAvailable(instance,serverUrl,server,result,connectionMode,options))},function(err){return getServerUnavailableResult(instance,err,server)})},ConnectionManager.prototype.connectToAddress=function(address,options){if(!address)return Promise.reject();address=normalizeAddress(address);var instance=this;var server={ManualAddress:address,LastConnectionMode:ConnectionMode_Manual};return this.connectToServer(server,options).catch(function(err){return console.log("connectToAddress "+address+" failed"),getServerUnavailableResult(instance,err,{ManualAddress:address},address)})},ConnectionManager.prototype.loginToConnect=function(username,password){var instance;return username&&password?ajax({type:"POST",url:"https://connect.emby.media/service/user/authenticate",data:{nameOrEmail:username,rawpw:password},dataType:"json",contentType:"application/x-www-form-urlencoded; charset=UTF-8",headers:{"X-Application":(instance=this).appName()+"/"+this.appVersion()}}).then(function(result){var credentials=_credentials.default.credentials();return credentials.ConnectAccessToken=result.AccessToken,credentials.ConnectUserId=result.User.Id,_credentials.default.credentials(credentials),onConnectUserSignIn(instance,result.User),result}):Promise.reject()},ConnectionManager.prototype.signupForConnect=function(options){var email=options.email,username=options.username,password=options.password,passwordConfirm=options.passwordConfirm;return email&&username&&password?!passwordConfirm||password!==passwordConfirm?Promise.reject({errorCode:"passwordmatch"}):(passwordConfirm={email:email,userName:username,rawpw:password},options.grecaptcha&&(passwordConfirm.grecaptcha=options.grecaptcha),ajax({type:"POST",url:"https://connect.emby.media/service/register",data:passwordConfirm,dataType:"json",contentType:"application/x-www-form-urlencoded; charset=UTF-8",headers:{"X-Application":this.appName()+"/"+this.appVersion(),"X-CONNECT-TOKEN":"CONNECT-REGISTER"}}).catch(function(response){return response.json()}).then(function(result){if(result&&result.Status)return"SUCCESS"===result.Status?Promise.resolve(result):Promise.reject({errorCode:result.Status});Promise.reject()})):Promise.reject({errorCode:"invalidinput"})},ConnectionManager.prototype.getUserInvitations=function(){var connectToken=this.connectToken();if(!connectToken)throw new Error("null connectToken");if(this.connectUserId())return ajax({type:"GET",url:"https://connect.emby.media/service/servers?userId="+this.connectUserId()+"&status=Waiting",dataType:"json",headers:{"X-Connect-UserToken":connectToken,"X-Application":this.appName()+"/"+this.appVersion()}});throw new Error("null connectUserId")},ConnectionManager.prototype.deleteServer=function(serverId){var server,connectToken,connectUserId;if(serverId)return(server=(server=_credentials.default.credentials().Servers.filter(function(s){return s.Id===serverId})).length?server[0]:null).ConnectServerId&&(connectToken=this.connectToken(),connectUserId=this.connectUserId(),connectToken)&&connectUserId?ajax({type:"DELETE",url:"https://connect.emby.media/service/serverAuthorizations?serverId="+server.ConnectServerId+"&userId="+connectUserId,headers:{"X-Connect-UserToken":connectToken,"X-Application":this.appName()+"/"+this.appVersion()}}).then(onDone,onDone):onDone();throw new Error("null serverId");function onDone(){var credentials=_credentials.default.credentials();return credentials.Servers=credentials.Servers.filter(function(s){return s.Id!==serverId}),_credentials.default.credentials(credentials),Promise.resolve()}},ConnectionManager.prototype.resetRegistrationInfo=function(apiClient,onlyResetIfFailed){var removeAll=!1,cacheKey=getCacheKey("themes",apiClient,{viewOnly:!0}),regInfo=JSON.parse(_servicelocator.appStorage.getItem(cacheKey)||"{}");!removeAll&&onlyResetIfFailed&&-1!==regInfo.lastValidDate||(_servicelocator.appStorage.removeItem(cacheKey),removeAll=!0),cacheKey=getCacheKey("themes",apiClient,{viewOnly:!1}),regInfo=JSON.parse(_servicelocator.appStorage.getItem(cacheKey)||"{}"),!removeAll&&onlyResetIfFailed&&-1!==regInfo.lastValidDate||(_servicelocator.appStorage.removeItem(cacheKey),removeAll=!0),onlyResetIfFailed||_events.default.trigger(this,"resetregistrationinfo")},ConnectionManager.prototype.getRegistrationInfo=function(feature,apiClient,options){var regCacheValid,params={serverId:apiClient.serverId(),deviceId:this.deviceId(),deviceName:this.deviceName(),appName:this.appName(),appVersion:this.appVersion()},cacheKey=((options=options||{}).viewOnly&&(params.viewOnly=options.viewOnly),options.allowNonPremiere&&(params.allowNonPremiere=options.allowNonPremiere),getCacheKey(feature,apiClient,options)),feature=JSON.parse(_servicelocator.appStorage.getItem(cacheKey)||"{}"),timeSinceLastValidation=Date.now()-(feature.lastValidDate||0);return timeSinceLastValidation<=864e5?(console.log("getRegistrationInfo returning cached info"),Promise.resolve()):options.useCachedFailure&&-1===feature.lastValidDate||(regCacheValid=timeSinceLastValidation<=864e5*(feature.cacheExpirationDays||7),!params.serverId)||(options=apiClient.getCurrentUserId())&&"81f53802ea0247ad80618f55d9b4ec3c"===options.toLowerCase()&&"21585256623b4beeb26d5d3b09dec0ac"===params.serverId.toLowerCase()?Promise.reject():(timeSinceLastValidation=ajax({url:"https://mb3admin.com/admin/service/registration/validateDevice?"+new URLSearchParams(params).toString(),type:"POST",dataType:"json"}).then(function(response){return _servicelocator.appStorage.setItem(cacheKey,JSON.stringify({lastValidDate:Date.now(),deviceId:params.deviceId,cacheExpirationDays:response.cacheExpirationDays,lastUpdated:Date.now()})),Promise.resolve()},function(response){var status=(response||{}).status;if(console.log("getRegistrationInfo response: "+status),status&&status<500&&_servicelocator.appStorage.setItem(cacheKey,JSON.stringify({lastValidDate:-1,deviceId:params.deviceId,cacheExpirationDays:0,lastUpdated:Date.now()})),403===status)return params.allowNonPremiere?Promise.reject("overlimit_nonpremiere"):Promise.reject("overlimit");if(status&&status<500)return Promise.reject();status=response;if(console.log("getRegistrationInfo failed: "+status),regCacheValid)return console.log("getRegistrationInfo returning cached info"),Promise.resolve();throw status}),regCacheValid?(console.log("getRegistrationInfo returning cached info"),Promise.resolve()):timeSinceLastValidation)},ConnectionManager.prototype.createPin=function(){var request={type:"POST",url:getConnectUrl("pin"),data:{deviceId:this.deviceId()},dataType:"json"};return addAppInfoToConnectRequest(this,request),ajax(request)},ConnectionManager.prototype.getPinStatus=function(pinInfo){if(pinInfo)return pinInfo={deviceId:pinInfo.DeviceId,pin:pinInfo.Pin},addAppInfoToConnectRequest(this,pinInfo={type:"GET",url:getConnectUrl("pin")+"?"+new URLSearchParams(pinInfo).toString(),dataType:"json"}),ajax(pinInfo);throw new Error("pinInfo cannot be null")},ConnectionManager.prototype.exchangePin=function(pinInfo){var instance;if(pinInfo)return instance=this,function(instance,pinInfo){if(pinInfo)return addAppInfoToConnectRequest(instance,instance={type:"POST",url:getConnectUrl("pin/authenticate"),data:{deviceId:pinInfo.DeviceId,pin:pinInfo.Pin},dataType:"json"}),ajax(instance);throw new Error("pinInfo cannot be null")}(this,pinInfo).then(function(result){var credentials=_credentials.default.credentials();return credentials.ConnectAccessToken=result.AccessToken,credentials.ConnectUserId=result.UserId,_credentials.default.credentials(credentials),ensureConnectUser(instance,credentials)});throw new Error("pinInfo cannot be null")},ConnectionManager.prototype.connect=function(options){console.log("Begin connect");var instance=this;return instance.getAvailableServers().then(function(servers){return instance.connectToServers(servers,options)})},ConnectionManager.prototype.handleMessageReceived=function(msg){var serverId=msg.ServerId;if(serverId){serverId=this.getApiClient(serverId);if(serverId){if("string"==typeof msg.Data)try{msg.Data=JSON.parse(msg.Data)}catch(err){console.log("Error in handleMessageReceived JSON.parse: "+err)}serverId.handleMessageReceived(msg)}}},ConnectionManager.prototype.onNetworkChanged=function(){for(var apiClients=this._apiClients,i=0,length=apiClients.length;i<length;i++)apiClients[i].onNetworkChanged()},ConnectionManager.prototype.onAppResume=function(){for(var apiClients=this._apiClients,i=0,length=apiClients.length;i<length;i++)apiClients[i].ensureWebSocket()},ConnectionManager.prototype.isLoggedIntoConnect=function(){return!(!this.connectToken()||!this.connectUserId())},ConnectionManager.prototype.isLoggedIn=function(serverId,userId){var server=_credentials.default.credentials().Servers.filter(function(s){return s.Id===serverId})[0];return!!server&&null!=(null==(userId=userId?getUserAuthInfoFromServer(server,userId):getLastUserAuthInfoFromServer(server))?void 0:userId.AccessToken)},ConnectionManager.prototype.getApiClients=function(){for(var servers=this.getSavedServers(),i=0,length=servers.length;i<length;i++){var serverUrl,server=servers[i];server.Id&&(serverUrl=getServerAddress(server,server.LastConnectionMode))&&this._getOrAddApiClient(server,serverUrl)}return this._apiClients},ConnectionManager.prototype.getApiClient=function(item){if(!item)throw new Error("item or serverId cannot be null");var serverId=(serverId=item.ServerId)||(item.Id&&"Server"===item.Type?item.Id:item);if(serverId&&(apiClient=this._apiClientsMap[serverId]))return apiClient;for(var apiClients=this._apiClients,i=0,length=apiClients.length;i<length;i++){var apiClient,apiClientServerId=(apiClient=apiClients[i]).serverId();if(!apiClientServerId||apiClientServerId===serverId)return apiClient}return null},ConnectionManager.prototype.getEmbyServerUrl=function(baseUrl,handler,params){return _apiclient.default.getUrl(handler,params,baseUrl)},ConnectionManager.prototype.reportCapabilities=function(apiClient){return getCapabilities().then(function(capabilities){return apiClient.reportCapabilities(capabilities)})},ConnectionManager.prototype.getSignedInUsers=function(apiClient){for(var server,credentials=_credentials.default.credentials(),serverId=apiClient.serverId(),servers=credentials.Servers.slice(0),i=0,length=servers.length;i<length;i++)if(servers[i].Id===serverId){server=servers[i];break}if(!server)return Promise.resolve([]);for(var users=(server.Users||[]).slice(0),promises=[],_i2=0,_length2=users.length;_i2<_length2;_i2++)promises.push(function(user,server,apiClient){return apiClient.getUser(user.UserId).catch(function(err){var userRemoved,index;return 404===(null==err?void 0:err.status)&&-1<(index=server.Users.indexOf(user))&&(server.Users.splice(index,1),userRemoved=!0),console.log("Error in getUserRecordFromAuthentication: "+err),Promise.resolve({IsError:!0,UserRemoved:userRemoved})})}(users[_i2],server,apiClient));return Promise.all(promises).then(function(responses){for(var userRemoved,usersResult=[],_i3=0,_length3=responses.length;_i3<_length3;_i3++)responses[_i3].IsError?responses[_i3].UserRemoved&&(userRemoved=!0):usersResult.push(responses[_i3]);return userRemoved&&(_credentials.default.addOrUpdateServer(credentials.Servers,server),_credentials.default.credentials(credentials)),usersResult})},ConnectionManager.prototype.validateCanChangeToUser=function(apiClient,userId){for(var server,credentials=_credentials.default.credentials(),serverId=apiClient.serverId(),servers=credentials.Servers.slice(0),i=0,length=servers.length;i<length;i++)if(servers[i].Id===serverId){server=servers[i];break}if(!server)return Promise.reject();for(var user,users=(server.Users||[]).slice(0),_i4=0,_length4=users.length;_i4<_length4;_i4++)if(users[_i4].UserId===userId){user=users[_i4];break}return user?validateAuthentication(this,server,user,apiClient.serverAddress()).catch(function(err){return _credentials.default.addOrUpdateServer(credentials.Servers,server)&&_credentials.default.credentials(credentials),Promise.reject(err)}):Promise.reject()},ConnectionManager.prototype.changeToUser=function(apiClient,userId){var instance=this;return this.validateCanChangeToUser(apiClient,userId).then(function(){for(var server,credentials=_credentials.default.credentials(),serverId=apiClient.serverId(),servers=credentials.Servers.slice(0),i=0,length=servers.length;i<length;i++)if(servers[i].Id===serverId){server=servers[i];break}if(!server)return Promise.reject();for(var user,users=(server.Users||[]).slice(0),_i5=0,_length5=users.length;_i5<_length5;_i5++)if(users[_i5].UserId===userId){user=users[_i5];break}return user?apiClient.getUser(user.UserId).then(function(fullUserFromServer){return onAuthenticated.call(instance,apiClient,{ServerId:serverId,User:fullUserFromServer,AccessToken:user.AccessToken})}):Promise.reject()})};_exports.default=new ConnectionManager});�&define(["exports","./browser.js","./common/appsettings.js","./emby-apiclient/events.js"],function(_exports,_browser,_appsettings,_events){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var appMode=globalThis.appMode,isNativeTizen="tizen"===appMode,isNativeLG="webos"===appMode;function getDeviceId(){var key="_deviceId2",deviceId=_appsettings.default.get(key);return deviceId||(deviceId=globalThis.crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=16*Math.random()|0;return("x"===c?r:3&r|8).toString(16)}),_appsettings.default.set(key,deviceId)),Promise.resolve(deviceId)}function containsGreaseChar(value){return value.includes("\\")||value.includes("/")||value.includes(";")||value.includes('"')||value.toLowerCase().includes("brand")}function isGenericBrand(value){return!!(value=value.toLowerCase()).includes("chromium")}function compareBrands(a,b){a=a.brand||"",b=b.brand||"";return containsGreaseChar(a)&&!containsGreaseChar(b)?1:!containsGreaseChar(a)&&containsGreaseChar(b)?-1:isGenericBrand(a)&&!isGenericBrand(b)?1:!isGenericBrand(a)&&isGenericBrand(b)||a<b?-1:b<a?1:0}function map(i){return i}features={},navigator.share&&(features.sharing=!0),_browser.default.tv||(features.filedownload=!0),(_browser.default.operaTv||isNativeTizen||isNativeLG)&&(features.exit=!0),isNativeLG||(features.exitmenu=!0),isNativeLG||isNativeTizen||(features.plugins=!0,features.screensaver=!0),_browser.default.operaTv||isNativeTizen||isNativeLG||_browser.default.playstation||(features.externallinks=!0,features.externalpremium=!0),_browser.default.operaTv||(features.externallinkdisplay=!0,features.externalappinfo=!0),_browser.default.tv||(features.displaymode=!0,features.fullscreenmediaqueries=!0),isNativeLG||isNativeTizen||(features.ebookplayer=!0,features.pdfplayer=!0),function(){var element;if(!_browser.default.tv&&"undefined"!=typeof document)return(element=document.documentElement).requestFullscreen||element.mozRequestFullScreen||element.webkitRequestFullscreen||element.msRequestFullscreen||!!document.createElement("video").webkitEnterFullscreen}()&&(features.fullscreenchange=!0),_browser.default.tizen||_browser.default.operaTv||isNativeLG||_browser.default.netcast||(navigator.hardwareConcurrency||4)<4||(navigator.deviceMemory||2)<2||!globalThis.AudioContext||!document.createElement("audio").canPlayType("audio/mp3").replace(/no/,"")||(features.soundeffects=!0),("embyclient"===appMode||_browser.default.operaTv||isNativeTizen||isNativeLG||globalThis.location.href.toLowerCase().startsWith("https"))&&(features.connectsignup=!0),features.themesongvolume=!0,appMode&&(features.multiserver=!0,!_browser.default.electron)&&"https:"===(globalThis.location||{}).protocol&&(features.rejectinsecureaddresses=!0),"standalone"!==(appMode||"standalone")||_browser.default.electron||(features.sessionstorage=!0),_browser.default.tv&&(features.physicalvolumecontrol=!0,features.nativevolumeosd=!0),features.otherapppromotions=!0,features.targetblank=!0,features.subtitleappearancesettings=!0,_browser.default.tv||(features.fileinput=!0,features.keyboardsettings=!0,features.remotecontrol=!0),features.youtube=!0,features.youtube_embedded=!0,_browser.default.chrome&&(features.chromecast=!0),function(){if(globalThis.matchMedia)try{var isDarkMode=window.matchMedia("(prefers-color-scheme: dark)").matches,isLightMode=window.matchMedia("(prefers-color-scheme: light)").matches,isNotSpecified=window.matchMedia("(prefers-color-scheme: no-preference)").matches;return!(!isDarkMode&&!isLightMode&&!isNotSpecified)}catch(err){}}()&&(features.preferredtheme=!0),isNativeTizen||isNativeLG||(features.premiereinheader=!0),_browser.default.tv&&(features.physicalbackbutton=!0),isNativeTizen||isNativeLG||(features.serversetup=!0),features.subtitlepositionbottom=!0,features.subtitlepositiontop=!0,features.sleeptimer=!0,globalThis.SpeechRecognition&&globalThis.isSecureContext&&(isNativeTizen||isNativeLG||(features.speechrecognition=!0)),(isNativeTizen||isNativeLG)&&(features.forcetranscodingforformats=!0);var features,deviceId,deviceName,supportedFeatures=features;function brandsContain(brands,txt){for(var i=0,length=brands.length;i<length;i++)if((brands[i].brand||"").toLowerCase().includes(txt))return 1}var appVersion,appName=_browser.default.electron?"Emby Theater":isNativeLG?"Emby for LG":isNativeTizen?"Emby for Samsung":"Emby Web",appHost={getWindowState:function(){return document.windowState||"Normal"},setWindowState:function(state){throw new Error("setWindowState is not supported and should not be called")},exit:function(){if(_events.default.trigger(this,"beforeexit"),window.NetCastExit)try{window.NetCastExit()}catch(err){console.log("error closing application: "+err)}else if(window.webOS)try{webOS.platformBack()}catch(err){console.log("error closing application: "+err)}else if(window.tizen)try{tizen.application.getCurrentApplication().exit()}catch(err){console.log("error closing application: "+err)}else window.close()},supports:function(command){return supportedFeatures[command]},moreIcon:"dots-horiz",getSyncProfile:function(){return Emby.importModule("./modules/browserdeviceprofile.js").then(function(profileBuilder){return profileBuilder({maxStaticMusicBitrate:_appsettings.default.maxStaticMusicBitrate()})})},init:function(){return getDeviceId().then(function(generatedDeviceId){return deviceId=generatedDeviceId,function(){var modelName,_deviceName,deviceName;return _browser.default.tizen?(_deviceName="Samsung Smart TV",_deviceName+=globalThis.webapis&&globalThis.webapis.productinfo?" ("+globalThis.webapis.productinfo.getRealModel()+")":"",Promise.resolve(_deviceName)):isNativeLG?(_deviceName="LG Smart TV",_deviceName+=0<(modelName=_browser.default.modelName).length?" ("+modelName+")":"",Promise.resolve(_deviceName)):_browser.default.operaTv?Promise.resolve("Opera TV"):(_deviceName=Array.prototype.map.call((null==(modelName=navigator.userAgentData)?void 0:modelName.brands)||[],map).sort(compareBrands),deviceName=(deviceName=_deviceName.length?_deviceName[0].brand:deviceName)||"Web Browser",navigator.userAgentData.getHighEntropyValues(["platform"]).then(function(values){return values.platform&&(deviceName+=" "+values.platform),Promise.resolve(deviceName)}))}().then(function(generatedDeviceName){return deviceName=generatedDeviceName,(isNativeTizen&&tizen.application&&tizen.application.getAppInfo?Promise.resolve(tizen.application.getAppInfo().version):globalThis.curWidget&&globalThis.curWidget.version?Promise.resolve(globalThis.curWidget.version):globalThis.webOS&&globalThis.webOS.fetchAppInfo?new Promise(function(resolve){globalThis.webOS.fetchAppInfo(function(info){resolve(info.version)})}):Promise.resolve(globalThis.dashboardVersion||"3.0.0")).then(function(generatedAppVersion){appVersion=generatedAppVersion})})})},deviceName:function(){return deviceName},deviceId:function(){return deviceId},appName:function(){return appName},appVersion:function(){return appVersion},getPushTokenInfo:function(){return{}},setTheme:function(themeSettings){var metaThemeColor=document.querySelector("meta[name=theme-color]");metaThemeColor&&metaThemeColor.setAttribute("content",themeSettings.themeColor)},setUserScalable:function(scalable){_browser.default.tv||(scalable=scalable?"viewport-fit=cover, width=device-width, initial-scale=1, minimum-scale=1, user-scalable=yes":"viewport-fit=cover, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no",document.querySelector("meta[name=viewport]").setAttribute("content",scalable))},deviceIconUrl:function(){var _navigator$userAgentD2=(null==(_navigator$userAgentD2=navigator.userAgentData)?void 0:_navigator$userAgentD2.brands)||[];return _browser.default.xboxOne?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/xboxone.png":_browser.default.opera||_browser.default.operaTv?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/opera.png":isNativeTizen?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/samsungtv.png":isNativeLG||_browser.default.netcast?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/lgtv.png":_browser.default.playstation?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/playstation.png":_browser.default.chromecast?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/chromecast.png":brandsContain(_navigator$userAgentD2,"chrome")?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/chrome.png":brandsContain(_navigator$userAgentD2,"safari")?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/safari.png":brandsContain(_navigator$userAgentD2,"firefox")?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/firefox.png":brandsContain(_navigator$userAgentD2,"edge")?"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/edge_chromium.png":"https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/html5.png"},getPreferredTheme:function(){try{if(window.matchMedia("(prefers-color-scheme: dark)").matches)return"dark";if(window.matchMedia("(prefers-color-scheme: light)").matches)return"light"}catch(err){}return null},requestSpeechRecognitionPermission:function(){return Promise.resolve()}},appMode=globalThis.document,_isHidden=!1;function onAppVisible(){_isHidden&&(_isHidden=!1,_events.default.trigger(appHost,"resume"))}function onAppHidden(){_isHidden||(_isHidden=!0,_events.default.trigger(appHost,"pause"))}appMode&&appMode.addEventListener("visibilitychange",function(){(document.hidden?onAppHidden:onAppVisible)()}),globalThis.addEventListener&&appMode&&(globalThis.addEventListener("focus",onAppVisible),globalThis.addEventListener("blur",onAppHidden));_exports.default=appHost});RMdefine(["exports","./../common/inputmanager.js","./../browser.js","./../dom.js"],function(_exports,_inputmanager,_browser,_dom){var keyDownTarget;function onGamePadAOrEnterKeyDown(e,key,target,checkEditable,checkTagName){if(!checkEditable||isEditable(target)||e.preventDefault(),target!==keyDownTarget){if(!target.classList.contains("dynamicKeyDownTarget"))return void e.preventDefault();keyDownTarget=target}var targetSupportsLongPress=target.classList.contains("longpress"),supportSelect=!0;if(checkTagName)switch(target.tagName){case"INPUT":if(supportSelect=!1,targetSupportsLongPress)break;return;case"SELECT":case"TEXTAREA":return}if(target.classList.contains("longpress"))return checkForLongPress(e,key,"menu")?void 0:void e.preventDefault();if(checkTagName){if(!supportSelect)return;if(e.repeat)return}else if(target.closest('button,a,select,input:not([type="range"]),textarea'))return;sendCommandFromEvent("select",e)}function onGamePadAOrEnterKeyUp(e,target,wasLongPressed,checkEditable){checkEditable&&!isEditable(target)&&e.preventDefault(),target.classList.contains("longpress")&&(wasLongPressed||sendCommandFromEvent("select",e),e.preventDefault())}function sendCommandFromEvent(name,e){var options={sourceElement:e.target,repeat:e.repeat||e.repeatHack,originalEvent:e};_inputmanager.default.trigger(name,options)&&e.preventDefault()}function isEditable(elem){var readOnly=elem.readOnly;if(!readOnly&&!1===readOnly)switch(elem.type){case"checkbox":case"radio":case"file":case"hidden":case"range":return;default:return 1}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var repeatingKey,handleMultiMediaKeys=!_browser.default.electron,goBackOnBackspace=_browser.default.electron||_browser.default.tv||"embyclient"===globalThis.appMode,appMode=globalThis.appMode,IsBrowser=!_browser.default.electron&&"standalone"===(appMode||"standalone"),isNativeTizen="tizen"===globalThis.appMode,isNativeLG="webos"===globalThis.appMode,repeatKeyFirstInputTime=0,lastRepeatingKeyTime=0,repeatKeyCount=0,repeatKeyLongPressed=!1,EnableRepeatWorkaround=isNativeTizen||isNativeLG||_browser.default.playstation||"android"===appMode,EnableRepeatHack=isNativeTizen||isNativeLG,LongPressTimeout=500;function throttleRepeatingKey(key,e){var timestamp=e.timeStamp,isRepeat=e.repeat;if(EnableRepeatWorkaround&&!isRepeat&&key===repeatingKey&&(isRepeat=!0,function(e){try{Object.defineProperty(e,"repeat",{value:!0})}catch(err){}EnableRepeatHack&&(e.repeatHack=!0)}(e)),isRepeat&&key===repeatingKey){if(timestamp-lastRepeatingKeyTime<(repeatKeyCount?80:200))return e.preventDefault(),1;repeatKeyCount++}else repeatingKey=key,repeatKeyCount=0,repeatKeyFirstInputTime=timestamp,repeatKeyLongPressed=!1;lastRepeatingKeyTime=timestamp}function checkForLongPress(e,key,command){return function(e,key){if(throttleRepeatingKey(key,e),e.repeat&&!repeatKeyLongPressed){key=e.timeStamp;if(LongPressTimeout<=key-repeatKeyFirstInputTime)return repeatKeyLongPressed=!0,1}}(e,key)&&(console.log("executing "+command+" command following long press of "+key),sendCommandFromEvent(command,e),1)}function getKeyFromKeyCode(keyCode){switch(keyCode){case 13:return"Enter";case 19:return"Pause";case 27:return"Back";case 32:return" ";case 33:return"PageUp";case 34:return"PageDown";case 37:return"ArrowLeft";case 39:return"ArrowRight";case 38:return"ArrowUp";case 40:return"ArrowDown";case 195:return"GamepadA";case 196:return"GamepadB";case 197:return"GamepadX";case 198:return"GamepadY";case 199:return"GamepadRightShoulder";case 200:return"GamepadLeftShoulder";case 201:return"GamepadLeftTrigger";case 202:return"GamepadRightTrigger";case 203:return"GamepadDPadUp";case 204:return"GamepadDPadDown";case 205:return"GamepadDPadLeft";case 206:return"GamepadDPadRight";case 207:return"GamepadMenu";case 208:return"GamepadView";case 209:return"GamepadLeftThumbstickButton";case 210:return"GamepadRightThumbstickButton";case 211:return"GamepadLeftThumbStickUp";case 212:return"GamepadLeftThumbStickDown";case 213:return"GamepadLeftThumbStickRight";case 214:return"GamepadLeftThumbStickLeft";case 403:return"ColorF0Red";case 404:return"ColorF1Green";case 405:return"ColorF2Yellow";case 406:return"ColorF3Blue";case 412:return"MediaRewind";case 413:return"Stop";case 415:return"Play";case 416:return"MediaRecord";case 417:return"MediaFastForward";case 427:return"ChannelUp";case 428:return"ChannelDown";case 447:return"VolumeUp";case 448:return"VolumeDown";case 449:return"VolumeMute";case 457:case 1056:return"Info";case 458:return"Guide";case 459:case 460:return"Subtitle";case 461:case 10009:return"Back";case 10073:return"ChannelList";case 10135:return"Tools";case 10140:return"PictureSize";case 10200:return"Teletext";case 10221:return"Caption";case 10225:return"Search";case 10232:return"MediaTrackPrevious";case 10233:return"MediaTrackNext";case 10252:return"MediaPlayPause"}if(null==keyCode)return null;switch(keyCode){case globalThis.VK_BACK_SPACE:return"Back";case globalThis.VK_LEFT:return"Left";case globalThis.VK_UP:return"Up";case globalThis.VK_RIGHT:return"Right";case globalThis.VK_DOWN:return"Down";case globalThis.VK_MENU:return"ContextMenu";case globalThis.VK_TRACK_NEXT:return"MediaTrackNext";case globalThis.VK_TRACK_PREV:return"MediaTrackPrevious";case globalThis.VK_INFO:return"Info";case globalThis.VK_STOP:return"MediaStop";case globalThis.VK_PLAY:return"MediaPlay";case globalThis.VK_PAUSE:return"MediaPause";case globalThis.VK_FAST_FWD:return"MediaFastForward";case globalThis.VK_REWIND:return"MediaRewind";default:return null}}var EnableReadOnlyInputWorkaround=isNativeTizen||isNativeLG,EnableSingleCharacterKeyWorkaround=isNativeLG;_dom.default.addEventListener(window,"keydown",function onKeyDown(e){var key=(key=e.resultKey||e.key)||getKeyFromKeyCode(e.keyCode),target=e.target;switch(keyDownTarget=keyDownTarget||target,key){case"ArrowUp":case"Up":case"NavigationUp":case"GamepadDPadUp":case"GamepadLeftThumbstickUp":case"GamepadLeftThumbStickUp":return isNativeTizen&&"Up"===key||throttleRepeatingKey(key,e)?void 0:void sendCommandFromEvent("up",e);case"ArrowDown":case"Down":case"NavigationDown":case"GamepadDPadDown":case"GamepadLeftThumbstickDown":case"GamepadLeftThumbStickDown":return isNativeTizen&&"Down"===key||throttleRepeatingKey(key,e)?void 0:void sendCommandFromEvent("down",e);case"ArrowLeft":case"Left":case"NavigationLeft":case"GamepadDPadLeft":case"GamepadLeftThumbStickLeft":case"GamepadLeftThumbstickLeft":return isNativeTizen&&"Left"===key?void 0:e.altKey?(e.preventDefault(),void checkForLongPress(e,key,"home")):e.shiftKey&&!isEditable(target)?void sendCommandFromEvent("rewind",e):throttleRepeatingKey(key,e)?void 0:void sendCommandFromEvent("left",e);case"ArrowRight":case"Right":case"NavigationRight":case"GamepadDPadRight":case"GamepadLeftThumbStickRight":case"GamepadLeftThumbstickRight":return isNativeTizen&&"Right"===key?void 0:e.altKey?void sendCommandFromEvent("forward",e):e.shiftKey&&!isEditable(target)?void sendCommandFromEvent("fastforward",e):throttleRepeatingKey(key,e)?void 0:void sendCommandFromEvent("right",e);case"End":return void(isEditable(target)||sendCommandFromEvent("end",e));case"Home":return void(isEditable(target)||sendCommandFromEvent("home",e));case"PageUp":return void sendCommandFromEvent("pageup",e);case"PageDown":return void sendCommandFromEvent("pagedown",e);case"Backspace":if(goBackOnBackspace&&!isEditable(target))return e.preventDefault(),void checkForLongPress(e,key,"home");break;case"Delete":case"Del":if(isEditable(target))break;return void sendCommandFromEvent("delete",e);case"GamepadA":case"GamePadA":return void onGamePadAOrEnterKeyDown(e,key,target,!0,!0);case"Accept":case"NavigationAccept":case"NavigateIn":case"Open":case"Select":case"Execute":case"Link":return void sendCommandFromEvent("select",e);case"Enter":return void onGamePadAOrEnterKeyDown(e,key,target);case"Escape":case"Esc":return void(e.shiftKey||e.altKey||e.ctrlKey||(e.preventDefault(),checkForLongPress(e,key,"home")));case"Cancel":case"NavigationCancel":case"GamepadB":case"GamePadB":case"Exit":case"NavigateOut":case"Back":case"RCUBack":case"GoBack":case"XF86Back":return e.preventDefault(),void checkForLongPress(e,key,"home");case"ContextMenu":case"NavigationMenu":return void sendCommandFromEvent("menu",e);case"Menu":if(handleMultiMediaKeys)return void sendCommandFromEvent("menu",e);break;case"GamepadMenu":sendCommandFromEvent("menu",e);break;case"Help":case"Finish":break;case"Find":case"Search":case"XF86Search":if(handleMultiMediaKeys)return void sendCommandFromEvent("search",e);break;case"ZoomIn":case"ZoomOut":return void sendCommandFromEvent("changezoom",e);case"F8":return void(IsBrowser||sendCommandFromEvent("togglemute",e));case"F9":return void(IsBrowser||sendCommandFromEvent("volumedown",e));case"F10":return void(IsBrowser||sendCommandFromEvent("volumeup",e));case"F11":return void(IsBrowser||sendCommandFromEvent("togglefullscreen",e));case"+":if(isEditable(target))break;return void sendCommandFromEvent("channelup",e);case"ChannelUp":case"GamepadY":case"RaiseChannel":case"XF86RaiseChannel":if(handleMultiMediaKeys)return void sendCommandFromEvent("channelup",e);break;case"-":if(isEditable(target))break;return void sendCommandFromEvent("channeldown",e);case"ChannelDown":case"GamepadX":case"LowerChannel":case"XF86LowerChannel":if(handleMultiMediaKeys)return void sendCommandFromEvent("channeldown",e);break;case"MediaStepForward":case"MediaFastForward":case"FastFwd":case"GamepadRightTrigger":case"AudioNext":case"XF86AudioNext":if(handleMultiMediaKeys)return void sendCommandFromEvent("fastforward",e);break;case"Pause":case"MediaPause":case"AudioPause":case"XF86AudioPause":if(handleMultiMediaKeys)return void sendCommandFromEvent("pause",e);break;case"Play":case"MediaPlay":case"AudioPlay":case"XF86AudioPlay":if(handleMultiMediaKeys)return void sendCommandFromEvent("play",e);break;case"MediaPlayPause":case"PlayBack":case"XF86PlayBack":if(handleMultiMediaKeys)return void sendCommandFromEvent("playpause",e);break;case"MediaRecord":case"AudioRecord":case"XF86AudioRecord":if(handleMultiMediaKeys)return void sendCommandFromEvent("record",e);break;case"MediaStepBackward":case"MediaRewind":case"GamepadLeftTrigger":case"AudioRewind":case"XF86AudioRewind":if(handleMultiMediaKeys)return void sendCommandFromEvent("rewind",e);break;case"Stop":case"MediaStop":case"AudioStop":case"XF86AudioStop":case"XF86Stop":if(handleMultiMediaKeys)return void sendCommandFromEvent("stop",e);break;case"MediaTrackNext":case"MediaNextTrack":case"GamepadRightShoulder":if(handleMultiMediaKeys)return void sendCommandFromEvent("next",e);break;case"MediaTrackPrevious":case"MediaPreviousTrack":case"GamepadLeftShoulder":if(handleMultiMediaKeys)return void sendCommandFromEvent("previous",e);break;case"AudioVolumeDown":case"VolumeDown":case"GamepadRightThumbStickLeft":case"GamepadRightThumbstickLeft":return void(IsBrowser||sendCommandFromEvent("volumedown",e));case"AudioVolumeUp":case"VolumeUp":case"GamepadRightThumbStickRight":case"GamepadRightThumbstickRight":return void(IsBrowser||sendCommandFromEvent("volumeup",e));case"AudioVolumeMute":case"VolumeMute":case"GamepadRightThumbStickButton":case"GamepadRightThumbstickButton":return void(IsBrowser||sendCommandFromEvent("togglemute",e));case"Red":case"XF86Red":case"ColorF0Red":return void sendCommandFromEvent("red",e);case"Green":case"XF86Green":case"ColorF1Green":return void sendCommandFromEvent("green",e);case"Yellow":case"XF86Yellow":case"ColorF2Yellow":return void sendCommandFromEvent("yellow",e);case"Blue":case"XF86Blue":case"ColorF3Blue":return void sendCommandFromEvent("blue",e);case"ColorF4Grey":return void sendCommandFromEvent("grey",e);case"ColorF5Brown":return void sendCommandFromEvent("brown",e);case"Caption":case"XF86Caption":case"ClosedCaptionToggle":return void sendCommandFromEvent("changesubtitletrack",e);case"Dimmer":return void sendCommandFromEvent("changebrightness",e);case"DVR":return void sendCommandFromEvent("guide",e);case"ChannelList":case"Guide":case"ChannelGuide":case"XF86ChannelGuide":case"GuideNextDay":case"GuidePreviousDay":return void sendCommandFromEvent("guide",e);case"Info":case"XF86Info":if(handleMultiMediaKeys)return void sendCommandFromEvent("info",e);break;case"InstantReplay":return void sendCommandFromEvent("rewind",e);case"LiveContent":return void sendCommandFromEvent("livetv",e);case"MediaAudioTrack":return void sendCommandFromEvent("changeaudiotrack",e);case"MediaLast":break;case"MediaSkipBackward":if(handleMultiMediaKeys)return void sendCommandFromEvent("previouschapter",e);break;case"MediaSkipForward":if(handleMultiMediaKeys)return void sendCommandFromEvent("nextchapter",e);break;case"MediaTopMenu":case"GamepadView":return void sendCommandFromEvent("home",e);case"NavigateNext":return void sendCommandFromEvent("next",e);case"NavigatePrevious":return void sendCommandFromEvent("previous",e);case"NextFavoriteChannel":return void sendCommandFromEvent("next",e);case"Settings":case"Tools":case"SimpleMenu":case"XF86SimpleMenu":return void sendCommandFromEvent("settings",e);case"Teletext":case"Subtitle":return void sendCommandFromEvent("changesubtitletrack",e);case"ZoomToggle":case"Zoom":case"PictureSize":case"XF86PictureSize":return void sendCommandFromEvent("changezoom",e);case"New":break;case"Save":return void sendCommandFromEvent("save",e);case"LaunchMusicPlayer":return void sendCommandFromEvent("music",e);case"LaunchScreenSaver":return void sendCommandFromEvent("screensaver",e);case"BrowserBack":if(handleMultiMediaKeys)return e.preventDefault(),void checkForLongPress(e,key,"home");break;case"BrowserFavorites":return void sendCommandFromEvent("favorites",e);case"BrowserForward":if(handleMultiMediaKeys)return void sendCommandFromEvent("forward",e);break;case"BrowserHome":if(handleMultiMediaKeys)return void sendCommandFromEvent("home",e);break;case"BrowserRefresh":if(handleMultiMediaKeys)return void sendCommandFromEvent("refresh",e);break;case"BrowserSearch":if(handleMultiMediaKeys)return void sendCommandFromEvent("search",e);break;case"BrowserStop":if(handleMultiMediaKeys)return void sendCommandFromEvent("stop",e);break;case"j":if(e.ctrlKey)return void sendCommandFromEvent("togglestats",e);break;case"g":if(e.ctrlKey)return void sendCommandFromEvent("guide",e);break;case"Add":case"Subtract":break;case"a":case"A":if(e.ctrlKey&&e.shiftKey)return void sendCommandFromEvent("changeaudiotrack",e);break;case"b":case"B":if(e.altKey&&!e.ctrlKey)return e.preventDefault(),void checkForLongPress(e,key,"home");break;case"d":case"D":if(e.ctrlKey)return void sendCommandFromEvent("menu",e);break;case"o":case"O":if(e.ctrlKey)return void sendCommandFromEvent("recordedtv",e);break;case"p":case"P":if(e.ctrlKey)return e.shiftKey?void sendCommandFromEvent("play",e):void sendCommandFromEvent("playpause",e);break;case"r":case"R":if(!IsBrowser&&e.ctrlKey)return void sendCommandFromEvent("record",e);break;case"s":case"S":if(e.ctrlKey)return e.shiftKey?void sendCommandFromEvent("stop",e):void sendCommandFromEvent("search",e);break;case"t":case"T":if(!IsBrowser&&e.ctrlKey)return void sendCommandFromEvent("livetv",e);break;case"u":case"U":if(e.ctrlKey)return void sendCommandFromEvent("changesubtitletrack",e);break;case"z":case"Z":if(e.ctrlKey&&e.shiftKey)return void sendCommandFromEvent("changezoom",e);break;case"Unidentified":if(e.resultKey=getKeyFromKeyCode(e.keyCode),e.resultKey)return onKeyDown(e);break;default:if(EnableSingleCharacterKeyWorkaround&&key&&1===key.length&&127<key.charCodeAt(0)&&(e.resultKey=getKeyFromKeyCode(e.keyCode),e.resultKey))return onKeyDown(e);EnableReadOnlyInputWorkaround&&!function(e){var val,value=e.keyCode;(8===value||32===value||48<=value&&value<=57||65<=value&&value<=90)&&"INPUT"===(e=e.target).tagName&&e.readOnly&&(8===value?(val=e.value,e.value=val.length?val.substring(0,val.length-1):""):(-1===e.maxLength||e.value.length<e.maxLength)&&(e.value+=String.fromCharCode(value)),e.dispatchEvent(new CustomEvent("input",{bubbles:!0})))}(e)}!function(e){_inputmanager.default.notify(null,e)}(e)},{passive:!1}),_dom.default.addEventListener(window,"keyup",function onKeyUp(e){EnableRepeatWorkaround&&(repeatingKey=null,lastRepeatingKeyTime=repeatKeyCount=0);var wasLongPressed=repeatKeyLongPressed,target=(repeatKeyLongPressed=!1,repeatKeyFirstInputTime=0,e.target),lastKeyDownTarget=keyDownTarget;if(keyDownTarget=null,target===lastKeyDownTarget||target.classList.contains("dynamicKeyDownTarget")){var key=e.resultKey||e.key;switch(key=key||getKeyFromKeyCode(e.keyCode)){case"ArrowLeft":case"Left":case"NavigationLeft":case"GamepadDPadLeft":case"GamepadLeftThumbStickLeft":case"GamepadLeftThumbstickLeft":isNativeTizen&&"Left"===key||e.altKey&&(e.preventDefault(),wasLongPressed||sendCommandFromEvent("back",e));break;case"Backspace":goBackOnBackspace&&!isEditable(target)&&(e.preventDefault(),wasLongPressed||sendCommandFromEvent("back",e));break;case"Escape":case"Esc":return void(e.shiftKey||e.altKey||e.ctrlKey||(wasLongPressed?e.preventDefault():sendCommandFromEvent("back",e)));case"Cancel":case"NavigationCancel":case"GamepadB":case"GamePadB":case"Exit":case"NavigateOut":case"Back":case"RCUBack":case"GoBack":case"XF86Back":return void(wasLongPressed?e.preventDefault():sendCommandFromEvent("back",e));case"GamepadA":case"GamePadA":return void onGamePadAOrEnterKeyUp(e,target,wasLongPressed,!0);case"Enter":return void onGamePadAOrEnterKeyUp(e,target,wasLongPressed,!1);case"BrowserBack":handleMultiMediaKeys&&(wasLongPressed?e.preventDefault():sendCommandFromEvent("back",e));break;case"b":case"B":e.altKey&&!e.ctrlKey&&(wasLongPressed?e.preventDefault():sendCommandFromEvent("back",e));break;case"Unidentified":if(e.resultKey=getKeyFromKeyCode(e.keyCode),e.resultKey)return keyDownTarget=lastKeyDownTarget,onKeyUp(e);break;default:if(EnableSingleCharacterKeyWorkaround&&key&&1===key.length&&127<key.charCodeAt(0)&&(e.resultKey=getKeyFromKeyCode(e.keyCode),e.resultKey))return keyDownTarget=lastKeyDownTarget,onKeyUp(e)}}},{passive:!1});_exports.default={normalizeKeyFromEvent:function normalizeKeyFromEvent(e){var key=e.key;switch(key=key||getKeyFromKeyCode(e.keyCode)){case"ArrowUp":case"Up":case"NavigationUp":case"GamepadDPadUp":case"GamepadLeftThumbstickUp":case"GamepadLeftThumbStickUp":return"ArrowUp";case"ArrowDown":case"Down":case"NavigationDown":case"GamepadDPadDown":case"GamepadLeftThumbstickDown":case"GamepadLeftThumbStickDown":return"ArrowDown";case"ArrowLeft":case"Left":case"NavigationLeft":case"GamepadDPadLeft":case"GamepadLeftThumbStickLeft":case"GamepadLeftThumbstickLeft":return e.shiftKey&&!isEditable(e.target)?"MediaRewind":"ArrowLeft";case"ArrowRight":case"Right":case"NavigationRight":case"GamepadDPadRight":case"GamepadLeftThumbStickRight":case"GamepadLeftThumbstickRight":return e.shiftKey&&!isEditable(e.target)?"MediaFastForward":"ArrowRight";case"Accept":case"NavigationAccept":case"NavigateIn":case"GamepadA":case"GamePadA":case"Open":case"Select":case"Execute":case"Link":case"Enter":return"Enter";case"BrowserBack":case"Close":case"Escape":case"Esc":case"Cancel":case"NavigationCancel":case"GamepadB":case"GamePadB":case"Exit":case"NavigateOut":case"Back":case"RCUBack":case"GoBack":case"XF86Back":return"Back";case"MediaStepBackward":case"MediaRewind":case"GamepadLeftTrigger":case"AudioRewind":case"XF86AudioRewind":case"InstantReplay":return"MediaRewind";case"MediaStepForward":case"MediaFastForward":case"FastFwd":case"GamepadRightTrigger":case"AudioNext":case"XF86AudioNext":return"MediaFastForward";case"Unidentified":var keyResult=getKeyFromKeyCode(e.keyCode);if(keyResult)return normalizeKeyFromEvent({key:keyResult});break;default:if(key&&1===key.length&&127<key.charCodeAt(0)&&(keyResult=getKeyFromKeyCode(e.keyCode)))return normalizeKeyFromEvent({key:keyResult})}return key}}});�Edefine(["exports","./../emby-apiclient/events.js","./../emby-apiclient/connectionmanager.js","./../common/appsettings.js","./../focusmanager.js","./../dialoghelper/dialoghelper.js","./../loading/loading.js","./../common/servicelocator.js","./../layoutmanager.js","./../common/globalize.js","./../listview/listview.js","./../emby-elements/emby-button/emby-button.js","./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js","./../emby-elements/emby-itemscontainer/emby-itemscontainer.js"],function(_exports,_events,_connectionmanager,_appsettings,_focusmanager,_dialoghelper,_loading,_servicelocator,_layoutmanager,_globalize,_listview,_embyButton,_embyDialogclosebutton,_embyItemscontainer){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["formDialogStyle"]);var currentDisplayingProductInfos=[],currentDisplayingResolve=null,currentValidatingFeature=null,isCurrentDialogRejected=null;function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function showInAppPurchaseInfo(subscriptionOptions,unlockableProductInfo,dialogOptions){return new Promise(function(resolve,reject){!function(subscriptionOptions,unlockableProductInfo,dialogOptions,resolve,reject){cancelInAppPurchase(),currentDisplayingProductInfos=subscriptionOptions.slice(0),unlockableProductInfo&&currentDisplayingProductInfos.push(unlockableProductInfo);var i,length,dlg=_dialoghelper.default.createDialog({size:_layoutmanager.default.tv?"fullscreen-border":"medium-tall",removeOnClose:!0,scrollY:!1}),html=(dlg.classList.add("formDialog"),"");html=(html=(html=(html=(html=(html+='<div class="formDialogHeader">')+'<button type="button" is="emby-dialogclosebutton"></button><h3 class="formDialogHeaderTitle">')+(dialogOptions.title||""))+"</h3></div>")+'<div is="emby-scroller" data-forcescrollbar="true" data-horizontal="false" data-focusscroll="true" class="formDialogContent"><div class="scrollSlider">')+'<form class="dialogContentInner dialog-content-centered padded-left padded-right"><p style="margin-top:0;">',html+=unlockableProductInfo?_globalize.default.translate("MessageUnlockAppWithPurchaseOrSupporter"):_globalize.default.translate("MessageUnlockAppWithSupporter");for(html=(html+='</p><p style="margin-bottom:1.5em;">')+_globalize.default.translate("MessageToValidateSupporter")+"</p>",i=0,length=subscriptionOptions.length;i<length;i++)html=(html=(html=(html+="<p>")+'<button is="emby-button" type="button" class="raised button-submit block btnPurchase" data-email="'+(!1!==subscriptionOptions[i].requiresEmail)+'" data-featureid="'+subscriptionOptions[i].id+'"><span>')+subscriptionOptions[i].title)+"</span></button></p>";unlockableProductInfo&&(unlockText=_globalize.default.translate("ButtonUnlockWithPurchase"),unlockableProductInfo.price&&(unlockText=_globalize.default.translate("ButtonUnlockPrice",unlockableProductInfo.price)),html=(html+="<p>")+'<button is="emby-button" type="button" class="raised block btnPurchase" data-featureid="'+unlockableProductInfo.id+'"><span>'+unlockText+"</span></button></p>");html=(html+="<p>")+'<button is="emby-button" type="button" class="raised button-cancel block btnRestorePurchase"><span>'+_servicelocator.iapManager.getRestoreButtonText()+"</span></button></p>",subscriptionOptions.length&&(html=(html=(html+='<h1 style="margin-top:1.5em;">'+_globalize.default.translate("HeaderBenefitsEmbyPremiere")+"</h1>")+'<div is="emby-itemscontainer" class="itemsContainer benefitsItemsContainer vertical-list" style="margin-bottom:1em;"></div>')+'<h3 class="secondaryText">'+_globalize.default.translate("AndMuchMoreExclamation")+"</h3>");"playback"===dialogOptions.feature&&(html=(html+="<p>")+'<button is="emby-button" type="button" class="raised button-cancel block btnPlayMinute"><span>'+_globalize.default.translate("ButtonPlayOneMinute")+"</span></button></p>");html=(html=html+function(){var html="",termsOfPurchase=_servicelocator.iapManager.getTermsOfPurchase?_servicelocator.iapManager.getTermsOfPurchase():[];return termsOfPurchase.length&&(html+="<h1>"+_globalize.default.translate("HeaderTermsOfPurchase")+"</h1>",termsOfPurchase.push('<a is="emby-linkbutton" class="button-link" href="https://emby.media/privacy" target="_blank">'+_globalize.default.translate("PrivacyPolicy")+"</a>"),termsOfPurchase.push('<a is="emby-linkbutton" class="button-link" href="https://emby.media/terms" target="_blank">'+_globalize.default.translate("TermsOfUse")+"</a>"),html=(html+="<ul>")+termsOfPurchase.map(getPurchaseTermHtml).join("")+"</ul>"),html}()+"</form>")+"</div></div>",dlg.innerHTML=html,document.body.appendChild(dlg);var btnPurchases=dlg.querySelectorAll(".btnPurchase");for(i=0,length=btnPurchases.length;i<length;i++)btnPurchases[i].addEventListener("click",onPurchaseButtonClick);for(btnPurchases=dlg.querySelectorAll(".buttonPremiereInfo"),i=0,length=btnPurchases.length;i<length;i++)btnPurchases[i].addEventListener("click",showExternalPremiereInfo);isCurrentDialogRejected=!0;var resolveWithTimeLimit=!1,unlockText=dlg.querySelector(".btnPlayMinute");unlockText&&unlockText.addEventListener("click",function(){isCurrentDialogRejected=!(resolveWithTimeLimit=!0),_dialoghelper.default.close(dlg)});dlg.querySelector(".btnRestorePurchase").addEventListener("click",function(){!function(unlockableProductInfo){var dlg=_dialoghelper.default.createDialog({size:_layoutmanager.default.tv?"fullscreen-border":"medium-tall",removeOnClose:!0,scrollY:!1}),html=(dlg.classList.add("formDialog"),"");html=(html=(html=(html=(html=(html=(html=(html=(html+='<div class="formDialogHeader">')+'<button type="button" is="emby-dialogclosebutton"></button><h3 class="formDialogHeaderTitle">')+_servicelocator.iapManager.getRestoreButtonText())+"</h3></div>")+'<div is="emby-scroller" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true" class="formDialogContent"><div class="scrollSlider">')+'<div class="dialogContentInner dialog-content-centered padded-left padded-right"><p style="margin:0 0 2em;">')+_globalize.default.translate("HowDidYouPay"))+"</p><p>")+'<button is="emby-button" type="button" class="raised button-cancel block btnRestoreSub"><span>'+_globalize.default.translate("IHaveEmbyPremiere")+"</span></button></p>",unlockableProductInfo&&(html=(html+="<p>")+'<button is="emby-button" type="button" class="raised button-cancel block btnRestoreUnlock"><span>'+_globalize.default.translate("IPurchasedThisApp")+"</span></button></p>");html=(html+="</div>")+"</div></div>",dlg.innerHTML=html,document.body.appendChild(dlg),_loading.default.hide(),dlg.querySelector(".btnRestoreSub").addEventListener("click",function(){_dialoghelper.default.close(dlg),showAlert({text:_globalize.default.translate("MessageToValidateSupporter"),title:"Emby Premiere"})});unlockableProductInfo=dlg.querySelector(".btnRestoreUnlock");unlockableProductInfo&&unlockableProductInfo.addEventListener("click",function(){_dialoghelper.default.close(dlg),_servicelocator.iapManager.restorePurchase()});_dialoghelper.default.open(dlg)}(unlockableProductInfo)}),_loading.default.hide(),dlg.classList.add("inAppPurchaseOverlay"),dlg.addEventListener("open",function(){initSubscriptionBenefitsItemsContainer(dlg)}),_dialoghelper.default.open(dlg).then(function(){var rejected=isCurrentDialogRejected;currentDisplayingProductInfos=[],isCurrentDialogRejected=currentValidatingFeature=currentDisplayingResolve=null,rejected?reject():resolveWithTimeLimit&&resolve({enableTimeLimit:!0})})}(subscriptionOptions,unlockableProductInfo,dialogOptions,resolve,reject),currentDisplayingResolve=resolve})}function getBenefitsListOptions(items){return{renderer:_listview.default,options:{defaultBackground:!1,moreButton:!1,action:"none",multiSelect:!1,roundImage:!0,fields:["Name","ShortOverview"],draggable:!1,draggableXActions:!1,contextMenu:!1,playQueueIndicator:!1}}}function initSubscriptionBenefitsItemsContainer(context){var itemsContainer=context.querySelector(".benefitsItemsContainer");itemsContainer&&(itemsContainer.fetchData=getSubscriptionBenefits,itemsContainer.getListOptions=getBenefitsListOptions,itemsContainer.waitForCustomElementUpgrade().then(function(){return itemsContainer.resume({refresh:!0})}))}function isTestServer(apiClient){return"554ae9ea56b94c1c82cc628f6de52d85"===(null==apiClient?void 0:apiClient.serverId())}function showPeriodicMessageIfNeeded(feature){var intervalMs,settingsKey,lastMessage;return"playback"!==feature||(intervalMs=_servicelocator.iapManager.getPeriodicMessageIntervalMs(feature))<=0?Promise.resolve():(settingsKey="periodicmessage11-"+feature,(lastMessage=parseInt(_appsettings.default.get(settingsKey)||"0"))?!(Date.now()-lastMessage>intervalMs)||isTestServer(lastMessage=_connectionmanager.default.currentApiClient())?Promise.resolve():_connectionmanager.default.getRegistrationInfo(_servicelocator.iapManager.getAdminFeatureName(feature),lastMessage,{viewOnly:!0}).catch(function(errorResult){return"overlimit"===errorResult?(_appsettings.default.set(settingsKey,Date.now()),Promise.resolve()):function(settingsKey){return new Promise(function(resolve,reject){for(var dlg=_dialoghelper.default.createDialog({size:_layoutmanager.default.tv?"fullscreen-border":"medium-tall",removeOnClose:!0,scrollY:!1}),html=(dlg.classList.add("formDialog"),""),seconds=(html=(html=(html=(html=(html=(html=(html=(html=(html=(html=(html=(html=html+'<div class="formDialogHeader">'+'<button type="button" is="emby-dialogclosebutton"></button>')+'<h3 class="formDialogHeaderTitle">Emby Premiere'+"</h3>")+"</div>"+'<div is="emby-scroller" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true" class="formDialogContent">')+'<div class="scrollSlider">'+'<div class="dialogContentInner dialog-content-centered padded-left padded-right">')+('<h1 style="margin-top: 0;">'+_globalize.default.translate("HeaderDiscoverEmbyPremiere")+"</h1>"))+("<p>"+_globalize.default.translate("MessageDidYouKnowCinemaMode")+"</p>"))+("<p>"+_globalize.default.translate("CinemaModeFeatureDescription")+"</p>"))+("<h2>"+_globalize.default.translate("HeaderBenefitsEmbyPremiere")+"</h2>"))+'<div is="emby-itemscontainer" class="itemsContainer benefitsItemsContainer vertical-list">'+"</div>")+('<h3 class="secondaryText">'+_globalize.default.translate("AndMuchMoreExclamation")+"</h3>"))+"<br/>"+'<div class="formDialogFooter">')+('<button is="emby-button" type="button" class="raised button-submit block btnGetPremiere block formDialogFooterItem autofocus"><span>'+_globalize.default.translate("HeaderBecomeProjectSupporter")+"</span></button>"),11),isRejected=(html=(html+='<div class="continueTimeText formDialogFooterItem" style="margin: 1.5em 0 .5em;">'+_globalize.default.translate("ContinueInSecondsValue",seconds)+"</div>")+('<button is="emby-button" type="button" class="raised button-cancel block btnContinue block formDialogFooterItem hide"><span>'+_globalize.default.translate("Continue")+"</span></button>"),dlg.innerHTML=html=(html=html+"</div>"+"</div>")+"</div>"+"</div>",!0),timeTextInterval=setInterval(function(){var btnContinue;--seconds<=0?(clearInterval(timeTextInterval),dlg.querySelector(".continueTimeText").classList.add("hide"),(btnContinue=dlg.querySelector(".btnContinue")).classList.remove("hide"),_focusmanager.default.focus(btnContinue)):dlg.querySelector(".continueTimeText").innerHTML=_globalize.default.translate("ContinueInSecondsValue",seconds)},1e3),btnPurchases=dlg.querySelectorAll(".buttonPremiereInfo"),i=0,length=btnPurchases.length;i<length;i++)btnPurchases[i].addEventListener("click",showExternalPremiereInfo);dlg.addEventListener("close",function(e){clearInterval(timeTextInterval),(isRejected?reject:(_appsettings.default.set(settingsKey,Date.now()),resolve))()}),dlg.querySelector(".btnContinue").addEventListener("click",function(){isRejected=!1,_dialoghelper.default.close(dlg)}),dlg.querySelector(".btnGetPremiere").addEventListener("click",showPremiereInfo),dlg.addEventListener("open",function(){initSubscriptionBenefitsItemsContainer(dlg)}),_dialoghelper.default.open(dlg)})}(settingsKey)}):(_appsettings.default.set(settingsKey,Date.now()),Promise.resolve()))}function cancelInAppPurchase(){var elem=document.querySelector(".inAppPurchaseOverlay");elem&&_dialoghelper.default.close(elem)}function showExternalPremiereInfo(){_servicelocator.shell.openUrl(_servicelocator.iapManager.getPremiumInfoUrl())}function getPurchaseTermHtml(term){return"<li>"+term+"</li>"}function getSubscriptionBenefits(){var list=[];return list.push({Name:_globalize.default.translate("HeaderFreeApps"),Icon:"&#xe5CA;",ShortOverview:_globalize.default.translate("FreeAppsFeatureDescription")}),list.push({Name:_globalize.default.translate("HeaderOfflineDownloads"),Icon:"&#xe5db;",ShortOverview:_globalize.default.translate("HeaderOfflineDownloadsDescription")}),list.push({Name:_globalize.default.translate("HeaderHardwareAcceleratedTranscoding"),Icon:"transform",ShortOverview:_globalize.default.translate("HeaderHardwareAcceleratedTranscodingDescription")}),list.push({Name:_globalize.default.translate("LiveTV"),Icon:"&#xe639;",ShortOverview:_globalize.default.translate("LiveTvFeatureDescription")}),list.push({Name:"Emby DVR",Icon:"&#xe1B2;",ShortOverview:_globalize.default.translate("DvrFeatureDescription")}),list.push({Name:_globalize.default.translate("HeaderCinemaMode"),Icon:"&#xe02C;",ShortOverview:_globalize.default.translate("CinemaModeFeatureDescription")}),Promise.resolve({Items:list,TotalRecordCount:list.length})}function onPurchaseButtonClick(){var featureId=this.getAttribute("data-featureid");if("embypremiere"===featureId&&"ios"===globalThis.appMode){var apiClient=_connectionmanager.default.currentApiClient();if(!isTestServer(apiClient)){var apiClient=null==apiClient?void 0:apiClient.getCurrentUserCached();if(null==apiClient||null==(apiClient=apiClient.Policy)||!apiClient.IsAdministrator)return showAlert({text:_globalize.default.translate("AskAdminToGetPremiere"),title:"Emby Premiere"})}}"true"===this.getAttribute("data-email")?function(){if(_connectionmanager.default.isLoggedIntoConnect()){var connectUser=_connectionmanager.default.connectUser();if(connectUser&&connectUser.Email)return Promise.resolve(connectUser.Email)}return function(options){return Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)})}({label:_globalize.default.translate("LabelEmail")})}().then(function(email){_servicelocator.iapManager.beginPurchase(featureId,email)}):_servicelocator.iapManager.beginPurchase(featureId)}function showPremiereInfo(){return _servicelocator.appHost.supports("externalpremium")?(showExternalPremiereInfo(),Promise.resolve()):_servicelocator.iapManager.getSubscriptionOptions().then(function(subscriptionOptions){return showInAppPurchaseInfo(subscriptionOptions,null,{title:"Emby Premiere",feature:"sync"})})}_events.default.on(_servicelocator.iapManager,"productupdated",function(e,product){var feature,resolve=currentDisplayingResolve;product.owned&&resolve&&currentDisplayingProductInfos.filter(function(p){return product.id===p.id}).length?(isCurrentDialogRejected=!1,cancelInAppPurchase(),resolve()):(feature=currentValidatingFeature)&&_servicelocator.iapManager.isUnlockedByDefault(feature).then(function(){isCurrentDialogRejected=!1,cancelInAppPurchase(),resolve&&resolve()})});_exports.default={validateFeature:function(feature,options){return options=options||{},console.log("validateFeature: "+feature),_servicelocator.iapManager.isUnlockedByDefault(feature,options).then(function(){return showPeriodicMessageIfNeeded(feature)},function(){var unlockableFeatureCacheKey="featurepurchased-"+feature;if("1"===_appsettings.default.get(unlockableFeatureCacheKey))return showPeriodicMessageIfNeeded(feature);var unlockableProduct=_servicelocator.iapManager.getProductInfo(feature);if(unlockableProduct){var unlockableCacheKey="productpurchased-"+unlockableProduct.id;if(unlockableProduct.owned)return _appsettings.default.set(unlockableFeatureCacheKey,"1"),_appsettings.default.set(unlockableCacheKey,"1"),showPeriodicMessageIfNeeded(feature);if("1"===_appsettings.default.get(unlockableCacheKey))return showPeriodicMessageIfNeeded(feature)}var unlockableProductInfo=unlockableProduct?{enableAppUnlock:!0,id:unlockableProduct.id,price:unlockableProduct.price,feature:feature}:null;return _servicelocator.iapManager.getSubscriptionOptions().then(function(subscriptionOptions){var registrationOptions,apiClient;return 0<subscriptionOptions.filter(function(p){return p.owned}).length?Promise.resolve():(registrationOptions={viewOnly:options.viewOnly,useCachedFailure:!1===options.showDialog},apiClient=options.serverId?_connectionmanager.default.getApiClient(options.serverId):_connectionmanager.default.currentApiClient(),registrationOptions.viewOnly||_servicelocator.iapManager.allowNonPremiere&&_servicelocator.iapManager.allowNonPremiere(feature)&&(registrationOptions.allowNonPremiere=!0),_connectionmanager.default.getRegistrationInfo(_servicelocator.iapManager.getAdminFeatureName(feature),apiClient,registrationOptions).catch(function(errorResult){var alertPromise;return!1===options.showDialog?Promise.reject():(alertPromise=(alertPromise="overlimit"===errorResult?showAlert("Your Emby Premiere device limit has been exceeded. Please check with the administrator of your Emby Server and have them contact Emby support at billingsupport@emby.media if necessary.").catch(function(){return Promise.resolve()}):alertPromise)||Promise.resolve()).then(function(){var dialogOptions={title:_globalize.default.translate("HeaderUnlockFeature"),feature:feature};return currentValidatingFeature=feature,showInAppPurchaseInfo(subscriptionOptions,unlockableProductInfo,dialogOptions)})}))})})},showPremiereInfo:showPremiereInfo}});*define(["exports","./common/servicelocator.js","./layoutmanager.js","./common/globalize.js","./browser.js"],function(_exports,_servicelocator,_layoutmanager,_globalize,_browser){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var isNativeLG="webos"===globalThis.appMode;var isNativeWindows="embyclient"===globalThis.appMode;function getPremiumInfoUrl(){return"https://emby.media/premiere"}function getAdminFeatureName(feature){return"playback"===feature&&(_layoutmanager.default.tv||isNativeWindows||_browser.default.electron)?"embytheater-unlock":feature}_exports.default={getProductInfo:function(feature){return null},beginPurchase:function(feature,email){var options;return _servicelocator.appHost.supports("externalpremium")?_servicelocator.shell.openUrl(getPremiumInfoUrl()):(options="Please visit "+getPremiumInfoUrl(),Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})),Promise.reject()},restorePurchase:function(id){return Promise.reject()},getSubscriptionOptions:function(){var options=[];return options.push({id:"embypremiere",title:_globalize.default.translate("HeaderBecomeProjectSupporter"),requiresEmail:!1}),Promise.resolve(options)},isUnlockedByDefault:function(feature,options){return("playback"===feature||"playback-tv"===feature)&&(!(_layoutmanager.default.tv||"playback-tv"===feature||isNativeWindows||_browser.default.electron)||_browser.default.operaTv||_browser.default.tizen||isNativeLG)?Promise.resolve():Promise.reject()},getAdminFeatureName:getAdminFeatureName,getRestoreButtonText:function(){return _globalize.default.translate("HeaderAlreadyPaid")},getPeriodicMessageIntervalMs:function(feature){return"playback"===feature&&"embytheater-unlock"===getAdminFeatureName(feature)?864e5:0},getPremiumInfoUrl:getPremiumInfoUrl}});Ădefine(["exports","./../dom.js","./../layoutmanager.js","./../focusmanager.js"],function(_exports,_dom,_layoutmanager,_focusmanager){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!modules/virtual-scroller/virtual-scroller.css"]);var rAF=requestAnimationFrame,cAF=cancelAnimationFrame,supportsContentVisibility=CSS.supports("content-visibility","hidden"),displayProp=supportsContentVisibility?"contentVisibility":"display",displayHiddenValue=supportsContentVisibility?"hidden":"none",supportsInsetShorthand=CSS.supports("inset","0 0 0 0"),supportsTransform=CSS.supports("transform","scale(1)"),supportsTranslate=CSS.supports("translate","40px 100px");function Layout1dBase(config){this._physicalMin=0,this._physicalMax=0,this._first=-1,this._last=-1,this._itemSize={width:0,height:0},this._scrollPosition=0,this._viewportSize={width:0,height:0},this._totalItems=0,this._scrollSize=1,this._pendingReflow=!1,Object.assign(this,config)}function Layout1dGrid(config){Layout1dBase.call(this,config),this._rolumns=1}function VirtualScroller(config){this._inlineMultiplier="rtl"===document.dir?-1:1,this._totalItems=0,this._num=1/0,this._first=0,this._last=0,this._prevFirst=0,this._prevLast=0,this._needsReset=!1,this._needsRemeasure=!1,this._pendingRender=null,this._container=null,this._ordered=[],this._keyToChild=[],this._indexToMeasure={},this.requestAnimationFrameCallbackFn=this.requestAnimationFrameCallback.bind(this),this._num=0,this._first=-1,this._last=-1,this._prevFirst=-1,this._prevLast=-1,this._needsUpdateViewSize=!1,this._needsUpdateViewScrollPosition=!1,this._layout=null,this._scrollTarget=null,this._scrollSize=null,this._childrenPos=null,this._container=null,this._containerSize=null,this._containerRO=new ResizeObserver(this._containerSizeChanged.bind(this)),this.boundOnScrollTargetResize=this._scrollTargetSizeChanged.bind(this),this._skipNextChildrenSizeChanged=!1,this.sameSizeChildren=config.sameSizeChildren,this.sameSizeChildren||(this._childrenRO=new ResizeObserver(this._childrenSizeChanged.bind(this))),this.boundHandleScroll=this.handleScroll.bind(this),this.setContainer(config.container),this.setScrollTarget(config.scrollTarget)}function getFocusableElements(newItemToFocus,activeElement,direction){return newItemToFocus||null==(newItemToFocus=function(instance,currentIndex,direction){var isVertical=(instance=instance._layout).isVertical,rolumns=instance._rolumns,instance=instance._totalItems,dim1Index=Math.floor(currentIndex/rolumns),dim2Index=currentIndex%rolumns,rowIndex=isVertical?dim1Index:dim2Index,dim2Index=isVertical?dim2Index:dim1Index,dim1Index=isVertical?rolumns?Math.ceil(instance/rolumns):Number.MAX_SAFE_INTEGER:rolumns,rolumns=isVertical?rolumns:rolumns?Math.ceil(instance/rolumns):Number.MAX_SAFE_INTEGER,newRowIndex=rowIndex,newColIndex=dim2Index;switch(direction){case 0:"rtl"===document.dir?newColIndex++:newColIndex--;break;case 1:"rtl"===document.dir?newColIndex--:newColIndex++;break;case 2:newRowIndex--;break;case 3:newRowIndex++;break;default:throw new Error("Invalid dir param")}return newRowIndex<0||newColIndex<0||dim1Index<=newRowIndex||rolumns<=newColIndex||(rowIndex=currentIndex<(rowIndex=isVertical?newRowIndex*rolumns+newColIndex:newColIndex*dim1Index+newRowIndex)?Math.min(rowIndex,instance-1):rowIndex)===currentIndex?-1:rowIndex}(this,activeElement._dataItemIndex,direction))?null:!(newItemToFocus<0)&&(activeElement=this._container.getElement(newItemToFocus))?[activeElement]:[]}function DataLoader(scroller,startIndex){this.scroller=scroller,this.startIndex=startIndex,this.dataLoadTimeout=setTimeout(function(){var scroller=this.scroller,abortController=new AbortController;this.abortController=abortController,scroller.loadItems(this.startIndex,abortController.signal)}.bind(this),140)}function removeItemOnce(arr,value){value=arr.indexOf(value);-1<value&&arr.splice(value,1)}function onInit(){this.hasVirtualScrollerInit||(this.hasVirtualScrollerInit=!0,this.scroller=null,this.nodePool=[],this.dataLoaders=[],this.childTemplate=null,this.setItemSourceInternal(null))}function updateElementOuter(element,index,item,showElement,chunksChecked){(item=item||this._itemSource[index])?(this.updateElement(element,item,index),showElement&&(item=element.style)&&(item[displayProp]=null),index===this._focusIndex&&(this._focusIndex=null,function(element){setTimeout(function(){_focusmanager.default.focus(element)},0)}(element))):(element.innerHTML=this.templateInnerHTML,element.lastInnerHTML=null,index=index-index%(item=this.virtualChunkSize),!chunksChecked||chunksChecked[index]||(chunksChecked[index]=!0,function(scrollerElement,chunkSize){for(var loaders=scrollerElement.dataLoaders.slice(0),scroller=scrollerElement.scroller,first=scroller._first,last=scroller._last,i=0,length=loaders.length;i<length;i++){var loader=loaders[i],startIndex=loader.startIndex;(startIndex+chunkSize<first||last<startIndex)&&(removeItemOnce(scrollerElement.dataLoaders,loader),loader.destroy())}}(this,item),function(scroller,startIndex){for(var loaders=scroller.dataLoaders,i=0,length=loaders.length;i<length;i++){var loader=loaders[i];if(loader.startIndex===startIndex)return loader}}(this,index))||this.dataLoaders.push(new DataLoader(this,index)),showElement&&(chunksChecked=element.style)&&(chunksChecked[displayProp]=null))}Layout1dBase.prototype.setTotalItems=function(num){num!==this._totalItems&&(this._totalItems=num,this._scheduleReflow())},Layout1dBase.prototype.getDirection=function(){return this._direction},Layout1dBase.prototype.setDirection=function(dir){var overhangScaleFactor;(dir="horizontal"===dir?dir:"vertical")!==this._direction&&(this._direction=dir,this.isVertical="vertical"===dir,overhangScaleFactor=_layoutmanager.default.tv?1:this.isVertical?.25:.2,this.isVertical?this._overhang=Math.max(150,Math.round(_dom.default.getWindowSize().innerHeight*overhangScaleFactor)):this._overhang=Math.max(150,Math.round(_dom.default.getWindowSize().innerWidth*overhangScaleFactor)),this._sizeDim="horizontal"===dir?"width":"height",this._secondarySizeDim="horizontal"===dir?"height":"width",this._positionDim="horizontal"===dir?"left":"top",this._secondaryPositionDim="horizontal"===dir?"top":"left",this._scheduleReflow())},Layout1dBase.prototype.setItemSize=function(dims){var _itemDim1=this._itemDim1(),_itemDim2=this._itemDim2(),itemSize=this._itemSize;return itemSize.width=Math.floor(dims.width),itemSize.height=Math.floor(dims.height),(_itemDim1!==this._itemDim1()||_itemDim2!==this._itemDim2())&&(_itemDim2!==this._itemDim2()?this._itemDim2Changed():this._scheduleReflow(),!0)},Layout1dBase.prototype.setViewportSize=function(dims){var _viewDim1=this._viewDim1(),_viewDim2=this._viewDim2();this._viewportSize=dims,_viewDim2!==this._viewDim2()?this._viewDim2Changed():_viewDim1===this._viewDim1()&&dims.offset===this._viewportSize.offset||this._checkThresholds()},Layout1dBase.prototype.setViewportScroll=function(newScrollPosition){this._scrollPosition=newScrollPosition,this._checkThresholds()},Layout1dBase.prototype._itemDim1=function(){return this._itemSize[this._sizeDim]},Layout1dBase.prototype._itemDim2=function(){return this._itemSize[this._secondarySizeDim]},Layout1dBase.prototype._viewDim1=function(){return this._viewportSize[this._sizeDim]},Layout1dBase.prototype._viewDim2=function(){return this._viewportSize[this._secondarySizeDim]},Layout1dBase.prototype._num=function(){var first=this._first,last=this._last;return-1===first||-1===last?0:last-first+1},Layout1dBase.prototype.reflowIfNeeded=function(forceEmitChildPositions){this._pendingReflow&&(this._pendingReflow=!1,this._reflow(forceEmitChildPositions))},Layout1dBase.prototype._scheduleReflow=function(){this._pendingReflow=!0},Layout1dBase.prototype._reflow=function(forceEmitChildPositions){var _first=this._first,_last=this._last,_scrollSize=this._scrollSize,_scrollSize=(this._updateScrollSize(),this._getActiveItems(),this._scrollSize!==_scrollSize&&this._emitScrollSize(),this._first),last=this._last,hasEmittedChildPositions=!1;-1===_scrollSize&&-1===last?this._emitRange():_scrollSize===_first&&last===_last||(this._emitRange(),this._emitChildPositions(),hasEmittedChildPositions=!0),!hasEmittedChildPositions&&forceEmitChildPositions&&this._emitChildPositions()},Layout1dBase.prototype._updateScrollSize=function(){var itemDim1=this._itemDim1();itemDim1&&(this._scrollSize=Math.max(1,this._totalItems*itemDim1))},Layout1dBase.prototype._checkThresholds=function(){var overhang,min,scrollPosition,_viewDim1=this._viewDim1();(0===_viewDim1&&0<this._num()||(overhang=this._overhang,scrollPosition=Math.abs(this._scrollPosition),min=Math.max(0,scrollPosition-overhang-this._viewportSize.offset),scrollPosition=Math.min(this._scrollSize,scrollPosition+_viewDim1+overhang),this._physicalMin>min)||this._physicalMax<scrollPosition)&&this._scheduleReflow()},Layout1dBase.prototype._emitRange=function(){var fn=this.onRangeChange;fn&&fn({first:this._first,num:this._num()})},Layout1dBase.prototype._emitScrollSize=function(){var fn=this.onScrollSizeChange;fn&&fn(this._scrollSize)},Layout1dBase.prototype._emitChildPositions=function(){var fn=this.onItemPositionChange;fn&&fn({first:this._first,length:this._last+1})},Layout1dBase.prototype._itemDim2Changed=function(){},Layout1dBase.prototype._viewDim2Changed=function(){},Layout1dBase.prototype._getActiveItems=function(){},Layout1dBase.prototype._getItemPosition=function(idx,rolumns,itemDim1,itemDim2){},Object.assign(Layout1dGrid.prototype,Layout1dBase.prototype),Layout1dGrid.prototype.updateItemSizes=function(sizes){return!!sizes&&this.setItemSize(sizes)},Layout1dGrid.prototype._viewDim2Changed=function(){this._defineGrid()},Layout1dGrid.prototype._itemDim2Changed=function(){this._defineGrid()},Layout1dGrid.prototype._getActiveItems=function(){var rolumns,overhang=this._overhang,scrollPosition=Math.abs(this._scrollPosition),min=Math.max(0,scrollPosition-overhang-this._viewportSize.offset),scrollPosition=Math.min(this._scrollSize,scrollPosition+this._viewDim1()+overhang),overhang=this._itemDim1();overhang?(min=Math.floor(min/overhang),scrollPosition=Math.ceil(scrollPosition/overhang)-1,rolumns=this._rolumns,this._first=min*rolumns,this._last=Math.min((1+scrollPosition)*rolumns-1,this._totalItems),this._physicalMin=overhang*min,this._physicalMax=overhang*(1+scrollPosition)):(this._first=0,this._last=Math.min(1,this._totalItems))},Layout1dGrid.prototype._getItemPosition=function(idx,rolumns,itemDim1,itemDim2,secondaryPositionOffset){var result={};return result[this._positionDim]=Math.floor(idx/rolumns)*itemDim1,result[this._secondaryPositionDim]=idx%rolumns*itemDim2+secondaryPositionOffset,result},Layout1dGrid.prototype._defineGrid=function(){var itemDim2=this._itemDim2();itemDim2&&(this._rolumns=Math.max(1,Math.floor(this._viewDim2()/itemDim2))),this._scheduleReflow()},Layout1dGrid.prototype._updateScrollSize=function(){var itemDim1=this._itemDim1();itemDim1&&(this._scrollSize=Math.max(1,Math.ceil(this._totalItems/this._rolumns)*itemDim1))},VirtualScroller.prototype.getContainer=function(){return this._container},VirtualScroller.prototype.setContainer=function(container){this._container=container,this.requestReset(!0),this._containerRO.disconnect(),this._containerSize=null,this._needsUpdateViewSize=!0,this._needsUpdateViewScrollPosition=!0,this._scheduleRender(),this._containerRO.observe(container)},VirtualScroller.prototype.getLayout=function(){return this._layout},VirtualScroller.prototype.setLayout=function(layout){this._layout=layout,"function"==typeof this._layout.updateItemSizes&&this.requestRemeasure(),this._layout.onScrollSizeChange=this.onScrollSizeChange.bind(this),this._layout.onItemPositionChange=this.onItemPositionChange.bind(this),this._layout.onRangeChange=this.onRangeChange.bind(this),this._needsUpdateViewSize=!0,this._needsUpdateViewScrollPosition=!0,this._scheduleRender()},VirtualScroller.prototype.getScrollTarget=function(){return this._scrollTarget},VirtualScroller.prototype.setScrollTarget=function(target){(this._scrollTarget=target).addResizeObserver(this.boundOnScrollTargetResize),target.addScrollEventListener?target.addScrollEventListener(this.boundHandleScroll,{passive:!0}):_dom.default.addEventListener(target,"scroll",this.boundHandleScroll,{passive:!0});var target=this._container,containerClassList=target.classList;(containerClassList.contains("focuscontainer")||containerClassList.contains("focuscontainer-x")||containerClassList.contains("focuscontainer-y"))&&(target.getFocusableElements=getFocusableElements.bind(this))},VirtualScroller.prototype.getFirst=function(){return this._first},VirtualScroller.prototype.setFirst=function(idx){idx=Math.max(0,Math.min(idx,this._totalItems-this._num));return idx!==this._first&&(this._first=idx,this._scheduleRender(),!0)},VirtualScroller.prototype.setTotalItems=function(num,forceReset){var changed=!1;num!==this._totalItems&&(this._totalItems=num,this._keyToChild.length=num,this.setFirst(this._first),changed=!0),this._layout.setTotalItems(num),(changed||forceReset)&&this.requestReset(!0)},VirtualScroller.prototype.requestReset=function(requestRemeasure){requestRemeasure&&(this._needsRemeasure=!0,this._childSize=null),this._needsReset=!0,this._scheduleRender()},VirtualScroller.prototype.requestRemeasure=function(){this._needsRemeasure=!0,this._childSize=null,this._scheduleRender()},VirtualScroller.prototype._shouldRender=function(){var _containerSize=this._containerSize;if(!_containerSize){var container=this._container;if(!container)return!1;this._containerSize=_containerSize=container.getBoundingClientRect()}return 0<_containerSize.width||0<_containerSize.height},VirtualScroller.prototype.requestAnimationFrameCallback=function(){this._pendingRender=null,this._shouldRender()&&this._render()},VirtualScroller.prototype._scheduleRender=function(){this._pendingRender||(this._pendingRender=rAF(this.requestAnimationFrameCallbackFn))},VirtualScroller.prototype.get_toMeasure=function(){var kids,first,_this=this;return this.sameSizeChildren?(kids=this._ordered,first=this._first,this._needsRemeasure||first<this._prevFirst||first+kids.length-1>this._prevLast?{indices:[first],children:kids}:{indices:[],children:[]}):this._ordered.reduce(function(toMeasure,c,i){i=_this._first+i;return(_this._needsRemeasure||i<_this._prevFirst||i>_this._prevLast)&&(toMeasure.indices.push(i),toMeasure.children.push(c)),toMeasure},{indices:[],children:[]})},VirtualScroller.prototype._measureChildren=function(_ref){var child,_this2=this,indices=_ref.indices,_ref=_ref.children;return this.sameSizeChildren?!!(child=_ref[0])&&this._layout.updateItemSizes(this._measureChild(child,!0)):(child=_ref.map(function(c,i){return _this2._indexToMeasure[indices[i]]||_this2._measureChild(c)}).reduce(function(out,cur,i){return out[indices[i]]=_this2._indexToMeasure[indices[i]]=cur,out},{}),this._layout.updateItemSizes(child[0]))},VirtualScroller.prototype._baseRender=function(){var _first=this._first,rangeChanged=_first!==this._prevFirst||this._num!==this._prevNum,needsReset=this._needsReset;if((rangeChanged||needsReset)&&(this._last=_first+Math.min(this._num,this._totalItems-_first)-1,this._num||this._prevNum)){for(var o=this._ordered,_prevFirst=this._prevFirst,elemsToHide=[o.length],elemToHideIndex=-1,idx=_prevFirst;o.length&&idx<_first;idx++){var elem=o.shift();elemToHideIndex++,this._unassignChild(idx,elemsToHide[elemToHideIndex]=elem)}for(var _last=this._last,_idx=this._prevLast;o.length&&_last<_idx;_idx--){var _elem=o.pop();elemToHideIndex++,this._unassignChild(_idx,elemsToHide[elemToHideIndex]=_elem)}needsReset?this._reset(_first,_last):(this._addHead(_prevFirst={}),this._addTail(_prevFirst));for(var prop=displayProp,propValue=displayHiddenValue,i=0;i<=elemToHideIndex;i++){var _elem2=elemsToHide[i];_elem2._unassigned&&(_elem2._unassigned=null,_elem2=_elem2.style)&&(_elem2[prop]=propValue)}}this._needsRemeasure&&(this._indexToMeasure={});needsReset=0<this._num&&(rangeChanged||this._needsRemeasure)?this.get_toMeasure():null,this._prevFirst=this._first,this._prevLast=this._last,this._prevNum=this._num,this._needsReset=!1,this._needsRemeasure=!1,_prevFirst=this._childrenPos;return _prevFirst&&((supportsInsetShorthand?"rtl"===document.dir?function(instance,pos){var layout=instance._layout,rolumns=layout._rolumns,itemDim1=layout._itemDim1(),itemDim2=layout._itemDim2();if(itemDim1&&itemDim2)for(var kids=instance._ordered,first=instance._first,secondaryPositionOffset=0,childPosition=(layout.isVertical&&1<rolumns&&(instance=layout._totalItems)<rolumns&&(instance=itemDim2*instance)&&(secondaryPositionOffset=Math.floor((layout._viewDim2()-instance)/2)),{top:0,left:0}),_positionDim=layout._positionDim,_secondaryPositionDim=layout._secondaryPositionDim,i=pos.first,length=pos.length;i<length;i++){var inset,child=kids[i-first];child&&(childPosition[_positionDim]=Math.floor(i/rolumns)*itemDim1,childPosition[_secondaryPositionDim]=i%rolumns*itemDim2+secondaryPositionOffset,(inset=childPosition.top+"px "+childPosition.left+"px auto auto")!==child._lastInset)&&(child.style.inset=inset,child._lastInset=inset)}}:function(instance,pos){var layout=instance._layout,rolumns=layout._rolumns,itemDim1=layout._itemDim1(),itemDim2=layout._itemDim2();if(itemDim1&&itemDim2)for(var kids=instance._ordered,first=instance._first,secondaryPositionOffset=0,childPosition=(layout.isVertical&&1<rolumns&&(instance=layout._totalItems)<rolumns&&(instance=itemDim2*instance)&&(secondaryPositionOffset=Math.floor((layout._viewDim2()-instance)/2)),{top:0,left:0}),_positionDim=layout._positionDim,_secondaryPositionDim=layout._secondaryPositionDim,i=pos.first,length=pos.length;i<length;i++){var inset,child=kids[i-first];child&&(childPosition[_positionDim]=Math.floor(i/rolumns)*itemDim1,childPosition[_secondaryPositionDim]=i%rolumns*itemDim2+secondaryPositionOffset,(inset=childPosition.top+"px auto auto "+childPosition.left+"px")!==child._lastInset)&&(child.style.inset=inset,child._lastInset=inset)}}:supportsTranslate?function(instance,pos){var layout=instance._layout,rolumns=layout._rolumns,itemDim1=layout._itemDim1(),itemDim2=layout._itemDim2();if(itemDim1&&itemDim2)for(var kids=instance._ordered,first=instance._first,inlineMultiplier=instance._inlineMultiplier,secondaryPositionOffset=0,childPosition=(layout.isVertical&&1<rolumns&&(instance=layout._totalItems)<rolumns&&(instance=itemDim2*instance)&&(secondaryPositionOffset=Math.floor((layout._viewDim2()-instance)/2)),{top:0,left:0}),_positionDim=layout._positionDim,_secondaryPositionDim=layout._secondaryPositionDim,i=pos.first,length=pos.length;i<length;i++){var translate,child=kids[i-first];child&&(childPosition[_positionDim]=Math.floor(i/rolumns)*itemDim1,childPosition[_secondaryPositionDim]=i%rolumns*itemDim2+secondaryPositionOffset,(translate=childPosition.left*inlineMultiplier+"px "+childPosition.top+"px")!==child._lastTranslate)&&(child.style.translate=translate,child._lastTranslate=translate)}}:supportsTransform?function(instance,pos){var layout=instance._layout,rolumns=layout._rolumns,itemDim1=layout._itemDim1(),itemDim2=layout._itemDim2();if(itemDim1&&itemDim2){var kids=instance._ordered,first=instance._first,inlineMultiplier=instance._inlineMultiplier,secondaryPositionOffset=0;layout.isVertical&&1<rolumns&&(instance=layout._totalItems)<rolumns&&(instance=itemDim2*instance)&&(secondaryPositionOffset=Math.floor((layout._viewDim2()-instance)/2));for(var i=pos.first,length=pos.length;i<length;i++){var childPosition,child=kids[i-first];child&&(childPosition=layout._getItemPosition(i,rolumns,itemDim1,itemDim2,secondaryPositionOffset),(childPosition="translate("+childPosition.left*inlineMultiplier+"px, "+childPosition.top+"px)")!==child._lastTransform)&&(child.style.transform=childPosition,child._lastTransform=childPosition)}}}:function(instance,pos){var layout=instance._layout,rolumns=layout._rolumns,itemDim1=layout._itemDim1(),itemDim2=layout._itemDim2();if(itemDim1&&itemDim2){var kids=instance._ordered,first=instance._first,secondaryPositionOffset=0;layout.isVertical&&1<rolumns&&(instance=layout._totalItems)<rolumns&&(instance=itemDim2*instance)&&(secondaryPositionOffset=Math.floor((layout._viewDim2()-instance)/2));for(var i=pos.first,length=pos.length;i<length;i++){var childPosition,childStyle,left,child=kids[i-first];child&&(childPosition=layout._getItemPosition(i,rolumns,itemDim1,itemDim2,secondaryPositionOffset),childStyle=child.style,(left=childPosition.left+"px")!==child._lastLeft?(childStyle.left=left,child._lastLeft=left):console.log("no change"),(left=childPosition.top+"px")!==child._lastTop)&&(childStyle.top=left,child._lastTop=left)}}})(this,_prevFirst),this._childrenPos=null),!!needsReset&&this._measureChildren(needsReset)},VirtualScroller.prototype._render=function(){var childrenRO=this._childrenRO;for(childrenRO&&childrenRO.disconnect(),this._needsUpdateViewSize&&(this._needsUpdateViewSize=!1,this._updateViewSize()),this._needsUpdateViewScrollPosition&&(this._needsUpdateViewScrollPosition=!1,this._layout.setViewportScroll(this._scrollTarget.getScrollPosition())),this._layout.reflowIfNeeded();;){this._pendingRender&&(cAF(this._pendingRender),this._pendingRender=null),this._sizeContainer(this._scrollSize);var hasChanges=this._baseRender();if(this._layout.reflowIfNeeded(hasChanges),!this._pendingRender)break}if(childrenRO){this._skipNextChildrenSizeChanged=!0;for(var kids=this._ordered,i=0,length=kids.length;i<length;i++)childrenRO.observe(kids[i])}},VirtualScroller.prototype._addHead=function(chunksChecked){for(var start=this._first,end=Math.min(this._last,this._prevFirst-1),updateElement=this.updateElement,ordered=this._ordered,idx=end;start<=idx;idx--){var child=this._assignChild(idx,ordered[0],!0);updateElement(child,idx,null,!0,chunksChecked),ordered.unshift(child)}},VirtualScroller.prototype._addTail=function(chunksChecked){for(var start=Math.max(this._first,this._prevLast+1),end=this._last,updateElement=this.updateElement,ordered=this._ordered,idx=start;idx<=end;idx++){var child=this._assignChild(idx,null,!0);updateElement(child,idx,null,!0,chunksChecked),ordered.push(child)}},VirtualScroller.prototype._reset=function(first,last){for(var ordered=this._ordered,currentMarker=ordered[0],updateElement=(ordered.length=0,this.updateElement),chunksChecked={},i=first;i<=last;i++){var child=this._assignChild(i,currentMarker);ordered.push(child),updateElement(child,i,null,!0,chunksChecked)}},VirtualScroller.prototype.updateExistingElement=function(index,item){var child=this._keyToChild[index];child&&this.updateElement(child,index,item)},VirtualScroller.prototype._assignChild=function(idx,insertBefore,insertElement){var container,keyToChild=this._keyToChild,child=keyToChild[idx];return child?(container=this._container,insertElement&&container.insertBefore(child,insertBefore),child._dataItemIndex=idx):keyToChild[(child=this.createElement(insertBefore))._dataItemIndex=idx]=child,child._unassigned=null,child},VirtualScroller.prototype._unassignChild=function(idx,child){child._unassigned=!0,child._dataItemIndex=null,this._keyToChild[idx]=null,this.recycleElement(child,idx)},VirtualScroller.prototype._measureChild=function(child,sameSizeChildren){var childSize=this._childSize;return sameSizeChildren&&childSize||(this._childSize=childSize=child.getBoundingClientRect()),childSize},VirtualScroller.prototype._containerSizeChanged=function(entries){this.paused||(this._containerSize=entries[0].contentRect,this._needsUpdateViewSize=!0,this._needsUpdateViewScrollPosition=!0,this.requestRemeasure())},VirtualScroller.prototype._scrollTargetSizeChanged=function(entries){this.paused||(this._needsUpdateViewSize=!0,this._needsUpdateViewScrollPosition=!0,this.requestRemeasure())},VirtualScroller.prototype._childrenSizeChanged=function(){this.paused||(this._skipNextChildrenSizeChanged?this._skipNextChildrenSizeChanged=!1:this.requestRemeasure())},VirtualScroller.prototype.onRangeChange=function(range){var num=range.num;num!==this._num?(this._num=num,this.setFirst(range.first)||this._scheduleRender()):this.setFirst(range.first)},VirtualScroller.prototype.onItemPositionChange=function(event){this._childrenPos=event,this._scheduleRender()},VirtualScroller.prototype.onScrollSizeChange=function(size){this._scrollSize=size,this._scheduleRender()},VirtualScroller.prototype.handleScroll=function(event){this.paused||(this._needsUpdateViewScrollPosition=!0,this._scheduleRender())},VirtualScroller.prototype._updateViewSize=function(){var containerElement=this._container,layout=this._layout,containerElement=containerElement.getBoundingClientRect(),scrollBounds=this._scrollTarget.getScrollContainerBoundingClientRect(),scrollerWidth=scrollBounds.width,scrollerHeight=scrollBounds.height,xMin=Math.max(0,Math.min(scrollerWidth,containerElement.left-scrollBounds.left)),yMin=Math.max(0,Math.min(scrollerHeight,containerElement.top-scrollBounds.top)),directionIsVertical=layout.isVertical,scrollerWidth=directionIsVertical?Math.max(0,Math.min(scrollerWidth,containerElement.right-scrollBounds.left)):scrollerWidth,scrollerHeight=directionIsVertical?scrollerHeight:Math.max(0,Math.min(scrollerHeight,containerElement.bottom-scrollBounds.top)),scrollerWidth=Math.ceil(scrollerWidth-xMin),xMin=Math.ceil(scrollerHeight-yMin),scrollerHeight=directionIsVertical?Math.max(0,containerElement.top-scrollBounds.top):Math.max(0,containerElement.left-scrollBounds.left);layout.setViewportSize({width:scrollerWidth,height:xMin,offset:scrollerHeight})},VirtualScroller.prototype._sizeContainer=function(size){var containerElemStyle,containerElem=this._container,size=size?size+"px":null,layout=this._layout;layout.isVertical?containerElem.lastHeight!==size&&(containerElem.style.height=size,containerElem.lastHeight=size):containerElem.lastMinWidth!==size&&((containerElemStyle=containerElem.style).minWidth=size,containerElem.lastMinWidth=size,containerElem=layout._itemDim2(),size=layout._rolumns,containerElem)&&(containerElemStyle.height=containerElem*size+"px")},VirtualScroller.prototype.destroy=function(){var ro=this._containerRO,ro=(ro&&(ro.disconnect(),this._containerRO=null),(ro=this._childrenRO)&&(ro.disconnect(),this._childrenRO=null),this._scrollTarget);ro&&this.boundOnScrollTargetResize&&ro.removeResizeObserver&&ro.removeResizeObserver(this.boundOnScrollTargetResize),ro&&this.boundHandleScroll&&(ro.removeScrollEventListener?ro.removeScrollEventListener(this.boundHandleScroll,{passive:!0}):_dom.default.removeEventListener(ro,"scroll",this.boundHandleScroll,{passive:!0})),this.requestAnimationFrameCallbackFn=null,this.boundHandleScroll=null,this.boundOnScrollTargetResize=null,this._container=null,this._containerSize=null},DataLoader.prototype.destroy=function(){var timeout=this.dataLoadTimeout,timeout=(timeout&&(clearTimeout(timeout),this.dataLoadTimeout=null),this.abortController);timeout&&timeout.abort(),this.abortController=null,this.scroller=null};supportsContentVisibility=function(_HTMLDivElement){function VirtualScrollerElement(){var _this3,self=_this3=_HTMLDivElement.call(this)||this;return onInit.call(self),babelHelpers.possibleConstructorReturn(_this3,self)}return babelHelpers.inherits(VirtualScrollerElement,_HTMLDivElement),babelHelpers.createClass(VirtualScrollerElement,[{key:"addClasses",value:function(){this.classList.add("virtual-scroller")}},{key:"connectedCallback",value:function(){onInit.call(this)}},{key:"disconnectedCallback",value:function(){this.abortRequests(),this.hasVirtualScrollerInit=null;var scroller=this.scroller;this.scroller=null,scroller&&scroller.destroy(),this.nodePool=null,this.childTemplate=null,this.setItemSourceInternal(null),this.classList.remove("virtual-scroller")}},{key:"setItemSourceInternal",value:function(items){if(this._itemSource=items){for(var map={},i=0,length=items.length;i<length;i++){var item=items[i];if(!item)break;item=item.Id;item&&(map[item]=i)}this._itemSourceMap=map}else this._itemSourceMap=null}},{key:"setItemSource",value:function(itemSource,totalItems){this.abortRequests(),totalItems&&(itemSource.length=totalItems),this.setItemSourceInternal(itemSource);var layoutAttr,layout,totalItems=this.scroller;totalItems||(layoutAttr=this.getAttribute("layout"),(totalItems=this.scroller=new VirtualScroller({container:this,scrollTarget:this.closest(".emby-scroller"),sameSizeChildren:!0})).updateElement=updateElementOuter.bind(this),totalItems.createElement=function(insertBefore){var fragment,scroller=this.scroller,result=this.nodePool.pop();return result?(scroller._container.insertBefore(result,insertBefore),result):((result=this.childTemplate)||((fragment=document.createElement("div")).innerHTML=this.templateHTML,result=this.childTemplate=fragment.firstChild.cloneNode(!0),fragment.innerHTML=""),fragment=result.cloneNode(!0),scroller._container.insertBefore(fragment,insertBefore),fragment)}.bind(this),totalItems.recycleElement=function(element,index){this.nodePool.push(element);var fn=this.onRecycleElement;fn&&fn(element,index)}.bind(this),layoutAttr=0===layoutAttr.indexOf("horizontal")?"horizontal":"vertical",(layout=new Layout1dGrid({minOverhang:parseInt(this.getAttribute("data-minoverhang")||"0")})).setDirection(layoutAttr),totalItems.setLayout(layout)),totalItems.setTotalItems(itemSource.length,!0)}},{key:"loadItems",value:function(index,signal){var chunkSize=this.virtualChunkSize,chunkStart=index,instance=this;this.fetchItems({StartIndex:chunkStart,Limit:chunkSize,EnableTotalRecordCount:!1},signal).then(function(result){var items=result.Items||result,itemSource=instance._itemSource;if(itemSource)for(var itemSourceMap=instance._itemSourceMap,i=0,length=items.length;i<length;i++){var item,id,itemIndex=chunkStart+i;itemSource[itemIndex]||((id=(item=items[i]).Id)&&(itemSourceMap[id]=itemIndex),itemSource[itemIndex]=item,instance.scroller.updateExistingElement(itemIndex,item))}},function(error){for(var scrollerElement=instance,startIndex=chunkStart,loaders=scrollerElement.dataLoaders.slice(0),i=0,length=loaders.length;i<length;i++){var loader=loaders[i];loader.startIndex===startIndex&&(removeItemOnce(scrollerElement.dataLoaders,loader),loader.destroy())}})}},{key:"scrollToIndex",value:function(index,scrollOptions,setFocus){if(index=Math.min(index,this._itemSource.length-1),setFocus){var item=this.scroller._keyToChild[index];if(item)return void _focusmanager.default.focus(item)}var item=this.scroller,layout=item.getLayout(),rolumns=layout._rolumns,rolumns=Math.floor(index/rolumns),itemDim1=layout._itemDim1(),rolumns=rolumns*itemDim1,posOptions=(setFocus&&(this._focusIndex=index),{});(scrollOptions=scrollOptions||{}).behavior?posOptions.behavior=scrollOptions.behavior:setFocus&&!1!==scrollOptions.forceInstantScroll&&(posOptions.behavior="instant");layout.isVertical?(posOptions.top=rolumns,posOptions.offsetTop=scrollOptions.offsetTop,posOptions.skipWhenVisibleY=scrollOptions.skipWhenVisibleY,posOptions.skipWhenAnyVisibleY=scrollOptions.skipWhenVisibleY&&setFocus&&item.options.focusScroll):(posOptions.left=rolumns,posOptions.offsetLeft=scrollOptions.offsetLeft,posOptions.skipWhenVisibleX=scrollOptions.skipWhenVisibleX,posOptions.skipWhenAnyVisibleX=scrollOptions.skipWhenVisibleX&&setFocus&&item.options.focusScroll),posOptions.itemSize=itemDim1;layout=item._scrollTarget.scrollToPosition(posOptions);return setFocus&&this._focusIndexInternal(layout,index),layout}},{key:"_focusIndexInternal",value:function(promise,index){var instance=this;return promise.then(function(){var newFocusIndex=instance._focusIndex;null!=newFocusIndex&&newFocusIndex!==index||((newFocusIndex=instance.scroller._keyToChild[index])?_focusmanager.default.focus(newFocusIndex):instance._focusIndex=index)})}},{key:"pause",value:function(){var scroller=this.scroller;scroller&&(scroller.paused=!0)}},{key:"resume",value:function(){var scroller=this.scroller;scroller&&scroller.paused&&(scroller.paused=!1,scroller.requestReset(!0))}},{key:"onResized",value:function(){var scroller=this.scroller;scroller&&!scroller.paused&&scroller.requestReset(!0)}},{key:"abortRequests",value:function(){var scroller=this,loaders=scroller.dataLoaders.slice(0);scroller.dataLoaders=[];for(var i=0,length=loaders.length;i<length;i++)loaders[i].destroy()}},{key:"resetAll",value:function(){this.abortRequests(),this.innerHTML="";var scroller=this.scroller;scroller&&(scroller.paused=!0,scroller.destroy()),this.hasVirtualScrollerInit=!1,onInit.call(this)}},{key:"indexOfItemId",value:function(id){var map=this._itemSourceMap;return!map||null==(map=map[id])?-1:map}},{key:"getElement",value:function(index){return this.scroller._keyToChild[index]}},{key:"getItem",value:function(index){return this._itemSource[index]}},{key:"getItemFromElement",value:function(element){element=this.indexOfElement(element);if(0<=element){element=this.getItem(element);if(element)return element}return null}},{key:"indexOfElement",value:function(element){element=element._dataItemIndex;return null==element?-1:element}},{key:"onItemUpdated",value:function(index,item){this._itemSource[index]=item,this._itemSourceMap[item.Id]=index,this.scroller.updateExistingElement(index,item)}},{key:"getActiveItems",value:function(){var scroller=this.scroller,first=scroller._first,last=scroller._last;return{elements:scroller._ordered.slice(0),firstIndex:first,lastIndex:last}}}])}(babelHelpers.wrapNativeSuper(HTMLDivElement));customElements.define("virtual-scroller",supportsContentVisibility,{extends:"div"}),_exports.default=supportsContentVisibility});�.virtual-scroller{display:block;position:relative;contain:strict}.virtual-scroller-overflowvisible{contain:layout style size}.virtualScrollItem{position:absolute}.virtualScrollItem.listItem,.virtualScrollItem.dataGridItem{width:100%}Crossgen2 8.0.2025.41914H�A������������H�I����������A\�����������̈Q\��������������A]�����������̈Q]�������������H�A������������H�I���������H�A������������H�I�v�������H�A ������������H�I �V�������H�A(������������H�I(�6������̋AX������������̉QX�������������H�A0������������H�I0���������H�A8������������H�I8���������H�A@������������H�I@���������H�AH������������H�IH���������H�AP������������H�IP�v�������VSH��83�H�D$(H�D$0H��H��H��L���A�H�NH��>�H��L���A��FXH��L���A�H��tqH��L���A�H��L�]�A�H�N(H����H��L���A�H��H�T$(L�9�A����L��H�v�H�H�L$(���H�N0H����H��L�I�A�H�NHH�����H��8[^����������WVSH�� H��H��H��L�!�A�H��H��L��A�L��H��H��G�H��L��A�H�K8H��-�H��L���A�H��H�
��H�	���H�K@H���3��CXH�� [^_����WVSH��03�H�D$ H�D$(H��H��I��H��L�*�9	A�H�KH����H��L�&�A��C\H��L��A��C]H��L��A�H�KH��~�H��L���A�H�KH��d�H��L���A�H�K H��J�H��L���A�H������uH��L���A��
H��L�o�A�H�K(H���H��L���A���t?H��L�\�A�H��H��u
H�
��H�	H���H�L���A�9	A���u��3҉SXH�T$ H��L���A����L��H�9�H�H�L$ �c�H�K0H��n�H�KHH��a��H��0[^_���������WVSH��H��I��H�KI��7�H�KH��*�H�KH�T$@��H�K H���H�K(H�T$H���H�K0H�T$P����[^_������������WVUSH��8H��H��I��I��H���H����H�{�H�H��L���A�A���tlH������tUH�N(H�V L��L���E3�A�H��L��9	A�L��H�|$ H��$�H�|$(H��H��L��y��H��8[]^_�H��$��H��$��H��$�H�N(H�V L��L��L�~�A�H��H�
��H���H��8[]^_H� �������WVUSH��x3�H�D$(W�)d$0)d$@)d$P)d$`H�D$pH��H��I��H�-��H����H�D$`H�\$(H�t$0H�|$8H��$�H�\$P�D$X����H�L$`H��L�D$(�<�H�L$`H�����H��x[]^_�����WVSH��p3�H�D$(W�)d$0)d$@)d$P)d$`H��H��H�=�H��e�H�D$XH�\$(H�t$0H��$�H�\$H�D$P����H�L$XH�m�L�D$(���H�L$XH��,��H��p[^_����WVUSH��(H��I��I��H�
h�L�I��T�H��H��L���A�9	A������tVH��D��H��L���A�A����t6H��D��L�`�3�A�H����VH��L�A�A�H��H����H��H��H��([]^_������������SH�� H��:�H��tH��H��L���A�H�� [I�#3�H�� [�����������SH�� H��H���H�H��L���A�9	A���t3�H�� [�H����H��t"H�@�H�H��L�c�A�H�� [I�#3�H�� [������SH�� H�I0L���A�H��H��u
H�
�H�H��H�	�H�L���I�L��L�
�A�9	A�H��L��H���H�L���A�9	A�H��L���M�H���H�L���A�9	H�� [I�#���������������AVWVUSH��W�H���������)��)��)��H��0u�H��H��I��I��L�5U�I����H�D$hH�\$8H�t$ H�|$(H�l$@H��$�H�\$0H��$�H�\$X�D$`����H�L$hH���L�D$ ���H�L$hI��\��H�Ā[]^_A^��������������L��L��I�I(I�Q M��M��L�-�9	I�#H�A������������H�Q�������������A ������������f�Q �������������A"������������f�Q"������������H�A������������H�I�6�������H�A������������H�I������������������������H�A������������H�I�������������������������AH��������A���������H�A������������H�I�������������������������AH��������A�����������������������������������������H�A������������H�I�&�������H�A������������H�I����������������������������������������AVWVUSH�� H��H��I��I��H��1�L�5��J�L3H����J�L3 H����J�L3(H�T$p���J�3H�T$x��J�L3H��$��l�J�L3H��$��Y�J�L30H��K��H�� []^_A^����������������SH�� H��H����H��L�=�A�H��L��9	A�H������u*H��m�H��L��A�H��L���9	H�� [I�#H��C�H��L�پA�H��L�<�A�H��H���H�H�-�H�� [H� �������������VSH��(H���H��H�
w�H�H�N�Z�H��H��H���H��([^H� ����UAWAVAUATWVSH��H��$PH��H����H��H�OH��	�H�OH����3�3�H�OE3�E3�E3�H��j�H��L�`�A�L��M��uE3��3��H�����H��H��o�H�
x�I��L��������L��M��t*I��L�.�A�H��I��L�&�A�H�OH��f�H����H���H��L���A�L��6�H�����H��H��C�H�
��I��L��������L��[�H�����H��H����H�
)�I��L�������L��M���ZI��L�{�A�H��H��l�H��L��A�L��I��L�J�A�H��L��9	A�H��I��L��9	A�H�OH��q�I��L��A�H��L�ʼ9	A�H����H��t4�xu.�H�� ��.jD�XA��  A��jsA�A��E���E3�I��L���A�H��L�i�9	A�H��3�H��t*�xu$H�   HHI�.cssE3�I;�A���E3�I��L�W�A�H��L��9	A�H��H�k�H�L���A�9	A�D��H����H���E����H�
G�L�|H��ٿH��H��L���A�H��L��9	A�H��H��@����z�W��(����0���H�
*�H�	���H��0�L��I��H��Y�I��H��ƅ���E3�L�� ���H�t$(L�l$0L�D$8D�D$@L�����L�D$ L��@���L��(���L�m�A��H��[^_A\A]A^A_]�E����H�
]�L�lH���H��H��L���A�H��L�5�9	A�H��H��h������W��P����X���H�
H�H�	���H��F�L��I��H��w�I��H��ƅ���E3�L�� ���H�t$(L�t$0L�D$8D�D$@L�����L�D$ L��h���L��P���L���A��H��[^_A\A]A^A_]�E����H�
s�L�tH���H��H��L�иA�H��L�K�9	A�H��H�M����W��x���E�H�
l�H�	�˽H��b�L��I��H����I��H��ƅ���E3�L�� ���H�t$(L�|$0L�D$8D�D$@L�����L�D$ L�E�L��x���L���A��H��[^_A\A]A^A_]�H�
��L�tH��-�H��H��L���A�H��L�s�9	A�H��H�M��ѼW�E�E�H�
��H�	���H����L��I��H��λI��H��ƅ���E3�L�� ���H�t$(L�|$0L�D$8D�D$@L�����L�D$ L�E�L�M�L�зA��H��[^_A\A]A^A_]�H�WH�RH��g�H����������UAWAVAUATWVSH��HH��$�W�)e�3�H�E�H�e�H��H����H��H�OH��{�H�OH��n�H���H��L���A����!H��ϻH��L�ŶA�H���H����H��L���A�H���L��I��H��K�H�
ԿH��M��P�H���L��M�FM��u(M�>���L��I��I��{�I�NI����M��H�
4�H���H��H�5�H��ؼL��H��ܽH��I��L��9	A�H���H��L���A�L��C�L��I��H��d�H�
��I��M����H��I��L���A�M�nM��u(M�.��L��I��I��(�I�NI���M��H��_�H��L���A�L��H�
`�I��M���H��H���L��H�G�@��t7���L��I��H��d�H�
�I��M��ѻH��H����L��H�GD�h E��t7�>�L��I��H��'�H�
нI��M����H��H��x�L��H�GD�h"E�������L��H�OH�I�����u H��H�L(H�WH�RL���A��3�I�MH��Ѷ���H��H��H����H�
=�I��L����H����L��I��I����H�
�H��M��κH��H����L��H�OH�I������3�H��H��H��,�H�
żI��L����H��H��m�L��H�U�I��L���9	A��H�M�H���H��������H�M�H����H��H�NH�H�H��tnH��L��A�H��M�FM��u(M�.�ɶL��I��I��ҷI�NI����M��H�
s�H���H��H�
�����H�NPH��e�H�M�H������^���H�M�H��ùI��H��H[^_A\A]A^A_]��H��H�_�H�H���H����UAWAVAUATWVSH��(H�i H�l$ H���H�M�H�ֽH��U��H��([^_A\A]A^A_]����WVSH�� H��0�H��H�NH����H�N���H��uH�
ʻH�C�H�� [^_H� H��L���A�H����H��H��H����H�
=�L��H��H��H�� [^_H� ������WVSH�� H��H����H��H�OH��
�H�WH��H�H��?�H��H��H��@�H�
)�L��H��H���H�� [^_H� ����������WVUSH��(L���J�LL�u�A�H��ɳH��L�F M��u(H�>���H��H��H����H�N H��h�L��H�
>�H��H�<�H��([]^_H� ���������WVUSH��(H��H����H��H�OH���H����H��L�Y�A�H���H��H��H���H�
��H��L���H��B�H��H�
��H�L L�GM�@L�|�9	H��([]^_I�#�������WVUSH��(H��H��$�H��H�OH��|�H����H��L���A�H��E�H��H��H��N�H�
��H��L��S�H����H��tvH��L�s�A�H��G�H��L�F(M��u(H�>��H��H��H��3�H�N(H���L��H�
ĸH��;�H��H�
ٸH�z�H��([]^_H� H�
ȸH�q�H��([]^_H� ��������������VSH��(H��ٱH��H�
��H�H�N�j�H��H��H���H��([^H� ����WVSH��PW�)d$ )d$0)d$@H��H��H�=2�H����H�D$8H�\$ H�t$(�D$0����H�L$8H���L�D$ ��H�L$8H��]��H��P[^_�������������H��(L�ͯ�/A�.9	A�H��H�
��H�	H�1�H��(H� ����������AVWVUSH�� H��H��"�H��H��ֵH�OH��a����H��H��H��T�H�
M�H��L��q�H����H��L�6��/E3�9	A�H��3�D�vA��E��~4��H�L�L���-A�_9	A�L��Hc�H�����D;��H�
��H�	H����H�� �H�OH�����ݰH��H��H����H�
��L��H��H�2�H�� []^_A^H� �����WVSH�� H��H��
�H��H�OH��M�H�OH��@��z�H��H��H��۰H��H�� [^_�WVUSH��(H��I��I��H����H��H����H��L�8�A�H��L�ӭ9	A�L��H�\$pH�\$pH��H��L��H�ɳ9	H��([]^_H� ����WVUSH��(H��I��I��H��.�H��H���H��L�ȫA�H��L�c�9	A�L��H�\$pH�\$pH��H��L��H�i�9	H��([]^_H� ����WVUSH��(H��I��I��H����H��H����H��L�X�A�H��L��9	A�L��H�\$pH�\$pH��H��L��H��9	H��([]^_H� ����AWAVAUWVUSH�� H��H��H�=��H�l;L�4;H��#�L��H�|;0��L��H���H��I�MH��y�I�MI��l�I�MI��_�I�M H��R�I�M(H��E�I�M0H��8�I��H�� []^_A]A^A_�������UWVSH��XH�l$pW�)e�)e�H�e�H�MH��N(�M�H��}�t6H�K(L�FH�S L�S�E3�A�H��L�{�9	A�H�NH������}�t �|�H��H��دH�NH������}��H�NH�VL�	�9	A�H��H�U�L���E3�9	A�H�M�H�U�p�H�M�n���u[3��E�F(H�~8H�u�<�H�H�uH�N0H�;�L�E�L����H�~8E�3�H�H�O�E����F(����H�M�
�H�NL�R�9	A�H���ܮH��D�OH��L��E3�9	A�H��H��ϰH����H��H�
\�L�I��H�L��H��H�˶H�L�i�A�9	A�H��L�
��M�	L���M�H��^�H��H���H�L���M�H��L��A�9	A�H�؃}�}"H�NH��tL�A�A��
H����3�H�F��H��H��L�&�9	A�H����H��H��H���H�V H��~
H��L�&�A��U�H��H��1�H��H��L�4�A���}�}H�NH��tL���A��
H���c��F(����H�N0H�A�L�����H��X[^_]�UWVSH��(H�i H�l$ H�mp�}�}H�uH�NH��t
L�G�A��H��([^_]�UWVSH��(H�i H�l$ H�mp�}�}H�uH�NH��t
L��A��H��([^_]�UWVSH��(H�i H�l$ H�mpL��H�u�F(����H�N0H�����H�C���H��([^_]���L��8	H��0H�`�H���H� ������UWVSH��XH�l$pW�)e�)e�H�e�H�MH��N0�M�H��}�t6H�J(L�FH�R L���E3�A�H��L���9	A�H�NH�����}�t ���H��H���H�N H��˨��}��H�NH�V L�9�9	A�H��H�U�L��E3�9	A�H�M�H�U���H�M�����u[3��E�F0H�~@H�u�l�H�H�uH�N8H�s�L�E�L��>���H�~@E�3�H�H�O�E����F0����H�M�=�H�N L���9	A�H���H��D�KH��L�C�E3�9	A�H��H�NL�u�M�H�K�H�L���A�9	A�H��H�
$�H�9H��X�L��H��H��L���A�9	A�H�؃}�}"H�N H��tL���A��
H����3�H�F �^�H��H��L���9	A�H����H��H��H��\�H�V(H��~
H��L���A����H��H����H��H��L���A���}�}H�NH��tL��A��
H���c��F0����H�N8H���L��#��H��X[^_]�UWVSH��(H�i H�l$ H�mp�}�}H�uH�N H��t
L���A��H��([^_]�UWVSH��(H�i H�l$ H�mp�}�}H�uH�NH��t
L�v�A��H��([^_]�UWVSH��(H�i H�l$ H�mpL��H�u�F0����H�N8H���}�H�C���H��([^_]��������������L��8	H��8H���H�Y�H� ������UAWAVWVSH��XH��$�W�)e�)e�H�e�H�MH��N@�M�H�^�}�tgH�H��tK�y
uEA
݊f�
�f�I�f���f��f�f8������3ɈNDH�VH�N(����}�t �ӥH��H��/�H�N0H�����}��H�NH�V0L�`�9	A�H��H�U�L�
�E3�9	A�H�M�H�U��ǧH�M��ŧ��uY3��EԉF@H�~PH�u����H�H�uH�NHH���L�E�L��m���FPE�3�H�NPH�NX�E�����F@����H�M��f�H�N0L���9	A�H���5�H��D�OH��L�l�E3�9	A�H���~D�@H�N�������H�NL���-E3�9	A�H��H�
ê�ݧL����L��I�OH�9�H����H�N���I�OH����I�O H��H��m�I��l�I�O(H��W�I�O0H��L�2I��@�I���L��H���H�H��L� �A�9	A�H��H��9�H��H���H��H�
��H�	L���M����L��H�~�H�H��L�ɡA�9	A�H��H����H��H�
p�L�1I��L�k�M�M��M��T�L��H��H�?�H�L�u�A�9	A�H��H��f�H��I��M���L��H��H�H��L�8�A�9	A�H��L�ˬI�L��H��H�L��A�9	A�H��L��H�ԭH�L��A�9	A�H��H���H�L��H��L�ŠA�9	A�H���}�}"H�N0H��tL��A��
H�����3�H�V0�~D��H�h�H�L��I�L��H��L�^�A�9	A�H��H�
A�H�	H�V L��M�8M����L��H��H���H�L��A�9	A�H��H�
�H�	H�V ���L��H��H��H�L�ߟA�9	A�H���sH�جH�H��H��L��A�9	A����tLH��L���M�H��L���A�A�H��L���M�H���H�L�j�A�9	A�H���n�H��H��L���9	A�H���H��H��H��l�H�V8H��~
H��L���A��РH��H����H��H��L���A���}�}H�N(H��tL�%�A��
H���r��F@����H�NHH���L��3��H��X[^_A^A_]�UAWAVWVSH��(H�i H�l$ H����}�}H�uH�N0H��t
L���A��H��([^_A^A_]�UAWAVWVSH��(H�i H�l$ H����}�}H�uH�N(H��t
L�p�A��H��([^_A^A_]�UAWAVWVSH��(H�i H�l$ H���L��H�u�F@����H�NHH���l�H�"���H��([^_A^A_]���������L��8	H��HH���H�I�H� ������SH�� ���H����H��H�����H�� [��������������������������3�H������������H�B(������������H��L���9	I�#�VSH��(H��i�H��H��H��
�H��H��([^���������H��L�N�9	I�#�����������������SH�� H��H��L�f�A�H��H�SH�RH�A�A�H�� [H� �����������SH�� H��H��L�6�9	A�H��L�ߛ9	A�H��H�SH�RH��A�H�� [H� ����������VSH��(H���H��H��ݟH�SH��L�ߛA�H�
�H��H��H��([^H� ����������VSH��(H����H��H����H�SH��L���A�H�
ţH��H���H��([^H� ����������VSH��(H��a�H��H��=�H�SH��L�?�A�H�
u�H��H�C�H��([^H� ����������WVUSH��8H��H��H�KH�����H��H��ѡH��H�kH�K���H��L�f�A�H��L��9	A�L��3�H�L$ H�t$(H��L��H� �H�9	���H��8[]^_����������������������������UWVSH��8H�l$PH�e�H�MH�U��H��H��H�U���H�]�H�E�H��8[^_]�UWVSH��(H�i H�l$ H�mPH��H�MH�IH�I�H�4����H��H�M��H��L���A�H�OH��#�H�T�H�H��L��L��L���A�3�H�E�H�l���H��([^_]�SH��0�ZXH�IH�IH�L$(H�L$(� �;�����H��0[���SH��0�Z\H�If�I f�L$(H�L$(���;�����H��0[��SH��0�Z]H�If�I"f�L$(H�L$(�ǝ;�����H��0[��H�IH�IH�RH�՞A�H� ��������������������VSH��(H��H��H�{t(H�N�˜��uH�KH�VL��9	H��([^I�#�H��([^��������������������������WVSH�� H��H�q�ܚH��H��H��L��r�H��H�� [^_��������������������������������WVSH�� H��H�q���H��H��L��9	A�L��H��H��K�H��H�� [^_�����������������H��HL��H�QBD$8H�T$(I��L�m�A�H�L$8H�T$(�ڛ�H��H���������������������H��HL��H�QBD$8H�T$(I��L��A�H�L$8H�T$(����H��H���������������������H��(H��H�T$ H�HH�PL�@L�H ���H��(���������H��(H��H�T$ H�HH�PL�@L�H �Ɲ�H��(���������H��(H��H�T$ H�HH�PL�@L�H ����H��(�������������������������H�IH�m�A�H� ������������H�IH�M�A�H� ����������������������������VSH��(H��Q�H��H��-�H�K�+�H��L���A�H��H�SL�Ж9	A�H��H��L��A�H�
<�H��H�
�H��([^H� �UAWAVAUATWVSH��(H��$`3�H�E�W�)e�)e�H�E�H����H�MH��^L�6��w��H�
�|��L���I��i�H��H�H�K���H�NH�yH�KH����H��;�L��I��ϛH�KH����I����H��L���A�L��I��L�/�9	A����}I��٘H��L�w�A�H��H�r�H�L�X�A�9	A����uCH�K�6���t5I����H��L�'�A�H��H�2�H�L� �A�E3��	I��L���A�H�K H����E3�3���E�I��L�w�A���tH�NH�I�B���thA�|-H�    IGH�imagH3�A�O�� ��e/H�t4A�|DH�    IGH�fontH3�A�O�� ��t/H�u��z��H��A�A�	�AG
�zf�
�zf�AO�zf���zf��f�f8���������E��u��H�8A�I���H��L�БA�H��H��u3��
L�b�A�H��H�S L�	�H��IDL�C��H��H�M����H�
,�M�lI����L��W��P����X����T�H������H��H����I��I��E��@���D��0���H��8���L�|$(H������H�|$0E3�L�D$8D�D$@L��@���L��0���L�L$ L��P���L�{�A�H��H�U�L�J�E3�9	A�H�M�H�U�L�����H�M�H�������uQ3��FH�~ H�u��]�H�H�uH�NH���L�E�L��?��,H�~ E�3�H�H�W�F����H�M�H�����L����E��tXI��p�H��L�&�A�H��H��u3��
L���A�H��H�S L�_�H��IDL�C�n�H��H�M����I��L�o�A�H��;����qH�KH���H�L�^�A�9	A���u(H�KH�l�H�L�:�A�9	A����%L�kI��ҔH��L�X�A�H��L�s�9	A�H��I��j�L��M������H���H�����H��H����H�����3�u���uH��H�H��E3�L�b�A�H�
��I�DH�����I���H������.�H�����H��ΓI��I��ҖH��H�����L�I�A�H�����I��L��A�D��0���H��8���H�����H��0���L���A�E��@���H�����H��@���L��A�H�����H��L��A�H�����L�����H�����L���A�H��H�U�L�`�E3�9	A�H�M�H�U�L����+�H�M�H����"���uS�FH�~ H�u��q�H�H�uH�NH���L�E�L��S��@H�~ E�3�H�H�W�F����H�M�H�0��“L����H�KH�W�H�L��A�9	A����OH�
˘M�lI��]�L��W��h����p�����H�� ���H��H��@�I��I��E��@���D��0���H��8���L�|$(H�� ���H�|$0E3�L�D$8D�D$@L��@���L��0���L�L$ L��h���L��A�H��H�U�L��E3�9	A�H�M�H�U�L�*����H�M�H�!������uS�FH�~ H�u����H�H�uH�NH�)�L�E�L��ܒ��H�~ E�3�H�H�W�F����H�M�H����K�L���}H�KH��H�L�v�A�9	A����FH�
T�M�lI���L��W�E�E����H��(���H��H��׏I��I��E��@���D��0���H��8���L�|$(H��(���H�|$0E3�L�D$8D�D$@L��@���L��0���L�L$ L�M�L���A�H��H�U�L�{�E3�9	A�H�M�H�U�L����F�H�M�H����=���uS�FH�~ H�u����H�H�uH�NH���L�E�L��n��[H�~ E�3�H�H�W�F����H�M�H�K��ݐL���H�
�M�l0I����H��L�CL�KE��@���D��0���H��8���H��0���H�L$8I��L�|$ E3�L�\$(L��@���L�\$0L�-�A�H��H�U�L�d�E3�9	A�H�M�H�U�L����/�H�M�H����&���uP�FH�~ H�u��u�H�H�uH�NH���L�E�L��W��GH�~ E�3�H�H�W�F����H�M�H�7��ɏL���F����H�NH������H��([^_A\A]A^A_]�UAWAVAUATWVSH��XH�iHH�l$HH��`L��H�u�F����H�NH����B�H�����H��X[^_A\A]A^A_]���L��8	H��H���H�!�H� ���p����.h�.j,�j�&
�..j�.j�&.jj�&
,,,9
��������hm�/,�/s&
���/��/s&�//s&
����
������R��R�4���&
RR�R��&R���&
!
����3@�&DG�&�%���%���3�j�5���%��3�j�5���%��3�j�5���%��3�j�5r��%t�j�5d��%f���I��j�5Q��%S����{*"}*���{*"}*���{*"}*���{*"}*���{*"}*���{*"}*���{*"}*���{*"}*���{	*"}	*���{
*"}
*���{*"}*���{*"}*���{
*"}
*���0g(
o
(o
(o
,4o
o
(o
o

rp(
(
(o
(*��o
o 
(o!
(rpo!
("
((*���0�(
o#
(o$
(o%
(o&
(o'
(
o(
(o)
(*
-o)
+o
(o+
,o,
%-&~-
r	po.
-+(o

rp(
(
((*��(
}}}}}}*���0@rp(#,$($,j('o/

(&*('(+*0P(1
}/}0}1}2}3}.|/(+|/(3
*0H(1
}'}(})}*}&|'(+|'(3
*0Krprp(4
o5

.-o6
.o7
o8
Xo9
("
*�0(:

,	o.
**���rr#po;
,*rp(#*���0E{o<
%-&rApr[prApo=
reprApo=
r�pr�po=
*���0a(1
}8}<}9}:}=};}>}7|8(+|8(3
*���R{{o>
*���{*"}*���{*"}*���{*"}*���{*"}*���{*"}*���(
*{*"}*���(
*{*"}*���{*"}*���(
*{*"}*���(
*(
*{*"}*���{*"}*���(
*(
*�(?
}"}#}$}} }!}%*���0C(@
oA
oB
(*
-(@
oA
oB
*(@
oC
oD
r�p(E
*�^sC%r�po@(P*0	}se
}M}O}N
(F
oG
%-&+�fsH
(+,o
oJ
}N:�(F
oK
�JsL
(+�gsN
(+,}oO
oP
oQ
oR
o,
oS
}NoR
o,
(:
rp(T
oR
o,
(:
rp(T

oR
o,
r#po.
9M{N9B,N{ (U
oV
oW
(X
��	r'p(Y
�hsZ
o[
*	,N{ (U
oV
oW
(X
��	r7p(Y
�isZ
o[
*,N{ (U
oV
oW
(X
��	rIp(Y
�jsZ
o[
*{ (U
oV
oW
(X
��	rIp(Y
�ksZ
o[
*{Mo3(\
z���0]	sl
}P}Q(F
o]
,
(F
oG
-r]ps^
z(F
oG
�ms_
(+~H%-&~G�`sa
%�H(	+(
+(Lod
(F
oK
�Kse
(+od
~I%-&~G�asf
%�I(g
oh
(+(
+{Qo((j
,�nsa
(	+(
+{Qo*
(k
,�osa
(	+(
+{Qo,
(k
,csr{Qo0(*
-{${Qo0ol
+}R�psa
(	+�ssa
(	+(
+{Qo.(*
:��qsa
(	+(
+om
+V(n
ou:,;oo
~J%-&~G�bsp
%�J(
+(+o(r
-���os
�*�cM0:
st
}S{Su=-(+*ou
�usv
(+*��0+sv
}T{T(J�wsw
(+*��{!ox
~K%-&~G�csy
%�K(+*���0Gsx
}U(F
oK
�ysz
(+u:{#{Uo8o|
*�0h
sz
}V(F
oK
�{sz
(+u:,0oo
~L%-&~G�dsp
%�L(
+(+*(+*^sC%r�po@(P*0?(}
}_}`}a}^|_(+|_(
*�Vr�p/.o�
("
*��0xs�
(Q}[��s�
(+-?/o�
+�-_o�
�X�iY2�rp(�
(Q}[��s�
(+*~s�%}\%}]��sZ
*�(W(F
o�
oW
o*�̆(W(F
o�
oW
o!*�̆(W(F
o�
oW
o *�̖{"{(@
{%(F
s*��0�{&
{(,{)j('o/
}+,s�
},,O{+{,o�
o�
(�
(�
-A%
}&}-|'(+�1{-|-�%%
}&(�
{,o�
(�
�io�

(%	rprp(�
rp(4
o=

	r%prOp("
	rUprpo=

�/{,,{,os
�},(�
	o�
s�
{*j1
{*o�
s�
%o�
�1/{+,{+os
�	�}&|'	(�
��}&|'(�
*AL:� +Mx��&6|'(�
*��0�{.
{0,{1j('o/
}4,s�
}5,O{4{5o�
o�
(�
(�
-A%
}.}6|/(+�{6|6�%%
}.(�
{5o�
(�
�io�

	r�pr�p{2r�p~-
o=
("
o=

�/{5,{5os
�}5(�
	o�
s�
{3j1
{3o�
s�
%o�
�1/{4,{4os
��}.|/(�
��}.|/(�
*AL:��++V`n&6|/(�
*��0#{7
{<,#{9r�p(T
}?{:}@,s�
}A,O{:{Ao�
o�
(�
(�
-A%
}7}B|8(+݌{B|B�%%
}7(�
{Ao�
(�
�io�

{?9{;(*
-]{;-o�
(+		r�p�I%r�p�%{;(�
�%rp�%	(�
�%rp�(�
o=

(%	r+prSp(�
rcp(4
o=

	rupr�p(�
rp(4
o=

	r�pr�p(�
rp(4
o=

	r�p~-
o=

	rAp~-
o=

	r�p~-
o=

�/{A,{Aos
�}A{?,S	r!p~-
o=

	r�prWp{=rp(4
o=

	r�pr�p{=("
o=

+3	r�po5
.$	r�pr�po=

	r�pr�po=

(�
	o�
s�
{>j1
{>o�
s�
%o�
�1/{@,{@os
�
�}7|8
(�
��}7|8(�
*ALD��5����&6|8(�
*��.s_�G*(
*�*��o
*o�
*s*o�
*(
*bo
{Mo3(T
*���voR
o#
{Mo3(T
*��^s�
%{No�
(+*^s�
%{No�
(+*^s�
%{No�
(+*�{O{O(F(Wrp{N{O(F
o�
oW
o&*�(
*0:s
�/{P{r-p�%oP
o�
�o�

�*		/&0o{Qo(
(�
�*0o{Qo*
(�
�*0o{Qo,
(�
�*b{Qo.o(T
*���(
*�{R,o(*
-{Roo�
**��(
*6{Ss�
*��(
*J{ToR
s*�(
*0{Uo6
o
(�
*��(
*0{Vo;
o
(�
*��(
*~{W{X{Y{Z(T*~{W{X{Y{Z(U*~{W{X{Y{Z(V*(
*:{[(T
*�:{[(T
*�(
*�s�
%{\(P
oQ
{]oS
o�
(+*���0	�{^
{`E�;��s|
	{`}W	{ao?}Y	{Y(Y
	(F}X(@
oA
o�
-B(U
o�
r�po5
3)	{Y($,(U
o�
r�po�
��	o�
}Z�	~�
o�
,{aoA(*
,r�po�
-rpo�
,#�v@(�
(�
r
po�
9�(�
-~�
(�
(F
o�
%-&+oW
	{Z%-&~-
	{Y(4
(X
{ (U

�
	�}sZ
o[
o�
(�
		(�
-A%
}^	}b|_	(+ݩ{b	|b�%
}^	(�
�k(�
,8(F
o�
%-&+oW
	{Z%-&~-
	{Y(4
(X
oB
(*
9	{Yrpo.
-	{Yrpo.
9�	{Y(P
oQ
o�
(R9�(�
s�

(*
-
r!po�
{ (U
s�
%(So�
%o�
%o�
%o�
%
o�
o�
o�
(�
		(�
-A%
}^	}b|_	(+�8{b	|b�%
}^	(�
�	{YrCpo.
9�{ (U

�
	�~sZ
o[
o�
(�
		(�
-A%
}^	}b|_	(+݋{b	|b�%
}^	(�
�M	{Yr_po.
9�{ (U

�
	�sZ
o[
o�
(�
		(�
-A%
}^	}b|_	(+��{b	|b�%
}^	(�
ݠ{%(U
	{X	{Yo�
o�
(�
		(�
->%
}^	}b|_	(+�T{b	|b�%
}^	(�
��}^|_(�
��}^|_(�
*A`n&6|_(�
*��	����		U			���

>>�����>>>>���������G���GG��
����>���GG���UUUU�UUUAAAAAAAA������̐)�W06�W:�X�=tY�G4Z LLZ����dZ����BSJBv4.0.30319l�#~`L#Strings�8�#US0@#GUID@@#BlobW�	�3fb���~1(��T��
�*"	
;� Sp�
�����
�
f	C8'
�C��
�C������
�
p4
�4�&����	��
��	���������j��
��;��
p
�L	����
�

��
�
&C��
���� �������	K%�����
v�q�����	��S�/
�����
�
u4��t������o���	(�>�+	�����K	��40�T�
�L�7	
7
#���
9��
9v�
9(��
93U�
960�
9;�
9>�
9?|�
9D��
�E��&Xq�.Z��7\	C^!9G^9Me-9Ple9RrY9Sto9Tv�9Ux�9Vz�9W|9[�C9\���^��|����|a|G|�|��"||T|/�~�!��!�!��!�
|����������|<|�|"�o|"��|�|!�!�!>
!��!�!	��O
c�%�
|/)�,�0�5O
c�%�
|�|/)�,�0�5O
c�
|�,�	|�%�|/)t��,0�5�V�	:V�P:V�G
:6�>NB]LZV�a{V�l�,�p�p�t{xV�V��}���p�
|�
|�	|s|�p^|O
c��p�����Z�G�Z��Z�@s�Z�U�[�js[��[�7G[�E([��G0[��<[�bGD[�oP[��GX[��d[�H	Kl[�b	�x[�SG	�[�`	�[��G
�[��
�[��G�[���[�@P�[�K��[��C
�[���
�[���P\����\���`]����]�]��]�B�@^�*� �^���$�^���'_�5w)0_��G*�_�@�*�_���/`�.	1`�;	
1 `�@2(`�U!24`�j3<`�!3H`�G4P`�4\`�mG5d`�x5p`��6x`�G6�`�6�`��7�`�SU7�`�`�7�`��G8�`��8�`��9�`�SU9�`�`�9�`��:�`��:�`�%G:�`�6:�`��G;a��;a��<a��< a��+<`a�@
GC�a��AC�a��GDTd��QE�f�gWFg�XjGPg�9vH�g���H�g���ILh���Jdh���K�h�G
L�h��MLi��Oli�l�P�i�*�T�i�B�X�i���\j�+]l��](l�+^n��^,n�+_�q��_�q���`�q��`�q�X�`�q�g�a�q�d�b�q���c�q���d�q��e�q�,�er�3�f8r���gPr���jhr���m�r��p�r��s�r�,�s s���tHs��ups�=�v�s�3�w�s��x�s�G�x�s��y�s��yt��zt�	zt��{$t�,	{Lt��|Tt�,	||t��}�t�,�}�t�����t�����t����t�����t����u���u�6��Du�+�{������������������V��
����
�	�/�
�	�/�
�	�/��-
�
��
�
���	/�
/��������������
�?���VV�����
�
^�
�
�	/�
�
�	/�
�
�	/�

	
	
	


�
/�
&/�
&/�
&/�
&



/�
&/�
&/�
&

/�
.
	�
��
���	���
)�1�9�A�I�Q�Y�a�i�y����+�9�"I�Q�'Y���q��G�H	K�@P�G�0U9�	Z�#
`�@P��h��GI�m�G�@s�js�7G��G�bG��GI;w�ts�l
GIC|I�
�V�Y~�@
����I��I��I��I6
�I�
�I6
a�
I��GI���"����*�B/T
G�`5i�
Ga�m��`��e$�tqKz���yc�,�tq��4�t<�q�		��<S�~I���(��.q#
G�,4�|	
T�t�Z]�%�yZ
s��\�tq��d�tq�	�q�l�3t�t|�t��]�[cq�l�|s�|s���l���������tq���+s�8
�C������t��t��B��t��tqz�Ds�@
������I����tIE�I]�y�.��$�Y6�!��)�s��)���Q�,
�i
�������a$g*�1�qKwI����GG�X��r�r�	�<�����	�s�KG� 
���	G�C��sI�
��L�1L|s�
�6��'��s�������C
H��V���)�1a1�	1�u1��1O��j��j��g*��1����� k�!k�'c.N	.W	.v	.#	.+�	.3�	.;�	.C
.K
.S�	.[�	@k�Ak�`k�ak��k��k���1����k��k���R����k��k���r����k��k�������k�k����� k�!k�#��#��@k�Ak�C��C��`k�ak��k��k��k��s��k��k��k��k��k��k�k�k� k�#k�@k�Ck�`k�ck��k��k��k��k��k��k��k��k��k��k��k��k�k�k�k� k�!k�#k�@k�Ak�Ck�ak�ck��k��k��k�{R
 {�
�{�
k� k�@k�`k��k��k��k��k�k� k�`k��k��k��k�k� k�`k��k��k�k� k�@k�
{ ��`�������
��
��
���d�
B����;��]����7V����	�	Y#	�#	I	�	s	�	f	'	d	�	�	O,	�1	s	6	Y@	�@	�	|	�	dI	�	dI	f	�	D
				



()*+,!-!.#/#0%1%3'4'6)7)8+9+;-<-?/@/A1B1F3�!�#
�!
�#�!�#
!#-:�k���:CL��+>T�����#Le�� 1N�	P���	P4	Pt	P�����X�����Pq�X� `.��c
a�e�e�e�����������M����������4�V�n�������No1�c8<>c__DisplayClass11_0<>c__DisplayClass21_0<>c__DisplayClass12_0<>c__DisplayClass22_0<>c__DisplayClass13_0<>c__DisplayClass14_0<>9__15_0<GetGenericUIPages>b__15_0<>c__DisplayClass16_0<>c__DisplayClass17_0<>c__DisplayClass19_0<FindWebResource>b__0<GetConfigPages>b__0<GetPluginPages>b__0<Get>b__0<GetContentFactory>b__0<>9__12_1<Get>b__12_1<>c__DisplayClass12_1<>9__17_1<Get>b__17_1<FindWebResource>b__1<Get>b__1<>u__1Nullable`1IEnumerable`1IOrderedEnumerable`1ConfiguredTaskAwaitable`1Task`1IReturn`1AsyncTaskMethodBuilder`1IComparer`1IEqualityComparer`1IList`1get_Item1<>9__12_2<Get>b__12_2<isMainIndexPage>5__2<sourceStream>5__2<Get>b__2Func`2Tuple`2IDictionary`2get_Item2<>7__wrap2<memoryStream>5__3<Get>b__3<ModifyHtml>d__14<memoryStream>5__4<Get>b__4Func`4GetMD5<Get>b__5<Get>b__6<Get>b__7get_UTF8<>9__12_8<Get>b__12_8<GetServiceWorkerJsResource>d__8<Get>d__19<>9<GetManifestJsonResource>d__9<Module>MediaBrowser.Model.IOSystem.IOget_Vset_Vvalue__Emby.Web<>cSystem.Collections.GenericCopyToAsyncget_Idget_FeatureIdset_FeatureIdget_PluginIdset_PluginIdget_UserIdset_UserIdget_NavMenuIdset_NavMenuIdGetUserByIdget_IsStartupWizardCompletedAwaitUnsafeOnCompletedget_IsCompletedGuid<V>k__BackingField<FeatureId>k__BackingField<PluginId>k__BackingField<UserId>k__BackingField<NavMenuId>k__BackingField<Locale>k__BackingField<Name>k__BackingField<ResourceName>k__BackingField<DisplayName>k__BackingField<PageType>k__BackingField<ConfigurationPageType>k__BackingField<Href>k__BackingField<Plugin>k__BackingField<MenuIcon>k__BackingField<MenuSection>k__BackingField<Translations>k__BackingField<EnableInMainMenu>k__BackingField<EnableInUserMenu>k__BackingFieldReplaceBaseApiServiceWebAppServiceFindWebResourceGetDashboardResourceGetManifestJsonResourceGetServiceWorkerJsResourceGetResourceHtmlEncodeget_IsMainConfigPageGetDashboardConfigurationPageIPluginConfigurationPagepageAddRangeget_Localeset_LocaleEnumerableIDisposableConfiguredTaskAwaitableget_Nameset_Nameget_ResourceNameset_ResourceNameGetFullWebResourceNamemanifestResourceNameresourceNameget_DisplayNameset_DisplayNameget_FriendlyNameGetSafeServerFriendlyNamenameSystem.RuntimeCombineIAsyncStateMachineSetStateMachinestateMachineNonePreCompressedTypeget_PageTypeset_PageTypeget_ConfigurationPageTypeset_ConfigurationPageTypeGetMimeTypeValueTypeGetTypeset_ContentTypeWhereIsGrantedAccessToFeatureget_UICulturelocalizationCultureget_InvariantCultureget_OrdinalIgnoreCaseIResponseget_ResponsevalueCloseDisposeCreatedeflate<>1__stateget_IsStartupCompleteAuthenticatedAttributeUnauthenticatedAttributeCompilerGeneratedAttributeDebuggableAttributeNullableAttributeAssemblyTitleAttributeAsyncStateMachineAttributeRouteAttributeTargetFrameworkAttributeDebuggerHiddenAttributeAssemblyFileVersionAttributeAssemblyInformationalVersionAttributeAssemblyConfigurationAttributeIgnoreDataMemberAttributeRefSafetyRulesAttributeCompilationRelaxationsAttributeAssemblyProductAttributeAssemblyCopyrightAttributeAssemblyCompanyAttributeRuntimeCompatibilityAttributeget_Valueget_HasValuevalueIndexOfget_Hrefset_Href_configSystem.ThreadingEncodingMediaBrowser.Model.Loggingget_EnableDashboardResponseCachingSystem.Runtime.VersioningToStringGetStringSubstringget_DashboardUIPathget_DashboardSourcePathget_EmbeddedResourcePath_basePathvirtualPathget_ApplicationResourcesPathpathget_LengthlengthEndsWithStartsWithEmby.Web.ApiMediaBrowser.Controller.Apiget_TaskMediaBrowser.ModelEmby.Web.dllIsCoreHtmlModifyHtmlget_RawUrlget_Streamset_StreamGetResourceStreamGetManifestResourceStreamGetRawResourceStreamGetResourceFileStreamGetHtmlStreamMemoryStreamstreamset_ItemIFileSystem_fileSystemEnumTimeSpanCancellationTokencancellationTokenIPluginget_Pluginset_PluginpluginJoinget_MenuIconset_MenuIconGetFavIconGetExtensionget_Versionget_ApplicationVersionappVersionIPluginUIPageRegistrationregistrationset_CacheDurationMediaBrowser.Model.ConfigurationMediaBrowser.Controller.Configurationget_ConfigurationBaseApplicationConfigurationServerConfigurationMediaBrowser.Model.GlobalizationSystem.Globalization_localizationSystem.Runtime.Serializationget_MenuSectionset_MenuSectionSystem.Reflectionset_PositionGetFileNotFoundExceptionInvalidOperationExceptionErrorExceptionSetExceptionMediaBrowser.CommonRemoveValueFromJsonStringComparisonjsonIReturnget_PageInfoPluginPageInfoConfigurationPageInfoCultureInfoTranslationInfoMemberInfoZeropSystem.LinqIPluginUIPagesRegistrar_uiPagesRegistrarbrIFormatProvider<>t__builderIResourceFileManager_resourceFileManagerget_ConfigurationManagerIServerConfigurationManagerILocalizationManagerget_LocalizationManagerIUserManager_userManagerILogger_loggerStreamHandlerMediaBrowser.ControllerStringComparerget_DisplaySortingComparerUseruserConfiguredTaskAwaiterGetAwaiterGetPackageCreatorGetEnumerator.ctor.cctorSystem.DiagnosticsMediaBrowser.Model.ServicesSystem.Runtime.CompilerServicesallResourcesDebuggingModesGetGenericUIPagesIHasWebPagesGetConfigPagesGetPluginPagesGetDashboardConfigurationPagesget_PluginConfigurationPagesGetPagesMediaBrowser.Controller.EntitiesGetManifestResourceNamesMimeTypesGetBytesSystem.Runtime.Serialization.PrimitivesGetAllPluginStringsGetPluginStringsGetStringsget_ApplicationPathsIServerApplicationPaths<>4__thisEmby.Web.dashboard_ui.modules.input.keyboard.jsEmby.Web.dashboard_ui.modules.iap.jsEmby.Web.dashboard_ui.modules.emby_apiclient.connectionmanager.jsEmby.Web.dashboard_ui.modules.virtual_scroller.virtual-scroller.jsEmby.Web.dashboard_ui.modules.registrationservices.registrationservices.jsEmby.Web.dashboard_ui.modules.apphost.jsSystem.Threading.TasksEqualsContainsMediaBrowser.Model.PluginsMediaBrowser.Common.PluginsMediaBrowser.Controller.Pluginsget_PluginsMediaBrowser.Common.ExtensionsBaseExtensionsget_Translationsset_TranslationsIHasTranslationsGetTranslationsGetPluginUIPageRegistrationsSystem.CollectionsStringSplitOptionsStaticResultOptionsStaticFileResultOptionsset_ResponseHeadersEmby.Web.dashboard_ui.modules.virtual_scroller.virtual-scroller.cssFromDaysConcatIsFormatformatObjectSelectRedirectGetMediaBrowser.Model.NetSystem.NetMediaBrowser.Controller.NetDateTimeOffsetoffsetConfigureAwaitSplitFirstOrDefaultGetStaticResultGetStaticFileResultFromResultGetResultSetResultget_CurrentStartIRequestget_RequestrequestToListIApplicationHostget_ApplicationHostIServerApplicationHost_appHostFirstGetRobotsTxtMoveNextSystem.Textget_EnableInMainMenuset_EnableInMainMenuget_EnableInUserMenuset_EnableInUserMenuOrderByToArrayset_CacheKeyget_AssemblySelectManyMediaBrowser.Controller.LibraryIHttpResultFactory_resultFactoryset_ContentFactoryGetContentFactoryWebUtilityIsNullOrEmptyD/.html	html".template.htmlMedia Server	Emby3Media Server Media Server1Media Server MediaServerMediaServerdashboard-uifavicon.ico.js	.csspage.jspage.csspage.htmluThe server is still loading. Please try again momentarily.robots.txt-Emby.Web.dashboard_ui.
"Emby")related_applications],)Your media, your way+Personal Media Server"index.html",".index.html<html)<html data-culture="" lang="'<title>Emby</title><title></title>content="Emby"content="+content="Emby Server"m<meta property="fb:app_id" content="1618309211750238">s<meta name="apple-itunes-app" content="app-id=992180193">k<meta property="og:url" content="https://emby.media">5 data-appmode="standalone"/<html data-appversion="apploader.jsapploader.js?v=<script<!--<script</script></script>-->dummy.htmlSError getting plugin information from {0}
wizardcindex.html?start=wizard#!/wizard/wizardstart.html
image/font/text/html!Content-Encodingmanifest.json!serviceworker.js���S���I�Nd�3'�     } ��  ������M  A E M� �! U  �)y yq
u4��u	��0
4 q0
0 �) �)    �)8
8 u
 e �
 �5$	DEI��UE�������� m I�I ���
I E�E����UE�������
E��UE���UE
��UE	��UE  } �A  y�) �E �IM����������

��qu5 q�EM����������

��qu�U �Y*	H����A��L������	�I�����
I������
������
 ���E��
E� �� �a!�e����a
��A�� �		 ���� ��	���
��
��
P��	 ��U�U��UE
U��UET���UE
��UE	 �qQ	�Q
QX���E
E
 ���\��l��
l d� �u
u�������� �-y �� ��
0
��0 �y    
 y �� 	u��������
��4u��������
��8����	 ��	��A��   M6,`�
����M��������� ��M��
��q
 ��	 ��

�l ���
 �� ��

��qu ���� M
 �U
 q�E�� q�EM�����?_�
:AE]aeim��A������������u
y����<@	�	�
���
�Q,�	��$�  A E  I Q EU ]aeim qu
  quy
 u
	 ��A
 ��A ��	 �� i]����a���� (	 q  ����UEE ��E	 ��    	 q$ ��

��qu    �� Q I ��UE
 qu

�� I
 ��UEU
 ��UE E(((A(E(	(��A(��(MTWrapNonExceptionThrows=.NETCoreApp,Version=v8.0TFrameworkDisplayName.NET 8.0
Emby.WebRelease4/Copyright ©2025 Emby LLC. All rights reserved.
4.9.1.80614.9.1.80+069a0c510fe42d67dab708c5dbd3a94d4159f2a9A<Emby.Web.Api.PackageCreator+<GetServiceWorkerJsResource>d__8>9Emby.Web.Api.PackageCreator+<GetManifestJsonResource>d__92-Emby.Web.Api.PackageCreator+<ModifyHtml>d__14*%Emby.Web.Api.WebAppService+<Get>d__19 /web/ConfigurationPagesGET/web/ConfigurationPageGET/web/stringsGET/web/stringsetGET /robots.txtGETTIsHidden)/web/{ResourceName*}GETTIsHidden!/favicon.icoGETTIsHidden����       index.ht       dex.html��+�	�
�v@       text/htm       ext/htmlBSJBv4.0.30319lT#~�#Strings�#US�#GUID�#Blob�3

<Module>ManifestMetadata����%	eb�
����
�^5!0B A	!0��"A@6g!02) A&Z"`NF&jXp^&xf^5!02 AX�F&����&����
&���zy��!+Z��!*�"��[�� ��/��]Yy!Z��!]~Ro Y��^Y��h]	�LjY��!KZ��!
]��!+�%+�!��.�K� _�&Y�%K��lK��-K	K�f`j?��!Y
��'y{��&ym��&Y�DI�E0�T I]
	�t���qp��0�
I<	����1�I��
��2�I��2��:�	�4� Y|�9 )"KN�*�DJ�G`�@`�T J�T0�W0�d���-JJ�rP��0�
J�0��		���!	pꓐ0��?��_		�����zL)�4��'�'�'�'Y�� z�&i �DNZN�R`�d�NN{N	C��Ԕ0��]]�Z�3��'�'�'Y
�� zo�	�C=Z=ҳR`�c�=Г0�
=|	��
l!#];R{��!?�$)�A�Q �T0�	Y�w`o
	p���
iY!	#�"�%: 	j" 		��V0ie)	�0£!b:���#	��C0>A0��!5��"�E[I�H#ZyRzR{R|R}�� Y�!	�!z�'i I�H�HZ�T ��R`�H	��gp�H��tP�H	C��H	���HCɐHo����!6�FF`b99�f��ƞ�g!0B) A�"�.,
�
��n	
4!Aa
A
�f!0�Ap�g!0r) C�
N.�
jL0&vx5�V6Y9����+�9�6��!Z
��'
{��':}��'io 
�Fj�A0�V j�V`�f���ep�v���sP��0�
jn	����1�j��1�j)C頖)����3�jٓ3�Y9!	#.+���#~ 	��B0��9)!#��Y ��E0�Q ��(=‘�� Yz"b2,2L2|��&k�+�$�
����\��=�(�:��+��k��l�J� ɱ\�z�"o�#�!9�$�'��^�y Z�%� ��h�y Z�&�"闸���� ������&;�A�Y���E0�]Z���D0�	‘U`-�M���_�ڕ~���=�h�r`��=�?�w`�8���q`�i�y��i�ڑi������;��Z��Y�X[)�����Yڣ�I��\I�}@��x.җ�� Yz��${OҖ:��n�";�&m�<� ���l��.B�#Z�,�#�'�
��^����I��+��K��&Z�=�,� j�%Z�,�%J�X��}�����&��"
�:‘�_�X��� Y�k2 ��)!�
���%y�G}�}ҷR`�?�>�p����p����r����y�.y�k�w��ږ)���Ɠ��PY�_�-Z)���� )KR{���%\~�))��U0:K�xK�Ri!Y	��!Y
��J Y��B0�U YY��ap��!	#�� yij!i	��!Y
��O i��-i��U`z�fp�t ];Z9���� m|��"�%/� 9�%i i��F0�V iY��bp�V�
��	-]*i	�7��'�'�'	|��%i {��E0�W {+6!4�D�|Ky����%Z,��!+>"�"I~ҕh"�"�*ґ
��^�
��

��N���/�t`��	P9i!Y#	��Y��E0�U Y+-��!��AIJ	�a`�q���H	C���0�X\i!J#��J��B0�T J�Q`
@��>�3b)2bJ��&�!*~��%)� -�!i�"i�#	�$
�$�'9�'z�$)�#:�%��y��<b�'�'I"Y�#�(��J��k��=�����#���x�$��Mr�$J� ���<b�'Y�')�"���?b�'Y�')�"���:0�%9�% �C<�C`˦DS�����BS�YG`�.{4Ő��C`�L4Ő��C`�l4Ő�v֑�WS�8)5���5�Ѥ.�z�b0�|K���r0ϥ�����������ד�jY)p��!3�E02Y	���3b)2bJ��&�!*~��%)� -�!i�"i�#	�$
�$�'9�'z�$)�#:�"��b�%�%I"Y�!��.��O����i��j�!�[��\�$��)r�"J�&���b�%Y�%)� ���b�%Y�%)� ���0�#9�# j�C<�C`˦DS��i���BS�*G`�~{4Ő��C`�4Ő��C`�\l4Ő�s֑�TS�	)5���5�єf �MK���r0����oy	0�N=p���=
&]��+�!-#�"�!�$��#yb?����x��)Ғ<��M��^��o��h¡����n��_��)²K��|��N���
�!I�$��J�9�&\�"�o���&I"Y�*b����%��$|�Z�I�|�!�8��� *�Z����� ��$�M�$���!��!J�\ i!K�"�o���&)� Y!K�b�L���$)�~ Y!K�0�/���" {�B-�E`��DS��E`�)4�r���FS�:���DS�:���AS�OG`�Y5��)5��9�SS��<�
�f0�OK�Ϣr0޷z	p�k	p�\	p�JY	p�;	p�|	p�{n	p�J	p�H=p����ڢ{Y0�Yi�
)!5��*Y 
�� f!0�Ave!0B Af!0�Aƶ	)!#Z0 ��T0H�!�!] 	��@0�P M	�=��!o 	��A0�P 9!#*	�� ��B0�Q �a�>@-��!�i��@0�V i�P`�f�iy#0jk)�1���#����%��'Y ��BS��DS�Q +5�_5��C6���~f!5�	U f!5�U d! A�P -%%Ii!I#�#{ -R I��E0�T I�%	)!)#Ky0 ))��P0M-�&	)!)#=J0 ))��U0y&	!7��', Gpr*9.�&.�&�!7�G�Apg�w��&46i'f!0�A@.�'9!#*	�� ��D0�Q �a��|�!o#�"�![��!Y_��i��;��|��N��_�j��<ҥ����IR�$Y�#�$��J�}�#�H��
��{��	�(�����	��+��,��^��_���"�{R�
���'/����$L�x��/���!,�9p�Y���&+�L���8���l�:���J�<�� Z����#
�:‘�&9�m���#�
Ґ�&���闿%Z�l��� 
�¡�#9�;��� �_Ҡ�#O�?�N�)���#K�\���%���� 
�[�+�z��� K�.���"k�)���"
�|���"��"�k Z!�0�>���# ]�Fo�z���DS�����DS�Z�C`�J4���+�ΦDS�/�C`�_J4�Ы�
֍�GS�mG`��P0�TiɱXi��ki�/�`����d�ƺ�d�֘�d��ju���U	�u���P	�hu�м�r��-���;�����		0�lɑú�;	0�9K	0��i��;�y�/�y�l��y�[��y�9��x��Y��l)����[)����J��ݳ<*0q�������{�h���08���P�t{��0`����x��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ�tZ��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z��Z������������
�
�������"�%�(�+�.�2�6�:�>�B�F�I�M�P�S�W�[�_�b�e�i�l�o�r�u�x�{�~�������������������������������������������������������������`�����������������d�
��;>ADGJMPSVY\_beilpt}�����������(8;\�`�e�s���������������������&�0�:�E�P�Z�d�n�x����������������� �"�%�)�+�-�/�2�5�8�:�<�?�B�E�G�J�M�P�S�V�Y�]�a�e�n�����������������������#�/�;�K�[�k�~�����������������������'�+�[�w��������������������������������������������������������������������������������	��X���
��� �&�,�2�:�I�O�W�_�g�v�|������������������������������� �#�&�)�,�0�3�7�:�>�B�F�J�N�R�V�Z�b�k�t�}�������������������
��$�-�>�N�U�g�j�r�z��������������������������������!�%�)�-�1�5�9�=�A�E�I�M�Q�U�Y�]�a�e�i�m�q�u�y�}������������������������������������������������������������������������ #&),/2580-	0-,h��

��>,i��

��>,j��

��>,k��

��>,}��

��>,~��

��>,��

��>,����

��>,`�>,f�>,g�>,n�>,o�>,p�>,q�>,s�>,y�>,{�>,���>,���>,J�>>,K�>>,a�>>,b�>>,c�>>,d�>>,m�>>,u�>>,w�>> !"$%&FJKLPQRSTUVW`abcdfghijkmnopqsuwy{}~������X��?g@FU\Y��PT*"4������^������������������:E����P��>1P��>}P��>��P��>��P��>3P��>P��>��P��>��P��>��P��>��P�>��P�>��P�>��P��>rP��>nP��>>��P�>>��T��>20T��>24T��>28T��>~lT��>����0T��>����4T��>����8T��>���>l{>��>I>I>I>q>c>b>t>t>0>i>>`>>`>>`>>`>>`>>M>>M>>0s��]��KV��><GDJ !x[������������l��CA������uo��#),$%'&(+��/��h|����B��W.=����97;56Qs��������S��������dmRO����)c)b)i)20)24)28)~l){E)ME)ME��UE)II)`I)`Q)`��)`U��UE)0u)��)I)q)t)����0)����4)����8)I��UE)t��UE)`��UE)���l 0128����$@DHLPTX\`dhA��u��M�]�)�u���������������E�E���E����UE�I�I��A�Q�����UE�U��UE�����������

��qu�������UE���UE��>�>����#@&,(��(��u(��(�(�*0H�*4P�*8`*l0*��*��*��*��*��*��u*��*�*�*��>*�> �� ��+(&+0'+(+)+ *+++,+8-+0.+8/+0+1+2+(3+4+ 5+@6+@7+H8+9+:+;+<+ =+8>+D?+(@+0A+PB+^+_+`+a+ b	#A[e�����������'�7�I�]������%�O�U�����������+�S�c�u�������A���!�W��������������-�����!�C�_$@DHLPTX\`dh��u�]�����E�E���E����UE�I�I�Q�����UE�U��UE����

��qu���UE���UE�<��������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������������������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x��������������������:0�:�	*�H��
��:�0�:�10
	`�He0\
+�7�N0L0
+�70	���010
	`�He �OgGRiӝd��S��鹝*c��u`��?g+ڠ�"�0��0���T����[�Hy����0
	*�H��
0w10	UUS10U
Microsoft Corporation1H0FU?Microsoft Identity Verification Root Certificate Authority 20200
200416183616Z
450416184440Z0w10	UUS10U
Microsoft Corporation1H0FU?Microsoft Identity Verification Root Certificate Authority 20200�"0
	*�H��
�0�
���*�g��������B��_��Z�E��w��mZMySؠ��WE ǢT�Ǣ���n5��/N�J��I
������'�B�+���ie��r��=��qH!�
�GI�������O�����sgI�ㆽ7@�%��޵�mbjթx�-oI��l���e7��n�^)��b�,�湉23�b���Rg�.�V+���짴����W�:'�g�-b-/�� ��3�����r�r5�yᜃo�mo��=�u8���I����0��W�hMrӿmq��
��dH�[oy&�͛�!���2={W��EL|�^5v�m��6t���s]2V�g�%
�5=���D������t�0��!W>�k�'I{���Y�uG�?8��Sy����\Q�_8��x�Z.�@Y(�$��	w#�8���Ǻ ��7�7��;q�ns}�r��3Yt�{PmƆ��9�=$�`ں��Q,4�P������M0\�&�]�cs�#�O`(�7�[��T0R0U��0U�0�0U�~�j�*��'�POh��0	+�70
	*�H��
��j���-�CN��P�d����6�;�R��jZ]tC0�`t	�!�m�$�\f�c�O�}�L@��کȮ�ϝ�I>t�h[�V,e�~S�V�Fy�E�6R)�/��~�i$���s
�J����cd"�2�~2(�gs-���1�G
���J�V`�,�{@��t'R�־��7��ng���]����:���<6"A�MՃ�<8�O0�T�Ӷ�2va���+���շ��^QM"��X��ؔ��.���|!W�Uc��m�Ҧw(p��[:[�[N����6��
e\t���zjt��K��P���:0��}W���A��d����X셚����V�\s���w�Y�7rT�AҶ#u�C��w|�y�A���܀���wuX_5�%g}�%�
�a!����6�����N�׮����ƒ�Ԉ橣���d8;_��5�t�ŪL�a6�>�+��]�Kx;-�;�`#��#6���f�S�{�iJ*�fiĔ��_n��x��\���0��0�ˠ3��.a�䠜��0
	*�H��
0Z10	UUS10U
Microsoft Corporation1+0)U"Microsoft ID Verified CS EOC CA 020
250930082706Z
251003082706Z0`10	UUS10UNorth Carolina10U	Cornelius10U
Emby LLC10UEmby LLC0��0
	*�H��
��0�����h�wa1��‰�yy!�@,�;O�{擾�Y�QZ��U�<`��)j����֟8`���K��R��7j�[��D񧗢�C0|SD�/#�_����+�
��u �]�E4au���M)B����%���
��!�b�Pek��~�HY�
�Rz���a�}C��[jQlD��M�pQs#�[�����.�2�6;��\p��,Tg�t�YÚ������ȏ0ͼ=�)�B�s@2��1�.�&$�;�����
�a>���b�k2&?ql�+�):��|��#y��ۘieb�v�fo�\3��pB�MKPY2V�Ie�m�i��O�&<)�6��8���m�M�
�~�����$�.��]�IVK�v
�z��p�!��0�0U�00U��0=U%604
+�7a++�7a���
����	��������*0Ug��9��:���K�8��"�ѻ0U#0�e�Q΅h/�E��ݧ1�
^0gU`0^0\�Z�X�Vhttp://www.microsoft.com/pkiops/crl/Microsoft%20ID%20Verified%20CS%20EOC%20CA%2002.crl0��+��0��0d+0�Xhttp://www.microsoft.com/pkiops/certs/Microsoft%20ID%20Verified%20CS%20EOC%20CA%2002.crt0-+0�!http://oneocsp.microsoft.com/ocsp0fU _0]0Q+�7L�}0A0?+3http://www.microsoft.com/pkiops/Docs/Repository.htm0g�0
	*�H��
�?ش}���K��k5t�`V�Ύ.ra�g��!�}P����r�{��(_��(
���K�y�W��v�y�6_19x�3�u��L4rJ��o�`����d��7!/��d{i�4�Q��!���
��6�t#�!�OF���}�;��BO��MP�:���D<�Opg���O
���A���ץ��)��n��/��m;�P���(+���C@�;qPd��Z#�3uo��W}@<�D�s�TNqo�
�x�Rg�eq�_Q6�gըk������s�6ع_~���z�W(á�ө�/A�v�4[g���(K�$��<P0��#�dg����y�Q����4Z�(1N&��A�$g�0C�>Ҟѥ�,
?2�	`$n��tӀT#��ki*j�6�$p�5�{�dv,��Հs90�l��f���opm��F�
<�X��ȩI�a������_ŨM�#��H(� 9�<J�\)�6�7���L?�U��y�!�*��nU�~�*��0��0�ˠ3��.a�䠜��0
	*�H��
0Z10	UUS10U
Microsoft Corporation1+0)U"Microsoft ID Verified CS EOC CA 020
250930082706Z
251003082706Z0`10	UUS10UNorth Carolina10U	Cornelius10U
Emby LLC10UEmby LLC0��0
	*�H��
��0�����h�wa1��‰�yy!�@,�;O�{擾�Y�QZ��U�<`��)j����֟8`���K��R��7j�[��D񧗢�C0|SD�/#�_����+�
��u �]�E4au���M)B����%���
��!�b�Pek��~�HY�
�Rz���a�}C��[jQlD��M�pQs#�[�����.�2�6;��\p��,Tg�t�YÚ������ȏ0ͼ=�)�B�s@2��1�.�&$�;�����
�a>���b�k2&?ql�+�):��|��#y��ۘieb�v�fo�\3��pB�MKPY2V�Ie�m�i��O�&<)�6��8���m�M�
�~�����$�.��]�IVK�v
�z��p�!��0�0U�00U��0=U%604
+�7a++�7a���
����	��������*0Ug��9��:���K�8��"�ѻ0U#0�e�Q΅h/�E��ݧ1�
^0gU`0^0\�Z�X�Vhttp://www.microsoft.com/pkiops/crl/Microsoft%20ID%20Verified%20CS%20EOC%20CA%2002.crl0��+��0��0d+0�Xhttp://www.microsoft.com/pkiops/certs/Microsoft%20ID%20Verified%20CS%20EOC%20CA%2002.crt0-+0�!http://oneocsp.microsoft.com/ocsp0fU _0]0Q+�7L�}0A0?+3http://www.microsoft.com/pkiops/Docs/Repository.htm0g�0
	*�H��
�?ش}���K��k5t�`V�Ύ.ra�g��!�}P����r�{��(_��(
���K�y�W��v�y�6_19x�3�u��L4rJ��o�`����d��7!/��d{i�4�Q��!���
��6�t#�!�OF���}�;��BO��MP�:���D<�Opg���O
���A���ץ��)��n��/��m;�P���(+���C@�;qPd��Z#�3uo��W}@<�D�s�TNqo�
�x�Rg�eq�_Q6�gըk������s�6ع_~���z�W(á�ө�/A�v�4[g���(K�$��<P0��#�dg����y�Q����4Z�(1N&��A�$g�0C�>Ҟѥ�,
?2�	`$n��tӀT#��ki*j�6�$p�5�{�dv,��Հs90�l��f���opm��F�
<�X��ȩI�a������_ŨM�#��H(� 9�<J�\)�6�7���L?�U��y�!�*��nU�~�*��0�Z0�B�3�z\2a�]0
	*�H��
0c10	UUS10U
Microsoft Corporation1402U+Microsoft ID Verified Code Signing PCA 20210
210413173153Z
260413173153Z0Z10	UUS10U
Microsoft Corporation1+0)U"Microsoft ID Verified CS EOC CA 020�"0
	*�H��
�0�
���|?2���� �Z�!�C��.�w�nJ�p@�����L������B�pG�N�v������nmtǻ�>v��	�8��,2��.H��hGox���S�0E��t$�>G���4kT���S�BXbk�ЃgG�+\_[���*zm��{�~��Ͳ�.E�i����]ifWb��u/�c� 
�B�Z�w]2����zS
=����,�I7?��c�래AZ�\��u2�ZtHP�?.�E���:</q�5��T��\���sJ�7B8Ov��0��΍�	�I�d�o7?z�Y16#�#�"� ��p�᰿�=s�hx�(�S�רJ:R75g(��`�Nt�J��(��o8be0h�ϣذ��`�i��X�����_(2e� �bjˀKze�t�O��F,�$�F���,�r�W��KT��m��=�QT bYWك���Ũtj�A'��|��\L$�N�.�0��d�g导�\��#�.k���#��{�05m��q3{�I9�=n�+���@���ȭ��0�
0U��0	+�70Ue�Q΅h/�E��ݧ1�
^0TU M0K0IU 0A0?+3http://www.microsoft.com/pkiops/Docs/Repository.htm0	+�7
SubCA0U�0�0U#0��A)�cl�i��)��Hj0�0pUi0g0e�c�a�_http://www.microsoft.com/pkiops/crl/Microsoft%20ID%20Verified%20Code%20Signing%20PCA%202021.crl0��+��0��0m+0�ahttp://www.microsoft.com/pkiops/certs/Microsoft%20ID%20Verified%20Code%20Signing%20PCA%202021.crt0-+0�!http://oneocsp.microsoft.com/ocsp0
	*�H��
�EI`�wO�G�_�R�_)���?c>@��O��e#bM�)�w�z�Z'�a�.C����XE��
���;�D�D�-�h��sI�K�UU���,p�uX|[�nDBё�St0���g�ͱ�U�Kg��UF9�
�&��Dr�GLm�_02wM�°Ixϓ�����=-6�A:?��/,�ٔ���k��a'�Y[�䊾�X���c��n�rP�‡���8񸬋�όd������I�2x��5UG���l[[�_=��߆�n�LWn�C�WI1DR
��
�$|lt|�}��,T\����.�����r��N��t��.�����zo)B�&�ej�r){L�+%�>�.c���ӎ<L�v��覵+Q���_Zm|}e��O
���.����0��1��	���CF�E1I�[�̀�k��v�3�+֘�l�bt����脂�bHm�	@��Aj������I�gў�.7g�S��9l�"�e����7��A�p�u����0��0���3��4�{��0
	*�H��
0w10	UUS10U
Microsoft Corporation1H0FU?Microsoft Identity Verification Root Certificate Authority 20200
210401200520Z
360401201520Z0c10	UUS10U
Microsoft Corporation1402U+Microsoft ID Verified Code Signing PCA 20210�"0
	*�H��
�0�
����(��TzLIliU	�R�zJ���%(�gw)M��b���6��Ӑi�

pv���@A��w�<_�fä��4�_!���x��Ysy��PlӾ�����3���&��'0C���8W�P��0��}�d?�=�	v2��I����V�wn6���dY�}�*�Z���s�=�,eN����r��(:y�7&%LE���U886a��G��MSb�1��֣�S�J2������ɳ��;��)�}m����]SK��xh����6�����E����9�4Bo�����}8�י�E��Og�W{92�Hr�Uނ@Я����i!V�6�k4NtI����SA�:�Ɔ2l&�r��M1�a�dzS[9Λ��*������2�*�C,{K�_`����{�&ml�nrAn�ߠ�7@:p[RF�|n�U%�N�0Tn��C��򋰷�E�U8�7���m�g`�~v��>�Ί� H�T\��^P��'K��WE7��50�10U��0	+�70U�A)�cl�i��)��Hj0�0TU M0K0IU 0A0?+3http://www.microsoft.com/pkiops/Docs/Repository.htm0	+�7
SubCA0U�0�0U#0��~�j�*��'�POh��0��U}0{0y�w�u�shttp://www.microsoft.com/pkiops/crl/Microsoft%20Identity%20Verification%20Root%20Certificate%20Authority%202020.crl0��+��0��0��+0�uhttp://www.microsoft.com/pkiops/certs/Microsoft%20Identity%20Verification%20Root%20Certificate%20Authority%202020.crt0-+0�!http://oneocsp.microsoft.com/ocsp0
	*�H��
�%*��ԫ��f
�W#L�^l��[�[9}��b�/��WOC����8�����.���6�|���,
��lt)l���@?^��~�HP��E�r��vkz�G��G��#�R��,�ᣖx����6�S�Q��QD�V���}NM�
_����F�հ�ـ�2ۧI
Q~ޗ��{G�D�b(_�M�uj�4o,MDo�Oc%�
��:T��#^����������2��D��Z8�0��8�I����z��H�989�0"D�lR�Ւ������K6�TrߟLW1�T���J�<��ѿ/��z�P�G��J�.40+�m�^��M��(
��<3���b|޾�މ�l3�O Ҷ�6Q�0� ��gzR�E'UUSR��{���n5�'� ��N*�/0�0g�@1�tS>�N^��":��0��C�(j�8y;T�>3{�+	�!���K�>"܊Z
�~��d�h-Y:`W�$J$��
=���8�/�>����j�H�g1��0�0q0Z10	UUS10U
Microsoft Corporation1+0)U"Microsoft ID Verified CS EOC CA 023��.a�䠜��0
	`�He���0	*�H��
	1
+�70/	*�H��
	1" �	���m3��`
�$lhd1"�V
����+K [0`
+�71R0P�8�6Signed file origin verified��https://emby.media0
	*�H��
��@g��AࡺH�t�����)F�
�d�X�����d/
��ҭ�V����Sf#�4��������ftc��l(��X��KT��<;��r.ȏ{_�-��b�|���p�m6=1~��PS�������ee�d7<"x+��w\�X=���3�j�c��g�M����ǯ�ъ8�[#�~�ە��ѣ��\��U -Nc0�G��������XH:}�37�����6��7����S��Gg}��}p�(��1N�H�yls�gL!3b�T��i8���D��Hp�d�'
4n��P
t�f}������Q�R�ŅѠ�ŷ ���s��3�E8�I$	%����z�C���p����KA�w��P����h�@^y���E���0��
+�71��0��	*�H��
���0��10
	`�He0�j*�H��
	��Y�U0�Q
+�Y
010
	`�He 	6&�ò[
uį�J������r�P��Ѵ��h�2�
C20250930200342.719Z0��餁�0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1-0+U$Microsoft Ireland Operations Limited1'0%UnShield TSS ESN:451A-05E0-D9471503U,Microsoft Public RSA Time Stamping Authority��)0��0�j�3���f.ɇ0
	*�H��
0w10	UUS10U
Microsoft Corporation1H0FU?Microsoft Identity Verification Root Certificate Authority 20200
201119203231Z
351119204231Z0a10	UUS10U
Microsoft Corporation1200U)Microsoft Public RSA Timestamping CA 20200�"0
	*�H��
�0�
��|�Rc��ş}c�"���3��eFGw��]po��C�J�Rj������C.��@x�$�]�9�`��o�V$���|ˈ��`��D�a�xH�J{t1�Ġ�M���ұ�|�j9��5�9�F�O���w�xmVk\J�d��(�5o4��bT<.���_Xr!e�����7��*�E�c(�ڿ�?����Poe���hZ�z��*�V-�TJ�s����|c"=$7I��*�4f�Ó�D-���X]�ƝƁ��B�.k;ܡ�g�$z�
!y��8C'�Pd~y�4Mܵn.� �U�Rh�|Qa�<`3�F��ċ�GSMW���!c�4�%�H-�͏�_;��
�N�ͫ���+�����v���maJ����ԫx7m*f޹)ƞ�Bwg#D������ޅ���8��G�(�X��gs<��ry�L[rA}׀*�W�S�=Z��?Q<p�K���� �:�!Y��(ۼc��Ym��!2���C�OR�Qw�^���0�0U��0	+�70Uki(:5/Hc@�{دI�>�=�!0TU M0K0IU 0A0?+3http://www.microsoft.com/pkiops/Docs/Repository.htm0U%0
+0	+�7
SubCA0U�0�0U#0��~�j�*��'�POh��0��U}0{0y�w�u�shttp://www.microsoft.com/pkiops/crl/Microsoft%20Identity%20Verification%20Root%20Certificate%20Authority%202020.crl0��+��0��0��+0�uhttp://www.microsoft.com/pkiops/certs/Microsoft%20Identity%20Verification%20Root%20Certificate%20Authority%202020.crt0
	*�H��
�_�v�~m�Zu�Lxh�N��D�%���49��;� {�ċ5����c&��yn���Z�GB؅���2KS�"���r�h�Iy�3m�E�󲃢�ᄝԩg�L�ͽ\���!!��{��T#�~�=�0�sc��0��r5�Bz˟Smu��%,��]�͜"�d��Ά�=��	c�5������t[|����w�훼�3�#�4j��ľ��Tv'�}p�����҆"�xjWk`����rO���� Z/ ���d%f��u*Qh�H��Ҏ
�8ڛ0�&Ӌ�hA����(t5��W�����)�RJ���p�K.���1__G���K��i�X���~�F��N\rv!a��<�L7�
l�S��!�iy�G��Dkb&��`i��d����x��X?���=�Y�W(��Zo<O�e��0�t'�h�M�R�\w�P�&ϐ�p�'`���c�����Ms�h 	)Q�?_h2H�/!�hH�P�����B+�z��Y�~%��l{�h][0��0���3T?�>��ئT0
	*�H��
0a10	UUS10U
Microsoft Corporation1200U)Microsoft Public RSA Timestamping CA 20200
250227194027Z
260226194027Z0��10	UUS10U
Washington10URedmond10U
Microsoft Corporation1-0+U$Microsoft Ireland Operations Limited1'0%UnShield TSS ESN:451A-05E0-D9471503U,Microsoft Public RSA Time Stamping Authority0�"0
	*�H��
�0�
��֞x�ßz��C�t_m�AV��r� �ߓ�������)�M�{���O��9��3ic��k��W��Y���%ʀ,�����!���x�'-ts�d�NB.�Fncun��S1%����Ӑ��ǽ
��8==2���X��oj�
��j+�CP�����$G�E&\��Vp|�G����O��+l���uݤ�B�78�y����^�.BR��\�A������Z��"`��,J���J��9����D�8��?�vzBn��+�|��)
,�S���j��sK�r�\v����(���:��>�_�@9k[��R@�(�.�s�c�v�O�d|^
'_�@��x�x�Do(�RQ�]����N[�;��rhP��c{���ञ�����c�B=F-�`t��CR�6{z
�*�'ٻ��)���,���nJp��Ә�%v4���Ē\$a�Yq�{,T{��
��%_��,����_���ڑ��I����K�
"��2�H����;���0��0U�i6�۳j@��u�ng7]�0U#0�ki(:5/Hc@�{دI�>�=�!0lUe0c0a�_�]�[http://www.microsoft.com/pkiops/crl/Microsoft%20Public%20RSA%20Timestamping%20CA%202020.crl0y+m0k0i+0�]http://www.microsoft.com/pkiops/certs/Microsoft%20Public%20RSA%20Timestamping%20CA%202020.crt0U�00U%�0
+0U��0fU _0]0Q+�7L�}0A0?+3http://www.microsoft.com/pkiops/Docs/Repository.htm0g�0
	*�H��
�s�߆RV�S�������8l(ɠ��%l��l�1q6)���pqB����m�jli�,�T�L_<�Ȁ���܁�M�R@S�G���Ɩ��ǐR�*݌�<��l&���6�p��d���l����׬�� fi��c��'L���h�8��?G�Ȧ�J�U��z�NU�F�V,�Ρd
�B��3��u8���d	q��6:���2o��Z��W�D�H��f��cD�_�L�k�N����9O��qM��#����)F�v��D����_��U�T2M)��L������V�;�V%�}q�����C�aV�]j����>�O�*qB(���`�207s��P����E5o��C��IW��v�D�FV1`O��i��K2Bc�k�OK,��m��u�	f���$��Kq��(���~84�/dy��qLֳ�{�D�_������V�?�&	�\(�X�/�h ����.�;	�XgC��߷ʷWb���rwٵNY�=\�J1��0��0x0a10	UUS10U
Microsoft Corporation1200U)Microsoft Public RSA Timestamping CA 20203T?�>��ئT0
	`�He��-0	*�H��
	1
*�H��
	0/	*�H��
	1" ���C �x�T�DN�%��.��j��uC�;0��*�H��
	/1��0��0��0�� ԁ�zbY�Io� _���c$FM.��4@���I�0|0e�c0a10	UUS10U
Microsoft Corporation1200U)Microsoft Public RSA Timestamping CA 20203T?�>��ئT0" -�f`	����N�I�n��x|Mv��H�o�0
	*�H��
�L����W_0�|�!h�eR)��p�;S��OQ�y�F."˕�D�u��� >S�#?�3�+ѤS�*�>֥�g���p�H[j<��:me��:|�tQ�^�VR�ѳ�[G�a	A�i�b��܄��-7"�2�Nsh�k��C+�8m�9���l����ډĞ��0!V|���/�Ԧ�Y���
��V�2>zWL�j����<��%���
h�D_7{s�uDM�g�K���tu���V��U�'Κ�4|(�ӡ�TD����jg+���K	w�=�Dǐ��sm���-�a��h�j��?�0?����
�*M&V�%���Hˊ�{�;S�"�6.���5�w��I�����M.ȩP�Qj��0��Ղ�ʚ
R�o�Wu���"fH�cEy�ڮ22����
�?�k �H�.2�5�8W���$|�[
yX�s��`���!?�j��M���S��غez@���Ǜj�Fn��w�������-���"Q�

Anon7 - 2021