Browse Source

Add files to be used for demo test

Signed-off-by: falkTX <falktx@falktx.com>
pull/272/head
falkTX 4 years ago
parent
commit
eadd3f9c4e
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
18 changed files with 8492 additions and 0 deletions
  1. +569
    -0
      tests/demo_res/DemoArtwork.cpp
  2. +35
    -0
      tests/demo_res/DemoArtwork.hpp
  3. BIN
      tests/demo_res/ico1.png
  4. BIN
      tests/demo_res/ico2.png
  5. BIN
      tests/demo_res/ico3.png
  6. BIN
      tests/demo_res/ico4.png
  7. BIN
      tests/demo_res/ico5.png
  8. +3
    -0
      tests/images_res/CREDITS.txt
  9. +7083
    -0
      tests/images_res/CatPics.cpp
  10. +25
    -0
      tests/images_res/CatPics.hpp
  11. BIN
      tests/images_res/cat1.png
  12. BIN
      tests/images_res/cat2.png
  13. BIN
      tests/images_res/cat3.png
  14. +203
    -0
      tests/widgets/ExampleImagesWidget.hpp
  15. +156
    -0
      tests/widgets/ExampleRectanglesWidget.hpp
  16. +108
    -0
      tests/widgets/ExampleShapesWidget.hpp
  17. +70
    -0
      tests/widgets/ExampleTextWidget.hpp
  18. +240
    -0
      tests/widgets/NanoPerfWidget.hpp

+ 569
- 0
tests/demo_res/DemoArtwork.cpp View File

@@ -0,0 +1,569 @@
/* (Auto-generated binary data file). */

#include "DemoArtwork.hpp"

static const unsigned char temp_ico1_1[] = {
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 2, 2, 73, 15, 15, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77,
16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 15, 15, 77, 2, 2, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 15, 15, 77, 172, 172, 121, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125,
186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125,
186, 186, 125, 186, 186, 125, 186, 186, 125, 172, 172, 121, 15, 15, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 16, 16, 77, 186, 186, 125, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129,
201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 201, 201, 129, 186, 186, 125, 16, 16, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 15, 15, 77, 172, 172, 121, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125,
186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125, 186, 186, 125,
172, 172, 121, 15, 15, 77, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 2, 2, 73, 15, 15, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77,
16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77,
16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 16, 16, 77, 15, 15, 77, 2, 2, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,
1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73, 1, 1, 73,};
const char* DemoArtwork::ico1Data = (const char*)temp_ico1_1;

