"UNDEFINED" code in image file
I have several "Undefined_2" name codes related to a header I
created in Fireowrks and exported in html to Dreamweaver. Are the
"undefined" codes a result of the header I created in Fireworks? I
exported it as an html file, so hoped it would be one whole file
for Dreamweaver. How can I fix this?
Thanks!
Link to file: www.revbootcamp.com/NEWREV/NewIndex.html
Thank you!
> www.revbootcamp.com/NEWREV/NewIndex.html
<img src="../spacer.gif" alt="" name="undefined_2"
guessing, you didn't set a default name/ID for the spacer gif
that fireworks
uses to prop table cells open.
it's not a problem.
Alan
Adobe Community Expert, dreamweaver
http://www.adobe.com/communities/experts/
Similar Messages
-
Sample code converting binary data to image file
Hi experts ,
I need sample code to convert binary data (bytes) in to an image file.
any help will be appreciated.
Thanks and Regards,
NareshYou need to show binary and decimal? Or now just decimal?
If binary and decimal, you can right click on your indicator and choose "Display Format...". If you select the Advanced Editing Mode, you can make soft interesting display formats. This includes showing the same value in mulitple ways in the indicator. Try something like "%032b - %d" for the format string.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
Exist an easy way to convert base64 code in XML files into the original image file on forms
I've made a form in lifecycle that will be distributed by email as a pdf, and submitted back to me as an XML file and then that data imported into the pdf form template to view the data. Issue is I have an "attach image" field on the form and in XML it gets written to a base64 encoded format. Is there convenient way to extract this code from the XML file so that I would have a workable jpeg image file that I can save and open in other apps? Thank you in advance! -Robert Tampa
I tried to make John Brinkman's sample working in reverse.
This script will grab an image field's value and produce an attachment (png-file), which then can be saved to the hard drive.
//Get Base64 data of the image field
var b64Data = ImageField1.value.image.value;
//Convert to a read stream
var ReadStream = util.streamFromString(b64Data);
//Decode from Base64
var DecodedStream = Net.streamDecode(ReadStream, "base64");
//Attach an empty image file
event.target.createDataObject("MyExportImage.png", "", "image/png");
//Update attached image file with stream data
event.target.setDataObjectContents("MyExportImage.png", DecodedStream);
//Show attachment pane
event.target.viewState = {overViewMode:7};
This works so far, but the produced images are always cutted off.
No idea what's the reason for this behavior. -
How to link an image file in code view
I can't seem to figure out how to link the image file in code view. It has to be in code view because the image is hidden in Design View so I can't do it in HTML view. Here's the coded section:
<!-- TAB #3 CONTENT -->
<div id="tab3" class="tabsGeneral">
<div class="tabsFeatureImageContainer asyncImgLoad" title="img/index/tabs/tab3/DonateNow-168x112.jpg"></div>
<h3 class="tabsHeader">Partner With Us</h3>
<p class="tabsDesc">Get involved with all the exciting things God is doing at Provision House. Partner with us to help others find true and lasting freedom from addiction in Christ. <a href="http://provisionhouse.org/giving.html" class="commonLink">Click here</a></p>
It's' the red jpeg image file I want to link to another page in the site and I don't have enough experience to do this.
I am thankful for your help.
PaulThanks, Gramps. Here's the page I want to like to from the image:
http://provisionhouse.org/giving.html
Paul
Here's the whole section where the problem exists:
<!-- TABS -->
<div id="tabsContainer">
<div id="tabsWrapper">
<!-- TAB #1 CONTENT begin -->
<div id="tab1" class="tabsGeneral">
<div class="tabsFeatureImageContainer asyncImgLoad" title="img/index/tabs/tab3/WalkingByTheSpirit-168x112.jpg"></div>
<h3 class="tabsHeader">Session 5 of the Breaking the Chains Seminar Completed</h3>
<p class="tabsDesc">Visit the <a href="videos.html" class="commonLink">Videos page</a> to watch clips of Session 5, <span class="Italic">Walking by the Spirit</span></a></p>
</div> <!-- tab1 -->
<!-- TAB #2 CONTENT begin -->
<div id="tab2" class="tabsGeneral">
<div class="tabsFeatureImageContainer asyncImgLoad" title="img/index/tabs/tab2/FreedomFromAddiction168x112.jpg"></div>
<h3 class="tabsHeader">Session 2, Freedom from Addiction</h3>
<p class="tabsDesc">Is it possible for the Christian to find true and lasting freedom from addiction? This session explains how all addictions are also sin, and it is sin that Jesus has set us free from. Anticipated release: November, 2011. <span class="commonLink"><a href="curriculum.html">Read about Session 2</a></span>
<!--HIDDEN SECTION<<div class="tabsThumbsContainer">
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/1.jpg">
<img src="img/index/tabs/tab2/thumb1.jpg" alt="" />
<span class="desc displayNone">Dubai</span>
</a>
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/2.jpg">
<img src="img/index/tabs/tab2/thumb2.jpg" alt="" />
<span class="desc displayNone">Dubai</span>
</a>
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/3.jpg">
<img src="img/index/tabs/tab2/thumb3.jpg" alt="" />
<span class="desc displayNone">Dubai</span>
</a>
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/4.jpg">
<img src="img/index/tabs/tab2/thumb4.jpg" alt="" />
<span class="desc displayNone">Dubai</span>
</a>
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/5.jpg">
<img src="img/index/tabs/tab2/thumb5.jpg" alt="" />
<span class="desc displayNone">Dubai</span>
</a>
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/6.jpg">
<img src="img/index/tabs/tab2/thumb6.jpg" alt="" />
<span class="desc displayNone">Dubai</span>
</a>
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/7.jpg">
<img src="img/index/tabs/tab2/thumb7.jpg" alt="" />
<span class="desc isplayNone">Dubai</span>
</a>
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab2/8.jpg">
<img src="img/index/tabs/tab2/thumb8.jpg" alt="" />
<span class="desc displayNone">Dubai</span>
</a>
</div> --> <!-- tabsThumbsContainer -->
</div> <!-- tab2 -->
<!-- TAB #3 CONTENT -->
<div id="tab3" class="tabsGeneral">
<div class="tabsFeatureImageContainer asyncImgLoad" title="img/index/tabs/tab3/DonateNow-168x112.jpg"></div>
<h3 class="tabsHeader">Partner With Us</h3>
<p class="tabsDesc">Get involved with all the exciting things God is doing at Provision House. Partner with us to help others find true and lasting freedom from addiction in Christ. <a href="http://provisionhouse.org/giving.html" class="commonLink">Click here</a></span>
<div class="tabsThumbsContainer">
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab3/WalkingByTheSpirit-350x250-no text.jpg">
<img src="img/index/tabs/tab3/WalkingByTheSpirit-26x26-no text2.jpg" alt="" />
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab3/WalkingByTheSpirit-350x250-no text.jpg">
<img src="img/index/tabs/tab3/WalkingByTheSpirit-26x26-no text2.jpg" alt="" />
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab3/WalkingByTheSpirit-350x250-no text.jpg">
<img src="img/index/tabs/tab3/WalkingByTheSpirit-26x26-no text2.jpg" alt="" />
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab3/WalkingByTheSpirit-350x250-no text.jpg">
<img src="img/index/tabs/tab3/WalkingByTheSpirit-26x26-no text2.jpg" alt="" />
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab3/WalkingByTheSpirit-350x250-no text.jpg"><img src="img/index/tabs/tab3/WalkingByTheSpirit-26x26-no text2.jpg" alt="" />
<a class="tabsThumb imgTipLeftTop" rel="img/index/tabs/tab3/WalkingByTheSpirit-350x250-no text.jpg">
<img src="img/index/tabs/tab3/WalkingByTheSpirit-26x26-no text2.jpg" alt="" />
</span>
</a>
</div>
<!-- tabsThumbsContainer -->
</div> <!-- tab3 -->
</div> <!-- tabsWrapper -->
<!-- TABS BUTTONS -->
<div id="tabsBtnBar">
<div class="tabsBtn">latest news<span class="tabsSource">#tab1</span><span class="tabsSource">#tab1</span>
</div>
<div class="tabsBtn">Current Project
<span class="tabsSource">#tab2</span>
</div>
<div class="tabsBtn">how to help
<span class="tabsDefaultTab"></span>
<span class="tabsSource">#tab3</span>
</div>
</div> <!-- tabsBtnBar -->
</div> <!-- tabsContainer --> -
Hi,
I'm trying to track down where, i.e. by which code, image files are saved into the wiki.
I've traced the route to the wiki.js file which creates the dialogue that posts the form to the server but I've run into a wall.
I can't establish the name of the 'action' for the form.
Nor can I infer which python code is receiving it.
Can anyone help?
p.s. The reason for all this is that I want uploaded files to be namable, either manually or driven by a field in the form.
I guess this may involve rewriting some Python and I know that this is frowned upon but the look-out is mine!
p.p.s. It would also be nice to know where dialogManager() is defined, that's got me beaten at the moment.John Anderson1 wrote:
Remember that, when changing the code, you should override the code using your own theme; don't change it directly. Changing the uncompressed JavaScript won't work anyway; the server sends out code-compressed scripts whenever possible. Changing source code maintained by automatic software updates is the first of many steps down the path toward a bricked server.
Yes, I'm starting to get a hang of this (I think) I do intend to override the js, it's just I need to know how it's doing it in order to overrride it!
The form's "action" is "images"
I'd sort of deduced this but I can't find the code on the server that implements it. I did a quick search and couldn't find "images' in Python and deduced I was being a bit simplistic.
and dialogManager is defined in widgets.js:
var ModalDialogManager = Class.createWithSharedInstance('dialogManager');
Ah, thanks, I'll follow it up.
You do know that you can just name the file in the Finder before uploading it, right?
Not really. Under certain circumstances I want teamsserver to save the image file, in the page's image folder, with a particular name, i.e. NOT 123456.gif but pageImage.gif. I recognise that one has the potential problem of duplicate filenames but I'm happy to overwrite existing files AND I'm quite happy for teamsserver to give the file a unique name (presumably for internal database purposes) and make a duplicate of the numbered filename. i.e. save 123456.gif as per normal and then, if some condition is met (e.g. the alt name == pageimage) save a copy as pageImage.gif
(If you're interested, I've managed to get search to take an additional parameter xslFile=1...5 which selects alternate search.xsl files that return different search layouts. One of which substitutes page specific images instead of the generic 'snowflake' image in search listings. Currently I have to give each page a tag that specifies what the pageImage uid is, but this is wasteful as every tag in every page is therefore different. What I'm trying to do now is make the pageImage filename consistent so that I have a single tag that indicates every page that has an associated image. (The custom search.xsl files recognise if a page HAS a custom image and uses the snowflake if it doesn't)
Basically it allows me to generate slightly more attractive listings - nothing big but nice for my 'list of published books' page. Vanity, vanity)
Thanks for hte help. I'll follow it up tomorrow. -
Convert an image file to Base64 or other string value
Hi,
I need to read the content of an image file (JPEG, PNG, TIFF) and convert that file to Base64 string.
Does anyone know if you can do these things on Javascript, in InDesign?
Thanks for any help
EDIT: I forgot to add that I know my image path on the filesystem, it resides inside of my filesystem. I obtain that path thanks to InDesign...Hi Marc,
I have tried to run the above script so I can embed a graphic in a script but when I try to display the graphic I get the message "file or folder does not exist" (BY THE WAY IT DOES EXIST THERE)
The graphic (very small and boring) that I have tried the script on is at the link below.
https://www.sugarsync.com/pf/D6923127_8087569_696676
I copied your script exactly only changing the end bit to my file location and then placing the b64 into indesign to make it easy for me to copy.
// Client code
var b64 = fileToBase64("c:/image.jpg");
app.selection[0].insertionPoints[0].contents = b64;
I then copied it into my script and it gives the above error message.
When I try to display an image of your "sprite buttons" it works fine.
So I guess I'm missing out the file encoding stuff. What am I supposed to do?
#targetengine "myNewSession"
w = new Window("window", undefined, undefined, {resizeable:true, borderless:false} );
// This is the 64 bit string that I got and dosen't work :-(
pic = "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"
// You should recognize the string below ;-) It works :-]
//pic = "\x89PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00_\x00\x00\x00Z\b\x06\x00\x00\x00\xDE\x81\x8AF\x00\x00\x00\x19tEXtSoftware\x00Adobe ImageReadyq\xC9e<\x00\x00&\xA2IDATx\xDA\xEC}\x07\x98]U\xB9\xF6\xB7O\x9Bs\xA6\xF7Lo\xE9\x99$\x932)$\x01\x12j\x80\xA0R\fRr\xF3\x03\xA2 \x8A\x8A\\DE\x05.W\xAFr\xA5\t^.z\x7F\x89\xBF%RE@BK\b\x81\xC4\xF4\x1E3\x93I&\x99\xC9L\xA6dz9}\xEF\xFB\xBD\xDF.\xE7\x9C!&g&\xF0?\x8F\x8F\xB3a?9\xE7\xCC\xDEk\xAF\xF5\x95\xF7+\xEB[k+\xB3\xBF\xF4\xDFt\x8A\xC3\xC3\xE7\x97\xF8\xBC\x9A\xCF\xE9|\xA6\xD3\xE81\xDC#\xC8gm(\xAC\xAE\xCFJ\xF5<\xB3\xE6\xA77\xEDu:\xEC1\x17\xD8\x0Bf-\x1Bz\xD3\xF9|\xFE\x96\xCF[\xF9,\xE3\xD3=J\xC7\x11\x1D\xA0t\xAEMQ\xE6\xF4\r\xFA?\xDB\xD4\xDEg\x9F\\\u009A\xB3)51!rA\xFE\xEC+\xA2oX\xCE\xE7K\x06\xD1\x95Q\xFA}\x12\x87Bv\x9B-eW]\xCB\xC5\xEFm?RvnU\xE9\x9F3R<\x9AN\xFCY\x16\xF1\xE7\xF1\xF9'\x03rF\x8FO\xEC\xD0\xE4t\xBB\x1C\xD4\xD6\xD5?\xA3\xE9d\x9F{\xE9\xDCq\xEF2C\x98\xF83/'\x03Z@\xF8\xE2Qb}Z<\xD0(\xC1e\xA7\x83\xC7\xDA\x16\x16\x8FI\x7F\x7FJY\xEE1\x9BF\xF2\xDF\xB5|\xCE0>\x8F\xFE\xF7i\xFD\xA73@Y\xB5f\xC7\xFD\x03\xBE 9\xF8\x17\x18\x86\x9B?5\x93\x1F\n\x83\xE9d\xB3)\xE4\xB0\xDB\f!\xD0\x04\x0B\x15\xE5L\xC2\xA2Q0\xAC\x8A\xE6\xDA\xF9^\xBB\xED\x1F\xDF\f%\xB0\xC7s\xF0h\xDB\x92\r\xBB\xEB\xAB\x1C<\xC0\xA9\xFC[\xF5\xA7\xF5\xB0\xB2\xBCt\xE6\xB6\x83\x06\xBCA:\xD1\xD1+\x8C\x00\x115M%\x15La\x0Eh\x7F\x87\xF0\xB8\xAF<?C\x18w\xB2{\x90\xBA\xFA\xBC\xF2\xF9\x1F\xDE\rb9zg\xEB\xA1\xCBX\xF2\xD5\xC5\xFC=\xF5\xAC%\x1C\x12\x8A\x86\x99\x98*\x13N\xE5\xAFN\xA7\x8D\x96\xCC\x1AK\xF9Y\xC9t\xA8\xB1\x83\xFE\xF0\xEE.*\xCCI\xA3\x0Bg\x8F%\x7F0D\xEFl\xAD\xA3~o\x80NE\xCF0\xB7\x97\x9A\x98H\x9FY8\x99\\\u008C\x95\xEF\xF1\xB5\x9B\xF6\xF7Q\x82\xD3~F\xEF\x02\x8C\xD3\xB5K\xF7\xD9l\x8A\xCD0|C\xFF\xA6P\xFC\xBCTt\xE8P5\xE3VEN:\xA5\xE8\x9C\xFE\xB0q[-\x9D}\xF3\x00;S\xCF\xD6\x96s \xC1\x12\x9AI\x13J\xB2)=\xD9C\xFE@\x88\x1AZ\xBBi\x7F}+\x05\x98\xC8\x01\xFE\x1E\n\x85\x98\xA0aa\x04\xAE\r\xF1\xE7\xED\x07\x9B\xA8\xA7\x9F\xA5\xD9\x80\xA3\xA1\x06Jc\x0E\xE2~<\x05\xF7\xF2\x0F|\xDA\xCE \x04a\xD6\xB6\fZTUF\nwn\xDF\xD1V\xDAQ\xDBD.\xBB]\x9E\x99\x9F\x95B\x8BY \xA0A5\xC7\xDAi\xDB\xC1\xE3\x16\x1C\x9E\t>\xAB\xC6\xE7\xD3\xB4\x8A<\xF9~\xE8\xF8I\xDAr\xA01\xAE{\x87\x1EN\x87B\xF5M\x1D\xA5\f;j\xEE\xD9J|\xF5\xA4\":\xB7\xAA\x82\x1B\xB5\x89\xD4\x83\xB39\x19I\x8Cm\xAD\x02/\xBA\xB3\xA5qG1\xE0Vrr\x87!\xF9Mm]PA\xEB\x1A\x95\x89m\xDA\x07SB\xA3\x8D\x95\\\u00C7g\xD8\x92>\x1D\xB6\xA2\x0FU\r\xB3\x00$PAv\xAA\xDC\xE3c\xA6\xEF>\xD4\xC4\xFD\xC2}a*e\x18+\xCAM\x93\xE7\xF4\x0E\xF8\xE4w-Jxu\xAD\xD5Dc\xEC\xAC1f\xF3\xAA\x16\x16\xA2\xE5s\xBB\xF8\xAD\xA1\xB5K\x9E\xA5\r\x9F\xF6\xA21\xFD^_\x120\xDF1R\xC2C\x92J\xC7\xB0\x94M/\x93\x88\xAC\xAD\xB3\x9F>\xDA[O^\x7F\x10\x81\x05\xF9\x02\x01=R\xD3D\x90\xE53$\b\xC4\xB0\f/\x9F\xD0\x1C\x18\xD4\xAC\xD4D\xB9\xAFo\xD0'p$7\xE1>\x8D\"\xCC`b\xA5'\xBB\xE5:\xDC\x87k\xA3\xE3A\\\u00E3Ip\xB0\xA6\x85\xE5\xEF\x99)\x1EBT\xD9\xCD\x1A\xE6`\xA6\x16f\xA5R\x90\x19\x0Fz\xBB\x9D\x0E&p\xA4\xED03?5\xC9MIn\x970\xB8\x9BmL\x80\x99\xE7d\xADA_\xBC\xBE\x80\xB4\x0B\xE2{\xFD\x81X\b\x1B\xA6\xDB\t\xB9qX 6\x12\xC8\xE1[+\xCB\xC7\xC8\xA00\xD0\x0Fw\x1F\xA6\x03\f5.\xC6e\xF4\t\x9A\x10E=\x86\x9F M*\xCDa;0N\x06\xFA\xC6G\x07\xE8XK\x17\xE5\t\x14\x8C\x13iM`\x82\xC0\xB0\xBE\xB4n\x0F\xB7\x19\xB2\x82\x14\x9C\xB8\x7Fri.]2o\xA2\xFC\xF4\xD6\xE6\x83\xD4\xD5;\x10\xAB\xFA\xCC\x9C\xA4\x04\xA7\x0E[|&\xF2\xE7\\\u00D6\xC2\xB6\xCE^\x1A\x93\x99B\xD9\xE9\x89bO\x14\xEE3\xFA\x89>\xFAYX\\l\xDC\xCF\x9B1\x8E\xFB\x97K\xC9\x1E\x97\x8C\xA7\xB5\xAB\x9F6\xB20\x1Dm\xEE\xD4\x89\xEF\x0FZ\xB6\x03\x8C\x00,\x926r\x07\xC0\x16\x91\xA8\xE1\x9D\x80\b\x0F\x1B\xC2\xEC\xF4$QU`\xF7qVE7\xFF\x06o\xC6\x1E\r\x1DQ\xF7\x00zRxp8a\xC2\\<\xF8K\xE6N\xA4\n\xB6\x03\x81`\x98\xF6\xD45SKG\x8F\xA55\x96T\xB2\x96\xE1\x9E\x05\xD3JE2\x0F\x1Ek\xA1Z\x860\x1D\xB6\"\xCF\xC0=I|\x1D\xFA\xD4\xD1\xDD/D+d\xA6\x8A\xBD\xC9N\x11\x83\xDDn\xFC\x9E\xC0\xCF\x86\xE0\x80\x19\x80\xCD\xF9\x95%\fE^z\x9B\x99Z\xDB\xD0&\xF7]6\x7F\x92h$\x98\x01&\xE1Z<\xC7\xCF\x82@#\xA4\x9Dy:\xC4\x88\x8D\xE0\x00!\x13\\.Jt;E\xCA\xFBY\xFD\xFD\xC1 \xBCw\x03gb\xC3k\xBEC\xA4\x12\xD2\x126N\xA8?\\I\x18A?\xAB\xF7\x07;\x0F\xD1\xCE\x9A\xE3\xE2b\xA2M\x10\x9B\f\xCC\x07\xF1\xE62q\xC6d$\xD3q\xB6\x15\x1Bv\x1E\xD6=\x15M\xB3<\x0E\f\xC8\xC9p\xA4\xDF\xAF\xD1\x91\xE6\x93\x02#\xD0(7\x13\xBD\x98=-\x10\xED(\xFF\x0E\xA1\xC1uPNh\x03G\x9CB\xF877\x1E\xA0F\x16\"00\x83!\xAB07\x9D&\xB2\xB6\x9E8\xD9-\xE3\x0B\x86B\x923\xF3\x81\xF8tv\x92\xEF m\x84\xA8#\x86Uw-\xF1\x19\x86K\xFCK\xC5\x16\xA19\xC5\xA0\x86\x85\xE1\xE6\t\xE9\xCCc(\x10\fe\x8C?v\xA2S$\x13D\r\xA9\x9Au=pvla\x163)M0~\xED\xD6\x1A\x1A\xF4\xF9Yk\xEC\x14\xDD\x7F\xC0\xA0\xC3\xA5\x072 \xC9\x89\xF6\x1E*\xCAI\x17X\x03\x03\xF0\xAC\xB6\xAE>&d\x8F\xDC\xE7\x00\xA3\xF8y\xF0\xD0\x90{9q\xB2\x97\x06\xBD~\x11\x86D\xD6.\b\x18F\x93\xC7\f\x87m\x80\xD7\x86va\xE4\x83B|\xA2\x11\xD3\x0F\xC4\xD7F(\xF9$\xAA\x17\x10\xC3\x83\x9C\x85\x87\xB1\x15^\n:\x1C\xD3'-Bmy\x16N\xC5\xF8\x8D?\xBB\xD98b@!\xF6\x1C\x82\xC1`Dk\xA4_\x9A@\x13\x9A\xCCH\xF5H\xDC\x10dh\x82\xDB*Z4D\xEA\xC0L\xA7\xDD)\x06\x17\xFD\xE8\xEE\x1B\x10\x89-\xE1@o\xEA\xD8<JeC}\xA0\xFE\x04\xF5\xB1\x97\x03\xCD`\xDAK\xBF\xA1\x01\xD0D`\xFD\x17.\x99\xA5\x8F\x85\t\f\x8C?z\xA2\x83\x19\xD6+\xD7\x06x\xBC\r-\x9D\x84\xBC<\x98\xAF\x98c\xFA\xFFM|H+\xA4\x04X\x9F\xC6\x83\x82\x07\x92\xC3\xAAlv\x0E4\x87!\x8C\xF6R\"g\x04\xF7t\xC3\xA5K!\x8C\x9F\x8F\x07\xAC\x18\x11\xB0\x85\x8D\xDC\xDE\xFE\xC3\xCDL\xC4L*\xCB\xCF\xA2sg\x8C\xA5W\xD6\xED\x12\x02G{\x9A\x804H0\x9E\x0FxA\x8C\xD0\xC8\xFD\xA9\x9E\\B\xE3\x8Ar\xA4-\xD8%\xD8\x13\xDC\xEB\xB4;\xD8 #\xFA6\x99\xA1\xD0\xBE\xBA&\xB69\xAC\x01\xDC/\x9C\x88Y\xE0\xF9`, \xF8+\xEF\xEF2\xA2TI\x15\x9F\x15\xF1m\xA4\x99\xEA=\xFC\x13nc]c\xABH\t:\xB2pz\x85`)<\x8C\xB4\xA4\x04\xF1\x83cp\xC6\x90f\xF3\x84\xE4@2\x01Y\x90\xB6\t\xC59\xDCf0\xE2\x9B\x8A\xFF\xAF\t\f\xC1\xA6l;pL\f_)\x1B\xE7\xE9\xE3\x0BtM\x89\xEA\x0F\b\xEAN\xD0\r>\xE2\b\xD8\t\x18\xEF>\xC6rxQ\xC0tH\xB1\xCA\xBF\x831@H\xD8\x84\x16\x86!0\x1D\xDE\x0F\\\u00CB\x1A6\xE6\x88Az\x11\x00*\x92\x0E\x90\xB6\x92\xD8\xBE-[TIW-\xAE\x12a\x13o\xEC,\xE8\x07\xC9\x1F1h\xC1XAR\xC63\xD1JY\"\x8B\xD9\xE7\xBF\xFE\x92ji\x1B*\xFF\xE2{;\f\xA81\xE9\xA9\xC6\xE0>\x88t\xE4x\xBB\f\xBE\x80\r\xDB9\xD3*\xA8\x94\xA5\x1B>\xFF\x1B\x1F\xEE\x95\x01+\x86\xA7\n\xAD\xA8a\xC8h\x9CT,\xD2?\xAF\xB2\x8C\x8E6\x9D\xA4Nv5\xEDf\xC2\x8E\x89\x0F\xC6\xC3\xA3\n\x85\x82r\xBF\x8Fa\xB1\x95\xDD\xCC\xAC\xB4$j\xE5\xE7\f\xB2\x94\xDB<n\xD1\f\x85\xDC\x94\xC21@Gw\x1F\xED=t\x9C\xE6O+g\x97w<\xB7\x9F\xC9\xFD\x1F\xE4\xF8\xC0C\xE9lt\xD1\x97f\xB6\x1F3&\x16r\x94[$AR\x07\xDB\x8E\xF7w\xD4\x92\xCDIg%\xF9}#\xE5\x9C\"F(Hol\xD8\xC3\xB0\xD0\xC4\x10\xE2\x17\t\x86\xBB\x19\n\xA9b\x10\xC5@\xD9H\f\x97Ix\xF9n#1b \xCE\x9B\x1F\xED\x15&\xA0\xBD\x8A\"=E\x81\x00\b\xC4\xC4u\x90PhW\x80\t\xBAy\xEF\x11\xF18\xD2\xF8\x9AE3\xC7\xE9A\x92\x1A\x91\xFCdO\x82<\x17nk \xA8\xBB\x86\xC7\x9A;\xA4\xED\xA3\xFC/\xAE\x85\xCD\xC0\t\xA9Nf\xC3\x8A\x88{\xC3\x8E\x1Az\x7F[\x8DhIEA6\xCD\x99\\&L\xC0s\x01e\nK@+\xC3QgO?\xF50c\x9A\xDA:A\xBC\x11K=\x8F\xCD\xAFL\xBE\xE6\xFE\x87\x98,\xDF?\x9Bi23-\x00)\xF1\xF0`\xE0\x9Dtq\x07\x11\xA6g\xA7'\x0BfC\xD2:{\x06(\x91\x89\x93\x96\xA4O\x0Bw\xF6\x0E\x8A\xFA\xE3~Hofj\x92\xFC\x0Bu\xF7\n\f8\xE47HZ\xDF\xA0\x97\xB19 \xF7I\x9B\x86\xB4\x9Fd\x9F\x1D\x04&\xDD\xE9\xA2\x14n\x1B\f\x00VC+p\x00N\xD0N\x07??hD\xA8\x19)I\x12X\xC1\xDD\xC5u\xB8\x17\x11{2kE2C&R\x0Bp'\xFB\x07\xFD\x92\x96@rN\x8F\x80=b\x1B\xA0\x196\x9BmD\x8958\rS*\n\xD6)\x93\xAF\xFE\xDER\xFE\xFE*\xFAx\xB6\x99\xCD\xB0\xAA\x1A\x81\x8E\"\x1D\x04\xD1\xCC\xA0D1\f\x94\xE4N\fb\xE1\xBBbXL\xCD\xC8\xA9\b\xC6\xF3\xEF\x92j6B~\xD1\x16\xBB\xCD\xCA\xE3\x80H\x16\xF4\xD9\xED\x1F\x8B?` \xC5\x0EE\xCD\x1F\x84\x8D\x14\x86\xF9<\xAB_Q\xD7Er;\xAA\x95\x83\xB1Y\xD9\xCB\xC8\x18u\x83k\x1B1\x9D`\xF0\x17V\x8D\x7F\x1C\x98\xBF\x91\xBF\xD7\xF19\xE5l\x89/A\x8F\xD5Q\xCDr\xE7\xCC\xDC\x0B0\x1F\x9F\xEC\xF6\xD8k\xAC\xFB\xADk#\xBFG&PN\xF5\x1B}\xCC\xDB\xC0\xE3\x1Dv\xE5c\x7F\xD3\x9F\x19ich\xBF\"zLC&m\x86\xF4Q9\xF5s\xE3\xC7\tv\x06\xFC!:w\xD6\x84w\x80\xF9\x98\xE1X}6V{\xF4\x8C\xFF\x84\x87\xC4\xC6\xBF\xE6\xE2\xF9\x95\xEB\xCC\bw\x15\x9F\xF7|\x12\x93*\xA3\xC7\xE9\x83#\xD8\xB3\x1B\xAE\x9D\xFFtyA\xB6\xD7a\xA8T\x03\x9F\x0F\xF0\xF9\xE8(\x85>\xB5\xF2\x1D\n\xB0\x13\xC1.\xF9\xA6\xDB\xAEY\xFCK=\xB7\x13\xB1\xD6\x8F\xF1Y\xC5\xE7\xCAQJ}\xE2\x02/\xDE\x97\xD7\x1Fh\xB8\xEF\x96+V\x14\xE6f\xF8N\x95X\xBB\x8D\xCF\x1E>\xEF\xD2Fi\xF6I\t\xBCD\xDB\x19)\xC9[\xFF\xED\xCEkV^uA\xF5a\xCBS\x0B\xB3\x010\xA7\xCE\xF8\xDF \x7F\xFC:C\xD1\xAB\xEC~\xDD\xCA\xFE\xF9\\\u00BE\xA6\x90O\xCFh\xED\xE0\x88H\xDF\xC1n\xF1~\xB7\xCB\xF9\xFC\xEF\x7F\xF2\x95_O,\xCB\x1F\x8C\xC9\x10\xA4e\x8D\x91\x9C\x05\xA2\xCAT\x0E.\x10\xCD\xB16\xAC-\xCA\xCBN/.\xC8I\xF2\xF9\x83\xE9\xC1\xB0\xEA\x81\xEF\xAC\x89\x1F>z\x9C\xB6\x9C\x80\xFF\x0F\xC3\xAB\t\xA9!\x7F(\xDC\xD0\xDA\xD1\xF3VOO\xEF\x8BC\t/\xACY\xFE\xE0\x0BT\x9E\x97N\x13Kr\xA4\xB2\x80\xA3\xC3%\xEC\x13?\x16\b\x84\xAB\xFA\xBD~\x1Ad\x9F\x14\xD1)&\xCAUu\x94\xF4\xF1Ts\xA8\x92\xC2P\xC9\x8B\b\x99\xA3\xF2\xD6\xAE\x81\xAE\xB1\xF9\xE9\x8F\xDCx\xF1\xF4\xFF\xC8\xCBL\xB6\x88\xA8\xDC\xF5\xC4\xEBT\x96\x9FA\xC59\xA9\x94\xE4IX\xCE\x01\xC6*\x0E\xC1\xDD\xBD\x1CVw\xF5\xF9d\xF2\xC2\xEB\x0FID\xA8j\xA3\x92\x7F&|\xD7\xAC\xA9O\x92H\x1B\xE9\x13\xD0\xB2\xB1\xB5\x07s\x17\xAB\x9E\xBCk\xD9-\x15\x05\x19\x12\xA19r\xD2\x12ev\x9F\x89>\x8F\xF1\xE99\xAF/\xECF\xCE\xA5\xB1\xBD\x87Z:\xFA\xA9g\xC0\xCB\xE1\xB0\x9E\xD3\xD6F\x89\x1F7\x13\x90\x1BBT\x8DT\x89^\xEA\xA2Q\xED\xD1\xD6\x95\xFF\xFE\xEB\xB7Z\x9E\xF9\xF6\xE7\xEF\xC3\x9C\x83#\xD9\xE3D\xBE\xDA\xCD\x1Cz\xC6\xEB\x0Fz@\xF8\xBA\xA6\x0E\xAAo\xEE\xA4\x0E\xFE\xEC\x83\xD4\xAB\xEA\xD9\xCC\x96\xFDS\xBA\x96RS\xC4\x84G\x86\x15I\xC0@(L\x1E\xA7Fk6l\xBF\xF7\xA5\xEA\xF27\xBFp\xE9\xBC\xF5\x98\xBCG\x8A\xF6Z5\x1C\x9E\x01|:z\xA2\x8B\xEA\x1A\xDBQK.\x13\x0BQUw\xA3G\xBC\xB8\xAF\xC9\xD4\xBAL\xDA\x84\x91\xBA6\xA6W\xC3A?9\x95\xA0\xF2\xEC\xEA\xBF\xDC\xBF\xEC\xDC\xAA\xF5\x8EP(d\xF7\xF9\xB4\x9B1Ct\xB2g\x80\x8E\xB7u\xCAD\x81\xDF\x1F\xF8\x98!\x19\xC9\x81\xA98\xD8\nd\x01\x91\xEB'\xC3 \xD1)\xAA\xCD\x86\x1E\xB8n\xD0\xE8\x07f\xA2 E\xFFH\nh\xCD\xD9\xA9\x86\x1DPC\xE4\xB4i\xB4{\xDF\xC1%\xEFm\xDCQ\xE5\xF0\xF9\x03S\x03A\xA5\x1A\xB8~\x92\x89\x8EZ\x17\xAF\xDF7\xE2Z*\x0B\x9E\x14][P(\x8BJ\x80.\x86\xB0\xED\x07\x1B\x05\xC2\x90\xA7\x87$\x04UM&2\xB4\xBFCxLx_X=N\xBEC\x1B\x8F0\x1C:\x1C\xB6a\xF5\xE3T\xFC=\xDD\xDF\xCE\xA6\xDD\xD31A/\xD7\b\x93\xC6q\x95\x12\x0E\xD8_{{\xFDe\x8EA\x9F\x7F1\x12j\x90\xD0\x9E\xBE~\x1A\x18\x1C\x94Y\x1Ee\x98\x1C\xC6D\xB8\x9E\xCE\xB5\x0B\xE1\x02\xFC\x90\x14\x8F\x9B\x1E\xBE\xFD\n\xCA\xCDH\xA1\xDD\x87\x8E\xD3\xB2\xBB\x9F\xA1\xB9SJ\xF9\xB7+\xD9\x8B\xF2\xD3}O\xFD\x89\x9A;z\xF4r\xBC!\x07\x84aJN.=\xFE\xCD\xAB\xE5\xFB\x13\xAB\xD7\xD1\xCF~\xF7\x9E\xCC`\x9D\xE9P\x8D\xFC\xBD\t\x97\x8E\xA8U\x80`\xBE\xE92\xDB\x86\xE4\xF2\x87\xD3.\xD2\xCE\xB6a\xE6\xF4\xA5(\x00\xF3\xDAZ\x88\x1A\x8F7\xCFs\f\x0E\xFA\xA6\xA29T\"\f\xA0\xF0\xC9\xEFg\xEE\xA8q\x83\xBC^\xBD\x15\xA2\x0B\xE7N\xA2\xCB\x17N\xA5\xB1E9R\xC2\xB7q\xCF\x11\xFA\xE3\xDB\xDBd&\b\xC4\xC7\xCC\x14\xDA\xAE\x9ETL\x93\xCB\xF5J\xDF\xF1E\xD9t\xB4\xB9\x9D\x1C\xEES\xCC\xE3\xB0\x8A\x86\xA5@I?\xA4Z\xD9\xEC\xFC\x19`\xEE\x829\x13\xE9\x9B7\\$\xDF_]\xBF\x9B~\xF5\xCA\x87\x94\xE8qI\xBC2kR\t\xFD\xE06}\x05\xE6[\x9B\xF6\xD3/^X\xCF.\xA03.\xF8\xBC\xF9\xCA\x05t\xF5\x053\xE5\xFB{[\x0E\xD2\x93\xAB\xD7\xC6uo\f\xF1\xC3\x80\x1E\xA2\x9A\x9A\xDAR\x87\xD7\xEF\xCF\x85 \xF0\xBF2\x9F\x1A\x96\x95$j\\ \xAFiz\xC1\xE8\x9D\xCB\x97\xD0=+.\x89\xF9\xDB\x8C\xF1\xC5\xF4\xF2\xBB\xDB\"\x13\x11(`u\xDA\xE9\x95u;\xA4\xCA\r\x95\x04\x9B\xF6\xD41\x96\xDB\x84\xA0\x90F}\x15\x8B^*\x82\xDFb&,\f\xC2\xC3\x88\x05\rG\x00R;\xB4D\x1BZ[\x9E\x9FE\x95\x15\xF9\xBA\xA4\xF3\xF5\xAB^\xFB\x88\x90F\x81\x1D[R=\xD1\xFA[\x87LAr[\xAA\xCD\x1A\x0Ff\xC9`\xFF\xA0\x15p\x07\xCD\xC5\x18h\x17e&\xE6\xBD[\xF7\x1F\x95\xEA\t\xF4?^\x07\x14s\xD28\x15-L\xBD\xBD\xDDI\x0E\xBF?(ieT`\x85d\xC29\x18w\xE5\xAD\xD7\x17\xA4\xF3fO\xB4\b\xDF\xD8\xDAI?}\xEE/2W\xEA\x92R\x8D\x81\x98\x99(\x85\xC2\xE4\xF3\xF9\xE8\xB9?\x7F(\xDFAL\x85\x89\nw\x16\x85K\x93\xCAr\xE5\xBE&n\xA7\xA5\xB3W02ZjT\xE4\xA1\xB8\x7F\xE5\x05Yr\x1D\xA0\xAE\xA9\xBD+\xD6p\xB3Jg\xA6F\xA0i\\q.\x15q\x00\x89\x12AL\xEC\xCF\xAB,\xB5\xFE\x96\x91\x9AHXk\x01C\b\x82\x83\xF9E\xB9\x19\x94\x97\x9D&\xDA\\\u00CF\xF7\xF4\xB3\x90`^Z\xE1v;z\xFA\xAC{\xBBz\xFB\xE4>M\xB5\xC7M|\xC1|5$\xE3`\x15\xB0!\xB1\xA6i\xC6\f\x8B\xD4\x9B\xABzyG<\xE4\xC7\xF5\xD7/\x9Dk\xC1\xCF\x8F\xFF\xE7uz\xFE\x9D-2\t\r|\xC4Dv\xB4a\xC0@\xAE\xBDp6}\xE7\x96e2W{\xE7\x8F\xFF\x1F}\xB0\xBD\x86fN,\xA1\x07\xEE\xB8\x8A\xE6T\x96\xCB|)&\xDA\x97\xDF\xFB\xB4hb\xB4\x9A\xF5\xF5\x0F\xF0\xFD\xB3\xE8\xC7w]+\xDAq\xF7\x7F\xFE\x81\x8E4\xB6\xC6\xA8>\xFA\x8Fjd\xF3\x80\xB1\x9F>\xBE\x90\xF6\x1Dj\xA4i\x13\x8AiRy\x81\xF57\x94\x8D\xA0zA\xCAD\x92\xDCt\xEF\x97?CW\x9E?\x93\x7F\xD7'\xF8Q\x91\xF1\xD8o\xDF\xA2w7\xEF\x97\xF1u\xF5\xF4G\x88\xCF}\xB4\xE8\x15\xA7\xF3\xAFK~\xD8\xC2~\x1B\xD4\x12\x13\xDA\xC0y\xF9W\x8D\xEF\x84\x1Af\xB2\xE4TV\x14J\xDB(\xC1\xDE\xB8\xAB\x962\xA4\xEC\xC3.\xA7\xC9H\x9D\xF6\x9A@\x06\xDC\xCD\xAC\xF4d\xCANO\x91\xB2\x0FT\x1C?~\xEF\x8D4wj\x85\xD8\x85\xD7\xD6\xEF\xA4\x9D\x07\x8FJ\xDDO\xF4T*\xF0\xBA0'\x9D\xEE\xBBy\x19\x134\x81^_\xBF\x8B^{\x7F\x87^\x8E\x1E\xD5/\xB4\x99\x9B\xA9O\xC8\x1Df\xC6\xE08g\xDAX)m\x9C;\xA5L\x9E_{\xACE~\x07\xC1QZ\x88\x12\x93\x1F~\xF9\xB3t\xC3e\xE7P+;\x00\x0F>\xF3\n\xBD\xFB\xD7}T9\xB6\x90~\xFE\xED\x9BX#\xF3\xA4D\x06%#\xE6\xD1\xC3\xFD3\x0B\x7F\x87wjzM\xABQ4eL/\xA2:,R\xCEw\xA6\x03X\x89Lh\x8E!e(>\x1D\x18\xF4\x8A\xE4FJ\xFDb\x8B\x95\x05:\xA2$\x05\xE5w\x17\xCF\x9FB\x13Ju\x03\xFC\xE03/\xD3\xAF^~_<\x1Ax%E\xB9\x91-\x1F\x80\xAF\xDF\xBC\xE9\x12\xCA\xCFIc\xA2\xB6\xD1C\xFF\xFD\xB2\x94w+\x14\x89\xBE\xCD\x85\x11(\x13\xC1\xF1\xF6\xA6\xBDtk^\x16\xCDa\xC6\xA6\xA7\xB8i\xE1\x8C\xF1R\x99\xB6v\xCB~yfzJ\xA20\xAFrl\x01]ua\xB50\xF8\xCE\x7F_E\x1F\xEE\xAC\xA11Y\xA9\xF4\xEE\xB3\xDF\xA1\x8A\xA2\\6\xB2\xB3i\xDB\xFE\xC3\xD470(\xFDB\xCC\xD2#\xC21\x8CZMM1\xAE\x8D*\x83\x8C\xB5\xAC\xD1%\xC5gh\x8B9\x88\xDC\x85\xB9\x99\x03\f\x95f\x14R\xC5\xB6\x15\xF9\xAE\xAB\xA8\x16\x05[*\xCD\x9A\\&\x9FQ\x0E\xF8\xC1\xB6\x83\x94\x96\xE4\x11#j\x96v\x98\xC7\xD2\x85\xD3\xF9\xDAr\xF1\xCA\xBE\xF3\xC4j\x89I\x92\x18\xD6\xA2\xAF\x01a\x92\x18JR\rwt\xFB\x81zZ0c\x02\xC3N1\xCD\x9F6\x8Ef\xB1\xE4\xEF?|\\~\x17W\x93\x89\b\x01*+\xCC\x91\xEF(\x8Aj\xEB\xEC\xA1\xD9|\x1D4S5\xDA\x9E1\xB1T\x82\xBC~\xAF\xCF*#\xC1\xE7H*m8AB\xA4|\xDB\xA1\x18\xD1\x90\xE4#(\xB6F\xE5t\x07\xEAh\xE0F\xC2\xADDGs\xD8\x9DLp9%\x87!\xB5.d\xAC\xD8\x8B\xC2<E\xFCb%\n\x06\x15\xCALK\xB6`E\x96\x13\xD9u\x0FC\xB1\xC5\xF6e\\I\x9E`;\\>\xC4\x00\xB6\xA8\x9A\x9F\xE8\x03\xF6&\xCBh\xB3\xBE\xE9$K\xEC\x11\xAA\x9APB7^\xBE\x80\xF2\xB3\xD3\xE9\x85\xB77Ky\xA2y\xE40De\x18\x9A2&+\x8D\xFE\xF2\x8B\x7F\x95\xFB\xD1>\xC6\x06f\xED\xADk$\x17\x8F\r\xE3\x85\x80\xA0\xF0\x0BN\x05\xEC\x8E\x12w\xB4\xA5\x8F\xC9\x8C>A\x19\x87^1(\xA5Jz]\x9Eb\x8F\x8B\x9B\x884\x91\x8Eh8\xD1)\xC4/d/a\xEA\xF8\x121\xA0\x90HL(HAST\xE7\x14[\xECw<\x0B\xC6\x15\x87\x9B\xB1?%9\x91z\x06|\xC6u\xB6H\xAD?\x1F\x7F|k3\x9D?{\x12Mg\xA3\xF9\xC3\xDB\xAF\xA6\xEB\xEF\xFB/}\xF1\x9D-\xBA\xE0Ief\xA6\x88w\x82j3\xCCEl\xDC}\x98n\xBDj1-]T%\xD7l\xE2\xF8\xA3g\xC0o\x15Leg\xA4\xB1\x16\xE9\x86\x14Z\xFC\xC7\xB7\xB6\xD0\x8E\x03G\xE9dw\x1F\xB5\xF3\xD9\xD7\xEF\x95\x18\xC3\xEDJ`fx\xE9_\xBE\xFF\xAC\x10\x0Enn\x82\xD35\f\xB9W\x8C1\xE9\f\xC0}6\xB3\x8E\xD8L\xC5A:\xE39mLX\x7F0Lk6\xEE\xD5\x99\xC1\xDF\xEFc/\xA6r\\\u00B1HSYa\xAE0 \x8A\xEF\x1F\x93f\x10nWM\x83|Nb#\nO\xC3\xC7m\xEA\x12\x15+\xD9X\xD4\xF0\x8B\x17\xD6\xCAg\xC0\xC2\xCD\x9F;\x8F\x89\x1B\x8C\xE9\x13\x9C\xD9\xAC\x8CT\x03\xC6\xFC\x92\xCA\xDD[\xD7$\xDE\f\b\x8B\x82\xD9\xBF\xD5\x9F\x90\xDF1Q\x84\xA3$?\x9Bvq\xF4\x1D\x96\xBAPE`\xED\xF5\r\xBBi\xDB\xDF\x8E\x8A\x1Ds:\x9D\x94\x90\xE0\x92\xC5\x1AcXs~\xF9\x83[h\xD5\xC3_\x12[\x10\x84\xCF\x1E'\xBD\xAC\xB1[kwYp\xD8\xBF\xD5\xD0\xB0\xC0\xB1b\x93\x9AD%\xCE3\xD1\xE3\xE1(v+\xED\xAEm\x94\x81\xCC\x9CTJ\xAF\xFF\xFC\x1B\xB4\xE6\x17\xF7\xD0S\xDF^\xC1\xAA\xEA\"3E\xA4?\xDC\x11#\xCD\x1E&\xF8{\xDBj\xA8\x8E\r(\x8E{V^F/\xFF\xECk\xF4\xBB\x1F\xDFNy9\x19lG\"r\x93\xC4p\xF2g\x8EVw\xD5\xEA\xCC\xBA\xF3\xBA\x0Bh\xCA\xD8b\x11\x00\x19\x1C\xB7\x8Bz\xB8\x1C\xC3\xD3A\xF0\x87q!;\x8B\nd\x1C`t\x07Ko0\xA4\xCA\x02\t\x1CEc2\xA9\xEEx;\xFD\xE1\xCD\xCD\xF2\xFD\xBB_\xBC\x92\xDEx\xEA\x9B\xEC\x81\xDDD\xBF\xFB\xD1\xED\xF4\xDA\x93\xDF\xA0\xB1\fy}\xDE\x00]\xB9x&]\xBA`\x1A-\xAE\x9ED_`\xCF(\x10\xD4\xE2\xA6\x95\xA2\xD8\xA3V\xED\xE8\x86\xDA\xE6\x0B\xAA}\xFE \x92\\:\f(v\x07_\x13\xDF\xE9t8i\xC0\x17\xA6;\x7F\xB2\x9A5`\x9F\xCCz\xB9\x19\x1B\xE1\xAD\x00\x97S\x93\x93\xAC\x00H0\x9A\xEF\xB1\xDB\"A\t\xA4\xAAw @\xDF\xF8\xCF\xE7%b\x84@\x9C3},\x95\xB2\x87\x92\x91\x9A\xA2Ca\xD4\xB5>\x1E\xEC\xCFW\xAF\x13\xC8@\xC1\xEA\xF7\xBE\xB8\x8C\xED\x00|r\xBB\xB4\x8D\x7F\x0B\x98i8PT;\xC8}\xC3\xC2\x9E\x0Fv\xD6\xC9o\x1F\xEC\xC0\xBF6\xF2\x87\xCC\x95\x85$^M\x92'\x91~\xF4\xEB5\xF4\xD4\x1F\xD7\x89\xD1=g\xFA8\xBAa\xE9<\x86\xB9\x89b\x83\xD0\x17\x87\xC3E\xFB\xEAN\x88\x16\r\xB0vl?\xD0\xC0}r\xC5M+\xC5\x1C7\x1C\x13\x0E\x14\xD5P\xD0\xAF\\p\xC7c\x0F\xF1(\xBF\x0F\x1A\x01'A\xC0px\x18H\x86\xD2m\xACke\x82\x94r\xE4\t7\x0F\xEE\\}s\x87x@\x13K\xC6H50:\x8C\xCCd\x0E\xFB\xF8\x05\x86\x0B\x89\br\x80\xE1\x01F\x1A\xDEDEa\xB6\x18m,xC\x164\x99=\x17\xE4\x8Ap\xB4\x88'\xD2'\xBE\xFFD\xF6\xBB\xCD\xD0\xBF\xE6h\xABD\xA3\xE8?l@\x01\xC7\x02\xA8\xC5\x87a>\xCC\x12\xADkM\x82\xB4\x8D\xEF\xF8\x1D\x02Q\xCE\xDF\x11\x80\x81\tG\x8E\x9F\x14\xD8\x81\xD1\x073\xF29\xC2\x05\x8Cb\xD5\r\xA0\n\xED\xCB\x84\b\x8F\xB3hL\x86|\xC6r\xA1S%\x04\xFF~\xF2Q\xA3`\x7F\x17\r\xB6\x1F\xA5\xAE\xE6\xC3\xAC\xB5\x85\xEB\x94y7?\xB2TU\xA5T\xC4%+\xB6\x03\xC1a\x11?\xBAy\x84\xE7\xC0S\xC5\xCC\x8B(\xFA\n\x11s\xC9\r\bl\x86\xF18\x90\"\x90%\xA3\x86\xEB\x1A0r;Nc\xF6\x07\xF9\x1E\x7FPO\xAEa\xA00\xF2f\"O3\xFC&\x97\xD4\xCE+\xFAr_E_dm\xE6f\xE4o\xA4W$\xA3m\xF8\xF4\xFAR\x1E=Q'\x06\x1B\xD79\x1DQ\xF1\x8B\xAA\xBB\xCD\x14\xD9)\xC5\x16\x05\x95\x92\x7F\x92%\xAC\xC3[;\x8E\xB4\x88\xBF\xBB\x85\xFA[\xEA\xA8\xA3\xA9\x8E\x16/\x98\xF3\xB8\xC3\x1B\bm\f\x87\xC2u\xEC:N\x01$\xC8\xE2}\xBB6\xA2%\x8E\x18\xEC\xD0\x03\xCBtb\xBD$\x10\xD1\xF9\xB19O@\xA2\xDB\xEE\x18\xE2\xCE\xB2]\x18\xF2\x1B\b\xECv;N=q*\xF0d\xE73\xF6Ov~\xA6'\xEA\x99h#!\xE1\xD4R\xEB\xE0\x87:\x9C\xCE\xD3\x8C\xD1><\xA2(FR\x10\x15 \xDE^\n\f\xF6Ph\xA0\x8F.\xBDx\xC9;\x0E&|\xAF\x16\x0E\xAC\x0E\x85\xB4\x87T\xBB\x93\x07\xEC\x94\xFAi\xC5n\xF8\xA4\xA3s\xB7gY\xCE\xA0I\"-\xC8D\xF7\xF7\xB4\x91\xAF\xAF\x932s\xB2k>\xBBl\xE9:\x89pY%V\xA9A\xFF=\xAA\xCD\x96js\xBA\xC9\xCE\xA7\xA2\xB8,7\x89F\xB6\xB3\xC9?}\r\x89\x9E\x89\rP`\xA0\x9B\x06;\x1A\xC9\xD7\xD3B\xDE\xEE.\xBA\xED\xEB_yz|E\xB9\xD7!\xC4\xD5\xB4\x86p\xC0\xFB\x00[\xE1G\xA1\xEBv\xA7\x87\xEC\t\x1E\x9D\tv\xD3R+\xA3\x93\xE8qM\x17\x1A\xE6\x95\xA5=\x1C\xF4\xE9F\xF6\xE41\x1Aho oo\x0F\x95TTl\xBA\xFBk_\xFE\xA5\x01qN!.s\xE9\xB1\x90o\xA0*\x1C\n\xAC\x94X\x00\xBF\x0B\f\x19\x06m\x94\xF4\xF1\xFB5\x98\xAA\fq\x9C\xE1\xEB'\x7F_\x07\x05\x07:\xC9;\xD8OA\xBF\xBF\xE1G\x0F~wEiq\x91\xCF\">$\xDCfw\x81\x01\xB7\x85\xFD\xFD=a\xFF\xE0]\xAA\xB9\xE3\x87\xF6I\xD40\xFC\x13I\xBE\xB1~X&~\x82~\x99<\xC1\fZnV\xF6\xD6\xEF\x7F\xE7\xEE\x957.\xBF*R\xA5l\xE3\xE0\xC1\xE1N\"W8\x03\xF8\x14T\x03\xDE\xAF\xB3qx\x95\xCF[\xB5px.\xB7$U\xCA\xDAh\xD5\xD4\b\xA0_\xAFRNMI~\xFE\xADWW\xFF\xBAr\xF2\x84\xD8*e\xCD\xB0\xC6\xE1\xA0\x97\xC2\xAC&\xA1\x80\x17\xB3,k\x99\x8D\x1C\tiX\x87\x99\xCE\xB8\xE4\xB1YI\xA1\xD1#\x9E\xC0\x931;ds8\x1B\x14\x95\xDE\xCA\x1A\x93\xFD\xE2P\xC2\xCBuS\x97?D\xDE\xAEf\xEA;QK\xBE\xAE\x13\xC0\xAA%|\xF7cl\x88\xABl\x8E\x04r$$\x92\xCD\x99 vAQl\xA3\xD8\x1F\x8F\xA7c\xA6\xE6\x91\xAEa\xBA\x055\xA5\xEB\xAA\xA5\x8B\x1F\xB9\xFF\xAB+\xFE\xA3\xA4 'R\xA5<\xEE\xD2\xAF\xB2%\xAE\x97\xB0W\r\xF9\x97sp\xB5\x8A=\x1C\xB73)\x9D\\)Y\xE4t\xA7\x1A\xC4\x8FM\xF1\x8E\x1E\xA7\xA1}\x8C\xF1\xD5\xF7\x1A\xC2B\xB8\xB2\x92\xA2U\xAB\x1F\xFD\xD6-\xE3J\xF2d\xFAK)\x9Aw-\x13\xFF(\x85\x06{\xE6\xF1\xC5\xEBX\xDA=\xEE\x8C<\xF2d\x15SBj6\xBB\x9CIb\x8C\x15\xDB(\xE1\x87g}\xF5)S\xA9V`\xCF\x07\xC9\xB4\xEE\xDE\x01\xBAda\xD5O\xFE\xE7\x81/J\x95\xB2\x92=\xE5|\n\xF4\xB4\xB99\xD0\xDA\xC4\xC6w\x86'\xB3\x90\x92\xF3\xC6\x93;3\x9F!'Y\\M}\x12 \x92\x97\x1F=N\x9F@\xB3\\\x1Fs\x8B\x9B\xB0\xCE\x00\x9C]\xBD\xFD\xDAcw_\xB7d\xF9\xC5\xB3\xD7;\xC2\xDE>\xE6P\xE8Z\xC5\xE6\x98\xE1J\xC9\xA6\xC4\xEC\x12\xF2d0\xE1\xDD)VpEQET\xA3>\xCF\xF0\x00Hr\xF9\x0E=m\xA3\xB1K\x9F\xA28\x95Uk\xB6\xDF\x7F\xC5\xB9\xD3\x98\xF8!\xBF\xEC\xA5\xECp'\x93;-\x97\xA1&G\xA2[\xC5\xD8\xBEk\x94\xDCg\x1F\xEF\x9A\x9F\x01\xDD\x89\x89ITs\xBC{\xC9\x86]G\xABdGY\x86\x9BjgR*\xC1\xC8\xDA\xD9\xE7G\xF2_\xFB\x84\b?h,\xAE@j\x16{\xE1Hu\\H5\x8Ajm\xA7u\xD7p\x1F\xEE\xC7=\xD8\x02F\xDF2\xF2\x1FW\x18\xCC2\x13\xBBB\xF6\xB7\xB7\xD6\\\u00E6P\x14\xFBb\xF6fR\x81\xEF\x0E1\xAE\xCE\xB8+\xD6\x86\x1E00F\xE9\xBD\xE4\xC2q\xDErq%\xE5e$Q\xDD\x89nzec\xAD\x10\xB5$'E\xF2\xEB\xAD]\x83\xFAV`\xA7h\x0B\xDB\xC6\x8CIO\xA2\xE5WL\x94\xED\x1F\xD7\xEDi\xA4\xAD\xB5-\xC2\x803){t51f\xD0\xCC9\x03s\xAB\xC8\x90\xB9\x93\x89\xB9UW\x9C \x12S\xE1<\x8C{#\xC4\xD7\x0B\xA6l\xCC\x84\x13\xED\xDD\xF3\x1C\x8A\xDD6\xD5\xCE\xAE\xA4\xDD\xE5&D\xBB\x98k\x1C\xAE\xD4\x87\x8DI\x0F\xEC\xA3\x83\xED\x18\xF1\x19\x8B\xE9\xB0!\xDD\x95\xF3\xC6\xD2\x94\xB2\x1CZ\xBF\xEB\x18\xFD\xE6\xDD}t\xC9\xAC2zx\xE5\"\xC2\xFE\xF1w?\xBB\x8Ej\x9B\xBA\x84\xB8C\x0F\xEC\x89\x9C\x9E\xEC\xA2\x15\x17N&O\x82\x8BZ\xBA\x06\xE8\xC3\xFD\xC7\xF9\xDA3,\xA8\xD0Hv\fLK\xF3\xC8\bP\x8A\xEE\x0B\xE8{\xEC\x80\x1D\x98<\x19\x93\x9E(\xFF\xA2\x0F8\xE3\x89\x1DU\xD9j\xD2i-\xF0\xC0\x181\x05:\x9C\xB8S1\f0J\x9D\x8E4\xB5\x97:\x18br\x15\x10]\xF2\xF8v\xDDZk\xE1\xF8\t\xCF\x12\x06\xB7i\xE5eU\xB4\xA4\xAA\x94ry`\xD8\xE5i\xDB\xA1\x16z\xF4\xE5-\xB2\x14\x12\x05\xAD\x83\x81\xA0\xD46b\x00X\x80\x07\x89G\xE1*J\b5\xFB\xA9]5l2\xD4\xEF\r\xCA\xC0\x03\xB2\xA3`\xD8\xD8\xEE\xFFt0\x17\xA4\xF3\xA6V\xD0\x0FW,\x12\xF9y\xFE\x83\x83\xF4\xD8+[\x04\xF2\xBC\x81\x10\xFF\xAD\x98\x99\x7F\x9E<\xFF\xE5\x8Fj\xE9g/m\xD6\xD7\x1E\x9F\t>\x99I7,\x99D\xB7\\Z%Z\xF0\xE2\x875\xF4\xE8K[\xA4Bn8\xB0\xA3iz\xBDH\xFF\x807\x89a\xC7\xE6\xB0\x19\xB3\xFF\x8A\xC1\x9Dxg\xB1Tc\x07\xD7{??\x8F>\xB7`\x82\xA8d{\xCF\xA0>\x9F\x9B\x9B*\xE5\xE6\xD1G\"k\xC2;\xDB\x0FS\xF3\xC9^Y\xA3Z\xD7\xDC\xA5\x97Xk\xAA\xD8\x01k\x1A\xD1n\x8F$\xA9\"=7\x12Va\x99\x9C\xC7_\xB0LH\xB6\f\xD6b\xB0\x8F\xB2R\xDD\xE4qa\xCAR\xA3Y\xE3\xC6P\x12\xB6n\x94\x89\xEB0\xCD\x9D\x90'\xDA\x89\xBE\x17e'\x1B\xE3U\x8D[5\x11\x1C\xC0\x12\\jh\xA4T\xE4\x19\xB3Q\x98\x94\xF7\xC8\xB4%\xC9<\xB5\xAC\x15P\x87\x11\xFF\x98{\x8F\xEA{\x92\xDA\xF4\xCD\xC3\xCCM\x7F\xAC}\"\x95\xB8@\x10\x93\xCF\x9F9g\x02]9\x7F\xBC\x10n\xD3\x81&\xFA\xE9\xF3\x1Be\xDD.\xA4:\x10\fP$6\xD3w\x85\xCD\xCAL\x92\x1AG\xD4\xBA\xA7%\xBAd\x8D*\xEE\xC5:\xE0Y\xE3\xF2e\x8F\xCE:\x86\xA2=GZ\xA3*\x80\x15\xEB~\x17k\xE9\xF9\xD3\xCAe\xF2\xBB\xA1\xAD\x9B\xF6\xD6\xB7\xC5\xEC\xFA\x84\xFEg&\xBBe\x1E\x1A\x84D\xBB\xC59\xC9\xECat\xC8J\xFBi\xE5\xB9\xB2\xA0\x1B\xBC\x84\x06\x82\xC0\xB2D)\xA4\x17\xF1\xCE\x99PH%c\xD2d\fh\xFBps\xA71\xC7\xAB\n\x84I}\x8Fl;\xE6\xB3\xB6\xAA\x1C\x9E\xE4\x1B\f\xD0\x13k\x16\xD9\xADz\x92\xB8\x88\xAF\x92\x14\xAA^4\xB3\\\u00A4\x15^\xC9\xB3ol\xA3\xFA\x13\x9D,\x1DN\xEA\xD2T\xDD8F\xED,;\xE8\xF7\xD3\xDC\x89\xF9\xF4\xE0\xCA\xC52\xD8;\x9E\xF8\x0B}\xB0\xF7\x18]1o\x02\xDD{\xDD\x02*\xC8J\x91I\xF6\xEE~\x1F\xDD\xF0\xA3\x97\xF4\xFD\x8A\xA3\x8C\xD5 K\xDE\x97\xAF\x98E\xDF\xBA\xF6\x1C\xA9l\xFB\xDASo\xCAd\xB7m\xC8\xDE\x9AYF}>\xFE\x96\xCA\f\x9ER\x92M;\x0F5\xD3\x94\xE2,*e\xC2\x0E\x1A\xC2\x91\xCC\xCC\xC0~\xD0\xA8\xE5\x19\x9B\x9FA\xDF\xBF\xE9<\x9A9>_:\x8B\xB9\xDC\xCE>/\xFD\xDF5;\xE97\xEF\xEC\x964\x01v\"\x97\xDD\xD0\xB1\xC7\x1A\xF7Q\xDF[n\x04\xC47\xEE\xB1\x11\x8Dt\xC7\xA40e$'\xC8`@\xDF\xE6\x93}t\xB8\xA9S$\x1A\x1E\xA4\xAC1\x8D^\x1DGQ\x1BZkd\xE1x>k\xC2=\x9F?G\xB6\xCC\xDD}\xB8\x95\xEE}\xF6mz\xE2\xE5M\xD4\xDC\xD1km\xD7\x85\x03j^Y\x96M+.\x9E.\xD5\tO\xBF\xBA\x856\xFF\x8D\r\xB0\xBE\x93\xB5\xF5\xB2\x03'\xDF\x93\x9D\xEA\xD1\xAB\xD5Xr\xF1\xEFl&(\xB4f\xE6\xD8<\x81\x8D=GZ\xE4\x16\xEC \x8BRv<\x07\xCC\x9F?\xA5\x88^\xFD\xE8ot\xDDC/\xD0#/|$\x86\xFB\xCE\xCF\xCE\xA1\xEA\t\xF9\"\b\xA8r3+4\xF0Y\x19\xE9\x8ES\x06\xCD\x1DV@\x1C\xB5\xEBk<\x92\x0F\xE3\x99\xE4v\xC8\xE6\x9Eh\xAF\xB3\x7FP\xB6^\xD4\xDF\x81\xA2\xBF\xBAC\x89\xB6\x1D\x9A.\x95Z\x14\x13P\xBE\xB1hj\x89\xEC\xF9\xD0\xCFF\xF9I&\xFA\xDA\x9DGd\xD9\x90\"\xD5s\x11\xB8\x07\xB6\xDFqe\xB5\xB8\x9Fol\xAE\xA5\xD5k\xF7\x88\xD4FK\x1E0\x1B6$\xC5\x93 \xB8\xBCi\x7F\x03U\xB0DW\xB2\xB7\x85\x95\xF6\x90\xEA\x93l\x93\xB60\xD3\xAA'\x14\xC8\xE2\b\xC0N%kF\xF5\xC4B:\xD6\xDAM\x8F\xBE\xB8\x91\xB5\xB7\x8Bv\xD65\xD3\xB9\xDC\xB7\x85\x95%\xECH\x94\xD1\x07\xBB\xEB\xA5\xF6H*\xE4\x00;\xA8)\xA5\xB3\x90|M\xF6\xDB\xA1(\xAE\x98x\x14\x0F\xEC\x98\xC5\xFEd\x04\x0E\x8A.\xCE\x8AQ@\xA3Y\x9Eu\x84\xFAh;j\x89)\x16d\x8C+\xC8\x94\xBA\x98nvM\xEB\x9AN\xB2\xBB\xEA\x92\xAD}1H\x13\x1BQK\xB4l\xFEDy\xF9MCk\x0F=\xC1\x04\x82\x97%\xDA\xA5\xC6\x96\x9C\xBB\x9DN\xD9=\x05\xCF>p\xAC\x8Dj\x1A\xDBi\xC1\xD4RZ\xC0R=\xA54\x87\xB5\xA1\x85\x0E6\xE8\xE5\x89`h:_[\x9C\x9B&\x1E\x0F0\xBD\x84m\xC4\\f\x046\xB3\xC6\x8E\xE5(u\x19\xCB}t\xD9\x15)A\xD4\xBD4\x87|V\xCC1\r\xDB\xE0\x9A\xC4\xB76\x99\xD6\xA2\xDE\x84pf\x1F\x1F\xF4\xEDe\xDC\xEB\xC4\x92\x1A\x86\x9F\\\u00D9\xC6\xD7\xCE~s\xC0(L\xD2b6\x9A\xD6\xAC\b\xCFd\x8A\xBEX\xC0m\xD4\xC1\xA8\x9A\x16\xB5A5\x89K\x16\x1D\xCDBK\x007\x90V0\xAC\xFED\xC7\xC7|~xB\x89\xDC\x1E\xB6\x12F\x9C\x80j3`\xFD\xE2\x19\x15\xF4\xB9s\xA7\xC8Z-\xBC#\xA5S\x96\xF4\xE8\xC5Yx\xC5\x07\xA4\x1Fp\x92\xCB\xC4~\xF4+\x97\xCBs\xFBX\xCA\xF1^\x94\x0F\xF7\xD43\xC3Z\x05\x9A\x90\x16\xFE\xD5\x1B[\xC5.\xB5v\xF6Y\xAF\x1C\x19\xB1\xC1\x8Dxt\xDA\xB0\xAC7\xFC\x8B\xAE\xDE~\xAAo\xE9\x92\x17\xD0\x14d\xA5\xD2\x1C\x96\x98?}\xB8_\f.\xC9\x92\x1Fg\xD4\xCA\x14\xCD \xA8\x1A\xC5\x10U\x06\x81kpm\x06CXGO\xBF\xBE\x11v\x941C\xFD\xE7\x9A\xCD5T56\x9F\xAE\\8\x85\xBEz\xF5|\xB6\x0FM\xF2Z\x8D\xD85\xB6a\x91d\xB7QK\x8F5];k\x9B\xC4+\xABf/\x06\xDE\xCF\xAECM:v3#\x93\xF0\xAA\x90\x147\xDB\xAB\x1E\xE9\x03\"\xE1\x87\x7F\xF3\x1Em\xAD9.\x1B\x8F\xC2\x1DF0\x95\xE0p\xE8+(\x99\xF8\xBF\x7Fw\xA7@+l\x90\xBEO\xFF0\x88o\xA0E\xC4\xE0\xC2\xD54_\x02\xA0\xAA\xF1\x9F\x9A^V\xF7\xC6\xC6\x03V\xAD\xFB\xD7\xAE^H\xD7\x9C7\x95\x16\xB2\x9A/\xE2S_;\xABEP,j\x8D\x96\tUX\x95\x0E\xA2 :\xBE\xE1\xC2\x19\xC2\x80\"\xBC\x14\xC6TS\xD2_\xA7\x84\xB6\x9E{s\x9B\xB8x\xE3\n\xB3\xE9\xD6\xCB\xE7\xE8\xA5\x88Q}\xC2\x9A2\xD8 xY\x03\xC6\xFBM\x0E\x1Do\xA7&\x8E+\xC0\x10\xBC\xC1\xE8\bjHY\xC3\xC0\x00\x10\x1B\xAF\x8E\xDA{\xB8\x99\x85\xA0_\x16\xC2-\x9CV&}\x84\x81\xCE\xE0>\xCD`\x86cs\x10\x10{bq6\xAD\xFE\xC1\r\xF4\xF2\xBF\xAD\x90\x97\xF4\x00z\x86E3U\x8DY\xC7\xC5\x11\xAE\xBDO\xD6QY\x92\x1F\x8E{\xAA\x10\x90\xB1v\xFB!z\xE1\xFD\xDDt\xFDE\xB3d\xDF\x9E\x9F\xDC~\x85`)\\\u00CE\xEB\x1F\xFC\xAD\xC0\x93^{\xA9\xC3\f\b\xE94\xF23\xF0&\xFE\xBA\xFF(\xBD\xBB\xAD\x96%\xBA\x92>\xBFd\xBA,\xF7G\x7FV>\xFC{!\xB8S\x02)]\xF2\xFEz\xA0\x9E\xDE\xD9ZK\xD7,\x9EN\xCB/\x98\xC1\x90p\x8460,H\x94\xA9\xE9\xEB\xC4\xB2\xD9\xB0b\x15$b\x07\xBC\xE9\x01\xC5\xAE\xFB\x8E\x9C\xA0\xAA\xF1\x85\xB4\x87\x89\x8C\xBD\x92a\xA8\xB1\xFC\x14Z\x93\x9F\x99\"\xF0\xF4_\x7F\xDAH\xF7\xFF\xCBEt\xE3\xC53\xE9\xBC\xE9\xE5\xD4\xD6\xDD\xCFm%I\xD1\xEDm?}\x9E6\xEC>\"Fy\x1A3\x03\xD49\x87\r\xF1\xC6\xBDGHs\xC4\x1Fd\xC9\x9A7U5\x10\x80\xFCl\xDB\xECu\xD6F\xC4\xE6\"\xDD8\x13\x16\xB2m/+\xCE#\xBF[+U\xC9\x17\xCD\x99\xC0\xD8\xAF\xAF6\xDF\xB8\xAF^\\\u00B1\x93\xDD\x03\xD4\xD4\xDE\xCBp2(\x84G\x950v\xE4\x96\x82\xD6\x90.\xB9\x0F\xAFz\x9B\x1A\xDB\xBAh\xD1\xF4\nY\x9DX\xDB\xD8&\x84G\xF2\n\x90\x80\x80\n\x8B\x16\x00\xF1\xCF\xBD\xB9\x85&\x97\x8D\x11M\xB9\xE6\xFC\xE9\f+\x8D\x02\x11\xB2X\x99\x99\x0B\x86\x02\xCA\x8E\xB5t\x92\xCF\xE7\x97q}\xB0\xABN\xDE\x89\xB2a\xF7a\xE9/\xDCF\xBCj\t\x8B\xE4d\xF3kf\xECK\xEF\xEF\x12&\\\u00CDmB\xB3\xF0\x9E\x14,\xC8\x80p`e>\x18\xF6\xFE\xCE:Z\xB8\xB5L\x96'\xAD\xF9\xEB\x01qk\x87\xF5\xDA\x13Y\x06\x1A\x96R\x92\xA9\xE3\x8A\xDA\x94\x9C\xCA\xC5K\x15\xBB\xE3UWb\x9A\xCB\x95\x94I\x0EOJ\xA4\x96<\xDE6Q\xDD\xCC\x04\xD7w\x10w\n\x1CA\xED\x11\x19\"\x15\xAC\xC8[\xE3\xF4\xF4\x01\x8C\xB1^Z\xAD\xA7\x96Uc\xBFd@\x0F\xFCn\xFC\xBD\xDF(\xE3\x96\xBDj\x1C6a2\xDA\x84\x7F\x8Dka\xF0\xCC\nb\xA4\x1A\xA2\xB7\x1F\x83\xD6\xC1{R\x8D\x94\x85i\xEC\xC1\x14<\xC3*\xDB\xE0\xEB\xB0!\x91\xB8\xBCF\x1A\x04^\x15R-\x89\xC6[0p=\x04\xC9i\xA4\x19\x82F\xFF1\x1E|\x1E\xD6.(\xB2\x89`HR\x12^\x9F\x8F\xCE\x9D5\xF9q\xD4\xEDl\xE4\xC1\xD51$L\xD1\x8C?\x0E\xB7D\x04WC\xF5\x01+X\xDEiB\n\x86\xED5\x162\x9B/\x14\x03\x0E\x07\x8D\xB2oY\xF8\xA6\xE7\xB7\x8Dt\x84Q\x0En\xD3_Z\t\x03\x1A\xF4\x85\xAC\xFC\xBEM\xD1\xF72\x8E\x8E|\xCD6L\x1F\xCA\x1F\b[f\xC5Z\xFD\x8Em\n|\xC6B=\xA3\xF6\xD7\xEF\x0F[}W\x8C\xEB\x12\x8CWL\x99\xED+F\xBF\x14\xC3\x8D\x85kk\xBE\xD4\f0\xAA\x0EK\xEAU\xC9-!9\bG\xE0\xBC\xEA\xC9\xEF\xD8\xEC\xCE\x84^\xB2\xD9W\xEBAP\xD8\xB8`\x84\xFB\xE9\x13Y\x042\x7F3\xBF\x9B\xB9t\x85\xB4\x98k,\xF76\xEAZk\xF3\xE8\x98\xFB?\xFE[t\x1B\x14\xF5\xAA&\xF3o\xD1\xAE\xF3\xDFmW\xA1!c\x88\xED\xF3\xA9\xDAW\x88\x86G\x1Bc\xAB\x17\bw0\x10\x80]\xAAY\xBAh\xE6:\x87\xDD\x95HJ(\xB0\x8A\xD9\x7F\x0Fs2u\xA8;8z\x9C\xF5\xF4\x95n`\rT\xE9\xE9\xEF\xA7\x9B>s\xF9\xD3\xE5Ec\xBC\x0E\x99\xAF\xB5\xD9\x1A\xD8\xF0=\xC0J\xF9\xA8\x95'\xD1T\x1A\xADW\x18!\xBD\xA3\xB4\xC9\xDAcG\r\xCB\x967\xE5\x059\x9Bn\xFF\xC2ez\x95\xB2\xDD\x91\x00\x9F\x05\x9Cy\x8C\x01\xB4\x8A\xF5p\xA5\x1E\x06G\"\xCC\xD1=\x05G*\xF1\x9A\xB9\xC7\x17\xE3\xBC\x1F\xDEW\xC3\xF7\xEE\xB8nEQ^\xB6^\xA5\x8C\xC9r\x1B\xF6\xBC\xD10wK\xB7\xB1\x1At\xB3\x16|]\xD3\xD4!;\x90\x8C2`x\x85\x0B\x9A\xB5o\x11\xE652\xD3R\xB6\xFC\xEB\xB7\xFE\xCF\xCAk.]\x18\xA9R\x96\x85\xCF\xA8)\xD4\xB3\xCBx\xF7\xD17\x98c\xAF\xF3\x9D_\xE1\xCF\xD5\xEC \xE5\xF2\xEF\t\xA3\xC4\x1F\x1E\xF5u;\xAF\xF5\xB2\xC7V\xC3\x91\xF3\xEF\x9F\x7F\xF2\xBB\xCFN\x1E[\x1CS,\xFB\xBF\x02\f\x001iY\x94\xC8\x93\x80\x9C\x00\x00\x00\x00IEND\xAEB`\x82";
w.add('image', undefined, pic);
w.show();
Regards
Trevor
P.s. I haven't figured out yet how to work with the scriptArgs to transfer variables to the doScript but I shall work on it more before I beg for mercy. -
If image file not exist in image path crystal report not open and give me exception error problem
Hi guys my code below show pictures for all employees
code is working but i have proplem
if image not exist in path
crystal report not open and give me exception error image file not exist in path
although the employee no found in database but if image not exist in path when loop crystal report will not open
how to ignore image files not exist in path and open report this is actually what i need
my code below as following
DataTable dt = new DataTable();
string connString = "data source=192.168.1.105; initial catalog=hrdata;uid=sa; password=1234";
using (SqlConnection con = new SqlConnection(connString))
con.Open();
SqlCommand cmd = new SqlCommand("ViewEmployeeNoRall", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
FileStream fs = null;
fs = new FileStream("\\\\192.168.1.105\\Personal Pictures\\" + dr[0] + ".jpg", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] imgbyte = new byte[fs.Length + 1];
imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)));
dr["Image"] = imgbyte;
fs.Dispose();
ReportDocument objRpt = new Reports.CrystalReportData2();
objRpt.SetDataSource(dt);
crystalReportViewer1.ReportSource = objRpt;
crystalReportViewer1.Refresh();
and exception error as belowFirst: I created a New Column ("Image") in a datatable of the dataset and change the DataType to System.Byte()
Second : Drag And drop this image Filed Where I want.
private void LoadReport()
frmCheckWeigher rpt = new frmCheckWeigher();
CryRe_DailyBatch report = new CryRe_DailyBatch();
DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter ta = new CheckWeigherReportViewer.DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter();
DataSet1.DataTable_DailyBatch1DataTable table = ta.GetData(clsLogs.strStartDate_rpt, clsLogs.strBatchno_Rpt, clsLogs.cmdeviceid); // Data from Database
DataTable dt = GetImageRow(table, "Footer.Jpg");
report.SetDataSource(dt);
crv1.ReportSource = report;
crv1.Refresh();
By this Function I merge My Image data into dataTable
private DataTable GetImageRow(DataTable dt, string ImageName)
try
FileStream fs;
BinaryReader br;
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + ImageName))
fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImageName, FileMode.Open);
else
// if photo does not exist show the nophoto.jpg file
fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImageName, FileMode.Open);
// initialise the binary reader from file streamobject
br = new BinaryReader(fs);
// define the byte array of filelength
byte[] imgbyte = new byte[fs.Length + 1];
// read the bytes from the binary reader
imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)));
dt.Rows[0]["Image"] = imgbyte;
br.Close();
// close the binary reader
fs.Close();
// close the file stream
catch (Exception ex)
// error handling
MessageBox.Show("Missing " + ImageName + "or nophoto.jpg in application folder");
return dt;
// Return Datatable After Image Row Insertion
Mark as answer or vote as helpful if you find it useful | Ammar Zaied [MCP] -
A generic error occurred in GDI+ while assing tiff image file to Bitmap and Image
Hi,
I am getting "A generic error occurred in GDI+" error while reading the tiff image file to Bitmap or Image.
Below is my sample code.
string filePath=@"c:\Images\sample.tif";
Bitmap bmp=new Bitmap(filePath); // here getting exception
int totalpages=bmp.GetFrameCount(.....);
etc......
I tried using Bitmap.FromFile() and also from FromStream() even for Image also but there is no use.
Moreover i m having full permissions for the file path and the tiff file is having multiple pages.
Can anyone help me to solve this issue please.
Thanks & Regards,
Kishore
KishoreMake sure that the Tif file is valid (can other software open it)? If you are able to save a Tif using GDI+, try saving that Tif, then opening it. Part of me wonders if there is something about that specific Tif that GDI+ doesn't like.
You could also try using WIC to open the TIF, perhaps you would have better luck there. -
Help me to do this "IMAQ"-2 image file attached
Dear friends
In this i attach my image file in Tif format & jpeg format
Please go through this vi
this vi it will display a image window when u click inside that window a square box will create, where ever u click it will create multiple box. i used imaq windraw function, u can see another image window in the front pannel also.
now my aim is to put a box over that spot with the spot as center and to extract the pixel values of the individual boxes,
now whats happening is when i run this program a image window is opening from the imaq windraw function in that 1ly i can able to put multiple box but that box is displayed in the image display in the front pannel also. but i cant put the box in the image window in the front pannel. if u click the mouse in the image window in the front pannel it will display the 25x25pixel values.
i want both to be done in a same window i want to put a multiple square box and the pixel values i want to extract seperately for the individual boxes. please help me give some ideas how to do this please modify this vi.
thank u
sasi
Attachments:
1.zip 279 KBSasi,
I am a little confused on what exactly you want to do and why you are using both WinDraw and an Image Display Control to show the image. It sounds like what you want to be able to do are the following 3 things:
1) Display the Image
2) Click on the image and have a rectangle overlay appear on image
3) Get the pixel values from that rectangle into an array
If I am understanding you correctly, then you should only display the image using one of the above display methods and have only a signal case structure in your code that adds the overlay to the image AND extracts the pixel values. I am a little unclear as to why you have decided to only get the pixel values if the user clicks on the Image Display and only draw the rectangle if the user clicks on the WinDraw display.
I have attached an image of a block diagram, which is what I think that you are trying to do. In the block diagram you can see that I have combined everything into one case structure so that whenever a user clicks on the Image Display (no WinDraw) then I add a rectangle overlay to my image and also get the pixel values for that area. If you want to keep track of the pixel values for each rectangle then you could use a shift register and build up a 3-D array with all of this information ... or write the data to file ... or use another method to keep that data for future use.
Regards,
Michael
Applications Engineer
National Instruments -
How to display a dynamic image file from url?
Hey,I want to display a dynamic image file from url in applet.For example,a jpg file which from one video camera server,store one frame pictur for ever.My java file looks like here:
//PlayJpg.java:
import java.awt.*;
import java.applet.*;
import java.net.*;
public class PlayJpg extends Applet implements Runnable {
public static void main(String args[]) {
Frame F=new Frame("My Applet/Application Window");
F.setSize(480, 240);
PlayJpg A = new PlayJpg();
F.add(A);
A.start(); // Web browser calls start() automatically
// A.init(); - we skip calling it this time
// because it contains only Applet specific tasks.
F.setVisible(true);
Thread count = null;
String urlStr = null;
int sleepTime = 0;
Image image = null;
// called only for an applet - unless called explicitely by an appliaction
public void init() {
sleepTime = Integer.parseInt(getParameter("refreshTime"));
urlStr = getParameter("jpgFile");
// called only for an applet - unless called explicitely by an appliaction
public void start() {
count=(new Thread(this));
count.start();
// called only for applet when the browser leaves the web page
public void stop() {
count=null;
public void paint(Graphics g) {
try{
URL location=new URL(urlStr);
image = getToolkit().getImage(location);
}catch (MalformedURLException mue) {
showStatus (mue.toString());
}catch(Exception e){
System.out.println("Sorry. System Caught Exception in paint().");
System.out.println("e.getMessage():" + e.getMessage());
System.out.println("e.toString():" + e.toString());
System.out.println("e.printStackTrace():" );
e.printStackTrace();
if (image!=null) g.drawImage(image,1,1,320,240,this);
// called each time the display needs to be repainted
public void run() {
while (count==Thread.currentThread()) {
try {
Thread.currentThread().sleep(sleepTime*1000);
} catch(Exception e) {}
repaint(); // forces update of the screen
// end of PlayJpg.java
My Html file looks like here:
<html>
<applet code="PlayJpg.class" width=320 height=240>
<param name=jpgFile value="http://Localhost/playjpg/snapshot0.jpg">
<param name=refreshTime value="1">
</applet>
</html>
I only get the first frame picture for ever by my html.But the jpg file is dynamic.
Why?
Can you help me?
Thanks.
JoeHi,
Add this line inside your run() method, right before your call to repaint():
if (image != null) {image.flush();}Hope this helps,
Kurt. -
How to delete a jar file after loading image files from it
Hi,
How can I delete a jar file after some image files have been loaded? For example, say, I have "a.jar" which contains an image "a.gif" in the root directory of the c drive. I would like to get the image size and then delete the jar file. Here is the code snippet:
URL url = new URL("jar:file:/C:\\a.jar!/a.gif");
Icon icon = new ImageIcon(url);
System.out.println("icon size ? " + icon.getIconHeight());
File file = new File("c:\\a.jar");
while(file.exists())
file.delete();
try
Thread.sleep(100);
catch (InterruptedException ignored)
System.out.println("file deleted.");I get the image size correctly but just can not delete the jar file. Apparently the file handle is not released, but how to close it? Any hint will be appreciated.
Justin JanI am sure the URLConnection.defaultUseCaches is set before it is connected otherwise I should catch an IllegalStateException on conn.setUseCaches(false).
try
URL url = new URL("jar:file:/C:\\a.jar!/a.gif");
URLConnection conn = url.openConnection();
conn.setDefaultUseCaches(false);
conn.setUseCaches(false);
Icon icon = new ImageIcon(url);
System.out.println("icon size ? " + icon.getIconHeight());
url.openConnection().getInputStream().close();
System.gc();
System.runFinalization();
File file = new File("c:\\a.jar");
while (file.exists())
file.delete();
try
Thread.sleep(10);
catch (InterruptedException ignored)
System.out.println("file deleted.");
catch (Throwable t)
t.printStackTrace(); -
How to Copy an Image File from a Folder to another Folder
i face the problem of copying an image file from a folder to another folder by coding. i not really know which method to use so i need some reference about it. hope to get reply soon, thx :)
Try this code. Make an object of this class and call
copyTo method.
import java.io.*;
import java.net.*;
import java.util.*;
public class FileUtil
extends File {
public FileUtil(String pathname) throws
NullPointerException {
super(pathname);
public void copyTo(File dest) throws Exception {
File parent = dest.getParentFile();
parent.mkdirs();
FileInputStream in = new FileInputStream(this); //
Open the source file
FileOutputStream out = new FileOutputStream(dest); //
Open the destination file
byte[] buffer = new byte[4096]; // Create an input
buffer
int bytes_read;
while ( (bytes_read = in.read(buffer)) != -1) { //
Keep reading until the end
out.write(buffer, 0, bytes_read);
in.close(); // Close the file
out.close(); // Close the file
This is poor object-oriented design. Use derivation only when you have to override methods -- this is just
a static utility method hiding here. -
How use PHP to read image files from a folder and display them in Flex 3 tilelist.
Hello. I need help on displaying images from a folder dynamically using PHP and display it on FLEX 3 TileList. Im currently able to read the image files from the folder but i don't know how to display them in the TileList. This is my current code
PHP :
PHP Code:
<?php
//Open images directory
$imglist = '';
$dir = dir("C:\Documents and Settings\april09mpsip\My Documents\Flex Builder 3\PHPTEST\src\Assets\images");
//List files in images directory
while (($file = $dir->read()) !== false)
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
echo "filename: " . $file . "\n";
$dir->close();
?>
FLEX 3 :
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="pic.send();">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.events.ItemClickEvent;
import mx.rpc.events.ResultEvent;
public var image:Object;
private function resultHandler(event:ResultEvent):void
image = (event.result);
ta1.text = String(event.result);
private function faultHandler(event:FaultEvent):void
ta1.text = "Fault Response from HTTPService call:\n ";
]]>
</mx:Script>
<mx:TileList x="31" y="22" initialize="init();" dataProvider = "{image}" width="630" height="149"/>
<mx:String id="phpPicture">http://localhost/php/Picture.php</mx:String>
<mx:HTTPService id="pic" url="{phpPicture}" method="POST"
result="{resultHandler(event)}" fault="{faultHandler(event)}"/>
<mx:TextArea x="136" y="325" width="182" height="221" id="ta1" editable="false"/>
<mx:Label x="136" y="297" text="List of files in the folder" width="182" height="20" fontWeight="bold" fontSize="13"/>
</mx:Application>
Thanks. Need help as soon as possbile. URGENT.i have made some changes, in the php part too, and following is the resulting code( i tried it, and found that it works.):
PHP Code:
<?php
echo '<?xml version="1.0" encoding="utf-8"?>';
?>
<root>
<images>
<?php
//Open images directory
$dir = dir("images");
//List files in images directory
while (($file = $dir->read()) !== false)
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
echo "<image>" . $file . "</image>"; // i expect you to use the relative path in $dir, not C:\..........
//$dir->close();
?>
</images>
</root>
Flex Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="callPHP();">
<mx:Script>
<![CDATA[
import mx.rpc.http.HTTPService;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.events.ItemClickEvent;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var arr:ArrayCollection = new ArrayCollection();
private function callPHP():void
var hs:HTTPService = new HTTPService();
hs.url = 'Picture.php';
hs.addEventListener( ResultEvent.RESULT, resultHandler );
hs.addEventListener( FaultEvent.FAULT, faultHandler )
hs.send();
private function resultHandler( event:ResultEvent ):void
arr = event.result.root.images.image as ArrayCollection;
private function faultHandler( event:FaultEvent ):void
Alert.show( "Fault Response from HTTPService call:\n " );
]]>
</mx:Script>
<mx:TileList id="tilelist"
dataProvider="{arr}">
<mx:itemRenderer>
<mx:Component>
<mx:Image source="images/{data}" />
</mx:Component>
</mx:itemRenderer>
</mx:TileList>
</mx:Application> -
Hi,
Iam facing with one problem.I have one swing interface through which I can upload files(back end servlet programme).Now I can upload all types of file but problem with image file it uploading perfectly that means size of the uploaded file is ok but its format damaged.It can not be open.My backend servlet programme is ok coz i tested it with html form it is working perfectly.Problem with swing interface.Plz guide me where I done a mistake.Below r my codes:-
ImageIcon Upload=new ImageIcon("images/Upload.gif");
Button=new JButton(Upload);
Button.setToolTipText("Upload");
Button.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
int returnVal = fc.showOpenDialog(ActionDemo4.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
String aa=file.getAbsolutePath();
textArea3.append(aa);
textArea2.append("Local URL:");
long l=file.length();
try
byte buff[]=new byte[(int)file.length()];
InputStream fileIn=new FileInputStream(aa);
int i=fileIn.read(buff);
String conffile=new String(buff);
String str1=textArea10.getText();
url = new URL ("http://127.0.0.1:7001/servletUpload?x="+str1);
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","multipart/form-data;boundry=-----------------------------7d11e410e500f2");
printout = new DataOutputStream (urlConn.getOutputStream ());
String content ="-----------------------------7d11e410e500f2\r\n"+"Content-Disposition: form-data;"+"name=\"upload\"; filename=\""+aa+"\"\r\n"+"Content-Type: application/octet-strem\r\n\r\n\r\n"+conffile+"-----------------------------7d11e410e500f2--\r\n";
printout.writeBytes(content);
printout.flush ();
printout.close ();
Best Regards
BikashThe errors are here:
byte buff[]=new byte[(int)file.length()];
InputStream fileIn=new FileInputStream(aa);
int i=fileIn.read(buff);
String conffile=new String(buff); (conffile is a String object containing the image)
and here:
String content ="-----------------------------7d11e410e500f2\r\n"+"Con
ent-Disposition: form-data;"+"name=\"upload\";
filename=\""+aa+"\"\r\n"+"Content-Type:
application/octet-strem\r\n\r\n\r\n"+conffile+"--------
--------------------7d11e410e500f2--\r\n";
printout.writeBytes(content);conffie is sent to the server but
it's non possible to treat binary data as String!
Image files must be sent as byte[] NOT as String ...... -
I have a source code for developing a notepad but the problem is that when i run it the buttons which i've used as shortcuts don't have there photos displayed on them... they just come across as a rectangular button rather than a cut or a copy photo...i've even saved those images in the c drive only where other files like .class file are stored still its not working...plz help...
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class Notepro extends JFrame implements ActionListener
JMenuBar mbar;
JMenu file,edit,format,font,font1,font2;
JMenuItem item1,item2,item3,item4;
JMenuItem item5,item6,item7,item8,item9,item10;
JMenuItem fname1,fname2,fname3,fname4;
JMenuItem fstyle1,fstyle2,fstyle3,fstyle4;
JMenuItem fsize1,fsize2,fsize3,fsize4;
JButton button,button1,button2,button3,button4,button5;
JPanel mainpanel;
JTextArea text;
JScrollPane jsp;
String command=" ";
String str=" ";
String str1=" ",str2=" ",str3=" ";
String str4=" ";
String str6=" ";
String str7=" ",str8=" ",str9=" ";
int len1;
int i=0;
int pos1;
int len;
public Notepro(String str)
super(str);
mainpanel=new JPanel();
mainpanel=(JPanel)getContentPane();
mainpanel.setLayout(new FlowLayout());
MyWindowAdapter adapter=new MyWindowAdapter(this);
addWindowListener(adapter);
mbar=new JMenuBar();
setJMenuBar(mbar);
file=new JMenu("File");
edit=new JMenu("Edit");
format=new JMenu("Format");
file.add(item1=new JMenuItem("New..."));
file.add(item2=new JMenuItem("Open"));
file.add(item3=new JMenuItem("Save As..."));
file.add(item4=new JMenuItem("Exit"));
mbar.add(file);
edit.add(item5=new JMenuItem("Cut"));
edit.add(item6=new JMenuItem("Copy"));
edit.add(item7=new JMenuItem("Paste"));
edit.add(item8=new JMenuItem("Delete"));
edit.add(item9=new JMenuItem("Select All"));
mbar.add(edit);
format.add(item10=new JMenuItem("Font"));
mbar.add(format);
button = new JButton(new ImageIcon("new.gif"));
mainpanel.add(button);
button1 = new JButton(new ImageIcon("open.gif"));
mainpanel.add(button1);
button2 = new JButton(new ImageIcon("save.gif"));
mainpanel.add(button2);
button3 = new JButton(new ImageIcon("copy.gif"));
mainpanel.add(button3);
button4 = new JButton(new ImageIcon("cut.gif"));
mainpanel.add(button4);
button5 = new JButton(new ImageIcon("paste.gif"));
mainpanel.add(button5);
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this);
item8.addActionListener(this);
item9.addActionListener(this);
item10.addActionListener(this);
button.addActionListener(this);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
text=new JTextArea(60,80);
mainpanel.add(text);
jsp=new JScrollPane(text);
mainpanel.add(jsp);
public void actionPerformed(ActionEvent ae)
if(ae.getSource()==button4)
str=text.getSelectedText();
i=text.getText().indexOf(str);
text.replaceRange(" ",i,i+str.length());
if(ae.getSource()==button)
dispose();
Notepro note1 = new Notepro("Untitled-Notepad");
note1.setSize(500,500);
note1.setVisible(true);
command=(String)ae.getActionCommand();
if(command.equals("New..."))
dispose();
Notepro note1 = new Notepro("Untitled-Notepad");
note1.setSize(500,500);
note1.setVisible(true);
try
if((command.equals("Open"))||(ae.getSource()==button1))
str4=" ";
FileDialog dialog=new FileDialog(this,"Open");
dialog.setVisible(true);
str1=dialog.getDirectory();
str2=dialog.getFile();
setTitle(str2);
str3=str1+str2;
File f=new File(str3);
FileInputStream fobj=new FileInputStream(f);
len=(int)f.length();
for(int j=0;j<len;j++)
char str5=(char)fobj.read();
str4=str4 + str5;
text.setText(str4);
this.text.setText(str4);
catch(IOException e)
try
if((command.equals("Save As..."))||(ae.getSource()==button2))
FileDialog dialog1=new FileDialog(this,"Save As",FileDialog.SAVE);
dialog1.setVisible(true);
str7=dialog1.getDirectory();
str8=dialog1.getFile();
str9=str7+str8;
str6=text.getText();
len1=str6.length();
byte buf[]=str6.getBytes();
File f1=new File(str9);
FileOutputStream fobj1=new FileOutputStream(f1);
for(int k=0;k<len1;k++)
fobj1.write(buf[k]);
fobj1.close();
this.setTitle(str8);
catch(IOException e){}
if(command.equals("Exit"))
System.exit(0);
if((command.equals("Cut"))||(ae.getSource()==button4))
str=text.getSelectedText();
i=text.getText().indexOf(str);
text.replaceRange(" ",i,i+str.length());
if((command.equals("Copy"))||(ae.getSource()==button3))
str=text.getSelectedText();
if((command.equals("Paste"))||(ae.getSource()==button5))
pos1=text.getCaretPosition();
text.insert(str,pos1);
if(command.equals("Delete"))
String msg=text.getSelectedText();
i=text.getText().indexOf(msg);
text.replaceRange(" ",i,i+msg.length());
if(command.equals("Font"))
MyFont m=new MyFont(this);
public static void main(String args[])
Notepro note = new Notepro("Untitled-Notepad");
note.setSize(500,500);
note.setVisible(true);
class MyWindowAdapter extends WindowAdapter
Notepro mynote;
MyWindowAdapter(Notepro mynote)
this.mynote=mynote;
public void windowClosing(WindowEvent we)
System.exit(0);
class MyFont extends Dialog implements ActionListener,ItemListener
GraphicsEnvironment ge;
java.awt.List l1,l2,l3;
Button b1,b2;
Font f1[];
String f[];
int i,j;
Notepro p;
TextField tf1,tf2,tf3;
Label ll1,ll2,ll3;
String fn;
int fs,fsize;
public MyFont(Notepro myno)
super(myno,"Font",true);
setLayout(null);
p=myno;
ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
l1=new java.awt.List();
l2=new java.awt.List();
l3=new java.awt.List();
b1=new Button("OK");
b2=new Button("CANCEL");
tf1=new TextField(10);
tf2=new TextField(10);
tf3=new TextField(10);
ll1=new Label("Font");
ll2=new Label("Font Style");
ll3=new Label("Size");
ll1.setBounds(20,60,100,20);
add(ll1);
tf1.setBounds(20,80,100,20);
add(tf1);
l1.setBounds(20,100,100,150);
add(l1);
ll2.setBounds(140,60,100,20);
add(ll2);
tf2.setBounds(140,80,100,20);
add(tf2);
l2.setBounds(140,100,100,150);
add(l2);
ll3.setBounds(260,60,100,20);
add(ll3);
tf3.setBounds(260,80,100,20);
add(tf3);
l3.setBounds(260,100,100,150);
add(l3);
b1.setBounds(380,70,80,20);
add(b1);
b2.setBounds(380,95,80,20);
add(b2);
f=ge.getAvailableFontFamilyNames();
for(i=0;i<f.length;i++)
l1.add(f);
l2.add("Regular");
l2.add("Bold");
l2.add("Italic");
l2.add("BoldItalic");
for(i=8;i<=72;i+=2)
l3.add(String.valueOf(i));
b2.addActionListener(this);
b1.addActionListener(this);
l1.addItemListener(this);
l2.addItemListener(this);
l3.addItemListener(this);
setSize(480,280);
setResizable(false);
setVisible(true);
public void actionPerformed(ActionEvent fe)
if(fe.getSource()==b2)
dispose();
if(fe.getSource()==b1)
p.text.setFont(new Font(fn,fs,fsize));
dispose();
public void itemStateChanged(ItemEvent ie)
if(ie.getSource()==l1)
tf1.setText(l1.getSelectedItem());
fn=tf1.getText();
if(ie.getSource()==l2)
tf2.setText(l2.getSelectedItem());
if(tf2.getText().equals("Bold"))
fs=Font.BOLD;
else
if(tf2.getText().equals("Italic"))
fs=Font.ITALIC;
else
if(tf2.getText().equals("BoldItalic"))
fs=Font.BOLD+Font.ITALIC;
else
fs=Font.PLAIN;
if(tf2.getText()=="")
tf2.setText("Regular");
fs=Font.PLAIN;
if(ie.getSource()==l3)
tf3.setText(l3.getSelectedItem());
fsize=Integer.parseInt(tf3.getText());
if(tf3.getText()=="")
fsize=8;swatschiks wrote:
i checked it again but the files were in c drive only...nwaz is my link "open.gif" ok? maybe the problem lies in the links? Can u suggest me smthng? M a newbee..so plz if u can b more specific...i wud b gr8ful...need d help urgentlyOne word of unasked for advice: Please avoid unnecessary abbreviations in your posts here. I recommend this for several reasons:
1) Programming is an exercise in precision. When you communicate here (or anywhere) about programming issues and questions, you want this communication to be as clear as possible to avoid any chance for ambiguity. I'd say at least half the answers here are requests for clarification. Let's avoid that.
2) For many here, English is not their first (or second or third) language. It's hard enough for them to understand what people are posting here much less if it's couched in obscure and non-standard abbreviations.
3) Extra letters don't cost anything here, so you might as well use them.
4) It makes the poster seem a bit immature and thus for some not worthy of help.
That being said, what are the full paths of: your image files, your class files, and what package is your program in?
In that same package, what happens if you compile and run this program?
import java.io.File;
public class WhereAreMyFiles
public static void main(String[] args)
File myFile = new File("Fubar.txt");
System.out.println(myFile.getAbsolutePath());
}Notice the output very closely because that's where Java is looking to find your image files.
Maybe you are looking for
-
[SOLVED]Simple file transfer between different os'es
Hi I'm searching for some kind of simple file transfer between different computers/os (mainly arch and windows) on local net, without I have to set up any samba/ftp server etc. It would be perfect if i could select a file I want to transfer and then
-
Ovi maps - is that really the fastest route?
I am using the Ovi maps through my N8. I recently travelled from Barrow to Newcastle and when I punched this into Ovi maps it said it would take over 3 hours. It never takes that long and when I looked at the details of the route it was not taking
-
Hi How can I do the following? I have 5 business areas defined in SAP. The 5th BA is not going to be running on SAP. Instead, we want to upload the G/L balances into SAP from its own legacy system at the end of every month/year. We will not mantain a
-
Unable to change data source at runtime
I have a simple Crystal Report based on a MS-SQL stored procedure that takes one parameter. I developed it against my dev database, so when I run the application, I want to point it at our production database, but no matter what I do, it always call
-
Cancel Distribution Point Reassignment Greyed Out
I executed a Reassign Distribution Point to a server and by default selected D$ as the share to copy to because all of our DP servers are setup on D: EXCEPT for this particular server which has D: as the CD-ROM and E: as the shared drive which is Als