18th August 2006

Embedding Resources with AS3

posted in Flash |

Someone recently asked about "code injection" using AS3. Code injection comes from MTASC, where the byte code is added to an existing SWF. The person wanted to create a Flash 9 SWF with the Flash 9 AS3 preview IDE, and use mxmlc.exe to inject code into it.

This is not possible, but there are some equally powerful alternatives using embedding in AS3. As this whole AS3 thing is fairly new to many, I thought I'd explore it a bit and post some info.

Using the AS3 compiler, you obviously don't have a library for storing movie clips, graphics, text field, bitmaps, etc. So how do you get these into a SWF? Using the Embed tag. Here's how that looks:

Actionscript:
  1. [Embed(source="assetname")]
  2. private var AssetClass:Class;

Here, "assetname" would be the path to a file, usually a bitmap or a SWF. For example, to embed a bitmap named "picture.jpg" in your SWF, do something like:

Actionscript:
  1. [Embed(source="picture.jpg")]
  2. private var Picture:Class;

Now Picture represents a class that you can create an instance of, like so:

Actionscript:
  1. var pic:Bitmap = new Picture();

Notice that because you imported a bitmap, it ends up as type Bitmap.

That's pretty cool, but importing assets from SWFs is even more powerful. In fact, you can even import Flash 8 SWFs, though you'll only get the graphic assets in them.

You can embed SWFs two ways, just like the bitmap example above where you embed the whole thing, or you can target a particular library asset from the SWF to embed. The latter is obviously much more powerful. Here's the syntax for that:

Actionscript:
  1. [Embed(source="library.swf", symbol="linkageID")]
  2. private var AssetClass:Class;

Here, "library.swf" is the name of the SWF holding your assets, and "linkageID" is, you guessed it, the linkage ID of the particular asset you want to embed in your new SWF. AssetClass is again the name of the class that will be associated with that asset.

To try it create a new Flash 8 file and save it as "library.fla". Create a few shapes on the stage and convert each one to a movie clip, exporting it for AS. I saved mine as "star", "square" and "circle". You don't need to leave the symbols on the stage. As long as they are in the library and exported, you are fine.
Inside the star movie clip, I made a tween that just spun the star around.

Inside the square movie clip, I put the code:

Actionscript:
  1. function onEnterFrame()
  2. {
  3.     _rotation += 5;
  4. }

Then, publish this movie, so it creates "library.swf".

Now create a new AS3 class, like the one below:

Actionscript:
  1. package
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.display.StageAlign;
  5.     import flash.display.StageScaleMode;
  6.  
  7.     public class App extends Sprite
  8.     {
  9.         [Embed(source="library.swf", symbol="star")]
  10.         private var Star:Class;
  11.  
  12.         [Embed(source="library.swf", symbol="square")]
  13.         private var Square:Class;
  14.  
  15.         [Embed(source="library.swf", symbol="circle")]
  16.         private var Circle:Class;
  17.  
  18.         public function App()
  19.         {
  20.             init();
  21.         }
  22.  
  23.         private function init():void
  24.         {
  25.             stage.scaleMode = StageScaleMode.NO_SCALE;
  26.             stage.align=StageAlign.TOP_LEFT;
  27.  
  28.             var star:Sprite = new Star();
  29.             addChild(star);
  30.             star.x = 100;
  31.             star.y = 100;
  32.  
  33.             var square:Sprite = new Square();
  34.             addChild(square);
  35.             square.x = 200;
  36.             square.y = 100;
  37.  
  38.             var circle:Sprite = new Circle();
  39.             addChild(circle);
  40.             circle.x = 300;
  41.             circle.y = 100;
  42.         }
  43.     }
  44. }

Save this in the same directory as the library SWF, and compile it with mxmlc. When you do so, you'll get a warning that the ActionScript in the square symbol is AS2, and will be ignored. (I just put it there to prove a point. If you believe me, you can leave it out.)

When you open the new swf, you'll have your three symbols sitting on stage. The star will be tweening around, but the square won't move, as its AS2 code was ignored.

Note that you don't have to import all the assets from the library. You could have a large library SWF with hundreds of elements, think skins, which you could import whichever ones you needed and leave the rest behind. Only the ones you chose would get compiled into your SWF.