static const unsigned char temp_ico2_2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 46, 12, 43, 64, 17, 57, 67, 19, 60, 72, 23, 65, 78, 26, 71, 84, 28, 78, 90, 31, 83,
93, 35, 87, 83, 32, 78, 76, 47, 77, 49, 18, 46, 40, 9, 36, 38, 9, 34, 37, 9, 34, 38, 10, 35, 40, 11, 37, 42, 12, 40, 43, 16, 42, 56, 42, 62, 91, 96, 111, 117, 132, 149, 108, 124, 146, 87, 99, 120, 74, 83, 106, 59, 66, 91, 40, 39, 47, 40, 30, 37, 57, 54, 69,
110, 110, 127, 114, 98, 111, 20, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 45, 12, 42,
63, 16, 57, 66, 18, 59, 71, 22, 64, 78, 25, 70, 84, 28, 78, 90, 31, 83, 90, 33, 84, 85, 49, 86, 117, 118, 134, 110, 109, 124, 61, 46, 67, 37, 14, 36, 34, 7, 32, 35, 8, 32, 35, 7, 33, 37, 11, 36, 45, 24, 46, 69, 63, 81, 95, 104, 120, 111, 127, 146, 104, 121, 143,
88, 99, 119, 77, 87, 110, 68, 74, 101, 43, 43, 54, 28, 23, 27, 54, 56, 71, 121, 123, 144, 117, 108, 120, 19, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 44, 12, 41, 61, 16, 55, 64, 18, 57, 69, 20, 62, 77, 25, 68, 85, 30, 79, 91, 33, 84, 86, 32, 79, 75, 40, 75, 80, 76, 98, 141, 154, 163, 148, 159, 168, 114, 115, 128, 80, 71, 89, 68, 54, 75, 96, 87, 104,
117, 111, 125, 129, 128, 139, 150, 156, 166, 159, 172, 181, 148, 165, 178, 73, 90, 105, 64, 83, 99, 79, 96, 114, 106, 118, 137, 78, 86, 97, 37, 42, 50, 54, 62, 80, 116, 122, 149, 119, 112, 124, 19, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 43, 11, 39, 59, 16, 54, 63, 17, 55, 68, 20, 61, 76, 24, 67, 83, 27, 76, 87, 29, 80, 78, 25, 71, 65, 25, 60, 72, 65, 89,
85, 100, 117, 148, 164, 169, 164, 180, 186, 165, 179, 186, 176, 188, 194, 208, 217, 221, 227, 234, 236, 235, 241, 242, 237, 244, 245, 241, 250, 252, 124, 138, 146, 31, 50, 65, 45, 69, 87, 66, 91, 109, 170, 185, 193, 212, 222, 224, 177, 187, 192, 128, 143, 155, 115, 126, 154, 116, 111, 130, 20, 17, 19,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 43, 11, 40, 60, 17, 55, 64, 20, 58, 69, 24, 63,
74, 26, 68, 81, 29, 75, 86, 33, 79, 77, 28, 70, 60, 19, 55, 68, 57, 82, 85, 96, 117, 89, 107, 123, 133, 150, 157, 167, 185, 191, 206, 219, 223, 228, 236, 238, 237, 244, 245, 233, 241, 242, 210, 224, 229, 154, 173, 180, 52, 69, 81, 33, 53, 68, 39, 62, 80, 49, 78, 104, 95, 123, 142,
202, 216, 220, 236, 244, 244, 233, 239, 240, 195, 206, 214, 145, 145, 161, 23, 21, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 1, 2, 44, 12, 40, 61, 16, 55, 64, 17, 56, 68, 20, 60, 71, 22, 64, 77, 25, 69, 79, 25, 71, 74, 26, 66, 69, 31, 63, 71, 52, 79, 91, 101, 121, 108, 128, 144, 112, 134, 144, 158, 177, 182, 198, 213, 217, 207, 220, 224, 204, 218, 223, 183, 201, 208, 113, 139, 152,
47, 63, 72, 32, 49, 58, 48, 69, 85, 50, 73, 93, 46, 68, 96, 45, 76, 104, 140, 160, 169, 225, 234, 234, 240, 246, 246, 242, 247, 246, 229, 235, 236, 37, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 44, 13, 41, 61, 16, 55, 63, 18, 57, 66, 20, 59, 70, 22, 62, 77, 26, 68, 82, 29, 74, 79, 29, 72, 76, 36, 72, 83, 56, 83, 117, 120, 137, 152, 168, 178, 165, 181, 188,
180, 196, 202, 160, 181, 189, 156, 177, 186, 149, 173, 183, 167, 187, 194, 125, 147, 156, 63, 82, 93, 45, 64, 76, 70, 92, 107, 62, 83, 103, 45, 65, 90, 31, 57, 85, 103, 124, 136, 213, 225, 227, 236, 242, 242, 242, 248, 247, 255, 255, 255, 46, 48, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 43, 12, 40, 61, 17, 55, 63, 18, 56, 66, 22, 59, 70, 24, 63, 74, 24, 66, 84, 40, 78,
95, 63, 95, 117, 100, 123, 154, 152, 165, 176, 185, 192, 183, 197, 202, 180, 194, 199, 143, 164, 172, 122, 146, 157, 118, 143, 153, 116, 143, 155, 154, 177, 185, 162, 182, 189, 133, 155, 164, 111, 133, 145, 101, 123, 134, 86, 106, 120, 64, 86, 104, 47, 68, 88, 97, 120, 132, 193, 209, 213, 222, 232, 233,
241, 247, 246, 255, 255, 255, 46, 48, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 39, 12, 37,
57, 16, 51, 62, 19, 56, 68, 25, 60, 78, 46, 76, 100, 78, 105, 129, 122, 142, 170, 176, 188, 187, 200, 209, 195, 212, 218, 188, 205, 212, 169, 187, 195, 141, 161, 171, 94, 116, 124, 101, 122, 131, 83, 107, 118, 98, 127, 143, 151, 176, 188, 164, 184, 194, 158, 179, 188, 145, 168, 177, 144, 164, 171,
147, 167, 175, 97, 119, 132, 57, 72, 86, 114, 136, 146, 184, 201, 207, 208, 221, 224, 235, 242, 242, 255, 255, 255, 46, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 36, 13, 34, 53, 18, 49, 59, 24, 56, 83, 62, 89, 145, 151, 166, 178, 194, 203, 187, 207, 215, 184, 205, 214, 182, 203, 213, 180, 201, 211, 165, 187, 197, 128, 151, 162, 90, 111, 121, 53, 69, 77, 79, 101, 110, 62, 83, 92,
95, 118, 133, 109, 138, 153, 164, 185, 196, 186, 202, 209, 168, 188, 196, 163, 182, 189, 157, 176, 184, 117, 140, 150, 67, 84, 93, 106, 129, 138, 181, 197, 204, 189, 207, 213, 222, 232, 233, 255, 255, 255, 46, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 37, 23, 39, 84, 72, 91, 115, 111, 127, 139, 147, 161, 176, 198, 209, 177, 199, 210, 173, 195, 208, 171, 194, 206, 169, 194, 206, 168, 193, 205,
125, 154, 167, 62, 80, 87, 54, 68, 74, 44, 55, 59, 46, 58, 64, 40, 54, 60, 37, 47, 54, 82, 99, 107, 149, 167, 176, 175, 191, 200, 181, 198, 207, 181, 200, 207, 180, 198, 204, 152, 173, 181, 91, 110, 117, 89, 110, 118, 102, 126, 138, 164, 184, 191, 220, 231, 232, 250, 255, 255, 46, 47, 47,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 64, 67, 76, 166, 181, 190, 192, 211, 219, 184, 205, 215,
168, 193, 205, 161, 187, 201, 158, 183, 198, 151, 178, 192, 145, 173, 188, 142, 171, 186, 105, 131, 143, 53, 59, 59, 21, 22, 22, 63, 75, 79, 73, 86, 90, 51, 63, 68, 27, 27, 26, 10, 10, 14, 102, 107, 108, 120, 143, 156, 125, 150, 163, 167, 189, 197, 190, 209, 215, 185, 204, 211, 174, 195, 202,
156, 178, 187, 149, 171, 180, 168, 190, 198, 217, 229, 231, 251, 255, 255, 46, 48, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 7, 8, 8, 134, 147, 153, 192, 211, 219, 184, 205, 214, 172, 194, 206, 151, 178, 193, 144, 172, 188, 135, 164, 181, 109, 140, 158, 85, 118, 133, 96, 130, 145, 99, 124, 136, 48, 62, 67, 57, 69, 72, 111, 124, 127, 121, 134, 136, 116, 130, 140, 64, 70, 76, 53, 55, 55, 82, 96, 103,
82, 103, 113, 97, 121, 132, 124, 149, 160, 171, 192, 200, 183, 202, 208, 178, 197, 203, 178, 197, 203, 186, 204, 210, 197, 213, 218, 222, 233, 235, 253, 255, 255, 46, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 9, 153, 167, 172, 194, 214, 221, 177, 199, 209, 162, 186, 199, 143, 171, 188, 132, 161, 178, 102, 134, 151, 81, 110, 125, 60, 88, 101, 80, 113, 125, 101, 126, 138, 48, 62, 69, 137, 151, 155,
136, 148, 150, 119, 132, 135, 110, 123, 130, 92, 110, 119, 76, 94, 104, 67, 86, 96, 79, 98, 107, 107, 129, 138, 136, 158, 166, 140, 164, 174, 170, 189, 194, 177, 195, 199, 187, 204, 209, 196, 212, 216, 211, 224, 226, 228, 237, 237, 251, 255, 255, 46, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 9, 155, 167, 173, 194, 213, 221, 176, 196, 207, 168, 189, 201, 149, 175, 188, 120, 150, 167, 96, 126, 143,
82, 109, 124, 67, 94, 106, 87, 118, 130, 109, 136, 148, 93, 107, 113, 97, 104, 105, 110, 121, 123, 104, 119, 124, 91, 108, 114, 55, 70, 77, 59, 77, 85, 70, 89, 97, 85, 104, 111, 101, 124, 132, 125, 146, 154, 129, 152, 160, 145, 168, 177, 164, 185, 191, 173, 191, 196, 189, 205, 209, 204, 218, 220,
222, 232, 231, 247, 253, 252, 45, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 10, 158, 171, 175,
200, 218, 225, 182, 202, 211, 170, 191, 202, 151, 176, 190, 138, 164, 179, 114, 143, 159, 84, 113, 128, 77, 103, 118, 91, 121, 133, 132, 160, 172, 96, 117, 124, 20, 23, 24, 76, 85, 88, 157, 173, 177, 159, 176, 182, 102, 122, 128, 67, 86, 91, 66, 80, 86, 66, 83, 88, 69, 88, 95, 82, 104, 110,
118, 141, 148, 147, 169, 175, 158, 178, 184, 161, 182, 187, 187, 204, 207, 211, 223, 224, 215, 226, 225, 236, 245, 243, 43, 45, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 10, 164, 175, 178, 208, 224, 229, 190, 208, 215, 176, 197, 206, 157, 180, 194, 131, 159, 174, 105, 136, 152, 88, 117, 133, 88, 114, 127, 90, 117, 127, 123, 152, 162, 108, 130, 137, 58, 67, 69, 90, 101, 104, 144, 159, 162, 166, 183, 186,
163, 181, 187, 125, 145, 147, 91, 109, 111, 71, 85, 89, 68, 80, 85, 69, 84, 91, 89, 110, 115, 106, 131, 138, 140, 162, 168, 166, 186, 189, 193, 207, 210, 220, 229, 227, 217, 226, 224, 235, 243, 240, 37, 40, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 10, 166, 176, 179, 208, 224, 229, 192, 211, 217, 178, 198, 209, 141, 168, 182, 117, 147, 163, 108, 137, 154, 96, 123, 138, 83, 107, 119, 78, 104, 114,
115, 142, 149, 115, 137, 143, 81, 95, 99, 69, 83, 87, 102, 115, 116, 130, 146, 149, 148, 165, 169, 125, 140, 142, 96, 112, 113, 79, 94, 98, 67, 85, 91, 82, 99, 104, 84, 103, 108, 100, 121, 127, 137, 159, 163, 186, 200, 201, 204, 215, 213, 217, 225, 223, 216, 224, 222, 231, 240, 237, 119, 107, 103,
76, 93, 110, 94, 71, 60, 116, 56, 6, 111, 54, 8, 104, 50, 8, 96, 44, 7, 85, 38, 6, 80, 37, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 10, 160, 172, 176, 199, 217, 224, 189, 207, 215, 174, 195, 204,
140, 168, 182, 121, 149, 165, 104, 133, 150, 80, 107, 122, 76, 101, 113, 92, 117, 124, 97, 124, 131, 115, 138, 144, 100, 122, 128, 97, 118, 124, 81, 96, 100, 78, 93, 96, 109, 121, 121, 102, 116, 116, 93, 109, 109, 89, 105, 107, 98, 113, 116, 102, 121, 124, 120, 138, 140, 135, 153, 153, 165, 179, 179,
186, 198, 198, 200, 210, 208, 212, 220, 217, 214, 222, 219, 228, 235, 230, 157, 179, 197, 136, 144, 166, 183, 114, 76, 188, 93, 11, 180, 86, 7, 163, 77, 11, 154, 71, 5, 141, 63, 9, 136, 60, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 9, 9, 9, 154, 166, 171, 193, 212, 218, 184, 203, 209, 161, 185, 194, 141, 168, 181, 114, 145, 161, 99, 128, 147, 89, 115, 129, 97, 120, 130, 80, 105, 113, 93, 117, 123, 103, 127, 133, 108, 127, 131, 101, 121, 126, 107, 127, 131, 101, 118, 121, 106, 122, 123, 121, 131, 132, 92, 107, 109,
90, 105, 106, 99, 115, 115, 135, 146, 146, 155, 167, 165, 154, 167, 166, 157, 171, 169, 177, 188, 186, 189, 200, 197, 213, 220, 217, 211, 221, 217, 228, 234, 229, 178, 198, 216, 173, 176, 188, 183, 125, 100, 186, 93, 24, 167, 80, 18, 164, 77, 12, 167, 78, 10, 153, 70, 10, 148, 66, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 9, 9, 149, 167, 172, 182, 206, 215, 176, 200, 209, 169, 195, 205, 144, 175, 191, 112, 148, 169, 88, 121, 142, 91, 121, 137, 79, 110, 123, 80, 109, 119, 97, 126, 134, 92, 121, 128, 89, 116, 123,
90, 113, 118, 99, 117, 119, 104, 119, 119, 103, 121, 123, 108, 125, 125, 107, 121, 123, 96, 114, 113, 107, 121, 122, 126, 140, 137, 130, 147, 147, 143, 161, 161, 127, 148, 148, 157, 173, 169, 191, 200, 197, 207, 216, 212, 213, 223, 218, 222, 231, 226, 201, 218, 231, 180, 197, 214, 170, 145, 143, 176, 91, 43,
176, 88, 24, 186, 91, 14, 186, 91, 11, 167, 79, 11, 160, 73, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 13, 6, 129, 96, 89, 152, 119, 109, 153, 118, 107, 161, 123, 109, 154, 117, 104, 135, 100, 88, 127, 90, 75,
125, 86, 69, 121, 83, 64, 126, 88, 67, 132, 94, 72, 128, 89, 67, 120, 81, 58, 120, 78, 59, 80, 80, 97, 73, 91, 119, 124, 90, 87, 125, 92, 89, 128, 98, 99, 108, 80, 79, 73, 76, 93, 64, 72, 80, 99, 69, 65, 110, 76, 74, 114, 115, 115, 145, 162, 160, 180, 192, 190, 197, 207, 203,
217, 225, 221, 223, 231, 227, 219, 235, 245, 185, 202, 219, 180, 174, 179, 196, 120, 67, 209, 112, 27, 203, 104, 15, 190, 92, 11, 164, 77, 10, 162, 76, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 21, 2, 122, 28, 4,
136, 36, 4, 148, 43, 4, 158, 48, 4, 165, 54, 4, 171, 58, 5, 173, 60, 5, 173, 62, 4, 173, 62, 3, 174, 63, 3, 175, 63, 3, 176, 63, 3, 179, 64, 3, 182, 64, 5, 92, 29, 14, 3, 34, 87, 15, 60, 129, 13, 59, 127, 12, 53, 119, 10, 37, 94, 3, 16, 62, 17, 4, 14,
117, 20, 3, 102, 8, 0, 120, 93, 92, 149, 165, 163, 175, 187, 185, 186, 199, 194, 217, 224, 221, 230, 234, 231, 229, 243, 248, 205, 215, 225, 194, 161, 150, 198, 129, 88, 199, 109, 48, 184, 96, 38, 165, 81, 30, 153, 73, 18, 156, 75, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 26, 2, 130, 32, 2, 141, 39, 2, 154, 46, 2, 162, 53, 2, 168, 57, 3, 171, 61, 5, 174, 65, 6, 177, 67, 4, 180, 68, 3, 183, 70, 2, 173, 65, 3, 157, 60, 14, 182, 69, 10, 181, 71, 18, 119, 48, 53, 55, 23, 75,
41, 22, 99, 64, 18, 83, 59, 13, 60, 48, 14, 58, 50, 14, 55, 23, 10, 52, 95, 25, 25, 87, 13, 12, 104, 85, 84, 145, 160, 158, 165, 176, 172, 170, 184, 180, 193, 203, 200, 212, 218, 216, 234, 245, 246, 226, 239, 244, 186, 169, 170, 180, 118, 89, 189, 108, 59, 195, 106, 40, 193, 98, 17,
190, 95, 13, 184, 94, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 28, 2, 133, 36, 2, 146, 43, 2, 158, 51, 3, 166, 57, 3, 170, 63, 11, 171, 68, 36, 174, 71, 42, 181, 74, 27, 186, 75, 13, 190, 77, 6,
153, 57, 6, 94, 50, 75, 106, 68, 106, 64, 59, 122, 40, 48, 117, 28, 38, 107, 23, 34, 104, 29, 23, 75, 21, 18, 68, 13, 20, 84, 14, 20, 79, 11, 13, 74, 6, 20, 82, 12, 11, 63, 55, 59, 77, 112, 129, 130, 134, 151, 151, 137, 155, 155, 142, 164, 165, 142, 170, 174, 193, 215, 233,
242, 254, 255, 212, 219, 223, 133, 107, 98, 109, 63, 33, 143, 79, 29, 137, 71, 12, 120, 59, 10, 138, 71, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 31, 2, 131, 38, 2, 145, 46, 3, 158, 55, 3, 167, 62, 6,
169, 70, 41, 177, 115, 132, 189, 150, 172, 187, 88, 79, 192, 82, 37, 195, 83, 17, 168, 67, 12, 142, 52, 28, 105, 99, 137, 38, 63, 138, 50, 46, 111, 27, 63, 137, 13, 53, 127, 18, 36, 92, 4, 21, 76, 14, 28, 81, 20, 27, 80, 32, 23, 70, 18, 18, 59, 27, 8, 41, 85, 90, 107,
159, 174, 186, 203, 218, 223, 213, 224, 226, 194, 214, 222, 99, 156, 195, 205, 226, 245, 252, 255, 255, 239, 252, 254, 161, 177, 189, 48, 57, 65, 8, 4, 3, 8, 3, 2, 2, 0, 1, 15, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 116, 31, 0, 124, 35, 0, 143, 50, 4, 158, 58, 6, 167, 66, 14, 169, 74, 58, 181, 138, 166, 204, 202, 231, 208, 147, 163, 199, 105, 88, 200, 89, 34, 185, 79, 25, 148, 53, 14, 160, 109, 107, 16, 65, 132, 24, 56, 116, 16, 83, 161, 28, 77, 153, 68, 53, 110, 12, 31, 90,
30, 47, 103, 21, 44, 103, 18, 39, 97, 6, 29, 84, 25, 10, 39, 166, 149, 149, 225, 239, 246, 225, 239, 249, 243, 252, 254, 252, 255, 255, 222, 234, 243, 245, 251, 254, 250, 255, 255, 242, 254, 255, 224, 240, 247, 93, 104, 112, 1, 1, 2, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 52, 55, 175, 153, 152, 88, 29, 24, 109, 43, 28, 118, 49, 30, 123, 65, 75, 137, 91, 112, 186, 184, 202, 221, 220, 228, 174, 111, 99, 179, 94, 67, 187, 95, 62, 135, 57, 42, 50, 88, 142,
27, 105, 174, 16, 90, 169, 14, 92, 175, 13, 61, 133, 36, 45, 109, 14, 41, 107, 14, 32, 96, 5, 22, 91, 3, 12, 79, 5, 12, 76, 49, 8, 32, 198, 163, 152, 255, 255, 255, 231, 244, 250, 179, 197, 224, 190, 209, 237, 227, 239, 247, 242, 253, 254, 246, 254, 254, 244, 254, 254, 233, 246, 252,
201, 214, 222, 59, 65, 71, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 83, 97, 138, 129, 143, 66, 32, 58, 70, 36, 69, 130, 121, 32, 127, 118, 132, 103, 86, 122, 108, 95, 135,
183, 186, 200, 226, 225, 208, 158, 154, 168, 155, 152, 173, 96, 98, 133, 22, 107, 180, 12, 76, 140, 12, 78, 143, 9, 56, 123, 7, 56, 127, 4, 26, 83, 5, 22, 78, 4, 18, 64, 3, 10, 50, 3, 7, 35, 3, 4, 21, 9, 0, 6, 154, 153, 155, 245, 254, 255, 238, 246, 249, 102, 124, 181,
95, 124, 220, 187, 208, 240, 232, 245, 251, 235, 249, 253, 243, 253, 254, 232, 246, 251, 211, 224, 232, 145, 156, 164, 14, 17, 19, 0, 0, 0, 9, 11, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 73, 112, 92, 76, 114,
72, 46, 78, 66, 42, 74, 98, 87, 69, 77, 52, 75, 91, 70, 112, 124, 142, 176, 159, 190, 210, 209, 204, 173, 159, 117, 106, 142, 75, 79, 128, 82, 95, 23, 100, 176, 12, 84, 156, 12, 82, 156, 9, 49, 107, 6, 24, 75, 4, 6, 23, 8, 12, 32, 5, 7, 24, 5, 9, 29, 4, 6, 20,
6, 9, 28, 0, 0, 15, 127, 138, 148, 221, 236, 242, 225, 239, 244, 198, 213, 234, 121, 143, 203, 219, 236, 249, 227, 240, 245, 227, 241, 248, 233, 247, 253, 225, 239, 246, 210, 224, 232, 164, 176, 184, 51, 57, 62, 6, 7, 10, 83, 96, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 50, 87, 63, 56, 94, 47, 50, 87, 53, 50, 85, 49, 49, 89, 39, 59, 108, 81, 115, 185, 102, 148, 217, 111, 147, 207, 217, 217, 201, 179, 119, 95, 162, 83, 81, 166, 75, 55, 102, 84, 108, 39, 113, 192, 6, 46, 100, 6, 29, 76,
8, 19, 58, 12, 24, 59, 9, 15, 42, 8, 18, 51, 8, 24, 66, 5, 14, 47, 5, 14, 44, 0, 6, 38, 104, 115, 129, 184, 202, 210, 162, 179, 190, 110, 126, 146, 148, 164, 181, 217, 231, 238, 220, 233, 239, 219, 235, 242, 221, 236, 245, 213, 229, 236, 201, 215, 222, 169, 182, 190, 127, 138, 146,
116, 127, 135, 158, 175, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 62, 106, 74, 69, 114, 54, 24, 49, 60, 30, 50, 65, 44, 84, 27, 82, 150, 33, 98, 173, 39, 83, 150, 58, 89, 153, 57, 69, 114, 122, 90, 140,
140, 75, 106, 130, 74, 114, 103, 87, 143, 29, 88, 162, 6, 35, 85, 7, 22, 63, 10, 25, 67, 13, 35, 87, 11, 29, 78, 11, 35, 85, 9, 35, 84, 7, 30, 80, 5, 12, 40, 0, 8, 42, 73, 84, 102, 100, 116, 126, 133, 150, 164, 112, 130, 146, 104, 121, 135, 176, 192, 200, 215, 229, 237,
220, 235, 244, 210, 225, 232, 200, 215, 222, 191, 205, 213, 175, 186, 194, 173, 185, 193, 181, 195, 203, 170, 187, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 26, 63, 23, 19, 53, 37, 10, 44, 36, 12, 46, 30, 34, 78,
26, 57, 114, 22, 70, 133, 22, 50, 107, 28, 51, 109, 44, 51, 105, 51, 53, 108, 61, 30, 52, 69, 23, 48, 46, 104, 174, 23, 85, 151, 6, 25, 65, 6, 20, 62, 7, 29, 77, 13, 48, 106, 10, 34, 86, 10, 37, 86, 9, 36, 83, 7, 36, 87, 3, 9, 37, 0, 3, 27, 57, 68, 80,
102, 120, 130, 142, 160, 171, 134, 153, 165, 152, 170, 184, 185, 202, 212, 201, 217, 225, 205, 220, 228, 191, 207, 214, 182, 197, 205, 175, 188, 196, 168, 181, 189, 174, 188, 195, 178, 193, 200, 168, 185, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 16, 17, 56, 24, 11, 42, 32, 16, 49, 33, 22, 62, 32, 33, 75, 30, 34, 79, 33, 41, 93, 44, 53, 112, 65, 61, 122, 56, 56, 106, 20, 18, 41, 62, 25, 33, 100, 60, 89, 30, 54, 109, 8, 45, 99, 7, 35, 77, 5, 20, 53, 4, 16, 47, 5, 22, 60, 5, 14, 45,
5, 17, 46, 5, 25, 68, 5, 27, 72, 4, 14, 47, 0, 5, 31, 41, 49, 60, 72, 86, 95, 80, 95, 104, 104, 119, 128, 136, 149, 157, 134, 147, 155, 133, 146, 153, 132, 144, 150, 135, 147, 153, 126, 137, 143, 123, 133, 140, 124, 134, 140, 125, 135, 141, 123, 134, 140, 117, 130, 137, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 42, 94, 17, 51, 111, 22, 58, 120, 33, 71, 138, 40, 80, 149, 37, 76, 144, 40, 81, 151, 55, 91, 164, 62, 92, 165, 46, 84, 152, 37, 68, 125, 44, 78, 135, 44, 96, 169, 36, 93, 168,
35, 88, 163, 31, 76, 143, 19, 54, 107, 10, 31, 72, 5, 19, 51, 3, 10, 29, 3, 9, 27, 3, 13, 41, 4, 16, 50, 3, 7, 31, 2, 5, 22, 4, 5, 9, 7, 8, 8, 7, 8, 9, 8, 9, 10, 9, 10, 11, 10, 11, 11, 11, 12, 12, 10, 11, 11, 10, 11, 11, 10, 10, 11,
9, 10, 10, 10, 11, 11, 11, 11, 12, 10, 11, 11, 9, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 36, 93, 5, 45, 106, 13, 56, 122, 20, 71, 142, 29, 81, 155, 26, 79, 152, 30, 84, 158, 35, 90, 166,
46, 101, 181, 36, 80, 149, 14, 60, 123, 7, 64, 129, 10, 63, 128, 22, 86, 159, 37, 109, 190, 36, 105, 185, 32, 91, 168, 26, 79, 151, 20, 66, 132, 12, 50, 107, 6, 34, 80, 4, 22, 61, 3, 15, 48, 3, 8, 34, 3, 6, 23, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 27, 78, 3, 35, 90,
4, 40, 96, 7, 49, 109, 12, 58, 123, 16, 64, 131, 16, 68, 136, 21, 73, 143, 26, 75, 145, 11, 46, 101, 4, 52, 111, 3, 43, 99, 4, 47, 105, 3, 48, 107, 5, 54, 116, 5, 56, 118, 8, 63, 127, 10, 65, 130, 13, 72, 139, 9, 61, 126, 6, 50, 110, 5, 43, 99, 4, 36, 88,
3, 28, 76, 3, 20, 61, 1, 6, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
const char* DemoArtwork::ico2Data = (const char*)temp_ico2_2;

