 		***************************************************************************/
 		protected override function doLoad() : void
 		{
+			// asset from library
+			if (m_url.indexOf('attach://') == 0)
+			{
+				var symbol : Class = resolveAttachSymbol();
+				if (!symbol)
+				{
+					onData(false);
+					return;
+				}
+				var binaryObject : Object = new symbol();
+				if (!(binaryObject is ByteArray))
+				{
+					logUnsupportedTypeMessage(symbol);
+					onData(false);
+					return;
+				}
+				m_data = ByteArray(binaryObject).toString();
+				onData(true);
+				return;
+			}
 			m_loader = new URLLoader();
 			m_loader.addEventListener(
 				HTTPStatusEvent.HTTP_STATUS, loader_httpStatus);

	import flash.events.HTTPStatusEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;	

	public class FileResource extends AbstractResource
	{

		{
			return m_loader.data;
		}

		public override function bytesLoaded() : int
		{
			if (m_attachMode)
			{
				return 1;
			}
			if (!m_loader)
			{
				return 0;
			}
			return m_loader.bytesLoaded;
		}

		public override function bytesTotal() : int
		{
			if (m_attachMode)
			{
				return 1;
			}
			if (!m_loader)
			{
				return 0;
			}
			return m_loader.bytesTotal;
		}
		