Of course, you can also create a Flash 9 SWF with the new AS3 preview IDE, and import assets from it in the same way. And, since those assets could include AS3 timeline code in them, you could actually have the code come along with them. But if you are coding apps in AS3 and embedding resources from external library SWFs, you are probably not the kind of developer who writes timeline code, and you wouldn't likely want that coming into your nicely organized code base anyway, so for the most part, you are using the SWF to import visual elements only, so it really doesn't matter whether it's Flash 8 or 9.

Another big advantage to using Flash 8 for this purpose, at least if you are using FlashDevelop, is that when you add the library SWF to your project, you can actually expand it and see what exported assets are in it, and double click on them to add the linkage name directly to your code. (FlashDevelop cannot currently decompile a Flash 9 SWF in this way.)

I've created some sample files if you want to test this out yourself: Embedding.zip

(It's created as an Ant-based FlashDevelop project, but you can ignore everything but the Flash files in the src dir if you use something else.)

ps. If anyone knows how to get proper indenting using iG syntax highligher in WordPress 2.0, let me know.

Post to Twitter

This entry was posted on Friday, August 18th, 2006 at 6:14 pm and is filed under Flash. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

There are currently 57 responses to “Embedding Resources with AS3”

  1. 1 On August 18th, 2006, kp said:

    An important concept that I may not have pointed up enough is that these assets are COMPILED IN to your SWF – at COMPILE TIME. They are NOT loaded in at run time. They are NOT in a runtime shared library. This means:

    1. You don’t need to deploy the library.swf when you deploy your application. They are not linked in any way.

    2. If you change something in the library.swf, you need to recompile your application swf to re-embed the changed assets.

  2. 2 On August 18th, 2006, kp said:

    After some more thought, I’m sure that there is a good use case for using a Flash 9 SWF as a library. Perhaps if the class you give a symbol in Flash 9 is an actual class, not an auto-generated one, but I’m not quite sure how or if that comes through. Still playing.

  3. 3 On August 18th, 2006, Ben said:

    Hey Keith,

    Great info once again. As far as the indentation thing, you have to not use the rich text editor or whatever they call it when writing your post. I had the same problem when I first installed iG.

  4. 4 On August 18th, 2006, kp said:

    Thanks. But I’m still having no luck with indenting. How do I not use the rich text editor? I can click on the html button on the top and paste my code in there, but when I hit update, it formats the whole thing into one long line. Are you using WP 2.0?

  5. 5 On August 18th, 2006, Dongwook said:

    I’m flying here to read this article, because I heard that Embed tag is not available anymore in AS3, but I think I was wrong. Anyway thanks for great tip. However, I have one question, somehow, I can’t complie this in Flash 9 preview version, could you tell me why isn’t that? It should work I guess. I did something wrong maybe.

  6. 6 On August 18th, 2006, Ben said:

    Yea, its kind of in a weird place. Options -> Writing -> uncheck “Users should use the visual rich editor by default”. I am using 2.0.3

    Good luck!

  7. 7 On August 19th, 2006, kp said:

    Thanks Ben. I tried that and it didn’t seem to make a difference, but I’ll give it another shot.

    Dongwook, metadata tags such as embed are not supported by the Flash IDE compiler, because you set everything up (stage size, fps, bg color) in the IDE, and you have a library, so don’t “need” to embed things like that.

  8. 8 On August 19th, 2006, kp said:

    Ah, found it! In addition to disabling the RTE in options, you have to disable it in your user preferences too. Yay! Indenting!

  9. 9 On August 19th, 2006, matt said:

    Thats great, thanks. I can compile in Flashdevelop and see all the shapes in the swf if i launch the swf with the standalone player, but the swf that opens in the tab is blank, any idea what the problem may be. Sorry if its slightly off topic :/

    cheers

    MaTT

  10. 10 On August 19th, 2006, Bob Donderwinkel said:

    Would embedding swf’s with linkage id’s be the best way to go for embedding components. Or are there specific metatags to handle swc embedding?

  11. 11 On August 19th, 2006, Philippe said:

    I’m fairly confident that FlashDevelop’s SWF exploration can show the symbols of Flash 9 IDE’s SWFs.

    Matt, check that you have the Flash 9 ActiveX plugin installed.

  12. 12 On August 19th, 2006, Francis Gabon said:

    Hey Keith,

    Thanks for that great tip. I’ve been looking for a way to embed SWF generated by the F9 IDE for a long time!

    As there’s no linkage id in F9 anymore, I tried to attach a class of my own (Anim.as) to a movieclip in the lib and that worked the same way :

    [Embed(source="lib.swf", symbol="Anim")]

    Nevertheless, back to my main app class in Flex Builder, I can’t cast the embedded MovieClip to my Anim class.

    trace("MovieClip: " + (anim is MovieClip)) //returns true
    trace("Anim: " + (anim is Anim)) //returns false

    Moreover, code I wrote on the Anim symbol’s timeline isn’t executed once the main app is launched in FB, although the symbol is visible. It’s pretty annoying as I may need some gotoAndPlay to be executed…

    Any help is welcomed on that :)

    Cheers,
    FG

  13. 13 On August 19th, 2006, kp said:

    Yeah, i haven’t quit figured out how to force the type of an embedded resource to anything beyond its default Movieclip/sprite/bitmap. Even if you have a named text field in an embedded asset, and try to access that, it says Sprite doesn’t have that property. I imagine there is a way, I just got distracted onto something else last night and didn’t explore it further.

  14. 14 On August 19th, 2006, Bob Donderwinkel said:

    Never mind..

    Swf embedded actionscript 2.0 components can not be used because of AS 3.0 compiler error’s, and Actionscript 3.0 components are simply classes to be instantiated ;) .

  15. 15 On September 4th, 2006, Sam said:

    So timeline code can exist. But wat about frames? Can assets have frames in their timelines?

  16. 16 On September 5th, 2006, vinnie vivace said:

    yo Keith. thanks for sharing all this great info, much appreciated.
    im trying to import a symbol from my external swf and then cast it as a custom object, but failing miserably!!

    heres where i started, successfully instancing the asset as a sprite

    ——————————————————————

    [Embed (source = "../fla/library.swf", symbol = "customCursor")]
    private var cursorSprite:Class;

    var customCursor:Sprite = new cursorSprite();
    addChild(customCursor);

    ——————————————————————-

    but now i want to cast customCursor, so tried:

    ——————————————————————-

    import CustomCursor;

    [Embed (source = "../fla/library.swf", symbol = "customCursor")]
    private var cursorSprite:Class;

    var customCursor:CustomCursor = new cursorSprite() as CustomCursor;
    addChild(customCursor);

    ——————————————————————-

    and various variations on the above, all of which failed. any tips would be much appreciated.

    chur
    vinnie

  17. 17 On September 5th, 2006, kp said:

    i’ve run into the same thing vinnie. haven’t had the time to investigate it far enough to find the solution though.

  18. 18 On September 5th, 2006, kp said:

    sam, yes, as demonstrated in the example, you can have a timeline tween or frame by frame animation in a movie clip, and import that. however, you can’t control its frames. can’t even say stop() or gotoAndPlay().

  19. 19 On September 7th, 2006, alco said:

    “however, you cant control its frames. cant even say stop() or gotoAndPlay().”

    Presumably, this is because a SWF published in Flash 8 contains AVM1 bytecode, which, according to Adobe documentation, cannot be ‘understood’ by AVM2 bytecode. So when you build an AVM2 SWF (i.e. from AS3 sourcecode) mxmlc strips out incompatible AVM1 bytecode, even something as simple as a ’stop()’.

  20. 20 On September 8th, 2006, vinnie vivace said:

    thanks keith, thought i was being dense!!

  21. 21 On September 18th, 2006, jNj said:

    hey, new to AS2.0 let alone AS3.0 so could be doing alot wrong but the following worked

    [Embed(source="assets/tagDom.swf", symbol="dom")]
    private var dom:Class;

    var myDom:MovieClip = new dom();
    addChild(myDom);
    myDom.gotoAndStop(4); //changing frame number was working
    myDdom.x = 100;
    myDdom.y = 100;

  22. 22 On September 18th, 2006, jNj said:

    sorry,
    typo “myDdom.x = 100;”, “myDdom.y = 100;” myDom etc..

  23. 23 On September 20th, 2006, vinnie vivace said:

    found the solution to my above problem:

    http://chattyfig.figleaf.com/pipermail/flashcoders/2006-August/171437.html

  24. 24 On September 20th, 2006, BIT-101 Blog » Blog Archive » Update on Embedding Assets in AS3 said:

    [...] A few weeks ago, I posted some info on embedding SWF-based assets in AS3. [...]

  25. 25 On December 23rd, 2006, bong said:

    ok thanks a lot for that info ..

    this code :

    public function App()
    {
    init();
    }

    what exactly it do?

  26. 26 On January 18th, 2007, sascha/hdrs said:

    Can somebody give me a hint how to use embedded assets properly with a preloader? Before AS3 we used the timeline in Flash and put a preloader on frame1 and all the heavy stuff on frame2 or later. How does this go in AS3 without a Flash9 IDE? I’ve wrote a custom AS3 Preloader class that extends MovieClip and once it finished loading it jumps to frame 2 but how in the first place do I get embedded assets onto frame2 (if thats even possible)?
    I think there must be a way, after all Flex’s Preloader preloads properly (what a sentence!). And that one extends Sprite and Flex’s SystemManager class extends MovieClip, so maybe there are some parallels.

  27. 27 On February 24th, 2007, Technology in Interaction Design » Using ActionScript 3 said:

    [...] BIT-101 tutorial on embedding resources in ActionScript 3.0 [...]

  28. 28 On February 27th, 2007, nothing blog from outer space : Compiled und Runtime Assets in AS3 said:

    [...] Ressourcen zum Thema Embedding Resources with AS3 [...]

  29. 29 On March 8th, 2007, Mark Walters said:

    In case anyone comes stumbling upon this post again like I did, I wanted to offer up the solution to associating a custom class with an embedded symbol.

    Instead of doing something like this:

    [Embed(source="/library.swf", symbol="customButton")]
    private var CustomButton:Class;
    var customButton:SimpleButton = new CustomButton();

    Do this instead:

    [Embed(source="/library.swf", symbol="customButton")]
    public class CustomButton extends SimpleButton

    Add the embed tag above the class declaration that you want the embedded symbol to be associated with instead of above a variable that you want associated with the class.

  30. 30 On June 14th, 2007, Dennis van Nooij said:

    all this looks great but did anyone get this to work without embedding the Flex framework ? I get all kind of compile errors when I leave out the framework.swc.. :(

  31. 31 On June 14th, 2007, Dennis van Nooij said:

    note to self: better read the comments first..:)

    Mark’s solution works great. thanks

  32. 32 On June 14th, 2007, kp said:

    yeah, you’ll need the framework swc included, as assets are actually embedded as instances of SpriteAsset, MovieClipAsset, BitmapAsset, etc. which live in the mx package. Those classes are pretty self contained though, so you don’t have to worry that your file size is going to balloon by pulling in a bunch of the framework itself.

  33. 33 On June 19th, 2007, Jerry said:

    Maybe a solution: It works with anything, if you cast the Class, like this:


    [Embed(source="stuff/library.swf", symbol="Box")]
    private var Box:Class;

    var boxInstance:Sprite= new Box();
    addChild(boxInstance);
    Box(boxInstance).myLabel.text = "hello, again"; //"myLabel" is a Textfield in the Box

  34. 34 On June 29th, 2007, Bart Claessens’ Blogbox » Develop Flash Applications In Flex said:

    [...] A few days ago I had the intention to Embed a library-swf file in my AS3 code while using the Flash CS3 IDE. So I went for a search on the Internet and I stumbled upon the blog of bit-101 who already made a blog post on how to embed objects. Read the blog post here: http://www.bit-101.com/blog/?p=853 [...]

  35. 35 On July 14th, 2007, waltsatan said:

    Scalegrid doesn’t seem to work when embedding assets using the factory method.

    [Embed(source="roundedbox.png", scaleGridTop=2,scaleGridBottom=9, scaleGridLeft=2, scaleGridRight=9)]
    private var RoundBox:Class;

    It works as a bitmap, but when I try it as a sprite, it fails:

    var assetClass:Class = getDefinitionByName("RoundBox:) as Class;
    var assetBitmap:Sprite = new assetClass();

    Anyone know a way to get it to work?

  36. 36 On August 27th, 2007, groovable » Blog Archive » Actionscript 3.0: Accessing Library Items Dynamically said:

    [...] But what if I want to have a different button design for each button on my menu (NavMenu class)? Does this mean I must have a different NavItem class for each button? How lame is that? I just want to be able to use NavItem class on ANY MovieClip library item that may be a used as a button for my nav menu. (Flash requires that each item in the library be associated with a unique class). I’ve looked in to other ways of doing this, including ways to just access library graphics as Keith Peters describes: [...]

  37. 37 On October 10th, 2007, Dr S said:

    Thanks for this great tutorial. The only thing is I can’t seem to get this to preview from the Flash CS3 IDE. I get the swf to publish and appear with no compiler errors but I can see none of the symbols on the stage.

    Am I doing something wrong?

    Thanks :)

  38. 38 On April 16th, 2008, dannym said:

    Does anyone have experience importing a PNG from the Flash IDE that has jpg compression applied? I seem to recall that I was able to make this happen in the past, but now I get a “Error: Error #2136: The SWF file _ contains invalid data.” error. Works perfectly if I sent the PNG compression to loseless in the IDE, but I need to crunch these mofos. Worst part is, I remember doing this in the past. Has something changed? Doesn’t seem to work with Flex 2 or 3 SDK and fcsh.
    Any ideas?

  39. 39 On May 22nd, 2008, Streamhead » Blog Archive » How to use images in ActionScript 3 with FlashDevelop (and some other AS3 tips) said:

    [...] ActionScript 3 has an “Embed” tag that will allow you to put images in an applet. See this link for the complete explanation. Basically, you define a private Class variable, put the cursor just [...]

  40. 40 On August 7th, 2008, Johannes Luderschmidts Blog » Blog Archive » Embed Illustrator Vector graphics In Actionscript 3 said:

    [...] a really cool article about the embedding of resources in Actionscript 3 in Keith Peters bit-101 [...]

  41. 41 On August 9th, 2008, Cedric M. aka maddec said:

    In reference to Dannym:
    “Error: Error #2136: The SWF file _ contains invalid data.” error
    I’m using a .swf as an assets source to embedded images/icons in Flex.
    Flex send me this 2136 error.

    Situation:
    you import a png file into the Flash library, then it is exported as an swf to be used in Flex to get images to embed.
    If by default a jpg compression is applied to it, the 2136 error is sent when you try to use this asset.

    To fix this problem:
    just double click on the imported png image in the library, in the bitmap properties panel sets its compression to lossless (GIF/PNG), and then everything works great.

    Why?:
    I guess Flash or Flex makes a conflict between compressions and source files formats?

    I haven’t tested it in an “only Flash” workflow…
    I hope this will help somebody.

    Best regards.

  42. 42 On August 20th, 2008, halaszlo said:

    Hi,
    My code is the following:
    package
    {
    import flash.display.MovieClip;
    public class Main extends MovieClip
    {
    public var mcWall:MovieClip;
    public function Main():void
    {
    [Embed(source = '../Wall.swf')]
    var classWall:Class;
    mcWall = new classWall();
    addChild(mcWall);
    mcWall.stop();
    }
    }
    }
    I am using FlashDevelop and as3 project. The imported swf is a Flash 8 MovieClip.

    My problem is that the general movieclip functions don’t work (e.g. gotoAndStop() or stop().

    Is it caused by that the imported movie is Flash 8 or I am doing something wrong?

    Thanks in advance.

  43. 43 On August 26th, 2008, unhitched said:

    Is it possible to embed an flv file into a swf/swc that can be instantiated later? ie not importing to stage in Flash and saving as a MovieClip but using a standalone file that has been h264 encoded. I notice that if I create a Flex Library project and add FLV assets to it, I get a compiled swc conataining these assets – but can’t figure out how to use them in another Flex project. Any ideas would be great!

  44. 44 On September 14th, 2008, How to use free sdk for Actionscript 3.0 « Create Actionscript 3.0 with free sdk said:

    [...] References Embedding resources with AS3.0 AS3.0 with Free Flex SDK [...]

  45. 45 On September 22nd, 2008, Embedding Resources with AS3 at ting said:

    [...] http://www.bit-101.com/blog/?p=853 « Plaatje op een stage te krijgen met Action script 3 [...]

  46. 46 On September 27th, 2008, Doug said:

    You can embed and use an FLV file as follows:

    package
    {

    import flash.display.Sprite;
    import flash.display.MovieClip;

    public class Test extends MovieClip
    {

    [Embed(source="bin/test.swf")]
    private var myVideo:Class;

    public function Test ()
    {
    var k:Object = new this.myVideo();
    var v:MovieClip = k as MovieClip;
    addChild(v);
    v.play();
    }

    }

    }

    To generate a SWF from an FLV you need to transcode the file. I recommend using one of the (many) FLV to SWF encoders out there. Typically you can use ffmpeg directly if you already have the flv:

    ffmpeg -i myflv.flv -acodec copy -vcodec copy myswf.swf

    All the methods mentioned previously can then be used to load the swf as normal. Remember external swfs extend MovieClip, not Sprite. :)

  47. 47 On January 24th, 2009, Associating Custom AS3 Classes with Embedded Assets said:

    [...] Peters had a couple of posts a little while ago about embedding assets in as3 (1 and 2). One thing that came up in both of them that could not be resolved was how to associate a [...]

  48. 48 On March 20th, 2009, Flashxpress » Flash CS4 : embarquer des assets externes avec [Embed] said:

    [...] http://www.bit-101.com/blog/?p=853 → addFrame – Code-moi une Timeline en AS3 [...]

  49. 49 On April 26th, 2009, Andrew said:

    I’m wondering if there’s a way to dynamically set the ’source’ of the Embed so I can do batch Embeds? That would be fantastic.

    It seems you can’t access variables once you enter the embed tag…

  50. 50 On April 29th, 2009, BubbleBoy said:

    I am trying to do this but it doesnt work, I keep getting:

    “App_Picture.as(10): col: 42 Error: The definition of base class BitmapAsset was not found.”

    Any ideas?

  51. 51 On April 29th, 2009, BubbleBoy said:

    Seems I found the solution.

    Just create “fake” a BitmapAsset class, a fake SpriteAsset and a fake MovieClipAsset class.

    http://www.ultrashock.com/forums/flex/embed-flex-assets-without-using-flex-123405.html

  52. 52 On June 22nd, 2009, Tutorials flash actionscript3 at ting said:

    [...] http://www.bit-101.com/blog [...]

  53. 53 On September 8th, 2009, ComChan said:

    For those who have problem on frame control with embedded Swf, without a debugger you will never understand what the hell is going on inside.

    [Embed(source="omg.swf")] public var OMGAnimation:Class;

    var omg_mc:MovieClip;

    function pasteOMG(){
    omg_mc = new OMGAnimation();
    addChild(omg_mc); // Yea i see that
    omg_mc.gotoAndStop(2); // That’s not working, the MC keeps on playing
    }

    So what’s the deal?
    Yup, omg_mc is really a MovieClip object, but only a shell with a Loader object as child.
    And the loader’s content is the real MovieClip object that you can manipulate.

    var omg_mc:MovieClip;

    function pasteOMG():void{
    var omg_object:MovieClip = new OMGAnimation();
    var omg_loader:Loader = omg_object.getChildAt(0) as Loader;
    omg_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
    }

    function loaderComplete(e:Event):void{
    omg_mc = LoaderInfo(e.target).loader.content as MovieClip;
    addChild(omg_mc);
    omg_mc.gotoAndStop(2); // Now it works
    }

  54. 54 On September 23rd, 2009, Loading assets dynamically (part 1: a primer) – mat janson blanchet said:

    [...] Builder, now Flash Builder, you can embed image files in your code and make them act as classes (example 1, example 2). Quite useful, but again, it just makes your file size bigger. Having a preloader that [...]

  55. 55 On October 8th, 2009, Sumeet said:

    Andrew I am also looking for something like that. If anyone has some soluton then help would be appreciated.

  56. 56 On October 8th, 2009, kp said:

    Andrew, Sumeet, the only way to do that would be some kind of precompiler that changed the variable before the flash compiler got to it.

  57. 57 On December 10th, 2009, Flex Builder 3导入Flash CS3资源导致的一些问题 » 茶馆儿 - 聊聊关于小游戏的那些事 said:

    [...] http://sujitreddyg.wordpress.com/2008/01/02/creating-and-importing-flash-assets-into-flex/ http://blogs.adobe.com/flexdoc/pdf/swf9.pdf http://www.bit-101.com/blog/?p=853 [...]