static const unsigned char temp_ico3_3[] = {
37, 23, 14, 88, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 88, 55, 33, 37, 23, 14, 37, 23, 14, 88, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33,
87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 88, 55, 33, 38, 23, 13, 13, 23, 38, 33, 55, 88, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87,
33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 88, 14, 23, 37, 88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77,
88, 55, 33, 88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 90, 55, 30, 30, 55, 90, 77, 130, 207, 77, 129, 206, 77, 129, 206,
77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 130, 207, 33, 55, 88, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90,
77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87,
87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77,
87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90,
77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87,
88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 88, 55, 33, 88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77,
206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 90, 55, 30, 30, 55, 90, 77, 130, 207, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206,
77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 130, 207, 33, 55, 88, 37, 23, 14, 88, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 88, 55, 33,
37, 23, 14, 39, 23, 13, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 40, 23, 12, 13, 23, 39, 33, 55, 88, 33, 55, 87, 33, 55, 87,
33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 88, 14, 23, 37, 37, 23, 14, 88, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33,
87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 88, 55, 33, 39, 23, 13, 12, 23, 40, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90,
30, 55, 90, 13, 23, 39, 14, 23, 37, 33, 55, 88, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 88, 14, 23, 37, 88, 55, 33, 207, 130, 77, 206, 129, 77,
206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 90, 55, 30, 30, 55, 90, 77, 130, 207, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206,
77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 130, 207, 33, 55, 88, 33, 55, 88, 77, 130, 207, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206,
77, 129, 206, 77, 130, 207, 33, 55, 88, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87,
77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87,
87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77,
90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87,
77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87,
87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77,
90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 33, 55, 87, 77, 129, 206, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77,
206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 90, 55, 30, 30, 55, 90, 77, 130, 207, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206,
77, 130, 207, 33, 55, 88, 33, 55, 88, 77, 130, 207, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 130, 207, 33, 55, 88, 37, 23, 14, 88, 55, 33, 87, 55, 33,
87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 88, 55, 33, 39, 23, 13, 12, 23, 40, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90,
30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 30, 55, 90, 13, 23, 39, 14, 23, 37, 33, 55, 88, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87,
33, 55, 87, 33, 55, 88, 14, 23, 37, 37, 23, 14, 88, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 88, 55, 33, 37, 23, 14, 39, 23, 13, 90, 55, 30,
90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 90, 55, 30, 40, 23, 12, 13, 23, 39, 33, 55, 88, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87,
33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 88, 14, 23, 37, 88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77,
206, 129, 77, 206, 129, 77, 207, 130, 77, 88, 55, 33, 88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 90, 55, 30, 30, 55, 90,
77, 130, 207, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 130, 207, 33, 55, 88, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87,
87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77,
87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90,
77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87,
87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77,
87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204,
76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 77, 129, 206, 33, 55, 87, 87, 55, 33, 206, 129, 77, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 87, 55, 33, 87, 55, 33, 206, 129, 77, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76,
204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 204, 128, 76, 206, 129, 77, 90, 55, 30, 30, 55, 90, 77, 129, 206, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204, 76, 128, 204,
76, 128, 204, 77, 129, 206, 33, 55, 87, 88, 55, 33, 207, 130, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 88, 55, 33, 88, 55, 33, 207, 130, 77,
206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 206, 129, 77, 207, 130, 77, 90, 55, 30, 30, 55, 90, 77, 130, 207, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206,
77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 129, 206, 77, 130, 207, 33, 55, 88, 37, 23, 14, 88, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33,
87, 55, 33, 87, 55, 33, 88, 55, 33, 37, 23, 14, 37, 23, 14, 88, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 87, 55, 33, 88, 55, 33, 38, 23, 13, 13, 23, 38,
33, 55, 88, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 87, 33, 55, 88, 14, 23, 37,};
const char* DemoArtwork::ico3Data = (const char*)temp_ico3_3;

