writerfilter/CppunitTest_writerfilter_rtftok.mk         |    2 
 writerfilter/qa/cppunittests/rtftok/data/picw-pich.rtf  |    6 +
 writerfilter/qa/cppunittests/rtftok/rtfdocumentimpl.cxx |   78 ++++++++++++++++
 writerfilter/source/rtftok/rtfdocumentimpl.cxx          |   18 ++-
 4 files changed, 98 insertions(+), 6 deletions(-)

New commits:
commit 995a6b38d5b8ac8aabca54f991caaaf35e6db395
Author:     Miklos Vajna <[email protected]>
AuthorDate: Thu Nov 4 11:27:44 2021 +0100
Commit:     Miklos Vajna <[email protected]>
CommitDate: Thu Nov 4 12:47:40 2021 +0100

    RTF import: fix too small graphic size when both picwgoal and picw are 
provided
    
    The original document provided \picwgoal and \pichgoal, stating the
    desired size of the image in twips. \picw and \pich is not provided, but
    we write it on export. The value of \picw and \pich is ignored by Word
    (it can calculate both the current and the original size from picw/hgoal
    and picscalex/h), so it displays the document correctly.
    
    Use the same trick in our RTF import: picscalex/y has a specified
    default value (100%), so if we have picwgoal and pichgoal, then we can
    also ignore picw and pich.
    
    This is needed, otherwise the much smaller size from picw/pich is used
    as the original size, so the layout "zooms in" so much that only a small
    white rectangle of the top left area is visible, as if the images would
    be all lost.
    
    Change-Id: I924e5f8b68613c654c857a57561c8a2e3a6db2f0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124679
    Reviewed-by: Miklos Vajna <[email protected]>
    Tested-by: Jenkins

