entirely; rather, Silverlight downloads only the parts in view, optimized for the zoom level being viewed. Beta 2 onwards, Deep Zoom uses an XML-based file format. Media features in Silverlight 2 include: WMA Professional support, including WMA 10 Pro low-bitrate modes. However, multi-channel audio content is still down-converted to stereo output. Content protection powered by Microsoft PlayReady DRM client. Server-side playlists in Windows Media Services. Media Stream Source API. The Media Stream Source is the API responsible for enabling adaptive streaming of media. Adaptive streaming allows the player application to choose the bit rate of the media based on available client bandwidth and central processing unit (CPU) resources. Media Stream Source allows the developer to specify a custom method of retrieving media data, the only requirement being that the final video and audio streams be presented to Silverlight runtime in a format that Silverlight can decode (VC-1, H.264, WMA, MP3, etc.). This allows extensible support for otherwise natively unsupported file formats (i.e. MP4, Matroska, Ogg), protocols (i.e. Shoutcast) and delivery methods (i.e. adaptive streaming, peer-to-peer (P2P)). Microsoft first publicly showcased Media Stream Source by powering the NBC Olympics website with their own implementation of adaptive streaming. Silverlight 2 also allows limited filesystem access to Silverlight applications. It can use the operating system's native file dialog box to browse to any file (to which the user has access). The file is sanitized of path information, to prevent the application from getting access to information such as user name, and can be opened only in read-only mode. For local storage of data, Silverlight provides isolated local storage (isostorage), namely, outside the browser cache, in a folder hidden inside the private user-profile folder. It is set to 1 MB per URL by default, but this can be changed by the user. Data stored by a Silverlight application in the isostorage is identified by the URL from which it loads, and can be accessed by that application only. All instances of Silverlight share the same isostorage, so all instances of the same Silverlight application can share the saved data, even if they are running on different browsers. Silverlight CoreCLR uses an attribute-based security model, as opposed to the Code Access Security (CAS) model of the desktop version of .NET Framework. Assemblies are marked with a security attribute, which can be transparent (SecurityTransparentAttribute), safecritical (SecuritySafeCriticalAttribute) or critical (SecurityCriticalAttribute). Methods in transparent assemblies run with partial