static const unsigned char temp_ico4_4[] = {
92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 91, 85, 76, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63,
78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63,
78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 78, 72, 63, 76, 70, 61, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57,
93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 74, 68, 59, 74, 68, 59, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 67, 62, 55, 67, 62, 55, 76, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 67, 61, 53, 126, 118, 106, 126, 118, 106, 67, 61, 53, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 68, 63, 56, 194, 181, 162, 194, 181, 162, 68, 63, 56, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 74, 69, 60, 140, 131, 117, 185, 172, 154, 185, 172, 154, 140, 131, 117, 74, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 66, 62, 55, 178, 166, 149, 184, 172, 154, 184, 172, 154, 178, 166, 149, 66, 62, 55, 76, 70, 61, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 65, 60, 52, 132, 124, 111, 186, 174, 156, 184, 172, 154,
184, 172, 154, 186, 174, 156, 132, 124, 111, 65, 60, 52, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57,
93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 76, 71, 63, 191, 178, 160, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 191, 178, 160, 76, 71, 63, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 131, 122, 109, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 131, 122, 109, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 59, 55, 49, 182, 171, 153, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
182, 171, 153, 59, 55, 49, 76, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 67, 61, 53, 139, 131, 117, 186, 174, 156,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 156, 139, 131, 117, 67, 61, 53, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 80, 75, 66, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 80, 75, 66, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 58, 123, 115, 103, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 123, 115, 103,
72, 66, 58, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 69, 60, 58, 54, 48, 189, 177, 158, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 189, 177, 158, 58, 54, 48, 76, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57,
93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 69, 64, 56, 144, 135, 121,
186, 174, 156, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 156, 144, 135, 121, 69, 64, 56, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 77, 72, 64, 179, 167, 150, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 179, 167, 150, 77, 72, 64, 76, 70, 61,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 68, 63, 55, 122, 115, 103, 185, 173, 155, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 184, 172, 154, 185, 173, 155, 122, 115, 103, 68, 63, 55, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 63, 59, 52, 194, 181, 162, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 194, 181, 162, 63, 59, 52, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 73, 67, 59,
143, 134, 120, 185, 173, 155, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 185, 173, 155, 143, 134, 120, 73, 67, 59, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 71, 66, 58, 177, 166, 148, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 155, 182, 170, 152, 170, 159, 143, 165, 154, 138, 165, 154, 138, 170, 159, 143, 182, 170, 152, 186, 174, 155, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 177, 166, 148, 71, 66, 58, 76, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 66, 60, 52, 128, 120, 108, 186, 174, 156, 184, 172, 154, 184, 172, 154, 184, 172, 154, 190, 178, 159, 123, 116, 103, 69, 64, 56, 77, 70, 62, 72, 67, 58,
72, 67, 58, 77, 70, 62, 69, 64, 56, 123, 116, 103, 190, 178, 159, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 156, 128, 120, 108, 66, 60, 52, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57,
93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 68, 60, 193, 180, 162, 184, 172, 154, 184, 172, 154, 184, 172, 154,
171, 159, 143, 84, 78, 68, 66, 60, 52, 77, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 77, 70, 61, 66, 60, 52, 84, 78, 68, 171, 159, 143, 184, 172, 154, 184, 172, 154, 184, 172, 154, 193, 180, 162, 72, 68, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 136, 127, 114, 184, 172, 154, 184, 172, 154, 184, 172, 154, 185, 172, 154, 67, 63, 54, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 67, 63, 54, 185, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 136, 127, 114, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 62, 58, 51, 180, 168, 151, 184, 172, 154, 184, 172, 154, 180, 169, 151, 72, 67, 59, 76, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 76, 70, 61, 72, 67, 59, 180, 169, 151, 184, 172, 154, 184, 172, 154, 180, 168, 151, 62, 58, 51, 76, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 66, 60, 53, 136, 127, 114, 186, 174, 156, 184, 172, 154, 185, 173, 155, 144, 134, 119, 72, 66, 57, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 144, 134, 119, 185, 173, 155, 184, 172, 154, 186, 174, 156, 136, 127, 114, 66, 60, 53, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 79, 74, 65, 188, 175, 157, 184, 172, 154, 184, 172, 154,
191, 178, 160, 80, 74, 65, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 80, 74, 65, 191, 178, 160, 184, 172, 154, 184, 172, 154, 188, 175, 157,
79, 74, 65, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 74, 68, 59, 126, 118, 106, 184, 172, 154, 184, 172, 154, 184, 172, 154, 191, 179, 160, 42, 39, 33, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 42, 39, 33, 191, 179, 160, 184, 172, 154, 184, 172, 154, 184, 172, 154, 126, 118, 106, 74, 68, 59, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 58, 54, 48, 186, 174, 156, 184, 172, 154, 184, 172, 154, 184, 172, 154, 159, 149, 133, 57, 53, 45, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 57, 53, 45, 159, 149, 133, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 156, 58, 54, 48, 76, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57,
93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 68, 62, 54, 142, 134, 120, 186, 174, 156, 184, 172, 154, 184, 172, 154, 184, 172, 154, 159, 149, 133, 57, 53, 45, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 57, 53, 45, 159, 149, 133, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 156, 142, 134, 120, 68, 62, 54,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 60, 79, 74, 65, 181, 169, 152, 184, 172, 154,
184, 172, 154, 184, 172, 154, 184, 172, 154, 191, 179, 160, 42, 39, 33, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 42, 39, 33, 191, 179, 160,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 181, 169, 152, 79, 74, 65, 76, 70, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 70, 64, 56, 121, 114, 102, 185, 173, 155, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 191, 178, 160, 80, 74, 65, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 80, 74, 65, 191, 178, 160, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 185, 173, 155, 121, 114, 102, 70, 64, 56, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 60, 56, 49, 192, 180, 161, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 185, 173, 155, 144, 134, 119, 72, 66, 57, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 144, 134, 119, 185, 173, 155, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 192, 180, 161, 60, 56, 49, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 71, 66, 57, 145, 135, 121, 185, 173, 155, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 180, 169, 151, 72, 67, 59, 76, 70, 61, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 72, 67, 59, 180, 169, 151, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 185, 173, 155, 145, 135, 121, 71, 66, 57, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 76, 70, 61, 75, 69, 61, 177, 166, 149,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 185, 172, 154, 67, 63, 54, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 67, 63, 54,
185, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 177, 166, 149, 75, 69, 61, 76, 70, 61, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74,
75, 69, 60, 75, 69, 60, 75, 69, 60, 67, 61, 53, 124, 117, 105, 186, 174, 155, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 171, 159, 143, 84, 78, 68, 66, 60, 52, 77, 70, 61, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 77, 70, 61, 66, 60, 52, 84, 78, 68, 171, 159, 143, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 155, 124, 117, 105, 67, 61, 53, 75, 69, 60, 75, 69, 60, 72, 66, 57,
93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 68, 63, 56, 194, 181, 163, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 190, 178, 159, 123, 116, 103, 69, 64, 56, 77, 70, 62, 72, 67, 58, 72, 67, 58, 77, 70, 62, 69, 64, 56, 123, 116, 103, 190, 178, 159, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 194, 181, 163, 68, 63, 56, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 74, 69, 60, 140, 131, 117, 185, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 186, 174, 155, 182, 170, 152, 170, 159, 143, 165, 154, 138, 165, 154, 138, 170, 159, 143, 182, 170, 152, 186, 174, 155, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 185, 172, 154, 140, 131, 117, 74, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 76, 70, 61, 66, 62, 55,
178, 166, 149, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154,
184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 184, 172, 154, 178, 166, 149, 66, 62, 55, 76, 70, 61, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 65, 60, 52, 137, 129, 115, 191, 179, 160, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158,
189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 189, 177, 158, 191, 179, 160,
137, 129, 115, 65, 60, 52, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 71, 66, 57, 58, 53, 47, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45,
55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45,
55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 55, 51, 45, 58, 53, 47, 72, 66, 58, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 89, 83, 74,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60,
75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 75, 69, 60, 72, 66, 57,
93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 91, 85, 76, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67,
82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67,
82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 82, 76, 67, 81, 75, 66, 93, 87, 78, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77,
92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77, 92, 86, 77,};
const char* DemoArtwork::ico4Data = (const char*)temp_ico4_4;

