From 4e7316886bcb8686f78f33ef691a9f91cb030379 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 3 Sep 2009 20:49:59 +0200 Subject: [PATCH] Adding the twelvemonkeys-imageio sub-project --- twelvemonkeys-imageio/batik/license.txt | 25 + twelvemonkeys-imageio/batik/pom.xml | 68 + .../imageio/plugins/svg/SVGImageReader.java | 553 ++++ .../plugins/svg/SVGImageReaderSpi.java | 159 + .../imageio/plugins/svg/SVGReadParam.java | 63 + .../imageio/plugins/tiff/TIFFImageReader.java | 189 ++ .../plugins/tiff/TIFFImageReaderSpi.java | 119 + .../imageio/plugins/tiff/TIFFImageWriter.java | 145 + .../plugins/tiff/TIFFImageWriterSpi.java | 100 + .../imageio/plugins/wmf/WMF.java | 46 + .../imageio/plugins/wmf/WMFImageReader.java | 136 + .../plugins/wmf/WMFImageReaderSpi.java | 122 + .../services/javax.imageio.spi.ImageReaderSpi | 3 + .../services/javax.imageio.spi.ImageWriterSpi | 1 + .../plugins/svg/SVGImageReaderTestCase.java | 78 + .../plugins/wmf/WMFImageReaderTestCase.java | 79 + .../src/test/resources/svg/batikLogo.svg | 218 ++ .../batik/src/test/resources/wmf/test.wmf | Bin 0 -> 8186 bytes twelvemonkeys-imageio/core/license.txt | 25 + twelvemonkeys-imageio/core/pom.xml | 16 + .../imageio/ImageReaderBase.java | 381 +++ .../imageio/ImageWriterBase.java | 158 + .../stream/BufferedImageInputStream.java | 171 + .../stream/ByteArrayImageInputStream.java | 56 + .../stream/ByteArrayImageInputStreamSpi.java | 36 + .../stream/URLImageInputStreamSpi.java | 84 + .../imageio/util/IIOInputStreamAdapter.java | 177 ++ .../imageio/util/IIOOutputStreamAdapter.java | 73 + .../twelvemonkeys/imageio/util/IIOUtil.java | 131 + .../util/IndexedImageTypeSpecifier.java | 41 + .../imageio/util/ProgressListenerBase.java | 94 + .../imageio/util/ReaderFileSuffixFilter.java | 98 + .../imageio/util/WriterFileSuffixFilter.java | 98 + .../BufferedImageInputStreamTestCase.java | 116 + .../ByteArrayImageInputStreamTestCase.java | 102 + .../util/IIOInputStreamAdapterTestCase.java | 140 + .../util/ImageReaderAbstractTestCase.java | 1373 ++++++++ .../util/ImageWriterAbstractTestCase.java | 322 ++ .../IndexedImageTypeSpecifierTestCase.java | 28 + .../core/src/test/resources/Thumbs-camera.db | Bin 0 -> 79360 bytes twelvemonkeys-imageio/core/todo.txt | 8 + twelvemonkeys-imageio/ico/license.txt | 25 + twelvemonkeys-imageio/ico/pom.xml | 29 + .../imageio/plugins/ico/BitmapDescriptor.java | 72 + .../imageio/plugins/ico/BitmapIndexed.java | 182 ++ .../imageio/plugins/ico/BitmapMask.java | 56 + .../imageio/plugins/ico/BitmapRGB.java | 48 + .../plugins/ico/BitmapUnsupported.java | 52 + .../imageio/plugins/ico/CURImageReader.java | 69 + .../plugins/ico/CURImageReaderSpi.java | 77 + .../imageio/plugins/ico/DIB.java | 66 + .../imageio/plugins/ico/DIBHeader.java | 197 ++ .../imageio/plugins/ico/Directory.java | 74 + .../imageio/plugins/ico/DirectoryEntry.java | 165 + .../imageio/plugins/ico/ICOImageReader.java | 709 +++++ .../plugins/ico/ICOImageReaderSpi.java | 94 + .../services/javax.imageio.spi.ImageReaderSpi | 2 + .../plugins/ico/CURImageReaderTestCase.java | 103 + .../plugins/ico/ICOImageReaderTestCase.java | 66 + .../ico/src/test/resources/cur/hand.cur | Bin 0 -> 326 bytes .../ico/src/test/resources/cur/zoom.cur | Bin 0 -> 326 bytes .../ico/src/test/resources/ico/JavaCup.ico | Bin 0 -> 25214 bytes .../ico/src/test/resources/ico/colors.ico | Bin 0 -> 115874 bytes .../ico/src/test/resources/ico/down.ico | Bin 0 -> 152405 bytes .../ico/src/test/resources/ico/favicon.ico | Bin 0 -> 766 bytes .../ico/src/test/resources/ico/joypad.ico | Bin 0 -> 26694 bytes twelvemonkeys-imageio/ico/todo.txt | 1 + twelvemonkeys-imageio/iff/license.txt | 25 + twelvemonkeys-imageio/iff/pom.xml | 32 + .../imageio/plugins/iff/BMHDChunk.java | 180 ++ .../imageio/plugins/iff/BODYChunk.java | 55 + .../imageio/plugins/iff/CAMGChunk.java | 76 + .../imageio/plugins/iff/CMAPChunk.java | 170 + .../imageio/plugins/iff/GRABChunk.java | 76 + .../imageio/plugins/iff/GenericChunk.java | 85 + .../imageio/plugins/iff/IFF.java | 68 + .../imageio/plugins/iff/IFFChunk.java | 58 + .../imageio/plugins/iff/IFFImageReader.java | 693 ++++ .../plugins/iff/IFFImageReaderSpi.java | 114 + .../imageio/plugins/iff/IFFImageWriter.java | 269 ++ .../plugins/iff/IFFImageWriterSpi.java | 76 + .../imageio/plugins/iff/IFFUtil.java | 255 ++ .../services/javax.imageio.spi.ImageReaderSpi | 1 + .../services/javax.imageio.spi.ImageWriterSpi | 1 + .../plugins/iff/IFFImageReaderTestCase.java | 85 + .../src/test/resources/iff/A4000T_HAM6.IFF | Bin 0 -> 113460 bytes .../src/test/resources/iff/A4000T_HAM8.IFF | Bin 0 -> 270026 bytes .../iff/src/test/resources/iff/Abyss.iff | Bin 0 -> 92840 bytes .../iff/src/test/resources/iff/AmigaAmiga.iff | Bin 0 -> 9130 bytes .../iff/src/test/resources/iff/AmigaBig.iff | Bin 0 -> 16052 bytes .../iff/src/test/resources/iff/survivor.iff | Bin 0 -> 315390 bytes .../iff/src/test/resources/iff/test.iff | Bin 0 -> 185091 bytes twelvemonkeys-imageio/iff/todo.txt | 4 + twelvemonkeys-imageio/jmagick/license.txt | 25 + twelvemonkeys-imageio/jmagick/pom.xml | 41 + .../plugins/jmagick/BMPImageReader.java | 42 + .../plugins/jmagick/BMPImageReaderSpi.java | 69 + .../plugins/jmagick/BMPImageWriter.java | 60 + .../plugins/jmagick/BMPImageWriterSpi.java | 55 + .../plugins/jmagick/GIFImageReader.java | 42 + .../plugins/jmagick/GIFImageReaderSpi.java | 65 + .../plugins/jmagick/GIFImageWriter.java | 64 + .../plugins/jmagick/GIFImageWriterSpi.java | 54 + .../plugins/jmagick/ICOImageReader.java | 42 + .../plugins/jmagick/ICOImageReaderSpi.java | 65 + .../plugins/jmagick/ICOImageWriter.java | 48 + .../plugins/jmagick/ICOImageWriterSpi.java | 54 + .../imageio/plugins/jmagick/JMagick.java | 83 + .../jmagick/JMagickImageReaderSpiSupport.java | 148 + .../jmagick/JMagickImageWriterSpiSupport.java | 122 + .../plugins/jmagick/JMagickReader.java | 335 ++ .../plugins/jmagick/JMagickWriter.java | 143 + .../plugins/jmagick/JPEG2KImageReader.java | 42 + .../plugins/jmagick/JPEG2KImageReaderSpi.java | 68 + .../plugins/jmagick/JPEG2KImageWriter.java | 65 + .../plugins/jmagick/JPEG2KImageWriterSpi.java | 54 + .../plugins/jmagick/JPEGImageReader.java | 42 + .../plugins/jmagick/JPEGImageReaderSpi.java | 67 + .../plugins/jmagick/JPEGImageWriter.java | 64 + .../plugins/jmagick/JPEGImageWriterSpi.java | 53 + .../plugins/jmagick/PCDImageReader.java | 42 + .../plugins/jmagick/PCDImageReaderSpi.java | 71 + .../plugins/jmagick/PCXImageReader.java | 42 + .../plugins/jmagick/PCXImageReaderSpi.java | 64 + .../plugins/jmagick/PCXImageWriter.java | 48 + .../plugins/jmagick/PCXImageWriterSpi.java | 54 + .../plugins/jmagick/PDBImageReader.java | 42 + .../plugins/jmagick/PDBImageReaderSpi.java | 66 + .../plugins/jmagick/PNGImageReader.java | 42 + .../plugins/jmagick/PNGImageReaderSpi.java | 67 + .../plugins/jmagick/PNGImageWriter.java | 64 + .../plugins/jmagick/PNGImageWriterSpi.java | 54 + .../plugins/jmagick/PNMImageReader.java | 42 + .../plugins/jmagick/PNMImageReaderSpi.java | 73 + .../plugins/jmagick/PSDImageReader.java | 42 + .../plugins/jmagick/PSDImageReaderSpi.java | 62 + .../plugins/jmagick/SWFImageReader.java | 42 + .../plugins/jmagick/SWFImageReaderSpi.java | 63 + .../plugins/jmagick/TIFFImageReader.java | 42 + .../plugins/jmagick/TIFFImageReaderSpi.java | 63 + .../plugins/jmagick/TIFFImageWriter.java | 53 + .../plugins/jmagick/TIFFImageWriterSpi.java | 54 + .../plugins/jmagick/TargaImageReader.java | 42 + .../plugins/jmagick/TargaImageReaderSpi.java | 76 + .../plugins/jmagick/TargaImageWriter.java | 48 + .../plugins/jmagick/TargaImageWriterSpi.java | 54 + .../plugins/jmagick/WBMPImageReader.java | 42 + .../plugins/jmagick/WBMPImageReaderSpi.java | 83 + .../plugins/jmagick/WBMPImageWriter.java | 48 + .../plugins/jmagick/WBMPImageWriterSpi.java | 55 + .../plugins/jmagick/WMFImageReader.java | 42 + .../plugins/jmagick/WMFImageReaderSpi.java | 65 + .../plugins/jmagick/XBMImageReader.java | 42 + .../plugins/jmagick/XBMImageReaderSpi.java | 62 + .../plugins/jmagick/XBMImageWriter.java | 48 + .../plugins/jmagick/XBMImageWriterSpi.java | 54 + .../plugins/jmagick/XPMImageReader.java | 42 + .../plugins/jmagick/XPMImageReaderSpi.java | 63 + .../plugins/jmagick/XPMImageWriter.java | 48 + .../plugins/jmagick/XPMImageWriterSpi.java | 54 + .../imageio/plugins/jmagick/package.html | 13 + .../services/javax.imageio.spi.ImageReaderSpi | 18 + .../services/javax.imageio.spi.ImageWriterSpi | 12 + .../plugins/jmagick/JMagickReader.properties | 6 + .../jmagick/BMPImageReaderTestCase.java | 85 + .../JMagickImageReaderAbstractTestCase.java | 44 + .../src/test/resources/bmp/Blue Lace 16.bmp | Bin 0 -> 1272 bytes .../src/test/resources/bmp/blauesglas_16.bmp | Bin 0 -> 199980 bytes .../bmp/blauesglas_16_bitmask444.bmp | Bin 0 -> 199996 bytes .../bmp/blauesglas_16_bitmask555.bmp | Bin 0 -> 199980 bytes .../bmp/blauesglas_16_bitmask565.bmp | Bin 0 -> 199996 bytes .../src/test/resources/bmp/blauesglas_24.bmp | Bin 0 -> 299280 bytes .../src/test/resources/bmp/blauesglas_32.bmp | Bin 0 -> 398580 bytes .../bmp/blauesglas_32_bitmask888.bmp | Bin 0 -> 398596 bytes .../bmp/blauesglas_32_bitmask888_reversed.bmp | Bin 0 -> 398596 bytes .../test/resources/bmp/blauesglas_4-IM.bmp | Bin 0 -> 19414 bytes .../src/test/resources/bmp/blauesglas_4.bmp | Bin 0 -> 50432 bytes .../src/test/resources/bmp/blauesglas_4.rle | Bin 0 -> 20416 bytes .../test/resources/bmp/blauesglas_8-IM.bmp | Bin 0 -> 64282 bytes .../src/test/resources/bmp/blauesglas_8.bmp | Bin 0 -> 101704 bytes .../src/test/resources/bmp/blauesglas_8.rle | Bin 0 -> 75812 bytes .../test/resources/bmp/blauesglas_gray.bmp | Bin 0 -> 101704 bytes .../test/resources/bmp/blauesglas_mono.bmp | Bin 0 -> 13304 bytes twelvemonkeys-imageio/jmagick/todo.txt | 5 + twelvemonkeys-imageio/pict/license.txt | 56 + twelvemonkeys-imageio/pict/pom.xml | 29 + .../imageio/plugins/pict/BitMapPattern.java | 79 + .../imageio/plugins/pict/PICT.java | 178 ++ .../imageio/plugins/pict/PICTImageReader.java | 2797 +++++++++++++++++ .../plugins/pict/PICTImageReaderSpi.java | 123 + .../imageio/plugins/pict/PICTImageWriter.java | 414 +++ .../plugins/pict/PICTImageWriterSpi.java | 77 + .../imageio/plugins/pict/PICTUtil.java | 264 ++ .../imageio/plugins/pict/Pattern.java | 64 + .../imageio/plugins/pict/PenState.java | 52 + .../imageio/plugins/pict/PixMapPattern.java | 54 + .../imageio/plugins/pict/QDTest.java | 130 + .../plugins/pict/QTBMPDecompressor.java | 94 + .../imageio/plugins/pict/QTDecompressor.java | 64 + .../plugins/pict/QTGenericDecompressor.java | 51 + .../plugins/pict/QTRAWDecompressor.java | 90 + .../imageio/plugins/pict/QuickDraw.java | 108 + .../plugins/pict/QuickDrawContext.java | 1053 +++++++ .../imageio/plugins/pict/QuickTime.java | 258 ++ .../imageio/plugins/pict/RGBColor.java | 45 + .../plugins/pict/TestPICTClippingApp.java | 191 ++ .../plugins/pict/TestPICTEagerDetect.java | 26 + .../imageio/plugins/pict/plpictdec.cpp | 1272 ++++++++ .../services/javax.imageio.spi.ImageReaderSpi | 1 + .../services/javax.imageio.spi.ImageWriterSpi | 1 + .../plugins/pict/PICTImageReaderTestCase.java | 60 + .../pict/src/test/resources/pict/1.pict | Bin 0 -> 354800 bytes .../pict/src/test/resources/pict/16bit.pict | Bin 0 -> 144064 bytes .../pict/src/test/resources/pict/2.pict | Bin 0 -> 289014 bytes .../pict/src/test/resources/pict/32bit.pict | Bin 0 -> 200412 bytes .../pict/src/test/resources/pict/4.pict | Bin 0 -> 3060 bytes .../pict/src/test/resources/pict/5.pict | Bin 0 -> 156214 bytes .../pict/src/test/resources/pict/6.pict | Bin 0 -> 636 bytes .../pict/src/test/resources/pict/7.pict | Bin 0 -> 3684 bytes .../pict/src/test/resources/pict/8.pict | Bin 0 -> 956 bytes .../pict/src/test/resources/pict/9.pict | Bin 0 -> 274154 bytes .../pict/src/test/resources/pict/BLK.PCT | Bin 0 -> 2364 bytes .../pict/src/test/resources/pict/BLU.PCT | Bin 0 -> 5748 bytes .../src/test/resources/pict/EDUC0052.pict | Bin 0 -> 290334 bytes .../pict/src/test/resources/pict/FLAG_B24.PCT | Bin 0 -> 4130 bytes .../pict/src/test/resources/pict/GRN.PCT | Bin 0 -> 6216 bytes .../pict/src/test/resources/pict/MARBLES.PCT | Bin 0 -> 3743422 bytes .../pict/src/test/resources/pict/RED.PCT | Bin 0 -> 6612 bytes .../pict/src/test/resources/pict/TRU256.PCT | Bin 0 -> 5628 bytes .../pict/src/test/resources/pict/VENUS.PCT | Bin 0 -> 35088 bytes .../pict/src/test/resources/pict/WHT.PCT | Bin 0 -> 2796 bytes .../pict/src/test/resources/pict/YEL.PCT | Bin 0 -> 5604 bytes .../pict/src/test/resources/pict/carte.pict | Bin 0 -> 179748 bytes .../pict/src/test/resources/pict/demo.pict | Bin 0 -> 27526 bytes .../pict/src/test/resources/pict/foo.pict | Bin 0 -> 66382 bytes .../pict/src/test/resources/pict/food.pct | Bin 0 -> 83930 bytes .../pict/src/test/resources/pict/mire16.pict | Bin 0 -> 1060 bytes .../pict/src/test/resources/pict/mire32.pict | Bin 0 -> 1362 bytes .../pict/src/test/resources/pict/oom.pict | Bin 0 -> 2468 bytes .../pict/src/test/resources/pict/qt_bmp.pict | Bin 0 -> 993896 bytes .../pict/src/test/resources/pict/qt_jpeg.pict | Bin 0 -> 38072 bytes .../pict/src/test/resources/pict/qt_mire.pict | Bin 0 -> 2566 bytes .../pict/src/test/resources/pict/qt_png.pict | Bin 0 -> 271494 bytes .../pict/src/test/resources/pict/qt_tiff.pict | Bin 0 -> 1153344 bytes .../pict/src/test/resources/pict/test.pct | Bin 0 -> 178306 bytes .../pict/src/test/resources/pict/u2.pict | Bin 0 -> 77166 bytes twelvemonkeys-imageio/pom.xml | 115 + twelvemonkeys-imageio/psd/license.txt | 25 + twelvemonkeys-imageio/psd/pom.xml | 31 + .../imageio/plugins/psd/CMYKColorSpace.java | 112 + .../imageio/plugins/psd/ICCProfile.java | 78 + .../imageio/plugins/psd/PSD.java | 544 ++++ .../plugins/psd/PSDAlphaChannelInfo.java | 67 + .../imageio/plugins/psd/PSDChannelInfo.java | 61 + .../psd/PSDChannelSourceDestinationRange.java | 69 + .../imageio/plugins/psd/PSDColorData.java | 86 + .../imageio/plugins/psd/PSDDisplayInfo.java | 120 + .../imageio/plugins/psd/PSDEXIF1Data.java | 327 ++ .../plugins/psd/PSDGlobalLayerMask.java | 79 + .../imageio/plugins/psd/PSDHeader.java | 133 + .../imageio/plugins/psd/PSDImageReader.java | 575 ++++ .../plugins/psd/PSDImageReaderSpi.java | 92 + .../imageio/plugins/psd/PSDImageResource.java | 168 + .../plugins/psd/PSDLayerBlendMode.java | 117 + .../imageio/plugins/psd/PSDLayerInfo.java | 133 + .../imageio/plugins/psd/PSDLayerMaskData.java | 136 + .../imageio/plugins/psd/PSDPrintFlags.java | 58 + .../plugins/psd/PSDPrintFlagsInformation.java | 47 + .../imageio/plugins/psd/PSDReader.java | 555 ++++ .../plugins/psd/PSDResolutionInfo.java | 126 + .../imageio/plugins/psd/PSDThumbnail.java | 86 + .../imageio/plugins/psd/PSDUtil.java | 94 + .../imageio/plugins/psd/PSDXMPData.java | 60 + .../imageio/plugins/psd/YCbCrColorSpace.java | 122 + .../services/javax.imageio.spi.ImageReaderSpi | 1 + .../plugins/psd/PSDImageReaderTestCase.java | 68 + .../psd/AlphaChannelSample_720x480.psd | Bin 0 -> 353955 bytes .../psd/src/test/resources/psd/MARBLES.PSD | Bin 0 -> 3776903 bytes .../psd/src/test/resources/psd/buttons.psd | Bin 0 -> 17892 bytes .../psd/src/test/resources/psd/circles.psd | Bin 0 -> 123138 bytes .../src/test/resources/psd/cmyk_16bits.psd | Bin 0 -> 2777598 bytes .../psd/src/test/resources/psd/cmyk_8bits.psd | Bin 0 -> 1540489 bytes .../psd/src/test/resources/psd/coral_fish.psd | Bin 0 -> 656733 bytes .../resources/psd/escenic-liquid-logo.psd | Bin 0 -> 823078 bytes .../src/test/resources/psd/jugware-icon.psd | Bin 0 -> 55951 bytes .../src/test/resources/psd/photoshopping.psd | Bin 0 -> 890259 bytes .../src/test/resources/psd/test_bitmap.psd | Bin 0 -> 64545 bytes .../psd/src/test/resources/psd/test_gray.psd | Bin 0 -> 561444 bytes .../src/test/resources/psd/test_gray16.psd | Bin 0 -> 1247400 bytes .../src/test/resources/psd/test_indexed.psd | Bin 0 -> 294830 bytes .../src/test/resources/psd/test_original.psb | Bin 0 -> 824900 bytes .../src/test/resources/psd/test_original.psd | Bin 0 -> 821878 bytes .../psd/src/test/resources/psd/transp.psd | Bin 0 -> 204394 bytes twelvemonkeys-imageio/psd/todo.txt | 5 + twelvemonkeys-imageio/thumbsdb/license.txt | 25 + twelvemonkeys-imageio/thumbsdb/pom.xml | 31 + .../imageio/plugins/thumbsdb/Catalog.java | 259 ++ .../plugins/thumbsdb/ThumbsDBImageReader.java | 411 +++ .../thumbsdb/ThumbsDBImageReaderSpi.java | 173 + .../services/javax.imageio.spi.ImageReaderSpi | 1 + .../thumbsdb/ThumbsDBImageReaderTestCase.java | 114 + .../test/resources/thumbsdb/Thumbs-camera.db | Bin 0 -> 79360 bytes twelvemonkeys-imageio/thumbsdb/todo.txt | 14 + twelvemonkeys-imageio/todo.txt | 11 + 304 files changed, 27557 insertions(+) create mode 100755 twelvemonkeys-imageio/batik/license.txt create mode 100755 twelvemonkeys-imageio/batik/pom.xml create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGReadParam.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMF.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReader.java create mode 100755 twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi create mode 100755 twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi create mode 100755 twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/batik/src/test/resources/svg/batikLogo.svg create mode 100755 twelvemonkeys-imageio/batik/src/test/resources/wmf/test.wmf create mode 100755 twelvemonkeys-imageio/core/license.txt create mode 100755 twelvemonkeys-imageio/core/pom.xml create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageWriterBase.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStream.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStream.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapter.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOOutputStreamAdapter.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOUtil.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifier.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ProgressListenerBase.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ReaderFileSuffixFilter.java create mode 100755 twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/WriterFileSuffixFilter.java create mode 100755 twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStreamTestCase.java create mode 100755 twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamTestCase.java create mode 100755 twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapterTestCase.java create mode 100755 twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java create mode 100755 twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageWriterAbstractTestCase.java create mode 100755 twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifierTestCase.java create mode 100755 twelvemonkeys-imageio/core/src/test/resources/Thumbs-camera.db create mode 100755 twelvemonkeys-imageio/core/todo.txt create mode 100755 twelvemonkeys-imageio/ico/license.txt create mode 100755 twelvemonkeys-imageio/ico/pom.xml create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapDescriptor.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapIndexed.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapMask.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapRGB.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapUnsupported.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReader.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIB.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIBHeader.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/Directory.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DirectoryEntry.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReader.java create mode 100755 twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/ico/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi create mode 100755 twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/ico/src/test/resources/cur/hand.cur create mode 100755 twelvemonkeys-imageio/ico/src/test/resources/cur/zoom.cur create mode 100755 twelvemonkeys-imageio/ico/src/test/resources/ico/JavaCup.ico create mode 100755 twelvemonkeys-imageio/ico/src/test/resources/ico/colors.ico create mode 100755 twelvemonkeys-imageio/ico/src/test/resources/ico/down.ico create mode 100755 twelvemonkeys-imageio/ico/src/test/resources/ico/favicon.ico create mode 100755 twelvemonkeys-imageio/ico/src/test/resources/ico/joypad.ico create mode 100755 twelvemonkeys-imageio/ico/todo.txt create mode 100755 twelvemonkeys-imageio/iff/license.txt create mode 100755 twelvemonkeys-imageio/iff/pom.xml create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriter.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFUtil.java create mode 100755 twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi create mode 100755 twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi create mode 100755 twelvemonkeys-imageio/iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/iff/src/test/resources/iff/A4000T_HAM6.IFF create mode 100755 twelvemonkeys-imageio/iff/src/test/resources/iff/A4000T_HAM8.IFF create mode 100755 twelvemonkeys-imageio/iff/src/test/resources/iff/Abyss.iff create mode 100755 twelvemonkeys-imageio/iff/src/test/resources/iff/AmigaAmiga.iff create mode 100755 twelvemonkeys-imageio/iff/src/test/resources/iff/AmigaBig.iff create mode 100755 twelvemonkeys-imageio/iff/src/test/resources/iff/survivor.iff create mode 100755 twelvemonkeys-imageio/iff/src/test/resources/iff/test.iff create mode 100755 twelvemonkeys-imageio/iff/todo.txt create mode 100755 twelvemonkeys-imageio/jmagick/license.txt create mode 100755 twelvemonkeys-imageio/jmagick/pom.xml create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagick.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderSpiSupport.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageWriterSpiSupport.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReader.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriter.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/package.html create mode 100755 twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi create mode 100755 twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi create mode 100755 twelvemonkeys-imageio/jmagick/src/main/resources/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.properties create mode 100755 twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderAbstractTestCase.java create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/Blue Lace 16.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_16.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_16_bitmask444.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_16_bitmask555.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_16_bitmask565.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_24.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32_bitmask888.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32_bitmask888_reversed.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_4-IM.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_4.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_4.rle create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_8-IM.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_8.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_8.rle create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_gray.bmp create mode 100755 twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_mono.bmp create mode 100755 twelvemonkeys-imageio/jmagick/todo.txt create mode 100755 twelvemonkeys-imageio/pict/license.txt create mode 100755 twelvemonkeys-imageio/pict/pom.xml create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMapPattern.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICT.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriter.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriterSpi.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTUtil.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/Pattern.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PenState.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMapPattern.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QDTest.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QTBMPDecompressor.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QTDecompressor.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QTGenericDecompressor.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QTRAWDecompressor.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QuickDraw.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QuickDrawContext.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QuickTime.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/RGBColor.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/TestPICTClippingApp.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/TestPICTEagerDetect.java create mode 100755 twelvemonkeys-imageio/pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/plpictdec.cpp create mode 100755 twelvemonkeys-imageio/pict/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi create mode 100755 twelvemonkeys-imageio/pict/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi create mode 100755 twelvemonkeys-imageio/pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/1.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/16bit.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/2.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/32bit.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/4.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/5.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/6.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/7.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/8.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/9.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/BLK.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/BLU.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/EDUC0052.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/FLAG_B24.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/GRN.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/MARBLES.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/RED.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/TRU256.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/VENUS.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/WHT.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/YEL.PCT create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/carte.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/demo.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/foo.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/food.pct create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/mire16.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/mire32.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/oom.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/qt_bmp.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/qt_jpeg.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/qt_mire.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/qt_png.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/qt_tiff.pict create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/test.pct create mode 100755 twelvemonkeys-imageio/pict/src/test/resources/pict/u2.pict create mode 100644 twelvemonkeys-imageio/pom.xml create mode 100755 twelvemonkeys-imageio/psd/license.txt create mode 100755 twelvemonkeys-imageio/psd/pom.xml create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/CMYKColorSpace.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/ICCProfile.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSD.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDAlphaChannelInfo.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDChannelInfo.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDChannelSourceDestinationRange.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDColorData.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDDisplayInfo.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDEXIF1Data.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDGlobalLayerMask.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDHeader.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageResource.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDLayerBlendMode.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDLayerInfo.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDLayerMaskData.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDPrintFlags.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDPrintFlagsInformation.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDReader.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDResolutionInfo.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDThumbnail.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDUtil.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDXMPData.java create mode 100755 twelvemonkeys-imageio/psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/YCbCrColorSpace.java create mode 100755 twelvemonkeys-imageio/psd/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi create mode 100755 twelvemonkeys-imageio/psd/src/test/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/AlphaChannelSample_720x480.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/MARBLES.PSD create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/buttons.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/circles.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/cmyk_16bits.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/cmyk_8bits.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/coral_fish.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/escenic-liquid-logo.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/jugware-icon.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/photoshopping.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/test_bitmap.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/test_gray.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/test_gray16.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/test_indexed.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/test_original.psb create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/test_original.psd create mode 100755 twelvemonkeys-imageio/psd/src/test/resources/psd/transp.psd create mode 100755 twelvemonkeys-imageio/psd/todo.txt create mode 100755 twelvemonkeys-imageio/thumbsdb/license.txt create mode 100755 twelvemonkeys-imageio/thumbsdb/pom.xml create mode 100755 twelvemonkeys-imageio/thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/Catalog.java create mode 100755 twelvemonkeys-imageio/thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBImageReader.java create mode 100755 twelvemonkeys-imageio/thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBImageReaderSpi.java create mode 100755 twelvemonkeys-imageio/thumbsdb/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi create mode 100755 twelvemonkeys-imageio/thumbsdb/src/test/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBImageReaderTestCase.java create mode 100755 twelvemonkeys-imageio/thumbsdb/src/test/resources/thumbsdb/Thumbs-camera.db create mode 100755 twelvemonkeys-imageio/thumbsdb/todo.txt create mode 100755 twelvemonkeys-imageio/todo.txt diff --git a/twelvemonkeys-imageio/batik/license.txt b/twelvemonkeys-imageio/batik/license.txt new file mode 100755 index 00000000..2d8ee79c --- /dev/null +++ b/twelvemonkeys-imageio/batik/license.txt @@ -0,0 +1,25 @@ +Copyright (c) 2009, Harald Kuhr +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name "TwelveMonkeys" nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/twelvemonkeys-imageio/batik/pom.xml b/twelvemonkeys-imageio/batik/pom.xml new file mode 100755 index 00000000..c76f6aa7 --- /dev/null +++ b/twelvemonkeys-imageio/batik/pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + com.twelvemonkeys.imageio + twelvemonkeys-imageio-batik + 2.1 + TwelveMonkeys ImageIO Batik Plugin + + Batik Home page + for more information.]]> + + + + twelvemonkeys-imageio + com.twelvemonkeys + 2.1 + + + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + tests + + + + batik + batik-rasterizer-ext + 1.6-1 + provided + + + + batik + batik-svggen + 1.6-1 + provided + + + + batik + batik-transcoder + 1.6-1 + provided + + + + + fop + fop + + + + + \ No newline at end of file diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java new file mode 100755 index 00000000..76305468 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReader.java @@ -0,0 +1,553 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.svg; + +import com.twelvemonkeys.image.ImageUtil; +import com.twelvemonkeys.imageio.ImageReaderBase; +import com.twelvemonkeys.imageio.util.IIOUtil; +import org.apache.batik.bridge.*; +import org.apache.batik.dom.svg.SVGDOMImplementation; +import org.apache.batik.dom.svg.SVGOMDocument; +import org.apache.batik.dom.util.DOMUtilities; +import org.apache.batik.ext.awt.image.GraphicsUtil; +import org.apache.batik.gvt.CanvasGraphicsNode; +import org.apache.batik.gvt.GraphicsNode; +import org.apache.batik.gvt.renderer.ConcreteImageRendererFactory; +import org.apache.batik.gvt.renderer.ImageRenderer; +import org.apache.batik.gvt.renderer.ImageRendererFactory; +import org.apache.batik.transcoder.*; +import org.apache.batik.transcoder.image.ImageTranscoder; +import org.apache.batik.util.ParsedURL; +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.Document; +import org.w3c.dom.svg.SVGSVGElement; + +import javax.imageio.IIOException; +import javax.imageio.ImageReadParam; +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.awt.geom.AffineTransform; +import java.awt.geom.Dimension2D; +import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Iterator; +import java.util.Map; + +/** + * Image reader for SVG document fragments. + *

+ * + * @author Harald Kuhr + * @author Inpspired by code from the Batik Team + * @version $Id: $ + * @see batik-dev + */ +public class SVGImageReader extends ImageReaderBase { + private Rasterizer mRasterizer = new Rasterizer(); + + /** + * Creates an {@code SVGImageReader}. + * + * @param pProvider the provider + */ + public SVGImageReader(ImageReaderSpi pProvider) { + super(pProvider); + } + + protected void resetMembers() { + } + + @Override + public void dispose() { + super.dispose(); + mRasterizer = null; + } + + @Override + public void setInput(Object pInput, boolean pSeekForwardOnly, boolean pIgnoreMetadata) { + super.setInput(pInput, pSeekForwardOnly, pIgnoreMetadata); + + if (mImageInput != null) { + TranscoderInput input = new TranscoderInput(IIOUtil.createStreamAdapter(mImageInput)); + mRasterizer.setInput(input); + } + } + + public BufferedImage read(int pIndex, ImageReadParam pParam) throws IOException { + checkBounds(pIndex); + + String baseURI = null; + + if (pParam instanceof SVGReadParam) { + SVGReadParam svgParam = (SVGReadParam) pParam; + // Set IIOParams as hints + // Note: The cast to Map invokes a different method that preserves + // unset defaults, DO NOT REMOVE! + mRasterizer.setTranscodingHints((Map) paramsToHints(svgParam)); + + // Get the base URI (not a hint) + baseURI = svgParam.getBaseURI(); + } + + // Read in the image, using the Batik Transcoder + try { + processImageStarted(pIndex); + + mRasterizer.mTranscoderInput.setURI(baseURI); + BufferedImage image = mRasterizer.getImage(); + + processImageComplete(); + + return image; + } + catch (TranscoderException e) { + throw new IIOException(e.getMessage(), e); + } + } + + private TranscodingHints paramsToHints(SVGReadParam pParam) throws IOException { + TranscodingHints hints = new TranscodingHints(); + // Note: We must allow generic ImageReadParams, so converting to + // TanscodingHints should be done outside the SVGReadParam class. + + // Set dimensions + Dimension size = pParam.getSourceRenderSize(); + Dimension origSize = new Dimension(getWidth(0), getHeight(0)); + if (size == null) { + // SVG is not a pixel based format, but we'll scale it, according to + // the subsampling for compatibility + size = getSourceRenderSizeFromSubsamping(pParam, origSize); + } + + if (size != null) { + hints.put(ImageTranscoder.KEY_WIDTH, new Float(size.getWidth())); + hints.put(ImageTranscoder.KEY_HEIGHT, new Float(size.getHeight())); + } + + // Set area of interest + Rectangle region = pParam.getSourceRegion(); + if (region != null) { + hints.put(ImageTranscoder.KEY_AOI, region); + + // Avoid that the batik transcoder scales the AOI up to original image size + if (size == null) { + hints.put(ImageTranscoder.KEY_WIDTH, new Float(region.getWidth())); + hints.put(ImageTranscoder.KEY_HEIGHT, new Float(region.getHeight())); + } + else { + // Need to resize here... + double xScale = size.getWidth() / origSize.getWidth(); + double yScale = size.getHeight() / origSize.getHeight(); + + hints.put(ImageTranscoder.KEY_WIDTH, new Float(region.getWidth() * xScale)); + hints.put(ImageTranscoder.KEY_HEIGHT, new Float(region.getHeight() * yScale)); + } + } + else if (size != null) { + // Allow non-uniform scaling + hints.put(ImageTranscoder.KEY_AOI, new Rectangle(origSize)); + } + + // Background color + Paint bg = pParam.getBackgroundColor(); + if (bg != null) { + hints.put(ImageTranscoder.KEY_BACKGROUND_COLOR, bg); + } + + return hints; + } + + private Dimension getSourceRenderSizeFromSubsamping(ImageReadParam pParam, Dimension pOrigSize) { + if (pParam.getSourceXSubsampling() > 1 || pParam.getSourceYSubsampling() > 1) { + return new Dimension((int) (pOrigSize.width / (float) pParam.getSourceXSubsampling()), + (int) (pOrigSize.height / (float) pParam.getSourceYSubsampling())); + } + return null; + } + + public ImageReadParam getDefaultReadParam() { + return new SVGReadParam(); + } + + public int getWidth(int pIndex) throws IOException { + checkBounds(pIndex); + try { + return mRasterizer.getDefaultWidth(); + } + catch (TranscoderException e) { + throw new IIOException(e.getMessage(), e); + } + } + + public int getHeight(int pIndex) throws IOException { + checkBounds(pIndex); + try { + return mRasterizer.getDefaultHeight(); + } + catch (TranscoderException e) { + throw new IIOException(e.getMessage(), e); + } + } + + public Iterator getImageTypes(int imageIndex) throws IOException { + throw new UnsupportedOperationException("Method getImageTypes not implemented");// TODO: Implement + } + + /** + * An image transcoder that stores the resulting image. + *

+ * NOTE: This class includes a lot of copy and paste code from the Batik classes + * and needs major refactoring! + */ + private class Rasterizer extends SVGAbstractTranscoder /*ImageTranscoder*/ { + + BufferedImage mImage = null; + private TranscoderInput mTranscoderInput; + private float mDefaultWidth; + private float mDefaultHeight; + private boolean mInit = false; + private SVGOMDocument mDocument; + private String mURI; + private GraphicsNode mGVTRoot; + private TranscoderException mException; + private BridgeContext mContext; + + public BufferedImage createImage(int w, int h) { + return ImageUtil.createTransparent(w, h);//, BufferedImage.TYPE_INT_ARGB); + } + + // This is cheating... We don't fully transcode after all + protected void transcode(Document document, String uri, TranscoderOutput output) throws TranscoderException { + // Sets up root, curTxf & curAoi + // ---- + if ((document != null) && + !(document.getImplementation() instanceof SVGDOMImplementation)) { + DOMImplementation impl; + impl = (DOMImplementation) hints.get(KEY_DOM_IMPLEMENTATION); + // impl = ExtensibleSVGDOMImplementation.getDOMImplementation(); + document = DOMUtilities.deepCloneDocument(document, impl); + if (uri != null) { + try { + URL url = new URL(uri); + ((SVGOMDocument) document).setURLObject(url); + } + catch (MalformedURLException ignore) { + } + } + } + + ctx = createBridgeContext(); + SVGOMDocument svgDoc = (SVGOMDocument) document; + //SVGSVGElement root = svgDoc.getRootElement(); + + // build the GVT tree + builder = new GVTBuilder(); + // flag that indicates if the document is dynamic + boolean isDynamic = + (hints.containsKey(KEY_EXECUTE_ONLOAD) && + (Boolean) hints.get(KEY_EXECUTE_ONLOAD) && + BaseScriptingEnvironment.isDynamicDocument(ctx, svgDoc)); + + if (isDynamic) { + ctx.setDynamicState(BridgeContext.DYNAMIC); + } + + // Modified code below: + GraphicsNode root = null; + try { + root = builder.build(ctx, svgDoc); + } + catch (BridgeException ex) { + // Note: This might fail, but we STILL have the dimensions we need + // However, we need to reparse later... + //throw new TranscoderException(ex); + mException = new TranscoderException(ex); + } + + // ---- + + // get the 'width' and 'height' attributes of the SVG document + Dimension2D docSize = ctx.getDocumentSize(); + if (docSize != null) { + mDefaultWidth = (float) docSize.getWidth(); + mDefaultHeight = (float) docSize.getHeight(); + } + else { + mDefaultWidth = 200; + mDefaultHeight = 200; + } + + // Hack to work around exception above + if (root != null) { + mGVTRoot = root; + } + mDocument = svgDoc; + mURI = uri; + + //ctx.dispose(); + // Hack to avoid the transcode method wacking my context... + mContext = ctx; + ctx = null; + } + + private BufferedImage readImage() throws TranscoderException { + init(); + + if (abortRequested()) { + processReadAborted(); + return null; + } + processImageProgress(10f); + + + // Hacky workaround below... + if (mGVTRoot == null) { + // Try to reparse, if we had no URI last time... + if (mURI != mTranscoderInput.getURI()) { + try { + mContext.dispose(); + mDocument.setURLObject(new URL(mTranscoderInput.getURI())); + transcode(mDocument, mTranscoderInput.getURI(), null); + } + catch (MalformedURLException ignore) { + // Ignored + } + } + + if (mGVTRoot == null) { + throw mException; + } + } + ctx = mContext; + // /Hacky + if (abortRequested()) { + processReadAborted(); + return null; + } + processImageProgress(20f); + + // -- -- + SVGSVGElement root = mDocument.getRootElement(); + // ---- + + + // ---- + setImageSize(mDefaultWidth, mDefaultHeight); + + if (abortRequested()) { + processReadAborted(); + return null; + } + processImageProgress(40f); + + // compute the preserveAspectRatio matrix + AffineTransform Px; + String ref = new ParsedURL(mURI).getRef(); + + try { + Px = ViewBox.getViewTransform(ref, root, width, height); + + } + catch (BridgeException ex) { + throw new TranscoderException(ex); + } + + if (Px.isIdentity() && (width != mDefaultWidth || height != mDefaultHeight)) { + // The document has no viewBox, we need to resize it by hand. + // we want to keep the document size ratio + float xscale, yscale; + xscale = width / mDefaultWidth; + yscale = height / mDefaultHeight; + float scale = Math.min(xscale, yscale); + Px = AffineTransform.getScaleInstance(scale, scale); + } + // take the AOI into account if any + if (hints.containsKey(KEY_AOI)) { + Rectangle2D aoi = (Rectangle2D) hints.get(KEY_AOI); + // transform the AOI into the image's coordinate system + aoi = Px.createTransformedShape(aoi).getBounds2D(); + AffineTransform Mx = new AffineTransform(); + double sx = width / aoi.getWidth(); + double sy = height / aoi.getHeight(); + Mx.scale(sx, sy); + double tx = -aoi.getX(); + double ty = -aoi.getY(); + Mx.translate(tx, ty); + // take the AOI transformation matrix into account + // we apply first the preserveAspectRatio matrix + Px.preConcatenate(Mx); + curAOI = aoi; + } + else { + curAOI = new Rectangle2D.Float(0, 0, width, height); + } + + if (abortRequested()) { + processReadAborted(); + return null; + } + processImageProgress(50f); + + CanvasGraphicsNode cgn = getCanvasGraphicsNode(mGVTRoot); + if (cgn != null) { + cgn.setViewingTransform(Px); + curTxf = new AffineTransform(); + } + else { + curTxf = Px; + } + + try { + // dispatch an 'onload' event if needed + if (ctx.isDynamic()) { + BaseScriptingEnvironment se; + se = new BaseScriptingEnvironment(ctx); + se.loadScripts(); + se.dispatchSVGLoadEvent(); + } + } + catch (BridgeException ex) { + throw new TranscoderException(ex); + } + + this.root = mGVTRoot; + // ---- + + // NOTE: The code below is copied and pasted from the Batik + // ImageTranscoder class' transcode() method: + + // prepare the image to be painted + int w = (int) (width + 0.5); + int h = (int) (height + 0.5); + + // paint the SVG document using the bridge package + // create the appropriate renderer + ImageRendererFactory rendFactory = new ConcreteImageRendererFactory(); + // ImageRenderer renderer = rendFactory.createDynamicImageRenderer(); + ImageRenderer renderer = rendFactory.createStaticImageRenderer(); + renderer.updateOffScreen(w, h); + renderer.setTransform(curTxf); + renderer.setTree(this.root); + this.root = null; // We're done with it... + + if (abortRequested()) { + processReadAborted(); + return null; + } + processImageProgress(75f); + + try { + // now we are sure that the aoi is the image size + Shape raoi = new Rectangle2D.Float(0, 0, width, height); + // Warning: the renderer's AOI must be in user space + renderer.repaint(curTxf.createInverse(). + createTransformedShape(raoi)); + // NOTE: repaint above cause nullpointer exception with fonts..??? + + + BufferedImage rend = renderer.getOffScreen(); + renderer = null; // We're done with it... + + BufferedImage dest = createImage(w, h); + + Graphics2D g2d = GraphicsUtil.createGraphics(dest); + try { + if (hints.containsKey(ImageTranscoder.KEY_BACKGROUND_COLOR)) { + Paint bgcolor = (Paint) hints.get(ImageTranscoder.KEY_BACKGROUND_COLOR); + g2d.setComposite(AlphaComposite.SrcOver); + g2d.setPaint(bgcolor); + g2d.fillRect(0, 0, w, h); + } + if (rend != null) { // might be null if the svg document is empty + g2d.drawRenderedImage(rend, new AffineTransform()); + } + } + finally { + if (g2d != null) { + g2d.dispose(); + } + } + + if (abortRequested()) { + processReadAborted(); + return null; + } + processImageProgress(99f); + + return dest; + //writeImage(dest, output); + } + catch (Exception ex) { + throw new TranscoderException(ex.getMessage(), ex); + } + finally { + if (mContext != null) { + mContext.dispose(); + } + } + } + + private synchronized void init() throws TranscoderException { + if (!mInit) { + if (mTranscoderInput == null) { + throw new IllegalStateException("input == null"); + } + + mInit = true; + + super.transcode(mTranscoderInput, null); + } + } + + private BufferedImage getImage() throws TranscoderException { + if (mImage == null) { + mImage = readImage(); + } + return mImage; + } + + protected int getDefaultWidth() throws TranscoderException { + init(); + return (int) (mDefaultWidth + 0.5); + } + + protected int getDefaultHeight() throws TranscoderException { + init(); + return (int) (mDefaultHeight + 0.5); + } + + public void setInput(TranscoderInput pInput) { + mTranscoderInput = pInput; + } + } +} diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderSpi.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderSpi.java new file mode 100755 index 00000000..3b536f05 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderSpi.java @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.svg; + +import com.twelvemonkeys.lang.SystemUtil; +import com.twelvemonkeys.imageio.util.IIOUtil; + +import javax.imageio.ImageReader; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.spi.ServiceRegistry; +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * SVGImageReaderSpi + *

+ * + * @author Harald Kuhr + * @version $Id: SVGImageReaderSpi.java,v 1.1 2003/12/02 16:45:00 haku Exp $ + */ +public class SVGImageReaderSpi extends ImageReaderSpi { + + private final static boolean SVG_READER_AVAILABLE = SystemUtil.isClassAvailable("com.twelvemonkeys.imageio.plugins.svg.SVGImageReader"); + + /** + * Creates an SVGImageReaderSpi + */ + public SVGImageReaderSpi() { + super( + "TwelveMonkeys", // Vendor name + "2.0", // Version + SVG_READER_AVAILABLE ? new String[]{"svg", "SVG"} : new String[]{""}, // Names + SVG_READER_AVAILABLE ? new String[]{"svg"} : null, // Suffixes + SVG_READER_AVAILABLE ? new String[]{"image/svg", "image/x-svg", "image/svg+xml", "image/svg-xml"} : null, // Mime-types + "com.twelvemonkeys.imageio.plugins.svg.SVGImageReader", // Reader class name + ImageReaderSpi.STANDARD_INPUT_TYPE, // Output types + null, // Writer SPI names + true, // Supports standard stream metadata format + null, // Native stream metadata format name + null, // Native stream metadata format class name + null, // Extra stream metadata format names + null, // Extra stream metadata format class names + true, // Supports standard image metadata format + null, // Native image metadata format name + null, // Native image metadata format class name + null, // Extra image metadata format names + null // Extra image metadata format class names + ); + } + + public boolean canDecodeInput(Object pSource) throws IOException { + return pSource instanceof ImageInputStream && SVG_READER_AVAILABLE && canDecode((ImageInputStream) pSource); + } + + private static boolean canDecode(ImageInputStream pInput) throws IOException { + // NOTE: This test is quite quick as it does not involve any parsing, + // however it requires the doctype to be "svg", which may not be correct + // in all cases... + try { + pInput.mark(); + + // TODO: This is may not be ok for non-UTF/iso-latin encodings... + // TODO: Use an XML (encoding) aware Reader instance instead + // Need to figure out pretty fast if this is XML or not + int b; + while (Character.isWhitespace((char) (b = pInput.read()))) { + // Skip over leading WS + } + + if (!((b == '<') && (pInput.read() == '?') && (pInput.read() == 'x') && (pInput.read() == 'm') + && (pInput.read() == 'l'))) { + return false; + } + + // Okay, we have XML. But, is it really SVG? + boolean docTypeFound = false; + while (!docTypeFound) { + while (pInput.read() != '<') { + // Skip over, until begin tag + } + + // If this is not a comment, or the DOCTYPE declaration, the doc + // has no DOCTYPE and it can't be svg + if (pInput.read() != '!') { + return false; + } + + // There might be comments before the doctype, unfortunately... + // If next is "--", this is a comment + if ((b = pInput.read()) == '-' && pInput.read() == '-') { + while (!(pInput.read() == '-' && pInput.read() == '-' && pInput.read() == '>')) { + // Skip until end of comment + } + } + + // If we are lucky, this is DOCTYPE declaration + if (b == 'D' && pInput.read() == 'O' && pInput.read() == 'C' + && pInput.read() == 'T' && pInput.read() == 'Y' && pInput.read() == 'P' + && pInput.read() == 'E') { + docTypeFound = true; + while (Character.isWhitespace((char) (b = pInput.read()))) { + // Skip over WS + } + if (b == 's' && pInput.read() == 'v' && pInput.read() == 'g') { + //System.out.println("It's svg!"); + return true; + } + } + } + return false; + } + finally { + pInput.reset(); + } + } + + + public ImageReader createReaderInstance(Object extension) throws IOException { + return new SVGImageReader(this); + } + + public String getDescription(Locale locale) { + return "Scaleable Vector Graphics (SVG) format image reader"; + } + + @Override + public void onRegistration(ServiceRegistry registry, Class category) { + if (!SVG_READER_AVAILABLE) { + IIOUtil.deregisterProvider(registry, this, category); + } + }} + diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGReadParam.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGReadParam.java new file mode 100755 index 00000000..a4ec26f4 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/svg/SVGReadParam.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.svg; + +import javax.imageio.ImageReadParam; +import java.awt.*; + +/** + * Implementation of {@code IamgeReadParam} for SVG images. + * SVG images allows for different source render sizes. + * + */ +public class SVGReadParam extends ImageReadParam { + private Paint mBackground; + private String mBaseURI; + + public Paint getBackgroundColor() { + return mBackground; + } + + public void setBackgroundColor(Paint pColor) { + mBackground = pColor; + } + + public String getBaseURI() { + return mBaseURI; + } + + public void setBaseURI(String pBaseURI) { + mBaseURI = pBaseURI; + } + + @Override + public boolean canSetSourceRenderSize() { + return true; + } +} diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java new file mode 100755 index 00000000..caab3b4c --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.image.ImageUtil; +import com.twelvemonkeys.imageio.ImageReaderBase; +import org.apache.batik.ext.awt.image.codec.SeekableStream; +import org.apache.batik.ext.awt.image.codec.tiff.TIFFDecodeParam; +import org.apache.batik.ext.awt.image.codec.tiff.TIFFImageDecoder; + +import javax.imageio.ImageReadParam; +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.spi.ImageReaderSpi; +import java.awt.image.BufferedImage; +import java.awt.image.RenderedImage; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * TIFFImageReader class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: TIFFImageReader.java,v 1.0 29.jul.2004 12:52:33 haku Exp $ + */ +// TODO: Massive clean-up +// TODO: Support raster decoding... +public class TIFFImageReader extends ImageReaderBase { + + private TIFFImageDecoder mDecoder = null; + private List mImages = new ArrayList(); + + protected TIFFImageReader(final ImageReaderSpi pOriginatingProvider) { + super(pOriginatingProvider); + } + + protected void resetMembers() { + mDecoder = null; + } + + public BufferedImage read(int pIndex, ImageReadParam pParam) throws IOException { + // Decode image, convert and return as BufferedImage + RenderedImage image = readAsRenderedImage(pIndex, pParam); + return ImageUtil.toBuffered(image); + } + + public RenderedImage readAsRenderedImage(int pIndex, ImageReadParam pParam) throws IOException { + init(pIndex); + + processImageStarted(pIndex); + + if (pParam == null) { + // Cache image for use by getWidth and getHeight methods + RenderedImage image; + if (mImages.size() > pIndex && mImages.get(pIndex) != null) { + image = mImages.get(pIndex); + } + else { + // Decode + image = mDecoder.decodeAsRenderedImage(pIndex); + + // Make room + for (int i = mImages.size(); i < pIndex; i++) { + mImages.add(pIndex, null); + } + mImages.add(pIndex, image); + } + + if (abortRequested()) { + processReadAborted(); + return image; + } + + processImageComplete(); + return image; + } + else { + // TODO: Parameter conversion + mDecoder.setParam(new TIFFDecodeParam()); + + RenderedImage image = mDecoder.decodeAsRenderedImage(pIndex); + + // Subsample and apply AOI + if (pParam.getSourceRegion() != null) { + image = fakeAOI(ImageUtil.toBuffered(image), pParam); + } + if (pParam.getSourceXSubsampling() > 1 || pParam.getSourceYSubsampling() > 1) { + image = ImageUtil.toBuffered(fakeSubsampling(ImageUtil.toBuffered(image), pParam)); + } + + processImageComplete(); + return image; + } + } + + private void init(int pIndex) throws IOException { + init(); + checkBounds(pIndex); + } + + protected void checkBounds(int pIndex) throws IOException { + if (pIndex < getMinIndex()){ + throw new IndexOutOfBoundsException("index < minIndex"); + } + else if (pIndex >= getNumImages(true)) { + throw new IndexOutOfBoundsException("index > numImages"); + } + } + + private synchronized void init() { + if (mDecoder == null) { + if (mImageInput == null) { + throw new IllegalStateException("input == null"); + } + + mDecoder = new TIFFImageDecoder(new SeekableStream() { + public int read() throws IOException { + return mImageInput.read(); + } + + public int read(final byte[] pBytes, final int pStart, final int pLength) throws IOException { + return mImageInput.read(pBytes, pStart, pLength); + } + + public long getFilePointer() throws IOException { + return mImageInput.getStreamPosition(); + } + + public void seek(final long pPos) throws IOException { + mImageInput.seek(pPos); + } + }, null); + } + } + + public int getWidth(int pIndex) throws IOException { + init(pIndex); + + // TODO: Use cache... + return mDecoder.decodeAsRenderedImage(pIndex).getWidth(); + } + + public int getHeight(int pIndex) throws IOException { + init(pIndex); + + // TODO: Use cache... + return mDecoder.decodeAsRenderedImage(pIndex).getHeight(); + } + + public Iterator getImageTypes(final int imageIndex) throws IOException { + throw new UnsupportedOperationException("Method getImageTypes not implemented");// TODO: Implement + } + + public int getNumImages(boolean pAllowSearch) throws IOException { + init(); + if (pAllowSearch) { + return mDecoder.getNumPages(); + } + return -1; + } +} diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java new file mode 100755 index 00000000..d0510d00 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.lang.SystemUtil; +import com.twelvemonkeys.imageio.util.IIOUtil; + +import javax.imageio.ImageReader; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.spi.ServiceRegistry; +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * TIFFImageReaderSpi + *

+ * + * @author Harald Kuhr + * @version $Id: TIFFImageReaderSpi.java,v 1.1 2003/12/02 16:45:00 wmhakur Exp $ + */ +public class TIFFImageReaderSpi extends ImageReaderSpi { + + final static boolean TIFF_CLASSES_AVAILABLE = SystemUtil.isClassAvailable("com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReader"); + + /** + * Creates an SVGImageReaderSpi + */ + public TIFFImageReaderSpi() { + super( + "TwelveMonkeys", // Vendor name + "2.0", // Version + TIFF_CLASSES_AVAILABLE ? new String[]{"tiff", "TIFF"} : new String[] {""}, // Names + TIFF_CLASSES_AVAILABLE ? new String[]{"tiff", "tif"} : null, // Suffixes + TIFF_CLASSES_AVAILABLE ? new String[]{"image/tiff", "image/x-tiff"} : null, // Mime-types + "com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReader", // Writer class name..? + ImageReaderSpi.STANDARD_INPUT_TYPE, // Output types + new String[]{"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriterSpi"}, // Writer SPI names + true, // Supports standard stream metadata format + null, // Native stream metadata format name + null, // Native stream metadata format class name + null, // Extra stream metadata format names + null, // Extra stream metadata format class names + true, // Supports standard image metadata format + null, // Native image metadata format name + null, // Native image metadata format class name + null, // Extra image metadata format names + null // Extra image metadata format class names + ); + } + + public boolean canDecodeInput(Object source) throws IOException { + return source instanceof ImageInputStream && TIFF_CLASSES_AVAILABLE && canDecode((ImageInputStream) source); + } + + + static boolean canDecode(ImageInputStream pInput) throws IOException { + try { + pInput.mark(); + int byte0 = pInput.read(); // Byte order 1 (M or I) + int byte1 = pInput.read(); // Byte order 2 (always same as 1) + int byte2 = pInput.read(); // Version number 1 (M: 0, I: 42) + int byte3 = pInput.read(); // Version number 2 (M: 42, I: 0) + + // Test for Motorola or Intel byte order, and version number == 42 + if ((byte0 == 'M' && byte1 == 'M' && byte2 == 0 && byte3 == 42) + || (byte0 == 'I' && byte1 == 'I' && byte2 == 42 && byte3 == 0)) { + return true; + } + + } + finally { + pInput.reset(); + } + + return false; + } + + public ImageReader createReaderInstance(Object extension) throws IOException { + return new TIFFImageReader(this); + } + + public String getDescription(Locale locale) { + return "Tagged Image File Format (TIFF) image reader"; + } + + @Override + public void onRegistration(ServiceRegistry registry, Class category) { + if (!TIFF_CLASSES_AVAILABLE) { + IIOUtil.deregisterProvider(registry, this, category); + } + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java new file mode 100755 index 00000000..212dc2f4 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.image.ImageUtil; +import com.twelvemonkeys.imageio.ImageWriterBase; +import com.twelvemonkeys.imageio.util.IIOUtil; +import org.apache.batik.ext.awt.image.codec.ImageEncodeParam; +import org.apache.batik.ext.awt.image.codec.tiff.TIFFEncodeParam; +import org.apache.batik.ext.awt.image.codec.tiff.TIFFImageEncoder; + +import javax.imageio.IIOImage; +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.ImageWriteParam; +import javax.imageio.metadata.IIOMetadata; +import javax.imageio.spi.ImageWriterSpi; +import java.awt.image.BufferedImage; +import java.awt.image.RenderedImage; +import java.io.IOException; + +/** + * TIFFImageWriter class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: TIFFImageWriter.java,v 1.0 29.jul.2004 12:52:54 haku Exp $ + */ +public class TIFFImageWriter extends ImageWriterBase { + + private TIFFImageEncoder mEncoder = null; + + protected TIFFImageWriter(final ImageWriterSpi pProvider) { + super(pProvider); + } + + @Override + public void setOutput(final Object pOutput) { + mEncoder = null; + super.setOutput(pOutput); + } + + public IIOMetadata getDefaultImageMetadata(final ImageTypeSpecifier imageType, final ImageWriteParam param) { + throw new UnsupportedOperationException("Method getDefaultImageMetadata not implemented");// TODO: Implement + } + + public IIOMetadata convertImageMetadata(final IIOMetadata inData, final ImageTypeSpecifier imageType, final ImageWriteParam param) { + throw new UnsupportedOperationException("Method convertImageMetadata not implemented");// TODO: Implement + } + + public void write(final IIOMetadata pStreamMetadata, final IIOImage pImage, final ImageWriteParam pParam) throws IOException { + RenderedImage renderedImage = pImage.getRenderedImage(); + init(); + + ImageEncodeParam param; + if (pParam != null) { + param = new TIFFEncodeParam(); + // TODO: Convert params + + mEncoder.setParam(param); + } + + BufferedImage image; + + // FIX: TIFFEnocder chokes on a any of the TYPE_INT_* types... + // (The TIFFEncoder expects int types to have 1 sample of size 32 + // while there actually is 4 samples of size 8, according to the + // SampleModel...) + if (renderedImage instanceof BufferedImage && ( + ((BufferedImage) renderedImage).getType() == BufferedImage.TYPE_INT_ARGB + || ((BufferedImage) renderedImage).getType() == BufferedImage.TYPE_INT_ARGB_PRE)) { + image = ImageUtil.toBuffered(renderedImage, BufferedImage.TYPE_4BYTE_ABGR); + } + else if (renderedImage instanceof BufferedImage && ( + ((BufferedImage) renderedImage).getType() == BufferedImage.TYPE_INT_BGR + || ((BufferedImage) renderedImage).getType() == BufferedImage.TYPE_INT_RGB)) { + image = ImageUtil.toBuffered(renderedImage, BufferedImage.TYPE_3BYTE_BGR); + } + else { + image = ImageUtil.toBuffered(renderedImage); + } + + image = fakeAOI(image, pParam); + image = ImageUtil.toBuffered(fakeSubsampling(image, pParam)); + + /* + System.out.println("Image: " + pImage); + SampleModel sampleModel = pImage.getSampleModel(); + System.out.println("SampleModel: " + sampleModel); + int sampleSize[] = sampleModel.getSampleSize(); + System.out.println("Samples: " + sampleSize.length); + for (int i = 0; i < sampleSize.length; i++) { + System.out.println("SampleSize[" + i + "]: " + sampleSize[i]); + } + int dataType = sampleModel.getDataType(); + System.out.println("DataType: " + dataType); + */ + + processImageStarted(0); + + mEncoder.encode(image); + mImageOutput.flush(); + + processImageComplete(); + } + + public void dispose() { + super.dispose(); + mEncoder = null; + } + + private synchronized void init() { + if (mEncoder == null) { + if (mImageOutput == null) { + throw new IllegalStateException("output == null"); + } + mEncoder = new TIFFImageEncoder(IIOUtil.createStreamAdapter(mImageOutput), null); + } + } +} diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java new file mode 100755 index 00000000..8ec02f3b --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.imageio.util.IIOUtil; + +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.ImageWriter; +import javax.imageio.spi.ImageWriterSpi; +import javax.imageio.spi.ServiceRegistry; +import java.io.IOException; +import java.util.Locale; + +/** + * TIFFmageWriterSpi + * + * @author Harald Kuhr + * @version $Id: TIFFImageWriterSpi.java,v 1.2 2004/01/14 15:21:44 wmhakur Exp $ + */ +public class TIFFImageWriterSpi extends ImageWriterSpi { + + /** + * Creates a TIFFImageWriterSpi. + */ + public TIFFImageWriterSpi() { + super( + "TwelveMonkeys", // Vendor name + "2.0", // Version + new String[]{"tiff", "TIFF"}, // Names + new String[]{"tif", "tiff"}, // Suffixes + new String[]{"image/tiff", "image/x-tiff"}, // Mime-types + "com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriter", // Writer class name..? + STANDARD_OUTPUT_TYPE, // Output types + new String[]{"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi"}, // Reader SPI names + true, // Supports standard stream metadata format + null, // Native stream metadata format name + null, // Native stream metadata format class name + null, // Extra stream metadata format names + null, // Extra stream metadata format class names + true, // Supports standard image metadata format + null, // Native image metadata format name + null, // Native image metadata format class name + null, // Extra image metadata format names + null // Extra image metadata format class names + ); + } + + public boolean canEncodeImage(ImageTypeSpecifier type) { + return true; + } + + public ImageWriter createWriterInstance(Object extension) throws IOException { + try { + return new TIFFImageWriter(this); + } + catch (Throwable t) { + // Wrap in IOException if the writer can't be instantiated. + // This makes the IIORegistry deregister this service provider + IOException exception = new IOException(t.getMessage()); + exception.initCause(t); + throw exception; + } + } + + public String getDescription(Locale locale) { + return "Tagged Image File Format (TIFF) image writer"; + } + + public void onRegistration(ServiceRegistry registry, Class category) { + if (!TIFFImageReaderSpi.TIFF_CLASSES_AVAILABLE) { + IIOUtil.deregisterProvider(registry, this, category); + } + } +} diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMF.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMF.java new file mode 100755 index 00000000..08159719 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMF.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.wmf; + +/** + * WMF + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: WMF.java,v 1.0 Feb 17, 2008 5:46:59 PM haraldk Exp$ + */ +interface WMF { + static byte[] HEADER = new byte[] { + (byte) 0xd7, (byte) 0xcd, (byte) 0xc6, (byte) 0x9a, (byte) 0x00, + (byte) 0x00, //(byte) 0x7a, (byte) 0xf3, (byte) 0xa6, (byte) 0xfe, + //(byte) 0xf5, (byte) 0x06, (byte) 0x1c, (byte) 0x01, (byte) 0xe8, + //(byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, + //(byte) 0xcc, + }; +} diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReader.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReader.java new file mode 100755 index 00000000..d650e107 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReader.java @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.wmf; + +import com.twelvemonkeys.imageio.ImageReaderBase; +import com.twelvemonkeys.imageio.plugins.svg.SVGImageReader; +import com.twelvemonkeys.imageio.plugins.svg.SVGReadParam; +import com.twelvemonkeys.imageio.util.IIOUtil; +import org.apache.batik.transcoder.TranscoderException; +import org.apache.batik.transcoder.TranscoderInput; +import org.apache.batik.transcoder.TranscoderOutput; +import org.apache.batik.transcoder.wmf.tosvg.WMFTranscoder; + +import javax.imageio.IIOException; +import javax.imageio.ImageIO; +import javax.imageio.ImageReadParam; +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.spi.ImageReaderSpi; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Iterator; + +/** + * WMFImageReader class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: WMFImageReader.java,v 1.0 29.jul.2004 13:00:59 haku Exp $ + */ +// TODO: Probably possible to do less wrapping/unwrapping of data... +// TODO: Consider using temp file instead of in-memory stream +public class WMFImageReader extends ImageReaderBase { + + private SVGImageReader mReader = null; + + public WMFImageReader(final ImageReaderSpi pProvider) { + super(pProvider); + } + + protected void resetMembers() { + if (mReader != null) { + mReader.dispose(); + } + mReader = null; + } + + public BufferedImage read(int pIndex, ImageReadParam pParam) throws IOException { + init(); + + processImageStarted(pIndex); + + BufferedImage image = mReader.read(pIndex, pParam); + if (abortRequested()) { + processReadAborted(); + return image; + } + + processImageComplete(); + + return image; + } + + private synchronized void init() throws IOException { + // Need the extra test, to avoid throwing an IOException from the Transcoder + if (mImageInput == null) { + throw new IllegalStateException("input == null"); + } + + if (mReader == null) { + WMFTranscoder transcoder = new WMFTranscoder(); + + ByteArrayOutputStream output = new ByteArrayOutputStream(); + Writer writer = new OutputStreamWriter(output, "UTF8"); + try { + TranscoderInput in = new TranscoderInput(IIOUtil.createStreamAdapter(mImageInput)); + TranscoderOutput out = new TranscoderOutput(writer); + + // TODO: Transcodinghints? + + transcoder.transcode(in, out); + } + catch (TranscoderException e) { + throw new IIOException(e.getMessage(), e); + } + + mReader = new SVGImageReader(getOriginatingProvider()); + mReader.setInput(ImageIO.createImageInputStream(new ByteArrayInputStream(output.toByteArray()))); + } + } + + @Override + public ImageReadParam getDefaultReadParam() { + return new SVGReadParam(); + } + + public int getWidth(int pIndex) throws IOException { + init(); + return mReader.getWidth(pIndex); + } + + public int getHeight(int pIndex) throws IOException { + init(); + return mReader.getHeight(pIndex); + } + + public Iterator getImageTypes(final int imageIndex) throws IOException { + throw new UnsupportedOperationException("Method getImageTypes not implemented");// TODO: Implement + } + +} diff --git a/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderSpi.java b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderSpi.java new file mode 100755 index 00000000..c59d75e0 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderSpi.java @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.wmf; + +import com.twelvemonkeys.lang.SystemUtil; +import com.twelvemonkeys.imageio.util.IIOUtil; + +import javax.imageio.ImageReader; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.spi.ServiceRegistry; +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * WMFImageReaderSpi + *

+ * + * @author Harald Kuhr + * @version $Id: WMFImageReaderSpi.java,v 1.1 2003/12/02 16:45:00 wmhakur Exp $ + */ +public class WMFImageReaderSpi extends ImageReaderSpi { + + // This is correct, as we rely on the SVG reader + private final static boolean WMF_READER_AVAILABLE = SystemUtil.isClassAvailable("com.twelvemonkeys.imageio.plugins.svg.SVGImageReader"); + + /** + * Creates an SVGImageReaderSpi + */ + public WMFImageReaderSpi() { + super( + "TwelveMonkeys", // Vendor name + "2.0", // Version + WMF_READER_AVAILABLE ? new String[]{"wmf", "WMF"} : new String[]{""}, // Names + WMF_READER_AVAILABLE ? new String[]{"wmf", "emf"} : null, // Suffixes + WMF_READER_AVAILABLE ? new String[]{"application/x-msmetafile", "image/x-wmf"} : null, // Mime-types + WMFImageReader.class.getName(), // Reader class name..? + ImageReaderSpi.STANDARD_INPUT_TYPE, // Output types + null, // Writer SPI names + true, // Supports standard stream metadata format + null, // Native stream metadata format name + null, // Native stream metadata format class name + null, // Extra stream metadata format names + null, // Extra stream metadata format class names + true, // Supports standard image metadata format + null, // Native image metadata format name + null, // Native image metadata format class name + null, // Extra image metadata format names + null // Extra image metadata format class names + ); + } + + public boolean canDecodeInput(Object source) throws IOException { + return source instanceof ImageInputStream && WMF_READER_AVAILABLE && canDecode((ImageInputStream) source); + } + + public static boolean canDecode(ImageInputStream pInput) throws IOException { + if (pInput == null) { + throw new IllegalArgumentException("input == null"); + } + + try { + pInput.mark(); + + for (byte header : WMF.HEADER) { + int read = (byte) pInput.read(); + if (header != read) { + // System.out.println("--> " + i + ": " + read + " (expected " + header + ")"); + return false; + } + } + return true; + + } + finally { + pInput.reset(); + } + } + + + public ImageReader createReaderInstance(Object extension) throws IOException { + return new WMFImageReader(this); + } + + public String getDescription(Locale locale) { + return "Windows Meta File (WMF) image reader"; + } + + @Override + public void onRegistration(ServiceRegistry registry, Class category) { + if (!WMF_READER_AVAILABLE) { + IIOUtil.deregisterProvider(registry, this, category); + } + } +} + diff --git a/twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi b/twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi new file mode 100755 index 00000000..42f4f345 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi @@ -0,0 +1,3 @@ +com.twelvemonkeys.imageio.plugins.svg.SVGImageReaderSpi +com.twelvemonkeys.imageio.plugins.wmf.WMFImageReaderSpi +#com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi diff --git a/twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi b/twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi new file mode 100755 index 00000000..54dbaa61 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi @@ -0,0 +1 @@ +#com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriterSpi \ No newline at end of file diff --git a/twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderTestCase.java b/twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderTestCase.java new file mode 100755 index 00000000..6821bc33 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/svg/SVGImageReaderTestCase.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.svg; + +import com.twelvemonkeys.imageio.util.ImageReaderAbstractTestCase; + +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.util.Arrays; +import java.util.List; + +/** + * SVGImageReaderTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: SVGImageReaderTestCase.java,v 1.0 Apr 1, 2008 10:39:17 PM haraldk Exp$ + */ +public class SVGImageReaderTestCase extends ImageReaderAbstractTestCase { + private SVGImageReaderSpi mSVGImageReaderSpi = new SVGImageReaderSpi(); + + protected List getTestData() { + return Arrays.asList( + new TestData(getClassLoaderResource("/svg/batikLogo.svg"), new Dimension(450, 500)) + ); + } + + protected ImageReaderSpi createProvider() { + return mSVGImageReaderSpi; + } + + @Override + protected SVGImageReader createReader() { + return new SVGImageReader(createProvider()); + } + + protected Class getReaderClass() { + return SVGImageReader.class; + } + + protected List getFormatNames() { + return Arrays.asList("svg"); + } + + protected List getSuffixes() { + return Arrays.asList("svg"); + } + + protected List getMIMETypes() { + return Arrays.asList("image/svg+xml"); + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderTestCase.java b/twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderTestCase.java new file mode 100755 index 00000000..e07d8f2e --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/test/java/com/twelvemonkeys/imageio/plugins/wmf/WMFImageReaderTestCase.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.wmf; + +import com.twelvemonkeys.imageio.util.ImageReaderAbstractTestCase; + +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.util.Arrays; +import java.util.List; + +/** + * SVGImageReaderTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: SVGImageReaderTestCase.java,v 1.0 Apr 1, 2008 10:39:17 PM haraldk Exp$ + */ +public class WMFImageReaderTestCase extends ImageReaderAbstractTestCase { + private WMFImageReaderSpi mSVGImageReaderSpi = new WMFImageReaderSpi(); + + protected List getTestData() { + return Arrays.asList( + // TODO: Dimensions does not look right... + new TestData(getClassLoaderResource("/wmf/test.wmf"), new Dimension(841, 673)) + ); + } + + protected ImageReaderSpi createProvider() { + return mSVGImageReaderSpi; + } + + @Override + protected WMFImageReader createReader() { + return new WMFImageReader(createProvider()); + } + + protected Class getReaderClass() { + return WMFImageReader.class; + } + + protected List getFormatNames() { + return Arrays.asList("wmf"); + } + + protected List getSuffixes() { + return Arrays.asList("wmf", "emf"); + } + + protected List getMIMETypes() { + return Arrays.asList("image/x-wmf", "application/x-msmetafile"); + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/batik/src/test/resources/svg/batikLogo.svg b/twelvemonkeys-imageio/batik/src/test/resources/svg/batikLogo.svg new file mode 100755 index 00000000..ba954486 --- /dev/null +++ b/twelvemonkeys-imageio/batik/src/test/resources/svg/batikLogo.svg @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + Batik Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/twelvemonkeys-imageio/batik/src/test/resources/wmf/test.wmf b/twelvemonkeys-imageio/batik/src/test/resources/wmf/test.wmf new file mode 100755 index 0000000000000000000000000000000000000000..247d3698edba75798f743a988424a00beed07bf3 GIT binary patch literal 8186 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 + + 4.0.0 + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + 2.1 + TwelveMonkeys ImageIO Core + + + twelvemonkeys-imageio + com.twelvemonkeys + 2.1 + + \ No newline at end of file diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java new file mode 100755 index 00000000..5f36ff01 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java @@ -0,0 +1,381 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio; + +import com.twelvemonkeys.image.BufferedImageIcon; +import com.twelvemonkeys.imageio.util.IIOUtil; + +import javax.imageio.ImageIO; +import javax.imageio.ImageReadParam; +import javax.imageio.ImageReader; +import javax.imageio.metadata.IIOMetadata; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.stream.ImageInputStream; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; + +/** + * ImageReaderBase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ImageReaderBase.java,v 1.0 Sep 20, 2007 5:28:37 PM haraldk Exp$ + */ +public abstract class ImageReaderBase extends ImageReader { + /** + * For convenience. Only set if the input is an {@code ImageInputStream}. + * @see #setInput(Object, boolean, boolean) + */ + protected ImageInputStream mImageInput; + + /** + * Constructs an {@code ImageReader} and sets its + * {@code originatingProvider} field to the supplied value. + *

+ *

Subclasses that make use of extensions should provide a + * constructor with signature {@code (ImageReaderSpi, + * Object)} in order to retrieve the extension object. If + * the extension object is unsuitable, an + * {@code IllegalArgumentException} should be thrown. + * + * @param pOriginatingProvider the {@code ImageReaderSpi} that is + * invoking this constructor, or {@code null}. + */ + protected ImageReaderBase(final ImageReaderSpi pOriginatingProvider) { + super(pOriginatingProvider); + } + + /** + * Overrides {@code setInput}, to allow easy access to the input, in case + * it is an {@code ImageInputStream}. + * + * @param pInput the {@code ImageInputStream} or other + * {@code Object} to use for future decoding. + * @param pSeekForwardOnly if {@code true}, images and metadata + * may only be read in ascending order from this input source. + * @param pIgnoreMetadata if {@code true}, metadata + * may be ignored during reads. + * + * @exception IllegalArgumentException if {@code input} is + * not an instance of one of the classes returned by the + * originating service provider's {@code getInputTypes} + * method, or is not an {@code ImageInputStream}. + * + * @see ImageInputStream + */ + @Override + public void setInput(Object pInput, boolean pSeekForwardOnly, boolean pIgnoreMetadata) { + resetMembers(); + super.setInput(pInput, pSeekForwardOnly, pIgnoreMetadata); + if (pInput instanceof ImageInputStream) { + mImageInput = (ImageInputStream) pInput; + } + } + + @Override + public void dispose() { + resetMembers(); + super.dispose(); + } + + @Override + public void reset() { + resetMembers(); + super.reset(); + } + + /** + * Resets all member variables. This method is by default invoked from: + *

+ * + */ + protected abstract void resetMembers(); + + /** + * Defaul implementation that always return {@code null}. + * + * @param pImageIndex ignored, unless overriden + * @return {@code null}, unless overriden + * @throws IOException never, unless overriden. + */ + public IIOMetadata getImageMetadata(int pImageIndex) throws IOException { + return null; + } + + /** + * Defaul implementation that always return {@code null}. + * + * @return {@code null}, unless overriden + * @throws IOException never, unless overriden. + */ + public IIOMetadata getStreamMetadata() throws IOException { + return null; + } + + /** + * Default implementation that always returns {@code 1}. + * + * @param pAllowSearch ignored, unless overriden + * @return {@code 1}, unless overriden + * @throws IOException never, unless overriden + */ + public int getNumImages(boolean pAllowSearch) throws IOException { + assertInput(); + return 1; + } + + /** + * Convenience method to make sure image index is within bounds. + * + * @param pIndex the image index + * + * @throws java.io.IOException if an error occurs during reading + * @throws IndexOutOfBoundsException if not + * minIndex <= pIndex < numImages + */ + protected void checkBounds(int pIndex) throws IOException { + assertInput(); + if (pIndex < getMinIndex()) { + throw new IndexOutOfBoundsException("index < minIndex"); + } + else if (getNumImages(false) != -1 && pIndex >= getNumImages(false)) { + throw new IndexOutOfBoundsException("index >= numImages (" + pIndex + " >= " + getNumImages(false) + ")"); + } + } + + /** + * Makes sure input is set. + * + * @throws IllegalStateException if {@code getInput() == null}. + */ + protected void assertInput() { + if (getInput() == null) { + throw new IllegalStateException("getInput() == null"); + } + } + + /** + * Utility method for getting the area of interest (AOI) of an image. + * The AOI is defined by the {@link javax.imageio.IIOParam#setSourceRegion(java.awt.Rectangle)} + * method. + *

+ * Note: If it is possible for the reader to read the AOI directly, such a + * method should be used instead, for efficiency. + * + * @param pImage the image to get AOI from + * @param pParam the param optionally specifying the AOI + * + * @return a {@code BufferedImage} containing the area of interest (source + * region), or the original image, if no source region was set, or + * {@code pParam} was {@code null} + */ + protected static BufferedImage fakeAOI(BufferedImage pImage, ImageReadParam pParam) { + return IIOUtil.fakeAOI(pImage, getSourceRegion(pParam, pImage.getWidth(), pImage.getHeight())); + } + + /** + * Utility method for getting the subsampled image. + * The subsampling is defined by the + * {@link javax.imageio.IIOParam#setSourceSubsampling(int, int, int, int)} + * method. + *

+ * NOTE: This method does not take the subsampling offsets into + * consideration. + *

+ * Note: If it is possible for the reader to subsample directly, such a + * method should be used instead, for efficiency. + * + * @param pImage the image to subsample + * @param pParam the param optionally specifying subsampling + * + * @return an {@code Image} containing the subsampled image, or the + * original image, if no subsampling was specified, or + * {@code pParam} was {@code null} + */ + protected static Image fakeSubsampling(Image pImage, ImageReadParam pParam) { + return IIOUtil.fakeSubsampling(pImage, pParam); + } + + public static void main(String[] pArgs) throws IOException { + BufferedImage image = ImageIO.read(new File(pArgs[0])); + showIt(image, pArgs[0]); + } + + protected static void showIt(final BufferedImage pImage, final String pTitle) { + try { + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + JFrame frame = new JFrame(pTitle); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setLocationByPlatform(true); + JPanel pane = new JPanel(new BorderLayout()); + JScrollPane scroll = new JScrollPane(new ImageLabel(pImage)); + scroll.setBorder(null); + pane.add(scroll); + frame.setContentPane(pane); + frame.pack(); + frame.setVisible(true); + } + }); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + catch (InvocationTargetException e) { + throw new RuntimeException(e); + } + } + + private static class ImageLabel extends JLabel { + Paint mBackground; + + public ImageLabel(BufferedImage pImage) { + super(new BufferedImageIcon(pImage)); + setOpaque(false); + setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); + + mBackground = createTexture(); + + JPopupMenu popup = createBackgroundPopup(); + + setComponentPopupMenu(popup); + addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + if (e.isPopupTrigger()) { + getComponentPopupMenu().show(ImageLabel.this, e.getX(), e.getY()); + } + } + }); + } + + private JPopupMenu createBackgroundPopup() { + JPopupMenu popup = new JPopupMenu(); + ButtonGroup group = new ButtonGroup(); + addCheckBoxItem(new ChangeBackgroundAction("Default", mBackground), popup, group); + popup.addSeparator(); + addCheckBoxItem(new ChangeBackgroundAction("White", Color.WHITE), popup, group); + addCheckBoxItem(new ChangeBackgroundAction("Light", Color.LIGHT_GRAY), popup, group); + addCheckBoxItem(new ChangeBackgroundAction("Gray", Color.GRAY), popup, group); + addCheckBoxItem(new ChangeBackgroundAction("Dark", Color.DARK_GRAY), popup, group); + addCheckBoxItem(new ChangeBackgroundAction("Black", Color.BLACK), popup, group); + popup.addSeparator(); + addCheckBoxItem(new ChooseBackgroundAction("Choose...", Color.BLUE), popup, group); + return popup; + } + + private void addCheckBoxItem(final Action pAction, final JPopupMenu pPopup, final ButtonGroup pGroup) { + JCheckBoxMenuItem item = new JCheckBoxMenuItem(pAction); + pGroup.add(item); + pPopup.add(item); + } + + private Paint createTexture() { + GraphicsConfiguration graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration(); + BufferedImage pattern = graphicsConfiguration.createCompatibleImage(20, 20); + Graphics2D g = pattern.createGraphics(); + try { + g.setColor(Color.LIGHT_GRAY); + g.fillRect(0, 0, pattern.getWidth(), pattern.getHeight()); + g.setColor(Color.GRAY); + g.fillRect(0, 0, pattern.getWidth() / 2, pattern.getHeight() / 2); + g.fillRect(pattern.getWidth() / 2, pattern.getHeight() / 2, pattern.getWidth() / 2, pattern.getHeight() / 2); + } + finally { + g.dispose(); + } + + return new TexturePaint(pattern, new Rectangle(pattern.getWidth(), pattern.getHeight())); + } + + @Override + protected void paintComponent(Graphics g) { + Graphics2D gr = (Graphics2D) g; + gr.setPaint(mBackground); + gr.fillRect(0, 0, getWidth(), getHeight()); + super.paintComponent(g); + } + + private class ChangeBackgroundAction extends AbstractAction { + protected Paint mPaint; + + public ChangeBackgroundAction(final String pName, final Paint pPaint) { + super(pName); + mPaint = pPaint; + } + + public void actionPerformed(ActionEvent e) { + mBackground = mPaint; + repaint(); + } + } + + private class ChooseBackgroundAction extends ChangeBackgroundAction { + public ChooseBackgroundAction(final String pName, final Color pColor) { + super(pName, pColor); + putValue(Action.SMALL_ICON, new Icon() { + public void paintIcon(Component c, Graphics pGraphics, int x, int y) { + Graphics g = pGraphics.create(); + g.setColor((Color) mPaint); + g.fillRect(x, y, 16, 16); + g.dispose(); + } + + public int getIconWidth() { + return 16; + } + + public int getIconHeight() { + return 16; + } + }); + } + + @Override + public void actionPerformed(ActionEvent e) { + Color selected = JColorChooser.showDialog(ImageLabel.this, "Choose background", (Color) mPaint); + if (selected != null) { + mPaint = selected; + super.actionPerformed(e); + } + } + } + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageWriterBase.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageWriterBase.java new file mode 100755 index 00000000..12fab584 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/ImageWriterBase.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio; + +import com.twelvemonkeys.imageio.util.IIOUtil; + +import javax.imageio.ImageWriteParam; +import javax.imageio.metadata.IIOMetadata; +import javax.imageio.spi.ImageWriterSpi; +import javax.imageio.stream.ImageOutputStream; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; + +/** + * ImageWriterBase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ImageWriterBase.java,v 1.0 Sep 24, 2007 12:22:28 AM haraldk Exp$ + */ +public abstract class ImageWriterBase extends javax.imageio.ImageWriter { + protected ImageOutputStream mImageOutput; + + /** + * Constructs an {@code ImageWriter} and sets its + * {@code originatingProvider} instance variable to the + * supplied value. + *

+ *

Subclasses that make use of extensions should provide a + * constructor with signature {@code (ImageWriterSpi, + * Object)} in order to retrieve the extension object. If + * the extension object is unsuitable, an + * {@code IllegalArgumentException} should be thrown. + * + * @param pProvider the {@code ImageWriterSpi} that + * is constructing this object, or {@code null}. + */ + protected ImageWriterBase(final ImageWriterSpi pProvider) { + super(pProvider); + } + + public String getFormatName() throws IOException { + return getOriginatingProvider().getFormatNames()[0]; + } + + @Override + public void setOutput(Object pOutput) { + super.setOutput(pOutput); + if (pOutput instanceof ImageOutputStream) { + mImageOutput = (ImageOutputStream) pOutput; + } + } + + /** + * Makes sure output is set. + * + * @throws IllegalStateException if {@code getOutput() == null}. + */ + protected void assertOutput() { + if (getOutput() == null) { + throw new IllegalStateException("getOutput() == null"); + } + } + + /** + * Returns {@code null} + * + * @param pParam igonred. + * @return {@code null}. + */ + public IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam pParam) { + return null; + } + + /** + * Returns {@code null} + * + * @param pInData ignored. + * @param pParam igonred. + * @return {@code null}. + */ + public IIOMetadata convertStreamMetadata(IIOMetadata pInData, ImageWriteParam pParam) { + return null; + } + + protected static Rectangle getSourceRegion(ImageWriteParam pParam, int pWidth, int pHeight) { + return IIOUtil.getSourceRegion(pParam, pWidth, pHeight); + } + + /** + * Utility method for getting the area of interest (AOI) of an image. + * The AOI is defined by the {@link IIOParam#setSourceRegion(java.awt.Rectangle)} + * method. + *

+ * Note: If it is possible for the reader to read the AOI directly, such a + * method should be used instead, for efficiency. + * + * @param pImage the image to get AOI from + * @param pParam the param optionally specifying the AOI + * + * @return a {@code BufferedImage} containing the area of interest (source + * region), or the original image, if no source region was set, or + * {@code pParam} was {@code null} + */ + protected static BufferedImage fakeAOI(BufferedImage pImage, ImageWriteParam pParam) { + return IIOUtil.fakeAOI(pImage, getSourceRegion(pParam, pImage.getWidth(), pImage.getHeight())); + } + + /** + * Utility method for getting the subsampled image. + * The subsampling is defined by the + * {@link IIOParam#setSourceSubsampling(int, int, int, int)} + * method. + *

+ * NOTE: This method does not take the subsampling offsets into + * consideration. + *

+ * Note: If it is possible for the reader to subsample directly, such a + * method should be used instead, for efficiency. + * + * @param pImage the image to subsample + * @param pParam the param optionally specifying subsampling + * + * @return an {@code Image} containing the subsampled image, or the + * original image, if no subsampling was specified, or + * {@code pParam} was {@code null} + */ + protected static Image fakeSubsampling(Image pImage, ImageWriteParam pParam) { + return IIOUtil.fakeSubsampling(pImage, pParam); + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStream.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStream.java new file mode 100755 index 00000000..fa5cb7a4 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStream.java @@ -0,0 +1,171 @@ +package com.twelvemonkeys.imageio.stream; + +import com.twelvemonkeys.lang.Validate; + +import javax.imageio.stream.ImageInputStream; +import javax.imageio.stream.ImageInputStreamImpl; +import java.io.IOException; + +/** + * BufferedFileImageInputStream + * Experimental - seems to be effective for FileImageInputStream and FileCacheImageInputStream. + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: BufferedFileImageInputStream.java,v 1.0 May 15, 2008 4:36:49 PM haraldk Exp$ + */ +// TODO: Create a provider for this (wrapping the FileIIS and FileCacheIIS classes), and disable the Sun built-in spis? +public final class BufferedImageInputStream extends ImageInputStreamImpl implements ImageInputStream { + + static final int DEFAULT_BUFFER_SIZE = 8192; + + private ImageInputStream mStream; + + private byte[] mBuffer; + private long mBufferStart = 0; + private int mBufferPos = 0; + private int mBufferLength = 0; + + public BufferedImageInputStream(final ImageInputStream pStream) { + this(pStream, DEFAULT_BUFFER_SIZE); + } + + private BufferedImageInputStream(final ImageInputStream pStream, final int pBufferSize) { + Validate.notNull(pStream, "stream"); + + mStream = pStream; + mBuffer = new byte[pBufferSize]; + } + + private void fillBuffer() throws IOException { + mBufferStart = streamPos; + mBufferLength = mStream.read(mBuffer, 0, mBuffer.length); + mBufferPos = 0; + } + + private boolean isBufferValid() throws IOException { + return mBufferPos < mBufferLength && mBufferStart == mStream.getStreamPosition() - mBufferLength; + } + + @Override + public int read() throws IOException { + if (!isBufferValid()) { + fillBuffer(); + } + if (mBufferLength <= 0) { + return -1; + } + + bitOffset = 0; + streamPos++; + + return mBuffer[mBufferPos++] & 0xff; + } + + @Override + public int read(final byte[] pBuffer, final int pOffset, final int pLength) throws IOException { + bitOffset = 0; + + boolean bypassBuffer = false; + + if (!isBufferValid()) { + // Bypass cache if cache is empty for reads longer than buffer + if (pLength >= mBuffer.length) { + bypassBuffer = true; + } + else { + fillBuffer(); + } + } + + if (!bypassBuffer && mBufferLength <= 0) { + return -1; + } + + // Read as much as possible from buffer + int length = bypassBuffer ? 0 : Math.min(mBufferLength - mBufferPos, pLength); + + if (length > 0) { + System.arraycopy(mBuffer, mBufferPos, pBuffer, pOffset, length); + mBufferPos += length; + } + + // Read rest directly from stream, if longer than buffer + if (pLength - length >= mBuffer.length) { + int read = mStream.read(pBuffer, pOffset + length, pLength - length); + + if (read > 0) { + length += read; + } + } + + streamPos += length; + + return length; + } + + @Override + public void seek(long pPosition) throws IOException { + // TODO: Could probably be optimized to not invalidate buffer if new pos is within current buffer + mStream.seek(pPosition); + mBufferLength = 0; // Will invalidate buffer + streamPos = mStream.getStreamPosition(); + } + + @Override + public void flushBefore(long pos) throws IOException { + mStream.flushBefore(pos); + } + + @Override + public long getFlushedPosition() { + return mStream.getFlushedPosition(); + } + + @Override + public boolean isCached() { + return mStream.isCached(); + } + + @Override + public boolean isCachedMemory() { + return mStream.isCachedMemory(); + } + + @Override + public boolean isCachedFile() { + return mStream.isCachedFile(); + } + + @Override + public void close() throws IOException { + if (mStream != null) { + mStream.close(); + mStream = null; + mBuffer = null; + } + super.close(); + } + + @Override + protected void finalize() throws Throwable { + super.finalize(); + } + + @Override + public long length() { + // WTF?! This method is allowed to throw IOException in the interface... + try { + return mStream.length(); + } + catch (IOException e) { + throw unchecked(e, RuntimeException.class); + } + } + + @SuppressWarnings({"unchecked", "UnusedDeclaration"}) + private T unchecked(IOException pExcption, Class pClass) { + // Ugly hack to fool the compiler.. + return (T) pExcption; + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStream.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStream.java new file mode 100755 index 00000000..1c2119df --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStream.java @@ -0,0 +1,56 @@ +package com.twelvemonkeys.imageio.stream; + +import com.twelvemonkeys.lang.Validate; + +import javax.imageio.stream.ImageInputStreamImpl; +import java.io.IOException; + +/** + * Experimental + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ByteArrayImageInputStream.java,v 1.0 May 15, 2008 2:12:12 PM haraldk Exp$ + */ +public final class ByteArrayImageInputStream extends ImageInputStreamImpl { + private final byte[] mData; + + public ByteArrayImageInputStream(final byte[] pData) { + Validate.notNull(pData, "data"); + mData = pData; + } + + public int read() throws IOException { + if (streamPos >= mData.length) { + return -1; + } + bitOffset = 0; + return mData[((int) streamPos++)] & 0xff; + } + + public int read(byte[] pBuffer, int pOffset, int pLength) throws IOException { + if (streamPos >= mData.length) { + return -1; + } + int length = (int) Math.min(mData.length - streamPos, pLength); + bitOffset = 0; + System.arraycopy(mData, (int) streamPos, pBuffer, pOffset, length); + streamPos += length; + return length; + } + + @Override + public long length() { + return mData.length; + } + + @Override + public boolean isCached() { + return true; + } + + @Override + public boolean isCachedMemory() { + return true; + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java new file mode 100755 index 00000000..ae148269 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamSpi.java @@ -0,0 +1,36 @@ +package com.twelvemonkeys.imageio.stream; + +import javax.imageio.spi.ImageInputStreamSpi; +import javax.imageio.stream.ImageInputStream; +import java.io.File; +import java.io.IOException; +import java.util.Locale; + +/** + * ByteArrayImageInputStreamSpi + * Experimental + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ByteArrayImageInputStreamSpi.java,v 1.0 May 15, 2008 2:12:12 PM haraldk Exp$ + */ +public class ByteArrayImageInputStreamSpi extends ImageInputStreamSpi { + + public ByteArrayImageInputStreamSpi() { + super("TwelveMonkeys", "1.0 BETA", byte[].class); + } + + public ImageInputStream createInputStreamInstance(Object pInput, boolean pUseCache, File pCacheDir) throws IOException { + if (pInput instanceof byte[]) { + return new ByteArrayImageInputStream((byte[]) pInput); + } + else { + throw new IllegalArgumentException("Expected input of type byte[]: " + pInput); + } + } + + public String getDescription(Locale pLocale) { + return "Service provider that instantiates an ImageInputStream from a byte array"; + } + +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java new file mode 100755 index 00000000..7518bc0a --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/stream/URLImageInputStreamSpi.java @@ -0,0 +1,84 @@ +package com.twelvemonkeys.imageio.stream; + +import javax.imageio.spi.ImageInputStreamSpi; +import javax.imageio.stream.FileCacheImageInputStream; +import javax.imageio.stream.FileImageInputStream; +import javax.imageio.stream.ImageInputStream; +import javax.imageio.stream.MemoryCacheImageInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Locale; + +/** + * URLImageInputStreamSpi + * Experimental + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: URLImageInputStreamSpi.java,v 1.0 May 15, 2008 2:14:59 PM haraldk Exp$ + */ + // TODO: URI instead of URL? +public class URLImageInputStreamSpi extends ImageInputStreamSpi { + public URLImageInputStreamSpi() { + super("TwelveMonkeys", "1.0 BETA", URL.class); + } + + // TODO: Create a URI or URLImageInputStream class, with a getUR[I|L] method, to allow for multiple file formats + // The good thing with that is that it does not clash with the built-in Sun-stuff or other people's hacks + // The bad thing is that most people don't expect there to be an UR[I|L]ImageInputStreamSpi.. + public ImageInputStream createInputStreamInstance(final Object pInput, final boolean pUseCache, final File pCacheDir) throws IOException { + if (pInput instanceof URL) { + URL url = (URL) pInput; + + // Special case for file protocol, a lot faster than FileCacheImageInputStream + if ("file".equals(url.getProtocol())) { + try { + return new BufferedImageInputStream(new FileImageInputStream(new File(url.toURI()))); +// return new FileImageInputStream(new File(url.toURI())); + } + catch (URISyntaxException ignore) { + ignore.printStackTrace(); + } + } + + // Otherwise revert to cached + final InputStream stream = url.openStream(); + if (pUseCache) { + return new BufferedImageInputStream(new FileCacheImageInputStream(stream, pCacheDir) { + @Override + public void close() throws IOException { + try { + super.close(); + } + finally { + stream.close(); // NOTE: If this line throws IOE, it will shadow the original.. + } + } + }); + } + else { + return new MemoryCacheImageInputStream(stream) { + @Override + public void close() throws IOException { + try { + super.close(); + } + finally { + stream.close(); // NOTE: If this line throws IOE, it will shadow the original.. + } + } + }; + } + } + else { + throw new IllegalArgumentException("Expected input of type URL: " + pInput); + } + } + + public String getDescription(final Locale pLocale) { + return "Service provider that instantiates an ImageInputStream from a URL"; + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapter.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapter.java new file mode 100755 index 00000000..1941efff --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapter.java @@ -0,0 +1,177 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * IIOInputStreamAdapter + *

+ * Note: You should always wrap this stream in a {@code BufferedInputStream}. + * If not, performance may degrade significantly. +* +* @author Harald Kuhr +* @author last modified by $Author: haraldk$ +* @version $Id: IIOInputStreamAdapter.java,v 1.0 Sep 26, 2007 11:35:59 AM haraldk Exp$ +*/ +class IIOInputStreamAdapter extends InputStream { + private ImageInputStream mInput; + private final boolean mHasLength; + private long mLeft; + private long mMarkPosition; + + // TODO: Enforce stream boundaries! + // TODO: Stream start position.... + + /** + * Creates an {@code InputStream} that reads from the given {@code ImageInputStream}. + * The input stream will read from the current stream position, until the end of the + * underlying stream. + * + * @param pInput the {@code ImageInputStream} to read from. + */ + public IIOInputStreamAdapter(final ImageInputStream pInput) { + this(pInput, -1, false); + } + + /** + * Creates an {@code InputStream} that reads from the given {@code ImageInputStream}. + * The input stream will read from the current stream position, until at most + * {@code pLength} bytes has been read. + * + * @param pInput the {@code ImageInputStream} to read from. + * @param pLength the length of the stream + */ + public IIOInputStreamAdapter(final ImageInputStream pInput, final long pLength) { + this(pInput, pLength, true); + } + + private IIOInputStreamAdapter(ImageInputStream pInput, long pLength, boolean pHasLength) { + if (pInput == null) { + throw new IllegalArgumentException("stream == null"); + } + if (pHasLength && pLength < 0) { + throw new IllegalArgumentException("length < 0"); + } + + mInput = pInput; + mHasLength = pHasLength; + mLeft = pLength; + } + + + /** + * Marks this stream as closed. + * This implementation does not close the underlying stream. + */ + public void close() throws IOException { + if (mHasLength) { + mInput.seek(mInput.getStreamPosition() + mLeft); + } + + mLeft = 0; + mInput = null; + } + + public int available() throws IOException { + if (mHasLength) { + return mLeft > 0 ? (int) Math.min(Integer.MAX_VALUE, mLeft) : 0; + } + return 0; // We don't really know, so we say 0 to be safe. + } + + @Override + public boolean markSupported() { + return true; + } + + public void mark(int pReadLimit) { + try { + mMarkPosition = mInput.getStreamPosition(); + } + catch (IOException e) { + // Let's hope this never happens, because it's not possible to reset then... + throw new IllegalStateException("Could not read stream position: " + e.getMessage(), e); + } + } + + public void reset() throws IOException { + long diff = mInput.getStreamPosition() - mMarkPosition; + mInput.seek(mMarkPosition); + mLeft += diff; + } + + public int read() throws IOException { + if (mHasLength && mLeft-- <= 0) { + mLeft = 0; + return -1; + } + return mInput.read(); + } + + public final int read(byte[] pBytes) throws IOException { + return read(pBytes, 0, pBytes.length); + } + + public int read(final byte[] pBytes, final int pOffset, final int pLength) throws IOException { + if (mHasLength && mLeft <= 0) { + return -1; + } + + int read = mInput.read(pBytes, pOffset, (int) findMaxLen(pLength)); + if (mHasLength) { + mLeft = read < 0 ? 0 : mLeft - read; + } + return read; + } + + /** + * Finds the maximum number of bytes we can read or skip, from this stream. + * The number will be in the range {@code [0 ... bytes left]}. + * + * @param pLength the requested length + * @return the maximum number of bytes to read + */ + private long findMaxLen(long pLength) { + if (mHasLength && mLeft < pLength) { + return Math.max(mLeft, 0); + } + else { + return Math.max(pLength, 0); + } + } + + public long skip(long pLength) throws IOException { + long skipped = mInput.skipBytes(findMaxLen(pLength)); // Skips 0 or more, never -1 + mLeft -= skipped; + return skipped; + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOOutputStreamAdapter.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOOutputStreamAdapter.java new file mode 100755 index 00000000..9927b983 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOOutputStreamAdapter.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import javax.imageio.stream.ImageOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +/** + * IIOOutputStreamAdapter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: IIOOutputStreamAdapter.java,v 1.0 Sep 26, 2007 11:50:38 AM haraldk Exp$ + */ +class IIOOutputStreamAdapter extends OutputStream { + private ImageOutputStream mOutput; + + public IIOOutputStreamAdapter(final ImageOutputStream pOutput) { + mOutput = pOutput; + } + + @Override + public void write(final byte[] pBytes) throws IOException { + mOutput.write(pBytes); + } + + @Override + public void write(final byte[] pBytes, final int pOffset, final int pLength) throws IOException { + mOutput.write(pBytes, pOffset, pLength); + } + + @Override + public void write(final int pByte) throws IOException { + mOutput.write(pByte); + } + + @Override + public void flush() throws IOException { + mOutput.flush(); + } + + @Override + public void close() throws IOException { + mOutput = null; + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOUtil.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOUtil.java new file mode 100755 index 00000000..f6698c37 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IIOUtil.java @@ -0,0 +1,131 @@ +package com.twelvemonkeys.imageio.util; + +import com.twelvemonkeys.image.ImageUtil; + +import javax.imageio.IIOParam; +import javax.imageio.spi.IIOServiceProvider; +import javax.imageio.spi.ServiceRegistry; +import javax.imageio.stream.ImageInputStream; +import javax.imageio.stream.ImageOutputStream; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * IIOUtil + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: IIOUtil.java,v 1.0 May 8, 2008 3:04:54 PM haraldk Exp$ + */ +public final class IIOUtil { + private IIOUtil() {} + + /** + * Creates an {@code InputStream} adapter that reads from an underlying {@code ImageInputStream}. + * The input stream will read until the end of {@code pStream}. + * + * @param pStream the stream to read from. + * @return an {@code InputStream} reading from {@code pStream}. + */ + public static InputStream createStreamAdapter(final ImageInputStream pStream) { + // TODO: Include stream start pos? + // TODO: Skip buffering for known in-memory implementations? + return new BufferedInputStream(new IIOInputStreamAdapter(pStream)); + } + + /** + * Creates an {@code InputStream} adapter that reads from an underlying {@code ImageInputStream}. + * The input stream will read until the end of {@code pStream}, or at most {@code pLength} bytes has been read. + * + * @param pStream the stream to read from. + * @param pLength the maximum number of bytes that can be read from {@code pStream}. + * @return an {@code InputStream} reading from {@code pStream}. + */ + public static InputStream createStreamAdapter(final ImageInputStream pStream, final long pLength) { + // TODO: Include stream start pos? + // TODO: Skip buffering for known in-memory implementations? + return new BufferedInputStream(new IIOInputStreamAdapter(pStream, pLength)); + } + + /** + * Creates an {@code OutputStream} adapter that writes to an underlying {@code ImageOutputStream}. + * + * @param pStream the stream to write to. + * @return an {@code OutputSteam} writing to {@code pStream}. + */ + public static OutputStream createStreamAdapter(final ImageOutputStream pStream) { + return new BufferedOutputStream(new IIOOutputStreamAdapter(pStream)); + } + + /* + * THIS METHOD WILL ME MOVED/RENAMED, DO NOT USE. + */ + public static void deregisterProvider(final ServiceRegistry pRegistry, final IIOServiceProvider pProvider, final Class pCategory) { + // http://www.ibm.com/developerworks/java/library/j-jtp04298.html + // TODO: Consider placing this method in a ImageReaderSpiBase class or similar + pRegistry.deregisterServiceProvider(pCategory.cast(pProvider), pCategory); + } + + public static Image fakeSubsampling(final Image pImage, final IIOParam pParam) { + if (pImage == null) { + return null; + } + + if (pParam != null) { + int x = pParam.getSourceXSubsampling(); + int y = pParam.getSourceYSubsampling(); + + // 1 is default + if (x > 1 || y > 1) { + int w = (ImageUtil.getWidth(pImage) + x - 1) / x; + int h = (ImageUtil.getHeight(pImage) + y - 1) / y; + + // Fake subsampling by scaling fast + return pImage.getScaledInstance(w, h, Image.SCALE_FAST); + } + } + + return pImage; + } + + public static Rectangle getSourceRegion(final IIOParam pParam, final int pSrcWidth, final int pSrcHeight) { + Rectangle sourceRegion = new Rectangle(pSrcWidth, pSrcHeight); + + // If param is present, calculate region + if (pParam != null) { + // Get intersection with source region + Rectangle region = pParam.getSourceRegion(); + if (region != null) { + sourceRegion = sourceRegion.intersection(region); + } + + // Scale according to subsampling offsets + int subsampleXOffset = pParam.getSubsamplingXOffset(); + int subsampleYOffset = pParam.getSubsamplingYOffset(); + sourceRegion.x += subsampleXOffset; + sourceRegion.y += subsampleYOffset; + sourceRegion.width -= subsampleXOffset; + sourceRegion.height -= subsampleYOffset; + } + + return sourceRegion; + } + + public static BufferedImage fakeAOI(final BufferedImage pImage, final Rectangle pSourceRegion) { + if (pImage == null) { + return null; + } + + if (pSourceRegion != null) { + if (pSourceRegion.x != 0 || pSourceRegion.y != 0 || pSourceRegion.width != pImage.getWidth() || pSourceRegion.height != pImage.getHeight()) { + return pImage.getSubimage(pSourceRegion.x, pSourceRegion.y, pSourceRegion.width, pSourceRegion.height); + } + } + + return pImage; + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifier.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifier.java new file mode 100755 index 00000000..42cf52d0 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifier.java @@ -0,0 +1,41 @@ +package com.twelvemonkeys.imageio.util; + +import javax.imageio.ImageTypeSpecifier; +import java.awt.image.IndexColorModel; +import java.awt.image.BufferedImage; +import java.awt.image.WritableRaster; +import java.util.Hashtable; + +/** + * IndexedImageTypeSpecifier + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: IndexedImageTypeSpecifier.java,v 1.0 May 19, 2008 11:04:28 AM haraldk Exp$ + */ +public class IndexedImageTypeSpecifier extends ImageTypeSpecifier { + IndexedImageTypeSpecifier(IndexColorModel pColorModel) { + // For some reason, we need a sample model + super(pColorModel, pColorModel.createCompatibleSampleModel(1, 1)); + } + + public static ImageTypeSpecifier createFromIndexColorModel(final IndexColorModel pColorModel) { + return new IndexedImageTypeSpecifier(pColorModel); + } + + @Override + public final BufferedImage createBufferedImage(int pWidth, int pHeight) { + try { + // This is a fix for the super-method, that first creates a sample model, and then + // creates a raster from it, using Raster.createWritableRaster. The problem with + // that approach, is that it always creates a TYPE_CUSTOM BufferedImage for indexed images. + WritableRaster raster = colorModel.createCompatibleWritableRaster(pWidth, pHeight); + return new BufferedImage(colorModel, raster, colorModel.isAlphaPremultiplied(), new Hashtable()); + } + catch (NegativeArraySizeException e) { + // Exception most likely thrown from a DataBuffer constructor + throw new IllegalArgumentException("Array size > Integer.MAX_VALUE!"); + } + } + +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ProgressListenerBase.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ProgressListenerBase.java new file mode 100755 index 00000000..4a4ba7ff --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ProgressListenerBase.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import javax.imageio.ImageReader; +import javax.imageio.ImageWriter; +import javax.imageio.event.IIOReadProgressListener; +import javax.imageio.event.IIOWriteProgressListener; + +/** + * ProgressListenerBase + *

+ * + * @author Harald Kuhr + * @version $Id: ProgressListenerBase.java,v 1.0 26.aug.2005 14:29:42 haku Exp$ + */ +public abstract class ProgressListenerBase implements IIOReadProgressListener, IIOWriteProgressListener { + protected ProgressListenerBase() { + } + + public void imageComplete(ImageReader pSource) { + } + + public void imageProgress(ImageReader pSource, float pPercentageDone) { + } + + public void imageStarted(ImageReader pSource, int pImageIndex) { + } + + public void readAborted(ImageReader pSource) { + } + + public void sequenceComplete(ImageReader pSource) { + } + + public void sequenceStarted(ImageReader pSource, int pMinIndex) { + } + + public void thumbnailComplete(ImageReader pSource) { + } + + public void thumbnailProgress(ImageReader pSource, float pPercentageDone) { + } + + public void thumbnailStarted(ImageReader pSource, int pImageIndex, int pThumbnailIndex) { + } + + public void imageComplete(ImageWriter pSource) { + } + + public void imageProgress(ImageWriter pSource, float pPercentageDone) { + } + + public void imageStarted(ImageWriter pSource, int pImageIndex) { + } + + public void thumbnailComplete(ImageWriter pSource) { + } + + public void thumbnailProgress(ImageWriter pSource, float pPercentageDone) { + } + + public void thumbnailStarted(ImageWriter pSource, int pImageIndex, int pThumbnailIndex) { + } + + public void writeAborted(ImageWriter pSource) { + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ReaderFileSuffixFilter.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ReaderFileSuffixFilter.java new file mode 100755 index 00000000..bdad8e28 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/ReaderFileSuffixFilter.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import com.twelvemonkeys.io.FileUtil; +import com.twelvemonkeys.lang.StringUtil; + +import javax.imageio.ImageIO; +import javax.swing.filechooser.FileFilter; +import java.io.File; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +/** + * ReaderFileSuffixFilter + *

+ * + * @author Harald Kuhr + * @author last modified by $Author: haku$ + * @version $Id: ReaderFileSuffixFilter.java,v 1.0 11.okt.2006 20:05:36 haku Exp$ + */ +public final class ReaderFileSuffixFilter extends FileFilter implements java.io.FileFilter { + private final String mDescription; + private final Map mKnownSuffixes = new HashMap(32); + + public ReaderFileSuffixFilter() { + this("Images (all supported input formats)"); + } + + public ReaderFileSuffixFilter(String pDescription) { + mDescription = pDescription; + } + + public boolean accept(File pFile) { + // Directories are always supported + if (pFile.isDirectory()) { + return true; + } + + // See if we have an ImageReader for this suffix + String suffix = FileUtil.getExtension(pFile); + + return !StringUtil.isEmpty(suffix) && hasReaderForSuffix(suffix); + } + + private boolean hasReaderForSuffix(String pSuffix) { + if (mKnownSuffixes.get(pSuffix) == Boolean.TRUE) { + return true; + } + + try { + // Cahce lookup + Iterator iterator = ImageIO.getImageReadersBySuffix(pSuffix); + if (iterator.hasNext()) { + mKnownSuffixes.put(pSuffix, Boolean.TRUE); + return true; + } + else { + mKnownSuffixes.put(pSuffix, Boolean.FALSE); + return false; + } + } + catch (IllegalArgumentException iae) { + return false; + } + } + + public String getDescription() { + return mDescription; + } +} diff --git a/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/WriterFileSuffixFilter.java b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/WriterFileSuffixFilter.java new file mode 100755 index 00000000..935faebd --- /dev/null +++ b/twelvemonkeys-imageio/core/src/main/java/com/twelvemonkeys/imageio/util/WriterFileSuffixFilter.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import com.twelvemonkeys.io.FileUtil; +import com.twelvemonkeys.lang.StringUtil; + +import javax.imageio.ImageIO; +import javax.swing.filechooser.FileFilter; +import java.io.File; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +/** + * WriterFileSuffixFilter + *

+ * + * @author Harald Kuhr + * @author last modified by $Author: haku$ + * @version $Id: WriterFileSuffixFilter.java,v 1.0 11.okt.2006 20:05:36 haku Exp$ + */ +public final class WriterFileSuffixFilter extends FileFilter implements java.io.FileFilter { + private final String mDescription; + private MapmKnownSuffixes = new HashMap(32); + + public WriterFileSuffixFilter() { + this("Images (all supported output formats)"); + } + + public WriterFileSuffixFilter(String pDescription) { + mDescription = pDescription; + } + + public boolean accept(File pFile) { + // Directories are always supported + if (pFile.isDirectory()) { + return true; + } + + // Test if we have an ImageWriter for this suffix + String suffix = FileUtil.getExtension(pFile); + return !StringUtil.isEmpty(suffix) && hasWriterForSuffix(suffix); + + } + + private boolean hasWriterForSuffix(String pSuffix) { + if (mKnownSuffixes.get(pSuffix) == Boolean.TRUE) { + return true; + } + + try { + // Cahce lookup + Iterator iterator = ImageIO.getImageWritersBySuffix(pSuffix); + if (iterator.hasNext()) { + mKnownSuffixes.put(pSuffix, Boolean.TRUE); + return true; + } + else { + mKnownSuffixes.put(pSuffix, Boolean.FALSE); + return false; + } + } + catch (IllegalArgumentException iae) { + return false; + } + } + + public String getDescription() { + return mDescription; + } +} diff --git a/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStreamTestCase.java b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStreamTestCase.java new file mode 100755 index 00000000..b7b33390 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedImageInputStreamTestCase.java @@ -0,0 +1,116 @@ +package com.twelvemonkeys.imageio.stream; + +import com.twelvemonkeys.io.ole2.CompoundDocument; +import com.twelvemonkeys.io.ole2.Entry; +import junit.framework.TestCase; + +import javax.imageio.stream.ImageInputStream; +import javax.imageio.stream.MemoryCacheImageInputStream; +import java.io.IOException; +import java.nio.ByteOrder; +import java.util.Random; + +/** + * BufferedImageInputStreamTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: BufferedImageInputStreamTestCase.java,v 1.0 Jun 30, 2008 3:07:42 PM haraldk Exp$ + */ +public class BufferedImageInputStreamTestCase extends TestCase{ + protected final Random mRandom = new Random(); + + public void testCreate() { + new BufferedImageInputStream(new ByteArrayImageInputStream(new byte[0])); + } + + public void testCreateNull() { + try { + new BufferedImageInputStream(null); + fail("Expected IllegalArgumentException"); + } + catch (IllegalArgumentException expected) { + assertNotNull("Null exception message", expected.getMessage()); + String message = expected.getMessage().toLowerCase(); + assertTrue("Exception message does not contain parameter name", message.contains("stream")); + assertTrue("Exception message does not contain null", message.contains("null")); + } + } + + // TODO: Write other tests + + // TODO: Create test that exposes read += -1 (eof) bug + + public void testArrayIndexOutOfBoundsBufferedReadBug() throws IOException { + // TODO: Create a more straight forward way to prove correctness, for now this is good enough to avoid regression + ImageInputStream input = new BufferedImageInputStream(new MemoryCacheImageInputStream(getClass().getResourceAsStream("/Thumbs-camera.db"))); + input.setByteOrder(ByteOrder.LITTLE_ENDIAN); + Entry root = new CompoundDocument(input).getRootEntry(); + + Entry child = root.getChildEntry("Catalog"); + + assertNotNull("Input stream can never be null", child.getInputStream()); + } + + public void testReadResetReadDirectBufferBug() throws IOException { + // Make sure we use the exact size of the buffer + final int size = BufferedImageInputStream.DEFAULT_BUFFER_SIZE; + + // Fill bytes + byte[] bytes = new byte[size * 2]; + mRandom.nextBytes(bytes); + + // Create wrapper stream + BufferedImageInputStream stream = new BufferedImageInputStream(new ByteArrayImageInputStream(bytes)); + + // Read to fill the buffer, then reset + stream.readLong(); + stream.seek(0); + + // Read fully and compare + byte[] result = new byte[size]; + stream.readFully(result); + assertTrue(rangeEquals(bytes, 0, result, 0, size)); + + stream.readFully(result); + assertTrue(rangeEquals(bytes, size, result, 0, size)); + } + + /** + * Test two arrays for range equality. That is, they contain the same elements for some specified range. + * + * @param pFirst one array to test for equality + * @param pFirstOffset the offset into the first array to start testing for equality + * @param pSecond the other array to test for equality + * @param pSecondOffset the offset into the second array to start testing for equality + * @param pLength the length of the range to check for equality + * + * @return {@code true} if both arrays are non-{@code null} + * and have at least {@code offset + pLength} elements + * and all elements in the range from the first array is equal to the elements from the second array, + * or if {@code pFirst == pSecond} (including both arrays being {@code null}) + * and {@code pFirstOffset == pSecondOffset}. + * Otherwise {@code false}. + */ + static boolean rangeEquals(byte[] pFirst, int pFirstOffset, byte[] pSecond, int pSecondOffset, int pLength) { + if (pFirst == pSecond && pFirstOffset == pSecondOffset) { + return true; + } + + if (pFirst == null || pSecond == null) { + return false; + } + + if (pFirst.length < pFirstOffset + pLength || pSecond.length < pSecondOffset + pLength) { + return false; + } + + for (int i = 0; i < pLength; i++) { + if (pFirst[pFirstOffset + i] != pSecond[pSecondOffset + i]) { + return false; + } + } + + return true; + } +} diff --git a/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamTestCase.java b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamTestCase.java new file mode 100755 index 00000000..372fe6ed --- /dev/null +++ b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/stream/ByteArrayImageInputStreamTestCase.java @@ -0,0 +1,102 @@ +package com.twelvemonkeys.imageio.stream; + +import static com.twelvemonkeys.imageio.stream.BufferedImageInputStreamTestCase.rangeEquals; +import junit.framework.TestCase; + +import java.io.IOException; +import java.util.Random; + +/** + * ByteArrayImageInputStreamTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ByteArrayImageInputStreamTestCase.java,v 1.0 Apr 21, 2009 10:58:48 AM haraldk Exp$ + */ +public class ByteArrayImageInputStreamTestCase extends TestCase { + protected final Random mRandom = new Random(); + + public void testCreate() { + ByteArrayImageInputStream stream = new ByteArrayImageInputStream(new byte[0]); + assertEquals("Data length should be same as stream length", 0, stream.length()); + } + + public void testCreateNull() { + try { + new ByteArrayImageInputStream(null); + fail("Expected IllegalArgumentException"); + } + catch (IllegalArgumentException expected) { + assertNotNull("Null exception message", expected.getMessage()); + String message = expected.getMessage().toLowerCase(); + assertTrue("Exception message does not contain parameter name", message.contains("data")); + assertTrue("Exception message does not contain null", message.contains("null")); + } + } + + public void testRead() throws IOException { + byte[] data = new byte[1024 * 1024]; + mRandom.nextBytes(data); + + ByteArrayImageInputStream stream = new ByteArrayImageInputStream(data); + + assertEquals("Data length should be same as stream length", data.length, stream.length()); + + for (byte b : data) { + assertEquals("Wrong data read", b & 0xff, stream.read()); + } + } + + public void testReadArray() throws IOException { + byte[] data = new byte[1024 * 1024]; + mRandom.nextBytes(data); + + ByteArrayImageInputStream stream = new ByteArrayImageInputStream(data); + + assertEquals("Data length should be same as stream length", data.length, stream.length()); + + byte[] result = new byte[1024]; + + for (int i = 0; i < data.length / result.length; i++) { + stream.readFully(result); + assertTrue("Wrong data read: " + i, rangeEquals(data, i * result.length, result, 0, result.length)); + } + } + + public void testReadSkip() throws IOException { + byte[] data = new byte[1024 * 14]; + mRandom.nextBytes(data); + + ByteArrayImageInputStream stream = new ByteArrayImageInputStream(data); + + assertEquals("Data length should be same as stream length", data.length, stream.length()); + + byte[] result = new byte[7]; + + for (int i = 0; i < data.length / result.length; i += 2) { + stream.readFully(result); + stream.skipBytes(result.length); + assertTrue("Wrong data read: " + i, rangeEquals(data, i * result.length, result, 0, result.length)); + } + } + + public void testReadSeek() throws IOException { + byte[] data = new byte[1024 * 18]; + mRandom.nextBytes(data); + + ByteArrayImageInputStream stream = new ByteArrayImageInputStream(data); + + assertEquals("Data length should be same as stream length", data.length, stream.length()); + + byte[] result = new byte[9]; + + for (int i = 0; i < data.length / result.length; i++) { + // Read backwards + long newPos = stream.length() - result.length - i * result.length; + stream.seek(newPos); + assertEquals("Wrong stream position", newPos, stream.getStreamPosition()); + stream.readFully(result); + assertTrue("Wrong data read: " + i, rangeEquals(data, (int) newPos, result, 0, result.length)); + } + } +} diff --git a/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapterTestCase.java b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapterTestCase.java new file mode 100755 index 00000000..b010109f --- /dev/null +++ b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IIOInputStreamAdapterTestCase.java @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import com.twelvemonkeys.io.InputStreamAbstractTestCase; + +import javax.imageio.stream.MemoryCacheImageInputStream; +import java.io.InputStream; +import java.io.ByteArrayInputStream; +import java.io.IOException; + +/** + * IIOInputStreamAdapter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: IIOInputStreamAdapter.java,v 1.0 Apr 11, 2008 1:04:42 PM haraldk Exp$ + */ +public class IIOInputStreamAdapterTestCase extends InputStreamAbstractTestCase { + public IIOInputStreamAdapterTestCase(String name) { + super(name); + } + + protected InputStream makeInputStream(byte[] pBytes) { + return new IIOInputStreamAdapter(new MemoryCacheImageInputStream(new ByteArrayInputStream(pBytes)), pBytes.length); + } + + public void testReadSubstreamOpenEnd() throws IOException { + byte[] bytes = new byte[20]; + + MemoryCacheImageInputStream input = new MemoryCacheImageInputStream(new ByteArrayInputStream(bytes)); + + input.seek(10); + assertEquals(10, input.getStreamPosition()); + + IIOInputStreamAdapter stream = new IIOInputStreamAdapter(input); + for (int i = 0; i < 10; i++) { + assertTrue("Unexpected end of stream", -1 != stream.read()); + } + + assertEquals("Read value after end of stream", -1, stream.read()); + assertEquals("Read value after end of stream", -1, stream.read()); + + // Make sure underlying stream is positioned at end of substream after close + stream.close(); + assertEquals(20, input.getStreamPosition()); + + input.close(); + } + + public void testReadSubstream() throws IOException { + byte[] bytes = new byte[20]; + + MemoryCacheImageInputStream input = new MemoryCacheImageInputStream(new ByteArrayInputStream(bytes)); + IIOInputStreamAdapter stream = new IIOInputStreamAdapter(input, 9); + for (int i = 0; i < 9; i++) { + assertTrue("Unexpected end of stream", -1 != stream.read()); + } + + assertEquals("Read value after end of stream", -1, stream.read()); + assertEquals("Read value after end of stream", -1, stream.read()); + + // Make sure we don't read outside stream boundaries + assertTrue(input.getStreamPosition() <= 9); + + input.close(); + } + + public void testReadSubstreamRepositionOnClose() throws IOException { + byte[] bytes = new byte[20]; + + MemoryCacheImageInputStream input = new MemoryCacheImageInputStream(new ByteArrayInputStream(bytes)); + IIOInputStreamAdapter stream = new IIOInputStreamAdapter(input, 10); + for (int i = 0; i < 7; i++) { + assertTrue("Unexpected end of stream", -1 != stream.read()); + } + + // Make sure we don't read outside stream boundaries + assertTrue(input.getStreamPosition() <= 7); + + // Make sure underlying stream is positioned at end of substream after close + stream.close(); + assertEquals(10, input.getStreamPosition()); + + input.close(); + } + + public void testSeekBeforeStreamNoEnd() throws IOException { + byte[] bytes = new byte[20]; + + MemoryCacheImageInputStream input = new MemoryCacheImageInputStream(new ByteArrayInputStream(bytes)); + + input.seek(10); + assertEquals(10, input.getStreamPosition()); + + IIOInputStreamAdapter stream = new IIOInputStreamAdapter(input); + assertEquals("Should not skip backwards", 0, stream.skip(-5)); + assertEquals(10, input.getStreamPosition()); + } + + public void testSeekBeforeStream() throws IOException { + byte[] bytes = new byte[20]; + + MemoryCacheImageInputStream input = new MemoryCacheImageInputStream(new ByteArrayInputStream(bytes)); + + input.seek(10); + assertEquals(10, input.getStreamPosition()); + + IIOInputStreamAdapter stream = new IIOInputStreamAdapter(input, 9); + assertEquals("Should not skip backwards", 0, stream.skip(-5)); + assertEquals(10, input.getStreamPosition()); + + } +} diff --git a/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java new file mode 100755 index 00000000..7a446284 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java @@ -0,0 +1,1373 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import com.twelvemonkeys.imageio.stream.URLImageInputStreamSpi; +import org.jmock.Mock; +import org.jmock.cglib.MockObjectTestCase; +import org.jmock.core.Invocation; +import org.jmock.core.Stub; + +import javax.imageio.*; +import javax.imageio.event.IIOReadProgressListener; +import javax.imageio.spi.IIORegistry; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.stream.ImageInputStream; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.awt.image.RenderedImage; +import java.awt.image.SampleModel; +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + +/** + * ImageReaderAbstractTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ImageReaderAbstractTestCase.java,v 1.0 Apr 1, 2008 10:36:46 PM haraldk Exp$ + */ +public abstract class ImageReaderAbstractTestCase extends MockObjectTestCase { + // TODO: Should we really test if he provider is installed? + // - Pro: Tests the META-INF/services config + // - Con: Not all providers should be installed at runtime... + + static { + IIORegistry.getDefaultInstance().registerServiceProvider(new URLImageInputStreamSpi()); + } + + protected abstract List getTestData(); + + /** + * Convenience method to get a list of test files from the classpath. + * Currently only works for resources on the filesystem (not in jars or + * archives). + * + * @param pResourceInFolder a resource in the correct classpath folder. + * @return a list of files + */ + protected final List getInputsFromClasspath(final String pResourceInFolder) { + URL resource = getClass().getClassLoader().getResource(pResourceInFolder); + assertNotNull(resource); + File dir; + try { + dir = new File(resource.toURI()).getParentFile(); + } + catch (URISyntaxException e) { + throw new RuntimeException(e); + } + List files = Arrays.asList(dir.listFiles()); + assertFalse(files.isEmpty()); + return files; + } + + protected abstract ImageReaderSpi createProvider(); + + protected abstract Class getReaderClass(); + + protected T createReader() { + try { + return getReaderClass().newInstance(); + } + catch (InstantiationException e) { + throw new RuntimeException(e); + } + catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + protected abstract List getFormatNames(); + + protected abstract List getSuffixes(); + + protected abstract List getMIMETypes(); + + protected void assertProviderInstalledForName(final String pFormat, final Class pReaderClass) { + assertProviderInstalled0(pFormat.toUpperCase(), pReaderClass, ImageIO.getImageReadersByFormatName(pFormat.toUpperCase())); + assertProviderInstalled0(pFormat.toLowerCase(), pReaderClass, ImageIO.getImageReadersByFormatName(pFormat.toLowerCase())); + } + + protected void assertProviderInstalledForMIMEType(final String pType, final Class pReaderClass) { + assertProviderInstalled0(pType, pReaderClass, ImageIO.getImageReadersByMIMEType(pType)); + } + + protected void assertProviderInstalledForSuffix(final String pType, final Class pReaderClass) { + assertProviderInstalled0(pType, pReaderClass, ImageIO.getImageReadersBySuffix(pType)); + } + + private void assertProviderInstalled0(final String pFormat, final Class pReaderClass, final Iterator pReaders) { + boolean found = false; + while (pReaders.hasNext()) { + ImageReader reader = pReaders.next(); + if (reader.getClass() == pReaderClass) { + found = true; + } + } + + assertTrue(pReaderClass.getSimpleName() + " not installed for " + pFormat, found); + } + + public void testProviderInstalledForNames() { + Class readerClass = getReaderClass(); + for (String name : getFormatNames()) { + assertProviderInstalledForName(name, readerClass); + } + } + + public void testProviderInstalledForSuffixes() { + Class readerClass = getReaderClass(); + for (String suffix : getSuffixes()) { + assertProviderInstalledForSuffix(suffix, readerClass); + } + } + + public void testProviderInstalledForMIMETypes() { + Class readerClass = getReaderClass(); + for (String type : getMIMETypes()) { + assertProviderInstalledForMIMEType(type, readerClass); + } + } + + public void testProviderCanRead() throws IOException { + List testData = getTestData(); + + ImageReaderSpi provider = createProvider(); + for (TestData data : testData) { + ImageInputStream stream = data.getInputStream(); + assertNotNull(stream); + assertTrue("Provider is expected to be able to decode data: " + data, provider.canDecodeInput(stream)); + } + } + + public void testProviderCanReadNull() { + boolean canRead = false; + try { + canRead = createProvider().canDecodeInput(null); + } + catch (IllegalArgumentException ignore) { + } + catch (RuntimeException e) { + fail("RuntimeException other than IllegalArgumentException thrown: " + e); + } + catch (IOException e) { + fail("Could not test data for read: " + e); + } + assertFalse("ImageReader can read null input", canRead); + } + + public void testSetInput() { + // Should just pass with no exceptions + ImageReader reader = createReader(); + assertNotNull(reader); + for (TestData data : getTestData()) { + reader.setInput(data.getInputStream()); + } + } + + public void testSetInputNull() { + // Should just pass with no exceptions + ImageReader reader = createReader(); + assertNotNull(reader); + reader.setInput(null); + } + + public void testRead() throws IOException { + ImageReader reader = createReader(); + for (TestData data : getTestData()) { + // TODO: Is it required to call reset before setInput? + reader.setInput(data.getInputStream()); + + // TODO: Require count to match? +// System.out.println("reader.getNumImages(true): " + reader.getNumImages(true)); + + for (int i = 0; i < data.getImageCount(); i++) { + BufferedImage image = null; + try { + image = reader.read(i); + } + catch (Exception e) { + e.printStackTrace(); + fail(String.format("Image %s index %s could not be read: %s", data.getInput(), i, e)); + } + assertNotNull(String.format("Image %s index %s was null!", data.getInput(), i), image); + + assertEquals( + String.format("Image %s index %s has wrong width: %s", data.getInput(), i, image.getWidth()), + data.getDimension(i).width, + image.getWidth() + ); + assertEquals( + String.format("Image %s index %s has wrong height: %s", data.getInput(), i, image.getHeight()), + data.getDimension(i).height, image.getHeight() + ); + } + } + } + + public void testReadIndexNegative() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(-1); + fail("Read image with illegal index"); + } + catch (IndexOutOfBoundsException ignore) { + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void testReadIndexOutOfBounds() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(Integer.MAX_VALUE); // TODO: This might actually not throw exception... + fail("Read image with index out of bounds"); + } + catch (IndexOutOfBoundsException ignore) { + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void testReadNoInput() { + ImageReader reader = createReader(); + // Do not set input + + BufferedImage image = null; + try { + image = reader.read(0); + fail("Read image with no input"); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void testReRead() throws IOException { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream(), false); // Explicitly allow repositioning, even though it's the default + + BufferedImage first = reader.read(0); + assertNotNull(first); + + BufferedImage second = reader.read(0); + assertNotNull(second); + + // TODO: These images should be exactly the same, but there's no equals for images + assertEquals(first.getType(), second.getType()); + assertEquals(first.getWidth(), second.getWidth()); + assertEquals(first.getHeight(), second.getHeight()); + } + + public void testReadIndexNegativeWithParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(-1, reader.getDefaultReadParam()); + fail("Read image with illegal index"); + } + catch (IndexOutOfBoundsException ignore) { + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void testReadIndexOutOfBoundsWithParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(99, reader.getDefaultReadParam()); + fail("Read image with index out of bounds"); + } + catch (IndexOutOfBoundsException ignore) { + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void testReadNoInputWithParam() { + ImageReader reader = createReader(); + // Do not set input + + BufferedImage image = null; + try { + image = reader.read(0, reader.getDefaultReadParam()); + fail("Read image with no input"); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void testReadWithNewParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(0, new ImageReadParam()); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + data.getDimension(0).width, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + data.getDimension(0).height, image.getHeight()); + } + + public void testReadWithDefaultParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(0, reader.getDefaultReadParam()); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + data.getDimension(0).width, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + data.getDimension(0).height, image.getHeight()); + } + + public void testReadWithNullParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(0, null); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + data.getDimension(0).width, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + data.getDimension(0).height, image.getHeight()); + } + + public void testReadWithSizeParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + ImageReadParam param = reader.getDefaultReadParam(); + + if (param.canSetSourceRenderSize()) { + param.setSourceRenderSize(new Dimension(10, 10)); + + BufferedImage image = null; + try { + image = reader.read(0, param); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + 10, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + 10, image.getHeight()); + } + } + + public void testReadWithSubsampleParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + ImageReadParam param = reader.getDefaultReadParam(); + + param.setSourceSubsampling(5, 5, 0, 0); + + BufferedImage image = null; + try { + image = reader.read(0, param); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: ", + (double) data.getDimension(0).width / 5.0, image.getWidth(), 1.0); + assertEquals("Read image has wrong height: ", + (double) data.getDimension(0).height / 5.0, image.getHeight(), 1.0); + } + + public void testReadWithSourceRegionParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + ImageReadParam param = reader.getDefaultReadParam(); + + param.setSourceRegion(new Rectangle(0, 0, 10, 10)); + + BufferedImage image = null; + try { + image = reader.read(0, param); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + 10, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + 10, image.getHeight()); + } + + public void testReadWithSizeAndSourceRegionParam() { + // TODO: Is this test correct??? + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + ImageReadParam param = reader.getDefaultReadParam(); + + if (param.canSetSourceRenderSize()) { + Dimension size = data.getDimension(0); + size = new Dimension(size.width * 2, size.height * 2); + + param.setSourceRenderSize(size); + param.setSourceRegion(new Rectangle(0, 0, 10, 10)); + + BufferedImage image = null; + try { + image = reader.read(0, param); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + 20, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + 20, image.getHeight()); + } + } + + public void testReadWithSubsampleAndSourceRegionParam() { + // NOTE: The "standard" (com.sun.imageio.plugin.*) ImageReaders pass + // this test, so the test should be correct... + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + ImageReadParam param = reader.getDefaultReadParam(); + + param.setSourceSubsampling(2, 2, 0, 0); + param.setSourceRegion(new Rectangle(0, 0, 10, 10)); + + BufferedImage image = null; + try { + image = reader.read(0, param); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + 5, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + 5, image.getHeight()); + + } + + public void readAsRenderedImageIndexNegative() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(-1, reader.getDefaultReadParam()); + fail("Read image with illegal index"); + } + catch (IndexOutOfBoundsException expected) { + // Ignore + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void readAsRenderedImageIndexOutOfBounds() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + BufferedImage image = null; + try { + image = reader.read(11, reader.getDefaultReadParam()); + fail("Read image with index out of bounds"); + } + catch (IndexOutOfBoundsException expected) { + // Ignore + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void readAsRenderedImageNoInput() { + ImageReader reader = createReader(); + // Do not set input + + BufferedImage image = null; + try { + image = reader.read(0, reader.getDefaultReadParam()); + fail("Read image with no input"); + } + catch (IllegalStateException expected) { + // Ignore + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNull(image); + } + + public void readAsRenderedImage() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + RenderedImage image = null; + try { + image = reader.readAsRenderedImage(0, null); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + data.getDimension(0).width, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + data.getDimension(0).height, image.getHeight()); + } + + public void readAsRenderedImageWithDefaultParam() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + RenderedImage image = null; + try { + image = reader.readAsRenderedImage(0, reader.getDefaultReadParam()); + } + catch (IOException e) { + fail("Image could not be read: " + e); + } + assertNotNull("Image was null!", image); + assertEquals("Read image has wrong width: " + image.getWidth(), + data.getDimension(0).width, image.getWidth()); + assertEquals("Read image has wrong height: " + image.getHeight(), + data.getDimension(0).height, image.getHeight()); + } + + public void testGetDefaultReadParam() { + ImageReader reader = createReader(); + ImageReadParam param = reader.getDefaultReadParam(); + assertNotNull(param); + } + + public void testGetFormatName() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + String name = null; + try { + name = reader.getFormatName(); + } + catch (IOException e) { + fail(e.getMessage()); + } + assertNotNull(name); + } + + public void testGetMinIndex() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + int num = 0; + + try { + num = reader.getMinIndex(); + } + catch (IllegalStateException ignore) { + } + assertEquals(0, num); + } + + public void testGetMinIndexNoInput() { + ImageReader reader = createReader(); + int num = 0; + + try { + num = reader.getMinIndex(); + } + catch (IllegalStateException ignore) { + } + assertEquals(0, num); + } + + public void testGetNumImages() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + int num = -1; + try { + num = reader.getNumImages(false); + } + catch (IOException e) { + fail(e.getMessage()); + } + assertTrue(num == -1 || num > 0); + + try { + num = reader.getNumImages(true); + } + catch (IOException e) { + fail(e.getMessage()); + } + assertTrue(num > 0); + } + + public void testGetNumImagesNoInput() { + ImageReader reader = createReader(); + int num = -1; + + try { + num = reader.getNumImages(false); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail(e.getMessage()); + } + assertEquals(-1, num); + + try { + num = reader.getNumImages(true); + fail("Should throw IllegalStateException"); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail(e.getMessage()); + } + assertEquals(-1, num); + } + + public void testGetWidth() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + int width = 0; + try { + width = reader.getWidth(0); + } + catch (IOException e) { + fail("Could not read image width: " + e); + } + assertEquals("Wrong width reported", data.getDimension(0).width, width); + } + + public void testGetWidthIndexOutOfBounds() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + //int width = 0; + try { + /*width = */reader.getWidth(-1); + // NOTE: Some readers (like the com.sun.imageio stuff) ignores + // index in getWidth/getHeight for formats with only one image... + //assertEquals("Wrong width reported", data.getDimension().width, width); + } + catch (IndexOutOfBoundsException ignore) { + } + catch (IOException e) { + fail("Could not read image aspect ratio: " + e); + } + } + + public void testGetWidthNoInput() { + ImageReader reader = createReader(); + + int width = 0; + try { + width = reader.getWidth(0); + fail("Width read without imput"); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail("Could not read image width: " + e); + } + assertEquals("Wrong width reported", 0, width); + } + + public void testGetHeight() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + int height = 0; + try { + height = reader.getHeight(0); + } + catch (IOException e) { + fail("Could not read image height: " + e); + } + assertEquals("Wrong height reported", data.getDimension(0).height, height); + } + + public void testGetHeightNoInput() { + ImageReader reader = createReader(); + + int height = 0; + try { + height = reader.getHeight(0); + fail("height read without imput"); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail("Could not read image height: " + e); + } + assertEquals("Wrong height reported", 0, height); + } + + public void testGetHeightIndexOutOfBounds() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + //int height = 0; + try { + /*height =*/ reader.getHeight(-1); + // NOTE: Some readers (like the com.sun.imageio stuff) ignores + // index in getWidth/getHeight for formats with only one image... + //assertEquals("Wrong height reported", data.getDimension().height, height); + } + catch (IndexOutOfBoundsException ignore) { + } + catch (IOException e) { + fail("Could not read image height: " + e); + } + } + + public void testGetAspectratio() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + float aspect = 0f; + try { + aspect = reader.getAspectRatio(0); + } + catch (IOException e) { + fail("Could not read image aspectratio" + e); + } + Dimension d = data.getDimension(0); + assertEquals("Wrong aspect aspectratio", d.getWidth() / d.getHeight(), aspect, 0.001); + } + + public void testGetAspectratioNoInput() { + ImageReader reader = createReader(); + + float aspect = 0f; + try { + aspect = reader.getAspectRatio(0); + fail("aspect read without imput"); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail("Could not read image aspectratio" + e); + } + assertEquals("Wrong aspect aspectratio", 0f, aspect, 0f); + } + + public void testGetAspectratioIndexOutOfBounds() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + //float aspectratio = 0f; + try { + // NOTE: Some readers (like the com.sun.imageio stuff) ignores + // index in getWidth/getHeight for formats with only one image... + /*aspectratio =*/ reader.getAspectRatio(-1); + //assertEquals("Wrong aspectratio aspectratio", data.getDimension().width / (float) data.getDimension().height, aspectratio, 0f); + } + catch (IndexOutOfBoundsException ignore) { + } + catch (IOException e) { + fail("Could not read image aspectratio" + e); + } + } + + public void testDispose() { + // TODO: Implement + } + + public void testAddIIOReadProgressListener() { + ImageReader reader = createReader(); + Mock mockListener = new Mock(IIOReadProgressListener.class); + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListener.proxy()); + } + + public void testAddIIOReadProgressListenerNull() { + ImageReader reader = createReader(); + reader.addIIOReadProgressListener(null); + } + + public void testAddIIOReadProgressListenerCallbacks() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + Mock mockListener = new Mock(IIOReadProgressListener.class); + String started = "Started"; + mockListener.expects(once()).method("imageStarted").withAnyArguments().id(started); + mockListener.stubs().method("imageProgress").withAnyArguments().after(started); + mockListener.expects(once()).method("imageComplete").withAnyArguments().after(started); + + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListener.proxy()); + + try { + reader.read(0); + } + catch (IOException e) { + fail("Could not read image"); + } + + // At least imageStarted and imageComplete, plus any number of imageProgress + mockListener.verify(); + } + + public void testMultipleAddIIOReadProgressListenerCallbacks() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + Mock mockListener = new Mock(IIOReadProgressListener.class); + String started = "Started"; + mockListener.expects(once()).method("imageStarted").withAnyArguments().id(started); + mockListener.stubs().method("imageProgress").withAnyArguments().after(started); + mockListener.expects(once()).method("imageComplete").withAnyArguments().after(started); + + Mock mockListenerToo = new Mock(IIOReadProgressListener.class); + String startedToo = "Started Two"; + mockListenerToo.expects(once()).method("imageStarted").withAnyArguments().id(startedToo); + mockListenerToo.stubs().method("imageProgress").withAnyArguments().after(startedToo); + mockListenerToo.expects(once()).method("imageComplete").withAnyArguments().after(startedToo); + + Mock mockListenerThree = new Mock(IIOReadProgressListener.class); + String startedThree = "Started Three"; + mockListenerThree.expects(once()).method("imageStarted").withAnyArguments().id(startedThree); + mockListenerThree.stubs().method("imageProgress").withAnyArguments().after(startedThree); + mockListenerThree.expects(once()).method("imageComplete").withAnyArguments().after(startedThree); + + + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListener.proxy()); + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListenerToo.proxy()); + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListenerThree.proxy()); + + try { + reader.read(0); + } + catch (IOException e) { + fail("Could not read image"); + } + + // At least imageStarted and imageComplete, plus any number of imageProgress + mockListener.verify(); + mockListenerToo.verify(); + mockListenerThree.verify(); + } + + public void testRemoveIIOReadProgressListenerNull() { + ImageReader reader = createReader(); + reader.removeIIOReadProgressListener(null); + } + + public void testRemoveIIOReadProgressListenerNone() { + ImageReader reader = createReader(); + Mock mockListener = new Mock(IIOReadProgressListener.class); + reader.removeIIOReadProgressListener((IIOReadProgressListener) mockListener.proxy()); + } + + public void testRemoveIIOReadProgressListener() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + Mock mockListener = new Mock(IIOReadProgressListener.class); + IIOReadProgressListener listener = (IIOReadProgressListener) mockListener.proxy(); + reader.addIIOReadProgressListener(listener); + reader.removeIIOReadProgressListener(listener); + + try { + reader.read(0); + } + catch (IOException e) { + fail("Could not read image"); + } + + // Should not have called any methods... + mockListener.verify(); + } + + public void testRemoveIIOReadProgressListenerMultiple() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + Mock mockListener = new Mock(IIOReadProgressListener.class, "Listener1"); + IIOReadProgressListener listener = (IIOReadProgressListener) mockListener.proxy(); + reader.addIIOReadProgressListener(listener); + + Mock mockListenerToo = new Mock(IIOReadProgressListener.class, "Listener2"); + mockListenerToo.expects(once()).method("imageStarted").with(eq(reader), eq(0)); + mockListenerToo.stubs().method("imageProgress").withAnyArguments(); + mockListenerToo.expects(once()).method("imageComplete").with(eq(reader)); + IIOReadProgressListener listenerToo = (IIOReadProgressListener) mockListenerToo.proxy(); + reader.addIIOReadProgressListener(listenerToo); + + reader.removeIIOReadProgressListener(listener); + + try { + reader.read(0); + } + catch (IOException e) { + fail("Could not read image"); + } + + // Should not have called any methods... + mockListener.verify(); + mockListenerToo.verify(); + } + + public void testRemoveAllIIOReadProgressListeners() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + Mock mockListener = new Mock(IIOReadProgressListener.class); + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListener.proxy()); + + reader.removeAllIIOReadProgressListeners(); + + try { + reader.read(0); + } + catch (IOException e) { + fail("Could not read image"); + } + + // Should not have called any methods... + mockListener.verify(); + } + + public void testRemoveAllIIOReadProgressListenersMultiple() { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + Mock mockListener = new Mock(IIOReadProgressListener.class); + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListener.proxy()); + + Mock mockListenerToo = new Mock(IIOReadProgressListener.class); + reader.addIIOReadProgressListener((IIOReadProgressListener) mockListenerToo.proxy()); + + reader.removeAllIIOReadProgressListeners(); + + try { + reader.read(0); + } + catch (IOException e) { + fail("Could not read image"); + } + + // Should not have called any methods... + mockListener.verify(); + mockListenerToo.verify(); + } + + public void testAbort() { + final ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + Mock mockListener = new Mock(IIOReadProgressListener.class, "Progress1"); + mockListener.stubs().method("imageStarted").withAnyArguments(); + mockListener.stubs().method("imageProgress").withAnyArguments(); + mockListener.expects(once()).method("readAborted").with(eq(reader)); + mockListener.stubs().method("imageComplete").withAnyArguments(); + IIOReadProgressListener listener = (IIOReadProgressListener) mockListener.proxy(); + reader.addIIOReadProgressListener(listener); + + Mock mockListenerToo = new Mock(IIOReadProgressListener.class, "Progress2"); + mockListenerToo.stubs().method("imageStarted").withAnyArguments(); + mockListenerToo.stubs().method("imageProgress").withAnyArguments(); + mockListenerToo.expects(once()).method("readAborted").with(eq(reader)); + mockListenerToo.stubs().method("imageComplete").withAnyArguments(); + IIOReadProgressListener listenerToo = (IIOReadProgressListener) mockListenerToo.proxy(); + reader.addIIOReadProgressListener(listenerToo); + + // Create a listener that just makes the reader abort immediately... + Mock abortingListener = new Mock(IIOReadProgressListener.class, "Aborter"); + abortingListener.stubs().method("readAborted").withAnyArguments(); + abortingListener.stubs().method("imageComplete").withAnyArguments(); + Stub abort = new Stub() { + public Object invoke(Invocation pInvocation) throws Throwable { + reader.abort(); + return null; + } + + public StringBuffer describeTo(StringBuffer pStringBuffer) { + pStringBuffer.append("aborting"); + return pStringBuffer; + } + }; + abortingListener.stubs().method("imageProgress").will(abort); + abortingListener.stubs().method("imageStarted").will(abort); + + reader.addIIOReadProgressListener((IIOReadProgressListener) abortingListener.proxy()); + + try { + reader.read(0); + } + catch (IOException e) { + fail("Could not read image: " + e.getMessage() ); + } + + mockListener.verify(); + mockListenerToo.verify(); + } + + public void testGetTypeSpecifiers() throws IOException { + final ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + ImageTypeSpecifier rawType = reader.getRawImageType(0); + assertNotNull(rawType); + + Iterator types = reader.getImageTypes(0); + + assertNotNull(types); + assertTrue(types.hasNext()); + + // TODO: This might fail even though the specifiers are obviously equal, if the + // color spaces they use are not the SAME instance, as ColorSpace uses identity equals + // and Interleaved ImageTypeSpecifiers are only equal if color spaces are equal... + boolean rawFound = false; + while (types.hasNext()) { + ImageTypeSpecifier type = types.next(); + if (type.equals(rawType)) { + rawFound = true; + break; + } + } + + assertTrue("ImageTypeSepcifier from getRawImageType should be in the iterator from getImageTypes", rawFound); + } + + public void testSetDestination() throws IOException { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + ImageReadParam param = reader.getDefaultReadParam(); + Iterator types = reader.getImageTypes(0); + while (types.hasNext()) { + ImageTypeSpecifier type = types.next(); + + BufferedImage destination = type.createBufferedImage(50, 50); + param.setDestination(destination); + + BufferedImage result = reader.read(0, param); + + assertSame(destination, result); + } + } + + public void testSetDestinationRaw() throws IOException { + ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + ImageReadParam param = reader.getDefaultReadParam(); + + ImageTypeSpecifier type = reader.getRawImageType(0); + BufferedImage destination = type.createBufferedImage(reader.getWidth(0), reader.getHeight(0)); + param.setDestination(destination); + + BufferedImage result = reader.read(0, param); + + assertSame(destination, result); + } + + // TODO: This test is foobar.. + public void testSetDestinationIllegal() throws IOException { + // TODO: Test that the reader throws IIOException if given an illegal destination + final ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + Iterator types = reader.getImageTypes(0); + + ImageReadParam param = reader.getDefaultReadParam(); + // TODO: Should either be a type from image type specifiers or throw IIOException in read + BufferedImage destination = new BufferedImage(50, 50, BufferedImage.TYPE_INT_RGB); + param.setDestination(destination); + + try { + reader.read(0, param); + fail("Expected to throw exception with wrong type specifier"); + } + catch (IIOException e) { + assertTrue(e.getMessage().toLowerCase().contains("type")); + } + } + + // TODO: Test dest offset + destination set? + public void testSetDestinationOffset() throws IOException { + final ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + ImageReadParam param = reader.getDefaultReadParam(); + Point point = new Point(10, 10); + param.setDestinationOffset(point); + + BufferedImage image = reader.read(0, param); + + assertNotNull(image); + assertEquals(reader.getWidth(0) + point.x, image.getWidth()); + assertEquals(reader.getHeight(0) + point.y, image.getHeight()); + } + + public void testSetDestinationOffsetNull() throws IOException { + final ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + ImageReadParam param = reader.getDefaultReadParam(); + try { + param.setDestinationOffset(null); + fail("Null offset not allowed"); + } + catch (IllegalArgumentException e) { + assertTrue(e.getMessage().toLowerCase().contains("offset")); + } + } + + public void testSetDestinationType() throws IOException { + final ImageReader reader = createReader(); + TestData data = getTestData().get(0); + reader.setInput(data.getInputStream()); + + ImageReadParam param = reader.getDefaultReadParam(); + + Iterator types = reader.getImageTypes(0); + while (types.hasNext()) { + ImageTypeSpecifier type = types.next(); + param.setDestinationType(type); + + BufferedImage result = reader.read(0, param); + + assertEquals(type.getColorModel(), result.getColorModel()); + +// assertEquals(type.getSampleModel(), result.getSampleModel()); + SampleModel expectedModel = type.getSampleModel(); + SampleModel resultModel = result.getSampleModel(); + + assertEquals(expectedModel.getDataType(), resultModel.getDataType()); + assertEquals(expectedModel.getNumBands(), resultModel.getNumBands()); + assertEquals(expectedModel.getNumDataElements(), resultModel.getNumDataElements()); + assertTrue(Arrays.equals(expectedModel.getSampleSize(), resultModel.getSampleSize())); + assertEquals(expectedModel.getTransferType(), resultModel.getTransferType()); + for (int i = 0; i < expectedModel.getNumBands(); i++) { + assertEquals(expectedModel.getSampleSize(i), resultModel.getSampleSize(i)); + } + } + } + + public void testSetDestinationTypeIllegal() throws IOException { + throw new UnsupportedOperationException("Method testSetDestinationTypeIllegal not implemented"); // TODO: Implement + } + + public void testSetDestinationBands() throws IOException { + throw new UnsupportedOperationException("Method testSetDestinationBands not implemented"); // TODO: Implement + } + + public void testSetSourceBands() throws IOException { + throw new UnsupportedOperationException("Method testSetDestinationBands not implemented"); // TODO: Implement + } + + + protected URL getClassLoaderResource(final String pName) { + return getClass().getResource(pName); + } + + static final protected class TestData { + private final Object mInput; + private final List mSizes; + private final List mImages; + + public TestData(final Object pInput, final Dimension... pSizes) { + this(pInput, Arrays.asList(pSizes), null); + } + + public TestData(final Object pInput, final BufferedImage... pImages) { + this(pInput, null, Arrays.asList(pImages)); + } + + public TestData(final Object pInput, final List pSizes, final List pImages) { + if (pInput == null) { + throw new IllegalArgumentException("input == null"); + } + + mSizes = new ArrayList(); + mImages = new ArrayList(); + + List sizes = pSizes; + if (sizes == null) { + sizes = new ArrayList(); + if (pImages != null) { + for (BufferedImage image : pImages) { + sizes.add(new Dimension(image.getWidth(), image.getHeight())); + } + } + else { + throw new IllegalArgumentException("Need either size or image"); + } + } + else if (pImages != null) { + if (pImages.size() != pSizes.size()) { + throw new IllegalArgumentException("Size parameter and image size differs"); + } + for (int i = 0; i < sizes.size(); i++) { + if (!new Dimension(pImages.get(i).getWidth(), pImages.get(i).getHeight()).equals(sizes.get(i))) { + throw new IllegalArgumentException("Size parameter and image size differs"); + } + + } + } + + mSizes.addAll(sizes); + if (pImages != null) { + mImages.addAll(pImages); + } + + mInput = pInput; + } + + public Object getInput() { + return mInput; + } + + public ImageInputStream getInputStream() { + try { + ImageInputStream stream = ImageIO.createImageInputStream(mInput); + assertNotNull("Could not create ImageInputStream for input: " + mInput, stream); + return stream; + } + catch (IOException e) { + fail("Could not create ImageInputStream for input: " + mInput + + "\n caused by: " + e.getMessage()); + } + return null; + } + + public int getImageCount() { + return mSizes.size(); + } + + public Dimension getDimension(final int pIndex) { + return mSizes.get(pIndex); + } + + public BufferedImage getImage(final int pIndex) { + return mImages.get(pIndex); + } + + @Override + public String toString() { + return getClass().getSimpleName() + ": " + String.valueOf(mInput); + } + } +} diff --git a/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageWriterAbstractTestCase.java b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageWriterAbstractTestCase.java new file mode 100755 index 00000000..13373a4e --- /dev/null +++ b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/ImageWriterAbstractTestCase.java @@ -0,0 +1,322 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.util; + +import org.jmock.Mock; +import org.jmock.cglib.MockObjectTestCase; + +import javax.imageio.ImageIO; +import javax.imageio.ImageWriteParam; +import javax.imageio.ImageWriter; +import javax.imageio.event.IIOWriteProgressListener; +import java.awt.image.RenderedImage; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +/** + * ImageReaderAbstractTestCase class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: ImageReaderAbstractTestCase.java,v 1.0 18.nov.2004 17:38:33 haku Exp $ + */ +public abstract class ImageWriterAbstractTestCase extends MockObjectTestCase { + + protected abstract ImageWriter createImageWriter(); + + protected abstract RenderedImage getTestData(); + + public void testSetOutput() throws IOException { + // Should just pass with no exceptions + ImageWriter writer = createImageWriter(); + assertNotNull(writer); + writer.setOutput(ImageIO.createImageOutputStream(new ByteArrayOutputStream())); + } + + public void testSetOutputNull() { + // Should just pass with no exceptions + ImageWriter writer = createImageWriter(); + assertNotNull(writer); + writer.setOutput(null); + } + + public void testWrite() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + try { + writer.write(getTestData()); + } + catch (IOException e) { + fail(e.getMessage()); + } + assertTrue("No image data written", buffer.size() > 0); + } + + public void testWrite2() { + // Note: There's a difference between new ImageOutputStreamImpl and + // ImageIO.createImageOutputStream... Make sure writers handle both + // cases + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + try { + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + writer.write(getTestData()); + } + catch (IOException e) { + fail(e.getMessage()); + } + + assertTrue("No image data written", buffer.size() > 0); + } + + public void testWriteNull() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + try { + writer.write((RenderedImage) null); + } + catch(IllegalArgumentException ignore) { + } + catch (IOException e) { + fail(e.getMessage()); + } + assertTrue("Image data written", buffer.size() == 0); + } + + public void testWriteNoOutput() { + ImageWriter writer = createImageWriter(); + try { + writer.write(getTestData()); + } + catch (IllegalStateException ignore) { + } + catch (IOException e) { + fail(e.getMessage()); + } + } + + public void testGetDefaultWriteParam() { + ImageWriter writer = createImageWriter(); + ImageWriteParam param = writer.getDefaultWriteParam(); + assertNotNull("Default ImageWriteParam is null", param); + } + + // TODO: Test writing with params + // TODO: Source region and subsampling at least + + public void testAddIIOWriteProgressListener() { + ImageWriter writer = createImageWriter(); + Mock mockListener = new Mock(IIOWriteProgressListener.class); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + } + + public void testAddIIOWriteProgressListenerNull() { + ImageWriter writer = createImageWriter(); + writer.addIIOWriteProgressListener(null); + } + + public void testAddIIOWriteProgressListenerCallbacks() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + + Mock mockListener = new Mock(IIOWriteProgressListener.class); + String started = "Started"; + mockListener.expects(once()).method("imageStarted").withAnyArguments().id(started); + mockListener.stubs().method("imageProgress").withAnyArguments().after(started); + mockListener.expects(once()).method("imageComplete").withAnyArguments().after(started); + + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + + try { + writer.write(getTestData()); + } + catch (IOException e) { + fail("Could not write image"); + } + + // At least imageStarted and imageComplete, plus any number of imageProgress + mockListener.verify(); + } + + public void testMultipleAddIIOWriteProgressListenerCallbacks() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + + Mock mockListener = new Mock(IIOWriteProgressListener.class); + String started = "Started"; + mockListener.expects(once()).method("imageStarted").withAnyArguments().id(started); + mockListener.stubs().method("imageProgress").withAnyArguments().after(started); + mockListener.expects(once()).method("imageComplete").withAnyArguments().after(started); + + Mock mockListenerToo = new Mock(IIOWriteProgressListener.class); + String startedToo = "Started Two"; + mockListenerToo.expects(once()).method("imageStarted").withAnyArguments().id(startedToo); + mockListenerToo.stubs().method("imageProgress").withAnyArguments().after(startedToo); + mockListenerToo.expects(once()).method("imageComplete").withAnyArguments().after(startedToo); + + Mock mockListenerThree = new Mock(IIOWriteProgressListener.class); + String startedThree = "Started Three"; + mockListenerThree.expects(once()).method("imageStarted").withAnyArguments().id(startedThree); + mockListenerThree.stubs().method("imageProgress").withAnyArguments().after(startedThree); + mockListenerThree.expects(once()).method("imageComplete").withAnyArguments().after(startedThree); + + + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListenerToo.proxy()); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListenerThree.proxy()); + + try { + writer.write(getTestData()); + } + catch (IOException e) { + fail("Could not write image"); + } + + // At least imageStarted and imageComplete, plus any number of imageProgress + mockListener.verify(); + mockListenerToo.verify(); + mockListenerThree.verify(); + } + + + public void testRemoveIIOWriteProgressListenerNull() { + ImageWriter writer = createImageWriter(); + writer.removeIIOWriteProgressListener(null); + } + + public void testRemoveIIOWriteProgressListenerNone() { + ImageWriter writer = createImageWriter(); + Mock mockListener = new Mock(IIOWriteProgressListener.class); + writer.removeIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + } + + public void testRemoveIIOWriteProgressListener() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + + Mock mockListener = new Mock(IIOWriteProgressListener.class); + IIOWriteProgressListener listener = (IIOWriteProgressListener) mockListener.proxy(); + writer.addIIOWriteProgressListener(listener); + writer.removeIIOWriteProgressListener(listener); + + try { + writer.write(getTestData()); + } + catch (IOException e) { + fail("Could not write image"); + } + + // Should not have called any methods... + mockListener.verify(); + } + + public void testRemoveIIOWriteProgressListenerMultiple() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + + + Mock mockListener = new Mock(IIOWriteProgressListener.class); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + + Mock mockListenerToo = new Mock(IIOWriteProgressListener.class); + mockListenerToo.stubs().method("imageStarted").withAnyArguments(); + mockListenerToo.stubs().method("imageProgress").withAnyArguments(); + mockListenerToo.stubs().method("imageComplete").withAnyArguments(); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListenerToo.proxy()); + + writer.removeIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + + try { + writer.write(getTestData()); + } + catch (IOException e) { + fail("Could not write image"); + } + + // Should not have called any methods... + mockListener.verify(); + mockListenerToo.verify(); + } + + + public void testRemoveAllIIOWriteProgressListeners() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + + + Mock mockListener = new Mock(IIOWriteProgressListener.class); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + + writer.removeAllIIOWriteProgressListeners(); + + try { + writer.write(getTestData()); + } + catch (IOException e) { + fail("Could not write image"); + } + + // Should not have called any methods... + mockListener.verify(); + } + + public void testRemoveAllIIOWriteProgressListenersMultiple() throws IOException { + ImageWriter writer = createImageWriter(); + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + writer.setOutput(ImageIO.createImageOutputStream(buffer)); + + + Mock mockListener = new Mock(IIOWriteProgressListener.class); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListener.proxy()); + + Mock mockListenerToo = new Mock(IIOWriteProgressListener.class); + writer.addIIOWriteProgressListener((IIOWriteProgressListener) mockListenerToo.proxy()); + + writer.removeAllIIOWriteProgressListeners(); + + try { + writer.write(getTestData()); + } + catch (IOException e) { + fail("Could not write image"); + } + + // Should not have called any methods... + mockListener.verify(); + mockListenerToo.verify(); + } + +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifierTestCase.java b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifierTestCase.java new file mode 100755 index 00000000..3b24dfa9 --- /dev/null +++ b/twelvemonkeys-imageio/core/src/test/java/com/twelvemonkeys/imageio/util/IndexedImageTypeSpecifierTestCase.java @@ -0,0 +1,28 @@ +package com.twelvemonkeys.imageio.util; + +import junit.framework.TestCase; + +import java.awt.image.DataBuffer; +import java.awt.image.IndexColorModel; + +/** + * IndexedImageTypeSpecifierTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: IndexedImageTypeSpecifierTestCase.java,v 1.0 Jun 9, 2008 2:42:03 PM haraldk Exp$ + */ +public class IndexedImageTypeSpecifierTestCase extends TestCase { + public void testEquals() { + IndexColorModel cm = new IndexColorModel(1, 2, new int[]{0xffffff, 0x00}, 0, false, -1, DataBuffer.TYPE_BYTE); + + IndexedImageTypeSpecifier spec = new IndexedImageTypeSpecifier(cm); + IndexedImageTypeSpecifier other = new IndexedImageTypeSpecifier(cm); + + assertEquals(spec, other); + assertEquals(other, spec); + + assertTrue(spec.equals(other)); + assertTrue(other.equals(spec)); + } +} diff --git a/twelvemonkeys-imageio/core/src/test/resources/Thumbs-camera.db b/twelvemonkeys-imageio/core/src/test/resources/Thumbs-camera.db new file mode 100755 index 0000000000000000000000000000000000000000..1adedbb882a3f42a976a57d4756c126241c142f9 GIT binary patch literal 79360 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 HZR>vk303os literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/core/todo.txt b/twelvemonkeys-imageio/core/todo.txt new file mode 100755 index 00000000..c2644570 --- /dev/null +++ b/twelvemonkeys-imageio/core/todo.txt @@ -0,0 +1,8 @@ +- Rename to imageio-common? +- Separate modules for more for more plugins + - The BMP reader spports some special formats not supported by Sun reader + - PNM package is pretty complete, but useless, as it's provided by Sun? Licencse? + - WBMP? + - XBM? +DONE: +- Split up into separate plugins (modules), to allow easier configuration \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/license.txt b/twelvemonkeys-imageio/ico/license.txt new file mode 100755 index 00000000..2d8ee79c --- /dev/null +++ b/twelvemonkeys-imageio/ico/license.txt @@ -0,0 +1,25 @@ +Copyright (c) 2009, Harald Kuhr +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name "TwelveMonkeys" nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/pom.xml b/twelvemonkeys-imageio/ico/pom.xml new file mode 100755 index 00000000..0b696731 --- /dev/null +++ b/twelvemonkeys-imageio/ico/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + com.twelvemonkeys.imageio + twelvemonkeys-imageio-ico + 2.1 + TwelveMonkeys ImageIO ICO plugin + ImageIO plugin for Windows Icon (ICO) and Cursor (CUR) format. + + + twelvemonkeys-imageio + com.twelvemonkeys + 2.1 + + + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + tests + + + \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapDescriptor.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapDescriptor.java new file mode 100755 index 00000000..36c67748 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapDescriptor.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import com.twelvemonkeys.lang.Validate; + +import java.awt.image.BufferedImage; + +/** + * Describes a bitmap structure. + * + * @author Harald Kuhr + * @version $Id: Bitmap.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +abstract class BitmapDescriptor { + protected final DirectoryEntry mEntry; + protected final DIBHeader mHeader; + + protected BufferedImage mImage; + + public BitmapDescriptor(final DirectoryEntry pEntry, final DIBHeader pHeader) { + Validate.notNull(pEntry, "entry"); + Validate.notNull(pHeader, "header"); + + mEntry = pEntry; + mHeader = pHeader; + } + + abstract public BufferedImage getImage(); + + public final int getWidth() { + return mEntry.getWidth(); + } + + public final int getHeight() { + return mEntry.getHeight(); + } + + protected final int getColorCount() { + return mEntry.getColorCount() != 0 ? mEntry.getColorCount() : 1 << getBitCount(); + } + + protected final int getBitCount() { + return mEntry.getBitCount() != 0 ? mEntry.getBitCount() : mHeader.getBitCount(); + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapIndexed.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapIndexed.java new file mode 100755 index 00000000..bd73dd75 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapIndexed.java @@ -0,0 +1,182 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import com.twelvemonkeys.image.InverseColorMapIndexColorModel; + +import java.awt.image.BufferedImage; +import java.awt.image.DataBuffer; +import java.awt.image.IndexColorModel; +import java.awt.image.WritableRaster; +import java.util.Hashtable; + +/** + * Describes an indexed bitmap structure (1, 4, or 8 bits per pixes). + * + * @author Harald Kuhr + * @version $Id: BitmapIndexed.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +class BitmapIndexed extends BitmapDescriptor { + protected final int[] mBits; + protected final int[] mColors; + + private BitmapMask mMask; + + public BitmapIndexed(final DirectoryEntry pEntry, final DIBHeader pHeader) { + super(pEntry, pHeader); + mBits = new int[getWidth() * getHeight()]; + + // NOTE: We're adding space for one extra color, for transparency + mColors = new int[getColorCount() + 1]; + } + + public BufferedImage createImageIndexed() { + // TODO: This is very stupid, maybe we need a TYPE_CUSTOM image, with separate alphaRaster?! + // As ICO has a separate bitmask, not related to palette index (allows 256 colors + trans) :-P + + IndexColorModel icm = createColorModel(); + + // This is slightly obscure, and should probably be moved.. + Hashtable properties = null; + if (mEntry instanceof DirectoryEntry.CUREntry) { + DirectoryEntry.CUREntry entry = (DirectoryEntry.CUREntry) mEntry; + properties = new Hashtable(1); + properties.put("cursor_hotspot", entry.getHotspot()); + } + + BufferedImage image = new BufferedImage( + icm, + icm.createCompatibleWritableRaster(getWidth(), getHeight()), + icm.isAlphaPremultiplied(), properties + ); + + WritableRaster raster = image.getRaster(); + + // Make pixels transparant according to mask + final int trans = icm.getTransparentPixel(); + for (int y = 0; y < getHeight(); y++) { + for (int x = 0; x < getWidth(); x++) { + if (mMask.isTransparent(x, y)) { + mBits[x + getWidth() * y] = trans; + } + } + } + + raster.setSamples(0, 0, getWidth(), getHeight(), 0, mBits); + + //System.out.println("Image: " + image); + + return image; + } + + /** + * @return Color model created from color palette in entry + */ + IndexColorModel createColorModel() { + // NOTE: This is a hack to make room for transparent pixel for mask + int bits = getBitCount(); + + int colors = mColors.length; + int trans = -1; + + // Try to avoid USHORT transfertype, as it results in BufferedImage TYPE_CUSTOM + // NOTE: This code assumes icons are small, and is NOT optimized for performance... + if (colors > (1 << getBitCount())) { + int index = BitmapIndexed.findTransIndexMaybeRemap(mColors, mBits); + + if (index == -1) { + // No duplicate found, increase bitcount + bits++; + trans = mColors.length - 1; + } + else { + // Found a duplicate, use it as trans + trans = index; + colors--; + } + } + + // NOTE: Setting hasAlpha to true, makes things work on 1.2 + return new InverseColorMapIndexColorModel( + bits, colors, mColors, 0, true, trans, + bits <= 8 ? DataBuffer.TYPE_BYTE : DataBuffer.TYPE_USHORT + ); + } + + private static int findTransIndexMaybeRemap(final int[] pColors, final int[] pBits) { + // Look for unused colors, to use as transparent + final boolean[] used = new boolean[pColors.length - 1]; + for (int pBit : pBits) { + if (!used[pBit]) { + used[pBit] = true; + } + } + + for (int i = 0; i < used.length; i++) { + if (!used[i]) { + return i; + } + } + + // Try to find duplicates in colormap, and remap + int trans = -1; + int duplicate = -1; + for (int i = 0; trans == -1 && i < pColors.length - 1; i++) { + for (int j = i + 1; j < pColors.length - 1; j++) { + if (pColors[i] == pColors[j]) { + trans = j; + duplicate = i; + break; + } + } + } + + if (trans != -1) { + // Remap duplicate + for (int i = 0; i < pBits.length; i++) { + if (pBits[i] == trans) { + pBits[i] = duplicate; + } + } + } + + return trans; + } + + public BufferedImage getImage() { + if (mImage == null) { + mImage = createImageIndexed(); + } + return mImage; + } + + public void setMask(final BitmapMask pMask) { + mMask = pMask; + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapMask.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapMask.java new file mode 100755 index 00000000..e5e11c1c --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapMask.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import java.awt.image.BufferedImage; + + +/** + * Describes a transparency mask structure (1 bit). + * + * @author Harald Kuhr + * @version $Id: BitmapMask.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +class BitmapMask extends BitmapDescriptor { + protected final BitmapIndexed mMask; + + public BitmapMask(final DirectoryEntry pParent, final DIBHeader pHeader) { + super(pParent, pHeader); + mMask = new BitmapIndexed(pParent, pHeader); + } + + boolean isTransparent(final int pX, final int pY) { + // NOTE: 1: Fully transparent, 0: Opaque... + return mMask.mBits[pX + pY * getWidth()] != 0; + } + + public BufferedImage getImage() { + return mMask.getImage(); + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapRGB.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapRGB.java new file mode 100755 index 00000000..774caf48 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapRGB.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import java.awt.image.BufferedImage; + +/** + * Describes an RGB/true color bitmap structure (16, 24 and 32 bits per pixel). + * + * @author Harald Kuhr + * @version $Id: BitmapRGB.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +class BitmapRGB extends BitmapDescriptor { + + public BitmapRGB(final DirectoryEntry pEntry, final DIBHeader pHeader) { + super(pEntry, pHeader); + } + + public BufferedImage getImage() { + return mImage; + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapUnsupported.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapUnsupported.java new file mode 100755 index 00000000..73d7be5b --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/BitmapUnsupported.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import java.awt.image.BufferedImage; + +/** + * Represents bitmap structures we can't read. + * Allows for deferred exception handling, and allowing clients to read all images that can be read. + * + * @author Harald Kuhr + * @version $Id: BitmapUnsupported.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +class BitmapUnsupported extends BitmapDescriptor { + private String mMessage; + + public BitmapUnsupported(final DirectoryEntry pEntry, final String pMessage) { + super(pEntry, null); + + mMessage = pMessage; + } + + public BufferedImage getImage() { + throw new IllegalStateException(mMessage); + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReader.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReader.java new file mode 100755 index 00000000..77a8abd6 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReader.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.io.IOException; + +/** + * ImageReader for Microsoft Windows CUR (cursor) format. + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: CURImageReader.java,v 1.0 Apr 20, 2009 11:54:28 AM haraldk Exp$ + * + * @see com.twelvemonkeys.imageio.plugins.ico.ICOImageReader + */ +public class CURImageReader extends ICOImageReader { + // NOTE: All implementation is part of the ICOImageReader + + public CURImageReader() { + super(DIB.TYPE_CUR); + } + + protected CURImageReader(final ImageReaderSpi pProvider) { + super(pProvider); + } + + /** + * Returns the hotspot location for the cursor. + * + * @param pImageIndex the index of the cursor in the current input. + * @return the hotspot location for the cursor + * + * @throws IOException if an I/O exception occurs during reading of image meta data + * @throws IndexOutOfBoundsException if {@code pImageIndex} is less than {@code 0} or greater than/equal to + * the number of cursors in the file + */ + public final Point getHotSpot(final int pImageIndex) throws IOException { + DirectoryEntry.CUREntry entry = (DirectoryEntry.CUREntry) getEntry(pImageIndex); + return entry.getHotspot(); + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderSpi.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderSpi.java new file mode 100755 index 00000000..34dab925 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderSpi.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import javax.imageio.ImageReader; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * CURImageReaderSpi + * + * @author Harald Kuhr + * @version $Id: CURImageReaderSpi.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +public class CURImageReaderSpi extends ImageReaderSpi { + + public CURImageReaderSpi() { + super( + "TwelveMonkeys", + "2.1", + new String[]{"cur", "CUR"}, + new String[]{"cur"}, + new String[]{ + "image/vnd.microsoft.cursor", // Official IANA MIME + "image/x-cursor", // Common extension MIME + "image/cursor" // Unofficial, but common + }, + "com.twelvemonkeys.imageio.plugins.ico.CURImageReader", + STANDARD_INPUT_TYPE, + null, + true, null, null, null, null, + true, + null, null, + null, null + ); + } + + public boolean canDecodeInput(final Object pSource) throws IOException { + return pSource instanceof ImageInputStream && ICOImageReaderSpi.canDecode((ImageInputStream) pSource, DIB.TYPE_CUR); + } + + public ImageReader createReaderInstance(final Object pExtension) throws IOException { + return new CURImageReader(this); + } + + public String getDescription(final Locale pLocale) { + return "Windows Cursor Format (CUR) Reader"; + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIB.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIB.java new file mode 100755 index 00000000..3a02d970 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIB.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +/** + * DIB + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: DIB.java,v 1.0 Apr 8, 2008 1:43:04 PM haraldk Exp$ + * + * @see BMP file format (Wikipedia) + * @see ICO file format (Wikipedia) + */ +interface DIB { + int TYPE_UNKNOWN = 0; + int TYPE_ICO = 1; + int TYPE_CUR = 2; + + /** BITMAPCOREHEADER size, OS/2 V1 */ + int OS2_V1_HEADER_SIZE = 12; + + /** BITMAPCOREHEADER size, OS/2 V2 */ + int OS2_V2_HEADER_SIZE = 64; + + /** + * BITMAPINFOHEADER size, Windows 3.0 and later. + * This is the most commonly used header for persistent bitmaps + */ + int WINDOWS_V3_HEADER_SIZE = 40; + + /** BITMAPV4HEADER size, Windows 95/NT4 and later */ + int WINDOWS_V4_HEADER_SIZE = 108; + + /** BITMAPV5HEADER size, Windows 98/2000 and later */ + int WINDOWS_V5_HEADER_SIZE = 124; + + /** PNG "magic" identifier */ + long PNG_MAGIC = 0x89l << 56 | (long) 'P' << 48 | (long) 'N' << 40 | (long) 'G' << 32 | 0x0dl << 24 | 0x0al << 16 | 0x1al << 8 | 0x0al; +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIBHeader.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIBHeader.java new file mode 100755 index 00000000..af4ef23f --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DIBHeader.java @@ -0,0 +1,197 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import javax.imageio.IIOException; +import java.io.DataInput; +import java.io.IOException; + +/** + * Represents the DIB (Device Independent Bitmap) Information header structure. + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: DIBHeader.java,v 1.0 May 5, 2009 10:45:31 AM haraldk Exp$ + * @see BMP file format (Wikipedia) + */ +abstract class DIBHeader { + protected int mSize; + + protected int mWidth; + + // NOTE: If a bitmask is present, this value includes the height of the mask + // (so often header.height = entry.height * 2) + protected int mHeight; + + protected int mPlanes; + protected int mBitCount; + + /** + * 0 = BI_RGB: No compression + * 1 = BI_RLE8: 8 bit RLE Compression (8 bit only) + * 2 = BI_RLE4: 4 bit RLE Compression (4 bit only) + * 3 = BI_BITFIELDS: No compression (16 & 32 bit only) + */ + protected int mCompression; + + // May be 0 if not known + protected int mImageSize; + + protected int mXPixelsPerMeter; + protected int mYPixelsPerMeter; + + protected int mColorsUsed; + + // 0 means all colors are important + protected int mColorsImportant; + + protected DIBHeader() { + } + + public static DIBHeader read(final DataInput pStream) throws IOException { + int size = pStream.readInt(); + + // ICO always uses the Microsoft Windows V3 DIB header, which is 40 bytes + DIBHeader header = createHeader(size); + header.read(size, pStream); + + return header; + } + + private static DIBHeader createHeader(final int pSize) throws IOException { + switch (pSize) { + case DIB.OS2_V1_HEADER_SIZE: + case DIB.OS2_V2_HEADER_SIZE: + throw new IIOException(String.format("OS/2 Bitmap Information Header (size: %s) not supported", pSize)); + case DIB.WINDOWS_V3_HEADER_SIZE: + return new WindowsV3DIBHeader(); + case DIB.WINDOWS_V4_HEADER_SIZE: + case DIB.WINDOWS_V5_HEADER_SIZE: + throw new IIOException(String.format("Windows Bitmap Information Header (size: %s) not supported", pSize)); + default: + throw new IIOException(String.format("Unknown Bitmap Information Header (size: %s)", pSize)); + } + } + + protected abstract void read(int pSize, DataInput pStream) throws IOException; + + public final int getSize() { + return mSize; + } + + public final int getWidth() { + return mWidth; + } + + public final int getHeight() { + return mHeight; + } + + public final int getPlanes() { + return mPlanes; + } + + public final int getBitCount() { + return mBitCount; + } + + public int getCompression() { + return mCompression; + } + + public int getImageSize() { + return mImageSize; + } + + public int getXPixelsPerMeter() { + return mXPixelsPerMeter; + } + + public int getYPixelsPerMeter() { + return mYPixelsPerMeter; + } + + public int getColorsUsed() { + return mColorsUsed; + } + + public int getColorsImportant() { + return mColorsImportant; + } + + public String toString() { + return String.format( + "%s: size: %d bytes, " + + "width: %d, height: %d, planes: %d, bit count: %d, compression: %d, " + + "image size: %d%s, " + + "X pixels per m: %d, Y pixels per m: %d, " + + "colors used: %d, colors important: %d%s", + getClass().getSimpleName(), + getSize(), getWidth(), getHeight(), getPlanes(), getBitCount(), getCompression(), + getImageSize(), (getImageSize() == 0 ? " (unknown)" : ""), + getXPixelsPerMeter(), getYPixelsPerMeter(), + getColorsUsed(), getColorsImportant(), (getColorsImportant() == 0 ? " (all)" : "") + ); + } + + /** + * Represents the DIB (Device Independent Bitmap) Windows V3 Bitmap Information header structure. + * This is the common format for persistent DIB structures, even if Windows + * may use the later versions at run-time. + *

+ * + * @author Harald Kuhr + * @version $Id: DIBHeader.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + * @see BMP file format (Wikipedia) + */ + static final class WindowsV3DIBHeader extends DIBHeader { + protected void read(final int pSize, final DataInput pStream) throws IOException { + if (pSize != DIB.WINDOWS_V3_HEADER_SIZE) { + throw new IIOException(String.format("Size: %s !=: %s", pSize, DIB.WINDOWS_V3_HEADER_SIZE)); + } + + mSize = pSize; + + mWidth = pStream.readInt(); + mHeight = pStream.readInt(); + + mPlanes = pStream.readUnsignedShort(); + mBitCount = pStream.readUnsignedShort(); + mCompression = pStream.readInt(); + + mImageSize = pStream.readInt(); + + mXPixelsPerMeter = pStream.readInt(); + mYPixelsPerMeter = pStream.readInt(); + + mColorsUsed = pStream.readInt(); + mColorsImportant = pStream.readInt(); + } + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/Directory.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/Directory.java new file mode 100755 index 00000000..9cafc0c4 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/Directory.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import java.io.DataInput; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +/** + * Directory + *

+ * + * @author Harald Kuhr + * @version $Id: Directory.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +class Directory { + private final List mEntries; + + private Directory(int pImageCount) { + mEntries = Arrays.asList(new DirectoryEntry[pImageCount]); + } + + public static Directory read(final int pType, final int pImageCount, final DataInput pStream) throws IOException { + Directory directory = new Directory(pImageCount); + directory.readEntries(pType, pStream); + return directory; + } + + private void readEntries(final int pType, final DataInput pStream) throws IOException { + for (int i = 0; i < mEntries.size(); i++) { + mEntries.set(i, DirectoryEntry.read(pType, pStream)); + } + } + + public DirectoryEntry getEntry(final int pEntryIndex) { + return mEntries.get(pEntryIndex); + } + + public int count() { + return mEntries.size(); + } + + @Override + public String toString() { + return String.format("%s%s", getClass().getSimpleName(), mEntries); + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DirectoryEntry.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DirectoryEntry.java new file mode 100755 index 00000000..163c3acd --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/DirectoryEntry.java @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import javax.imageio.IIOException; +import java.io.DataInput; +import java.io.IOException; +import java.awt.image.BufferedImage; +import java.awt.*; + +/** + * DirectoryEntry + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: DirectoryEntry.java,v 1.0 Apr 4, 2009 4:29:53 PM haraldk Exp$ + * @see Wikipedia + */ +abstract class DirectoryEntry { + private int mWidth; + private int mHeight; + private int mColorCount; + int mPlanes; + int mBitCount; + private int mSize; + private int mOffset; + + private DirectoryEntry() { + } + + public static DirectoryEntry read(final int pType, final DataInput pStream) throws IOException { + DirectoryEntry entry = createEntry(pType); + entry.read(pStream); + return entry; + } + + private static DirectoryEntry createEntry(int pType) throws IIOException { + switch (pType) { + case DIB.TYPE_ICO: + return new ICOEntry(); + case DIB.TYPE_CUR: + return new CUREntry(); + default: + throw new IIOException( + String.format( + "Unknown DIB type: %s, expected: %s (ICO) or %s (CUR)", + pType, DIB.TYPE_ICO, DIB.TYPE_CUR + ) + ); + } + } + + protected void read(final DataInput pStream) throws IOException { + // Width/height = 0, means 256 + int w = pStream.readUnsignedByte(); + mWidth = w == 0 ? 256 : w; + int h = pStream.readUnsignedByte(); + mHeight = h == 0 ? 256 : h; + + // Color count = 0, means 256 or more colors + mColorCount = pStream.readUnsignedByte(); + + // Ignore. Should be 0, but .NET (System.Drawing.Icon.Save) sets this value to 255, according to Wikipedia + pStream.readUnsignedByte(); + + mPlanes = pStream.readUnsignedShort(); // Should be 0 or 1 for ICO, x hotspot for CUR + mBitCount = pStream.readUnsignedShort(); // bit count for ICO, y hotspot for CUR + + // Size of bitmap in bytes + mSize = pStream.readInt(); + mOffset = pStream.readInt(); + } + + public String toString() { + return String.format( + "%s: width: %d, height: %d, colors: %d, planes: %d, bit count: %d, size: %d, offset: %d", + getClass().getSimpleName(), + mWidth, mHeight, mColorCount, mPlanes, mBitCount, mSize, mOffset + ); + } + + public int getBitCount() { + return mBitCount; + } + + public int getColorCount() { + return mColorCount; + } + + public int getHeight() { + return mHeight; + } + + public int getOffset() { + return mOffset; + } + + public int getPlanes() { + return mPlanes; + } + + public int getSize() { + return mSize; + } + + public int getWidth() { + return mWidth; + } + + /** + * Cursor directory entry. + */ + static class CUREntry extends DirectoryEntry { + private int mXHotspot; + private int mYHotspot; + + @Override + protected void read(final DataInput pStream) throws IOException { + super.read(pStream); + + // NOTE: This is a hack... + mXHotspot = mPlanes; + mYHotspot = mBitCount; + + mPlanes = 1; // Always 1 for all BMP types + mBitCount = 0; + } + + public Point getHotspot() { + return new Point(mXHotspot, mYHotspot); + } + } + + /** + * Icon directory entry. + */ + static final class ICOEntry extends DirectoryEntry { + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReader.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReader.java new file mode 100755 index 00000000..9e3503fb --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReader.java @@ -0,0 +1,709 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import com.twelvemonkeys.image.ImageUtil; +import com.twelvemonkeys.imageio.ImageReaderBase; +import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.util.IndexedImageTypeSpecifier; +import com.twelvemonkeys.util.WeakWeakMap; + +import javax.imageio.*; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.stream.ImageInputStream; +import javax.swing.*; +import java.awt.*; +import java.awt.color.ColorSpace; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.awt.image.*; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.ByteOrder; +import java.util.*; +import java.util.List; + +/** + * ImageReader for Microsoft Windows ICO (icon) format. + * 1, 4, 8 bit palette support with bitmask transparency, and 16, 24 and 32 bit + * true color support with alpha. Also supports Windows Vista PNG ecoded icons. + *

+ * + * @author Harald Kuhr + * @version $Id: ICOImageReader.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + * + * @see BMP file format (Wikipedia) + * @see ICO file format (Wikipedia) + */ +// SEE http://en.wikipedia.org/wiki/ICO_(icon_image_file_format) +// TODO: Decide wether DirectoryEntry or DIBHeader should be primary source for color count/bit count +// TODO: Support loading icons from DLLs, see +// MSDN +// Known issue: 256x256 PNG encoded icons does not have IndexColorModel even if stated in DirectoryEntry (seem impossible as the PNGs are all true color) +public class ICOImageReader extends ImageReaderBase { + // TODO: Consider moving the reading to inner classes (subclasses of BitmapDescriptor) + private Directory mDirectory; + + // TODO: Review these, make sure we don't have a memory leak + private Map mHeaders = new WeakHashMap(); + private Map mDescriptors = new WeakWeakMap(); + + private ImageReader mPNGImageReader; + + public ICOImageReader() { + this(DIB.TYPE_ICO); + } + + ICOImageReader(final int pType) { + this(createProviderForConstructor(pType)); + } + + protected ICOImageReader(final ImageReaderSpi pProvider) { + super(pProvider); + } + + private static ImageReaderSpi createProviderForConstructor(final int pType) { + switch (pType) { + case DIB.TYPE_ICO: + return new ICOImageReaderSpi(); + case DIB.TYPE_CUR: + return new CURImageReaderSpi(); + default: + throw new IllegalArgumentException(String.format("Unsupported ICO/CUR type: %d", pType)); + } + } + + protected void resetMembers() { + mDirectory = null; + + mHeaders.clear(); + mDescriptors.clear(); + + if (mPNGImageReader != null) { + mPNGImageReader.dispose(); + mPNGImageReader = null; + } + } + + public Iterator getImageTypes(final int pImageIndex) throws IOException { + DirectoryEntry entry = getEntry(pImageIndex); + + // NOTE: Delegate to PNG reader + if (isPNG(entry)) { + return getImageTypesPNG(entry); + } + + List types = new ArrayList(); + DIBHeader header = getHeader(entry); + + // Use data from header to create specifier + ImageTypeSpecifier specifier; + switch (header.getBitCount()) { + case 1: + case 2: + case 4: + case 8: + // TODO: This is slightly QnD... + int offset = entry.getOffset() + header.getSize(); + if (offset != mImageInput.getStreamPosition()) { + mImageInput.seek(offset); + } + BitmapIndexed indexed = new BitmapIndexed(entry, header); + readColorMap(indexed); + specifier = IndexedImageTypeSpecifier.createFromIndexColorModel(indexed.createColorModel()); + break; + case 16: + specifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_USHORT_555_RGB); + break; + case 24: + specifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_3BYTE_BGR); + break; + case 32: + specifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_INT_ARGB); + break; + default: + throw new IIOException(String.format("Unknown bit depth: %d", header.getBitCount())); + } + + types.add(specifier); + + return types.iterator(); + } + + @Override + public int getNumImages(final boolean pAllowSearch) throws IOException { + return getDirectory().count(); + } + + public int getWidth(final int pImageIndex) throws IOException { + return getEntry(pImageIndex).getWidth(); + } + + public int getHeight(final int pImageIndex) throws IOException { + return getEntry(pImageIndex).getHeight(); + } + + public BufferedImage read(final int pImageIndex, final ImageReadParam pParam) throws IOException { + checkBounds(pImageIndex); + + processImageStarted(pImageIndex); + + DirectoryEntry entry = getEntry(pImageIndex); + + BufferedImage destination; + + if (isPNG(entry)) { + // NOTE: Special case for Windows Vista, 256x256 PNG encoded images, with no DIB header... + destination = readPNG(entry, pParam); + } + else { + // NOTE: If param does not have explicit destination, we'll try to create a BufferedImage later, + // to allow for storing the cursor hotspot for CUR images + destination = hasExplicitDestination(pParam) ? + getDestination(pParam, getImageTypes(pImageIndex), getWidth(pImageIndex), getHeight(pImageIndex)) : + null; + + BufferedImage image = readBitmap(entry); + + // TODO: Handle AOI and subsampling inline, probably not of big importance... + if (pParam != null) { + image = fakeAOI(image, pParam); + image = ImageUtil.toBuffered(fakeSubsampling(image, pParam)); + } + + if (destination == null) { + // This is okay, as long as the client did not request explicit destination image/type + destination = image; + } + else { + Graphics2D g = destination.createGraphics(); + try { + g.setComposite(AlphaComposite.Src); + g.drawImage(image, 0, 0, null); + } + finally { + g.dispose(); + } + } + } + + processImageProgress(100); + processImageComplete(); + + return destination; + } + + private boolean hasExplicitDestination(final ImageReadParam pParam) { + return (pParam != null && (pParam.getDestination() != null || pParam.getDestinationType() != null || pParam.getDestinationOffset() != null)); + } + + private boolean isPNG(final DirectoryEntry pEntry) throws IOException { + long magic; + + mImageInput.seek(pEntry.getOffset()); + mImageInput.setByteOrder(ByteOrder.BIG_ENDIAN); + + try { + magic = mImageInput.readLong(); + } + finally { + mImageInput.setByteOrder(ByteOrder.LITTLE_ENDIAN); + } + + return magic == DIB.PNG_MAGIC; + } + + private BufferedImage readPNG(final DirectoryEntry pEntry, final ImageReadParam pParam) throws IOException { + // TODO: Consider delegating listener calls + return initPNGReader(pEntry).read(0, pParam); + } + + private Iterator getImageTypesPNG(final DirectoryEntry pEntry) throws IOException { + return initPNGReader(pEntry).getImageTypes(0); + } + + private ImageReader initPNGReader(final DirectoryEntry pEntry) throws IOException { + ImageReader pngReader = getPNGReader(); + + mImageInput.seek(pEntry.getOffset()); + InputStream inputStream = IIOUtil.createStreamAdapter(mImageInput, pEntry.getSize()); + ImageInputStream stream = ImageIO.createImageInputStream(inputStream); + + // NOTE: Will throw IOException on later reads if input is not PNG + pngReader.setInput(stream); + + return pngReader; + } + + private ImageReader getPNGReader() throws IIOException { + // TODO: Prefer Sun's std JDK PNGImagerReader, because it has known behaviour? + if (mPNGImageReader == null) { + Iterator readers = ImageIO.getImageReadersByFormatName("PNG"); + + if (readers.hasNext()) { + mPNGImageReader = readers.next(); + } + else { + throw new IIOException("No PNGImageReader found using ImageIO, can't read PNG encoded ICO format."); + } + } + else { + mPNGImageReader.reset(); + } + + return mPNGImageReader; + } + + private DIBHeader getHeader(final DirectoryEntry pEntry) throws IOException { + if (!mHeaders.containsKey(pEntry)) { + mImageInput.seek(pEntry.getOffset()); + DIBHeader header = DIBHeader.read(mImageInput); + mHeaders.put(pEntry, header); + } + + return mHeaders.get(pEntry); + } + + private BufferedImage readBitmap(final DirectoryEntry pEntry) throws IOException { + // TODO: Currently, we have a memory leak, as the values refer to the keys... + BitmapDescriptor descriptor = mDescriptors.get(pEntry); + + if (!mDescriptors.containsKey(pEntry)) { + DIBHeader header = getHeader(pEntry); + + int offset = pEntry.getOffset() + header.getSize(); + if (offset != mImageInput.getStreamPosition()) { + mImageInput.seek(offset); + } + + // TODO: Support this, it's already in the BMP reader, spec allows RLE4 and RLE8 + if (header.getCompression() != 0) { + descriptor = new BitmapUnsupported(pEntry, String.format("Unsupported compression: %d", header.getCompression())); + } + else { + int bitCount = header.getBitCount(); + + switch (bitCount) { + // Palette style + case 1: + case 4: + case 8: + descriptor = new BitmapIndexed(pEntry, header); + readBitmapIndexed((BitmapIndexed) descriptor); + break; + // RGB style + case 16: + descriptor = new BitmapRGB(pEntry, header); + readBitmap16(descriptor); + break; + case 24: + descriptor = new BitmapRGB(pEntry, header); + readBitmap24(descriptor); + break; + case 32: + descriptor = new BitmapRGB(pEntry, header); + readBitmap32(descriptor); + break; + + default: + descriptor = new BitmapUnsupported(pEntry, String.format("Unsupported bit count %d", bitCount)); + } + } + + mDescriptors.put(pEntry, descriptor); + } + + return descriptor.getImage(); + } + + private void readBitmapIndexed(final BitmapIndexed pBitmap) throws IOException { + readColorMap(pBitmap); + + switch (pBitmap.getBitCount()) { + case 1: + readBitmapIndexed1(pBitmap, false); + break; + case 4: + readBitmapIndexed4(pBitmap); + break; + case 8: + readBitmapIndexed8(pBitmap); + break; + } + + BitmapMask mask = new BitmapMask(pBitmap.mEntry, pBitmap.mHeader); + readBitmapIndexed1(mask.mMask, true); + pBitmap.setMask(mask); + } + + private void readColorMap(final BitmapIndexed pBitmap) throws IOException { + int colorCount = pBitmap.getColorCount(); + + for (int i = 0; i < colorCount; i++) { + // aRGB (a is "Reserved") + pBitmap.mColors[i] = (mImageInput.readInt() & 0xffffff) | 0xff000000; + } + } + + private void readBitmapIndexed1(final BitmapIndexed pBitmap, final boolean pAsMask) throws IOException { + int width = adjustToPadding(pBitmap.getWidth() >> 3); + byte[] row = new byte[width]; + + for (int y = 0; y < pBitmap.getHeight(); y++) { + mImageInput.readFully(row, 0, width); + int rowPos = 0; + int xOrVal = 0x80; + int pos = (pBitmap.getHeight() - y - 1) * pBitmap.getWidth(); + + for (int x = 0; x < pBitmap.getWidth(); x++) { + pBitmap.mBits[pos++] = ((row[rowPos] & xOrVal) / xOrVal) & 0xFF; + + if (xOrVal == 1) { + xOrVal = 0x80; + rowPos++; + } + else { + xOrVal >>= 1; + } + } + + // NOTE: If we are reading the mask, we don't abort or progress + if (!pAsMask) { + if (abortRequested()) { + processReadAborted(); + break; + } + + processImageProgress(100 * y / (float) pBitmap.getHeight()); + } + } + } + + private void readBitmapIndexed4(final BitmapIndexed pBitmap) throws IOException { + int width = adjustToPadding(pBitmap.getWidth() >> 1); + byte[] row = new byte[width]; + + for (int y = 0; y < pBitmap.getHeight(); y++) { + mImageInput.readFully(row, 0, width); + int rowPos = 0; + boolean high4 = true; + int pos = (pBitmap.getHeight() - y - 1) * pBitmap.getWidth(); + + for (int x = 0; x < pBitmap.getWidth(); x++) { + int value; + + if (high4) { + value = (row[rowPos] & 0xF0) >> 4; + } + else { + value = row[rowPos] & 0x0F; + rowPos++; + } + + pBitmap.mBits[pos++] = value & 0xFF; + high4 = !high4; + } + + if (abortRequested()) { + processReadAborted(); + break; + } + + processImageProgress(100 * y / (float) pBitmap.getHeight()); + } + } + + private void readBitmapIndexed8(final BitmapIndexed pBitmap) throws IOException { + int width = adjustToPadding(pBitmap.getWidth()); + + byte[] row = new byte[width]; + + for (int y = 0; y < pBitmap.getHeight(); y++) { + mImageInput.readFully(row, 0, width); + int rowPos = 0; + int pos = (pBitmap.getHeight() - y - 1) * pBitmap.getWidth(); + + for (int x = 0; x < pBitmap.getWidth(); x++) { + pBitmap.mBits[pos++] = row[rowPos++] & 0xFF; + } + + if (abortRequested()) { + processReadAborted(); + break; + } + + processImageProgress(100 * y / (float) pBitmap.getHeight()); + } + } + + /** + * @param pWidth Bytes per scan line (i.e., 1BPP, width = 9 -> bytes = 1) + * @return padded width + */ + private static int adjustToPadding(final int pWidth) { + if ((pWidth & 0x03) != 0) { + return (pWidth & ~0x03) + 4; + } + return pWidth; + } + + private void readBitmap16(final BitmapDescriptor pBitmap) throws IOException { + // TODO: No idea if this actually works.. + short[] pixels = new short[pBitmap.getWidth() * pBitmap.getHeight()]; + + // Will create TYPE_USHORT_555; + DirectColorModel cm = new DirectColorModel(16, 0x7C00, 0x03E0, 0x001F); + DataBuffer buffer = new DataBufferShort(pixels, pixels.length); + WritableRaster raster = Raster.createPackedRaster( + buffer, pBitmap.getWidth(), pBitmap.getHeight(), pBitmap.getWidth(), cm.getMasks(), null + ); + pBitmap.mImage = new BufferedImage(cm, raster, cm.isAlphaPremultiplied(), null); + + for (int y = 0; y < pBitmap.getHeight(); y++) { + int offset = (pBitmap.getHeight() - y - 1) * pBitmap.getWidth(); + mImageInput.readFully(pixels, offset, pBitmap.getWidth()); + + + // Skip to 32 bit boundary + if (pBitmap.getWidth() % 2 != 0) { + mImageInput.readShort(); + } + + if (abortRequested()) { + processReadAborted(); + break; + } + + processImageProgress(100 * y / (float) pBitmap.getHeight()); + } + } + + private void readBitmap24(final BitmapDescriptor pBitmap) throws IOException { + byte[] pixels = new byte[pBitmap.getWidth() * pBitmap.getHeight() * 3]; + + // Create TYPE_3BYTE_BGR + DataBuffer buffer = new DataBufferByte(pixels, pixels.length); + ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); + int[] nBits = {8, 8, 8}; + int[] bOffs = {2, 1, 0}; + ComponentColorModel cm = new ComponentColorModel( + cs, nBits, false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE + ); + + WritableRaster raster = Raster.createInterleavedRaster( + buffer, pBitmap.getWidth(), pBitmap.getHeight(), pBitmap.getWidth(), 3, bOffs, null + ); + pBitmap.mImage = new BufferedImage(cm, raster, cm.isAlphaPremultiplied(), null); + + for (int y = 0; y < pBitmap.getHeight(); y++) { + int offset = (pBitmap.getHeight() - y - 1) * pBitmap.getWidth(); + mImageInput.readFully(pixels, offset, pBitmap.getWidth() * 3); + + // TODO: Possibly read padding byte here! + + if (abortRequested()) { + processReadAborted(); + break; + } + + processImageProgress(100 * y / (float) pBitmap.getHeight()); + } + } + + private void readBitmap32(final BitmapDescriptor pBitmap) throws IOException { + int[] pixels = new int[pBitmap.getWidth() * pBitmap.getHeight()]; + + // Will create TYPE_INT_ARGB + DirectColorModel cm = (DirectColorModel) ColorModel.getRGBdefault(); + DataBuffer buffer = new DataBufferInt(pixels, pixels.length); + WritableRaster raster = Raster.createPackedRaster( + buffer, pBitmap.getWidth(), pBitmap.getHeight(), pBitmap.getWidth(), cm.getMasks(), null + ); + pBitmap.mImage = new BufferedImage(cm, raster, cm.isAlphaPremultiplied(), null); + + for (int y = 0; y < pBitmap.getHeight(); y++) { + int offset = (pBitmap.getHeight() - y - 1) * pBitmap.getWidth(); + mImageInput.readFully(pixels, offset, pBitmap.getWidth()); + + if (abortRequested()) { + processReadAborted(); + break; + } + processImageProgress(100 * y / (float) pBitmap.getHeight()); + } + } + + private Directory getDirectory() throws IOException { + assertInput(); + + if (mDirectory == null) { + readFileHeader(); + } + + return mDirectory; + } + + private void readFileHeader() throws IOException { + mImageInput.setByteOrder(ByteOrder.LITTLE_ENDIAN); + + // Read file header + mImageInput.readUnsignedShort(); // Reserved + + // Should be same as type as the provider + int type = mImageInput.readUnsignedShort(); + int imageCount = mImageInput.readUnsignedShort(); + + // Read directory + mDirectory = Directory.read(type, imageCount, mImageInput); + } + + final DirectoryEntry getEntry(final int pImageIndex) throws IOException { + Directory directory = getDirectory(); + if (pImageIndex < 0 || pImageIndex >= directory.count()) { + throw new IndexOutOfBoundsException(String.format("Index: %d, ImageCount: %d", pImageIndex, directory.count())); + } + + return directory.getEntry(pImageIndex); + } + + /// Test code below, ignore.. :-) + public static void main(final String[] pArgs) throws IOException { + if (pArgs.length == 0) { + System.err.println("Please specify the icon file name"); + System.exit(1); + } + + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } + catch (Exception e) { + // Ignore + } + + String title = new File(pArgs[0]).getName(); + JFrame frame = createWindow(title); + JPanel root = new JPanel(new FlowLayout()); + JScrollPane scroll = + new JScrollPane(root, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scroll.setBorder(BorderFactory.createEmptyBorder()); + frame.setContentPane(scroll); + + Iterator readers = ImageIO.getImageReadersByFormatName("ico"); + if (!readers.hasNext()) { + System.err.println("No reader for format 'ico' found"); + System.exit(1); + } + + ImageReader reader = readers.next(); + + for (String arg : pArgs) { + JPanel panel = new JPanel(null); + panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); + readImagesInFile(arg, reader, panel); + root.add(panel); + } + + frame.pack(); + frame.setVisible(true); + } + + private static void readImagesInFile(String pFileName, ImageReader pReader, final Container pContainer) throws IOException { + File file = new File(pFileName); + if (!file.isFile()) { + System.err.println(pFileName + " not found, or is no file"); + } + + pReader.setInput(ImageIO.createImageInputStream(file)); + int imageCount = pReader.getNumImages(true); + for (int i = 0; i < imageCount; i++) { + try { + addImage(pContainer, pReader, i); + } + catch (Exception e) { + System.err.println("FileName: " + pFileName); + System.err.println("Icon: " + i); + e.printStackTrace(); + } + } + } + + private static JFrame createWindow(final String pTitle) { + JFrame frame = new JFrame(pTitle); + frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + frame.addWindowListener(new WindowAdapter() { + public void windowClosed(WindowEvent e) { + System.exit(0); + } + }); + return frame; + } + + private static void addImage(final Container pParent, final ImageReader pReader, final int pImageNo) throws IOException { + final JButton button = new JButton(); + BufferedImage image = pReader.read(pImageNo); + button.setIcon(new ImageIcon(image) { + TexturePaint mTexture; + + private void createTexture(final GraphicsConfiguration pGraphicsConfiguration) { + BufferedImage pattern = pGraphicsConfiguration.createCompatibleImage(20, 20); + Graphics2D g = pattern.createGraphics(); + try { + g.setColor(Color.LIGHT_GRAY); + g.fillRect(0, 0, pattern.getWidth(), pattern.getHeight()); + g.setColor(Color.GRAY); + g.fillRect(0, 0, pattern.getWidth() / 2, pattern.getHeight() / 2); + g.fillRect(pattern.getWidth() / 2, pattern.getHeight() / 2, pattern.getWidth() / 2, pattern.getHeight() / 2); + } + finally { + g.dispose(); + } + + mTexture = new TexturePaint(pattern, new Rectangle(pattern.getWidth(), pattern.getHeight())); + } + + @Override + public void paintIcon(Component c, Graphics g, int x, int y) { + if (mTexture == null) { + createTexture(c.getGraphicsConfiguration()); + } + Graphics2D gr = (Graphics2D) g; + gr.setPaint(mTexture); + gr.fillRect(x, y, getIconWidth(), getIconHeight()); + super.paintIcon(c, g, x, y); + } + }); + button.setText("" + image.getWidth() + "x" + + image.getHeight() + ": " + + ((image.getColorModel() instanceof IndexColorModel) ? + "" + ((IndexColorModel) image.getColorModel()).getMapSize() : + "TrueColor")); + pParent.add(button); + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderSpi.java b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderSpi.java new file mode 100755 index 00000000..c9dcb90b --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderSpi.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2009, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.ico; + +import javax.imageio.ImageReader; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * ICOImageReaderSpi + * + * @author Harald Kuhr + * @version $Id: ICOImageReaderSpi.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ + */ +public class ICOImageReaderSpi extends ImageReaderSpi { + + public ICOImageReaderSpi() { + super( + "TwelveMonkeys", + "2.1", + new String[]{"ico", "ICO"}, + new String[]{"ico"}, + new String[]{ + "image/vnd.microsoft.icon", // Official IANA MIME + "image/x-icon", // Common extension MIME + "image/ico" // Unofficial, but common + }, + "com.twelvemonkeys.imageio.plugins.ico.ICOImageReader", + STANDARD_INPUT_TYPE, + null, + true, null, null, null, null, + true, + null, null, + null, null + ); + } + + public boolean canDecodeInput(final Object pSource) throws IOException { + return pSource instanceof ImageInputStream && canDecode((ImageInputStream) pSource, DIB.TYPE_ICO); + } + + static boolean canDecode(final ImageInputStream pInput, final int pType) throws IOException { + byte[] signature = new byte[4]; + + try { + pInput.mark(); + pInput.readFully(signature); + + int count = pInput.readByte() + (pInput.readByte() << 8); + + return (signature[0] == 0x0 && signature[1] == 0x0 && signature[2] == pType + && signature[3] == 0x0 && count > 0); + } + finally { + pInput.reset(); + } + } + + public ImageReader createReaderInstance(final Object pExtension) throws IOException { + return new ICOImageReader(this); + } + + public String getDescription(final Locale pLocale) { + return "Windows Icon Format (ICO) Reader"; + } +} diff --git a/twelvemonkeys-imageio/ico/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi b/twelvemonkeys-imageio/ico/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi new file mode 100755 index 00000000..e06c9b76 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi @@ -0,0 +1,2 @@ +com.twelvemonkeys.imageio.plugins.ico.ICOImageReaderSpi +com.twelvemonkeys.imageio.plugins.ico.CURImageReaderSpi \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderTestCase.java b/twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderTestCase.java new file mode 100755 index 00000000..d8aea766 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/CURImageReaderTestCase.java @@ -0,0 +1,103 @@ +package com.twelvemonkeys.imageio.plugins.ico; + +import com.twelvemonkeys.imageio.util.ImageReaderAbstractTestCase; + +import javax.imageio.ImageReadParam; +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +/** + * CURImageReaderTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: CURImageReaderTestCase.java,v 1.0 Apr 1, 2008 10:39:17 PM haraldk Exp$ + */ +public class CURImageReaderTestCase extends ImageReaderAbstractTestCase { + protected List getTestData() { + return Arrays.asList( + new TestData(getClassLoaderResource("/cur/hand.cur"), new Dimension(32, 32)), + new TestData(getClassLoaderResource("/cur/zoom.cur"), new Dimension(32, 32)) + ); + } + + protected ImageReaderSpi createProvider() { + return new CURImageReaderSpi(); + } + + @Override + protected CURImageReader createReader() { + return new CURImageReader(); + } + + protected Class getReaderClass() { + return CURImageReader.class; + } + + protected List getFormatNames() { + return Arrays.asList("cur"); + } + + protected List getSuffixes() { + return Arrays.asList("cur"); + } + + protected List getMIMETypes() { + return Arrays.asList("image/vnd.microsoft.cursor", "image/cursor", "image/x-cursor"); + } + + private void assertHotSpot(final TestData pTestData, final ImageReadParam pParam, final Point pExpected) throws IOException { + CURImageReader reader = createReader(); + reader.setInput(pTestData.getInputStream()); + + BufferedImage image = reader.read(0, pParam); + Object hotspot = image.getProperty("cursor_hotspot"); + + if (hotspot == Image.UndefinedProperty) { + hotspot = reader.getHotSpot(0); + } + + // Typically never happens, because of weirdness + assertNotNull("Hotspot for cursor not present", hotspot); + + // Image weirdness + assertTrue("Hotspot for cursor undefined (java.awt.Image.UndefinedProperty)", Image.UndefinedProperty != hotspot); + + assertTrue(String.format("Hotspot not a java.awt.Point: %s", hotspot.getClass()), hotspot instanceof Point); + assertEquals(pExpected, hotspot); + } + + public void testHandHotspot() throws IOException { + assertHotSpot(getTestData().get(0), null, new Point(15, 15)); + } + + public void testZoomHotspot() throws IOException { + assertHotSpot(getTestData().get(1), null, new Point(13, 11)); + } + + public void testHandHotspotWithParam() throws IOException { + ImageReadParam param = new ImageReadParam(); + assertHotSpot(getTestData().get(0), param, new Point(15, 15)); + } + + public void testHandHotspotExplicitDestination() throws IOException { + CURImageReader reader = createReader(); + reader.setInput(getTestData().get(0).getInputStream()); + BufferedImage image = reader.read(0); + + // Create dest image with same data, except properties... + BufferedImage dest = new BufferedImage( + image.getColorModel(), image.getRaster(), image.getColorModel().isAlphaPremultiplied(), null + ); + ImageReadParam param = new ImageReadParam(); + param.setDestination(dest); + + assertHotSpot(getTestData().get(0), param, new Point(15, 15)); + } + + // TODO: Test cursor is transparent +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderTestCase.java b/twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderTestCase.java new file mode 100755 index 00000000..72036311 --- /dev/null +++ b/twelvemonkeys-imageio/ico/src/test/java/com/twelvemonkeys/imageio/plugins/ico/ICOImageReaderTestCase.java @@ -0,0 +1,66 @@ +package com.twelvemonkeys.imageio.plugins.ico; + +import com.twelvemonkeys.imageio.util.ImageReaderAbstractTestCase; + +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.util.Arrays; +import java.util.List; + +/** + * ICOImageReaderTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ICOImageReaderTestCase.java,v 1.0 Apr 1, 2008 10:39:17 PM haraldk Exp$ + */ +public class ICOImageReaderTestCase extends ImageReaderAbstractTestCase { + protected List getTestData() { + return Arrays.asList( + new TestData( + getClassLoaderResource("/ico/JavaCup.ico"), + new Dimension(48, 48), new Dimension(32, 32), new Dimension(16, 16), + new Dimension(48, 48), new Dimension(32, 32), new Dimension(16, 16), + new Dimension(48, 48), new Dimension(32, 32), new Dimension(16, 16) + ), + new TestData(getClassLoaderResource("/ico/favicon.ico"), new Dimension(32, 32)), + new TestData( + getClassLoaderResource("/ico/joypad.ico"), + new Dimension(16, 16), new Dimension(24, 24), new Dimension(32, 32), new Dimension(48, 48), + new Dimension(16, 16), new Dimension(24, 24), new Dimension(32, 32), new Dimension(48, 48) + ), + // Windows Vista icon, PNG encoded for 256x256 sizes + new TestData( + getClassLoaderResource("/ico/down.ico"), + new Dimension(16, 16), new Dimension(16, 16), new Dimension(32, 32), new Dimension(32, 32), + new Dimension(48, 48), new Dimension(48, 48), new Dimension(256, 256), new Dimension(256, 256), + new Dimension(16, 16), new Dimension(32, 32), new Dimension(48, 48), new Dimension(256, 256) + ) + ); + } + + protected ImageReaderSpi createProvider() { + return new ICOImageReaderSpi(); + } + + @Override + protected ICOImageReader createReader() { + return new ICOImageReader(); + } + + protected Class getReaderClass() { + return ICOImageReader.class; + } + + protected List getFormatNames() { + return Arrays.asList("ico"); + } + + protected List getSuffixes() { + return Arrays.asList("ico"); + } + + protected List getMIMETypes() { + return Arrays.asList("image/vnd.microsoft.icon", "image/ico", "image/x-icon"); + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/ico/src/test/resources/cur/hand.cur b/twelvemonkeys-imageio/ico/src/test/resources/cur/hand.cur new file mode 100755 index 0000000000000000000000000000000000000000..db7ad5aed3ef958aa13903afa769386382a87ad3 GIT binary patch literal 326 zcmajZAr8Vo5QX7?si;7#!yvj6Nx}i(CG{p)>hLyxD99 z76ej)=-vic0UL9~!GgO~9_MsOnufoUx`QHG)5E@a!o?nT8@#*2`fMlI9X~2&%Qwtd fAElzRww7{H`T9z)QIL|gUwP@h-(DMO`2YPI1=f8x literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/ico/src/test/resources/cur/zoom.cur b/twelvemonkeys-imageio/ico/src/test/resources/cur/zoom.cur new file mode 100755 index 0000000000000000000000000000000000000000..f4be2a7d81538913727c2b7e2695623c5fd1763c GIT binary patch literal 326 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 literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/ico/src/test/resources/ico/colors.ico b/twelvemonkeys-imageio/ico/src/test/resources/ico/colors.ico new file mode 100755 index 0000000000000000000000000000000000000000..7529c66e794772b1fd1fb6853bbb131547da85ea GIT binary patch literal 115874 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�@{2yolokmHyC=t2edv7`vO*ckY4QtkgBE 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 Ku50M(;_^Ren!8s3 literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/ico/src/test/resources/ico/down.ico b/twelvemonkeys-imageio/ico/src/test/resources/ico/down.ico new file mode 100755 index 0000000000000000000000000000000000000000..991264fde82a00e2d566d550d96d57394d3ea723 GIT binary patch literal 152405 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�tvumn(;JdaN+4e^o)KT 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≫3( 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 TyOG_$00000NkvXXu0mjfhfgI> literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/ico/src/test/resources/ico/favicon.ico b/twelvemonkeys-imageio/ico/src/test/resources/ico/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..161bcf7841cb95d326d9729fb0000941cef010d2 GIT binary patch literal 766 zcmcIiyKVw85Znt$i7TjRC~{@~0Yy+;gB1ES`4%kk0ioT3FQGA2+AEUc3QLrfNHkYO z+061d+ZUu%tZ%$Kp7HuDnJB}^^FC?p?uZ7+Pe2Y#fQ-7Bi7d41VIe}X_LMNAB^)TsBsHWP6w-$U*}emq-5YDhJteeZ$Sa@ literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/ico/src/test/resources/ico/joypad.ico b/twelvemonkeys-imageio/ico/src/test/resources/ico/joypad.ico new file mode 100755 index 0000000000000000000000000000000000000000..eb634169c2406d500351059d6826b43a00279772 GIT binary patch literal 26694 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 literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/ico/todo.txt b/twelvemonkeys-imageio/ico/todo.txt new file mode 100755 index 00000000..173c7fa3 --- /dev/null +++ b/twelvemonkeys-imageio/ico/todo.txt @@ -0,0 +1 @@ +- Support all DIB formats? diff --git a/twelvemonkeys-imageio/iff/license.txt b/twelvemonkeys-imageio/iff/license.txt new file mode 100755 index 00000000..2d8ee79c --- /dev/null +++ b/twelvemonkeys-imageio/iff/license.txt @@ -0,0 +1,25 @@ +Copyright (c) 2009, Harald Kuhr +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name "TwelveMonkeys" nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/twelvemonkeys-imageio/iff/pom.xml b/twelvemonkeys-imageio/iff/pom.xml new file mode 100755 index 00000000..67829cbc --- /dev/null +++ b/twelvemonkeys-imageio/iff/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + com.twelvemonkeys.imageio + twelvemonkeys-imageio-iff + 2.1 + TwelveMonkeys ImageIO IFF plugin + + ImageIO plugin for Amiga/Electronic Arts Interchange Filed Format (IFF) + type ILBM and PBM format. + + + + twelvemonkeys-imageio + com.twelvemonkeys + 2.1 + + + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + tests + + + \ No newline at end of file diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java new file mode 100755 index 00000000..c02cb3a8 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java @@ -0,0 +1,180 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import javax.imageio.IIOException; +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +/** + * BMHDChunk + *

+ * + * @author Harald Kuhr + * @version $Id: BMHDChunk.java,v 1.0 28.feb.2006 00:04:32 haku Exp$ + */ +class BMHDChunk extends IFFChunk { +// +// typedef UBYTE Masking; /* Choice of masking technique. */ +// +// #define mskNone 0 +// #define mskHasMask 1 +// #define mskHasTransparentColor 2 +// #define mskLasso 3 +// +// typedef UBYTE Compression; /* Choice of compression algorithm +// applied to the rows of all source and mask planes. "cmpByteRun1" +// is the byte run encoding described in Appendix C. Do not compress +// across rows! */ +// #define cmpNone 0 +// #define cmpByteRun1 1 +// +// typedef struct { +// UWORD w, h; /* raster width & height in pixels */ +// WORD x, y; /* pixel position for this image */ +// UBYTE nPlanes; /* # source bitplanes */ +// Masking masking; +// Compression compression; +// UBYTE pad1; /* unused; ignore on read, write as 0 */ +// UWORD transparentColor; /* transparent "color number" (sort of) */ +// UBYTE xAspect, yAspect; /* pixel aspect, a ratio width : height */ +// WORD pageWidth, pageHeight; /* source "page" size in pixels */ +// } BitMapHeader;*/ + + static final int MASK_NONE = 0; + static final int MASK_HAS_MASK = 1; + static final int MASK_TRANSPARENT_COLOR = 2; + static final int MASK_LASSO = 3; + + static final int COMPRESSION_NONE = 0; + // RLE + static final int COMPRESSION_BYTE_RUN = 1; + + // NOTE: Each row of the image is stored in an integral number of 16 bit + // words. The number of words per row is words=((w+15)/16) + + // Dimensions of raster + int mWidth; + int mHeight; + + // Source offsets + // Hmm.. Consider making these Image.properties? + int mXPos; + int mYPos; + + // The number of source bitplanes in the BODY chunk (see below) is stored in + // nPlanes. An ILBM with a CMAP but no BODY and nPlanes = 0 is the + // recommended way to store a color map. + int mBitplanes; + + int mMaskType; + int mCompressionType; + + int mTransparentIndex; + + // NOTE: Typical values are 10:11 (320 x 200) + int mXAspect; + int mYAspect; + + // Source page dimension + // NOTE: The image may be larger than the page, probably ignore these + int mPageWidth; + int mPageHeight; + + protected BMHDChunk(int pChunkLength) { + super(IFF.CHUNK_BMHD, pChunkLength); + } + + protected BMHDChunk(int pWidth, int pHeight, int pBitplanes, + int pMaskType, int pCompressionType, + int pTransparentIndex) { + super(IFF.CHUNK_BMHD, 20); + mWidth = pWidth; + mHeight = pHeight; + mXPos = 0; + mYPos = 0; + mBitplanes = pBitplanes; + mMaskType = pMaskType; + mCompressionType = pCompressionType; + mTransparentIndex = pTransparentIndex; + mXAspect = 1; + mYAspect = 1; + mPageWidth = Math.min(pWidth, Short.MAX_VALUE); // For some reason, these are signed? + mPageHeight = Math.min(pHeight, Short.MAX_VALUE); + } + + void readChunk(DataInput pInput) throws IOException { + if (mChunkLength != 20) { + throw new IIOException("Unknown BMHD chunk length: " + mChunkLength); + } + mWidth = pInput.readUnsignedShort(); + mHeight = pInput.readUnsignedShort(); + mXPos = pInput.readShort(); + mYPos = pInput.readShort(); + mBitplanes = pInput.readUnsignedByte(); + mMaskType = pInput.readUnsignedByte(); + mCompressionType = pInput.readUnsignedByte(); + pInput.readByte(); // PAD + mTransparentIndex = pInput.readUnsignedShort(); + mXAspect = pInput.readUnsignedByte(); + mYAspect = pInput.readUnsignedByte(); + mPageWidth = pInput.readShort(); + mPageHeight = pInput.readShort(); + } + + void writeChunk(DataOutput pOutput) throws IOException { + pOutput.writeInt(mChunkId); + pOutput.writeInt(mChunkLength); + + pOutput.writeShort(mWidth); + pOutput.writeShort(mHeight); + pOutput.writeShort(mXPos); + pOutput.writeShort(mYPos); + pOutput.writeByte(mBitplanes); + pOutput.writeByte(mMaskType); + pOutput.writeByte(mCompressionType); + pOutput.writeByte(0); // PAD + pOutput.writeShort(mTransparentIndex); + pOutput.writeByte(mXAspect); + pOutput.writeByte(mYAspect); + pOutput.writeShort(mPageWidth); + pOutput.writeShort(mPageHeight); + } + + public String toString() { + return super.toString() + + " {w=" + mWidth + ", h=" + mHeight + + ", x=" + mXPos + ", y=" + mYPos + + ", planes=" + mBitplanes + ", mask=" + mMaskType + + ", compression=" + mCompressionType + ", trans=" + mTransparentIndex + + ", xAspect=" + mXAspect + ", yAspect=" + mYAspect + + ", pageWidth=" + mPageWidth + ", pageHeight=" + mPageHeight + "}"; + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java new file mode 100755 index 00000000..9cbb9497 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import java.io.DataInput; +import java.io.IOException; +import java.io.DataOutput; + +/** + * BODYChunk + *

+ * + * @author Harald Kuhr + * @version $Id: BODYChunk.java,v 1.0 28.feb.2006 01:25:49 haku Exp$ + */ +class BODYChunk extends IFFChunk { + + protected BODYChunk(int pChunkLength) { + super(IFF.CHUNK_BODY, pChunkLength); + } + + void readChunk(DataInput pInput) throws IOException { + throw new InternalError("BODY chunk should only be read from IFFImageReader"); + } + + void writeChunk(DataOutput pOutput) throws IOException { + throw new InternalError("BODY chunk should only be written from IFFImageWriter"); + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java new file mode 100755 index 00000000..7b906951 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import javax.imageio.IIOException; +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +/** + * CAMGChunk + *

+ * + * @author Harald Kuhr + * @version $Id: CAMGChunk.java,v 1.0 28.feb.2006 02:10:07 haku Exp$ + */ +class CAMGChunk extends IFFChunk { + + // #define CAMG_HAM 0x800 /* hold and modify */ + // #define CAMG_EHB 0x80 /* extra halfbrite */ + + private int mCAMG; + + public CAMGChunk(int pLength) { + super(IFF.CHUNK_CAMG, pLength); + } + + void readChunk(DataInput pInput) throws IOException { + if (mChunkLength != 4) { + throw new IIOException("Unknown CAMG chunk length: " + mChunkLength); + } + mCAMG = pInput.readInt(); + } + + void writeChunk(DataOutput pOutput) throws IOException { + throw new InternalError("Not implemented: writeChunk()"); + } + + boolean isHAM() { + return (mCAMG & 0x800) != 0; + } + + boolean isEHB() { + return (mCAMG & 0x80) != 0; + } + + public String toString() { + return super.toString() + " {mode=" + (isHAM() ? "HAM" : isEHB() ? "EHB" : "Normal") + "}"; + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java new file mode 100755 index 00000000..b9280135 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java @@ -0,0 +1,170 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import com.twelvemonkeys.image.InverseColorMapIndexColorModel; + +import javax.imageio.IIOException; +import java.awt.image.BufferedImage; +import java.awt.image.IndexColorModel; +import java.awt.image.WritableRaster; +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +/** + * CMAPChunk + *

+ * + * @author Harald Kuhr + * @version $Id: CMAPChunk.java,v 1.0 28.feb.2006 00:38:05 haku Exp$ + */ +class CMAPChunk extends IFFChunk { + +// typedef struct { +// UBYTE red, green, blue; /* color intensities 0..255 */ +// } ColorRegister; /* size = 3 bytes */ +// +// typedef ColorRegister ColorMap[n]; /* size = 3n bytes */ + + + byte[] mReds; + byte[] mGreens; + byte[] mBlues; + + boolean mEHB; + + final private BMHDChunk mHeader; + final private CAMGChunk mCamg; + private IndexColorModel mModel; + + protected CMAPChunk(int pChunkLength, BMHDChunk pHeader, CAMGChunk pCamg) { + super(IFF.CHUNK_CMAP, pChunkLength); + mHeader = pHeader; + mCamg = pCamg; + } + + public CMAPChunk(IndexColorModel pModel) { + super(IFF.CHUNK_CMAP, pModel.getMapSize() * 3); + mModel = pModel; + mHeader = null; + mCamg = null; + } + + void readChunk(DataInput pInput) throws IOException { + int numColors = mChunkLength / 3; + int paletteSize = numColors; + + boolean isEHB = mCamg != null && mCamg.isEHB(); + if (isEHB) { + if (numColors == 32) { + paletteSize = 64; + } + else { + throw new IIOException("Unknown number of colors for EHB: " + numColors); + } + } + + mReds = new byte[paletteSize]; + mGreens = mReds.clone(); + mBlues = mReds.clone(); + + for (int i = 0; i < numColors; i++) { + mReds[i] = pInput.readByte(); + mGreens[i] = pInput.readByte(); + mBlues[i] = pInput.readByte(); + } + if (isEHB) { + for (int i = 0; i < numColors; i++) { + mReds[i + numColors] = (byte) ((mReds[i] & 0xff) / 2); + mGreens[i + numColors] = (byte) ((mGreens[i] & 0xff) / 2); + mBlues[i + numColors] = (byte) ((mBlues[i] & 0xff) / 2); + } + } + + // TODO: When reading in a CMAP for 8-bit-per-gun display or + // manipulation, you may want to assume that any CMAP which has 0 values + // for the low bits of all guns for all registers was stored shifted + // rather than scaled, and provide your own scaling. + // Use defaults if the color map is absent or has fewer color registers + // than you need. Ignore any extra color registers. + + // R8 := (Rn x 255 ) / maxColor + + // All chunks are WORD aligned (even sized), may need to read pad... + if (mChunkLength % 2 != 0) { + pInput.readByte(); + } + + // TODO: Bitmask transparency + // Would it work to double to numbers of colors, and create an indexcolormodel, + // with alpha, where all colors above the original color is all transparent? + // This is a waste of time and space, of course... + int trans = mHeader.mMaskType == BMHDChunk.MASK_TRANSPARENT_COLOR ? mHeader.mTransparentIndex : -1; + mModel = new InverseColorMapIndexColorModel(mHeader.mBitplanes, mReds.length, mReds, mGreens, mBlues, trans); + } + + void writeChunk(DataOutput pOutput) throws IOException { + pOutput.writeInt(mChunkId); + pOutput.writeInt(mChunkLength); + + final int length = mModel.getMapSize(); + + for (int i = 0; i < length; i++) { + pOutput.writeByte(mModel.getRed(i)); + pOutput.writeByte(mModel.getGreen(i)); + pOutput.writeByte(mModel.getBlue(i)); + } + + if (mChunkLength % 2 != 0) { + pOutput.writeByte(0); // PAD + } + } + + public String toString() { + return super.toString() + " {colorMap=" + mModel + "}"; + } + + IndexColorModel getIndexColorModel() { + return mModel; + } + + public BufferedImage createPaletteImage() { + // Create a 1 x colors.length image + IndexColorModel cm = getIndexColorModel(); + WritableRaster raster = cm.createCompatibleWritableRaster(cm.getMapSize(), 1); + byte[] pixel = null; + for (int x = 0; x < cm.getMapSize(); x++) { + pixel = (byte[]) cm.getDataElements(cm.getRGB(x), pixel); + raster.setDataElements(x, 0, pixel); + } + + return new BufferedImage(cm, raster, cm.isAlphaPremultiplied(), null); + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java new file mode 100755 index 00000000..bb4cc03b --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import javax.imageio.IIOException; +import java.awt.*; +import java.awt.geom.Point2D; +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; + +/** + * GRABChunk + *

+ * + * @author Harald Kuhr + * @version $Id: GRABChunk.java,v 1.0 28.feb.2006 01:55:05 haku Exp$ + */ +class GRABChunk extends IFFChunk { +// typedef struct { +// WORD x, y; /* relative coordinates (pixels) */ +// } Point2D; + + Point2D mPoint; + + protected GRABChunk(int pChunkLength) { + super(IFF.CHUNK_GRAB, pChunkLength); + } + + protected GRABChunk(Point2D pPoint) { + super(IFF.CHUNK_GRAB, 4); + mPoint = pPoint; + } + + void readChunk(DataInput pInput) throws IOException { + if (mChunkLength != 4) { + throw new IIOException("Unknown GRAB chunk size: " + mChunkLength); + } + mPoint = new Point(pInput.readShort(), pInput.readShort()); + } + + void writeChunk(DataOutput pOutput) throws IOException { + pOutput.writeShort((int) mPoint.getX()); + pOutput.writeShort((int) mPoint.getY()); + } + + public String toString() { + return super.toString() + " {point=" + mPoint + "}"; + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java new file mode 100755 index 00000000..0f14ff90 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import java.io.DataInput; +import java.io.IOException; +import java.io.DataOutput; + +/** + * UnknownChunk + *

+ * + * @author Harald Kuhr + * @version $Id: UnknownChunk.java,v 1.0 28.feb.2006 00:53:47 haku Exp$ + */ +class GenericChunk extends IFFChunk { + + byte[] mData; + + protected GenericChunk(int pChunkId, int pChunkLength) { + super(pChunkId, pChunkLength); + mData = new byte[pChunkLength <= 50 ? pChunkLength : 47]; + } + + protected GenericChunk(int pChunkId, byte[] pChunkData) { + super(pChunkId, pChunkData.length); + mData = pChunkData; + } + + void readChunk(DataInput pInput) throws IOException { + pInput.readFully(mData, 0, mData.length); + + int toSkip = mChunkLength - mData.length; + while (toSkip > 0) { + toSkip -= pInput.skipBytes(toSkip); + } + + // Read pad + if (mChunkLength % 2 != 0) { + pInput.readByte(); + } + } + + void writeChunk(DataOutput pOutput) throws IOException { + pOutput.writeInt(mChunkId); + pOutput.writeInt(mChunkLength); + pOutput.write(mData, 0, mData.length); + + if (mData.length % 2 != 0) { + pOutput.writeByte(0); // PAD + } + } + + public String toString() { + return super.toString() + " {value=\"" + + new String(mData, 0, mData.length <= 50 ? mData.length : 47) + + (mChunkLength <= 50 ? "" : "...") + "\"}"; + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java new file mode 100755 index 00000000..504d5aa9 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +/** + * IFF format constants. + *

+ * + * @author Harald Kuhr + * @version $Id: IFF.java,v 1.0 07.mar.2006 15:31:48 haku Exp$ + */ +interface IFF { + /** IFF FORM group chunk */ + int CHUNK_FORM = ('F' << 24) + ('O' << 16) + ('R' << 8) + 'M'; + + /** IFF ILBM form type */ + int TYPE_ILBM = ('I' << 24) + ('L' << 16) + ('B' << 8) + 'M'; + + /** IFF PBM form type */ + int TYPE_PBM = ('P' << 24) + ('B' << 16) + ('M' << 8) + ' '; + + /** Bitmap Header chunk */ + int CHUNK_BMHD = ('B' << 24) + ('M' << 16) + ('H' << 8) + 'D'; + + /** Color map chunk */ + int CHUNK_CMAP = ('C' << 24) + ('M' << 16) + ('A' << 8) + 'P'; + + /** Hotspot chunk (cursors, brushes) */ + int CHUNK_GRAB = ('G' << 24) + ('R' << 16) + ('A' << 8) + 'B'; + + /** Destination merge data chunk */ + int CHUNK_DEST = ('D' << 24) + ('E' << 16) + ('S' << 8) + 'T'; + + /** Sprite information chunk */ + int CHUNK_SPRT = ('S' << 24) + ('P' << 16) + ('R' << 8) + 'T'; + + /** Commodore Amiga viewport mode chunk (used to determine HAM and EHB modes) */ + int CHUNK_CAMG = ('C' << 24) + ('A' << 16) + ('M' << 8) + 'G'; + + /** Main data (body) chunk */ + int CHUNK_BODY = ('B' << 24) + ('O' << 16) + ('D' << 8) + 'Y'; +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java new file mode 100755 index 00000000..c5517611 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import java.io.DataInput; +import java.io.IOException; +import java.io.DataOutput; + +/** + * IFFChunk + *

+ * + * @author Harald Kuhr + * @version $Id: IFFChunk.java,v 1.0 28.feb.2006 00:00:45 haku Exp$ + */ +abstract class IFFChunk { + int mChunkId; + int mChunkLength; + + protected IFFChunk(int pChunkId, int pChunkLength) { + mChunkId = pChunkId; + mChunkLength = pChunkLength; + } + + abstract void readChunk(DataInput pInput) throws IOException; + + abstract void writeChunk(DataOutput pOutput) throws IOException; + + public String toString() { + return IFFUtil.toChunkStr(mChunkId) + " chunk (" + mChunkLength + " bytes)"; + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java new file mode 100755 index 00000000..f7d435f4 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java @@ -0,0 +1,693 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import com.twelvemonkeys.imageio.ImageReaderBase; +import com.twelvemonkeys.imageio.stream.BufferedImageInputStream; +import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.util.IndexedImageTypeSpecifier; +import com.twelvemonkeys.io.enc.DecoderStream; +import com.twelvemonkeys.io.enc.PackBitsDecoder; + +import javax.imageio.*; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.stream.ImageInputStream; +import java.awt.*; +import java.awt.color.ColorSpace; +import java.awt.image.*; +import java.io.DataInputStream; +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + +/** + * Reader for Amiga (Electronic Arts) IFF ILBM (InterLeaved BitMap) and PBM + * format (Packed BitMap). + * The IFF format (Interchange File Format) is the standard file format + * supported by allmost all image software for the Amiga computer. + *

+ * This reader supports the original palette-based 1-8 bit formats, including + * EHB (Extra Halfbright), HAM (Hold and Modify), and the more recent "deep" + * formats, 8 bit gray, 24 bit RGB and 32 bit ARGB. + * Uncompressed and ByteRun1 compressed (run lenght encoding) files are + * supported. + *

+ * Palette based images are read as {@code BufferedImage} of + * {@link BufferedImage#TYPE_BYTE_INDEXED TYPE_BYTE_INDEXED} or + * {@link BufferedImage#TYPE_BYTE_BINARY BufferedImage#} + * depending on the bit depth. + * Gray images are read as + * {@link BufferedImage#TYPE_BYTE_GRAY TYPE_BYTE_GRAY}. + * 24 bit true-color images are read as + * {@link BufferedImage#TYPE_3BYTE_BGR TYPE_3BYTE_BGR}. + * 32 bit true-color images are read as + * {@link BufferedImage#TYPE_4BYTE_ABGR TYPE_4BYTE_ABGR}. + *

+ * Issues: HAM and HAM8 (Hold and Modify) formats are converted to RGB (24 bit), + * as it seems to be very hard to create an {@code IndexColorModel} subclass + * that would correctly describe these formats. + * These formats utilizes the special display hardware in the Amiga computers. + * HAM (6 bits) needs 12 bits storage/pixel, if unpacked to RGB (4 bits/gun). + * HAM8 (8 bits) needs 18 bits storage/pixel, if unpacked to RGB (6 bits/gun). + * See Wikipedia: HAM + * for more information. + *
+ * EHB palette is expanded to an {@link IndexColorModel} with 64 entries. + * See Wikipedia: EHB + * for more information. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: IFFImageReader.java,v 1.0 29.aug.2004 20:26:58 haku Exp $ + * @see Wikipedia: IFF + * @see Wikipedia: IFF ILBM + */ +public class IFFImageReader extends ImageReaderBase { + + private BMHDChunk mHeader; + private CMAPChunk mColorMap; + private BODYChunk mBody; + private GRABChunk mGrab; + private CAMGChunk mViewPort; + private int mFormType; + private long mBodyStart; + + private BufferedImage mImage; + private DataInputStream mByteRunStream; + + public IFFImageReader() { + super(IFFImageReaderSpi.sharedProvider()); + } + + protected IFFImageReader(ImageReaderSpi pProvider) { + super(pProvider); + } + + private void init(int pIndex) throws IOException { + checkBounds(pIndex); + + if (mHeader == null) { + readMeta(); + } + } + + protected void resetMembers() { + mHeader = null; + mColorMap = null; + mBody = null; + mViewPort = null; + mFormType = 0; + + mImage = null; + mByteRunStream = null; + } + + private void readMeta() throws IOException { + if (mImageInput.readInt() != IFF.CHUNK_FORM) { + throw new IIOException("Unknown file format for IFFImageReader"); + } + + int remaining = mImageInput.readInt() - 4; // We'll read 4 more in a sec + + mFormType = mImageInput.readInt(); + if (mFormType != IFF.TYPE_ILBM && mFormType != IFF.TYPE_PBM) { + throw new IIOException("Only IFF (FORM) type ILBM and PBM supported: " + IFFUtil.toChunkStr(mFormType)); + } + + //System.out.println("IFF type FORM " + toChunkStr(type)); + + mGrab = null; + mViewPort = null; + + while (remaining > 0) { + int chunkId = mImageInput.readInt(); + int length = mImageInput.readInt(); + + remaining -= 8; + remaining -= length % 2 == 0 ? length : length + 1; + + //System.out.println("Next chunk: " + toChunkStr(chunkId) + " lenght: " + length); + //System.out.println("Remaining bytes after chunk: " + remaining); + + switch (chunkId) { + case IFF.CHUNK_BMHD: + if (mHeader != null) { + throw new IIOException("Multiple BMHD chunks not allowed"); + } + + mHeader = new BMHDChunk(length); + mHeader.readChunk(mImageInput); + + //System.out.println(mHeader); + break; + case IFF.CHUNK_CMAP: + if (mColorMap != null) { + throw new IIOException("Multiple CMAP chunks not allowed"); + } + mColorMap = new CMAPChunk(length, mHeader, mViewPort); + mColorMap.readChunk(mImageInput); + + //System.out.println(mColorMap); + break; + case IFF.CHUNK_GRAB: + if (mGrab != null) { + throw new IIOException("Multiple GRAB chunks not allowed"); + } + mGrab = new GRABChunk(length); + mGrab.readChunk(mImageInput); + + //System.out.println(mGrab); + break; + case IFF.CHUNK_CAMG: + if (mViewPort != null) { + throw new IIOException("Multiple CAMG chunks not allowed"); + } + mViewPort = new CAMGChunk(length); + mViewPort.readChunk(mImageInput); + + //System.out.println(mViewPort); + break; + case IFF.CHUNK_BODY: + if (mBody != null) { + throw new IIOException("Multiple BODY chunks not allowed"); + } + + mBody = new BODYChunk(length); + mBodyStart = mImageInput.getStreamPosition(); + + // NOTE: We don't read the body here, it's done later in the + // read(int, ImageReadParam) method + + // Done reading meta + return; + default: + // TODO: We probably want to store anno chunks as Metadata + // ANNO, DEST, SPRT and more + IFFChunk generic = new GenericChunk(chunkId, length); + generic.readChunk(mImageInput); + + //System.out.println(generic); + break; + } + } + } + + public BufferedImage read(int pIndex, ImageReadParam pParam) throws IOException { + init(pIndex); + + processImageStarted(pIndex); + + mImage = getDestination(pParam, getImageTypes(pIndex), mHeader.mWidth, mHeader.mHeight); + //System.out.println(mBody); + if (mBody != null) { + //System.out.println("Read body"); + readBody(pParam); + } + else { + // In the rare case of an ILBM containing nothing but a CMAP + //System.out.println(mColorMap); + if (mColorMap != null) { + //System.out.println("Creating palette!"); + mImage = mColorMap.createPaletteImage(); + } + } + + BufferedImage result = mImage; + + processImageComplete(); + + + return result; + } + + public int getWidth(int pIndex) throws IOException { + init(pIndex); + return mHeader.mWidth; + } + + public int getHeight(int pIndex) throws IOException { + init(pIndex); + return mHeader.mHeight; + } + + public Iterator getImageTypes(int pIndex) throws IOException { + init(pIndex); + + List types = Arrays.asList( + getRawImageType(pIndex), + ImageTypeSpecifier.createFromBufferedImageType(mHeader.mBitplanes == 32 ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_3BYTE_BGR) +// TODO: ImageTypeSpecifier.createFromBufferedImageType(mHeader.mBitplanes == 32 ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB), + // TODO: Allow 32 bit always. Allow RGB and discard alpha, if present? + ); + return types.iterator(); + } + + @Override + public ImageTypeSpecifier getRawImageType(int pIndex) throws IOException { + init(pIndex); + // TODO: Stay DRY... + // TODO: Use this for creating the Image/Buffer in the read code below... + // NOTE: mColorMap may be null for 8 bit (gray), 24 bit or 32 bit only + ImageTypeSpecifier specifier; + switch (mHeader.mBitplanes) { + case 1: + // 1 bit + case 2: + // 2 bit + case 3: + case 4: + // 4 bit + case 5: + case 6: + // May be HAM6 + // May be EHB + case 7: + case 8: + // 8 bit + // May be HAM8 + if (!isHAM()) { + IndexColorModel cm = mColorMap.getIndexColorModel(); + if (cm != null) { + specifier = IndexedImageTypeSpecifier.createFromIndexColorModel(cm); + break; + } + else { + specifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_BYTE_GRAY); + break; + } + } + case 24: + // 24 bit RGB + specifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_3BYTE_BGR); + break; + case 32: + // 32 bit ARGB + specifier = ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_4BYTE_ABGR); + break; + default: + throw new IIOException("Bit depth not implemented: " + mHeader.mBitplanes); + } + return specifier; + } + + private void readBody(ImageReadParam pParam) throws IOException { + mImageInput.seek(mBodyStart); // 8 for the header before length in stream + mByteRunStream = null; + + // NOTE: mColorMap may be null for 8 bit (gray), 24 bit or 32 bit only + if (mColorMap != null) { + IndexColorModel cm = mColorMap.getIndexColorModel(); + readIndexed(pParam, mImageInput, cm); + } + else { + readTrueColor(pParam, mImageInput); + } + + } + + private void readIndexed(ImageReadParam pParam, final ImageInputStream pInput, final IndexColorModel pModel) throws IOException { + final int width = mHeader.mWidth; + final int height = mHeader.mHeight; + + final Rectangle aoi = getSourceRegion(pParam, width, height); + final Point offset = pParam == null ? new Point(0, 0) : pParam.getDestinationOffset(); + + // Set everything to default values + int sourceXSubsampling = 1; + int sourceYSubsampling = 1; + int[] sourceBands = null; + int[] destinationBands = null; + + // Get values from the ImageReadParam, if any + if (pParam != null) { + sourceXSubsampling = pParam.getSourceXSubsampling(); + sourceYSubsampling = pParam.getSourceYSubsampling(); + + sourceBands = pParam.getSourceBands(); + destinationBands = pParam.getDestinationBands(); + } + + // Ensure band settings from param are compatible with images + checkReadParamBandSettings(pParam, isHAM() ? 3 : 1, mImage.getSampleModel().getNumBands()); + + WritableRaster destination = mImage.getRaster(); + if (destinationBands != null || offset.x != 0 || offset.y != 0) { + destination = destination.createWritableChild(0, 0, destination.getWidth(), destination.getHeight(), offset.x, offset.y, destinationBands); + } + + int planeWidth = (width + 7) / 8; + final byte[] planeData = new byte[8 * planeWidth]; + + ColorModel cm; + WritableRaster raster; + + if (isHAM()) { + // TODO: If HAM6, use type USHORT_444_RGB or 2BYTE_444_RGB? + // Or create a HAMColorModel, if at all possible? + // TYPE_3BYTE_BGR + cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), new int[]{8, 8, 8}, + false, false, Transparency.OPAQUE, DataBuffer.TYPE_BYTE); + // Create a byte raster with BGR order + raster = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, 1, width * 3, 3, new int[]{2, 1, 0}, null); + } + else { + // TYPE_BYTE_BINARY or TYPE_BYTE_INDEXED + cm = pModel; + raster = pModel.createCompatibleWritableRaster(width, 1); + } + Raster sourceRow = raster.createChild(aoi.x, 0, aoi.width, 1, 0, 0, sourceBands); + + final byte[] row = new byte[width * 8]; + + //System.out.println("Data length: " + data.length); + //System.out.println("PlaneData length: " + planeData.length * planeData[0].length); + //System.out.println("Row length: " + row.length); + + final byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); + + final int planes = mHeader.mBitplanes; + + Object dataElements = null; + Object outDataElements = null; + ColorConvertOp converter = null; + + for (int srcY = 0; srcY < height; srcY++) { + + for (int p = 0; p < planes; p++) { + try { + readPlaneData(pInput, planeData, p * planeWidth, planeWidth); + } + catch (IOException e) { + // TODO: Add warning? Probbably a bug somewhere, should not catch! + } + } + + // Skip rows outside AOI + if (srcY < aoi.y || (srcY - aoi.y) % sourceYSubsampling != 0) { + continue; + } + else if (srcY >= (aoi.y + aoi.height)) { + return; + } + + if (mFormType == IFF.TYPE_ILBM) { + int pixelPos = 0; + int planePos = 0; + for (int i = 0; i < planeWidth; i++) { + IFFUtil.bitRotateCW(planeData, planePos, planeWidth, row, pixelPos, 1); + pixelPos += 8; + planePos++; + } + + if (isHAM()) { + hamToRGB(row, pModel, data, 0); + } + else { + raster.setDataElements(0, 0, width, 1, row); + } + } + else /*if (mType == IFFImageReader.TYPE_PBM)*/ { + // TODO: Arraycopy might not be neccessary, if it's okay with row larger than width + System.arraycopy(planeData, 0, row, 0, mHeader.mBitplanes * planeWidth); + raster.setDataElements(0, 0, width, 1, row); + } + + int dstY = (srcY - aoi.y) / sourceYSubsampling; + // Handle non-converting raster as special case for performance + if (cm.isCompatibleRaster(destination)) { + // Rasters are compatible, just write to destinaiton + if (sourceXSubsampling == 1) { + destination.setRect(offset.x, dstY, sourceRow); +// dataElements = raster.getDataElements(aoi.x, 0, aoi.width, 1, dataElements); +// destination.setDataElements(offset.x, offset.y + (srcY - aoi.y) / sourceYSubsampling, aoi.width, 1, dataElements); + } + else { + for (int srcX = 0; srcX < sourceRow.getWidth(); srcX += sourceXSubsampling) { + dataElements = sourceRow.getDataElements(srcX, 0, dataElements); + int dstX = /*offset.x +*/ srcX / sourceXSubsampling; + destination.setDataElements(dstX, dstY, dataElements); + } + } + } + else { + if (cm instanceof IndexColorModel) { + // TODO: Optimize this thing... Maybe it's faster to just get the data indexed, and use drawImage? + IndexColorModel icm = (IndexColorModel) cm; + + for (int srcX = 0; srcX < sourceRow.getWidth(); srcX += sourceXSubsampling) { + dataElements = sourceRow.getDataElements(srcX, 0, dataElements); + int rgb = icm.getRGB(dataElements); + outDataElements = mImage.getColorModel().getDataElements(rgb, outDataElements); + int dstX = srcX / sourceXSubsampling; + destination.setDataElements(dstX, dstY, outDataElements); + } + } + else { + // TODO: This branch is never tested, and is probably "dead" + // ColorConvertOp + if (converter == null) { + converter = new ColorConvertOp(cm.getColorSpace(), mImage.getColorModel().getColorSpace(), null); + } + converter.filter( + raster.createChild(aoi.x, 0, aoi.width, 1, 0, 0, null), + destination.createWritableChild(offset.x, offset.y + srcY - aoi.y, aoi.width, 1, 0, 0, null) + ); + } + } + + processImageProgress(srcY * 100f / mHeader.mWidth); + if (abortRequested()) { + processReadAborted(); + break; + } + } + } + + // One row from each of the 24 bitplanes is written before moving to the + // next scanline. For each scanline, the red bitplane rows are stored first, + // followed by green and blue. The first plane holds the least significant + // bit of the red value for each pixel, and the last holds the most + // significant bit of the blue value. + private void readTrueColor(ImageReadParam pParam, final ImageInputStream pInput) throws IOException { + final int width = mHeader.mWidth; + final int height = mHeader.mHeight; + + final Rectangle aoi = getSourceRegion(pParam, width, height); + final Point offset = pParam == null ? new Point(0, 0) : pParam.getDestinationOffset(); + + // Set everything to default values + int sourceXSubsampling = 1; + int sourceYSubsampling = 1; + int[] sourceBands = null; + int[] destinationBands = null; + + // Get values from the ImageReadParam, if any + if (pParam != null) { + sourceXSubsampling = pParam.getSourceXSubsampling(); + sourceYSubsampling = pParam.getSourceYSubsampling(); + + sourceBands = pParam.getSourceBands(); + destinationBands = pParam.getDestinationBands(); + } + + // Ensure band settings from param are compatible with images + checkReadParamBandSettings(pParam, mHeader.mBitplanes / 8, mImage.getSampleModel().getNumBands()); + + int planeWidth = (width + 7) / 8; + + final byte[] planeData = new byte[8 * planeWidth]; + + WritableRaster destination = mImage.getRaster(); + if (destinationBands != null || offset.x != 0 || offset.y != 0) { + destination = destination.createWritableChild(0, 0, destination.getWidth(), destination.getHeight(), offset.x, offset.y, destinationBands); + } + WritableRaster raster = mImage.getRaster().createCompatibleWritableRaster(width, 1); + Raster sourceRow = raster.createChild(aoi.x, 0, aoi.width, 1, 0, 0, sourceBands); + + final byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); + final int channels = (mHeader.mBitplanes + 7) / 8; + final int planesPerChannel = 8; + Object dataElements = null; + + for (int srcY = 0; srcY < height; srcY++) { + for (int c = 0; c < channels; c++) { + + for (int p = 0; p < planesPerChannel; p++) { + readPlaneData(pInput, planeData, p * planeWidth, planeWidth); + } + + // Skip rows outside AOI + if (srcY < aoi.y || (srcY - aoi.y) % sourceYSubsampling != 0) { + continue; + } + else if (srcY >= (aoi.y + aoi.height)) { + return; + } + + if (mFormType == IFF.TYPE_ILBM) { + // NOTE: Using (channels - c - 1) instead of just c, + // effectively reverses the channel order from RGBA to ABGR + int off = (channels - c - 1); + + int pixelPos = 0; + int planePos = 0; + for (int i = 0; i < planeWidth; i++) { + IFFUtil.bitRotateCW(planeData, planePos, planeWidth, data, off + pixelPos * channels, channels); + pixelPos += 8; + planePos++; + } + } + else /*if (mType == IFFImageReader.TYPE_PBM)*/ { + System.arraycopy(planeData, 0, data, srcY * 8 * planeWidth, planeWidth); + } + } + + int dstY = (srcY - aoi.y) / sourceYSubsampling; + // TODO: Support conversion to INT (A)RGB rasters (maybe using ColorConvertOp?) + // TODO: Avoid createChild if no region? + if (sourceXSubsampling == 1) { + destination.setRect(0, dstY, sourceRow); +// dataElements = raster.getDataElements(aoi.x, 0, aoi.width, 1, dataElements); +// destination.setDataElements(offset.x, offset.y + (srcY - aoi.y) / sourceYSubsampling, aoi.width, 1, dataElements); + } + else { + for (int srcX = 0; srcX < sourceRow.getWidth(); srcX += sourceXSubsampling) { + dataElements = sourceRow.getDataElements(srcX, 0, dataElements); + int dstX = srcX / sourceXSubsampling; + destination.setDataElements(dstX, dstY, dataElements); + } + } + + processImageProgress(srcY * 100f / mHeader.mWidth); + if (abortRequested()) { + processReadAborted(); + break; + } + } + } + + private void readPlaneData(final ImageInputStream pInput, final byte[] pData, final int pOffset, final int pPlaneWidth) + throws IOException { + + switch (mHeader.mCompressionType) { + case BMHDChunk.COMPRESSION_NONE: + pInput.readFully(pData, pOffset, pPlaneWidth); + // Uncompressed rows must have even number of bytes + if ((mHeader.mBitplanes * pPlaneWidth) % 2 != 0) { + pInput.readByte(); + } + break; + + case BMHDChunk.COMPRESSION_BYTE_RUN: + if (mByteRunStream == null) { + mByteRunStream = new DataInputStream(new DecoderStream( + IIOUtil.createStreamAdapter(pInput, mBody.mChunkLength), + new PackBitsDecoder(true) + )); + } + mByteRunStream.readFully(pData, pOffset, pPlaneWidth); + break; + default: + throw new IIOException("Unknown compression type: " + mHeader.mCompressionType); + } + } + + private void hamToRGB(final byte[] pIndexed, final IndexColorModel pModel, + final byte[] pDest, final int pDestOffset) { + final int bits = mHeader.mBitplanes; + final int width = mHeader.mWidth; + int lastRed = 0; + int lastGreen = 0; + int lastBlue = 0; + + for (int x = 0; x < width; x++) { + int pixel = pIndexed[x] & 0xff; + + //System.out.println("--> ham" + bits); + int paletteIndex = bits == 6 ? pixel & 0x0f : pixel & 0x3f; + int indexShift = bits == 6 ? 4 : 2; + int colorMask = bits == 6 ? 0x0f : 0x03; + //System.out.println("palette index=" + paletteIndex); + + // Get Hold and Modify bits + switch ((pixel >> (8 - indexShift)) & 0x03) { + case 0x00:// HOLD + lastRed = pModel.getRed(paletteIndex); + lastGreen = pModel.getGreen(paletteIndex); + lastBlue = pModel.getBlue(paletteIndex); + break; + case 0x01:// MODIFY BLUE + lastBlue = (lastBlue & colorMask) | (paletteIndex << indexShift); + break; + case 0x02:// MODIFY RED + lastRed = (lastRed & colorMask) | (paletteIndex << indexShift); + break; + case 0x03:// MODIFY GREEN + lastGreen = (lastGreen & colorMask) | (paletteIndex << indexShift); + break; + } + int offset = (x * 3) + pDestOffset; + pDest[2 + offset] = (byte) lastRed; + pDest[1 + offset] = (byte) lastGreen; + pDest[offset] = (byte) lastBlue; + } + } + + private boolean isHAM() { + return mViewPort != null && mViewPort.isHAM(); + } + + public static void main(String[] pArgs) throws IOException { + ImageReader reader = new IFFImageReader(new IFFImageReaderSpi()); + +// ImageInputStream input = ImageIO.createImageInputStream(new File(pArgs[0])); + ImageInputStream input = new BufferedImageInputStream(ImageIO.createImageInputStream(new File(pArgs[0]))); + boolean canRead = reader.getOriginatingProvider().canDecodeInput(input); + + System.out.println("Can read: " + canRead); + + if (canRead) { + reader.setInput(input); + ImageReadParam param = reader.getDefaultReadParam(); +// param.setSourceRegion(new Rectangle(0, 0, 160, 200)); +// param.setSourceRegion(new Rectangle(160, 200, 160, 200)); +// param.setSourceRegion(new Rectangle(80, 100, 160, 200)); +// param.setDestinationOffset(new Point(80, 100)); +// param.setSourceSubsampling(3, 3, 0, 0); +// param.setSourceBands(new int[]{0, 1, 2}); +// param.setDestinationBands(new int[]{1, 0, 2}); + BufferedImage image = reader.read(0, param); + System.out.println("image = " + image); + + showIt(image, ""); + } + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java new file mode 100755 index 00000000..c256e4a6 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import javax.imageio.ImageReader; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * IFFImageReaderSpi + *

+ * + * @author Harald Kuhr + * @version $Id: IFFImageWriterSpi.java,v 1.0 28.feb.2006 19:21:05 haku Exp$ + */ +public class IFFImageReaderSpi extends ImageReaderSpi { + + static IFFImageReaderSpi mSharedInstance; + + /** + * Creates an IFFImageReaderSpi + */ + public IFFImageReaderSpi() { + super( + "TwelveMonkeys", + "2.0", + new String[]{"iff", "IFF"}, + new String[]{"iff", "lbm", "ham", "ham8", "ilbm"}, + new String[]{"image/iff", "image/x-iff"}, + "com.twelvemonkeys.imageio.plugins.iff.IFFImageReader", + STANDARD_INPUT_TYPE, + new String[]{"com.twelvemonkeys.imageio.plugins.iff.IFFImageWriterSpi"}, + true, null, null, null, null, + true, null, null, null, null + ); + + if (mSharedInstance == null) { + mSharedInstance = this; + } + } + + public boolean canDecodeInput(Object pSource) throws IOException { + return pSource instanceof ImageInputStream && canDecode((ImageInputStream) pSource); + } + + private static boolean canDecode(ImageInputStream pInput) throws IOException { + pInput.mark(); + + try { + // Is it IFF + if (pInput.readInt() == IFF.CHUNK_FORM) { + pInput.readInt();// Skip length field + + int type = pInput.readInt(); + + // Is it ILBM or PBM + if (type == IFF.TYPE_ILBM || type == IFF.TYPE_PBM) { + return true; + } + + } + } + finally { + pInput.reset(); + } + + return false; + } + + + public ImageReader createReaderInstance(Object pExtension) throws IOException { + return new IFFImageReader(this); + } + + public String getDescription(Locale pLocale) { + return "Amiga (Electronic Arts) Image Interchange Format (IFF) image reader"; + } + + public static ImageReaderSpi sharedProvider() { + if (mSharedInstance == null) { + new IFFImageReaderSpi(); + } + + return mSharedInstance; + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriter.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriter.java new file mode 100755 index 00000000..eacb950a --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriter.java @@ -0,0 +1,269 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import com.twelvemonkeys.imageio.ImageWriterBase; +import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.io.FastByteArrayOutputStream; +import com.twelvemonkeys.io.enc.EncoderStream; +import com.twelvemonkeys.io.enc.PackBitsEncoder; + +import javax.imageio.*; +import javax.imageio.metadata.IIOMetadata; +import javax.imageio.spi.ImageWriterSpi; +import java.awt.*; +import java.awt.image.*; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; + +/** + * Writer for Amiga (Electronic Arts) IFF ILBM (InterLeaved BitMap) format. + * The IFF format (Interchange File Format) is the standard file format + * supported by allmost all image software for the Amiga computer. + *

+ * + * @author Harald Kuhr + * @version $Id: IFFImageWriter.java,v 1.0 02.mar.2006 13:32:30 haku Exp$ + * + * @see Wikipedia: IFF + * @see Wikipedia: IFF ILBM + */ +public class IFFImageWriter extends ImageWriterBase { + + private static final byte[] ANNO_DATA = "Written by TwelveMonkeys IFFImageWriter 1.0 for Java (javax.imageio).".getBytes(); + + public IFFImageWriter() { + this(null); + } + + protected IFFImageWriter(ImageWriterSpi pProvider) { + super(pProvider); + } + + public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param) { + throw new UnsupportedOperationException("Method getDefaultImageMetadata not implemented");// TODO: Implement + } + + public IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) { + throw new UnsupportedOperationException("Method convertImageMetadata not implemented");// TODO: Implement + } + + public void write(IIOMetadata pStreamMetadata, IIOImage pImage, ImageWriteParam pParam) throws IOException { + assertOutput(); + + if (pImage.hasRaster()) { + throw new UnsupportedOperationException("Cannot write raster"); + } + + processImageStarted(0); + + // Prepare image data to be written + ByteArrayOutputStream imageData = new FastByteArrayOutputStream(1024); + packImageData(imageData, pImage.getRenderedImage(), pParam); + + //System.out.println("Image data: " + imageData.size()); + + // Write metadata + writeMeta(pImage.getRenderedImage(), imageData.size()); + + // Write image data + writeBody(imageData); + + processImageComplete(); + } + + private void writeBody(ByteArrayOutputStream pImageData) throws IOException { + mImageOutput.writeInt(IFF.CHUNK_BODY); + mImageOutput.writeInt(pImageData.size()); + + // NOTE: This is much faster than mOutput.write(pImageData.toByteArray()) + // as the data array is not duplicated + pImageData.writeTo(IIOUtil.createStreamAdapter(mImageOutput)); + + if (pImageData.size() % 2 == 0) { + mImageOutput.writeByte(0); // PAD + } + + // NOTE: Most progress is done in packImageData, however, as we need to + // buffer, to write correct size, we defer the last 10 percent until now. + processImageProgress(100f); + + mImageOutput.flush(); + } + + private void packImageData(OutputStream pOutput, RenderedImage pImage, ImageWriteParam pParam) throws IOException { + // TODO: Allow param to dictate uncompressed + // TODO: Subsample/AOI + final boolean compress = shouldCompress(pImage); + final OutputStream output = compress ? new EncoderStream(pOutput, new PackBitsEncoder(), true) : pOutput; + final ColorModel model = pImage.getColorModel(); + final Raster raster = pImage.getData(); + + final int width = pImage.getWidth(); + final int height = pImage.getHeight(); + + // Store each row of pixels + // 0. Loop pr channel + // 1. Convert to planar + // 2. Perform byteRun1 compression for each plane separately + // 3. Write the plane data for each plane + + final int planeWidth = (width + 7) / 8; + final byte[] planeData = new byte[8 * planeWidth]; + final int channels = (model.getPixelSize() + 7) / 8; + final int planesPerChannel = channels == 1 ? model.getPixelSize() : 8; + int[] pixels = new int[8 * planeWidth]; + + // NOTE: I'm a little unsure if this is correct for 4 channel (RGBA) + // data, but it is at least consistent with the IFFImageReader for now... + for (int y = 0; y < height; y++) { + for (int c = 0; c < channels; c++) { + pixels = raster.getSamples(0, y, width, 1, c, pixels); + + int pixelPos = 0; + int planePos = 0; + for (int i = 0; i < planeWidth; i++) { + IFFUtil.bitRotateCCW(pixels, pixelPos, 1, + planeData, planePos, planeWidth); + pixelPos += 8; + planePos++; + } + + for (int p = 0; p < planesPerChannel; p++) { + output.write(planeData, p * planeWidth, planeWidth); + + if (!compress && planeWidth % 2 != 0) { + output.write(0); // PAD + } + } + } + + processImageProgress(y * 90f / height); + } + + output.flush(); + } + + private void writeMeta(RenderedImage pImage, int pBodyLength) throws IOException { + // Annotation ANNO chunk, 8 + annoData.length bytes + GenericChunk anno = new GenericChunk(IFFUtil.toInt("ANNO".getBytes()), ANNO_DATA); + + ColorModel cm = pImage.getColorModel(); + IndexColorModel icm = null; + + // Bitmap header BMHD chunk, 8 + 20 bytes + // By default, don't compress narrow images + int compression = shouldCompress(pImage) ? BMHDChunk.COMPRESSION_BYTE_RUN : BMHDChunk.COMPRESSION_NONE; + + BMHDChunk header; + if (cm instanceof IndexColorModel) { + //System.out.println("IndexColorModel"); + icm = (IndexColorModel) cm; + int trans = icm.getTransparency() == Transparency.BITMASK ? BMHDChunk.MASK_TRANSPARENT_COLOR : BMHDChunk.MASK_NONE; + int transPixel = icm.getTransparency() == Transparency.BITMASK ? icm.getTransparentPixel() : 0; + header = new BMHDChunk(pImage.getWidth(), pImage.getHeight(), icm.getPixelSize(), + trans, compression, transPixel); + } + else { + //System.out.println(cm.getClass().getName()); + header = new BMHDChunk(pImage.getWidth(), pImage.getHeight(), cm.getPixelSize(), + BMHDChunk.MASK_NONE, compression, 0); + } + + // Colormap CMAP chunk, 8 + icm.getMapSize() * 3 bytes (+ 1 optional pad). + CMAPChunk cmap = null; + if (icm != null) { + //System.out.println("CMAP!"); + cmap = new CMAPChunk(icm); + } + + // ILBM(4) + anno(8+len) + header(8+20) + cmap(8+len)? + body(8+len); + int size = 4 + 8 + anno.mChunkLength + 28 + 8 + pBodyLength; + if (cmap != null) { + size += 8 + cmap.mChunkLength; + } + + mImageOutput.writeInt(IFF.CHUNK_FORM); + mImageOutput.writeInt(size); + + mImageOutput.writeInt(IFF.TYPE_ILBM); + + anno.writeChunk(mImageOutput); + header.writeChunk(mImageOutput); + if (cmap != null) { + //System.out.println("CMAP written"); + cmap.writeChunk(mImageOutput); + } + + } + + private boolean shouldCompress(RenderedImage pImage) { + return pImage.getWidth() >= 32; + } + + public static void main(String[] pArgs) throws IOException { + BufferedImage image = ImageIO.read(new File(pArgs[0])); + + ImageWriter writer = new IFFImageWriter(new IFFImageWriterSpi()); + writer.setOutput(ImageIO.createImageOutputStream(new File(pArgs[1]))); + //writer.addIIOWriteProgressListener(new ProgressListenerBase() { + // int mCurrPct = 0; + // + // public void imageComplete(ImageWriter pSource) { + // mCurrPct = 100; + // printProgress(mCurrPct); + // } + // + // public void imageProgress(ImageWriter pSource, float pPercentageDone) { + // if ((int) pPercentageDone > mCurrPct) { + // printProgress((int) pPercentageDone); + // mCurrPct = (int) pPercentageDone; + // } + // } + // + // private void printProgress(int pCurrPct) { + // if (mCurrPct == 0) { + // System.out.print("["); + // } + // for (int i = mCurrPct / 2; i < pCurrPct / 2; i++) { + // System.out.print("."); + // } + // if (mCurrPct == 100) { + // System.out.println("]"); + // } + // } + //}); + + //image = com.twelvemonkeys.image.ImageUtil.toBuffered(image, BufferedImage.TYPE_INT_ARGB); + + writer.write(image); + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java new file mode 100755 index 00000000..bdc52118 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.ImageWriter; +import javax.imageio.spi.ImageWriterSpi; +import java.io.IOException; +import java.util.Locale; + +/** + * IFFImageWriterSpi + *

+ * + * @author Harald Kuhr + * @version $Id: IFFImageWriterSpi.java,v 1.0 02.mar.2006 19:21:05 haku Exp$ + */ +public class IFFImageWriterSpi extends ImageWriterSpi { + + /** + * Creates an IFFImageWriterSpi + */ + public IFFImageWriterSpi() { + super( + "TwelveMonkeys", + "$Revision: 1.0 $", + new String[]{"iff", "IFF"}, + new String[]{"iff", "lbm", "ham", "ham8", "ilbm"}, + new String[]{"image/iff", "image/x-iff"}, + "com.twelvemonkeys.imageio.plugins.iff.IFFImageWriter", + STANDARD_OUTPUT_TYPE, + new String[]{"com.twelvemonkeys.imageio.plugins.iff.IFFImageReaderSpi"}, + true, null, null, null, null, + true, null, null, null, null + ); + } + + public boolean canEncodeImage(ImageTypeSpecifier pType) { + // TODO: Probably can't store 16 bit types etc... + return true; + } + + public ImageWriter createWriterInstance(Object pExtension) throws IOException { + return new IFFImageWriter(this); + } + + public String getDescription(Locale pLocale) { + return "Amiga (Electronic Arts) IFF image writer"; + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFUtil.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFUtil.java new file mode 100755 index 00000000..41e5fe9d --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFUtil.java @@ -0,0 +1,255 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/* + * Fast 90-degree bit rotation routines. + * + * Based on Sue-Ken Yap, "A Fast 90-Degree Bitmap Rotator," in GRAPHICS + * GEMS II, James Arvo ed., Academic Press, 1991, ISBN 0-12-064480-0. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +/** + * IFFUtil + *

+ * Bit rotate methods based on Sue-Ken Yap, "A Fast 90-Degree Bitmap Rotator," + * in GRAPHICS GEMS II, James Arvo ed., Academic Press, 1991, ISBN 0-12-064480-0. + * + * @author Unascribed (C version) + * @author Harald Kuhr (Java port) + * @version $Id: IFFUtil.java,v 1.0 06.mar.2006 13:31:35 haku Exp$ + */ +class IFFUtil { + + /** + * Creates a rotation table + * @param n + * + * @return the rotation table + */ + static private long[] rtable(int n) { + return new long[]{ + 0x00000000l << n, 0x00000001l << n, 0x00000100l << n, 0x00000101l << n, + 0x00010000l << n, 0x00010001l << n, 0x00010100l << n, 0x00010101l << n, + 0x01000000l << n, 0x01000001l << n, 0x01000100l << n, 0x01000101l << n, + 0x01010000l << n, 0x01010001l << n, 0x01010100l << n, 0x01010101l << n}; + } + + static private final long[][] RTABLE = { + rtable(0), rtable(1), rtable(2), rtable(3), + rtable(4), rtable(5), rtable(6), rtable(7) + }; + + /** + * Rotate bits clockwise. + * The IFFImageReader uses this to convert pixel bits from planar to chunky. + * Bits from the source are rotated 90 degrees clockwise written to the + * destination. + * + * @param pSrc source pixel data + * @param pSrcPos starting index of 8 x 8 bit source tile + * @param pSrcStep byte offset between adjacent rows in source + * @param pDst destination pixel data + * @param pDstPos starting index of 8 x 8 bit destination tile + * @param pDstStep byte offset between adjacent rows in destination + */ + static void bitRotateCW(final byte[] pSrc, int pSrcPos, int pSrcStep, + final byte[] pDst, int pDstPos, int pDstStep) { + int idx = pSrcPos; + + int lonyb; + int hinyb; + long lo = 0; + long hi = 0; + + for (int i = 0; i < 8; i++) { + lonyb = pSrc[idx] & 0xF; + hinyb = (pSrc[idx] >> 4) & 0xF; + lo |= RTABLE[i][lonyb]; + hi |= RTABLE[i][hinyb]; + idx += pSrcStep; + } + + idx = pDstPos; + + pDst[idx] = (byte)((hi >> 24) & 0xFF); + idx += pDstStep; + if (idx < pDst.length) { + pDst[idx] = (byte)((hi >> 16) & 0xFF); + idx += pDstStep; + if (idx < pDst.length) { + pDst[idx] = (byte)((hi >> 8) & 0xFF); + idx += pDstStep; + if (idx < pDst.length) { + pDst[idx] = (byte)(hi & 0xFF); + idx += pDstStep; + } + } + } + + if (idx < pDst.length) { + pDst[idx] = (byte)((lo >> 24) & 0xFF); + idx += pDstStep; + if (idx < pDst.length) { + pDst[idx] = (byte)((lo >> 16) & 0xFF); + idx += pDstStep; + if (idx < pDst.length) { + pDst[idx] = (byte)((lo >> 8) & 0xFF); + idx += pDstStep; + if (idx < pDst.length) { + pDst[idx] = (byte)(lo & 0xFF); + } + } + } + } + } + + /** + * Rotate bits counterclockwise. + * The IFFImageWriter uses this to convert pixel bits from chunky to planar. + * + * @param pSrc source pixel data (only lower 8 bits used) + * @param pSrcPos starting index of 8 x 8 bit source tile + * @param pSrcStep byte offset between adjacent rows in source + * @param pDst destination pixel data + * @param pDstPos starting index of 8 x 8 bit destination tile + * @param pDstStep byte offset between adjacent rows in destination + */ + static void bitRotateCCW(final int[] pSrc, int pSrcPos, int pSrcStep, + final byte[] pDst, int pDstPos, int pDstStep) { + int idx = pSrcPos; + + int lonyb; + int hinyb; + long lo = 0; + long hi = 0; + + for (int i = 7; i >= 0; i--) { + lonyb = pSrc[idx] & 0xF; + hinyb = (pSrc[idx] >> 4) & 0xF; + lo |= RTABLE[i][lonyb]; + hi |= RTABLE[i][hinyb]; + idx += pSrcStep; + } + + idx = pDstPos; + + pDst[idx] = (byte)(lo & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((lo >> 8) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((lo >> 16) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((lo >> 24) & 0xFF); + + idx += pDstStep; + + pDst[idx] = (byte)(hi & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((hi >> 8) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((hi >> 16) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((hi >> 24) & 0xFF); + } + + /** + * Rotate bits counterclockwise. + * The IFFImageWriter uses this to convert pixel bits from chunky to planar. + * + * @param pSrc source pixel data + * @param pSrcPos starting index of 8 x 8 bit source tile + * @param pSrcStep byte offset between adjacent rows in source + * @param pDst destination pixel data + * @param pDstPos starting index of 8 x 8 bit destination tile + * @param pDstStep byte offset between adjacent rows in destination + */ + static void bitRotateCCW(final byte[] pSrc, int pSrcPos, int pSrcStep, + final byte[] pDst, int pDstPos, int pDstStep) { + int idx = pSrcPos; + + int lonyb; + int hinyb; + long lo = 0; + long hi = 0; + + for (int i = 7; i >= 0; i--) { + lonyb = pSrc[idx] & 0xF; + hinyb = (pSrc[idx] >> 4) & 0xF; + lo |= RTABLE[i][lonyb]; + hi |= IFFUtil.RTABLE[i][hinyb]; + idx += pSrcStep; + } + + idx = pDstPos; + + pDst[idx] = (byte)(lo & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((lo >> 8) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((lo >> 16) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((lo >> 24) & 0xFF); + + idx += pDstStep; + + pDst[idx] = (byte)(hi & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((hi >> 8) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((hi >> 16) & 0xFF); + idx += pDstStep; + pDst[idx] = (byte)((hi >> 24) & 0xFF); + } + + /** + * Converts a byte array to an int. + * + * @param pBytes a byte array of length 4 + * @return the bytes converted to an int + * + * @throws ArrayIndexOutOfBoundsException if length is < 4 + */ + static int toInt(final byte[] pBytes) { + return (pBytes[0] & 0xff) << 24 | (pBytes[1] & 0xff) << 16 + | (pBytes[2] & 0xff) << 8 | (pBytes[3] & 0xff); + } + + /** + * Converts an int to a four letter String. + * + * @param pChunkId + * @return a String + */ + static String toChunkStr(int pChunkId) { + return new String(new byte[] {(byte) ((pChunkId & 0xff000000) >> 24), + (byte) ((pChunkId & 0x00ff0000) >> 16), + (byte) ((pChunkId & 0x0000ff00) >> 8), + (byte) ((pChunkId & 0x000000ff))}); + } +} diff --git a/twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi b/twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi new file mode 100755 index 00000000..5086e73a --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi @@ -0,0 +1 @@ +com.twelvemonkeys.imageio.plugins.iff.IFFImageReaderSpi diff --git a/twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi b/twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi new file mode 100755 index 00000000..22f2491d --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi @@ -0,0 +1 @@ +com.twelvemonkeys.imageio.plugins.iff.IFFImageWriterSpi \ No newline at end of file diff --git a/twelvemonkeys-imageio/iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTestCase.java b/twelvemonkeys-imageio/iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTestCase.java new file mode 100755 index 00000000..2de33450 --- /dev/null +++ b/twelvemonkeys-imageio/iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTestCase.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import com.twelvemonkeys.imageio.util.ImageReaderAbstractTestCase; + +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.util.Arrays; +import java.util.List; + +/** + * IFFImageReaderTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: IFFImageReaderTestCase.java,v 1.0 Apr 1, 2008 10:39:17 PM haraldk Exp$ + */ +public class IFFImageReaderTestCase extends ImageReaderAbstractTestCase { + // TODO: Need test for IFF PBM + protected List getTestData() { + return Arrays.asList( + // 32 bit - Ok + new TestData(getClassLoaderResource("/iff/test.iff"), new Dimension(300, 200)), // 32 bit + // 24 bit - Ok + new TestData(getClassLoaderResource("/iff/survivor.iff"), new Dimension(800, 600)), // 24 bit + // HAM6 - Ok (a lot of visual "fringe", would be interesting to see on a real HAM display) + new TestData(getClassLoaderResource("/iff/A4000T_HAM6.IFF"), new Dimension(320, 512)), // ham6 + // HAM8 - Passes tests, but visuals are trashed. Have other HAM8 files that are ok + new TestData(getClassLoaderResource("/iff/A4000T_HAM8.IFF"), new Dimension(628, 512)), // ham8 + // 8 color indexed - Passes tests, but trashed. Must be something special with these images + new TestData(getClassLoaderResource("/iff/AmigaBig.iff"), new Dimension(300, 200)), // 8 color + // 8 color indexed - Ok + new TestData(getClassLoaderResource("/iff/AmigaAmiga.iff"), new Dimension(200, 150)), // 8 color + // Breaks completely... Could be bug in the packbits decoder? + new TestData(getClassLoaderResource("/iff/Abyss.iff"), new Dimension(320, 400)) + ); + } + + protected ImageReaderSpi createProvider() { + return new IFFImageReaderSpi(); + } + + protected Class getReaderClass() { + return IFFImageReader.class; + } + + protected List getFormatNames() { + return Arrays.asList("iff"); + } + + protected List getSuffixes() { + return Arrays.asList("iff", "ilbm", "ham", "ham8", "lbm"); + } + + protected List getMIMETypes() { + return Arrays.asList("image/iff", "image/x-iff"); + } +} diff --git a/twelvemonkeys-imageio/iff/src/test/resources/iff/A4000T_HAM6.IFF b/twelvemonkeys-imageio/iff/src/test/resources/iff/A4000T_HAM6.IFF new file mode 100755 index 0000000000000000000000000000000000000000..d97fb46a54b35a2bb409a34d8e9252287f212a36 GIT binary patch literal 113460 zcmYgY3p`Zm`#&>A2}MfjqDHGuskVz~yP2WO7D-_!7F}6{ElDNL=zdoUD>2oEj8F+1 zai;rLG+P?8h*K#xVycNT&Ybi9pK15E{cWF;eLnNN-}BtQ&+|T~B_5vc7^h;&vgI!B zF78VgVHh@)Bjmy#7}gKth%s!+F#X@1SFG@WA1$@@S?oEN@4Gd0+qO-S{PjEe&R&at z#H0DnTetBSZTe;1)@>1+BDe8ZZjB1w6dfHJ6}fIRf7y~H_TNwcekOn749D-M&-#9j z{UmImv-^+mc|443#arm^yb`{jZf`GwFMCn!p+$>gV`D|J=@r3?f)Ay~rt7~BrB_HR zD$*;eE2`nEsjCYuTDgq>^)sBYy)GV$)?l3SjX3Ue!{1$0`eI`K`f*}&?nyi8noX%C zypuwHqV4s3FQ4w`0h9geo{RBP@0{cak!?!x%;hzXtxZ!EqFJ@>Q)}!vuv527{8*N z(ol1yY3`C5k+;IyHRaOfhGnxJ6(L5elf*UmSe$+C$4#{mV`E|~H6?MeWh$mZg$N}A zU2J1i2SPLm5{S|v0~!&sFPIS@6Ji+0Ry>r&4EhAiz88W}iYN#A`~G5i{(6xm@gbBwPAv zvftTdWvL!tdL&LnTXF2c=8aZs`=9GwI$buJ2rDe>YNk+^25CUGO2x2hszXKU1rr$5 zk13*&8p(Pvt`TO$VkTTYTugXdY_(j>VEwo&d6+4N4Tu_d0MGIBNA1xp8qi3p3MsZ6 zy>8PXlODac^}gqNmrs{jZ}r=$l(Q6K_1fA1tzH{qzG{mlS=6s{TAyAWUgImxdlun4 z(0ejwIdV+Cr_YP)OWg(=o#fdr9*}UhfPU8$bgoepCd32tM4pkUhl4|3)Jxx;_O5Y| zhR!Z6i<_-|#1dy2-pfIL4Q36o4H(7xUrTwievTZmGya)3l8=2i;i|cKxPKpfP-C;(f`rq8vIVT9Euj%y zgJ@%r$+Ow&DNbv#+zB5+BaRSLfxtcW8a)t-Lx^B<)dIc7%0D@q9XEVxHJ7&u@$sGo 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%0Dq1*I#9w9aLpqycqB1b!C-h0}vXg=bUX_^}H)R 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 literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/iff/src/test/resources/iff/A4000T_HAM8.IFF b/twelvemonkeys-imageio/iff/src/test/resources/iff/A4000T_HAM8.IFF new file mode 100755 index 0000000000000000000000000000000000000000..1f24bf421c170c1299579a24a522816515525ff9 GIT binary patch literal 270026 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 z¥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%0AwJiEHKf@XpA9S`yX!fmNyeW0B)dQCs2fS-4sUT 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 BbHM-r literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/iff/src/test/resources/iff/Abyss.iff b/twelvemonkeys-imageio/iff/src/test/resources/iff/Abyss.iff new file mode 100755 index 0000000000000000000000000000000000000000..4540de2237a2db22b6fd3a48e3328a413bdcefa5 GIT binary patch literal 92840 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 literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/iff/src/test/resources/iff/AmigaAmiga.iff b/twelvemonkeys-imageio/iff/src/test/resources/iff/AmigaAmiga.iff new file mode 100755 index 0000000000000000000000000000000000000000..f96e69f1725923cd0f56f477c2e3c2ea495e6a47 GIT binary patch literal 9130 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�B zTH_S~Dm0l~qkD59qe7LoM+I6d>JjY42&qj=j`uNQ96B;5XLHJlfKr8K?rSK%XSwFn zJ_bXh-%SpziozU1m*fB*x>Qid2-i)d|C9G@EpGmx-e!@;9-(~&;`D4@c7i$6$ z0>K@18e%ZOG%%^HaGqJp60o|EJO??Uwq6{@-bbT%R?S+}exZ5q65s5!@-L4Z8TIU$ z-Yg{bi@M@6svC#VOW%EaWz{f_%a)uu(eZXWK5M&5qnjpOpF;xj11EYJjH(r!@nFh-t|*A4*#2liDP?kXhJpr1?t2D+=_jesH`twHrsrqk^FiNgOp8$EW3?k(x(L^u46v@7vRVaAD~q z+Qw_Mnb?hk1~^iCa2y_dY=(l=o9DG083$7)eyHx9M(i@r=e>`~YqhsP2$xV{h(dl=Lo zQ^tNReqA?ZMA9k#a}XQ02BJmse9?~AjT9rH`3u9L<4k=B6=-LRQ)@P=bL!EWbwVx zN#?X&IX{RN8Wv8UuEw9!v7HJo$cM&4m`dnFvWw z&N)MHxKRG)KaB`32XOg-PZ70_O?7&#;5GD>BC84Qc_`LYfTD~qgV7imfPBG%EAYuR ziGd0j3OOWAv)Z+RC(OVqlv zLT@}+|4EI1U|6IPi!r!o-1$5)ICt@`x4{c;_^mpP=Ozpa=BxR_C=^a!&qf`6FeD+E zax$l0vDvL!mptNrVoJ(@bf(HOeZZhMA}Z|_3sQoEKl<`Fh4-)Znpd)l9}3L|zhbsr zSO%#~;aU3t8cE^a6zbm;E>F5q=Y1?G$TOv4vG`FrN#Pk%BCc^^AQ691@S1we2q>7F zEi6nr8X%)EMx&cT{%;D3V#@oGKtW2-;3b=1HwE+mrqEWLq^uwDaIkM>;L)+xcGu&o zIZJdcV?Qjd0}6igi!$H4l4h8*!3xFqP}p?z;6BYJZliYkY0^0^8)ot5b!Qb+mw0Ec+XR4ge0)gz^R#jcV6aph7 zP)09>y+;W@nChc)tgYRMWPQ1>Te3f>t&>|e3Me>iv{j$Uf;z3UCilfKlyw3LVTPvj z)oT+^@WWhmX4d$Nb{CfALPOsTpT1_|&ONv^xep0QOxkjnCk5;QKg_WV2ypE8vs{k} zL0;9|B#z=j`KWvFEZXA-uc=OPq#q7_zH<1DSd$7x9W^Sb1dKtx=#AfRKTvx703_xJ z8(_(R0zs$B`~ces$ow!yQdqp~UEa>(`~8NL7k_#7ec*A)$>v%m-a)fTTUKVlJYCJ* zoEKe(L`b2d`9m9gU<}3|BTc{J$yjaT%Z%RDu-GTsD>H+=^|dGe{-v7N*T=&XtoZq` zK{~u`BBUstdHpsLk%2mGSZW60Q%5TdJ};hnvOBpaeVbdOUrf5@3+*s*QME)P<-Lv-x(lxU{f?(3X#z>Qv&( z@=4=u?Tk%Qm&)bAPtTg1m(j?8?o0R1prbCFmb8Vc@0q1k1j}r?P~HcrP#&J9q_1g> zFv$;nV8gW!8y_SkIlN1Bx}P+pvN*`Qe7r!yE=@GdmRrRYtb79;#?kxhuY~2g3LTYq z61(A%94u{yGQ)S(Ek677NZUa678Nbd)!1mYe&hQ?mln*9-6Vleo)o2~$8RHH9}ZqK z2qv5?F5b1_hluGwjTu`}eo%COvEUp?>SBJ2GmqpjhSkjh`iD8dd7YR;#L+R1b4;yW z_BthId%geS4;P5exer9cwLo^oPXCI(L3q_oPTwkBvW{C*;V*yveA6W8n&0CyDIO$< zi2nt#La}L@f?3RLO5&m+FPKhBvjK#fhw|$f62z81Af8XP&S$fHcs$F-POgFsgc+5e z@mdCAXb%X=`$^p(1hlkn5IkD-e}Z`5#cZ5xa4M|$rPKEzaT1^PwHiMjXa_xA`3gY9 zP)7c6m<|K&;LZ7n+GUzz61rFSIvXlcn-?b!^?IGg-XiwQdi3wm`_snj!f(#v*m_uvTaE+u;SAw3mGyB)1b!f@Pw?9O!z78xQM*t}uOlj8 zf$vy?=$CMG`q-PM)_Vk7PZ)e2@xvcNytC|bRpN8(h^zXwJ&qWT&k%+vZQD~fV3w_P z$-mr^!sM`3aZSKZykM1J)jbXbl)-?nj`Dai81PwEw<{ny$zTXeX+9}3SFmXr zHGjAQ?n)d-zupw}ZUgo90b65(#;ev=&gL&SEDYGkdbd*J3cQL)QZ^|(wnK!J_N?D= z0##U5as}8-XXiQ!-_?biPmEN%{+y;@du401WQ|T)qS978Q=Mre zkF1RZ?whTyUf=f`+K{@nSpR&DsT4I1sqCgA#<}X?l+BIaT-6U0(XqzwiYYtzV5UTA z!wD1!KmW^Jry1b{jgu8%feqPwVIdQ0sYZu2m=H~GDRA&F?nslktP?h^#T_BJJTja3 zI1RX@#s-+bb2ficv_6dI`M`kWlJaP+?wp^POS#brR88;8<(HGj1U7J~9le%ntwL3K znq6iaWSiuTxio)R`t2DFbNP1;aAEc3vfq_p9tAGbXJlBhnC6iRo0aRFehwqKG@SWt zy`vFx$t`%slKjc#JmSd%7r!nwX0_=BKkLUvyZYvbU1>lNSeb;Sh4GdSI znm^^qU)~hai0#tpD;l}52HRzh)OkB<;Pk~}*vNQQ#tKgzDJ+f2A?-4D)#N+>P6oTQ z%B(%v+MTZMh9R2~1ULJ!C z_Eh1PE2`_EGL)qOcfb(6MTuWI71%J9VPoRPeNkn>y^XV4s~d}t!IaG?MoqFx-G=E8 zU^3SM7$bq3ds^@<00T9)b~t`uWB5g9vS8&Ci$qB}#%;>x8bAY%*(|9WLpnyBFPC)^ zPig`hnAgV%{7=V-scC!}8a4$ULl{u92{zm#9a9Ns>17`ddL;Vi%pxf)ZZ&%6p?30^ zDLQcSV%x2tuE`#*(47@j{)}-(Vx%lxW@{%z4T)Wc$mA0C;<9hUurDtRggZaDKJh)f z#d^7xi2iDk)0&}HOCTg0t0Tj<>ze|d;x~a3rpRHv2U*Xx!3t?;AmMaHQERb#&8mux z3`S~$*^+-+E=Jcf;X?LcQGK-35;tglWIQZLvD$HmtmxpS5B-M|J1FwRiW}NP8HJp( zsJ*iuera@~HUl1sK&!3G<_=U8|9UdK3$-^?IN*vD1}rzm1J_P?P%${K!wdCCiT0d( z$99%OH!HY=;hK;<=%%@7od|WI{A#iiS0Z~T)KF+hRMY*zBC=COf}{^io62AVGYR+j zb;XM5xQ~e|n*0oW9Z^EQFv8~-7QGFcoC~Qx(?U!GeJhUQW3LA`3Hnid@_Lr~_ zGmtL;P#TchSV9V(Xpk~H+t7@|@Z&8!+CCvhs>DGwDeB-0m;zWu+>J{4K*HdYfa-Me zv{ma(rO$Hxj!aBkG;}-vDwE}P4SwHwXi&Tz8WoFa*kqxNMZh2y|Xt@@b znLYRV>ZsNB(7T2M`rM@(;H!0|l51rWrjWB9-p9f9N`}f)FxU%FZF}of>BnGx`I)4`TQrUy2Qz26cX&7?wG)d>QLy5b;hiEHWiv*#c-#GfPNb_A{rg#neh!XE=tb4F zQmyzTpyEfK-E?%hmb2CCpc^L3SI>jqHO72>vfbAOrbprW{D@!~Gj`p_Cex7$_2(Q$;yBmk{%N!VDAGk7nN{Vg8!M3VE21_cGckaKu z`&2%T}2!(b$=42QOq(k}Zu(HnJp0MY_SQ8Zm$RD0{-B5BMWK z%`M2Q;iBcJdp~Uop4|T$T;!1Bk{CU$S#`&|)TMA=8@o=uDYqYtr@bLCN6czzt{Owq z@>eSqvxRl_+;#V>=YKS$ewt)f{8cB!eZr$`ORrdjzRg<4xLO8@MOl(##F8@0=dU0g zX>h3-?&T0=fH@&YEULTyw0;p1Ty={)vHqLy$PK7DK=4ZqSnWp+4HP4)&@_V%TXE$SrTtEV8VYLd zKA#1w(s}v}hj>X^%0TRvQQSZ=2Np&ui&$M;#Ht&~OO<6o>RVO=?2kZ6g_9DR(bX+b zxH_K&69_aYEJpY(ONW@*hu8bZE5{!MUS}Om)}S{BI2rveIhmW-v=jobGldKG9`q!6 zIbZBR%*KQQQ6FAi`IV1H0I!I%S-S>1RHnF1Y>8L3`_}mZWM>BUi>ulLZMMH}94ThC zj!@mu%S+r)&*cNJY{PMBS!P1})1ir!N9l_XPeSOcIbV0^8Eg{Cr!-9|vm$a$3>jR1 z@G33174Qpvsxyi38=QMJ>@Dz;?58b~v~}|m7)V*o`m6T+!K;6KRZ?qt9E+h~Hl5+P z*!j~Y7Nn1%z$-Hi+G}kQz`u)9P5$E5+%e$uD`xnsAG%?f18X)t0N2?Z5*KX} z#+BIzSHFW71`w=L3Qx}_45dB9xSEdvu7Q)F5x~Xii;MEswGMA*K|$OyK{qaV!TEpU zIb*%XATeGR_qkW*uMug(7X@ii5ID_6-teW0H`#wB>-1Gv73Y?X2qi9Yq|vr#f#@-Tr|We+^>moHFY&gnN?q}562aCF)oVG3ogfCFG0c6#$`z0 zw(548?YC`VKemA;I}Dae9j=h}`jVL~WwpgcdtqEkq`fG}8~&Gee0x&cfO{-Pw*6G= z+y&^9HH5F2j!t;pPr$?~s1ip1TYUg?l=d+ot=D9Xgxg+fjhZ;XdeG8<1 zFoiRy-;TQ`y|HG%`|lmFwM{$f^vW{;byaE>@u6me;H)7;2^@;{=_4WMMf5)Wx9juF$50jz1fwSkX&{z{Ky)FZkaF(JkRK1#c#@Ma1poQ-+ym# zdsyw!%Cf|)IveL+H22e)IxU2=l(+Oj7-sbmShd~3HSc_LV<8qA82?;W6SF$JKWiOk zHF;zN=P2JdXUb5!+l7~3HDgvZU?ucp!8NF6!wXB_~m_jvGfy3AASD9E-b( ztQ`lO?byKyZ+S_8ivJT(J+{E8QrChc9j3c=NyfdbYQ?P;_NZ0<&PL(H{jf|LSiKqn zKb-|%&;lzLkg6rgcgi2E2C)X@IypQ)=4iqg-JxAO2w0U!ffWa?EWpYSST%<7+ImX_C1bGw;6tU_(* zVP5f{*H*dCP+H~pU`|$YdudMR_=pgMo<^buaXXV_wJ;Z0btY`6>19=Qp#M+rup9{RkGm4)sXVpRV9L6MdsTbisIwiSXC54G>qirZeiM(1v)40HH$ zr0h^7u;PtCWvmj=UAgOSFlKe=#{{gq9QX=m^(cc_hQlwwr7)2Prf(pEguRi_l((+Qm9x;`^>||kB<<8u!&1EMv?pv;cyt{{q zBQ1r7t(L_rZ6^DS=7~mqy!ZxEpan>ic>-G7 zU*3i5m>uY1l677Rvb$g_=uQ0Hv&sS-&5s@(qufO~v=k<6pF2Pu%?hZqZJ0XL5twCm z!q9%eYYZVVSYE5dCkt`d=5kby#O&bvMUZ7Kxk8QVa;U+_pQFmRaRw?vD;SqwDXR%C zQCx{6Tk6?aI*JCncz{)|zW&!c+GtNQfZ;~sU=Z=|L%(dd1^ zYvC=DSJ;MNsQNi7Er`?0>p&C9OX^aQfc8~ZG6%A4R*khZ0$$t8ftRl{^w!G`UU^d6 zCp@@Ira>95ek88AV``2uN-D~>CcbK&afuZemnz^QhLX7AbD%}Q6#<>?#icPv$JOxo zg_UmpRXMXpeY^~~c;z4s?*KHmzvUlX$LxSeR;L@68(Kf#M2(-4e!TJ`;Bv*dxKL-% zC8)Dats9q+(Thu2dd)wT!$286_O5`-1>?%bxLTmb|Kj3pgEMzZi5Z@OV!#D&kWe<< zlTfbWEc+k0a&3zPY!6@43wt-l&ep;iSp`%?O*ux1)MlW;>40n8L=u;j0jq@Mc|T`7 zVD;d#`>r(JfjNxdEX}<;LFva=hO=E<=RK`>TP8A62V5TgNL*JfEureysMhiP9$YET zeo42%UUm0R<~uLlzBXWU5S71vso6V(jx++Uh-T=m*Q4W5v3Wwf4Hs7=?N!QRn`3*$ ziT7_F<&|$^)`6|obxJbX?)S^qX)-Ao2a4zK1Ns9hW&-X0{ zSoS_lDN>H5m2eT7c<>GEyCE+@b8c+IRbg&4IDOLkF{>>f>>Zx#sN(0To%m?CR6jYy zD9uvY(RPC-Jd8wY!Vgeqof&@@s!Cb@6-=_#s)^?Oz_t=Te0k|)G4{3Z+L_MBT^EQ{ z-wjSU{U&G9@>u9@ng>XKe{kA!sM*9SE~1k)rS}OwZ2X`P_wtVWFPq&`ygOd3HY#dY zLB4NQb$B3r6@ui>y0f6sZ&87!Fkp+9*`)Y&1Rql36^(Z`74${^tjgW-<)%XtvhP)2 zlz^0S$31Z!VP5iTXzm+Yh(I1d7KHRWi9s(rw@z24y(3g_45Ue2Yvf`UiHWzfbC#A)sZ zMtjW?3Qz|;4`)c3!XE^|L`(+88;XOE389bV%ivkVp@*1<;Y^ZP+Vyn@M$a2VVaYX4 z{qa&odY5G%%K>81)g&=@F_;aA4Zn4#huHYIG;I5ST&VRQoRvtR}p;FGIZG7l&>Ud0S zz_9sH6NtS5J)kBg*4j;M{*XbN7W^C_4){Fa-ugAZMS{T3N?7!%`K z^(DqoUizcy;B~g|Y`GDp{S!W4tiIUgfQb#pb%c2_@KB41N%|6t?_9r(*3W<)d~lVY zbhphBJ!{X`45(CEk1PEbv3Fh9P79@GEN6kM=ddRS`Z)oySRnS}zllLsglP>S-S1Cg z!~QQ~!v|@Jios)33)an-zwe`S>EsqYr(jA#3fKOAHV}KjAc<{nf@e4&rWM!gu>pt6 zqOXF-7P3{?ld6osV_Rkxc*&VKmD=tzfHB?8V`5?foGSR6ly%}Az8aChLJw9Sss@YA z8TO73(LSb7u*Oc4Vs^@9Cz20P9jVixiB z5_Z_FZ6Orm)$s7Z<$SC?4a@i~MjxgTvbny`uV*mkcpn?qjKo*y_+r@B9`Bl$d~ z7MhCvK=1X~JMb71V2@2yU`#onM9G#0f&D2$oa_$^@g31$CL`!FlbOm)X3D@OQiKFn^i}ap|2PVg2`N>qDxSOC6-Bf2B1S9<`s1J$j4< z_f>Gga3|xvnL(+}?#KD{X=1FlPJOta5q!t9TR!+0t`pFNY80g7Sf#hU3<(8>QY%;^vS}0ePR5*bj{l|=BG`m_KUt!U&N^IgU-s;UgUrn2CC{X zl_oEOjmKpvL271h0AFU96B^X@A~!uvIfYB;`%L4D+*KcSzAq|phu+HZo1tNtk(>^f zC!!Yq@*_=FVs0Qt@a_5C@3*73R;bCr1}?Dq^h4u;{fuqun4nL`1<>bLSLg<4u^J`~ zv&m|y+yf3UXQp7v6Cr+nSfwj5l#e9M^a5fD}}_Uwz%2i zb+vdh5;}HB1ML2J%;KdqbD?|E4rq+pR#wi%yDo9?m5eT+WwL}rso6-%pdyBNuauCZ zz~@^K6aC;%st{fkb|Esp5k6 z?Kq%+J^U|VgOuaE3*^%}d5jMZI{Kyw#rEN>h3c@+f?y5sTK(U=wBDM+EAnP$wKQP; zKXDH1ly)ZOl>mSKFE2=oaEmA=dUy$85dRmi6tgF}23M#no?m$t)v*K{Ok&CW=`^pp z?D91R@G3LIyq>l`=#ufOo7}?-9W=g=4Hl{%?w8n!4R$}~_PhG8rNe?4eBi}jNAkMQ zGzMO65PuLNm{-o?*ko+5CwB1%uMHRt2HUyLLoYXu;-F^8fu8=ffj_AR;WJ@hAp)+u z1VkdfhJnG#S>dF?7P{&650}FRGd;BNQr5FUkp)|zNjd%`7Uq?Ya}eg$O7dc0gRvc8 z`apcQU~BZ&^-9=cl_89FDSwPQ7wvQw&<{t(lD5Sxp zdP34*B(N$)JQiU~AA@!79-#7R$NRUMPq#h!;qEu~GWFbwc1zx;s2cY|dxKSyIZ~wZ zvvtx3({=;8i3-FMrHg^JV~9?v#y%W(Fwu9i&voj(`qO8BS(pBd3s~TJs%n2OP2vJ` z6cR%#_|kn$s9!@lY;qJxR_kmX$X#|`j|&N)WAnVXZ6n-fOwSHZOfYqQa4mA+fU{7o zX=k>W)oE4cIjsh&v9JVs%>%gtF$IG{J58yBz7p#i4<>|qNSj_sE8CYHz!M@HIYK14 zO&@rm9iGP|0#t^m1G#YJL_-?IYMm#Z?erI4V)&-8YOH=7Nm26|yAmpO^@k9YF0J$^ zalpG{9U=({>dYYts=rOWl;}u&K%F)Q=NBCLkvj5hl{UyH*S6mQ=mab{kTw;%7xA0W zASJD4_cshQ9kybcjTpMx6bCk=5+?sTCNrS?H=lqREl{41Q{W&-fv&JDlnz^3rosWT zrUaXX;E7*O6v&0La1$98fj=#I}Z$dlTF`_ijlK#{YUdD&lg+^0!rAFR59K#e_<-fsg^y(F`8yDN-`$ zGWsBDryRdwz&x{neoiyk#B}%W6IbqNDMCF#vK1g&F`(kjeXXguQ`Pt~DT% z>-uuhay3RYi$rAGlK5YUD$+0CtYL3roY_9TCb0ZSNZIMzKE!q zn<47~B6x8^$B5tr4~&RLBC7ry(e$qyNJOSNeq#rY!6quQ{PxD0^7zWCJEV!yu!)AR z%~=bG2zbla?V;dT&q+f2cGd?RYW)Nry5`xKp5A)0{hTcfU;L3Il(0Yrd&srNL+hV8 zV-K}!yn5TdB=9MC=-#K2adopd-Lb@hEm(m)wBqCF1vLOx3{fXDQ8~4YG|~1KRE^WD zJTTGaLh<=|shrSFC!yL;IR=>M&X-e`K!_sdHi3(D2Xf&QRh;S6D$<{A_eO)jMV=e7 zcRu5q3ExkLTB1D|(V~DGW+bAHzAnn7TuO98q>Db#o^0Y#PK}Plh*~2_L~!^TcG1XQ z7wLkF^a#>LabY3a6!XJ+bFqtVkceh04(;P2Y9ANTj{zc@3=!TYQ@%W-FCxhxpSMw= zN*qh$oW@w~S0|TGu^ef$a*Tg{2W!%=75B?J;9Si1$!UT_UBj7+cAtaSo`eS}w!~Gx z;6w1ls<}D;Y(-x+i+<((6MyWA`zVF5uzp=dZ&W2nwd01LaN4E(Z2ixumg zI$nq7N>X%Zx41u0(6=f~XOvwW{qM@tck|Q28XBOUG!{wA&YW-`YxoVfS4%=#!Wfwq zN+F2;vzuc&Om+PN(Ds)DK9vpFv5*=U;W`84?wXSgGntc}b1vNe1z6>ikl1)Lq`8LI z^5zSBjF!Sj zXR7&)rtd_1tk44xTAYvsZ!9+lB?rvqK&MEUga9f~f`7E65kv+;{nTLohpX7cBQP1! zc_4|@sGgn1+*+L6gsPdYurUM^?w*^FAJW7B*a8J5*@5uO93-U$u<#maeas|$`zeyi z>h=5)hl-Zmj!_Sb_Ox&0msM9RCYgj|CS!LNd?cC7?qTwgB4cv#lHP!8bu(9SUq%?D zn@QV0&&D4ds&-h?fXSD#^WJ|kd7~s_;#q%Sa$BhPd#CwH|5B9RjV;n!b{R7%!A!j6 zJ@5a;L`lZvWs)1)enngq`$kk*{Lh6WqaUkW#Y|Y3iP2H{{=H0~`Sgk-oV$x; z(y0B)KQ{gZ_+;$6^LOo&f?F=hd~)9hm@rq(QU8-k;gdD*NS{m{q?wyob`N~wb$>ax zZbAOB$)r!z7Xp*FD#c}gGHGua)=2uqx?W+_QK}{QWPF|Wx4Y4$cNkL4B%KLNPP2C` z`;&>J9JcTQpS(;m)tdeg`=rn@GxScx?FYW*m`M$0VshY&jENrj1m}K4GFh|BaX0o! zWjl(y`9SnulT5apN#GNw=IO`#_+-vXjYpvx*e5Cv(w5fPS=;pY#7s6}CR;-7`~B^c zQ$Jc>b^9bga5+Pr?+GS6^lwg6EZi_}=-m1H7K@RJ_7PZDyvSymW*!4pYa_j1+?An^ z{ENoV=$aS#G537o_`65kbS6B1F-r61{JK@}!bRogQn<^wzH4em1-KS!xSS2tF}{-g zRk@=hSLgKMhVd4R)YSKP#xFB}WPVl^PWDt4uYLwAzfIhqPx6yB626~VVGJ{NLy^dD zl^^eBu26|#o^7kysd$fnZ%H6jkRR^ zy&q0n)RZu%{E;Kb6ivX(*5eduYJt!79>fNOEGhBSWHJxYJnwgs)pj{f(2K%vZ^)VzzBz zD{l6TpJA=Sc?UmzXffzNiYC`b|4Y}Yr2Y>-77h+jeY1N0s@cz5N83|uW2(17jV9>0 zII(b7AN>bvFi8ESA%)SO#N47WF{kfXEVtQb{dCf7Jl5fzpuf7mdAI)Zpnsi)lo$f~ zC#-t^)=|kV*x<}DTLWRrFP`ZRnB`KH7;1t3_OJcB^;aPEZ-m4I`ZtYaY~Duf9kJR zS`c5ObyA-{;$N-wa~f=#jpN^CVOR;h zAH|CfL$<>D-+6POZ~TjY$G;Dv)7S)s)V~z#e|RPt|BxCEWS9BA2>FuHnL0<*QMz`o zMojRR_>cca*InRFnT)rI&$GR=hT>&)kLxDx^TcP*xhspqHmY zhC#G_wFosy@RczZ` zDH-OgvEub7L2-WY!CuAH%}K@gq`mCiKDl*v-IUyMa-Gj;Eyvc8itFqH#qTui=~WyS zdSk`UPcFDPoiBWLZtClXwnCHar$^qBiu17IyH)S~rTE|?b0xiuecy&mJMn8_bz32` zNAaYyqyA7llfkBS5K?Vpnc~}e70=i^yN}|V!KLsdSE?jaoZYLq5Fb<`Q(XD%-Bmco zw;w9C9>Pn87|+%nE-{WZiZbPZ9Al%AbVtK;#a_id$D5Lh5B2&v)3Y=PV*LD-BTfr$ zT3+8LQ@s5XlFq&Gg4Uz>zHBGM{y|(Q>M7opIJx7xc;mB zY4nsg3Z&waBcS-SrP_Zft};1%5Eq)sY+)m=~=vN3{#wpDvII(!OZNnsZx@KXYvz*=qNB@3Q!u zI_|)_sn_Nu((4r;GQmXg+Nfcy#`E`N1J?|KPBR@{2n*C`8Q=WqZ0UoY^FN9vP`2%^ zZHvrdBE*ONY%5XcZZGSlvIfKqu`bh*AQq$cotsoQgv_2A3?O)kBNni2r?jhPblUiREgEF*PMyM%JNIO`AQ;JYT z3|1u6f8@kC*1PwYntsz?y}a=hT_T`kAd*ZP!u+?88VMhz7{TI3;g?0 zkO3cE7JWU`=_AC$Ox8xyJYye~8b~Qh-Uw!s79v6(?qlFP#4=PKD227vP^_pDA$qo0 z@>}kynL1eRjqgruj2RmCGH&Le)NdWFC38~4|CPyY?}}>YANrosBlpG>c`Ww`N@2Ro za90*@Yf$8T-NXqCx6Rnq=1iB# zT^a}9g^mdhA{&s$a+|^Z3&?$N#O7i}@sj)n6H8bo6|U=~Pk(YiZaG7cd*mrUQf_%E z$ejxJE+F^C)mkg>x{i`4=$?K!tt~C1^~5(WmRkel&O5ExS8hSh<1nMEjntVnD95Am zj8z}GlbVD6ko$Ca9fLCXdWC}|D_ts{qi(w_$S@+`fs_%r0A*P=yq;yP7pbg(f!)XdEe5uQO9I*3m$;n zqtPx|10eTo*nts8xAh2Bhe;wby4i9Sp&il@iCAtuE~`1MTEHdc)&sfmqG24}7gz7z zcq4?2?ptTuXa=pX$78uC@ln&c!JT@4${pkMsfCR0oOO*a8zslJAiD3LMdFAhp1b~% zTj*V?N=7%!QB;1V(_4UtnRFRRbG^KN^oefi@96eMJbHI@=Q}}kd$Zw`S4iJsFZZw< zrHdX^L>mkklpmSqlGHWd?cq7`Xl^2sY=^!oof=D-Di<5-Lyk>XYMoSaZPL0%)>@Ny zPcE*XnX_;9^IM-!Tx%+3NX{q1To4~}-y?T`X0KxXxef*!YqV zW+=PQTcZDd=bnmn==N(CT>0RzDZ`)k3Ue#I$@JrIXPulWB_f#ow)1a?+_ad0X63r60H_ac@gugtRGH zglLVgMydE*4Du(%egXLbQb|{iPN~3@E?}r+))pLUVIZA&{JWy0cJ+dV{eo&xDJjg7)ZVC#mVswC37&2>Js8JC!*j7DT^WgY zi;TWm_DDUPlzM*rY2l?JR!G{}ooifLY9~ttGhw{->`^Kq&vz~DE46g>Af`^5a7R)5 z^qAa3Ig|QG{fgxT$7c0PeJ;F?S;`cuF=;$zkfhk5kJOiwQ#!}BccyYaI z5RU59*JVu)vL)v@GO6E9RoLHOWlTtq)SF6AMq{Z%AgUv1WK`ex-*Y_)oo<#%eb(ov zeZRpv={-{WW_yL>sHUD8a^pglEUK#xo^?h4IAf{XG!pOf%PiA>OU%*zbsL8R%Vt2&R+_Zz{e}c850` zmC{hEusgiXcZ!=b#{ZnS%? zU)=5`sB?1T$3>E+&m|*KnF;*3#4D|STSHnPsdZ{2it=Eko+M~h9NUzA9UVi?FZuPv z|JYLpBvgRHKiZuFtGk-GWULAxEjSU%8g6!A?tXRIXRT7BW(jprTQHOq>Lx##_4*!* zED492453UXl+(kb30Q(Qmn+C-d_ep|sM8yYifU*#O&8_E@CxC|tcC=tpfS8Ffj3%4 zboivm4@o_sSciZx=S`rYYrOo zrENr0{Y2i7{P>y)`A_C0qpsnk#;v} z@63+#j+&L9+^ezNiN~xzG|mja&lDlSTuvGbYn<0dUj8ZaaLNbR;ku+jo~iE0c-5yV4E^u z7RSlwj`;;5WC?}K-aDOr^=&`*PmS$(98quSetFIEF8GVEMyrD2C&hAY>Zr^4o@$&hfdg!+vnhz-7}9 ztEn?DHGS|n==g*;4xx82lh`5YyfLrH{dDC|GI{D&i!LcYS06FbVBg0xXCps8C}@46 z>@+ZR!c2LXthmsHXf6sbDz&Lk`1qDXx1)*M#BGe;S!sXOOy^%GkJA2zxf>F$IowUy zhNSQsOi8RbDe;HSHvD*0igXrGpzzq2XzPKS$Gp~Yz61t6uw=wNyg422O`vd7nu6w$ zG2!yi6S&*xoGmriSa)X`K~q`zjmzPRU2P1fjc@Ykf~lWFFwWNOq3=(3MTjtMiWClG z8>rt!D08Pc@EGg?(O0szhnH<|3=x9FdFXq;!gn%>#gHmSOeK`EZrvvs?17F}0>|tO z1iKv~5$s)%PcWNmM^=Nt1B*7n?%|mhsFYQw!9*MyJl4>Ju*ORt=40iDRpZg~+k9&m zWQ_%Juks8B=UhHNYp}DS)p^G!pHCy{Vwt#Kv$ph~V9_J)S!Ex!C=fSu#o4lWSEI2> za~+Ehj(Ij1<|VMW6VKZDdE43S zZgJOApfDCU`6g@i-SB?`zPgn#xeq`0h#Ty-clDrNaS!(=#r6JNb$>eNz3ZrX(c`5a zmwUuL1#?GMe~D}M*p10!38ND@4D-ef`(@&?es$^v|0V8-0450P=vs~f-=Vx7adnBt z>3zhV3wIat8VoT(6EJIJ;z|fYsaspa=Nm)!;K03Rxao(kEO70jhCo7<$^uvDYjH}> z$iGM1+Wrn)dKW_o+HSc8fomZP+#zclviuN&WT@1ndfg|`{cw-A zcr6kRT<_04fjjZ)>{wcN;J!X?+B7Kef3)oh+^9E2t7Y1HRug3t{?@i9aNm7r74>L4 zl<3Fkqit{CmNH9a+KLIRtae+>Y%L$l7hANrbLXDy3b!q{2zqrr8`+JrR|gW zD_LsaV%xY$j?CuSLZsN$FZtP(I~S|*kMcwIL5u{|67&bRPBG4-PgB-wGS4kNw|N&X z_;_}sQHG=%GRx3PZyZbivWZt$6iPJ+7P?twH04)Ver*SQcyzpK{HAYYF)0NXb7w0* z*B28S#1WRJ(8!>PUmgTMC$WOVbTS@xJ5`<$`U9*0%$~RAsuC>iOB>YCuLrM z+z&ZICgq%xK;af!u0^Z!XMHtd;KjWy(TCOJI%HDL%W+JT^pUdIcGrXJQK|Hz&!u*R z%AJGFr#_E%DJP};kd)Z}4=F_;S+s}uXT_dGT&uw~{yZa9*MOe!9 z(-@@>!y~_i9tFpw&zQ)l=4{0_*M zKc)P1MH?m$IOz7dK;MS2*I3HWzK_zc2mdMMJ^d}-&eC#57e zD3(b%7jA}?gmfuE6*7eol7C7WJvHMNI}=OEtLh5hCyUBOV{RE2;;1|*+0=IFL64MY zp8vSH4y5FPh)QYA!=shken;iU$7gO%!cuyFapy(IqH?hBMg?6Q zm1&!n#;sW1Bjv>-qwUG4ESNTlzfTsGi7%xeJ#etm15ypkkISUgnOiE0N)w36I9XKs z??1O>JT92{DEW2R%Wf&59FEFQ5S2!jEievg_};k< zTV|8L*ty}ner8kP#W0G`l%Mx3PR*67m+GFjL9=| zoSy1_%8Y;;yrudbF+rOnk zIbr#NuP}qApqLiSNNnr;r;y}sHKq$xjl@$BliY&)w;onn!##R>U zmk40*vO`jRYuB3)dqDCZu=LuToT$ne)D-BRNOgqt`6hE^cL2$Yy zTpaRrOx`p0yM#MC_1s-XI$az4&mwo@Wgo1d;DE1{F$=mS+bHcK^*@xw22G@R-@cpZ6E-hE{rak>9(BXkkP;dco;5n0 z-6P@1Y;xn`qDtBx)G^=r1HHA}6lA9KDgZ6bp%n)alxpqBKn9}9kKLN+q z&8p86**e`(_|L}4S?huxQoJkf_C%q!sNonX;pqHtQ(Z_2wIm7Yu7mo=VhLmC_Cz87 z*w*dspr9$;sc;?Hw7}D65CkEqU~drm@SW43i^7=;E*N!?<+25npqxy>o*<;&L#y#n z%&J}cQ3A@UxgADnoGSij|n&4&Snws^P?muhYTX)w1jz&YXQcE$mb2&{s)VeK_b+ z7emUB4o~~_Ph;)0g6UB5=Nx{$_B`+-xjK5ib&i8@6hW4QN*0oO%j9b+bymyehKqYba-_%TMVdgotH@Nn4HUvL zxofhBV5H0aKgP~Gtcj&z`;!6*H6S3}04i7kQ7KXq>?n%u9I#R>s7C~pLy?luRghwD z2$mxj6s*`2ih!bky?`WiL`o2l1d{AGy9p$o=Xu`i`{!KOafZ$O?)#qE+1=UMCt3z) zMl)Gz^C_hq*892hY0v{$4@PaU=qH*a(!dl| zax{};s_qY4!HR=TU)Aw6iIP}7G?QoLGHK)CBT+KSNvfo9B$J!vGAU6KZo!J3%+X2k zY_Ge=cJcJ$#wrWkKfF?kI8;E&s#Voyw%UP{)E1Btb7CoE50-?GFB zdC8=$D{uJG5O6CSHc#BA^y38vY#^BOhj*w#nLB=>m8H*_QtmiYXJrFmAXQBKoN38T?HE@l0|4WkCpHp?ssszPTc$#+y{U>=7gg+T1|M? z=`i-Y!;*TdpRo0bKCn-d;|G2P!TYGxmh4|}WSIBxEOxYTJQu#WlM_zk4yVE{&BF}~ z;D5#bV%Vh#LN47`aWtY#xQXiVB@gAa! zk(#+b97%@6dQ~=3@gm;A-Hl?jPiy?-pHMUz@1QjJz<|8Wr3wv;7;&uC{7pRiY4#YE z(9L}6bB7@z?Mv%q$4Wa)yepqMa^fv}2y~R+sYB5DFPf9v`n7VcCF0#}iTO=DB3obG z2i}R{#}E93w>O0}iFljCx#-bUW#aXwN_w#XF5(w2l8DC!ILX0mTZV@>?0c7f@yprk zpGTr+q?rA*5)-dA?zKcbHFlie&KK{&@XB$LQ*%$V zwNye!qt`Uy(SW!PM$l?dJ#A%K^psjWYmY zjfzIkB-}?5J;0VmuU9^LBy2GZxY?UxmBCJ&LEfA8C54T*NoRXI03I4I(N<@ z_|}dHZrnQoXlPJ|^m*G)LVG+N?~kj*r_ zu7(bxM>BGNBsrQyG}G^{8D%q9hck|pEbGlK>QN^wMMXPxTnVcs70oW(^f-~D-iEN9 zi=E4npYcuU9_YbVY^Gw>q@qpw)o@Y~?WBNGR%u0}-z<9r3F zbP*ss2*cr5X6=5-Ylctqp6vC$Vu)Po`lMnsXdj;yQ6-vzLGc3Y2ZznuR8DNneRPBW zrVNqgZ0XCNn3?votR#?~JssXxd{1cYplorI5 zM4c>W@xC`0VyB*-NX)tN(O7$@l8(<<#M)$ z5|xY|Y%dUC)lkV`H7MCBMY)_E@H|C@2lI%1F3A}Mjn_CID48s0<6BY9m_X7=hBxgt z?>5f9TS-6S(vvv}sDG&_F(FUAE_zTcKomK!dta)G#(r{Gx5xZLdrG*$HQnCJE!D`p z+c!2)hudNe|q6zuKE?FwyvlCJFxNHB(1v z>#Y#?HU_eA08gv?Gf;f1pFO1ey<%`_>Iqn@NLkY5gtQtE0)TT?(OBopK5a;v%`M}= zLGGKqPtjQ1jK*XIBKUMM3T}9v<*Ut3nV|>f?pLQ?0fZI3ZwFy5aRe4I06*@8)-o|O z)dSXu9*AWk!WF<^cOnz$yd6+TiN8xP-aC>z&+yrQ?kx72_O4QZx1BB)$kMM+eL z*DVNNXocJgq-W}7x1R*hcJiN_=o##tj*Q5ad!bh%m)3KWXnsmW)HU70<0$}l==*|o zi^(e}SS|4@#WTzF60+`1;;1?60-(&^yg|djeuMSoWLWF^tC>>0NW-t% z7~(kt1WxMi4BWo6CPVbGGYVH<_Jpe4^>Pd@(rq+f5h$MjJkyxk@S>(E zodav#Y}7?-jp(Ji%vT4WV%dh^7pPNVXIl|mR|so~&rq;hQoT&$O!e{BuuH~1M}&)z z*4>Gnm|l^XUP@3ew&FOh=oNbEoC93oWQOM0hv`L>>g6RG_snTW!9VnjiHvh2@tQKk zT^A;eS8l~tto6fVdvSBe9*MYcO*bI)$7sARR5?_`cHx~LW3|K;#gDCfL(aUI#PQjv zHkz-wbN83ST31$&tbHjU;>IN7TW)?(L6v=_ot;X(~Sb1l*>-nM-- zUk9?Uv0$y6hd85p#b^N4XsB1E!)U(zTXJ<_Epbx$s9vxZrdQD5Xue#PsxiG7R#?7b zdn9_L%JSthlZWXABzg(08bZC?=5?>x!xu&M_z(%6@cS%^S_WPufB0)H;r^HkBEK&Y zp%ybAUb|1-b|RD__;mhb3Txn}dZ+mjSgRebGeOVwn_`|!Yal9G`tN%5=_8X+_jAqo zaH7`q$j7MBeO2j_L&Y&FUyVbMr{$AfG~5vWQWd+OwBe?4c$7)-pS3VGZ^$0Gxx~S6|8@UE~G^B{6SA?X};T0JCEEp9L z(y|0lDx6pg8)<}A;tErqYwO%Sd|~O80z&>JVy2PNq0!w%_`K@Jynj|!CK-uVG=xvQjSy0of;-w^*~Bx|w*l=e)BBBh}U`iSF$SY+Epi--X5Fz~3{c|fs ztWnU4DJ6u7fu}`ODYir@^ePlNsR28ou|z3?M5zgH6`wtBYuUetUp(Qb4{;2ZsWIAF zfx4(tb<#}v&tJGAGyhS_ed_S1Z4^PdBvWcjCX7dwn$d0;BN@eN}Z7ZL|3X)~YmXT_KDmA50f)~Y9)uV$sj^$4539?L0>d!BP zwSIo_kSe80Wdkavlq^#sf_M;C63CQ7Ye|%nWop{p7ijMjNtDv<C{uXbkSlH0=umBKe+K{6jfa#ZyJt{)mohP9is<4dRJ)G;oAoUoe4kH5l zqP|&LNDKA&yYhYnr{L-6~!)o@FPvwYeo^Zee1DWR7Wu** zv!@fsWCa1sRa-Cm%FFXYk!6`q@_3lsxi9r9AeoYJ*Vh2OALADNCXa>&#Xjei;SK9; zl>SPssoW|0O`di=To5p+oNiZ? z8^RF4_u#M2gDVBxp8uyjN|a@@!R9`=5RN3!_C|i5XL0{S9$O+R&m{QKXM}HoAbr2d zqm0ReL*+r|prjHeP#sk#(rO)jnT_ABvZfBxLM%Md;b2;xn(9hX2o$K@TSe4wB zuPVgCGkZ1CGN#gY5j0^WJXhJ8CWR|rTHcuPqOu4J&-VR5-|P!fULAM~5%}b1lqQ=EP17w^Au=qLMj-4wDPds?z4J-W~9wkLo9a(rfBdRH|(r@9hRr@_W ziptx|VIBGKVCu-iqkonM!vlxUzBc8I!3g()n|XhqiST9atEpi2Oni$a+(Qt(PadwCKDdI4mgB_B;QF!+fHwY~_X%zTo)`*N|6CumTXY$-pH#)hQb*Ho=O`o-cC-^9-4w006_! z05F|<7JWjm>w4fTPo?Tu?_nVDr}ynajCTZ2UJNe)eHS^8nt5-vqFKJ=?KJ!;2<7OAtSQBk2Ft)F&?h zP=7uHgnVMaSLnnIpOEiaosWMLfP@M_hR^ch7tAT}gX9}`VFD;)0su?^*gtS2E*M8i z8{uz0mUUO$dZ%*Q-_2K7(nkWIt|6K_>aNGY>M6Sgb`R{1gvkXUA+u@yXq5|N9B^NF z&Oaw9YR;AgVBMEe4`~3}Cxa)H*i8y%R_9~^uuPi5k(4h3lR+t%6L8Owtsx7*n+0Dj zqycaMLIBcGepvt*Q*Vs$qs3+zzbpXpn|vezC_@NHsf2$t0II1{0mP20r|0?pG~d9o zGL7p2;6@HG&?EZab=jzbHSO0x$8$6P@-X3)U6u}OImmqm(y*)d_Lc|9tFiJPAT%8} zuYxuuJNeu?c$RYqKw&%4*=p6PL9FTew5lQ|?fUTcSk zBok)21DI>f6aqyeP%Sn81?7UvV;OLHBbx$m1Eu=F#hi+81rwp#o+?q=LAwe+@9o4) zmgQu>R)9O211MkB=O(^hkRrhyyxN?$sBLfR&RymYSNY)Ra4?;yNa_@9eJ90zX5zBB zf_9LTTt8EYA-XjKY z>tJX}iOZUwP%GdEdXsREWCl+^d{%0(y|t4O?MnBRSu{_X!JZ+mF#2%x^kc$eVDD9H z&i+H@aNfBW*k7yGV8x^qlzGJB2W^+7#470DnqbVMCO;3yOjc#U54OVl2*0_kZjHID zQGNf~+VQW)+S|B=YbNrn@jhaputs^hM+uW|Us5mrYbR@fGf7B1#2h=|>8X#!)b zN?g97V@5VsILt>2w`vfA!TKyNEL0|1``Sf@VTD2x!fAr*U71WI!G{VD+dGWJm!GAe z9%)n;=B(l#8f!m$a=6CR91Q{!HaRC@*`}Zn2KvX8SEn;t@|0BHhSa2WcW4k$qO;1n zf6OsoiWT$pO)eII2_~gWo|y-(z@x?cm~I~XLx}b$_#whKm!I3|twAf!tXh#iRcvosLu9^uAme7tE zoU8|dVW{}JS93bzN|o)hjgRH#!38)3paQ%nzncelwF5ohUG%b!S(@ zwr?r$+t5PfJ)^VTXvsx1BkC-1U|2k#f6`)dz|$**i{UZwKow{%Yx(7m{e&pm(xloh zxyRr5>E3*3B3TSyjs7Iev}0k#;&jsnHS7MOZ(QdM3oWqXCZy$q-x?}9u<)d0~i`!VE(WjsLTRRane zha{kT)GP9kzSyQ$=@RUT-4ru?S?Gy#SuH6W;2%y0vwijN$U}SSnxDGxw0C9zPO(;q z{qS_Kdm8V|cqw#17~ui`bdlRG<15TM40;BjOcu>-lRz^pbJFb+GLwzJ&CHyD{rP03 z-mdeC601?@W!C-UjJbYwYsbUJl`;gc*Llh#QwSfK``*K4&WgW~54Svwf0B;YMhOSNT79I#g~KmVII4KdG=Wn8}k$eWuDx9=?~k-D%xZ zjhVaZ>SZQ>Z+;-<6@5LRa4F~X?gP7;g5*pF>JnaISMJ8Y>=HZ{8Phh)OcqsSNKK~X zJeh9YpPt2~pOu;XeowxX*jw0RT}efWrTYDKf1SHq)dA6U!I-&&i`KRGVKy>E9e2fp#+@PEMGf5T zi7BfZ_eEXnr*-RblVKX?QUCOJ+g^jbrpB)+flboEu$ zoAZ30nEAjbeB?HUh`|yvmStn@n+oXF^eS=;|4A7B3@qg%1B^qDNOsBS3|fT@3tuI_ zD=rx_*bhUf2=*CGkChnxj_BG$FVWB-gQbz-u#5!ArfwhXu!9N_7LR33;VK{rmq;)K zd}NT_*A2xQf%ae15p79nf3$u6woeJL$qGzOI(L~@#7rslP}XpmaZkuNcI>s4M`5`h z(4*_kn194W25s@NeOcoCM*7);dvU02OzPZaeiyjEL8rR=Y?!;U5j_C>0Y8(!V&tH! zk96~!3YAYmXfC6L_T~abK?ePra;KQNPazCT@C)HYdFWyg1fkLQ{T0Q?iy|qsiUb-? z0+ECqm~LAjPb@wY_n~YzMeot}+@G(%qU}X(UOsKXUJ3DV-1N6@8+)Fpv)2yoI5uMQ zd993U2{9ZAMJxLJ;{_KH4_D=|ljjDcroK@Ka7ulR!_w)3wRx<6+xi z%d1rZq%J8}Vp@-@6eFYpxR1Q^=LaPp(L#|r4nhM{2pvX(SZo?1!f`#me?tFM1tLOd zpa-FIhJXTI41#|_DH{;I&(6CI8!Rek9}WAGQ#WdJnE#KD5|`UvIK*nQA87B1e_$r( za;EBESc}O!>YH%F_}tem+vH4U>@3987=DqA^gT=5oL1@dM$Tl~HxIN}O*l~nu>ps) zGH#TF%enk02{sMoB_VyxL)E!trnQ{Q-A`y(sYp%y4g&lB?(&Qe7%(DM#*F~Wx$N2q zkBsgrhcuZkN?slM+SHAz7hXv@iN_Dt=_#z)5^uMffgp@plwE+tuUxooS$5%}701N= zKi2z;z6c+7?I9hAeOrRj3H@?jdu$q7aoEeD_}Z2rU|K4)dD%YiiVy4|(9Fa=#9KMc z>bkLx3ksI7kgttBU3WEZta%8}XRx$fLBW-o;7W^l@IiHDI#T~OtULHoTlaQ2p1{&B zbz%{dSvT~gTxV7x6PUUXH7N1cpcIX`??;-`Nj&X$YooV+iXUdbW zz-?8_E+pw4)j!CeSO84U{W+Cvq;jBivxIzeYc*xl@FQEVlkN9n3V`Vk8JFbLd z)}Z9QIkCnjV{4}$J`KRciRbW(|8QHE2gj-r@ktYF79GLHs3`ZQ`-@|v{&F{d-VaQQ(I5kA#3WkBA21yKL z*b|_F+echP#en%NcIM#SAwb7T3G( zpHSl3J@gWnYHYA(2+VoXXsvu;n*r4h^U}y8oruP6Cp zW&-tk^3egD$E==>RWlR*SY=>q4^lOmBAy|vE!f|1X? z7vAf85Zi$x1rqXsWVG~tpK2RTFUJ~8RAp=6 zBCU7yFU69c1{!cgoH7n9bmy>vN<6%37TTNnV}5Ij;Rq?_1DJH?9k{6n4}FD|z&7GT zSzx<{#hl>c+w)wz+aqw6mD3J&gPCFD?D3Yfl(Gh;;K_!Jbzq`ior70N02k=JDkiHN z8azyufoqp;+9=G?zGB=YtSJVwNw;z7^TUF?z0n^qK*3vp>3Py?-59S3oZdDtVWNR1 zljdpn8p}gl94Nw(N;-PCD(jUuAZ?$ZP1RSAJ(c8qARXnlZc>e-5f~igX9^7w->V1^ zsK~g%7|87bUlbJpnDq#r`EHC`Mam6x&Mbg~IZh1pcv5C$*|bb&2iKmJYd}Pp!GR&* z=!BW=JR6#gJ}nG5cWj8X4&27oW#_e|QIJlF+t15Kpwq1S%Uw1K6PvFTFDhL%>bBX% zY^mG4*#=1Lc~T=1b2?hiZ6cY0CHdV+1aegk^|q>Iz?&SktvvHqb{SAu?pO^$T1915-@lk8H*-XxlbOzGB{#o;0=olB#ZQKt^0PZzm z*Wr>SE_0}YVH(1{+B-)Ri^5>4JTW-30;ntsw{VtV4{6^-v9lGCHQLJ*&PR>=9t3pL7IGuyu`9v?x=5?kr;g{f zSRp*qhmPaqu&w*D@WGQ=pR@T073uxEBKDFzHlP6D9>^xa?Y`iuEdg)UAcjrEu;ISv zNL&WYIDBbGHC%!$OvH(=M{8UW2F&U&^%=@em?FTO-b|J{EgodgpSiNe_T_TT$o9Xy zF2sNE$D9tlG(+mNb7Sr6Jfzs#$@InSWrx0vIIZ|53v>E;(|RNxzF!l97;C#ZgAu2@ za4@BCia3OOhs=Z9fDHsRla|3@1Q)N9^-QT&IquZ7{VN;p12dEg_Jgr9hI zBslA%$gbJs&BUc&QttvY_efRF4~$+2szEcrS#9}qz1GRyP7@p4r!g(aZf;W>utt^u z2!HAMKOIZ{bS;U}e6g8HnfN5@uAvkjKzJ{g55zx;P9dASovBRfi;Bh(cmUx6em~gN z)(WzbpYWF1EuIu!nTDY7IB2~doVzfP7%)mMhKnV7{8OrH^^*>M+_Bqb%H>&@@g6SQ z7y8A?&=H^On=L0R9w6c=xfjLXKVrr!-%elf!drqa-V?c5D+visoE?4AeM<275##ZD zB*w=lTttWfH)Gw$cZTxDQz1GGz7TK`2!Gx5pPh5%oIhSBb-ojU@Ee98yqxomwKz<- zHUx!Ngz$3CFAI@4PX#0Ja?S&L=zJq$D0)0!?PPXGzs5qHEnc5z7v@!Xg)?nJtasN(|?ErtDV)1dF)Re^y@oF>Rf7|C9wc>>ke`H)Eb&T0k}fgxeN(Z?s=E zuPy@$tqzxJg)14x7*;WPA;4P|UD)IqX&2-I2)<&!v-UfpVcOx0aCi}U8z9h4)W9zI zK9d-b;OK2)U8FBjgf%FDot?@?;*8h;hw!Or+!dcmq2110SVHUQ_wD+7>Vyi`o;4G$ zZ^*9}&;GhkUkV-YY}e^6euLo+0&-YsMVR_avc^uUIYg&p66iFIQ{22XxM- zK56UR$DBN1yEmp$0?pG+*`EXmi_0c1JC;B5$;Nu}y@01H=FL=@fVI3CgBF;X@M(8_)uL!F7=W(=9-j1CY%D%9vO z#%?A75FoRh(Pif(MyE4-8SoMfGRql_r5k>sRm>2q7b|^PPd~YF$Lj|QCabpZ8PC_# zGn%w1BKVxtYTqqBbzgoC-}&+l3CPPLv{oUCk2W*jq#HuTp)jdJ+s`_&`r~c%+OqzM z&Wz!RKod@bUVG95E9MRPf8N2=Ph9Yh^-jxn=k6**IV73ZTi$*OYdc|!*H)&X{(JlD z#YB$a96UDZKIf5}>LaXFu=(?JrlDub`whVp4UdVd;06RfK2Dx<%CPh|c?B>HOza6@ z*9&SdEQFf}1M8+J33hhwPewD$JQ6pKtB#uiPw#NK9>|7;66`;FkBnIj&R9-dM%w6@ zawGAz$igU8`_J%M^-}Der+4VQxy?Ugk*Xi@_=J8Y9^XE+i0qoa-W20HbkbJCxJX|w zg}i9u(*Wu?6THTFoW}Og`hgPcbN(6-`%L{2&P;{3LzHgOKnTl6zwBxR2DW)i2E@ic z4DWALH9UoMBYmW+-nZQjeU)NoK@@)xXM5iP)G-;uRI?oq1dWT8Ynhsf^H*l zi%~_=IV!ISjRFTDX7@m9xEU8T8xY|$V7@;WfN`VHN^z{e(v8j}@$%vXCac2t%#?V& z?}NGoT6BTufcIO@-?6B(RWmP3tF>O@b*j;MNy=SL3@E%iq#wC!@%exLiH?n_mY7|? z0bcIGEWAFhkEEpP5Bq5`?#P+V?s_N@<*10!mTKr{&VTPG=l0?X33k8`lAmfg`y9lU zb9+sUA|}dkB%>$Q0N^0Eyxor_;K|IOy%3!8yWK{xunq2Gj=)*$(67b2V>a<8Kb$WT zrF7xa{5BbWzrx}wM;;KfKEql7YH1++y4R`9U~i%8#h_Z3t<)f)UW|D;6{E+(&gCz4VNQ1ZXGB7xdY0< zcto&-W)I7`hm z?y=Q;2>V9p)s1<~!1ptJa7Qg4&DbJHB=9FSrm`nhEIlZp=NZ0XlWJ^2<4?b3yM>lE zTk{>5lXCQzx=85tT7#JWH8aoI+x`=suDG%l@a?0*XgB|unIQ>2yppb&XZDdd%-|K?H!GhzGPTbgm;_KmW(F z)U6jTMfv3f)UACQAf$K%?sK(zAMe4zvVC@GyT|bm0JI4h6NS^ z?VGo*p!_Q3JfD<0I+KqyQs9R4B>1UXgiBuz&#e*xHrk(0h_;>)<C5{#k?1Y7-p4k$Q6xCIIiY2Q9>G{VJ1J zjNq(@K7>ST<1>_x{xu@Nopfr*_=E;gP}FI$0P4fmBO$!ZXo&!7y|C2GlxYBbiHHDQ zoYQ~v4Ti5)&ErCR0FXEeTpBS1;4`}scJX+<=<(mZXNc!2R8VB*U)66s@H@LOanq6e zo$D@4%!teFk(p2V@Uch2Zkp#Br*xCRSx?BblQUl{Sjt{TRu^@PP0Mrr3*X9{|27#N z{0;c3(X3BmGuo!l?F>2hkJ-jUd!hTiVj4$0KBwW^iYPhvGxDVFKV@;mW;o^?2rqNr za}wr$3EKoG#h1BH#uP9bM1)E`fP;=y@5;m!LD;4>X?SKmdF(W@7jepVOS zz$q7&8EW27BL7`VGmL$C!mOvKW)Y!KF>^^Orwgu)LhIz;h_h}>y%U4WKyqww%Ut(-kH_qHw#m=%x0?NgDh@=l zW5rr$MzB>y^+zCfa!?H2xx5JNyfL_vC!^f3Ok51da#K~@5d6?^f)re(p%Vp%kuN5Q z;Vl{`A31dXTKzzRkIshVO;0|B$sFH%_m~_yI^GrJ6$^vUB&CrZJs-*}H_xQXSw8V& z-@G;HLW_(}6FZsZV>ULpV(evv=qCpl!h$iJ!CpDb_nw$1Nj<>>PCUi-WsmJCa-LV^ zPQ*ONi?h)sBgtzayv%cb=sEgOt)2z%yf$(nywvpFnCZ9%HayeOF?P&!_);}$x^WvK zj*D~lve;BG=G?8n=6x5X`D$n|nh>Q2aodx;;ZP6n(ZFi(*72;8$VF{M-o)#F85w-A zob$Ga1G^Vz`Jo4N4y*L_P76lb2`6e@VE0}UX)%LQ377shg;F}TwKi$Ni3z**LTLyK%{xw5 zkM1+S?xSar+RiRkC!EmGT6A}iU?CjQ#VGqihxINfF+_ukacs5iOganIW~=U62|m2p z45e9U4VVyLQa0`06*&dS4QPwtT!N0uCa(f=yS{JKF;;p~E zH&tVN5l6ZD6?Hf5R1*h5_y9><(=^u_o)uVFy3=ur$QBpgsq4krXDyT88Nt^y`+z}x zhEpB`9wr;B!y_Dzxq~zxx&DpXPB^Cn2X&qTa%l18OJ}`N27Qs3!9m26+Ad_bU8vI^ zMi6-4fL09f2@ToN>@L2?16f#uz3#%oK~JE*ye z5X=@I744E~z{g`6981)pz95|c$%ik6k-^sX++}r`1~BQU2JX%MKIRuh&2UR$QZK?; zLkPV9HGuao#Fz-z#wat@L>eRlGy;b_PoMP=ioikiBpPS~R0F=GuuSbfTTTY8VlwIa{?+W%V$q~g$-%nEypy9cuad*tF!?6FxY1$=}f^d(+Q`TB`7j`t>gx?CQ( z4!ltKe_^3Ox}w$qvyxz3}0m&-%$nhj73bQ(m^6`w%F z9yt|0igJMb54>0Udl^RCAqeg{(w(++F#tHMg1r!X_m7-b_T z1EN+X!W$~Mm!u`LAF10(Yr*zY_8XSX(G7pwe%Y#U#T&v300PD3Clt3hUI>JJf+Oh@ zfWX>_w0&&HBL(YDZ`p`2xS;->&0FQu2c)$jYK_30IrRt%_&cAcjtUY>Je2af(VIqVQMA1anOy0O;dIM zK1{{>1*!sx4NnRUge2N998+;UaU(M9V?}(;<5%y0wAUyd+S_fy$tdf%<KbsVVMW z)hLspAIjj3wEg0K%+6SM*7p}+`rsxi-~Rk{(Z6Ll9bV|O>uTys7Q&<=jZt+o4nG~0 zL0fFDP6nz*f^J86%O1yFwJ0fEB7-g_Lo)0cP=*q$&^J|gtDF#8=n#ntA%trjqC zi=Y4W{aEqOl&Vu4ZK{o2By^4BwHRLYj5;svT&A*pULa8}61G~STEO54H``i0cKsgS z*#ChWE0>Aw%l%|x#J{MUe^R&Y?<3tvhFm5-e;g45W=n{hN3%eF8n*ufcFBce#&J{) zbh{%fG!>*Y11N_q6-iNYsdz?`$RSOIubdd95ix#Cg=uY072O?iBao%_b_BA1cQ;&|S!$QQcp*nO-qrv9IberXbg;R>(XNGL|Q8n_jri|ZM zF6&2P3Ui}_0q)*Sf&(qcewtC-7uvasu|bQI*DQliPXVJ29R_${DWZV<*wC5Eh}iku ztI>xIbbj`A>u<71Mq>=G`|=T<*3Ml>%ywJnbqoaV=k#*!Q`cb*R$9n{Ez1KjAkE^! zk*~0HXn6YR(5H1hXsP-jEES4x&0}f=yJbITqIa06iKIt(8d|Exr^9Yt1V3onz~uSR z;H@!0#PzTN6&)!|Yi}f7baU4CfAQ76t#@DNoNYLdv%wm7UM*7iFJe%ZlzFwd(Ic$c z>!BFTolkK3WLyDJ<##c7%k=dKcReaLBl=K`^Z;+M8K7wn$Bu}>fnvOk>;z&ch9{&0)n#)Z6^)3I4aL}{IS;5qG2l84`0Q}<=@4g$ z7;1yCRQN21iHU)Z4LH8M7(SR7u#=!-z!MXEp;@Lz@w63plfD!Dhe+=0FF`d%qT#Xe zKh$VtOu9Uqwb#w>wNvgrxoD`olUIZ9vH#b*#l81LN6)dJ%0+{DR!)udLE}m7l#X2) zcNmxCqM@0Ds)0r44zdX9QJDwU$%W(5NH|C=79xI?Nx<|N3CD;Yl5oVBu>X&6#G-@7 ze};o9Xn8OcI{VuEyqZJDJ8KW#tTE%Bj~+-_w#dU3u6_~?)}aY14yX6ui8Q@H_tSCv z)!LzOV8s&M2ii7w2_bX*p-&8i1DB-IupO|44CMWWb;O|6?0LwC$M54OE^3;Y;=ae+ z0X&7@p%K?YSYsw=sa}cvC^+WL5O(a0{G{;L!8J=g!_Gu?f5NK3t`dk;BmBM?xOKUw zvscBfOIiw!Mq6z=S$1gL(K)u(x>+e;+{z{|Cu8pTp&{;CmlH}XtRH=XrNVr25L464 zC>IfNo!~;`xP{H;9%!jD)>F_yg9{hPE90qbfaBx3D(F~Op$blyk9}GaH-A@!T^I#b z<90IPF7dBrbE)!b7>676dMI7UG5+&_1FA-fv-!LCtM01q`cE~e$gE8}Cj{^PJ{fUB z)##7tx}0ibKD%9}1{X}Mc11cea*nYkplUq2zxG0R)M6P^15?YWLg7xaHBo0%T)`&hm6ga%!Cu4AF=tLtKP zG3=nU4;XUjI{$>d$%=k{?+~L>xS(x%e0^DV+Ebe$oH3jNfgZF^88$FFCTdWa+N~OR zYLW0x<%cgGZ|^M$&(FTG1IwbJmGe^-h)^tKW=~=~Ec?=1&GzTFHUiRZ}-=GR;j^M-M5Lr-7J74~#Zc6=J2s zuvBjNgl@}`{~;rXZkMumWuGXWLq(3M@$%6cKu!SSzG+S3~yr8=}i9mMa0 z48UxO4occ9eF}rm%j=MBjAM?K=#UItpbk;;I!u8&=t*>7U^;aCTL-R02l&7d>QE}x zVZB|>%<#v%FRtBq`N?)ASs)&t|F;e~ZklG4l?u@d>bE*Y%LQUsAg9C2UmYfGJg#=q z9JTnTa)HP^CJjVC19@(JlG^3X|HW#M3q;dnR0vEc#cEvy(Ozi)bmSrtWI8HE4>IJ9 zAC*E9iQlBy3GdKLrI1A8Hz}~bAs-2;6o&5SF1~ou{XX9{^Z1^SY|h&! z3*No0jQecdnZNK>864%%2`Rkr@vKCepLJi)e%YYVNU|-yMA(&ZxM=t^P0}4G>4Na| zLMO(Tow2zj8^3M+8bup)Irm6dX&bz{;9nrD2DY{Fp4+M&yuJucTSH^K&q%rhJntYz z#!R|~BQuHcUbfM*JA99tdGxI_k&K!|YRMUW zx$oM}S$!CL5zUicP-`Y-KcN>jXL-$Rt2`H@KRCe{`{G%U{YdHvds{r$&Byid@!hHE zl|Loyb&%bCvW(qjuo`I-f4$iAwMfEFLfJ1$*~=k&q{p=<8k42$Jjkwx$gvMMD!l_^ z<=A63$*~JJ=z!nYEq-HX{xA09zQ3}S7Wc3J~mI#cF*?J6nz%;CQ^m%dprZQ9;9 z3`D|?`F^%e%FfXX@hi-ZJ@Ti$s9>s;9rc|aA!ToBODUqSV6=(54s(X2?3nL;D7z#W zij-_YWc5jS_gKz)z5G%99?{SRO|Aa}zYhO@;lmZ8|Hb-NgbF9xVwbLs%M^@SpH)^@ zR?P8vY*vIzZ>%>#k~LTLr@+B}xDH)v25*lTK6^{)v(%XxQ~uXQD=z0d19fV&>_mks-P~(rPT@eeg4Y_k*Jq zG^T8`B+<@xF>;eO01sZtFjfjt_>py%x9LRVZX;SY+;2XfNn{8jtgs#cH=9z%F{yyY z1DXii2VQ+Jkl}Q(3G7=^8MNlyzV%^}Eh}aDi^=vzG8rh$f5~u|wu)tm>x){%*i99d z$Yf|&mCDe>zOneqg)s*o41Eu5my;p%f>Z`L5~$d7keA~oD_F&F=qTOMZ267`|1qi{tqe8j`5#~fIsd3=Gi;q znE>TEE_Cj6Ix|yW_muV46=}X@kM~`JouUt$0X5l(<5LR?1mT-LQ@Ss_OTRytH}oMl z*LFvX1)PS!qa;}4LMJreIkI*3nVx#v%y)#=h=aaIbRXBe{`w88z_$j99fU=(m(LV< z6f?cHJdg74W4?>OP~NxiJ9b8dw~dn-O-_pqex}!qYk0ThPO6U2j`oWbLAK?q!t{0ENJu& z>|Y~;-*!X_pA1+76PhzLF1b#quJMz>m%kW+hc|ya2>!9=YDcZg*fRK{4=6mG3X37S zbA|D*f(e^s=%7Uoy@B;&3Z3dJhmOdh&t0)8mafc{L+8t*)BcU#gcyk(SW}8De61Ec z{?kqSXe-A)SB~9f`BBqUD{K3QDYf3kAu{$I2c+zmN^pPFrrgQcA_%V;Ggro5RU~CE z2gvXY@}jtHh0U~5IrbMAJM@4L-#|Pb*5pFIHZDgVpFDyu=s~(0X)b2J;U{DGb%@RY zeZ`Xh#tv__z+MG?H~u#~90q&f*&wTZ`r9RKO{rM{l=D-S4h`w7*&pTm(`$<3vH37l zjfl}y;ir%BW!m@#Z)ACw#p`Ed25MKEdY-#$`aLa%@def}cqIhWcCOo=dHU|FYJta@ zduzfUYQHH6^!2KQ>#-mjd}o|=(KKPkquew3J&nIQNM8*joqDUsN%lfSmT7G_soKgHaT_gCMAVqxdlP5WdM&DV|D!t!@02Bl-(1|ji@s@0lW*k| z@AoTZ@Dq3=@b_`;;P~9YzIB?Qz+$NkepQPE{yEU)+nFXG-WQ+3YTEg4cuDT@HIU!g ze27g^|8M*~$hRJwN0Gr4eGOIiyq(Wfu%WZc8$W)? zJ-Xe&<8*cZr5@&`$!l(n4}R-?UhMrRR)NO=gfq7)$Z=^i^V<#!>FID;z;j<4VtQs? zrQ{k2fnQs0^Rx2bPifJuMq=!rU72J_yXYaRxP?uT+K__&f(Kq1+7t~YuAFsHzlFYl zB@%U^(SbL-km^BtcCHDTNrhYWF%lH@n2O%rA)1oxlc~cn`wTIID}vX?VuZ-2)eph& zqx`w7!#jsNOtOMos8>{0k00fqv009P#<(Ew&)?Q5>e_ug)^LO{$}gTR$Otc%<@C6vyDdinQ>D7B9xz-lV9XM#&D;Me`TMH z|8HwIBc{5)j2~`nDC7S{ufJ%5=gRSS%Jb6zLrDEkeo@L!?j+WUi;e|4FY^bBj*Rk~ z1ds5er-yg6!%u1#mrc<9x$VY}-S0*P;7yhapmQ#Ws^H$R!(QLdPbtSqCP1uIfL0d@ z_uQ@3SL4Q>$nVxs{g(h}4{!mvXrz;wzaYd~>pv8LSII^2^C(C`Si#o3oc}4p0Q(RD z{4WuPfWdzi!B~81x_4OHcIWb0h_pJV;_fN<}KSk^mU|6*u%pxXO?XPOxD;lKU&FEO1YaW(7 zu6-g+6FZ9-!dLHSujKVd&7InJXy90l<|?pO&4hSy#`?E}UaT7oA}@a+dxr(B7F~iP zZ+@^%LD-h3%Zb#kl2EK03?jqaJrAr8s|I!|$5b%(XGBI-BIywWSRn&R9wugUd;pWs z7dyy=3vl6$AfXU;(RxG$-jy1}&HxNV2%lcV|E(9}&^}-+j;pzHcfxktX?Mf5^G{b? zOHF%-;m25K%Hz+nK$h&FzS?$W+n}!XAxEbPWDNiE!HFaIKjOyYx1{zt@ud=Y#n|&Q z_=Y_Tt}vBJWy<>`@Gls0@I%C}o<4Xc?tj3eXMq2J7rG_xZM4j=nL5il;Y#R}8%|RA zs4YL`;kWG1JDQr_k}%mRd(xwYW$q*JrL`mQ_rs7S;Y7VikF~WQRCfFkJ_7&ah!h^G z1FrIfR`XWm-w^H1R~muOz`Te12lK^1cODXC$lv|$EoHxpjDMya|Ig{+OgyPr#-AlK zUyzVU`klX1X8tdj{(ti~BGi4MgL`Q$MYrb8;?>(;inO>VB2T=cxrv(nXw{E&1fikh zztN4w;k0jiGt9h0x~}yM+uYi!tIMlo@%4Na{WPr5$&X=`E1(U8*=RYOTz<0iN`LUC z&?~3kTa?i#?4sh2u8Z#CR_iGTtChBX?tkEX04f z*(ERsBoL6CDtu@HfoaF86DgpDN^F>XfN0Rfkz%+#vhLOP{OOjDM)=Ec zLF9n2$@LBgTQ7NBW=x$Cns*ZN>r|bS^26wpQxC97mNvnA<}(g_+-z-&^3Pqd66J@{ zAEb!Ss*Up+VBF14`4(}PiPD#!UoEA-gTyzSYPjvAq#jlkEunvlbjj$4n(Mup;2@yI zO6X^^&PwRv(rZW$qc0AI^Ss~a;ptDf-r-I>UL z3gYWhze@32ap9m|NoZmD2)<^q`@qNX1-4rtKHXIl#g~TvoA|8Nxz~rnh^PXyBnsq= zD6kocFVa6c<-aHZ=l%YI=82yFogWT#SoHssAG*Kuvf%5g3EDq1qPL%Yck9Q1`?Y$q z*_itgn?#e6vyrY`_;?K46`ookKA|I+=AKlkzjCot(gL!PyNoOY6Y|ja6&=G?fDYX_|%y)=h)}$GQDEOk0o!_hL7_oBTM{IR2wP z+_rk|IJ;DN3bHX;;yV2uUcUqGs$nW6KOPbAIREq4Ye@ z@4sFzM=$f9@8_Iz&pr2Cyv}2QXQQvP#Zke&j^vo;I>TWVZ63-GGWiA|Lc~ah4I>r_ zEkaSQ@TbIX)(E_#oR9sUj3@#$vhX0>HX#NdE5%m8kkJHemYjG-S5|4FvEu!!KVNEl zYV9+svkRRCU+)ABdj1-`-sIhWcZQ13QnzFKW+zWJ?EN%iGu_vM_;X;qL3;Vh9(^98 z?AY|H!ql4iZpvAKeveJ^`GbEAkg^-!mRs_2f3Rfk^Y16gKEL&q$Dh_9g&Dvkm}!Gu zbDR!pG5U5H9$Z?jr5H8o3w&H^lpqCcuR2(#yoW56*Hze*3khcN7=H-bAFvonVxdKv zR31i9Ho_PsP{avrXe9nY3+%It!EG!=Q7?c^1JB>4ynlFeliURR);GR$8U>zu9@Fb? zTwZaVgdsfH_@@v^h(2rigDK%fKPMk~P}Z)jP&7iFUT(V7LkdHvcftZg`9bjBGvRi> zmDA?~rzhsk>RGLv734QdKkAnNA^-scYc#b1l$ZH!3bsCWbqY(SwRS&rxCtGM>JZEU zHh}A8We0(``KrY?8GZVOb4MwZL=+fQ8D{ak0kdfP*8(moGC)Mz16{ZOR|8AM|ImPc zzD=TOqrN$)VA_A}Zv8s_;8Vd#O^5Xgy>7{UyC3na)A7$(p;@&#ujt_XvxIZputu58*pU(14yH@T(^Ak&o$%>)|XIyaGMQh@3NKGwiC zaBHrwDVe~H;Jd2h z#u&H+6sUoR;tkl|JKdR_JJ_@~(+SiEPg%$qf#0mVC=}fSDkWJeF4lw!_-ri(;4y$O z0{cC9>N@Nhg>0g5y8#Q{VMT~23!r?!#K(oX9hF|q=6#vWUvF#N^5aIXmS#BFqAQ(< z!I*)p$l$x|a7JDgGt&GL|NZJ%`uT+k`+f73iyIhmm;r(tsMif3jn!W>J_OvjaOwGy z1D^`*#jSrGw``{NK?AH;P=`ws$u5S52?`U4d)k2Mt3XKIh#T|H8K*u}aNu9|YijjKM4AQ||C{udl6-xZXQ2O`U0%rbD}E zT{}EOh+f8u0NaBD4SI!0)HB10nK2I+?#Mm4@OYAi+sc|1X<-NnH-K?~O8k>Rn9-1( zw7sa48ghqA8pnVkEd<-w-$geM>Sn804HlTg-k}FOQk?SP?VbHm-KPEyKPtkj+&7iR z`4ZNfuUI0%CfU8s?D@w!J#RU*Iq(t*oIrYmOu zfVl`>jrF6d!V{pX%X>luGtV^rixUt=mjY|7z^mZJ3LGxNy19Xrmh4oqhYWao^ks`R zOh&LBmJGbFBnaUFthNMo6bLv3tgnQ(&#?6(9K@*lt>zR;(DBL<35xQ}YfsGrR<_57 zJS3ZG%-&?xRrwdBB(WoYWw!^b@St&6%IfYVJ1JEYXC(OXo%$gNsQe4UX+?~#f-Cy6 z=0$clmqgH4xcyQr8Q_h80Sv?#+kXNO)rAj`m9jF#^mD~KT%Il}*K$sDEP#jRj(NPF z3kU`qV(+MtUVgu@UrQ2{eAOe-iGMvRix1=)yn8Qmdx;Jhc3r+u1s<&V$D@;%O>N3b z6}y)LK>2@pAi>NrkJRxVI@tPI!Rt2pTa?vjt2K{Mo*y?2%amGm`NFks=}ZYLsX2l3 z@BS%}N%8mAn{_*`U*xeO%(K3v=yI%a==6Q^5}A`$y?yCDVfR>pP#P=1U3qXtPui7Z zmw)q=)MwT}?5Ar3!%hP)qojfrDR}qF?L;gckt0&FAqMBp3^%VaTR(nl^f*$q4FCs zL;j}<0((?SHnL;y4#%A5P8o_C&e>Pbz3vf4ew_be7*s27B)`zV(hkEvfW@Z3i+)Vb z#^vb*wM*tf!|OLWB4WF?t|AhdQ;ha2XlY0MX~+#k4(0Sb_nw~`YF%{ep=Z-`h6}9=D&~8U`3_fi#uHs=S0Mg#qe*zecGX zU79_O0)!(4KX<~%`cOZZDmd!G&3iqzd?tJ$0AdCERHlk>1k0Q#Iyee?#_g)(*@q>w zPHUu@ZoakFOl%(0FH;Orp0rWndEa=H!Pxya8z-JOtuue;v;KfskMOta)PY{mZL*&{ zP46ERHHdQZO~y3qCDvsNf$IN(ge^b_$(TsdX;Rs~B#~yZ=#Mo-Xwl zg`EX#uEy0OVn-Fi<=|-rnMWTk<^JgzU;&9KMk9=3NAVIr0>q+6k9L3^7wOb zkDx?GN@WBUEL=3{qVi~dTo4U=hqXdaA#h0FeAXt9XQW1?| zFg-T@@+PrEn&Ike5MmZ|k^JLQ7X%U}`;Zdbxa^#Y$3Somx(th4us#?rTJ>f*_F&cG z3=`xDVc?u}tXkj}nQj`45UiFND8OL^qH2Nrb*fk9t5izO86;0t>b#9oC^L8S?Nqng z_oENCW(__osi$H)#VO4m5*vJ9oZd>VfBkGJQSt*^XuWAQ9iET8@J8gyyueHN5X=pb zaFglzy42S@-)Knt=yFel5PvRJ9idOKTBZl@wPCr@q)Tj$VE?wwGxGf6DOes<3WRUh z9tJ$>SANbgoE+7{shHaE&0&h`>pd-6lGg+;ChGy=EiaWGE(*|E20kKj1t6!(KQU$m zx&CWf8UTrHmK}U*9ni)nW3|e!k5TzV`_<7Dcm%*v6h3}2fO=r50*C^!8_Nx%u0?~n z34n()ilbb>fvLhMo=`i&r7R7l4c9fEp0wvHElJYknxqz)xnnbT_=Mu@Q3})C|3SPqcNGCjpRt=vB)w`bT04 zv75$+i$!A+a0LDwDsaM8e{6ps!Eb1>Jm?BA+*EOzP)@`SwX>zqUffN zp3jT>&-7kSd*t8Oh%aj!v-eJxd z#%G98yQBxh2(D#_xKxG10&q9=kZlU)Q4c-Jy1tHizz!K+j~12~MBgS8t3&>v#Uh?q+sX z+mf8D)v=F*^i&X}L7NR9PuP58>aOFqs|Z*tz|{b|zipc~GN*y-U%qd(3Vcx-vBn)P zm(I=Uia5#0#e;$XZzfIi{=@IeXS|N(ym(#)9ve`Afco)QCmfKdcu^II)vH~bV zM0f2{2LRr(;NJ$1!tNUl3!&Ry0K-DjLa6Y+)yBfoIu@3OpVxlByX7&Lq-dwP@!f?H z_X)^{Iq-cN?;5X50QsDG`*DxHX1P_(?5_bdpQP0h?`1V2gd^I<6u`HhZZ~z;Y2rB| zUPyed+>&qGv{+_3^Zl!3Q_^Eid59$nxYP@Ru81KJBJz-Pf*y=VG1X`G??yJSWJ~s1 z!gpaJUe_=WQOD8$40@b(zm-b7(sa?Ykd5qZKoCjV+VLLChscivNH9O!iURf~!flY$ zSK~b@tS`dQ2g7)3~%Tk8EuKBlE}Ox59%w@mss!bX0k0I`ztI zoc5BF#{`PDwm{&Zf^-*9zI>-No$uZv$uWg`T;JDZ3)>aMz6 zyj8!2oQu}B`K#9@eDi0SgOC8;czit zE#D-~X;{Asu4PFe3;dr%>g8m=`UOV?EqlqY?Ub`iTBY(o4DeOx7qrC1x@m~~N2?U? zPp2Oq%8d90bEC~a#QUigbw7PzQKgHi^ErL3B*gNEJ0g2pCD(A36oKP}V*i(c=38StRPd zbYJ0N7q!i2a{C;3ZMi9+E&B~&=_ST30wg|h6G195H3;67jN>SKN&Vdo@K)H&=;{jeS;tqFpxgkIG@*Pv6ky2oJRAfb3kpG$cVHlN9k?gB>M6XQ`v-)LgP>y|+&>`NgUKj*`Gmyc&krLm zp1#+1iWo~QyhuY7<}8bEe3-e_KHwJq{d40kS|n30ta_8$_`&AX`;?iP#4xxeRSBf; z{2e|2i#^#BZzh=0CXpR=-(w(cor`3R*Amvy@V@scK#==p$0pPvtPG)G%_a%WfFwiO z>y(*V4b5Na$;jDM@%Qk2Wn!VqmcUi?nM_fB0KxX?>JHXr=fy5wshRz;B9z=kDLI_c zUU(t`Wxfq7WITGE9vfR-7$cIgF{Xa_BV%Z;IDy4ifiiGt`41T)se}zT&5=p}LuOj% z_idWJF_P3LmJQme#xqr))oki!3PG1@WaQ>+>kl*}=9#kKhndDZ_@t~%xg^7E_CQy1 z+V-KTt&F)-oRO(h-@BGQndV7Hb17ImZK22Hyb9NhdPGD2`=X$`)Cbxlvd?@G@vW!x zST3l$J7Ob>P)BKny|%fV$_M`eo7+dOyb$+=kGpYIJFaQFqwa8C3$K9ql5Mr z-2>No(w5VGK>Gv$`a<_mK2zx_`1FN0!tZ%-_R}r~eTS{v!Ym4ik%t2b=K{59EJS^C zOxE?eaTn5=oI*HTbAo+p;A~Wgg-8-1M7bElj3 zhZqCxY*~AqNgGVk8}l=qUuh#U{P%5^XL4sF%3`B3?T!(^%}Ww205&d2OIhVgU?X^r z!bapEjOFTe(ud20todH4;@mR`qA}&W&30c`1cy=QOAbMp^;I|A1KrXn%$``}!Vd(I zKO8{)Oug{~o7Ukji60Xfbe~+>o9Y<&=snzj8Ge#7&Sk+y4>!1ljp<8A0f>fd0pnas zQvbTNocPD3;d#=${ZZuP?Yv1k;xF4C%ni@jvq2k?U2@1z(K*WJX-JPUUNM51n{>66 zN?i9E?&zsG@~!H|1NF`H)reAg=%D?L&(j?DPAL;r);*_*{o5Wn))t#a__S~pFThYdOGLAefcZ_q{qlGcWC^R6 zReGtI4Se0R%^SUr%jK{4B^TQ`DeRJkHpJ)At4;8N)30OBp zsqTW&vKi0Q0CYGFEf2rQP=#vGBu{XSz3&~!C3)>Uy@KzcKQgH`FnsyqYDpLTbCVvl zE9D8Dc&0Zg4ErrpC(`eTnO%@VnqzH~uf#iaSkr~}A|Do^YEs+zz0AkJw#B?|8saX# z$t?h$w*S<2L+wbrE1kd)`H(@a_(AbN9bJ0DT++m^5idc?j&!hTzQr~*EzmB8Vm=!1 zZ92SZoY$)N-PJ1ex?VATK+jF;P~+Oxh)WWIwn8G-PMbT@@gBmgEm_R4-T3fn!dL&H7Ks=@ zu}s+hwIl~|K?rzPBMV9(OR!-pl3?T|5xxDojEadCvN6~At(sX5Lc~Yw0c0LjxjEsq zyW00pt#cT$;)*p|$kf!2U05HeYe-2@nI)m$N|PMLpIyloxxb91=u< zJus^Uo)&akjWG@-cN8TDqWHoc9HS`4J44Ya);<}lkI4?7`*>dM^TjDYED~hVojb~^ zwaZmJbEm(?QRXQ>5h!z4ZMzqQX2qx+o`NnkTV-+(FrxEB1ZCBM=HSKqCFPuU?Ot9dl z7KW#-yE?1e+IdUutNIGQ?ZJ&Z6IfVng={iBW#}v@UV1j{O8+G8;P)7Fe_jRp0evbx z*tE%(*~~x=;SGhUW%d&aw+Oap9AdP+lelrocuMM}w^hT*_UWtNxd>gn|C7Vmfoaq+gdjFOxe7a?R~b>dtIsk&e0hd4@}cA=lB%k_9w`^pt5Z;?nM;v znW!M0vt=XsU}E)$(1=T~bPXM(Bz? zv1|Rh?;USlo2ETdH%e+AQj^hnDAJ*8CSLy(z^^KfaJ$m`%5>$FNoOYHn`*b|R;7qX ztjN(*?y!YAaL8k~xXvovvajs!6l&|uuBudq-SU(hl}bM({pdFwbLgOB6o({$I1MIg z^XZoPDklTT-Yd1t)^EhXb?BE(nKhjO)s=z{Iy96!EBi0Z17k? z8^M_ks!KYooUDD)#n*}TyS>-k;`r{z`_J!~+pl}EVrQv%As>}k@Z=g@;he|eJH(lF zm8Y(`PVL_x8!6o!)IYU-+oYz1MYre33N|aWUJk-bhdBiX(qT#46~Yy?z218L-PP1P z;T|%QQza(`n)omblv{W9&)tGA0tf)xBeWE!~QF%-ez!LK7N=3^{P3v0_4rPoX{ zynfa}#4jauj#%;6>?j$OjY09vd+ovPM+=@OB!nzA*zo+9{Tb!6&sTogFSXa<#;VKc zPXAxImqbv6DB`v7RelaL7g=OxEy&yW+0)szIJ=81cEmH*3Z+SFQzI}aP53U^lRjOW zGT}O@T+i;ix9V)fKW9Gm4t?F=LO@U&cIODoB1~C8=}#R&rl!{9+g}ZxsD!c!!Y4{m z?{wf&1YMM}!5<9CA0?EMg=)|50L1E-!qY=qG8d>K1C^{e>!7wq(0q{KstEIAI^gJQ zEO8tKcm^ey+nGtEet1?fTMRyELWEs@O!=Rf>G90xMazY$QRk4=v;s?|Vm#*E^60Af zTxoWQdH?b`qlbFa?G71@5>by?AzL0%wSwd7mYUQZ`B?JB;z9kTvI32ag9fW&W-wAc zR*n*dl<^mYFO8F))@bq8^Axp1KReo|B5AiyWIT5d^*1+w_QTS zqG=c93q$Xk*M?m=XrWq5P@Ewc6;kIA`K3S8+Fq~LQcj;@<6s%G%St;aLQuF6YI5{Apd;N?pz$EV4L*CrClA8Pgm2#-2SlicUk6)& z`3wUx{jblU;G1{j#Mf$7lReL67l|opE&%7RXnOCEi??)1STFZw359-Fn~Imvi0xW= z^#@J}^HJca8udZLVgOGiUmmU=Y+mGVp0eYz#oL4W z#vP_sDSprIcwfJKIq0era*eJfACDJX-}N%Sm1)x^yY0nvv8(PEQP4zofITM=9%f(jP~BffBx0$yrUIYcn{g+X7x zIHlBR0VXB)M+(Kdr+Ov#L>ZTn^fs(S5R~`9uC*yJ%*CZzLw5X0a4dFpCSEt3ED|VWauFDs8AN^<~ zuJGvatMBjJW*yqMAJLN3Zp1%5@#JOV+a{TFmCrZSY&|~`Zm7t<^QQRtphu`dNZSmo zVX7zIkbj&4LOxuz4qqxp*Yu5b$hgD`r%lZL7Vca0R;nCtNWsTFHWK*3$gkG(DzdhJ z)|&NKnDA}48iu90@8J!`c);Sh{equV`NijAkIUbvw;q0Z>bjFg1l)RtQmj47!!D~- zcuK^awqB5{?jr9kguRX!U{sJx@h%7cl-a;nAvGfkh!#SJBOVYSG%dso2uGFNjtjf= znuW3XZ_ev)X-+?LH*R^d`(DS27h6J)O#W#jk$X6K&zKUyWBdAP_kXxJN2Oanzv3#Z zwn98;!PSW?!W)m(>`5Eej4a-PeRxeGA>!)1CjDPpsgG+`8HrzZ64LJER1{~uoN&zc zgNYVQen_8J~U3L^D|W1 zB(Wb;A^}DpQ8=nJ5mO?LQ{p19I}{sJY7`&RT5Tu!D&Sz4c8o?K#(&nv5y_>oo;hIZz=2Ovysq~-h4yTy@@N$gq_Vwkwc=) zWl7&Y=-d<(EVjLT>(Xh9E?>Dau$H>v&bmY!cy@+F+6blX*M6LdMktJ)^&x5Q?e`qW zRO!;UYmQ+S_u(#cd)oHef-%o}xF?q+ko#aH*6kw$osKMz5DY-4r>g{|&)*UP{^10$ zq825&L#vB#ScJpSipJBs2Ccv!POPpT*G1rBokIBB6A3N`5XQu$F)@UR)s+w-%EC!D zeDA=RS9{<&adpGgZn2pRHs|%*hQ#~zs?uNVj2i0uruZJZ-8^aCh8edRSRbX=|8n-X zXG$M?(!WXh)^Ca4KJ#b2*-{Broz5peHyC|Ce9aSZt35=te5!!b?RQ^!M%OH!hJ;dd zA*tx+OKv^fb>z}u-`_$A0|GDsPahMZ2<4FvTXpmtkoc^YNJ1;@a0oeT*G50hHV8n7 zu%T$y$tLjIV=LC4FQJXZ8yV>@g-fW!Yge*lZ=%I+0Dd3@t1I~-wPo7QH>i%X%VQ2l zz_%fh=!BcM7Xtx4oXK$sIoS<0AlBfD?+CPzBGScTD3YUvC70VGR3SGaWF}mlqrm+_ ze3VZ^xMNV=t5>^of3g>?d;Zp$^X5cx13xH7Xgo2nI?sNa--<3vZ^g#VE>yfT@4u4m zaDUFnOREB>UZ`I_VPNxB)2DA|WO0v6?+P<&^AGSv(vLAkg*6pK4Ex&z|*yd<&mNw3$tZN{8rw1-WP4ywZvs#OSQ1F z2!H{&bqsf!%9VglrcR-;w1M*33x2t!z<$KhV9xY!&X38r4^DUH8QmomFPg4o?>-4DULGVrJRF%-@5PDJQLhfZY7iTaI(u*aOZKB{Z| zFWAN@JxlBKeeh*L{zBIE-!m5uRCc{K6_dW}kU%oOy&QMa>&kn%D4_bRbe{w9ZN2Tr zV%OVG9Br$8$fxR=E~Ob;A4fRvkUAzRsNS>u-Nx4U6JO`)m1#)TO-gD%YC=P14IH%V zN2WgN^Ho6%4D&^^R#^~n+!wjCa_+)8Nc@$N^EJ$w3~t`V>{>GmowJ@X@Kg^&5$OOz zIxg2Xl3Mo&|n6~qrpkT7~1gKpx~05aq`Y#tO;|c9rs+k;T-Fv)bmEAA8Ahv zZtP`d28Bo;V&Exk*$JpQeAk3a72axbia{5*PMP3U+-elXd}_WHi5mS+-H9uc8& z1K@^mclX=^{i8q5e3m>(JLYrCAYk$1kv!Lpqy|rrJGk$qBUW7$INb0xRBCtgXzRnG z92QH@iwy}7o|(z0Q3Na4cBt} zLM@a~A&M`e)WLOoawmM>sx8)!QQ#H}g1S`en3S+Pbm3y%FRGq8Ra54YuAG;-D+Zq_ zeYcRVb!WZVz6JVDGs9G3My32ibL|6NcD6JG>&H!Aq_KYG1&UM0?zRS^(^T!Mr!|pB z_TG>fl{ywgpt0TWH;4uKo~hh$B`h{EGW`VU`OR(_M?!-R=tYIYR(O9!M+h_x70!}2 zNBOX%kbK#AD;`Bq8AKQCA_5Fx<3H$;54AY=%ODHy=R6<6=C7h8=6PYwclDNHzMO_edbp) zPbW5Kr-ctg=at!lo1XXt7Li_^Yo9ItehtZr9-b;gp5 z*XwoQ{TSgeT$h0>6!0pQX0?2d=9YoEVMn5rs(&O40Fl4VIWkvUDDMJ4G#Dn0l7cEZ zyPSpZM!n$ic1WNJ^g;y;xWjFf^oMcw9pt~auD$p)ghOSkm{P=^V7^@sJFuMfnj`1ZBoX$+b>n7 z!!L-wvOyR^=!R$waFc{KiLJ8u_MHHo-H3K$<=IWkKo>LH{&3n#*8usHCqy6wb$AZB z6yb*q0dVd;HRRUwW~2(z`2twt)G7T4Bp9a@gV8Q(Uw0x6F>c%DI zz1$t4x7Mfof0e(?^i1C_wn_ZZ5SLGLJZ=J{N0~U25z_ViJ8#k-S=@S>P#NzOD(SFh zHMcA@Y9*(N$rj2qa=vLz}D=;Sbzl} z(d~(cT%=F6K58kUlmX3&mOiPkavozuuv)Oo8i+9PLH>ck`vB9VJerajBAiGF;nv@P z3H(d+^93*q(q*c^c}bU$Qn+o`SXYG;5pg0adl(*ztoo;$;s-B9^__0$uBfZM{4OZC z;YIC3F-g!dc-wZR+sEgDpQ_BZep!)%cjyKC*12;pY}jI2*V-P+h`xD$pWfwyWS4c} zdWX(UZ|&+s>?QQIsCd(%mF?eD&lGqhFz#Ks^}wofzQGMi+fwPy73o8{+C>j(JA%)F ztB?q;NpO9kX6PdQ=jGCoh2RL3qU!9C@g*mU5HQui%h0? zIj%p|nBI~PAD7nDwDd~N>3S@rFvd840nNc>(%D*;0mhh=A|lj;QqA>HiZV`{|v`>>15i z0rKC|m55h*zRuc{eu?ld!toI0J&!GZ`2}U0(P>i4B4imG*{2K1U_T^5S3)GJ)Ydc1 zhBO+3Ku^rk5z~=dw!M00O9M2h;5q;o@M|H;FxmlxoHn0$iS!M#lw}K!{%pwnB`GSfMFs(t@|!=v1MK z3NN380t&vq*-rskSo%OHg$vV1;x8OapI-T@X%4wLXu{#j32XPA>zZzoH}|zx`jwPv z+tb{p)npYqMJSoXQSgFkP4 zRku*=$W;tWm%jr+Os{miIn*YZ6Y>unzP_WJAj`iRnKeK4zCFa+)QTYZbq)ew1U*%v zN_LX5jl2d&wa7Jo_lU0erlqS8v@8%>rNRjVZiOGPBILBhom~i2JtP+k=+Np5sjElM zWHn|5#=0uyU7Y=kbPU)Nz~*`h+{#4PuL5od|6}!iyp^IluRwCV73r@Pk^iTs(#u`k zvnlO!fXk6JVz2g{>6MxLDmC&NO>E~HcD7^bgy`+M!$s3pGH|QXz}d}JDsd`~Hx_kX zS3T|@FaDFaPWI5&xP`PEQ%^3>O+2Mfrc=hO^!hd3?pHi*e=qyx@=?N14gV*bHX&{U z;KMzHD?2HE#ao5nJykDZVU4j4ewjQ~dzPL?n{=_$S)UPK@dZ+jh(VcW^c+N`O>rEn z!eH0sr&h+QUXl*r^i5>)7d>2yA4mo4zpMhFysK}=e)AZ%3fRh)SCRB8%N-SiYvE)4 zKddpsyiGy_(4wV)*Vuo$#bRS2JO`BnYiyjGA^(o|wLPUD-+P*g?nCJ)zL_Nlq?HJB7invAuD}aq*|Xw?N?hat{R`>uIakwnS6HS^rSD^=X%~= zsSvDxz1;nYNSTw@s-mvB?R?yilJeQB>O5D^nY}16S$^*mbFS{DB=PTy5Ym&?-Zc; z^gQ1Ua7P+pU(bf8tM$(NTVzx`kh=kgga?w#8w;eNptko|iuZ>)?=S7f(hZfxtJH2? zx_F-9vj{PfHxuXtWtm<()a>>LE9rJbsE+ltlN&4w<6F-J3)cVGx32Jolytdx^DBt8 zX7TgH6;!-%IP6p;@S5vYfB&9&v$crug5=6z4eg?ID)>ahkF|K8He55hUni zyux&IX{t$t+M=D`>?UO|{cSECUK0qd*eGa)Ul+WO0sjo)epB+EE`Ax(s|?*3A0 zVwB#**Kq#;1MkT3u1lqr#>rnMWQLHuJYas(eVrLbSQWh;KUL9h{oG-)nla%5UQ#NBP~webXUqqZ^*y`c3J#Pw!iETW(3smf5=G zaDznQ>y9v;DW3`oFUs17a^6AJWg=C+dny6FS`Z^S*Xl0SC{%4p(>J^M*-M*;WF0;p za?K&jK~-H`l@3*dcT&lZmhdnwqE2^zGt{b6_UZym z>UZ4HCAGJKM$?h_oUQSYvXS> zjd@OqzU2o^!)4NFuchV&+a=N@PKKx85-s{7QcdagjY@_~W;7xgX!-%xi#9sNhN+ZXMH>Srele%R0+2P_HnL>jwG6n8#PF)a( zVoi00#9;&x{!|rCx}k4yQlsx`*3QH`d8?;-H773S!wFR#yiUW@NZ?Drml)OuaLkjk zZMIRk^#|pGW>lkJFBK+u0eCrwT_oaZoIDT#iu>E%Po#nZ;iLuw9S@B#L7UlEET}>h zC|THZv6(7JMOgfhhKPEzh|&IDt{;nHEcPBj0$}nHNwgRIfvQc`yRfX(wOQsNVRm|9 zAR*|*&XM2^@`_i2Nil{;g6%%&ia$9kf@=Pzg%;ZDm+lMVGqkt;hC*i|Zx#+F6=!@N+pzzZ2I+5PwQ`!<+VfBY@}<#fzM2 z;F@D4z5I=o&)EeZk6tml{rmaIZc1QiaB6-i6|W~g8$nLk{L~;@=Cm7d316VoVdWV& z>ROT8tHUTMB2g@aaIz2TQL;g7IAqetnMQtE?3%Ycj1QScIe!6+sX71HA12v)tENw3 zseC}Bj}3;fs0?-D|7Z;m@*3)AkJrM&hZhy5Md=m%DXNb*FC6C07_NB}P1*a(uMIW( zMeUoH^X|gtC+f%F?o}4}42i7^?-_)P+g;dj*r!>>_wv|PJz=#=*^Jv^Bn575+cl-- zanx{l!{8AQQk)jx?c+QhGx3WciLjZm2*`Y0Ej$C-;HN0kt0$j}} z)Zg%33-C@j&{1H)*8@K;X?%Qws2!rhotG}YssP!$#Q5mRy8_?_H~`d%hQwYiA^^FT zJXNk6)pa8XPboTjm~(7P$A<(@c$5kp14cur!YvdspX?}bX8r zd`KLjf+-f}ypR}h59J~@@Z1&Bd*28YyCVTp`WuBgq$AKZ7hq?R=GDQ!kqfIAzpL|c zt8|svjFCC^-GW`^5K>kd$IvqrA&KJr&pRO!G4nLtKnf^t4JwG(gW9P4j=K9nb zbxBG3wf!cn0qcUGX!_)=9TeeAw0+Pc1urvxu?qbdWkNAO_CU(qZD*4oAKB_5&X5?W zIkLBz3DHVX0WuH$gC?T_|HjO0X~G(F?cbd3i6%~ao+`?$HgrzA1u!%e?*GEO`@t6Y z&s<3b!nYo(&K*R8eQ4uivhco=loQ;m4AEdEiRKa9Tn_VLeu14bn4FT#_#SiJQZ~8x z)_AmqPkCW6;6B=lP<_P>NbeUA$D@(pla45WZ_9=E3iFttVek(cD{EVW^B(>NM+1+@ ztcTg>7kxN=a_QL>^S2cAyQoJ`0yB7rHH+N-pmk`RuYR~?*U>c{x)w7iw|DQ-+ghP1 z#aF%TeU$g*8%1#5-*4SnvM8HeGx~)>MdgfXi@;o3#z^nFwNJ&L6@Ic+*3`V}PzHUC z>iifYH0-*mNRfWR=J87Du=N$%zbnP6O`Ld76^k|*u6drrrn*7nAZU#Dcv6aV1mrRl zEVwMH&I7T<>_Y{M$u?<9GFxLXHV%r8`VRF#UoMl=9F|aEH%YKQC7FubUHg#%?VvAx z)EAbWp}r0#*fAzpXatXR_)~URQlTJyOt5YcmcFR$s_k8eHkefS!F?3{fxc2UQMV_Z z^;{7_P7hvtaWF$d*kZn^Yj)3Xc)qt^myo-b2TmzB&G4h* z-J6ia*Fz{%ZGQ{CPkI;qyJ^izotsJ-ZyO4kHLr%y48Tn<(F@XWfYAZ%+U{xaWAR==vXV^%rJIzN3N;2LD*i6o>cJk(5pp^x#?KvVfU? z3)g)s;JXPVTFMlyz^8pOKqxzw)Fd)ONQnR(s!$BRJ|Pc84E6$`j3>47#6-EX56g!L z*#n+IHrqch?XRugV8Qa)v-_vmGf39=@lw+RpTA_yX%oKgu1itp@7ElB(>zm;xvw}R zz=i1t;u3!5K(Zaz8^gL;c-3+96vZiZk(-4N>&m!+Gr*%VnL#3pbgVl0Xrv<~iy#1J z4@ibh_Z7vVm?C-gt3&Vj3W%MV#hScj`m9*V&mu7b?A-8}@_R<0SeEqeXN7`(4`gqN zp!V{w z*uWJPxg>HDg%Gf2?wk2feweK^dKh2fBte&LAjntV7ACE@^!~1BxNXjx^mPaIoSiW1 zjT?98TfLNGqZ+!4)WF6IN_UB?@<Qoz|Wr!fj9#S0|_qD>Ts?-U*VCHD=12?3bBr zjU|1)G(gP&Eg`^pbXEd!iJ=$L0=zotVHr{?J2W$nI}bN+<$TVZ*laczDZ_g zfGZ5HCk_{k!{Gym=mG&2oS}yS*SQ9Cx(WUlUn~hB#E`Ip`Pgbl;Tu$B=_Fn>Sw~+xs4Z%AF%;!E2J{6cKBbi*OdxiHcKg{Vz%82 z@0NFmsxL7wC^zqlT7%BvS6xgKf#enb>{xXoW184EO^5IY`f)*n?9%EB_fLgLFE)?z z>qQHZ;VBL%9#B5%XNN5ix8v+-XV- z(2a6gJSu-hG0G1E$^Mjtt-;|BPov-{?9oQ&7pna|f>VZClI5y^dlU$WJNM8*o!WJj zABp1IOol1K*j;5@sVUfsnY}na#Q~&vIl_?`Pv`&u^C<`+q7J~VKXfjU$^hiSe)yk% z#}Ih*ZC(YgcNIzq#u>@UlN_U`hE7$uF-g@0@d_*9L9mQKCGo?fU~);e6Dw2f%lb^L z9#6Lan)~88za1Gi(zp3yJkJAy%|jQQkP?A$*tTN(Ph>>*{+b$bGC!{)WNV)j5hnYenP^2pQQG=;`_YX>8CuSVkiUJT)0RDfR#O?xYV zT%DxCc7|Y+4O1*!q3lf3ecce!kw6g_Q?xd%+V44hYGNvhIg>hk2)sSpWPdZb-m7XH z7eDr}6HjV3?AU>ARA90vxGJMEo{Nki5xIa5xqOM#6v)*u#x=Zlfgik8D6@<7X>njO zXHv98$h0+K2Sz06+F$P*^PY{URBW<6#lq{0FPGxotbUc|EI&v5{Nx9EHfx@#TY|*u zE4J12j5Pymf|n^i3!fQ-2QKOxZQ=#SJqb{%x%*`0%Dt=D~L#zA%HvaJ9=*$xRdf{P(*5L^=(Gg;04&|sz0o>JIlyC zxiPw^?f*fiD2X6p|C_G<<7UdHvk?_Vd~j@L;?#S>y9?%BSV<&yqUjY|>Zcn1s@kwE zNZt*nj*&{AEb18rAPZhT9nf82>_m?Fu*lQXDSu<3V+_$fy;&~%5DMHOd zuXPoQx(iQA$wzEQ9z1#cqc2n9>RNKS`;(M9HX5=(bORUOav%U*&k?_$WZ|+VXU$TE z<;F#WF5IunwR-p!umVsa4`0h*!(OY#wC~%CGH&ir4=8c_+Gcn6r;w6KMxQlOvH2Rj zZ}bbOHlo~+X>3W3cnWv}sj_b_;)a@mp zbqW?tRVrLQZ$4k2v?bI;g&PEsR*|u+Xdh_iWt&2~P#wtBi8(>8MvZ za$5b+YkNWdX;QeKCUb$L0EDYgSkI5{nu>dIC~W^xFXS{4=xQnW_mhP=9p#e6QM+$5 zsx~8E0}Mr86m0$lA51+8xy%&u1!Y`+c|}6mwSx|V7ioy%fguqWTQvJpZS)y9xs@$h zAQuC&&}Rm7uOoui1LfnmxN%1)Tro1nRnzhbTAWTzbPw z{Y|tJZq;CCOu?s%_r4%*R$u3@Nw9krp<5tW++p}@siSJmOBN>EGUuL9WpEOIqr@@K z&F_D-WxcQ)VUj$9&PK@8R=8?dGdwPD2r?R#UC@O{cN)Kf8yVY4;hbh}l%zEpui;X9 zB4Sp1H2XQ^+C;?z7PuI^G8MrN0noUj?^Ym&mX1O+i@A3Z;V2paqp&I? z4F0`km|O}bHw2%}5&SC$b2%m_^&fKjDH`*#mVdrx&`{YneWj+G(N2>M({$t4mK64N za1L%+y3K7}{+ikd79Px&GXYuaFBBqQZfx_GjkNo`C^Ifty@VQFD>*me_z%wfn533H z&NCRI5L1|0ZqelY#gCOAr+-4|wDVV2sXKL)FPEo_CnfA|Hf3|s)X{A{Y$VGq6mT!4 zceF8j>(lO$pG~M=s=uzPe@lk3Pv9C;cmWJV%Zv`GC_F)6QDqC9cnxWTt}@Qn56jcQ z7W;Zo>zRT@6Q4z>4wP}^XR{>-2t#0)A=Hv9M1|SsYJ+={DOfaB+o{~R3<_5@qz8OP zN4R8pbOhb04(MbS{^LQI&24a9JD394fKTGsz*`C<@Rk+=gAFSvMJjT4#<^1luX{Gu zL{lVuugA}9sy~=4@l0yTwj&tXCa-&)+)=WWRS0wt>ic6F7OAgK>PH z@#=bvEZLJ9bAODC1D{kT=O29g^qN75QuL&i&!tN`s#AHKGgZkrSs;~zO}yZ`8C>Qd z!%cv%uG=GwUMDSSy9;sF3G#~@C1|Y{I2oM^AQ?<22X554n_Uvg;QF7X+IBk1cPi}+ zB(CR95s8frn*+^DC5+gTZ0T0UFrzRB~OfEHcGx1Th%Tb`SGr+_8YXV?AwJ-@|-hjN1W%!tT;40@Y)S;TbJmx_{a;a)OpSO_1?LKb^m zh}DSITg{eQ_s(J!tTIj@mAeb?`rx$@+;l78nR9-i+}~$UY{%5*90`=Q9Tutm!G)DF zP>`>Orb@a?-$}vX=JyeQzdDS={TVs2db?NrSC4A_UwZH&g+L$GV=DZsXL?TOYR2cc zKc(NTb=HtjY4}2XQ@rZso%=_7ySBTO5?h`0WoMfVvEZJBo+eE2!$JB!i3HXwnU1Cyy151CbSj!DA6+A{ zZB3Ty$8N=J%}->mx>YE4L5>N+g$juRvR+;w!X@aG&5q;^$e-uqgi-6GE%?{LLQ7k-zQ%C$Nftp8&5<1bsu z(fdPp7O`F_E^V6p?)8l2&QFbt-+uG;-^lxR)-LP^WV>Yb>ye0!6O2e9>R|A54OxSQ z3ih;=zC6l#x~;0Gt|2HhdkSRJq+Sv< zCySK)rhJ#8q}yd?JGQR+P`WMZQ_r7DJH2!6QHv$4x9b+xsf51XZ2ffAl}|>OQxa1p z2Hh_+E}yKKaKz7w>xNfacaPUl>jCQEhP%>bZm911MWF_MoX5G24o&$QQgldGcPaZ< z1{JR~jyE0hQrpTj4f~A$LU_bxcG{Ndx7ZZfrQVcJ=NPs5y*jM z6oE~}z{sI#Us+BKPX2WZOVp{cpT2^h2LpOkZRR=vCOSIpXLSHj*F984VhDrLZjx|4 z`mX;fXyK+l44mBW^LH#2H1PHG=@KDKF;qAJ>U;~~wl!maVI!$u6jF6@Ej5(4nx+8v z$AF&LNKh}#n*&xN9b+L?<0Hs9c$WZ>0f%f3_yBz5hmzqV`LM6jTyAOZUO~O`TO+z^ z;B%AHYC_A}2UjN8B6_#Jns6N<*)jW}CK1`UGw3zrBI+;30-y8A*0nclCXqI!)7mD0 zuh&Sl{GX64^H%Ud5gB`sPNQ3*e6b5WzY6E3w-Z;{tTr{;&LR2M>wk-^%17rNf`);aU+EGA+QbO(8!ZZK0lmI~`s1w(i!m!rR2TwUlJ7#R#DAvc5ca$fXRiNoa|?_3QDm|VVh$yQ`~daQT&@?~L@6Q0O^ zXW->^3gMgU($Q}wx3?N6TT7ov??hb>Yb(A+Owxp0ChO;V-bDMMycDc0VCn{6^SZ(q z-g2uyy282p{fiq*)}gYr4WQNPQL~EL8|}L9w}RKBcrv*lghoGx3iDnteajlA3>;OB z-X>Kne+HTE^n;;lHrGL@X%bTM$Cb@^`XPrZWQVG72@|22K4SXe=LX!2Z3^;mSAJNw z^^I|6P2jul0B#0AIrbznoUnBSE;9S_4_v!Y`5!njcxu2nxPkF->?LIZm%Pw}>(tIf z=Ux2Z7rTF1tFFX{Er9+?!=XEkXMAqr-0vYiINTHGROOq#jCT(S*FGsNGP#Prw0$za zD)by8Bm3LcS#$L>&VkMLZY-=VArE%#+N$)%jVIKV5Tnb=PgHG7mnzQuhOEe+oV2as z$}l*$-OZeewMF$5_pSQN<_dd|KX~%yfWkBYIKinL+(Rf9vR6Mw zi2mXq0^fmftpGgZ^&~D_FaVb)>7xT@Tlh$iE>k==n`jCWQSi+k6oJ`+U^V%OD3eFU zjixeq%an)|@D7Z8GXRCcym`C_3Ib6kxrid4hMe+*QLF=egA~BSGO0-z!86&Dr4^|k z0S;;%NgB+%s9Y%6!Kv#I=6WHs!{_UCr}E6tx!n2?Gs>lm?hR65ynFF0;-%8!FO!bF zI=ADwrwIoXndw$JORm1j@z#Iv2JNMv_XUg?47_ zMKbnT&YbuEJ!e|({r&Fm|2+3T&wZYm*X8qm-|xGg_qgaBz#KPd4)egKJnj|bG??Q0 zHMsqDAE7TowtEsQ72U==+uadgHlP=p{fo;78(RQey;;eq3Mq)6Tp7Q(U_ZqfxR$`y z0IY7nm;P|oAxkpA?fKmwQ*1il?!NlA;Mlws{T^*d-_idKysq+5*uc6vnQi>CqN%Ne zv?{5DCo*E@JJ^-Dzlc3@zSp?^aDURkIUi;dl&dC3c#@_dd8PReUj zjYz)jLW*{PD`%ZWH}TFb;}O3lkcRt%+YpS6N&vmtKlKJeutklQ{nnFWm=5R-_!m9u z)-||1j|>etdTma~x$h4}L(F!>b9P^@nQ+Lw7D1fU{ z%?!VctA1nN!(VUB{Q~Q#VJ3O(2yDRqh-;2NWC~Q|h*S-gLBMxSIY{A>Ww5uqaxCkM zL71+g+k#*e-SXth4c|R2xRi%MONFsVHGxd34zVIv1h;jFUj?J8m1JOV6r@aOR#q6n z5ctidB_OIMH z9rG0{QSQfHiGKju0J!~&ckCInS^j!{thHtLQ%>>==A*vtTvx{q*?UxA(rYu_bQuJE z7XYQhOf(mCSAHMtDRkR?A|-G%)=((!bz}OTTAbiEssQ1A%qCT5xO=mL+idn+zkN={-NI-Wn@II9vwazBhBW+$Xq&gCecDO0&n8$) zqyW{j72c$8R7Yk2+Qg?KaLCE(E(C{w$GMttEdBM&Do5o%5g$5hFdo%+q&#-41i(`t zdmR&E2XX4_gR5bB!Dt~B*U$8u(p~xd@k}9Bcp@@n6sGmat@MT&7*_xCrh67WRMpDe zvjiBuQmR9Q~%Q!k_3TfaQw6 zTW%su{#csofF<^KOSm%e!0tNO7Io$x3b+uWZzO#7YsYmX**lDKi`bMHq_Gd1|G!)^M%QeVoEP*!Kh`HGm4qL9U2`tx2r$!Nv4?2>9eF!Rbs^&>+V zF?3#(_J<(mpqe-313bou_89SgbdbZaV7GDv*S^$8yjRF@scSU6_7vJPqe`GeCbI0L zO*;}gk4F{$g<|{1b(|s>qv%N?&HEsK{cO-i^`go%P7-$g9Zfex1R+^pw3O(fQ0To? z;?xZUMpb$EnC>DOn;997$WzqTi#B>0NO0>(`g2_+PGaB1m~>nOBm|BUak@}fGIYk! z;3>qO``e1mkDPfLitCTCzu%|H){j+{aV5$ZTQ*56sEhx7xU2Tc4>CJ=?0@hd#CWmZ zv-4X*3y1IvhigRIecWz?nU{cpbEP!`-&%(mPpX)X!>NBc+FK6udX#X#|$afNOG-kttFfOiD6A#uVmLvnm*{pGr+!bE!} z+~`E+ciS9M4T=;vokM@NY1y;X;I4$ut>cHD#{ko~1~50BqcMMj*DDKRf+g&oKQZe! z17@HK^LMyb<%Qeq{sSrv`WH}*zkw$I4YU>w8@yl=Uzb%~ytaKqgIdp%?q&VH7lwtn zz9k}^91PQx?>6GyuawI_U|PziC4xGtLEm`Z8<$+z`mXNTf)iauy=M$LWE!yj)Z+=* zk^G5&A$~=yAmIQSlmo96XbQxY(C5%qz$nszUS{!i#XHXnGqW8-$6k)oAAf!<$C2U4 z@+ykR9>fq-*>v@UK{ulZR5u1MeSyARN)_Ukbf(p2vfZAW?9F+UbMA|ol%w<{)dE7H z-$n%V*K`BN+MvIY$6Oz@zpTSJ6E{hQ&IB6WX64zbWP(CLM<{g$<~udzXiu(qI77mz zJgMJXfLa6Kdp^Xp1SPCB(S1&v0G)8DmonU5^+V_^4?a#tv2J7>)rR4L(Iy;Wl~Rmk z>xtpV!YvT>s7nADgn$G9q{CCU;wYy2kw%Hn3bh_@xoU%~EwEl@Q4u>jgJ!sNlw+@Mr^1{{%?{}h`T}91;LoDOS$63-`5p3KBW|kQ6;$8Ru!V;b*+zn2q?i=u zD%_H`49T5CZqI+X2Rn+H6-$JCrtIOtzMXrQv-CuXYvMJCltS?pI%0(6!Om|Uev z;6E@IOEChTq5XwfpZpV(%9s26^tSp&y(paU!_7#o$GW2ZA@j{6K_P4tp?ulniZg9w&Gi z*woUDI;^k&=o5a%=dgI2=8k|%)~(T}hkIu`I%sAr8ae-Xvna|Fl+W)X4EPgMhzD4Oh|1sBA2L_K-*4<|7MF+yGY`l`y@L;1w zf|E5%F`*jsK?K32Ge$iFUb)Q8niUN1d?eDVv?wlgvC{} zWS5-gVD7%IaOhL^L0Zs5uII@n)C_CKs%f>Z%%|&9n1U^SX~1_t)g;m+Er^H(#5hz= z_uEF02J%_0QvMACMl)*P0Xr)Kbb2Bc#`NdinglREA}}1|kX$6?z;oj866f0_4@s$s z^{}~7!tt;8aSy%4C+`ieNj9BUGWnqphYJ}qgp;q{jk?L^&DpUpDq60l=B}fHj3)(I z!vZ;Fc7Hj`R|nb$t1Vv=Zjp{7WpwWAsd%{fjNp`Q2EkX8BT@y4Rg>5NR=uc8GvMSV zzdN}tU7J@bJB5%I^m1e7k@YJYdDZtVZTY_-sbDkXTDNcg9&+GY@uDxexAd949-G25 z#BO(Tkwfq(XzTB(>Fk5kL^ zt7w=pvSM}Mqzt1Ivv-QpNv!9qq6-gj;}I(amp1J?;>>0~zzKL61N2@eN!~>w5J!Tk z(HH#gv}|u`+=P#y2m^@W-^lb;F}$Z^GZ5SY!2F3ms2byAtoi_A-uHDG--=C2ue-u6 z%#`94_UV3T8a@iOJg~HdWl%bJRSi5xs$Y{Kpg9ZnVi?7Fh+VjVEXVrtNHC`tHzYv` zGoJs0^R_gXO)LY>-{fr&lmq`kYE6;;BPhH7KcrVjdrZ2dCHm~utMs1Bh0Q~*rk#n4 zUpN`H=Ew?8hJQ#F;JYfTFA9`yn6rXIH*bp@O|uxu%}-JjgD@hnbq@}(G4 zPz4RV7rasohJg+2-0$7G`Xb*BY(GNVNuvU;STKfh zI~SUFGHP}p;gl*hZXZrweoEZ@+$ySgesQYY<-*Lh^XERXS)(=%HVlf=ABLAp`{FTb zZLxt^Peg|Ir9*A>&dVm*$C`_VNy@*>gDZ9iHy$~*;2^;dnpYH&N|e%0=~u$8T_@Fy+d9G$uU40hmt# zlTwGA3hD%?i&tKowDG@1lXwUIs8f-d{r|J}q$2ZQSnJWqZf7UpX%W?I{@j~MK6U%P zE_xqZIxDf&!9mm#&}w6)*cChvUF_98qt^hw=69E1gz#^u9$82j>x7u~aesWT+wfeA zz>NHG$@Qo=Sf9D3Twmt;aReI1LofEUTp|#o%eD@hz+f^C!-g3?w$W4%j`wfeW71VE z5~X0h#h9@#$0C{Vs8|lePWDom`O~n2U}e?1KEI^l=8<)mh^!kUwIt5g$PU_a5Yc)D zEm_@61t>fwUQ1cQW&rAls=Ddfv8QBM^hh4HSc_zEJ8=tAdOA^7T)L6h+u{13rL{I& zzUd9%p=gBU$%@TG$%oN}bcBj+QOt1igTBFi(@GqbBiN`xXOc(;ewc3LLpOhmc*fPP*={x-KIR5sv>46!BYd)QDseu1=a%G7`<2*t3!_o5- zTH~6jV$TNBksa-ZF;6_UQQxD+%xc^-Vq-?vfJsvOqGXwf^bR6C?v6*2%8p`H33?PY z6xurrIKSHWO8ZV^?aIp2Gxlbeehp*@*+LVv2}p0fW(>e-Qm*tGkoFw^n^YG_PhK*u zgln~FQWGEz`X}k)eGS+8s?e&j7M-$tz_>E2Km51IKDk%6xT0|bZvNLH_18THY8^{UF7?H5eE8r@tGsI0}gPz|kLIK0UTc+I; z8=x5LVN4y=-UumXE>O-mezv5Z%@43@+=EpexEi}xEr)o-INe0_XkIrjy38|g zx*CeyFjn1hOe3uKkS~C0c~5V_3P3ewh}C?%p~d5TaOvWXVpRzqRf4VtG8(n8lhUrM zU~w@GD`w^&MkwqQLXk+=d%*6=#LsGA;4n^HVyLYmUJ^hP^JwCz<$tOHLU-p2mGfDZ za{!{8{}#Ho5W4^7{1sV0(z;P`In;c^I#Eu_$nm_Xc4tOAPV3bRu4>PzL|tAl$&j^6 zafh#wXWl4Gn~X2})FCJ&)w+4BN+HGcQK(nTTS9rqZR(Tq>sq{*JQ&!j##i*l& z_~VJ+bdCq$GsLKcX6~4z2m8=-rYG0GT<0wzJPXQ;9CItMt$W>Ae5OV&(m#G1NjJWa z`h;+V7$p>%C8Pq=IeMt|1z(&==CX5gAHOa}@m$m(Km+y>)jD4(H2xs!I0XjGkPk$e za2?gvE4THKD0%bIH=mE8?_AU=Adc#yFirrahEw^#sQOgI+enhQBq2u>K?#IvaYfuW zWmH%uJ?1p5Ge8qpBDZnIS?;i%rVzlO08L6p43<6>+J1h_p5)n<6K{;_0D)nkuOLaX& zK6l?fk<4|z#xS&Pi<;5rkSm|V)Fi6c04hI%pEe@}hH7{nYz7+3!0l?u^vx?9ku zZUcXrYW*>7|6?lrZ`0>{ryGQha<K51qN#Q*E!}3Ff5o^pmG3UrVwsTJw^rke zoJD;aiY&LA=zgJ1yE?Q7bWE`HTZ$RG3idr!@OGRV;_n&6H-CoR!1TgrC~Wud#^d$H z{NaNtj#i~UP*nuR*o>q1InM+Q+}W{iglFk6C)0aZiK|g1waFc}+Nh_u1**O_p3LV;p#Wb~w`;=Q{^@Rm z_WK0$)yH0y?m0Y%*OFke<-zn2N578AbRjvkSs|tta!i04w!?}|-`CjIIUj4Wo--sF zfqFik%DSM*h%`3QMr6+W3}z99W-f&3LkL{ndbfwxB{a~%Wnd4zaHI@?-Peu@gCxT- zdmIif_P7aD} zgSi*HR89=pq=-Q566i(wbTSxkZ91Jld-u~W{EPbKcC+U*n^_Y~2kzjH+T%XJjq&jd z+3)OF^upb4X|^mVYHn(n3bYv=#bztK_VHR*PMsmb*9^m=_MMv&erWT#8%X(>A>DHe zKo90up*de?NivI7p!!%}l*Mp6CXjvd?EuiDMfW6%OAivvW?2e44Wg8F69Kdv#zhE{ z!5kWNAe?JtxB+P92BTqUpoWX##TQ#2dTy^XbW;mjt^$?FetD7t$}?&CaI`df$&`8I zIn4RFtTd33)bq$Upr81TV^?6&d#-)Gid^I_NJt*Lgw9k>F&T4ycel*S=_U5^6YSRWutZi=MR1E|`4G22vPL9gQ1Ke1sMO@MJ z7rfJJ$%KXA>iAr8MCA&}hI;fc1!fQs)Nl_kN-Xj6EIr59DbfKLb{u$B0A6 zM`HgA86ITWtP0rwME-_slyHSauXjmk_7GQ(@jEo~HFvZcZn+eq<@f!3H|iLfthS~2 zo8artt(~*A^RgLFlIoyA*pLPr^bOv(V~%`Yi!wI%#SgKbIw!=?$+xHCY=@iX<}q#I z*S88JPximW7*^SHx=o?Q#2YZKC5Ab!#G9+t!nr6urzGl%-lagyktZ_6Qhe%l7S7@! z9XMk_md(hZnClTU4sIvG%pAF>wtg#SfXw@F&)Z#>l%S_*C+fOU(9&c%K!7CF^ZE=8 z+RO|hsViCLG8qNAcvrV{X#}9JTqQzD#~OVSb^<8eNr$kmTB?^)6u+5di_W)hxHk01 zNgQ>+C*-ld$j5`eMBS({`ni5FIzC16LCtz94|U=B2u-z?zH}a~qHl-SW_JOt9@{`@ z1M?3AdqZ-O#0JxV&neu`7cVvr3B(3G&6_-LxI5tLUwpZ9_590rlY4sj>S&*+Z8{CO zDRH`&CGKxX+(m_JY&uJau@=>)@QCc)+o%2z8;#Mr>>caZe(A<&Zrg#?Z5z`8w-`B2 z*E+)Yd;FZjwG^AerHMx{)0KGjT1&fR6#qgtsIQf8T-~}s<;k67NxjZI8ka*N7M{US z;fjz1wg*fBx7l6)12UiVaqdu;lt81|il`JuQq(V8RgQ%#+C@NntYw%s3fh{ND?grE4-eL*~;hr zf-*EWbianTT)bPV`$PPf$GwEiEKBRtcW$TXY|d;u{UK3M<6N>RtGAo~#r13Gm{n)B zAHcLx(KkW!fHAfr6rUnURNuKFy(w(?0-pS!PyJs@?0C}2Xw2+}M2z+RBV89T4bwxg z$GsA-HA{^f*D8A-taJ63|KnJLuUnaqzb2BD^3kkTWYwk6NViYv{ zj+4BfMj%G%YEZhTAaEr}RS%T#l!Uo${}k?22}3_e-&ktY$UeY``TvxoaDFhv?*CA> zQ9hqB{ae}jcfswh+iH&AAG5ORdA3!;T9azt`uVqzaz<+DQ}w4J>6D65zW&v2Hb-HM zN+kw7EvsMIhBmAc2@J&}ldE7cYB~|Rac(kN&6|e#Lu$L}OnF(s z^W5!L)3J!>5gU0;af4*cUSH-*`Wu^IOij5dwle+G(?dUS6w7l*X|VTqqm3$r!PP=$ z?ggmQ%f;pl@g|e$-SOt$O{8@Ch&ngpkIwVA;BZFF4bs95Jt~!&@p-5O{O|3yxBCOxf zyikxi!raOv^G;G;u*>8jV^&tHowwplI;ksm_si2~7F{px;R?3%?f2!Rnea;Px~ptA zcPUh1E*ZR=_Tp_(tO6{)hEj@@R&nu%chSEZvbX2L69N)OktC?&G$ z@CZ2&v9UgeQ!8V7_4KPZzs_h59#Wsv$&dcjb)2F#>4a;_$5E@2Ri{8!I~MJ*zvrQYG1Kpx zYVOD>jOk0sR={$PNCj)wZ(bZ(S-Nx8pmVPh5aA6sp!VmGVSiv*@srVlfv&TdnX4$+ zHh}*JEJ4FE_y*q5{|!5mjJ6GVUYF@P<1o2tXlo9@PP7(1$ns{1A9642GxxtOU9e}O zNOAZ{3)wY9ZJm*?Dm4(f%d>jhE=*jtfQK%%EC5+u-xlu8X)j-?U6gOoa;PLXZ2XW+ z*!PLb$$p}?@bok~HQ0iJhQ^WYlgW)+TaKs6m_FDZ6xjjq6*a3x#69oNW2mUL5Zd@+ z8fpO^2dP4g0-QuvU2BRQ@!IhZ%^+|KUEAK2C*8q77t^>bc(jfR+{chVP?tP~O4Cq? zfR#lq&OxoXGd!bi6}m_<$jM8k%$S~2Xh_AcR5fseF#{ipo;7f%oxcuBE&bz6{&B{r z03PUC%FI~zug(Yyh5%+@2HsKs;!HG5_T7=oowBkY9;_ehyKKV~>y&5P58B3y2*vy6 z8Zy**cyXhM(DBYGVYn;3de#0+!OxNJ(1s30!UdGhZ)n-{V|&Jd)u&FIK82Omhx*+o z249KwO$|Up0+JdS?nui1PW|;PJuIgbrccaB^x$QO_SkBxNg-JpnY&qT4B;(PcwWU_ ztDhxY91*ayH<<@VVg^!$=KDoUR9<+`o@JSkbHAaQh4{T0O#=~<1OO|e z7njZsN*s|6Zv^#{rA5idlCD2a#t~v6auwatmRRohLMEmy!9@(@7M1r@XgU%lFx5=vYXs$YG7b)y8C*( zP0#gXovWGwSKH!E4>FJG(%APW?)USU@9c)#?SR{SYHI6`?UVQJsr&Nz2Tm+l*sRp@ zyHb80aEJ44)Zl`6SA8AI$x?4VLRq~hFaURPO`m(!R=xHHj6bt!5ZsiJ-u%P(nENRK zg-cz?%u)*VRrx_8$4tOBl0SceWd5xypK2~8AK)`f#rj&#=-z{gl&u_N=tFi8BV&La z{pQk2$HHa$4vpQzV)e^90NKP--3Svt2OAKxzG-2l{0(Kn_?>7O@M_vmKY zgXcd+U%OGH^wQt(>df%%PH<%aJ!nw&PD9zS@+YW8>D`j1K*WyJYai}3G>E^`c!nt} zt*^lPRcZivE%<{`as=O{!e5oC2SZi#UemjM0TQ_Fb_uPvGLOqy@L&e4JzAzUf6qMT zU2qCi%@2)I3*=+2BQ@!&D1xeJNNivXL^Xk0n~Wv%kKPU?4kjPKXxSumZ{A-ZTcocC zqXwZqj2a-!rE+T2K;9mZ43YcRVEN)jzknAN#mlJ3mFh#HrmCU>^>1E%tP&zO@$0vL zAbSBatTsTFR@H^VCc38{ae5V}>VH{>U~~ZM|GTw3V~V6_-}h@qU2Z-U?Yc-y$UiSx z+icosR4+H&T=Jvt)1dq51AUZQTE~}M#io;mYkp?ox6B-cpHfgVmRq2iHgNN+Ee%l- zlh-9bJI**5qOVy$lGE?hB@yWnYLVoFE@Q+uN`P$)X9O}xjGGS!m6vb4V?N2ls#U_c zks`%3-ApwnSC|^S$p}CPLP3GBpv~Y)RW6+GT|X&R{$r5G%DH#PvRfQbrylA^?BicF z?STkM=x;+}0JHA_(dtDdwH@Wo{rj!x=Y!;*5h*Z<;hjDY8Dck>!Imxz8D#yN7g#se znK{Pl)O?5yK+4ktR}#^?3o#`;u`6X$IX{aXY4z!&k*(TpAbv2LQ*iGBhl!40EgpUQv0Ov)aQ!w ze)w}2vNO?uCj`ugx>p=S0_T|Nr(G_j{S{N#)IZyWb~fTzNQ2$S=BS*RMz3hgF;(jy8r>pR9R6N=md_ z%Zjuv*P9-r+V)6dcFG`=gI1zDBTIyg^7!kowgiMuU9{rB{uXxC6;p%O*L{zHC=tT4 z>e{A_<`uqCRRp{m=_1K_a#(xXjVb{68jYU-0 z{)cgo|JPWaP0qM>ai&JO_v#-zXO=BqH>XI+Nr`B`GZ`taBl&ax$c3S^AfY`}?#v

za*0HJm;MvBh)lWV`S8-kc2k^U+9F9d;!5rWy2ePy!ZYARW|0YnLIeGRx};$D+6+ zq<^hjB)lUKO-4j#(sLpNhI=smf{k4`D?n%`T;Svg@5XHG*Sd(;24{SgO)eG)m0Hv7 zU9R=eHd*5AVcfFzd*x?ugx(|cG|wLPCRF*LtKFH=EQBMr-3~EOeH^SKBQ!c<2eeTU zy|f_TIqs6~tV5-|qV zvgQ~9?1ejbtF3*wib(cp8*E+JQ8Apxf(dPd0;3kXz%@XIOo%M?XVDhLZGq?de48d* zgkhx^YkyLS@g3T=H@%kwtZC6X!rYj*n)CH}4-i_5$XXY3g#U3J#g#a_8E;-&Tlsl1 z<*NKwSDix`s*nCp*O8rTcdWS<)ykiAb!yY+aj(I(?b3v9H(!MQz@h_f)Q5&P+56AZ zlg_iSW9zn-4a$6|YTk-IkH)xJp0(`L{#k-+Q4xE2UE#rLrELz8j0rYOcNhJE+W^+< z;nO|mxE^tRVJC!_&|JwA}%*}1Y$|^*MC-rb|MwQ*JBbGf1@5ug)l<; zed+3uYY9jG|J<$^9mfC8Z6kkwI1atfx4dU?vgG8O@|)wFo%rQH@+>Rhq49~~zX-6uDdl^SQtJrF#^=69eyqy>pW~$D)dt;7I|P13-AA zq|kJ=uX>)QR3-e@JO{3bv&2}DO7{x}jAs?*e}(aj*9g87q?1UdEqlPopN7fMm{Y{wZt@ zkqN+0Z;rk!5%daK`*^hT@cj&InW?%w`SnpA0E5ZvogMNohab- zHld-04@Ue3UP1wj(YJq8hVuCeJ6;4cVd@+`gQ!2yrvVx&qYqsf3Z1j! z@7Ndwu`|Xv^xxQ!DCOyu=N@2vA8Ia*Sm(27oY#jV!ah31Y;mVO(tk5BK)6a zl<8?bm@^!fFux+EBiu5Nne!B_9O<`$jA88O%r6H@&CSogT7vDx)P|JX8t|&)z)fDJ z1%qE!99>9=Qk2+0Rtsv5Fq}F3d_~mgO2N1_-Mwp3Dv~CXI?*_B8|0u29K6M;9*=^_Q>Je^>OLlEdAe#aZ%+KD2`Fuj1^hTXjkI$m=6CVqK zl_e7%HM>|x@*qn=5}|zWJq-6iUwK_ePpzN*>>>C*vdLa~d0)_=>`1uQNNTNgN&sK4 z^|wRuxCiP3=BRwzm`nj=2_5f{+TgES!FT=iS0nT#Tvc zKbhRq?2|stEC#ZHl^}aOtSNv*>SV%y$#OA}I zF3G5bUZZVf`T7G8y5!oCGqI~X$m|veiWWOfVnZ2y5y94L?q%o;xQ#vw?#N{(%^0*t zrZqXJ9|GJ1_A@ZJqGpDwJ}{U=L(V3XlL!di^Q}P~^{n{mlrQ$mbrbC?v7bR5+oOP` zbIku87><)X%cc?prOf*Ol`)9l|EVn1yqx_^Tk(y-KkTyLQuV#sqEwryQ};0@>>QxX zLtQ;jv?bZMJIL?5Cr-?%*?8)WtIEsIea1}$r3UH{{LP1~ZfFtvPUl`YZg=H<)Obuw z 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 a|0~P*x*~c4OW5HZ6ZMzl@f z#}c8#TKE|_Xw8Ntt5&Sp)OXP6$v$J@KE}iV^c?<1LPWq%f*}7rdg|DD@Ok@0jCm^z z$8KF2W<92?@pA;);TDuQeCn>!(Kd_j4NuQK(Vy7pICKDVBCLb`fZY z({9T4lXFKj{Mj{Z%{VCz<%CDuhA2c47rdqz=}Gaw%m$pa+Hc_!JVJXPp*`$|ny=vk zI&%MA^=yj{nafxLx(@Fxj?_M_eiz(db$jd7a~O9j%uO&>(h1dCRa<8jX7=DP%Hh`|Gew08OIASR?Y9ShbtL)Rc&>!uM}2wSR*hj zh>2xTG1i!g>tGclDiue_e!yRKa#I}=`92C77IZ9kDqcb}+IhMM�|!w)MS`=|a0& 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 z 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 + + 4.0.0 + com.twelvemonkeys.imageio + twelvemonkeys-imageio-jmagick + 2.1 + TwelveMonkeys ImageIO JMagick Plugin + + JMagick Home page + for more information.]]> + + + + twelvemonkeys-imageio + com.twelvemonkeys + 2.1 + + + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + + + com.twelvemonkeys.imageio + twelvemonkeys-imageio-core + tests + + + jmagick + jmagick + 6.2.4 + provided + + + + \ No newline at end of file diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReader.java new file mode 100755 index 00000000..ebd367ba --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * BMPImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: BMPImageReader.java,v 1.0 Dec 2, 2007 9:03:37 PM haraldk Exp$ + */ +public final class BMPImageReader extends JMagickReader { + public BMPImageReader(final BMPImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderSpi.java new file mode 100755 index 00000000..bd1c6f8c --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderSpi.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * BMPImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: BMPImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class BMPImageReaderSpi extends JMagickImageReaderSpiSupport { + public BMPImageReaderSpi() { + super( + new String[]{"bmp", "BMP"}, + new String[]{"bmp", "rle", "dib"}, + new String[]{"image/bmp", "image/x-bmp", "image/x-windows-bmp", "image/x-ms-bmp"}, // http://en.wikipedia.org/wiki/Windows_Bitmap + BMPImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.BMPImageWriterSpi"} + ); + } + + @Override + public BMPImageReader createReaderImpl(Object pExtension) throws IOException { + return new BMPImageReader(this); + } + + @Override + public boolean canDecode(ImageInputStream pSource) throws IOException { + //new byte[][] {new byte[] {'B', 'M'}, new byte[] {'M', 'B'}, }, // BMP + //new byte[][] {new byte[] {0x00, 0x00, 0x02, 0x00, + // 0x01, 0x00, 0x20, 0x20}}, // CUR + //new byte[][] {new byte[] {0x0, 0x0, 0x1, 0x0}}, // ICO (best guess) + byte[] magic = new byte[2]; + pSource.readFully(magic); + + return (magic[0] == 'B' && magic[1] == 'M') || (magic[0] == 'M' && magic[1] == 'B'); + } + +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriter.java new file mode 100755 index 00000000..518568b9 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriter.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * BMPImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: BMPImageWriter.java,v 1.0 Dec 3, 2007 12:04:10 PM haraldk Exp$ + */ +public final class BMPImageWriter extends JMagickWriter { + protected BMPImageWriter(final BMPImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()) { + + @Override + public boolean canWriteCompressed() { + return true; + } + + @Override + public boolean isCompressionLossless() { + return true; + } + }; + + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriterSpi.java new file mode 100755 index 00000000..bf7d2adc --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageWriterSpi.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * BMPImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: BMPImageWriterSpi.java,v 1.0 30.jul.2004 18:32:40 haku Exp $ + */ +public class BMPImageWriterSpi extends JMagickImageWriterSpiSupport { + public BMPImageWriterSpi() { + super( + new String[]{"bmp", "BMP"}, + new String[]{"bmp"}, + new String[]{"image/bmp", "image/x-bmp", "image/x-windows-bmp", "image/x-ms-bmp"}, // http://en.wikipedia.org/wiki/Windows_Bitmap + BMPImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmageick.BMPImageReaderSpi"} + ); + } + + @Override + public BMPImageWriter createWriterImpl(Object pExtension) throws IOException { + return new BMPImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReader.java new file mode 100755 index 00000000..9b2d6483 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * GIFImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: GIFImageReader.java,v 1.0 Dec 3, 2007 12:53:44 PM haraldk Exp$ + */ +public class GIFImageReader extends JMagickReader { + protected GIFImageReader(final GIFImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReaderSpi.java new file mode 100755 index 00000000..5d949d13 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageReaderSpi.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * GIFImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: GIFImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class GIFImageReaderSpi extends JMagickImageReaderSpiSupport { + public GIFImageReaderSpi() { + super( + new String[]{"gif", "GIF"}, + new String[]{"gif"}, + new String[]{"image/gif", "image/x-gif"}, + GIFImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.GIFImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {'G', 'I', 'F', '8', '7'}, // GIF + // new byte[] {'G', 'I', 'F', '8', '9'}}, + byte[] magic = new byte[6]; + pSource.readFully(magic); + + return magic[0] == 'G' && magic[1] == 'I' && magic[2] == 'F' && + magic[3] == '8' && (magic[4] == '7' || magic[4] == '9'); + } + + protected GIFImageReader createReaderImpl(final Object pExtension) throws IOException { + return new GIFImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriter.java new file mode 100755 index 00000000..3248736b --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriter.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * GIFImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: GIFImageWriter.java,v 1.0 Dec 3, 2007 1:55:34 PM haraldk Exp$ + */ +public class GIFImageWriter extends JMagickWriter { + protected GIFImageWriter(final GIFImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()) { + + @Override + public boolean canWriteCompressed() { + return true; + } + + @Override + public boolean canWriteProgressive() { + return true; + } + + @Override + public boolean isCompressionLossless() { + return true; + } + }; + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriterSpi.java new file mode 100755 index 00000000..e8920de4 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/GIFImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * GIFImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: GIFImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class GIFImageWriterSpi extends JMagickImageWriterSpiSupport { + public GIFImageWriterSpi() { + super( + new String[]{"gif", "GIF"}, + new String[]{"gif"}, + new String[]{"image/gif", "image/x-gif"}, + GIFImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.GIFImageReaderSpi"} + ); + } + + protected GIFImageWriter createWriterImpl(final Object pExtension) throws IOException { + return new GIFImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReader.java new file mode 100755 index 00000000..974f7507 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * ICOImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ICOImageReader.java,v 1.0 Dec 3, 2007 2:01:52 PM haraldk Exp$ + */ +public class ICOImageReader extends JMagickReader { + public ICOImageReader(final ICOImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReaderSpi.java new file mode 100755 index 00000000..a565d34e --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageReaderSpi.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * ICOImageReaderSpi class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: ICOImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class ICOImageReaderSpi extends JMagickImageReaderSpiSupport { + // TODO: Handle CUR + public ICOImageReaderSpi() { + super( + new String[]{"ico", "ICO"}, + new String[]{"ico"}, + new String[]{"image/x-icon", "image/ico"}, + ICOImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.ICOImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {0x0, 0x0, 0x1, 0x0}}, // ICO (best guess) + // new byte[][] {new byte[] {0x00, 0x00, 0x02, 0x00, + // 0x01, 0x00, 0x20, 0x20}}, // CUR + byte[] magic = new byte[4]; + pSource.readFully(magic); + return magic[0] == 0x0 && magic[1] == 0x0 && magic[2] == 0x1 && magic[3] == 0x0; + } + + protected ICOImageReader createReaderImpl(final Object pExtension) throws IOException { + return new ICOImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriter.java new file mode 100755 index 00000000..d26767c6 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriter.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * ICOImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: ICOImageWriter.java,v 1.0 Dec 3, 2007 2:21:07 PM haraldk Exp$ + */ +public class ICOImageWriter extends JMagickWriter { + public ICOImageWriter(final ICOImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriterSpi.java new file mode 100755 index 00000000..64edd452 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/ICOImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * ICOImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: ICOImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class ICOImageWriterSpi extends JMagickImageWriterSpiSupport { + public ICOImageWriterSpi() { + super( + new String[]{"ico", "ICO"}, + new String[]{"ico"}, + new String[]{"image/x-icon", "image/ico"}, + ICOImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.ICOImageReaderSpi"} + ); + } + + protected ICOImageWriter createWriterImpl(final Object pExtension) throws IOException { + return new ICOImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagick.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagick.java new file mode 100755 index 00000000..d04dc0d8 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagick.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import com.twelvemonkeys.lang.SystemUtil; +import magick.MagickImage; + +import java.io.IOException; +import java.util.Properties; + +/** + * JMagick helper class, to iron out a few wrinkles. + *

+ * + * @author Harald Kuhr + * @version $Id: JMagick.java,v 1.0 16.jan.2006 14:20:30 haku Exp$ + */ +class JMagick { + + static Properties sProperties; + + static { + // NOTE: Workaround for strange defaults in JMagick: + // Makes JMagick load dll's using the context classloader, rather than + // the system classloader as default... + if (System.getProperty("jmagick.systemclassloader") == null) { + System.setProperty("jmagick.systemclassloader", "no"); + } + + // Makes this class fail on init, if JMagick is unavailable + try { + MagickImage.class.getClass(); + new MagickImage(); // Loads the JNI lib, if needed + } + catch (Error e) { + System.err.print("JMagick not available: "); + System.err.println(e); + System.err.println("Make sure JMagick libraries are available in java.library.path. Current value: "); + System.err.println("\"" + System.getProperty("java.library.path") + "\""); + + throw e; + } + + // Load custom properties for the JMagickReader + try { + sProperties = SystemUtil.loadProperties(JMagickReader.class); + } + catch (IOException e) { + System.err.println("Could not read properties for JMagickReader: " + e.getMessage()); + e.printStackTrace(); + } + } + + static void init() { + // No-op. + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderSpiSupport.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderSpiSupport.java new file mode 100755 index 00000000..528ff26e --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderSpiSupport.java @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import com.twelvemonkeys.lang.SystemUtil; + +import javax.imageio.ImageReader; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.spi.ServiceRegistry; +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * JMagickImageReaderSpiSupport + *

+ * + * @author Harald Kuhr + * @version $Id: JimiImageReaderSpiSupport.java,v 1.1 2003/12/02 16:45:00 wmhakur Exp $ + */ +abstract class JMagickImageReaderSpiSupport extends ImageReaderSpi { + + final static boolean AVAILABLE = SystemUtil.isClassAvailable("com.twelvemonkeys.imageio.plugins.jmagick.JMagick"); + + /** + * Creates a JMagickImageReaderSpiSupport + * + * @param pFormatNames format names + * @param pSuffixes format suffixes + * @param pMimeTypes format MIME types + * @param pReaderClassName format reader class name + * @param pWriterSpiNames format writer service provider namses + */ + protected JMagickImageReaderSpiSupport(final String[] pFormatNames, + final String[] pSuffixes, + final String[] pMimeTypes, + final String pReaderClassName, + final String[] pWriterSpiNames) { + super( + "TwelveMonkeys", // Vendor name + "2.0", // Version + AVAILABLE ? pFormatNames : new String[]{""}, // Names + AVAILABLE ? pSuffixes : null, // Suffixes + AVAILABLE ? pMimeTypes : null, // Mime-types + pReaderClassName, // Reader class name + ImageReaderSpi.STANDARD_INPUT_TYPE, // Output types + pWriterSpiNames, // Writer SPI names + true, // Supports standard stream metadata format + null, // Native stream metadata format name + null, // Native stream metadata format class name + null, // Extra stream metadata format names + null, // Extra stream metadata format class names + true, // Supports standard image metadata format + null, // Native image metadata format name + null, // Native image metadata format class name + null, // Extra image metadata format names + null// Extra image metadata format class names + ); + } + + public boolean canDecodeInput(Object pSource) throws IOException { + return pSource instanceof ImageInputStream && AVAILABLE && canDecode0((ImageInputStream) pSource); + } + + private boolean canDecode0(ImageInputStream pSource) throws IOException { + pSource.mark(); + try { + return canDecode(pSource); + } + finally { + pSource.reset(); + } + } + + /** + * Specifies if this provider's reader may decode the provided input. + * Stream mark/reset is handled, and need not be taken care of. + * + * @param pSource the source image input stream + * @return {@code true} if the inout can be decoded + * @throws IOException if an I/O exception occurs during the process + */ + abstract boolean canDecode(ImageInputStream pSource) throws IOException; + + public final ImageReader createReaderInstance(Object pExtension) throws IOException { + try { + return createReaderImpl(pExtension); + } + catch (Throwable t) { + // Wrap in IOException if the reader can't be instantiated. + // This makes the IIORegistry deregister this service provider + IOException exception = new IOException(t.getMessage()); + exception.initCause(t); + throw exception; + } + } + + protected abstract JMagickReader createReaderImpl(Object pExtension) throws IOException; + + public String getDescription(Locale pLocale) { + return "JMagick " + getFormatNames()[0].toUpperCase() + " image reader"; + } + + @Override + @SuppressWarnings({"unchecked"}) + public void onRegistration(ServiceRegistry pRegistry, Class pCategory) { + if (!AVAILABLE) { + pRegistry.deregisterServiceProvider(this, pCategory); + } + } + + /** + * Specifies if the reader created by this provider should use temporary + * file, instead of passing the data in-memory to the native reader. + * + * @return {@code true} if the reader should use a temporary file + */ + public boolean useTempFile() { + return "TRUE".equalsIgnoreCase(JMagick.sProperties.getProperty(getFormatNames()[0] + ".useTempFile")); + } +} + diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageWriterSpiSupport.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageWriterSpiSupport.java new file mode 100755 index 00000000..f738cfd2 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageWriterSpiSupport.java @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.ImageWriter; +import javax.imageio.spi.ImageReaderSpi; +import javax.imageio.spi.ImageWriterSpi; +import javax.imageio.spi.ServiceRegistry; +import java.io.IOException; +import java.util.Locale; + +/** + * JMagickImageWriterSpiSupport + *

+ * + * @author Harald Kuhr + * @version $Id: JMagickImageWriterSpiSupport.java,v 1.0 17.jan.2006 00:04:32 haku Exp$ + */ +abstract class JMagickImageWriterSpiSupport extends ImageWriterSpi { + + private final static boolean AVAILABLE = JMagickImageReaderSpiSupport.AVAILABLE; + + /** + * Creates a JMagickImageReaderSpiSupport + * + * @param pFormatNames format names + * @param pSuffixes format suffixes + * @param pMimeTypes format MIME types + * @param pWriterClassName format writer class name + * @param pReaderSpiNames format reader service provider namses + */ + protected JMagickImageWriterSpiSupport(final String[] pFormatNames, + final String[] pSuffixes, + final String[] pMimeTypes, + final String pWriterClassName, + final String[] pReaderSpiNames) { + super( + "TwelveMonkeys", // Vendor name + "2.0", // Version + AVAILABLE ? pFormatNames : new String[]{""}, // Names + AVAILABLE ? pSuffixes : null, // Suffixes + AVAILABLE ? pMimeTypes : null, // Mime-types + pWriterClassName, // Writer class name + ImageReaderSpi.STANDARD_INPUT_TYPE, // Output types + pReaderSpiNames, // Reader SPI names + true, // Supports standard stream metadata format + null, // Native stream metadata format name + null, // Native stream metadata format class name + null, // Extra stream metadata format names + null, // Extra stream metadata format class names + true, // Supports standard image metadata format + null, // Native image metadata format name + null, // Native image metadata format class name + null, // Extra image metadata format names + null// Extra image metadata format class names + ); + } + + /** + * This implementations simply returns {@code true}. + * + * @param pType ignored + * @return {@code true} unless overriden + */ + public boolean canEncodeImage(ImageTypeSpecifier pType) { + return true; + } + + public final ImageWriter createWriterInstance(Object pExtension) throws IOException { + try { + return createWriterImpl(pExtension); + } + catch (Throwable t) { + // Wrap in IOException if the writer can't be instantiated. + // This makes the IIORegistry deregister this service provider + IOException exception = new IOException(t.getMessage()); + exception.initCause(t); + throw exception; + } + } + + protected abstract JMagickWriter createWriterImpl(final Object pExtension) throws IOException; + + public String getDescription(Locale pLocale) { + return "JMagick " + getFormatNames()[0].toUpperCase() + " image writer"; + } + + @Override + @SuppressWarnings({"unchecked"}) + public void onRegistration(ServiceRegistry pRegistry, Class pCategory) { + if (!AVAILABLE) { + pRegistry.deregisterServiceProvider(this, pCategory); + } + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.java new file mode 100755 index 00000000..20c96a58 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.java @@ -0,0 +1,335 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import com.twelvemonkeys.image.ImageUtil; +import com.twelvemonkeys.image.MagickUtil; +import com.twelvemonkeys.image.MonochromeColorModel; +import com.twelvemonkeys.imageio.ImageReaderBase; +import com.twelvemonkeys.imageio.util.IndexedImageTypeSpecifier; +import com.twelvemonkeys.io.FileUtil; +import magick.ImageInfo; +import magick.ImageType; +import magick.MagickException; +import magick.MagickImage; + +import javax.imageio.IIOException; +import javax.imageio.ImageReadParam; +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.awt.color.ColorSpace; +import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; +import java.awt.image.ComponentColorModel; +import java.awt.image.DataBuffer; +import java.io.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * JMagickReader, uses JMagick, an open source Java interface of ImageMagick to + * read images. This {@code ImageReader} has certain limitations (see below), + * but the number of formats supported should by far outweigh these + * limitatations. + *

+ * Limitations: JMagick is not stream-based, meaning image (file) data + * must be read into a temporary byte array, potentially causing performance + * penalties. + * ImageMagick itself might even use the file extension to determine file + * format, in such cases a temporary file must be written to disk before + * the image data can be read. While this is perfomed transparently to the user + * there are still performance penalties related to the extra disk I/O. + *

+ * + * Note: This class relies on JMagick, which ues JNI and native code. You need + * to have the JMagick and ImageMagick shared libraries (or DLLs) in Java's + * {@code java.library.path} for this class to work. + * + * + * @see ImageMagick homepage + * @see JMagick homepage + * + * @author Harald Kuhr + * @version $Id: JMagickReader.java,v 1.0 24.jan.2005 10:33:05 haku Exp$ + * + * @todo System property to allow all images be read using temp file (reducing + * memory consumption): "com.twelvemonkeys.imageio.plugins.jmagick.useTempFile" + */ +abstract class JMagickReader extends ImageReaderBase { + + // Make sure the JMagick init is run, or class init will fail + static { + JMagick.init(); + } + + private static final ColorModel CM_GRAY_ALPHA = + new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_GRAY), true, true, Transparency.TRANSLUCENT, DataBuffer.TYPE_BYTE); + + private final boolean mUseTempFile; + private File mTempFile; + + private MagickImage mImage; + private Dimension mSize; + + protected JMagickReader(final JMagickImageReaderSpiSupport pProvider) { + this(pProvider, pProvider.useTempFile()); + } + + protected JMagickReader(final ImageReaderSpi pProvider, final boolean pUseTemp) { + super(pProvider); + mUseTempFile = pUseTemp; + } + + @Override + protected void resetMembers() { + if (mTempFile != null) { + mTempFile.delete(); + } + mTempFile = null; + + if (mImage != null) { + mImage.destroyImages(); + } + mImage = null; + + mSize = null; + } + + // TODO: Handle multi-image formats + // if (mImage.hasFrames()) { + // int count = mImage.getNumFrames(); + // MagickImage[] images = mImage.breakFrames(); + // } + + public Iterator getImageTypes(int pIndex) throws IOException { + checkBounds(pIndex); + + init(pIndex); + + // TODO: FIX ME! + // - Use factory methods for ImageTypeSpecifier, create factory methods if necessary + List specs = new ArrayList(); + try { + ColorModel cm; + // NOTE: These are all fall-through by intention + switch (mImage.getImageType()) { + case ImageType.BilevelType: + specs.add(IndexedImageTypeSpecifier.createFromIndexColorModel(MonochromeColorModel.getInstance())); + case ImageType.GrayscaleType: +// cm = MagickUtil.CM_GRAY_OPAQUE; +// specs.add(new ImageTypeSpecifier( +// cm, +// cm.createCompatibleSampleModel(1, 1) +// )); + specs.add(ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_BYTE_GRAY)); + case ImageType.GrayscaleMatteType: + cm = CM_GRAY_ALPHA; + specs.add(new ImageTypeSpecifier( + cm, + cm.createCompatibleSampleModel(1, 1) + )); + case ImageType.PaletteType: + specs.add(IndexedImageTypeSpecifier.createFromIndexColorModel( + MagickUtil.createIndexColorModel(mImage.getColormap(), false) + )); + case ImageType.PaletteMatteType: + specs.add(IndexedImageTypeSpecifier.createFromIndexColorModel( + MagickUtil.createIndexColorModel(mImage.getColormap(), true) + )); + case ImageType.TrueColorType: +// cm = MagickUtil.CM_COLOR_OPAQUE; +// specs.add(new ImageTypeSpecifier( +// cm, +// cm.createCompatibleSampleModel(1, 1) +// )); + specs.add(ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_3BYTE_BGR)); + case ImageType.TrueColorMatteType: +// cm = MagickUtil.CM_COLOR_ALPHA; +// specs.add(new ImageTypeSpecifier( +// cm, +// cm.createCompatibleSampleModel(1, 1) +// )); + specs.add(ImageTypeSpecifier.createFromBufferedImageType(BufferedImage.TYPE_4BYTE_ABGR_PRE)); + break; + case ImageType.ColorSeparationType: + case ImageType.ColorSeparationMatteType: + case ImageType.OptimizeType: + default: + throw new MagickException("Unknown JMagick image type: " + mImage.getImageType()); + } + } + catch (MagickException e) { + throw new IIOException(e.getMessage(), e); + } + + return specs.iterator(); + } + + public int getWidth(int pIndex) throws IOException { + checkBounds(pIndex); + + if (mSize == null) { + init(0); + } + return mSize != null ? mSize.width : -1; + } + + public int getHeight(int pIndex) throws IOException { + checkBounds(pIndex); + + if (mSize == null) { + init(0); + } + return mSize != null ? mSize.height : -1; + } + + public BufferedImage read(int pIndex, ImageReadParam pParam) throws IOException { + try { + init(pIndex); + + processImageStarted(pIndex); + + // Some more waste of time and space... + Dimension size = mSize; + + if (pParam != null) { + // Source region + // TODO: Maybe have to do some tests, to check if we are within bounds... + Rectangle sourceRegion = pParam.getSourceRegion(); + if (sourceRegion != null) { + mImage = mImage.cropImage(sourceRegion); + size = sourceRegion.getSize(); + } + + // Subsampling + if (pParam.getSourceXSubsampling() > 1 || pParam.getSourceYSubsampling() > 1) { + int w = size.width / pParam.getSourceXSubsampling(); + int h = size.height / pParam.getSourceYSubsampling(); + + mImage = mImage.sampleImage(w, h); + size = new Dimension(w, h); + } + } + + if (abortRequested()) { + processReadAborted(); + return ImageUtil.createClear(size.width, size.height, null); + } + + processImageProgress(10f); + BufferedImage buffered = MagickUtil.toBuffered(mImage); + processImageProgress(100f); + + /**/ + //System.out.println("Created image: " + buffered); + //System.out.println("ColorModel: " + buffered.getColorModel().getClass().getName()); + //if (buffered.getColorModel() instanceof java.awt.image.IndexColorModel) { + // java.awt.image.IndexColorModel cm = (java.awt.image.IndexColorModel) buffered.getColorModel(); + // for (int i = 0; i < cm.getMapSize(); i++) { + // System.out.println("0x" + Integer.toHexString(cm.getRGB(i))); + // } + //} + //*/ + + /** + System.out.println("Colorspace: " + mImage.getColorspace()); + System.out.println("Depth: " + mImage.getDepth()); + System.out.println("Format: " + mImage.getImageFormat()); + System.out.println("Type: " + mImage.getImageType()); + System.out.println("IPTCProfile: " + StringUtil.deepToString(mImage.getIptcProfile())); + System.out.println("StorageClass: " + mImage.getStorageClass()); + //*/ + + processImageComplete(); + + return buffered; + } + catch (MagickException e) { + // Wrap in IIOException + throw new IIOException(e.getMessage(), e); + } + } + + private synchronized void init(int pIndex) throws IOException { + checkBounds(pIndex); + + try { + if (mImage == null) { + // TODO: If ImageInputStream is already file-backed, maybe we can peek into that file? + // At the moment, the cache/file is not accessible, but we could create our own + // FileImageInputStream provider that gives us this access. + if (!mUseTempFile && mImageInput.length() >= 0 && mImageInput.length() <= Integer.MAX_VALUE) { + // This works for most file formats, as long as ImageMagick + // uses the file magic to decide file format + byte[] bytes = new byte[(int) mImageInput.length()]; + mImageInput.readFully(bytes); + + // Unfortunately, this is a waste of space & time... + ImageInfo info = new ImageInfo(); + mImage = new MagickImage(info); + mImage.blobToImage(info, bytes); + } + else { + // Quirks mode: Use temp file to get correct file extension + // (which is even more waste of space & time, but might save memory) + String ext = getFormatName().toLowerCase(); + + mTempFile = File.createTempFile("jmagickreader", "." + ext); + mTempFile.deleteOnExit(); + OutputStream out = new BufferedOutputStream(new FileOutputStream(mTempFile)); + try { + byte[] buffer = new byte[FileUtil.BUF_SIZE]; + int count; + + while ((count = mImageInput.read(buffer)) != -1) { + out.write(buffer, 0, count); + } + + // Flush out stream, to write any remaining buffered data + out.flush(); + } + finally { + out.close(); + } + + ImageInfo info = new ImageInfo(mTempFile.getAbsolutePath()); + mImage = new MagickImage(info); + } + + mSize = mImage.getDimension(); + } + } + catch (MagickException e) { + // Wrap in IIOException + throw new IIOException(e.getMessage(), e); + } + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickWriter.java new file mode 100755 index 00000000..8106bbee --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickWriter.java @@ -0,0 +1,143 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import com.twelvemonkeys.image.ImageUtil; +import com.twelvemonkeys.image.MagickUtil; +import com.twelvemonkeys.imageio.ImageWriterBase; +import magick.ImageInfo; +import magick.MagickException; +import magick.MagickImage; + +import javax.imageio.IIOException; +import javax.imageio.IIOImage; +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.ImageWriteParam; +import javax.imageio.metadata.IIOMetadata; +import java.awt.image.BufferedImage; +import java.io.IOException; + +/** + * JMagickWriter + *

+ * NOTE: This ImageWriter is probably a waste of time and space, as + * all images are converted from the given Rendered/BufferedImage, + * first to 16bit raw ARGB samples, and then to the requested output format. + * This is due to a limitation in the current JMagick API. + * + * @author Harald Kuhr + * @version $Id: JMagickWriter.java,v 1.0 16.jan.2006 13:34:46 haku Exp$ + */ +abstract class JMagickWriter extends ImageWriterBase { + + static { + // Make sure the JMagick init is run... + JMagick.init(); + } + + protected JMagickWriter(final JMagickImageWriterSpiSupport pProvider) { + super(pProvider); + } + + public IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) { + throw new UnsupportedOperationException("Method convertImageMetadata not implemented");// TODO: Implement + } + + public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param) { + throw new UnsupportedOperationException("Method getDefaultImageMetadata not implemented");// TODO: Implement + } + + public void write(IIOMetadata pStreamMetadata, IIOImage pImage, ImageWriteParam pParam) throws IOException { + assertOutput(); + + if (pImage.hasRaster()) { + throw new UnsupportedOperationException("Cannot write raster"); + } + + processImageStarted(0); + MagickImage image = null; + try { + // AOI & subsampling + BufferedImage buffered = fakeAOI(ImageUtil.toBuffered(pImage.getRenderedImage()), pParam); + buffered = ImageUtil.toBuffered(fakeSubsampling(buffered, pParam)); + + // Convert to MagickImage + image = MagickUtil.toMagick(buffered); + processImageProgress(33f); + + // Get bytes blob from MagickImage + String format = getFormatName().toLowerCase(); + image.setImageFormat(format); + ImageInfo info = new ImageInfo(); + if (pParam != null && pParam.getCompressionMode() == ImageWriteParam.MODE_EXPLICIT) { + int quality = (int) (pParam.getCompressionQuality() * 100); + //System.out.println("pParam.getCompressionQuality() = " + pParam.getCompressionQuality()); + //System.out.println("quality = " + quality); + //info.setCompression(CompressionType.JPEGCompression); + //image.setCompression(CompressionType.JPEGCompression); + + // TODO: Is quality really correct in all cases? + // TODO: This does not seem to do the trick.. + info.setQuality(quality); + } + byte[] bytes = image.imageToBlob(info); + if (bytes == null) { + throw new IIOException("Could not write image data in " + format + " format."); + } + processImageProgress(67); + + // Write blob to output + mImageOutput.write(bytes); + mImageOutput.flush(); + processImageProgress(100); + } + catch (MagickException e) { + throw new IIOException(e.getMessage(), e); + } + finally { + if (image != null) { + image.destroyImages();// Dispose native memory + } + } + + processImageComplete(); + } + + public ImageWriteParam getDefaultWriteParam() { + return createDefaultWriteParam(); + } + + protected abstract ImageWriteParam createDefaultWriteParam(); + + @Override + public void dispose() { + // Clean up! + super.dispose(); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReader.java new file mode 100755 index 00000000..cbf3bd4d --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * JPEG2KImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: JPEG2KImageReader.java,v 1.0 Dec 3, 2007 2:56:30 PM haraldk Exp$ + */ +public class JPEG2KImageReader extends JMagickReader { + public JPEG2KImageReader(final JPEG2KImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReaderSpi.java new file mode 100755 index 00000000..789b34fb --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageReaderSpi.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * JPEG2KImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: JPEG2KImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class JPEG2KImageReaderSpi extends JMagickImageReaderSpiSupport { + public JPEG2KImageReaderSpi() { + super( + new String[]{"jpeg2000", "jpeg 2000"}, + new String[]{"jp2"}, + new String[]{"image/jp2", "image/jpeg2000"}, + JPEG2KImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.JPEG2KImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {0x00, 0x00, 0x00, 0x0C, 'j', 'P', ' ', ' ', 0x0D, 0x0A, (byte) 0x87, 0x0A}, // JPEG 2000 JP2 format + // new byte[] {(byte) 0xff, 0x4f}}, // JPEG 2000 codestream format + byte[] magic = new byte[12]; + pSource.readFully(magic); + + return (magic[0] == 0x00 && magic[1] == 0x00 && magic[2] == 0x00 && + magic[3] == 0x0C && magic[4] == 'j' && magic[5] == 'P' && + magic[6] == ' ' && magic[7] == ' ' && magic[8] == 0x0D && + magic[9] == 0x0A && magic[10] == (byte) 0x87 && magic[11] == 0x0A) || + (magic[0] == (byte) 0xFF && magic[1] == 0x4F); + } + + protected JPEG2KImageReader createReaderImpl(final Object pExtension) throws IOException { + return new JPEG2KImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriter.java new file mode 100755 index 00000000..77a0be7f --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriter.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * JPEG2KImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: JPEG2KImageWriter.java,v 1.0 Dec 3, 2007 6:22:46 PM haraldk Exp$ + */ +public class JPEG2KImageWriter extends JMagickWriter { + public JPEG2KImageWriter(final JPEG2KImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()) { + + @Override + public boolean canWriteCompressed() { + return true; + } + + @Override + public boolean canWriteProgressive() { + return true; + } + + @Override + public boolean isCompressionLossless() { + // TODO: This depends on the algorithm, JPEG 2000 supports lossless... + return false; + } + }; + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriterSpi.java new file mode 100755 index 00000000..0659a035 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEG2KImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * JPEG2KImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: JPEG2KImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class JPEG2KImageWriterSpi extends JMagickImageWriterSpiSupport { + public JPEG2KImageWriterSpi() { + super( + new String[]{"jpeg2000", "jpeg 2000"}, + new String[]{"jp2"}, + new String[]{"image/jp2", "image/jpeg2000"}, + JPEG2KImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.JPEG2KImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new JPEG2KImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReader.java new file mode 100755 index 00000000..3e488c26 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * JPEGImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: JPEGImageReader.java,v 1.0 Dec 3, 2007 6:28:10 PM haraldk Exp$ + */ +public class JPEGImageReader extends JMagickReader { + public JPEGImageReader(final JPEGImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReaderSpi.java new file mode 100755 index 00000000..797714ca --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageReaderSpi.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * JPEGImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: JPEGImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class JPEGImageReaderSpi extends JMagickImageReaderSpiSupport { + public JPEGImageReaderSpi() { + super( + new String[]{"jpeg", "JPEG", "exif", "EXIF", "jfif", "JFIF", "jpg", "JPG"}, + new String[]{"jpg", "jpeg", "jpe"}, + new String[]{"image/jpeg", "image/jfif", "image/x-exif"}, + JPEGImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.JPEGImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {(byte) 0xff, (byte) 0xd8, (byte) 0xff, (byte) 0xe0}, + // new byte[] {(byte) 0xff, (byte) 0xd8, (byte) 0xff, (byte) 0xe1}}, // JPEG + // new byte[][] {new byte[] {(byte) 0xff, (byte) 0xd8, (byte) 0xff, (byte) 0xee}}, // JPG + byte[] magic = new byte[4]; + pSource.readFully(magic); + + return magic[0] == (byte) 0xFF && magic[1] == (byte) 0xD8 && magic[2] == (byte) 0xFF && + (magic[3] == (byte) 0xE0 || magic[0] == (byte) 0xE1 || magic[0] == (byte) 0xEE); + + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new JPEGImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriter.java new file mode 100755 index 00000000..cdd0f08d --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriter.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * JPEGImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: JPEGImageWriter.java,v 1.0 Dec 3, 2007 6:40:10 PM haraldk Exp$ + */ +public class JPEGImageWriter extends JMagickWriter { + public JPEGImageWriter(final JPEGImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()) { + + @Override + public boolean canWriteCompressed() { + return true; + } + + @Override + public boolean canWriteProgressive() { + return true; + } + + @Override + public boolean isCompressionLossless() { + return false; + } + }; + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriterSpi.java new file mode 100755 index 00000000..a1a11f41 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/JPEGImageWriterSpi.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * BMPImageReaderSpi class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: BMPImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class JPEGImageWriterSpi extends JMagickImageWriterSpiSupport { + public JPEGImageWriterSpi() { + super( + new String[]{"jpeg", "JPEG", "exif", "EXIF", "jfif", "JFIF", "jpg", "JPG"}, + new String[]{"jpg", "jpeg"}, + new String[]{"image/jpeg", "image/jfif", "image/x-exif"}, + JPEGImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.JPEGImageReaderSpi"}); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new JPEGImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReader.java new file mode 100755 index 00000000..cfdbf9b2 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * PCDImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PCDImageReader.java,v 1.0 Dec 3, 2007 6:53:05 PM haraldk Exp$ + */ +public class PCDImageReader extends JMagickReader { + public PCDImageReader(final PCDImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReaderSpi.java new file mode 100755 index 00000000..d8851969 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCDImageReaderSpi.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * PCDImageReaderSpi + * + * @author Harald Kuhr + * @version $Id: PCDImageReaderSpi.java,v 1.1 2003/12/02 16:45:00 wmhakur Exp $ + */ +public class PCDImageReaderSpi extends JMagickImageReaderSpiSupport { + public PCDImageReaderSpi() { + super( + new String[]{"pcd", "PCD"}, + new String[]{"pcd", "PCD"}, + new String[]{"image/pcd", "image/x-pcd"}, + PCDImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.PCXImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + //final static byte[] PCD_MAGIC = new byte[] {0x50, 0x43, 0x44, 0x5f, 0x49, 0x50, 0x49}; + if (pSource.length() > 2055) { + pSource.seek(2048); + + byte[] magic = new byte[7]; + pSource.readFully(magic); + + // Kodak PhotoCD PCD_IPI + return magic[0] == 'P' && magic[1] == 'C' && magic[2] == 'D' + && magic[3] == '_' && magic[4] == 'I' && magic[5] == 'P' + && magic[6] == 'I'; + } + + return false; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new PCDImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReader.java new file mode 100755 index 00000000..4c8d1b27 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * PCXImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PCXImageReader.java,v 1.0 Dec 3, 2007 7:06:06 PM haraldk Exp$ + */ +public class PCXImageReader extends JMagickReader { + public PCXImageReader(final PCXImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReaderSpi.java new file mode 100755 index 00000000..29f72e75 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageReaderSpi.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * PCXImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: PCXImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class PCXImageReaderSpi extends JMagickImageReaderSpiSupport { + public PCXImageReaderSpi() { + super( + new String[]{"pcx", "PCX"}, + new String[]{"pcx"}, + new String[]{"image/pcx", "image/x-pcx"}, + PCXImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.PCXImageReaderSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {0x0a, -1, 0x01}}, // PCX + byte[] magic = new byte[4]; + pSource.readFully(magic); + return magic[0] == 0x0A && + (magic[1] == 0x02 || magic[1] == 0x03 || magic[1] == 0x05) && + magic[2] == 0x01 && magic[3] == 0x01; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new PCXImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriter.java new file mode 100755 index 00000000..2154d886 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriter.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * PCXImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PCXImageWriter.java,v 1.0 Dec 3, 2007 7:12:58 PM haraldk Exp$ + */ +public class PCXImageWriter extends JMagickWriter { + public PCXImageWriter(final PCXImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriterSpi.java new file mode 100755 index 00000000..07351e16 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PCXImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * PCXImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: PCXImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class PCXImageWriterSpi extends JMagickImageWriterSpiSupport { + public PCXImageWriterSpi() { + super( + new String[]{"pcx", "PCX"}, + new String[]{"pcx"}, + new String[]{"image/pcx", "image/x-pcx"}, + PCXImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.PCXImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new PCXImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReader.java new file mode 100755 index 00000000..ea160780 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * PDBImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PDBImageReader.java,v 1.0 Dec 3, 2007 7:14:23 PM haraldk Exp$ + */ +public class PDBImageReader extends JMagickReader { + public PDBImageReader(final PDBImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReaderSpi.java new file mode 100755 index 00000000..be7dad9f --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PDBImageReaderSpi.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * PDBImageReaderSpi + * + * @author Harald Kuhr + * @version $Id: PDBImageReaderSpi.java,v 1.1 2003/12/02 16:45:00 wmhakur Exp $ + */ +public class PDBImageReaderSpi extends JMagickImageReaderSpiSupport { + public PDBImageReaderSpi() { + super( + new String[]{"pdb", "PDB"}, + new String[]{"pdb", "PDB"}, + new String[]{"image/x-palm-db", "image/palm-db"}, + PDBImageReader.class.getName(), + null + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + //'v', 'I', 'M', 'G', 'V', 'i', 'e', 'w' + // [11 byte offset] + //00 00 00 00 00 00 00 00 + //00 00 00 00 00 00 00 00 + //00 00 00 00 00 00 00 00 [11 byte offset] + //........ + //........ + //........ + return false; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new PDBImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReader.java new file mode 100755 index 00000000..ae2c7c98 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * PNGImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PNGImageReader.java,v 1.0 Dec 3, 2007 8:18:28 PM haraldk Exp$ + */ +public class PNGImageReader extends JMagickReader { + public PNGImageReader(final PNGImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReaderSpi.java new file mode 100755 index 00000000..091b6c4a --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageReaderSpi.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * PNGImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: PNGImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class PNGImageReaderSpi extends JMagickImageReaderSpiSupport { + public PNGImageReaderSpi() { + super( + new String[]{"png", "PNG"}, + new String[]{"png"}, + new String[]{"image/png", "image/x-png"}, + PNGImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.PNGImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {(byte) 0x89, (byte) 'P', (byte) 'N', (byte) 'G', // PNG + // 0x0d, 0x0a, 0x1a, 0x0a,}}, + byte[] magic = new byte[8]; + pSource.readFully(magic); + return magic[0] == (byte) 0x89 && + magic[1] == 'P' && magic[2] == 'N' && magic[3] == 'G' && + magic[4] == 0x0d && magic[5] == 0x0a && + magic[6] == 0x1a && magic[7] == 0x0a; + + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new PNGImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriter.java new file mode 100755 index 00000000..db5bec6d --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriter.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * PNGImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PNGImageWriter.java,v 1.0 Dec 3, 2007 8:25:14 PM haraldk Exp$ + */ +public class PNGImageWriter extends JMagickWriter { + public PNGImageWriter(final PNGImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()) { + + @Override + public boolean canWriteCompressed() { + return true; + } + + @Override + public boolean canWriteProgressive() { + return true; + } + + @Override + public boolean isCompressionLossless() { + return true; + } + }; + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriterSpi.java new file mode 100755 index 00000000..2a10c70c --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNGImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * PNGImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: PNGImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class PNGImageWriterSpi extends JMagickImageWriterSpiSupport { + public PNGImageWriterSpi() { + super( + new String[]{"png", "PNG"}, + new String[]{"png"}, + new String[]{"image/png", "image/x-png"}, + PNGImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.PNGImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new PNGImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReader.java new file mode 100755 index 00000000..fb5ddd16 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * PNMImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PNMImageReader.java,v 1.0 Dec 3, 2007 8:27:31 PM haraldk Exp$ + */ +public class PNMImageReader extends JMagickReader { + public PNMImageReader(final PNMImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReaderSpi.java new file mode 100755 index 00000000..9339bef0 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PNMImageReaderSpi.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * PNMImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: PNMImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class PNMImageReaderSpi extends JMagickImageReaderSpiSupport { + public PNMImageReaderSpi() { + super( + new String[]{ + "pnm", "PNM", "pbm", "PBM", "pgm", "PGM", "ppm", "PPM" + }, + new String[]{ + "pbm", "PBM", "pgm", "PGM", "ppm", "PPM" + }, + new String[]{ + "image/portable-pixmap", "image/x-portable-pixmap", + "image/portable-bitmap", "image/x-portable-bitmap", + "image/portable-graymap", "image/x-portable-graymap", "image/x-portable-graymap", + "image/portable-anymap", "image/x-portable-anymap", "application/x-portable-anymap" + }, + PNMImageReader.class.getName(), + null + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {'P', '1'}, new byte[] {'P', '4'}}, // PBM ascii & raw + // new byte[][] {new byte[] {'P', '2'}, new byte[] {'P', '5'}}, // PGM ascii & raw + // new byte[][] {new byte[] {'P', '3'}, new byte[] {'P', '6'}}, // PPM ascii & raw + byte[] magic = new byte[2]; + pSource.readFully(magic); + return magic[0] == 'P' && magic[1] >= '1' && magic[1] <= '6'; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new PNMImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReader.java new file mode 100755 index 00000000..419a3966 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * PSDImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PSDImageReader.java,v 1.0 Dec 3, 2007 8:33:19 PM haraldk Exp$ + */ +public class PSDImageReader extends JMagickReader { + public PSDImageReader(final PSDImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReaderSpi.java new file mode 100755 index 00000000..4b6e53a6 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/PSDImageReaderSpi.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * PSDImageReaderSpi class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: PSDImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class PSDImageReaderSpi extends JMagickImageReaderSpiSupport { + public PSDImageReaderSpi() { + super( + new String[]{"psd", "PSD"}, + new String[]{"psd"}, + new String[]{"image/psd", "image/x-psd", "application/x-photoshop"}, + PSDImageReader.class.getName(), + null + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {'8', 'B', 'P', 'S'}}, // PSD + byte[] magic = new byte[4]; + pSource.readFully(magic); + return magic[0] == '8' && magic[1] == 'B' && magic[2] == 'P' && magic[3] == 'S'; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new PSDImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReader.java new file mode 100755 index 00000000..0606056f --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * SWFImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: SWFImageReader.java,v 1.0 Dec 3, 2007 8:36:59 PM haraldk Exp$ + */ +public class SWFImageReader extends JMagickReader { + public SWFImageReader(final SWFImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReaderSpi.java new file mode 100755 index 00000000..77ff47d9 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/SWFImageReaderSpi.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * SWFImageReaderSpi class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: SWFImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class SWFImageReaderSpi extends JMagickImageReaderSpiSupport { + public SWFImageReaderSpi() { + super( + new String[]{"flash", "FLASH"}, + new String[]{"swf"}, + new String[]{"application/x-shockwave-flash"}, + SWFImageReader.class.getName(), + null + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + byte[] magic = new byte[3]; + pSource.readFully(magic); + + // TODO: FLV? + return (magic[0] == 'C' || magic[0] == 'F') && magic[1] == 'W' && magic[2] == 'S'; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new SWFImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReader.java new file mode 100755 index 00000000..d348cc07 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * TIFFImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TIFFImageReader.java,v 1.0 Dec 3, 2007 11:33:48 PM haraldk Exp$ + */ +public class TIFFImageReader extends JMagickReader { + public TIFFImageReader(final TIFFImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReaderSpi.java new file mode 100755 index 00000000..2c727382 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageReaderSpi.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * TargaImageReaderSpi + * + * @author Harald Kuhr + * @version $Id: TargaImageReaderSpi.java,v 1.1 2003/12/02 16:45:00 wmhakur Exp $ + */ +public class TIFFImageReaderSpi extends JMagickImageReaderSpiSupport { + public TIFFImageReaderSpi() { + super( + new String[]{"tiff", "TIFF"}, + new String[]{"tif", "tiff"}, + new String[]{"image/x-tiff", "image/tiff"}, + TIFFImageReader.class.getName(), + new String[] {"com.twlevemonkeys.imageio.plugins.jmagick.TIFFImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {'M', 'M', 0, 42}, // TIFF Motorola byte order + // new byte[] {'I', 'I', 42, 0}}, // TIFF Intel byte order + byte[] magic = new byte[4]; + pSource.readFully(magic); + return (magic[0] == 'M' && magic[1] == 'M' && magic[2] == 0 && magic[3] == 42) || + (magic[0] == 'I' && magic[1] == 'I' && magic[2] == 42 && magic[3] == 0); + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new TIFFImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriter.java new file mode 100755 index 00000000..0eeef7fa --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriter.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * TIFFImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TIFFImageWriter.java,v 1.0 Dec 3, 2007 11:35:58 PM haraldk Exp$ + */ +public class TIFFImageWriter extends JMagickWriter { + public TIFFImageWriter(final TIFFImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()) { + @Override + public boolean canWriteCompressed() { + return true; + } + }; + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriterSpi.java new file mode 100755 index 00000000..7812a38c --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TIFFImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * TargaImageWriterSpi class description. + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: TargaImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class TIFFImageWriterSpi extends JMagickImageWriterSpiSupport { + public TIFFImageWriterSpi() { + super( + new String[]{"tiff", "TIFF"}, + new String[]{"tif", "tiff"}, + new String[]{"image/x-tiff", "image/tiff"}, + TIFFImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.TIFFImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new TIFFImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReader.java new file mode 100755 index 00000000..40465ad3 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * TargaImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TargaImageReader.java,v 1.0 Dec 3, 2007 10:23:06 PM haraldk Exp$ + */ +public class TargaImageReader extends JMagickReader { + public TargaImageReader(final TargaImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReaderSpi.java new file mode 100755 index 00000000..6d838b1c --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageReaderSpi.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * TargaImageReaderSpi + * + * @author Harald Kuhr + * @version $Id: TargaImageReaderSpi.java,v 1.1 2003/12/02 16:45:00 wmhakur Exp $ + */ +public class TargaImageReaderSpi extends JMagickImageReaderSpiSupport { + public TargaImageReaderSpi() { + super( + new String[]{"tga", "targa", "TGA", "TARGA"}, + new String[]{"tga"}, + new String[]{"image/x-tga", "image/targa"}, + TargaImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.TargaImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // // TODO: Targa 1989 signature look like (bytes 8-23 of 26 LAST bytes): + // // 'T', 'R', 'U', 'E', 'V', 'I', 'S', 'I', 'O', 'N', '-', 'X', 'F', 'I', 'L', 'E' + // // Targa 1987: + // new byte[][] {new byte[] {-1, 0x01, 0x01}, // Type 1: CM + // /* + // TODO: Figure out how to not interfere with CUR: 0x00000200 + // new byte[] {-1, 0x00, 0x02},*/ new byte[] {-1, 0x01, 0x02}, // T2: RGB w & w/o CM + // new byte[] {-1, 0x00, 0x03}, // Type 3: B/W + // new byte[] {-1, 0x01, 0x09}, // Type 9: RLE CM + // new byte[] {-1, 0x00, 0x0a}, new byte[] {-1, 0x01, 0x0a}, // T10: RLE RGB w & w/o CM + // new byte[] {-1, 0x00, 0x0b}, // Type 11: Compressed B/W + // new byte[] {-1, 0x01, 0x20}, // Type 31: Compressed CM + // new byte[] {-1, 0x01, 0x21}, // Type 32: Compressed CM, 4 pass + // }, + pSource.seek(pSource.length() - 18); + byte[] magic = new byte[18]; + pSource.readFully(magic); + + return "TRUEVISIOM-XFILE".equals(new String(magic, 0, 16)); + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new TargaImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriter.java new file mode 100755 index 00000000..e58819b3 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriter.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * TargaImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TargaImageWriter.java,v 1.0 Dec 3, 2007 11:29:43 PM haraldk Exp$ + */ +public class TargaImageWriter extends JMagickWriter { + public TargaImageWriter(final TargaImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriterSpi.java new file mode 100755 index 00000000..a78f2e3a --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/TargaImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * TargaImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: TargaImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class TargaImageWriterSpi extends JMagickImageWriterSpiSupport { + public TargaImageWriterSpi() { + super( + new String[]{"tga", "targa", "TGA", "TARGA"}, + new String[]{"tga"}, + new String[]{"image/targa", "image/x-tga"}, + TargaImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.TargaImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new TargaImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReader.java new file mode 100755 index 00000000..f41f55e8 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * WBMPImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: WBMPImageReader.java,v 1.0 Dec 3, 2007 11:44:51 PM haraldk Exp$ + */ +public class WBMPImageReader extends JMagickReader { + public WBMPImageReader(final WBMPImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReaderSpi.java new file mode 100755 index 00000000..ecb2510f --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageReaderSpi.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; +import javax.imageio.stream.ImageInputStream; + +/** + * WBMPImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: WBMPImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class WBMPImageReaderSpi extends JMagickImageReaderSpiSupport { + public WBMPImageReaderSpi() { + super( + new String[]{"wbmp", "WBMP"}, + new String[]{"wbmp"}, + new String[]{"image/vnd.wap.wbmp"}, + WBMPImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.WBMPImageWriterSpi"}); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {0, 0}}, // WBMP + byte[] magic = new byte[2]; + pSource.readFully(magic); + return magic[0] == 0x00 && magic[1] == 0x00 && + readMultiByteInteger(pSource) > 0 && readMultiByteInteger(pSource) > 0;// Positive size + // TODO: Consider testin if the size of the stream after the header matches + // the dimensions: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6331418 + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new WBMPImageReader(this); + } + + private static int readMultiByteInteger(ImageInputStream pStream) throws IOException { + int value = 0; + int b; + + // Read while continuation bit is set + while ((b = pStream.read()) >= 0) { + value = (value << 7) + (b & 0x7f); + + // Test continuation bit, if not set, return value + if ((b & 0x80) == 0) { + return value; + } + } + + // If we got here, value could not be read + return -1; + } + +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriter.java new file mode 100755 index 00000000..b22d33b2 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriter.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * WBMPImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: WBMPImageWriter.java,v 1.0 Dec 4, 2007 12:04:50 AM haraldk Exp$ + */ +public class WBMPImageWriter extends JMagickWriter { + public WBMPImageWriter(final WBMPImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriterSpi.java new file mode 100755 index 00000000..2a549ce7 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WBMPImageWriterSpi.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * WBMPImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: WBMPImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class WBMPImageWriterSpi extends JMagickImageWriterSpiSupport { + public WBMPImageWriterSpi() { + super( + new String[]{"wbmp", "WBMP"}, + new String[]{"wbmp"}, + new String[]{"image/vnd.wap.wbmp"}, + WBMPImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.WBMPImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new WBMPImageWriter(this); + } +} + diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReader.java new file mode 100755 index 00000000..3ec30e53 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * WMFImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: WMFImageReader.java,v 1.0 Dec 4, 2007 12:07:53 AM haraldk Exp$ + */ +public class WMFImageReader extends JMagickReader { + public WMFImageReader(final WMFImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReaderSpi.java new file mode 100755 index 00000000..88f1cd9f --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/WMFImageReaderSpi.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * WMFImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: WMFImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class WMFImageReaderSpi extends JMagickImageReaderSpiSupport { + public WMFImageReaderSpi() { + super( + new String[]{"wmf", "WMF"}, + new String[]{"wmf"}, + new String[]{"image/x-windows-metafile"}, + WMFImageReader.class.getName(), + null + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {(byte) 0xd7, (byte) 0xcd, (byte) 0xc6, // WMF + // (byte) 0x9a, (byte) 0x00, (byte) 0x00,}}, + byte[] magic = new byte[6]; + pSource.readFully(magic); + return magic[0] == (byte) 0xD7 && magic[2] == (byte) 0xCD && + magic[2] == (byte) 0xC6 && magic[3] == (byte) 0x9A && + magic[4] == (byte) 0x00 && magic[5] == (byte) 0x00; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new WMFImageReader(this); + } +} \ No newline at end of file diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReader.java new file mode 100755 index 00000000..6d97442a --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * XBMImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: XBMImageReader.java,v 1.0 Dec 4, 2007 12:14:03 AM haraldk Exp$ + */ +public class XBMImageReader extends JMagickReader { + public XBMImageReader(final XBMImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReaderSpi.java new file mode 100755 index 00000000..de6c7ec9 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageReaderSpi.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * XBMImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: XBMImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class XBMImageReaderSpi extends JMagickImageReaderSpiSupport { + public XBMImageReaderSpi() { + super( + new String[]{"xbm", "XBM"}, + new String[]{"xbm"}, + new String[]{"image/xbm", "image/x-xbm"}, + XBMImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.XBMImageWriterSpi"}); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {'/', '*', ' ', 'X', 'B', 'M'}}, // X BitMap + byte[] magic = new byte[6]; + pSource.readFully(magic); + return magic[0] == '/' && magic[1] == '*' && magic[2] == ' ' && + magic[3] == 'X' && magic[4] == 'B' && magic[5] == 'M'; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new XBMImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriter.java new file mode 100755 index 00000000..013447d1 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriter.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * XBMImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: XBMImageWriter.java,v 1.0 Dec 4, 2007 12:20:37 AM haraldk Exp$ + */ +public class XBMImageWriter extends JMagickWriter { + public XBMImageWriter(final XBMImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriterSpi.java new file mode 100755 index 00000000..3220c973 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XBMImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * XBMImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: XBMImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class XBMImageWriterSpi extends JMagickImageWriterSpiSupport { + public XBMImageWriterSpi() { + super( + new String[]{"xbm", "XBM"}, + new String[]{"xbm"}, + new String[]{"image/xbm", "image/x-xbm"}, + XBMImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.XBMImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new XBMImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReader.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReader.java new file mode 100755 index 00000000..e7659f7d --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReader.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +/** + * XPMImageReader + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: XPMImageReader.java,v 1.0 Dec 4, 2007 12:22:20 AM haraldk Exp$ + */ +public class XPMImageReader extends JMagickReader { + public XPMImageReader(final XPMImageReaderSpi pProvider) { + super(pProvider); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReaderSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReaderSpi.java new file mode 100755 index 00000000..76c8618c --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageReaderSpi.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.stream.ImageInputStream; +import java.io.IOException; + +/** + * XPMImageReaderSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: XPMImageReaderSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class XPMImageReaderSpi extends JMagickImageReaderSpiSupport { + public XPMImageReaderSpi() { + super( + new String[]{"xpm", "XPM"}, + new String[]{"xpm"}, + new String[]{"image/xpm", "image/x-xpm"}, + XPMImageReader.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.XPMImageWriterSpi"} + ); + } + + boolean canDecode(ImageInputStream pSource) throws IOException { + // new byte[][] {new byte[] {'/', '*', ' ', 'X', 'P', 'M'}}, // X PixelMap + byte[] magic = new byte[6]; + pSource.readFully(magic); + return magic[0] == '/' && magic[1] == '*' && magic[2] == ' ' && + magic[3] == 'X' && magic[4] == 'P' && magic[5] == 'M'; + } + + protected JMagickReader createReaderImpl(final Object pExtension) throws IOException { + return new XPMImageReader(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriter.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriter.java new file mode 100755 index 00000000..94f3b7c6 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriter.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.ImageWriteParam; + +/** + * XPMImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: XPMImageWriter.java,v 1.0 Dec 4, 2007 12:26:46 AM haraldk Exp$ + */ +public class XPMImageWriter extends JMagickWriter { + public XPMImageWriter(final XPMImageWriterSpi pProvider) { + super(pProvider); + } + + protected ImageWriteParam createDefaultWriteParam() { + return new ImageWriteParam(getLocale()); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriterSpi.java b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriterSpi.java new file mode 100755 index 00000000..d4006441 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/XPMImageWriterSpi.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import java.io.IOException; + +/** + * XPMImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haku $ + * @version $Id: XPMImageWriterSpi.java,v 1.0 30.jul.2004 20:39:48 haku Exp $ + */ +public class XPMImageWriterSpi extends JMagickImageWriterSpiSupport { + public XPMImageWriterSpi() { + super( + new String[]{"xpm", "XPM"}, + new String[]{"xpm"}, + new String[]{"image/xpm", "image/x-xpm"}, + XPMImageWriter.class.getName(), + new String[]{"com.twelvemonkeys.imageio.plugins.jmagick.XPMImageReaderSpi"} + ); + } + + protected JMagickWriter createWriterImpl(final Object pExtension) throws IOException { + return new XPMImageWriter(this); + } +} diff --git a/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/package.html b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/package.html new file mode 100755 index 00000000..2eea895a --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/java/com/twelvemonkeys/imageio/plugins/jmagick/package.html @@ -0,0 +1,13 @@ +JMagick plugin for ImageIO that uses JMagick, an open source Java interface for +ImageMagick to read and write images. +

+ + +Note: The plugin relies on JMagick, which ues JNI and native code. You need +to have the JMagick and ImageMagick shared libraries (or DLLs) in Java's +java.library.path for this plugin to work. + +

+See ImageMagick homepage +or JMagick homepage +for more information. diff --git a/twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi b/twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi new file mode 100755 index 00000000..c20afa0e --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageReaderSpi @@ -0,0 +1,18 @@ +com.twelvemonkeys.imageio.plugins.jmagick.BMPImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.GIFImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.ICOImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.JPEG2KImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.JPEGImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.PCDImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.PCXImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.PDBImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.PNGImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.PNMImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.PSDImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.SWFImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.TIFFImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.TargaImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.WBMPImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.WMFImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.XBMImageReaderSpi +com.twelvemonkeys.imageio.plugins.jmagick.XPMImageReaderSpi \ No newline at end of file diff --git a/twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi b/twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi new file mode 100755 index 00000000..9f4e0c54 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/resources/META-INF/services/javax.imageio.spi.ImageWriterSpi @@ -0,0 +1,12 @@ +com.twelvemonkeys.imageio.plugins.jmagick.BMPImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.GIFImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.ICOImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.JPEG2KImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.JPEGImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.PCXImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.PNGImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.TIFFImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.TargaImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.WBMPImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.XBMImageWriterSpi +com.twelvemonkeys.imageio.plugins.jmagick.XPMImageWriterSpi \ No newline at end of file diff --git a/twelvemonkeys-imageio/jmagick/src/main/resources/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.properties b/twelvemonkeys-imageio/jmagick/src/main/resources/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.properties new file mode 100755 index 00000000..ec06786f --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/main/resources/com/twelvemonkeys/imageio/plugins/jmagick/JMagickReader.properties @@ -0,0 +1,6 @@ +# JMagick quirks mode +# ImageMagick/JMagick seems to use fileextension to recognize these formats... +TGA.useTempFile=true +WBMP.useTempFile=true +ICO.useTempFile=true +ILBM.useTempFile=true \ No newline at end of file diff --git a/twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderTestCase.java b/twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderTestCase.java new file mode 100755 index 00000000..11c3569e --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/BMPImageReaderTestCase.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import javax.imageio.spi.ImageReaderSpi; +import java.awt.*; +import java.util.Arrays; +import java.util.List; + +public class BMPImageReaderTestCase extends JMagickImageReaderAbstractTestCase { + private BMPImageReaderSpi mProvider = new BMPImageReaderSpi(); + + protected List getTestData() { + return Arrays.asList( + new TestData(getClassLoaderResource("/bmp/Blue Lace 16.bmp"), new Dimension(48, 48)), + new TestData(getClassLoaderResource("/bmp/blauesglas_16.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_16_bitmask444.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_16_bitmask555.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_16_bitmask565.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_24.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_32.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_32_bitmask888.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_32_bitmask888_reversed.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_4-IM.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_4.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_4.rle"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_8-IM.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_8.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_8.rle"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_gray.bmp"), new Dimension(301, 331)), + new TestData(getClassLoaderResource("/bmp/blauesglas_mono.bmp"), new Dimension(301, 331)) + ); + } + + protected Class getReaderClass() { + return BMPImageReader.class; + } + + protected BMPImageReader createReader() { + return new BMPImageReader(mProvider); + } + + protected ImageReaderSpi createProvider() { + return new BMPImageReaderSpi(); + } + + protected List getFormatNames() { + return Arrays.asList("bmp"); + } + + protected List getSuffixes() { + return Arrays.asList("bmp", "rle", "dib"); + } + + protected List getMIMETypes() { + return Arrays.asList("image/bmp", "image/x-bmp", "image/x-windows-bmp", "image/x-ms-bmp"); + } + +} diff --git a/twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderAbstractTestCase.java b/twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderAbstractTestCase.java new file mode 100755 index 00000000..0c0d6376 --- /dev/null +++ b/twelvemonkeys-imageio/jmagick/src/test/java/com/twelvemonkeys/imageio/plugins/jmagick/JMagickImageReaderAbstractTestCase.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2008, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.jmagick; + +import com.twelvemonkeys.imageio.util.ImageReaderAbstractTestCase; + +import javax.imageio.ImageReader; + +/** + * JMagickImageReaderAbstractTestCase + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: JMagickImageReaderAbstractTestCase.java,v 1.0 Apr 1, 2008 2:59:05 PM haraldk Exp$ + */ +public abstract class JMagickImageReaderAbstractTestCase extends ImageReaderAbstractTestCase { + +} diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/Blue Lace 16.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/Blue Lace 16.bmp new file mode 100755 index 0000000000000000000000000000000000000000..680bc27aa86283d021f176cb573ab66f80afc783 GIT binary patch literal 1272 zcmZ{jOHu#&}qr3x>7Aa>zN>Ip;0bmE_^R)3tle|$eT+b8oY zBUn^IX}I9c-bPR|QpA0sr}D`ltDv<=-FGt6YZy-}T4Esrb8oxHnqF&4it# qr6Dn1OBlv45K&NVCIP2m5Duah5r$0OS@+xuuSK`XF2uMAY3&D8gds}+ literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_16.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_16.bmp new file mode 100755 index 0000000000000000000000000000000000000000..f1b099084b9ef87905ec00581a43e6cd7bdf11f3 GIT binary patch literal 199980 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

    $fnvlhsMyMaE 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

    BW8l%%{U_-rMNWM&gCm~3PJcLdu zNQgW{#cLoT)USbux)LfqBPE^@fKUgSM}*2F!p}V-)GZ>#6^`h|f!#*g&T!knkRs>c zD^9b3ghfucgmB~p;URQKk%zOrO?ySUy+XHdiM&E93h)#`hMj@{?UR7eo5Sob!OuO! zRb24!cW%bN`^THTC&dKp>&2!=;C2*n3_fh?9mgKO$65!*>bl+(-|bDSXb;Q2rAny^ z4lfD}%!Q4-a#0F&M-}{J6+bzEn*`@s00Hb|z>k@%^huO^#mg9Rut1MIgd~LA1LZ^> z;Q*g8i=nMRqvw6p&;06S;PBf_ytUL7}Z2fWjA04(&xk zSNIe?h&R4Or{}4gfzba1Nb&CEVPmVXp`=OhyV6>>F@p@ zoSvGQnuHTB(ESPDV%Q6q9UaB)!A;Q~4HY&*>2_;$#?6qp3T0T4A|O{HN|pb>KO}2JYoPT0|#bAVKPR-h!lH9pd@5@1OsgMAii6W)IBi3 zJt){cIL<8uw)vr3vf%ef(%!!s?V~Mp@&h0S^Bq*n1gLu@#(qSj%u)ux zIFJC3!B1SHiE5~#daAgACTXNg?^w!iTgmFJ<N`_J<0yOYZ9MQCpL$6b{L=L=Ms0;w82lnIh_Jyfvbk%xqe&>cl8 z;x>YQp3%639#J46^hkN0VF1%T2w=Gd@>~POuKs?m0YPp-v97^6uCuq22M^)oc~BAU ztVJH;68Nh zJ^%*B<<^I%RQZP&tNe46GK~rjmEk3Ugt&+NLF;K`aUXFn1Bglamw3Fu9;y?g`bwyfcgU(7^2+WgvCDsz)>KDM_6myte_tObR z-8@9;hpsRk`V*f55RwokNC_YeZ&AgKRPh~}G@^J1O z_doP=w0-Hz>*(av@D%ob8hbr~JsqC9_u_qNTW?NXXHZ5}Kw`NvvQQe3BU5B3r0IU5 zG*A%?1SC9=Fdo+EVSyf(5H>FP#1kqa4<%l>iUN;FK5fl^JVL=z@a zhr&sRyaWJBMrCaLXc<&8itm<2v;x zYH7j-x~PdJYNm@@EG4a0(q?NJ0PS|Vl zpMgk7U8A5q$HO8k0YQnSfI#=V2nnH~>(X!GVI5rr9ug9^Aqj2d3m*QbnDx)SPPC!^ z%j>-ftafO;?8(dg#_r_O#%T4mz=%SBWmcd(Gf0vi#7}{>!9acz7#PS;4A3SaNJw}% zD}ifViOI2HsHl+;?uff`F0P;HHK-AW2nTZs_YErm7od9W7OSc{1-gRiWz z6jsuI5)TX{LJ}IExo0J+{Df|fp}r-W_Czaz#dIk_p`{dnwA57>+GryM`g?Sf5Vdd9 zMR#<<5Ik(PkppdXNe5l>n2OW2kca==oBb>P>MspMkJP*wzS{dLtGO$w;!b$>wV=2X zRY)#)7^KJwmTH0psh}cANO*`O6tW=Y*pBq8A;sPzv$)Kw8Y z1c(6qdOW;K7whKXf`?zRM!)!_;X4SmXm1FEuSvk(LSSs_BW$5S>k}|L`gRH%9LJuG z%#^nDWmb2^+42dnY|#aW?zO*mf@%2mVtUi{e!3Qnw&8z<$($oR3ajSzrC z)<8nBZ?woK3L*B1kaAGu`(UM&%+E#}%bhA-6A)yOhW+^SFOUh_sppuGHLz7ff#WyK9^%M!vK$QY_snRA(2}B=C zKL|jGK14TN3Ov-(VJTf0AO2zkzK$=P&qKVDduC>Ky&je*My5Oa-_&GAcTael*BEdQkJdAV*@wZh1A$E!|k|6Q|GxoSg+F|Fy!>(6NU9KH+sXO9! z_q0#>CAUg5k6H__J0#Y93ilyd*hLWmtz?0&hj%HgW-6xSP@3GU?rL^~@&ZAFnb;#eC=I7JY7nH_n~ zC*_D+o}q2+ZrdljY+voRezTJ{xZR@Hfb`Uu{^Wq$V^fdrV_u!7neFE}&6jyi<^rI_ zLfA$YLt+4}R6!$&dz-=rTEI`Tph?SJiU4RtXmhfjCIoKjpqqi{ar8B}sRBSZ6|d0+ z0I@TWXrOE?r%DLQs1gF*JOmFbD7cCch5$%-gDSa2mE5LD?@*Nk5r7jG%m@wj z3&1UUe z$bCOj!NWJZD9`qi9~)60?6vPOa%?kkZa(aO?}S&wS>O8etcDBhyO+42Vml32@jhL2 zk1A-OaU1Ep-`c}3XI9XR3n3vi2nq3qB@}bxol=kxc?c?kgwQob9)g6xU7GCYJ?x~2 zfDSEfRMCQmUx!`4{8da(V+gH>aH~+*NbwQFMxkN`c2SH>LlWL6KpMcaxaE%~7oc94Z{pt+CVWp~LL2i8$*=3yJA zu?=sRrT=!T^j(g{KiJ&ZNN-$i*177!vvrrpwotI0me?+9>|0ChJFC%cHbc7|p6_>j zWa`>++`ajvN7Gra`>sLad7M*mJ4$^;9;p!orbH^U!e!aWLqDEc#Z6PP)!-om9LzN5X| zX7zZFb-R&W(?N%Z!%ht+-0q!Wv|eO(m~%VG{09^PymvdTWDm&#f_AbHXr9x49gXh(y{L*0HU^a2+0 z@N4nwm%a||=`wJe(8-ypF>LAs+$(!#HVHeP4OKOCsPk*05{rUDvgH0La#?buToWxz zj}WJZ36n#3N#UHtFm^&DJ0Zd+HpVwD!6y#C=Na4z+cOI8HLty)Qb4MUf0Cmz!CoG3 zBaX2YMA3K=6pqS_p}g!VzThS}>+E~l*6W0o+cCP!5h}yj(rdphZNH`Eep`1VN536T zRR+FK&xK>Wo0#bKu&}1vF{|-(V8d?qvvqDSm)d<;M;Tj7nOskq+CZKDj*9(YIkm%b zc#riP6WjhHj=d*cAD{E+I?w33HGg{`MP;L>>7A?qp3SJzcL^yQyHA* z7myAfDQQgx&xEnJimDo6_AB!GlK6els7l@P~DNMa_W`ot$QqCrBqVGG<>5ZBL6 z7Go`rqzl5y>|isWz)N2K7d(Zh9R;Tx*eC3m$80>0(cKPHoJ`4%he#eqH1N>U#2P$w zGjxz|wJY1nnDsEW2fI3k<-WyK4a4-*F$2kmwI0aBiFIU9adICMLLNJsf$6#)Or1ZFxm?i3vp!L77qhniy4jge)~&kdP=&ND(C@ zi{jD*v8ntRH8(1a6`^5)sL5L_J2u!n z+~hQUA{evD!Ga%P*&|r?7#7rn(W_n^O6k}syS38g)}JlAm)XBt?J}{_en#IG+vtdW zXFI*!e$2>e_@Lv!VY{BA_D@dOKR)BsbIJ3$xpyChHE79uX({Zd@t;vRPc4|wXguI4 zjSD=Ya)53MTZ^!pg40D7JR%FaN&JThZU6Q@8BfI~3jZFN*FeF!O%V~)QA7kcsUiZ{ zGePiamQ{cXeV}X&Rj$Ff6d#V#W=lz73bd6bh7KoMCq#WwG&_psW>6blp^v)Y;hgvX z*YfGldpLwmzQbnTVfbQw>(haX+xOLZl?f>&;b9pee(DI7I@S+V)Wpitz{6x=e3CFW zg%_R3j!0&PC3%N{giw2(?CO`~qDpjDCOF7qVfKYC2%~US6c$J*xy%rpcjKOMW}S5K zJz?u}+{XPd9aKaaXm`lM-jw8UgyeXXY;9r#SQ%S`ki6}bgw52}HT3p%b{*>+`*(1g zFT_4|DjsCjz2)4+-0xy8jTpUP_;~co?UKPwK12G>!;9%3mr`d|TTgGY8vEXAXs6ZS zUdx{SwC;mekB{3uI_>!QyxY@@9zAAWFUZUn6fSt!Zz%wt)A;~M_~es;pKSchLs0R* z%R@9WT=4K~G3wX7j`=)%jZMStK?f%Bb;37r+SNO*@*#}3G%d5Ns3yU znk`cUg_5))UQ8i3I*%Qe?Hios<)7}ZNOO~&D-6=bp6E+UV0W0UDmM|c6KSK3BLSr4FbB@rtM=d#rt=Xnl zJQI@N?n~iYpWRkrbT{krqFmK|$ce!h7%<-umxCkBGyQ}LKx3C3u|+`BOQR*ZD> z?Xki~263%h{94ut9<1|yyvCz{z01%BhYy==K5n(1++~UFx4{lN^dEH{IOf)W+D!EG<=>tQI7u^5Qc&ae1tW9N(}^@4z&7Ws0*T(Loq*&yBO=gwef2 zsEhzILvG&*| znt#$(aKeUv+?s#P4pihCTPSv%57}}uY5mcn)kkaePBiG91P^a7y;!@LRI|eB-X>2?N@Uk@a&^ zC*av(=NCs^`%bzKp7nZl$@i@}`z?(N9=^838MNZQwB+<#atIHRiZ8S(f``Dr$3s~8 zBqaQK50Q;%6%opb7W$?C2B&__KQW(&a65_*)7S{ypRngm{mr)Wtm^#OqP(EoY=x#s zuDL4HTotDka}$evV{*L0@;yTf+=KF512UWx$@Y?18*Z2tE5yntz#7ueT}W}`SU9sT zyD%>~GcUNYF1fKUd3s&;cDwB5biu>noSV&AC#%yAHm4ozPdPZAws$*j%Q$MoJ!Ypk z;Sh4tDfE~__z}DCBUVwyl!!eSf`2&S_pPa7;{n-*{XobDlazI)#cPjT(?4Fj@?^v6 z3r*kCI(IquZk3Oi#A6nPm~$P*>A*yfFh{pY;83nLBL3e@_#42nVeN{Z`x;boLvH z5O_@%0Ix`VV8DV0^l5E;OoB=}ZYP=BM&~%A}ebI4KqP*a=WgVfNyW54LP>0d3VrSIj zdsOe%xew`CPpqV1>v0vq!)X&Hc91!9gfn%N4IU03^L}%b@%oJStMk6E%vrA~cq9&3 z^7=uR}h7I>HvXy08OOhy}Sh66D#P&Dyl~{O*$liP!gKO#KY3}S{ z=HzkNnQ_4tB;=g+;GOdX*yk9mv!33k-Q7>SIi7KGIPDBT!}W}l=W%=HFDtxjTi4S1zVn>iqreWuU`JB0gGt!F=#Se2hPH@@HgktI`n=ibKD^cy z`_2pd-Ur+6gY98s`#95voH1kOkcro;Ltf91diI=T^qlc|e97mD1smpR9@DsQsDgKt zS>BNOz$-Ej7$9+zNg*2PPw_Bbg@6>ga8%Y&N?$rIQSm5 z0S^ODI7J+Dia2N+Y(!V=x-8mymbK}y*IEz{5|bG}R8tY;;qPv7C)_q>_I@ffvq#-{eUc~!@W{4Nv4;~%+?HhTB3 z^BP{|KDyiiTkV8xam9YH{kYR|XrE=D3H{MwdiN>2Czst|nX%uD`G&-KN9B)D_#a8U zadQqZVZj|I@jj5a@YEoQ11pfQ+VPOa>7sKx%s3Csx%Vx&?Ia%Ty@HHFr8)OVLPQf; z)It&iZ6pbBhs*;Y5}`~7!mx`XgaKg>MFcU}r=_1JAsC=b2dI*MiWr`SFM}_}YxK11 zneflGknq0>XeRR(^6)>yM8dwIErTtll}Law_6 zRXX~Yz)8E-f^;iZGTj$>D5Cm;hfE7E03-xpWkL%sq4y;(@X+Uy7yF_YNC;h1w{z}} z=iIE%x#FC6a=75^cEQ>Af(v*kzv!ww?<6{5?PF}_y8DdVwjd?x|gKN&c*m$<{hYR<1nO!p?UEfb`K4jf- z-0|rJMxO<1fXsPG;SN%HuVD2bY5*wQ=Tw{?3WwmS1s{O28+^r|EP%*DD+;g)3(-mv zwOWXQc9H~uiW~q+TTv2%V9%*yFzqEx3cS*S+USbpgoQ*f7KV{fzmAu%lliS=e4L4< zUZJs&hjZTWU+JeXTm%pCk2ez^p1vQr|GfWhZ_kac&f@0#nGFvzp}zZ8OZ>Ik;6ku5 zj~%07ghIJYf|EkwA`>}D_>Ll;gOKYW2AK9jUpoQIUIO^qirCgdrlo*I^>w8&JuO+FG2fb_u;B&TazkiL)dgqPL6XDvqts1CR^J-iZZ@{xZ0x+r z7$kIDZwL~Cb-EH-t=?n1dXK&S9%ubMx*m#F?hVx27q{F{v&6XIZzg5`b-3!!Cu_g4 zxU<&j;g6!;gQ2faBu$cvF`Fvz5VNYpEb_6_DVU-E_!gh>b#^0b$>3q{x>NVRJyXB! zeCh6sK%Ig49b;PC5xcI_u3+PHGheU~JbbC8kIo06Ag)(y<5M#Gi8&AGvfzP=XoJ=4 z?y7k_MD^v+BL%NuKnNbbfb^qE2I(^3HC+ZOA_L(;V8O$$)Tm$hvd}yY@x|~dibVV_ z_oGnNHvRF{)L`$2$M*-@?)0|Yes-(s;q`)h`N`MRp#^bDO`J3}T96pYiR0# zmWxE}DpR;fL){b+Zjum7rr?aV$G)?+TTLMkY2TSpzcmISEjJiiuipn)uHR?1!H~Xw zAA+`SuhqJ}wrdQ)L%E-xt5aD1Di6(UL<~7ah5| z^vs==ms<2K>$Y*)_XoT=9y@a?2|JU5ol3wC!YmFS+u}05iS}~s`JPp$9pi$7@weUSFy^%!`sx{amO*69}a-~x9^+o*@& zTz^kyY86UV0D6EN#+UxtpAKJ0YVcB(5YprZ_mNI3&C0qe_aC$3`*(rPjVaCoCNd&shCJ)*ijH{@Cq}$8Udkx?#tqCIeFEVY}{Q zj?YiKzq#l$V$Ok?8;mRfKA7`|%z1Cjd9Tg5gXY{mGtRTiTnI+gUwvfGe{3OmYAynL zEW`lV^@c14-cls*sM7Z|*$7<@KpTJu;VER`a|^*UbAA^IUnhh$$vb3zJ&AYQf_uxH z1JshZ)g*2O1qT`n9)3mc>An;g3I1IVXW$;&+I!xQO<*4v_m$u2Eom#oq@~m(rBx-QRKz7;jZY|!k1I%w$xn*O)kNi{1*L}j__NJj9QR+e z+I0+hX!X4b84VG?Kj`#>Dd4c>ARdMr43UA*DW$G8fbpS?{%-q~yPWiPIW61eynMIQ zs@*VFbY8v7Nq?t{{x*i*R^F=Z;9>O2UFzj~^Ox--Jj`EYl>KMJvj1yT|F@$Ze>>Un zU&p%sa;#_BsfWvsK3I9AW6ja~`iEPWA81>A06cuS?PCypo;K$Oy{e9tfPH;HQ@C^25V&>%p)<1^zj$mEyr#oIxwG4i2>L0t+hg17} zw615kru$uW$Lq@00Wh<)zNe(_adAyo;q}gPdp%a~_153ZUv&VMF4!xLSbBy&EBAQo?e@~!;k$ghVC9a$Rl8&L_hzoy ze|3$?&D94QSDG~F8Q)%Ecx(B-%4K`6EZ&#Bcwf#E!`x+tg-Z>~_4d`S+J9&D{ziQx z_<|dY_Es#~SGm}*X5|6kn*KqcYW1P=HHS*q94cOWsC3h@$}Oj=cU-79BsZDbbeweV zKIie|qSuHychrJ6LgIg<2tQCD>jW<$6)&+~nDYtx%>)F)B=HDEI!0GaSg9th{op!k zsrW#XfrM|#;#U-LA6fLAEPO%|Jhs5MKEiY>?B{@O9JOR&4Ovi4;@_~qsW9hWwcr+$ zaGdoHxE?aeNj>0TXySdd0lT=ZBI${BM>tCMtfGx{p_li{IYw+<@c_ZG~}k0 zrG{u^o)WLiPW1g}Njs0wcO16bZfdplpxxGkuwpSQ;U^D4Li-IyFk1t_w2i%X{m^ag zKF>A#d{*z1Z8#=fe^j*IRIv6SXRQ%y^*-k6J)Bj$xy!eymT!+-u`5l_pm>!Lc-XYY zv}N6qdut9ht}?#1!mwn~-pp?dGXAzFbJ3o>MFv-w?WtL@uVIxTc-XLV|Lx_**O%c` zEi<~de1G|h{S|t~tqxhtoB?FE^Ud+m1POo^~BP z?fF)_ooW>Ns1(uLPi5jL(;(J>mlmQylK2%_@|q(3K$eVBWrT<0mP+W9f`=d>Fh~}? zAPJvoB?J#)WfDAWAPMWq!kZ)k;bDzAZ^1*|cl+1dp3g%V8zQE#$r&BSrzYSQYwxF~ zK*+uctOslyoqF(Lrfmdk9mZPTW36vyng%ED^?hvY9l85txS@OKR_E)R?XRHYTGRHj zx^pDY^wT9kn4OwdpCEuQuZ8{;@cm!8* z-2u^RsIb{5UbRoOVo$)bJ>g4tCoeT9SZ-9Ucc5ASNZZ=u&HAUB^v=}jow~m4c*&BZ zxr~h|2nh*J zmaf=eyuzq(g;D-0|IO+QOg715C?pqQMha!AO6GI>Ml?89m zj1Rmq7ksdQ9;|eXA|Ip5#%c0NOXZZ63c?V12=g>xAS5A7rNTNStbeqTct8`J!b%c= zfpClsP(kJcmc@38x?r&|Ul@Apl#y%=xq9liTxr18-(P~Y|L=7Tpi?XOBZ2MStx z3hEzL)OA+hXfMmX5vz)qIteTfnb8eSQ?|qOj460%x5dQ%dt>m>_q#*vZ*jmz@DNIB zT-F;oz$)SfBLXOJ^IT`-v(AXU)`+{-RItXBzvcjMwFyVxh`$mlYz%~Y28uQNLsuC^ zt=OBgY;W$8y%kFgZ!g*3u*{@!`O$kTPB*SO->~jt&AN-F`e*W19LZd=A3V%lyfb(4 zwvweguIm}xT4`Lbci`4?W5PpF5dlI1kc}mJ`(fmnwQO(3ihViy#`)__i#8o?H6V2# zw0VBQ?d4gozVqJw7kpqP10(x~EtEtX`@%t}6wml!c_iW^D?}yt@-_<^P zQ`7yrqP_3>y`J0kk8f8r7e^NayGocRZ5;QWcHVK!<;TOGKOXVfX6pT|F>|xAV9P<_ z=0gB~^C8}*gX~WpLSNK&qY;7A2E5i3sR)%c2w(lZOdW)4Ocbk40#_QxtT0wDGb~tQ zSh2|P`ZtEve?4^TZ^xULoV~x|;{BDETUT7H(>nvjH?Y!}xMWZCqHR&%Y)xIfD|d+j zs0$P=pQU8!K0Fu~8c48cRR zmWZxUWJ7dKJyz`j4;icXGFR_ouQ7xnB6r<>fW2a`c*Q=y<%ZGA_iI+{FIizyz5GD! zvI8}LGp+s0(cAxZwEoY>ZvW+Y<2R>nE{%tp0!A6h}RD}L2BqVqUuI4S>Te8Zea`W+<+s-xYGH=~) z`S7UI)6*WXh5_pt;NciWJVBFVmMYB353}}1eNm7QMv3@B1+@_kWy#u@si#cPh$tv%VHcliGDL-orJUWYoHC8l{x4rMPppjmbRhLH(N z4WgFr3S6>7w&+LxqMgh|yVy(iL@eGByLe~xlAQ@lb^$3%cBd`bty#QV{mss-Z+7J^ z-UD)?zH13I7VUw@GnVYhUcRqD-=uWo(dw;d8}^WzjOY)KI`tL>#-LWk{tsB+ z2khB9JQ$&y3X2@=uO^!Z#_qn*c2GM9t7<#4lS&jGQaBaL(cmm|-$mr1_YbE0tw+E^ z#dn8P-yRJ3{xEn5KqL|#LY+5w2rGvGWj&7W>IGxQ18`ccL zH@#f|bHz@;U2nUy-gdjSy8(xFJ6+f9f=V~>s-1GZ9TCfR6t6f`zUs)ewI{0ApDJ5- zENj()$mIqBi+2RB*bM})*bewF|52*ha|+81rp*#AR%7 z*&skkf31hMTQtA$&|g~n_dRr$RRxFTRNQ6QLDDLyI6WrGxgf@YAuq%Xq2gN^vllYP zcO>-%9-b0YUF#tv1VN&#KoMq;5Iu4oEoL1};9=T&_SJRlYwK0OmGvr@*Rk;lVkTLy zLP9|0CpV~OiZQQ?G1Fu?8S>iqnA=}!+I=u^X*Bm4+#5K_4O_4~y4J%AzJvk~A>ns= z2nnBA$3Vg#9{y3qzU%vcH4kSnS8A2YXYf-RD;W2NkVqMbIX9REzQSvpUTzs%?3!5V z7+dP-n=URadwAt`qEAHVUZ+TNyZEg(3A%evXzrpyB4-=IAS47Z5P>mX*(i!;6iPG1 zv5l{io|}U1L3!oxBP>0p}1V=2RX(uUV1bWe+^CyHRXAZJ8Cy19{IwP3!4ZEZa8>o7yghNNnsQ7!ioYCKDCOzZ5^3q z6>-ZZ^vC}2yX^Y@FZ~5Q6sS0f?BX(SbcHv#%+ECB4L9Y+8Cl2c>>(Z|sqHv{kjPgtjbphtAr>%veVc z+E8aRxSEQ1ScaV;KN8}JiyYx0j!A#t!zY$efRfNM{HArt4-dazvG4lkU(G|Dpc0l= zRu@)QXP0^7%e>)bUiCbo(C zRtZ|Wj%(}$iRwF!t8GtEF~>R0QDq}Y7^|R9JVZ#OmZl1NuJY)9LehfDTOgZ{GaF3D z@Rrf`lhT5O0F4*GMOxKeO4Usg!H{!EihV$uO+4HuK_ec9Nl+f5;`EZZ_BC-Ggu!%4 zy~|QM$r750;;Jw$T$}>caD;GCMvyoiL?9T7vctqE$Ql*PRBRdpHqb&g&|`#{2#gT& zFM&#d_G3!~0!m3FU%!{Io3}MC-F;0<$VcEtVb#!i*mUG{B z?=dTCZYn@lql+8fViQq=cxV#_Dy?z1aX2I_v5qLR3eUF=e`Sr6(y*5{6c4!J;GRtc zcxn{|9$Q5|vW&Q86$*ZM_+4uKp)dW_JY3-++5bsJ;voud;9<`SuNyTt^Squ}9z5*s znR@&7WBR$wn1jAYxvr7B9FJHyz{6vDmT?+85>&SxQ`-&?PpI!W#<3812o^ z=&h)arKyX&4nPtg9wLV!@Gww96a2o1h=(o`bYF1>JUl9)a#DhmCZPil2^YmRu_!$z z#({^#G)M>oL6`_VP>cq`gqa{zl!Y&#d>jxP;bHK48a9nb*3%Q#Gfu2$p4q?x38E@T zg_w{q{BQKgpXl-Haq2_AB*wfU!i0x~;s&L1+pCqV+SCqon7C5C8kS+mWT0yi9=77B zhVNmSb!dfE7=VYxR^jk4k4jhk6Az(cmUY+<5C4!~-}~jinuk2}5))P^8|Rm)%MwR0 zi5RtScw(10z1rV1U0YapCnf8GPh66X+u6M?N!uNdZ{?meus)@0c}!zx49oN=$08oV zP<=<7>b6*xX{@r*5yV3!%0LjLqz`-*DG(I_si8so-bYpoo5KJpEq_T(KM9RP=z*fz zpj2I@RS!#X0OBDyD6IkxOS8NrnL!dPYF#Q$?fp)Qs}oL$sUZ@^iE$z%aLTIUC&nW9 ziZcC0nZY8=U||OE*r4nsO!pCG`iimq#VHR1#n~aEEc^;PMyyd`UHk@S;sz#E1V=^K z(LySr>o@^Fv%S|beK)W}#g&gqFfNNSABuB|#f>UucGSsRb+8>94V^p8J*W1DPFseJ zT8E=kv6G9o{jh4Auqt@Sr_?I6*ebNpG7KK(ScSc&R1AJ$6MUZ=eBUPQF0hV-epE2D zj(TVnc?%u_?vHip_xkm{-}{Suh}0tSum_vNMPBb5uWx*@p|svD7`WC$NC=R$0K`K-B?I8Y=L-)Z;Xn28kPOFFhV3KG z4whuY!=qxXcoAlT5Swre`FaudQBi6+8Y;p0!owiGgpkc`ogz_@cnD+RVJLr@icKT_ zI0E1?VfJw$*70?W#GmOg*gy)YLRFxE-h+i` zoQnAorb#5rB!X!i&NL2VYz?Iwg)19IDH#Ai1zm!#ypFHDF7Vl+12C-=GfPoZicSkZ z86AW~A1N(#;-eQ4(=ps+)DRD`Im9jzt-xpq2Hw)D$nOVAv9Tz{g7c^-MT|JL3MGdw zSa2flVZR3n1LQQQ8USfk5GKKHRBBgbSe`Jc(1-STkcGBNe6aGgvavcXw;^;M20!vofT@g;Xlxdf;-4N>_Xw`D; z(sv%)88Epgc+@6rh#QWPHmx?HjW(h6wqc*nY;3}ctwY{fg%t3~u?~4_9rDU1YFdUZth=+ejvG4lwU)00pRn)u*JRIZS*)}}K>mQ!0`cQW> z`NkRV*pmlClkNO3>~{W54;*i$ET(>4 zRQ;NW+BG4K^Xs)wtkZ;t5$l){LQ0Xs%4dZc@UTqMq(hNAz&J3-bb^Q71}-Dp{U&w? z5f7;?BHzP0Zs-pWze|t*Z(sV$dC1=!q7oGnPOYrqjv6qv$eW(wjrUKrl{RNzdvwt! z9#_z$?hn4i^-J63eAVJW>Q=iHU8`ix-N;oWvd!ZeCQ%GZ!Vt#RV7gHd%`ouup3qZC z7kDV@cq{05QTkE%ZqoMMgr^Q>2crWRc?;kvtp(7SkKr^P(in~Lk9dek=qahkw342vTB-G<2G*cvX zQl<4yNUF#44^$C0A>lz0+CC9w;3~=X7H1)x9uZYtKAjTLPsJR9SbB(a>dNv z2yMOjljg<0aZdfLn6ysmsxa%3Fz2I~N$+OvgtFrl-D!;DG@|P~Y~eMs%YWP|bc`E5 zzzyrN4iSXJD%(&Tobuyg@H?yELaPvvXA}I28~m6Xe9tB*iyL&C8%81_IXk^+8=A=t zxy23ok+=Ah4gG6+h@+bMl1*11TT4Q;vru`YI--3@H;(3X&VaM zkijP&MoLm8H6TicLp%%?XTn1O34yCH&0Un?F3tu4A}X<>YVa^k4ioz|u=qq2#WCqx z51qvr_%Tq3+7RNHlz51a#P@QhB^!5?Y}#8Sz2m-!!Ihsil7;99hF64`4~0~Shm*7e z@Nk6fIH=_`VCs%U;+SO!JRGzQ@3skTu?}gl4#Cp&hlhW%OaIDW_t*3gV;0AjmQY`c ztGv+?H8s83*VLDv^&&IkH0}n@aE?lM3`HUJdV zQ9XmY8RY8&=!X6@10Q95ZzZarl&WP@)B!FE+U^SEf+s{m3g`zsWHo`CtTu3w(E=nM zlKr8x6bFe!7a3}QhwN;3-6R6K1%I zunr3|{nj&%u4i8n(#jCm$AS~d`a}_xa1oY|2;-0_-Cm3aY(Q5=7!!w zBJndn;^DvI+VB0@znq6Sq(LzJ?BN*F6_c~AZ36`_3T~dbllW0fC3EdJ_Ysw5L0A|wLr^ne$RMuizJLJa2(bl-LKSbl99R75A# zX%P-iM6sE~nGHO25T~#aQg9GfLP$hv5gwisp?ae-*K;1PSI=9o_hEx6$XjO!4{r%` zz>W1RcvvX5wSBYAIL!$RF&uh1_8odoJ*MuXy93}MhG<}E3J)8s0)Ke;dsh7a|J`5B zLmZRBL##!IR+a~NE8PoARc&2`*~RxRWL^(Fe$6fFo@?~YeIZw@d@fmfgY!ENo;Tm0 zY{)&MLwT6Q*>)Ty-L$PZ8VysT>bVgK-Ia6!iG&9gwZS1p?Zfg~Zd$*TUbiXXA3H7?%#THIpO?8 zzt}5>BW^l{Ug!G5!^_sbh=*%EOjh6dEf3v3FGq=o2Nkrw@Q@l$irXx{+e4^`)v2ef z3h~fQib)8SpaJ3`Bn*{eMM`s`q%{1+REUReD4-EhJ1MM@u}*_{cuJH*JoMh6?6N^= z-v&i+K%4zu&}VYfcd8A)8|bg63(rRqBnn)H#WV}SljXD z;hU^emoq|6WckEpxkTRHADm?ulxgFCb+7m3-Ja=YF4s&Br5f%}*5)Rv?TTY>i)5IE z(@cVu4E>c2y_F5zl?_~Idf*UE@1U|SwuLyM@!X;XaQiPV9`)hlEvNnknBEQ0)&wA% zuZ#*1>;thC6o9@bKz@aq?*PzT=a zXPy0tjoQ&8!Yq`|pbHUM#6u#q1AK5!b6AA#CZz1XPSJCnqTf0t-}TC9Q#>lgOc7(= z71GFGZ`ASAw$7iocl>PL`uDA6q6UT1`q`Td3lvSum3Oz(_D#}UXP6#6st$cdj>Fp= zhxWRR@AvJs_ifqh-(nfwU>OB!twL+81FNlltE_w~_WFSWYyVGJ1--BddSV^=&^in} z;e-4kh3$`ii{CKs*B=Qar2e($PoVfqdN{SZOi9R3+M@%Qw}denl!ueh4_W(F-pI^y zc}?r{$8T?3xRDlf`f5PJO|RHn&Jk-pOxxvg-PHN2@xcoQ`_5?Dz{8^~iwL^upXi|n zBA%=Y;@)?9h+5O%@z7g@=_|w_9zw!%KdYR;*{KNC_XH17SaXoSD8;%I8$}mk8a(t^ zujI8}$$!1F-v%1m6pu*I;o*G|t@om4{UUn@L@j%ScC`O&0uS>gbzjTsbS-9GUA{x4TgUb=GR%r)!`y<;=oqHi7w zzj+`e!y!1s#y@SZSK1D@>n4Y;7#&E_cQ~zS9k06c2+JazVH!#^CN*n_hh9qh9?E*a zRY@06>5AWqha~!a5fZ5%WmHf!^K~Q)lTraBB(9Bz-r@{^p+UyMac%dBt!|UsJm&2JX6yrpY(j=?BRltow^@caS_RkI1XgnWDr|g9t^C1{ zc=)f#x8~3OAMp^%eeL1g$}*Ot<7lcFn*2~yel;ciY)sPSnA4e2r_Dnb}SjBO6#4ydn=q3UWAtCV)=QRI24{^~NHJL`1 z6C^_+Sc`tkLmvqy5O@d`zwpp)1C4liOo($_L`~o!s@o22P;%sN4ypa&21V!fitvyu zN2xAhbSH|iqJ=n3UK1WKm5e`CyHh$h>dIG zp{EoJ`14hSgn)DyqGS~NLswCzi!j|)h>is+viX6c9DE)i#zKl8J3}NY?1dBoY;;AFB8A_~W&g%rTKb?jThI=K?tie+|xklFc8+WhrK<41Caw`FwhZPd@( zvaME`JH~LDWVjD1_|9-5rZoL0G(G0ceOE2RmTkgui`%eONRM?$8#kbq>tAK-U&{3> zu?~1=6Y#^s?~&{~zVm;|!`ao9nU!Un*?{qtrLpD3!Re)aQX3S$q1pxuQFusj5>|$XIH5r>#IOv~ z4Ga%KjIbg+O#X>^{U^0&Kj~+0FwPS-%@;R*CASqG-j&n4zsVqXvjseyWINBRQWCD} z#?R>nkEy#&ZS`2%9lT^6hFeWXtV7{pyKP{dZNOR&^DKQou{YqERlp<5;QN*#;72_C z4)@l4+|VBiJ7eNTkhRel92p7_q{>d4aK zz})P|hPLzv&yr4ENJ%(*B`PT+=vbD2e3sXdTOLQU+@cW@uRDcY*%y4-#xG^J$GL4T zi3auwdbTlIRv~J;d{oTcSSAN??=RiRk){t0DC;>Z=^=AS)w0QJ`)v6HPD%leOg%Ph zenL*&<8w$9>=F?Vk8IR9Dyt4+Wz;Z~jTEn;loaM>@1*FZ_4+(v771(%Kgi7ciT2I4a41jnr&<^pCpEg95smnSl7@`#zb#3TBMBfuy z5J9xCa*PNKpCqkQN&UOp)peRTgtRfFI8#nPeWOA8W<&5~vssCf)u`&Bd7Z!|qg0;7 zwRywi!<>K#UEk&HK`WL)%iPd$o4^6vzz$m^68$S|{Xg3Jy|)c`$Myf=;ToC#h1dTp z9!@VW15!ac&G&F{ey(R~@^N8uOs2t(d_#p;o7|%$po%_ek#c3CkBy|m|R(!SY8BFtmE+} zkd0Vg1*1zVo5ReYW4HX`?)xX) z@j80TJto~b{IX+Es$D>`rB~8+mqgP8VFtFoI+pHgI}WnV9aT*1*v4G;R%@oAC0);k zu4hlv+oz;^NQo+EBbh^gc^!bjhaa0EP9q*Kd?86Z43|U|8yltG0Bccf3$a&3`vne5BSjeqhH=8wL>Ykd z7#!GO{3#OpR7jLiIV?^=EkT8q5e9*sCuHPgyx0K2G{83_mnK&$nR`q*!F9CEL+~?x#sZf?+$22 z^s9MKoBA*8^`Ey6oUjY*v-NAS_N}oFsNx2e*#>^J@qK6Qop0@%Z{<(z5`TS8^VljB zP|b%w`VZHd`n7dmfAas|LxGJ@l^(vMFTrFfEV!!JBMvq3dUOg&jrD|L(ERhrpdMe|pix7X8b zdNf?8EYf)gUh?ejjOfM;sQXMB`_Aq5owEvnhy8Z`tu}r*FRiu>Dz^*5QO$cBpC2Bs zwd|k2e{CK4WUYJTeeG_L#KW~QaBWQcp7%)}%=za`;P8{r>3<#hkhxdGbcsiCX~)cl_fY_$R=_ERQ4Cox{@{ zgU;FcpR)9f+jc10WWT!+*G12ApT-V5RSRp5iIs}+UY3y+!+^v?2b!Ma=XmIf1`B!Z z0K~&B+J0NKeK%{lZPr9EblId1oHweuVm`N=ny0Lqrwr9K4+5oB!=*XV(yB2sYJl1z z@`E8Zio`?e;8cQ*07x|)^1%rzJ|XciT7(fR!oWls3Q?-BH%yEZD27}j6%t*=C~!}z|;(Qh*sb@Oveyn5h6AyhYHjDMbRsa{0EiUKZ@Z|BAgQv8mDD+ z&d3|3(9A9?n%$E(e^1*}rS8z7e`?V#i|24-a%)__rq76>_vB8GX)E6``+#11zh>Lu zI-3v_npWF{;Isx=#2+61bNAMMvv+0`%#O7QO5g-hx;{m!b2NXQ>gg+9zsF@2~o~QR-{BiJc)F0OK~&6*_+X!#E4 zx{qyho!H|wV(SMFTkJwm@LkKV`L4DLKtlhAhifhS=kMR+;rE=5e!qd_n`69{-(+NU zi7?7rUJEr{23@?^AEH$4GZ_7Z2suB$x-hvg*)`NsP?mS??xUnjuTEUdi9C}VmHamH z%Z$pqo9i-ZzL_q{xEQ}cEBbrKYnE?Hiyvf;6^oY2vLzA58)wy z-~|Wm_5l(qxVr*iwMkNiunt;jJpm6l z86+v1oK`YDt6*|X!R(>(wrtwY3Yy25ehhE-=~avP32pCDZRc@Q=aC(512(>0wupzA z;1*TOzxo0R4CE4jc=*rVTl&W5JRH$FG_uvH&-7rgrB^4{SKwi_bvPva;o(}vzU%$>J^VTne!Vj! zyF`?*{2_*U%fHD8Zv~KF4XrK>t}KFq<%On&#m4!Cx|!M9>6wO^*|ynvv=mM(uFfv3 zA`-UdeJsEJpd{&PWx~a}*b9x3XB+%awuhZ-j5uE&oK)y{Jlpr!E3ddmZqZqeA?f=9 zFWUJgTYJV^dPMGW@v(3`Z2HMVJFT4#>f86LQAeix>4uJqRNBy$B=O~S5ezY%4V5(5 z7D7U>)FiL{uPfr4)WDoX)E zEAXcpFMf4iinb=O)<(2hp#2xaqfq$`4*{Yg5*Vm5_4}Ff5Fyb+RLNaL(M?zZgo-F* z;hH3)m9lwjlCs$;CDYT&CYKr8G8x;SD_ArsI}OrZ7Igx7hT#jEp0k<|v+ zc(hvi)!RfjaARt$qpB<;>TLY#f5gM@l5fqI{%RifFU^C##kt;v+3vaNuGy*1nMqJN zK2bI@S~58Fp?~1xz+m;zNaNT<|HMpB|4407*`sq;uXsmfd4v~)o~VpWt_e9+?{}gt z^ej9q3p$nOo$%T#?zvmc-9uqF_XS5h`1;4kVM6Qhlh|B#osUxpu!u)r8ts-ifcV|6_SUC zA;L<;!wXxCPt(ld;Tf9g73TJv%pLHsg?^}4(P>)Eo2M5tui*g?Ck^*^>e+Vha%-{l z6?j;=7uO;BfgkJAHIl7;C3V|tpQLha&3DMiPx72wT>$gEMKH@-1~a@BKz4U1TOkQO zl1ShmmheWGJ~6V$1A}}97I^*h)IDcCbF1C6E4X{GV|ocx&aQ&0>6OZ<<*Lc0%85l# zJ+@FjG*dM&UD-cX(KlJyJ5k;}R?#&IN;><&yUzan&c5ufzPFvdAg`nMU3+g)W#g;Y zMUSuD&x}t=_d9ywaA^AefWku&HEu_neU5kdoM?5AuR9o3<``Dw82WNwV3xh_1snGS zE0^#+PCmQ#xma+WOe|dtEf4GMan{}GtYLA0V{(9HMBpu=>?2CU_^Duwt`Snk8Wn9*nD};HaqBq+Bb?KKvx>$z zt--`E_RzfR~kwb(wn&^EcyIx$}|PEk5G|8aD#Y;>-4 zWEMa|P(4VgNIb0Q8L#B4SlrPE3fn37VBnjM9+2DK^S-06u5+-heXy^#t1Y*p`o{BL z64PD=9?v@vTEO+s+3Quf*SpjZipMPG9QpTdlo9YARf6Y^z1t6iD81q{mVzKHgOsAHnd|)G@B3SET@CF>x z(7xs21-f|}ZAZ5J&YI0uoealWRgYB_??s0D49j&~+q2KuyJd$DJcNYA!)7a=A0Do; z>esJi{kb+PNcMiDUqR5nx8`L9o$U*JAR+jCBFdx6$M}r#Rxt`~cy$F=?Y7VH+GbY? zturg2X=WKTOf7=i$%UGU`RegGP&qbRF*<|jS24b@7B~q$3{8Wgp{as_iTwWYyuPvA z-qD<%k)oCXkk>Mh+uWbi(x2VjM|f7zQdrkr**4PJHQCxa+EmqDT3A=|s`TBtTX_*@ z?>dEK>~g)m&H3>z_h);(o?Cin?Q~7ub}-)5A=uQ`%anW2!q&lpYj192ueWQz&Q1rd z?fX7^c!+6mn6B@F)_WygHzh6LqNqu5R?u+Tq)tFo#MumWov56O8#;YAs`$vM_{pgR z$*Kg&u|j28!LqDySyrT!nt(7#RR9$MLLz^^M>Q4_$GkA1RE!BHe-mUus9cCNH3b~! zv6%ICSe%Km7vJ&_J;4~0K{A9;5guY`3J?YXuBkyJ#6~ejh=%N9qNFAPdV4DLLwH@+l~>(SP}yEw-d0}T-cZrmQq$X8+do&-F!!{$ zJMD2*bZU|7kzZ{59&A5++tlg0>49^m`{7}zxxKH2y^}eYYhr0>xQna3-ClE>orZ;j znwg`Du@ieMJalCkI4kKOT>%MQ*GLEt4{oL)Dw14<%SMj79OqjeVx$F#kW>XK z#6v72vEan{%5O?Y1x)@VZy$`-msQ6Tv)QoK|rg=eTt19Bw!B zXtu(UX&^kTv+;$8O;!Q#NdKX=Z;p-cb1okn|L4|0SeO1+dr0hB`}|fl44L~fOdVRT z4DlJ{ErWqoioWGV(6hMIy|CCdztAx|2im6>x+a%E`@|w>8(#pe;|ncg^GzeOjl(l_ z!_%O4XsTv#vU*?wRP~G#uKqxVZyTe>J)&=$U|@gD&>>#m?ufQ^r23xy8WzA&)$E{(sT0fC znX%QCZityQq{jj|Lq3{r@*0FgTQmVwJPbBcJr>>@RsGTID~nX2N~jDqfHYEu6(h}x z<%0>o)Tn$3RS+pjL7c?ZF(3%1DcJsD!6||jBQ?_rL%Rha=mFdxOd+L$`EFFPj;tC| zl=u-7Xpk-Z9S<>8CT<1=D}=^$E&7PUb+itpiZ3ANL*+830J!FfgF6eSa! z(&B7nOV>_HQzn83~;$8_+;b6B2k$6Z{tnHryHGPxSy%S|U<4_SE7Ily0 zbq*m0Lc&)a1H{0`tv!!gx`~0=wf!KcrVkJgUsQCxtn7YKMe&%g;@z^gJEg6Us#~5` zHRn{cR93dPl()C%*3{k2tGf93q2Gy{haxe+8wN(G?G9DhL4br>ptJ2N3rtBv=?dOl-sxKmNXl?) zy8CAON0$4Bm%4`*I|t@l`e&PZr)ztsYI-Ki+DD2zMhe@9^IHdVTL-WeeAC?bx~cbV z-9TR50EvWo)qRBAs@^x1-LEUUo|SbxDr>*@u{G;sOJ+$kxL?w8 z?h5(<7ySZw=!Q9^@>;MC)udEGsRA{*)SW-94cUvpjhZ2HYT>eKF>-20<<#P3)s9ne zPJQOMv>Hg1Ry!u8iW`4%*(hm!LVF=VI+0YC24adnA7uZ)+Pu7zC>@YFh)S3!V{=*^E3rUM+$U{MNC!kQ?hadwm5WhIj|MdLI@JWW!S zOmRqafw?`EwF8O7yUd->l=l`Y*fc2}oKo}U>4flfL+7--M|IqxVz;?hyJY|hP3vt# zs%(Oat^A9iBHzO&kkHQWv26gZyLe!Y0U2QzZ7Kd6;Q)UV*gro92?u89 z;o$@hZ zy2dLz$0|CpMjd5+~IShwC+|# z=bgFzH0aDVyP#w<=d~XCC>wbx z8o0^pxo*)V9uf(^@DM7l^)Pg!Iy^kGQ9W*>dV-w#2@2Ju&zzLi0LNw2p<=w0D)A6~ zz-v9k7;gcjuXk;o8d-Ug8g4-)H<1uFersKd)CI;0uk{c%2LG(|wTH*0HHn9O6-_QH znO;;j6L^S3;(hk+7j&xvdFw_+C(1+paGqi0f{yQqwp*v};SLk`w!QwX_Mr`Sq5nl5 zek=d}>r>L-{)uD=$=T@w<}C3CoRKkSf+ufbRlw@}3Rs?B1uOHsiAn0N`4I%b(dEIBCD1>*G%&W@**^o?`)AtvrU|XRQ=qAT9yIpN)%VQQbWc}z zO;vVIR&-1hw~l}hEyM4dhYFhpK|$j{enUSYuf8w0t~al?C%2|Mzq&iGsw=mm1LT#r z=ajbQ6gOvoXnOm;@y)x2w?*~fRbkyP1+~u#YabQX+%2dEnYraxUwue_QgHwI`(Iv^ zyu6opMFh5VT1vOinXORuer<3DRmOW!01AG(d`+X39qO^Kxq7oUH0u8TDjoHNr`0 zRd7t217ajtAX17AFiRg`WH7*KjjJd%{}&M1_KDE}nU;@>E6`pDs5(-96&pMx1H7Gt zlmO;=14#IFJS4R>K_WCj>bz0v9V*U@m(e`EN$)ztB7<(8NwWay%H~&T=4ndismkW( zX(nkZ+wU;tfa`(p;5tOBuvA-$G`s)%`NKcU!*89Jex5`4$wq;PkZ@_1 zH#fZ^@NjNw6&^yuvCk3?3@?Jd5sEK7Bocn@VHICOcv#Xl3W$nDYgB}dL`bNZ&sPy1 zQYuzL`rJ}szuSWtZ@zY5&QDZBQ%IOA#IohOA)9~ZrP zQ1CJ4{b0twGZQ4*ezq9i099zkKv8V|#yDHV~r5O_!y zpMS20fx^lF2Kopo;fX6y6J)iLw-})P_cuMfz%aX_y7L~}>V=}^2YLHmmM2dyf@d1H zq8mKUcIj1f>NfNccvxx^_`}2Bj)7l%3XRux6@G0aMuLLnMIOe3qO4|So;S6?8(W|* z(?x=w6vwpBtbmreRnR!O+Ay(FH?~wex>z-`AfRk$7L*RofZ~B^!iWB;kAw3i19Qdw zvmg3q-t|lsbx#&{O;B`jqar7bn3Ep;W$RYgseg^d*j4P|+CA9HJqa;o#Qt6pVSKFzMU zn^T_gy5#b+!V3>`QXXVqev*IVS<$6?uP)tql9Y1uMBIfV0db-GeBF)hTsYgDs7c;9 zI5osd)g61q%~~#e5DCLKX~V#yTl5k)>z&-Bdqz&{oUG3W9MvEm;v@z`E=VN&Iv$ce zS(lQ|ChQCWsd4iXR&p0sauuO)7o*{FnB$L$_n__zLAQnvsR-;rWW8IRV5#JU_0H5FSE8;^F(=X@Q3Yo#XGi zCW<=80kM&&2pbDp`vofIH-1vFu)Yf(zN>C8u4*rbgn$kgS@socdwhDx;*2vzf4sTJSJ-v+nnJ2nmUY z=Ori!PfMr}506Qzz(cY+jgVwfAT~-IL!}2ldx+)epXH&)1_d`EMdG1{I2|KZ z@qZ}E%ErV)NC+~N%;4cAMY9V^W+{xVmsKsY)b>85S-;)FtyOlO&QxZDmZ{$pMG!^3}AN$O_sgm}nX2=;*_d+~J#{Rl=*Eb|6ec>PPf z-UVLIJg;Mc*FL}6fD)OR<=R<_>KUp)w0wFQkVps#D+gym#lTGY;4CN`m;sQGP|`mI z2`L8V-}leG>zgg=ohj^@&hMJc>zn|1A@8{z<2mhP*=?iXZ7Tv}e{M@3$Z77)Zt8j4 z*qz`-&R-^XhtYYC3YNo3pFlKYN$` zwD8H({5wzc(x2s~J;^@*@YSh%&rjZac`WN`eENgLwA;s1GEbhqmXvrgCH8#0dt{uw zUzqv60M%_C@_OV>-vDWK>3F#Iv;j9}>dD z_kEKT{c{2j3%aKS?g@kxcnAr>7ZSc{=z3eUj$f84__>PwM7{8Z){ba1A&K-5L`mug6|=}_d+j?VVJ?%0S{j**nik^ zpo8VJs2jyIie1(Y9%3JE;~Z)<^r$xTdAHmDhli`UYvnipBZzo{R3T{>TswP0&YgN2_RfKdp4qal>5{Ig4;>Tl+sDDXjtNlMK3>o^mft#>*D{jR zI+EQoOsYvgRkYQ2qnzzcZKr_OH66cHwY{uteNoZ!yu2AaDy;{vi|dNs)s`33H0D;f zXIJ&TsT$3zA9+*V_q??8(fihW1x>eeYj3=+y8iN)OHZC$e){0bqg$8mU%HT$lyogN z@j_JG*{JBGBVorA{9{kJg`e2(cYLRFq=8K=XU9pJak8S(X?cUw8+FggXkU=lzAU44 zT~<3?NEE~9phFXTmO&IM`CSsBi0DfV$GR=flwMw}KUPK%Lb zpacimf7HH_dN)+nto4wb)*x?zV2F{y=&L{x9Qal|{Fa9S{Now)0b_GW;$gIc{wcc2 zIl5^Y+MSfmkhh>Dq~S7FinC1pYYc;Q=Jv--?k`IAc^miFD!2`?19|!}%Q|609FGna z=X!m&@~s}Z+r7(v9S?C>de6Z>%RV5>HaL?Tl4%`w&W_?gIUfF|g!u3a579gS`yTcz zuXghzVfWlB)vSb8iHSu>*f~1i3l;yMhmi1V4qZUp0BFg;UOe^R@U^iwDHNuhI=2X!Hc4*{DP{Fxs`QqD_Y-F^t`HQeozPl zd!Cj6fr^b;Iq$M^-`srrG~@Zri}%haXB<0rG4g0~SWHrASYlLgLcHIRQy!7Y&LQWx z-p95%CF$FqRoR9k#Is6UlQ-+9$mw2`)xEY+_r@l@Z+Un_MjfQfszb%AGHRD(RB?EN zd9;y7y zlG@C7Rhfkqck;^aWq*9~rsTzQ><^2I9uaBNS>(bMga|KN5~2;VFhu5_9Vby2){6Q~dY6q;8#|YJE@H zGF#EAnr4rdi&-ttDJ{1F&cS-E168K(@AvwGk9NT&wm}%|op0lZI`8|oKDW7kH*Eql zxFMHq!%yyu0LlBq{(AQT{}BnHt3X1$e7}cKkq_0;OX|5NR#qrrAV%>n^F|j}hv%1Z zC^|611A|k%;Yr@m#OlcCG8h|P8XlMjBZCWgLc+d&tU{+dd#2iZDWG37^y?Z24V`1) zTOOA6psbXVu$W&x^DPgFgfCnA-Zk`sg8CkTirKZDZ$B?bzvbbL;u?5(qoDkDZYlBb z`Lm+8PYMek7L?q}ue_aGe=DaxGrKM0ZEwblzN=5WQy;dUyW4o?7Cg+4zx*Wj!sUoF z$Ac5YykdM01$#R9!^6Y7U46DWAJ?`@R^6S%vLGI2$eY~SvX!WqE~|G%mRhD>l+hIM zg@iYxRIf`?CpX{n5SL-#N{m2RRUcW7s|*_+Lc%}YLqE~YK4OagvP|M(tfJAkJUmV_ zK0z}h9;S1wh=*0mb|b8VP;p${rH_4}TFs%<&^dpHN8v6nNLb7b6nOZ+&i9V3|1EA1 zJVb@}2?t8Wzods>B>4X6k6+yb^En^*kA9_JMa7k6+{8k_g%DtRg$FR=WfJ#wE>SPI zsBCO*b!cXJaB8Jzf}(e98Jj>9$BdvnZFq5fXmO-}PQYN_>_G2KPtR0$_he7!1nBG> z@8}q7ZyyD%Z6htM!|nL7W32Tn>N>|kZO2$m`zX2xL0Q`{C~X`5*g90)I`pAs@O|^Z zyQY59@s!upm)qD2avFMa>rwViMMaQZ(fYQ$(Zvz9~*xuu7CNV4p8N6A8PNt zuen`Vc{{)SR&Hr#c1hNo;+roDZ$B%z`y~JVqudAgvmf1g^YHfTCt0tG(w|nQJ*v8J zzwYdv=2N%Yk7cw)Uu_D%RO)}G!0Y(KL(y0415a9cNA5iAXMVuV#KF;EkG;;01L|g; zEaMP{ae}h(DMcfU-@Uk*nn<6%2^U4^-jvn3C8dR%u5U?bWXMrmlU2u}G>v~?Lr!bX zNU={#vQF^hVS+gQm;?iRMVz2wW)v>Ez$guOX_ku=^8h~>e&M05xDv49gOG^WctBL? z5Jt`jDw_Q}Tx}s`zlWv6sMn2sZA+dw))Ter|i?zR!&3&)6?~SQ*?lw2v z`b1s)#PvrvHj2DaOmoZ5Kf^ZYDmNIFG>QAd!I^#k0rvra!@~vKkBj;<9>wRrL0p8i zJhik)m|R?#SfIebPXPT0;|nX0aCCNsc-S?DBblWh9K)bIZFmt93OpPgm?sSN&%wjq z-f5`#g@I>1>n)L&8$we{e3NqB6Yd>|NVD}%+~W~yanQra?x4Q)e*N8c+S~W5nz%EJ z0+kJ8}A&%o1;U5oIx}6LZUBGmE3s zOCwW@sFDGbbG(UJ-uTQau9ByiPF#(;;V*=V+MnFsRuz;qfAp!MGgLRDqwGI6> z^?j9fy&%7)6QJccx2iq2vMr~gHLtuix2z?vv^n=p{-DI&@dO zeOLRcsODus)uX)f2RWs;-%|1L`pd$r&+{)o&As^OZR)*O=Wo9_d+S;9&8I0>?q9li zC++;LtTUO9Po}?#yYfCFwJPXbz1OJ*=Y%Tz@DF?Za<{oZHFCPGZF^bWGE939^7}q4 z6Z9y$DCs#X>N?45I&M}+@i%6=MJVW;Qqa4&MGq=ImDYVCr9+k1$YPnQkt(fzURv#( zlqw3`PD^r7;D)N2cu97g1na0c5{ax>yhySGL};G;LlhTr+I|U&eSFBCkZckEm3VkW zk`^wm6eOk)AWjdK<3!2p#VT(-N;6KNo1Wl@#3Z^|62lZHs3#a(K@`IncO=8Z6qP-x zs+JiX+YC1M9^Lw-l2tLozD>okopYd;#VuChzSY~8Z|YLK8@oh5bU)>B176q%K6D7Y zZ6BOz7k1Sq^gk>f{z^hPNj#iiSpqYw6y!XHJm)dzlYdXOK*jOdm9d#+RLM-tQTmNe zEssntePVo-NH{dKG&;02Hn2D~usGSjFw?gH_XN!L&JzhIJEy zrdJ5VlPg0L%R^&}10(bO!*c*HgQE+GfpBjE`t{CFd=7fEoilS?vrC{cZJqt#!RE zwLPG@rn|bL9aL0c_(f}3SxaeY^T*QWl8;UAiW`bP)E5*}Bdi*YKgJ z?p;AmeqL2hcKPeo_CJZry?JG~lB+**OXlNs+Qq>%5%iIav*~U!0av1Bp_c zI4SfZvQg0%BFRLBcd!&I1QQm;=)hHs<}6Ng_Z>g zh2OCa&)`NS?~6XWKPGj5e11k1jyJ-ocrkfoXsj zFxtO>065k+Ki)k%+BrSZF*V*kIoUcf-99ys_Io}Ht&{UD6LXDYvkjxrZ@6h34Dk)@ zs~_pD8wTC=|DdaWSU_ieKM<&h7oy_V9zsG;Th&=p*-=&1fg)03V<~JbYk`CU4+Rq9 zrTjw^R4jg1|Guym9_Hp$z(er(#k+5L7<=JX^qKU?6PLr{&qqZjMF++wdc~YN7<9$n z|BjW{>s=o2%w1~@og20H*J;=ntJ!6%SU+Lx%%EAEr<)&Rm<6+p-C0Jqidyi{Rzb~i zv#Q5NRWt|V2GZklnyH(0zEJUutUCCXhkh6zEJk+|rxOn$9z5iVDgId=9+hTbX}Z=! z1jFy~@GNsDwMG2wAr5SwDO*)4+ca_3umO2TuFM=m->{o6hK zbye9v|LMzU_s@Pt4K}|F8yyk+;i9WcxGE4}f)f~7Ssq3o{mSa#@=6Z|SWHc~56pH9 z&UFnhbdN0dj4XEJWe`cf>A`WF#4Pj;&35%ocJ+*Rbd3^l05jA*HPAWH*FM(UHj3v! z+t^_H_;BasSm)$O`}j!H@L>G_7;7GxY#Z;X8yIRC8*QH)Xd3Bj7{ar+ak!(V4|LTb z^bK~_546?vwpRCGj#GR6Ku29)Yjt;XWhb6^hm-9!JfXdtu1M;DQ>F%&{+PyzU*DyM?N2lYQg)$8c>l}Q<_~_@}|7_bs3)E1BST0 zEP4OS$AV|?-#pBJc{ls%?bnZPzPy+I^!C+97f)xVoJ>ERc;!Ug#rW8BQBkJ@!j5?d z#(H{(c{=<1*ttgSJaEQz-%Ue@r~3AJ+IEE;ZXwGmM|tNPg>A1CES_#LyCZL$w&nj( z_nyH~UR$E}xj(*|neRA&NfOFZ=bUrDopV&TTIz1)oU;UoAPJNuBq5P=&N&&IWWZo@ zGC5~V#$<#9eb=k@VVF7R%$+m0Zq5YHhVws4~-@|}}-&Mtuim?T2!5Jv;8qUdHw-tcVG zgt0TF-np{WX^PY-vgA49#I?MHUxX=_WH~pK*_WkhCuAub9pgZ%S*LozXBWy?##mg#Ym#zU_Mlyy<(_KkfI^d*3JjWYHHe%MhCA zA(`?X_HiE`eCUNIsCeVSo6jEJf7T12`aOLQHUj=&c>lqxd%wNBd;bM+r(eIj*Ph(D z`WS#0zg>I!;QF)sSD!q-{tWPY`0&DmCzl>Qz5Eyqd~*Hw`xhVGI&<&Nx!)dLefH@3 z@Aob}1_|$8eB}4=)`bT*&;NDBM#5;&HTn$(jczlXp4aOCH$2X}7R_v6~1wyoX0 zWz~)i%eJjuyk+sMb@QjKn%=dfd*XcXaQyf#kg#M#T|rS*L1tNzH+!rtrCp!6P?fM& z?%gi&>=AhP^4vdhT;L&G|FDhaSi`i;V;JG2TQl1*hNFS`Zdq(a3QHExkOEMVhmv3e z+|Er?wb4`%A^jct{z)0oo?nL(Lyi=NVpI{t(1qlmrT^K(bOIkd1pbd67U2c|84p21 zzlZf?*c@v90}neT4xml!02Sewo8QAZND4?e8AKp;&AfVBPrv+!#(NMUwSwvvk_FBoALjCUHX5HfdBRrU(VA0^0mJ^>93z}(F;2J z{CDNP?CS%b_VmKgiWhypC+~WHd-49>^SAe3^!)bn!-JQ74_|$J^wRgNzhC~z^N%p4 z0xiM+_Uhif7f+wOefIR-%V#~Wo_~1rd(W$9?_NEA^YYQ_XHVZgdHnj}gBSPjJ-dDP z$<5o3uHSli?dF3Uw;tZQ^Z4G~r+02YzJ24tjjQ*7J6G=AhyC99`!~KRM+mSQ@ zTQ|+yxMlj9^^=yaX`Z)y!nAo+?VY9djRn;sGe?vrm*luIGOdXPdQZ7Bc9bk;g2dS> zbU+sZ6!D=mXf4mVnH9Z}ZdpqgO*Z5!R>)SWY~K z?Z%>fj)#5^VNDD15Rx>19S>npB1|i7juHU%SYZQ60Ub{*T&w^5TDu^oi;vPRaCL~B zo#L1di4&M8ae|5v9=pYH-BM2%lGH9snusJ$5hpC<$8Q!U9!4@w$DPIuRrwl z{Y@YX`g`yDXFczJ@9lXFH3_&T32p`Kg+Wig-+O&eAq5I;yC1+w-{UvFCvSbv-uhm? z@x6MB^2W~_-y4`K^Tzk?t*;kK{yk{JAxi%&VMzOY=D8N$FJAZk{;Ky4 z^di1Pf8_P6z8BBlJ$>}*$-|c~9=>}2xcAllw-6^m$a|L`frJ1E39DI%qW)M4i`#qG zpF$4i%Go<$AaMKAec;aJ-{1)z-aLQD?;%Kd_2e~>@Y0cs7Y?02fAAbgc;WbEzk%lt zod@8306awb!b87`pFIQ#{T`m$e*D#WG1=G5bVcS46ucH{j z!=((PXC>U8AL%^KVQbfFFk}cDr_BLT?!sn^yhfs_~?J&VN)a@XuydY$;wuip_ONY zGCip1_YfomK*G-+wo7AxZb{5!iMvbU?vy07Nl_+?;=#jBf`kL26p#=&C`sHciC?YF z+G;P^?H#ozVf4=Av7bHsA*~fWoRy6-C#Uhh-MaKk_r84nHzkBOp$-A~PsaFbgKyyG zqt~CnF__K-Bb(4;HU0Fw@d2n^VA@{;-+Bobn!Wq*@a6k^&)(dA48vq#lFajKcVFCq z<>|w>51ze!^76y)Z$G^5>3#E|_Z|GZKYkuvgL(_$yU&MC`G%FT|KEcCnV&wrgv)#3 zF5i!DAH98Y8&rIF|LOz(^WK%;ARb;ib?yAIOJLWP)7P(`y#+Dw%89GD&)fp;{CX4R z)Q#IGuLHMET)Tes^0gzEt{l2>=`RuQ+ArsTo4=d~Zo%`wIpD_rv$y)WwCC)_pUzy^ z{p*$8XMn3aPF?u^=$TCiPi_3=_`07Dt={v?%H4aG@7TF`+m?A7H_TeQar*Kt-HN42jiX3i*$`(6dz-b}Z2y<&HnA$Nc zeIv)z$~ARz%^hrGH#A|e^wXF+s9VgVY2l0;0L}Z*Hw@R#fP{ZcE?KM?P)J%qXi)EmJ=xVr*8gq`8vjfWAu z7Elo+0G#+R~656E+GeilC zMDgoHiQ8mJyW}a`k%Vnx&njj5dUL_|u@&EYN3Ks9vo@=CRd)T7^t#2FEpxJ3Cg!!Y z=eJJIYxy7V;Tve7_>x}VyI$XW7-P`~_j3Ar-l7tIc;|cau;d4 zZrZnU{`%?dvl_-Uk185HBBvtB9-m}!yLI+xxxpe*8F(^1TdZS=R7`<}Ez$}QqeN+x zYb`2+S!=TB%uZX3JI0fikXn$HKdN*@V@>^(_U?sKXYXA7!~V^CPVGB!?c|la=Wjo` z{-_6zihnVt|6gCf^MRjzuY9i_y?c1$$!%Dgp1%VgLI8wtck}d(8>g<{Jb4WO{XoLI zr*Gc-_12AJSNtAcJaG2X{xh)h1PQMnJbwe+`-_1f;q{---0TM=JiqJoxt*sjY(EKH z`r-K5&4*5{-+yw$0l$X_R_yv|+4dcazTY%w{o3iP)=pl$p=18~mf4%?r*Em5ys4^V zb!iKXtC^Bi+3G2-wr7nrB$ue;3*>PiVTQm~D6)cwFg&V+svHT8`Aj`*3)|VoiA?<@ zhQ6Djor)$%Q4beUQJ_Fq$JABRQ5F3o@k@zPm>(3J1L z@vuu23m#6AxcnYM(E>bdk;k^kJoVDJdWjc2Y?38*Ac-@@iQwTHLHzef;%-Ii4p}0a zMn;lX>vJ|aO18Kw*Cmhs?BT-nrrDXz;33eR+x*|oL;u{gzkZ@~(*73j`aZ((?p_$< z)CX(JPp@9~!a@=HDNYT;0Pq8c;=UOSkOmB;4hm!h6DR=~QXqyEK|!bjyUdvD$*3->n%3C0sC(|_ zr5ldyJb2^u)fac3eT3yQ{F;Ck4~U--pW*fM-q-hE{(j@h)2k03oWFDL%*{I|uUU|eh?m53~_t_;oPcPnneE#?QXRQBe@~S;u z3-?T%yQ695_Y_3&qFw03U&Pd zjE9Y39PkkGv~5&v8y8N@xH^O`Sd?}MVmpO#AR+3Z#07L9E-u_Crc;ejDq zV-RnRETLJR)Fw-Ugw0fG{A`hTnLJ^$CT*)CX{|7JsU&f^HfycDaHYF^QA*WY;Yunbpvo-BOd+TASb2lK(%)!@oAu|IY7k-adNv>dN&ydwxE&aKXyPhK>=H)s;nK zVk};R)TZF-R6MhqW0F$Ua;jF(wMNVAHmTJjG8p+a(VwuQ`!A+lT~b_|(qBe6_Gh6YEKV@RS%f{aL0kQqt}6P^f;BEgUl3`vG1 zvqDMKKrDDj4<*t<2)H5P;RAvq1_lTI%ixf&1297)7?D&38;LW-6s6>kD;~XY`r;iM zcilL1&)$A?<`(eR9^U!o9C&zr|E~Z@ zc(vcaOZ!gwfna!M`-#)vANh6jq4S##!3@*$Ykr3AigU|%pIx>KB=mcD0>(wn+PHV> znthWO@9UVqvw0SHxM6I^nu?|+`L&BOM$b;HoaQcRx98QHGODzxWvav+xd&7P4>JX( zRIWCitpTzD7^z5Cz;NM87^cWjHq%vIP&TBfmy^`s;e3h?JcOoU*bu@@4cH}q>0t&* zl1r8rk`Wk{@83X&4M^i1SMiYvqY8isXs%EUugBL5XRYC<;A8!K>P6rAw@h*~IC^8^Yu zSIy*TnH&RyW2CbI9gPKO7;Ghzqu}tAT)v*lH&gfq3fD~H7zr#RmadB=X(Nd6)JKsu zSQ4PblT`$Yq8|%}3>YyaK!+iyu>?7mAj9BAk&(iP2wrF?Cm?_^Z~)`0uh@V7iu?69 zl8|tD7*2&Ddqj%ri5oCbo0l(zMGGHzrjdw_9`17wf_nv|=rv4QvEKPxHKOVWUV}1`_ZM_jx5@8Z2qRBb2l8Fv1b3|<@-Aq@1MBv=jOS)Yp3lT)AeKJ z#BIfm8**yaWQ3&e&zp)QB7$>ORq*ori! zEQ=}2VJq@kiXupm(q)x&Ipj+rRRe{A`E;~V7=Se@v?Ice>V?)` zIGgIf&Iz9I8l3cBz70(n@Fmm|(L>~s0vLeO7u}NTQ726>r+9h>$i(S*iF1XMF zm?DY;AVJzGj%yIaG>GGBrS5Tvd$iO8R3q`A;sj+%gCeCtp4u)?n}(zjy9V36uVJ zKKWCV(6WoR5cYzB;33$E>emnIUXSnXYu~fyJr5tgyKwRTjvdD*OliFiY#_5$#v(l-TnN5hLUr-D7*@TN1|{5KP(J91RIgaNO?rKHZszJ#n}l&_yBmw z9vs9N7{D14%=s=*FfdRPiYqWUOJkGASB_aUd%>Qa`!1ck()ScvCgF4}1k66)^Y^{? zpFcT!6TRVS|LI4EFFZSb^})gOcMqKX?a+n$hcAJO=e8gDb=$!!+YSL2zdv}cU&5oS zcOF}{1C{VE9v+>y@yML@N2ag-xqI2q9gBW$Td=Qb&aRrNJ4R3Xp`z{kq6Y8~S_Bp+ zR?Kr3Pmj*|(!(a6EnlPu33CNnzlWI|Wjafq-A^7#LIDF7sQ!cv zJfSmqCRqg@Hk0Mh+*D4H=2Ilu6mbSw1Rg?a6!`365nWc)uVOAi05`%{+69$maJDj&c7z51T}>;Nf`0Q!PU! ztdh9LNztY0ctvu(Jh@($GEtT~Rhqg`lD1ihvQ!j5Lz&WLDQIzznwT`9KCNj?dRs+i zTS!D#Ao%tA?OXU81v|Rey`Nrv z_y}EpuljtiU{UtT_YykaU-bvQd+&~(ytR7uuG-q}%+!kP^bsCcj!_+_l-Sfrv`OQ( z8xvi|B#Yb%n3Xn*%5GHI^$M#JG04PPM5K`l)re3j=PP7T)yAQWSyaWYiKw%n3+6DMEXvH$MDQ@vO2 z_m2ta@!fj*@$8+RQ#W28zW8+C>4!g^dVb*i?}slvIdJaIu9G*nAG@>d(5p{>Si7r zJNa;B`_Yn?19^2nWsKXAQnfL@d`)c8Vq5lHL+UJb!c45d6ubBRPK|7rtc5;a-|*y0V$7gbMy-^oXf?HdzI&`p~dHjii8K`%p}W z$%Un4Ne)SrOcEp!`I!s^einR&+9TW~RRK4;!R3k+DH<5@f7B8ogPPQzzky-~ybmYf zASA-(5Hh8ofuU>=3_(Ijz*gZ!W3g~CFx)nS-iQeIOrg`Rps`Slmg%8L*d=!UJr7$& zam`ZC1eq5+94YmTkhtMF3h`Dcl2GKy0NB_mO_?W71*S>7QcQ*Z(hH6{r<)KUR1?CwEOna zo1XhG-t0egdG-3etsM(WE1S}?MtQvjW^hb_TsivWNX0CPh$WOV1QG^n9ppcO&k}z2P($UaDI5if1uBAv zJQ4#u1b8F@pG@?_Arrtu4iO6~!V~2$5^^x1AR)kv!lPhtj3_KE3QLW|kfTt*LjWHc zfr|*ohlSxnLkXdw#IP_Pfg&W+xeOMc#gQ?&u;J8UDOwC!8AXzYVmZUZ=|h5uUk@Vu z(>L_52ScJrg`>O0>hY-sn>uEl-LUh?{!<@L-}GI1)N|t6`{P$%9K85w&*}R=oqV|O z*9ZH~-rw`(8 zLuXJER}X-PHEa!dSiwMx^`H$%_@#$_A>n=KtZyXCVfH>8qk(b5eh)!Ka1zova0V4l zqLx#UT(UTYECdhJsNyWDB%dlRrXk>=AGlHquKtG4K-h#utlvXW5l+29w1g9Ia2^$k z7ErOJb)>VrPg^ri$GF6bvUx z+-+ia3*xPl$AgC;VWl|Eui{8q!YFy-C|MFvha`7MlIMz2fGHw(w>+`YoI5VAvN~zp z=+wI6jE4O5X7Dg8qd6n1IWxC0FQ?%jUzhqdM0bRr`2@SeKbip1%q48-U_}YV0+jck zdi>`<-}d!Bee?RstG96E1rmfXcmm3GFoXi8zd#fEs%;0xwa-c^8RyBaGJ6YTmSm|Z zQDsjtI?^@fc%>#rZ*&=SPMylClNr?#tyZkjh|~t5I$EhUN#q)yNXh1-;f^OY@DV`6 z5*wH(CWgpJ6I&=E6Gdz#iQ-5iH(BhWh@+`uYd`QUJ4NKAh#h2+l_anb`8py`MdZoI z{C-F>G6|uOMN~2bMi!YsC*x=&ER_`Lhe3#-6T(>dFeWY(pknX<9fPMu;TVxPdIT0= zMPM1h5dbqJk`)@o42NtgmeCIqMUi2s91?>|W=hE{Etz8{v#ms?I1DR`A}VksX(Ub+ zh6T96;j|%vvf&unkZ|F^VBt4`vcX|VG*Np(-q!l=3rjZrwq@V*9mgJQIdEswzK1^? zdb;EI!)=G}Z`yxn{oX69cLA5ypqyK|{nusNPA%T@>w-7c8csPdZrOV=u>(lRHNH!D6Vn{Rl$)JgIX_7()GKwy% zrJ)x>b(7`L{REv*09=LvXTDp>G8n2qiU7U8f@~5>4q2E>5#>?EMN~;KO-Tv3F|KHLF39wQtZDXfQ+G;9+b zk?EAi03A@J5IX%HP8YiYzlU97Plv?QB5^k(-U*8Mu`*AY)LklxD}g8CDN-clDH3uO ziFwMTVnxyzd2*8!rB3XDZ0ZP0PN}=1Jb7$!+Jy9sMj#`z2}sLsOwVb`%Kd-uAqWX7 z!r@QY2>NU8P~3*AksiM3IeGc^(oNf|Tc;)ER~h3nC1wv#>ommWDr~7Dy;rF7Af|Yg zDM7A_MHF_G#;#VPYfhC|s}QQx{eXuC5uz7Lbpi>X7svpRP{)<%xrmvAVr5IMELk)I zu`y&$y39+J#?uft9dR+yHvv0c>YzznG-(V~0&;?rMv72J6)9;V6N_Z3Z6m50(1(7O~$aukz5iAhZsS}5ouTgqaS~41RL3rI55x;cnA{0JM?f2 zH8heRj226XVOT;ah87$pi6EJ9G}w7M`O-MCBAO@CkZ5KC%|YX6sZ2=}ULJ(i2IKYN zWOD>X8-!DS7pnR$+!%^;tSNGY&&5nY#=BzJ0Tq2BF#5IA6 zbJ$R?*LE`0Ep+90x?&t%J_00R%1c=CLY6$2Eze;=@&*AF)2X5ystT(lviGxoKtD{ zWa;dQT3e#QfrdUnYl$_OTsngj&>EsuTB}T{lOt-mOr?>jb#j$ip|;4CW-+4U3sh{5 zQ6Mvm6wy*;j6~^_$YX@k7@jzeD~=b+lLhirzA}ZUNZ~5`QKxg%xlAOFCCg^XGC1;N zjx33dBrqlM3~@YFm`oKWQ3OB&MUY4pdg&r~KZPa$;%R&@l@~|hMx)gWx{gTGQyD5M zT|uGA$y70gBqR}dL_EMC5CIy2NW~KXCJuFy4V%CyJTDx}35^2Sp*UtRh8P%*9TF@W z5+)cFLKq&73kZd3BrHS~;doJCc;vvrw2*Kio**YtOf;sGCsd0>GA`H5Xv`5f4omjbl2a=&@KfY^cWSTywH3_qNWyv}p7B1sg9e+I(fn)|*Sdzqw%Z z&Dra3&RBDO+NxVK*TVDClob~zFF!MR*{Mm354X=h&@%g{=9xR{r|uZnxqVdI_VT75 zi|T&Jt=^U~dP8FQ`naOi_UyI#)OD)F4N~_8zH=?dzKms9%G57r>gO?abD6psOzmWr zwgV1K)0OoM!S_z^%h*ry@~Qi5Jvhgn+-V z0ycrbXg>roYzu+U9T;#OH!uM&Z=z_xLl_JNkr04V;UsCS-@VTUf`naCZ@bhxK^$8n zi5o5VjFfwdWu79$4W-mlWkS9(F-Mh{rb?9KaYf7mmjeQI)Uxg{<&+M8{2 zXIf&@t#KJPcb3taD%X4XGP_&{q0gpJSrEBVjA(@twHQ%>hZ?nBE7zzbGOZXfND!-3 zZj+%v=ralBc8LO#qTpeiM4o`C(iOU7sT%%{W{5N>LTx|#Yyk{zP!w{Nd0b^SUzG-y za^-#%z5NCzlKFt&Ly!;@O=pUMB&H~lA@tDrP723DX6i|F3yZ5~L9UghqA?^?vWQFs z3AqFui$n(KL=pftvhV zCX-~~Aq>ud3u+)dLXd>(gh#;=7b+Gc!IvHu;&@d=5lGm`P&P1C6KHan@-%{gO87TD zMD@dqMnew=0cQ1!K~&frjtS@15fsh+6@2ipUF1X;rPA0gB<}BdSSySH536ME5i&P; z2$U$|p_=OV5F`Zh)G2-sCn!?ELnvwdwTB>KZVoEpA0GbOZij#U>T}=U=ePct%nLOJ z=y~sZ`~Jgg*yw$N?msB=LFu7CIzkHccXaF$Iu7)O&v)zD+sk*~Y}kHuY~yrqMx`Y- z!|F_Pda{y|3!SbMmowQO9d9?sSqw2&ZM0EiHLEOEg~6^eS>$@1NU0Plw1@^!iIrNJ z+8|Y#q$;Zf#UWP3NYsE$sEHQC%2gYW=#mgss#KMZ$aCb%41o|x=L^y}qExOpjf2~WzUv5J`7LNX&4M=r)wD+%-wL`E({kU?gr z5*Qf-MlP9|Lt><1iHYHuWE{~Qg|kOSn4=;LxF{U~t0ZC-1dOI1Ba>?2GNd%Jgi4ao zsRA-lN@obk6gD2u!r`a{B85UB(rEx8Bn-e{FcA?EAw!1ZhX=DFFqEKBTxb|3ID{A! zOb-m=4h;lofkC9_@8`*lSY4+KcdFL8uUv8dvvt!A<$t!{Dol7pY&Og^Y_k7E|T{T@G z;m)z0yQ|uFjA-3n*0{B3!q&W+l}Y8R-9@YH*{cny>y-%`C2?E1j*U#~GPVv_%F-@o zsOQmDb7@Mr?GU~2kfEBwP~zyNivHpgIl5&(v&d4t%WFpOE1O|_#+9tVj?e}$OVdMqC%>$geEGd ziYn=nF$`o3TVBgnOvH%WqC`zm=!M&L7-2nD1PzT11gZa?(^^=FVua9+2IlkKx&hq~$~}{0?sho8CW)IQ^Fm4nfIZ1ZBp0cY^3_Q>niL=(;-NgLMv_o1j<1y^*D2EqEO{BOlI(;LnW@!j857bo z>k6|QfdY8uG!^AE{pqu2|L(=#^YGQX7d;=LhUHIz_Vo6=2R?$AZ{7jmA#4Jn4srY0 z%RMK5ow0OnUPVKE<_N1h7jVSqI^EeeS6Z|q#cGeYTfJrrDxpc|uxRWCwZ)_~J2V!j z)(R>br5cS?ZB!b}Y7;!|25Yp&WLN4Pa-B1ZT1gDfE807&pasANWA0Pv7cCbMaD_y4#e9?5m%)eRTWw%9bA?9+ow3DIC8!XWW|95o^6AD{WaTv`K4Zp7k(To)i70hfA26 z`TZ)+rYixzhuw4q&`y^F;344mu$(Cc4`G#&K>uUSpF!alli=DjK@(8~gT3MMnK?u$ zOx>SMl1`*ZTgZ~}6!92}sEi^kB=dp%e&9t3i4Sj%q=-h+CF2;#B!a9Hk3dUt3swvg zf{Kug0sL|DbF_pC{Q9x%^WLLV{vk2 zt;&;OkIS<;vn(;0uDIM-Pma@(W;DhcG|?8L)2?@bT~3|Fp)*En4GxViTCLS6OF4P*~e2j2|$hE#bJ`k;G#Z))ltsHb-)cExyBrr|3FIbWI?= zDO223Yi??Fmvp+_Vq_JYvxLr=Nu{(zVQQlyYojnDLPJY~f=YtJ3nHSj@swmL-9@LX zC?pvHCnFJ*RI(P2Q$|JV2}A>tB#y$eLc;jqC!R)QBz9xPJ;#w_?UdOhqVVYKPbSv3fUOmV<>^yOyw+wVme(ujRqHVBi$5fGgVSc6OW>aim8HZ8Xw4I2!R5+5Z)=H3Pw;+ z#*qbWG%5VZOsWi+K|!XGB+X>e7_uOj#7QEvV<{-{6ix<}mrLbWPy}rh1po&F8i@!* zLde8Sh!Q~GJ+vC4L<%5Of}ao`{a1fC(Dcw_F-76+RwuNp65ABGxCBz7uN z064P-InR0|p+@Q*iNux5;tCaR=r}1=@rlmf_?suHu+$q)}q)Ttx-_lHoxXq0EP zsIp6Kg}LtX+{CKPw6WGAH(Aq2- zn@w-|(nC;DB{zVFYL!_o(}Rs*pwZwk=%c|yjYMk{X)Lf16>97pg@GbAV!3eg(?g`k z6X@AAW;vHzD;6|Kh3z82R75mKAzi3eEY@fjs&sP^%~XM`iz9Ag(112Nt%FAEq*6O5 zl!+8d3l)_U6s^Hx#svj62ZhWfkhk$AzaZ*Oc=FZ=Jb1VdM?J$9-j%4HAlk=L&F@OX zGr8`OT>G0+_nTIK&tSZ*H(b{1&ql}W*6Ft?RjXyl93FoPpV!UhHPUGHG+H%@R!$&+ zhlylr42`B^(6n@_fy1&0ct$9VgoUc2Fd8gQg271%BsLZ=BvXY1vJitNcvu0UAR+7? zNg+Yx&|pef2sIpymauSz@JJjMKpHlj9uN$*4Os+EkEcQL!%pMIP`T*>O_9nz&XL@b zl;4(8*yPC?Z%r7db&Zmm>*djt4e_ho`Ma`4pDby(P~HL@Eo(ed+Hj<}{%A?VvC>9( z?k^m_H?JBz+>!|U!|XNsq}2-d8j%A$T+J|k>7idmun_3&srHlLq<}pQp-@{T0zkLQz%^@6fYf@ykX>!Y>i}Ssec}b(Q(#NHx*8qMG!N9V-7T_QD5az%@A>wTh z+#Kk8{mJ*N&v*IJ?}x75>Rz#~sJ_*aU2I9pHh3~^@!9sIJV$&^tRo3<+Ptv-gdLz> zW!9^W0JIKS^%lFq3^8m8XZA#%@o%n=FaoM508)tstwf*L?-i@_gx0z3C zwEKk8Z8Y9mB4aup4=ltHmSga%B5}*ZqUMH%PYDT~gu`}XF)d-C4a0`b7&d%s6yY3= zf0c{u4vPQ|U~uOs^t%GlD@6HTrs|a{eKO@Isk~1j{U}9x5gG7CDt#pu`&1gASn89= zJ|c?uBH3H1;vJ%V!b9$|gy+eey-}nUVNqS75!Dgl1(7I|Wr|g5!zM1WAd1o*MyL(J z=Y`|43CvU+%@P=e3<}mnQ1v7(KM*4u5bnfq6d@s!kYHiZaDHF_DF*o&hR#w6x6XO&J!$fp9!nW{AhBYPyZ8rZ?nZOkT1~<# z#I=}jUC1;n;b@n$wafbBA$YiksaefXqtKLV=qh*t@A%{7BAQ|$RX&$017=Z>=~QG2 zMLLlxX`qV1t4gY{h%U^d39{&dbQ&K>qw;`40(%URS4R=G)1=@q&_zSwbqz@{5?!G3 zGAZ2De&ECKQ&7h*CW>GJKUDnTFdfX~Z=@>P$%=NYqzfyVgb{c4?;asY!WI!u+cYvQ zun?W9O`W7oX;UXn)Fij5lbaP_V@iiQtwWp9smpBDW;STjYn3Tu6iFkL-f~rZu_mDe znlQD=g_O_83~nZyTg(xR<%^m`NUKya15vNhD0f(NKf7$l z-L}(lri(7qop{@`)Y!*~4)E|swDFu)^@~XSBZIR6PhWu{&mxh4#RSr70(k?0vJOXD zjKR%}jA{%H0tuT#Lz)5uX9fgq2#xwBjBqfV2onB`!JVMeuX6V>*Mw zMh*{589F%Oy8#VM_9BU5yHvZ8Bb`U)G-K(-SaKGgkr+wJ;ULiJ!TTF#OM7;|30*3>yxR1`Pvf!-Dw1;nF}Xm~5r+ zqv;|GUF77-QpVv5rqMA-tP9@4G;e+VlcNQno%VSL037d(zCVWR1~j);r^(6B3=t z4ud(?VvjLdts1>at&28VVrEhi299M%7CT@*!H~bL)H_gU_q+xm7-o z(ig9O;Xv-1#iy0*Jp#%)CUG&9Fqcf8NhWubiJb)8tSHRFNX+s`?6L^V%!tVLi15nL z;iDo#DkFl+LIYcZg64-uZVbch4vIP(MY&1lJmMm+MC#WP^*fR3gIMj8Xni83PoVG# zl|G5aC)c4M8lOb6N9s1afYZUSy;FzG?X?p01~RypkP>|MhzGg`R#XvApx|YQ0mtK zoWWt@5CRfTmPJt1IHr{$juWb5c#2e+vB(%Z#+h8}N~?)Z8g2HB*11}g&gsh7`TB%) zwv1h_f`f6z2VI2+ocX)0SvySWoAk-+As8w>OQkXMgtl2+(+rksPCxURswMp^QV?$) zUA=*>-b__(q9}olWCgIEqS!!H`aN7gl>`3R2qCVWA%l=Ok}fW0hzb~@YzAthf8Urv z=0L=Q*Wep`7u;*4NkGWiWa%stT!|rSBM3&5`1ur`o6hqv_;C~=;Gv4rX%aYC2Pfca z>F9CRxoqQnrUAM=paW|%S=mmM)e)pM1W6m;IZc-~*PcJ!n$vB`neHf@>L~0qXHT}| zPq7wEwiix`F6wrabUI5rVoFtz`&>RgD2usO`htjWqApPn;5ExWcbYkWy=eMvz}Sy5Y2(Zqk) z!^iJ^aEU_G%q5BC)#mI{Lq?G*C0FWAmw8eUXS~{#1Rfe~XaJ10$4Bd&9=kK%;d0v? zcAe3xGrFwNagLbSXy<1S%_fUMZ&a%^Qkh&NktPYn>0&8(n8xE5h(y&IRlCJ7%c@@< zZQA9wpG=Iqp5VF@Yq@XH{$^A>Hz;3OWj%J~N0-{?HTsf`z7&%$QTxfO0uOH+g~z0{ zADP(Yq{w-Ms96L8csQLw0~H|v!g6#`2+Fk3u-4F!F_>@wJS+(w1|BYo!v2V-9LCYE zQMjmth^|L&e2Zw`i`Bg#p3LBr>wO5g2L>8^DkBQ0D22c%0||W^xle`k2)MmmzE2?X zafF|^!q-&pB`gU%oHabCHgIT0;K0zF?sxvz2Fsd~aMN)*c#e7#^$%3RZ`PDkGzmI2Q0LnNp<(k~ARUVzC1}oXs;& zXQF8s06c^ZA%wnFbk&z0ZXn71_&uCYR{(ww{Z3A$%R89z@l2>^NK09gLZyrP#xFgrf?`I$hoB;ig!9rRUYZyVrb6omM8$Cwbg#IOZ(Yo_EM}V^ zhEJz!;Vdg0H;2h_9imtWhKpP!bDV`B;aqq5Yi;KY7OVY-4(wITP@ESg1j>HFZe3-$U3OLNLtEnUIl- z^4Y`k;)%t@?SFzoU;i~@A7HvfZ+{UGy59TVK`-hj-}~Nouin3Ui{6L?*TkQB_~wUW z*QU?iFm}S!q?{^8YN;cm*p^yg@TQw%6D>}+D<;b|NVZRHIBm9GvDt6i zEDvqQ7k2#{yY8LC@IFTW)}eiFQ$4aO9@>f-UQ{RL|t#9_FbIjL5%8( zLwV3B-Xv$wWnrcgLuU~pmJspl$b@x7@yb*{iv@jR!AFVEClY)V@OpWiPke44oA;E?IEBTp2pQfyYBqEp`7BnbuaBxI85rc~uG>kBOFmdQW zYH%QF$RO&FA-v(k8H3@xc&KnlkRlkT$I{INo|P<&<0!L~j&fUaqbIj1Hmk;(G(sK? zBM(P0mF;}PLd3D(nSH{Zb;_7>P!YFFVBW^kZepo6ay1Ku#svbyVy+G(TtZWSQGl?*lD&)N82``8Z=}kbX$oLGMGjpWBMD;I8A2PBm&kWhgrFh_30fx6 zWw}%t4EcxVrZ$FQ2Gcy3Wtq<~FQA#{QH*mn35#QLS0z`jOc}j6b@bx&+Jzal^O9?( zyGPCNRLw{jJtJit+ygTudwf?xZAa1gx}34qsiQ~5SCq#Vm&6to#S|1o=jU2;fIL%H zt}(mFm{V%XEjQ#8YqN@#>Em>H)%yHmdvSqhbbk7TlC0K|S#6aWEu-@$)|PY^OZInzU%wYgXTUV9oh$FiBIo7eC+x30lkyVckJqejwKrsO2(&V zkB&_!Ho3BNu~}Mox-uqNX7}i#-3D8XBiacPdSYCjSO<7$u^9{|4R{!5@w)Bt?r3*h ztT)EvHao3KgPJ8|iKTp_Lh9A1@-(`U8bg)F+@>`DptT${SdZIc&PO}1+M{n;O!v*Y zCnnVgm$@g#1QNcosh(OCkNYKj>eT-3LEd=f;9+09=AB3R(jmWXm7X<;e^Rp7h^VvZ z5uZI=OTw=ukmg1*W{1;2!a2bN@Nh;D7CfvA4yy_d1ZqPAy2FCkM@1ebQ64b4?>Qng z>4N56kWYxL50QP4%ik$cz(e4#J^Y|j^vaMAQqiY=d=e3;*vIGk1U&HY8H4#Np13M3 zxE0o=!@f=&^tI>DUu6s&^y4?d=Z4@OhBBW;@eYO2Hx9xq`KRE?|0{4E)AVTUjGmQy zKCM0UeCnoaW!+~LiQi)+^8=|k?~QXj?e)9@FAp7I3pJk8WkB4 z97-4-DyHH|!@i>g!K!r_VZZ?Dz=4zj0~p^7<_;Vt92_bMjFJT4B!PHED8)<=xR{De zfxcYn01w+-S?!M0HnppjqlN2VCWWy#b4_O~>6c^jj_VV4@=Y5UinUC|Jf3b2M+3nS z5~Tk9A;iNKRE6I?|ITnZO$o~Vv32av-@s?kkM(;vpMs`sz{763tc@XSq{EC;w4?#c z)Jmo#mm>ugGnm3u8V~X@uttT-A$SOf+UiKs1~LNF_IFD`+kP2E3N0G(BmsB`OH-I! z3?$N!912oIl#V6ITj26=rghozmF9vaJ;Fg%vn|xKeiyFt~9$1JRFhPIx45Nrnsv(zqzWi zyJ76KKYfB0T$l>lKWz-MFVKYqhp<7;-`@1XftY8Xd?#<*pSNM#i000evN7(wa%)Pi zDKX2EkQtkh?e=DPW0Jkm@$rs?IJ?VbbvkU(ju=;TT&yWJ1{&h!7L(Z<3&h0Q6RoBk zi(!OWH&%m85OUkaym>OoMvZ!p-f&1~KBF;TP+4xMtj}DrFXLif$HlyH+1^DP-`Ujf zEQ($$;)~b%;*{?l;#bkamk!a3Sm_Io{8hZtm#Fh4XnVct*RkqHPT5tH_?VWnN5NVv zATDR(<`Ki^;3Agdqt@VwTL{F>SkjzO(zIawl;PN}Al#%-?8Hz^LvYxHz~FI%zH1&j zbVf+f`Y6mnGUYmx`$8c3C|3BSG8D+i$Q3@N;-gC0t5&|(sCo>4(61uILpkt4C;y~T zd{Q8NGKmin`($DtBJxQDeL^l86}kN9Ox6Vgc}qmtl)zyXLkDCI`o{g|e@-0mb?3K( zw+;@y7E1k%z`ucEp9m&y9vCv^Pv0&bM80G%{#3WrH*4RAnFoGr-1OX5b%7eae;9v% z0O!X*^2%XR^M;4d3X7T^8rd0wnGk_(VGEnI`aBBD^z9Jicf(vXig4&4WkjffLJ)=o zGXjQF0)}C}{SN=#5W>Jf;=n-4w*jzl2bP=0)s$&m)sEyEXUb@^ zdyK}BPUPfam?LrAF1C7|Hg2ya0v&$OALSxQ3Y6D4zKa;Q?wXKUtymMrxW zh6)T^MO6ThJ_YeW#m`?tV1(caKuBClkwYpK)~mDWXl-K>RSFr=NlbYsM>U2m8^Mx7 zJ|>sKgS{e z+k%pb^D8>%kLsE?cFLTZDYM2;omMk-QdMVTNpo%9gfZFGRheT)rH>t%Hl{pjWJP>s zxp%}!&xldpkz+g~N5xiFIm()>70tHFDpyryVohm!LuGc$=*%{h+_t*1DI-cd>Z)f? zYMB2g|9Ld<5PW?1;nUlXzBh0uF2q2e@5;mHt9R@h)7I_DFEb})nv=5akPA&OFeYT` zVv{Y-Bu7k=$C(5kx^14s*!Wmm4D9;s4kvhMamN~BV{|bNL!8s-jD*G0RD!D2t-BUM-i`A!0~(dJBxjpO#1;F1;URA z_%3_MfcS6zobc^eE&uY(y03>_2*BUNac|>!XCvv`hD1#N(|6PVzmOm3)*Bg(zV@xX zvwnHrvE7$7>Aoc8K!9M!x8w~2A{TxeGeeq ziwqmW9`Lnz_%L}?m>@Wa1?T2MLzux~q#*&s?}mei)B%C8hlH#wcqku+(*zJyLviY1 zcvC11mUcx-TYYTWw3Nb5S4y=&lN*398W7PM$zCHc?N!J9qV*h5#_bl{p*XRCB%J~0 z(I^PG1RjD^kR1gN!9YI{BmuvNelz_Z!e;>Z@B)Sseh|w2eh<4?iY}gJ99J=tji6=5 zzj&BU=0QjV4@(Jx5jg%xyZ{<0K*doM1U#%DNlHj!xHj1DA>?eJqYZ!#8}KldD9I&A zD=2UP-2fhTNn@v4(r0)Imt>DwS=_X`a^jk*DeJ0dY^<5PymIpYChe_*+RWd-Un)pK z1os4pdxBet3mPCug1Z#zZWQY7TX&(V*E2 z$M;25TQzn}d0lN;{kXERW}R<2)t9)b(iAn&vux`{$fGiS&+vq$mTP*#;@F(HDDC9;}i4C(u=B6 zv-8zDeL{AgHY+MM&6J^V_((UoG%lf33c^SX*jcqv@W`n*{uWL(;`xU3|Owb~!$w;OiF=ioI8AwJN zk^w&^BF01{HvuV#GpEOx^wAyZkrsp4k}pS!R3LMK0x3wg7!p3DNFQn<&&z`jM)S9X z(i?b`^;}9Lo4%RN*vaPZ=JNNkgnJm=T@>y@KgJ9{+B9EiR8S|70>=50CwO{Kb9P_u z>AjOoxxnE)4Gw=F83X->b`(D)B9Va1GO0x_vnZvVDp{LG4(doyg4*L1ppFDtd%V;t z_zohAMe!3ycE(0_h$C8~LVtz_wMT}whJ}3z34YEOoMAFIlKp3Sx({_DR609WIAMF^ zvE%TBCU^e_6wy0I$ZM+Tpm$)Sqsyvp&RdC`yOH@w)l&1MBkki3v=7_*JbvT_Pt~!W z+|wB9X&iYE!MoYnZ@-)WHV4lgIN#l_^i8hRO~N2z-LE>JJ`}qjF<*S3`Cn? zk5Eco8H#o_zzlam!G6TYLBOgW$}zbR0isI4`m{ zC#;GaR?ZEt;6+sOqAR#jF#KHu>rTu_IJ^(Hq~O_Lct02f2l?U03T|{^*Jf#wAVwP$ zs}YIS0&%=BHa%Eg5UQ?$hvH&VhH0}W8+tA4SHGclUgLzt8z(H^GhJamNoMl;RxW|2}`Gq`D5~^xsylE1C1LzW9*>m^#f*1 z7%*evz?oA9%$(47+Js)y78FhXqj1v1;)x?mCJZi{G_+z$ZLb;iy=PAzx@g|ShFMcL ztXkTxr;rbxdY=Fa~xBr~6VNXWC+Qf>%>Z0nnf?mmm6{-2<8TrMT z1tqHVtfbrmLqTzFP61?l1sOTThWrv^L3WlAg3?sLFUtrVrpF~DN#z+a(*E%=Q&QDS zb5fd1a;{YuzwJ}`siNRpc1CM3xQD^tNnvg!G5&zUj2~^f9}PH!v~a8sX_B|^Y!9DJG{#|$;8tk(n`p@=G1~M4 z4lU3mltNI7LI`GvsAN_S+qJ+R%AplS;P5w!zd1C;L;!?s(P6(Lf`5dG+9E<)LPLSW z7XsmV4rfasWww_Ga9HJn0~Bj;m@yda7J}DJU-lbX&|7-&VPEPtXD{GznT_{;AL+;B zx}UXskXdJtsYgv^3!VvbFA&1caie;(Bm1(VfJ3-(3Kxg1975R!E@<=;#1;$05SIdn3SOj2 z5FHmJ)rBgu!c_SosuH2HSO9A`@gw4M|ELUoov&z-P*-ozDi#x0#yzj)@D zC3D9tnOC=T!I-6UM=hE=bkX{L3)l3XKdX9HebuyK5R_KWn9zUz)FF#!)vjDNYx~j# zOAqSC5D<>Zi%BNX_k)RoE*huPisa zu+Ug&Ov@_DE+_@`47oaedV*fB)u*Uall4%aNlngAi65GtIzCl5U7?yTkvB-xH;qZ} z@-u!^b4U|;TtEyLhu zVm)_zvR?X!y`_g=CNcNBlU6x6FR^jj?#R3=Fe0V%k!dH88K>Ju?f#TB`U*Mzw6o|K zk+BW$y~WXUx0C;Vr+{Ow^b_vP!_I-tIKM*}k3&6OuDNsH@Dz_YlFO{<kMf6u^TuK=TGK)k!3%-K8K$s>s94iY+gh7){Zh<*T}9Ona45lLE?0F?(t=}k*y zh)QC$!_)IeWffJcQ*wjEItsgx!W+s6fi~cth{RLTsb|8IPXxz9^AIvXD59cuR1sQ| z*(E@=CPWQ6Bn+K`TUz@T@CiXI{Ak4w=v@h42v)%q8*sRQi*^fV@zAlGI)3yp7`x#` z_Tol>83Kn^!7&?9B|8d+X-2WdqdBo~Tm#yMFi!(ls>=A1T%I_E8x_xw)`}$Y!Lo!9 zd2)zc7bH&;%8a4vB60FSefb}QCvTaxZr_sayO(ZnTC#1|@+Q#s6-_%Z zKwBF2gBsU1uU*l!bn(^&^Bd>Q*~U)s&D^qX<)QTr$C~%wJbwJX&4+fh9s|1Z^v#TA>r;#S z#^v`e8ZtpwK3J3ATWu`YWml$Vm+CX}GW5pWjNIa!!jjygd_!KkJ}V_XBP}~S$&djY zX5|~R(sa4W+JPxa<5H66#V0OL(I3w)dS02^Qd82=r_5AQh!kZZ1(`^m9?4GWOjEb% z6hBjBEtwjC5GhGD7wg*d69B^2+^p8TbaQ?t`u)N*Q*KgQwz}P@Fav}|&>>8KgwUL= z>@>(bGgYsW0WiSjpx7RU)zazw2_GzvtkMB6F

    &D=(W|msy$9%q5@7A|FgK>nP_oX?ACK{VMhs&QJYS#ZvZMg{vI1lpn5uS8GcB z$TpT^_Y5A0=PH!3SJ?Zmyf9+c=4-C9yGpUof!r`+*0yRtu-~=4&Q6d!JBL2^LMjs$I%*)K=+Q4&mLGdQX*u_U)=HqYVrZ?{t5YnY{19d(o*T~$ zV$!D-)!;8-)<)R0VF>qkP%_pIv|#mM?i(K?^tQKhAbD$lUZ4G_IrqUoiGS%1{NHFS z@hV`hFkr6G?RApI(mX8lRjLbXf0OIEqlx`))Q#zlXvceQhbGCM2^vfNX3Z3S#(bM% ze-m~ZwP|cQ-RM2y!AekrRF5!kXlKi350*EI-%n`wmD|x!wAM}@s9dm+RWo7JEZD^C zU?`21VwKAS(N(S|xEPMz4XYF>Mit(Y2fEoxI3->M4_+GHLp&zwK|RYOqI#CM47R4# zvm$0WpH_-lQ7y|ci&|EgVwP%I@d?zgxE2&;mfM*~Ju6*jX?LRbE66+LcA!%SmNy~5 zt1D*3sbxjX(tNa-6>mW=K7&0PP3qYBhA<2LrMxg7---5X$R`nY;eX0mNb;$8Fw2+5 zqTVk*SbPXtia8y}4>9CcG#%mH&hJHIsg5Pzf;i>DrO59d`QO8-JVz8$bj#15+RR13 zt-_zm@0IUVnv7c4H!`aab)eqlhdp6*SMpn!l?SuVvYY)3kHHDNX2&`6`Y5&2LwHF) zu2eX?chYs}`Sa!q4meru4O&c}J{_^hMT`m3y9(bM2dKTT4L;o=99lCm!e57mVBy|?~ zVYq2FZ_hyA;9FQvUHwsddh21=8gy0~vmCFKH*)54_$aqx*5eb++krlNa_ZMID?n>` zXf4OB6tk2cM$C$QT25=J)*k7sh*z-6e*`WOs<%5%ts*BRB4#Ns6ti@$PJ;S-oH~}y zW%s9Kat&-{1m|XpB|&fG0=dS8tcJ-mDcI%r8M)x6 zuqw(4#jEq3*ni%qBdR`+pfJR=GVE5AgAaE)9PLdMho&tFL30m(o}f zv!eQY!5sYW_#9M!52xWpOV!^aW_hE@tw-W}kpG?B@N1cc56Cf#*GR;yL|f`Rs=w=O zFKH}1T3!asfmzx~DrQ}1#4NG)(`c_28q4Eswg3-Z*cEPwS?Db7n@ML@RC^b*l>X z$_xFGb=~K!l2E{GHSIxaNDL$&^!m zQ*PLozblPdF>=Fva>H}%evvmz%yM~QlWKO5orWLLoBlslueG0Ff3@wp=0~>d>hC#b zNn=SziCH@;lrCh}ugaHm+VLzV#TjDgwCC%Vu)lSvZ0D)Jr!(su zx#6*{%>H-9OV^vfZ7_Wn&Xqn(j(EHyb3J&m&bH^{eeh!sB!kxQ>#m}rq=eR+KyQrn>4k7UAx-Or=PJ? zUcz~`js;%v%z6MOt(gTE&{~`6>1~-oZEB`@Fe@Quu_rm)$gQ;2YSrZNJP_&33dF3( z*uw|265HVx%nIaze{BxltRgz=7xT^kIUoDk9E-m-%hln7SEk^ZpJc)F6D)zw@}5k3 zOT{dCNnMXnxnabt)w~W@p&wTEr8n3cAO8S)n*+&P(O(KT6V2BsXSx%g(|kPVoU3|^vqEKQ8J zdkuSC>*=^*c84u#Vpr1{JI)^KX^&cF6?=e1>MkGoza%eA?I|c$+ePm zgo-fhAM9rP9dk0TQ_I?cCv+*btmWi}Yv~tmoAG2XU>YHg$@8BcGak*pKVdV6IDW>>RHV z^$#y(x3Ii!_=T9q4Tjtm_h8)s*Sa4(bDEESYRI?*zab5&Y-oIOIlvw|(-%-;%giZCm9gBn>XHw@n) z|Abk=JM$c~5^vA`3bQBO zDmt&wM;`~wg^F3K@4Nl-{BPx9y&SWY69&}V!_*wK+l@6H_9$keB@~WRynbi%wqi~y zW=dp;D#_CC9=(wTKXJ;S2R zdb(UG_GOj+MrJ+0eDoWQE7(6elV3Bd7BR~k%szPfhNpY7-;%k)Z~%T5_Az;V8#`v5 zL3`zP6dn)Ajj3FCM{iO<*TsQ z0cQ1V(Fsp{Gi%?liDOpJtoGKTVIvznbg2F2&wn)W>Ue%`vCN7uML)^+{^)G{<@3q! zW?S&sG;XI-Q|ERII&336S_engs!zx*;XlHB^eSpuo2hpxQaUTxKFNG^mgWt$qcr>} zbu5?_^$o?VNM}iFg>THT5YIz`dX}$x7R>VT!#giL{w(Kx7q8aCfi(jhtHOtRqala~ zdF_+`xrp?J@+7^U@8z{jBxX|wM`OADSQD7j(K&nMD~Vz9H#SIWEcUy*9dNofcjLK^ z#?o%cvu)5=oJnzjJu{!8u~c{0jE>H+ztEnVS5NjC4DUr>5Ir@L`!R;!J&}4htV&Gn zhhKsGbr$a{V3J2&-J3(sIJ+D5YdA+Z9|NCLZ!o<-82Q@^>sHcMMOjr0ufEh*d_6f} zy1w#Zytk5k`QhG$5v)jiEYVwm>RI@*qMXoq9GKm4yB*M3A!qCabCW$oSI?5hn#$`J zofS+(lZ;1?ps~DB+_K9-UQ+GI2)I5Z&xTBDEWdwaa&aDSUKe`IwSPuCW3>0xYfEiP zJ_kh$`f5D>;+1Mzd8%JgbH7NQo|nPiQPthWEi_hP?Y)Qop9DW&=OwC+75TE_H&X+@ zg|8ouHY231(plwlJGkSgBAmsz1 z$ID%5EAW&mbdK~BrP!~)8DQd-&X)e=brqb(dZ&C@+f|OUE2w$RxyoE9H(YUT345#g z4NhmBW2Q;W(vDK?U&`Zb@0B4$ZvMa+tFLvbre%}dKy>T<(~ zS*l_2x>GI_lFKMOJl+Z)zqPy{{ntS?HxVL>t!D`P&YHdS)ZS2t__YQy0_-~!yb3>>Q?U4C>Swz0MAu4 z;1ud@(+9W+X7j!R4JB^L8!B$;Y*dBQR(wvplE#vsK^jY*21T*V5|@kNmGsrOVOBb~ zzKL0$W~3u#X=hf7S>n~VVU{RvvTR*>MVGtv6wHB zE)MafIFCd3#%L^p+)(q-+W8*sBaLREL-xFfxAQ$knB{a5yiz_WZvC^&QXO8N(vUq| zZZ;^zET3HxPWMS?aUUaQ1?VhKykcH52fbO8S;`IngLCKP&DvU)GwmsVfYa7)bk{MIh^-XnKfn0wkW>!Y)wweCxP z2(LP|>SrC8=V?U^zC*JNr?E0ywxYM#))p*WXa|lSxh%5^mQX`~P+DpxI%^)t>*_rlAkCAB#Qjq1!dX^Vw-Eo=41~$$OZfo)V`PqH_v! z@FgB+j!JrJA3J8Gu|6a(`~)A+L2|`&-Pu_)7#&QFJvOFW^8clCC8ofn8E89nReTQK zFvWsYz@ONHo)){KyA^Q16yAL9AB=K4`qEgX9$|t#G749_LSxC(E=uj*~FmGJQ!bXMVB2YQAfXI6ys*oA>F%kfI}tVn0E z|2<68SwTu?1!5NS1+H!=W^tX4_9$yUDqts>`h3o}-hsYg7Wq+{&Pr-5>8zyYlFo90 z=2Gol*Ow%(8oAoL%L&oT@?|OVdr||V&YeGy?}rnrV-@b283RA*@2U2rzMyLD;*{gn zOx`96nKd7MrI?q}S#$V16yKn;REH18@H`Wygdh zil_V{^Q<}O%u`%1b#}#3c4p}ul=o^^vENj=-k!Uzgl%FzTFiQwnZwN`e{4HT(FeSy zg!4GO4Xb_$vwl{#jJJtJ4T;-ME*vBsXl+q`5W2|In72Rx5Ts z+&+Am{o!|f4_fPd$ec9wFztnpp|x~gPwry&QZ1LKVS18T+h#j%h0<6%U>9|Dr=i3q z$1QZ$dUV!0&O=>;-+{iN3w>Ui>v4Y84*2slL4Fv%0+U{w<@P%GKc#;4Rx-pZ)!@UQ z66^z19p23z!Y%EliJ0Z~&!}$*vs?|!X)9{#_=OUSc+Bo%rxfA(gY*dXw!97g{4PA- z_&Rvyc960kE6NMCA4oo(fc~!f?5h9j%!C-c%Iip6S#IB7 zam-R)IE8Dlm_-fVrv@)x`6GFbYaWUmJRHi$R5u*R$GA@GtP1t>T#cN1dDvM!+6Ja` zSBqno-wHnhp*&G%u_~PBo&B&ynU$OoW6K)?V`B!W(e1j9oIcQ#Q@G2ZfE(@<* z9yf*Wp)cs_?bNRV>g$Ss8M8+7_ZPz~<*n(=3OZ4vqhFZAJnIGerefBK#`xh=%zBqI zGJnlZv;3QzTkepSmO~BeEF8`4!T*LcTtf23^Zl5grtX&8lmGe6 zrpc9B`yXL&vSape*V)NTK?b@*&K6%A5D`(+Q^L4K3x@qKrbI~?)oW2Tnz^q*} z&EG~pk6M+t30667!KDr4f^f^DzUBN`a4QhcT>p^T))R1N7a?xF$j{NN^lOCn(csHc zI4`{3PBANdd5Q(hOZ(DVs%xRMw3Eiy&a4!(!WF!3@eXPBP4yL@`ij4h*%(6oLEU-_ zcpp{;bF!%iqFuGmZ&JF(;<=i-zPZ{b*JNGi*P>YBYM5m9@&2t-VSd@!K~^0-WlEbef+QH!ykMJ!J_^a+?@=639KNzC9r}>+=GU4 zK`x6n4B?X^^0mu<<>GE`iKx~dc|;?975Np^6TBoMR;jnDAfHwQtGQo9Vm0@H5U&)M z)CQGvr|MbJ{;W&({gD@j)UrZ!mU@OB^UXYu`-EtJ-x_8#imj~6&p zE<=w?y_E#}37qd7jU``8pnPytV>CBkr(J#WhoZ4u9ZNkzacVYsVHES>*MgMBlFnMd zYjwU@#`i0}NoOfHjC5A2p5^?@(tLUz>bfbuYIe!ZTGljq)AHNU<6&;;Of$Uj%o)m? zwWn@%`y2c9e!))Vr|?#-Lu0MN^ z@n_$TH|tjP!-)3O;dyPy!!w2FHM9QzhaG0W#-|t_{nQEyE^wxOXai^6XXUD8T2{N^ z*1B0MYf`VVHNxxAvUMBFY~I|mm_J;0_gxmda294I&p6aMhw2@M?2SJ+e~=~EogA*2 z@+Gs-SK&?=^W-ef6@)wV1C<{p^FWwHOQo~bG1+Pm{ZIu$gWFWow+J{HHUefeBQj8W7enCKR+iA zIhfhdPIqm^+%rFS7#eFN|CiDHUuN+-*ICVuSN*8{48S)v2z``_`v+3f=41E64kEY@ z%|mFG+0EUgybMMAgN1X1>L*aYigLoJUR9X;Ic>%7csLcS_+5%eqKLR9t%d*MkuSL= zcKvUd6;R76WR`d}nb&YCFZ9R41DNIA&MkGr#Le)8=elY)?#xwQpW;)JI@e?(o)0ZVhi|1;ete zU}Ptr3%n*Kb3KGvANI+x*V$cj>bGy;Q%KluYUq#t^!HZch78N@Jj&X)ZpYbTO&znE zW#HXv)5cmiX<}n<9cFt!{-9W9ot-;?nY>$hj>9IWv*yAYSoI{_dU`fm2mSN-MEqK4 zE9t0I&E4Oq8W-=cSDlNH&Qfe5N8AG6p1}XGjoWAWx#HGK#H-U?&0VvGh0Idl@Rg}f zV~JOhuQZ`OTI?&moX(1N{c7$xir5_H{5VG^#+eialQSK!67WiA*t;F1!_oWXDB6LN zke9F5Ob%RgvZ#qF6%=T$y?+gESUfo=A(yI zJG+bj)7^ahzW%U@k1vBEiU)}0S|c~5YH`zda%XltY{a!<_uNKlFkyd zq_LdNavF=*JIo5{89HXMn>cWJ5WS9}s@o))mE8SKzk}C+&c1Qy-|*N=Cl$0$YOJEn z3fYsXklxa~bU}-x*Hk-9L-d*Ry^~ue=L?%AHI`!*Z!S%cI0-XVNYm=nL(%xig zEW*{X(wQX>1HD4ADhlbW0DYzSpX#j3dP>Pv6j&rrMytSEa@x7JLHFNmMLW$=__iM zdY1Zz)U!0Zvx1!R>AGd?kL}q#aa=6au+;5$udy2W7 zlW;b7AT>>x6(5dA>sIvl2%Zy8{}BH97Z*69&h_9y;Ve_u5pW?kUi!UFr# z;Ztr$P4m_Rty^|?Yl+rsfX=GdsIhftcCk%kZrf+tuYUS^vCKL>yPw7GCjTnJtnjH> zmoUr6e--h{^$8!vM^zlN9!+v9(D_}QFX5Q=+!VAHfz}Gy=iug}H6u;9z9Gy~PAFbQ zGly~Jq!ZiNMN>34BzKASqKI4hv)UC#-pnk^W&SyLavRIV*HFN2EVt7yjaky;zWPYa zOeC0>2)l9p;(@`ifLkJfT?+B5Fx3AOuf(b-#4E*puuDO`T@lr@heD36h;Vg2$e=)NzJG(Oop9asv zg5Ko8JPz`cs{S6Lv&5`??JY!OidiQcagK9}S$}5MP|SLQ`uplDzvncTn6;h0V8pDS zmcOQuS?V2%S&x?b@g>aC+~Gsi!k(>P*8VKtJ@xh&zJ-fJ$OoA{+~2LXea=ptQ*i4d z^+$Obi({5}<=@8jj2uzS${ES|yyNI2(o4*{t)1nJ&bD_NRkT;9@Ekq87oQequU<^p zxCN`NO3ilGw`V`gY?WmVn>MqX>ejQK9XdE>Wz?@@Pd>J(SZ3u-<27*yzRicwLmTH( zZ=Y}ZkIlD>+qm7ikeFxjo%Hy&!y47Lw!$j*8OOKWYO&3*ZvAavjg91so5(k}aJ!Qn zQD;9t!_R+yDzz=Rh2C;|;a`JUukk+2QavktVG?zFz80^8^OUCMq~$5~*7G;3o{Wby zWS6@xpr_XJIIT;?dcIE)@k=$Xs4kBmK3qk=b0yx3htZD@(z{qrE%1Kyw|l|RnMBm9EWOI_`bbKyxs|KLgVC|-e|al#_~oqG`A~5b#L-Qx8JWX zA5-*(U*tjouh9T~6=pTCFcUpSo!!I3pa@&?eQg?9$c$&$l4}fkQVgAy&lxarY9xtH zV5{?Uw;Z3OEZEqVb(0}|7<=s zhZ^)eYFTJ34{fFJ?_idm2#KWLO4YXH(TZY@ct_xs52o?E@zJ{-f#^8x;*zJr$6Mj* zX*?dD^1_tP%A-CJgIRHyl~Db?1NA!2w>j5_*&Y7gV@;}ZmQYpOU!UhDxuNEEUc>9Y zwagD}Gdba-)UY;@6K+*)sseM<*Ojq1m@WKG*=y`KWy&+RQ_)^2SUTNd0 zzmF|pc7Mr#vnR^^(B5qF1N)>qvpcu7wj8{n$GhX7&g9(ac2(_oHamCKbA|cwVa(og zz0aY?nb)5h%Rsc%Aoc*T3n0!e05`wWpV!(Do+r2STpH8M@?m-)?K?>+e~(uQj5=Q(8Su-sBJ^qb+R_hBhDT_*7ofFi0|>t zPb6H=Fl3jOW7YzE=JLa@BPWDe1zQ(b?)C-6GE03yF-zw=i(7@vTF2W8F>C|8ikP*H z{88uBKQ$2^!6oI0s%h;}H+WSrfn9XtIhTEGro~24 zE5D8B-EBPIZbjS6Bcxhze{w^4cHmXKM{UQfv(!b7Fk`z9eI;gn%B}R(7wyo(?C(1> zu)SRz!Q3-_kb+6QIsbO6OI$da!8@ zJesQ%x4sp#)(!Xyv!WTEZ)DbDcy$-gLoq9=!53xLM7U54vw~ZAtiOR-e!IGkS0SFa zh*>^f(aSL_d5%54%g%gXidSKGSf#nE-Y|;)ue&Z$18{qszkylel|sDw|1-1pu}@jK zp_uh*IlNh4!>pfNdyW0JT-i&QwX9T0o6Y$aYgjaf;WAts+ztwI` zc^Tt<=p&J<$Gg-2?plvNVPnptAb;nYwuk+^yE(h%bNW)+w{e_(vFC@NZ#mDa0A9tW z;6Iqzm-;MRx&!S)e=vq;Jbr&SODsjJEbqzv>y5_Z^Qt)!QGYMG^&Un$rA5HkrpF~a z7xZ&h!<$FYNo&xVX%X--pU-(4VJ8u6h=O|A2DH@rRESrKRE`*V9-`SNX)J}eg6G)- zoCmawo-8`cyO+mTIxAup`C)O)l4ePs?Z@Mbj&XX1{+Q0N(OL455AI8y1yg#FAL99z zf3lESZJ7I$rvY9CctxGQY72{aTj6#*ptYp2~GnX?GQEhlS5kAKCT0w zwyb3P+cHbrg*~w7znlT|M|chCwUozoKy!(nc03H_`7oH;abG;}{kWdNtDp~c&cUz@ zFR6#ty1;IS0|Q#w`+b_)OFin@J35#C!XZ2F#q5Jqp^aU%#wyltW!c>aSVl8;0yb}D z-I_MHo*6BzUBgD!BP+{(_4A*>EO;dke8RUl+!C|AS%WP9F3wwha01W&+2nwCT5MM` z3U2`~q*oUh3|9naMqbuUejl9JFr%kH5TfZq|7QT)@*F&L{4KA@m2u zDsLH|hgX5}R&j~U1x-RE2i-8bDwe-a;4Ua0*G>J>_7F@qzGmCmdvCyZ_{n;VK(eE%iP zVt2e_7JW(W5R~U$%yRp>@Hn`H+8)?Q|IKE8>$oywf01E(&>te38*27ei5 z&EV|A(bV9_l`>mh@hW@0K65+Ws@oU+>f3&<0MnV3 zr|ZE`>H|0P+<;m6z1hjjZU?v1m$P^hgV0;d?8JH9oVlfgeL;Wm;|4X+Nb#k~20(F^#j)}ntNXZOOcg)Y3EFlz@h&D&?u2b_uq!#}l^z02f>jz#O? z(K__hS~#@^POYIf2DgHByuF?pI%lLNHgYE7V|d!P!`Y|ACDpB_IL+mutrWp?(pVEL zcp7GLrgV^YK5KmQFpIApf+K#X(4Tt9)R2oAm_5XGU^yCVDLo&U z} zE4628Qa(Mw$lD-KR>=QC{0hY^BJ#oObNX6otgthm(@s;oj_wQ$X)Nl*&SUR1797#e z4m6g0obtCOq_c`+mUu&mSK+*r7b{i63Krt&_@;VR>ieTwmeW}<%h$a1Kf$aE)U(dC zO4hUX*RNuqF|+ew%}Vy$%H`~ZYp%jiiuaw_9nBo>D$ib;>#nxvt}kh?TwluGy1umi ziu_P}Xx=Pe-gdG3?{4~xvp9!!0vc<|HD(*Cm$WzOH@(j;jn9}@`;fC&|EpmId#}lL zb~GDr!w~xI^aQnMxnLL?;1)a(=&XVvJWjXpx*NuGf;=$6p3ATY%<4hyk4UhWCK%4% zfZ<*3?BMoxbUo|MNdvt(JYQ8RuLyYtfnfu(fq< zjmB!y$hx&{?dEzGOq*k;4jkiqJR)In^p=Y`mt^zLr_RBf~9tgdN9(zjn9_oi`ZYFx=&liN{Bpzmxhpddq`d{?qCe%HJSQ zmRP1)LzuM_pVxMn$hkW4$Eo#i;%B6oR;dEHaL z^6{#Nck=$-uxQDkLRJ;aD={lApDXrleNB3#@y)SLyt)jt9Je0rZ+=>Y8~J(Zkye8j zw<7O@*yZ@8+WSNNttn>tiG|K`8cV%GF$b+wlv(1{w`P{KTB`o;O(FlA03XFH&OJ6*22L^J5XSKB#e{{iYK8`_h>8MER>OVb-fRl>Q2{c3xA;on%tj{S$2#)T6@u2e;C}_)=<;`+f!>{PoABH zS%1P4-*xD8tJij*waMzm?$TD)xg~Y2W=*VnW*fK9bo_|X_St(MCz%z*O|#Pl^uOZN zXbSLY72J&`dXQPa4Kt`g&4(Qe(L4(*fLR{BLmy^EzWBse=6AM`@2$Pvg^$MaV3xlc zUJ((yyfwUy=2DL6`iSyB$hWlvPb&QKom)Q$pz!EDn{;5Kpv5YuDS@PE_7sP z1Acd%-L{XtSc)&;mG)ep@88Dq(YBhG^0W(RR{vx!xDaM7f?0U5f_wU!k3Up1$zSGJ zeUtSz_2kr>6CV`o&`D_#@OF9>eqHM8#g+8%>G$dD{SDOLH=?fyy{-CQV%lIN3_h=ULgjV}G?tqujCzFsQ)W@iQqS<)Fe|RSFvYCM>rh;7cnY1RoyvO~P|IQm z&3iQ}+OKZB#-62)wT>C*4fsmsEtMz!nd`2y=h$8Pdc{)qX2sI>OLD|tvfJUcYs=DG zyvpt<{e8~6|E|p{`(0ajBRe1((o@7w@i!jZKR2vwf2hr@bmNM)51-95=B%5MLKMm znWy~TpYP7I4x1&I-240Eyk>V(U~-zBRb(0DJpaZ&16B@qgrnXTHN6azmIETQtxz zR}Ht=9rO|2GZQcSLU^@2PiDy%pUSL&Jr=o{AAxD_$WCqE4Lk{?pP4;{BA;GZBK zy1v)-**)_zm2$UiabQRa<4&fL-`%N5L%S(;C}q!7J^Fl#}HYiwmD z{9Fx6IcB|1PwjtIp|r^S;gPBmAc?3~FIp`*FP<``7~Sywh6CxBk>h)a+?p`%JL3X6>z2S|jV! zvYEA~ho^Hh)wtT(i;q9gnPCRZN>~=TVfswYyylZ1E~2JIq^}%C{TRQ&o_UU2-hOTm zEktWAaQUG}P0Qa;9UY&RdUSmCAkw?zF&Exv*P*mlxOGH!Y~y3{M1^ui)wjYNy+v*7 zAa$|(Cz6Lw;%D>o?kA+dIA_$^r1OF8#Zy6U8NYj|xjn1$Sgxk-y_lNI93DTtIUze$ z1Lie2KLZ*o97Ii3XN1fnN#|@Zy$ik);yisKr#jG=(3X9Z`1QWfSs^*$5$0Qe!~9sC z5oV4d7oXhCJZ7|Oc1*YeUMUY$|IK@EO77ig?UOBHcGdG#62$!E5#=+(BVGG2*VMeQfGOW3oe^V4%(#NMh|+CFGj#lEB7 z8y`u&ho3z*iau$)r04O#pTp~>enfvbk6$%-Jg8wmqBC6YKpm?qI+Jt5a0GScv7B4c zV|a!d%h$b{+o#m#|3M!48~UoY;_r|D{$==cmc4~Bd+b-ATBEMht#RvN)~s1qYuko8 zR^tZNwL@F$h7Y21(@wT!ekrr=g)ezAOYA~#DWtc=tpNUnd&XpYAofqN%md?H#1Ash2K^PWD#2M} z9A3rtP|u={FJ}3hxjxm)lFBUgKjR;bn58|?n$hIW2$@}dp)>uQo$E5AjC_#y>2Ilt z9H%z&71x5|sJvPDMo$lHWf>#cCpG~dDkq%7?^#IXVpfi?eG}}Ezg@hdww=SQWd4J4yh*{ECx$9Zc*C8nc8V3yn0GZ9V5nM7XotW=#9F-y6j zJhqXi^h}GY_MPS-C7JaxyDR>OS$|^IgY@f&R|@U1(2NH$OA#^aWqc36EM1(Ov8eOP zt6xXlT3+lLTVL)5+fkXEvg%FjYQ4cR>ks%6KjjSf931k;;2*-zo=NRJVwSjd3A32_ z5cVZtR?v|=GGZ2Ig(2_zSwlP1!`Rl2^=@JRVCUWky_?x@nH{*BKC3T&cF02iJJW2L z-@TtFSIAEL9!5iic9FK9t8 z3-BBHOZr>pGBm+D^pJXa_QI=!3#dIUrf$9jZY}0KZw|Sgaz}ExebmnBJJf8N9A<4B zg~ozQk=EKG-9~IB#4qVC=Y<#x7xB{*3Hp6}B2cfQZuy#zFV(}Js)%zA8M|v3j3B>J z9f{sPPjeeI7i$W-fH{fbC~Bs>4|vj8>|u*h?^Ql{jSRPc zG46bhdUucvpR+oJ$LBuW@OMl9z?+oN*WAD9-*bhxOJ{;;r2BZ@_6}vP20AMx68akd z=Ap5CSfvQ|@%%(OYd5tnv{v+UBb_D9C+(MjvkIrL;FUC%zmA>@&I|ojoc*liy0 z<#{oSI+oK}nwyS>QBSmTFdtu5VkF#RHkmsw9EkqW+=9O7E9#0N@8Q|=_R&)8Cf1xN zX$lwUtT=PC+}R-96078U*DNi~hj+DiJPwI2)WN!aZ@;)=O@?w^}4pBWT)(cLdv%;?b%&c#jhxB>fa`q|pEbZHQyGm($ zp1E0?1AiC1+FI;-dldis1%^mVwZZT zoz5Dyf2NZq4Isv)~prbC?y-cj#t3kRK{H zOu(z)F6!=gk+&!|lhY}-aJ>@#T|=|kmGnep!mlj2lz>r+h*b%`t`M)X;9TZru34C& znF#9d)9eO$vr?I*xv<))p6K0>{YLDQqV{pRT{ZSDF+YRa;+HL}GE;`VIn65B7t9bi z+Jzkz_({$W!)G#%n$DE&{7iB}W*}=OyPLIe8;n$5Nc~F86tDC+ykv-3&i@3PqCCvy zViCJwQ9wOOtP*<^`q=RbX5}y~g<1Ok=-(Z)U{gT&{9lDWcD&NpQh4Q$S>$=SnH70T4Tc(od-VJT_I*|D}ICHm6-KlnVVcZ1FxRL@9<*T zVmZv(h%aklJ~S50T1!s34qxeJ&JPcjyau-Aw>NJoZ68vP|E?eT3HmCWMol-#tkdj} zJwsl2k#pD>J=9`WFqqduf1U$s_3KTh#0PPrZ!7zpdA=X_YH5G! zSl`~FuJz)ecJ|a%UZY3fb<8@J721Lg4_Ub??Z^ws51Y5J)-79D!v=M%Z410xcpxSW z9B-fe-*J0-HAMc0HePla&4Cv>a+=bU(S4+%AXD#Y({_>vgj8L-|JmxTX)Ul+k z;#=5NjpmDSpA;T`P3bAeE3qjVk-mxaRm2S8U3g+A|qfW5| z?dtMEUZY87$w#U>mh%kYLvnN9Rp+LsPrfW~I5j5D3*~WeJ<8E}A!i}3ADy#x)v^LK zmS(P`x2|FtZP*7!T}vK!aZCJ?&Jwc{%olcNhRh1mULFr$m;9)1hC01(KA~Ec_O0s7 zP_?vdFDdtd`y^(?IWyFLXPp_w(ODikOZ|n4OU@0cQ;AKEPiQM~D`J*drARD9W6sOg zSjq|ix6Dc~*Fnq*I-@B$M~!mBlWFLlM)YLh`}~-Fnt!WN&fdfW|5IvLhcxT2__elG z`w2@Hc5x6^9fDQz!9Rz_dag_{cJq|9-6e|Kn*7(>f@^Sm`6YK7N@n+@o4KD(bcl#gU8$MQ+v7C zqoIpT>XrUrUK{u$6j{_-zG3&_hh5Xi3tQVe9UIwO_#S^fpshVfuaEbaU&EmDb_$Q^ zo`-*Jx76%z&6^If#!cH>Tl%CMG^uB4X$`GQ%bqs4^ALOUrB~2dq2pYfYt)<1^|=UL zkz|%?@tOD@;?%W*-PEsCho@KC<%bW$EM_i;2WMt;Yj3vJ60`if$@7xT5@%AG6)@*O zp=;mOuetuESz_dnaccD*Ii+-(+e^)@tLO7IaUrp3sAcK@lB2mUn;Xsa9t?AVqcz^^$B%?f>&vdTVeo2fCyPy_?oLkV&4yKaE|`HF zGJDUR5i)zh&5@yYC2b{Md0XKHT2diiDIavq(ivScB6dakO6-ZW(&d;H@yhA2q^1(D z6v2Mp0}haL6Z%-pQl#=KgjwN!wAjDFEY;sb>REy6?|CrGUkI<*3nm|_n{St7mh+Qe zhFNZwT`IH0D+NAYaVJzQi}w=kFud5RvSXIxRgzh%$BS7mV3s>G%!^s_P!Q@d49G)u zUg-LD09b_JZn6(XlX*Y%906C$UB_F()^(?jbpB691Zs~%yI^T7+ z==!T2vozOqC;KZ7;Enhh=Y_A`Qp(;>t3<7wT{_gS0(O6fGq{!}H>3xVy+4D=Q^*f9 zN0TFurnWhZ+A-Qd^Y#pEVg_vD)6%qtkeb2yy;Ka80+oGBjb(ZVt7z3$B&v)-U? z{Boa`wx9Uo#RoVGJZ;A^LVNkOPpnm&(blkDUvyR{$E?QiDq>c*wC?u!9%^9p?u20` zbs==ce0!9r{?@)7N9@ zv)FoAr&%wn`fxwHbNx^&X2yFknjY!l%%s6pKQXM0o70dvi5k}QE>2&GSDMWpXr{5|z--`tqOlU(U)8bVFe?tP z5?kfH&5kIy6Qdlj_V9S&R+Rs_d@#wYh+AS-44svQwo2TKej`-760`JgQU2!`m&&Vy z_}mV`_JcgX2eP>p>8osB@jSyUX|1TP71hNeoh46K{GI_8yBikk>;RvGR9y>W}P4(I8u+jbhXRa zN9?A1w|W`-?+V53CnfXSez>!lI@Db-Yk!fO>_E|ib{}=E1Nh&cCMSFrjivpDPZTa} z8}sF})i+#kEAro9YYG;?*L9OUREqfz{H&i>EopDoE@dB~b5BqUjMMk#W(&>W8k$(! zPL8N-#|KxjQzMuaPyeplR{^tp_VGw##k*1K!fSG&4|@=GM$8<75blNaE?(@LW?#dq zzvDT5lUYu0b!cp_qq%;G)_S;aYy0EA^%llY+IO)m`^T3VHh9oNt5>s!wQbwmnli7n zVT=0Kq%}P}t-9ljZ)bO}ywk$;EVR~nw0}>>EO9GDUq#HiuxzkhSgTsnWXs$=)8dEb zS?~~Ai}S-AX2C5n%O^k7EUn8jYooZ8%`D|vPPZhvl}?=~gMSm3q^AOLj?l+Z=-;x| z!8$QZ`ezaMHOVY*WCu$O#YZxrxn(jFF})YPoJnTstT2^Xhs7@5=Z|wXa%OZ#OTU$w zGE?C-ehhc;>AdaGN5eLNleyIETG)9PCD_RXwYTh0=x!>^mOB8OQQW_Pjlx!o*d0Xtz} zR(uI(N=t@V=Hg*?VF?;%EoXY0r=cC@QpZ{XuNIoeo{J24m5$Ex_fF;C;MTqP=kKPb z#m+;26Ix&+dTGOOu6gv*I<9s4TokdjXeJ_a?I25EgN{+YM~&O(^Wb*4u%7&j@Ya)q z5t+=w^H#x+l`s!4dPvV-sJas~#j>A6wCEt7Lp(svkA(;5LiYxCntJUqa*)GZ7aujR zWFIuIV4w20Io_B2n_M!B8H&mYGnRC<%%$Dv5rL^))X7kYcqTjX|$ zWcY`uSt%ai=M#x!cn|XY5Ls|a5#x7cQP)z$`5Cc2+}~s!KI%WrnW=RTOjc~?xs=Y* z%q;3z;ce94SMff&j2iq>YO#x{7tZH(Jg)^BiG*zQocku2HxP7BhGr0Jc6uLz-;q9q*`>qra*gC?k7DlUX!_sBpk0_-6-=VOg|{=n zFXeVsOh+4Pz7_t@$d?r^;&Ci)jL*Lb?^m#CIc!=6r-=B{COHvX(wKS{dXgFN0UAx= z&qrrc+fu}-k?Bk_J`+weJ0hXohV(av+y{9=AN5<%=8WiB@dH>!7;*{p61?uxsq~s?_wWl(!FB7q?@5s@u6y)c2nDb{{oYVDRGD~}TVs~&hxN{cQ96Bq> ztjt4m9JlgfR= za?6~(a0d1ATRD>-!*vDI!vVaOc+O&~3E}}d&yLTCSx3l0K1E-NS6`7^oE*f=>#=CF z$vP*5Rq!f{*~nQdIg4D=o3pci+;8s7CU}y9X9+3hsx4 zL~dq9?E1Hv74hnBcy%RaE#ftri&?=`o^O~XUsf=l>sI@9F2^k8gelC5_7~>GtXOM$ z7T{I}9u&tdc4cL7)|(fzG%qlfS((GgEAwEMJPwXmFe}x~Zso-+)%u*bLd@bmxSbhd7CzT7FJ_79S76qA)k@o|B@2@8U3&?$_LaUmPi8%e zFJ5)|&GhUj#H)Ks-DnTfulN!@KyOy7Xzx^`C#YR1@=tf@H ztGzukjJZeey+VB|;g~gV+cS1mrFP777)rlkALn(5nAN_0OPk!MpPm2YQ^%~#Ib5^U z;bRNY7z_KMvB-rMQ*S|QWw4XyA`!cto|~=cDS6`$&PQ*}x5S~j*@4dT(OC&}miC8v z+wjE0EDvS{Xe>ntdpuZ`fLXfrrM1K_`OA~xqq!9N_vm}{eeo51eL3GJjiqw}?TcsD zbbLG>BF&)2Cz9Z-P__4T&I`{@Z&{;=#?>fx+;aB9{Ck8aJGh=vOCov-s zt>(`~W1+9aD`_n4#c^}m$psy+wxElov$j)XN;1paf#y;qJ?W9oN@Z4f5Pg}dv&5`} z{G8m}LT^Q^a(Se*8v080C@&dTVpjYBH8vu)Um6R2MaZ)i+spH|hv#!QoZp3JycZVl zmq()zjxyv<6*=yAH|A>$DaM$v7b~t(zPgXb`KPYGM z7s&IE_rKY`8Gzm;*VoJe&CLvla+Zq6L9+%DUEy*!^d)mMJ+z{S$4Gf&7I7A4o#5ZT zg;Q_h<9?C7BrmX6>4kO;?454ttlsVH=>cu*#4o6;Q&T_59KSmrdDZgO=whuJ^tUc) zgRF7A`s_Pw;&fK$&TVZ_t2TDz_kVy{^hwX-dZqRpF-u+tF)O~58a%u@w|J0UTs6Y7 zHsVv?F_U~|4%gp2(`*_S_tD3*hd$?Bcpma#mQQ{d+)nNUqatRBNn(~Xl=_YpiB;JV zhheD^TaM0J%Jn9{l+#$ShP*Hn_9TX4d3&d7345so=Y;eO?kRMwW7fuE*V(?3 z`5d#J!fP5aOWcyD^qI0n@r{xrk|!Q4f0I32mHK=Q_O!yR*U35GrT_ZtJ~!h{H;@LTwGk6&8f8}E<(g1x$9lm?Z zp^jN?TcuIoYHdAwbg~XLYuh`||J>q1%;bSrXf~Am4&EYa1^V9%vVr zQ!BZhv#Krh2;MuLnzFbx7rh0y_Rg@xp6Qm@HI?4#NqDR2vEG8`VH5tUjhrEFKyR(3 zroI~euo4cef&;6m?{MoY-&+QY2+gEYc*~Qq41GW@=sXyj3py7~FryoJ3Fn05)p5>K z6V$P?`blFoV+R}gGd+dha8~$b`x^E+*N4sszu-LfDDMF$N8@#$($3D$K>N<2w_p)x zg-fYnp{-QI^49VDIUjJma{e*y=T`3LcDO+V_hg57r3mijbHbyRrE@;#Nsu2wygHP; zb?lB`?Fc)q08u1AD@aC;&XUHu8;u34eCEJ=%==4aRtU3vm=!FcrsaAJxs}G6Lmf-Z(%#j{oSTVR z6L>9iX6PmNu8LXClcn<``8&ldofYDz3emjU=N@USh*w!H&|K)OI66x^>=oJWBq%SCq|re8Vyf;#4P#i#Vj`m z6>f=H!L4<(YgzO)g`BHK%nD$Z+oi%8h0YBVT{$ylR?Efq)Uucp`el>y_Kyb4&YsD%Bsb$L6(YG_~s6{b%;&`7b zc8cyz-h=a9^*RjYbupCZ4PWVLuElT28xP|n z{V#e@e$LQ?Pw-I@=x zru7?Ght@5uQ@fTnpig&eRIY;kY~KNk1?e!M54@s|lLxaB%c<|eEivojYIN5Ia=xue zZtb7VH8|J&`(`?BdAp~fK_>qbv%K|agxjdWuj2ZQm<6x&v169b=?KlzQ^c3{w%8JO zLo60U`=9~g>D->w-8tKv%*1xiXGdbAG?<-n3UOE5!f)r-Wgj-2w$@3I3D?u$wyP~xd%+1P5?lE-rrX;fh zJfsOUuQXN;uh3c%vl7&@{I=Ply{sYPcoyZ20rh%?V;9U)ucBk3ysBue9A-`7cjjW2uRcub@BRSpH}kV1AAGzEX9>(- z7qd>btn8TeN&PbRE?$H`)huJLR;H&JM(xAHeh)iy#H>5%kKR|3^Fhu6BW8(Lui_>B zZCU0vlw)>0T1&O9N9l`xx<+BgtQTt)u-BWEvXAkEWx}LzI(4j>=xpZD>2opbM1OQJ z^|u5w>BOuoe8TdLX7G1NWmYD=NAApJ80Qvfhznegn!ojR$2#^2f6JFRXL%mo{1ZGZ zFEXP*%zCe1Tl;y}hW7Y4UVF#>;h6RNW1-dUHOXpMZfBjE46^2p8oQpu_N~)waQ|Lb zw`6JCzhR?g`4`R2u|r=;&qNW@cNi{36D{M~TE+YQ3Ut zcjvu;$2X3ig5j+!K7hH2eK`N4-hPUn%afhz+0pj3> zX(#DXKR+FB!vgA8^!>!y-yC1t(-OD$viKc+EwQm5^*6Ysn!9pB=_~PSdp55ex9))- zik;aJaI1*?S7GG&jChrE%l8~o@H2@3UPa->4j%nz@gZm$?bnHzCBEo9EO}lS zZ_72Q^Fq!9GdUZ~qGqLChB363$Lunn-Kq+&9sJ?FIdx7}sGT~@6>=ecr5MQPgX>#t zB>x|Mr9K(g-v_T^6Y*nlb{A&{m}WO5$OWaZVoT|hNb0GGOPSJDFe)Zi-NtL{cIFwZ zZRH~CHfE`<;op+%a%_Wfs(a~7QQVR*Ufu`C#AJTxW;d(131&rJ2hCSj{XI9cUp&z<7e$(2_d#HV*{k}zMJ1Re`eDAaP z+p`bUn?Q|aR6RR8qz1dgIOiS9V^j<$2ju-Bi@!lSTGw%lUM$U~OYaMJ(O`)Yc(TZ6 zPB6FQ7`e_r_#6Hnef1hUYosdW{Fkm z_j5ges<+R8S5v!^kI=(A2JJc&?`Xfq+2?~iKi}{gKhF8Nc=Z_`_fLt#^xqz%7wWq~ zE$!^s_I7S^2TPyD?8L=A$WdV;eo@VbP(-}aIicf~YFH7kuE4DDUY-l(h0;o?%(_2S zZ(W{QVwac|@hX*B;#Cf_#I0P+60iOfW(C{3qm}WB{6J;}E-!4B%`EMT{&$%b)!t#2 zt6!xs%jJN~FpHQKXotOc6)}q*cg^(+HP?^#co))FNsSc_ft91sENCq8%FRhd*Qi$~ zfyPSAf+ysIVwOBs5woPJ#4Ks5R9+?4w&tvwnjRr`Da0&&ueg=UEaiz}mil>q2(vV+ zG%sc)&?%|RIs&&{k?%apd?l`m_rR4ivN;%j({ zSu;=ET*!V}r>H$&hj|Zm3fQ08l*i+aCY;Lq(rjw)+{VU|>(Li|ZYVqSsJ(|1(zxc( ziYd$zuTq(n$=^b?E-~vox#KbZ-d~{^KIWQyn;idXW<)=Sp3v>f%-VdXa|8Q`p2I)% zZ*DK4J&wQnJo%nypLwBmo3hgC)Wip0zn8Ud+T2>yuWxPBn%Ibe{j7eOa<+En>}+PO zupAAu0wyfumRi4?^|AmBpjy@J9@#O6kEN}W ztV)a{&mNBs7)PCW1oNkvho42gU2{hjCpb$z!u$27TnjGX`RDSI;xW}e$n>C5X7O(ku$nS7M}HHZyaF2saVZS*pQvZWwCL z-^y0JkI|o@KEqU1k^qhzMGrO*ZCW}J@))8{XFf6*Uy%}UY=F$^if}7 z)>v|tahju`e30KOeTBwJP{Yca!?m;sZMB3t)p9(?tGF)FP>xG?;6>ZW%$+-!BfWt> z%VfmYvqy%A!7W9W*oFQQ--1>2jFU%39xmtU;_OjgROOu^n$FFP(C?>~CJ(;TS!k@p z2-r$qsNIIj4deZ(xA&@UItNX3;as8<{@OO|pl@E*zHNvGs#nTBColX&=X>a^m&)N? zP%R6u)jfE$?!jBS9i6qS;mh-QAFNfmp5nFNn=KKvr*hOcm~ zzJ&&Rzh86v5FhxT&=v0<+Dsij=5*GqEr+aph34!w>}DMrvX6)TJ6&70wEmqtTiZId zZN;>y7V}P#`@tWv1Z}07mg@1BFe{nQiCM9g}h!=3d0T!~rC8;qD0%tBMmhF2~hq}DQp*rfUeDhS*pM1 z#jGedbUaLQEAp#`_n{rh4;{0V7oxGmEN=__N)fZfE9Hiq8|KNZNN0&z%5{DKvowcK z%u;@rn_0>UrLP>bI%M-IVwSrlX9&CVbuml(p!;)6xPC%;RfqC#!?~XDK!#(`Ik&<& z*x+V7Yj2tQA?I*k={Hi}k(*7yj0&BH#@1wOr-)ezxFu#O{x{5WbGQBlv)nxR%P`C9 zP7hO(Sr^%ZdZtA=JJG0&eO0%l9j;aK5@sDLbd~KSH`H9^9rWev8?^PaydNj#T>I9qMr3o)%^Bc%>wpzi!$VeaA%zS4KQmOF`0TDbMs@P z@X5&^EM~FG*k^`j0zE5EiB}4-OAHgY(s>WbLT8;G+z_o$jrkDFPGJtmTl|fmV~^E- zYI5S%bDSIgifi=^a-hG`*Yg3_=R2G~zOiGqW7bERq0QU=kd-ahjQKOYtw)RY)~!V= z>)gD#^`>XKV}trOZ|oSmka3*XDf(a)*AyP8_!6$`#l5Ig@}9gLmaO3YS>gN$z^%;_@J2BI>JFH-jvZuc&?PZmotyYAC4D`eQF*%JTmCbaWnj=x1Z(lYaZ4o zjVsuPjq#eGKaWzk{gzo|=SH=$%*l90XZ50g5{i`QIaEx%xW{ zp_b+L1txWthtDAfN3y6d#W}~59=e2C)ZbO3a%YCru43eZ3F=n?UY)Qb3?x@@!8uca z=f~HKE#7~_eqt53L-?J9t{uJSyK9LWi}IH6*5;O&fex67{+kV_sJ;0M&r?V zO4<>83G!#XU7dLj_}ljuxtjT;Kel_Qz3;@sAg#5d^tHCTG~RgTjcO*1wAKq{OWF(N zOWV&Xma)gl4Id^qyuZQ?cpdWDD-DX;hn=at59KjTf?4{z>b*#skojkB|My6q`_Vk_ zV_-hK@>I*>Z>u~ogIc0)Gx=P9^Rt`}rw?iB&gTEzwu-%tfBz560Dg|Y^ZxpkZR;(i zY-imH_FU6j>^J=V|C_q}`<(NCM*rNqyf$9l05|+|_628$EA~8L#Y;D|c8z-5z_y*N zXR}t;g}PR+mTjzi^AF3aXtkYty56){WPij(VQ ztQu?=?_eh1T@$$`re`zjZoFD}B4T%?1=Gk| zrot(1L*`h86X_`#k9QPidBdnP45B{D>=^ZsUm*88L(Y5>kGtk!{T-J7y-_(=(>lSw zpB>VgJ%=4lJH9mQK2F}N{-4A;0{@kEVZ^ugcRtbYSp`$Ihf6gog;*77ESTkX2_>1O zzC-a!amh>vmml&o#I0nASBfYXj98_5xm z!v~U)WR|y&+T60`0udA02&%v!{E0ne; znaBJfHTVN%ueC>R&Tns!dwxM}P=2A1o$D^&hgZt4HLp?JavE05;`tV@60j-am6+us z$t}%@KS%BTAIye+JFTp}iFSCW#Vz&>d-rx!FJ*UDVNNRNp3gR}b_uhzi|0M^$QPGU zL(2TlF>B+)Kexig>$={Zeyz|}^%`5}#?7pI8u?-S4%VM}%U>RQpVutc#_gj_egt_B zltXDBmgYyv3lN2m-qN|B`e+g>sBMu?YNqK0G+GQT6>foB+o$qgKE-|PZ<>Jjhx0?2 z<*%hqLk=3Cvx4P=-I=71=RSa00eb_bu{0kvpqIvf>eWh763ZL1lifBIR_gV{v z?Bi!eL9bv)h&76+Ptd2PuE>0FjAg+p?-BYsA7!4;W3ZkG9?9mH_aMKQh`bKb&xyDd zKFIG9w^EoTUL|(%w}VwqW8H(dV=Fy{=&L9^G*)m2*R<+bZfA6MEz9`;&{+QbW{wAe zcr~5ZFSV=?W~pB%ls}Rhjnfb0Y0_DG-*wE=Oe<>U3B29%SEVvbypjjY)v@4J*opHz z^p!l-zIfFWy@EGI^DaHk&HcfgpARGd8{U*U3$>Hcd_VpneOqf|O8tMAPwW_g_|!z;5FK>0|Xu*%5NX571e!++5TiKug_K{AycY{3_dkmsEaI`QSGcxyHo~ z=K1X}c%wa4i1}H?isOYZWxp&_#(rM0G~QCaUhX>Q%lcc#3U+n`?-{pp|EKUbokDJX zD>cC}Fcr^87%@v)3vH{pWU3?TZ<__L()-tRae-S!=HMoFk{;hbwytcyq7L^8HLTyz zH@cJE#%n4Rw%gEnn`@S{mm1Zy-?gY~uQSX1gT5{8_@FlSDSz{4rlTp2f8?08=jX3k zkrMUTYuLs5rFF0lwHsKs#?7r4a~_6v>q332z8(4UFVtYiCAr0QikHEcp2FMdX5PUq z%~24y66h}Ju-wc#!+GL)G*|jsW}~31g3Y%&X1QCK)#hh-Cw17^u{744RYJfb<=%EhcG zFBGpd_b+0Wn^79g{9^`Y`7|n}W&byOjRvb@sDzoGzmCkY=2J}_H zYc_OsEUuT%cm`lr~xlxmC>%Eoo`XzPB$%W-*N4WSzqEO{Tn{`UsXmY!K%$ge{AcD{n*x0*IIki zk6f&wCa>6<|Hrn6*?y1Rh}J5Mzm#39zbH+9Se7{tc;H{CR>)pMV;#ZYkTFhwOP*`~ zo}u<_OrXa($t<@^m$MD+ru6ZWh*t{b{o+=JdJ~hpikNkjbC%Z{(_4gg5VKxve6ww; zS=yGB%5SUDcw*Kso7S;cTh_DJcnyeI-wo?vN7>8wz~~P4^ReTxw8qA75PAo%z zxg3#NGW>~i{&xYbb)H#)=Q(4{z;~K}Q30${c+|68pyT2&OaI45X9X}Tj{Zq-UMMXT zki%u6ixSKnjl-)1bNu3?=m{Lg84ml>5OW-uM*N%;?@`!=gDuWgv+;irl- zvps>YS7(Ouh|0gdcTgc2I)3{6XI|^O=FE*}dMdW-ekQ@u!dC ztavPZW4@DS4tUzNq+I~B>BB-_#o<+)9gN-z9-lPUZE#upgV>4f=2d8(p)}=2{!MWw z?A}D}oe1yb`xLNC5$Q4AhUhFGofWR(_ep21gq3;dEI0F%TGr*5CH*4rYqaw|m02G3 ztQgEX*S3P4gefPQl(cVn4?bGIw40yx7d%?eS7h#0F=H;W*-~y7vI}})ezOHPn9aYI zxaLQ;{_3l2$2Hg5W7pAlcq2Qci1JTcEM(F&h=% z{tFE%+Wpna+QJG2Z8p6|3-OO_u3o`@+XP;(DFj@AsF)u%~Y>)EKeb#IhreVUUSc4%kytI^MN_z(QOCh)f!Pc3#7uV1c1 z^(v<@D`3W+m=#l>3w{AH%hl|uPl-Y4co)ub=6DK!#5puqCVDGkm2$=(!YqGk563L= zDmI?_FwBXO-^Dl&)r{6Ga>8>xs8ccf;xzvMZ}HTA*|;J*l*%|}9ZBP?rBe+{=k@N5 z;@Z3nvs8o6Sl{2WlpiLUrI|9R+{)2g5wmu{2=YShnf*b`+B4{TZly3w%yHa7TS;Gu zSN@~yK!aHx8Y_5WQZ}=m%GO%pqvVLHZ6$S9Dzj3#74a%K$a_taS>YZu@g8bfyRx}; zIc9kqxE}Lhmh!^HT=E`jS(h-2y~w$BmV6FkRt9yAAH*!xvB(L@T;iP6;A3GvFi6-_k-cFcfRb70E6j+P)F^w3v{<(vVof;(&A&szC6h&#Ga z!-7rB*^#Eq;TFsaHz(s?F>3={zXG!yuafJ>(e8#^qYVLIeyqf)EvpK}t zAK^8<>S}xBn*8>B{vtWd`bEjY_S(%Q?0x!yj?1qw5gqMj3ZZvlR={jOF)Px8iQ#aI z8MFQ%?l<}>m099e)}U-|Ma=q!eL?RxE^EK6i>I|wdHX3d3U`(+Xfv3jDrU{6#+J&g z-!-pcf9^ql5X?F~va|ETfA;zdPG|k`>vXHrs0TfVoveHP7S_E1^RpT@vtG@}4_mji zT9r!MKR$bhS`B`6=C1q9ME02}8mHzXA5&rlnu>f-5yGlaXNfM*F0d(-cZ<4~I}2P) zK8Y99dDoc>5vtyP8w|XCH1Abtt~Kba735Szuo6ADY`A63NAKvYa2hcMJ;2VJ5Ic=Ma>iw4a0XXl&Z%VwMvG7sQ8G}uM-Se#u& z{y1u4`nhx9>q0_jlxRVD!-6&3=e6W+%;s|Qz2qUy?IV?!6z`SmGsM>r?Xv5own zJL%z~H(cR!etJoeI|lGAv5xbI+wmuH8{+8-@x+JtN<)0~{xWK8OVKJzcnk|+?|km_ zTs~(mm)ldVSrU_Zy!cxK>RG`^>RFr@`uGC$Jn39DrkPWmQF!$5XV4#TvPlIyMjm*S ze&}O$=r<$}`lwzl``s;7?7>pSY*hjFK(=(Rpf>1@|oRn^^fcx zNFOUihMg?X5}$?Q?uz7x9QXFWY#u6*VkZ$HI&2bQL|(;m}&-;@R~! zX{qxAYoVjKZ{&jV-D!W4X4fk(Jj1_ziO%|azpD1zmR0SU>c#M?(ks;DW?N7H^>}<^ zLkbnJ5ycAAUsTe5cJnRv`?UJ@W?FT7fmzyb^0z+B&X~hvd)Pz0JKDR?K4~9@8TL-r zS!>*Agw-z8%KA2MWIYAo z4D)0by~~bS;+AUa;*@p)s+XC$f#FiVzLM*HHQHh==V8o+h%L|VUG$a@w_quC>_zZn zEy@XlH4R^rr%P`BQj+Ga)e4T&&KxV05Ct{Ya#fVuRo)gEYB(uaW=O6tc%o+wi zlgtXnps&W!_jfBiW#&K*vlj4LSwvlKIe%{=hRzbVv^U7@XoOGVbHpt1>T=AA&LteX z{#|A{UlzR0#jIcok9Q(IrzEqq?=h8GS$I0L;8mn+GyOJS&y1RD@nBuc?h2UoO5rm0M(L9FKJy#C zAy1EuMgyYzvc}Pqt(rUR${dcL6Gqc(!&t<_SzmBzT+`tC5Yi%_-6Mgp&zvDHH z#<~YzkaU*juipVn*74dWM+{d{)0NIr*!zlg8T=l{&*cT9yVlgMGTKSyVU^1YAdTB5H|d4lUJ?9mX7MURd& zR>N#w9c^@r9dF9a8D^M#*NHk8yB{+Lw!;s{>z6&YI)8M#>lg5Q_YVRS;a{DSrbDzeO8%`jkvB(R9S?Hd*=qxl=xETGog2%FwzxfJ$ z>k53M$_L$JrJpjYxrKSKSSF}^j zE0PnICntni^(xrcwJX`-nw9Lm8kOyNw8gF)ueGIDC-XqKrMz$nx3^vQW7}TvI=eUj zHFhw60eiY&3H$j?_~7#uvp3N|Csl2dqX( zTT-#0O=QpYxPpaT+*7`iJzpI^DK)KMQ?#(pqjWA^Bmr0j@CT zIMn<-`Lh)G9~`%I>jI7BxCMXYqnEZqYiR~UoY_<{>g$;>%$*fd_X?J0bIWHQS1=zR z*lf5b9h792&I-e^yk_VR)E*sw7-vD$r?UFuZD8)Gc7A=;1YS|&`>Ihj`=%LtR$Db- zR+eV`(NE4Uwb)?l_9LlrjPFLxnCq4Les~3DMLSl#ySQH|x+>CA-+wKeS*qKohCJ|! zXg0EV^?%8%5U#m+Vodh!qvYIhOF5$RO&ox~gmOdatcY0&@d}OQn3b%#M|Eb^rd&j%Q8!OVQ2Uk zF)PU}<%I#g>_NXK=(X&#!c=C3xAHoeNbZWp3RHWa&AGumUL#3n`OA4M(pM|V=T^y^ zz+=*!Xz>}HB?c+PE1%EBD@B|+_=;3!xsUnYFgLT57p5>vd7+pUEGDlNtCSPsB@Jhi zJEt-W)`!%JQkkVaJIV_)I;$U=*~Qe|ziCWPsB^+v3hG!j=#Q>m-u_I@`I+K3*^V2o zvc;-fU4_27{ztYT-&M9EAHIkD*RofK{vDY1P$B00l_+n&D8e~o{^Isdsj~KYeRk$_ zqIOOlOM8ey^<}b4N8Iw6-4mm)FfRQ^h*uG_#4RyPp}KoGl*h^6IK4YHcbIjC&p+-{ z-G0{!4@M>S0Ku&Nl?&L;a`~xYU27A#PZ6`Wlq_Q})xzV@fI3#2x^{SccRM_(w|zLS zhaH?QypqmZ&es)qw&X`ut{5Q)*V~TXMZi%;9mfc<_D5`=JoC^u7AO zu4a$U^44-6U{9r^NrWr z?i-msdc%$O^z{YoMKsnMB`exn#md_63l_CcDwVP`)Vsqz{N2z=;->14dY@6Rw%b9; z`%Mger3m%jLycWC$+ANqXM3|W&(CM}QwDQXzGLR!=bRP3)xLr~QTGPBm)`AdRg2h0 zc(u6bk8EneAKA15*V~L63)|cRMVaZ$u8cZ$?DtKme|2KU-NgR(&CH?p-4eX#5AU_v z4XWFoAWi zpPDZ@qT5@)iEBXny~Hi$h^qRNJD?rTkFb%A7-=A90GA3TLKv zvWs}#{dxQhF=PS!QeKFE$}#I!uCa0GeC_>WkB;lp8OVDpXWv=Wsm^z7Xy4(XKHiLZ z4QaLTzc<43(42llW>1S(ed*I-?x8n|_s#L-M3dmvOzzuUe$N${m6IFdZ5OXXyzaUc ztHdnzMZ4Z;aY|>1@;>NHQNB~fem+i(r0$7!SzL)(9xTc$0=}-eL}%&qB(ox&mC7v5 zQjU`sCU*9)#67SZUg^wGd13rcv@3nUitu)7JJhnYFIv9$kovnvUg+janB{ilq%unyOT6j|r^GCUn8n{#yi)yL`=>&5b)L+k$0TCb z_qidATFm+KQhFp{mcIsut)sr6d0>Qi<@{%25G;!Hl=>}Q&n5E?-OR%jW;u4HFe@ZK zbj(6yMa+uwLNUuZv*ala@VO`0U#PnB zH_XfafZm^9Hz{HdR>u>@?9;7P3ftNe*VsHf7}E=1Wit!qx0wZs*!+UU?cTCHhFZ1k zzu1HQ8uhOCx;3%C4ry;^SI)BVcQ4v)T*n92EVXlCmL1Q`ux?%F*o{`h`ZZ}_gIhGU zR(0!Hi`sRpGapweT?k*qtK=1vxaKA@YYA@cL~o(BLV3J5W;4s}ZoWOqE$Um*EM(QX z6!JcJ^z!A*Y*&3Az2$R`7@yO_&Q0rRXQs5b^HX?zO{cb^-a`6m!r5?T2Di!$(M7=+ zc*EIeFpSsOV6G=PC#VH|FG za7vNbg~r;=^RkEkyLW{7%y0&BZl2_z~@*#N}l`~N%B;>V>c7lcU<%LV&R(F^&ipL=s#dSEG^CoJy?yQN|zGlP(~g7akE0lPM4YbEE!!b=+}A}z%no`4XqH2W~z3g@EG_gscq{wjEyJTp{Y z7%@vdhHhpv`Ju}VT^);h9v%Xxv8WwM+h~r1eD4`utJwMWmF*P0(BC%2ht<4{ebKa} zecqsieOb4ZJ3Bna+2N6z745@YDzU%5u{3;Z3Xk$eFd1Qd}Dt5 z$@PWol>#O0_2T92PbJZ2_}@RPQpV1+gWJu;P|p)wiVwtV-@h`oE$#R$9eyTEVfdeh-mI;=Y1qpp2NFX*RTYT4_s_USr>>^^#dwpS_X{O&XHyH3N4 zv52|!%Ze4TW%-NQhMSnvSE;)F9Ok@5P3M0&H++|x=9}G`+Mj1nw9Mz9wwY@ra>MZ>*ISVrnVHop&4#sXX62UR#w-hj#($!Gjs}GDIZMlNa< zLZd1)J1b>=)|HqQ<6JPWNbq$gmBK7<8uJ-u zp?T)gPct8n*23&FLw_ajahw-A?}nHxZpnkSDdH75UoK{eS9vl^`Jp_g@}Q!#61Q<5 z&{?^e6_dsyG@mOvGfZWce=7_}W4YSVuUYi~dYVcy#fr8iDTKo*_s9}j&TW`9-_TEU(bG{qwr}>K5tA)$j zTcs*FX8nzRoug>1IA`f0eQcWL>fyP+(5oE2?DCFT>LCm{-*S6$egL!1GpFt}vm3wZ zTGu{eX8kJ-OWNZ#m@|LNO?FqsVzz=gIO3JKwUWkTU`{L`DZqH9arGJ6WVO1JZwSvFzR1}l`WvGu~|(YA7V>s-GP zzW939u~l=cT(+2M>+vLCRQW#NyP)(Tg`G}X3Ln_t4`_)MevR{At%Sxsc$Gv2ENp_!xMcwTelgx*** z7CI{&#d{t)E9g%>p(nnDuFS;mnC2qAV+)rHrgv{^8SF=k52S`Vw5O#Hr`|srO~)C8 zcWXb(n$*`~letwN6Ix3eD_jD5IJZ=2-m3b$eP-l@cfgvv;EZA$4B{NZ<;T?a!h5qL zz7w6bi*q`(Rk)w})4^mM;&~#%2dO)y#zXv!lt|DYt;k|VpPPk@ugcY-V2^Z`JX%pi zdP@w;%`EXso`>knF!E2jpgRH%tiOiCQn0SCFFgl{_bfuFg=EWYPe`DAD?tMO!XPqGzcw051N~K z%#3!o8;AMt@*HW$j?-AGWvTYwo!qYn8Y-!;LVUtuKQt7x8(h#|s53)<1T`ak4xT&? zgqRghYn@%kngf^MmD5>^csxtci_%yy%lS6s&5D?Xwv=zwJ$BtD{r>@)N}-vDid2o2 zT7!@LSy`(%mso)}jEH<$k_Ea=JlPJP%dvvpVz@v+wy3%-UGsYTH!sTIyI=yIk>c za>Jid&r-ep4fM=AMa$Y>#j9FXEZ&a46*+e(twe2IzxzD%-4z#^E1IR9(ahXaBzVp< z2k`giEYr>Jr&rX~z?iF{oG^o#H7C$mUvduoQHMJAMp_knsz!0!SET?NtB@@(oX_TP zzh)J?$`(=6T34Zn-C3#xY%Oi~aKG-aP?dfj=94z1cN*{M7sJ}yYdzEKf7Y$FFyowU z9@xj`_3H|=GA!YRHhSP{E1tiZjYvzgZq=$;$C`DmT|MgXd|tZfO_u(rKR9LuhbHGR zE7-~VxqRPftq^8uf4%Bj5wn8ZxGo6w_=s7V_)Ra%EOJB-?}Kv0Om-4xQrn785T|&L z9818hIK6@K(Qpf1DK`|e!U4QT_Tlx}lYfU>G4?oSc5daEmC*z4^`k~Jg!B*3*5=gEOKPWtX=dT z!7G0^XA|hF0DUE91&63L-Onv?39rPi6kh4$XqHU0k1%&`81YKC5wmm~F)P)Zr#0SBs0nA?&xA5?0FrO@kS@d0ny?7kd+O_BS0xT1= zzMww&9zDLlCVzdn@=dm5yc+l$NJXt$RyY#U1!w=IRr*uC7Zr)$-> zXE;j`uRi2`?9+kF%^JXbhP}I)=WyQk-8#lG>q6EU$E*?kR#@Td8riU>O|55*8ad2r z+pL+DEndhn|NJKl9)wp9Ou|n+!Myv%QV*dfd=EV(+o;{BE-kHf2R>8v7vB!2k`Y_m zkGZpb?85S1_+nCZ78*-+dg@v_N7N3otOaldZpGl1M_tQfpF}v0_xZ8(Gvmd|l0RVt z+KRj|q&^o8fLr~z?ZfM=C%0&;csF)Gi&uT{G7qA@Jfb(R>Hc6Jz`hH zE!DEbt;qkLbIZA-G?sXkd4L>Tbu*nC-Uq*S4{+YBfO?ikJu67o-$OJ44fes;3<9`-?VaV{)gX-B2c*_8I@MPAZy96E~# zIWG)ma6jj?A_t>hFs~K0($>7Txc|#||C3havH0x34(LOYhuzh&k~%Bg!fWj=UPD`X zZEZutCv}#$4V}fTiyxx1@?uuxbqMEizmv7BaQgSm@};w+v50U896{?OsApw%VNMpz z%4F752J^B`&>O8d1GCP-tcy+2Lk+9iclB?!!*J`BipA}I?Tx8rxkCBUJ^hD3~u59P~vbP&e929hu+;>+vJF&;kh}2)R;I=45)8~Gssyc!zBFfVpb-PAwxdUVQ`5$md6gE0F5P` z<#;7#_2Tu`n_6-|uEW9jj)wQ*EW97}jscc+D=ba&O3ccdN>32niqE2sHJ5x4UWr?= zrFa+MmgY-@%$W$7SNKoN+CDCuSv$u&UWI$O-Otzdp|_}CDKzU!bFRdt@G<_KUcpO4 zUrUK6Cs^o$@7K9s>RDh4v&61cZi!hgblS?n4iYS-W_?@j3W+ zbB@0qEsC~KFLcQK0>>=PkW&8~*SM~A&BSvvlowDtf?2_Aa>FFEJb0yko%lHF>-6hH zwRbT~=k_`WlSk4qi|ZroUfrazQkmsE4&s%f8w?~aVHW4Y;*|^L#)ZT9oV-vzhY&BR zPvkHwnG-r*Er3@`czyf_%+lOLg_xzd60>5fVJA9E5&20Yf0par5wo;6Q93JyS>8B$ zqDNHwCuU`J&F+cLYFE{9>$~>UuZXj4U{y=F(u^6)jc#_#lE3P|DwVi|S=(>KKZ=*& z#li*c*Eg~At8gj%1NHa6SE`I3m7d$y%n+q7S35B-bS%#zL8-}*!L;=V)P`VzCAAF5Q?c9prwHkQa| ztMOrpS1StLU~9|3)d~e{TbY8)Q7vM-ik7nn%G_*^RjzC=-cl}ySx51Xf3a$cefY%V z7XIyh+dW~F&1lxZ{`TdEmJwt#tK2n>Yy_UHfp{dutoC&pT6^~J+)}oro&E3w^B4kBxpw|0&i&O_ya7I_ACZW`uS~R7#wzMY#ivj&nu_+AM$KpnGjXO2$c`B>bvE2u%41kEoSEQgFhX;`G|NkK z2m|z1q_cv%V9GXFgT@N)g)`#SecT>Ie;#C3G<9}G>>-|;M`73#XtAdzSp12JEhTByM5=AxIQKC=(J)2cyO*wZH&! z2?U|-I1Qx|l~$%LFr(lF3V7k_j8dRZi*|aMT8ni`Z(c^*89GC$Wh^o((^g`#-|qLF z{+_e@#bk#z*gwu}CfOvL&9}dO&U>Esd6i$M%q&OlcTeqI%%Y~1CEG7UuX~pHcj}1_ z(OS}1TK>Fn9-N}T(5e2uglmAM*$UEGaUH7veHCNm7^z;0FTB*HrN3FfNXo|hovDi-h=y`Mhc-Nj- zw7~BD+%$Xr>?wPnbHh7t?y#|+y1^D+H`(S*oMf|VCRoGRi8gEewKk!gv(}R**tgu} zxfSkPL7irqg}ZnyZeM^8X+cj0i}r_E<+s2r-;elhK89P}XsxdMZ}Yq=WLBJOs+>Td z1w$T;ugjyi{Je^lTsteMWl`JG{!ke*K6eJqn!$6GZM@zB&ImL38e9|atGDz1I3Hdu z=C!#LO|gWmWYyhQqCHrdyXcRBS?8CxcxHXH8ol+^ITqc6o?1s8s$(8~NZbczX$9yl z<$8sia@^`+mNeEjw9^jw!nuT)6+Q)n_QIKc=umj&^R3{O`~FhP9$fBM#BFY&R}X%? zJg<%{H+N)NZXM=l!mhY4I%ZbPuvl-YuSYA^SUtDBbe7*6DyM4)eGJ7K^dCiD3^dSoWj_fcDI zzpNN;dy6mY!>oO9;%A9r_6mCDcriVNBSzw#ug2dn-ZC@jDV)KaME0AV=&UTf%G}ED zl@|*ygXVi__KRjg2l(W&>e1yj=b1H|_ZGBPh$r|g^I`wONlb+&fOWP9s_({@%m>!z<;?V#y4|Jpjc9gl;UHFHd@HH@pZNu$Zg zd;28&m{p!z5n9XbZncp8Vfa1X|2a2{9^v(j)^gOfGGZ25OSf8SF$=BLy&esP#)_F0 z`?tg_N1m}Vjs1dIk^B(qrKT?Lxy4-Q0Ie0O$8aI+>e^k08Q|!0Z-`+u4(D5 z7TzPNVL577t`%;zqP1H2z2X%sEoPy$I#+&yxfRSSy&KN9Q$Jq|v+jdK8(_=>Fb7t7 zZr%GuueHLB{GFTNP^`0JX6=M6_}1K$-0sQMth5IV(NNK|+`_C#%sSN8cO8adtf*(T z@-aH=2mGw(xYats&pgccAL6+#@W97YYU3wbTLX7m=l zb7GdV>$1$}i=?y2zxL;aIxB=(0kc@N(oLL2=9%R)v&1W9lXG6E+PgHCW+ymhk@_=3 zu7zIA%C^JYHR!Hy@ONDdvmWGr4{=>dV{L8py!xcflArW{GYgHf8a``pD4m7RA-ga| zFCY9aU{>&Xv?w*d%uIYzaO*?3pcSCGvSfujJWS!FD)xsdQ%~)$VAgJ!wUL?kn}%Lu zTL%xY{dh`$QCe)r6D9WQaQs-K*k4XSM@{E3;E4;Ul?C;q{C?ff+-|16n9nuy`LRtr zMz|$^oU(tFrRhDsO}tm(XZVo+-(RV<{c%c??9qfhU4?h`s=@FoX}hYD_MMUz%3_n7PR$~=DW zv1iPkdDouX`mil4FSm{L_4cRq2lnUAkF5EIHoNZ98*T12wRTHI${Ju+Bg|^V?{H%! zJ$vuGO&xf3j$3(VMbzS>9n`d7mP2dB%*t-09+c;m=NDQlW|qzn3z;QeY57cJ-J-WV zvy}UQ-!wOCXSQXQaXl%6hTJT-fNP5ULf67|Hk&=cP0XKzSz#mB@U49QOVq;_^ZjDh z3RWBYRQ82pR+Zzg4RgNt|x>;Up^=8%< zxaMnF+`5SIU{Dpy|gj2(s&blGfTPVVpayd(1%%^ zYsbt=lh@drSpn?wyb`li$Lh^2c-1enI@tU6w>K28F2Jk^wqLByx)8H;hUj%xJC7Sr zoBQ&_Ps}WF>-r(MSW@ZS42B{j#!Tb<3v Ymo=wmTo1Dv#$IF7Q{<_iIc;YD0pFucg8%>k literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32_bitmask888.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32_bitmask888.bmp new file mode 100755 index 0000000000000000000000000000000000000000..fc06d1579bdeb13d01d4bf23517679916ae82a35 GIT binary patch literal 398596 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 s)ya`~T&7J@zB~7q)JE3Hof4G|z>% literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32_bitmask888_reversed.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32_bitmask888_reversed.bmp new file mode 100755 index 0000000000000000000000000000000000000000..71a5ed6ea0605db9670de8babc39755946305715 GIT binary patch literal 398596 zcmb@P2Y4Li)wU0zyI0wAZ*r4t$+B!U+mfr?WJ~V7_uhN&z4u1%CDbG&e1t#!hAs&%d9ma+6dlEhhM<|DPuk{@;ATyLY;H_e>M_&dK7Pnjr4+vEm*cCC>hl z;_VwD?yjNYZ674|<^f`D>R%k84gDpsE?)wx^2A=5C)SF-;x7LoycPMP;jHW@wr-d8 z6L(3TcnkW9H@CNVvwMj*v!__&v&9?RS-dgCh%Vv{?kHYfmUulg#O;l^4iR_ZaPgLo7JDK4zk0lQ zTc?P(h1a-lgoKt4lmHQ0Iar*{BgNe^O5E+E#M?EN*E~kNgFOEzaeRV!C&r0)J72$> zxR=ZH6D8QGr37=5#O~QztX?S+V(SfR8;)T-Z#ergiWtMb zO-L7)@TO#nJDq)>L(J_U_WVq77PJ$0F|TV`C$X3FT2{0dXEm>JO_sPDI`Dcqrna)( z#&dS^SYuab@pgA1x|wi!pPXGh-qAH2+q;Ontux00$Jxd#vDWc>*Jes+Rhqaf)A$?g z-?FyiF6DS!l48PJ%>K{k>$6kDo55?H+LB|E7}s3vk#W3d4SDb4#2e69>^!1ZV+nPS z6T3@eu{wq0a;Ju(5z1;Pb~~P%+F0C_CUPk`PQFNPA}=(Il~a{V$>#Fc%hrlF%I5 zwW(O$TJX6gi`O?@3VWu=+WKV20IasZd+*PBL+*`Y>+*z}%+*Y-`9I0AePSva< zPd2G9e@Lh%ANFe`m#4Lp*T$tu;RCzm^B4atPwqb;YcewAk;#+gbI+2$fBT)J#|@B{ zk|M(rlVw1&1nJx?QMxowlFsohqN-oh+%{T#EDS3hEw&#Q-cucLUSk4rL3Idw(c!Rx(kkl|I}ME|QY%ih^lLfbou z1GoMgW;v5v6*DU|0#?B+dq|5bm=(%vas{*8uJ8(G+1U-RWL6KD6k(R(Rur?8TkgO% zVP*~GdC|-o4=a9-Sxe#a&oOI9gj*$;rM&vTFw0h6Y0P84m08o1{$pl^I>yPRjtxvi zGs|h+xR_agYQVW4Vb+!kHyCE!S)r8tPfTTbrD_#&yS9 z*OX^kRh7FN!>vZ;46}|lt|=R|4!WGOqRi&I^)@`-w%Hwf$ z<(cMH<@BJY^6l8x^3qWL?hE&ccjhbk_3k|~zIJWd+_9s)9Xu=lDkzlRX_KYR&6zT! zMUvz;h%07RmxPv**)UGN`uC^e!Yk*lDdOBQN!*j;#W^}!+=J*VG?urU^JV8yakp~* zE3-D_i-o?@2r0AH=1I}YFt2=OdCOo5q0BOYzH;D|hPS9MpK)%OS5vsYP3kP6(H$f( zB1=L;+e>Ibd$C}@)guk&x0O&wxYdd4ZVuPje6ESZ;N2K_HI8$2Y+nhD$rT%3X;{jv zNdx5a#5^gOlrM$T^CdWI0GxzbONXQLhKjW$!Yi0%G}ank-xj#MmDj5}E1Fq{Vcb!8 zbz-bIC(%>4qlfN*d3U49?uB7!EKiyB0J@5BivwMS7W2bXjrGVx0{&?{%fjI5N<1%RR*VyRVPfd%Bx*(Px&m1?^EnXQ?i+&{@tB zw1n!cx#);Fsp8ITV|11>%bEbU#wST=WW2b;!_0EgTK2%^;`ZZOo!>;hGA znsP_&hVq-{&E(0rD)L^>M)Dn>?JND!a(8YK@1sxT%=0hE{I)5wC_Po)I{UeN?Rqk- z+d@ey-Cl+zr$~OYcZCd=AxT=-uP0|e{mAgjCNH#Zn;qvCi_DlL zS$ju|w;vuILRTGO3$yGKW5~runh4&(djq%Z`(QiV3f(u}gv~Y_JRdFQhhdg-3r?AM zP52TcxGA}3T{Y1rh1CZc#{-3gzgm{oWTP8}T-;THVb&wISLhhdhrgFFYVrTL*3 z$q&7Coabx8xs<&EExQy=J0B*%EuUHTbn+gUWlv1zGlE^C$S+1D8m*)X7TSzb<@IGl^htzu?%;+m?w>dLu5o@jUF_x0dBAtzK`Il1Jc1NeJ{I~ctJvz!rZ z$q$uThFdVpC8uy_a~zN#I&*of-1<+LrQGtFwTt73P-dwf{khyQxH8Nud-)G}q4LTw zYZ0$&E=-<%b!J)Qg(f!~*rYf&40Iz8Y4as_#@Vg-4*QjEM_t)_g`uz{RQA^+=umg>}03bO0T z#jG0S-wh-Px0G2{KA&S>J_GVXt4ERqyR{ORyvEAo7*J;Q;&t>Q$AxLp&9HI=6t zSCzlDi;;g1N|HB6rOQ8-jgj}BcuKr4zmnslM#%CG?d0{ZKauY|Pe%7zCh<3=$;dXT zGPG4|!>rEnt)y$qWJ#=DOTPZ-J@Md`dpkM-jpdRT+6Q44IibCKD4+8XJb}UDZ5kjp zoU-7QA0aeWV09lUSe`4vWx4nx=&R+NLmH~J7Kg)L1kV=2D)g1|%A3Y@ZX(ybv0VR0 zwUeUZ9i)()FgUn_g!+d z5oj&dS;{PT3S5aWD>S+#pA&)B@`fb9max_e^=~R}KKxRx)f0A+hd5o)UU)Swo`~Ct zui>p2UMaJ3I3EaCa}Ycf4_S;x5t(_cyg!1Z_GD~??l3AAWN@EVMWft4%@LBz=DQqY39*u4y$}D$S zWAP%)vUot;366555>cz;Zinqv? za=(&o_j}}tYBVNwsB*^J5 zP2?RI_-a}Mc{;wj+)=Nh9H>!FHpP^Zl@)H0CFO1=N4!Oijb$Cc14d(ocH&Rty=z|R zZbX~FE9I0QK{Qs;s$99Ww3lI)jixGQ)>0nBEO%ia3C`~&fq6Y8G^>XMr*WK2;@XeC z@G_Q#9B+j2(b z$>mYGQiR9lb4z(;O@pzs$eHGbd8OP^Ub!pKR_H4aeWkqm5wmu}6=fD$%RRvMAbRNV z2os^BK}?o97VfNhyDPZ%Tc2<(AK^XkPiu zvLZhd&8=viWpcw4Tvv|4ts^k&AUXJfUgDA;+PmTVPPm1q<#GNRX07Ksfe-Jkgk5k; zy?AdS*Vy@R0cNQW?=#Dp1Y6*iH73z8OSP6aw1r`o@!|)-s(xrNWmYfP)dOC2gJV(5 za`9G7eyGgq&bduo!K}V;DIbo(EY(`-#~Ws;uQfWA^B#Wr%$kMfhFkU=Jb2Yw3)%nw zf>|z}yN2>gYZX7IvjQu^yt0;sy?51D$}0_bA(}*)HIr=#W;tW&%Y}6O_%^VsRYSw9k6Sj9XUW5&nYFX@4RXB9&GJO~vhuq!W#st^ z)#TMGwd9|*YRl=S4di@kGqJmo-*FuYc5eum>KSHT>;n(c#mcNuJ{|!1pyo88{&?bj z^>g9#?H=Zpax2)YgM0_lKd6Hw>UALq4_|ZL^yCAEC8E%?XPZ_m;pCe5GP$aqcWZYpHhyvuyl!JQ?%Bz97u!9=K6ph9!h>7(0XTCI-|Gn4>?pq234Z1z96H68@NVb1(E-c6 zsBmxN=TC)wbM?-ZIa>Sk?&j~^6V3xm@=BSdywdO)SG+Ch!TZcQIsjeBXLFD`h31EQ z&=cf97R+*0b7+1TVV1qBgIFuMW~hIy%tC9~^Uyf6(OEO$$287K@0ekqs*H2gU+&)S;NT*m0N?F zNC=%1LT43rYaoR%OLM_X?d!>z4s}hOg<0RjtP5=#k{33VGw|x8ggE&_ovL!O{4KHx zA8Skbn`CR58{}}=o8`U=W#rdoO35F}R+E=2){?)+)RA}U)|Ial`I{ZNMyPJeZB8y2 z$92A;T+GGm?*qf~;^7pZZ$8Y*gINRG@HO(qUVK()D-WOE>&5HHrHhaceVfI8&8&KZEQDEWYgd#_)vC(23N>Uu`}JV+ zM0vPT9eK5NO?jtdGwO$#@@jqu`RwpP@ro|W(QzYXPTy{FDe%2mwkJdTE|ZEkC(GbA zZKNm6>eQ@-WVLK19on{)nt1(1ul?OH%Q-Qjm|2<^I^={tv)s*aYkmJ>W;v_4mJ>d+ z3KyZHuEi|;D~o(EFe8V0US}y74{t`1KNHF;Z;bK_UX9A(oXFvvP|vE9xOr%|a`@;(t)@JiVg#VdVm zoxpD+)HB!K1np69;Es0}x#=~S6^!sondSF6=vKM)qh5!T?ALLA-!a(ye_)m~pWN_T z%o>w)C9?*{hndx%W4r{jRBI`-9F9-JEX@z`vJ9`ZhN!&KIu-RQpIOSSXlAL_Qf6sr z&%^%@W~sNQ-1={rr5dZG&ML_)TX{7VzDIJypJG-)R+v}O%=!+`=p6ai`4oI9nDu3g zhSy})p)xngz2!?AW<687s{FZJth`#eru?%;4f&#Z1NtVozU0EveD-Mo9v8e+W@%hT z7YFjGg($BGi|a&DJ`D4j)sxqd%g^I`x%sU)*Afl0KI@Vo?{-X(Kc_a32bxxuqYcW+ zt_BrkX~j~8Su?6!FAHjwmUVS1$>!=YvbB7y>|wu7)oCctrnHp5wW)2m_37Yjd4c|y z|6R96yuu5zwO_7bR>&(f%o@>erBp55R)(ggN={r{F|)GxcPw6i!QcNX-pNVfKBU9= zGW$nUE95*xV>z2R2Vj+nb^XL!MXW?Wt;h?9J|@)1QjMiPy9W=vW&Dh8>1j}21?TjX z%hS8c1vJ)We0OgO*Z*lf*mmc5BqsHyK14nPvs7nke(2(BS-Io^c=3U5ZRB!xihM^M z_iX#ta-LdZK{tH+9v$UU&rVV>u(Je*=D@w);*RMXe)LTCaUQ-F+_D#= z4VU4073(a{_4Vi&eXXh~cku6>FoC**hP4aU5Y9gMP1px{-XYk4-ty2}9^RG-ym?RK zB<#~T#rHLoC4_U5pCfEoWuk=6Qa)WRe4XVpOY=y5tgQ37rMk_F=qwkVrL{wg+)!(W zA#y|Y;nmYptzprh<*1*fKKyE~6=*GIStgn|1E#|Tw3dt3vZ&kJGhoP6I75Eu;KO_4 zU>4l+qI@lT2)sgX8BZ&hoUspji|e#%Ew2l;M*J*gR=Z?1eHnoPFX&ob9q}7nm zQ)A_eHZ|p|)^+5&Wc;n92J%^aeR;QOeR;Y@MLCX^SyM`6U8x&j!L72R+^uq$9;rL& zk$R+5C3(JLP5Ddpdh+*bwd5`3R)bov}RWu{5}npNcDUtS9H ziasRw&{&fbxw|;ud}e7*sJvPm=9BWu?;G{mXTtPlR2q4x%gY&2{;lR5mp(Nz>}Y2mga$13sW;xMn(Dc<}o>?GE23Z z=9xdmESp@&XO@izuX&Tnoz{?3U4vQn9P&e$rTL*ZnLP2AFslz9eS}$Vch1!av((S} zNoJw9N;1pT50zPdZWzTZXKE(7D~z4fp3fDgEWm46Ox;HFLvllJ9mkI5g`3!FU#W&N z%W&&TX4%{63Aq}xwuXP!(cV;;Wv}7yU4>byvkbH5z$^9OOEAl&-@zM0o;3=t4{2t! zj-MM|q*iz~of=r1>V{dLwy7qcB*n;QUmXe6SzBe;&0- zm=(f{xB8NgMUYj{yiXMMZrl-cs_F0p~@d9wm zlQF~AOQkYxWJqSJ49;jP+3_uFuV^@?)tg+I~TGme}BUa7`XFJ}kmp?X*w z(OEFdBM&tCiXL}w87xqLT_e(m<4y? z$MfKbH=Ex(gWsoo8Q0U~i0%kv~4C|rZ$)F z+9exqslRoOUam{gc}K;S(+1S_=Z@5TFDmpYIn_Vo}8Kg+?-GTg$`3T@`R-hl5z zcxyYNAGj{4pS2V|EJ@#Jq}N+Gkxpr>&RKo{WEB+&s$ZOPvR@dhfONU$Bkp;leil4LF3x;R^xi| zShWhGx!|&!MONJWD_KLI!#a9OcaR$%!G}L}YZ-Z@bOrfsrC9lMwYu_h)mrk87_=K& zE6}kOpAq{#n0@5)at6Yy0dZncKM7IuH9cE=hC#wZZ+ZO)coq(Q%>`d`ecMKaQ_jEEizbnW93;={8HsNK@&Xk|YDt+el`M zmXZ$hy70I`Yy~;}m*=UEQ5)Moik^4Q5j2*wjdNB#Eaersp+k?mvdUdb&P8~Oi6znO z>PNj02Ei<%@$xO)(me6&F0I4d>eoSnL%N7H zl5-W^=1t-Eo7|B7`w3>*TX>Cd%Z6LZDnFE08psYEjy_j^R(a>H z!=F%{wK_w5X6f1;tsVM)mOTqDL@~>q%Ij25%jAe`Rck5Z>BY7CHsg41B0>6|F4M1h zppOO=}PO8Lt2e!c4QeOlA7H#LC$7|wq1nW^UUSkvGR#AAn3%B!DZmYv7XX%Ah$ zWNMHt!wYXLG)BCWqVI|pwm$k6+buzj9buxusjA>;m%Ivb0Wqal7 z@&r8#ucS1Ue|2sxXUFHsSJMZ{w~Ho=edl4BnbcSgEuAOd<7a*ExiWCT3aMK$Q*x7A zO2@_xq(c(^JJB;MQ{rk>mM{MLXTvH7edSOybGMW4_`F&RTUOKeq@40uwWxQPS;{TV z0W}w-N7Dp;k$PA*8Y?stU!3)XMQAQ}8RxJDbvxsO!!CC&9@tE{r`*!qZ~_`^EZ4_T z`0t}Q_Na$CgEQb3I;&5zT+B(7Z`;!soKjCtlNT$yzG@pUXET%Jn@&k`u3HLPi~8aK z^n~_JjNyEpNFUcU_E&Y?FJabp_6t7w;lL{m|KILTeazQjS9G`s_&VVnWP6D39pNz% zf?FE4dRau^HhRZ2?x6owd#=d)w9j4pORp9lUpL|BhQ8*~dSjH%vLm|AKE~gNS@t2W z4@PV8`Xk&@@7eTeZQ?xFSkJ$;#zxPB&nypSISbl~H7|v}HaJ3l=uL$sFw2Em+7qwL za$uIL=ispL@vq0dmzPMcfv)P!b-5?kY?$TZ*_!?=?RU`7`k{L9sUd0IOp7v|p%|F*W^^AVw~)Nlx2e-&?euC6z<$qSWPy5>-srTL+^ z94#7Qmf!18QfFPktckp5V|gFoh4zQ2_h*ws2hpO1UFe_6j+5`w)W^buYFS-AqtE=a z<~8VPuWfYJYjJhtVVJcSW-a`c$ShV7&$;C~nOEw1S%$Z@zVuD9n;xkH=&(B~RFcPI zYNNMmi2CxcRX^rI5R&Xn^fmuI#rcHDClD^+>JGYVx zz0;+rAH7~f=uaKRu{?n_u&U#JhFQhAVT4Z}K99ow6SihyC>%Z+)^Lj%WLx^ zX1Vm0T4RX`Fm)1or#LqZGs|7ZYgx``zN~#XR>7HdFil_QR=&3x%|uwRTDcY4jK+dl z!7bfP6tjxlQMH)AM*0e7t>Hb2VwRsDYEP-Feik0Qt2rX;cdlTT>eCX;(i~cAbV1gY z7j|wc=iAjKN2Eugb!|D5Sew4kI`Z%Mdh&6zdh!My{NtRb$|TiUGnHF6iOeQXT*P)Y zx#F(!H_Lvs*NM_)aCAv|1`IUSL(6Z!<*q{ zu}<4x+o1Vjgjse!YKt(dC?BrT8{weStUfK|at>>XVAgqZ&C>%~$lr46%H44l46|-) zTuDwfttN}=mY4CBN)ihjfyEvG#6Dhh+K9 zp*@CK?^p%WrSmjtUcIB_XSR`?R`HV2vZdixFLYKD^5l13ejX2Nl+jp@G7F7m))Uf) zr8%MIf{yZv9;{+sY2TGrofd+J;WV{&KkpUMt{6VFN8as^JoZt4tOP+M_=OF{cZau)K}`m ztT4AeYt=};%xEfKQ6o8rH&UQ$r(l*niu07;X>{Ct{>DP~4?j!!>aK#9Ysl#$ewMq9 ze{bhC?BHuV$@6xx-)8#*yL^WETVI3e)`nRouEDI(DV@RagU%{MX9dt%rU&a6=&a(t zEb5EVy$)J4H2#?CtSDwVhsoo~51j)&@!fb|(OTN4WorHC4AmaqMwm{1XnLAh!=ucy z@wD7U}^(3#=-h^f%lvx_VP2`hsE3mn%3BxJh>(cxYzUgcTf3AaSEl-)HT5Clb z?-lzhf&G8uI5@)*`m3MZJ%|GlE{yF|0)#&05iMcJazm>Itp6qMirgCv$3;6=Rz1^pQJe3qH4>YVO zk2b3+zrn9s!#bU@Rd1Dn70SvG))#G!iIvCVn#!MB$IDB2@Xz9PzS=KM-Wu3W{@Jg+ z>|~AP^QVr;zq|tZhg&Ea>0_jM`3&jNx`kvnZzO4n3DT~0lJv`JC(U5i>wo>DVV1j_ zKJ5sz%zDCA_)@wa2VPy3S;ZQQ^PRlUXe`xMgyGk6&i&QH@p|!M){lV`)W()^?h@|u zVd%0U5}3;xn`!VWnprxNrUbJJ;CrBV61ub{S}Q)RwUX+~CoRMA8SAsYXxCi6%|VZ` zZc3TujOIMm-#ZIl{S31VuasFnuasFPlwVip*3U6Z{VdH3Em-n@W!4ov@Y+XDz0l{C z_IpL^EbWEAf?3KfwAQtlWqJdy!YtJe>eKuZW;p}UT@hw^x#W%!W;tCW`Cx=uhFi+8 zU&1UrEuUG=2=diYcm!kVky5SYGixqPB0to+p|u27!7Ff2DB%V;PMH?AU&Csda|q%@NC&8o|oDz_MB4Xsj9Hlz1`-KdGYlA36k^+aZU zd5N0K$D_N+$D?}49lblr>yO?q@8D;>8aOYllZQ%tg-q#_mTb6{nVcxusVOq3bG9U) zIp2EiMKttSu1RCa7hnwaG}AMR=WZ>k3!k+rTC5cPc=; zTv(JRXXzik0LzNj;MHuTf1C)eW4)X{X01$UCB6>Ncb1}c7SY!^PyPB{e8&9F$vq@6 zp__#8w1UjhvPM%68pgGA5NoIDn+?!^c!9OG=UGQ}E-PNX&S)&3wXQ24wX7lUw~CR| zskP)Abany$mpzscqM>%FyBh&N^JBd^=fxgQC4 zKb#^=ZBXljS}QdD5AwRD!1nQ3*H#~Sp(n}9VQ zq29UauZpbW39id{v!G49l|06ax6xY8 zTsScsUuy<_Giwh$?TJTgMfYi`7q2zM(BLEq450Tgk82C_nnID8Cn2uw7Ja35Ha(^t z&=}bq_gU~wd$c>J;Ky^WcY{UUbjASZdT;a!H5c^*yn*N`G`5B{g1nFjjp4H$N1qn? zp*M~FokjjP2k&wbKKbIX5AVV(Zx#A$4Vs<&H>@XN82*;=)V1dde_i{p%vwb4kJlVh z1HNe}>-_LGaQ)NunXAxQEBU+2@wAqvqS@K^MeOfF^wwOwKf)q6bl`kwI{i?SnH5Hl zmg*X7G+e^_3l3)eq1NlDA3Ds$(BAZ5k4EBjWBoGg56`!+E#I__B}a@QN316QPQuqp zsx7azK&R9xBfBf1sputG$aYTYaDF%&on`Vxa>g~+iR`}q2D$6T((-ueO7d)_>hgTG zSov+Wit<9E7$&^UI>&U74jl1InKee$^$s ztc&Db7s(R~>DRP2P=DNvwjvC#egU)GDfG(2EDKLdxuwhr4aZL(jNaGzH0YL}%Jui&?s6vS8OEr`-%etF+H#$#HnRWj-!z^8^ zcr9l6yeei^gj+td+=KKx91Qd7rc!81 zTjYqr1!(JqcmmW9)r)smz@*jab+ne&8jK%LEz#5vl~)mFX`iiG*Yi`%qMz;OnB~kv zlPb5+rphd92KBfIv#hZ#ugR*!F;$ikDjf$aBJ?3*U9=Du9v+x-X!muFg5mdBE6$`jPcPT`}?uT$PIYku|eS1{{^Ox6JPPBYB&-uVa=ZQj_@bSONOV+C&X(E9cy{ z@!>7pa$uOl90i@H5UwAhJ}8)&UrE5N6X2r!Qh8`Qcc;Zr1a_t!d0$ zn~V0E$9}^t5548lU+S$yGtuks(L3v{S9bl7EBc1Storly|$cd6D!}g;u@@V#DrLR zi+u5!`W57ORr*QkGhbJQ9<2)3)2DTviB;r=8aqnUD^>ayxu;B7d8A?`c`7DGej6Jr zzphzT9%Zi86L{q>z{JzkEel8MXUTib=jlyE7mh^-jzkZm2c2Q?YAB!2V0eZ1u3Ae& zd8K~5@=Ei=OOYrVkRo4nW}a&6>hfFk;j^qgda89J*@EA`q=;=1sP}nr%hehp+)`#a)EPqL zh&oeI=fGa_4{F=rL;^8Mr*@(%CSdnwdNn1OPh^$G>#l_7MS=AAYj!-f9^q>v?J3pp zxm9%gNctbhpV3>6>aBao2?<|k*|+m|3FVbjf>(xFxAV7@TPI=g@qDq5_Pvr>2k;nK z%cC<4qHAP^Uz#heTK z^ZYSws9};rPKF`$mP#?CwU*XIm0MBF(wxuU6!zrpP4sjT*W%TG z!z`^Gs?O57MQ9@2MrYZ0@Fkh0GZU3r+81wku1^k4k9tSu#bnlHE<;V$@6Zbmvrads z_Sd4OJllw#g4mm7JL{0w!>$cgZkA2N#>zLzhDtY@*jwRdIaa=mJW!#cJXQrioPPM< zv5x1-y0P+bO}<|1W@gEhleaq6k@L*w@Wyd%n8atQzLt9O5oVeB9mDx7hQTxHgW6N7 z%u-$jSX-*RD#@(xsFD4RHQvv_T4mNBGU8=l>xQO3es$eShFMQ1H_9~SEtt>v%j33H1adWY&R z@;v2LvBu(kR95M1m`J#+kJeDWm{5JB?1|_moyVmSo^KP$2l27INa$P$GaJJHIoYnB~x;rCLihmd9fcy=9}d9Q2ijjn=XvH8OKfYn@HC)(ZLr@U(QMmga}vY}kdT zjD84tAeH)MFnTWQ6tGb`w9R58Y z?`aXt!jtz_sNQ0$I+F0$T3Q>??nE)WqO_H2EM=8OXg$7!##;Qc)%3Kkf|07TmhtzN zwB;CPUlyf^J3kx_>kgG!+7ItD%N~bLfmz1)LuZ-3QoML&maackW~t5!&v#`;4YO%3 zF^Bye%sP`$joC6W@*d23sZmvVs75I{TpWN+i@vYFX6yPDOIN10>zhxDfMC%nx!(bFI2rOF$fo6A#6#xURETf?kPcRnc< ztG1AKi9MumX0~){*;=}^ZY$kW$qlnRk{>b;;>$O~yi!k{{3&GS^Wlptv*49ks{^k* zb8iauvBJ!uo+;>(8Jr_9Yu6;shp`gagm&0C3Qi0cYZduWNoHyP z!CZd#Z2pd}LDU-JRB{;&SmV(X>W#yf$DeYB(EFh4dGeXL&n(5uU3j19*E*lwOiruT zVr}U=yjLG*P(!4~{&k-=a$z{@c_!va(G2Zv?M+>YSLAGBdT(!W>X0%-|eVW=-TcjxbAkWvTxW#jNl;HqKFc zOLYy8GE3+Gsm=l- zE5odP)yo)W?Tx)j4x+(M#FmzOW8oFGwI|@!6Sc_;>(-Ea>&MESXq{7aSX14wlsubM z+05Q6Vpf^1i87xndB1W?d1Vi88P-_JtdVKt=k%k%tpI%Txusj>m0qXL_lajtK^yr3 zZoS3~!xDr*P*lYY?~=vQ&Oc@MtkX=mM)|7a^>r@?{n?oT+?25YJc|pT)YAN4{CtL zJy_&}s=-_$h`uUf8(PKrrZe-l;vesyLOoeTS~-XsBK^{Z%qJ_L zU+Xfx9%tIe%SUN(@?M(;@*&$#Iy9Bfs6~A@Ad}fQUAdnH>mKLyG&!$D-85B-Pk z+C~lxx4c~ge~8_@7pyH*|Ef5At;N?IdLR6?Ji66?Yd@*>!Fz}JS!I^8>IAGi84hJu zIC$QPFt>c}=r(v9Pm2hhAb&myuWqAGcsuWHgj|$N8uC>#(D_dce_G&4!G=EY(qV+@VFGhYBd*z3=8&~)AqxTRWPBwm+tf%DC*F;d@+dk5+4 zLT_#={sZS6y|VUF=0PmakRbi0s++8JKQPO$5tigtkmqOwc)sBsI?F|8+2|~HX+;HG@xoN)2GGzqdg+5(^O^|4n#3a`^}YEI-6SO!zi=t?(mBFu7S?X`(vio_pF`% z2A%bJi)!*Qx#9Z>HRW$jW98{uW#uG3*1odB9MD^g&e}~M)PZWZ$jR!Z@otM+;sbI#8H5z73<(f2wm`L4a z40--=YJ)@QE7NPk7<@vm6&BnIGM8C~Z%fzS9cW>g#_2fB@1=rQVM&v35(8J+RZKB@9H=jW^V&wt*#Qampx?-qG7XV)E4 zvsPQlO6n~=(z7KeJyW`*rO^YA=1NMGIip6(rNT2DqnxvN=`Q(`g&z44vtX3ZtiUqv z4FSWHSspsd+c|;W?`eit!M&3t2(Lmr#&J%JHQX{x`#EOeH~Gvm_u`qwxuwjS2EQg# zOVqx2?KM?@iyDK4KO5k9);atd-_TEbI#ILe@P7 z>C*_&cNSU;uQt+Wv6cJ@Zh5T7DGtLgUYl~uk0@rDwbBu88D8<&@XC1a{0y@mN-|6P z(|u+cu0-^f&n=%>#oRgthIFfoKtyd`Wv+;YzWW6D>gkxN#3Tl9ze%(6FeEktMOy7B)DvkbR>f>~N)Rh@M;W;s1zSA4UFbLw;MYmORyfGd$}499x+4;*xs2ze-qUKX`{Z>+)CVssuXI-4_HpEa(>NbyigRST z*oUV{=-?Cy?VTv0-RP|Cc<)+Gm$Lo}R0bc=3ansYOr2W!7uzT%WJVJI>(ms+aW{4ofxHX0+E9_QmgskM1w^+2w05%^Qj0`3|~1 znzhkpw!`sZVSN=fKg&DG^G$GVIH`FedNV4lW8|CYEI%BbUqiU)G!5?#)m$2UP5t`_ zvqESq4b@m0%B>*xw6M@u?h$hM!{mo(EDi4T6je$Q{sGp@HzCKXpMu*B_eMr8)7` z2H_KZTA>c;ENZ=lTvwv?R)`$JR*#Eg+{}TXCak?&npb-C)4SYD!J`i8;lY?7FYz>V z1{Bx-5NlAhH_{n{HlR;m=ckA<5?m!h-G z+%fV)U7Kvy_Mx-1cBpHntzN8|W*v{tZ!hc=$9*T5`Ik{&K5t!1KA_Lxjb_YFMrZw@ zUPZaL(oJ#zowd6>_uzq78Yf`VU3gdzRHHwtS{3=9YBBPBjad0(ZM^%saEsjV0dm9p z8dZ=-5-QXCSwVi6P*(n~{a^#or&`OHiNu{W_g@>{&5MqwtQrJk~3+!B+#4HA+eWaw@H)q#6;+%z6fNz+F^D(6hJ0~tFA1sUig3%_3R9I^(d&4A zf?0-JS7TNrFAV30*JhULE@f6Uw|r*#+%mkn9Tt{gmTIm4hFL~y?PR9GFJzYSw^e5; zv+%V3V`eccPUrtAvjX&cM>9+HRuGTNXO?oy^hEf~BL8=oM{ef*a=v&P_`oLcQaoz$ z!D0OTNX{G9(kZtr7!e%L`J{SlI_!WY%B&D<@tGB3t+R4SqX-s7b4xj;T1+FrdL3n! z@~R}WLW|)y%(CXg#b3ZIGY{h`%(8p)9z-$g68DExW_^*uI_W58JzF2{RKEE~%sNj0 zQ%Pq1F_s?qS~Zx-5`Ch)n=;CeNc z>(y9%7yPXA16c=2Plh{+*QgQ2tODlDM>DH{xu>eNlv$VYw7x+{e2JF&fY0!i_RZyf zX0JYqU-J;>1Re>^W1^Bh!XwI4B8nl;Xrj>&x_3m>aP zN{X4AH6*`}w5VP~wk}v?n5Ev84J*{kQfArI^BnCRXFapt_d(YPUS3MjFIvd_ber7I z+fR+~*i3wz*~QGV(OEV+%Ti`-8%@tOy`@pi3avnAsm7w#sG*Owx5CV}p|`@XS8A_) za8WM_a<3lUx6s^PW>$nZoj!<(^cXQqJ~$+eJUSVj%9@_ut>h9l({p%OU*pSv(V>Z) z?$B61<=XxUv**tAfm?%9lgT*W@om*<|dw77?w;#Q=H<#-T z8kSjiIy=hDV$pe1=q$YlbF|K~)z6xThpoAxYOM&fyourb&>oA9;r%P{LZnDrUVdLJ+7b@Ic%Q+Ip5er0(GAL}SOYflC47s335 z&D0N%qOtCYsVEP{(36GE`lITs>eb}AnyjU%Rb3vfSy}ETZ@jyHIeD;YMP`PUm#3PS zl^0X0%X^(0Nzuq;c!iHSogQ2I-t^yR>DB)xkI!ispYJGMBe|dH!9(jBUUlca<^C29 z=Ux#y(fEwicCG%*SK({la4!D4Q-ZwDXZdtmLwTHQ(?hIXc}jCeW_Z5Qw}U*%`grYu z_rClt{*ll>U;I+*-0SQYE`xstm~MB`xUbKel0$1f0vpzfuqD zYRn43tAd6746_3CL}(9#;T8HydF7p)WAZ}l5FY%2$ztu9@FQk98#v$A(2Kb;%qhbx z^qOuBv*=&dd0g7Zs$tU~W`e#8tpg}W&Dv|#T-e>a-y^r0@JDr8o9i@J zv%!=lgt@CG8Ybmpik;^Hklv##XQOvpuuY6`Hx9mvx zbGLLIp;=3)%({&{G18yqGfUS;|5wb~P5!;JXEC=t)(RUx%XskAXz{9DJa}_&i)d!e zfL*3`$aQx-HT?*)YlI)gb2BX}>13Ra9?jKew(!vBsmf@WIWT zXuK`M6!JvXTRyjxT|x9xh&)eoM&*+7DZo~vh_CsNO-{-4R9_iZ!7F8^m$JI#Ipv*g4L{uc!lmj6eB5=&dLDOdrl{B9F1|PMP&~|4#B8_XPag2DDG$ ztYOyEZ+<6r+6|Nz4LeFs+F)sum?RzBrAz0m49U;!F3Gj($ghtcCyy+U;G7<48P*fd zr>}E9{Q%VS?1fyr7o)4V@52S=U0r4_LtqpA*?XsRZYr-})u~7vnZmW4o~#2C#o3Gh zzLTCT?#pa%hE*H!vX}+xu0^x0;@VHxI+KeC^0;UP*MHMT(HD;)9HEu;Ttr21Dc;Ot zGy?MkJv5izAJG|~&Gmq5BPhW^h+>vYFTB>*?8Omg(eLDH z-xFHPRc7JCyOYTem09Y=(_d6u_=v(9aHd%`fnXsy1~-v@HvWwcg^9&YWu z2*NJC_qFDT&Uid7X7HI{PK=p>JXdo$Jg9|jP5AuLI-u4ARZD3o$23%jY3O4cURjIK zPOwVDnU4>x>vkf{QjO*Jlxi(N=V6#xrG6hSy2WRf4YLe)d%GnQjY%LB3Wy5nvA zHny^fC-LJSMq{0#CqnO&dV*f~JDDl^XjA&*S;zb$^B!JL=I`X9wMO$^OoLg3&dxZ; zoQHq+X&_(s<8vC$Yl2zoS=s&ZwV3&*_n`LIE(E*td9e0D=K^}%SGkb2qUZaxm2c>` zJJYF^yv$m=-@vR#sT)4lz9r1ckT>(Y$gi0z{O@!yN&d+rf->e=_CQc^B!4SPuU zj6u@6C0kK8JH}E;?eaSSM$P<1n+F4^Eo}+3l+P?@4S5XA3cw~ax0!A6 z{d^)!)8}Y}s8trvnpe%GzC6qcjiHxlIGUgz#}UjbqQ+FvGfB=wjWFO&{GRx2HjK)GI>5Szom{pQjFiYnI`l0O7*;~piI}$E^4jLtyRm`sA;oR^S zGfVTs2)8s(^q3=Me0b`H$}GLVw6lbsCex$!1GBuDuq(nW4%h4eyb6ww=DxD{cR-Wx-irFAyLEX@&r0kdr8!sxtX zy)TXnx7^uyJ{YyG}bYE`or+;NGvl=>!Qcv zU>eMNL3=1#(9_thww$L1>rB+X2fX;H?d1}6l{0ybDmS5R;UMhxEC6iTt=Ct_k;JDr89(I%1)4{xCT8z-S7!|@|0Px_0Ez9^V`cezddP~ z^E%cI(Kd_UAlCT{+aFN^ecbG`wGeBS>2>yHvIte z&|1vC3c)N3UKK4IESDAymVy-{B)D+`wXzwUe+$S{=8FxpicZdw!V@#afmt5Ra$uIb zdn|qzd_!ls=q#PL?!hbvW`!c!Dxh0fRJ5kQ6fjp%@0+M$ukHt39M4?uNRNoIL?TDJD|=-OHh z?W6LUg;(QsQyqbaqq>QDlFzIHybje_MXdD*;%TYgQeG9%4{@1#N+I5D5N280o9gSV z9byfj7tLUe67VGI;!pu9?xyR9ZOWB29@?e(sv}

    -+N`arMgP_rR*Y9lPTjo z^py**G?Z69vs7bUlUdYRJ#^NOnZ3QSPmAE4r$*={l`}kY*)ORE^Xzn^fx@sy6E4)uP3sS<>ef5 z!d}^O*I;s;H=c!AmV6bUH*4p^a(%rl>5?)?vRk9KS|>_cYHP!+?CcDgnA=w_zW*W2 zvgOjuu0P4F;2PG!ZJh#_W}~kb6*EhDRd9U9Rhi{%8BX6O`lfQ4Y$tpVa^t_n*-yx$JqETQn(1M1-Ddhsn$|&%UzGwr2iqBS@td%fX=!Wvot^S zb=HrV1y9twGNJjPMhRy5vzbdW%bzD-QfK+=7XM>rMRV)tn6;3#9VM9MP2qZr&T_~P z!#xjNU$4b1>fv4#v$TGAEoLdNlwF2b^g~>t&Q!pR$Ez{Rcw6ej!$oCQ06*($xuKZ} zjTf)XGWYQEnZ=wdZw~vf@iWZwc@;!sDX*+3UO96)Z?D2E)mYk7YIK&FRm$H}W|3!I zm06}ICK8}){*MhUzJ(vVI4=8={!J(|e@?~yg){T(kPU7>P#T+PRXM8iLseIdy+0XsZyvnT6T(fk&&j9>^2(v=W zhVt)Q5=1k&+ug|6u#u_ALyv9^-z0FL8h6*SJ6Fug7x@J@=k?Zpbie z{F>WDYGq2dwnNO?oz%9;#ms8oK2_!prQiCCFAcNY1wF-@n`6R5XW8^>70t_I#>@b@ zv}U*j=xZoCI9);~=ZJd;I_r-4aBD6(;!G3nVKmmEiTFF?IH#!>?ic~%@awmtF}C2( z=zRH2#753p^oxzp?cf<{xa433e65i01vkN~E%@B}GlV|&L%$bT$IsBmu5%{51v$L8 zkk#z&#kD&Kq z9Gsd=JyL6uczPanN>j&Ni4NJ2kJp37Vn1#6Q)e(++?yw~gWd#QV<-|jqx6bich08k-vS6zfE4L^CjFv{n1&GP+f>d)Clciw#9Bfhg}>uTX`>y)(ZEP`u7mC zme8lAGvetb*Pe234l$E!EVE0!DXmQYqw8z6cIb}ex=TLcP!}_^dhy}4_tRy@tk&|? zi#PWW(;Sie@p$y2*yvx?6PGgTNn!hj#_KYE7xkq;I^QE~d|MkI#KpTc_wqp}YmLqH ztEz{>@7KSfp1;mb@dluMwAXYPj9@OO_K;~Wx~^9aF)vEz@r7oxolRb&c^%;`Xd4Oi zBe|lpFdXXDYiM7WhR$%+@A>^$nqxY%c+G@8lfN@PoPUO<;G@Avty}86FZ({FDq*+ zRgeSJ81JoJRUWL*y(JpN$Y1dI-{)F>c7R@o&{4Whi}j_K#xVbPAoBQ}w3E}DtdpTszwp%LDl4t?zQ)AM;TE5S|%$1HXbhI6T(N6d2Pi?REmpf6riG--Z!>hTe? zzM_Yi$*fPQZK{{JoA-%BgId^0&af^R!yL;*dWh8Y9Jl7;yTk(#;yV?$)Jsf>TdT-h z*}3(N%#t5o%;Hwel6G?S^@vsfD6{na{}8jpt$&nR;+5*~I;)1>;s1qM;mzoeh*_RI zND;Hd5})0cuC4{Q!eY!yHLJ=lgGxorO7i}aD8{T*bG#D&PG+%7I#j@`OlHNbin$fD zOw0jsogHS$`|wn0&Y{2H0$Y6k4{hOvX>Q$HmKh%O+Ed)uYgH=P@9|Q6$a}^ioh{8? zMK=!*v+~&mcw}%T+uy%3yRN7;!Yo&dA@|d{Za#IGWT)CCGiv}|E#`Cfc5Y(tcWF*d ztD*g&O_u$Z9gjcl+}IxNNq+d?GRLgLi9-8icfR%SH{0q`e{b2cyJfS-p+RmvYt+1< zwQtthS~h59>ldvoVpfuC)k9-APXW98)HlpWZxt+N25uF5ur|V_Ei)|Kj>dX)9swV> zP2)X(GVlG9xF*N(J$M}MV~>i{S@a7d-h_9d16FbEqE`Z#rEr>MCG~7{iz2}}sL8eH zhPCJi&i)D6^Bi)kkM+3(yFjJ43iY$py+UcAc|7Lnc#5bOhU^E_IXwx^aZA8|)#4M> z;x&(WlG^(r-p>_Za(#T-q>_D%PyRD}T>IeLan2;myE&aBCfJ3eUZS|=&qH%b&q>!U zLyt%o@|bm=nA`h@)=Kh!RQT-9I%BtkxFu#~)TzX+m{-zJ(pf3h?xlgyX_@=vV|}LY zQ#cQWG+L~+&|CUA_M*D;qcgP@%yM;nG?waF(tz%ajYwzt_wf7HQ?o>4DIBkK9-#K( z;n7MlC$00P&(K-3&|1=2(|8ZoJm18IX`MA5jlqmscr*1Z^$&-lFCu0+-vfJ0+*z&a zA1XM9Sm(8d)ERxwQOabNc;y0ZC7qRGH-L+XS@KKhXFdF0s>l1?xu3J?tik9f&Y4kv zK(j{j#TV%;?c`Iv9PTI_ug<|N=Z}C@;*~t4VpgoLQd7{BglhcaRbo6nOL&zWg@(f8 z8Z%4tnL!CUOXu*o9T<3}GIiGB#ueS3(odV>~x|WAV3dZucp2W2@wt;=c89j$M5ApbogYL!7QEW7Ep&t z;d#*cGTOD0=*{1M0Nlqr8RA3A>(#{eb;-34;M7~N>(6Z)a(+c4`*Dw^wuSiO^+zmB z9kYG;q5b$bA6v5)H(7(aJ*{yQeDKT{X5}=n9HK+huGT51vpu_sS&3VCT`y(!X5B>cn(5TB$Opx%$8Je8YwOfBueR`Y@ylCe19T znKGCaqLmbZJe$t{#Pz8C2O4J)}~;r_Wg-lVyVJo=byM0?{|n<6|*9)Q^gGWCT7L?p|~ZkDa1N) zOL{9a#H{3l=&%QPFMwHbj_7<6s@;D}W(D$;qOpAT50}I&H^U=l%_K6IX|$1!VFDSqyv|F8|Ezh_Ug zS4;l-zcskhc6DIy=m7p-^2JZaTRWcf+K1J!BLmq*3bXQtWZ@;rb#-=kc5V;2t)3Um zQWQ|n^852V4(59Z?L-Y? z=xj~02Uu2iYsakmjp`OLtAG0e_WK|GqKH|i@rKJ&>dsk)S@}f4t;*Ht6>fk{50eu< zGB@HC+}bgN&rN|@*?QoUXkQ`3fB#`0yyWbP@NuTF@KYqi7uFo&Kif#8cDx{c~5@; zy=Z!_Dfx5BMYQ+f7`gg!dR2$C?*Ue6-_}RGhkb!(WDk3rj`d@%XApj`;p!vejh~En zNwbdfgDoU(M~l!SaJ@wIVtlrkG?(Ixeeh@+$1ZNAy%ce+OB{-QSaIIy&K8Tlr-*U- zSu~oy=5k9hE6Ocn?ulbX9#oih2Dh|xaI=1v_Z@nM@%;w(@_lHm;yNp4mimU?9qDsx zbiTB9A-J6g^22MNR>Z7;npQ|n%bVCBUDu*sq;seO=^8kp9ZVj*L+90^#-w_Un{#&c z_V$L#!5+P#2QQaIlO%+hX#I5%|X52=223o|~j zN)gwx#H~!7_0KXZ_LRz><+p{=5wngl^KzgO=d{o_{Di*Ydz{1k2Wn6+Q^R@$W~mRj zw*2{S|BQCfY^PVKcpi4W47*+@NBq&173>jwr7JjldN$`@EMPC-5@r^c;-$Zf-SS&2 zoM*3Hd7=Hj+7;|$sAh+Ik>d}iUp#>sIrf;I;%_Oh*71R`X)s!9a1PwfF}JfH&x6i* zOLm~Isz7(?e9DmBQ6c+<3;MUTL!3Fft8=b>)UB!g6@Td;dN#4wnKgW7Jg?C`{|kc( zZ67_uS$FQRt1Gv%mMsRMvvRF@(_Cv%zqYl^ZEPJHx3`gfN7%=2z7;Vmv`l9C%tmWp zvcDAFBaO9r=HHnmowZ{w`{$;?tI5<&#yMt5V}ud=VEq=U*c9myFpbGXU-;E*p)gQ^%v~~&tO(C zkoQ7-Z`yUK8P0rWY){ZD*DmIxoY}Kab3OQiKH>GSlb-rc>LmNRHL}CKbM3_7*7OqL zH#uTzS{GiwcuW_dv(R7%#6>SmgZ83S&DdHX%VZ?UeaH2jXu^}aqd^dttfYk z*%IHzwR2a$kMhY_d%4_FpA)+_^Y_Z&R$P1kN13Jbmvt^+(fQJFE7ble`Lx^|5A2%G z>osDQ&m6F;#YfCiepnK-bY4pcQ$prxLwr3hKP1l!m}B?&dx%#qRCkY{k-AKCM&H zKH%)qKUTiNUcoyWGiwdrtH-HhiCH_YB1a^iBS(A*Zpl*`Gi%kQ7uej3zU!EE2drCJ z=DW78{D0s#{l2|KE&o3&m$SFnQ@)3J^!y=k2d`GlENQH-n1Mf~z5h4DahRnuM#8=@ zp52V8j^sA&8(ASWdAAo^%wlg;Vqj}K(z}K2?$+Es=+eaA?10aqSFXL-BiH`Ca;}9Z zcRFV6IuY89lU7=#YVEC6%Nwmp(`MGVQI_*Mv~AIpy)-Rt>djN^;LgvfzbDNL3N4SG zS&AK2aUJV4wRfL7R(L;bdT^Hc55XPZBbqbXEw0MA!gRP z3|@&_(p1`|zMk68J>-oW`1+<{-1i86exwyVG{QylVSM%vQ4`z3eLV=r9=I8w(J)JF z!XI`YwIg<0`OGkDA49m9+S6S2cu&)N0@v0ka_nf9(`Ro+$Sh*)*E-d{MtVmeJ;dYq z+YaJg+|M=fCD(*v54&FXk!K%6%jOShhku&;*3Q9c{2uN1T8MU%_f=YJ86Q*EQYgn& zjVo9SuT&SJMiioBLiCKg<>P?QN!K`yg9kO-IPi?nUgz*WKA#c#UWGhhif}W}-zNGK z{H)H{aOZ63V||XV>Fj8o5mppvESDEbV-ZEVkNebP(PMLui^r_Kq0jlGA^D+Ce(27p ziOy=(8Pnk+YFi~Si<(xUN_+jvQntPH`Rpr2XAzGv z&+{bO>xru_aq-+0cuV>BkKx!)uPD!6E%tZH=LlSu6=brdaHo?mRNNXW-0Q~1ddtw8RXLn*{vD2M}xP8?Hzfa z=t2E}v--ke%*G9DZ^wGKw0)eF{7Khrdyo0LU-inijqEh|;-#(d=ddNHP5t_vd~4Nj zp4H6iY0a9^BW&KpayTDMvxc3Tw{*-}JndFHee@8%h?Erui6UmnPpaB`-XiqS-D9~< zX26u$=BfS;vmCGRICxtp!xiRrGMPnQSR%8it%uT8gm@L+hrZfKJV4FrA!ZjJX5ZE} zYGIGyp(ny^#8!CuFusY1UE)>}&WTy>{M6+zB9mDDxtLk1X_dq*@hN6jGCN(1|F<&>_7rE9coj2Cw_zM&mug?Cfr)kJ@H%{3X8G(U z)~tYPTGE|gvAg96KDC%xAJ?vE|HGbSF>415T0@Q}Wh=5b*;%(W(2^{pd&l*O#}+3oD^MR!?P zn8(j}&YzW-hQ^xS(-Lzu|3_VUIeQuIQSLVzZMA@y2e0Ouw|%D5SpHW0rR0UFEpX)l zG#0gUcc$xlJYQ%me=U4+fd+t8(pSN~^aSr8ie}(@VNr;l3b(Qsa2xSB_eFS*k!va* zMZ0aMKE~I*huL?!g>w=&4zYsu^cdNR?B5ATZtKMBi8|J7w1Cd&WH)#)lIM?IKR$H~ zaVyEbpCr3W3aR}TFo&o-@l;!KMe;<|w{#};A$B+I%whjS6Xtwc*5TY9&aECmE}7hqGZJRpOfDqL?_FqrEoPZ>RJK*Acd=$ zvFF2i@bPIWKh)!JJ_=kgj7lOkT}yvIzPC5`2D zmcB3cNWeR%)$plmHptBg;aiLSS?6L_A^x?LyyWPt%z9SLto_Uc?j$$-usR+snDz6k z%h;1JNV`fmps^k$9*0@l`S&!;diiQ+rQfre%qq^h z>^xgk@j}~HpS=&%uzp*=qWzNo;V&z4Ml)yc?ZexCie2pqdRpOde2+JBKKmf*@$@&e z`#m{;zdQA+@J3z_^ajIDyf!*A>(z-ou?u|*&h`s$>R^R~JJ=ECpbzwFYP+aoeMs%) z)qc6QrWe=izK<;MPTFz$fD6{VV3*bCY8`uww4BDRtyxY(YuB`~wQkhN+Ba@$Z5y?+ z*Pnca9%DYtLT9nJrf_O^$E?EHeXJ0FLuw^6I2)#+b>>>QeSV3|3LYGL2D8L1zZkQ` zt4wAEMfys-LQ6dYmtd3k1oPE||2Q@Mb1+M1PkfD86L@Z6md`wTab_t$)Lt_65w+7a zpR?9aw?l8WAy1^fbqr34SBfv#J9nU6Lp#CwMFm62l}1xDQ;s+T{>&xjbB!;8ne-Ba z+j>&_;d3i^Ja_kS@ilIJTV}=I7v07ziElHR6`v6#ZhdQJiC5BE%0DxBH>Ivy=m7=qzz7&I`ZBtSCnei!n>SQh7@MmCSmJnVVl+Q}%1jdW`;|b}K)H z)+&iv8_Ql~w=lmWX3Z$~U7LRmy8`Q8=9u+2p4&gyz0Q7L{c?Mg`9|#~KSpgmzd!jN zeZrVoCwU(@)radTW|rz!eYo~An3e2I?XMWK4#BORoR{?uyOf_qH#|Qb?Q&v|t7Yvk z2yFDc&30AYUe>DP5X)}V(waBPvNp^acF4_zS52&c$3FJQH-1N6nBZrURzN;kIHiXr zruMYFIh+f6tvHHv=TWTH7AdnQ+OY7?=bWN zGluA_m{rOJ72dt{54BpU09u@*c|ez={w);8{c zD>bc$sAp~BKJKBuqaE(c;mGZ1gZbny>>UUvk{7b~N9W!Zvg;=?42{K1XFl)o1=MAA zR%o&(%z|B-?M$!>un?b6K0Wt*__de6*_YH#J|{=q1Gf%$zypk?O%3Zv{T7`y0qr!E zmeye`R-STX2jB@9Ifj&DU1Lvo(BO!Mx8mM*My8?OJ{&GuR~& zDl*Ro;^X-2jUs&&=`5$MVvVI+`jRf9I+m-w!7A0^6fv`0T}z&aNM{u>YY{o(0@x*H z&EY)~ofS;y{d6k*GxZPAF5y`81vMkLCzSra^Jxu6FDXaVPA%2p)jxDP3r&Rf4e(jH zoefdF-FdO7FN#l2TQ%kTa$ysH8|f|8xk74@t`^Vk4!2WFwK4Ikd%bj>zjp(47P<#d zcSxVh&C0;601ugad}ABp>EnCUKcJ=+PHW`yJ87-B2Je{ke__@%?mI(geG{|fbttN5 z^`N#@g3dZgZg`B`@E|(tbMnGZYFumYR=vi4#k}A%Flb{LW}nMlU=Lr0M+*=94syb$ z$Qxh0sx-Ct()NqXIhPfmgU&hJUiMO3M6Yp1sq<_C{le*&f6pGMUe4ZNkJ;N?2k+vI z`)i}C?Z4|*u=g8Z>-Jw2_G6zIo`rlgR)MtEK$wMBxUh&>ye7!^l6Xdg&eZJ1D#ogHeuG^Bu2J zkIXUco(ZUBeG{`nv{vk4P(G;ol~4UVMPBGXNM5*&8kV%w6XcgqO|tN5?(b=I77;v! z&VpNxSvyA2pQIKKvr-RJ&)Q54K4Mm|0*;7T3&@+rtVvu)?Eew762s|B!!7O3DBw9x z(EBdzOaHwWzCyU=X-+DGTZQPZ1LPrlxF&XTwvl2t+&YAh zt?@7bX8B`agLWH7%yMUY!Yt=`katSVQtwbvj9JPFV}C=ad{EqiR|+o&9~U8}iCdbp zmgm7Ss|)vA60>w&#mtJlr75(Q9;0?HxZTI(hmKp)NknmGNn6GBtaIut-ABYM&G3Zy z)*Q1q^YmQ)to(B@>p+7_Ma+7SbCiF5UHLPZ^-%c>&tTRI_#BEeYe%`#wz%Adj#=Y4 zgL+a~vkg_){g++QG3yiF1Kz_QCuY6HF8clStC9nnn$Jvh-az*1Q;XNk;c0Y$W0vy5 z!7vLyL#iu`>O!xEyig%#1w*I_59w&f`?s?FoR#%CGb(@J{x){OtMb;boW?pvUikD+ z|7_KAdRkVyA(n-wA-7?!bP={n@eK4}MXTcfCY* zmZ^TAUXA9Zj?y#B6GFwEim6k--y z%g?62NW{6LW)j`ZB6&vG1wN4XyXe7fPx#6El+#)0gS594PBC|=$EL^lHD;+E1#{vW zynI;FT5%mKzCCMh7}es#>HI$O!RHF>5s6uQ>r~s2r zh+B#j>`F2prRQ1Cw>J>&h5y0z5~<63{C#3(9dA>gdVFpBQa!{5*RjtQ?=gC7Z)hN^2N+h zew!I_UK!td{A^~pJdvFeF{9$!Kzk<8Y~O}iPHU-NmccCXU$wY^9m|SLW~q1Rn5A== zbtZErvsBaK>}KVMZf08NbHOa_x6?dw%q-=HIvdCBr@>nqFb|wQhk|Rl8!Xa3ESTl$ zRI0n9t&|6fPeEfi)`ahG#?SGwLdJvq0w7yRl;9}KTUT+i}u?qnx#YHz#y zG_kkw%s+?6`;FV-z{x#!f_~w7Q71JRru00xTSv+&-1lsU|Phia0jeIXN6n2zX#|)qO)9I zPPw6&wUFFUHI}L9g30Xgo4|gVapc#Wjq8nuUn6oIx4dCIzw9g19)6uK>AZ*R1W0w| zI$&SfDf%SG<P^lC*Z5fB(eo@R{1vdHgh;LIiS89wxR2E^ zYYqQ@_IL%_<;BMypG)yI|31FwjOfL``Tg2Cqfk8yt>yZX;+A@vYj{jWz0NLtEMS(*rK-ix%bV`mldnb`wxTVHPK()-G--Uks_K1oYnXhIg{v z)W!ZpU-uEb9J^oHOik)5JCsP-Pu@Ii)mja;diWXIwCzY~){}ZE%2R`;9 zW^G3|J*u3K`2zqk4}EmgFTuu zztG0*fjB*eGhXq^C+W8q&g85OnB`(gXG<;Zn(k}Dpnny!JoQR5xRuE(*GD~rSK?O* z%o4Zc8_Qr;%&m~~ETpr}%B;n(YZ0$WF-z|eB{2&Il*BCMX6Is-^DxNUfYyqcC2pOK zS(^3HT%zjt&htPIQQY#Wm8iBAdrRdF^Y9d%i&<`ODcsV$^#9My`n)!;%^H;*vtGIk zMtuXbUa3&VepRmQ8O&N%>Jpn(>Ovb!?{G9aYbkr>A1?m`d%eN;?ZeL3FcANC+M^W#0)bxn;WX4Wa@JM(*!OH+RjshuSHqZbCW<+|dv(VJ@xuTY4_ z3h7_vkLc`}^+*0TkMTYge*B;C=d>M8dbaJyZ<}3M&2l?-wr0&+TTcBfYhI^;HLF_P z2DEI;8HY7&=Gf8p*~jmHjaf%$q7@dy9?j}JI2&z4?3h7*Mm#=~e&Hni>Er1olG|;9 zB~fUXgLY8oc6<%2JiW4=1gQc;AjptWF@PdzL3 z)L2VCIR?MhDDqLf@LQ?jKg45`7hHY%yU;LqlFQsiop@nucO4bXzy}&d{`3}>HCNShF!y97Bw#INpWWf^x%E1>-E%fdEcjp{uMjs_A@K7le**w=&ZNv zUu$pHxytFS{p`{>)x9OxUl;x!Jcd!d$%kOTBx*~ybmnpJ`CGfAOL{R|gqFFJ$I2cG zHy4ig)cNM|qB=k7a=so1J0n8;6Rw`Gn!c;+^Ka&b+%6pL!;y!Ui1nKCOx3&MntgaT zk7G5zqp0u5zt<9CRLm)I!g$8WTSsn6q}FzG5w7BKE0lAqR><=klJC0b_*T4HVimP4 z{}x`8>Kjte((Iu}ZkSRXeiHg(LKeD$+bBPjzd%|`d#v1fJb2~eeOmIZ``xImlb@@u zm}m=ITH~X`f2Ff4bbeS|lXreC^$S&drv{&r&T3rMX)eEIE$UkQ4*DozM|4dWqH9C) zLmrDlz6a`PZkC5@F2EPBomy_s@o2t2mKeulp2X)kQ_S@cXOQpC;{P<8ypXz99I9^x z^XM%SZlCE~ewN*TE;Ki;h<1x9=L{$EyV>U)>I{vMJpP;UUkyV?4u;DEnTzg+Zj={Z z8Yc2*1?a30-KjmL+IdlccPgLW#IdZZcDPQ(Nn=!eT*U~4b@p7XfN zGrFzZCDgetwHM2mvDc_&{iIwO7eBlFGJCzurMB_X^KHq6-?16gv*d|i$k{!s*zxdW z?Q-_#Hh5U^h$e8IpTSNHH- zdF%nyxufAt%%TkD9Ay0Sg=3fjV<%_+FzPBJ+u0lJTYYg-KMRlUv@hxZeQ-KuW9F^3 zir2Tao?Uz4Z)o9mX5CP;mUV62+M3p{Z`rkL*rN|_vJ+v#PU3NpXWmC+NoO6$mzBJY z9IqI&f=8#H!7OjH_R_$ph*_F5ERk878GHb?QNs%4!xFQkuapx?TfrzX%X@9QifQj+nKC`%-9D31%sO6t_xbmbg`%S<+Nu7Q9mYQ_SMIE@BosD`u9s^=+8t za}J?9uN8eOA63jOaqFLAR$KBve8OS-dc5}#F|*k15%y__4&Za}N^u6W@V_c=Q|NpP z$1QmurYq0;*D}i=Rg>2Xyt)}ZI0S|=b1eTyyz?)?UI#r7A-R)$@G-OU@r&odX))_a zed?;6(dJcC(_*wK6! z{)fkFma#vQ2OjIo%pfz+>JuKvoAM=(X&1aY+~EfH_u&^J&n}5sNqURoR;aTXVAg5; z^QrM%pPbo{Vi)kyp)KrByubYKnz``ir0rrZ`cHe0SOa>6jdJ^1r*@q!C##9oY0%JW z)vIrvTeft}>fEZi{o=Kki{@DXAMd7gOnEc!|{te2-*0IL*5%zBmI z^&(%V4lk`GZuw{}kKUpG2z|riItym`i_`D_9`F6$Eggy?HIIJ99G)w7KBT6zdzt#Y zxaGsGa1=UAK6##dzc0O9=2Lz8%&vaRdvzgmyC+-Kv?H)Wbal6 zxAOaNzk^}a@NVRtFl7d;B1a78qE+Vif<3T;eqy*JiluPl4n8LjDxtj;3O{DjLYNc> z+zM{xKH*ky8})HQyKuC_%gtFvdP{j{+*?%5%xNugE0bO8_`HiWv%+=U_u5!vaX#AG zbev0P#d=on4{<$9%<}O&6ftWe*SpS`j&&A$9<)IW>P!uBW7twkIp4JNexfTI@sWP+f#=#(#Z|~3bTHC^<~cg zzW$OlvoudAW<5z=>-qBRqJddIEnl`MUN2qBHdB9J#+Dw4HZXwqqDlRKc0SIfX>Pr!kLI@ ztOVZpLVTu$+GjVOYhohT!?-T?UXN^hxoZ0_}3RhaC*eMvGa2azp8`2jLmM({KmzI2!9&?&o><_Y(2y3=3aR zhtI7de2sWX-$M?H))Kb@X{~QymUNbK7GF8b{EjYy1+a{dy?Ok5Hg#m}eVBnR(q2H# zQA=wvljwXqs&$~X0?xpVnU!RRW*+a^^2Z-w=It}Q4`SB)#0T}+Z`z0*TrH^AS%JC^1ayrG{MEKY}Zt15IBnL_7eq@x?`!7KY@1BXy0DQ*@y0I3-vyD&ehX%dt-Rt7PquZJjGe)0eUIPxhy)1Rrz7;)pDLJ z-am>ntB}5KlKP`hzxNDgb%s~n_`S*vxd!$7Qhm8!=^AFX-OjyCW=U%)heK<*9^y2( zJAD_tZ+it-#5F~4);jU6Bg2A7q_Il4&!S)iq1O8drLyIa1pZ(aaPdjUgXO#%kk=F>c{MI zNDif@Jd$f;0`K9IcwNJ+KTv!8C9{X&{*SD%@TBb|x9dCO4l7@|xwU9H#B$MC4QkbQ z%*x4aYR#G1X_1|6cP?INse(Lw@1DyIGj*2E)d`lPiSC0NTjtQGn+bE^$X5Q1-cl_q zpq3TyZ_wTuh0X;_t!IZ!q_N!Bl{eB?3?G42;?+}=(O1)9688tM{MTlh_oH;Aemv8X zKjQNdvz+GvW;vf0y~6-zxxQhB&T{?v<@D#4Fk6GxN>Lk5E~IBiq!v*FC-kwjmp_;1 z33mDHs|hB-EPSV$Nepy`Xr@1#9;{CtH`#%|OFQa|FzY1OjjL@ji}fip^&ix&=-BmH zWAaDldkT9~;~9e1x*2AT#g{dnYkx9-qp7`ky_5gV?#u5dA5<(zhX;>bu(vt2psR~; zKFq?S>O%f{B4(Gz_bI|9+^1q0Uyt&{%=(tA^{Yo2^(kYIMNz$r9-*tZ%kz$p)L+Bn zSe@pTm=)X=aVx541yMcAQ~oVIdutnXAlgzoOEq|ET0YG3&{}SHX)$IwZz;a>m{~fn zHDuR@t1HPnMV%?;mi99Eo%kHNU5e*k=ickwR_)9ZuN3l=IuAswvv}_)APVX0rkX|? z3!UcjL)Eq9*K*wAbFd&muSJ?Vf%n|aZHpT)HPnpc7#KC4?-RGAwWh#axTPGiXzv5H zt#A$+T{DJ?IfUyK^8K@jbJVj!cF{X#;kVW9)NlyDPr8p8a#veLYlYOc-8tDEYr=0d zB=szv;US%Mq!GK}$qo0{WyeF!s`lm$*D}+5h1=z@QM>=BNv-Dg0rt)8D2;AHYpJI7 zV|ev5@FTBJ&rPr8+zDR)%n!&HoPPYTx<%5KG&qzzI zC=qut!v(5kUEEi&yB8+lF|9KcEjYV!K zUun#&U<*A>b{M!Cyskf8TjYn~5}0&59>`l^7$MD~(8nQX=(rlwJic!lwR-K@;=GH$ zYb~xDooR({$a%8qJEg>}_VjVNc21F_9Mm2V<|cMEsA?afv)+SSA2z7Mj^>)2p@=S~ z&l?WKvo#7{j$sGkc=~UX&_>hHGWZ~pvwEgu9=D2Hx>s%&f#} ze&@GjR#D%uIJ2g34U1bkV>-$Ywf{x)GRnoZ$0}rI-PM)I)k4kJMBEZn0%;?1bC2iV zXMVjTW)*qi$qn=A=ei(Y7q?tqn8B<7ua-hJGerTt;e>i$ePN)q%@F?X^awQ5EpGYa z(0g#p)wQU_yFE2<%V&OCp?dtkgjv#AB``~RKa*Li!)vdY&PqE4v&F2#4LFA-V%A&L zE84FrUWunc9<2-5-S-2>E#-dOFJ*5jTI&UT?_$=^slSU^KQ7B2(=r#Cc9e=)s=>$1 zdcJmf`%CkRj#-8LeZ;Kb#%y*tP@AGIf2wO;&bR0J?8oypDBI0RAMD6u)8CC9Sz=ad zOj}Ei?rid2ha-7C!z|6~9>2N0{nt%!?0Vb1im+pK)UPS&jLP$>yW6lFz`bS7%%B`W!gL?N7Mcei%6ToX3~KqwRX*^vK-~IeC4UW6*VQk{Zh4 z#?@>u@AJEO-6&7g*_fZ8y$<3fO0j=2?1T4mD4e>9$20;~jPAp=+Z%TE<+YE#BIKKQ zfe%%?ZFE+M&JFQrky8?({Ha7Ro5#$a!Ay3EUvB@s>hfZj^j1{g%G6x0x45D=^?rU= zCcB~@qvKcPA=SK&B6T-hB+kVwPdaN6dzTlqLIKI>U^BB+{#Zik?T-( zEkb%r{3>FWw3drVXK7wXaW0*u+;AknBO^D|`=xS2^(FM!+&RqMs`EVHS<`GlYna6u z=%?5#eWWqxOYr~QSHG%#S-Xn8!`$J2an_g4FxE}^^*Wl@Gt5ek>S~|jg@0?^0t@qw z+8+4x{_)UqdycV64LDz?NiS<%zm1#EX`PjAjq#8+&uL;Unl-a|^XJ>{{rk*kheHAL zg(uNkr-@i+C6|%U-Hj&7U{>%TtP!)MwH_FcmV!qyv)02dqKH|Wsb49mdAU5YII~`x zv-4@@7(dBLY6} z0%nO@VwNI>COa#$^#9ZURk56pIn57)Nh*`=HBW4xlhv#6H-XDsXMed<} zi~;+vHItCZET8v^e}q}5v(Q|4PZQL&Qp||zea3ko;Fa?|bm#Zdqxa;+Bma`WK+H-G z!fS9N-#>(Z6UCY3>RPZ$y!ux#%hljvmaD->^{luCFJ`%35cz8uF)QpqF3di}JaLP; zrsB+cml>Ylu>0?YtH}4tUwBq#y}}-vpI=eI<%i;y&bo-1C2lR^9E-b{_xVvH=6Bjw z`5LqG2e9vt^L0|ac`ssDU&z0;=RF^tEM}dcMiTZVH^d*|v)f!c%NxTr39rI&y&bbY zVTLE~)vXquI_#MBJE)~-z(TfKIz zX%;%4I1#9xbtbbC^1rW}j+TKRn`cqGng)NSmJy)7VWc|S!cpu z1H0DoIdVqjg|6m>&Pr_?PyKwd1&)?lI9V`2!*>wjw6}9R4tFut6)fq0K_At5gtazQPm(_+EB)Q-LX5YS`mi3Y9 zTGcsouI4p%un`{N=5?%~7xSQf;LkvG-%uDbg5Ny`O*oFn0=vRVa7?wXDf~SZQ_+ai zct4t^TVgt&Q@}2#xzJkLMXx;3owcZ*Vn#pl480YzD`u8%BfV8r=emo>K*YIX?0=7Q z#pFurap+cGnw46XLb-Ra6iuJu({lYom=(;Umpz+41m{|)4j)b<#4U7|PYph$nLctu zML3+g5cR`wFm)r%EDxjx(w~U9C3bnzwuEYmI^ROqtB<}&v9nbD!9wOgwfoOg9!Mmz zIoCL=nw@G;%}&;*_9I?NYtcUp`J1VK7<5EqDMutXjL*1`Kg{VG<%c)&`^XVp3`ggT zsKsl7pD#ggIsbz^5c0VzX7aH@o(Khd5R1b3wD^BdYLKpxQOi1mS($x9X+FZ~EcJrA zRdap^51p0dJn2)^;^n_Nl!G6g=U`uh%C@^!C3~AaTEDIM_r35-@mwvZe|Qg`hb`oP z58*d`ygX-FptaVDHcy%%j#Qot5YV z=lkPF?9<4OcBSvzo4TcT&QRO(=q2hr!(*KPlGl;fKsVmQ2Jv;gsNrO4q$7EMo56er zIpK+kz3eeOM5q7sb30jh3SU-e6PDd;msMKUq*73r+v%u;R`Gb{M%T*s_9H&hM2II~iCv&5_*o;Or(n8_@8OVtmfPNVBD zwGwTzO4sGNnWcGZF)QS35i!ei*Acwp?^VPs_SA&!sBfUP#H?dn69=2tVP8#6^1{mY zK@H9nfLVGC9m%O~$2rUU6lZxS`f-g9Mk@`YW;DDPGc4TlzT;-AC!(Du!3K7p22-ee z5#iKy1mc&NrE@dHttdwnvmCb~A4KedaLiJk2#=kfEUvdAX8k=!{MR$fo742)$}H`F zFV3tK?-?<(3L90o(+$Z_V3u@NlJ^z$90RnL>S7^veKE_`_^EG;TS@9hXJeKRxBO9P z9i2Hnj-O-pCZ0!Bj_B(0%;mV5Ld_LAe(9Eob3?}~7=}I*vs`UIW)@xt`LklLgXYE^ zuh4!)o|~>Wn0%#~%sQ#Plo`zW5|5U0!%Sw$zfhc6Ph3{ooo{$9W-Vur&5L!|1&_|s z9AV6?6t%09y|e5{7tUJk4yU!-kJ?s1FILPtiY7kUjaLj66o&I1g&Wf&9(=n?9wXBxttU2@M z*$2Bnw^Oi5+=`hMd$Sy~R!xFOv)~mx*))fk$;Z>!Gd{_D=`3li`>3t2hf8ayx!+Aq zi;&KWndLkVs=q&k#(HFe(^;u!r8C^e7zO9+$+|!spM{9YU z;Z``3y^8D$cfK9@OwsA8h5F1Hc%7(q@qV3Z$KQ@?;be=tb{KB$As^8hC?CPB&$#`f zKIaTHt{E2gN?hoj+;Vk}Hj$h)FYKUm?k7uu?bU3@%~ z$1c64n9s+GNN*L@x8yrj#Pu!Z#EMvR71vu)Z!vRTTOWJqEJbQX7fUYxyUy|=opnb4 zZ~;49(OF5DRfx_?NoP&x^^DF6CNZBkf%*S&)I>%xmmcXXuLPatqq96Tmg@1Yj@TKk zLr7-@>|A!t;yg+>V~FP@L7&huE1Q~2KZnw?^UKiJ4m?(O(hFQcZGAnShs|XClS)<$7sapovtL)9%{nP^%7Mvi*3vJ=uTkOKC zYFW){c(AftSk?_ytwUBrYj#6*Ygf0vwZWg&w_``!{`eDiggp*NVAcWjmCl(y<^R2w zC1!bdPk{ro(K6(18>y44f4FI?`I{!PuMZC0N3BX4YaRJo2D7}?5x3;eQtwdAdYJnA z_KDP^rr0+zOT9zKEBx>=vl7&^VrIGed!(~;PD6Z-LwNtdzjG^Mmu7~;bpu@JW5+Me z=qX=>S+1{$_aQZl{VLPRZ6d9eBtP`gT5d1gAYO;^5B08xMn_}u{-Ped-+{SM@{PRK z=&cs@?I61bcEPESIU`eAOYu25inw*ElgXpdTqeMFz8y z1JGm{kVIDpRh5Cx=-XgCN?Z}#>Tkc zpP?TqZ`N67cf_kc@Rk{}OlB3ft77@BtFZsO3L2mDgwa_C=>hF;$c`j@r8@#GDXZ1uM}dKn6-eJ9p#4$OLJxz9t z&t%qdyjlBr4>`;Zje;&*C)(ved_`~LKx=ji?a1OFz%dpS#NJ?As8?Pr=RPQol{t;FI^mRLZ|X-->9%s?l=Eq^k; z-SOip zm`AKr(e~57`l^l2g5~elTX|wzD`a*w!R)Ai6Ra8rpKgXz@~)^KOiv|rJr;6BX=!rD za3Z&pGT5bDQ4#5_m|fzQ(_FFcQjSOjajqEgEB2tqy6bDZBa~AUs%I%;oh7a1Q_qTZ zR?IAUwPI$a=JNc-%$ku~#4LXzHCxW|3`XN0FUBn8;X2Dr^{iNDNo%R*6vC_!eH-Eh za$a!GJ`}U$&q_wja#{;!rEykLRQ|%))=7K4O04GnL1*s1}dTQtwb9zq!tB zRZiw|GjYq+wP4jybRJsE%>}|O?PAcms_qPX*d=~BKZLXsJaPfgLbOAPpd1K)(9{6)It0%R(9?TeatzxN8{6ApUX_$4iRV6#p0v(@Q*?9%E7k+O&-Y;uc zw7)QO_=~IA;ebxM6J9N&o^{v7=Q*u)fBB2;;mb?&HO`U7^YF8BWgWAgyR3}UVVX0X z53@A8b34r2TKW6-+h$kbduQ(q`;)aVOFQS}C*6%_@gOy|ugEzP+NZ_&g~z&Qxjjvv zQ{&y8#rHPHL)4Ym?$FlkZE9kNCUmf8;qkBUMgtu`WT(8)UU>bF*0uL&dV;;IcWchp z!Hdmn@b89JS{W?GtA zo2ZlDH^Y+mPI8gBhk0djN;NC7DuY+yUCip-h0Y?1nDroe&k)Z~cf1OJ zG}kf9aSM&*Jn)*4etAj}vkIRXSH!G%cb4|h=u9k^7oPQ&oOvT!YyK%q+)-<#hIxCY|;#Q{4`bK7T6}N~^uuJnRFiUg7 z&R2>TT)ZkoPbITzI%cJ^IU^Ki9j`^5ni`|yRyKMpm)(G>Yf+0#&mW?(U}DTHdCoJL zCB5Z%brxp1^PtJ^lFISWO-?(BTM9U)C?E>qSCUAHUlVxm<9lOfoijJ=g|{JtSq0>V zdE|!2T35ECEt%VinC0s5_#HlB|DWb}etAu4dzv%B#H>50X|1^6JGKUHZ74?_zQU#U zB)Q;oWlGr_WjV_Noh4>Hz(;V%wQ5=Os#WdA_U-KFFTQMfDf=vuuzl#Q zl9-hgvy>ZdoMWkbrdz?<30AOftR>J^NihBZ}Cyw7c`6{;QbfJP(l{KCWp=YlSoEX^brc=q$&q zk(|TKetw@_*Db!6D4TElQO3@XK6*H@KjjuDSA^Bkzx+MoTG*0U*$1JqR zX|84Eht3<1A6T_`*FRK0lA5vh4kghMVwOA)vCc~S;`!Y-5vq|B+AHdG)<`}c1$(H= zyFfRIMFEk?tbBN;NWd-^&)JYj^u{yQ#jhD ziXCZ%{~cx>l1Gc);Q{`iI_vO%Zn(<+^SaW`qa}@{eGPa1(CqFDziaEuTwo7S(|Qa) z{4-@Pam&!~rPHp+tj*eL= z@3VX%W(^4iCglb zW-_ZtZ$-=s1)A!Mc*m<@Xp)E_=modXTB$B@H-lM6TjPJvV3ua3#jH20 zU2XqWu}l%OZs%P4rQc`w==uL)>+n2mE>EosW<6c{;xm}_AfK1VK{~5Av-YtsK+KZX z(zz8!`!(i_b=cLeHub9-1bVAO9mlN0T^q9#u%UfUZg@1SmF;0a@;ejX{_3Bx#>}=bz{7wt= z3mvoGKYYabxjrhyJ5O$yqJ|&)NtGM=Yo@pe*T63EYwZ+n;m+Ok3-3};TVF{%YX!cn z<->TLbB^H(cC_D>=9#}nH7~yJel*sDlh8+#&D$}F{S4^0=ZRNm{ykoq!Tzl2%pmf6 zp67Qw%g<=WP&<{i2Ock}uN^efSy2r>h1Vg;KKRt;K`vZ<>p`&!PI1PC&;CK}n@?`y zG3k7tdj^@emU@@GTJk^Ojn^5j;r#Z@%Tbe=-5PDcbvKnh?L^LTW5<@qnXaju>DQtM zbPl!N|J~VBU8&`&Cf||wQ0kEdtwL`uJUeoK{K4$H!`5XR+H?P0KKBT8}fc)ij zE9(25$w7PYJA32Z>Pt;+U?==waOWm8)-WEEYFi5G@-B+k<|pEjBD|?+F!IFIboAH^ z_&bY!B>eKwTrSXDF~6j{G^3~)>)Z9IN$bUC8qK`k{>3~TB^mT z*i9At-~wuf?%c^6@&0HJUw>*u_@&(LQl4M;97_+8A3C2Fv+BuK=pt(BI!8>*%BOCX zsLOR-pX<9}4GYK(6$k60Z_&F4*^7NRtCAgKm(a-;)tMV5zid}4%|Nk`ea;G~S zy;$~2W~#4XuW313!FO0vb@Gg(-cRaSY_}oja>e#*XppyH(aLoDLr^npR znd@t|vvzpiyESfQxz|^#jcOGviJ0Zz$$4MJnB}d8XBo`$ABI;jEApLmh2^j4(^@gGkcpc00=sen*wWW@$+DLI`9bz7A z4;sMj2BeSpR<*0}Ze3%0>ap9gDK)STT-)90xAmfDiRV06cp%*-W~pWtF-!G$?J4khe>xYlf-(I4za_KelZbQ4e>b!KTGgH3Wz8Dax^^wA zUGZw`+Ony2uF=r$owdjg9ysEd^?qKyedhTlW_^jrp(JMct0psZHU(WGR!vFsO7n-} z)yha?EvE*5Cz@s{T4vc$r?&#~Mpui6S^he{cLP83;6#g=rFlb7Uieq2Un#VQ=9TGq zJ=@P0aGw(MOD#MIAc4o$GN?$1}8+ zH=X^8Q#coKJbO3Cuw!u~vxviBmik-xfZbUL^vcyQm-ivr5&e(%Cq9c>=TIM@zy2}T z$p`r3HPiDxb%xKXUq@e>T^(qxpbMHV;+EH!nil>oe-O9Y8>sr0VmOa$1h*pz@hj%m zcs?fl$uN#QF*yyLhSo}OXbZfpf{N0{UB3koyja| ztxC*@R^mP5dY*skU*t3LPPo~Im|2=X#D^zlrPOnw4)44V=q$}47T>QWX1S2pG}2j4 zYfa#O&{{foRUuyeJD4Sp)^VPL185ofY}B)UzczLF$`$Na)U8%ACq4gy@7atWn9Vu= zJX>7qLR(qtQubw)wZ|{zjGj`QZ(rsLd#d~u_7Kdvo3Be}&8K#+GY=o;te#)i#&d65@;;N(Z028AD+4WEo#}9^lv}s{dr$Yv=_dIgFSO>4`=Lr-XYuGMhpLUv)Z=3 zQ5Cxr&sMl^m-DLs<>N1{M&tH&?X~r-d%Ho_x^6SeLQ}PbSMoSCu2Rvu<}|YYtvcIp zUiq1;eaVyc0jyH&Vs2+IwfK`ka7JF}bk@pA_{h;(ccFV$5sp_A$OX|?3dbvYgyPj5 zkMYeV|fSHqVhv&E#-)F*|9=?7)onRB+nVw zg4Z3_p!P2hM45?+`SgG>%>?P&x z1@gm8X5DrXy+fF_5RLZG<)!TB)MP)ScJ@^-o@e%`Cdm(v^{Z|B@u2Kwuk~(twTu4k zUh%6ly>pngpYtmAc5P~Z<8l3k8Mb8=zHh&tj~+=CIA-0t`hNS5ORly$by``AMxCv3 z)dtqQT77F)qq=o$l!fl9V@<17wRs~a*@@2&T9O=a4`*9^3aj3yj-{FEgM6+;W-W&w zgb%yI6^aRHs__IISq8JT5AY7^OG{wF?P+cW%U}let#B2)9qwj#JAFoP!+7&HlGz0_TlBj&fEpVpE4?}1+F4V(JFs=hF*e>?hDe9Spyf&6#F_!|3%f=F-0 z-cx@9pCeC9PVUHgKip>MEorVIy``SwTxwX)%-m%t2g-}`Hz_8cGTe23f<0l z9!I>ZhJ7`vQ#o!G(^+v{%k7od?m+TKaZ6{hid)JJJ$i@#Y&}aehuY_MxbY2c?n2D^ z6mRL<*I#9Sy0VK$#MEZu4&*yA=&M=%;>S9}c$)&cn6kgJc%h~hfhtHM0 z+;)^HZ)?z5x5BKMoGCr)((l{-mtSH(p@;M#jQ^^84gN0F;qWS+pca3S-Ko1ctM${S z{7&L?-UGhiy?YP+seQ~Le$lh3{gs^X5%v%cX9n`qKmOj5u;wrC@3h8E+SxUiRbj5M zoi(f8!0KI7)mqkpS=DP<8?;tO>RFv?SGR4OwmJ{j!K82Ro;+or@bm8^$qTua?mCUm zlD5i>q05$Z~kK430QnQLA#iA}XWt@G~PxzW_uy(q*hee8H8R>7$=f^#y&E!E+5 z{_EG6wW=@wr$}qv#`Sq?=d|8ZZHu~Ai0>hsL}$2F1MXED!SU%SIrtaZUtTWT|MDI zFLo8OS3ZUBRLn{Z#(yz{k71X%<)gR6Eip^sjpuW4OUzPa>Md!mSZ~Gkt=J3UMS4rT z%4AlG964r|xE1G$q1dI6###(RBW7s_joU+`TY83J%q($>a64&cu-^i$6*EiyLw^F# zV+ON)_R?tAa&cz4T|mmgGnnP}0l}<5{Xe+n<C9) zcERf#W*x$RB2InASw~{lPR?oDiDvzrI`5vIjUBT-#MiTi{Pd9#)S3(P-JIaOJMOYF z<*vhj)r@+3Giy;Z%j#TJ8J|NnYgL=Puu?_KzVb4gGkAc#``33|uW(OZp}m90;Ui|D z-%Ta#vj87FUiefoUWr|)J0{|Jrfv?q!ex^Pm~{utx&w|Zfmye~h{fov#qi)(_yM=V zJ8n+rj4RMstMDhRMPuE^{h+fFTku=qg-<*Im!6q!$rr>dv=;hGk$f(#u@dmgdxGB; zX{>NNH8Yr%sjXs-<(Q>h5FHji!uKg+b`@imdWRl5%jJh_2Bhm+(psu(EunTJZY_cZ z^V`vPLqFhq2s!h@?J^xlZHt+n;AU})Yitm#Qm|(>#24(7Bg!9N$o%bTJi;fa6X&6w z^VpYpjD0m<(s%z5t@TcoE9~8>SK7yT|Bf&tSJ0fF?|?q(3Maec+3MMbz8P9?0FQ&Y z2cL7u{J}75Xj*GI-{~mWIvO3soR1(@Pe0Macj|%~m(RS9{19%3 zAh}{%b8#QHq`4KKxwKPE;kbp~3V1#g?s;*yd~Pw^LSy+0+rTUQYzlal8E%)B{H3$V z3un?dgjpW>p>&p*m4aCT%u1rOd^~V5vs5qisA(n9S#Gy5a|f>9!QL2oKRxvh>8YpM zqqBH^T`&Xf_9=^5L@KMA(^z7byjjQ4SqJHZ>|^J~m$f*%U0N&qIy=?`zbV(5cHFo+ zd>6D7+>+1K?Jq@dWqM4Dm^BPuMa=Tqd*ynAs>P3kOUzHZV3tQanM38ks@>^p|0J`# z?r^wR-!Knmou)r0oh2WXS85f^6yUspqUeP{h=fpmI@q6)G@9Nszo}`{NvsP96+mBzjlo#4> z-`;K2b2?egigm1i%dXZD&wJ;FjjYKH)vQtFD%P2Qx2#mvnqPa3y|UpxJ8&{#Ule%u zNg`?Q=I7gca7x_z*vltZ%y&DqGBsArEXOS|YbhaSEkXN;S337qyt);g1+UIv)}8Pp zVpd|!ILE9MGm4qaO5k@8vlQZ$G}hOcC5=U1C}st4NqmY~72k?u;+f;xb{>-==2i*J z^6!aiT4I(W&JV>b)#K4xKJz^OTx!dl(-TgETg)Mb(awjWx)wYALj`*{iZd$@@6X9L zcyo9?;>Pq+s?nh z?z!-iZ_TVXbMT6E#7mOFto=McpS9yP%`B0arPztj^-Fy5Uv|#2&pJ1?4K>(JKWreq z!lcXJZdtL(?4ql!QOz9d+Nibl%57#{vN&tCUVY20R^2hHb1lwYWj^}DpS?lu$1cDl zCv2A=*hi_9y`3nq&(Knz28Gn%3rb{`cl#u~)00iNp*~)W###hN7Q(6pXq!c_!Ufz| zL~R_s6)xd(cft*7^eO4A)$IGj@8EAhuWgxP$!(J@g}1cev59CcbQN{2IOH`Ao+KB2 zg52=23Dl*ypNG*+52=do z;9k5DaZO9ilILMX?{to++7|3`Is>ic&xTjjMHC$nE`0{J25U1&F8cr&-!vDq(+ z8aj0fdR!^$TFEZ>SUNDD)fVp%eRb_ZIfdTRUenL01FIJQ4)0wbRJzJ`Rij2+H_a`- zEj6>w{I2fk7i#h$HTkeVw*%nRjU6o<%)f^b@@++PiJGep$DoTMuY7UOsdSgqUhqpk zE_t|oX|9>DXcj*^7e>!hjVrCU+*ynZ`23XBDcRh0aQ_YdNJFe8enoICU+UB|p6D9Y)O38HDaE!d~QE zk=D|A_S(;{{-J7H$`RE+l;@$4_XX!Kjr3MR?+JC-KMb?>+;D|`QR52o!)x%3U-$o* zd+RVe>#J>hK?`yB$xOzQnYg>VySor~H{2}=!AgOmwYT<^zHMnKRv=gsLPAJ@xV!7j zw)=k1>o@xzHX%Ts%6EK!tYgniGLp&cbFQ`4wbrszO*8Bg^%&iqcKt)@S`qEkV;`v7 z@yO>4_LsU{+vG&9rp0|8$1eEg`iSyuQH#&>JisRLNjpuQ=Hll>d9b_js6Wfg59K=z zYFa)uG3U=3&12xt8eEhAd-7krSuwm>@|6b63U}k*+L@m%^r3XtC2HULop_vo^ZvRS zwvTeWx|e8rXF9K5u;U?~Yf8_MElaS#7Lr@oLt+L3?XawYD{_mSLUn%eSnSX`QHL z^{Q3hI%Z_s!wVLef8m_%zZA9Y=&WtI5&I$(wJ(^9{>l$?Q!H%9{Rp|C_l;VXbe32Z zgm*g}xf-)>9?Q=!H6?|Zbq6fF2hQBb9l|)XpPkCBE7~qv-Ifyl&_PTmj8HOe(1~d5HL$xOLZ+Vi$0>5 zC9UOZ@v3VnN4yHNw69Kcz1rdLvGXiOT}#}`>B?>a_BBS@Qny4O>vy5{Y3-rkzKtD6 z;?}mz6x#;34rEg+VD2Qh4Vt5CYjP8GRbO(ielT+&`f8Bs@vwnC5H3G-+=5-qCc0e^ za4V5n;#QC&UX59K+=5|n%P|XXeT!K)^Jk7*-{e)mu6$+%+=}OkS7TNfZUxLzO)FrQ zcK-Yzv+!Og?ub`@cr|9Je<;s`n577EL^10!{lrt$5)WmwL$-QFv{sTGu2pXRs zT(p*I@v3WuI>9h;t0zqC0~-hOapUtmnv-|Tq89IZh(RAQky*+C#jGGl6tASS;>^o1JnI%7IoLS;lz^tfhN^xd|sp*MX+L?Q8zmJ%;mt1-)^V$d5jkBwHiXH7-$M#VRIX9?_{e|DhFHJ+sTsr5tGH=E$ zR;E~0Zhv*Q9t}HKPzbI z*TSsWZPHeG;q&O-0!Nmko0h_)CFFn0VZkyOwG0+0&|1nD{X5Y;ccXRSmiHjKhnXM$ zadgvD=r#FDUw}(+EBdQh)Y@m8{8|cWEFXOpd3l<7FY-RryO ze^5G0`YImY%V?~ZU?%l<*E{6Ve;V$gwLI0d@I0u0=(vSf%k2dWv=%;7%}#6ILv%5$ zTG-Yi^V^_P=!4Cq*QMIA>RRL3#VOAgJN=`0dE8E5>RPH7hv)-`y6_y}ccE_cU8Wv? zhM%j0_*C{#U)jkH-0j(Ewkf5&ZOy3cZl;`IwpV>bdE{d~(OSLOCr@oFMqNHSfY)J{ zHxzAy=JHhA8VygRw}?P*eLYhRhu8@remU)h-ja_?Gm6?H=*{K*=Ap3`5{t+OrMDF5 zEf>ppSs`|PBlw)^t>y<`Pn=ucGB~@e9Xd-|i|-kCcp{6~rvEXwgy)ZZ?9y3&dwlUQE37@Gnk&?t z4%`YUPlQ>j%U`I+-WKwu-C5;rSG98JtqQIle~P-+MZ6EWtusya_)vTJ#cdmDE#-*X z6DpsWPruADOInM0dAFYrX2sYWFRi7Tmh&};S&8BD!mo3~?_!p`@P4AsiZe?-crnZQ z;F(hnm=)n?OU%lFS-CLlJU?5yWuckFBX#g<;RF1#N|OB{xq>}hnwl0m>n0*#*6czB zm_saTPZTNPJn_Gzmi3ELf77R8{2)=YuNkmzU6rJ(OYXRtz^2@Pp)U( z>vb~i^lOFAlAoasyRv%Ks9}9;*T(mrZV$~~Xpu`f)W1C2b1`Z=*;TWHIiFn->RQZ5 z??hwm<#y{a_Soot^p*9j=&jOLac1e|o2T%z3=hPs#js>4j3T_Hcu9%aa%%9@xBNR` z+FkGpy%oKm#}!k|dzAPIALCh=^gMIVFHB>85bgC#az(V2B8t9>y*ve;kxRb7=StvJ z?5EVSf{5pb(pX}akERNErAP59`XV7ADkI&TAwnpNCkUyRr(H}stKR$xjN6#zW zUWjyLwx9ca=UU?zZc*Ls2HaaWliBI2wmG$;3u&(X>`pn|g8e0(TRCRQZyKStC2nbl zjWk!Fw_+pFfN(2DZOcP%MJJ#Osc{AKi2=JJ(|8*Z__%`EYB9@kOU!cIf>nzM>RT=X zb}jG5@1=M+b|vtNUWMaT0<)AOeuG;qqiYu=`OK+T8YeZ zH(T*O1k7@IVVqfk=Rx_Q<5pa6iCIzRr7p9#^b~tM#jNcarEO=`(rB*oXp>|+-z1GY z^63`hxfd`i+O@i4miC0YTbI!~J&xAJbAShM8(#81qP12s zTet{)HL)NXi~SDLSz?x}!xv&V4gJHPmn`ezQRb%aD^Zv|TFm?qtIHO)-&QMY>+psI z%*y5W$60zKV%8q=#qI2--^=&z3%-}zsoiex+{RWF_>rxhHJjZHA_BE$q!4bmxo=o6xa~t$*cJ$DzZ=PTQ{YVaKdpVc&K~ zVHeEW0jmOL>8@dz95Inwv0LC(JpAR;&07XXmP{gNf&mM~Ef}zfI?*CL4urVnFNb5d z@@Kb8Yw@VsmS%j|3E{LB`e-5Vz@8!IRy~N*vRo?Sxrl0XXVhq|SN=_Gq zw356F%J&?Lp5x=cz~6m|uMOULFTt!Asijd1`$1+=kM~y%{d)fJ!2$Tu*!OT(Ps_cP z8Z^4WUxH>>gm$23ubPbZ)P&jj5DV&BqtRT{VRYZkaZC5E$Sd6MY5Xekn(D^bCF(9` zxp{H2X-(&S*i%1?o^+~h%B*akax3L?Zqx0nkKecrJnY^P_Q4uzTQR&_(pvIvx%$@7 zu6#b&flprhYZQ_3^cW}b_qi1io75wpU0=^vqqEp&6ZqzX-OcXCHFvIEZ7Y#o`MQhG zvy@2WmdhF8m6#Q;btzYjQP+y1wIWOL$fC0p(pq8eTI4Q3Z}I)hjrR^iGpJ=TV-PSa zI-a~3W<^H9tpsMd`}FkHJ)S2qe#g80?fhZXAZ$ z2^8h~=`|$pZp>~PJOF#MnO9FQLtb9ec2q0Py_zKQ@+vSZ1D%y+(GJzU0{umwuX2oX? zJy;ndH;oLaPVIqzBfUeX0bxZ1ovFFYFgoi}OLTlAZb6~7j@Qd(E;++?WmK`(Qa7q$neX{mqsbji~8OsO*VSQ&0v&^x@ZRAIZfWFdQ~ z9D4$*ma;dRrP=oGHrwVu7uw1F+Dk1pQ6 z*DgnV`{i$6vwF$3tVwDu>sGIYwaacmpRkVAP0q9q=~*_kPGjqrmTBE8R<@tsdZ%4J zan=r82-%m1&)A+b5ng7;U&yxu=&s!`YquAoo|R*VVAnaPwesrw0k@(z!<2aV%gEOf znY93&1+V;t@MIx%ZN=gd@f?vqyG>dPuBf)9nMCD>kD;G_0;`^xYN6*QJ3S>$6(tW; zMB==P{tRvQ47V>}l_G*R3c|4qW;xH5^waZv>=$8N0<)qokQc(NAIuG@$BS9{vpnc6 z?Jy1D`PM!_=>~r(I*S}JMtqYiC>5wWG~yvJg95K?V4Icv*skQ~Tq_w>M z#bEFK%h?mLfbZ9ux4E-h{Vw60Z}1?uz1@k0to#y;;f?(NxM0iJ&I$E#z&| zTR|)#2NkoH#knP|C1%OTrnm~T9JgS7L=k6JXd&#n3bRy)mw!ael3zDEnp!;km)3H# zhw#dAi@5`FOZlN#B4!2s!+=@pAIe{v$gD^`p5qO88_YV#?}&r7*n3?St;O?DaiC5G zJJ}%FF4D^nQIEeGv+}i;Jg(%3?k-MzrYE>9=I-W*S#f`S;CsK)2d`RIP|p&t9JAz; zNMsgw>fD?(+zOZ#rLOi}%!)AACuW^(j295Cb+Q3H>e_gvGE?o%^eXmTxiaj~y20iY z{E>}kAI*4XcxDvB>khN-D_Gc87cPb`zNBN;O)qYLYskDT zvzcO+;yn9E#jL~ZpV{6j+xB;=XZt%ew0}@fTZ&Hm^0CLvhcgF{t=V_A=;YF^pLp zG0T_6f?3j5(pU;5>3c_Cus}zn~=&D3!-6nSN zHpeX(nxM5p@X7_uiZ15g5NDRYe-YKR&{@%Gyc}m%OgFr*!YtJZeY`;8mPb8ax4k_4 z@R1(Wnedayr{(+(c(puw9T9SG-Qx*7rja_?rWqd9;&qGX2(zF2*&n+zD^F|fsb1EO z)~;mdnxt3`b>?upOvkNQ=ju*th2@E&judDuF-sBn~9 zxm{agmbBJb9;s>hVwUp5IJ3m9fLSrV7VVk#;D>T!=`1lTmzlovFzXar>r_K-K~dA% z%go;U8EMSrl(Pr%TrEOhO)m0dn*_6_!K|f43fmn8(Nbuw)y0b26QxR=M)_ROHYMx@uZ;VISZcXO9o&i+Go z_Ck)WMPqF_2d_?s?AUpB`@yW^Fl%p&o}rgxyZuY-&&stk=&T&_!$4!{G2oRR#Vn7! z&|irDfmzY{)WzXdY~Cn-hq4ofh`_Aa;&^^|i?kLYW+^{>7;deGS1>E~)MR>y)SO^e zV#J;!?}S%Tc;)?+&!KvGLWK45zrZZ^0?f zkJu${h5B-vw;#FJK=>uEJj_yrneRztRyaX#C35S#nB~obJ=e;tTVb3uR=_OBt*bLj z`C-7Upbjr)h1JXWH<+co`)bTmet0Fb#H}3srDE1`_CFlrcJA)#<($siQMIHUs!`rf zH%xL`E4NL$ucs6?jYoX6Y89n5DW_el0$cS<+qc*Mr%eM4k0R%u?+?V3x1_ z&v9nSPj)4hOMzz+KJ^q0h}Tr`%Lbr>(!E|~cxUXw4{H*wl*>xze9NYwT* zC)ldhAS+NH)w>yP4fIKj@DbKW<}G zAI_wnHFJdJ&PEH(LwmVe7w?Nt-n$2G;V<=><8k}rABSB(;e8d-Q!dbB)X3G_%l9Na z0sFM)l!&dS#{VdfPvFmbY8<&G`boV&)!r5I$;)@jUMV6UgZj zV8Hmp+2bEXaZHpd){B3weG;^+984-G~9=pl3bKjrNJkMn2cnI}jdedl+V) zR%kR@g?w8(tlYg%{3PwQy;-jhkIWqC29ln;ZZ}OE>g8>y@9_M|X-@Bu{-J8{ zUVSte5vxajSf>U(!%Vk-_&q$mZ?Vtw-OO^fnVpRLn5RD5lzAR<%-|lPdcV2onq2z& zIrz1-TUc?CJTaGfM9tpi)#a(3v+ux{zlxfa%N64u`G8q&E>S)Q!m(;9dQmsXCd6YL zZ`Xc7W{`bmk^RAFIBIC}(MVsqyHEHyJ>|t{Ox>*W>Fvb$Inv%}-Oaw#gdQpX=Ckxk zPodvGB{$T~=qIU7-Cn$)O~b!1ksNU{b@+Ms;g=WSz7F}}gGGzl%917RVQOCwuqXa* zwANkJww_65KVYR|_NTP6wz*|J+tszX9qg(b(k<-_T5EsHOn!H^wyoWp*dxq!+}4JA z$)OXLi!NGr^Gd5)v@EQuZOy5-H%+f$Ez`2BEp@EHygr1t>#==_3ijm9s$*TS6Q^=) z!=B@|@z^E%{8Y$}Tn^cBd=8q8R%mADAYS+rUW8g!%+BJ^xdKgf5fcWFhjhW!OIEE3eSZtuGR%d&{?s&;hOe8JVZPKUmk-~Px8KE7J4c# z_&jl51>R4w#9IZch=5tq$H@zSfLYr6aLvpT7voy%YRuAI9@TH6JU6{1p(7=z^r_3^@cO-3{-92)wzbjw2^RYH2fIH<9PU`fL-2AJc?VBc@($AEX6F|pYZ1J zGTid!=Y_w3*BA0L=*CB-c)ch8+ zf}MXZU(|dw5!AB&)6BXIw=U8r4Vblw{7^TepD0n#%@Iz;cQpxKO)1Q-hXiIlR7|;G zDO*vtv^`j^v}4wt)U|$6v9SG$o78{dXY;cbb!|I)#Ko)&16tT|>K%vJg`>U6Z#Sr7 z_av3F^MC#$TFJN9UjM{W(;HdyH11E-Zj5KNjy2(BF{@L0bsNg-19)A$n%lOkZGP=- z%RP0;cI-N08~2^G4M#56R_gCZbMTJ-Z<#d_{V^NP%!gO=s58N?&|GTUGkC7gf-^H< z)^zIRGe%P58DTlFD?CRvE;uEvMO`a)2d}Gtct5cMUg@sbW5g4@|4)dgczY0f9W51m zjE}z>{j)MJqT&{M%X^GE)|2Qg)wY#(mxiWNr+xR+8;&T-#2z zYK*VGZJx&JMlGH?m+LEvSp#9lK)x##xFx+c6?PHc zH2&Un{!KISfX%|YI-5HG9P-V1XePp+&)-YrS0cNd?n+>m_V{Qg#?m~EbuBt8JOw`* zH7)0NV~@3bT9L8RTEQN`Z!#+;FG--Ydh>T+mS(2IE3b$d$m$gdo8(yy`Ns%KChl+2OFl_h33?+$al2!Cftel$8#UX zI~igxj{5u|>Xp)15yJHmhs1SJoLTa+Yrng+Rx}>kA+Lz)UXQ!k!{5PA8tip&{;Y4* zv*4daJ=q4 z%OqRpGL`L>`yMs_l4nPbU9fjHZ?i8BpSQ1$UbG!2a_lh7I(ijmohJ8`zB*4_xYc>PWo#$G^Q zw|G{9x5j$7o1VpfD&SHLWB%VR!T zq1~m4%nJIB!J|(t%!P8o#Jo_R2l?V*R*X8lnB@`fZq4nz@u-mpks~TUjLzd`&Mfk^ zY1GEq2N;_`o;a?RMU@|p;5j&ydpvL}D!&$9EuUK?UOYdHC_hBcOKV-ChbYgMt8F#S zvTb$P)yCe3HK}FnpWID(2X=i?BOPA^cX`oTQCJo0LM^^?TV{GY@Nr?!V6+Z1KAKMq z57a#$zOJF|&?x*l+=`8*=0ybT3iMWNGH;s#Tc*&HBtp}vlg*$;Hj~$9k^jzye{wjrae?XF$f&a%s2{sGMf^2RTM^i$&>ne(bd`&V{2g{X{M*dJ`{%JM^h#!_M=ECR%g(kBE2r2~ z^Z*y(cNkLyKRnEuQ3T&8%o4Ber=BHdX+Ow(fMi+C^R{Zi!jiL$eDmDR#reL(K0a zGE2K15_7}z19`4a;`u%6CX3C06V$h&vnE(%Dy+hn?@gsoNJQcxZbi^s{w%!@+*(4- zTwYW8+0HxY`xkDhi__@GANstRf;0!NnEuOtr1Y(OED{wfdlM z=;jUOg?}C%{tTV<4BUH~+!975#-b0F9z&V zKQRb=5#m*hJw8Evn^|p4JIR82mfHg>X5n>{Z$!)rv{v5kQv8@O%Y#|E$>V8<2F!|y zS%iKUXt#9)|C{=U?!G-*%hj})<++T?OrgA1{fJqN9IsWCf6 z;>3-ixr;@x}o4Nvsq_pEl`z^m|7>O?cy zTrZvtlEd0ft%9 zTY)ZcHDlepi0|1Hv!d;}bwCbssZBkY#4LQ18n%VGo{#vw^;T+W$E^1%m$XgHCLU}= zFS|7}FZ2?>!7Sat=+}jrica5T)?m0b1WktCQp85Lcif7NBe#TG(Ftg_n_$#L`Uynt zWFFyG?ld0JT!HSoW@gF9MFgzUW0buZ*TO9AcL0*{N)+=RhwErpn zBYU-cL0g+%(sr?H>jbx%&$p;%Ie4~0?eNy)sfaO~t-Yz@mh*|JE{@i6F{lQ5mybV$ zToPu5N5Uq!_5TI4{C3pxuVB`BdZcIY%$%u>7m$9P{P1^_C}d+acgTMDne28DvsU4O z7q=3bwGy2rW<6h_g1u0=ioMJ{&0E}g{i1nwJHRaFarzNr)~;Ul?AMtk?UkYQVGi$h z%(`jrd@E5Y(}riav0h2stWRb(C#j0HOU0i>AG1eh73)&DJbzxz?(IL!eD?qOco{Z) zveVXly3;=0bJ9Ni@}M0#6SY&9*+m*>)^1p&*h@~RoA;`}>u%W9n00_$Br=ANJ&m5+ zWOy)@{EL@klioLBD^`|hIqGPi_uv(k9B=S|8Cd? zw-nkN@8Ti!5aBFqPOv9PMbZ7-g^>0JvA}UEB~`eU$aZ|iSgM) z&H4oXuHaE~J1$hmQpo23udd20aVwaemfpIfC$)I;Fm8(F%%f*Gvn`Bn#lIW9H3@yA z`#kafVeSZWoMDYkvsuyp?1yr>48NcGx%WHs`;`1pKWlo9h42qwAV)mH@5vp^UaYT~ zZ2zoU4i9rld$VFuo=42c@$+}0x$aw{Nu18&cS$dLnZ4;{_UXcox{fY#2GCz*HqqzN z#}5%5o)@ZdsXi~wrG3o-yL69S{1UgMw<42ye{#jhH1ayar?%x{E=-z-rb?`Bsjrxy zC!(f8Y-h4jpTzv6!;yPva zMw1V6H^h%KOIj;B2v#LBi@e*%*BD`Elj=`C9yonZHOrHWc2#}nJoAQO{7Pb$53^!* z`CeybxS6Rp*d6>w?)d$x?QHWH$xA^L6Q&_A~at&t|v7tn06{ zxdjT^Lgo$c!UO*xI%@^oT2-vHt7)y~{?4N?>&dd^?4|PQ_DV(_`)jRCTf-g2gB{ZC zyykX>G_$`qPqlma{jl@HH_YRn#2U+per-NoVaP9|?`Z#{{cllc+sSfj4nxiB+NT=qR`qnh3iRm=)xV zvDs*;fLWU93A7eF<2^!q<6VeVV$uWf4L*rgk-NG3Oz7qCeK3qa`xdkCpSl^JKyM{5 zEBX{4Gww+Z9>0@W@;Su!E$8d3fLZtVC#UV}m=&X@6U{-iKteT>_);F0I z8i`&YN0jd&HUPbKC9}}+w|2>JCeK;&sRWkc$?+gil`F`UbP$mTK~e+zN6?tZSwZMT$Ney>PlushoG@wmi(qZyix?-2QkaT^ZuV^mTnM*`T4n$S+QEw zBx*IWP1!Z<#WH1W&W+dE%_e_{Z>={;X88 zy;{AIz21O(^$k;PPwQm6L~rRRIr^`&i`(ldw(%+0~?-lf0QDqqdorPQ^4)tXwT z%GuVwa;9}ouV#a|0XC#sI{GTrMpC2w$&9JyA3JIO>5#4a=u2Ds=>c22`LKPu{iN+a z5whJ!&e_S!u^(jCm9;D}>)qPb?eKs;_>e~1#gXJ{qtGN1&`0B8%Q$L56VNIO_~oO! zeDs%#$!I2pybx$D`Q`n^XrN{2Bh4a;U3c@IW^5xoPwcKdMpbuj8SxOE52 zx)Z&1FTCPzV(ei)&MMwteaFYi3!k2hp9`I(+Lm&~p#PZY%hJqZ5PG|`7XAi#;I*$* zAznFVX*Uh|VSYSBe)vE?_zJV6wYY2Q;e80xKMc`7jH=#4o*0`>-J2XSjMj>dqpmfU z+6;4u;+C{QM7=K6Lexj>seFdVjzlMZhqhynJh|bCX50Y4U!xn;8}L1T%xv776^qzE ziM7e4*shKK)qb+JVlB z^dmpSqov)js>265OLy&KXf5qr4z6T`M zI~wx;Yu55={;U`^H`UOxUu^7x-ItJC)BYv9<|T6oVKraoVC3NFWX)`@P|Vl!L573 z?Q`&`aiOzL@_3mD5s9^T@k;Sl^{Te7cX!KyOP5E(kkRB)b3Dz^uqUe2jou z>N`Ff=azV-91&j0H}9C`{1dQAJwh=m;FTWZ%yPUUFZ@@SCGSIo{$ao@e-63N47ha# zvpnVy#jF^6m&9epAoYRP`mSHS+BT+BXBFU#GLvUZqxMBP5kWhbcW@$N1nK6IbGrm>zd17<~;UruC}yrzy> zn#K7qGfTWuL|W44Bscs9vueP)T21YIohJ4f9?svCsbF{ixR7JkTy~YtFIa@S7CMW% z)??@_@#;}#r2}R?Ricu;no`p~WXIK3YJ-RPx!v42#eUh88O{HB#%ZkAe)k7<$~3jK zLKV?d&8=5TeXCn3!y3^W?3`KCdRD1w6RX#@;i*+@6g92)R)jE zT0)3j(p(WVm~u&XH}PS5hL6Cf)#$1xVV2@2=q%N^pF0eLOYt-8yM}6<{E&;!Uqu>#MjDhc@OXDx9VGQy%keW zQU23OFiJ5qA!hORE7_%9A|Wq?3z#K#1rejis_+7xMZeXX!PgY%EPAfGADOSS#<%2m zVhi*J+Db8s8W-~gfzFDcS=HAFbe1O{3E#^w^(^V2Kxaj$vuFm--Mh!{kV{P~LOn~| zilDPDq8pB9@w5@tv^*RW*=r2voC7VOKi$L zS9Z>7$DTa*F>3Par)V#Z!tM3ao*eB})m--wVkp0tMxwDs@v`IA*E&n}D@BA_mULEh z0(zSn0Nr}jZi~vP6^@X}ez3sr+xZW#Ep)HhTO{vtDd7qi&Iz@3OQ zHJaEu=K5YJT$;Pm1#R|?unVul9D0Ti6e)$)f>&^BHTQUy;LloIs)Vg%4)ITT6t-2b z1;1gTGX5sa65il!wl=p#|#s3Yn{0HSP&106!52?jR@RzC< zulz^7wHUsp*wj3~R`e!rHoz@;<6|Sqb>j0pF?me;!>B$@;{7gO??%L#rT*c$*199k z&A3MF*+y$^s*&utrJ0^J>|a}pSLVyCRJ@PcG2aCL5WP#d6?o&tt56Smf4!)wi(4>D z5rJD`mhwY!OEs><95IR)LYgZ|PtkEJ?uGDYz(YlxT^`=8MC}#y6_q2$&|U$f9H(Gc z@cMs~Sw4OT-D!)#E#=zcR=}(fdmiM`x{_I!YG&IByi1#zZF!?YX~(Q*ie6_=6*U*n zm%PsDt#?ui*rsYFZD;)?{3uoJqU!O?T{&jKjVN<83f=0_o}4K8p>jFLEOAS7IO3L= zCC{jKKPV3*u7z1{Mm)ZY$Jcx~I}gPy4_>O56EG|AX9cr60kbaEVAoYfT{~TkUSF+d z{LZVxE!K**_(oV&ps-`sZ2E`y6)J(&Dr1in&x@tZ@Q7PaS4y&(Z@>Ndy|wnnXS?hTYFT2|7hBKR{=Jv&_;F@+&NHiXk=r`(>Plu^ zt?nN1N{_25m$P3rs$*OG^|FhjVa^DcH3%&=5JvUyPY;KBk6s=`z%YN9G#51}>RvJB zk<`6hy-T&NX|P1|iPBoi6UD7Xu*d~`TSRWTkoQT5*z&<9ZYf`Mc_dm(cgSK7^RZTv z52CePkSn@;@ligu;_zz6a5jIu~^< zd9^~+BXsZL0?#w;6ggU#8=H6^kx7Dj<$D1`_|3gdaVQu;O z?ZC%E6ETk%>E3}oA?;j5`@$>*^(~KFQQY$I%U`LtuJl5PTaI1$8p}Hs%Gj@p7qFie z{SmXmW{<$FC(v5Ym&0$GT);j^FK(OIS+kG2))};xcFt;dmv-TV+3TptB|i)^7a!3a zbD*`Pw={z&Zb@q~LmAYy@|iV0uCcDvS;MIpaNp*C%dCscfvHa_W~rWatWHDrJJhy) z8R++{M)p}oZEk~Awg(Fow`J`6n^T~u&7%f?C%wb_iDJdX2~WP$7-A7akpglR3Pc$fzq{UYUfqjQOnfT{_qqa>3|O^1cD&fnrs^e$G`UhM}94NOvNpada`_`K3Xe^)>5zD&CU%Z*HO=_7q7Eh zOU#Or8-`o6N1pufBKP`EvsdJJefEho&<*M|=Hn{b`^->?S=w3id5vmzkRI5XCXFqp zCAm}wxYY#>gg;)hiRai~qlolDhbiDzj9sTej`%ITg?~%jijL)xexmf2(_B;G5#dee z-$w+xOS)3bl5gI5=i!lK65j`>x#BrtzRvnDGb`E+_M^4DF4VB$Rv0gdV;1?6Pw)R~ z%sS2P-<=uMS1OgW|HBON)5U(A&#cGE5uYnt(Ee}I4a`y%vGvv2ZAxA1MDt8$uJC)| zeGs!k?A{Zza;R&CxaTTnNo%=%(9&C)=MlH0wXR^6xE1*UW~mOZT|C+yCLgQn@IL#) zoM(og9UnHkS{AvXW_QFa%}A>Te-1vMsMpvrYiCN9?W|ngKE^xs`w~g^aG{cRGqv~c zV%A;s4HXZUDqz2_nQp(Tl5CF`EMaRGFE^i^Fc*)XvVmRLIa)g1x+T|gylPt}&8n9v zZ%z50c1)u7&Q2^bYk1jec5|0Ow)^!D&A-TQtSx&Tv)=x6w`0~jpB=P~TaMWm)Zcd< z%&`N<@x7nDIkeR$* zeaLxuP7mO1g9ln@=pc3+3^uV#dQ0_r*H#g_iQRW$3JUj;Ncjk$cBjIYVh7lbk>S~=q&zy3UTXR>RNX&GmTd(hSpLY+T} zZK1W4BP#sCaLnCt<#qNC`JJi5lh63fZTW3^&cUt-J;WS*54tb5t06m>Yq6^)qrAPI zRNUUc-?A>9y${u^*|BhfpUDX$3ALyYvMo+W0XwN%^krM1Wr z6@d@J`A(_H2RUNk-;!5L%nBl4m&=94EBd9XS z&{=_24XFn^ka|yo&XTY6YRrn#*YK%J`^;==Km29(cjnZ`8;{PqREt|k)MyT7Ws`5S zH=VhXpAN-h4^m40lmB^9*yGE1=gp`z{OUe6h38CBQHWnL(k z`${41m0aega-P;AUvyqmKCjCWVU~7|23jlLKXiRUF-!F<`h_myvzDQe{2oGQh0$37 zv)oR$t1$~Ut8b`!mY5afh8G&L-+^6+`(V~r;Pn5<~Kzv*b{}=-B7T& zEiS;FY4XCG3zxFHsAoM$J!>U*cpjlvuehhA*|XVYY+~6WHm7+r+xYf-%m(_ldf6jZ z!OGi+S{-a~^%mA4HOrb;sBG=4RI%O}nKl+)P2%;brL$~)os2_nu}iDOyV!>sZv!*ICD}fm!$S zJN?15O7@SYjch-fDlAs@MN7q*746FNwi`a!?qXMO{*34IfPQv)P=CuAJitQK=EKzH zBV+LrP}_>idx}>+G#$^?tRa>&YoOy+?rb>cxCNi!mYAi;T>{hKmb8}hKESN-J@{1P z%nCou%Wx~Qa&(+qFcEI~VipnjvcxOLFXe^*0<)AK`U+}WiOllQS^=~CnLKZqL3I7Y zcwO1U`ygg%4pDVv7emlR$`5-JJ>gAPqBFeeK(5$Gw<`yggT;{L732>69x zJ|eB9+E(1Z70e@E$t-b7+!C`CVZ3Sqw;Z3Y;MRYOSzbT1>JKri3H`J*FIuWS;#vDqWl zI?gSaC2l1$DJ8vv%OW>B6bxV=b`OI2Xssi(d+;b(Ku2#x!DQGqUKghOU{M_vj z{p^hmR=<+=xwo(ZL{~hd&B`TPTWa+k)6%R5dEpf9s?Ol`>1C_iBhCBUrM26s+57g! z$6wiNA8ohS*6+2ye7M8be6rX1vOe2!%D&up!7*#cv4~^VLHzOJl|p%;;`B8z>%O!M zyE`S-exF|3K5N>UTR=nXRF9E%y4OfM+Xr6sMzi#SDLwnzLXU2Cu_qd&7Yys& z3vNksF?T!?oi&CW5ucYoiCWVX9;b~U*NDd~{#=3P^3h)YEb>gnJZ5Rg8U01Xvf=a? z`55@ReDXupwS0N!<)LS;$7deVU&+T?#oviX^ilL&LWH@ulNh1L$VDH`3;z*5$7(+J zDr$4_2;V;djip&0&Gf)hJ>Eai!go{SVg@lxT}wU0+=b+1^LZZ6L&wY}7h`99guPJ8 z4}I0O@O68mm_Hmr9fn!o$RIew+??}l@tji~S=@4Z3m>=qMIN=SSR;N1H)Ka(T|DyH z8TN6NB>QJ2<`JnIzge-2ZJ@8ahd$WZ7VxkgpSykgyl|Qezh~#xaI6hEV;kx|aHP!AcZOa98;>AdUOi;^JMy6dB{%#WPF@1XqfpUji|iaqG7xLJDljmFK=>)k%$hfCjRPn5mEUS`JUbv(YGF++VE zW?gPwl^SFw-`{F3VqJN?2eXO2viU!yr>Oiev93ja=MUxU)NUQ!m*ZzaK7Ti#q#33B z;P2>uBKOENcc|J}tUt8_yyp>i-$r_o=W;(Y(w$lwJ% z>zTUM>}1VM{*Be}$z<4Hs55Eb%q{FvURsPKDNau?yR|jO>)yI%18az;>HxP!l}WV` zrBduBYViY$r&^cHI=24x51cmJ`YDY1XtRB|_A7gP&1Ty`PPl2~0sHFnqqdt`*1mec4&qn_g8fyWG2{i&)Pd7VXg;&#d$o&vEiZam)Eo9k<}hR2Vc3PAR6t zD#c7VH3Ka(gB(mTchI+)bq8!xEneKhJMZRwn4uQ8ycK**aVs8)ywb~wywb}7vm&eE z)ip9Jb|1TH?!o_nzcgT0h#q1hv!XN5R@}J=n5B7?fLW@=2h4Kww(@d|S@LQrM@(Rr zPrXXqI^CeI?WvXJ7`295n{OwTbFr3rh#mMNPc`N5wSi3mv*M5LKDD^jwKY9?G@#29 z(MPIn$-kvuqPT_T@*THeS0cB>ECux~$1M3D#4YWzfm@oZR)|?4_SxjJ494ty^$5EU#H`y2 zUdJu1AKU%KuV*LAb@l>t)PJv1!an6L^3lfW^gc4#{gA=DP}O{9g}bw35N2tYsCJ4v zZYe)hEndtT!vC>$7zWIOTW)s+`z!L9HJZO8X2B~rE6w}68+33>%!+c~F<_Q@rB`Ft z1+A|)?e@|7FKpe0o%YTLTkPXc_Sk34>xfxJ8JR2$;`4p)93sEf5)5YHSHDpn!ioWwqM{?`+b9E_Sa@DY)#9ywz)$m z+ux;!ou#%F>)D6r2s(?`FZA!5$1Q5}Vfu;kKe%4vO|V6~xhBC1#pHo`F$GR3rjmy# zq`T(v=L?3KznJ$~&iiopRo;33Zn!1y1K}}4?ZYkqA^wg+>>{F%ptA_=wn+@_Rt`dS zt$b#!;`6Okz)m8HriwiPHy=b_5qde2z^u@%c(rckW(4y*@@i?W&YuGtX11aR)SQ1C z`bSy|X6Y89yf@LI1UD@;Hy7*2�IstpKystCx>kz4{oxH$8fTF?e*LaRcs%*0L|z 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 N{M+%E>Yf8y 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

    UAl$6 z7Zb4i{7vkPxq+SBy|pbO7F)wFL(JNCECxG|oW(BIvvza0)}Gy`v6p?rJ*>m;-+By@ z>-Hg*y~8W?XvOiyMbg|bq|Mrd)PQwJ@?C|??h6s=9Ev?-r(x|dPt5tw1-`s1?b3ZX z#&;cp(Oo%X@Ws~{-GqFjceZK=Xvt}i2U>>-he$q8$)N006D_Fx?&NyoE2d%J(bu8Vgn9JH#D7i43@yskL zRJAR}UB*{xyzug9$y+L!_{u!%##z6YS%JK-G4);E$K%|!J7YaB?x66O4~_pGW^%rE z4r8nuUa`*3*lR&k-sox80}B{qNg=Fhg);t9oMqLr=x^WAVknLS@W$OJ zv7cCFBjcsN$9z!|ue9?^((4N5isF`GRxW+& zQeHXzUQ|&j<1R_tSE9TGC9wZ_!UWZMUY*QjJ>3A=8A?}V%DkHm&Q6|-{hYa7&!2_)gIy88Jr5pz#=@!RNR0XNJB;Y`4aT-(Zpga(ROULG6JEf6 z|0?zkSJUqxf0mfFl{w)ya%}qt9W7pMf3H2Z(BCd?tmW3)T5gG1(({-#jo+hvHEthr z&ga9H)(v~@fcT@B74Tjo`tcjkgZi1pEZxTN<2*nhX9H}RC0@;E>@}Y(6Sr)cCI6|I zwVHF$>&YzD-48b%g6L+$aI@(MWVRZI{5In)X5C=?b%Axn)4l8&^E%=35HCyT$tyAI z$Z+my9PWkf!#%NuJw!3imCn+W8ciQ+R6-4}OuTg>E*-~jq~XZ* zR2;r`8wai?V_$3{_FiUuMQy#Bh_EZS5OygZThGTK?Cdq{B(wIgo^|N-WgO*>tuu#W z5VQX*E_43y#?DA<-$UZoaHMZJgS;)rkiX$Da#rm}#)*PO zM~t!l+Qr(BweBO%N7El_s~zkUO552h+{RkgR_2Cb%ndg&FI>l%YZd(s%UHWwSQ}@B zFwP35CqZ|^0zTwTFM7Llt6uv~-8e_B8}{S)`Lmd1az#^%mtRYJ9mc%X2;(WIH@M@E za^*e;d9$9E8~QQE@_y$tc)a~7{jK~p-0!T~T>xu(@;vAkkK!!xY942q=872aqt;+hOcY0L4bZ0m@Mb`HpIH5ND9j>HxAZKJ<& zK@9i5UnZ9>v0o@=MKjhqYUhr9!`<00^u%_%DcE8+6>C}3nm5uP^G8j?63!x;pUs!g z8kW_^EPeJp`6H>1SXW}!J?&McOnu(+MX+}NvztQveRLa5b3x)(DPyiu*1ELkUcJY1 zva6KrDrarJtemVXW8I$lp{6<9Lk6dyqCtn`0YGl#Znn9)K-$NQ1CVr)eU)1xM zb&We5q}W<+y$G{xxpj`LiXp3Pd8NGYGcJ%ysOFy84t^$Bv#y z_~CQb3{NcQrEl(zuG#mnEdrTaBT%&c6pA*JTWb#?YsFrqFh>-#qC(c&O@=R-9T&CvSHR{&hHprZTg72u|DKptPja5 z-qq6XQSD6DZa?kH+DU&yecakiZYfuM9<$`_nnp&*o9fOT^iIsp#H=y3v6jgR&GVnd zEO*{Ua-~<*<0J0Xs%2IXcf>!BS@T%inoHJeSGAb6rOlA1%uxa}_xz z-DB(}-DS<*__@l-EnAhc?`W&sCqE#E{l;8!D~CB_HtSrOtlekadBi%`L*Cqez`T*3 zdghG<72jL=qv~D-WLJI>y%S_wK4Y+4=8rkd8?#yKk}_+RmP?LNsr0Q%w;7wIFsC%S zk#`^0bE|PJrwUiI@8NRxU0mes&jor|rSp7!j?WnCEPbxgX=R9F%|4u7ed$a}o~6^t zxj2=SgHy~4PqLBRbQX8hhgM-1iWP)7#GA@Rp<4wt5ei)AKNU z_G$#oTmrut3*qZG2Z27JnB@_K1ug+t!g-!$cCMJ+ZyXkKKm1beCRoW>Vkvj9Ecvu6 zZ%y!C80%Hq;}^z!a5EXTg^b!nZDx$Mo;lz;)~;4_zHk+N<6(@gB-OMw@pIL+*6?$E zZ5d;y#mxJ3J6iRt8S14)a6ItIH$GMx4>?KO0=!1|( z^Yu9Tt;SQ1^jNuY-bNbBy80M?CXHjwU7Gj?Z(C54=)ao$CcPAt_P$TC(bU&@D~ytd zOS6gEajM>>yscvAbndlKt$i8mS!)?*t>=8xy2ib*l6;bX)Xes*_`Ewdwct#qZgX>< z@I>Pgi1;gKbUtP-*k}@d=p2YAo%~SJW)d<#w?|@EC&Yf~h%6739+IWR~Gpeatf4dKR<9t-8#L;GDI^t=stsr^GIC z>on_G;+9xtEAh+ZiQ?8#=84jQD~Xm)u@--h{ljbYXeCG9LjE?s9E#pqCm8`ET58T9^$D?tt%nODzjl4etl!C=`gruBpNU(#%OO4BoR86c z*5<4EUNSLQ-De5wTg7Bn0hM1HZ)KBPY1L0G-D1p@NQT8%)hLcWi5v8JUFFV)E1cC% zD0_tX(uauSj?o+3Idi?R%FL$uFOFITbk08isWuV?RhwxfD63U zbL{we>^>5Wuw&6!eb`T+(_G0#$9hkE`3=0--!jk#xux`#; ztede6>%Hb;g}pD940J*$`-L;OhsK+6#1wiItlJHrcDCl3XEWDZKu#^@4$>9M|2}As z^^CJN@U^tDo;XX4GW|mJ3{CBQnd}&7wl^sDn3(S~?)3jXiGnn2f})*()6E^O9Nr!Z@owcG-SrVldkq zY3fB<_Z`V8?bCX~80#@P^?=^fD%Q5-pD&}-Tg+qJl|!l4l}=7cDSRy@R@87yv6i@X zo$;2fu5hN&NW8jKE5oeItmjLYSku42UgUY!yUwxR6_b4jXX$}B&*wQlr5O4p&eBH_ zO)o?gJzUaRGAo*KmK4QUE1LOX6zf`%GPmp(Gj3W$4lShQ zf1gds?>>XQLrF7-mKc8pFb)&1CNaK}6l2+wS!2X2vT6kDOD4|J>ru?#r17jj*^_J1 z^Wv=MG0WxkhE}gp%#yUrYYKB(?W9>k&&PUtueLVrgKdp#w1u&jcJ{1kM0WAHf*!4P zZTeyd?;FbBaON{RBs8(dosO(K^$I1kX5wKxcjUL6fUJ%VNa;yt4e-Ww?wz?d+}EmQ zU1Sa3)U!;SwVQF)ZpK+Vcsp!|O`Ns%Wj*V6)v|24^h>XQiCI68Rgz(rcK?Z4^3H3= zpn8i1R4(iD;#LOt0ZOTSFC}vyX%hWiCf*&`CqYq-uo|6`{7OvRF zy$&l8RgqNdf#?d=wD;SG98F_tZ}46h8o{u#{D9Ugh-4YO3! z(vF;9 zZZYf2>8SdA5(-+`Be$~?ZufFU(zjC(H%z?pdC9ClX{=RWeDyTWBCl%pBLB2I`3LS& ze!{%a663DN^g-NbK3L5CBl#d~y%5F^ zAy0&qQt-f1a{hfJ=2js-=N{s?`{p|9?$Tw}uB1z>U0r0K@Emu1#c+;CI?GueqiD_{ zMsW@?`W9ypx%VNOduya9?yiaCPMc^d@@hJwmwflX+ z04L1&a=3N-Wimb76UiYLa>})74@_n}pm{>gJ?o~<2;Te}&e=K_?u+td%;iOvO{JGo z?6UUt(I={%GV|FFT*B9q?$@uNCt*4FI!NjZE@6&or1`@6tZ!*vXEtl_l47g+Smj3# zsrEZeCaWBIgI>In##1IYwDQB++^}w(HGwgf^t?FBg?qAGDfic!z{^HcUggdQN_|5~ zb$HGD=&5}1ikdz~CVBBSxrJn10-rCv2y`#q(4Z_6+Baqi} z5`OH$oiV*a@O@_=RJ3wHUfXfVVJ$1Q592J>vf{aW<_f(G>KWR`S%+EAQtwc{(!FHb zF2-5A2K!mQQh7^X###UPdREsYqT z60f8?l{MVbo>apvdFib=pzn8mUH)^>hRvBJhsKYC9%1FG5tmRc? zd@ZlIJ5{`rqONg<`bt_2r?`LS4EH&luH}_2vyQ|h;6O|~c9UDu*2rtvaPlHHA3BS@ zM=#*SvCBBVCkkQ9c458$a_%OX3bD$cJ}WnRgeJ2$@5-MeckW1W<6Mcj<;Xqm+V`$I z6{A0GS91r9>~dhg%lWg8P^=|Q;qEKdx2(O$WK}46^gL#1hl633o?@0{%PeuLZhR$P zNt4JcTV{z@e(Jb~G7SZdmsd?XDWY+SgJ+YR1Xm+(2h@%Y$;!?wr z^kKQ-$8Nk)-+LAwb@W163)Q#ABagK#TV}=51OJj)|9l43Wm4Vuwl#RYmJjup`i6z{ za!Eznh03|bBF-#oA8HZzIu}+yu=YEbJkabS_deLDoId)y^q}gthEzp%N%t6cNxHis zm5^VOc0OBspKE4%R@E5w=9f*Nt3U=$UZz*;;N9nW~{CTm-@I(>uQhwIt&HDuw?^(^eamWe%N*sfa1 z1Hb)xGIm{~KVGwkoH;y1PMxGzD~9}vI#si;^djS{OY}EH@uuP7DT}dj_!KPZZ4W=* zfbr$7-zhEn!izmFH^x`W0i9TD7pok}D#@t<@9Nabk-Hk4=$n)@11*VNx?`yNmN$2e zYLApZ>sCR0hESobW6iVFhIRU%WcHEjzP)ym&SI>kouommW6fY*=+8Qpq}^1K5A#D? zsRt-cATuP@swBlvl6+aV(r1Qiipk9P>1los`L`t1vP?azZk(l<%jcEG2&8vQ(oQYi zJ(Q-u)toyEJ76i9wXShbOPUXmKWnvW@Qk}w(%Z0#y~6c;?&Us*W1QDH+h7Qi8;!%= zw(j&eaQ{NL06gsEj?yojkkxr2GJ85BeV`}OxEm{pwX8VqCbeb_IUjwN9{5N*4;rg~5msCt>%2)%dKK^ zO5D;;da1OUv(r_a-?32zchVb1>3O%JMwR89Yh>Id8CJjMUYpg>B%}JKWQCi8CK~T8As1nEwheX z&E(up2KF#F+!33Kt*m89dv9f6$Bh(hqYqxQ(nshsJ;VJE+V>D0eG@UPXPw*~j;#we zW9g)sm^sh|fnSb*ALng+n)UrVX1OyDbmhG(XZF1$!z^cV=~>Lu-PO9x(q2C?YX+Y) zsabqI*HUZxA%2qfky<-R`P2^O5Z1B`v&5~s%+iih?N&CLNWX$)YU(EEGh7<`F1b{z zah(4Vr%e8+?|B}xo|PM_hv>_`;j@@EhdvL(thL-JCT2;i@gU5|sAM=a*92&srFq({Esd+s%*@_AE3%HcgADT}+DrOfL4tie}XO25l} z^Q>`6@}Nrc&r9i48h53paDS?lSXzZ!yjP#Vdp+?*m6mQ6-a!KE@KQYeS~t0){wjAr zU&$%Qr5w&3@@_^H?`E9g4UJR0t8tR|G!AFv;}CC~9Zbu`0p2-_AhV=!##mBBJiS`f znOYrVjCGvcIu=)>gEz9RSZgc=PL9XUyt49Mjr<3*XOqv$$5H+xNw&c6~6WO>c~A)f3}5=RARRtBJg`>cqa_ zMBY~wuZ)};@JHAp8dlu3P##_>2`bn3vm$-ziTFMw}Tcf_LV||V227_?pvtcM~ zYLDu+Zg||$ogN1_ly-Enc$G=tdkXi?BoFmO3U|&VvX&)j2hCZVI7>6q(jmrKhuB*@ zz&Pu`Al9)sb11!xvwlD4>gIyxz3%xKUe)K%GR!Jrj3pJ89BV0 zk^SJI#Vw0nyn&caPDxK$MNXwt;#DelJd0P!-2E(G*)mJKlH$lHqZ?$Ecomz?nmd_w zo_B!Gl3NkE^pEl$khpa;s}M&r3!btolJ_wTxAZhQqG47Pchg63NBv3O%{W@it9^{O z_A)oz$NKz{MEc{YNX}88I~R|LgV8v$d?&)DF2n}=00eNpW=0n~1o0Wl_-ZzHxr<#v zUkpJ&yYC=oNn+Oc&wE+S(#=9g-m}*}EHTUFXWU{=Sj#Ov#VTq1r|nt$qL>G|Fb8yH zeO}DcZWf=9crS;NHz9zYDr@dWvp3X?cUfnrbO%fluj(>O+_Ghs8=2rrX|6`|I<|7* zdr9|PE!DD0x5y+H&IE~DFUl;ZSLqq0470>5pEtSN@2wV?_9pLx*)U6YEyS!Kem3_# z?pdY3)-Y>1V=cq1CCtGMv$i(u!-RJ2*TiPOlrx%` z%

    vyKa8k&sF1{uO!PP-O(s#{%CT?eBJ@dfAAQo^lC}B>5G?A=#7_>;~^5UN60eYbAGarMS}4HFC}9D)-qN#qzaujyKGt=z?=?stNcr=5^IUel;Jj)pB(lzah&p;CETDqZ;$GGhNxg^}@{nebc2N5@Y z70x*Z;RI_N`@WutoxR3kQ?IdD)@w9o^%@D^J|p1XcLc`uv4dUDK^W9+0PMK?YD9;A z7*1}DY}*@SKL3jGRu4>Q@g*EtW4C9m-HFU{YTVJfo8!=^10?%~?JbE_(zw5IcQQ4B za$qj#@Ck20Gsc?q3HQW&Odl0Bh5VZGF>B|4WnGH$m&hY?_e*h=W^p9z?kaOd&E=Tc z9C@+a8Doi8s=aGo(4G0?FUgHPNZp}!<7|*_k?A>!zsB-%y+Cd#W+~26Jsh%Zf&3cFX3R%-y-l&JArDT@0gt68#`r;L9E#r;p1E2N7 zg})A9j5P$gO~&GW3uip~d@}BR?u3fg4#?>=5gEN*aC@*jb3$(u8FhOE5@QWzN}~cVf8!{f7N}8f%Wa@`f0|8HFbVZWv$AYcb1V~ zB~&r}^BL?Zrqg$7lt%BCWIU&0my|$$#q&nvO)^ZnL55u?!)`E#yv~@cuC9<}(#2x> zxTtf?DbF%46T71F%b)V=9B)%gQB)*vRIApd`9mY^bI{%g?c_?Mr#_7{)+x*ruh83Y z`6TP>%eEtG+EVNuHx*k3IASOF!yFvoj3WalJ9Q?D(~nBaUs|6JuM_(?DiTY}OSHO*+H5ac7HJ;+A2S;g(^Q zo?}00i}92_Jq-3_ly)pUk68iqXW6PgW_d9$)I6bKmbfL4gY-+h($`!maqH=QYQ9z+ zCT7VS@uKxC`QS}XXqY8#iCK~#xn-C&gLz`e+n-|&^Fza|B@KH#WtR3|7-k)8@HH;~ zZ6FdF54XJT;?;weF1Xvu5!&gH-_;peec3PMF8);ZO~kB3I}eLl$%DA-Z;(5pq`__o zC&!Kqtrfrj2;;Js%=%;FtQU#NtbOy`Ve_C?inDBY3Yt5MW~Yr|mwA@ZcWP8jUxZXd zj>(5A$wM#6LvPJqlV2I+S2~qOhFz|xk@%#zN^#Z|=9AJj-i?)R(n}vl59)Q+yl$}O zb)EU7^2qDTAv5zW#bnTzmB~0Oi*@%*##mHjMlLS!>$ez>rDyOiEO%?AM_$Lxu%kG^ zS-|7oa}hPx*V^?KK}N+4bj20^Ssce5N!Q0s!-aAF*gtp@HV$;eq5vwSI{4FMMZ{GygwG6YyHt&k@2w`mz?U z7)!ev%)SQk%19j2oQ{$C+&slM!#I5=zDef$jb~o7iK=@&k6HEYbr7?BS<8}iqsNWC zNpHq%7QbF^Z1oU>-)evC3srSp77XEDCYX8oPqlEkp{WZAhJ z$vAoH91d>Wi>;+gxP2%|n{=EZiC&h^u4#aBhq* zj*rrwU3aV;>Wt9A4)FhO9NY$sf&=5Mam)`Lx(&j_F5khvbAQ+~KQzo5)2s`|F)yr- zS)ROA_)E+h&wBfdGHW_#e57ggbs26MW|^GO@JLS&#z{Yu>hd=7%0oRUFLFw(GO?D~MN^kqQ{UiyR_2J$W7Z1hhijUAjfjQ=kl4@;xvj?I zVS88nNN?7|W=^PX<%GLk+)&ip18M!;EoO;ThFPhsU%h13pNB&)5?|H#J-<}{vaRRa zzBW5=e(SS@aosPe;4yb}QTdPP=X%IJgZJ+tyZSD&swyqrs9>+LlPbJA zd|B!j>W;lVW3O?HwTx8Xa-?+M-h+PlDU>f6CAqUUuf53boFnw47eTV_1hR%6z?f<} zYf(ml)3ysOgWK#6Zw>^IzH=9X3vB1 zOvpc>dYOK`H|y?OjmafxAh&jYd|NVaTE1 zH zMgK*@y(;dYsAg@A9*l>)W6NEv)%5pQvSyza6^m<|_Tlov4Y(1y8n?LjI5}V`l04@l z!*7|ztZP0C5#uoz;qJ3>lH5ArG#xwWbKlHZYxQto2Sn5FubVV3%Ks)Kt|KFk9pG0RdNW{F9*%o4Bu70i;a!rJ#&JF6phDaI17JYH$^ zcgzy6Bwyx?hFL2-=92LTbqAvF)O9XI21K=z@tvwmDSB34?9ex;K+Ic57=J5hg+%suR9J?}6dHL76! zzpk_=+S(P(XDRd459aDlKEb-O|N}eQ=h_``qWza zy~BNg5@RW8D*Y6m?=Yt0YZt~&j(jcEjjxO+Rq>X-=E@k%>KBq(ew06%CHc|=KlLv) z%u+6>oqyV+<-%R^QUK$znXGBe=l;W`pLWAy`rj9kSxX!C#OB6*tsAzd8ui1KMvlm7 z?T!0AL-4p)Fz$TeN>A1Vl=k4=ie8-888jJLtYzKie&nQKfk?0mz|A54e0o}X$*g~E zeDsfwPi^BZTTa=&HubLG`YdM*^-Hqd16?22bdy6WC#NLw%1A7$;`;}j_kPHlzv8Xb zvsV$daW@VuT!WMIRwE){F(Lz(;0&Lq$S*PLxX*kXWqtmz=WOh84zjqliG9UYoSj|B zzS2zYa`)}Wx)$%|jO{+u$_>S=VeR@oWtLqF-mP!i^|{RQ=ABhBOY?@hz3NO)sRMh6 zVwGgP56TVYjhamEs2-(Sy7DeD%W%u&dxlrGtkP?JE?)W9vQ4b|z05LmI%aOi%>L-T zzBZXXKru`4)ilOeM&ect!x~%lEA3Vmx5O*4%P?ymZwxKr-Jyl_z#C?5Y}ngkR(R9? zxZczS<=jR3r+r9SY^}WaZd!X);TT%r%Rn8svrBumddCO|vm+`gk zJtk+fuNW1B4cm5N#p?A~K8JfmXD-ItpoQ2JFdtj}=VRxTIoRVp8~eRxW4CJvwmZ+j zM%K30jP}M-{{KJkJ7>)7J05{wje>J`J2-S1gwY)sXK|0y&^Em=gmKnD`W*(-pEZcJ z_@R{ItugE$YOjNQrkXJ{I~}yw!JW)=!$VH(Q`1J@suC^Qr>); znwE*P4695n-pnTIyFu9}Rx&sa+Flw{pQ<7Z`*xMlI{5$|L3z4FA;YWiGL(y;I739MSX5o;E%#>QDo zv1Y~si&jHYvs9!1qnQ=>b}NLCd-7d{zCj+oC{;kf9dPFUQa zJJc&&$6bGW8uZ~k`|l9fZX`0hF2JMVJMiPkFjV#kK|u%3>vVHPWq%jk8|;p9dK<(n z%^2R|UKxv5e8vsqZe_+`FPZi4$1HKnHb=DOSA7ht8;3pb{qvY+{9)#4zTd=Yb$w%E zmf@B-Rl-_)DVZg9Suq#Co?cdgQ&+EH{egp6xOOvlA+N&x(8X9D%z2%F1qkyF#dePn z?5$;%;;hYN);cn475{u*!Wzj!-uaqCkG$WP!{FX&5S-h7gYm6udWOTf>(`E6_#wOp zW8$n4jI&1B#95}E=BAtq2$%~Z`!d>2YP z&p=^2H&lM*j{BS~yicF|o#Ean;GZ*T>=Pz%zVPO-Dcn!0TRXgW&piJnv;IAqRbRYi z*!4UnJ@4y=LC<>HvPzs%y}y$8&+ag1l#FLgoD!EL<$>n4@sSyhsh+PGEP=iVaclYJ z9ay|<9rw2{#mW%wmAFiXCOe>Srw{-pst*&|eLXmOBS3VpSirP<66#jHTaSM@P#$s294;O(|p z{9XsFn8}|Lyr(u$b zx2pKxK)PS6dr!D8hq}vq+Tx!zheUsD5qE^;-mS#J@E9yuvk9|87Gl+$<=7Oo1e+OW z?PPwq-+K;rv7WV)an@FcX;2-0{U{%-C-UnPSVJGnzMo>L3G}XyC3{A)c0Qa^yrrG;>LE^it&ufrD1So` ze?R4fb1B7HV%BuVSi$U7&Ux!|EP9Q1gZ>xqaZnpy;a$hqJ7V*Pov@L2v^TL1FCF-# zCoXcgUs;<8c+|xQKYq6zKMo?|K zQdbyvUEq7kn%gn+I|IEqufrRMgM6@e&{Ru@xC>s|!C6B~+{yfB`k8$B_wr)Qwapa` zdw$DPyC>?-KmOYH5BPgXk7}j6X;RHziyC%S%fnA*-7{W(K1;bLtnhv{Vw2LbdEXH% zT(A-=LYHDaz~Oi@yakub@zW1v&1d=9egNLdv~JWO3bn+gTyVfGf?@VEwfaMR}azQ)rQti2lWkS zyw04HtTN0Jx5TU&{62lId~nr&@~-Tw9T4`$7uf!G7i|5wD>i?^`-Sv7NQXY{jmwP( zTg-YuPuAn^tMFsrjd;*)E=pQ67wqhgCtpv&_k*V332W{3F)NmFmw2Vy(Jz_xVn6f$ z)!A5Iy!Bh+B=PB=`R_u1pN3)DeOSf46s8VVq5Im*EsHombT0NLc5K~;wTsqZ^^8SW zKW#p?(JQ~zEf`^rfmV#Qg?+=VV>w4XYAQDI|Mit*){4FkSo!5BEbBZR3pxzJOzr`k z)~YYOTlBK_Dr*nCc4$fR!CPK<*0dC7$)hF7qa`W6k`!yn^YBzQF;;zXmLKb0f&88T z*1D##K5u;Prsi(qE8~MuE@=6=YU8X)+OJHhwk3~NAnRI^b}mTTxutnSvC5G#nDbjL zI3w5s9*mVFPkyG^9Q6owV_MuYvT9vqmNRQw+Uwv)&M9^aAq$OWyxEAmvl?Q_Us_<( zU)tixU%Ddv^{){1b}vM~`xQ=p+ye(b?uOm$9qwhE75Qmj-qo=~C2vwZXyeX(Gt+o0 zdKT_?_Ca|&&g<~r>f>*H@R+gD{ow&99pZ~z?!d}mtR;VgYVWFLUDh6&p)cdCf9B8M zpYiv$jko^n%rbGHsherPj=cEySO?3Z-}LeY?o{4>5F0~RST(IZ)0beM?|f{TNKYwa ztYOAPZzVin9F&;P5%R#=0%=q4pF`b@oEG;R??W) z8(|!o<@8ETtfjrA(-~{ctmT&KTjG_p?A2D-{$?jczSj?zKKd3HKkAS3ANIkiPrkC4 zwUfQWJ)d;to~(Wrv&x%~LnUXSiyGE&>uv{6-09$g2YuY}1816_4E4u@5rHV-9FCZk zZdc>Ss>>{EW=C^7&zRkLnH&CddRCkzua;C_9m~|S z^mM0J-iy9c56)HVE}&#;R(cv%na}FRS#D&NBwop*W#TOL3gv&-+@ZD4l)XeJdP6-J zE2+OX`;FF^`xf`r^ZP8ekz?|Ysiy$Ayh8~#jjmMu%Gx#M1cZ_lceJ)jS@O5QC#voi{Dbngjln7;<=gV;m#or{gG z!Pv@r*0u@$7PGdD^uZSHgImkpHEZd!-qdpf)^{IU6KgR)oYkg3f?D>4fAd~HW0os- zmKtV>TmL9#xpLmnlX;$I4ozL%@aaXE<;rFwS)|8Cc(%sTe*m$<+<%P^~~;RF;lAJ3gL&bZUV36=dAXASqVm{m*mGVEcJ6hfd z!>sxk{6HQF?$W8`vy?l&uEnR}=)p4xTN#G6jI}nff4FUOFt*!I!_LvXD@%c&o0pxZ_aFVefDznKg|!!~A*2%7^zXJb8~*%+ju92l}+636%D0 z8J||&dX|Z^Y-1|h*CzgQ;a)@qJ4>tmPUSlu{FI~=^&xASFgrx+`Ud7c!=`9keK zRh*@ImhwS&a%LKPeIc*4z|z08!m?LB$2{hU+8d)i$(n`M%?fd9Os&*ARGr?5EEBi1 zvsB&(;~fopuNhYGueMf+?i=4An3qJJgq&-=|cjLG$_zg0(UdS)BA9f zo`<->Zn(jHf7iJ`>m{@P{g_nW&$;bqh8e&0Y5RNqme=O5Ys)Ng%jANOZDK6_{y(s1 z_@l(vlD@B;Hy!ViTgns5d3!cFArq(fpT>>_>#$|&JnX2Qm9ERIb>B|H=H3q2$XII? zcb_a_O-sxQY1Iz_ym9zPFw2>@EF>4|w=m0%o`e@+mfPE`xsywVSxf%2rNyne^oXjz zsC-Y%(rqx+wahG!_Qq>3jhLlcymrHT@ScUq6K8(V!eZ9$H`*imweHCLOFv}2@-;GF z>4UWY>|rr0=0n!y|JDs>8}-7qCf_2X=_rd=RV{d*g3QWiP0^NFdE9rFN`F==vggeoQ9im3E^)i`@S9(%VR!aDALSnUyv z^%JLI8}~b?XSkk!POsyi*Q;35THb#=miHmAy4hiIr-4|~u0Iy?=KWmu4nx^D3}ija zkMd$I%aywwtUb%@8*1jzfis8W8`X+?0Ch9WiJmPN&P+>gpYZu1{aKVVcaci=+$SYX z`1lJ;E`OzO-uj&L)bwVJ<1Ej3_7Al;a3cMvl4h$Fhly*>ynEq9P8j*V$2^Vley_Qu zsqeS2Zndia7|45F+T}2bF_t5l6H$ z9*1=1dCBx!X~t0VI#;>JJ(hXjMdpaoSdf!O27x)y8jV%8e&ikIp#Yiaud&t;alC1y#6Srf>v`j|C|Jd%DZvm98H z*Nrdn$}mgZGV*)B8E;;YCAG}*;ZxjFuQ7o8*xgwtH_Q^Zd{oDJt&PPi!>swt59JjV zi`*DzO=L`EazoAV$g8E@G^*uKWxS@^yF3r`m}9PcwGH;Y@&!)6(hbqC_CSoquCCbs zZU^k4|6RP=!ddB~%n`4B{GG+C?51Oo-EuUt+m1%s7kqx@_;<|87~=DiS^R(ckNg?> z@AB9BvoK4!W%*;?%4VNYJ8kkStC5yoh_lDeV%xkmSVgbamPtX_VjqZgtn;p7e@b!I zn*PiSd$VuIIBV$_10iNDYV$Q_GtLTOoE5-YmTyzmw0Q5(qe)GyHMtS{g_QgbCf-ua zW!*sJZW>ogF_tu$ag?NZN^;`;EJwy!4z<$P#55;*;2jxf+0#?%z^7Pc?t1A?jw?M_ zo|-YF=iNy6q^I${zvd3fDRE1+cuC%OY4V$juNWthNAi)nbM7Yi)s|TEYCEidgL8n4 zvlfvlnj=&%P<43KutvUHqoMRM$p4_7rM~2qW)7F}`&Yl&8e8dmKloZZM7`Dp7hmsX zDeBd3IPsT`^gXn;6!uz6>?9{+-sypiPluwS={QTp&AHF7^$28k8He0n&M5oV%Zjtg z>B%Z&oRm&xB@N~cL&jNgjFIZbStj0!80y0~%g4H9xKD8wYxg@Dmzg-rJfFr{jKluB z{A|Ab=d7Rke2FoTRvo(n5DgcmdKYW)FkF|VwNLgqlsja z2W#*%Uu$LYY72XMYdFKan6Z#%Z{$JM?L;wa#5+wb4P#$Wv6eII@VaRzW-aIUuYb2a zcD>yJr$6Y1Dglk zDCD!2mCL*^zt1F;f9Gv6t85r&4!H+e%u431ub0fK|L5){kAC~Vmp==$^xyCYajJGM zQL~9v^gonW@XpzlBplgt5F4g1#zOi_SFnG$VkCEI@wW8Z0rpr=X00T%mXldaI(&-- zinGY95Hc&ESr7Pe_Rxpin!SJl|PCDme6+ZS6Dxdfav!CpM z)z5cF;|sm5^S)L-)0^vuUtsdzK0yYbpGj6uW(`?QcCCG)8;-uj{5$hlm)>&38TPYI ze&&c1^jIf*dEp%Q2cBaO>Lhzlhsmrx%wz4K46`;23_=6%uVNodTEVQTw3I%po<6IV zvh8Qh;9NjydaLX{>;L~V{zv2EL&Yp|>L%9|FEg(tUE!;Qp=@ib2Pv!dJ6s}3uuue40y6}dB#jJB5kXs#G zaGGZqs{ekTSq3pnb>ShhX)n38ld?0*&YEAFnGX}QEUzVhb&H&m$0D=N-rx)_o!5B! z8aA)lj=cNMA=-E7f?P6d0-2TBu|N0l^hMIgy%EFt4w3J4L&!T_Ey-(1 zf%IF!>~U#5Q5we?@kTn2$D3#Kc#&I1<6h#|r5E@$t`&~s9u{xTNcZCW&aqrmb7w!x z&8DAa>$B9)lHY2X$IN{=^ix6fQ=w!?3^P}f{E>L0`ButUS?8pZFXE3knPr_J%^sOK zPul-!?r)^8ig|*wQ0cj>bH(^N>aS~EP|T8aTijDmOs}tbe<}Q)j3+*_>dAc8l!cFf zi~_Dh7BJ_K^^eby#J$m>f2Z%`3@tNPOJ1vz{jc>;b;E(z2I0ipBXRN_N9_H~0f)cf zdSS0|xX{NBXX&F(ky(c*!>jG=OEnD&;ry9k{M%;*U^)Gjw3uvLNY%54RZG52=e2@) z(n`Ko4gHm5{8l+xXq~;owZmWgGhlzc-xpUOW@eoyyDrjio#Eb|3-ntj_MgG>>ZK@- z$U@qv5TtPa(!{=_{v)$OIhRJ<3Z@>ES+?BrdAZ{+VwSkoa_$9vP%E=S=$)d;7|Ae8 z^R3!4OK0Y2R@XT8_swinF)M_=DvW)tphsS}dhXh@qg<9GUg;b}rf{boco5o_rCu3n01i6G0c+3vNP-V#e?4izaKVc={>taPU-xMGt?1s>oEP+ zQF^Uo>}~DXb_Dav>ya9ijEKQwkv52Pw7zpia?jz2?$8%;pR=FU;XA~C@{QHYilX0& z`S5GR$$Rk{^=@}Wz40ZYn2(qISszNKRy6w)z39Ot5B9dkvNrToU+X!ZDMpXwLw_ZW z0`y(_I7y3!L#&g7Hi#2&jddsc4DI_Mlktrf~=MUyG9^ipxG)r{gFd*7PN z7tKC-F#S=Wa`1efk$jixML&8U&3KnIhg8{j`6_WrzDwRpyb2_*G|NUFPOoX^lxh}@ zvRMg#Yw2-`Q6Z1=>@&_K_2N3A#Z*1-*RxkY zhdr$-_Oq(^J@QzU%+J^MZ&A&FFi7Qm?Wx?$Gu7_1{`5ZcVPux}AR1;JSMGuAI?fvL z6xR`tAGwTeE4HH|yBs;p$EOZ-M<(}-r1o+^VwXWk{$jvAW<`)s(I50g>_@$Rz^usE zzOa}Tz@EHhnC1OiCrF;JcC>UqX8F>q{2XS9TdvGxY3)!wEvq&pQ{u^!ySv*fMBEM>9uJZ0p=*?-qO2hGXS+$?3YB%PBX zW(Cq;`TmW)FV=y>*q3SJ{j~N%&I28EMD1}^{3~RJk7(#Ed4&(FD+)B=Jg1#hj~4u*$-F6E#5zJ z2@4mlMbU&(L^ydPdXO8>X>~wk&tZt|HW=|8zeCI?y%9%W6;ECz&||5`6;FOev&R)p zpA}7JNhZG~ZdqA*^2(h(u2Jl5NiOVdxp58Aof@Ou1J?}4ky+!}2bWyvvm|A*%(|g^ zTJl&U>8nOi!-L=YX;oZZwHm&NS9;@#I#^c{?p$ zN%dqfYd$GR>wxq?lKNkgvR7t4pqQmKMD@gcTh9p#{rj7U{0C<$v!)cQw0SC zkMQ;Xj~V&DzJ*xUi^<$ml*^x4!q=F|-(^L+FRuir!cV*ed~yPEi6V%DuYJO_~yv($qZv-V%Vi-W8U53)8qaPgMKtn(L| zv3>gyEUjCCNx=z7b@D;THzN@K73VCISqYu`Bkr?rk;wW`60;KJwOA+GGAruUP6$^P zf_-`APQ@(wD>t&rnX~^|#0)8U<;HxeEwlWd`iwbH?c;ecW)0{59G7-)Li-EFtQc}F z^=bCQ+kI~Fs*t&ZqNh3{|LOL~APeQU#4Oc_l9**AZuv1YDw#Q3*7>bAtg?7Tk0oYl zuCkf+r~Qe^WK|lumCE{1Gqj@U!9xDR^Tf!l2-by~7m>p_$kPe)p40>%w;fme?~2<|=zF<){fO?$2%e)=tv$t-0blHTtLWL1hezFs$aaProCqCzV z7}kmGeaDg)QXGAg6itpqFcT3-zb1)ml6qFAkFPpV5{o2pO1aaVb{`{$uRD>oVD?|% z#)QATi5#A>quW{k_a1T{`2dsu@ezu-j#$K>GlhGA@;Q5}jO&jzPj%v42j;lm9gN)_ zU9C*kCHknV10!%{KsbF?7<*Zv|L(byVe9F=Hn2BkByO$b{Uv1A9J0+4IX8!@9zyZ^ zE%7zy^l#Bj&V`W5`Mp!Q=i2VG?A&@7m}PjS>jh>?#jG>b39{;_`dI8~9Vf%~UA~Py z=WgQAg*!NK?iLOlyNrev>rp*<8WOxh5ZKQVp*`rex(q~Ihko~%mCQZUhF4;i^6}a~ z9m^U~IeB?3f7XWgW7aUv{d3^?I?m)(TV{z{KgFz(+$-(C*;*r?c?Ygfy=`Sn!O(Orj($s0?@NlI-_n|15PguCC03c7gf+{Lo+^wr zpd?;thH^6ZP%Gmwk!uDM`MO#&6syFniQESyX)jRzKR>nhOqX!qw3t=EJZm23oQhes zPk(`>uY8Mj?+?YEPHq;nF7T|0>w}|kZBQh04&fHFwv$svrKy4(;46}3XL+m?daM+A zEV3$ItkP98A6nU^ewOKFX%C_+eU>AA))3Bk7)-AKiUCvp6HDEPj|z@XTQRn zXSzhbrUuq)# zld=p`I5)ZAAMab5%xgaH>+xK&s_Y*hpzaIemXC?y*UsXVTE7W4g> z{!TB<{d5S{Fq5^jhZj!v<6a$Rrfv+0wzy@OrE~2!l2z+kC1%-jYZdP=B(r7@ZqZ!s z^^t0ZQiHihD3O742efGRz(|N&75qMF8gur)_GiHUdcQ9QidnY$Z~yl*%o4Be$E;)Y zS%+93?z?c)(jL}^JI-9k))SYp`PfD5JbVhU!jbCLwB|>-U(I%zZq`%*0!~ zqPG&OhKP-czdym-m&1!hZM_z?bNfX?QLV-G%? z{qI>^j}xyJKi?BeU+jhY7kKU|J&i51#I3f>3Vxcsc=q*u*>BR^tnutyh5YRegj2T6 z5|{FMK1JRmZzK0FZ!wESj{S{~ao_V4_N}Hp_A#pe^{K^9F{}JcJ~+(2yJpT@9}$6@Lt}oxtPS*9ZJA}b^>djuXHXQxtxEbh zJF|XYZ251qL7*RlTS6|6sW8EbZ)!lIQ;m|i#=@!m1;>NXtipL~me z&%Q$dds>0-_P}`d+QY~z_2A=Q{}PF>bw#Yey1qR7{}AmUZ-r+(!N_`Jwj@$6rz z9vs2CP?Fb@9C>>bA6NcedkuZ)oh;EmS##l;|Fklo&wawPrm1I@<)ROxZ;JWXC!DX> z9_5^|KIa9_T7QW%KcD{^`(NyhrkB6P`WO3PDf0xik9S4c-#L4Xk80*fXZ+<|RPeR+oN}JOs_P7{W6pY>9DSuH7QgWg)_gb^n?D_aJ)HM`qNg`5 z^bN*M_M7gKCC!7Qanmso*B#<%;OrORLgb2nS5R?{n<=bnTgy&cjp1zG;r*2`}shik( z@&+~>57)%F|1cI5Ge}od;ta&$BSh@+Yez=&!`AIPxmt z)i03zMi+}&QRG!yW+~esW;w9`E~ytUIq|kDdFIhN@4=U|{G{=$|NQ8u#*=A&e9m}g zQKd1g7roh!60_pCFL@$+?9-mT+Q~=oSE~~Y5J_aWYu1JE9n4v zwVxTRgXGoz^DW+L|2baiuXdcciKgQ>SPx#urlZ%$EBdPg7qD#487$d#3ahuDK;zm2 zSXi@?=U?O^p#NyNe9{N*pZ3O>4|>4!y>9S*|0@LWs(yPQb6DZ*Wrwwwqc;?m$sUbd!m-Log^knbI783oQpO0?;ly$`hR|c1&@7( zh5z~-_4Il39{(J3sM(wWuexyd)19#J)gD;!P9HRWI0#!hFz3#B4F`IAv$r0C^JLG( zA>p__EDASAkXIuU(d?LnW~bzP%#zo-I-Fi>cnr?bZ=IIk8WMs1t=!tio|WO&DsoGH zOYG7b;sRRl5CW|IFF{{lARkKbKjWF{3?%=P32r zZJ8xr?PV>v|3XV0C~vig+Iivzwvkg?k6guu!>#ood9`xyS&LZ|1PW_Z_x9H2_<9UBy{e^PlYTJ!Va09<+pY-we)HUZB^Y>c~PPF-RV2 zF1aO6NsGxzNxTxb=JGj`m^GLDTJma7ta-N|Hnks)rZ1hbi!(>}G2ecOvl>ne;H-vW z5x6uo!eZ7H`lo9{qj8%(th<)iiibRwk+^k|L=1t+P+uf znsQjz=&h7nI7U_-Vtu%mwO|wdRTKTycJgWm{nd8%uC~!vZ9c&|@EGgBqc^bW&{eG8 ze+6szUb57%`vO+%Ag{Kc#=M;;P`mjcY8!T8!K$5Dx_mq8XDmlv;$*~lgk$8F1L43- z{IK`B!hyVUdFM-v;@m%1p1b4C8G!!mZ3Vs7qQF->!;k$e!z^VF;h=A1#>MijAsFcKJ^Lb&2YBWa~+V$oajXQtzypDn?a_CHESO0fX2r= zamEYJg=p6sYoF`OIac3c88z>jZ@6Ek8!Gsma`LHywciY8)n{{#!xFycYVxmvGh|jj z(eYlbXINye@>0@#u0d)}R?Xv|p^`s;8a-bXXV}!d*ada3bjOxYhOk%Vj3Yf&|M}t= zXZIcN=SN=gd_uBAI!)hmifeY#S@yy&501puA?&>mi^ENF>K3^r-DYn~{4)Km^YmON z>9vlKbq9xpTkP7w*V;mMS$PPHUtw5It}Wuvk>-Sg`RZ=B+z~>W%wR zxpp^ZtZG92iY6?h)YqCZxd!=>Iq)6efze$CW5fsDF@kGgVwM|cmb$&geT8I}AA4J3 zm64b={$=LjIe*5Tyc$Jr*~+#q3}hV`{o2=vWxqQ512f|vue{b-LUm}`YYCdnh(0_$zE9Ucn{2etULSVUAT5fPsZ6W zV%Bti@2n?3!a~00N;0tFnJ>`zRA;PVjcNK*VwD)B+HXGV&jsw8N%MGHbFyYqHBWa$ z-Ai4u;H}y&pFgt;A<%4OOY~P4MzE*;6U@5KdhiD8MZ+xh zu`h8R>Wkf5c*VJ)>SYD;@c{1W3Fh7$?YBu} z7Bq)__)>bLS@c{hp8WzF>CHC3&x{Kz$>MhGFEP_;<)fJItYA;7nzh|r@@^Tu zQ6uxKYw6({dDh?>`l}_6w`kGh?XB9+a7w;v9+@`x+0LlrYuEB;)o~qgHa(SCwd|t- zSlh_~TfcI{&fcCl)q5Q0BKzSYd*D~ejLX9!t$Oe*nWb}})ss3#pJa5B9_!Q)_N!PU zo*5Q{%e<~D!#YxzBm^g(OLs?}VxTln~=n8PzErc+g{9cMiLIcBm4HUCL^ ztEW3)-LoAmX6d=h$+iXD^Rw{L&v{;|&P@FRiHGcA@cB?|?Ba|jp7*?`k2m&z$1|VFgsWu76>{PlIVEPDB{xp;@nii1q4hso9Un-J z+2|7ab%pG*WtP}=b!1Ea;XM0VR!^S2E%~h@WYhjuZtddF6tmXy@kajKmHe75v&1bs zv+R8OO&Cirb(^|QHeI7Gl26K49cD&h|Cw9Zef%c2v)0>o;2L%uxQ?BBuVVA|^H{s_ zq*d>UP4ijj)vrB>g=-ICe!~IOE!~Cc`YkA*xfYc*jhH&45#^O@P&RE9%F9-utYkS# zivQxEyoYZE%xIb z-sud-H#=b{_d`1}PwK+`J08q%Np9@TJ9A#CBi9T^Qp!4vAh(8d{+=WKlQU<(yK--# z2XhP_%u9{tz8DX3$vO+MbvEf3?$z<(ESFHucSt0+Ch_@YPw*_k$3No?V|p#=pPf+i z&-R%92y43kYmbJ%cSqCTnSc1pSJ?g6uW<13UfA_`ckJMd(5C0QW7{)bv4!i6TOa)b zJ0IjnD<)8{KT4PyI?u}+fw>B_12fa(HrYO9fHjrn6K*U+A@cM^FeR1 zE^8*Anun_|)zV`>PmV~c1y7J+@>Pe(46XY~d&#bSeC)uWNJ|Hqd63j+KPxXKHc{%o zU!=cM_CeBpaZArRLp~Ybc9^esh`sk+e9g`Lnd?{+uI2BwhCXUFa}leU=aN>i=e2~I zKeR=<{hRy^vo5f|?w{v9xWiuhE&8czyj~%%&a(bHa)J8+Pv6A)-6yeX%TX+9+{?Od zFBY!cizO@eV!@JKn76PA)k~XDxo``n&f8$AV%|oS&smS6>NS`$Z5cB1XCo_j7Sboq zLPpk1q-EA1BW(uKQmT-eJRJ!sQxTtBhPdQnBqkLhDX{>l2?fYVDnM>xA{ zVx0Wp#~I9SpMP_YSJ8#D*&F!Kk>g#Hw>PS7KXM}}MXW0qM*)N}NFaZ7!9acehkZzVt14-2=r z)nLOdv1=vk!KKuKVJ*^aJ6rxdZ28UpTa#1G61~-R_Np!%zk}lkuHwk8Sh4bM@kX7Q=2<@`r%~uzbnX_+03`kVWsYs=$bVq?25*zi;j>x{4UuY8TQ zul2%OX4V_t?t_N+zQelDhGI)s7wlvWc!*~V9^o9&lgt*Ju*@8DxQ=(Q{jieUdK@}73FCY1J(H-}l*9i)y8kHYa0(KtOK z24@_Y)lxQ|()!_9JvO{0{~&G|cIo@}@HKXjSzD>i{QWi!ZOKI_8?l~@YT)m^g3OZE z@b+)^cWn1sf1dZ2IfYxCwQ!9+^;6tSvybb0TUqOEUUL|$7wy85+6|~FT8y&HTI45` zBR{4Dlfny-6G{$6%{)LW0)mxr!b6j4#zmxaE$keLg1KaM0v&{eoPE9$HpUjY&0^Mj}QOG z3ErHoC0;o)TWXj!oHe4nlzQ!w`tGU?#VI4zhhmmE$wb=4VD?)jQnV(jf(Bd*tD6uR=6`Q;g>Y3=_BXHAyw4bcmeW$MwlwBOddu|}V8i#Qn1pggU18>`z zW%pUXna)M0!Lc%smpJZV?D^i?S5p8Ug=N;Rtk%w&d>;i6Ey41dQZk{M!xS z|8s+f1S5!QggFHx-Z_-#B8DJ?k0#i9NqsS)Jg0@mWOSPeRrT&!%ndC_+R~q#6r<~dFDd**V zhJ4n5<*NJs-U;=8>54^VUP}w2qh;%$e3Up7#ei1_S?-Kma?D9B1qfV+mbdj&u*lC z`4;xDr0tyNV2R#nJJm$q>|uXQ{1Jza(r=v*pU5gnzDpcC*(!Zak}s3?^857tJNY{D zTv8LcC3bBj!`2ROk#7HzzgPSB+Ie?;=TS5*--Z=6OR#*}A}lSQj|Dk(n4eaI#p$)E zkFT&;RTox>>Hd>Y=ADiLk3{5-ibf6@6i%K5IfYn!8SlV-f+GSkZg>E^$QMh)gWyGt z9mdDWB=5m|4nLEUKhHn#`))kO_w&Wr@5aHSpEsQQkG15=GkL}g^n%|IAA}C}LG+Mu zNaA^jN#Bj(JkyaF%bclvmNVtbyn`|iT0d0ILEO?FX>rSzSLU`@rn*o)thUUG=A4?0 zXF8ye`(dhh?t`-IE1&3tP0x?Ok@o{}{hJ&#kD7z#zy>sjZAEjyW;FY*x0rS7yK0>K zG8d=bi^GW*$Kymh7hGsJ9Os#h7qgCXAN9_+`eDO|1F^XM5G?616q~+uLQ@a-d%jAn zI!T@ze|4Ox$|Hy%D`_VXS1!m?}V0KC=>Jy5vAS54)$fs3)xmf0ziKSyQ zuw+ac7P=>6wrdQgJB4GaV<6A4_eZ>AFyclAA(H+meCT)t4ED9;H^i5`@r74^?^gN1 z_d6eq@6WGujoy#fAYOy}^4iA-WBYi)z0X)U_3>;`Uk|v^Q;ntk`;9?Z|1pUB&JziI zJhG<~{5lSV=SSaQEcZ;0=X?hr=HbV4-?TFDn(JVsdCHO)CTVZ9Ia}I?`wf+Ih+(!f zf!WP$UQ60_#+-KK6f>gRpXiH2PY=iOXWen(P1ZEsSo1kAMzjA8GzT9bulAzZy_Vjp z6nDC3rZ;%#uLuC`LqMByf6f(U+s@0Z}-QZ5Bp>5=L4|0Gy7FN9MROv z9s9rW!f|r@4Et4=Sx2ev)4JeI_JVX(&*~D_+RoCGo}vzuS^I|vvleTSGE$N}jii3K zw3+OYHn2x-w2^(N&Fo=GTj{f;b^Mu<{Ezxk#%~#R9d7kehE2MjaEST0TK$$dr|%K> zEN+UQ^n2R#qZ-lt9QC^X+kfNspZCY&>hV3tux`#ORArT-DkdK_;S({FwcpIqDVXn( ziiK_|mgc)AVy<%>Y8=B+&d*En@bQ>3%=aF%qUfu{EdN11@EbS|#x!5@D{u;Gd?uo5OgbuE5>f6HgHne`l(3gtNNy40B1$^TTf3D;E@=OKKugAc(m&ZN1 z^`_7Ib~Jo?y1~D@Ga|ooMQTqEWPe5RtgH0)4v7D703tbiCGeH5JpZ&4#!)`pe>3*w z7LDe*p$B{Mo?H_QU`-hP+{Z{`A1jL)twLrUG!uEz6Fs;er#I)x^v9-u4#kdtaR1(u zJ~;aV_t~{0SDs`4`^|XV{v-{}?bTb4!=*RI+-t+Rdl%?$jLy<4NvG*Y zq!Z-T5w5izBG>k@ZrnwmwViz|Y4b3ii9<%&N|^&&t>t~G@kbRr9k> z9p}09jXO|3Z2>AXD=T z{C{yCKQ|MG1RpzchW9`Zcn=_Z`gy{?ucyVV&_3fJsV)rsmcESK z^6EVn?%#}oSS9JU=Qkc0*TWS7U%6P!O5^%}PLI);*u@o@9UYPUDd)$({~gZ^>jD3l zzO;BHW_iA(J%^nvUWr>{IXf$ewV{}m&OX*e_PWYg8`d$$xr{l4mCtewk3FknuaCp6 zkK@tIzEpEJ_R>2SqWQB)xb|KO&c6|b^RIHY%ga0~{$(#*dY(S&bzd~U>4)a`sE>pA z++f`KJQ&wI2H<=rU!4BZ7e~5}!@;k8aPS*H?CbA`{bc=K)^}poSu(=#O4o;tSy~Si zuk6hFeSW_Gh+MwOOv`1?l{tR)3K|-=WBSxND9)UQqU2IcW3Hh*x&+lxC8!NALT$(t zRQu;*#<(m@^GZYIm=sKNjl)#t77AH2PGZfNHQWzrtQ%A5vl1PA5IJ}Zd+1#2oEP&c2FaJs8b7SxMY;GnxAVtGPdBe!H$% z!W`$ae{l}-)8BGt-yk$R>WQsS2czk&I2`Dh%QN8X&^%@hn!VPsufB@2@#ZqWP=*^H zC*r~jUO4}x6K=9zY<|%J&96G+ZhJr6>BKYpItSoxw_x1v9)#=N199oA@i^O^UhA9j zINjGDr@1zIhTindNO~vg*huE89C#KgYd9nA50p-`t~%MOW32ZMQ~T(*cF}L`q_)y; zNt@`oY(1538((FvZT;06GSXINJx|wl%u;ON*SFI9ZKmY4wv$=nmMy#XJ4EB4QLE3| zOYbGM^;yPmX+2;!wUhcIeva(_rvDz(uaQ?`))nsEIe73a&%xP>`ISpilUIjo=GCXi zm!mGO9CKr-s8Y-dDL@^$Rpm?1H7*miWLLE(*~Q#L5pxZB&LNn<{(Od`A5xtB5HrjR z5yQqJSlk*g#^P20dt72xP=EHg*w-36!1sI1a_sE}XUesg8{B)lVr&l=_^>t%`Dzs6 zStn+EO>S|Ia2E3cS=}5lvEwjgf7}o0Z}mhHXaB{sE{tW*O3EO^ieKPd(dRj{{TcSw zpZXe&&-TN{H<^X{keSW5xksfF`&5HxqIonK72Jg8NcPr!Hsbb(g}BnIj9<^e#dqkj zo*#<~PdVexvn{-8e#_lr*6oh|&SmZBu82xZ{~C<&d6ir{=y2WF$ne*!AT zr=rv=0mY-EQNWzmWY-Ynj|#>Fhw;c5?t_$}K8PFag~&l<*ub#}mj;Z3&mdpcjpM97 zy$5?&u4L3G_NZOHc7akRtOeiXT;f+pk zE*_Q+cO8wR-92&aYcHJomNg;IJ3Yr)#OGN5op)&QSMpe=$f}d{SjVYj^jSygjf{@4 zk9Cwf(#k3MtAp%m?WN?gny4+zJ#23ESn^rgpKL4bRkqa{-j`PWh*mKFWz^sh4r#qZ z1lCa->9r*Ju5IjL?x5e=$^Mp+GFkiSv!u2@%VaIgRsKqn*Rp>GzyBGuzaKyE{kX_k zf8x~%&d55;{n2N+=kU;pt5~seE2b9D!Q|}eC`hTmlsNJ#x)^25z)z1Yvotfh6m_Aw zm>DvOy{`$(Z?R9$y*E?6;!(=ndI|U2G2Lw|gd|bQ=>cVpoI}Jh7 zNBxoY_BSZwUYPoq*;9X^FIGSPmBp-0&knbqkt@ ztiZXiW@7Ir`PlMC66ee?7x{ue_C3cw`io<5{v|hDW-WN_Z71CNa3q>LII|w)`SIk` ziLb`uIM3fY)r+-Y>s**i>}_A==lsG*?gu2ZPO)x2!F9r8%&tjCnPanMmUv}}oHEQh z#I?YOg<0a3m}SeY2VvF@_Twc}Gw$JS`)Bm$eMar?*Z1Eq%^$r?Zk^{mnwE14>AA?Q zEeAN4Z_PH8RWIb+1@3d6Fpc|`%aEN|hCKSN+{AL^(RUR@O+gX&6c$G0p*VCB3WBmx z6fgmW<1oy&%m$3@G6Ei5hQj^JAsF@LV7PW+4!+wExOX24r%uk696LH;#ODqO zeQy}1ygD3Po^!x2VDEtaNK>?33py`#Pv5FasC5GoceSm4tCHPHjbQMJPLbzyJH`J=L77^ z9USOOk3<&n-*lYbH(h+9Yr33U^%2n;*TA!pIyrjK)M!VU|QZCfWhPGw}ly#Dn z`_!Hot?`-tFxnGie3ZGi^;0WY&)I4j@7roI|2s%aS-UQyw~|(owNfM1Kvu0|UuzwC zwUOFHpS6wtYAgF$P1GK)9ZI{|%aRPEjK4DX%~kBOe+Iw*8MMD2Kkxkzvn2K6uT$qG z){4ik+`*m`SFmu^R#exmLcx?eWT#bNVzPKO71^bvou14lI9H)LojK6ySE%b~PCH0eE#jJ9F`7Pz<*ef|SpCRI?qPPtg=fdG$L@-| z&$yuZWp}O%y5P=xuDIUb1D86x;{@j{9Ay80e@|EJ;~K$1{?11RjkmH^r}%FDPb1t~Yc4 zq0X=;w=S?Zzx%`mEZ?{XB{d6?GO+>)>7_{G{20xSiH|ErR!kXkSR-ad79%sf5NW|v zFo78fX<~2zCNbZYPZb7CL5bgF6!}a-u~#+<#$=+`%Qg6t`X+hFh-= z#oaeX;O4s{aDg@8=?+df%q-a6Zf@AYY}htt$hI-N-oz~It^s5c*W09nu%B> z`W8uhVkBkEC6o0uSLLB>Wu9lQ@>bINRyFcxNo)ACq!r9_-cQT;xU_`*BU>%veOoP{ zZ<SWt(wj7p1Haj`|n;hN&4So$vJ zAtpo=AtSU9S!9)%l|yCw~Gw=Av}mM2lOco>?g6nqvv)Jrr`@gT*gr z_P|(EO{6!;rdLTE=z|3I=%cvS7|tHOe{UD~_H?v*^6GKqVc039DadkKKyIcJ!Xklw_h5LJFgFCc6}snzdsU} zK6b*{PA)j!%^in0bA2CYgYNF@gWb$n?O}g?KYQbUL}qEOyO_0<-tRv#Ycuyv{}i+C z$Fe{3=gav1|_Fa>@~&T8x~8N@T@OM_SZ0 zq(n?bQfL_xLrRelREGG#QpETcAi=i~iGBr0^P>;*FF+=5XOLl8zIn(WpMwJ5Y)tW) zfPBu=${m}AJm$V8c_d&mHIe=+oAp*E>#9`lu})%^D~>s?Xl70$zjjCHSB?nkIs)T5 z4aK;Q!{OK75#eM_PWv%f_%-`UBeHP%+XNi@oSDv-hhpE;eQ=iha;|X?;GNe7;_ge# zTD?3R7q}jH@*Vc6_`TcPkHSXw*BiTfppoaorp*6KBx z`b}5my`?Suyh|JCb)>cI<46syTFtAZev!16K1Z^8N4#!mmC0F|Ow}s-GHIFmPZDQ{ zN=w^lG4D%@IHylqz~8}E^}H|58`&!U4s-ds(tPr20e}7y{{GAP?_AZYwe(EVI(jW> zBbjCTTIy{{hEb-!WqR+XpQU=z{<-~aKevD8_xBEYr88KK-%@{T_4Y%kUAz&Krqv^H zQWYj8RUtdB>K?OF!po5yHWi7%oIgrt#rYK>aXjab`jb~S%*ynij2zaAll>;5h$--61H2H;wZ_2iP6+7g zjDU{L2xU!|{GKDGe&~)_Z#iT6%MMuk>_F^%x*z@309=2AoZ=q9<`13F{2H&XJL2j) z&N%;(8;*2v$KEcUoVDPEO<#LsBXbMe`UhI`T{LS&ds&pP)aP@@$e4SxUw$wHhWy%0 z{npG{&KXzIvNl@6`;uYTLhh@v)qLKU>K&skZq>8jKChKqw#-^a#;l~otwz>>w%mFU zW|@qG>B%c&`e*)3+5heT9bR9#a|h?H-{Oq;TiAE{G8&r>WBQ`im^f_?GO}4Krq&=X zVH)D2ry(w?9ElN?h!2})aVv>_E0OF<3@S!KU=d=2CR>UL%!8EdHwj7OCsH|<66v{8 zEKNW<_iAU7U)d6~s}t$JvfUFgaa25VT;iCYh-H2v90^>nOJFuNk+Y|wzorNK(iKtk zTbUn?z?9d&!`xQ~V*49IaqQjUIQzi}oc(YZ4u49|)qXg3eCodp zzG(c`9}Rs2(bz8t>-#eg#W^nW2jY}+O3I2i()X=phCy7C%$`4!OE><=_$TA1R+9_1 zTF!MkX(b<*%-78GjlWvKpD7uCW!C!)o7!F%F*79@HkoU^IAtqxcOL&;_5AnEBTu9S z?0HE`=>wOMQ!DxW<$i-@(zPwKw%VCxXEuG%Z_RG` zt!uaMSoy7!JTFXsYw@OCs9ey1;;AbzIe!s*T(w9^n1RIDN+d^BS=>qrDMxB3Yers^ zf=li(D<&}C;+2?{=$m6H!6yqw$-JF3E(2-Q1o|#9Ya(ywd8H$dwd0gAshG@tkJ6;k z@yO&n!5sF%@|>fQ#kwYkd$x1>_@TJlSX6)Rf|Vb+VE>0MIQX)zOKAJW3deZ-zSxd={ z`)M)jHp#HcT))RFa%ev5+j??qz74m;tA*s1m?arzt#0MkI{LQnvh?&9_b|ukThW?5>t6LMSK-f zA}iRBpNg!oa!lYgEwl*9?8(Om=UIwo4%O0lUa3g>tqA(92>PvX`YfX;zijrzvJmH+ ziA0|ai)E>tJ1C`-Uu7Qbg*l}n*DV7%RI*Egr3`wp37pfJ(=PydJ-kuMocheJo|xNZ z3>JSm2CK-k^}YQtpL>WF4)n%K?(JSTBoNz}uhRSh<+UZvcCqGAao>&d;cJ-Ec?qrSdS-pkWXl`q$?m5m?A1vo8`ai#we?rZQArD#sgew@45Q3-A$cV& zpf8fj~1|!+uG7__5 z+3PaQN+hdNSSLzpo~bAw!(Nz6y2Y$)*K{P%HzYa7Bg;JrIsCj8^K)0q8gDu?>WlgW zV)b`CSAkw?uoI*Tj~!YN=B! zmN>GX-KwR`!AfoYk?~1CxN_ZdS*vWncM-jnG@H2&Tg~NtTP<*6Z^=dr`Lk_h`c~%J z)>j!nHH)6gRx`;CshBV#;=*zZQCz1_t&t$x1Q?~%Ezm>wT17~R=#IjI3H3n z{>#kQlJByA4uAd6q5VC5@b`2B{npC!H&DO-Bx=^~LD9Umm{hhHso66vW~IheAT64; zA$gTTuaz3c^+R&YFe@r#@;z>;za_sF=V!w$pIpRHVwMy-F4y8#5IH8rj3uvHnHBGu z-NGx*gEq{H=elE(M-tN6_sVmNLm5@;8jrcuQr85maZ0?W)s6`evm{$)*>cNp$8hTh zjAH%xy~pmuEAdXeQf+6;E8Vu`m2TVeO1Eu!rQ3!n=K8;2miG17nf2hG89QJ8x9`yBt%y>j^S0O} zW*Kf7X2tv4aElqP*j9;M5k7f52Qk-Tm-rP)W<`7EP}!EE$SWzF9!rYi8D())!q{YF zkzd;XSTQCEGkALr*CAK9rDC~j3YLvZ#!{CgEaEKIh0Y0NMV!^^na^|0>gmah=CRi= z%_Tqnlj`~PwwmY2tT|=Nr8>?XvsGJ$wSA2rFs!w2WjxXX^{^=UCuwf0X7g&RI@ZvV zdA_-t*D+VaLUT3#%3RI9#J0@ZM6b1(KFh2tntEG(E&FHofBTvJv%mj`$*e={Zyn&7 zuDf_f;)Wxav2gPdW+AqssHy=OlV)>GaVF1)o{r?WX-H+Am>JE!JQ2@vojSWXHV&2w6s9LoXX*_={ zrC>f1a%Lii=iSG~GshLfynG}xTl8Ep>}yHlR$OpPb}NB>`9vy#>`GwnREj6Nq*$L8 zMU!1o@?73rXQU#=W?Kp!n+Yk{D+597X$7%YFNKXwLM+c@O!Z8*a$dRgT~oPlsNQn| z=5g=iT%Id5XLKrN@ob@)Jg=jU>yFYa){oLmw|Lf+sw-Pm!#$ExCHZBm>AWw^VD3Vy ze$N{x7xC6I{W&zs^WdAnyiv$l565tU8@Yc?s3V6XZl(l z*<`DqV%B`J;eMLO$E7)KG>iVxR=<>4nrkCwX!7&R^%k=|MCcTKPqK#wK0a4VIyBYX1nS83YU z$bMIqX9lWAr(2rgk%k(o+C3FD%t}Zz*}s=+n7_BgJ&@Jz@u+H5G1nudQl9&0RLuxDEa}j#4UL(G0X5u*L$q;&LyK- z))dv7kJb93xW)5<#H}!9>7_vCxull*Fby&6Z7JK8&P;v&*bG#TPJ>uwBwk6i9?6yr zvuX{uekQZTwi-&@s$*R#W*PmFnYD)feLJ)4Y6sSc#b`;eat~@ zJ$?l%cb~$Xwfj)Aa5FM1Rv?;wD=2dYViTt!CZ-e-5rv3SFFv%zYnd8ReRuWX)zeD! zpTa9^$nmTpecAh>=Za@8BFT3WGx8HH#f{5BtappolHW4y(lv^T=b1rCd_2W_0@U59RGc8@$XP-*$1Tl*7a6q9lt?tUF59h6W6h7_gTzZe+Z=uwqwHd)ktKID?O_Y zsi`v%7sok*k;PUXB0h|>ASmUzk^)VGJLOAnW;oSGrs^riTYp->D0Q>fSQxG$r zYl>W3G|V!7D}i1sn)RU+(MIxMiBuA2rDk%iv6%fVc`f6&rdwVs2@9cmn3%Cs;$?$$2fU28=1aXTi<2;m#$h{RKH7Wh|AflGFssf z$9)1VQcid6$OL9iTeOi^+rJb0?f<{eoc(?KW$)X6V%AmGhho-A`mIBko3ZuuEiB)6 z9#tC;plI0+Or5zAMdhn7fqNB`n1zVrnqqt_x5TWZ2xjOhaZAiHGi~BHJ5bybvr_zi z$gLRmwWP>4k`GIwl9`W~z_rE_<|3vtgDO>0Ra{4`p=Oa|bIC6wF-y`p+SXaxHp~*Y z46}3lUuw;<-NL)@gF<;N?5mtXVdDj$`(wgP5^o56Wk4 z=6;{$NX?nenax#*iEHs&%FV|`lp!Ik6!GL$TnKAN&f$vT9Ij}3ElC+v<++qWO=OKI zC9uDxy^2ye_xspNefk9MS(MVbS25o!3k73aRKi)$(`>mlx`kch*G$he)N%$+758ON zXMSF1XiMUik^GiXDVZhNvh04h&GYX0Gk%XP^L~nDVxZxdyx0u+tyb?Pp3S7sl5D+} zExX!2ZtfdDW^!D{Z<(v{Tk3VmYnk~Hx-O&7T11~Et)S16*OI@IVp4SsvPo&>kf9fhTTo*Ba-3iQDe!$|^Mnc^OPQ|EwjWe@k=uVmFE(-lIXV#x6B^v2+p6kmDU#%x#vg9 z;JV{v)`^9z6QxqtiWS^nJ%c&ZT59$fiVQQ%61T)G$uO&&eR=7}xHXMT`%n6%%u*i1 zaLbliRxXw~vtPI zvJ=dm9^xDuWlvY{zJ|qH&SCcI!>FonLeccK$Sqic^a-<&oK%IRIPUq0sX$^>IpV@O zUp}M+(ZR*{WcDjYlUc0M zs@h^#Ci#^~j%8S?WUi}%%qn9})e>{5%BD)CtQU)^BCaPI>AqC>BhvGXH?zIA^<>lN z;cR7U&KYEuYREV=mdHIm*XXmZkXfhcwT^Os;=U`**mR^Bjr(q5+1B%zzxoJf z%-ey|ibhPzUx*2rvyh%#iww@=O5yxdi(6r3-{aQ(m?dt-Faz;xGOL<>FLCQZm}Sc? zJF{A9Lp!tVwcr1u_WQMe=FOWovGY3fTNkfk?a6ak$sU*HLd;mS83k3VFsWz>=Lps# zJ##J+l4=mo^L=8XrXh+w`3TPA3ghh4u%M}k3Y>~)D$buZq+bc=Kro}q^M0fVp6_Fc zbGafY&F9jrn>fxEOr;N-z>HTm{Z=;nT)FIVP3D}4LaKywBBqYvxw50PFx`V1P2c75 zLzS}UWvgP|w^aepaFixUB8qcvwC5zYmZugoWXt0#($Zstp~GivsYHneT9pd!?M)^J|->Z_NrcO(>b(h}>eHshG<- zf*Es=ocM2UMRJ}^IA?N&2eV%vRE`)bK42=>5!tUNw{+f*^dQX28AopYftV$B{Tj>? zw+ySy)y^zCAO4$sco=`y(Yv>C_|_flC%1NT2G^z|7qN23Nz857PrtPjrL`MSSl)=t z{KZJgD?YI0jGu&nmh&={9wZNXBBhqX&L9-l+kBZ&}UW9XI0T>wUw>M(rsIhrQ3xb8J4Cn zH*r4|FgsDq+*ezb@-bUY<$YUCb5CJ^i))wc|4VJXmik@dmg##LpJlFXeU{c5jn}HO z@mhve=GvB7T4$VlAD<=fW&GDtdM)*_8tJoEbH?Js_;+ako$M@r(7%C`&3AE(J+33{ zaUIl|KIfT*IKnl>9cQs<{Rz}9*^8=KO_)M%<%nDKTZ!~r(d=(UN0uWhjPnG^tf&BH zQ7Ma8WR`fP3|BPIQIsMBID3nVWv@$_t|am+jqEba%HevVYC|!rfEftGEY*jVqbbhj znn8ZGRTrby_QtKoa+5lNS|e^pX;|w=AuGg>qq>SxMf(? z_G;LrtI6jZZs}@r_J&z)uf}JY{*}4Pdr79JrHq#5Sg*AEEW6Kq=++H?-v5VenRSY@ z1CLobh-U0Kdk0&N-{juvi&(hn4C+=MMCF_vD5zYANrlUik~1I4>9aX=o-hW zd+_vE%E{|2MKMczdmfZoS=@_lm{q{smSL9a!wO5;TsQooekrqxm{YY?3A6ULD&u`y zmGi!>46}3ct=PS%zIE-*t~&ZF=%{X8pXs=Rc~qu>ZTh|95bed9KTMZsPoH z`7PFptP>AhWq#}8U93NG4XgHF#DcA-P|FNg`GOrNs@{aG(p8q{O3RvSvdm|S%q!5C5G8@OSf&gWqW%X=c`JZsUuZ*q_&8?t_tm+rI+I!`WbvDN4lQ*#T&=oA-c@A^e9mDixJ5j`C>=NS}#RX6I94<+(U(p0k^yIrmhG3g#>b`mQ)KOmnzW>8;Y(qt9UPE1h+u ze3!gdwtDf*%1`F)V$SU0>qrHQ;wM0s1$f0a}6TB;MZR#?QfLaC6ste^5(#hh6$ zpQZIfU3K3Q_X(-bRZ0(K>$%KYqRDQV*`yd%ueCo>v!9jGQYLK8atJ#Q>X$_c6 zZcWUYhpdb`=H}(OnAg(GdCrE2zNy9Jah>QnvQaQAi1?<7pBeQxn$Li$SWnc zIE!ln=QbxN^IS#F5sc*-KbpxEt-XrmRxInqL@Je>l9D-7P)ZGCPm9W?51Yi9sCo2R zQ|P%0sS>UwmT^AB{Ul}?Zpmwzbwk6gpJG-K&j%`?rn87uOVzu*bEBo@>jgTh_Tgi+7x| z>crVA4`9ZECQPkaha%2~$jh6L%uJqRO>V`}iK5QbTrXOl#wbA2(5b)jKaT2KM9 zSU={_hvl+%G|ZCMDrK!Wm3yu4rwZ1JlHr#6@3!31d>g5V^KR~|R%VG;VwdVdG0W79 zhFP{=OZ+n2`lZa8PCiM7Rpx5^mg&tKHkqq6=caWZwjNV%%a&XBW0v~wOYA*(JG1_P z%(CT}=AB->dlwft(?*`_D65Eu(|PfQpy^32bt2A6VHGv}VlXK`k8D(5&)2r0V9tx4=}iCYD# z4=v^Lnv2pls^t2jWVogEMYC>bvFibtRY*=5X32LI^PDp=OJ1u)45NOGUFFQ@OH(~K zw~#7#r|+Vsx}{s1#;dI=T-o!oQI%${+Q=}=Tn)3#)iCScmAuo}w4P`SHY>uXIkg?SEhU?cZlTWdHB>f-(sD(pLzMFi`TK?%vG#D zd;?4OUcw?~A?7t4#LPvzFuks2_Gxb6Vq|8|K~icpbMqC5ifoz3Wz9YfDYKZB!nro7 zoNtrH{nob3%43~4nfdub_Tft`z=C3`>{XRQUIeP<2tJWgFbU7w450RA4v&j;wkQiHuBxbo1LYd)W zZJ0#Ql@?0hMP{Y5HdK8$F{lvvtQ8AbCl-)fCG2mNvOj-6Rnddla!c!q-{aQLV3yb= zk5$668SgQRzDu_ayW0A#w#+Icqa@?AjPEksvgMU-SFP_e<>4^PgW z2{Ghe?~ms_?|IL0*NVm}iy!bx{Mv_EVwdt?wq`8)EHbN~%0qm z1yyHq#a>)umTKjz*w^L)dvb|c%4uDq#H=9M)yP;0vy5BvTE;BnmOR#{e3s?m|4(Ka zx8$|HgjrT|>M`s4@C%;rJNR?dKH?Vl5w(|S`-$39G_A6Jeu+J}{#tvDyQ}LMS$Kgf zQ#@Ne_K-DP_YvuuMPq^e<~b*$I@pWzwXLYSki+S-td~C>#-$TU)cndh8S+_N51wbu zLp8ls4SSyYd2N2Hk^P&a{2XDPD^AZPX`Ptj&n9^-Ww?eEzl>qFW)#a*+a*OfJ40%s z)XzD1th%TMMpupeEQx1Q(Q7eA%VhhKcCOKC!>m5c&K8*;E05WqI7^$#sE%GW^rhPQ z6#Y<=xhF-{(5q%X_hVIYUTtyCHuol5SqCQH)&9fB>g0E>y7<}Ty$1(>54?MJbnaOt z%zCi3jromDo>6>_o6F2`@oaU^ou}v+Uu7)>d(C&wB9!Af#Rzlr!9SSeBDXH4dFCgM z%O}(Dok*dYIeO)@E^7afYeL^Ip`zC^W;JoHwU{LtvlPWFp<>#j922pi>5 zxOEU_x$8q?RhE2`#3@(CEUPuOeL{9@ua2n{1}xf{XiF8Izhqn6x~-x9Zc zC*E-@M6VTQ4Qhn-TM2qDaVtY*S$8VM=)WYb8O1HJOlw4`a6EtI zvlupuO~H0O}1UjD}N4)a@^=$~9e@7NQx zah;g&yhp#q`qShs#2beYtM5l+tvpu?{H%xY|CWOPWE=t3b2ZXyiCIzR=#%tZNv;#K zRE}pBC1aMNF)Pd32xC_M=lb`|a=BG0v)->EOL=?cz+7oh(&d(0gI@`=TvoZ)#;QEe zT}#cB%PnJ;)tXwgwW39rSGx9?b+q0ukB5izywn$Bi#@osueioN#ns(CENpILW@8I? z*0ynDbrXLwztualhR&N$kRMt`yk`N?_BkZ76G$Y-(HI^?pspJ}&L_KkmN~97Y4}ei zxlW8AKs7PHC2qw_+)9&MQkc1V$?{#|Rz}RCv_=%Oj9ccpvg{LKN^<6ps{}twv67mK zJyYNHdsfe9lX|I2R!d>ra?cKlU!U?>E~j*D`-sM>0?#r^VwTG-W0sv$v}o+ISYFR1 zZh7y);k*alef@U#b%#D_KUMw=c8k4iHu>*tP|qmUozB16<4hl(Ph=0SQPyt_{QVkz zlj~?_ek(V)f^^R!3hgt<7w#g?-VotXKLYFx;b;A6;A{@TGa2}~pJ>dAky~O`iutXB zGRx(b@k-IbD@bIou+@%GC-Tz|fcA?COG?!83E)C&|Q zR#6ybj_b+-3Z3i?(R>Th#7NO^HPrW_zNQ`Z=bPa_okoCuE68)!A@;VB--^?BrI@Er zGw&tuCB;g)u2d=4C7+e2l+!Yq=W_X#Io<#%#o0gQ%!>27$T6N7qQaaHWNPAPc`VIh zG=F8$&N^DOzFu}7(W2_KlA6m=nvY!`&0iV2j8&G0FK{nWs)Sj#PE?LdIr_?;Yo*WM z`#JA^9<~1i|IMs9=C`Jpm%sJ$EylT@cx`zX{R`XZnd4e<>J|D%AESHVAzFLpkZ-wz zboK_4?0*^yT}8~_gE)IPCoZ-jM&A`ByCU>m#wc;hW7dZ~A?%EgMXe1zW*xP6%KLo} z_wT?vX6?{lZPHuW+Hi#)Yl(UJc`|E`XR4>jtlQ7t;>OA@Mi#d*$X?BZ(;FC>SjX__ zQ}hljp{siiZLO1N%}t;{&y{Z){D@g$?k9%ntD3lvC}!DOQG1H=SlUy}X-|Z-2ly{BhiI5Qk^o8fR9QWPbbkVTOqDax`y7=q#D;(wrv z4}uLFy4cpmh718Z$$(%31_56L9}S;<(=V{kzDR)lykA6SWpxjKfB^|?%}i!|@3$`z zk^R=!{_EX|{qLo0GP%Xy?j@7SyZj`RlAp=s$6uaIevfzhu?IZ-&2N4)`J3eDtUvPE()b13uKq-c`~k0yERyL?*m z*D9MoCo}r!}}42rDF= zCtrw?R`%4Td*_}CK~FtvpC8s{_H=*r^ylbVn4Vg{O6sgklFTI!jV8R6Mh?#Fb8kO` zF6WI)_w7xZrIGGmC%z554$i&#mq{7l9P*|}UNt`dJUl(xdg={71Am(N%>!W8m)CsFT%-Xmrfl~tF_2Jo%Oe1m8v(DD( zSz?@T49|XuG`ZO_vv&y=K++^PiBI!qvW3xVoySK(^03BZ*)-d%`4Ji@nX zjH}t)=>N`WCF2Qs=v?Zz-~VmIPApTrBP#N=x(t4sUy3qljqp>}6j|j`@O^c>wdRL0 zE@a7+3eyl)Y0iInR^81Hvt`sK)GnbVR$DN8o}~QCp13@(o*Au{$Avc~_ZE)gz*_m> zrF@yKBchM8Y0Z)~J||ew;ofLXuuqbf$(%KrcNH;_KFX`?aImsCC255P_gIlt1uI_M zS`loVBrff;UFWjI)rOR%K2NHzZ!|Qd0;HAf=^9q~Jl$HAM5!J1V+~g7=02^y9Wi)| zENP;jHao!LiQ7S@Z`u35A|{9@-Zj+2Q@4Wh!_6D&p`M?(HP5AIfe+r=yhpkc+Ke@O z#`(}w&as-u`cG`#Ut6v?x=%)xE}SDaojU@r1FK&nUn-|mZ7!)cWBtS(v#QC9>Sf|1 zF|;2{5@Hygh$B^pmTI1m?8n$8@nv3D4@YZL*2?cSepgl|SYZdC6IQ2ww|brwQC;}~ z5!a(uT{WGvJa?zIDk)dh142*hemJSyx|^a)c<-y+Pb-Jcx5<>SqG_9M2EPTB^YJwHSkYmbMul7i}F7Eh4d zO|c^$x`E7>{eC_lNt?8()l7>?ETIh3;u}b?_Br@zwTcvfHaTo}v1ny6PA<4-czeSy zx8Aq(WojUA?;_Przu0{HbelO;=GW#ruc&cD^MOQWNpu1YYE2>OMNhZGTb;MVgVdAEVc9^oneE z5P2y7p7u6WGg0Tf{~9?j>+do&DFy-pYmC2-D~P{xd(A#^5@aY?^Ch1Yiq)i4Jgr7p z`@{!z4{l{#SHe;2w(-^$rB-!}bAjGpXQd*46{A_QZPrObvgs-7{$#Rl=M##6x|Xe~ z;Qb!4yhpW_mSIIhUZkv|_oxz3-7l_MOm<997vFlz>oLw^GB=-QtoR1;ti12v|Iy?D z_`S~q#ut5BblB?Ry52Kk-8YF1S+mFb!^z9WCrKSuxpt4S`My8*mV$Wk-S;Msjgl6^ zkoP{A>u87X4VdBG2flyv>Et!D9gCqEKYuk!K}aw*f53uOMEi8|N_?k^+EI!>;_dG6 zHb@~$PcOWC&=$%t;yz;y09cs9y3U_4dNMgZ7{+&3{=&X9oEbxGrK{{ghZZ zq;`iXDrJR3pHD2KLT!GZNKRRGMnBM0M~7y`x53zn81GMx+e_Vo2|{(tqxJahdqm|~ zcW4qMy!(#t>E4^{^X8N{>b{O5I)1l@w)1w;U9t#u?t6Y7`Moz;(Z%NNl6NjuXa0i$ z^P|a0yT@~n6;&HP^|MIz5j8U<77yT98prRB-Ywh9-I<;>QzA`yz@4%_2`Ec}RzkQ}V!5S%YlqUT* zhqrG}uC=G#mFWyP@9z1mxaOxZa^A-N_^-Y4Iq%;wo+r~C%5I(&?v~Gs8*E-fuIsI2 zrF#<{g}cq$>jU;z@KN4X@IIW@@J2eOc?praJFL9vn`qy#QuW;v4M%90Cya5db%wcF z`SxU2-HQ(8!96x@T~_4R$b1NjTVMv+-e$l1YFwe{?N{9PbzJd;I(D15v;BtlH|l!$ zUzTUQ(kx%q;I4gB+-5T6;XqlN)vl8{)9wcH7IdZ5vuC0|ht)(-T>WUWuna7^oVXLe zWLhX2Gz-A5p?%7BRe@DveSa{yOV{g+%arxLyZkxp&ZxBN*hpkke8JyuvNmDhF5Pvc zxxrk=)SRb`B*Z8+`T>!ySuV^>zNj@LrjjUON>Nw2g2yznm+qSH@aaW_eXH#1##ak6 zPz?k6g8q6u?KCdAD^Q-1ne-WE$<&u>n#O%ceJkc>0yRUfyRAP-JmygF~lu@6O$QTiO`)okzx@zdS6`eH6BZmOKUyD5dR^a zkmuIBM6F$M+^lZH=t{Qa{ zDK*{n)5Q#Zoco~A+%IdXQ#&}f*~fm0^V>+%TJO-DF?SAGcc6I4pEHwt_uTq9_Nr~q zEa_(WHdBJ~CxsJEC0eo1!v|l`)&%{;Kh5TJwU7Lf@eCNfoKxtDFjl9<6#Amb{R4Ol zC!zG?7=`RWJ%xM5d=h4(xp7X4IU6EZR7y3du~$*>BLwz>40N2vWd}&}(4UwLQ}dTi zgUp=Qk+eZ(wniZ2{zWL2@rheyhu}UMsMPUn$BMmH@NV6qugXp{iRR?ectU+9>k)%G zGeCmeXZPX02VyBKi{#sEguBlCJrrIuq+@B2y zI=#TN$tAcYMaksj>$I9PbEf6AO6m$MDl%4~aj+usheZXVV?a!^cl@mZN%LHoBP7i+ z(iBLN<^^~=hF4dP&4nxRHE+m!(2fhBkgqhfo7#92!?LdAN|HmoP_uekJ17CgN_p8< zX^qW<#O}x>#7Bt>vXQS;-$kdRX5JwN!rtk9b$ zyh->;YZNw46s;02c1ppY{>Ws{^A{{;i9XpDDa!0Ha>LWIN$@yUKEn1)-$I64>YK8u zN^C+gD-tx}7*r=Fq59?M=J$w0PAu@H^l3dqTC$56vQmsCwBZy%Ib`-;V5!6}w~$S8 zuO>uAV+U}+YH9|k&yi~lN4#0GjHvRXom<7Y+Gk~6tw7x^%c`pztl+S_Fm(!~I4i;2 zwU|dg{`~^7;(b@M;n<0|7OA!$Ih3TRBcOYF{$rQXu6{DK$(hKgvt6%HBJ$1c+&%*6m`(g%wN>|?OkP_Lrwpr8X4Za^jC5N%da z>5)KEs~^B0$&YQW)a)j!1c|9^b=J)4q-n6r3`sLGKH!JA&iQu>pHfyK^5#elnpHu( zU=};&U&?nXqXJNY$WOzrL8tbqe5=V3u6yXKDv~#K?cr(Fl`2C3FlvtZ`pB1(O;pl( zOe0sFjd>+Ulz?=~tpnI|)e|Hdqf;S~o*j412@-Wh5wB$O10u2$fS*&^Uvv_Q}!}8oBBov4cO8Jth@~1Z_mY>(HbG zjdE8PW&z?tCt&=4PQ<9n9?)qxF0`oe;BrJlWl5_eiyHjOq+%UKec2|Vb~G9cr zAYTCo-=yG`$VwDaxth`&hocJ|a1uU~{f^{mJgoRs$d z;77J+98je-{L>LWejs@ie<}Fua;;p*FX4-Z`C9Vtb&bibUaMZhT!rLi9$Q6Eeer9u)PDj#`Gen`Mdz~h1ok&h5C6!J)BeWZF$mph$U6nx3 z)9Nx@5Z1U<$RFlQxY2D7@J32TlUecxIqk};G-qkDOH8Ss_WX3~L2b>mnkgc3tk6ky zjoJgJ%DDRKN?j6Rb>s+zS?hqCeTZk@Jnc*;K^@8E$g zn3LG7mUu~;iYI$RY`NiS)kGUti#gJ^I>ef)Thc(?wC79vi5%0m#G=v<`vjf9Cgb76 z!8%V=i=-tdL2$cP4Dtp<*wFzLxuPS0h(5Q{<=N6X+C>DMjN zX?j64l|8cZtPcA{>u#Wq4CBj6S6CNAoFflKhzjmRYnT#!0ebz=Dp zPbo$ejY)Y#8rqI<#7Ew-Dr_-WHO{PuwW2OmbS#xsci>W#O~JXlRZqzjB7%6VE)Ds0 z%wcB1i-Z~%z0}*w&Se#E89ymmB_85Vu3D_$g@-TO!o!0O7At99o!}Yyy3eaaWfWuQ z78hl%WHNh+hoV3{vT8|Xd&aPfqKoqDR_Tl?t7({n5whq2R80y&@=UwqSQ(V}hFjGp zyJTkSHlGr$yme+DhK^!tvh$1*ajIE@dLVpxU_WwTSB-7P9Po6I9IP52$UcDwHnMvZ zRUbXOL#E{Lp%>x{ZhPpLmx-kX=#*uZBTjBU54{05*o6*5Z4$PkD6j5~aD)A8*$4Tx z8+M!(37y-j3+RePCgv!&Y|~(K$@{>vI%i7Bm{v-BN?pO`%VI^>=+W4oQlY%^IUrSg z7BNDp_z5WNwE6qoP_pV8onmPin0DIfSRi81Yb-0*=6!jmL6YZ?gku_u-W{ZPuG}pa zR7(uN)H9|xUGf?`VJm1gk)+l01AW1cu&5rue}{-<_Xk40g`mA-Z|B6QWs4WgzK+;# z%@z-kU_6<`xdV6`$#Kk5cAMwFZ#t}J>VITAj|@lQdatB^yzB${~U zAUvcqYqrYD9kb?L%dG{s3mOZm?kr-)w}kFqCIFys&ALA*N*f z;iPd3$M)dJqR3`8Kn@N#(I!mwIrpMFXj7E4f;|GVSyi<8m7T8Rwg|-f9AYn-s)-~E zm@g53>cmuiyuDW~EJtSKOTcCNp^k7?^Es%ZR+ekJU`9k&&C?J0dy3_n@(@Hxx~r;Q z&@HXsvu8qD3EoWWk^Ly@;6=SH-&BtjQLh-7Rn?WviNbZV zhs{HrKc$_;vM__ZCHob1#3`7svim8)S>d5uWQ3}x_J`DA^e)fQa##W_*NB!;NBsSG zps%pme4sav`0S|&8Qe)(xX(c-_|Yz)K#JaS%-3jlSfH6nBP&UtdMpo?uQ&(jv39^= z!jmUVs-m2;yI`w`wNt|?`F6tb0fG8(MQc&+m{qWI9g%YE$`6uhN_EnelLoUJ63(kr z^sUQd?A^+LOa_VTii>#cU!kQxSjE%+eqo5^faVRYL%stdu0uAkIQlog5fmHwG+!`T zqMHyyJ>{&h-Y3#(lj^LV644DdV=q%KIVBA^DSP1gR!)^*X$Q8!nb!w~vwDN^6aH?}Xg6x-b?g$6sbp%< zUO}C>KqgCnbfGDrMUTf9C|Kqu7$siB?m?;y3_h*eM)9D8y|-p??d0e6QIx5xZq-Y$ zcwAn#h(fn4+;m(-sfo>mbERXbb+$AesEhIn)T*7W{KSVzNw>453)ckrq?ce;pO^%~ zxQzrEaqY_+7Ke>l_i6MLiKxM}KD|Jni=Ow2Wc;H&cRJgWA+vZ{VgYrPX?@o0noQH` zE|ygM`0^GQ>Ly@dhbcE{(uMOd_KXES5e7HoW<}9!7djj0b8<5IcSnPT^H@H~dqz%ZDMp-f&kSk`ifSfD$LGJ1q$ZRz1 z9)&aEV1+jHMC}fGnW+R80g^&z1@nli^SKudH8pv63{fZb*g};miMGJg4H>Od_h5w{ zQRjNvhV-+sz!mOU8#_sNya7 zQ&uNiGPL7UXJV0?KyG#Mk-mIZ$5MSy$r~yIy3WAa`Fxy^lXeJOn*EZe;K_P)0_v7S zpIbyxZE`(A9@X^~RWQmW3~G&OXn(7>rK3(L$C$IYH<#5m(gn1p+NXvDG@ZX<@nA1$ z%njw1uE?Vu@N$ImvQ^}&Iz(s19Tid$!kt6N5}|;YQmjW-(}bhQ<1V7UWA@T*&11tV zIYSJ0LexmMwMfJ^1U*AF0k7D`Vjj%VLO8Nh$uv2|PMmY`CujMhRrN^dvqGVX5mj3l zs_0AlvNMzl6kokQLZRM@ZUUupin_W@FMamw`$!;KonWSDGpEZ`)e-iciC&rntKczy zYd|%KpPDEVJ@-BI&u2{w2Zo~av3Y!i5#z^lFOd{{@4SVwQ@>zwEQB|pmITMxlMYXP zGtZy{^s3BA5$Ii8DVCLoWWo!B3{N7$5r2l>4Z<|)L0#te7mWWvPrSZBylVc-syCs+ z9q?BkIeHtjUmkp+SR(_hL-9KjoCfNQOq2b*ei026x0-(WD)wn8)K2c>f*u_`VT2Iq zxue7aZ{b4{oT*3>$O4)kjcaPPk!Z>YlF$j%Q(uC&XkGO-w1_;SwUZCo2#$Q~7ISY* zud2!n#Iz1Nn;;u?9xrK!r>qjF@&9^gj*SYBiQ$56NAF?1ySoZpoeL~6%DR|%-`>G=>rkuV)7HLm0 zNGIz_SwtzBXUAHFc}RK@6^bu1To%`t zThgk>dXsIn@}oxX9I4vopgthZ)V*XOJHeDr85Cr@RZrR5ZiaL_qzHS{B3-xDNP$F$ zBLqdKb~YC4K^DzVNI{$q^fRn^TJJ!6P~8}~2U?=sJZ#Z}Wwe(O*C%kDvhP`#%%ajv zq1`SY>T8by7qcR|Z)n8nuwF$eWwXqtH9}KT=E@=}tfLESmYQgK58S3u9@V>WlYV1L z?yHn1L?f0a|J0v)nkhAFw>hl$(JS2Q%c{oBvKAT13+yUx;j1sxO*7KdDcNZRZk@Po zXx_k=Q##&?oLMu22X34JGwFyUbfHQp9*h^X@Dg2zP1Z=c_f$HYeek&|Eq38xEKt5a z;wZ}S9e}Ecb_P8+(~ShUhbSn$KErs2UBo$g3o027>EA`bqsq|Ha_MS+qu9C+T1n&o&- zcVyg@PNiFK54x#Qz0B?Kl!@v_v&J49D*0VIb2<^(03|b-JjZX}VG~hxP~Butx#A2y zSW&aTbcC1k9P7(#=J8nRMTbUA$}1x5Ui5aL)19c!T;QkJ?9i^KwtojLA2lu9Dmr%w z${sd))=)T=V+yP4XxFJp%O?{0CGbaZ<$#B&EoW+!NA7Ra5ZCPHdTFsLpKcjlg_Z>q zg7|0`8{*SWQ24ianpMY=vR4)DOQvbTl(L3jFQZO6!uLi032Yd0$azT|zgrMq`x&3!9zT!Rq!f3A72bxaPQ`e$3f` zVyWe1UMDx|PB}BCNvzm4dD+#PpNJ9qwPH~S>e#-16$HsVM#z|RgU*|Xlmyb9ejR&$ zkCE4}fw92i0YjBtXQmNDnYW3{RA1j|Vi5Hd3G(`NsCTL_K+Vl9eZjL=z*m|QHgxpM z{)R5C??K6l2$ZWxDeXlWzFD*Q+IXtlP~MG{Z$Q~gtR1>1zmPg)ZOp;kwAGh!l2=?A zeDTf`Xcb?oGOF;}F&gbiQ=?TCj>pP-N>$^&SsK(K^!ODtBapZ!NsD6X|UmBgH6D^7ZP>cC&V)!D4B z>a2r}Y}RXV+xTaOur~g?M5MZdY^@q(Gl3Aoeqw|{entC94(^(_P=Xfvnn#+1uhwG3 z*a;808m0vEo#fzC)%tBBO>*$9+F*werPft7{Yw&cN1JV;Met9Eom-}lBvDOyXgIw` zY*&d+_MK>meEDXKLj()w7O^XR-Z7LzdgL)kI!~2vLr;)x<5#(Twb}AfK)SA^XXRJ$ z(1HoEpvDKJHpa7dUuN5(yYyZT2-hOQR}EpU>43Wk-5sdn_gSGc8r?6%UQC?EdTaV< zA9~EBSt7~rZ~`%}*6g!(W2f1br&Wv4Ez&1Xqi;LNi$OSJeDG&fM<8BuT*1>AiZhW*eQ_OQYCD((`D$NQMGP z=E(rvQc5x*ruCj7@@1;^>u@(_*Wy7ke!~QjC@qZmOdM5-SEoC zx-rD!vPgrEp||ML9@7xk@ZyFjT4N91J4A}kZ5G;V;47}}RK?1HyS^4v1rW77iPfaJ{1(nS2JMfiz><7S%Qpqs zEYiu^flfP@f$rGo6e&xqoQgW#+A3Ex9wgQ$)G literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_4.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_4.bmp new file mode 100755 index 0000000000000000000000000000000000000000..84012e483f65f99f6410b7e29e58107e40e8b566 GIT binary patch literal 50432 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 ZdL%B9i#nSb+ueH~EXnxmm-u(e{trAS*`)vg literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_4.rle b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_4.rle new file mode 100755 index 0000000000000000000000000000000000000000..e0efa7c2c5520195ee3960a70cdc923db0b6df24 GIT binary patch literal 20416 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 L{F?uZKKK6t^gH%_ literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_8-IM.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_8-IM.bmp new file mode 100755 index 0000000000000000000000000000000000000000..5a820296d3ad9edc16fe5b784de02ec491d22b70 GIT binary patch literal 64282 zcmb5X3A|O+mF~M{v)0;sp9T)+fFOd3fY^Y+4n(9e3O0z5P7pEniXw<&hoHv3kFgS@E7AMj`=un0Zgwe%qO|Bbo!X%LgT{(jqY zIA`xQ*ZAfb-}uIubFOpjDSLjD*?&jIEE~sn<6V}W%*$mpURn0r_p)p$zthWpzz=us z+?h=}Voui8ad39&MYm)>|H*H%`)>ML_S;|okL+`&%**b&>VfS2fB7K$+gE>)b#Lp= zp8xW5**9-`GW*t=N3%OFSeJct-Rs#ki!RNU&t95+d&L*Czy02S$zEFVaCYjHk}l6$hJFSsfD=2drR|MQ4-*(C=b zm;J?AH)cOP|Bmb$zJK8Ov$FSZ_(rz;$XVHIm)(;+x@blA*(t|lAI-TrTQhoU_RI6` z$o3sLID7e;yR*%AJeDn;d1Chdp%-QU|Ky9Zb^QL}qvmDT95FjP`;cR@|9<&>*~y1Y z%6{^tuV+6#U_thyndfESnX))rzW=1`&LdCC{^xnOXRj^0F8koyf0;e9&y?(6=3J4j zIe2Pz#@Iu%Hoc>m$Hvdh4jV8eTQ`1cHhZuAvMC2o$ZoF<&i-r1*z6yNj?cc=H8%T~lh4e)z3A-h zEA_$I2V;)PemC~0?BIR&&6W-uk*%6=SoY`bgR=|w8=KuUVPf`Jt&#m`{2|%h`;N+f zH0z}7&RRWNQ!BG&Wtn|tk3F&v4mvQqYuM22qbZZJ?;m(T_D_>0XWM4X%>Lppf`_R&elXCEzDnEki0BeMq&KP0>Qz_Hn% z?>ji_o^oKeZSnzG_i=}3TX=QPnVS9Kq^a3&PCq&O-t1$t|GM~d*~a6KVeCeB``~)^ zkB1D;{%P|5+2i}~m3?>ef!S|PoRq!(Sw6RTR@S}z^lbg~qqx?=**0F?a}Lkm<<-4l zYPNO3jO^#99+Pc7XKwb-7cb7buemV$=QZbN?;bmf_m9s0zbX6i{)4mM&N?vr*9Avq zThE-Cb)P?n&vTsxhiBV(b)PwvpB}gr|b&Im@ThGb1-SqkFrw`r2J#r6c za;@_Z&t6+_NVb*tb+2KpGa2ji2WMOOdH0H`*|w`s&i=<$r)1mKFUbDw#wFSR;`iMb z@VOO-XIocs{dIii)&*Jjy`RszAHFo(cJJ9)_trmP^JIR;&)4wYJ5S)}eE;y7*|vwz z%C`OXS6TOMeD+~}wo#v(lXZWE@1I+hbw6`j zKYWzE`o=riPk*;H`@dg%BfH_wN3)qHF3$GZe`>a9$pzWBzx$uFcmDN*Y{R49&9)KC z-F)ultYv4|65b74{r0#myca%-tu1X~Xl(QCzAbNed<|`#?X5%G2FH;B;&?eLce>2; zay$JN|8C@yVVi$1=aa2%wV|OcwwG;#_(U8WJM+PQr0aCM{bbnc_+)r5eiV1K|Itrw zW~{KqahK^6+~tmed}5#W_Mx6p>VtJ>f5lztjy!kd&6d2+yK3Bv-t|f*d((Tojos0f z4;@`yDUM94><&)kQ*bX>8c=ZcP`e=p?J-j=`VuzOQG6&1AC3zvqa{A$i_j3@zJT zXWKr5;Tn0#us+xRI*g@Q?t903{E5#ziH*LGFY5j^8^icqeds7K&TXVUM~2b)0sbgw z$TUAC7Sc@XGk(W#`^>n`y>@wT&De^&vYAfrYYfGEM-J@VcVs>qpEyb}@g!X2VZU_$ z>6)E+z2@>r1SztynAfO&pZYrSAGvr+Cygvd!zQES1X;y6J$Ki9e@o5b zMYZbv%w*>g{XX+#l?Red0c;27Ej7Q7GaMQti_RlQHW(wf5xA#5BRKQZHb!vvem}Uy z-d`W>m_2t?&u4mY)+b!4C#4ae!ypWUziZ8_dUuC z_Re0|K@`+H@8(W4+XvJ&*Q1Hq(SzXIPkgdMH0Mqtv)-saH-L8%k)sFh=5r4)A9?0} z@5s~U`^C>iLZOQgWbM0uAHCn$?Fy=l8kR%UbFjid*=i4j)tx%+z;jo1N}*Upx=Xg z1Ut8Hept>t<})2v?3yrQ^q|V4^2%ZldzUE89Ngl7q9e!FXx9U+ecc{z|2WX^8TKs> z14Voyo>2C`&bzK#xVas!HME6RHxX{*TIGO&9e%7k(oc(aA8yYa`}`h}J8}odI}I&%5ukzt0L@8NVYPz?%`7Gi9zC?WC;Y2h*9+W{ z9}2&92Cf&mUQ0)`t3|t7I2jA~1@S!tNNEP+VdcU8_>O*8g9W;=aJUC05VC9K9g%B= z1H)K1!%gyI{3JKV>9x?!_1ve^eQFjCj$F6gH$PaB;3u@qtWRhi-7+Dc+2jZJvCxaH z@Cx_pJM+B@{2~l!l?i!lIXoQWPiVC<@(Hb< z9HZg7!f@B>^qT0~Tsygod98&U?~m9-td9ue;-oqw39sZaDVp4#g`yPyi;NT*sXlYq zgf{%JY03T4^(}6gFWg?S%MW)GsY4i}sQCfDRv!=ssXYoAJ;L; z&q@|~JivVG7{5o@(;plTBfb<7$B4CCXXYo=CpboI$FewDTH#I@x8UWnSdE9rHOT+M z@uL#PL}}!f*$4O$#W?0^T%%_^H^G2!@Dc&|2L;7nqs z&y{6Gs%Blc-S7ScydIi^uW8#by*`RQo?$pCb zyzHy4$=#mdj^C@_RqLk5%dK&Hf$eyX?vktK+@l+lbJcuCoa>L%)$*xu9CsM(4rTkW znfZibbXnb@t`*;{VR6_Nl?&R?R$K`TXN2l%aHZlFcJQEBR`(aCww%nriDf6x!1o5j znsIc!y0R1$mClwN`*ZM=&-K_39~AJW?zVM|7w^o8$`f4CALr)`lE2wCJFq;AcFa<3 zKQFyyxHhj{a_z{Si$R5f<>yHrUMs-07**%mO&^H5^XAn-CJ>wMgn?Y2*+=Wt`&=JY zAultvRDU;T{?IDv{s+VnZW4$bnS)Ag6yC5fj`8CwF9wa65I-&)5ss_jdBMh#KWij^ zZ0je+@m6az=mpt0?=?|E1@(+nALSUS7}GnB(88-h3-lN*9yd_)%nY~8M3YVkeMY)G z+jD0ZqvXtnjY2k4v;@nm{z%QW9~UNvQ3c-Z$9s!@V&^#Hnv=|ZeJt$tj@ z4|2^tGtbnc@X`>Ra)rk2K{}A78O2;L zzBnSDMwB1tu^1bPB5;Ob(NE-VKYG^@OJfYvpi$!m#tTOl{l?3yu>#kU4{D^K(W;S3 zA=+;w^GZCw4R7g-W%9|WD(hWS4qci@*HM~{{3#avmLjReR z4M*gs)xcCEhSM}&%3s1WOpx~|{&ux9r@qZKqULa)a3FIyLnFo+wMjMX3$x;Mq!N9^^~qX(Ay?O2jYpYT z*2kjp0o&xCL6OLq<}Xttc7>VYggBu%7Uu1lw_(O9)Qin1pu$Td3BNQ_VcEBs3vS~h z-wVYOMCJW%J~>F^oYp%I^L0Y_#5hhCeT?tM_@55?=@1>{$^^~l0=qJa>Vit01A1kSaq@RZ?PZKHVaa9VvV+*r< zZegC$!<|HeM#h5_A6TfoMkT<=%03#|qeK4q*h4cLyRfm%?lg8WDUdzOF_GNhXDJe~ z_=vcWF&E}Xz&-dQtOK^P-OYxJPPIGhxeK_!?jZRr@qzW_Cu|>@fjim}-Pq=-mttkR z#&^tdb9~K#5DzFV4-&Au>^A=)8hh_TSZL-gKBYnaBX==G(UUoKNi9F3$Wi~zdx?{Z zac)$?q8wGuV)VID<6tXepXN^$Gg^k`C(4!L+T47aYV{K~Gg^yAOMMW_`TOMNae-M+ zqoL7ek(EJTBl^?uJ7F)s`{cOh-KwbIq(3tDCE1Xj1Bs||OHN zo3_w1W&!)lUi@pJo7J`u-x4#)%TL3TU`hCFdN?(&SOkwoG53xqMlSkU+8isU3ci(& zPMc$nRkceoeA2R~~7V4Jc0%P~Jwg1=`XP*Jtve`Fa9j8caGNM)X zEv(Ni7UEa?w|M$mKSQw7Z`t``lqxD;-aLHdCJ5oXs>&p$?AJ5LHpc zI^*UMZJ!uPY>ZWAjXMoZZ=)1FWB7eN-3qtM7#C)ZoddTF+}W-;k)MEJ&YXEM1e&rO zhx#T;iZQKo;U%o%%EU*DVMgX8ONTizsXMNo>T~LU#tD6F=^Y1ax*12kJUr5UMqa6o zq7>}zMiYh_O>vNNC!=aa`G)M-lW6$Fc;{!WJ11;Wua9aHo6<nKFNf$K}!@^TRY|>3DVBc-d&a-%M$=aUe) z&QhongJe*wP2Z!%jx^m&cLHpW_cO~r5w39$Om@CYd>ghw8HHI?Ms1F&K2eG85?}9r zT#F8Q5A%wKuu+*$I$Nd8A{xFLkv`I_0*@m4k7$lqz-fMb-|_Gztn{BU(vU3!sZ(uM&ANCrD_%!y-Nb)} zYDvBO0luT4>Mkaw@lfw$Jdue)z{Zj&E%>fpX(iYc&Pmp~`8j=BI%fxyL99zh=l&D6 z+8u0X)z8!*^Exq9ci`*}@U30$fGld`$0PcVuACN5)2lgpJTjH&lh;gZx z>foZuAZ2d7`t`8MNy%W_qmeD4A)8 zGEy`#Dt_##tJ|f)$CuNKQ}ZK=WZ^W~sD4{GzHd&Rmkrukqhe`Q?_+Ci`@n4>V&zG! zMSPC&4xmd?jYL1B40N0Nj;AP1Beso4pN>gml3l3N&`I+_c3M-B2;IITe-3*aTLw^l z`ga>!Teo-7Got&V-lh82d%F?ESURwSBKA3WivGx~xUdZ_ZXI9Dl5Ks*fe*=)5a}bN*j9vnxmBO(IHio4rirSXpW6Nql8IlJ!(*OVl+}is+y{!#%TD9VJWMK66Iy0 zRBJSSN2`J6fOqR3x6(DpL9<;wwbZK{;Kt_ks<{3nMi@t@XCal${My{w5resY!w}Od zN6GcA3rk;Ko&H^~-wv;9gmU|UZ3Eu(vgGJwOBey4%YvQ}!rXFx(QkwrQMUW5FQUg* zY>7L|mhiFX)z%%bp%WXzN6K0jZ6M|u#gB5r2`e1&)s7X!`1nrjD8<>*O7n|pFT$ByinYZL0yB7a(J0q3bJGQmGSAJyHBtK{Vnfp=Lg!1>3`8p%aZJQ5w z?q)1hyD{hP$7-h=ukK{))`8mxZ7X8Yh>WE?tSTMf#=|u4VMYg?hWgwveh{|gr=hPG zx*7h+IL*zgMi4)uuRWO{KQ_WR#E4aqi-=zJ->`^&Lv3p(oxZ>v)naUTI>1`hQcsle z)QuaJ)_B5{fa?ty{aa!y@6jS7_uP)pkf}r|3!}v*I>4joCK86lYW;2D%>N;{Kx&U*y1W@a{%E zfffALEe&|1t9t-r*531te6PT2PH08ryzg0I(aMUWa~A3H1+6*Ifyn1mO`xvHg5&Gd z$+9<%PA5s2V>6LQFOhD%#<%#^OrsvPe%)htx`R5s!A|a=)9%3URZHthU>@FQMV=ms z?jX$f)g1_LbZK=LM2J=^{sVVHtXg&gf6W0s(!Td{94y*}x8+3Z!0m&@Hy@Q<{<8u0 z_7j-{-AM?n!GmYD-Zf^YdUzkZciXxDB6)U57*|NOPs3#CnjV6}!VU+>v?LO-B)gKAu1^Twr z{p?ubURPGF5P;3ZYU-{`(|n7)nQvzMIA*)Hr33$>_T<$vY$SJ4d(XvS_YrqQ-3NE9 z`_SGPR==jP*1K(9NVRz7+h2}lXuaXs zMLH%XznDu0oEX3#xg%S7t2|P=mbLdPug%CBMEgJ@&kgHjec2c7v4eZa?H*X|wZc3G{rYxlI}Ag#A|_(6CrbC0i1qcbp{co`F`HFxaSea+PxN8K>8sz9p@ z+*e!WFRZ>V)7;1XJXMx_<}=wqI$8dImE4VXb~aEltZguhuBA>T=(|I`jTx&IIbP&r zm)#fpZ2H}oA3=0npj-QrAi60ev#YST<+`KCeXU9kzwZ%~C8e&b|fuy|sBvyaP zU>0M9xUXn)NDXKAm6KN;Sb4OxQ*TWiGtDgv`_WOYHPNbV0Us~|r*2$!9If79ZNA{n&8om`qi|x}i>sIwp;1;=utTSh z4W8;jOqHyFp~tA=7sgbDWZy8o)iOd8TQ{RcK8qc6fy@qz^JN}86#vPR+D$AkN> z>%Os``-YFW@3N~T7n3Cnee3jC?WX-7Fyt8SMmi|n_n36wa3-@LEBeks|NAcRA+mbU zeGeqMN>&MCX8w#%=Q~jb^s@QdqFo|Yk22VNeBhlM;>+UD{Gj?2e^4={SQJk$7Wvb| ziTMI|qF-b)vJcf$7rml7x?L*}bwA7%?dZ9DcsQE5psS(2g4Tn?XgPf5RgXwZOKUJA zX4w&Rcc!x@JiTBYMty2DEitPe7pymRHtR=HVJ2WD5KCL(rJ<54Ziss^!=tYVj> zS+$o~P*}3-)iC{7|AM=lGxWaK3}KW1z?XhV!24Pbazwww@8Xo!)BQQoqDYbCPH#I0 zZ{#bUc)C9k`xf{^_{|jJZ2-~KMLnP9Zil>Ju0h`*ez^pj2>zv~Bun0S31%3!K9Lju6G&@d$3r;Hb%DW2l zK6b%X_n%e-``&+9@j$wN=@7a;)OhH5%VSzoW-Y@qzMIj$TPubulD6P&Tl^o?DYkC$ zcC4@&!q+~OzcEuo0?b?-RGT8CTBp=b-}9Ut%ZMW8iAa()a2;PKqlt$aYpaXY74|Ba zi%2BN7St0RrHD$=9s+t*v)rg$EJn^Nl0D>MekxTrODkLr%Q1Lcm0^kzIr~zX3GEH; zsGGmZ3hvxqHWON@c;De;9t-LpJuBW&~WS}X| zY^o7STwlyET>TYl8@y>(3l#Oq0`(_QIjrh)&t^&TtWx_5CW)Q%>8!u7daactI00K) znGZ7mZmeN-5L+5>K%q4xtruWP_`q18j93$tWr&tyh!ik7kJ#;)jOLtDKfOFBo=BV= z!ffz=EYsW^B3t3~gP5_&cpLd7Fpt={x0@J-*FI;~sefy;L(PVU#0HBOI@Xh6yK08` zj=Y1dsur=Iuj5-_ImL@U(PAo~J}4j2oSj~K=#guOugy(q@gF`2PB|x;C_DPF zq&~U876%Ii#Rsav+ zqj~%=N96{(pzN(>-r%ASQ(Uzx5B-6xgw_6Ii!b@(4j+mSOE_EHEybp<{!sQy9-90L z4!yu*XT)~C>#;owiP<@^=BDJv@y7GmoD+whnS~J*ji=+?L*&=YukJ_PE6wp(GVuY- zE;%fMfp|SK!@UULnF(X&6Xj~SFb~t22mBRH&Hf=ppK;Vv$(j90n4-GlCW zcT-p%)`G}v{2C0fl(@udvFADA5L1a*Zc&ZZUe+I|s?!}%9OdnFld>7gdRi-1i+?n~ z(X3O4&6J_#FfumtuRc848hcx@wS_u}8LwEg9oDq-qkm7eqR33FNnC~xbFx=B)Ez{A zJ}8v_pg6=!72?tErs7^|yPN!lIX1d4xV7$bEW6uX60YzUyDQ_G;wpEKyTsoe((kdB z8BaOFav;%5o+!mpSPmm=mZ@OL zRa(%IVwus#Ot%ut9<|c2{AeC6#u8hZ^#z%+y;5G}5~3K^5zlCbXSjQry?gv!{t17V z`>Ifg*9WX~UvigYm9SXqZ*+!)ztXQM*17edu-ec73;f`Ew;azn*Ini=tnir6{CvUi z7>7<3lP@a7>xb|?Xz1TU1Lhl)x~Ej>T0dIG-W{+QL@%))7Pdl5f3?zZ5uFMu)(yfl zn(QY$53EUXQ%mgz75XhnV;9OtrN=A$keaydAkaur{bg*pNgj@0-{r6Jce?e(Bkn8i zA@?w|{-D3!-$c|4o#oM@!7t_KXDb#O$v;-RRZg#K-BPey>o0Q`xh1^g^SlyP(^zl& zEDR6Z=jTetCr*gs!v$24Fe1DIHbGt@)lQ7iNuw`8*M&}ZK93!{^q7+>^!SIL%$^d< z+sXzOE9YsB{cP)52`TMpr+TqWp*%p(x<(gOIC1?x-UB;WB@#Z2D5{PU{xftGyWw6h zU%ATN2`20PBYu-_qH{&KKHTKK6bu{x1)sP=aRfT~nz$~kFV^L&!QnbX=5l|oyVRZU z&hUl{??2Xk)}Q1i!Ur>mrgIBoDT*n<#I)KtSW>654usKXsE4Kg9QCdtVmr?a5qizD z43G0nwIn>08)qwq5=zlDsXMYACW;*`{V*_oM3q%l4SUDPhe^#?1?@uqVIA+mbEwuq zcAmT2UqbX;<-Z~{@R_SX=UeV8@e%${Oer7uFY&rUJFh`#Wmsy0c^3#{ppS)^EJ!#k{tp^c98>gj>Bb~8CUS(NKqcw`aifCSF} zQPBz&a%QUg=s59j7{`Z*f^7vMstGDrqU+FbHFrQ%d7>&@h2MY@uV=yQS&J@1DHuln zxF~Lw|13{D99Bp8R|ti5wbky*gpfOz*g6*vTH?;I*jfro^Eelz_3WcS>10qkj(Gk8 zS@>LMdQ0jUjPR*wJPikp!~eBQj8!Y%J&(_wpwFuJ(rIYPpQOB-Xjv!2urgm#pLw3J z3VXZGa&NznR;32^!^!G>YA@4}oL*GDQb$Aj4+1{quU4iNbH+>XoHN4>VZFNpWH!3* z2&13~`<8piKTNg)A+d8IW)?zKrgCd)>uM>!uEe8m7W3dii+eo?7Fx=hlF-?ouT%XJ zm}{l~5*#m$bRKoxY>+Xf;upk20-j_)v#2A(u#SdLsOx(P$ZGXN>jCozCXZ4d+G-!L z(wZg;R6b?(gX$2yw2q*@miX*IzjvJz!Sro8OUfCnP?svGPy?S_{uRh$xw1Hj6>xTx zM}63kF1wn%wJhLGLM+~pKjJ~leI-2WHaX#Sr!n@^Vr=&%Z=UwS(OuNXYtOsc@jU{r^6AN4CUezKfv64Z(s45G@U~GDFR(Dw}3N1RdhF0JyA1=>p zEgS_V4(Z3UG5}J(s!%{Ew;Ilb zAC`jd$wb$D5L*jcVs=P7oGEv5wJPpspDP~t9FoSKo? zRd-G`!`_bPrMT9j&1>Z>Z>`b88{h*cq&Z2>c}^iDc2d_snkc9ut$moQmbuz5bN|VG z%{>`FrMMwJ5u->)Mm>3+>&U7w{a;IvFMnvYg>?9=j8DCPn8_q!LHD z$vMhF6$PKATQ-25q7CAUJvNO@^=gD&v zXZQOR_zvtulq~^?vy7dlx|x;lOw~{Q`T5e&j6}E`rowmJqQ(NEi+&(lU=UFz9}+Xo zBL|;cpT`c1gvNRG>2V>9gBFNW!Vo?oP1WIQt*tsyS8}?LQ<8JV=%yy$&8Z5TL{_K~7xg*%XL+86|!V<=@^IV{R3VDv2qah7o z2!W4!Cew+mweGmc+O2x?tl7QpdG54sUQ4lMXY? z!)^yfln~U4so|CQ**b6`7-FD2C@;;6uXbOCspU&g#SQ)ja@n))k+{h{5jIe9JnO!n zurt2CJF$;uI;7loJ-$I5CZ-1GI~wZ)XhorQyMMrohoqHO!a?$<6?l|*`wWn|h@UOy z_s4s7kg_A`j9%2@5`TvA`1N3MiaaX9*rjrx6tfT$7hM2n&sVk!WIOFLZpX7!b-_Z@ zrId&`?RMazC#C^{+Lqz!Cmo8cqW6p3(kJiiB_l_<@5 z=mT|izzL6-+>*Qt-ewJR7Q3VIEIiOufuB>(Ytyb5of%0eP3LRENL|w@hEWHeG(7Jb z!p`qzUqZHj!fg;XZc_mRxeet@ELO=BU$dC!akKuA{=O{3tY4)91lMk$Wk=M3v&s zW*6t#AVciMrG+&4Qj|Oz01iJ_YKg9%*jqkCpVEBj6e%WQ!zpEaD6oD+WvhDCGJWb$ z=CG6(I`mztsB87?jU32xvh<{?05`e!y!M7}6-Mzx&d9?^bTY0sZ6Iv$n)sB*S8_4) z2EW-ik@*%i{nO$i_n`R=bv>RVY?R%p=B0u>Sx>PgCi)aqR>0Cr{O5_dl|716!@+`ckN@87aHD6I+wtq(0wy{uI1s8Z$c8P9@08EW4%5h6)H<8|Bsw%FUb5P-stK zhi31G9!Oo&^r|SYk{789u*99^VJEcF5_gzC7)_x4UT23T=%ll9qAy1u_?6_lFTg_b zs1u1g^DOL9#ygj|Q>_9w>BL1br)F6%SNC2|OF#*zOIvxhC3zc->D`l02CKbZVlccZT&(6ExP390kLrTCp8#TkVC!RkzL zc|r|_-%*pS=2Wj1u#J@KplNyB9WD&YInv`_e#<7W4|d&U1H-1JI#!MsV> zs1LB5t}5DqnnZd={Z#rRp8g2Yx28rUx{cDH##HOPqR|i%LwQBsiu^J-NqrMB)LC8% z{30+wJq6WvLI~u-(h}`mCleBl>g1gQHnUA(9#WGxol8YWm&MM{%r9Xl`4Ib*tpY(Y zP0mLJ)@Uq?w-Rr*@6&IKF>D*K-M^bBMAV}iq)wXE_{-cq;gTRvdD1=QU-g^u7{f$y z1}3i(d9S;_bpJ0ekZ~^&YtN%5&2KA|Q{`mRT?v_tQF!>z#;dMgqO!_RsPIa(h zi{j*~hp$>d(F;XIzYv`5wNj$4_#s85AE@XOzaJyLU>Z!SVZQdZYJH#&dgBbe4wPoY zcPH#}GGQO=$b&)Mw|kXu!#&|{(D;iZ~J-Un)i6KDgUWc2d7*9yU38DBPBnx z{>o9HHPxRHlp{@z)?j{KNy{$>wdLd^ttim*%oU~D6+#V2qG8PrEv(w{!_vPqBKJunKsX>4ukL zg%s#*2FI_Wt{x(0&9kJ>>Cl0WJS(UtE~F})V0ZLqiDD4P?-G~Feod^zT=FUPRA6_Q zN(y^_`2BOnV`wf=I!tN;Hap8-6vbnc$Vro7uyYFfn|z&O+0Oj9LAbroH2n9TZ0@+$HEUq@pyP(pn^C$CygFD*qPo<&FUdQ?;8TRC0Lc*j6vFfySc@Bw2n(DHNAbQ_QRou z_-SG{R2P-Bd6-*Ro6B8gJpU8OUE;3- zvrB^dat|ANPvy#yFB6SVgiXZetMLu~_1((Lo&~!{r~?(9cvb*4PqyT%P&3TDWy(SQ z5L1ra1+S%a4$uZ39ghyZSd0~udce10QmIsfxYD+3Y-c_0^l`<7d>S{(+ zJ$H0Ti#{HD_^MLum%IC;e5)CU##zMSr4_r+w6z#Tqk6(q!3(d7QtcNNDEn|}Tnw@+ z;H!nyA6kjCHNKkA8sZ0`Gv!OCN>zZCb_DB`#%XS0F}Ik--n7Z=vltgDwAlCk5qn}Q ztlGedYmUW#eg!YFZW8VSsRvn?lovgTx4g=4V0JKh8GliA3|gvt{HsB+_!2S5Ixk2) zEBys-)Q2FWj`o*89JKNZDdobrt^vOfu8?x8QS6nDfU$a!qDuD4a_afwS8$fP!86H% zu)CM~BKkZzFc<${)VS0y_A5~LD_A$a0E|>?sJ20Y1=fjeHT3j~!DjQGwRo0xoP!lz zs|qW+Fzg}P1ueX*A6oZ#`P4(ikl5l>;mFE`M4Q%$F2({?Y=Jf^^w(W_SiMD4hkz(<^2-4bi6^)Q48=bPV2vQh@Jm zhXgx97P1eG9t`^hdC~*9O_e(6 z1{0&F&Zueo3N`I*KP@gKGPQ$>NJO2Ei)aVfP3JCno}afB1?9=UczLj*yO6SB+C%Ul z7(7W75{*^~y&h5Yp^22%JLO{!gD*@K;BRrc6oX|$tqfo3Soh4;mARw7vG#n!e2o6g zqx3)fVs$=oC?;P~zYIT7{=3HVp(#!}#ZpjbC61S$^{fD@jy^x?w~I@nu?AwMvD619 z68$;wRq`v>C|?4fD295~{S?Mmj!RJ}4}6*oM!pM%QSv1$f}L0qma0Nil^g5N z*LyGuAVhtrddKjQHgA9r*`B^R_3_!Tm2oycbqVXmpEF#f6p}``Ca8~9VN;5!sJ)G= zv_CEF{kOe6c|u9Nz7UpLVFWmL^9le1(qZ9qPN}8(W`;s~(pJ z`CE*|>AJXU)K!o|_bcM1QT`+5zSc>HpW&`4k~)}~7+gQ2Ph~z8E-lD%Vka_Ps-sbb zm41Soau^CWSJ&=P<1A%7Dnc=MbB)HG%5(5QN$1-VG8SQNspsjomlZlZUs3yhD-A{0 z#UhP8cJif5Si3VOC%#^Ces}fcbRyRi1^GI~6^srzVuZdS}aUuVs zd#Y>UE2;Bfib{;G8qgFcyAr5s6m9A|Xzv>*{d6WCtk|dP$(2%@tZ~+Ot`6&Y@DZIV zJ#kRgUw^c~=NNw`?0u6zj}Do5oY;fK-%QM8nEgch3SNKP{UeyE_X$cwohi+v3KV;N zv?lDN?y*xZbiH3i4V?s`S7%?>}-cdAT|=vKi{ zJOidR8fKq{7e&+t0)@3XfQ}+{nk+{6KPFBY2 zj}f{HU)wE8;wz!Fn6K)wUn7)?UVj54|9R?}8}swSk{r!N&5Y^_XVn#tyo}SOtkk2? zPUMvLRLi7w3HATA7HAbR+JMeX!bd&@gM&~0NAOAB6y#0IlQ)H5frhHQmtd%$`k%XB z`?teyiN9y%LCR{@LAWA{(NO|c<5f%*s{R2AYGZh0==1J-{yF!!qXQalbB_h7&1=Dc zP6Ba5FCoBG#!_N&{pNi101*{ekiC+k0ux0f{g!K#|Ii9c!Wjh^DHoQD^Gi#`uqr?8 zF}g4*bla(U4t+oERn@L!^#ji(_Rd5SXSIM@m0snv&{x}W=ByWje^{cp*H-}0ZpEB2{dyz(7P)r%8x zM+Nh#NQsfIiG~vh_9B(kCv`JOSuPZk!D{Eat-gn|3PY;$CS^Zcf7c$D9(_(NXv$No zfU0KZYnKMQiIPw0L?yd=Eat!{XFW?i)##5Am0lrMx(f~xHopcPRdg>|h4(Y7@ZNUs z7&rZu`;mJ(vMwVw5|2xZE8lrlDI4=g20ib7kmEz)IiGMzES}hhz9%(D@*l&+UCY|v zwe0h?ngo9!2ZE6@pn6q!kyHYH!_Q!Gt!}a65YK8~T;e_W+gc)QHol_s3sU6fJLEn2 z4NnB%{}=uKG1# zuo5IpS)zW-Gl;03{+zO!A}U972lX^Bt*Po=9M!M7h<}TJ`e1|CNKLB4ei``;b`BSE z?p7x-D`hQQ^4;K)-;2UAJ?)-~zamyD&FEf+bHD^Vzyw@=hHm^(crdW~Buv~Dh5W<% zBJ5*Y-*}|dD;ws@Hy(GR-{x?NveL6)D z-qK_nm?f%Lj$)v4<3+Z=s1zpZH;I?~cnujJMDjy88L$9#X}GXg!_F;eubiQyU4`Z~ zMTL$kwMbV<9OLmBRqcu(c3B7?MUT4O!beQ=c6i6V<^In7C>l0Fh+N^=?T)nx9Xy5| zUh7*ysAl+t=iPJuaaFbC@LshjC1mLIWNdb@)>egP)h4UK#-hlwcc`imc@n=d9C8pT zFKtO^BvpMbF*L;bN(-oLbuL6+vfOKzN;<>AnQ^DS8T%|j1J#p%w0ktDFe+ametu1j z0T#p$%2~cr#Sfm6lcn9o^((4uRCx)NDLAw|(g25upOB|_hXcLZ#3f`NMTV5ib*-yX z#gRH7xs;0X5qYYpyu;BSYLm{!L--xOp)LsXuC*r1)25o6-k`3wPMq4)E4=t)?||)| zy(RIZ()I+@t!i)j0)BumkZb8CvQOey);0S{kNxt6UwK8#o5mpOzxG8zF>@zeT4B)g z$1u2tRV28B{St{eKmhx9skwv!ImIw=XQV!vB1qm4E*)TgqR60@kO~xESY?%RjHzL< zDxOePRq%z@qy64`S|Dc+`TG+*{pM4U00(t((7N&jRpId^a_+DFZ{do+c7KJRh*#*; z^S+zOD5gxRjAHT7@<{!KoE2RBK>JMo(s%=Z$eS^d_KjSQI;--DyDkR>x2n9wtCvCE zZF&QdZyYLrP;Noxrd|*`N)pSqU6!xN(J_Iq*72I5?8(U^ssdioF*8`6GKq7IqUq=A&w4yUzU((B)<@c_M$NYf$GIENsO`SvKuU z!l&9UQ@x#VVD2xZccZ<2r8~V~jm(fa&6_Gq2(a6;pZ)az*bzcy-G?PB`?c~Vj--DD zKW>5-Hp7;`repeRvIu=G)zyKRi1cEFK}h-n3>uH%1Dk3u_?L=T{0jx_5PGr*oxex1 z_W>+dCzX4**(RTQWsY0x35C_x->S5jzepXI9={>4syo_5$gk+StVKFEY2E8lS8yMd zw08S@Z~L?H2-Vo)r;nhnQ5-A_BGtW8-_mee@ zA*0U5+=8aRrM1s`bke1z`9$K1U^```y?XKJ1P}7cO1NMy{kTC?Gv^2iVj^V=R=Ic* z1t@R=2!03?*$e!sC^U0~d;v~)S#w(<@Fr|weo(^)*uz=%R6IVwK69Bl-XvV?AuWGCwbX$+_;1hwoXdGcGf^IEnF#qVLn*0O}5!I!<1}(7?CD-JL zad-vQh%tpwSWE6)#_1|ONmBX&ugE#;Uc46~tG&_dl%(yr=!eHw>3N71Emy#jV#^8( zDiKo>aD>*~zS)Zg_dq979c*||nBG~g58CgmeL$cRz{IhWC4vj=`D6E&;!yvbdxnai zm)OJNNBG<Jr`z$@rG|$JFa50zPnWH49C4+G$s6dc zVC$3kOSMNH)TBDeu|$;iqO51H*V**ZbRy;EJmHkqM8Juin?w}*FhD7&C;p228*f=R zfDvl^&*bdfs}PlanroK>N9?*Bf0{6 zdR?QG_TZUAO`mc*+tmko8XZP_^+D)aI)=9Eq#r_0ur_-(dve%0?@WPMm;b69bn5W4 zV(O10!~H71T9rcflrrapU1N258>d!ptAPvkOdnK0&blJ>6)!7N-BM|Gb=Bl8iZ`hd zFj)cOD=SRY>xOec!#DTu&^HnXub?lv%#C&jNR@?MaPbyt6)IZuH#K6uL1xi9hS%{Fc#E_tEa#U~=lA-{okFD8RDekFQXO9*7s0>sllXX{_3X5gmbzwQ&7{i=iS|39 zn5dbhq{r`5W!kFuu>%!0u{Hm=qP?=2Xt|Mo!vpw&R^_Kuy)ug#%R39v9tXIIJaJ|? z&*bX$0_#V+E#?DeZI1_hpRRk4we)xtIjpua_hzl5SI_Fbc;sPc^Y3oZDy_0~*id_^ zrN?IXJ*sb|4 zs7K6p;dZl^?N<;5T1C`}Mjxd*lx?xw9fkMvJPJiX?Be-U%?L;{oov^7DBh2iVgdMp z{bibI_Q=2toB2+=I&|7x=VRzf`n8;bV8xVwiyx>-L)zD-PLRD43aU<&U7{fnq&=Fs zMZJb9x40|oL_mjF;m<4rR@**rsg$0cM)L7|#n9#|qBs&Q57*p^YSRfh&HbVD*uB`2 zc|Vu+=mY%GvfUH?InQMCR*MDg<=Yz?@I@eLJ?6&h!fdzx*B#U> z=#2`cmD&rbZcc%=Fw5`95AO5Kxw{UXDj#`J^X@;eD5nmKn)y@68xvW3HoFV$MaOb> z4D&QUPBQRUgnDzSV%#^az9HuuWmcM5B9;p>=$B>(cwu^rntD5bxN(0sOzmhjlS1T;EABX z)6)Y_>+)Ttp5KSU%=ycE{Zx}sz#D`@T1TuhaiJV`1-^J^NhC;3Q>$7Y7__-~y`=V{>cS6L8A3mh4O>T z?!yxj0#}xBVaZCZf3CK%_FVmOY=4ZJl)hcOHdwDpY*5gFQXKF}asV+x6rh?O4Yw7K zM(X#lio4PLpNFN=gLbN3cAM=7QghnhEC^@;PfmmzIXB?9NBxC0Dp2jVP2KB)`FBKt z*K<|YU^UThwp$iRao~hN+M9i+{GYwEn{)p)=D2LaWZ*ssd!3jZ_+-0mLB@s)yz!T#j` zUv}&k4X6S0{n>7B=6sl}c6;TO)y(ttIKi14ECq&z~AnTb;)ze}@F#w%u&ARr{*09=Y(8t{EIdh&@ zy(o2Z3o<}8=huLRF<%{yh#=&@5pId<=dHpIq){HE=H^^dP#)miGT%@1!yKp9m~Wob z>8}<+&__TD)DLeMyM%db=C^^48*U(K>7}E5mVelGR$& zyiP%zwuRA?wttA#N|ZgP$u{L12B#AUHsejZ-Npb@H|>Vgw7U}JVs>BG!0LEMxv_m0 zs{?$dcVXv>GTCfghDBy^t63Z#joRn48r#!(V$F-5d?J;@ny>>MmlnynFx_7rv|4 zV)ongvlw0XHK|)=DW_e~T+draq)6w#jfLa~%H*nO!Upz}Y^ZV8Cx65Ltj4VSUq*{- z>n=YRY~@zU&EKZk44RXhO`Q?fjwe!;dMXv#u3$e&{9eJ_!*Q@QJ;o*m7irgot=Oem zm(Smt-_rVM_(uL{?Uw2Uo~q{4*!w3xZ+f}(*fKb+@SL^``fCI9&!WyYb-RyIxr%Lj zwgP|UOm%*;Up>5(RK)Jc>V?U?n)E{E)P4=r|NuF%1 zra9Fb3b9U>Msw`IwU(C7NK&#jHaPi#!lHT(>8ia@h6b*TY5Uur8S+y<`ZjHCp9u3dXrGKXOD62E9%<#UO!A9%#3$a{lE%JT#tcL|?&>6%! zGY`}0|D3!nW7w{za`X55*p*jV`~-8Z^L1u#T$@Y9TkT$$X7#XIv3ao07m>RvJAWuk zRlnIjv7}mLu~ns(i!FP}%fss0Iw~1#Ez_#3G6A3MZ?RRgR{0lcwpGVT!ArZ`l4G}f zy!K47tKHgxJ`U~PitX%Yf#0R)&o!1K-cfOln%Rts|5yq}mZv8~nb+I1AUqW~EcV>MN~zolfBu^g-G&qx^%MYnp@$g29&oGUKAz?$mOW;;(pkb+~@ zFL0)1e1kP4Ui3YQdE)&O)}zE^`9sWhs#>t!;yfvKu{%$jk+(PPCZFTy?g#FNzUtlV zV)?a&SsXX|=ZhEoD}`3u`q>N%UW>L*43CGK-BN0@`vKJ`#iOjoJQJAh-PoP_rm1$F z2&d`Kf8H?OrLp|a>a7(;3l)xWwlmj%lW4ZCIcyEZQkMaoM(g3t7OJ=)}M1aJno0PML>OB?6-B5l;5yl z8QsC`{Xm|TBIh8ns(+~g+67LmBVYBo3=Lfsh6$KHEkuD$xZN+YSYz?btO?P zJ4@?eDud-czO8w#yw!R-wtu@~GF132{u}Yp9Pfq)U^J=u{T9TqK94TNUND=U zJy>OQ=6VrcuO~{wZoO6qJNp)Utj1o=v~=qAZf%a=P>;ylRFPhl6W9KUazn{!H~(h) zTlF_go!bhB`(dz^FuDyypI1d{{kbZ-SMgLFB0JxhKObLcu#)I`endxF$s+a^ zuy}l-WjFTbJu$878w+~ox@j-7{i1)yzsPzBFY+J!=IH12wcor%PoJ1Y*8Y1|aCE9@ zvS!_EpM)ovb|t>mv-_m&7qi3lO5&J$1a7 zF#G-+1@rHoi@bWV@OVy-FNojS7wZ?3(auA=wBYf2qN2K2iRs7kQ~nM!l^edGsMlXm zL)THGSH5r~)oJz2FQ;ee$rlv&5A$=LnWgB6M1F2a)GGh?QgBsvmp9Mz5horu#SxRgfMuZ8U0iTFVfYLN7x!7>xlS+FsO8`BH}Vd1Q=+S(O8$^ z`5oA=GqSe-uF80yAu7-}?4j8m3ijk%aM1cYI+kk2{6YPi;)bxHM9b%!i#GA5O7?c|#wH=*%PJP9fe1TBFs^h zL$1UpcuG+K6P|2=I^-!UV8Wh)zp25YpxMNR{Yart?CgpT7T#~&O+!bq_f^1tEx-y{!lKh};z@|^9hV&z|bie@I!UZQpW&WL`%KX_iD zvMTGqKW3*M9izf(D_iL$J5ue+J8o1*gxE-)kyd!Dw~KoEc6cVf7+z!V&M)%sx$jVy zS#FhA;vr}A=_QIT?cJ2dU}v+cd950Kj)>_p4D6&cSyu6Kq_R!UYG~kjCq1*rU!)~oLYlWmluFa>2Q8NN#xz@W+^!hp&UhEOJPKgJt=T>o?oWCOXxgF&^% zMQ@uGp--`&ac{|QMGpwQgaGy{POL-wCCjUt?;0FxPeBofQbC;px7OYEq%ry-KvZzP zpSq}~HL%U$<+{y(jhJY8%l#&zB~&M*eM6DFX7w={4Yq39t{q6!#qguqPpx3{KWI00 z+svm<2zE1jy`3=TK0X?mcgMWz<$vK`lL{q^*zC)C@q^i~(^=Y)r)S43#*6QV^)KQi zy8h-&Y3x8xSQ*uH)`%1ZwjwOP)T-##+!&&sJmEoiPdf;-VZDE~X+0{svOcZvlG`i$ zRW&dRO$4m}LuY`KRpNu(=D)xF(%s@!YX2T?)ZF*Mz`Q?FBgYrvMZ>`T!W#xs7IdGe zEUf#z%3^?>yJ!G3g<)_%5pbWs!g^#GnNk{aHVCMDA}&zRa2R%LRa`r*`XjJXk{_AY&AP2=2j(9Q#q%SBWrp}dCy}4q*%$2v*u`>n zOz-1~7fDZBZ(p5#D&!aAYe94V3ssmfO&^ORJBqM%WtAIs8bp|1<-SH_|DGB`e*s2H zQp!PV0D2vbHx%edo>-7(J3ZS$nZP}nY!%l<_7}EQ)_PPye1+Mj8=!8Gx&gbJYdRtJ zj6l&7GW_jiIxNn0GL>8huS+HKia#z)HwZ5nUb-Rid+K;M z*X_`Ss*e+^m%j+|Zmeb2D{I+I~5NLcP40zg7^}F#2oe^XM7X zL}V^2XYs_`Q_s;4ZX;IcNtjfXq$9f`Ly9jKS163b8$6vrFnCX&vuIV$@>r04LaebrL zs)xG&cs1OpwL1DPy~S+4~*(IybYI=XdB={v?yL zzd*t2mi`Ww^u9E`_5?G}af{9JSLpFR)nc~Ru$3CdY;Acv;@7I_h)T0ndz{@fvB$5i ziut0u5{<@+M_|Vvy)vqpT4kyGp?dgz7>vGjs8(p2R+9a9v68%%w9vI+l1}O^=48PA zQ9Zc_{5Q>;ABMXp62H+oJb5HtmD2;!}0)M`34kc(Z&vf6KiY z-mWv7RIYDCvrx0CUH-NbS>@tNhcchCkQ$ZwlzsJA+L%dS&7|y$w^*#=wajGF-C9p) z6_Q-{jQb1sT=`RzH-xs{HdBf2{mAE?d_cTY+!A$`BZHxW@b+T*1{+3 z`hl66x=YH_&WO?Rr7mS>F7wGA)L-Vf3u1>rP|olQrYR>j_<^`12fy# zR_&lrlty-;<7?UvV>-)rgQTZK@C@^ulaa+M>^no7s*6vYR=(TU&dT4_jY;wO9rqVG z3ah0jLN%|IrK&8kROgZD?vZ_s!=LsK;lJ8be>)1|a-P_-lU2umH(pAA5mC8#0qa#= zVkTLe_!va!*kxIvRrjX~W;fZKzY{8(Ti*7Thcv%^t)_EWS#7)F#LAqfE}7jL9hV07 zqEr5lZFZ=u`tI#k|LXo^cb=?%*sT6Dtlr3)>2mmZ7#&FEURGv;{xU@kYuQ`5tF<+r zD;}h;$hZDiwRdXFvH!OMoBdmk=uNeB_y_-E_utiZvd-)?k^L{^UHVPtmDe)k^dfbx zzT`AZe5vtz9h>uii004g$xAhfcTiNTY=!QN{#viT+t)o29AGF^B^LW%c&zrX6?Cbo zDHY+GZ)IscIa!@4I0MM<&&Z_T+vO`!8o_(eH@u9oVmar25qAKh1`{ z_r@#!kSfVu1PW%KE~8mryj{HG{;g#8Iqz(<&sxks*qXY{yjDYPEhfeIb%FEljH@cT z>NFO30Ns7PUJ2|ouH*MP-sABe<>j>Q;LR7b4-97fVo08FOJ7f5&Fd4M09H~zT5YeM zS+B?^7FIf8aUb#i&Hr87xdqvIRd=3m@9+E0>26((;vy9?MPA1bDg2bmD-WsglsC^j zFf|^M%1mV@NoA^%kW0Z3N07`2u+7D`unEx(5HfKjEQlo;WMa!!JUFhX(S@k3cu?yG z2?jF8xp;oRwZ3!u^hJ&;Rr7EpS(enj{(D{jYwfk$-C_IsxnIN2{W;eEkIk!Kz|4JU zLSo^R|Oy5fc#nlP`&yJ+T`7|2%EAx7DCA)}O)p)S7_9IRBLH!*_&R^iRqU+%1???e9G zd~ds3wc&mAEc68bkU44CLwftS;SYRaaz_5~r|C(BCX_4Xx(Ku{*L}jr`aR?pJUmoDQyTANrB8Jwm12pcYHcvi6R(30u%RkqFb<##gcuf2SdQ$Kh z1w`tNO+*aQ7_!;HUpSkRJ*Aj_jtrW1KJOx?YVRP3m zs&jIixDnn(uO_m-y?7C_pmJt>swYl%hnvU9=^q<%LTnQJ?f)WwZs;i9Oq!q}uc7?= z(Tzh9JJby|;e&fPduiWP(cMIp_A)SfulG7pJGxE1RftA?pgdoXh=^cMO?*Nw3vz2s3kL~ z%smx-EA*qeGRBW=Cz`I*0oeZ}kHCKvHxvac$9JVn#1ihce9TIx;SOkekrMu6%h@?~ zYeqxp*6D%7^H<0Vv6e)pz}lca&r}$ja;Bati|wEzdJZCPXh-;s_i8QeetP$gl1Vt$3Y%MTO25FDj5*{WPff!qzLiErG{SC+4{upI&se^wlb8 z@D!0nO{B+rh4&2ZBBj@VcAsN%2g`UPsnrIhZlkK5NX@j!sfpYbKcQ{hOzw;w8%wTL z46@%xA79=7K6%yM&7CDS_GlT@h-{**&bh>_iwG=uBkP2DfmaGI`IkQP+#Hwjnms#oi}G`+(g&q-?X8QuA7o``jJE75a5}%v?G7CU0x8ooG1w^a}^eVQR_)Ejbn2;~(Kqz6);WyLtAZ|8hK9 zfPB_G|0m_2dWLO-^z-<~t@uWzU#kJpVNML3wA2smG=9>Vo5oK1G3dZ;8z4ciI`V1G zKc*0C=zyNFr5;W;zMLB455_YZkUn4*1KB&bGagT{eF7u`V*lxVwwo^JnSi z#E0mx2uHGL4yhi%M2Gb05ApLKCO6!pM^t(`kurB1NY9_q-=G6gyL?FIwz!8WEnn&7 zwDhLO;{5L~vIJRKd^w_m_W#4CAxc_bY$v~Zy>R+`hCC8>{sKO527{KoIx)z;WX^Vo zLa+no3GW4kAxG#xR^$BRmP(vIc>*2HdZ|0x2M#NdVJ!}!+gijP*?K(~b;m7Y5uR^~ zhP4)YA6a#C1bZ0pV8hz|MRxlW!SCu3ehBC3gp~H+PWgzEldi2;yK4P8RE97J5oF)Vmt{GXh>qYOtALi{9jPv6kQl10$RBxikeG;O1Qw&S z^J}o6j-2reSckqYJ;N(VIQ*OjT6y$xbuc5X!J+>)7@FRpl8du z&3KH?I7`gWK5TjlX2I~2#2IVO-_tr;DvO0P&GYgN-QoIJv$yVvTN_v-(ZN|ySkaoi zvHWq?6uZok%8_76?N>_&rxr?(N4d-lCJus%xgPcf7J{U8ecJI1p zZXzWo$_6p`;G0O9T*8CIgNKk*{qv69C;7E|6lE6wkqRWXXb&x2H~QVGp;Qn+v^$MPDax`4w_#m@?+m zqi?n8OkM1TbLAe^tWNVn27cYijbEnwv*u)LR)uu^koWUQnVU)2Pm6ax#Dy^`iTN_90LmQM^pVi z2(KYi@DM&21UPeVd)ia`DqE%P2mCX2VVpVH&vtV^HwF)Vfv4s!^n>JEuxQV_F3+Lg zvywX{!Mr8<3YSJD!q-TzrtCYJ)`K1BIrV;!8TM$=YH%X8tV_)6!Ud(Cn@gD&tLyEV zt&26JCX$9-%g=;ocjFv<@ru;&XIbkUQEH#ht{yar+`?Z>-ARiXC$9nEEjt;z2M1}9Z#^K^c8QuvFup)?l|ie>Eqr zogREB?qzeMyV@Is8N&wdBc@~d+%_mDQu-3%tBmE~EH)_69NR<8D|u;ym9-%D+ebIy0@(fNtI&DWZz`V0Cu>Kr%! z(Ki?(9Fi9$AG)9!;pB<&@R^OK{5wl9JoV@{ygT#%mqts*xc*{|%q*>- z4L|>#LDyf6N>5#XO$MwE=dJuBq;6k^<#0c2WN=!4gZx%&&Be|cv_a?f_sD>@^S!A7 zkW&GA6P^U2Rl9>VRolZz$3^L z2NKPh(Nrg#=omZzsD(Co%l#LPe@;lC4Kam_Hr%T<-~q9IEMX5wM6KKGX7989-**G| zp%dQ<9E|<1PLUWlf8Da7g^7SKS@oCe?1wc1_!0nUs2A3|sTYYx7n7;M2uD2dY_V$4 zsB#$Q(O@AC<8$*MaobWigF}V!tY`ue!}-I9h})qDsSDlWT-Zd${|)4i_}{OVeK%T0 zpFO<5M0)Xfv^icM#TpU;U$J=yocJqbe+AEAwVPJ))&YUPY}h|uubcIO0G-r&Wv%S6 zSuw$tJ^>~+JtEc2L~<%yW&}3Lm7Q$Qws?i@gB}cC0r|@V^Hce?5HuIgk1Aksen$F; zE_j2O`px^Ak^eNix~yqp3YlEk^FM^;9Kt8c{rE2)YYuVxPr}1|mj9a;@B^eK>z$tc zk4@!1nR2&8z7dkkdvWqp{qMd}+|wsdVMZ375WY$ua3D3md>mdBsj(C8ulH{#b^U#A zIB5;*WLD$rtxIf9zfNK@9^bpN17bb@y~uS(ang53#=mK*?7nCC5*@-S~CK8}SsBXNl=d1(ulKVBMNEz7-nf4MnJ_Dk-|Om%oS zromu1n!O8p`Ix|!;R0J`2mJJloADU=>n5|{Kc&6`6+A}v$EbRGXMouJNM#EL9Jia2 z`8$sE=KSh`I&s9GxkJyKPUJ`K9DBU+eGl^?{i4>8+>eat_NK)~az@CF*#kl?a~1l6 zjSy;M64l<2*bp01D?o;?k-Q_YJjkTGXq?(deSw!4?$m3C8=#?j!=2 z0xs;gVxG)s+D*NQRwXXRQC_q?&R054%pxOp#$J8`eDo+0LDU@PXfOT9lJ!V?wF4I- zYFL!HG@U|XBpO4`v^nM>xk;_Itiq&#j|>qx_l9<~9+4tD3U4X~@d-Sb>~n*fczD-6 z-bBO0$d>$*5w+YwFYPWe>hF|6NBI7UsfmR>_i|p2u-quu`_L1Z!pO3+svukP>m6=m zD^WL%qh=I#qdIVCsYO=w1CDU!#6_Y!uqk*!Yk#^7p&8xc7Bpic6oOYZuKdQxeRtZ6 z%yDdiBc^zl&;FT6SVv@pQ9t~zSv2e~XfbjNaw|>5nMtm7mzCx!Oun{)Ny9X$sEnCP zAm&c>!#WGb@JQB5_89174VgtbTFA%5q`h=|U^0)d#eOb}h?43z?W~FiIfe`kcocl= z7PGO?h6|D1JLL4$027LB4-=tqzrrU@iqRm9=<)r#n{Jj=X_vG%)E+OOd` zRxo%?znWGOdNEju-lILwbPnBwE-+~RCauI?D-)QJVQKGd^|IGURZqk*qd_b1t3;cA zX$(X2=H+&Z0saD=PmM6rbe!|%UrVJwTl5wt$p4@@cMf$W0?Ad(A ziM@O5W~v3sUparW4Oj-H-=T*XG+?##_SWbAl?b%Es&q*o7`4~G1cY(oA`uaNR@ZT?n&8FBMD z&rqwF)*lzB$Lg@MC7!1^) z19$~JueM=?@SVbE2L}H2W|BqRQRJcMvJ4qSBB4!$hoB-QZq8v5KN8^cS@->k=j zymODbop)QWVA=tZ_2`7LKeQr| zs7oC@bPF1MrmTGEhB!Nuf^86~xEoN+zhNZ!ckq+_(p#2C*RT+fXwi;xd1Rdtcf!mq zMWXD1siLol1*j8WoM^>5G?D=_W56$PlV&vs8f7z=mquY@$izNy)f1IpwJAv z(T|jmhOf+egltM1fup>gxZz#=A-BX=ipQWE^*XGL+|?5Ij+RECQCHY`?+~#ut~^K{ z%W}O&)-lB*EM*NAX)EGk6~gX-z@v*y8>WgZbI2=GLsnrDzLNUG z$O&hkx?u&v{dDm7t5tYB03Ncodd}VD{+eiH{V{kUAsi$81Z5eZy^rc z`3%X;( z>KDoj=9bi3%bTx_`B0Ny)n~NBTmpMt%*pT>?L7^*z>k!Mb&m+4l1_bW1C!LGe21`$vBzCwQDho=zIr4%hMCt7cRCd zvVYMU_2!Z@_0P;|$gPJw!MPk?C-=j6h1GIfYsq9X$u-D*n~`M5C8&>J;fSEk`SEb> z=0|bv^uolHN|t#5_Sq`&@#gXJ74G*CBb2yX-o~e&IqzAC;i7}Z=j_>-(LCKeq1^a_ zi_J?nmHZx<;h~#Ri4{><7$1&=#9xO6a4G|}bv$Gx62#dyPonok#2OJ%Y1`%PNZVd*r`kP{7Di&PvSRh> z_>8>vZnj>m8=rE@YOe;azV7PYj}J6g9&{T<@kGpHao$QCHg0yX*O-`E&dG51VJdr8 zl->cevNlJMjbcVEV*%$H(SQlH3uFb{x8@cEagMu;bRiRkm}BR}K|#Lf$wJ1hj*pi5 z)UTdyw0*87PE($9rO3|^0c`^%#>`^r6SlrVOGusgjp3vgUnRfBboPJL>k-jfA zo+;%$kvEzr{9+{zvSFP3344D(p5|Dby?6edPRrBR-|3HJYK(;k+R6Dlmt$4!Tux#z zYVNj{N(@@{o!9+FXh0(1n;26s7ye&V!^Vwlc}PY zw;F}$&yhp-SxdnqkTGKcKSC^=AOOGpgjQedW0RMv{c1!tXQqQc!C~-sZY((wR`5JJ zAy;*9iiF*P-E{>CYf2}vqLUxmFk*)HZ4)H=s3V&5{S=AO>1qc&qpZGu4G#MHO6QK= zSKzQCFaV3eCUQcls0nteh=bOKVHZrUTTf;$x6-@mF3*WVFqYO)Vt^H;9#B6-&&rGl z_PX^>s5PZN|5V95G4wzL%0d3FwKcpLT@BuR4Ucc+lV|!Kd2-CK1jnK-Y)u5{x}5IR z2DVPEU_f{BXh{qnDhG$GFf#!vj)soKiu~%rZ371V)E|yFXZ@>Oh4Idd+k$JLNGQI~qw7Vmq zae~T>+!K$Gx)3k9>m7?Vr8nfh7ZsE@UD7vhPhH?{{^_uXz=B?nuP_A~UHFEoO+@x1 z^A%l_&yXcsgMtT}SOzqBznt$0>zk*GQ2;Cu^xE)!gM~#pgkqF4bbECXilbE-7tKlG4 zav0xms5w@B1DQ>vL|7+a9-(H~N1wu6!6|oV{M3m%n{P#KL=Hq>S_C3mRHnM?Q~Vbm zvSmUWbk&F5OcUU>t38q3$t9RGa8t_K8zf+xmp4%@v^T&44MSe|~!Z4aNXekkhYU>22`{OIKo zKQ7=A`jEN3)L{j(OJw%XsEta@6eH72ev}*j{zUmYwsLj{OjHN&9`jvs-h379f7j?k z#aBRmW5Vd5#vg&PqN3!yQ`3(WB|nI6`|7~^+(U}&X8*EE+2ze1<{&$#eb zPb2M%&0m@o*Yl#H^f2+hW9g~0U)_9o;E)amV-PHRajPp?Qe}tBXnA~X%q+zGHLIcK zatRcS45AQT8yw7(sF`^y1K$V|?5{%inH=H#XR(O*IO`430{Eo33rmKO)_*+FpkB6$ zFfJw@+PrT=-3J*#{Uu4Fwz_c12(S9nz89eav^ykCBB_c1B7kh5IO|S?H z_(0YMp$l5TFhzpx3`kH{fJlFBe!xN>P{Il#Tbj`bV#5RR-UKsl;KQpU^kD)Cz6*TE zn7=okY6tm(IRltze;Ff+Z_4KVV6!HxhUdK97XJRRC08uvEtYf?kpVe|-E z{4jXz0FUpBN9!BYcQ4bkAXwYlSl zXrOIu8z45woS(pVe1$(vmwW{eZ6NU=8xBOeuo>}S5|ka^pkWrxZOQbcSm0s&#M6A2 z>c)M1cA-xbG(HL+m{|Ovh=dcciNtx4=+Osfc8dP+OWa@5AG#OA=`xr!{UH%@CkT9! zcoDY2-(d4?x7=N8zrE##>|z)BQgkNiL2=(XCME0s5thKeVnj5Gvk}N>K+XrtsfQR} z9$y*-U#*ugqGCl%nw1YT`NWH8quA#eQ-B{K0+3yl@Fp#h04>NHF8lBy?CfP4;y7yhi91w`~xKaF|vdoSU(J1>pRJs>E{y_k)N1A)};JQ1@aczD(UwRe&IdD13N!X z3phuCe@p~=>ZgARfnLuT2xtdl5T7XuFe}(Yy9S401}Knl2HG-xl~@&A!1NP zmD8h>^jy8cv=SdZndn9`JK=3VW&qU%k*MF^cB7YR4j;L~Eb<)=8qvCeA6*cM`lwNY zufv`Oy-2-0cc~AL;9O*Qy$7c8*!h>p8#^%IRYtoH_FwkLo${wgW(VOVkv{T+u!LO& zzrfA<|3UA?2HS6R0|uUJva1CIsF&%~D?j|S9`RA;XRw161j^-k5TN#iUzlJ}@Q2vH zyehSHr$=Nil${B_9qu0W2f>ni_46{cPC7)kK-IwRAS6#~@cqRJ;8AHa6z&INFO!ybHqt3BQfx1b4E*gaQ{8z=S?nhNHm~5w}}`ze{EaHUaxZB z4>`yZrgF1W)#J=p>0?i8PA{~SCCJtS&p-+5-%fv@b8 z&Q9()VE4?|B7aX_%-j+gQb%UAHEh3d_9BqEQBE)Ma#&&zo{#<3UnlFJVqTG7-;Y#} z)jeZ%o$W~8d7yVNc_}_m-0Jv=@Nn)|z~5DE-u{~Xg9!@me|P)8KmI#zd-{f#x$--j zcQ;#^M(~E)Pt9sTb#@Ei*TJ9B8A$CvO^@DJkEstP2(;S#@A3fwss>(gF-Jyss27=pf8g_1;ehr3M)~*r-h0R`#o@8?XIT4TG;;D{1*FZ|0^iC@jFp?gqr!CXakH%bPu!z@4coccxS{!@BKta&5RLtz&dck zCqCXh*^&jZlkx-HZbcUwHbo^8RF>QuZUcwSSNdz271XQEpbhqon4Ogezz3QSkO$>- zj{0y>jTqzqS|UJsiEPps@E7KU?H>H?p4c4|w;rPJ>J2EPpm-Qv#Y5lsdA>7dx5y%l zF~OgpO}k=`Gp}@%K_Bpk@&|uiejOxU53lf3Q?KxbIN%YV!!meruM4|iTloj^ifn-6 zb}O#}XcdXY=;fQ?K)fE1kVj!oiHM+Q4W1)xgct4BVS+{70w%ACU?YrW&Uyx_!XL2W`mT_lm9Cb2(Ef%K zHB{;c_vv4n#iH!(_Qa$#+EK}mBQ7QezF*2*Y4d05264ihL3W_+DkToSx$Csouj*;z zouqXs5U5%ZH0m#lEAcsPH3G1ldl5{?JBk5)7_Js7# ztXb#hqyY1}sRc@p+#x&c^hEYQ3EAI??C);81Fh`rwg%+lnoIvI&_a;X4uvUt=Y4nhx*i+moa~RDsj`}9DO!I-_o%r;b<`2wx zfQ#=NXcfoEo4!mX`J`R%TfhM?_EBK{KJ!~Wu5qgYg$(zle@e;;P_<-LL1NN&; zFgV8+WTNIzgeBCe9f*K26TcS-lm}#zRuE{vZthSnjxKYf6h0AcIn$sAe(;p??e?r@ zG1yhpOWvce5rLSSoyh-ydLa8`=CDR~`PgT<75*)Fg?D2GDfoiOyp|zIz7u=l{#U);Z1!y zRpnkMotj^zV`-oMSo6QZ;vHzg+o>@>5%ts0>JPAqpB-%CdNYGWW|L&oN9z~JAN7T? zI|}c}+m=LD_Aj;U+X+@`4F-jZSY9z_TL1qbFvLzhB)uwkae(Xxm>bEO>%$Wi@C`(W i)|r#HE9hkQ_HUAH>OmE-- literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_8.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_8.bmp new file mode 100755 index 0000000000000000000000000000000000000000..2027b80c21ae1dc6e318ae08484c82013c7a1925 GIT binary patch literal 101704 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

    nw!Tk)u?=&{xvJ2~+2j>Dk0yx}E4Ou}89_K?J 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%0Auv_(zq2RFG#T}}4aj$c6 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 literal 0 HcmV?d00001 diff --git a/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32.bmp b/twelvemonkeys-imageio/jmagick/src/test/resources/bmp/blauesglas_32.bmp new file mode 100755 index 0000000000000000000000000000000000000000..40f0b3d7b932771aa664a21c96dc3c2a840c6794 GIT binary patch literal 398580 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