Leave a Reply

Who is reading BIT-101?

Copyright ©2009 by Keith Peters. All rights reserved. This means that you may not reprint or repost the contents of this site without express written permission of the author.


  • Calendar

  • February 2010
    M T W T F S S
    « Jan    
    1234567
    891011121314
    15161718192021
    22232425262728
hoodia order buy Levitra Plus betablockers weight loss information buy pills without a prescription arthritis menopause ambien doses cat's eye health information on cholesterol cialis online order valtrex cheapest phentermine onlin e increase breast size lower blood sugar immediately terramycin which is better cialis or viagra buy cheap cialis reduce cholesterol naturally new blood pressure treatment products for back pain cheapest cialis index will levitra help piroxicam 20 mg order viagra online in germany buy tadalafil online buy levitra onlines how to naturally lower cholesterol buy generic viagra where to buy soma anti allergic drug levothyroxine dogs new hair loss treatmen buy levitra pain meds buy cheap malaria therapy weight loss after baby asthma medications chronic snoring viagra gel prostate cancer cures order viagra cialis alprazolam men health natural cure arthritis immune system support diet medicine cialis approval lipitor effects where can i buy arthritis drugs overactive bladder in men self help weight loss natural cholesterol control ativan medication cialis approval best cure for snoring breast enhancing pills order prozac celebrex pharmacy buy levitra onlines premature ejaculation cure confidence hypnotherapy free stop smoking bust enhance diet weight loss supplements skin fungal infection valium with no prescription viagra with out prescription breast enhancement products alpha blocker medications azithromycin 250mg skin disease chronic heart failure medicines dog care products buying cialis online gerd in children antibiotics to buy my drug store muscle building diet drugs affecting levitra anti anxiety medications really large breast enhancement help for constipation ulcers stomach drugs for high blood pressure selling pet products buy pain medicine viagra online overnight fucidin ointment generic zyrtec prices soft tab cialis smoking treatment dog products online weight loss solution cialis on line blue pills weight loss diet pill nitroglycerin sublingual floxin prevention of heart attack imuran order gasex vermox treatment of depression Viagra On Line buy generic cialis professional tooth whitening kits to buy valium 2mg treatment for hypertension ultram cheapest online stores hair loss products cheap weight loss diovan prescription malaria preventative taurine treating prostate cancer immune system support natural constipation cure phentermine no prescription fast delivery purchase meds without prescription buy plendil diet drug taking viagra after cialis protonix cheapest generic cialis online viagra levitra cialis yohimbe benefits muscle mass gain diet and health products medical treatment for insomnia buy blood pressure meds buy celexa levaquin interactions blood pressure drug skin disorder where can i buy arthritis drugs natural breast enhancer acute pain control online diazepam natural acne remedy antifungal strategies triphala pravachol online how can i stop smoking breast enhancement natural nautral breast enhancement beta blocker medications wellbutrin dosages order viagra cialis lower high blood pressure mass muscle phentermine from canada how to loss weight osteoporosis bone health lipitor use dog medication drug allergies buy diazepam buyviagra cialis phentermine 37.5 mg zestril medication parkinsons treatment generic revatio free nexium cosmetic dentistry tooth whitening avalide generic buy cheap tadalafil uk simvastatin tablets buy cialis online in usa breast pain cat care ovulating clomid medical skin care lines viagra to canada viagra or cialis cheap cialis tramadole buy azulfidine drugs used for cancer ear pain oral ketoconazole raloxifene evista taurine sex with levitra stop smoking today heart failure natural cholesterol control protonix dose oxybutynin 5mg irritable bowel syndrome treatments new treatment for hepatitis c cheap prescription drugs viagra online prescription depression therapy buy sumycin menopause treatment hair loss treatments medication pletal what is a natural antibiotic viagra purchase synthroid tablets generic prilosec lipitor cat health info discount vitamin cholesterol and health bacterial diarrhea weight loss medicine new treatment for depression removing retention fluids diuretic medicines soma 250mg cat anxiety loss weight online pharmacy viagra buy phentermine without a prescription herbs for breast growth cymbalta dosage fast weight loss supplement arthritis menopause levitra online order cheapest place to buy phentermine cold flu medications for nausea buy ultram where pills for acne free weight loss programs help with anxiety improve skin valium 2mg urinary tract health cat urinary tract disease crestor dosage drug zofran calan zyrtec buy nirdosh dosage digoxin buy pain patch acomplia alendronate cialis best price cheap wellbutrin small dog products depression medicine sildenafil dosage dog health depression and anxiety lamictal withdrawal viagra, levitra and cialis online drug buy bone maker strontium cures for hair loss nitroglycerin tablets natural arthritis treatment arimidex buy buy energy patch how to treat a yeast infection viagra herb alternative viagra cialis levitra order sublingual cialis cialis comparison breast lift augmentation seroquel for depression carisoprodol mg new treatment for depression cialis soft tabs safe sleep aid severe leg muscle pain natural weight loss gabapentin medication what is ambien clozapine medication viagra online ordering cures for hair loss free weight loss help buy viagra levitra pet treats order plan b diabetes type 2 phentermine risk ultram er side effects treatment for hepatitis b constipation cures drugs used in treating depression leg pain buy cheap generic cialis anti anxiety meds hypnotherapy for weight loss motilium body building fitness dog skin relieve upper back pain cures for high blood pressure cardura celecoxib Viagra Online Cheap cheap bactrim ambien online lamisil cost infertility meds progesterone clomid osteoporosis hormon urinary tract infection symptoms hypnotherapy for health how to buy viagra online joint pain cure online allegra buy generic cialis uk generic abilify cures for lung cancer new treatments for lung diseases pain meds buy cheap treatment for dry skin disease of the skin nexium drug free stop smoking buy tooth whitening products viagra tablet naprosyn dosage women's fertility male sexual power carisoprodol purchase asthma attack treatment estradiol pills phentermine from canada pet health care hair loss products online astelin generic cheap estrace free weight loss program buy rimonabant relieve lower back pain lexapro prescription new breast cancer drug buying ambien best online viagra scams home scabies treatment hair loss in woman buy generic cialis uk eye drop gabapentin medication amitriptyline uses ultram no prescription natural pain cures buy cla products back pain lowest price generic viagra pain meds buy cheap mg buy phentermine acne skin care cialis rx weight loss and fitness nitrofurantoin buy phentermine without a prescription high blood pressure medicines stop hair loss viagra china use levitra female health coreg dosage carisoprodol price pain relief product breast enlargement depression pills buy how to treat flu home neck pain relief order imitrex online vitamin b-6 cialis soft tabs pharmacy software description of soma buy isoniazid cheap prevacid help ear infections on dog fat burning stop smoking remedies rhinitis treatment chronic pain relief birth control online meds without prescriptions buy lovastatin drug stores penis enlargement without pill cancer medicine buy deltasone cure for throat infection thyroid dogs dosage cipro viagra from uk cheap alcoholism treatment natural cure for constipation paxil cialis 5mg tablets amitriptyline uses topamax drugs lower heart rate drug discount codes dog medicines body fat loss joint pain recurring urinary tract infections ativan information buy drugs online cheap fast valium body building ambien maximum dosage information on valium how to sperm more chlamydia medication dosage buy cialis online viagra chest pain heart fluconazole interaction calcium channel blocker side effects zolpidem dosage online drug stores zelnorm muscle strength fluconazole buy stress gum free weight loss products information on gout low immune system online viagra cialis 20 buy cefixime phentermine from canada gain muscle mass fast lasix side effects buy singulair penis enlargement free natural muscle and joint health viagra online overnight cialis online aceon allergies and asthma diamox side effects weight loss software generic compazine price for tramadol high blood pressure symtoms osteoporosis help treatment severe constipation drug new smoking stop pain relief product xanax online dog health info clonazepam .5mg buy tribulus pregnancy prevention methods allergy hives