static const unsigned char temp_ico5_5[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 0, 0, 0, 12, 12, 12, 148, 148, 148, 161, 161, 161,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
156, 156, 156, 155, 155, 155, 10, 10, 10, 18, 18, 18, 215, 215, 215, 229, 229, 229, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 221, 221, 221, 222, 222, 222, 19, 19, 19, 17, 17, 17, 208, 208, 208, 222, 222, 222, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 215, 215, 215, 215, 215, 215, 18, 18, 18, 17, 17, 17, 208, 208, 208, 222, 222, 222, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219, 219, 219, 219, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 215, 215, 215, 215, 215, 215, 18, 18, 18,
17, 17, 17, 208, 208, 208, 222, 222, 222, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 223, 223, 223, 220, 220, 220, 219, 219, 219, 219, 219, 219, 226, 226, 226,
220, 220, 220, 218, 218, 218, 221, 221, 221, 223, 223, 223, 225, 225, 225, 218, 218, 218, 217, 217, 217, 221, 221, 221, 222, 222, 222, 219, 219, 219, 226, 226, 226, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 215, 215, 215, 215, 215, 215, 18, 18, 18, 17, 17, 17, 208, 208, 208, 222, 222, 222, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219,
225, 225, 225, 184, 184, 184, 207, 207, 207, 209, 209, 209, 215, 215, 215, 165, 165, 165, 203, 203, 203, 224, 224, 224, 210, 210, 210, 182, 182, 182, 174, 174, 174, 222, 222, 222, 223, 223, 223, 203, 203, 203, 195, 195, 195, 213, 213, 213, 166, 166, 166, 217, 217, 217, 219, 219, 219, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 215, 215, 215, 215, 215, 215, 18, 18, 18, 17, 17, 17, 208, 208, 208, 222, 222, 222, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 218, 218, 218, 232, 232, 232, 127, 127, 127, 164, 164, 164, 126, 126, 126, 145, 145, 145, 148, 148, 148, 141, 141, 141, 140, 140, 140, 218, 218, 218, 105, 105, 105, 137, 137, 137, 146, 146, 146, 129, 129, 129, 149, 149, 149, 152, 152, 152,
142, 142, 142, 145, 145, 145, 214, 214, 214, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 215, 215, 215, 215, 215, 215, 18, 18, 18, 17, 17, 17, 208, 208, 208, 222, 222, 222,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219, 225, 225, 225, 187, 187, 187, 213, 213, 213, 166, 166, 166, 194, 194, 194, 182, 182, 182, 182, 182, 182, 181, 181, 181, 217, 217, 217,
178, 178, 178, 190, 190, 190, 184, 184, 184, 176, 176, 176, 199, 199, 199, 184, 184, 184, 187, 187, 187, 192, 192, 192, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
215, 215, 215, 215, 215, 215, 18, 18, 18, 17, 17, 17, 208, 208, 208, 222, 222, 222, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, 221, 221, 220, 220, 220,
221, 221, 221, 221, 221, 221, 222, 222, 222, 220, 220, 220, 222, 222, 222, 220, 220, 220, 223, 223, 223, 221, 221, 221, 222, 222, 222, 221, 221, 221, 221, 221, 221, 222, 222, 222, 219, 219, 219, 221, 221, 221, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 215, 215, 215, 215, 215, 215, 18, 18, 18, 17, 17, 17, 208, 208, 208, 222, 222, 222, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 215, 215, 215, 215, 215, 215, 18, 18, 18, 17, 17, 17, 208, 208, 208, 222, 222, 222, 219, 219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 214, 214, 214, 215, 215, 215, 18, 18, 18,
17, 17, 17, 206, 206, 206, 219, 219, 219, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
217, 217, 217, 217, 217, 217, 217, 217, 217, 212, 212, 212, 213, 213, 213, 19, 19, 19, 14, 14, 14, 177, 177, 177, 194, 194, 194, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 187, 187, 187, 187, 187, 187, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
const char* DemoArtwork::ico5Data = (const char*)temp_ico5_5;


+ 35
- 0
tests/demo_res/DemoArtwork.hpp View File

@@ -0,0 +1,35 @@
/* (Auto-generated binary data file). */

#ifndef BINARY_DEMOARTWORK_HPP
#define BINARY_DEMOARTWORK_HPP

namespace DemoArtwork
{
extern const char* ico1Data;
const unsigned int ico1DataSize = 6912;
const unsigned int ico1Width = 48;
const unsigned int ico1Height = 48;

extern const char* ico2Data;
const unsigned int ico2DataSize = 6912;
const unsigned int ico2Width = 48;
const unsigned int ico2Height = 48;

extern const char* ico3Data;
const unsigned int ico3DataSize = 6912;
const unsigned int ico3Width = 48;
const unsigned int ico3Height = 48;

extern const char* ico4Data;
const unsigned int ico4DataSize = 6912;
const unsigned int ico4Width = 48;
const unsigned int ico4Height = 48;

extern const char* ico5Data;
const unsigned int ico5DataSize = 6912;
const unsigned int ico5Width = 48;
const unsigned int ico5Height = 48;
}

#endif // BINARY_DEMOARTWORK_HPP


BIN
tests/demo_res/ico1.png View File

Before After
Width: 48  |  Height: 48  |  Size: 259B

BIN
tests/demo_res/ico2.png View File

Before After
Width: 48  |  Height: 48  |  Size: 3.4KB

BIN
tests/demo_res/ico3.png View File

Before After
Width: 48  |  Height: 48  |  Size: 415B

BIN
tests/demo_res/ico4.png View File

Before After
Width: 48  |  Height: 48  |  Size: 1.3KB

BIN
tests/demo_res/ico5.png View File

Before After
Width: 48  |  Height: 48  |  Size: 539B

+ 3
- 0
tests/images_res/CREDITS.txt View File

@@ -0,0 +1,3 @@
cat1.png: http://www.flickr.com/photos/tomitapio/4305303148/
cat2.png: http://www.flickr.com/photos/aigle_dore/6672148713/
cat3.png: http://www.flickr.com/photos/aigle_dore/5889008066/

+ 7083
- 0
tests/images_res/CatPics.cpp
File diff suppressed because it is too large
View File


+ 25
- 0
tests/images_res/CatPics.hpp View File

@@ -0,0 +1,25 @@
/* (Auto-generated binary data file). */

#ifndef BINARY_CATPICS_HPP
#define BINARY_CATPICS_HPP

namespace CatPics
{
extern const char* cat1Data;
const unsigned int cat1DataSize = 216090;
const unsigned int cat1Width = 294;
const unsigned int cat1Height = 245;

extern const char* cat2Data;
const unsigned int cat2DataSize = 117600;
const unsigned int cat2Width = 245;
const unsigned int cat2Height = 160;

extern const char* cat3Data;
const unsigned int cat3DataSize = 111600;
const unsigned int cat3Width = 248;
const unsigned int cat3Height = 150;
}

#endif // BINARY_CATPICS_HPP


BIN
tests/images_res/cat1.png View File

Before After
Width: 294  |  Height: 245  |  Size: 119KB

BIN
tests/images_res/cat2.png View File

Before After
Width: 245  |  Height: 160  |  Size: 69KB

BIN
tests/images_res/cat3.png View File

Before After
Width: 248  |  Height: 150  |  Size: 63KB

+ 203
- 0
tests/widgets/ExampleImagesWidget.hpp View File

@@ -0,0 +1,203 @@
/*
* DISTRHO Plugin Framework (DPF)
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

#ifndef EXAMPLE_IMAGES_WIDGET_HPP_INCLUDED
#define EXAMPLE_IMAGES_WIDGET_HPP_INCLUDED

// ------------------------------------------------------
// DGL Stuff

#include "Image.hpp"
#include "Widget.hpp"
#include "Window.hpp"

// ------------------------------------------------------
// Images

#include "../images_res/CatPics.hpp"

// ------------------------------------------------------
// our widget

class ExampleImagesWidget : public Widget,
public IdleCallback
{
public:
static const int kImg1y = 0;
static const int kImg2y = 500/2-CatPics::cat2Height/2;
static const int kImg3x = 400/3-CatPics::cat3Width/3;

static const int kImg1max = 500-CatPics::cat1Width;
static const int kImg2max = 500-CatPics::cat2Width;
static const int kImg3max = 400-CatPics::cat3Height;

ExampleImagesWidget(Window& parent, const bool setParentSize = false)
: Widget(parent),
fImgTop1st(1),
fImgTop2nd(2),
fImgTop3rd(3),
fImg1x(0),
fImg2x(kImg2max),
fImg3y(kImg3max),
fImg1rev(false),
fImg2rev(true),
fImg3rev(true),
fImg1(CatPics::cat1Data, CatPics::cat1Width, CatPics::cat1Height, GL_BGR),
fImg2(CatPics::cat2Data, CatPics::cat2Width, CatPics::cat2Height, GL_BGR),
fImg3(CatPics::cat3Data, CatPics::cat3Width, CatPics::cat3Height, GL_BGR)
{
setSize(500, 400);

parent.addIdleCallback(this);

if (setParentSize)
{
parent.setSize(500, 400);
parent.setResizable(false);
}
}

private:
void idleCallback() noexcept override
{
if (fImg1rev)
{
fImg1x -= 2;
if (fImg1x <= -50)
{
fImg1rev = false;
setNewTopImg(1);
}
}
else
{
fImg1x += 2;
if (fImg1x >= kImg1max+50)
{
fImg1rev = true;
setNewTopImg(1);
}
}

if (fImg2rev)
{
fImg2x -= 1;
if (fImg2x <= -50)
{
fImg2rev = false;
setNewTopImg(2);
}
}
else
{
fImg2x += 4;
if (fImg2x >= kImg2max+50)
{
fImg2rev = true;
setNewTopImg(2);
}
}

if (fImg3rev)
{
fImg3y -= 3;
if (fImg3y <= -50)
{
fImg3rev = false;
setNewTopImg(3);
}
}
else
{
fImg3y += 3;
if (fImg3y >= kImg3max+50)
{
fImg3rev = true;
setNewTopImg(3);
}
}

repaint();
}

void onDisplay() override
{
switch (fImgTop3rd)
{
case 1:
fImg1.drawAt(fImg1x, kImg1y);
break;
case 2:
fImg2.drawAt(fImg2x, kImg2y);
break;
case 3:
fImg3.drawAt(kImg3x, fImg3y);
break;
};

switch (fImgTop2nd)
{
case 1:
fImg1.drawAt(fImg1x, kImg1y);
break;
case 2:
fImg2.drawAt(fImg2x, kImg2y);
break;
case 3:
fImg3.drawAt(kImg3x, fImg3y);
break;
};

switch (fImgTop1st)
{
case 1:
fImg1.drawAt(fImg1x, kImg1y);
break;
case 2:
fImg2.drawAt(fImg2x, kImg2y);
break;
case 3:
fImg3.drawAt(kImg3x, fImg3y);
break;
};
}

void setNewTopImg(const int imgId) noexcept
{
if (fImgTop1st == imgId)
return;

if (fImgTop2nd == imgId)
{
fImgTop2nd = fImgTop1st;
fImgTop1st = imgId;
return;
}

fImgTop3rd = fImgTop2nd;
fImgTop2nd = fImgTop1st;
fImgTop1st = imgId;
}

int fImgTop1st, fImgTop2nd, fImgTop3rd;
int fImg1x, fImg2x, fImg3y;
bool fImg1rev, fImg2rev, fImg3rev;
Image fImg1, fImg2, fImg3;
};

// ------------------------------------------------------

#endif // EXAMPLE_IMAGES_WIDGET_HPP_INCLUDED

+ 156
- 0
tests/widgets/ExampleRectanglesWidget.hpp View File

@@ -0,0 +1,156 @@
/*
* DISTRHO Plugin Framework (DPF)
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

#ifndef EXAMPLE_RECTANGLES_WIDGET_HPP_INCLUDED
#define EXAMPLE_RECTANGLES_WIDGET_HPP_INCLUDED

// ------------------------------------------------------
// DGL Stuff

#include "Widget.hpp"
#include "Window.hpp"

// ------------------------------------------------------
// our widget

class ExampleRectanglesWidget : public Widget
{
public:
ExampleRectanglesWidget(Window& parent)
: Widget(parent)
{
setSize(300, 300);

for (int i=0; i<9; ++i)
fClicked[i] = false;
}

ExampleRectanglesWidget(Widget* groupWidget)
: Widget(groupWidget)
{
setSize(300, 300);

for (int i=0; i<9; ++i)
fClicked[i] = false;
}

protected:
void onDisplay() override
{
const int width = getWidth();
const int height = getHeight();

Rectangle<int> r;

r.setWidth(width/3 - 6);
r.setHeight(height/3 - 6);

// draw a 3x3 grid
for (int i=0; i<3; ++i)
{
r.setX(3 + i*width/3);

// 1st
r.setY(3);

if (fClicked[0+i])
glColor3f(0.8f, 0.5f, 0.3f);
else
glColor3f(0.3f, 0.5f, 0.8f);

r.draw();

// 2nd
r.setY(3 + height/3);

if (fClicked[3+i])
glColor3f(0.8f, 0.5f, 0.3f);
else
glColor3f(0.3f, 0.5f, 0.8f);

r.draw();

// 3rd
r.setY(3 + height*2/3);

if (fClicked[6+i])
glColor3f(0.8f, 0.5f, 0.3f);
else
glColor3f(0.3f, 0.5f, 0.8f);

r.draw();
}
}

bool onMouse(const MouseEvent& ev) override
{
if (ev.button != 1 || ! ev.press)
return false;

const int width = getWidth();
const int height = getHeight();

Rectangle<int> r;

r.setWidth(width/3 - 6);
r.setHeight(height/3 - 6);

// draw a 3x3 grid
for (int i=0; i<3; ++i)
{
r.setX(3 + i*width/3);

// 1st
r.setY(3);

if (r.contains(ev.pos))
{
fClicked[0+i] = !fClicked[0+i];
repaint();
break;
}

// 2nd
r.setY(3 + height/3);

if (r.contains(ev.pos))
{
fClicked[3+i] = !fClicked[3+i];
repaint();
break;
}

// 3rd
r.setY(3 + height*2/3);

if (r.contains(ev.pos))
{
fClicked[6+i] = !fClicked[6+i];
repaint();
break;
}
}

return true;
}

private:
bool fClicked[9];
};

// ------------------------------------------------------

#endif // EXAMPLE_RECTANGLES_WIDGET_HPP_INCLUDED

+ 108
- 0
tests/widgets/ExampleShapesWidget.hpp View File

@@ -0,0 +1,108 @@
/*
* DISTRHO Plugin Framework (DPF)
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

#ifndef EXAMPLE_SHAPES_WIDGET_HPP_INCLUDED
#define EXAMPLE_SHAPES_WIDGET_HPP_INCLUDED

// ------------------------------------------------------
// DGL Stuff

#include "Widget.hpp"
#include "Window.hpp"

// ------------------------------------------------------
// our widget

class ExampleShapesWidget : public Widget
{
public:
ExampleShapesWidget(Window& parent)
: Widget(parent)
{
setSize(300, 300);
}

ExampleShapesWidget(Widget* groupWidget)
: Widget(groupWidget)
{
setSize(300, 300);
}

protected:
void onDisplay() override
{
#if 0
glEnable(GL_MULTISAMPLE);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_SRC_ALPHA);
glEnable(GL_ONE_MINUS_SRC_ALPHA);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
#endif

glLineWidth(1.0f);
glColor3f(0.302f, 0.337f, 0.361f);
bg.draw();

glColor3f(0.235f, 0.271f, 0.294f);
rect.draw();

glColor3f(0.176f, 0.212f, 0.235f);
rect.drawOutline();

glColor3f(0.302f*2, 0.337f*2, 0.361f*2);
tri.draw();

glLineWidth(3.0f);
glColor3f(0.302f/2.0f, 0.337f/2.0f, 0.361f/2.0f);
tri.drawOutline();

glColor3f(0.235f, 0.271f, 0.294f);
cir.draw();

glLineWidth(2.0f);
glColor3f(0.176f/4, 0.212f/4, 0.235f/4);
cir.drawOutline();
}

void onResize(const ResizeEvent& ev) override
{
const int width = ev.size.getWidth();
const int height = ev.size.getHeight();

// background
bg = Rectangle<int>(0, 0, width, height);

// rectangle
rect = Rectangle<int>(20, 10, width-40, height-20);

// center triangle
tri = Triangle<int>(width*0.5, height*0.1, width*0.1, height*0.9, width*0.9, height*0.9);

// circle
cir = Circle<int>(width/2, height*2/3, height/6, 300);
}

private:
Rectangle<int> bg;
Rectangle<int> rect;
Triangle<int> tri;
Circle<int> cir;
};

// ------------------------------------------------------

#endif // EXAMPLE_SHAPES_WIDGET_HPP_INCLUDED

+ 70
- 0
tests/widgets/ExampleTextWidget.hpp View File

@@ -0,0 +1,70 @@
/*
* DISTRHO Plugin Framework (DPF)
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

#ifndef EXAMPLE_TEXT_WIDGET_HPP_INCLUDED
#define EXAMPLE_TEXT_WIDGET_HPP_INCLUDED

// ------------------------------------------------------
// DGL Stuff

#include "NanoVG.hpp"

// ------------------------------------------------------
// our widget

class ExampleTextWidget : public NanoWidget
{
public:
ExampleTextWidget(Window& parent)
: NanoWidget(parent),
fFont(createFontFromFile("sans", "./nanovg_res/Roboto-Regular.ttf"))
{
setSize(500, 300);
}

ExampleTextWidget(Widget* groupWidget)
: NanoWidget(groupWidget),
fFont(createFontFromFile("sans", "./nanovg_res/Roboto-Regular.ttf"))
{
setSize(500, 300);
}

protected:
void onNanoDisplay() override
{
const int width = getWidth();
const int height = getHeight();

fontSize(40.0f);
textAlign(Align(ALIGN_CENTER|ALIGN_MIDDLE));
textLineHeight(20.0f);

beginPath();
fillColor(220,220,220,255);
roundedRect(10, height/4+10, width-20, height/2-20, 3);
fill();

fillColor(0,200,0,220);
textBox(10, height/2, width-20, "Hello World!", nullptr);
}

private:
FontId fFont;
};

// ------------------------------------------------------

#endif // EXAMPLE_TEXT_WIDGET_HPP_INCLUDED

+ 240
- 0
tests/widgets/NanoPerfWidget.hpp View File

@@ -0,0 +1,240 @@
/*
* DISTRHO Plugin Framework (DPF)
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

#ifndef NANO_PERF_WIDGET_HPP_INCLUDED
#define NANO_PERF_WIDGET_HPP_INCLUDED

// ------------------------------------------------------
// DGL Stuff

#include "NanoVG.hpp"
#include "../../dpf/distrho/extra/String.hpp"

// ------------------------------------------------------
// get time

#include <sys/time.h>
#include <time.h>

#ifdef DISTRHO_OS_WINDOWS
#else
struct TimePOSIX {
bool monotonic;
double resolution;
uint64_t base;

TimePOSIX()
: monotonic(false),
resolution(1e-6),
base(0)
{
#if defined(CLOCK_MONOTONIC)
struct timespec ts;

if (::clock_gettime(CLOCK_MONOTONIC, &ts) == 0)
{
monotonic = true;
resolution = 1e-9;
}
#endif

base = getRawTime();
}

uint64_t getRawTime()
{
#if defined(CLOCK_MONOTONIC)
if (monotonic)
{
struct timespec ts;

::clock_gettime(CLOCK_MONOTONIC, &ts);
return (uint64_t) ts.tv_sec * (uint64_t) 1000000000 + (uint64_t) ts.tv_nsec;
}
else
#endif
{
struct timeval tv;

::gettimeofday(&tv, NULL);
return (uint64_t) tv.tv_sec * (uint64_t) 1000000 + (uint64_t) tv.tv_usec;
}
}

double getTime()
{
return (double)(getRawTime() - base) * resolution;
}
};

static TimePOSIX gTime;
#endif

// ------------------------------------------------------
// our widget

class NanoPerfWidget : public NanoWidget,
public IdleCallback
{
public:
static const int kHistoryCount = 100;

enum RenderStyle {
RENDER_FPS,
RENDER_MS,
};

NanoPerfWidget(Window& parent, RenderStyle style, const char* name)
: NanoWidget(parent),
fHead(0),
fStyle(style),
fName(name)
{
parent.addIdleCallback(this);
setSize(200, 35);

std::memset(fValues, 0, sizeof(float)*kHistoryCount);

createFontFromFile("sans", "./nanovg_res/Roboto-Regular.ttf");

prevt = gTime.getTime();
}

protected:
void idleCallback() override
{
repaint();
}

void onNanoDisplay() override
{
double t, dt;

t = gTime.getTime();
dt = t - prevt;
prevt = t;
update(dt);

const int w = 200; //getWidth();
const int h = 35; //getHeight();

int i;
float avg;
char str[64];

avg = getAverage();

beginPath();
rect(0, 0, w, h);
fillColor(0,0,0,128);
fill();

beginPath();
moveTo(0, h);

if (fStyle == RENDER_FPS)
{
for (i = 0; i < kHistoryCount; ++i)
{
float v = 1.0f / (0.00001f + fValues[(fHead+i) % kHistoryCount]);
float vx, vy;
if (v > 80.0f) v = 80.0f;
vx = ((float)i/(kHistoryCount-1)) * w;
vy = h - ((v / 80.0f) * h);
lineTo(vx, vy);
}
}
else
{
for (i = 0; i < kHistoryCount; ++i)
{
float v = fValues[(fHead+i) % kHistoryCount] * 1000.0f;
float vx, vy;
if (v > 20.0f) v = 20.0f;
vx = ((float)i/(kHistoryCount-1)) * w;
vy = h - ((v / 20.0f) * h);
lineTo(vx, vy);
}
}

lineTo(w, h);
fillColor(255,192,0,128);
fill();

fontFace("sans");

if (fName.isNotEmpty())
{
fontSize(14.0f);
textAlign(ALIGN_LEFT|ALIGN_TOP);
fillColor(240,240,240,192);
text(3, 1, fName, nullptr);
}

if (fStyle == RENDER_FPS)
{
fontSize(18.0f);
textAlign(ALIGN_RIGHT|ALIGN_TOP);
fillColor(240,240,240,255);
std::sprintf(str, "%.2f FPS", 1.0f / avg);
text(w-3, 1, str, nullptr);

fontSize(15.0f);
textAlign(ALIGN_RIGHT|ALIGN_BOTTOM);
fillColor(240,240,240,160);
std::sprintf(str, "%.2f ms", avg * 1000.0f);
text(w-3, h-1, str, nullptr);
}
else
{
fontSize(18.0f);
textAlign(ALIGN_RIGHT|ALIGN_TOP);
fillColor(240,240,240,255);
std::sprintf(str, "%.2f ms", avg * 1000.0f);
text(w-3, 1, str, nullptr);
}
}

private:
int fHead;
float fValues[kHistoryCount];

const int fStyle;
const String fName;

double prevt;

void update(float frameTime) noexcept
{
fHead = (fHead+1) % kHistoryCount;
fValues[fHead] = frameTime;
}

float getAverage() const noexcept
{
int i;
float avg = 0;

for (i = 0; i < kHistoryCount; ++i)
avg += fValues[i];

return avg / (float)kHistoryCount;
}
};

// ------------------------------------------------------

#endif // NANO_PERF_WIDGET_HPP_INCLUDED

Loading…
Cancel
Save