diff --git a/writerfilter/CppunitTest_writerfilter_rtftok.mk 
b/writerfilter/CppunitTest_writerfilter_rtftok.mk
index 07271b777ae0..6cad1e4c7b8d 100644
--- a/writerfilter/CppunitTest_writerfilter_rtftok.mk
+++ b/writerfilter/CppunitTest_writerfilter_rtftok.mk
@@ -16,6 +16,7 @@ $(eval $(call 
gb_CppunitTest_use_externals,writerfilter_rtftok,\
 ))
 
 $(eval $(call gb_CppunitTest_add_exception_objects,writerfilter_rtftok, \
+    writerfilter/qa/cppunittests/rtftok/rtfdocumentimpl \
     writerfilter/qa/cppunittests/rtftok/rtfsdrimport \
     writerfilter/qa/cppunittests/rtftok/rtfsprm \
     writerfilter/qa/cppunittests/rtftok/rtftokenizer \
@@ -29,6 +30,7 @@ $(eval $(call 
gb_CppunitTest_use_libraries,writerfilter_rtftok, \
     sal \
     test \
     unotest \
+    vcl \
 ))
 
 $(eval $(call gb_CppunitTest_use_sdk_api,writerfilter_rtftok))
diff --git a/writerfilter/qa/cppunittests/rtftok/data/picw-pich.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/picw-pich.rtf
new file mode 100644
index 000000000000..56a2b0d1e86a
--- /dev/null
+++ b/writerfilter/qa/cppunittests/rtftok/data/picw-pich.rtf
@@ -0,0 +1,6 @@
+{\rtf1
+\pard\plain
+{\pict\wmetafile8\picwgoal2134\pichgoal2264\picscalex100\picscaley100\picw99\pich105
+010009000003d13d00000000a73d0000000005000000070103000000050000000102ffffff0005000000090200000000a73d0000410b2000cc006900630000000000690063000000000028000000630000006900000001001800000000000c7b000000000000000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffafb9c8a3de3e0cbfefffdfffffffffdfffbfffbfffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8ffffdcccafa2975bfffff9e
 
1dee0b8b3b5aaacaccad2c8f5f5f5fffffffffffffdfdfdfffffffffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffeffaa9e58fffdfdfefefefffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffafdfbfffff7a19363d0ceabb6b2b17b777d7475798c9489d3d3d3fffffffcfcfcfefefefffffffffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffdfdfdfffffffffffffcfcfcfdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfbfda79b55fffffffffffffffffffafffcfffcffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfffdfcd9d3c67d732d949484b6b2b8bcb9c29ba097828282a2a2a2edededfffffffffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffaa9e58fffffffdfdfdfefcfcfafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9faf8a6a6ac85773cbbb483f7fcfdfffcfefcfcfccdcdcd898989979797e4e4e4fffffffffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffefefefffffffef
 
efefbfbfbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffefefffffffffffffafffcfffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffdfe7e7706a6bdfd7ca928539f2fae9fffffcfffafffffffffbfbfb909090979797f7f7f7fdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffffffffdfdfdfdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffa99d57fffdfdfffffffffffff9fffbfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf9fbbbc3c28c8a
 
89ede5ecc2be8db3a874f5fffdfffdfffefefeffffffdddddd888888d0d0d0fffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfbfbfdfdfdf4f4f4f7f7f7fffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfea79b55fffffffffffffffefef7fef9fffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4f6f7b7b5b4929897f5f0effcfcf6968449ebeed5fffffafffffffffffffefefea4a4a4a7a7a7fafafafefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefec2c2c2979797c5c5c5fbfbfbfffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffefefcfcfcfffffffafffcfffcfffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f7f7b2adaf9da299edf5f4fffbffd3d1afae965afafffefefefefffffffdfdfda6a6a6a1a1a1fffffffdfdfdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9b9b9b898989b4b4b48e8e8e9a9a9af9f9f9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffeffa89c56e5e3e3cbcbcbdcdadaf3faf5fffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8fcf7c9c6c88f8a89eeececfdf9fffeffef959853ebd5acf6f9fffffff8fafffea8a6a6aaa19efafdfffcfefefffffefcfcfcfffffffffffffdfdfdfefefefdfdfdfffffffefefefefefefffffffefefefefefefffffffdfdfdfdfdfdfefefec5c5c5838383d5d5d5
 
ffffffd8d8d8767676cacacafcfcfcfefefefffffffefefefffffffffffffdfdfdfffffffdfdfdfffffffffffffefefefffffffcfcfcfffffffffffffefefeedededbebdbf8377318a88889292928c8a8aa7aea9fffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdffffe8e6e5736f6ed0d0d0fbfffffffffee5ddc6958b4ffff9f6f9fffafbfff7bdb3bf888385fdfffcfbfffffffcfdfffffffbfbfbfffffffdfdfdfffffffffffffafafafffffffffffffdfdfdfffffffefefefefefefffffffffffff0f0f0787878bfbfbffffffffefefeffffffcacaca7d7d7de6e6e6fffffffdfdfdfffffffefefefffffffffffffefefefffffffdfdfdfffffffffffffdfdfdfefefeffffffdfdfdfb5b5b59494948e8d8f867a34d6d4d4e7e7e7c2c0c07a817cfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfef
 
cfaf9aeaaa9939296d1d9cef9f9f9fffbffa8a471d4c196fafffffafef2dfd7de7b7a83dddedaf8fefdfffdfefdfdfdfefefefffffffffffffdfdfdfcfcfcfffffffefefefffffffdfdfdfffffffffffffdfdfdffffffffffffd5d5d5767676e7e7e7fffffffdfdfdfffffff6f6f67f7f7fbcbcbcfbfbfbfffffffefefefffffffffffffdfdfdfffffffcfcfcfffffffafafafffffffcfcfcedededc6c6c68888887d7d7db9b9b9faf9fba89c56fffffffafafaa9a7a7a1a8a3fffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffdfc9c9ba46e7372c9cec5faf5f6f7efe291803dfdfaecfffdfffafff6adafb78d8a8cf1f5f0fffffffefefefffffffbfbfbfcfcfcfffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffcfcfcf6f6f6b0b0b0a2a2a2f1f1f1fcfcfcfffffffbfbfbffffffd7d7d7838383d8d8d8fffffffffffffcfcfcfdfdfdfffffffefefefffffffffffffcfcfcf8f8f8d2d2d2828282737373c1c1c1fffffffffffffffeffa49852fcfafad4d4d46e6c6cdce3defffdffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfbfdfffffbfefefef8f9fdc2c5ca757b76c7cbc0fff8ffcbbf8fbaad79fffbfff4fff5e1e0e47b787ac4c1bcf8fdfefdfdfdfdfdfdfffffffffffffffffffffffffdfdfdfefefefefefefffffffcfcfcfffffffffffffdfdfdececec898989c3c3c3f7f7f7fffffffefefefffffffdfdfdfdfdfd9090909d9d9dfffffffffffffffffffffffffefefefffffffefefefbfbfbcdcdcd7f7f7f777777bebebef2f2f2fffffffefefefefefefffeffa69a54efeded8c8c8cb2b0b0f5fcf7fff9feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffcfff5fefefefdfefcfbfdfeb3b2bc787c77e6e6e6fdf7ec93893bf0e8dbfbfffffefbfdcfceca797672bbc3c3fefefefffffffbfbfbfefefefffffffffffffdfdfdfffffffffffffffffffdfdfdfffffffdfdfdffffffe2e2e2757575e4e4e4fef
 
efefffffffdfdfdfffffffefefeffffffe9e9e9838383979797f9f9f9fcfcfcfffffffdfdfdebebebb3b3b3868686848484b7b7b7e0e0e0f8f8f8fffffffcfcfcfffffffefefefffeffada15ba2a0a0858585f8f6f6fafffcfffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffdfffefdfffffffffcfffffffaf6fca1a0a2979b95faf9fdd3cea1a29b6afffff9fffdfffdfdfdc6c4c3767b7aadadadf9f9f9fffffffcfcfcfffffffffffffefefefdfdfdfffffffefefefffffffffffffdfdfdffffffcdcdcd7e7e7ef5f5f5fffffffffffffffffffdfdfdfefefefdfdfdffffffdadada8f8f8f8585859f9f9f9e9e9e9393938383839a9a9ab9b9b9e0e0e0fffffffefefefdfdfdfefefefffffffefefefffffffefdff877b35838181dfdfdffffdfdf9fffbfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffdfff7fdfcfff9fbfbfffefffffefffffff7dfe0dc6c6e6ee4e9e7fdf9ffa09c4ee4d5bbfffbfffffcfffbfffcc4c7c58282829f9f9fcececef8f8f8fefefefffffffffffffffffffefefefffffffffffffefefefffffffbfbfbb8b8b8909090f8f8f8fefefefefefefefefefffffffffffffffffffefefeffffffefefefb1b1b19d9d9d999999a6a6a6cdcdcdf4f4f4fffffffffffffffffffcfcfcfffffffefefeffffffffffffffffffc0bfc17c702acdcbcbfffffffffffff9fffbfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffffffffefefeffffffefefef9b9b9bc2babbf2faffd9ddb99b8a47fdfff5fffefefbfffffefdffeeeeee8e8e8e767676a5a5a5cacacadddddde6e6e6eeeeeef8f8f8ffffffffffffffffffffffffededed979797bfbfbffbfbfbfdfdfdfffffffffffffffffffffffffffffffffffffefefefffffffefefefffffffffffffffffffefefefffffffffffffcfcfcfffffffffffffffffffffffffdfdfdfbfbfbcdccc8747474938741fffefffbfafcfffefefafffcfffefffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffffffffffffffbfbfbbebebe969192e6eee4fffff8a8a46fd6c69bf8fbfffffffffdfffffefefeffffffdfdfdf9d9d9d7878787272727d7d7d999999bfbfbfe8e8e8f6f6f6fdfdfdfbfbfbdddddd848484e3e3e3fcfcfcfefefefffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffefefefffffffffffffefefefefefefffffffefefefffffffffffffbfbfbfffffff5f5f5c2c2c2696864cacacaaa9e58fffcfefffefffffefefafffcfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefefefefefefefefefed5d5d581837de6e4e3fffeffebedda9b883ff9faf0f9f8fcfdfffcfefefefffffffffffff9f9f9f3f3f3eaeaead0d0d0b3b3b38686867474748d8d8de4e4e4ffffffbfbfbf808080fbfbfb
 
fefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffefefefbfbfbfffffffbfbfbfffffffffffffefefefffffffffffffbfbfbfffffff4f4f4acacac6f6f6fd5d4d0fefefea79b55fffcfefefdfffffffff7fef9fffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffdfdfdfefefeffffffffffffdfdfdf787e73e5dce9fffefdfffdffb9b07ebfb37dfbfefffffffcfffffffdfdfdfdfdfdfffffffefefefafafafefefefbfbfbebebebd8d8d8acacac7e7e7e9696967f7f7fb0b0b0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9f9f9fffffffffffffffffffffffffefefefdfdfdfffffffffffffffffffefefececece838383909090e0e0e0f9f8f4f9f9f9aa9e58fffefffefdfffffffffafffcfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffefefefffffffffffffdfdfdffffffffffffffffffe1e1e1737a77e5dee3fffefffdfbfaf8f5f096893bf2eedcfcfefffefefefffffffdfdfdfefefefffffffffffffffffffafafafdfdfdfffffff8f8f8cacaca7f7f7f979797f3f3f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffbfbfbfffffffefefefffffff9f9f9fffffffffffffbfbfbefefefcfcfcfaaaaaa909090888888abababe4e4e4fffffff6f5f1fefefeaa9e58fefbfdfffefffffdfdf9fffbfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffffffffdfdfdffffffdedede767981e8e3dafdfdfdfdfffffdfeffcdc59db0a46afffffefffffffdfdfdfdfdfdfffffffefefefcfcfcfffffffffffffffffffffffffefefefcfcfcf3f3f3edededfffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffefefeddddddb1b1b1929292858585929292b1b1b1ddddddfffffffffffffdfdfdf5f4f0ffffffab9f59fffcfefbfafcfffffffafffcfffeffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffefefeffffffffffffffffffffffffcecece838089e8e9dffffff9f6f8fffffffefdf8f59f9359eae2c5fefefefffffffffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffff8f8f8fcfcfcc6c6c6868686858585b7b7b7edededfdfdfdfafafafffffffffffffffffffffffff8f7f3ffffffa1954ffffefffffefffffdfdfafffcfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffefefefefefefefefefefefef5f5f5b1b1b1a89da5eef6effbfef5fbfffffaf9fffffffce3dac6ab9a5bfffffffdfdfdfefefefffffffffffffffffffffffffdfdfdfefefefffffffdfdfdfefefefffffffffffffef
 
efefffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffcfcfcc6c6c6727272bebebefffffffffffffcfcfcfffffffffffffffffffffffffffffffffffff8f7f3fcfcfcab9f59fffcfefdfcfefffffff8fffafffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffefefefffffffffffffdfdfdfefefefffffffffffffdfdfdfffffffffffffefefefefefefffffffffffffdfdfdededed838383ccc8cefdfdfdfbfefcfdfffffffefffffdfcfffff1a4a182d8d499fffcfefffcfffffff9fffefffcfefff8fffbfffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffcfcfcffffffececec707070c6c6c6f8f8f8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffbfbfbfffffffdfdfdfdfdfdfffffffffffffefefefffffffdfdfdfffffffffffffbfb
 
fbfffffffffffffefefefdfdfdfffffffefefeffffffffffffffffffc9c9c96f6f6fefeceefdfefcfdfffbfbfefcfcfbfffffefffffef5ece9d4988d53fbf5f6fdfff9fffdfffdfffefcfdf9fffefff8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffdfdfdfffffffbfbfbfffffffffffffefefeffffffffffffc8c8c8828282e5e5e5fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffefefefdfdfdfffffffefefefcfcfcfffffffffffffffffffffffffffffffdfdfdfffffffffffffffffffefefefffffffffffffffffffdfdfdf0f0f0a1a1a1a8a8a8fffdfdfffffbfdfff9fbfffafdfefffdfbfffffdfdfffffbc3b591cac497f4f4fadadbd9bfbdbcb2b1adada2a4949da09090909393939494949191918e8e8e909090989898a0a0a0a8a8a8c0c0c0e9e9e9fffffffdfdfdfffffffffffffafafafffffffefefef5f5f5b6b6b6a1a1a1efefeffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafff
 
cfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffcfcfcfffffffffffffcfcfcfefefefffffffdfdfdfefefefffffffffffffdfdfdfffffffffffffcfcfcffffffffffffffffffd3d3d37e7e7ee9e9e9fffdfffffdfcfefffafbfffaf9fefdfdfefffffefffbfbfbfaeee8877d308a847d858d8c948f8c989394939595a3a3a3aeaeaeb0b0b0b2b2b2b3b3b3b1b1b1abababa4a4a49e9e9e9191918282828c8c8cb7b7b7f5f5f5fffffffbfbfbfffffffefefefffffff4f4f4b2b2b29f9f9ff1f1f1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffefefefcfcfcfffffffffffffdfdfdfdfdfdfefefefffffff4f4f4ebebebf0f0f0fdfdfdfffffffffffffffffffffffffffffffefefefffffffcfcfcffffffb7b7b77e7e7efffffffffcfffffdfffffffefdfffcfbfefcfdfffff9fbfcfafcfcbeb9ba7d6f45938e51e6e5eff8f6f5fffffbf6fffffffefbfffffffefefefdfdfdfefefeffffff
 
fffffffffffffdfdfdfffffff6f6f6bababa7b7b7bb1b1b1fffffffffffffffffffefefefffffffefefec9c9c9848484efefeffbfbfbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffcfcfcfffffffffffffcfcfcd1d1d19e9e9e989898a0a0a0bfbfbfe3e3e3f5f5f5fafafafdfdfdfffffffffffffefefeffffffffffffa7a7a7969696fefefefffdfffffefffcfbfdfcfcfcfffffefcfffdfdfffec0c3c17c7d7bd4cec9a1984feaddcffbfefffafff6fbfffffffffcfefefefffffffffffffffffffefefefdfdfdfefefefffffffffffffafafaffffffd4d4d47b7b7bd1d1d1fefefefcfcfcfffffffefefeffffffededed797979d4d4d4fffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffefefefdfdfdfffffffffffffefefefefefec0c0c07a7a7aa9a9a9b9b9b9aaaaaa8
 
787877575757e7e7eb0b0b0eeeeeefdfdfdfffffffdfdfdfffffffdfdfda2a2a2a5a5a5fefefefffffefefefefffefffffefffffffffffffed8d9d7737472b6babbfdffffe0d2b6a59a68fffff9fafffffffffffffefdfefefefdfdfdfdfdfdfefefefffffffffffffffffffefefefffffffdfdfdfffffffafafac1c1c1747474edededfffffffefefefffffffdfdfdf8f8f8a2a2a2a2a2a2f6f6f6fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56fffffffffffffffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefffffff3f3f3828282c0c0c0f1f1f1f8f8f8f4f4f4e9e9e9ddddddc2c2c29a9a9a7e7e7e8e8e8eb7b7b7e9e9e9fffffffbfbfba4a4a4a0a0a0fffffffdfff9fefffbfffffffffefffffdffedebeb767474b4b2b2f0fafafdfafcfffdffaaa168dbd8acf9fbfffefdfffffffbfefefefffffffffffffffffffefefefefefefffffffffffffdfdfdfffffffcfcfcffffffefefef9c9c9ca4a4a4f5f5f5fffffffffffffffffffdfdfdeeeeee747474bdbdbdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdffa89c56ffffffffffffff
 
fffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffcfcfcfffffff8f8f8717171d9d9d9fffffffffffffffffffffffffcfcfcffffffecececcececeb0b0b0939393878787929292999999757575a9a9a9fffffffffffffffffffefefefffffff5f5f58c8c8c9c9c9cf7f7f7fffff9f9fefdf6fffff3e9d1a08f4cfcfff4fffff7fafffffefdfffffefffffcfffffbfffafefffafffbfdfefafffbfffffffffefefefdfdfdffffffffffffe3e3e3767676cececefffffffefefeffffffffffffffffffc8c8c87d7d7db7b7b7fffffffffffffffffffefefefdfdfdfffffffffffffdfdfdfefefefffeffa89c56fffffffffffffffffff6fdf8fffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffefefef6f6f6a5a5a5a7a7a7f7f7f7fffffffefefefefefefffffffffffffffffffefefeffffffefefefd0d0d0a5a5a59696969f9f9fd9d9d9fffffffefefefffffffffffff9f9f9b2b2b27d7d7df2f2f2fffffffffefdfdfffefbfefffffff0beb28acdbd8ffafcfffdfdfffcfefefffffbfffffcfff
 
dfffbfefff9fffafefffbfffcfffffffffffffffffffffcfcfcfffffffefefeb3b3b39b9b9befefeffffffffdfdfdfdfdfdfffffffbfbfbbfbfbf818181a4a4a4dadadafafafafffffffffffffdfdfdfffffffffffffefefefffeffa59953fffefefdfdfdfffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefcfcfcfffffffdfdfdffffffe3e3e3818181cececefffffffffffffdfdfdfffffffcfcfcfffffffffffffffffffdfdfdfffffffffffffffffffdfdfdfffffffdfdfdfefefefffffffdfdfdcecece777777dededefffffffdfdfdfffefffdfffffefffdfbfff8f2f0e5ab8e55f6f3ebfefafffafffffdfffbfffff8fffffefffffffbfefcfdfffefffefffffffffffffffffffffffffffffffffffffff9f9f97c7c7ccdcdcdfffffffffffffffffffcfcfcfefefeffffffdfdfdf888888818181c5c5c5edededfffffffffffffffffffcfcfcfdfdfdfffeffa79b55fffffffefefefdfbfbfafffcfffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfefefefffffffdfdfd9f9f9fa3a3a3f9f9
 
f9fffffffefefefffffffffffffffffffcfcfcfffffffffffffbfbfbfefefefffffffefefefffffffffffffffffffdfdfdf4f4f4909090a2a2a2fffffffbfbfbfffffffffefffcfbfffbfffafffffbfaffffcebf9ebdaf7bfffffef9fdfff9fefcfffffbfefdf9fffffffffefffdfffefdfffefffffffefefefefefefffffffcfcfcfffffff7f7f77d7d7dcacacafdfdfdfcfcfcfefefefffffffdfdfdffffffffffffffffffc7c7c7707070999999e6e6e6fcfcfcfafafafffffffffffffffeffa59953fffefefffffffffffff9fffbfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffefefefffffffdfdfdffffffe9e9e98d8d8dc7c7c7fffffffdfdfdfefefefefefefffffffffffff8f8f8fffffffffffffffffffdfdfdfffffffdfdfdfefefefefefeffffffb0b0b0858585fbfbfbfcfcfcfffffff8f8f8fffffefcfbfffffffcfffbfefbfbfff6fbf2a59552ebe9c6fdfdfff9fafefffefffffffffffefffffefffcfefefbfffbfdfdfdfffffffefefefbfbfbfffffffbfbfbafafaf919191e7e7e7fffffffffffffbfbfbfefefefffffffdfdfdfffffffffffffafafaefefef9b9b9b777777d8d8d8fffffffffffffdfdfdfefdffaa9e58fffef
 
efdfdfdfffffff7fef9fffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffcfcfcfefefeffffffa0a0a0999999fffffffffffffffffffdfdfdfffffffffffffffffffefefefbfbfbfffffffffffffffffffefefeffffffffffffe8e8e87f7f7fbdbdbdfffffffffffffcfcfcfffffffbfffffcfffdfffffefbfefffffdfff6fffed9d9b1ada465fffff8fffefffffcfffdfefffdfdfdfffefffffffffcfffbfffffffdfdfdfefefefffffffcfcfcdfdfdf6b6b6bcececefdfdfdfffffffcfcfcfffffffffffffffffffffffffffffffffffffdfdfdfefefef1f1f1b6b6b67b7b7bc3c3c3fafafafffffffbfafca89c56fffffffdfdfdfffffffafffcfffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffcfcfcfffffffdfdfdfefefefefefefffffffffffffdfdfdcccccc8d8d8de6e6e6fefefefefefefefefefffffffefefefffffffdfdfdfffffffffffffffffffdfdfdffffffffffffffffff9b9b9b9b9b9bf8f8f8fffffffffffffdfdfdfffffffbfffffdfff9fffffffafffffef9fafefffbfdfefaa79c6adbd5b2fffff8
 
fefbfffbfefffcfffdfffffffffefffbfdfdfffffffffffffdfdfdfefefeefefef8b8b8baaaaaaf7f7f7fdfdfdfffffffefefefffffffffffffefefefffffffffffffcfcfcfffffffffffffcfcfcfcfcfcbcbcbc7a7a7abbbbbbfbfbfbfffeffa59953fffffffffffffffefefafffcfffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffcfcfcfffffffdfdfdfffffff1f1f1949494c2c2c2fefefefffffffffffffefefefefefefefefefffffffffffffcfcfcfffffffefefefefefeffffffededed767676cdcdcdfffffffcfcfcfffffffffffffefefefafefffffffcfafffffefffdfafffbfffdfffffbffebe3cc98915affffebfffdfffafdfffdfffbfffffefffdfffffefffefefefffffffefefef9f9f9b3b3b37c7c7cf3f3f3fffffffffffffdfdfdfffffffffffffffffffffffffefefefefefefffffffffffffdfdfdfffffffffffffefefec7c7c7787878b7b7b7f8f7f9aa9e58fffdfdfffffffffefefafffcfffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffefefefefefefffffffffffffefefefefefefffffffffffffffffffdfdfdfffffffcfcfcfffffffdfdfdfffffff
 
5f5f5979797bcbcbcfffffffffffffefefefffffffefefefffffffefefefffffffffffffefefefffffffffffffafafab4b4b49a9a9aebebebfffffffffffffdfdfdfffffffefefeffffffffffffffffffffffffffffffffffffffffffffffffbab17fcac89ffffdfef8fefdfafffff6f7fffdfffefffffbfcfcfcffffffffffffc3c3c37a7a7ae4e4e4fffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffdfdfdfffffffefefefffffffcfcfcd7d7d774736fbdbfbfaa9a55fcfefffffbfefdfffff9fffafffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffefefefefefefffffffffffffffffffffffffffffffcfcfcfffffffefefefffffffffffffffffffffffffdfdfdd5d5d5818181dadadafffffffefefefffffffffffffffffffffffffefefefffffffefefefdfdfdfffffffefefef6f6f6878787bebebefffffffffffffdfdfdfffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffff5f6dca59560fcf6e9fffbfef2fbfefffffffffefffefffdffffffffffffe0e0e08a8a8ab2b2b2fdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffdfdfdfdfdfdfffffffcfcfcd2d1cd77797995
 
8540fcfefffffdfffdfffffbfffcfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfbfbfbfffffffffffffefefeffffff9090908f8f8ffdfdfdfffffffdfdfdfffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffff6f6f67d7d7dc6c6c6fffffffefefefdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8fff8d3c2a1c0bc89fffefffdfffefafffdfffffefbfcfffefefefefefe9797978a8a8af6f6f6fdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffefefefffffffffffffcfcfcfdfdfdfffffff6f5f1b2b4b483732ee4e6e7fffbfefafcfcfbfffcfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffefefefefefefefefefefefefcfcfcfffffffffffffafafafffffffcfcfc939393888888e2e2e2fffffffafafafffffffafafafffffffdfdfdfffffffefefefffffffefefefdfdfdfefefefefefefbfbfb9e9e9ea9a9a9f9f9f9fefefefffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf
 
ffcfff9fea69a5af1f0d6fffcfefdfffefffffcfffdffffffffa6a6a6848484e8e8e8fffffffffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffefefefdfdfdfffffffffffffdfdfdfefefefffffbf1f3f3887833909293fffdfffdfffffbfffcfffafcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffdfdfdffffffcbcbcb8d8d8d909090ddddddfffffffffffffffffffcfcfcfffffffefefefdfdfdfffffffefefefffffffffffffffffffffffffdfdfdfcfcfcd8d8d8888888ddddddfdfdfdfffffffcfcfcfffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffefdf9fafbffdcd5b4b7ab6bfcfefffffffbfdffffffffffc5c5c57a7a7ad4d4d4fffffffbfbfbfefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffefefefdfdfdfffffffffffffffffffffffcf9fbfba4944f868889beb7bafafcfcf9fffafffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffefefefefefeffffffdededeadadad878787a0a0
 
a0f3f3f3fefefefffffff9f9f9fcfcfcfffffffcfcfcfefefefffffffffffffefefefefefeffffffffffffffffffffffffffffffffffff808080b5b5b5fffffffffffffffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffefff7fffefefcfbb4a66ce3dfc3fbfffffffdfecccdcb737373c7c7c7fcfcfcfffffffffffffffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffffffffefefefefefefefefefdfdfdfffffbfdffffa59550c7c9ca797275eceeeefbfffcfffcfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffefefefcfcfcffffffeaeaeac4c4c4878787898989d7d7d7fcfcfcfffffffffffffbfbfbfffffffffffffffffffffffffffffff8f8f8f9f9f9fefefefffffffffffffdfdfdfefefeffffffffffffffffffaeaeae9a9a9af0f0f0fffffffcfcfcfffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffcfffbfffbfefefee8e3ceab9d6cf5f9edd0cbc879787abababafdfdfdfcfcfcfffffffdfdfdfbfbfbfffffffbfbfbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfefefefffffffffffffffffffffffff6f5f
 
1fbfdfdac9c57edeff09e979aabadadf5fbf6fffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffefefefffffffefefefbfbfbf7f7f7d2d2d28b8b8b717171c7c7c7fdfdfdfffffffffffffefefefefefefffffffdfdfdfffffffdfdfdf8f8f8e4e4e4c5c5c5bdbdbdd6d6d6f0f0f0fcfcfcfffffffffffffffffffdfdfdfefefef4f4f4858585bcbcbcfffffffefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffdfefffffff8f8fef9fdfbfab1a87daca0786f7a78c0b9c0fffffffdfdfdfffffffcfcfcfffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffcfcfcfffffffffffffefefefefefefefefefffffffdfdfdf7f6f2fdffffab9b56fcfeffdad3d6797b7bedf3eefffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fefefefffffffefefefffffffdfdfdffffffe0e0e0888888727272b4b4b4edededfdfdfdfdfdfdfffffffffffffffffffffffffffffffafafafffffff3f3f39a9a9a717171898989919191787878747474cdcdcdfffffffafafafffffffffffffffffffbfbfba7a7a7868686fdfdfdfffffffdfdfdfffffffffffffffffffffffffefefefdfdfdffffffffffff
 
fffffff7fdf8efede5d7d0d79ea9b77b7a667d6e2fd6cec1f5faf8fffcfffffefefdfffff9fafefffffefffff9fdfefafdfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f6eefbfdfeac9956fdfffeeae5e4828387ccd1d0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffdfdfdfcfcfcf4f4f49797977b7b7bb3b3b3ddddddf2f2f2fffffffffffffffffffffffffffffffdfdfdfefefefdfdfdffffffc8c8c8727272a1a1a1dededeeaeaeaececece1e1e1c0c0c0707070b2b2b2fffffffffffffefefefdfdfdffffffeeeeee959595848484b3b3b3bababab3b3b3b1b1b1afafafaaaaaaa6a6a6a4a4a49e9e9e9393938989897a7c7d84827a8b8a8c9d9fa7c9c6c1b8af8ac2bd8cfffffffffbfffffffcf8fbfffdfffefefffafefafffffefffafdfbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f6eefcfeffaf9c59fbfefcf7f2f1a8a9ada4a9a8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fefefeffffffffffffc8c8c8848484999999d0d0d0fcfcfcfffffffffffffffffffefefefdfdfdf
 
efefeffffffffffffffffffffffffacacac797979bababaf6f6f6fbfbfbfefefefefefefffffffdfdfdd0d0d07d7d7dc4c4c4fefefefffffffffffffdfdfdfefefee7e7e7a5a5a59595959898989b9b9b9b9b9ba0a0a0a2a2a2a1a1a1a1a1a1a7a7a7b1b1b1b7b7b7c9c8cad2d3cfe2e7e5fdf4f7fffefef7f5eda39a61f1ead9fffbfffffffbf8fdfcfbfffefefffdfffcfffffefffffffbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f6eefdffffae9b58fbfefcfffefdd0d1d57e8382ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffdfdfdb9b9b97b7b7bafafaffffffffefefefffffffffffffefefefffffffefefefefefefffffffffffffcfcfcdbdbdba0a0a0868686c9c9c9fdfdfdfffffffffffffefefefffffffdfdfdfcfcfcffffffb7b7b78a8a8aefefeffffffffafafafffffffdfdfdfffffffefefef7f7f7f7f7f7f6f6f6fafafafefefefffffffffffffefefefefefefffffffffffffefdfffbfdfefdfffbfffbfefdfdfdfdffffd2c7b1bcb381fffffbfffffefbfffbf9fdfefffcfffffffffefcfbfffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffff7f5edfdffffac9956fdfffefffffee5e6ea747978ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffcacaca6f6f6fd2d2d2fffffff6f6f6fffffffdfdfdfffffffdfdfdfdfdfdfffffff9f9f9ecececd7d7d7c2c2c2808080898989e3e3e3fffffffefefefafafafffffffdfdfdfffffffefefefffffffbfbfbf2f2f2959595b8b8b8fefefefffffffffffffffffffbfbfbfffffffffffffefefefefefefffffffffffffefefefefefefffffffffffffffffffefefefffefffbfffffffffbfefbfdfffcfffcfffdfdfbfba79a62e0e1bffffbfffdfffcfafffdfdfcfffffff9fffcfefffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f6eefdffffac9956fdfffefffffeecedf1767b7affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffff8a8a8ab8b8b8f3f3f3f7f7f7fefefef6f6f6f7f7f7f5f5f5f3f3f3efefefd9d9d9b2b2b28f8f8f8080807d7d7dcacacafffffffefefefffffffffffffffffffdfdfdfffffffdfdfdfffffffafafaffffffffffffbbbbbb838383fffffffefefefefefefdfdfdfffffffdfdfdfbfbfbfffffffffffffefefefffffffffffffffffffffffffef
 
efefefefefefefefffcfffbfff9fffffcfdfffefef4fffffffcf8fff9f1e0c5a3a46cfff5fdfffefffdfffbfffffffffffcfffdfffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9f7effcfeffae9b58fafdfbfffffef0f1f5727776ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fefefeb5b5b57b7b7b959595abababa9a9a9a9a9a99a9a9a8989898080807878787f7f7f959595b9b9b9dfdfdff7f7f7fbfbfbfefefefffffffdfdfdfffffffffffffcfcfcfffffffffffffdfdfdfffffffffffffefefec5c5c5868686f1f1f1fcfcfcfefefefffffffffffffdfdfdfffffffdfdfdfcfcfcfffffffffffffefefefefefefffffffffffffffffffffffffffefffafffbfbfcfafffffefffcfffdfffffbfff5fffeffb3ab7cd8d1b6fffffcfffefffffffefffffffefdfffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f6eefcfeffae9b58fbfefcfffffeeeeff36e7372ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fefefef2f2f2cdcdcdb3b3b3a3a3a3a4a4a4a8a8a8b1b1b1bcbcbcccccccdcdcdce5e5
 
e5efefeffafafafefefefcfcfcfffffffdfdfdfffffffffffffffffffdfdfdfffffffffffffffffffffffffffffffefefefdfdfddbdbdb808080e8e8e8fefefefffffffefefefefefefffffffefefefcfcfcfffffffffffffefefefffffffffffffffffffffffffffffffffffffffffcfbfefffafffefffdfffdfff7fafffffffefff6fbffffecd3989a58fcf9ebfffafffdfcfefffffffffff8fdfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f5edfdffffab9855fdfffefffdfce8e9ed6f7473ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fdfdfdfffffffffffffdfdfdf7f7f7f5f5f5f9f9f9fefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefeffffffffffffffffffffffffd5d5d5848484e8e8e8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6ffffcdbb92c8c295fffefef9fefdfffffefffefffbfefcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffff6f3eefdfeffae9a59fcfffdfffefdcecfd37e8382ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffefefefefefefefefefefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0d0d0808080f0f0f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefaf9eba39463f6f5e1fffefffbfcfffefdfffdfffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaf7f2fdfeffac9857fcfffdfffaf9acadb19ca1a0fffefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefeffffffcfcfcf7d7d7df6f6f6fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfbffffcfc7aab7b079fffefffffdfffafdfffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f5f0fcfdffaa9655fdfffee9e4e3818286ccd1d0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fefefefefefefefefefffffffffffffffffffefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffcfcfcffffffd2d2d27d7d7df4f4f4fefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9fcfafafcfcad9f64ece5ccfdfbfffbfffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9f6f1fdfeffaa9655fdfffed6d1d0727377ebf0efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffefefefffffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffdfdfdffffffd3d3d3808080f1f1f1fdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefbfffffffdffe2dbc2b2a469fdfffff9fcfafffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffafdfeffaf9b5af4f7f5b8b3b2929397eef3f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffefefefefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfefefeffffffffffffd6d6d6848484e7e7e7fcfcfcfefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfbfefffffdfffffdfeb0a972dbd3b6fbfffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffaf7f2f8f9fdae9a59dde0de847f7ed3d4d8f8fdfcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffefefefdfdfdfefefefffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefeffffffffffffdfdfdf8c8c8cd4d4d4fcfcfcfefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffefffefff9fafefffeffeeedd9a89968faf9ebfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f5f0fdfeffac9857b6b9b7847f7ef8f9fdfbfffffefcfcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefeffffffebebeb949494c1c1c1fcfcfcfefefefffffffffffffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffefffdfffffffef8fdfcfffefebfb98cd6c49bf6fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9f6f1fdfeffa692518b8e8cc2bdbcfdfefffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffefefefdfdfdf7f7f7acacaca1a1a1f8f8f8fffffffffffffffffffdfdfdfffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfbfffffffcfffffffdfff7fffdfff7f4e698985cfff2dcfbfffffffdfffbfefffffff3fffcfff8fefffffcfffffffffffffffefefefdfdfdfffffffefefefffffffefefefffffff7f5edfdffff8d7938868987fffcfbfbfdfefbfffefffefdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffefefebbbbbb878787f5f5f5fffffffcfcfcfefefefffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffefffdfffffcfefefefffdfffffffbcfcaabbdb488fffffbfafdfbfafbfffffefffffffffafcfdfbfff9fffdfffffffffefefefffffffcfcfcfffffffffffffffffffcfcfcfbf9f1e0e2e3836f2ebdc0befffffefdfffff7fcfafffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffdfdfdfffffffefefeffffffd1d1d1767676efefeffefefefffffffdfdfdfffffffefefefffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfefefefffffbfffcfffcfdfffffffffdf2f49fa165f2e4c8fdfefffffefffcfbfffefdf9fffffcf6fff5fffefffffffffffffffbfbf
 
bfffffffefefefefefefffffffdfdfdf7f5ed8688898b7736f7faf8fffdfcfdfffffbfffefffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffefefefffffffcfcfcffffffe3e3e37b7b7be3e3e3fcfcfcfffffffefefefefefefffffffefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffafffefffffffcfdfcfff9fefcfcfefefffbffd5d9afb4a86efffcfffafcfdfdfffffffefdfffffcfafffffffdfcfdfdfdfffffffdfdfdfffffffffffffffffff7f7f7ffffffc0beb6818384a4904ffdfffefffbfafcfefffafffdfffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffefefefefefeffffffeeeeee979797bcbcbcf9f9f9fbfbfbfffffffffffffffffffcfcfcffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffdfffefffffdfdfffffffbfffbfbfffbfffefffffffab5a973d7d0b7fdfffffffffcfffdfcfbfffefffcfffffffffffffffffffffffffffffffffdfdfdfefefeffffffd4d4d4737169c6c8c9ac9857fdfffefffffefdfffffafffdfdfbfaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffefefefffffffffffff9f9f9c8c8c8828282efefeffffffffffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffefffcfef8fbfffbf9fff9fdfff7fff9ffefe4cea1a063fefbf3fffffefcfdf9fafffffff7fffdfffffffffffffffffdfdfdffffffffffffffffffdcdcdc7f7f7fb1afa7f8fafbad9958fdfffefffdfcfdfffffbfffefffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffefefefefefefdfdfdffffffefefef777777cececefffffffffffffefefefdfdfdfffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfefffffffefffffffefffbfdfffffbfffefffffbfff9fffffeffbcb885d1c6a6fffffbfafffffcfdfffffefffbfffafcfcfcfffffffffffffdfdfdffffffe2e2e28f8f8f969696f9f7effbfdfead9958fcfffdfffffefdfffff5faf8fffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffffffffffffff8f8f89a9a9aa9a9a9f8f8f8fefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffffffcfffffcfffffffbfcfffdfdfffefcfcfffffefbfffffff2e6a4955df3f7e4f0fafffffcfffefffdfffff5fffffffe
 
fefefffffffefefeebebeb939393888888fffffff7f5edfdffffad9958fdfffefffcfbfdfffffbfffefffefdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0e0e07d7d7ddadadafefefefffffffefefefffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffffffffefefefffffffefefefffffffffffbfcfbffd0c7a2b8b382fffefffafffffffff9fffffffdfdfdfffefffffeffeeedf185868a919393f5f9f4f9fff9f7f5edfffffcaa9c54fffefffdfdfdfffffef8fff9fffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfcfc8d8d8d9f9f9ffefefefffffffffffffdfdfdfdf
 
dfdfcfcfcfffffffffffffdfdfdfffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfcfcfcfffffffffffffefefefffffffefefefffffffffff9fffdfffbf8f0a99e65f0ecd9fffafff8fff7fffefffffefffefdffdadada7c7b7da2a1a3edecf0fbfbfffdfcfff7f4f6fffeffa79951fffdfdfffefffffcfff7fffffffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdddddd7d7d7dcacacafffffffcfcfcfffffffffffffdfdfdfffffffffffffffffffffffffefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffefefefffffffffff8f8fbfffffeffd7d0afb1a771fffdfffafffefffefffefdffb3b4b27d7f79b1b4abf6f9f0fefef8fffffefffcfef7f5f4fffefeab9f59fffdfffaf8fefffefff6fff7fffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefeb7b7b77c7c7cdededefffffffdfdfdfffffffffffffffffffdfdfdfffffffffffffffffffdfdfdfdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffffffffffffffffffffffef9fdfdfffefffbfffffbb3a76ddad6b9fffbffd7dad89a9c9c898a88babbb7fffffcfefdf9fffffefffdfcfffefff3f8e9fffffba49852fffdfffffefffffefffafffefffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefdfdfda2a2a28c8c8ce6e6e6fffffffcfcfcfdfdfdfefefefffffffffffffcfcfcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefffffffffffffefefefefefefefefefbfefffffefff8fffcfffdfcece5d2a79e5ec2bdbc81838
 
38f908ee8e8e8fefdfffbf8fffffcfffef9fffffdfffffdfff7f8f4fbfafea8995bfffcfffffffffdfbfafafffffff8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefef0f0f0949494818181e6e6e6fefefefffffffdfdfdfefefefffffffffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfdfdfffffffffffffbfefffffbfef9fdf7ebf5efe0d7e1897e4c767249cac7c9fffefffcfbfffffefffbfafcfffffefdfffcfbfff7fcfff7f1f8e9fdfffba79d57fffefffbfdfdfffffcf8fff6fffefdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffcfcfcffffffecececa0a0a0
 
717171cececefefefefffffffffffffbfbfbfefefefffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefffffffefefefffffffffffffbfbfbfefcfcfdfeffd3d1c9788484817983b2aa999a9354faf5e6fffbfffffffffefffafdfff9f7fef7fafffefafdfff4f6fff3f2fbfbfdfea7a051fafbf7fdfefffffcfffafffefffefdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffdfdfdf0f0f0bababa808080858585cdcdcdfffffffffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffbfbfbe6e6e6b8b2b37b807e84898ab6b6b6dbe1e6fff9f5ccc594c5bd95fffffffffffcfdfff7fdfffcfbfbffe0d9febaacecb8a6f9956ee86b53a1a69564fffffbfdfffefdf9fffafffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffdfdfdfffffffcfcfcdadadaa9a9a98d8d8d8d8d8da6a6a6bdbdbdddddddf9f9f9fdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffff8f8f8e1e1e1c5c5c5a8a8a89292928989899c9b9fbdb9bededfddfcfffafbfefffffdfffffbe79d965fefebd8faf9fbf4ffffb2b6f08774e86a5aed8265ea6c52ec7d53d6ac97c8a6994ffdfffff9fdfefffffcfbfffbfffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfcfcffffffdededeb2b2b29595958a8a8a8b8b8b979797a4a4a4b1b1b1bcbcbcc5c5c5c6c6c6c7c7c7c8c8c8c3c3c3bababaaeaeaea8a8a89b9b9b8f8f8f8b8b8b959595b1b1b1d1d1d1f8fafafffefffffffffdfffefbfefffdfaffff
 
fff6dcd6b3afa67aa487fa6b3be7784fee9e93f3bfaeffc6c0f7e8edfffdfafffefbf6b0a456fafbfff9fefcfffffbfbfffbfdfdfdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffffffffbfbfbfffffffffffffffffffffffffffffffffffff7f7f7d7d7d7b0b0b09e9e9e8a8a8a8686868181817e7e7e7c7c7c7d7d7d8181818585859595959c9c9cb1b1b1d4d4d4f4f4f4fefefefdfdfdfffffffdfffcfffffffffdfffafafafdfefffefbfffffefffffef5a6a1628062b5c9c3f8f3f0ffeef2fffffffaf9fcfffffff8fdfff1fffff8a89659fdfcfffbfff9fffffefbfefffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffdfdfdfffffffff
 
ffffffffffffffffdfdfdfffffffefefefffffffffffffffffffefefefffffffffffffffffff9f9f9f2f2f2f1f1f1efefefedededf2f2f2fafafafefefefffffffffffffffffffffffffffffffffffffffffffafffaf9fbfbfffefffffdfffffffffffefffdfefffdfdffe1ddc5a19658f8ffeff9fefffffefffffffefdfcfffffffcfbfcfffffbffa9955efdfefff9fff7fffcfffbfcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfffffffffffffffffffffffffffffffffffffffffffffffffefefefffffffffffffcfcfcfefefefffffffefefefdfdfdfffffffffffffffffffffffffffffffffffffefefefffffffffffffffffffcfcfcfefefefffffffffffffdfdfdfdfffefcfffdfffefffffefefefdf9fffffbfbfffefafefffffeffb1a067d4cba5f7fff8fffefff8fff7fefff7fffefffbfffafffffba99a55fdfffff9fffafffdfffbfffffcfff5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefffffffdfdfdfdfdfdfffffffefefefffffffffffffdfdfdfdfdfdfffffffffffffffffffefefefffffffffffffffffffffffffffffffefefefffffffffffffffffffffffffffffffffffffefefefdfdfdfefefefffffffefdfffdfffefdfffefffffffffefdfffff7fdfffbfafffffffeffeee4da978538fbf8eafafffff6fffcfdfafffbfffcfdfffbfffff7ab9c57fdfdfff7fdf8fffffcfafffdfffffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfefefefffffffffffffffffffffffffffffffcfcfcfffffffffffffefefefdfdfdfcfcfcfdfdfdfffffffffffffcfcfcfefefefffffffffffffdfdfdfcfcfcfffffffffffffefefefefefefffffffffffffffffffffffffffffffffbfffffffcfafffbfbfefffffdf
 
ffffffbfefffafdfffffefff2fffffbbfb17cbdb181fffff9f6fdfafbfffefffff9fdfcfffffbffa9975cfdfdfffbfffbfffefffbfefffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfcfcfffffffffffffdfdfdfdfdfdfffffffffffffffffffffffffefefefffffffffffffefefefffffffffffffefefefefefefffffffffffffdfdfdfdfdfdfffffffffffffefefefefefefffffffffffffefefefdfdfdfefefefffffffefefefffbfffefffbf9fffaf9fdfffefafffffdfffffefffffefffbfffcfff7fff9f2ef96853cf9e6e3fdfffcf8fdfefffffcfcfffbfffffea99956fbfdfdfbfffefff9fffbfcfffdfefaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffffffffbf4f8fdd6c39da89f5ffffffbfafefffdfefffffdfefffdffa89b57fffffefdfffffffcfffafffffffffaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfbfffefffffffcfceea29152dfd9bcfdfafffbfffefffffbfffeffa79b53fffffafcfffdfefafffafffffffefdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefef9fbfcfbfffbfbffffddd3bba4954dfffafcfbfffcfdfffcfdffffa79b53fffff9fffffcfffdfffafffffffdfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffcfffbfffffafff8fcfcfcfafcffad9b5adaca9cf9fdfefbfffffcfcffa69856fffffbfffffcfffcfef8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfffffffffffdfafafffcf8fcfdebe1d79c8b3afcf8f3fdfcfefffbffa9995efffefffffffefffbfdf6fffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8fffffff8fffffdfcfafff8fffffcfffcffb4aa7ac4b890fdf8effffbffa9975cfefafffffffffffefffafffefffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffafffcfff8fffbfffefffff8fdfefffcfdf9f1f1eb938243efeacbfffdf4b09f5cfffcfefbfffffffefffafffefffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000
 
00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfff4fffefffefffffefefffdfff8fffffdfff6d6c58da6a170dfd8bfa9994cfffffefafffffefdfff9fffdfffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefe968b3bd6b89fa79d57fffff7fffff8fafffffffafffafffaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefed6caa6958839b09a58fffffcfdfffef9fefdfffbfdfdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8ef90883b998832fffafffbfdfdfdfffbfffdfefffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9eae0c8837d30fffcfffffefffafef8fffbfffbfffcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffcfffff2fdfff7fffafdfbfffefcfcfcf8fffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffafff5fffefafdfff8fdfffffff9f8fffcf9fefcfaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfff4faf9fefefefaf9fffffff5fafffbfffdfffdfcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfcfafffff7fffafffafefffffffefbfff8fffafffffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000050000000701010000000500000001020100000005000000090201000000030000000000}
+\par
+}
diff --git a/writerfilter/qa/cppunittests/rtftok/rtfdocumentimpl.cxx 
b/writerfilter/qa/cppunittests/rtftok/rtfdocumentimpl.cxx
new file mode 100644
index 000000000000..0d6425c33afd
--- /dev/null
+++ b/writerfilter/qa/cppunittests/rtftok/rtfdocumentimpl.cxx
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <test/bootstrapfixture.hxx>
+#include <unotest/macros_test.hxx>
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
+#include <com/sun/star/graphic/XGraphic.hpp>
+
+#include <vcl/graph.hxx>
+
+using namespace ::com::sun::star;
+
+namespace
+{
+/// Tests for writerfilter/source/rtftok/rtfdocumentimpl.cxx.
+class Test : public test::BootstrapFixture, public unotest::MacrosTest
+{
+private:
+    uno::Reference<lang::XComponent> mxComponent;
+
+public:
+    void setUp() override;
+    void tearDown() override;
+    uno::Reference<lang::XComponent>& getComponent() { return mxComponent; }
+};
+
+void Test::setUp()
+{
+    test::BootstrapFixture::setUp();
+
+    mxDesktop.set(frame::Desktop::create(mxComponentContext));
+}
+
+void Test::tearDown()
+{
+    if (mxComponent.is())
+        mxComponent->dispose();
+
+    test::BootstrapFixture::tearDown();
+}
+
+constexpr OUStringLiteral DATA_DIRECTORY = 
u"/writerfilter/qa/cppunittests/rtftok/data/";
+
+CPPUNIT_TEST_FIXTURE(Test, testPicwPich)
+{
+    // Given a document with a WMF file where picwgoal and picscalex is 
provided, so picw is not
+    // relevant:
+    OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + 
"picw-pich.rtf";
+
+    // When loading that document:
+    getComponent() = loadFromDesktop(aURL);
+
+    // Then make sure the graphic's preferred size is correct:
+    uno::Reference<drawing::XDrawPageSupplier> xTextDocument(getComponent(), 
uno::UNO_QUERY);
+    uno::Reference<drawing::XDrawPage> xDrawPage = 
xTextDocument->getDrawPage();
+    uno::Reference<beans::XPropertySet> xShape(xDrawPage->getByIndex(0), 
uno::UNO_QUERY);
+    uno::Reference<graphic::XGraphic> xGraphic;
+    xShape->getPropertyValue("Graphic") >>= xGraphic;
+    Graphic aGraphic(xGraphic);
+    Size aPrefSize = aGraphic.GetPrefSize();
+    // Without the accompanying fix in place, this test would have failed with:
+    // - Expected: 2619
+    // - Actual  : 132
+    // i.e. the graphic width didn't match 2.62 cm from the Word UI.
+    CPPUNIT_ASSERT_EQUAL(static_cast<tools::Long>(2619), aPrefSize.Width());
+}
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx 
b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 486a5bde6444..a67cbe904089 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -899,12 +899,18 @@ void RTFDocumentImpl::resolvePict(bool const bInline, 
uno::Reference<drawing::XS
     uno::Reference<io::XInputStream> xInputStream(new 
utl::OInputStreamWrapper(pStream));
     WmfExternal aExtHeader;
     aExtHeader.mapMode = m_aStates.top().getPicture().eWMetafile;
-    aExtHeader.xExt = sal_uInt16(
-        std::clamp<sal_Int32>(m_aStates.top().getPicture().nWidth, 0,
-                              SAL_MAX_UINT16)); //TODO: better way to handle 
out-of-bounds values?
-    aExtHeader.yExt = sal_uInt16(
-        std::clamp<sal_Int32>(m_aStates.top().getPicture().nHeight, 0,
-                              SAL_MAX_UINT16)); //TODO: better way to handle 
out-of-bounds values?
+    if (m_aStates.top().getPicture().nGoalWidth == 0
+        || m_aStates.top().getPicture().nGoalHeight == 0)
+    {
+        // Don't use the values provided by picw and pich if the desired size 
is provided.
+
+        aExtHeader.xExt = sal_uInt16(std::clamp<sal_Int32>(
+            m_aStates.top().getPicture().nWidth, 0,
+            SAL_MAX_UINT16)); //TODO: better way to handle out-of-bounds 
values?
+        aExtHeader.yExt = sal_uInt16(std::clamp<sal_Int32>(
+            m_aStates.top().getPicture().nHeight, 0,
+            SAL_MAX_UINT16)); //TODO: better way to handle out-of-bounds 
values?
+    }
     WmfExternal* pExtHeader = &aExtHeader;
     uno::Reference<lang::XServiceInfo> 
xServiceInfo(m_aStates.top().getDrawingObject().getShape(),
                                                     uno::UNO_QUERY);

Reply via email to