Browse Source

Improve web examples -IN PROGRESS-

Ray 8 years ago
parent
commit
50bc77ed96
53 changed files with 2585 additions and 341 deletions
  1. 1 1
      docs/examples/web/audio_music_stream.c
  2. 1 1
      docs/examples/web/audio_music_stream.js
  3. 1 1
      docs/examples/web/audio_sound_loading.js
  4. 1 1
      docs/examples/web/core_3d_camera_first_person.c
  5. 0 0
      docs/examples/web/core_3d_camera_first_person.js
  6. 2 3
      docs/examples/web/core_3d_camera_free.c
  7. 15 22
      docs/examples/web/core_3d_camera_free.js
  8. 1 1
      docs/examples/web/core_3d_picking.c
  9. 1 1
      docs/examples/web/core_3d_picking.js
  10. 0 1
      docs/examples/web/core_basic_window.c
  11. 1 1
      docs/examples/web/core_world_screen.c
  12. 0 0
      docs/examples/web/core_world_screen.js
  13. 5 5
      docs/examples/web/makefile
  14. 1 1
      docs/examples/web/models_billboard.c
  15. 1 1
      docs/examples/web/models_billboard.js
  16. 1 1
      docs/examples/web/models_cubicmap.js
  17. 1 1
      docs/examples/web/models_heightmap.js
  18. 1 1
      docs/examples/web/models_obj_loading.js
  19. 182 140
      docs/examples/web/models_ray_picking.c
  20. 554 0
      docs/examples/web/models_ray_picking.data
  21. 190 1
      docs/examples/web/models_ray_picking.js
  22. BIN
      docs/examples/web/resources/fonts/KAISG.ttf
  23. 188 0
      docs/examples/web/resources/fonts/pixantiqua.fnt
  24. BIN
      docs/examples/web/resources/fonts/pixantiqua_0.png
  25. 456 0
      docs/examples/web/resources/model/lowpoly-tower.obj
  26. BIN
      docs/examples/web/resources/model/lowpoly-tower.png
  27. BIN
      docs/examples/web/resources/ps3.png
  28. BIN
      docs/examples/web/resources/xbox.png
  29. BIN
      docs/examples/web/shaders_shapes_textures.data
  30. 3 1
      docs/examples/web/shaders_shapes_textures.js
  31. 43 1
      docs/examples/web/text_bmfont_ttf.data
  32. 74 3
      docs/examples/web/text_bmfont_ttf.js
  33. 61 32
      docs/examples/web/text_bmfont_unordered.c
  34. 213 0
      docs/examples/web/text_bmfont_unordered.data
  35. 190 1
      docs/examples/web/text_bmfont_unordered.js
  36. 1 1
      docs/examples/web/text_font_select.js
  37. 1 1
      docs/examples/web/text_rbmf_fonts.js
  38. 1 1
      docs/examples/web/text_sprite_fonts.js
  39. 120 83
      docs/examples/web/text_ttf_loading.c
  40. BIN
      docs/examples/web/text_ttf_loading.data
  41. 262 20
      docs/examples/web/text_ttf_loading.js
  42. 0 0
      docs/examples/web/textures_formats_loading.js
  43. 1 1
      docs/examples/web/textures_image_drawing.js
  44. 1 1
      docs/examples/web/textures_image_loading.js
  45. 1 1
      docs/examples/web/textures_image_processing.js
  46. 1 1
      docs/examples/web/textures_logo_raylib.js
  47. 1 1
      docs/examples/web/textures_particles_trail_blending.c
  48. 1 1
      docs/examples/web/textures_particles_trail_blending.js
  49. 1 1
      docs/examples/web/textures_raw_data.js
  50. 1 1
      docs/examples/web/textures_rectangle.js
  51. 1 1
      docs/examples/web/textures_srcrec_dstrec.js
  52. 0 1
      docs/examples/web/textures_to_image.c
  53. 3 3
      docs/examples/web/textures_to_image.js

+ 1 - 1
docs/examples/web/audio_music_stream.c

@@ -4,7 +4,7 @@
 *
 *
 *   NOTE: This example requires OpenAL Soft library installed
 *   NOTE: This example requires OpenAL Soft library installed
 *
 *
-*   This example has been created using raylib 1.3 (www.raylib.com)
+*   This example has been created using raylib 1.7 (www.raylib.com)
 *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
 *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
 *
 *
 *   Copyright (c) 2015 Ramon Santamaria (@raysan5)
 *   Copyright (c) 2015 Ramon Santamaria (@raysan5)

+ 1 - 1
docs/examples/web/audio_music_stream.js

@@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'audio', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 506938, "filename": "/resources/audio/guitar_noodling.ogg"}], "remote_package_size": 506938, "package_uuid": "7234e469-90de-4413-8a21-6025f306c05f"});
+ loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 506938, "filename": "/resources/audio/guitar_noodling.ogg"}], "remote_package_size": 506938, "package_uuid": "9de29365-b1e1-4689-9d31-b95e29ce0312"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/audio_sound_loading.js

@@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'audio', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 6246, "filename": "/resources/audio/weird.wav"}, {"audio": 1, "start": 6246, "crunched": 0, "end": 63574, "filename": "/resources/audio/tanatana.ogg"}], "remote_package_size": 63574, "package_uuid": "ac0b8b01-6644-4217-8a43-cdb652585250"});
+ loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 6246, "filename": "/resources/audio/weird.wav"}, {"audio": 1, "start": 6246, "crunched": 0, "end": 63574, "filename": "/resources/audio/tanatana.ogg"}], "remote_package_size": 63574, "package_uuid": "504f90a1-2c55-47ff-9400-0508e5042415"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/core_3d_camera_first_person.c

@@ -24,7 +24,7 @@ int screenWidth = 800;
 int screenHeight = 450;
 int screenHeight = 450;
 
 
 // Define the camera to look into our 3d world (position, target, up vector)
 // Define the camera to look into our 3d world (position, target, up vector)
-Camera camera = {{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 60.0f };
+Camera camera = {{ 4.0f, 2.0f, 4.0f }, { 0.0f, 1.8f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 60.0f };
 
 
 // Generates some random columns
 // Generates some random columns
 float heights[MAX_COLUMNS];
 float heights[MAX_COLUMNS];

File diff suppressed because it is too large
+ 0 - 0
docs/examples/web/core_3d_camera_first_person.js


+ 2 - 3
docs/examples/web/core_3d_camera_free.c

@@ -2,7 +2,7 @@
 *
 *
 *   raylib [core] example - Initialize 3d camera free (adapted for HTML5 platform)
 *   raylib [core] example - Initialize 3d camera free (adapted for HTML5 platform)
 *
 *
-*   This example has been created using raylib 1.3 (www.raylib.com)
+*   This example has been created using raylib 1.7 (www.raylib.com)
 *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
 *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
 *
 *
 *   Copyright (c) 2015 Ramon Santamaria (@raysan5)
 *   Copyright (c) 2015 Ramon Santamaria (@raysan5)
@@ -41,8 +41,7 @@ int main()
     InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera free");
     InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera free");
 
 
     // Define the camera to look into our 3d world
     // Define the camera to look into our 3d world
-    Camera camera;
-    camera.position = (Vector3){ 0.0f, 10.0f, 10.0f };  // Camera position
+    camera.position = (Vector3){ 10.0f, 10.0f, 10.0f };  // Camera position
     camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };      // Camera looking at point
     camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };      // Camera looking at point
     camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };          // Camera up vector (rotation towards target)
     camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };          // Camera up vector (rotation towards target)
     camera.fovy = 45.0f;                                // Camera field-of-view Y
     camera.fovy = 45.0f;                                // Camera field-of-view Y

+ 15 - 22
docs/examples/web/core_3d_camera_free.js

@@ -7103,29 +7103,22 @@ function getTempRet0() {
 }
 }
 
 
 function _main() {
 function _main() {
- var $$byval_copy = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$29$0$$sroa_idx10 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$311$0$$sroa_idx12 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ var $0 = 0, $1 = 0, $camera$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
  sp = STACKTOP;
  sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy = sp + 40|0;
- $0 = sp;
- $1 = HEAP32[2]|0;
- $2 = HEAP32[3]|0;
- _InitWindow($1,$2,3396);
- HEAPF32[$0>>2] = 0.0;
- $$sroa$29$0$$sroa_idx10 = ((($0)) + 4|0);
- HEAPF32[$$sroa$29$0$$sroa_idx10>>2] = 10.0;
- $$sroa$311$0$$sroa_idx12 = ((($0)) + 8|0);
- HEAPF32[$$sroa$311$0$$sroa_idx12>>2] = 10.0;
- $$sroa$03$0$$sroa_idx = ((($0)) + 12|0);
- $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0);
- ;HEAP32[$$sroa$03$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$03$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$03$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$03$0$$sroa_idx+12>>2]=0|0;
- HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 1.0;
- $$sroa$3$0$$sroa_idx2 = ((($0)) + 32|0);
- HEAPF32[$$sroa$3$0$$sroa_idx2>>2] = 0.0;
- $3 = ((($0)) + 36|0);
- HEAPF32[$3>>2] = 45.0;
- dest=$$byval_copy; src=$0; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
- _SetCameraMode($$byval_copy,1);
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $camera$byval_copy = sp;
+ $0 = HEAP32[2]|0;
+ $1 = HEAP32[3]|0;
+ _InitWindow($0,$1,3396);
+ HEAPF32[3535] = 10.0;
+ HEAPF32[(14144)>>2] = 10.0;
+ HEAPF32[(14148)>>2] = 10.0;
+ ;HEAP32[(14152)>>2]=0|0;HEAP32[(14152)+4>>2]=0|0;HEAP32[(14152)+8>>2]=0|0;HEAP32[(14152)+12>>2]=0|0;
+ HEAPF32[(14168)>>2] = 1.0;
+ HEAPF32[(14172)>>2] = 0.0;
+ HEAPF32[(14176)>>2] = 45.0;
+ dest=$camera$byval_copy; src=14140; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ _SetCameraMode($camera$byval_copy,1);
  _emscripten_set_main_loop((1|0),0,1);
  _emscripten_set_main_loop((1|0),0,1);
  _CloseWindow();
  _CloseWindow();
  STACKTOP = sp;return 0;
  STACKTOP = sp;return 0;

+ 1 - 1
docs/examples/web/core_3d_picking.c

@@ -45,7 +45,7 @@ int main()
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
     InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d picking");
     InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d picking");
 	
 	
-    camera.position = (Vector3){ 0.0f, 10.0f, 10.0f };  // Camera position
+    camera.position = (Vector3){ 10.0f, 10.0f, 10.0f };  // Camera position
     camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };      // Camera looking at point
     camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };      // Camera looking at point
     camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };          // Camera up vector (rotation towards target)
     camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };          // Camera up vector (rotation towards target)
     camera.fovy = 45.0f;                                // Camera field-of-view Y
     camera.fovy = 45.0f;                                // Camera field-of-view Y

+ 1 - 1
docs/examples/web/core_3d_picking.js

@@ -7110,7 +7110,7 @@ function _main() {
  $0 = HEAP32[2]|0;
  $0 = HEAP32[2]|0;
  $1 = HEAP32[3]|0;
  $1 = HEAP32[3]|0;
  _InitWindow($0,$1,3548);
  _InitWindow($0,$1,3548);
- HEAPF32[3541] = 0.0;
+ HEAPF32[3541] = 10.0;
  HEAPF32[(14168)>>2] = 10.0;
  HEAPF32[(14168)>>2] = 10.0;
  HEAPF32[(14172)>>2] = 10.0;
  HEAPF32[(14172)>>2] = 10.0;
  ;HEAP32[(14176)>>2]=0|0;HEAP32[(14176)+4>>2]=0|0;HEAP32[(14176)+8>>2]=0|0;HEAP32[(14176)+12>>2]=0|0;
  ;HEAP32[(14176)>>2]=0|0;HEAP32[(14176)+4>>2]=0|0;HEAP32[(14176)+8>>2]=0|0;HEAP32[(14176)+12>>2]=0|0;

+ 0 - 1
docs/examples/web/core_basic_window.c

@@ -25,7 +25,6 @@
 int screenWidth = 800;
 int screenWidth = 800;
 int screenHeight = 450;
 int screenHeight = 450;
 
 
-
 //----------------------------------------------------------------------------------
 //----------------------------------------------------------------------------------
 // Module Functions Declaration
 // Module Functions Declaration
 //----------------------------------------------------------------------------------
 //----------------------------------------------------------------------------------

+ 1 - 1
docs/examples/web/core_world_screen.c

@@ -22,7 +22,7 @@ int screenWidth = 800;
 int screenHeight = 450;
 int screenHeight = 450;
 
 
 // Define the camera to look into our 3d world
 // Define the camera to look into our 3d world
-Camera camera = {{ 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }};
+Camera camera = {{ 8.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f };
 
 
 Vector3 cubePosition = { 0.0f, 0.0f, 0.0f };
 Vector3 cubePosition = { 0.0f, 0.0f, 0.0f };
 
 

File diff suppressed because it is too large
+ 0 - 0
docs/examples/web/core_world_screen.js


+ 5 - 5
docs/examples/web/makefile

@@ -415,7 +415,7 @@ text_sprite_fonts: text_sprite_fonts.c
 
 
 # compile [text] example - bmfonts and ttf loading
 # compile [text] example - bmfonts and ttf loading
 text_bmfont_ttf: text_bmfont_ttf.c
 text_bmfont_ttf: text_bmfont_ttf.c
-	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) --preload-file resources/fonts/bmfont.fnt --preload-file resources/fonts/pixantiqua.ttf
+	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) --preload-file resources/fonts/bmfont.fnt --preload-file resources/fonts/bmfont.png --preload-file resources/fonts/pixantiqua.ttf -s ALLOW_MEMORY_GROWTH=1
 
 
 # compile [text] example - raylib bitmap fonts (rBMF)
 # compile [text] example - raylib bitmap fonts (rBMF)
 text_rbmf_fonts: text_rbmf_fonts.c
 text_rbmf_fonts: text_rbmf_fonts.c
@@ -435,11 +435,11 @@ text_writing_anim: text_writing_anim.c
 
 
 # compile [text] example - text ttf loading
 # compile [text] example - text ttf loading
 text_ttf_loading: text_ttf_loading.c
 text_ttf_loading: text_ttf_loading.c
-	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
+	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) --preload-file resources/fonts/KAISG.ttf -s ALLOW_MEMORY_GROWTH=1
 
 
 # compile [text] example - text bmfont unordered
 # compile [text] example - text bmfont unordered
 text_bmfont_unordered: text_bmfont_unordered.c
 text_bmfont_unordered: text_bmfont_unordered.c
-	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
+	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) --preload-file resources/fonts/pixantiqua.fnt --preload-file resources/fonts/pixantiqua_0.png
 
 
 # compile [models] example - basic geometric 3d shapes
 # compile [models] example - basic geometric 3d shapes
 models_geometric_shapes: models_geometric_shapes.c
 models_geometric_shapes: models_geometric_shapes.c
@@ -471,7 +471,7 @@ models_cubicmap: models_cubicmap.c
 
 
 # compile [models] example - model ray picking
 # compile [models] example - model ray picking
 models_ray_picking: models_ray_picking.c
 models_ray_picking: models_ray_picking.c
-	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
+	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) --preload-file resources/model/lowpoly-tower.obj --preload-file resources/model/lowpoly-tower.png
 
 
 # compile [shaders] example - model shader
 # compile [shaders] example - model shader
 shaders_model_shader: shaders_model_shader.c
 shaders_model_shader: shaders_model_shader.c
@@ -479,7 +479,7 @@ shaders_model_shader: shaders_model_shader.c
     
     
 # compile [shaders] example - shapes texture shader
 # compile [shaders] example - shapes texture shader
 shaders_shapes_textures: shaders_shapes_textures.c
 shaders_shapes_textures: shaders_shapes_textures.c
-	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) --preload-file resources/texture_formats/sonic.png --preload-file resources/shaders/glsl100/shapes_base.vs --preload-file resources/shaders/glsl100/shapes_grayscale.fs
+	$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) --preload-file resources/texture_formats/sonic.png --preload-file resources/shaders/glsl100/base.vs --preload-file resources/shaders/glsl100/grayscale.fs
     
     
 # compile [shaders] example - custom uniform in shader
 # compile [shaders] example - custom uniform in shader
 shaders_custom_uniform: shaders_custom_uniform.c
 shaders_custom_uniform: shaders_custom_uniform.c

+ 1 - 1
docs/examples/web/models_billboard.c

@@ -22,7 +22,7 @@ int screenWidth = 800;
 int screenHeight = 450;
 int screenHeight = 450;
 
 
 // Define the camera to look into our 3d world
 // Define the camera to look into our 3d world
-Camera camera = {{ 5.0f, 4.0f, 5.0f }, { 0.0f, 2.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }};
+Camera camera = {{ 5.0f, 4.0f, 5.0f }, { 0.0f, 2.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, 45.0f };
 
 
 Texture2D bill;                                 // Our texture billboard
 Texture2D bill;                                 // Our texture billboard
 Vector3 billPosition = { 0.0f, 2.0f, 0.0f };    // Position where draw billboard
 Vector3 billPosition = { 0.0f, 2.0f, 0.0f };    // Position where draw billboard

File diff suppressed because it is too large
+ 1 - 1
docs/examples/web/models_billboard.js


+ 1 - 1
docs/examples/web/models_cubicmap.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 201, "filename": "/resources/cubicmap.png"}, {"audio": 0, "start": 201, "crunched": 0, "end": 37426, "filename": "/resources/cubicmap_atlas.png"}], "remote_package_size": 37426, "package_uuid": "4432e3b6-4d0c-4577-a5e5-91a7d40b7f85"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 201, "filename": "/resources/cubicmap.png"}, {"audio": 0, "start": 201, "crunched": 0, "end": 37426, "filename": "/resources/cubicmap_atlas.png"}], "remote_package_size": 37426, "package_uuid": "ba274e07-1f63-462e-ad99-f84535450721"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/models_heightmap.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 10920, "filename": "/resources/heightmap.png"}], "remote_package_size": 10920, "package_uuid": "4847ebfd-14d6-4446-ab51-5549afa93bef"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 10920, "filename": "/resources/heightmap.png"}], "remote_package_size": 10920, "package_uuid": "d598b0f0-29de-4f06-992c-f1458b1a4812"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/models_obj_loading.js

@@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'model', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}], "remote_package_size": 4022872, "package_uuid": "750abc5f-af45-4d90-afe8-fd10ed333f43"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}], "remote_package_size": 4022872, "package_uuid": "6faeef29-8bb8-4e0d-91a9-30ecf3f9b645"});
 
 
 })();
 })();
 
 

+ 182 - 140
docs/examples/web/models_ray_picking.c

@@ -11,12 +11,51 @@
 ********************************************************************************************/
 ********************************************************************************************/
 
 
 #include "raylib.h"
 #include "raylib.h"
-#include "../src/raymath.h"
+#include "raymath.h"
 
 
 #include <stdio.h>
 #include <stdio.h>
 #include <float.h>
 #include <float.h>
 
 
+#if defined(PLATFORM_WEB)
+    #include <emscripten/emscripten.h>
+#endif
 
 
+//----------------------------------------------------------------------------------
+// Global Variables Definition
+//----------------------------------------------------------------------------------
+const int screenWidth = 800;
+const int screenHeight = 450;
+
+Camera camera;
+    
+Vector3 cubePosition = { 0.0f, 1.0f, 0.0f };
+Vector3 cubeSize = { 2.0f, 2.0f, 2.0f };
+
+Ray ray;        // Picking line ray
+
+Model tower;
+Texture2D texture;
+
+Vector3 towerPos = { 0.0f, 0.0f, 0.0f };
+BoundingBox towerBBox;
+bool hitMeshBBox = false;
+bool hitTriangle = false;
+
+// Test triangle
+Vector3 ta = (Vector3){ -25.0, 0.5, 0.0 };    
+Vector3 tb = (Vector3){ -4.0, 2.5, 1.0 };
+Vector3 tc = (Vector3){ -8.0, 6.5, 0.0 };
+
+Vector3 bary = { 0.0f, 0.0f, 0.0f };
+
+//----------------------------------------------------------------------------------
+// Module Functions Declaration
+//----------------------------------------------------------------------------------
+void UpdateDrawFrame(void);     // Update and Draw one frame
+
+//----------------------------------------------------------------------------------
+// Main Enry Point
+//----------------------------------------------------------------------------------
 int main()
 int main()
 {
 {
     // Initialization
     // Initialization
@@ -27,171 +66,174 @@ int main()
     InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d ray picking");
     InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d ray picking");
 
 
     // Define the camera to look into our 3d world
     // Define the camera to look into our 3d world
-    Camera camera;
-    camera.position = (Vector3){ 10.0f, 8.0f, 10.0f }; // Camera position
-    camera.target = (Vector3){ 0.0f, 2.3f, 0.0f };      // Camera looking at point
-    camera.up = (Vector3){ 0.0f, 1.6f, 0.0f };          // Camera up vector (rotation towards target)
-    camera.fovy = 45.0f;                                // Camera field-of-view Y
-
-    Vector3 cubePosition = { 0.0f, 1.0f, 0.0f };
-    Vector3 cubeSize = { 2.0f, 2.0f, 2.0f };
+    camera.position = (Vector3){ 10.0f, 8.0f, 10.0f };          // Camera position
+    camera.target = (Vector3){ 0.0f, 2.3f, 0.0f };              // Camera looking at point
+    camera.up = (Vector3){ 0.0f, 1.6f, 0.0f };                  // Camera up vector (rotation towards target)
+    camera.fovy = 45.0f;                                        // Camera field-of-view Y
+
+    tower = LoadModel("resources/model/lowpoly-tower.obj");     // Load OBJ model
+    texture = LoadTexture("resources/model/lowpoly-tower.png"); // Load model texture
+    tower.material.texDiffuse = texture;                        // Set model diffuse texture
     
     
-    Ray ray;        // Picking line ray
+    towerBBox = CalculateBoundingBox(tower.mesh);
+
+    SetCameraMode(camera, CAMERA_FREE);     // Set a free camera mode
+
+    SetTargetFPS(60);                       // Set our game to run at 60 frames-per-second
+    //--------------------------------------------------------------------------------------
     
     
-    Model tower = LoadModel("resources/model/lowpoly-tower.obj");           // Load OBJ model
-    Texture2D texture = LoadTexture("resources/model/lowpoly-tower.png");   // Load model texture
-    tower.material.texDiffuse = texture;                                    // Set model diffuse texture
+#if defined(PLATFORM_WEB)
+    emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
+#else
+    SetTargetFPS(60);   // Set our game to run at 60 frames-per-second
+    //--------------------------------------------------------------------------------------
     
     
-    Vector3 towerPos = { 0.0f, 0.0f, 0.0f };                                // Set model position
-    BoundingBox towerBBox = CalculateBoundingBox( tower.mesh );    
-    bool hitMeshBBox = false;
-    bool hitTriangle = false;
+    // Main game loop
+    while (!WindowShouldClose())    // Detect window close button or ESC key
+    {
+        UpdateDrawFrame();
+    }
+#endif
 
 
-    // Test triangle
-    Vector3 ta = (Vector3){ -25.0, 0.5, 0.0 };    
-    Vector3 tb = (Vector3){ -4.0, 2.5, 1.0 };
-    Vector3 tc = (Vector3){ -8.0, 6.5, 0.0 };
+    // De-Initialization
+    //--------------------------------------------------------------------------------------
+    UnloadModel(tower);         // Unload model from GPU
+    UnloadTexture(texture);     // Unload texture from GPU
+    
+    CloseWindow();              // Close window and OpenGL context
+    //--------------------------------------------------------------------------------------
 
 
-    Vector3 bary = { 0.0f, 0.0f, 0.0f }; 
+    return 0;
+}
 
 
-    SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode
+//----------------------------------------------------------------------------------
+// Module Functions Definition
+//----------------------------------------------------------------------------------
+void UpdateDrawFrame(void)
+{
+    // Update
+    //----------------------------------------------------------------------------------
+    UpdateCamera(&camera);          // Update camera
+    
+    // Display information about closest hit
+    RayHitInfo nearestHit;
+    char *hitObjectName = "None";
+    nearestHit.distance = FLT_MAX;
+    nearestHit.hit = false;
+    Color cursorColor = WHITE;
+
+    // Get ray and test against ground, triangle, and mesh
+    ray = GetMouseRay(GetMousePosition(), camera);
+    
+    // Check ray collision aginst ground plane
+    RayHitInfo groundHitInfo = GetCollisionRayGround(ray, 0.0f);
+    
+    if ((groundHitInfo.hit) && (groundHitInfo.distance < nearestHit.distance))
+    {
+        nearestHit = groundHitInfo;
+        cursorColor = GREEN;
+        hitObjectName = "Ground";
+    }
 
 
-    SetTargetFPS(60);                   // Set our game to run at 60 frames-per-second
-    //--------------------------------------------------------------------------------------
-    // Main game loop
-    while (!WindowShouldClose())        // Detect window close button or ESC key
+    // Check ray collision against test triangle
+    RayHitInfo triHitInfo = GetCollisionRayTriangle(ray, ta, tb, tc);
+    
+    if ((triHitInfo.hit) && (triHitInfo.distance < nearestHit.distance)) 
     {
     {
-        // Update
-        //----------------------------------------------------------------------------------
-        UpdateCamera(&camera);          // Update camera
-        
-        // Display information about closest hit
-        RayHitInfo nearestHit;
-        char *hitObjectName = "None";
-        nearestHit.distance = FLT_MAX;
-        nearestHit.hit = false;
-        Color cursorColor = WHITE;
-
-        // Get ray and test against ground, triangle, and mesh
-        ray = GetMouseRay(GetMousePosition(), camera);
+        nearestHit = triHitInfo;
+        cursorColor = PURPLE;
+        hitObjectName = "Triangle";
+
+        bary = Barycenter(nearestHit.hitPosition, ta, tb, tc);
+        hitTriangle = true;
+    } 
+    else hitTriangle = false;
+
+    RayHitInfo meshHitInfo;
+
+    // Check ray collision against bounding box first, before trying the full ray-mesh test
+    if (CheckCollisionRayBox(ray, towerBBox)) 
+    {
+        hitMeshBBox = true;
         
         
-        // Check ray collision aginst ground plane
-        RayHitInfo groundHitInfo = GetCollisionRayGround(ray, 0.0f);
+        // Check ray collision against mesh
+        meshHitInfo = GetCollisionRayMesh(ray, &tower.mesh);    
         
         
-        if ((groundHitInfo.hit) && (groundHitInfo.distance < nearestHit.distance))
+        if ((meshHitInfo.hit) && (meshHitInfo.distance < nearestHit.distance)) 
         {
         {
-            nearestHit = groundHitInfo;
-            cursorColor = GREEN;
-            hitObjectName = "Ground";
+            nearestHit = meshHitInfo;
+            cursorColor = ORANGE;
+            hitObjectName = "Mesh";
         }
         }
-
-        // Check ray collision against test triangle
-        RayHitInfo triHitInfo = GetCollisionRayTriangle(ray, ta, tb, tc);
         
         
-        if ((triHitInfo.hit) && (triHitInfo.distance < nearestHit.distance)) 
-        {
-            nearestHit = triHitInfo;
-            cursorColor = PURPLE;
-            hitObjectName = "Triangle";
+    } hitMeshBBox = false; 
+    //----------------------------------------------------------------------------------
+    
+    // Draw
+    //----------------------------------------------------------------------------------
+    BeginDrawing();
 
 
-            bary = Barycenter(nearestHit.hitPosition, ta, tb, tc);
-            hitTriangle = true;
-        } 
-        else hitTriangle = false;
+        ClearBackground(RAYWHITE);
 
 
-        RayHitInfo meshHitInfo;
+        Begin3dMode(camera);
 
 
-        // Check ray collision against bounding box first, before trying the full ray-mesh test
-        if (CheckCollisionRayBox(ray, towerBBox)) 
-        {
-            hitMeshBBox = true;
+            // Draw the tower
+            DrawModel(tower, towerPos, 1.0, WHITE);
             
             
-            // Check ray collision against mesh
-            meshHitInfo = GetCollisionRayMesh(ray, &tower.mesh);    
-            
-            if ((meshHitInfo.hit) && (meshHitInfo.distance < nearestHit.distance)) 
-            {
-                nearestHit = meshHitInfo;
-                cursorColor = ORANGE;
-                hitObjectName = "Mesh";
-            }
-            
-        } hitMeshBBox = false; 
-        //----------------------------------------------------------------------------------
-        
-        // Draw
-        //----------------------------------------------------------------------------------
-        BeginDrawing();
-
-            ClearBackground(RAYWHITE);
+            // Draw the test triangle
+            DrawLine3D(ta, tb, PURPLE);
+            DrawLine3D(tb, tc, PURPLE);
+            DrawLine3D(tc, ta, PURPLE);
 
 
-            Begin3dMode(camera);
-
-                // Draw the tower
-                DrawModel(tower, towerPos, 1.0, WHITE);
-                
-                // Draw the test triangle
-                DrawLine3D(ta, tb, PURPLE);
-                DrawLine3D(tb, tc, PURPLE);
-                DrawLine3D(tc, ta, PURPLE);
-
-                // Draw the mesh bbox if we hit it
-                if (hitMeshBBox) DrawBoundingBox(towerBBox, LIME);
-
-                // If we hit something, draw the cursor at the hit point
-                if (nearestHit.hit) 
-                {
-                    DrawCube(nearestHit.hitPosition, 0.5, 0.5, 0.5, cursorColor);
-                    DrawCubeWires(nearestHit.hitPosition, 0.5, 0.5, 0.5, YELLOW);
-
-                    Vector3 normalEnd;
-                    normalEnd.x = nearestHit.hitPosition.x + nearestHit.hitNormal.x;
-                    normalEnd.y = nearestHit.hitPosition.y + nearestHit.hitNormal.y;
-                    normalEnd.z = nearestHit.hitPosition.z + nearestHit.hitNormal.z;
-                    
-                    DrawLine3D(nearestHit.hitPosition, normalEnd, YELLOW);
-                }
-
-                DrawRay(ray, MAROON);
-                
-                DrawGrid(100, 1.0f);
-
-            End3dMode();
-            
-            // Draw some debug GUI text
-            DrawText(FormatText("Hit Object: %s", hitObjectName), 10, 50, 10, BLACK);
+            // Draw the mesh bbox if we hit it
+            if (hitMeshBBox) DrawBoundingBox(towerBBox, LIME);
 
 
+            // If we hit something, draw the cursor at the hit point
             if (nearestHit.hit) 
             if (nearestHit.hit) 
             {
             {
-                int ypos = 70;
+                DrawCube(nearestHit.hitPosition, 0.5, 0.5, 0.5, cursorColor);
+                DrawCubeWires(nearestHit.hitPosition, 0.5, 0.5, 0.5, YELLOW);
 
 
-                DrawText(FormatText("Distance: %3.2f", nearestHit.distance), 10, ypos, 10, BLACK);
+                Vector3 normalEnd;
+                normalEnd.x = nearestHit.hitPosition.x + nearestHit.hitNormal.x;
+                normalEnd.y = nearestHit.hitPosition.y + nearestHit.hitNormal.y;
+                normalEnd.z = nearestHit.hitPosition.z + nearestHit.hitNormal.z;
                 
                 
-                DrawText(FormatText("Hit Pos: %3.2f %3.2f %3.2f", 
-                                    nearestHit.hitPosition.x, 
-                                    nearestHit.hitPosition.y, 
-                                    nearestHit.hitPosition.z), 10, ypos + 15, 10, BLACK);
-                                    
-                DrawText(FormatText("Hit Norm: %3.2f %3.2f %3.2f", 
-                                    nearestHit.hitNormal.x, 
-                                    nearestHit.hitNormal.y, 
-                                    nearestHit.hitNormal.z), 10, ypos + 30, 10, BLACK);
-
-                if (hitTriangle) DrawText(FormatText("Barycenter: %3.2f %3.2f %3.2f",  bary.x, bary.y, bary.z), 10, ypos + 45, 10, BLACK);
+                DrawLine3D(nearestHit.hitPosition, normalEnd, YELLOW);
             }
             }
 
 
-            DrawText("Use Mouse to Move Camera", 10, 430, 10, GRAY);
+            DrawRay(ray, MAROON);
+            
+            DrawGrid(100, 1.0f);
 
 
-            DrawFPS(10, 10);
+        End3dMode();
+        
+        // Draw some debug GUI text
+        DrawText(FormatText("Hit Object: %s", hitObjectName), 10, 50, 10, BLACK);
 
 
-        EndDrawing();
-        //----------------------------------------------------------------------------------
-    }
+        if (nearestHit.hit) 
+        {
+            int ypos = 70;
 
 
-    // De-Initialization
-    //--------------------------------------------------------------------------------------
-    CloseWindow();        // Close window and OpenGL context
-    //--------------------------------------------------------------------------------------
+            DrawText(FormatText("Distance: %3.2f", nearestHit.distance), 10, ypos, 10, BLACK);
+            
+            DrawText(FormatText("Hit Pos: %3.2f %3.2f %3.2f", 
+                                nearestHit.hitPosition.x, 
+                                nearestHit.hitPosition.y, 
+                                nearestHit.hitPosition.z), 10, ypos + 15, 10, BLACK);
+                                
+            DrawText(FormatText("Hit Norm: %3.2f %3.2f %3.2f", 
+                                nearestHit.hitNormal.x, 
+                                nearestHit.hitNormal.y, 
+                                nearestHit.hitNormal.z), 10, ypos + 30, 10, BLACK);
+
+            if (hitTriangle) DrawText(FormatText("Barycenter: %3.2f %3.2f %3.2f",  bary.x, bary.y, bary.z), 10, ypos + 45, 10, BLACK);
+        }
 
 
-    return 0;
-}
+        DrawText("Use Mouse to Move Camera", 10, 430, 10, GRAY);
+
+        DrawFPS(10, 10);
+
+    EndDrawing();
+    //----------------------------------------------------------------------------------
+}

+ 554 - 0
docs/examples/web/models_ray_picking.data

@@ -0,0 +1,554 @@
+# Blender v2.78 (sub 0) OBJ File: 'lowpoly-tower.blend'
+# www.blender.org
+o Grid
+v -4.000000 0.000000 4.000000
+v -2.327363 0.000000 4.654725
+v 0.000000 0.000000 4.654725
+v 2.327363 0.000000 4.654725
+v 4.000000 0.000000 4.000000
+v -4.654725 0.955085 2.327363
+v -2.000000 0.815050 2.000000
+v 0.000000 0.476341 2.423448
+v 2.000000 0.476341 2.000000
+v 4.654725 0.000000 2.327363
+v -4.654725 1.649076 0.000000
+v -2.423448 1.092402 0.000000
+v 2.423448 0.198579 0.000000
+v 4.654725 0.000000 0.000000
+v -4.654725 1.649076 -2.327363
+v -2.000000 1.092402 -2.000000
+v 0.000000 0.476341 -2.423448
+v 2.000000 -0.012791 -2.000000
+v 4.654725 0.000000 -2.612731
+v -4.000000 0.955085 -4.000000
+v -2.327363 0.955085 -4.654725
+v 0.000000 0.955085 -4.654725
+v 2.327363 0.000000 -4.654725
+v 4.000000 0.000000 -4.000000
+v 2.423448 0.682825 0.000000
+v 2.000000 0.565423 -2.000000
+v -4.654725 -0.020560 2.327363
+v -4.654725 0.000000 0.000000
+v -4.654725 0.000000 -2.327363
+v -4.000000 0.000000 -4.000000
+v -2.327363 0.000000 -4.654725
+v 0.000000 -0.020560 -4.654725
+v 0.000000 0.709880 -1.230535
+v -0.000000 7.395413 0.000000
+v 0.962071 0.709880 -0.767226
+v -0.533909 0.709880 1.108674
+v -1.199683 0.709880 0.273820
+v -0.962071 0.709880 -0.767226
+v 1.506076 0.859071 1.325337
+v 1.199683 0.709880 0.273820
+v 0.533909 0.709880 1.108674
+v 0.000000 1.875340 -1.177842
+v -0.000000 2.293973 -0.649884
+v -0.000000 4.365648 -0.627970
+v 0.000000 6.167194 -0.942957
+v 0.000000 6.232434 -1.708677
+v 1.335898 6.232434 -1.065343
+v 0.737233 6.167195 -0.587924
+v 0.490966 4.365648 -0.391533
+v 0.508100 2.293973 -0.405196
+v 0.920874 1.875340 -0.734372
+v -0.741367 6.232434 1.539465
+v -0.409133 6.167195 0.849574
+v -0.272466 4.365648 0.565781
+v -0.281974 2.293973 0.585526
+v -0.511047 1.875340 1.061199
+v -1.665837 6.232434 0.380217
+v -0.919314 6.167195 0.209828
+v -0.612225 4.365648 0.139736
+v -0.633590 2.293973 0.144613
+v -1.148311 1.875340 0.262095
+v -1.335898 6.232434 -1.065343
+v -0.737233 6.167195 -0.587924
+v -0.490967 4.365648 -0.391533
+v -0.508100 2.293973 -0.405196
+v -0.920874 1.875340 -0.734372
+v 1.665837 6.232434 0.380216
+v 0.919315 6.167195 0.209828
+v 0.612225 4.365648 0.139736
+v 0.633590 2.293973 0.144613
+v 1.148311 1.875340 0.262095
+v 0.741367 6.232434 1.539465
+v 0.409133 6.167195 0.849575
+v 0.272466 4.365648 0.565781
+v 0.281974 2.293973 0.585526
+v 0.511046 1.875340 1.061199
+v 0.000000 5.012550 -0.969733
+v 0.758168 5.012550 -0.604618
+v -0.420751 5.012550 0.873699
+v -0.945419 5.012550 0.215786
+v -0.758168 5.012550 -0.604618
+v 0.945419 5.012550 0.215786
+v 0.420751 5.012550 0.873699
+vt 0.0523 0.5444
+vt 0.1817 0.4284
+vt 0.1641 0.5859
+vt 0.0177 0.4451
+vt 0.1526 0.3090
+vt 0.0189 0.1737
+vt 0.0188 0.3088
+vt 0.0561 0.0762
+vt 0.1757 0.1924
+vt 0.3024 0.4534
+vt 0.3071 0.5902
+vt 0.3413 0.2459
+vt 0.2906 0.1614
+vt 0.4116 0.1801
+vt 0.2834 0.3774
+vt 0.1526 0.0362
+vt 0.2917 0.1622
+vt 0.4446 0.5865
+vt 0.4443 0.2989
+vt 0.3711 0.3021
+vt 0.4396 0.0275
+vt 0.4094 0.1829
+vt 0.4219 0.4255
+vt 0.5474 0.5381
+vt 0.5811 0.4376
+vt 0.5715 0.1505
+vt 0.5811 0.2997
+vt 0.5272 0.0533
+vt 0.2208 0.2194
+vt 0.3456 0.3610
+vt 0.2878 0.0321
+vt 0.2321 0.3392
+vt 0.4432 0.0177
+vt 0.7347 0.7934
+vt 0.7382 0.7595
+vt 0.8982 0.7768
+vt 0.6169 0.7595
+vt 0.6139 0.7879
+vt 0.4951 0.7634
+vt 0.1551 0.6832
+vt 0.2925 0.6268
+vt 0.2925 0.6832
+vt 0.7795 0.6832
+vt 0.6421 0.6268
+vt 0.7795 0.6255
+vt 0.5046 0.7241
+vt 0.6421 0.7241
+vt 0.3986 0.6268
+vt 0.3986 0.6832
+vt 0.5046 0.6268
+vt 0.0177 0.6268
+vt 0.1551 0.6255
+vt 0.8856 0.6268
+vt 0.1899 0.9579
+vt 0.1194 0.8696
+vt 0.2324 0.8696
+vt 0.1899 0.7813
+vt 0.0943 0.7595
+vt 0.0177 0.8206
+vt 0.0177 0.9186
+vt 0.0943 0.9797
+vt 0.2793 0.2349
+vt 0.2304 0.2758
+vt 0.6597 0.0177
+vt 0.6954 0.0993
+vt 0.6367 0.0768
+vt 0.7558 0.0777
+vt 0.7238 0.0440
+vt 0.8840 0.1330
+vt 0.7385 0.1141
+vt 0.9157 0.0886
+vt 0.9781 0.1232
+vt 0.9224 0.1276
+vt 0.2677 0.8141
+vt 0.3463 0.8037
+vt 0.3086 0.8339
+vt 0.6387 0.3550
+vt 0.7130 0.3801
+vt 0.6596 0.4053
+vt 0.7245 0.3245
+vt 0.6919 0.3383
+vt 0.8655 0.3566
+vt 0.7351 0.3577
+vt 0.9770 0.3365
+vt 0.9078 0.3751
+vt 0.9174 0.3282
+vt 0.2677 0.9018
+vt 0.3086 0.8821
+vt 0.6803 0.2948
+vt 0.6251 0.3035
+vt 0.7194 0.2854
+vt 0.8764 0.2832
+vt 0.9221 0.2861
+vt 0.3363 0.9565
+vt 0.3464 0.9122
+vt 0.6751 0.2482
+vt 0.6178 0.2499
+vt 0.7179 0.2431
+vt 0.9823 0.2484
+vt 0.9247 0.2452
+vt 0.3935 0.9014
+vt 0.6755 0.1996
+vt 0.6164 0.1941
+vt 0.7201 0.1992
+vt 0.8793 0.2446
+vt 0.9823 0.2060
+vt 0.9257 0.2051
+vt 0.4598 0.8580
+vt 0.4144 0.8579
+vt 0.6819 0.1498
+vt 0.6222 0.1361
+vt 0.7266 0.1555
+vt 0.8831 0.1684
+vt 0.9252 0.1659
+vt 0.4218 0.7790
+vt 0.3934 0.8145
+vt 0.3363 0.7595
+vt 0.8815 0.2060
+vt 0.8720 0.3208
+vt 0.8825 0.1012
+vt 0.9735 0.0816
+vt 0.9718 0.3817
+vt 0.9807 0.2918
+vt 0.4218 0.9370
+vt 0.9810 0.1644
+vn 0.1035 0.8806 0.4623
+vn 0.0964 0.9481 0.3030
+vn 0.0000 0.9780 0.2088
+vn 0.0659 0.9835 0.1683
+vn 0.2325 0.9320 0.2779
+vn 0.0553 0.9960 -0.0702
+vn 0.2827 0.9564 0.0728
+vn 0.1873 0.9776 -0.0961
+vn 0.2421 0.9703 0.0000
+vn 0.0921 0.9772 -0.1913
+vn -0.0277 0.9947 -0.0993
+vn 0.2308 0.9274 -0.2944
+vn 0.2771 0.9572 -0.0837
+vn 0.3724 0.9074 0.1947
+vn 0.0777 0.9770 -0.1985
+vn -0.1094 0.9539 0.2794
+vn 0.0364 0.9844 0.1721
+vn 0.1683 0.9835 0.0659
+vn 0.0674 0.9901 0.1230
+vn 0.4338 0.8823 0.1829
+vn 0.2845 0.9565 0.0649
+vn 0.0886 0.9961 0.0000
+vn 0.2000 0.9789 0.0424
+vn 0.1417 0.9830 0.1171
+vn 0.3021 0.9524 0.0412
+vn -0.0193 0.9986 -0.0493
+vn 0.0000 0.9777 0.2098
+vn 0.0005 0.9781 -0.2083
+vn 0.1879 0.9782 -0.0887
+vn 0.2249 0.0000 0.9744
+vn 0.9783 0.0000 -0.2071
+vn 0.9783 0.0000 0.2071
+vn 0.0000 0.0000 -1.0000
+vn -1.0000 0.0000 0.0000
+vn -0.3645 0.0000 -0.9312
+vn -0.9312 0.0000 -0.3645
+vn -0.9312 0.0000 0.3645
+vn 0.2615 0.7979 -0.5431
+vn 0.5877 0.7979 -0.1341
+vn 0.4713 0.7979 0.3758
+vn -0.0000 0.7979 0.6028
+vn -0.4713 0.7979 0.3758
+vn -0.5877 0.7979 -0.1341
+vn -0.2615 0.7979 -0.5431
+vn -0.1285 0.9864 -0.1025
+vn 0.0929 0.8937 0.4389
+vn -0.4335 0.0407 -0.9002
+vn -0.2867 0.7507 -0.5952
+vn -0.4339 0.0095 -0.9009
+vn -0.4338 0.0209 -0.9008
+vn -0.0408 -0.9956 -0.0848
+vn -0.9741 0.0407 -0.2223
+vn -0.6441 0.7507 -0.1470
+vn -0.9749 0.0095 -0.2225
+vn -0.9747 0.0209 -0.2225
+vn -0.0918 -0.9956 -0.0209
+vn -0.7812 0.0407 0.6230
+vn -0.5165 0.7507 0.4119
+vn -0.7818 0.0095 0.6235
+vn -0.7817 0.0209 0.6234
+vn -0.0736 -0.9956 0.0587
+vn -0.0000 0.0407 0.9992
+vn 0.0000 0.7507 0.6607
+vn 0.0000 0.0095 1.0000
+vn -0.0000 0.0209 0.9998
+vn -0.0000 -0.9956 0.0941
+vn 0.7812 0.0407 0.6230
+vn 0.5165 0.7507 0.4119
+vn 0.7818 0.0095 0.6235
+vn 0.7817 0.0209 0.6234
+vn 0.0736 -0.9956 0.0587
+vn 0.9741 0.0407 -0.2223
+vn 0.6441 0.7507 -0.1470
+vn 0.9749 0.0095 -0.2225
+vn 0.9747 0.0209 -0.2225
+vn 0.0918 -0.9956 -0.0209
+vn 0.4335 0.0407 -0.9002
+vn 0.2867 0.7507 -0.5952
+vn 0.4339 0.0095 -0.9009
+vn 0.4338 0.0209 -0.9008
+vn 0.0408 -0.9956 -0.0848
+vn 0.3918 -0.4298 -0.8135
+vn 0.8803 -0.4298 -0.2009
+vn 0.7059 -0.4298 0.5630
+vn -0.0000 -0.4298 0.9029
+vn -0.7059 -0.4298 0.5630
+vn -0.8803 -0.4298 -0.2009
+vn -0.3918 -0.4298 -0.8135
+vn 0.0210 0.9998 -0.0048
+vn 0.0482 0.9981 -0.0385
+vn -0.0166 0.9914 -0.1301
+vn -0.0090 0.9904 -0.1379
+vn 0.2820 0.9576 0.0597
+vn -0.0000 0.9846 0.1749
+vn -0.0921 0.9772 -0.1913
+vn -0.1734 0.9794 0.1036
+s off
+f 1/1/1 7/2/1 6/3/1
+f 2/4/2 8/5/2 7/2/2
+f 4/6/3 8/5/3 3/7/3
+f 5/8/4 9/9/4 4/6/4
+f 6/3/5 12/10/5 11/11/5
+f 35/12/6 25/13/6 26/14/6
+f 7/2/7 37/15/7 12/10/7
+f 10/16/8 13/17/8 9/9/8
+f 12/10/9 15/18/9 11/11/9
+f 35/12/10 17/19/10 33/20/10
+f 13/17/11 19/21/11 18/22/11
+f 16/23/12 20/24/12 15/18/12
+f 17/19/13 21/25/13 16/23/13
+f 17/19/14 23/26/14 22/27/14
+f 26/14/15 24/28/15 23/26/15
+f 1/1/16 2/4/16 7/2/16
+f 2/4/3 3/7/3 8/5/3
+f 4/6/17 9/9/17 8/5/17
+f 5/8/18 10/16/18 9/9/18
+f 6/3/19 7/2/19 12/10/19
+f 25/13/20 39/29/20 9/9/20
+f 38/30/21 12/10/21 37/15/21
+f 10/16/22 14/31/22 13/17/22
+f 12/10/23 16/23/23 15/18/23
+f 8/5/24 36/32/24 7/2/24
+f 38/30/25 17/19/25 16/23/25
+f 13/17/22 14/31/22 19/21/22
+f 16/23/26 21/25/26 20/24/26
+f 17/19/27 22/27/27 21/25/27
+f 17/19/28 26/14/28 23/26/28
+f 26/14/29 19/33/29 24/28/29
+f 26/34/30 18/35/30 19/36/30
+f 26/34/31 13/37/31 18/35/31
+f 25/38/32 9/39/32 13/37/32
+f 22/40/33 31/41/33 21/42/33
+f 6/43/34 28/44/34 27/45/34
+f 15/46/34 28/44/34 11/47/34
+f 21/42/35 30/48/35 20/49/35
+f 20/49/36 29/50/36 15/46/36
+f 22/40/33 23/51/33 32/52/33
+f 6/43/37 27/45/37 1/53/37
+f 46/54/38 34/55/38 47/56/38
+f 47/56/39 34/55/39 67/57/39
+f 67/57/40 34/55/40 72/58/40
+f 72/58/41 34/55/41 52/59/41
+f 52/59/42 34/55/42 57/60/42
+f 57/60/43 34/55/43 62/61/43
+f 62/61/44 34/55/44 46/54/44
+f 40/62/45 41/63/45 39/29/45
+f 39/29/46 8/5/46 9/9/46
+f 38/64/47 42/65/47 33/66/47
+f 65/67/48 42/65/48 66/68/48
+f 65/67/49 44/69/49 43/70/49
+f 81/71/50 45/72/50 77/73/50
+f 62/74/51 45/75/51 63/76/51
+f 37/77/52 66/78/52 38/79/52
+f 60/80/53 66/78/53 61/81/53
+f 60/80/54 64/82/54 65/83/54
+f 58/84/55 81/85/55 80/86/55
+f 57/87/56 63/76/56 58/88/56
+f 56/89/57 37/77/57 36/90/57
+f 55/91/58 61/81/58 56/89/58
+f 54/92/59 60/80/59 55/91/59
+f 79/93/60 58/84/60 80/86/60
+f 52/94/61 58/88/61 53/95/61
+f 76/96/62 36/90/62 41/97/62
+f 75/98/63 56/89/63 76/96/63
+f 75/98/64 54/92/64 55/91/64
+f 73/99/65 79/93/65 83/100/65
+f 73/101/66 52/94/66 53/95/66
+f 71/102/67 41/97/67 40/103/67
+f 70/104/68 76/96/68 71/102/68
+f 70/104/69 74/105/69 75/98/69
+f 68/106/70 83/100/70 82/107/70
+f 67/108/71 73/101/71 68/109/71
+f 51/110/72 40/103/72 35/111/72
+f 50/112/73 71/102/73 51/110/73
+f 49/113/74 70/104/74 50/112/74
+f 78/114/75 68/106/75 82/107/75
+f 47/115/76 68/109/76 48/116/76
+f 42/65/77 35/111/77 33/66/77
+f 43/70/78 51/110/78 42/65/78
+f 44/69/79 50/112/79 43/70/79
+f 45/72/80 78/114/80 77/73/80
+f 46/117/81 48/116/81 45/75/81
+f 44/69/82 78/114/82 49/113/82
+f 49/113/83 82/107/83 69/118/83
+f 82/107/84 74/105/84 69/118/84
+f 83/100/85 54/92/85 74/105/85
+f 79/93/86 59/119/86 54/92/86
+f 80/86/87 64/82/87 59/119/87
+f 64/120/88 77/73/88 44/69/88
+f 35/12/89 40/62/89 25/13/89
+f 7/2/90 36/32/90 37/15/90
+f 35/12/91 26/14/91 17/19/91
+f 25/13/92 40/62/92 39/29/92
+f 38/30/93 16/23/93 12/10/93
+f 8/5/94 41/63/94 36/32/94
+f 38/30/95 33/20/95 17/19/95
+f 26/34/31 25/38/31 13/37/31
+f 22/40/33 32/52/33 31/41/33
+f 6/43/34 11/47/34 28/44/34
+f 15/46/34 29/50/34 28/44/34
+f 21/42/35 31/41/35 30/48/35
+f 20/49/36 30/48/36 29/50/36
+f 39/29/96 41/63/96 8/5/96
+f 38/64/47 66/68/47 42/65/47
+f 65/67/48 43/70/48 42/65/48
+f 65/67/49 64/120/49 44/69/49
+f 81/71/50 63/121/50 45/72/50
+f 62/74/51 46/117/51 45/75/51
+f 37/77/52 61/81/52 66/78/52
+f 60/80/53 65/83/53 66/78/53
+f 60/80/54 59/119/54 64/82/54
+f 58/84/55 63/122/55 81/85/55
+f 57/87/56 62/74/56 63/76/56
+f 56/89/57 61/81/57 37/77/57
+f 55/91/58 60/80/58 61/81/58
+f 54/92/59 59/119/59 60/80/59
+f 79/93/60 53/123/60 58/84/60
+f 52/94/61 57/87/61 58/88/61
+f 76/96/62 56/89/62 36/90/62
+f 75/98/63 55/91/63 56/89/63
+f 75/98/64 74/105/64 54/92/64
+f 73/99/65 53/123/65 79/93/65
+f 73/101/66 72/124/66 52/94/66
+f 71/102/67 76/96/67 41/97/67
+f 70/104/68 75/98/68 76/96/68
+f 70/104/69 69/118/69 74/105/69
+f 68/106/70 73/99/70 83/100/70
+f 67/108/71 72/124/71 73/101/71
+f 51/110/72 71/102/72 40/103/72
+f 50/112/73 70/104/73 71/102/73
+f 49/113/74 69/118/74 70/104/74
+f 78/114/75 48/125/75 68/106/75
+f 47/115/76 67/108/76 68/109/76
+f 42/65/77 51/110/77 35/111/77
+f 43/70/78 50/112/78 51/110/78
+f 44/69/79 49/113/79 50/112/79
+f 45/72/80 48/125/80 78/114/80
+f 46/117/81 47/115/81 48/116/81
+f 44/69/82 77/73/82 78/114/82
+f 49/113/83 78/114/83 82/107/83
+f 82/107/84 83/100/84 74/105/84
+f 83/100/85 79/93/85 54/92/85
+f 79/93/86 80/86/86 59/119/86
+f 80/86/87 81/85/87 64/82/87
+f 64/120/88 81/71/88 77/73/88
+‰PNG
+
+
IHDR€€Ã>aËgAMA±�üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDùC»	pHYsÒÝ~ü`ÏIDATxÚíýw|ÕÕø�¿ï�Ù]­$Iq/˜^L%„�FB³Mo	JBË“'l“„BǸH¶!�Fèƒ�cŒ«Ü­.IVï[fæ~ÿ¸3³»’lLyžäùü~çõ²µ;mïÜsîéç\±öÓ‡¥P(”R @‘ô÷K€@€!BH÷¯`óæ-ìܱó°÷:Ê@
+‰aC ‘úŽ›ÓùúÃÁ5×\û¥Æÿÿ*È/¼B4ú?žg}¥9òâßöâ¼ðoûíÿ$0�ä"\ò;›öšå\ôs›´ìóüs/?`~Á½‡A¾ø÷À¢…¹êê«ÿ­cø"$.ô?ïSot:ßúƱ)ß3.\Ÿò}û=3üÏãæ­êt¿øB\òˆEûÁå8±i9©}+å;¤…‡l!»Fþ¦M›¾”R`˜Æ×R$˜ß*$#߃d"èˆ|<"HF¾‰àEÀ%�¤²}Ló?{ÈOþ©}‹ïþü5~ü�¥ÿͱR"¥Ôàk¬ü#Aì‘@2òAs‚ÿ4è
+ù‡;ÞºB~—sq¸“ÉÈ÷9×ÿœ¼Ú“¡+‚�ÉOu4�‘¯œ#[­yØ<“÷O.z�?Ïÿ Wÿ—…ŽÈ÷à?‘þ7 KÞqÕ{ìß#»=hBHÉè™à‡Zõ‘Hä°\ü¾MfzM)Ç›ÿOÿsÆào£p¸êlã�{þoèß4HÑ1ß¹óMá½{gûŸ�”ϑڷˆÔ¾EZÎ>GHæ�žI¿ÞY‡ýñƒrðàÁCž*÷
À¡¥­”"c�&À.MP¥X´Â扅¯ñä¢×yrÑëä½o'½è<ðŸÃ	ºRøwü«‚ôY3ù$#»#Dj×%Ëþd‚¨Ú÷*%[ÿJ¿ÞYàÒ?u6!Ç¢­­½ËßÐȇÌp´ã!*ñ×;Aú „EÒ¶÷íâ˜y–á¾ä‘!߃ÿT"èø½£ÆŸ|¬+�¿«c¦4$w,ŒSZaÓw)åÛ_"@†Â¾5�e¿™Ñ=å
+èÝ+hN9^}°!ÊÑHó”¼gòÏ«*x…ŒAg»ŠƒJZýB€jE‘Fë¾wõ!×·à—E¾ÿ)â #Òïz#Ãÿü‡[»$ºBxG0ò”‰KÀNAö�q—R]]$Ÿ¬ôÌè@mM
9½z±wž~`ä'Õ�[,¹-¡v´´µ!…Ä‘ŽOyt D…^ý"ˆR6®2é¤�AýQ$Ÿ9ø;,^¡¸ú\þã`Ù²e\~ùå_xíŽÈØGÊüO—,è¼h_¹ÆHù~Á­IùþÖoOJù.ò·|¦®ÍsèÕ'D]«â@~-ÐYñK	CÆ]Jey•ÿ=§W/ªö½J¸Ÿ^­í•+>áG”lý+=ží@sS#«WLKKO,|�[®º�EïEÉ÷¤¥½T„Ö}º¿ Hï?åD2LÛ�
‰ãŽ™NÛ�5>d:„�@rõ¹©"¾¤	:{ÖU�޽ÿþ
+¥¶DZm'ÁÁ|1ä8؎²mP`;¶mƒJŒA&ÓDJ‰”R„!Àˆ³ïîrLW”Q^ÕÄ¡À#‚ŽÈïŠLÃOST7+úåt£u4—l cðÑ´îÝMûÁå)&à�q—úŸ=Ö_KBùk¯\A¸ßÙ„û�M¿ÞY>òö¯àŠÇÏfém&ݺ÷ ©9ñO-zCOÜ€ÓÈ÷ µ=BúÀ“iÛÿ1(EÛ��„û�G©¸�|¥´íÿûZQ”Z_A.·¹æ<Mtò<ßÉ`Þ~ûÒÓÓ\Ú(åh*ûR ¾Â=‡†½ë^ƒ¡3¾‘gI)¶ÕغvÃúvóOf>šŒÁG©~€êê:bÍøß#µoaE>ö¿{«4H™Š$Þ£Gw”£|… õÀjZÛ»¼áŒcÎgð�³§qáÙSùÎÙÇrþ¤1¤8ÞÕb L­{ßäÏóÿ…D{¿Ì?„ÔÈÿ&@}¹àÙáàŠã"_ÿ!.H€¦â
þ�­kWÑmø4ÿ{·áÓ�¡Rd¨”pŸs}½ ÌŒî�
PY]$ˆ Üïll.{LkóÙ99�½{
+Z÷ˆÂ§…ôS÷ŸÌ…gO…$…N ‘.;ÿÁy'�Þ¨JEiÝ÷>­{ߢmïÛ‰57qäÿ‚�À76Ñð�ÒÀ7�xâ„fñ݆O£¹$A2TJ�19@‚#˜Ý}¹ŸŒh*«ë©¬®÷�9Iѳ‡V$3�KßÑ—è.§lÛÿ1m6¢TŒ3Æ88NçÙKUð%ˆ .Gðe±üñ¹¿!_êß7I‡Ã½ú
+.î+û¾Óåñ+ú$ˆ¾£Â×Õ1±sÇ&uIžã#zÂ	3غvN˜AiUs
+)DÑ^Y’‚ìdðÄ@òyïXF¿³q€Wî0Yºt)ÿø4“–H8QPqmû>åpö©ã‘.U©W½ …@š†ôl}xåÍO½×ÒÿDÂ,DÀ]7ÿˆ#CšôêÕÓ4|ÚŽíæGpäJ ­°å€e[ÙIJ �Ó@JÃ0S”@謯ø}'bR]°–‹¾sd1Ÿ<HF¸Ç
¶®]å#ß»&søxÆŒêǦ�ôÄw5�‘ý3ýït<­­ Ü÷xþëôí¬ýl=ËVÅÉL롉@µ£œ(ÊiÓœ4Ê%wV‚“`0ˆ�š´¸– ¯oÐØ2HZ÷½‹HbwÝüÃ#š˜pZYY9	¶ÒVŽãš›_–´5à8NÂW¡Ò01¥ÄB`H#…ÜŸÖïßáûáàH‰À7Ê“9€‡t�$ëYûpêyûßW¿Sèn*Ü
+ýOüÂ
åôçõ»ºñÞ»ZÙkÝ·‚ÖÄÛèWT
+<Ö8b¼Vì•&‚XÜÂ0˜BaÛ¶Kÿ|g È|ÊiCÈL2Ç•­{_="䇂itïÑÁ�-ܙއ/	‡ºE)Ò·o^{ý�/$	©«Þ[í W|iU3Yûøÿ@#}õ;…l; Wh¸ÿð”‡N95AÝGM ¨¢%å˜a˜¬®àú+ÎOL’›�äÑ{¸ß8-Þ“‰CÓ­c;‰–íMëÞ÷ÂtikÓQÅùùõßñ8]ÿ3¥I÷nÝéÙ³G—“•ð!|9L©ÇU§³ÿ£Êák¯>vÐ¥a\ZÕL·áÓÈšØE”ñBþ¹ºü½)Ÿ³'ö¿w5�¢ŠŠ*Zè>j‚�ü‘ý3i*Üê{å'ACc=R‚ôF!³•>ð8Âýǃ˜†fõ†4&FÀè4fG)ÒûOñ¿·î_�!R;„ΑX¶…eDZ,ÛqRð�”äôîM8>ì„	<b<2"P)SïñŸ!_6ÇòˆÁQ¼úêk‡<-�NfŸ·Ú=d¯~§0…’aü€§�7Š�çžhd�ìŸéŸO–ýM…[ýãÖæf
+‘P´2žNŸQßtÿ™†ðM>!µ	¨ßMéï^_±…Mú€´ì}�–½o$½©–—Úõ¬”ƒRR$,’Ã�—ÌÒ1—ñ‹Q— ƒä{õþÓâ…ã.¨C�Ô/¦?ä»ç£ˆ¦¬r<YŸ¼âO;o”/â­šÍoúèSÙÂW~¢‘]S[›4N‡ŒAç“1è,2Ó{ÓÒÞ23úÓ^±…·VnaÕîäЮðqP¼»UˈöŠ|a2�é#¬«ÄS¥¶²µgÏQ„Ò„Ò¿ò=þ©¸ýB"PŠäÈ+€®ÃéB$!߃®ˆ@Ji Ã&áþ™‡eïÙ3~@ˆñBdOLöÄÁ)
+ wï®ÂÊ”ðÄ@ÇÏuuu¾ÐvaPUøwíØÿ1ÕEï$f[Àê=6+w)¤¡ÍÁ7Vlä_ï­!Hp‰�™ 2�ë³Õ«Ï1´¢Ã?¥Á´ =³Ÿ·àâÏOnM¦€/ú‘JWs÷þý/ ߃ŽD`¦É«3M®ø0H[EêÅã„`À(¶Ð\au~â\2q$«ËßK¸ÿp™>ðï­~€�ýP]]�ã ·}	÷±óú³Fú€ãQ¶%·WlåŸ�>À[жëHx*Aë¾÷ɬã^\àP¹„ wï¾G<¯ZS¤’À‘ƒrßG p…£Àø¦Sãƒ|^}õ5.¾ø"¤i˜˜�?ÏäýÛ‡ø%¯ð®ä¿'û“¯÷þfOœ"ï“?{0xÈ`ù×_Þ!nëj[ƒf€"Œ£[’­d�>ð$×Äa�1ð@Ѻo9B˜apÕ9]§­KCÒ«W/ä—E€Ò"Hüb™#eŽã …dÍš
¬ß°…Í›·}“1¢#B¾'ûö•(Ó0SdÓ�>P�ôouCBö{Ÿ=sÐ;ï]Û^QâßÿΓSž··¼”wÞy‡ÖÖÖ”ãÏ/sÃÎJ镬â(ógYGþ }àÉNp!Èx­ûWê¯2[‡ƒ»`Ý{ô ;+;1w¾0O\l¦OoÚÂT¼÷þ*„X–E$Á²ºIW¥<e3aîÂad2MÓµ*$ß={Ò�¼¶B/˜ŽŸ¦ïsŸuXGЗ@~2ˆÊ•!;[ƒg=VÞ‰<8qt<Ö^Q’0ý:Àkÿú'ÅÅÅ�'ÍQÌé]2}”
8 :ëGAÆÀÓ@¦és¤uŸ&šŒ�g€Hs5u¸úÜ$_~„3ÂôíݯÓï:h?‚R
+!R¼÷þªNB ¥¤¡¡¥·Ïž�­l6®^IeU”ÂÖtÿz�X¤”ôµ €âzƒ¬¬ž˜¦A0ÔA)?P!€æöå
†‘I&ÆéÓ§ø‹VÙÎWB>€ÙòÞ¿}ˆOÉîJö
+²Æ
$Ü7'j!\ßy2„Óºµ
+)¸þŠóY¶*îê’Ö½ïº'ahŒÊPJž`ëþ•îÊ׎¥…Ëã	"�ú–C!__"p€ï¯ö-„à¦ËNgóÚXS$]½M1ûÓyã¥W)h
óè‚÷9aˆƒ�±-Û¸æGÓqXð×uضE³eã8J»‡]¢8óøQ˜¦dùÇ»±,Eck›N“S�[†$É
éÕÚµŸ˜8Nj0éØiSø2 ª*÷}!étÅ
º"ˆŽÇþ2Cñ½DxùÛÚÔs'…>xÿ]òó;ë~˜O9,[eѺÿý”Óƒ¾å]ˆAZö¾î}ãÖ뾋RJ#ÿœ$äýûõ#ìlî½»beÊwÇq�R¢”âšKNbçç‰ÙÔÔ·SÞÖ;8Nc]Ÿï—8ŽBÊ„µm!ã{iñPÕ¥¢5„ãè¨f<gˆLF5–{	ZÚ"Ô´÷ wz¦!Ù×�¦ƒCîs
Ãt‰Á3ǧá¯Ã¾2t„¿žÙY›±Û¶PŽF~G"Xùþ{lÉÏïüƒBjVœÄþæ¿ô®‹|OYÔù€×|+¨‘¦´‚•âÛLbûG�9ŠÑ£GÑÖÚJcS3¹yÁ0#U4éîèÔ-`D÷6ÍÆ‡½­ÝÜÕ­¹@O»šòÖBŸU{«QÉèqªÚ¢ØÊ¡¾-ŒãØØ¶ƒãØŒÞ�h4JÏî™Äí8Óà`kj>¥5‚IÇ…B>/Hó×ÐŽ„’‰ÀC~WïŠÇÖŠL"¨>XAMÍA
+Š(,êZHЃàùeËÉt.3ÏL Ì«LÉüí ÑÄСC»ôï·µ¶bÛ6õ
�45¶ø:@,#·�B"
Áªפp.¥ñ¸E4ᤧ£…£×±ä°ö³MþuÁ{Ÿ½ï¡Pˆ�Ù¦”Á I¿ǧ¼‹örêrº@À$
+!…8t4ðKÁÅ_täðU@)…í8	-Øq8p œh¤=e õuõ”••¥‚G^j–”tòê}}”^õGm­­457�ÛD"jjê|Ðï’—åXÄb1,+ŽmÙ8v(|îeÙ6ñXŒ¸'·ˆD¢DÛcØ
+ÒÒÒHOƒús0pxFg�-E·:B"ðüGTþu@kª’ýûЉ´·u9¸¬ì,²²³:t(5µµ444RZRê#ÿËB·ŒL&NOVvöß“ž‘AzF"ç~ôè/ÿ®e¥¥´G¢Äc1ªkk©©IMŸóœˆíþÕQ¹�)罊ŽR|H�t8,xȇÿA(//Ʋb8¶ƒeYGTÙëÀ¨‘#4W(.=¢ßëÞ³;ÙYYdf¤Ó§oÒÓ3Žè¾?=öÄW~ÇŸßþ³”ç$ï»ví¦©±‘ææÊö©½“XPI)qÁ[åžpX8$#@|ºæ}�Ã0éÑ#‹=¾Ø7ž55UÔÖTaA¥ï—…úºzêêêinn¢¤´ŒáÆ&B¶f�ìììCÆð_ñG
+‡#¶mßAVÏž8€Ý»öÐØÜLKS–mû"À4
LÓÄ0ÍNp¨Œ Žâ #òÄÊÞH¹Û³×¥�‚�P'¢8p œÖÖfâñ8ÿ—à釂#!†ŽPXPD}C‘H;iá0ñx!Œ#'ð‰ +äCÐåEID!ÿ#+ý
+¾é×_¬…ýó¯t:wßìqþç9‹·ö]Ý(ø*Ä�¥¥e´4·Ð‰¹JöáQx¸´°#"€ÿKðeVùõ�¦WOíG¨iˆ¥ ÑC~MC¬Ó}Þu‡»ÿHáë@YY9ÑhÔ÷a$é§ž~Ø{¿Q%ð©§Ÿ#‹ùΕäÁÜvëO�è‡Cà¡&뫬òäÕí!¹ãJî
+ùá‹®ù"îÐqì_… †rÈsÕÕ•ô>„ë¾!ðøŸŸD†i¥ÜBåÇØº,ìøßù$¯ÞŽP”ŸHŽ9qÚ!Ÿ™ŒÐC!Øã�t¼¦#‡éxþ›àÉp("øZàñ??é¶…ûj}�<„åoàýâîG|ßó¯t‰ìdHF¼÷ì÷‹�Œ�nuù_Ä9¾È¬ü²p(Nð•8@W,7y’“‘”Œ8 yÉ÷n"õìäs_Eþ~U¢:ܳŽd‡âJ‡‚o’:Á—"€#•µÉÈ>ä%OÂáXöáîïøüÃý®g�H”§w<ß×8«ÿ2×
+Ùu’®®û¦!™¾P
+éGºzï;«öŽ�œ8�‘¿xÅv|Ž–ç�‰£ãï{1râ4â
;ôëÿõîë(ÿ»ºîpc9kDSÊØ=ÄW”nN¹¿+ÝÂÃÅ×%„dq`ÌžuÙwuÑŸ{‚µk×ùƒ™6&‡
»¾íž±R²ûð?—Ô‡è+¥¾Jg–z/髯ªHAÀ´19L“ãß0Í­<ö (%õ¡NÇë«*(©±aW�.™(’Çæ�‘åœÓÇûǽß‘eDVÔ÷†]u7yL
+r�´Þþ³½çt…ü¢ü
ŒÈŠvùNÞ8¼s×_<šÆÊ­DÉöŸŸÉs~ýÅ£ýÏk×®ãÄŽÿZDÐÖÖBFFfg�¬Ø’µäŽ+̃¯#ŸµÊ“¶®¾ƒG|º8°Áûá8‰V5R=ÇvRß/Öç=äw¥Hv5ÎäEðEÜ£ã<&s…o‚TWW&t€;w�FرcõõuÄã©}G–”Ì.5™‡R²ÎÑÔå}Þñ®®ïÉ_
'ûuÝ¡®=’gy×é˜;.œ#YH_•©‰G­«	òò§ÇžèRq;ܤH)8c˜®žxÑýG<ޝ?¿ýgßÈïtŒþoŒûëÂÿs®àÿ?9ôîÝï›Ï0ÝíâHë’ÕWÜw'/Î{ŒAƒ‡é²oÇáŠn'Þ=üƒ:Ôëýñç¿pëîðcîÿÆý)þãÀ³¾2˜†‰4î}á	¦ï,6n\OmÁÎü�n§S›’J$Ìž2–Û,áñ«/gñÆ]‰ón»ÿá3&SS´ŸÌ�1þ°æïÄ"QâÑ8Ç̘ÀÎíÛ¨/?È)œÙ)3RšŽ­Ó±¯<e$¿|öyêʪ8áìÓˆGcXѱöûwóû[ïÔ)gÿ?J_Êð³‡$-33 ˜žÆ“¿¹…ÜM;üóÓ¿wVÊõ+þþyÝÆÒÍE�{›t€YS�!wc×›EÁvc8Žß@ ®¬ªS,Ü!5ôÊSFqý½ÏéŸu³jmËÂŽ[8Ž¢ÿÑÃùÙ³¿`øð‘ü÷�®¥¹¹å&¯þ»w1ùŸ†ŽžÀC@ZZ˜áÃ�âÜ[/`ö”cX¼ig
+ò“¡¶à ‘ñüê-Ü|Æq,\¿�«¦�!wãnfOÑfNu�[�*ÑÈw«n7o\ï×ýà8HÓàŠF²ôã" kh_¤!Ù¾m›ßzÑí2̤ÉS¸ò”‘ÜóÜ«d
íK}YJ9„2Ói¨¨N¬K˜%%Eüúåçý0ꃗވRŠ––FÛþŽºŠøà­¬P(ÌðáÚì¸ôÙû�Àc×\ÉâMz¥Îš’°Ws7íеtB’3Z;^j€€§W®ã¦ÓÈݸ‹YS�añ†íÌšz½GöGNÜæêã&°pývPPSä†A–˲Éû¸)Û¡¾¬
+a”­Ëª…)õg`UÙrVý+QAð¼›X²¦(ñ¶nA…wEcE=M´·y`Ù3<xÙ
dfvG)Ekkóÿ3„p¨h Øšÿ¹Bbš&ݺõÐ
+œ€ß¯û³§Ãí–š.¿çrF ¶à9£P]p SŸ™“¾5C϶ÜxÚò60kÊÑܾèEª*X6G+{¹wi|;[¶l¦º¨‚¥s~NÞÆ=ÌšvO¼³Æ/Ä@Jvn×+Þ
ßõ¹Â'o® kX?êË*ɪ_²¾¬ŠùsoàÅÏËÁ�]%~U�m;ÒTÑ&�0¥À±m·vAñð•7éäK
+E[[ËÿiB8\>€Ù£G"uÚKõúãú2{ê8oÚÉc×\Éí–pû‚%8@Îè<~õ~š˜‚[]"˜:e*­
-~�ÿ³«6rÓÓ¹mþjŠ+‰�†æÓŽaÑçÛ‘~}¢ƒ@2sÊQ,ú\§`Í<u$yŸ”¸Èw@AÞÇEZ7N:ïÓÀsk–'*ƒ…Ð�—÷î(Á0%¶­üÞ>zë˜|ÒtWö'W”ãpùoîw¯Ä¥ÿõ{Âá@ÑÞÖêZÿwápÈåeE©ú´<ºöo˜Á€O³§ŒãÖ¹	q°ÑÍ�’Y“ÇøDP�¤œtîÝ}Iòó·ÐTY¯kýæÜÍ¢�»´n°As€Í›ÖSSP¡•=±KçÞI}«Vú®¿w~Êœ??÷r?LxŤ”ºžÏ�|òÎ*”ã LÉóÞÀïs?Ðà(Š}$7UÔŠ	ÇO¥´¬Dw¦stAGs•»CIï,ýõïñ;y¹¥Ú‘H›î÷÷N_„ü.	`Þê¿ ˜Áf0à#ù¶KAÀŸ=p�çnÚ�Â5ñ.õŸoi§¶¸Šd™l¤i•cÙÜ»Ám/hÎQSTŽF:À÷>J¯Ñý‰4¸½„KVÊ¡¾ü (½òÁÕ]\ÂÙµ{§¿³©pK¨šÔ¸mu?!„Ö?Åön9†ËÍZ6¢l›1SuW“¹×ü,ùÞ_¥±Xä?–Žù)pÙ“÷ø'Nœì¯ÄgGîæ]š\O�2Õ/à$	Å
+Ø´~‚ÊüR̽¥lîžÿþpý¹oÉë‰{îʇ¥ßÁâ
»™=íh.¿÷�€"ÞE8ù¼3ýn;wo§®ô >~ÁÙHt5®°}ûVw‰M%÷ê=‰ËFÙº'Ñ AƒÙµakBì�U;fÊx¤!QŽbîµ·v‰|¿±RÄbÑ#+ØøC~
+ˆmà®ç½ý0nüD¤”ÜxÚ±)D0eÒT¿bkÖ”±>Ø´q#¨.8€ÝeÁÜ[È[[€‚+ŽMî§{˜uâhÂÁLr7ìfóæ�ÔV°ì‘_à8ÁâM{ÀcÅõMìØ¦«‡�9fœŸþüéòU à™‡®eÉGE¦ÉÇo­ð‘~Ê…çàÄãÄcqª
+Ê)++E9ýû¶¥»ƒ¨Ð"«¿þTVUÒZÓ(ÌP�1S'h¢QŠy×ÝvHä'ÿ�Å¢ÿv"ø2ÈO!€y«ÿÂÌ´ù—LãÇOG±»dO¢y“€)S¦ú„²qãÆÕ� ,˜{3Br×ìÑ2Ö])ÁÌ0üCw¼^:÷~¾Coc;ÁʶùlµÞƒÀqãÆŽ÷ÙÌÎ]ÛýÏÂ�)^Á±cÇaÇ-¬hœX{„ƒ%(/+¥èÓ«�«Ýk‘PYQ�RŠ~ýû M“ªÊ
+ÚZ5q¬~]Gñ»›~Þ%Â}Î�´¡¶eYÿ6"ø²ÈïD€O(ÅÕ÷>™`ïá cÇ2|ïûÒ9w±xó.ÚZøð_ï‚„…snÁql–¬-ÒÍ–]™ýñ»«X6÷.­ßÉUÇŽaÑú]Zv;ºfîóOÖ€£xøúYúI©–­XóÞÊ”ž{Ž;J‰6禜r<Ñæ6â±8õû²Ÿn\Ñ»W­õ»]5ªÝ-ërzõF55RÐVßÊè‰cüVnŽãðè­w'íœî"ÝÇ}âs]}ÕÕ5Äb1úôéCŸ>�=þS�®#È[ýykµf�·f73O<Šìý|ìÖWbGc¼üè} $·-XJmaÂà/ιËõñëU’5¼/õ%zo¡¼µEÌ:ñ(¼áê=ä ÜU¿Àå¶e#
ÉÖm[|âZúq)ÊQ)صgÙƒûP·¯šçç\ÊaÉšR¶mÛBma%Žemi'�Q·¿
+'në>€‹ã(…²mª««ýδŽeQ}°ÊßàZÙ6±ö(FÀÀ±t|Á/ní€ð޽%Å%ìÚSH}m�.ï’qãÇÒ»W/úôéMNNß4|òW¬xWû8”âÜsÏO9'ÊËŠTòêÏ[[ ÿ®Ùͪ×Þõ/TœþÝs�B÷ѹùôc¹má2ªµïŹ¿ðÝÄ
+h«oþë=²†÷áw×~�%Ÿúıeóf$ ‚&f(ˆ”ºËF]q¥&< ÒØÚée$а¿Æ·<gM¬-¶͛©+;Èøé“‰´´Ñ\]Oåþ~nNvÊQÔÔÖhö튣ì¬lêëëýÖtÂëÙï7…ÔË>oÞïIjí}<x°ŠWþú7]ßo0Ì@ÃÜqÇ�ß8x°iÓ¤ÐÖ·eYXq‹H4‚í9¹\Ñ•LRéx)8ykvë¿k@J²‡õó‘qÆ÷ÏùO¯ZÏcW_†$ÁþgM«
Ç놩'¨¾¤Šëî{–Y'íÿ°0A“ú’*ªvàµÅZ&×UðØ5?æáë.`îõ2÷úi(;HÃÞjêöVã8ŠgºÆ'&+g[~¾ŽÚŠhk;±¶ûÐÖÐB[}3íu-ì+,eq‘†"�­D›ÚPŽ¢¶¶F—h;I�L,wÒlÛKëóî?¥¹‚ã’RвÒÔV:BHw¯"éö;–<þç?ãˆ_¿~7¬?âë—/Oì*"ÊÊ
+Õ#«^òÌ<ñ(ò>+Çñ9€θè[þ5žÌw”bwqµ…®˜û”c#¤Ám–pÔÐQlݾ
€ú’JÕd�臷ªæ^ýmr?*Âšì*ÚÀc×ü˜…ëvÑXU‹a˜(Çbö™c¸çù×@Aý^í8õü³Èß²I·linǶlêÊ¢b:úgÇ,‚™izµ;*ÉœÓë6;+›ú†ä&‚ììlwÏ ­`ÖÕ×�RääôB)øÓÝ÷p(xï½÷)(*ô9€4$†ašÍÂ00¤ Ó3«'á4¯+HbGÃp·Ž“RwH7B¾·ÔóÀ:
+tÝR¾˜xpî¹çc^þä½þ�ºb·Ï¯”äoË'{D?êŠ+9ã¢o¥ Ý	(xø²¸oé›ÔWpÙ=¿óBÿ8
+*·–’5¼ŸÛyIßfÛ6¿»öb®¾ç)ÃàºûæsÊygbÇl*·•‡P8nŸ>°m‹@0Èâ•{wÌx>~çýp)øèͺ5K$Žã8ØÑ8ʲôÙzw�ì¬l•G›Ûè?d�‡o²³r¨««u?gûÄ¡Ô×Uë�HH¸
+¥á¬>HAQa§ãRhõÔC¾aº×1R¹þ�fãòåow¯zý½NŽ‘|×÷¨`üø‰ú£übþ?p”âŹ¿ð#ƒ¹›v°qã¢-íÔ'šGÏøF,;FÞšz�€·´gÏm»š5´�ßH)¥÷R`[†i²m[>YCûø¦¨p”Eœ0}
+íM-”aEc<ˆh{»vþ8YYÙÔ)E¬¹]ÿ†�.“qài†Bø@­	$õ,êöîÝ×ù ñ†HA¾ÞÖt_m[ÛoÌ?\§÷йkþß|yïƒ;Q¸î‡¾Ât×scÛ¶|7l«'å�7þˆ–ö:þ¶£’YSŽF90eÒTÖ­Y“˜T‹>Ü…Ô
j
+ ˜A+j¹s&xjùzÍ	\:ܱS+—�åÕ88H¯úØÖ~…É'K¤µÝm«ªh­i"+³§«ˆ$êçcÍîFÕ.këjñº£øà·öOhú½z÷ê|¾Ôvì$ÑûI�tÛÑICbˆÄ>Gòk®~Ï2úZ�÷©–»!xÄàMÔ®ÿykv'lýd¢•‚ß]ó¯Ù(fž0šÜ-»™9e4y[
+7v<ùÑ8
ûjyaÎ�Xv”eŸ•�ÆõJêËjäýY^+e»rÎÏ
+r8ùÜE±s÷Njö³qõg3eV4޲Òº‡‰Çb®¦�ÛÇÏ!Ø-L¬¹�¶×óŸˆWxPW_çŸ9ü–/PUU™Âþ¥kNJ†�B&�o®¬ï8�_ù‡#‚#Ý4ÛôÚŽ-YWÈ
§j—oÀmd<÷Š}ŸÀb—PÆ�Ÿèß¼Ímò¨‘0!7àØ6[·mEM²†÷åîþ¡u†«.à¾ç_óçóù‡®eáÊÝìܹ�¬!}¨/;Hmq…¿1ƒ0”�¼I²†Ö˜R‚º$ݲql›öúVzdêžA]uϨ««%ÚÜN¨[˜h‹û·©�Ц¶ÔŽÌnؘ^	åѲ;W@ïÜÕE¾¾§È¹«ßC¾p•:¤üD@Ç„8ùúÌqå8ˆ[–>œ2CiÝ2Ù¸q½ÚõGïј:e*ï½¢·`q’"@vL—:çë«#€R§oi/‹Ãï®ÿw?ÿw½aS2B”­ãöj(¯æ”Ï&�ùr೫ýë½( ÖÛóó©Þ³Ÿ£Ç�¥¥®�½eå81‹ݺ»I¢êêR~:ÖÜNÿ¡Z¬«Oì^’rMKâOù{ôî„ÒPSSÍ?^ýWÊ1C˜f3h‡	ƒ¤ƒCo
+¥Ñ½[f0˜‚¾/cØ–ívGÐ÷yVèrýX,F{{{—V€rl¥�þ¦;.ˈ4·Pëfù¼8÷¼8ïôvÓ½6nÚHΨþäŒ@ï£Ð{Tz�î�bƒ<}ëuüåO÷Ò÷˜¡‚"�-Ì»îb}´›y×|ן]Dz�†À±,œX\‚­WÙG¯½Çå'ñ.‘tÐe+Ž?ç4-çmå§|×—é|?oÿ>e;´Õ7k-¾¾Žúº:êêë|–™Õ#+±Èý›Y=³ÉÊÊ!++‡ììbÍíZ_PPQºO_ïO^ê¶#»vw^ýz:…»Ñ•V=ä®OÀ0Œ¯ÌþãpbýðµÕõ/xÈ·ãqÌüüÍ)Ï”¦ ‹óò£÷³xÓðøÕWø¡àÇ®¾Ü߈ñ¶Kt’§ÐnàÖnášã'0yÒd6oÙL´)BS[OÉ"oMcÇ�cÇ6�8rè(¼È[<Ó”=Fñéò•Üò«\Ž;ãd®8m¿^¤÷è> ›�;v¸	ÂÂç>=dmi§´¸«]A¨[˜ººZßå‰îìžÙ]¹³äÏVRz€¢ß��ÔÕ×ùJã�òýp9A2¬®a÷®Ý¤ÎVJæFц¿ë™Î†2S·“RÇF¾"xDíH�P†ÛFRH	¶î^.…ÀN¹'�ü¸mc>zÝ%̾çqrð“;æ/�ÞOî¦nògbêoØ��ðøÕ—sÙ½ðgôÚã'ðÂg[™uìQ %bqîûã¿;i"JÁž];	vOmàkÕ+
Ó`Ƕ­ô؋ƽ5\~Ê~5_G›ö×ù,Ü]À½Ñرц6¬hDz	¤“&U,;+ÕÿknG•åûé7x`Êó’õÁ`·0ˆµF¨«ÓJáU÷þ’E®K¸¤¤Гì(IKá[€"  <ù¤góÒG~Àt·ŠM²º–ä_Žkátl!*]%*YÏèˆ|+f!s?ÓÊ]î¼ÛÈÞŸ^#û“ãfîþøÎ‡ý›§N�
+n_ø¢O}‹7ïâÅy¿@Çã7ìDš&K6o�¸=‚u8W)�TkjeHÿÁšý»ñv+naE£Zk·lº÷Ïâ¿^XŽr
åÕD›[;q<“Ž?–égžÄä�eÚé'’Ö=L $�"� ѳg–ïª�6·wB¾‡ØP7Ýl²¢|_¢K'PßXç{ÿPŠììÒzdø;J©·‹‘¶oßáçEH!�BS�! }ë+´oZŠi˜ÂpW¾á¶}Ot)ÿ:
÷´Ùëø»Ÿ%ƒÞgÙÝaÝ‹šºÉ¯òcñX´xí.&LšÈ¬ãŽbö}Oø,±½©�O?–Åv�d${$ÈâM;è=z ·>»„IS¦`L¼±ÔW‚�|¶üC²‡÷ó£r—�5”eïéÕH¢”Þ�»iÜ_›x1GaEb´Õ6Ò«woö¬ÙB "-#LFv**`Ç,â­ºgtÃ1CºøÃ¶RŒºŠò}ô20iÇ.MàÅ~•åû“ª€Bß' 'ÇõøÃ¿Ôiìuµ¾(†/  ¦»Ó©	´}ò,¦€ìsîÂ0Á ·ï±D}�6[!…ÛkØQ`$XBj·¬l@96V<�|+niÈ]«C¸³O8šÜµ»é5¼¿ëÏÕ¡Ðg?ZOZfz2}±ióFÊ”µeÙÌ÷Ù¯³éå:–¤¶é¥¡C¿¿}ö=†
nc©¢¢Zk›q,‡É§‡R…kói�FéžÙ�xLOT<§½©…Æê:ššš†DÙñ@š6i\÷tvVõ
õþ*h3QHI}]!×�L(ÊÝÔ1Ô-¬W¾Ç9„Dš	þꉋªªªRÛnmB.—0Ü¿-ïÿ��€¬Ï%”¦Çë¸ÄöuÜÁÊq°ÓmYoø²À�jºBÝ_ï%â@TAÔ�ÐI7bÙ. $³Ž?ŠÅkw1ûø£™ýêr5¬,I„„�`	¼[øFb¹$í`ðè¬1ó�?*î½ ƒiHâÑf €—aëùêKKŠQŽ"‰1á¸)Ôî­ tÓ®DÚ¹”ÇÑ™?.ïu,‡Œôš››êkkéÙ3Ëw)ƒ g�žTíÓnâ:j}B".è?d ;‰zÅWìÝO´¹�þCùéãÒ�˜“ä@4E&InÃ]ñA	–‚4	a÷´‡’xõ^‚3Ÿ¢½½Ý÷oã{€w�|ßPXNœ–Å·’¾£GA›1G�Ïr‘o±Xå(L/±3wí.¶nÍçÎ-ùäŒìÏ£×ýÈ•¥p÷¯ø?j¦§ù&Ñã×\Ém–€<~Õe,ܰ“oýðÛ\:q(wÌ…š"íKx纞aØQ#()*ı�¢­
ûj5QØŽÎà9P­÷ÌñB³.çJo©÷r0ý”,ACCƒGøþ²ö8€Fœ–…Ñæ6—½p9ƒÂ0õ¶/iÝÓAéí_„¡moÃËŽöí"+‰bBOòθÛÈi¤ÇØJhŽÐ?¨YqkÞ-¨ï?âÛå]¡_#·kÂðR4¾ò‹ndŽ	`íŠc¸Î ÃýívG@‹
Κùd;Kß“üàÚ¢
+�;ïV¯Ýíûûkܬ€3¾ó-nœ1”Ãâ
Úiû§Ù?fáçÛ¹rÊ(L3ÈŸnõ‹-<x#¹Ÿ2løâm†�AÑž”ãи¿PŒ?iÄÚ"8–í®~oë|6i[¶ÞhQjdvëÞ!MM�	v.¼}æõx½ðnEùþĦÏBûç=BÓE¤ŠXkD#¤_aH¤”BÌPÐçr†»syQq‰V´<‹CA(	ùŽË÷ÆdƒÝî*b@ã+¿ôW¦áZµR$D’w\"ÈšýT
+´,º�¸ö¸4lWìÇè6-LC­E·£Ø{â8è1Ål-Ñ…ÐãÓbI¦€rFöOP $àz
O쮩€g?LèÊ)®š>–EŸïpwÐHXž†ÀQŠïŸÙŸ¿½·Ÿö¦ͪm�šuûÍgðöšƒ(ÇÁŠÅ{ò$�Ä‹—»ƒÖÑ<JÏX÷î=�RGÙ@@Ï=uÒ‰‹ìÁ£‡ƒRÔÖÕinÓç(©·lC@zV&í�­(ÛÇ�£F`†‚A‚á4D¾_Çrl¼‰š�ƶ­Í~“�zUJF¬ˆ{ˆ8þFf…fÓ!‘b…‚åÅ&,¾™€ÔHxEB{\sGAÆø4,KÁÞ8jLÀÝQI?×TZ49àr¸$óS¸ wín?³Ç‹ÕUQSRåï˜iiõµýÛ.cц] u‹yð,¸ó…¿2ûÄQ¬«£l;n3tðPìxœÌ>=˜ÿò_¤xYéü.Áö¤á&=˜†iúÖ‚f‰$	� ©¹Y#/-D(=�@Z�@Zˆ@8ˆ4ÒÒÃÃ!Ò2Ó	¤¨k¬ÇÈìÓaJö—葉±ž´néÓôs‚á4L3H]]=Ã$`˜nk'-Mpò©aN:3̉ç„ñöƒöø9—€)!œ©‘å!E¸¹'¡;—e…𑵼$@Ô-jñˆÃ­‰¥Û„4ºOJÃ0 ²Us0ÓÐD—ê.ašB\0`bfj, «÷w˜8i²¿‰¦�î9GçzM˜8”bå¿–c„Rä[?ü—NÆÌ{þä³ÿ«ï{m)(„r4h¥EŤô�nøÉ±üí­bj÷Wmis}zäÒ0Ü>Ä	.ä}÷²ˆµ}®‰¤±¹	#``¦…0p FÐtW­dÿ�ý´Ö4"Œ?åØHÃàÀ­¯(ËFM„´7´"M£SÐÆjkçÛÓNGÑ´i
+èa*¦ž«9czº  aí?Z9ó‡pà#�ìöF(�h„&
+SèÏ’„œ x¯$Ày#ã¾"únq€óGÆi™FtgÓÕ7R?£×ÄöŽ8–{}ÄѲ¿ÙÖ2OÓý…Ä©¿ü±òV¾7¹ÈÞ�Ô–T¤AýòmÀQ,œs÷.}Ã/ö©Ú¥S°?|¹k˜uÂhîxîe”uEûqlå·{I$Fè—íÕ=›Úý‰¶ºà^c˜¦»�H0·ùƒ÷×¶÷ZƒPz˜æH+fZ@#SH†��4$ÅE^øÛÖÈN\gIÃ`è°a!¤§QVZ‚
+ÐT™ˆõ÷˜CU~	ß9îZ6äêãf‚å{H<ñ’&NÏ@JÁªGª°hj‚š¨k®»Èw\«Á®½î.]S€)o8xÜO÷ú $ÀŒáqÚG§ÛA
+Èœ˜æ­]²L›øŽ8qŒQâ6ÄâPß­UZ7P@·3nG¬+ü›˜}�NVÌÞßGp�ÛÌ!÷‘[ý=pAr÷£¦èçÜÂ’Ï
+¹ìØaüê¥w¨.Ú�Š;,ž{‹?Ýå³sÛŠ³5ŽRÔìÚ‡�‚úSQQ‘P΀°ÑT]ç€aÈ€™�‹IáZ/sW&¯P=û÷&gP_ÔTººÔ•Wã³åЭ_MIB¥˜xÒ±H)1CAœ¸E0"QX\€ã(ÆŒËýç_É;ï¼ÁŽ�»hߘë²lèfê•’úŸ.¾n„1ô%WØooå㥭V—´"©èÆttÁ‹ T¼QàÛ#âü«(ÀwFÆy»8ÀE#ㄎSÓ ý0¡ ¨mQ='ˆÅ@о=Ží@«m64zà,]ìb.^»›ÙÇÍ¢9?sY]b½ÏºçÏÚ"X³ËŸy¥¸î‡Ü5ÿ„\qü–|VÌÃW\Àuÿõ<‹æü”EkvúȰã 7aù·€R\ñý‰¼ÿi5JA¿~š´i­D†ÃDZZÝ]b¥Ÿ�¢y8ž#BsÃ4Iï™I÷>Ùô1ˆíù[PJ‘3¢/Ò4ÁQŒ}v,{|'Ò�ƒ5ú(Á 
+E0D
4MMÃ4!�¦
¹z8Ò]	’šÄm
+v¼Q…R‰AþZ8õÊgÀŠC8,Üì(ýÝÀƒ÷ê7NpÊÍ™LiÕc:0Œ ›6;ˆïŒÐ¦À‚8P·9NEŒê¡9‘z,Ñ.üÎâæä|fŸt´6ÑžÁ;çÿ•ß_ýCr×îFx|ËVlݺ…ß_÷C­Ñ^D)$«^]Ž,|èr?+p‹G%ñ¨.žÌ߸‰Ú¢
+úôê�Bh‰ÜÁþýûSUXî‰t°…E
+@Jé‹!%é=2ÉЛ`8�»gŸÎ’OJغi3f(ÈØñ°ã1½Õªƒo.®[µ”ƒ�†ïxnÎ
,]S®ÝÛý¡ŽŸ “a2ò«p°Ùö÷X
+Ò%= Žé, 4K¸ðv¨Þäš`6lüH‰'Ÿ=‚ÙTdâ`½W²!5—:þÚ’sa6/jÑD" ¿\Wi�ø–ô•?ÏúP
+úž&º¦�¸û;­®üo°|T“yÆíZ	œu‚Fºç
+žuÂÑ(G‘»n[·æSSTÁŸ›”(غu35E•ÌpÓÅÛfÕëïú¬ìôï|Ã4Ù²E»Œ•å`Å-j÷ìÇŠ[Ñ65Ð_ˆ°G1¶m¥¬üŽÄ`šž3S`dõïE·ÞY>Çè7jkÞù€ìáýùýMßgá*MÜŽ¥³�m+Žm;íÁA—ÅûöÚÜ«)®LÉ®¹tâi`hðqºu7èÞMðø¯Z'™U&pçã¬*ƒ!'¶Rº&ƒAǵ²Y—;tE„gÇïÜÄpÔ 8Aו±ko€qCb¾[9æùýyϾ ÃΑ¾w2`„†„pbŸµw´ùG‹€:K_\AÆÉ7{±€Ý!µùç~÷ólGûìDEœðÔW7mJ 5õœáý5—p`ë¶-Úÿo~]¾äŒÀÁ�º€¢¢²‚þý$°éM^ @ -Hïá¨,ÜÛ)KÙ¿\yîb�0éÑ'›ÌœžºÒH¶¬YO0$ÒÐFãþjþ²i/·œ3•Eë4ךyì(–m.ãý¾í'À&
+>Ç3B&yÝÎâõšxzT
+LÓ¤öãf$Œ;/‹;çfbHM0¡ Øtï®ó÷}–�P¾.ƒ lõMAÏGà¥8h~©ØVdÒ�˜ïÒ�+—•+�ø�{ƒŒ¢w b[#ÚÂPš›dÎûÜÈÖÇ=ßhéwX1Lßô&N˜˜²9±�PSêz'è'¯zõ�$¬zu¹ž-GéŒ]a°àáq”âÚûŸq›8)N<w�`Û±ÙÕdqà€N$©¨¬Hɼ4d0Á°î¦îžI $é¢I¤£t~�ËúCaÒº§cLí>6%“Nš†ã(º÷ë‰íÀUÇÅ¢u{ÉUÇÅâõàh‹Gºf̯»”ÅŸïÆ0
6mØ@mY%yÝNÞÆ_Ùº-�«Á¬¨×.WÓ[‰ÚÏþœ~—ë/Q�‚eæ�+ž¾³E›€®	çà†˜÷	ر7¨d]V`%¦�­åÁ„ûyr˜XLÑ#M�‚¶ÏÛéÙ'€Èl'Ò’$ТÉVž×Q$¹‚XùêrrFö§¶¨‚œ‘ýýœ{�>çýü¢¹·à1;ÛŽñ‹…ÿDÙŠÚ’
+ν…ÅŸîæòéÃÈÞeë"��»vr̘c°¢1ßüÃ/³ÒüVZ÷À0
z@Åž²”J�'ý€Q83�Œ¬î„»wÓ	.ûßòézüõ…<ð›
tï—ÅmϼÌc7þ)
~þÂËx
+…‡üG¯ý1K6b˜F’e!1Œ ß«°~_¶Ù—–·!%xnOƇL�+Iv{Iš8ð_75rÙù·>žíœ4±¸¯„àØ°ãÕZ&þ(‡ÿ¬eÜ÷9
Þ;{°üµ6"›u¦s\@`Z˜Ð´0Á@BÏp\N`h±´øÑé˜óÑë~À�óÿªM@wžkŠ*|¦¼hÎϘ}Ÿn~¬­‚Ý\yü(ò>ÝÃÌ�bâøIZ”Žcsåq#Éû´�y×|—ëîÎ-ËqÌXÍž
�À¶-úôîã"U`¦¹øŒ¼ùIµÏ†Ó{dÊH#ÒÜ–Ò¥CJISsiÝ3À‰rÛ•cùÛò*ßV–æüö»(åÐc@�ûkiª¨gfÙŸ]7®LH	yßFîúfO?š%›
+ÙðùçS·>›ÇŸo¸’EwÑPY�ݯqG#Ê”Zæ*ôg—9ù„áE{•Â�Í+»_¯Ócu{N9Jsï)`Ç?ts»û×oh¢ëo(ÙœNh:¤M#%Ä6µÓ¶¡°† ÍÍÃ�ªTN Ðz“ï	œu‚.ÜœåúrçÞêSš§þþêï“÷Y3�MÞg…~ý¼÷†«^{Ƕ�Òà´ÏÖ�8”bÛÖ|êËvÜ¡­¦eÙXÑ8Ã�¥“5„NIïÙÝ�íâ5I´=ƾíEØñ¸O�p',	õÈðë„)¹ûº“†¼ôÖ>ŠKŠ]~#GŽ¢¨¨EÖˆLš<äoÝìѼþRp3ÈmÏ-C˜F¢!ºÁÕ¥wÍå§g}ŸöŽtOsY««|Aâïñn©…—œ¬løåM&?ú–fæ¦tWR¨Y†	ÂŒž¦Óå”rM—Rº9�a“ÛØgêÕnÛšƒÄ6êP÷èKzpð�F¢Íš`Úl­?Tǵ%àÝO¹YóñY®öïAî¼[Éýl7¹k÷¸¬Úgf …ßGÀµíf¶Ì¸èrFô'{x_}©‘P§{éE�½üR+„ ³OOVUQu°’ªª*×Ço¸f�òÙWZFÝûdÑÔÒLSS#½‡ä¾Îg챓‘A3B¸Ëï¿~û&?ù!Å%Å.•käÛ¶îÖTYOÙ§;¸ê8Mð'Lö5÷;æ¿ÌþÊmÏ-`ò¤ÉœýýóÉq‹X.¿ï÷)šALCÛÿ^$Ï[ù†Ë¦ÿ ±šÍ}|w…‚î½ë>OÓæ¨û€Oצ¡€¸…;î»,Ú¤ÝÌÅ›4ò7†Qh/_tS;Ñ�혓µhÛÔH ¤ÓÖ,–ˆ[µmûãMª˜uüÑ \çÏ\M³Ž?šÜÏv£m÷£`„I
+&�Í›7Q[Råj´zV[‡vË$ÇÍ8ØSJyi)ÊVØqeÙà �â�ŸžÃKËK±âq7l«sÛöî/§½¾…´ìLî»ñL^yŸ®¾qƒC‘Ö6JKK@š+êüÉäá‹ùËÛû±mýöe{KQŽÃ°¡Ã:y†ÛdZJ‰0[6mB˜“'Mvi^úbàû½'²kç.¢Ÿü„FfЀ´ ”m3rš^�Ç^œd¼léƒuŒ®�üû‡ý PÌͰ\‹Àñ¶ãæ$ÐL7±C$Ípº"²¹Ý·*V¸äØ8­ÍšF¨‰C�.Ä"óä1
SGï–m*!‰ÑkdfÝ«‰`ñg.Wðd&[·mõWµ£`ÒÄIlÉßB}IR
+ι…Ã5÷>CöPF®-©ÄŽY|öÁ'æÉHi0dèPËÁ¶möïÛ‡cÙÓCüaÉ'ê;È_>(-/ÕNž^:þŸ‚|Wp–#M‰º÷Ïöý÷ËÞØË
á¥7;o
+AÙ–Ýüæú‹È]_ˆã8~¥8Ø–íG6ãѸ>ù•Џûv¤1aZ™š‚�’á%¶õÁPë	6dkçœkzùר6x¾.!HAz (Ü„Z0MA4ªuñ‡e+G÷_­$Åä0€oý<‡à#ml+”œ~�A[»"³NQÿiÄgê¦í¹š,‡Ù'Í�[óé5²?³ïý3‹æüŒ¼u{øàË}	à€®¾ï)@°²ø]—·	Íý)?Ú,xøF¬Þ…°Õvüæ mvýÆ6Â�6”œA}).+Áj‹Pº·,%­É˜.
Üý^Y¹ŸK΄ðÊÊÈHÊD9rÊQ+ESe½�|)%ñ˜ESEȯÜ
+f––¦ÐÅ’y?gñºÝÁ€ÎETp€»�ÿ……{°¥`à1„€òü0#§´ûÕdWÔæ±›£‚Vø>ú4À€^5¸þ+zNË¢yc==§gQ»®SB÷iY´l¬G�9Uv\4¦;'®ùh[€L'45Ý×=hЂöùÇßO¥µ~7ç\>“?ò“B€DJ@îg»™0i"[]ßÀì{žðŸ;÷V�Ç&ï³Îý)¿˜ÿ7t_�…sÊ�nQé#W—»_ø'ãÆ�ÇŽÇu´ÍÑ)]5û*E[CŽm3ð˜‘��sô˜cؾ)3`€Ò�9LÓÐÖš”€`΂¹ÿú3˜»pµßôÁKÕ¾÷æÓxù�ý‰v°À/ï•É'«µô€A÷þÙ~âªW˜‘=2±Ã€
+`ÇâÁ€ß/±#(ûv¦‘}lÄ7Ýá4]M{[Ô¤ƒÈ-}°'è¦ÞÄ÷œ–EýúzßP÷y½ÏÒ[·ÔãmgÐôy}‚ý›	Ï¡£4G1MMdÍëÛÈDÜß9Eç% µ¥�Öc ½¶œ©Ç)š\Èß’¯#€I¡a�rsçÝÊâOv1ó„£É][€�÷éÆ3ŽÕo~Àb7`ô‡ë~È�ϾÂ/æÿ!«_;æ…Z%MûªÙT~�ô~YL=å8̀ɕgŽbÉ…È€ŸŸêfèѣ)-+ÕZ¾¾µ0gþ*7ö/ü•ñë›Îaá?w&8•Rtï—•R�#„ð9Àä“§'¢•¶CIi)HÁ•÷=Æ‹�Ü…mÅX’_ÊUÓDzà³mÌ>öhçá6wðôc¯u 7±1Ë5å\G‘°µÕQ:J÷æŸÚ9å4hÚP�”°á“4¦�¬}ú=¦eÓ°®ÇJp”쳩_§Åší>3î€é¦þx™BÞyoL×g®å”k¢±�ÄãPS/|î!…Ô�pòÀÒGîÄvâ¾0ºó¹¿¢Åì“ǰxÍ.0óøÑä®-`ÛÎíþ}3OÍâ�w2iò„€•ÿÔÏì9¤
剷´‘Þ§'ÒÍé»ú¼1†ÉOï_Ì“ÏàWóßöS°¥)™uþh^ú Ä�NÈË+÷"Iaa�OJáwôHë–A¤¥•˾=˜‡ž,¦¥²Žnýu9˜‚¢â"ºÈöµkÛvÜ.ɨ‘#<é(¶åçsÛsËøÓu?aöÔ£Èݸå(­ÛÅÝ'Op+“•»Óšý›ön”P²1Œ‚‘V¥b°½'ʉÁ®ž('�±os€!Ý ÜÕê-9iP¶Q/ÙAŠô‘)(ÛÒÝwqën•ë{˜
+¡ÉéfB‡øäÉZÖî
ðÝiqÊ_ÓîäV7)ÄJÖWnY6Wåço¦¶¨‚Å®ö?ó¸£È[·‡YÇͬ{ݦFnzX¯á®‡Ð·ðçþ”¼µ8–ÅÌG“»F7•\ù÷·iÚ{�Ì~ÙwΩÒ`í!‘~e«Æ�Ö
ž~p¿|üUF�9Š‚Ý{hØ_Ë£¿¹„?(G9Ž›†?	…º²é×7œ�RŠöx?±J‹÷Þx2¯¼[J±yÍç€Û%Üm[ãe)¥°,›ÓÆêØn2�ûÐmÜ1ÿe–Üô0[¶l$Vr5B
+>Ë‹òí;õÄR`š	Ï^ŸþALÓï¿…R`+‡y7U2àÇ?íÆËO6sé­ÝüöÒHÈv�›	$ 5w1ýþ¶®ö ¦¶,kõ™r2!ƒˆ»–ÛM1U±„@ܲl®ZùOÝ5jñ¼[AîÚ]¾·H§‚áŠüáºK¸kÁßpl‡ºÒ*^øí
,[_•ǻ}•"?íõÍ2Òp,‡	nÕ±­”¸ÎÎ];¨+Ó±†gºš¼ÕÅ!hoj¡ @Àóc–}Pæ"Ü�|¹”SP¸G럦A}y ±"WTèe2÷¡‹yùíý'6Ž1|D"µÚ½Î¶¤!(**¤×È ¤ë	t)Ý÷¥ƒ�£¾¾‘¡ò÷`+¶-o¥›ë¸Ö@Àõ·O?Ï•÷ã j£þ{ílƒk�µ5¢5÷ÆrC¼Ó®éƆ…Íçþ•À±×wcÃüfv–7<–Ð'®½‘±Iá„Êíl'Õ �6›]P—lÞsê�™uüQ̾çq?+àŒï�ÊI¤Š»J`îg»ùÃ5?ô»ˆ\û_ϱðaÝØ/ædÀĎƱ£qj÷V`Åâô5ÛŠëÄWvJÃàéßÎfÉêb¤ÇÖÒ”wþ÷ËüéÁKYö¾Ž zý“³GŽE¡›¨E¬­�à�Ÿ�΃O¬Í•õ¾á\Œ—ŽßúÆç,RR[ZEÖ°¾L7!]o¡ûsÕ«AÀ¦÷Z€Dñ‡Rpôºá((ü‡.X9°&“�'·øî^�v¥Høé-.dËÒä¶aa³O›æëÏÊe¸~I€…ï kÛ }fRÀ'êš–f’ié%’&›š¢¼¼X=²ú%f¹É»fâ²?^ûc~ªÍ;3``Åm@;‡jŠªHתøÓ?Áv,i²hù”²±ã6Žå�Dé;b0Ûvl¥¾ì Ï?|yù"‰âØ»wï¢q
zðR–®(ãÊs†óâePS kúúöî£ÓÊ#1*++	õÈLŽ×Ÿ¦œ|›>YG÷94¨óEþß ¿èÆ+ôŠ
+iKவ_wþü§hùàw¬¨è†át¼ØÑÃw)6¿ÔLÈ€ã·}»Dà*e‘(<ð'ƒË§Ø)5 =ˆ^1‰·Ò󋃘®œò‰akQÐËÏÅV:ÝËC<h‘qúè­1ýì¨ë�¬�C“
õnX1óä1¥\uâXòÖíæO×ÿ„Y÷<æOž£Rÿ˜ã‘�Ô}kŠô>ú©{½~ò5÷>ÍOÈ則f²äƒbÁ–¥wñ ¨0ë?^CÃÞ]Z¸"M�«�Ätÿ_wf~þ«—P–®Ú´úSÅBlË&-3]Ç	”¢wïÞL:ï¶|¾!#GŒv·”ÓYÆÓÏ:•x{†�¤¨¸È_Q#GŒ¤¨¨…¢é@å[÷0tòÑ~"¿o°;+dê¡®	ê…Dℌ„ÏÞ�‚c¡a»NÍ2Ýsò=D¶—}OŸ»¹úáKˆb[ú¼Ppùo‚è*;…£ ºVÛý! WV�µO´èç+ýLËË+ð‡ÒV@Þ:íñË[·›œQýýUÚî¿óù—-•¥AnݺUGÑæÝÎÂO¶ëèàZ]î•3¼/•ÛËøÙKyâ¡+xà©7t¯/ô«FÈDùÕ%¼ô~9?8µ/°×cLìÎßæ²|­Ì¡€�x‘+�ƒ€B6Cn™´»¥ki×VEbaLOölZ«QŽbú™'�DiªÐ\AÁæOÖ�RŸ>žHS±hÔç(>ût'Q%Aò9€A§5Ó¸ö¯ÎôWç±91¶•˜®,7]exæoCX174.5QD£W> n9\úë†kžnÑfŸ‚m{ƒÔXŠqƒâ~È ;€Ÿf�æqÏŒt”ƒ‰Ì<îò>ßÍæ-©-¬ wÞíØ¶Eîº=˜†Á„	“µs°l;Ål´m‹+ŽE®ÛD
+ã'N"ÒÒFÃÞj~ö@O>4Û±p‡_?»„ qo
RJ~ùð?øÓoÂÒ÷J˜yÁhz~RÄÛã„{¦£”âçW�Ä?WVðƒsò÷w÷ûr»´¬D¿ )� .q›;¡k+iw¡7Ž�ƒâ’bzì…rllËÁ…˜6ãDŠK
+IÓþŒ@€Ò
;HëžÉšê5LÏ:6EÚeÄZˆ„»óýAM”좜{ÊB8À D;í§&q#ï?ã²3xùÙV®øY/>ÙÊÌÛ3°b›¶b+xa‹Áµ“l-ÃÝØ�­tÂȸÁ	ä38ÆÚÒ™SÂþê7
ˆoj÷%›åŠ•¦¸V3
M�`±o_©8÷ç³ü[4çg,ÝPÌåS‡“»v�/÷“‰À4Þûû[,xèf­ý'‹R ¥®‰µËWñäÜY,ý D'p$­ +na˜kßýG)ÿí¥üfÁ¾Ѱ·†Ç~{9uMµ¼üN¹ïóP¶æB%…:$=tè0½;hÌ"ÚÖNc´™Œ>=˜wËwyò¯\ÅTwÿ..)BÙ6�ê8öŒ“ü±;–ͦ�×u
+ÂL9õx~óÃëBðÑêUìß¿_sÁ¥�”Zö.’.¸ÖÄB0 }”KlÌmÀQP_©Ã±Þj5Hdy«WÊ‚Ló>¶–™0$ÆÎ½AÆ
Žé|BtzXµ¥8vHÜO˘ÆÌo÷W›­‰§>µV"o1ý¬Ÿ'<�ë¯-®BJƒ™ÓG“·n·N’TfÀÀ¶lÜDM‰›)¤×Þÿ§]x³N<ŠÜµ€bÅËoê×ò2v“hölŠ@H·ré9¸
ûj¸ã¿_IÍù—i˜¬Ø%”æ{§öæo+ÝÄQÃÐ�"ÓÀ±l~rÁ0þòV)e%º­}FŸžHÃà¾g^Ãq\{*¿þóû.Bl„iðèÜñÒ{ûAAQQ�NØ‹Æý5‰’J±é£Ï?º€æ–f’áòIFÎ2q-MÒÒ`ÃßÚ�èlß|£†$ê÷¬¶DưNJ‘(!‹8:ÃxC¹F¾W`
+	KÜûl-ÛmÓ/0È´Á45[cD6¶Ó#�ø
Ð9ˆ首ù¢ÁèšäÍ»ƒÜu;™yÜÑZ?pS¦,ÛæÃ½‹£‹æÜÀ]Ïý5µ ˆºÍöé¶îO<tÁ²Õå\yÆP½Sà;Y„a°{÷êË«yúá«xàù7A)êöêî_O=8!
žùÇ&.9£?/½[N `Ï®]4VÖÓ£_–þi·£ˆ�kn#”Ý�œ¡}©+?¨]ÑB`¹IÝúgÑ\QßÉPn`ÚŒQÀÆUŸúóòúŸðâ‹:W õýGýã¦À/õØuº¡'´×ð̆H´Dõõõ–Îêõü^²‡GÑÉ>ÑÜA¸¾îw6CëI9†ö‹7ÔUÁ^¥QÄÑÉ 5VR¿‚³îLp€³~ðm_˜yÏ9ëûç',‚¤íÜ<t3‹?݃&NœÄÊWßõ3¬oÓöÇÓs4QÝ÷ô›^>¹ï1óœ‘,û°!`÷î�ZpóÇŒqw&kÞû�[~•‹‚'œÍó¯nFH�£ÍÕ�HCò«ŸžÍƒO®ÐŒ!`ºA'ƒgæÌ"oe){’Óh€¨Û”ªû ^�ghÚWÃÔ'êlçÙÈÛ¶nÁ‹ž†N¿•æUÆÂB]¤.¸+ÎïÙgC{(Kgm,
Ro+®»_+uÞÏ[np'ÓLÎ,{(Îe÷ç=ãÚµ6-Û"”�36@Τ Öö
+=.¯Q„÷ª^Bˆrlľ½%þ[^ö´n‚X[XÑ	é>òçÜÂâ5ÚjHòŠmÛ·‚•;ÊyjÎL–®Ò�!%;wí@xø¦Èû ”={vú
"¥xvÎÕ,ù°8%áQÁÎÛhØ[À“ͦ%RÏož|¥M•uüáÁbÅ-–½S†cYí) ÒÔN 3̳ó®fñ
+ÝÂUºÞ–-ë6д¿Æÿ�i3N`ƒ»Ò¥˜~ÆI)Aý
+uÏ㇮¹™-[¶ê-mphþP×íw3µýa™pÈxÕ¸­õ!š£ÊwéÎ|0@,ËŸmõ‹C=Nb»©Û'Á}δÙäç¶úÄrƒÙ@ËQiH©«ƒ
“Ķ·ûÙ@Q×ö·”Ö<è6ãVŒ;î¸ý¿½EÑZúõíÇϺˆ�JJHÏîF{]þ)
=vÔp–¼½’]k·0ôè‘~3¯¶oÇÚ-´7´àX6ž=‰IÃ{’_Ú¨‰ªF'z~°¾€ºú:Êijã™y×±fÏ^Î:öh¶”Ö1ëÌQl)©ó½Š½ûô¥Åj'ÒÔÊ[+7³â£Ý´Õ7mi!x÷ƒœwöx¶5‚ôÈìACC=ñ–vÞúhƒGÓáf÷0Ó‚3iFñ¹Ö€aƒiµ"ÄšÛ©(ÝÇ€áƒý‰ª(ÕæéÏ>�ÒÒR­£ °Ê×�	ùt?ûI—ÀÎýnù}ˆãÎ5ºdÚÙq6.h¥ÉÖÈö¼|¸÷˜®Žà%‹@Åá'Ÿz-_ÐRe!«-‚Ò0ú˜Dò#~i¹×�ÂFs�vGÎ<åfÇ9ÔîáŽæ@î¼;Èû|w‚¿;�=¢_B!q3Xó·å“3L7…ªÜQŠ’¼÷‹}>8fÌXvíÞ�4
æÜp‘Ÿ
+ž÷¡^¡7ß¿�§¾Š¼•Ez§OËñ9€0
zéËœ¿Í’UÅHCÒ\Ý@AÑ÷×òÒ»:ÛÇjSpè°an×}†fŸ5Š%û“‹€Pf˜Ù
gÉ[e~2J1zÔh
+\1�o<±€�>×›I¸+¾ç™·Ó¼ò1ÿ:/Ê&�=\ uøüÙVßOà)v=Lh¶´þ Ü•�n$ü	Ê5ßPAH
+lÇ!î(?O0® `€Ñ㈭Bû¬Dø‚¸ÒÏVè`�âVÜ
§ä/IfN?š;^xÉ·
+ò>ß��ub¬yc•¿’VW¢€Ó/ú«^{7U”z£‚+g%oE±Öê¥ÁÃ×›¼•	ëÀQ!ÉÖ—[î_ÄÓsôV0÷=û†¦6i¸¦£¾ßƒŒ^=H«É é@B
+]Ðé&�Ã!0´÷î¦{rÒy3°-GûÜ�f¦åeàŠó³ôír
+
+:!?ZÛÚH2jü ÐÚõ®mÎç_ -›_oãïΑÆuÐÖ@3I…8.E¢Óˆ¶îhP^7P÷Û¿»öÀô!q¿~Pívª^â…Q
+[Ù�9€wËW—ªÇÆÉß–O]q%9ö¨+®dõëï%öp•;÷ò̼Ùä½_ÌÌ3G�÷�§h·ÛwG¿À§� oeR
+ÆŒËÎ;è9¤/7ÿjQÂvQŠgæ]ÃÒÕ%\qÚp–|Xˆt—�Ç�á—Ÿ;„eï”û›<A“¡Ã‡Í€º²ƒºàÒ‹¸¸3wïS¯1çæi�Ö³ä­2HZùÓÎ8ÉÇß|ÿZÿsSSS'¢(ªøòúŒ‹LºwÓ9{[ßmóëÿ¼Êo¯4Ë+!�»|?î*Œ{ü!á·˜;é�ÇSj“w-±âÑxÇV†Á–?ü’©Cb>qH‘Xý^*X²jÛ¥è5B's:Ž"?³¿•L]I•íó`a’9Xë–‘ÝtÏbž™3Ì<c÷?÷ŽË”îŠNlBåm±–=ÄÝÜQHêJ*¹éÞ…<=G‹†™gŒdéêb]b~únZ¾
+Á/ç¾Æïïÿyo˜Ä•¢ª¦Šž}}BêîK<¼ð­O$f—CA8œF�»y”6ð�š´G`×Úv_”îŠKsCÄË‹|g”nÚ`+=ñ¡{
+¬/×í÷¦ßö[)	M¤Ð-eù¾ÿ®ëXèfÔ§üæ)¦nÖiÛ6–eho‡¦&þí×ɯ®?{~€ªèfÞ÷˜ž3Ûî4qçê OÞg…¬zõ�âV-þtÛ¶åmn§¾¼Ú¿GšRWFÁ3s®fé‡Å\qú–}R®Y‘e³sÏN¿¸ã‘›.ƲãÌ w?ùOÊ«Á³ó®eéÇ¥Ì<u‹Vîa÷noB‡úR½ää¦éþƒJ±cS>ѶÒÝ”ÉQÏÌ»€%«ŠÙ¹sÇ3–�;wmi§ÉíTêY�Ê^yå%êuWN”[bîиn1¶£È04ƒö|^ë— „âŠçŽÐíÛ¢Ž  µìø¼<Èø[Äv-®®ÀÛª#ÐmããÄâ
+‡€$0
Ÿâ±8íÑ6š[¨©®!�øÏQ¨\þTb7,ÇQÔH ÝýÁ¼5‰âoG±…ó~æ_õÚ»ÄÚ"xN�çæ]ƒ—Äqã=/0ÿw7�ûQWœ<Œ%«
+Ù±kG
+1Ϲé"–­)EÅ-®8}J9Ü|ßB@1ÿw7·â!¹é¾’í¡N9y:»vìÀ‰ZÓ œ¥ƒ0õeyfÞÕ,ù°$•+¸ï¶sÇvªwïK!€dä<óìS>Ò•Û™S9Š–�K($Êïýc-Ë!aæTøöÈ8(ÁÖ½šÝOûÕ477cÅuë–¯Bq·+0	¥%€E<fÑÞÞFcs3µÕµ)�Âνó*å{l`þ'Û}ž�”›=Ý`ÆÅçáØÛ¶çS¹½	Ìÿý�,ùHgáØ–ÍŽ�Ûit½{ºPÒP¶"kXæÜp÷¿ðÊv˜{ãE(KWqåé#q‡›ï[¿à	sn¸CJlÇâþçߤ®ü ØV4Žc;DZ8÷]û¸æí•>Ìœ1’Ü•…¾öïÁÇo¬@9ŠcgœÈ¯¿{uÊ»<XÅÛo¿MKKs
+ò=hݸ‰�A·éƒ×N¢EAaE€óFÄÁ¶½N~è9b±Í­-Äc¶ã|e˜Bi¡ˆFõ¦ÍMMÔÖÖw"_è5¢/ÕºïOÞ§{ˆ:‰FÆ!#䱺‚™'ŒÖÎ!Ggì<;÷Z¯ÜÃì3�"wu tZØضmu%•`žyèLÃÀvl–|XèÆa°øƒÝ\yú(½m¬m“=¼u¥UÔ•T‘=²�Üð]r?J¤y=róÅüòÙ¹Dì0¤Ï Ú[Ûº”ÿy«Š4MwèÓ›5¬/ÊvøÍ÷®Mé °wo9ÍMM�ï�
ØJ`ˆÄN¢^ìÝóD¬,	�iNÿÍÓ:cXJ¤0�¦MåˆÀkú¨wé¨3¨.÷ôïõ>,½io?º�þ¡iürÆ¥„dÀÿ×ø[É¡EƒD÷ÿõÙ²€ÜÕE(ËÆ0MlKç8{²þ™‡®á¥5¥(¥Xúq)Â4?~<Â�X–
+–|Xˆ²-®<}¤^õ®9ïú‹È]]ÄÌSF¤Œ©¡´Šº¢J~wó÷ÈÌîNz·ÄÞÏÌ»!$Wž>¼k¥7~ùÅïý¦“ÉÚvcCƒ»õŠê°gHRã4wµÇí{÷‚1Ç5ÑÙ9ão}�h¤+C9Ž»Â¥K‡VB^§µŽÈ÷"¯Žr‰ «�Eöí+UšBº^Ý�¬z)‘ïä>0yOaÀW?xõMWH²ñì(ž™s-KW1ûŒ£ô*v54‰æsn¸Ð©1~òö*0óç^ïr|ñ$�+OÉ/Ÿy•ºòƒ<ýà,r?(ÆhÏÊÎ�;˜{óEä­*ÒD€V=ð«ó®LLœÛtÒqÓÉ”R,^¼�ºúúÎïþܵlù HsƒCeU®†åm†D’´´4ÒÃaÂia�–m�Åü8ƒ0¾„°}4ŒÁ Þ£Ø¶¶'�ÓÚÖJcc
�
Ä¢±”±›‡C>À/g\ŠW¦8oÕ‹þŽ¢ÔWrõ½O�=´Ž»s§‡™z7ëwþ\NÕì^ËvŸ…w ú{Ÿ}�±ÇŒí4–¬a}¨ß[�Âú
®pu	;wîH9³dUqÊ÷dä{ì5ˆp‡-[6PW[×å<ùÛ¶¸AÕAÓ�
L¿ô&½CºRÒmŠõ7qptûY	B}‘Éw(Hˆo,É·-�y8äw„_θ”Ë]Å/<‚¨)<À³^Cî*� òÉÛ+�|iÊUX–|X„Hêþy$P_v¤`Ö©# 	r?*ÒŠ  ¥AÞªÂäßûôk̽Y»¡—¬*æ�ó®<äV°ÉDÐØØô…ÈW8¤�û!¥+ÿÉQßú¡kŽtSCŸWŽÀ‘Û¶p7ZÓ;�„ÒÜj£#Ç…?N™è”šÞx¿¿bÛÖõª[÷ž‡¿Èëˆâü;´µðöùç½cŽãðÆïæû)[É“é,‰e‡¬B.ûÓ=A·Îé4Ž+ÿ|õ{«yû�QJ1gÅ‹)"Àvl۪Ǫà˜1ÇtZýsnº�¡i'w[W ”âÝåo³~ÆÃ"ßñ
+�€ijm< 
+¥låo	gJ‚�áp˜p8ìÎoÒÜ¡ðæS
+o“ª€�x˲ˆÅb´´¶ÒÒÜÒ¥øÿÊ'«:NbZIEND®B`‚

File diff suppressed because it is too large
+ 190 - 1
docs/examples/web/models_ray_picking.js


BIN
docs/examples/web/resources/fonts/KAISG.ttf


+ 188 - 0
docs/examples/web/resources/fonts/pixantiqua.fnt

@@ -0,0 +1,188 @@
+info face="PixAntiqua" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=2,2,2,2 spacing=2,2 outline=0
+common lineHeight=32 base=27 scaleW=512 scaleH=512 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4
+page id=0 file="pixantiqua_0.png"
+chars count=184
+char id=32   x=9     y=304   width=7     height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=33   x=391   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=34   x=240   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=35   x=468   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=36   x=152   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=37   x=176   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=38   x=303   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=39   x=495   y=266   width=8     height=36    xoffset=-3    yoffset=-2    xadvance=5     page=0  chnl=15
+char id=40   x=256   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=199  x=432   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=200  x=126   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=201  x=147   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=202  x=288   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=203  x=189   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=204  x=468   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=205  x=486   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=206  x=0     y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=207  x=72    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=208  x=329   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=209  x=277   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=210  x=182   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=211  x=26    y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=41   x=272   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=42   x=288   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=43   x=414   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=44   x=378   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=45   x=414   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=46   x=443   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=47   x=392   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=48   x=485   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=49   x=450   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=50   x=21    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=51   x=42    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=59   x=456   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=60   x=168   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=61   x=309   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=62   x=336   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=63   x=315   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=64   x=364   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=65   x=390   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=66   x=120   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=67   x=144   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=68   x=168   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=69   x=294   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=52   x=488   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=53   x=63    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=54   x=24    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=55   x=48    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=56   x=72    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=57   x=96    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=58   x=404   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=70   x=252   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=71   x=192   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=72   x=78    y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=78   x=78    y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=79   x=355   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=80   x=264   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=81   x=381   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=82   x=288   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=83   x=312   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=91   x=144   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=92   x=108   y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=93   x=304   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=94   x=34    y=0     width=32    height=36    xoffset=-3    yoffset=-2    xadvance=29    page=0  chnl=15
+char id=95   x=231   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=96   x=442   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=97   x=408   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=98   x=432   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=99   x=210   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=84   x=336   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=85   x=360   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=86   x=0     y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=87   x=68    y=0     width=30    height=36    xoffset=-3    yoffset=-2    xadvance=27    page=0  chnl=15
+char id=88   x=26    y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=89   x=384   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=90   x=84    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=100  x=456   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=101  x=480   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=102  x=54    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=103  x=0     y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=104  x=24    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=105  x=469   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=106  x=18    y=266   width=16    height=36    xoffset=-8    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=107  x=48    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=108  x=417   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=109  x=161   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=110  x=72    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=111  x=96    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=117  x=192   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=118  x=216   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=119  x=248   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=120  x=240   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=121  x=264   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=122  x=288   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=123  x=432   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=124  x=365   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=125  x=378   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=126  x=393   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=127  x=132   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=160  x=0     y=304   width=7     height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=161  x=352   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=162  x=351   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=163  x=336   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=165  x=360   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=167  x=384   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=169  x=433   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=170  x=224   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=171  x=105   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=172  x=0     y=0     width=32    height=36    xoffset=-3    yoffset=-2    xadvance=29    page=0  chnl=15
+char id=173  x=494   y=38    width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=174  x=52    y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=175  x=52    y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=176  x=126   y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=177  x=435   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=178  x=320   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=179  x=336   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=181  x=459   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=112  x=120   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=113  x=144   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=114  x=396   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=115  x=168   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=116  x=36    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=182  x=408   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=183  x=498   y=190   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=185  x=192   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=186  x=208   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=187  x=477   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=191  x=456   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=192  x=407   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=193  x=234   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=194  x=416   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=195  x=156   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=196  x=130   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=197  x=104   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=198  x=190   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=212  x=0     y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=213  x=338   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=214  x=312   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=215  x=357   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=216  x=286   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=217  x=456   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=218  x=480   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=219  x=0     y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=220  x=24    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=221  x=48    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=222  x=260   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=223  x=72    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=224  x=96    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=225  x=120   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=226  x=144   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=227  x=168   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=228  x=192   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=229  x=216   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=230  x=219   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=231  x=372   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=73   x=90    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=74   x=216   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=75   x=240   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=76   x=273   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=77   x=100   y=0     width=30    height=36    xoffset=-3    yoffset=-2    xadvance=27    page=0  chnl=15
+char id=232  x=312   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=233  x=240   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=234  x=264   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=235  x=104   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=236  x=430   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=237  x=482   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=238  x=160   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=239  x=176   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=240  x=128   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=241  x=200   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=242  x=224   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=243  x=248   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=244  x=272   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=245  x=296   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=246  x=320   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=247  x=330   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=248  x=208   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=249  x=344   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=250  x=368   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=251  x=416   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=252  x=440   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=253  x=464   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=254  x=0     y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=255  x=0     y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15

BIN
docs/examples/web/resources/fonts/pixantiqua_0.png


+ 456 - 0
docs/examples/web/resources/model/lowpoly-tower.obj

@@ -0,0 +1,456 @@
+# Blender v2.78 (sub 0) OBJ File: 'lowpoly-tower.blend'
+# www.blender.org
+o Grid
+v -4.000000 0.000000 4.000000
+v -2.327363 0.000000 4.654725
+v 0.000000 0.000000 4.654725
+v 2.327363 0.000000 4.654725
+v 4.000000 0.000000 4.000000
+v -4.654725 0.955085 2.327363
+v -2.000000 0.815050 2.000000
+v 0.000000 0.476341 2.423448
+v 2.000000 0.476341 2.000000
+v 4.654725 0.000000 2.327363
+v -4.654725 1.649076 0.000000
+v -2.423448 1.092402 0.000000
+v 2.423448 0.198579 0.000000
+v 4.654725 0.000000 0.000000
+v -4.654725 1.649076 -2.327363
+v -2.000000 1.092402 -2.000000
+v 0.000000 0.476341 -2.423448
+v 2.000000 -0.012791 -2.000000
+v 4.654725 0.000000 -2.612731
+v -4.000000 0.955085 -4.000000
+v -2.327363 0.955085 -4.654725
+v 0.000000 0.955085 -4.654725
+v 2.327363 0.000000 -4.654725
+v 4.000000 0.000000 -4.000000
+v 2.423448 0.682825 0.000000
+v 2.000000 0.565423 -2.000000
+v -4.654725 -0.020560 2.327363
+v -4.654725 0.000000 0.000000
+v -4.654725 0.000000 -2.327363
+v -4.000000 0.000000 -4.000000
+v -2.327363 0.000000 -4.654725
+v 0.000000 -0.020560 -4.654725
+v 0.000000 0.709880 -1.230535
+v -0.000000 7.395413 0.000000
+v 0.962071 0.709880 -0.767226
+v -0.533909 0.709880 1.108674
+v -1.199683 0.709880 0.273820
+v -0.962071 0.709880 -0.767226
+v 1.506076 0.859071 1.325337
+v 1.199683 0.709880 0.273820
+v 0.533909 0.709880 1.108674
+v 0.000000 1.875340 -1.177842
+v -0.000000 2.293973 -0.649884
+v -0.000000 4.365648 -0.627970
+v 0.000000 6.167194 -0.942957
+v 0.000000 6.232434 -1.708677
+v 1.335898 6.232434 -1.065343
+v 0.737233 6.167195 -0.587924
+v 0.490966 4.365648 -0.391533
+v 0.508100 2.293973 -0.405196
+v 0.920874 1.875340 -0.734372
+v -0.741367 6.232434 1.539465
+v -0.409133 6.167195 0.849574
+v -0.272466 4.365648 0.565781
+v -0.281974 2.293973 0.585526
+v -0.511047 1.875340 1.061199
+v -1.665837 6.232434 0.380217
+v -0.919314 6.167195 0.209828
+v -0.612225 4.365648 0.139736
+v -0.633590 2.293973 0.144613
+v -1.148311 1.875340 0.262095
+v -1.335898 6.232434 -1.065343
+v -0.737233 6.167195 -0.587924
+v -0.490967 4.365648 -0.391533
+v -0.508100 2.293973 -0.405196
+v -0.920874 1.875340 -0.734372
+v 1.665837 6.232434 0.380216
+v 0.919315 6.167195 0.209828
+v 0.612225 4.365648 0.139736
+v 0.633590 2.293973 0.144613
+v 1.148311 1.875340 0.262095
+v 0.741367 6.232434 1.539465
+v 0.409133 6.167195 0.849575
+v 0.272466 4.365648 0.565781
+v 0.281974 2.293973 0.585526
+v 0.511046 1.875340 1.061199
+v 0.000000 5.012550 -0.969733
+v 0.758168 5.012550 -0.604618
+v -0.420751 5.012550 0.873699
+v -0.945419 5.012550 0.215786
+v -0.758168 5.012550 -0.604618
+v 0.945419 5.012550 0.215786
+v 0.420751 5.012550 0.873699
+vt 0.0523 0.5444
+vt 0.1817 0.4284
+vt 0.1641 0.5859
+vt 0.0177 0.4451
+vt 0.1526 0.3090
+vt 0.0189 0.1737
+vt 0.0188 0.3088
+vt 0.0561 0.0762
+vt 0.1757 0.1924
+vt 0.3024 0.4534
+vt 0.3071 0.5902
+vt 0.3413 0.2459
+vt 0.2906 0.1614
+vt 0.4116 0.1801
+vt 0.2834 0.3774
+vt 0.1526 0.0362
+vt 0.2917 0.1622
+vt 0.4446 0.5865
+vt 0.4443 0.2989
+vt 0.3711 0.3021
+vt 0.4396 0.0275
+vt 0.4094 0.1829
+vt 0.4219 0.4255
+vt 0.5474 0.5381
+vt 0.5811 0.4376
+vt 0.5715 0.1505
+vt 0.5811 0.2997
+vt 0.5272 0.0533
+vt 0.2208 0.2194
+vt 0.3456 0.3610
+vt 0.2878 0.0321
+vt 0.2321 0.3392
+vt 0.4432 0.0177
+vt 0.7347 0.7934
+vt 0.7382 0.7595
+vt 0.8982 0.7768
+vt 0.6169 0.7595
+vt 0.6139 0.7879
+vt 0.4951 0.7634
+vt 0.1551 0.6832
+vt 0.2925 0.6268
+vt 0.2925 0.6832
+vt 0.7795 0.6832
+vt 0.6421 0.6268
+vt 0.7795 0.6255
+vt 0.5046 0.7241
+vt 0.6421 0.7241
+vt 0.3986 0.6268
+vt 0.3986 0.6832
+vt 0.5046 0.6268
+vt 0.0177 0.6268
+vt 0.1551 0.6255
+vt 0.8856 0.6268
+vt 0.1899 0.9579
+vt 0.1194 0.8696
+vt 0.2324 0.8696
+vt 0.1899 0.7813
+vt 0.0943 0.7595
+vt 0.0177 0.8206
+vt 0.0177 0.9186
+vt 0.0943 0.9797
+vt 0.2793 0.2349
+vt 0.2304 0.2758
+vt 0.6597 0.0177
+vt 0.6954 0.0993
+vt 0.6367 0.0768
+vt 0.7558 0.0777
+vt 0.7238 0.0440
+vt 0.8840 0.1330
+vt 0.7385 0.1141
+vt 0.9157 0.0886
+vt 0.9781 0.1232
+vt 0.9224 0.1276
+vt 0.2677 0.8141
+vt 0.3463 0.8037
+vt 0.3086 0.8339
+vt 0.6387 0.3550
+vt 0.7130 0.3801
+vt 0.6596 0.4053
+vt 0.7245 0.3245
+vt 0.6919 0.3383
+vt 0.8655 0.3566
+vt 0.7351 0.3577
+vt 0.9770 0.3365
+vt 0.9078 0.3751
+vt 0.9174 0.3282
+vt 0.2677 0.9018
+vt 0.3086 0.8821
+vt 0.6803 0.2948
+vt 0.6251 0.3035
+vt 0.7194 0.2854
+vt 0.8764 0.2832
+vt 0.9221 0.2861
+vt 0.3363 0.9565
+vt 0.3464 0.9122
+vt 0.6751 0.2482
+vt 0.6178 0.2499
+vt 0.7179 0.2431
+vt 0.9823 0.2484
+vt 0.9247 0.2452
+vt 0.3935 0.9014
+vt 0.6755 0.1996
+vt 0.6164 0.1941
+vt 0.7201 0.1992
+vt 0.8793 0.2446
+vt 0.9823 0.2060
+vt 0.9257 0.2051
+vt 0.4598 0.8580
+vt 0.4144 0.8579
+vt 0.6819 0.1498
+vt 0.6222 0.1361
+vt 0.7266 0.1555
+vt 0.8831 0.1684
+vt 0.9252 0.1659
+vt 0.4218 0.7790
+vt 0.3934 0.8145
+vt 0.3363 0.7595
+vt 0.8815 0.2060
+vt 0.8720 0.3208
+vt 0.8825 0.1012
+vt 0.9735 0.0816
+vt 0.9718 0.3817
+vt 0.9807 0.2918
+vt 0.4218 0.9370
+vt 0.9810 0.1644
+vn 0.1035 0.8806 0.4623
+vn 0.0964 0.9481 0.3030
+vn 0.0000 0.9780 0.2088
+vn 0.0659 0.9835 0.1683
+vn 0.2325 0.9320 0.2779
+vn 0.0553 0.9960 -0.0702
+vn 0.2827 0.9564 0.0728
+vn 0.1873 0.9776 -0.0961
+vn 0.2421 0.9703 0.0000
+vn 0.0921 0.9772 -0.1913
+vn -0.0277 0.9947 -0.0993
+vn 0.2308 0.9274 -0.2944
+vn 0.2771 0.9572 -0.0837
+vn 0.3724 0.9074 0.1947
+vn 0.0777 0.9770 -0.1985
+vn -0.1094 0.9539 0.2794
+vn 0.0364 0.9844 0.1721
+vn 0.1683 0.9835 0.0659
+vn 0.0674 0.9901 0.1230
+vn 0.4338 0.8823 0.1829
+vn 0.2845 0.9565 0.0649
+vn 0.0886 0.9961 0.0000
+vn 0.2000 0.9789 0.0424
+vn 0.1417 0.9830 0.1171
+vn 0.3021 0.9524 0.0412
+vn -0.0193 0.9986 -0.0493
+vn 0.0000 0.9777 0.2098
+vn 0.0005 0.9781 -0.2083
+vn 0.1879 0.9782 -0.0887
+vn 0.2249 0.0000 0.9744
+vn 0.9783 0.0000 -0.2071
+vn 0.9783 0.0000 0.2071
+vn 0.0000 0.0000 -1.0000
+vn -1.0000 0.0000 0.0000
+vn -0.3645 0.0000 -0.9312
+vn -0.9312 0.0000 -0.3645
+vn -0.9312 0.0000 0.3645
+vn 0.2615 0.7979 -0.5431
+vn 0.5877 0.7979 -0.1341
+vn 0.4713 0.7979 0.3758
+vn -0.0000 0.7979 0.6028
+vn -0.4713 0.7979 0.3758
+vn -0.5877 0.7979 -0.1341
+vn -0.2615 0.7979 -0.5431
+vn -0.1285 0.9864 -0.1025
+vn 0.0929 0.8937 0.4389
+vn -0.4335 0.0407 -0.9002
+vn -0.2867 0.7507 -0.5952
+vn -0.4339 0.0095 -0.9009
+vn -0.4338 0.0209 -0.9008
+vn -0.0408 -0.9956 -0.0848
+vn -0.9741 0.0407 -0.2223
+vn -0.6441 0.7507 -0.1470
+vn -0.9749 0.0095 -0.2225
+vn -0.9747 0.0209 -0.2225
+vn -0.0918 -0.9956 -0.0209
+vn -0.7812 0.0407 0.6230
+vn -0.5165 0.7507 0.4119
+vn -0.7818 0.0095 0.6235
+vn -0.7817 0.0209 0.6234
+vn -0.0736 -0.9956 0.0587
+vn -0.0000 0.0407 0.9992
+vn 0.0000 0.7507 0.6607
+vn 0.0000 0.0095 1.0000
+vn -0.0000 0.0209 0.9998
+vn -0.0000 -0.9956 0.0941
+vn 0.7812 0.0407 0.6230
+vn 0.5165 0.7507 0.4119
+vn 0.7818 0.0095 0.6235
+vn 0.7817 0.0209 0.6234
+vn 0.0736 -0.9956 0.0587
+vn 0.9741 0.0407 -0.2223
+vn 0.6441 0.7507 -0.1470
+vn 0.9749 0.0095 -0.2225
+vn 0.9747 0.0209 -0.2225
+vn 0.0918 -0.9956 -0.0209
+vn 0.4335 0.0407 -0.9002
+vn 0.2867 0.7507 -0.5952
+vn 0.4339 0.0095 -0.9009
+vn 0.4338 0.0209 -0.9008
+vn 0.0408 -0.9956 -0.0848
+vn 0.3918 -0.4298 -0.8135
+vn 0.8803 -0.4298 -0.2009
+vn 0.7059 -0.4298 0.5630
+vn -0.0000 -0.4298 0.9029
+vn -0.7059 -0.4298 0.5630
+vn -0.8803 -0.4298 -0.2009
+vn -0.3918 -0.4298 -0.8135
+vn 0.0210 0.9998 -0.0048
+vn 0.0482 0.9981 -0.0385
+vn -0.0166 0.9914 -0.1301
+vn -0.0090 0.9904 -0.1379
+vn 0.2820 0.9576 0.0597
+vn -0.0000 0.9846 0.1749
+vn -0.0921 0.9772 -0.1913
+vn -0.1734 0.9794 0.1036
+s off
+f 1/1/1 7/2/1 6/3/1
+f 2/4/2 8/5/2 7/2/2
+f 4/6/3 8/5/3 3/7/3
+f 5/8/4 9/9/4 4/6/4
+f 6/3/5 12/10/5 11/11/5
+f 35/12/6 25/13/6 26/14/6
+f 7/2/7 37/15/7 12/10/7
+f 10/16/8 13/17/8 9/9/8
+f 12/10/9 15/18/9 11/11/9
+f 35/12/10 17/19/10 33/20/10
+f 13/17/11 19/21/11 18/22/11
+f 16/23/12 20/24/12 15/18/12
+f 17/19/13 21/25/13 16/23/13
+f 17/19/14 23/26/14 22/27/14
+f 26/14/15 24/28/15 23/26/15
+f 1/1/16 2/4/16 7/2/16
+f 2/4/3 3/7/3 8/5/3
+f 4/6/17 9/9/17 8/5/17
+f 5/8/18 10/16/18 9/9/18
+f 6/3/19 7/2/19 12/10/19
+f 25/13/20 39/29/20 9/9/20
+f 38/30/21 12/10/21 37/15/21
+f 10/16/22 14/31/22 13/17/22
+f 12/10/23 16/23/23 15/18/23
+f 8/5/24 36/32/24 7/2/24
+f 38/30/25 17/19/25 16/23/25
+f 13/17/22 14/31/22 19/21/22
+f 16/23/26 21/25/26 20/24/26
+f 17/19/27 22/27/27 21/25/27
+f 17/19/28 26/14/28 23/26/28
+f 26/14/29 19/33/29 24/28/29
+f 26/34/30 18/35/30 19/36/30
+f 26/34/31 13/37/31 18/35/31
+f 25/38/32 9/39/32 13/37/32
+f 22/40/33 31/41/33 21/42/33
+f 6/43/34 28/44/34 27/45/34
+f 15/46/34 28/44/34 11/47/34
+f 21/42/35 30/48/35 20/49/35
+f 20/49/36 29/50/36 15/46/36
+f 22/40/33 23/51/33 32/52/33
+f 6/43/37 27/45/37 1/53/37
+f 46/54/38 34/55/38 47/56/38
+f 47/56/39 34/55/39 67/57/39
+f 67/57/40 34/55/40 72/58/40
+f 72/58/41 34/55/41 52/59/41
+f 52/59/42 34/55/42 57/60/42
+f 57/60/43 34/55/43 62/61/43
+f 62/61/44 34/55/44 46/54/44
+f 40/62/45 41/63/45 39/29/45
+f 39/29/46 8/5/46 9/9/46
+f 38/64/47 42/65/47 33/66/47
+f 65/67/48 42/65/48 66/68/48
+f 65/67/49 44/69/49 43/70/49
+f 81/71/50 45/72/50 77/73/50
+f 62/74/51 45/75/51 63/76/51
+f 37/77/52 66/78/52 38/79/52
+f 60/80/53 66/78/53 61/81/53
+f 60/80/54 64/82/54 65/83/54
+f 58/84/55 81/85/55 80/86/55
+f 57/87/56 63/76/56 58/88/56
+f 56/89/57 37/77/57 36/90/57
+f 55/91/58 61/81/58 56/89/58
+f 54/92/59 60/80/59 55/91/59
+f 79/93/60 58/84/60 80/86/60
+f 52/94/61 58/88/61 53/95/61
+f 76/96/62 36/90/62 41/97/62
+f 75/98/63 56/89/63 76/96/63
+f 75/98/64 54/92/64 55/91/64
+f 73/99/65 79/93/65 83/100/65
+f 73/101/66 52/94/66 53/95/66
+f 71/102/67 41/97/67 40/103/67
+f 70/104/68 76/96/68 71/102/68
+f 70/104/69 74/105/69 75/98/69
+f 68/106/70 83/100/70 82/107/70
+f 67/108/71 73/101/71 68/109/71
+f 51/110/72 40/103/72 35/111/72
+f 50/112/73 71/102/73 51/110/73
+f 49/113/74 70/104/74 50/112/74
+f 78/114/75 68/106/75 82/107/75
+f 47/115/76 68/109/76 48/116/76
+f 42/65/77 35/111/77 33/66/77
+f 43/70/78 51/110/78 42/65/78
+f 44/69/79 50/112/79 43/70/79
+f 45/72/80 78/114/80 77/73/80
+f 46/117/81 48/116/81 45/75/81
+f 44/69/82 78/114/82 49/113/82
+f 49/113/83 82/107/83 69/118/83
+f 82/107/84 74/105/84 69/118/84
+f 83/100/85 54/92/85 74/105/85
+f 79/93/86 59/119/86 54/92/86
+f 80/86/87 64/82/87 59/119/87
+f 64/120/88 77/73/88 44/69/88
+f 35/12/89 40/62/89 25/13/89
+f 7/2/90 36/32/90 37/15/90
+f 35/12/91 26/14/91 17/19/91
+f 25/13/92 40/62/92 39/29/92
+f 38/30/93 16/23/93 12/10/93
+f 8/5/94 41/63/94 36/32/94
+f 38/30/95 33/20/95 17/19/95
+f 26/34/31 25/38/31 13/37/31
+f 22/40/33 32/52/33 31/41/33
+f 6/43/34 11/47/34 28/44/34
+f 15/46/34 29/50/34 28/44/34
+f 21/42/35 31/41/35 30/48/35
+f 20/49/36 30/48/36 29/50/36
+f 39/29/96 41/63/96 8/5/96
+f 38/64/47 66/68/47 42/65/47
+f 65/67/48 43/70/48 42/65/48
+f 65/67/49 64/120/49 44/69/49
+f 81/71/50 63/121/50 45/72/50
+f 62/74/51 46/117/51 45/75/51
+f 37/77/52 61/81/52 66/78/52
+f 60/80/53 65/83/53 66/78/53
+f 60/80/54 59/119/54 64/82/54
+f 58/84/55 63/122/55 81/85/55
+f 57/87/56 62/74/56 63/76/56
+f 56/89/57 61/81/57 37/77/57
+f 55/91/58 60/80/58 61/81/58
+f 54/92/59 59/119/59 60/80/59
+f 79/93/60 53/123/60 58/84/60
+f 52/94/61 57/87/61 58/88/61
+f 76/96/62 56/89/62 36/90/62
+f 75/98/63 55/91/63 56/89/63
+f 75/98/64 74/105/64 54/92/64
+f 73/99/65 53/123/65 79/93/65
+f 73/101/66 72/124/66 52/94/66
+f 71/102/67 76/96/67 41/97/67
+f 70/104/68 75/98/68 76/96/68
+f 70/104/69 69/118/69 74/105/69
+f 68/106/70 73/99/70 83/100/70
+f 67/108/71 72/124/71 73/101/71
+f 51/110/72 71/102/72 40/103/72
+f 50/112/73 70/104/73 71/102/73
+f 49/113/74 69/118/74 70/104/74
+f 78/114/75 48/125/75 68/106/75
+f 47/115/76 67/108/76 68/109/76
+f 42/65/77 51/110/77 35/111/77
+f 43/70/78 50/112/78 51/110/78
+f 44/69/79 49/113/79 50/112/79
+f 45/72/80 48/125/80 78/114/80
+f 46/117/81 47/115/81 48/116/81
+f 44/69/82 77/73/82 78/114/82
+f 49/113/83 78/114/83 82/107/83
+f 82/107/84 83/100/84 74/105/84
+f 83/100/85 79/93/85 54/92/85
+f 79/93/86 80/86/86 59/119/86
+f 80/86/87 81/85/87 64/82/87
+f 64/120/88 81/71/88 77/73/88

BIN
docs/examples/web/resources/model/lowpoly-tower.png


BIN
docs/examples/web/resources/ps3.png


BIN
docs/examples/web/resources/xbox.png


BIN
docs/examples/web/shaders_shapes_textures.data


+ 3 - 1
docs/examples/web/shaders_shapes_textures.js

@@ -104,6 +104,8 @@ Module.expectedDataFileDownloads++;
     }
     }
 Module['FS_createPath']('/', 'resources', true, true);
 Module['FS_createPath']('/', 'resources', true, true);
 Module['FS_createPath']('/resources', 'texture_formats', true, true);
 Module['FS_createPath']('/resources', 'texture_formats', true, true);
+Module['FS_createPath']('/resources', 'shaders', true, true);
+Module['FS_createPath']('/resources/shaders', 'glsl100', true, true);
 
 
     function DataRequest(start, end, crunched, audio) {
     function DataRequest(start, end, crunched, audio) {
       this.start = start;
       this.start = start;
@@ -183,7 +185,7 @@ Module['FS_createPath']('/resources', 'texture_formats', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 116512, "filename": "/resources/texture_formats/sonic.png"}], "remote_package_size": 116512, "package_uuid": "d1fc9f95-b3a7-4538-9e6f-b593f6d6be0b"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 116512, "filename": "/resources/texture_formats/sonic.png"}, {"audio": 0, "start": 116512, "crunched": 0, "end": 117117, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 117117, "crunched": 0, "end": 117782, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 117782, "package_uuid": "d42d3374-bb59-4789-9c86-3d81cea4c708"});
 
 
 })();
 })();
 
 

+ 43 - 1
docs/examples/web/text_bmfont_ttf.data

@@ -97,7 +97,49 @@ char id=123  x=191   y=141   width=14    height=45    xoffset=-1    yoffset=0
 char id=124  x=416   y=141   width=5     height=45    xoffset=2     yoffset=0     xadvance=9     page=0  chnl=15
 char id=124  x=416   y=141   width=5     height=45    xoffset=2     yoffset=0     xadvance=9     page=0  chnl=15
 char id=125  x=207   y=141   width=13    height=45    xoffset=0     yoffset=0     xadvance=12    page=0  chnl=15
 char id=125  x=207   y=141   width=13    height=45    xoffset=0     yoffset=0     xadvance=12    page=0  chnl=15
 char id=126  x=42    y=141   width=19    height=45    xoffset=1     yoffset=0     xadvance=21    page=0  chnl=15
 char id=126  x=42    y=141   width=19    height=45    xoffset=1     yoffset=0     xadvance=21    page=0  chnl=15
-0FFTMM…B`�ΈGDEF_Υ€„NGPOSWµzί�TdGSUB"n'“€Τ€OS/2X›ƒςΈVcmapaΩΎrΆcvt "�ΐfeatT�Τ,gasp��€|glyfΠΰ‘L5 headμc‹�<6hheaυΒt$hmtx���w
+‰PNG
+
+
IHDRΕ�Ξg IDATx�ν�M�fΗΉί#²αE{΅±6V+Β+Ϋj+„,μ0Έν…POβ…u�xF�Λ5‘Μδ•ο…€
�ya'4γΰ�k/Lf/¬“Δ‹@�ΪΧw|u=
+Ήµp/�z?Y�·nWΧ[ΟSUηγύθσ�ΑΛLΏηΤ9§>ώυ<O=uαΡ£G!„b^<¶ξ!„bυH!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!�;ΐ;ΐ£Μλ�Εη)7�ο?Z|–γ®ρύί»£\Νtμ�•³φZS®FΏωΨ� �cγΥ‹ψuΧ9†WO¬:V:oΝύ³�Wί:Ws/¬¶2e9­6eέ§>νΞΦ_οUΫbφeγ�ήύπκi�w­­ΟΨ+OK™Ζ:_�:�Γ«Gc�#¦t]c�#¥φψ�®~ΤPΣχy―1Ζ‰βΈυpΌoΰ	ΰ#™χ?α�τσ,W€]ΰ9γϋo�γ­›»ΐο€K™Ο®S~P;ΐ«Ρί?ξ�VΊυσ$ωΏCWZ9Ύ�_Ύk�3π=ςΟΰψ*muξYΰ™Βw�Y|―…‡‹²��_^6>»
+8Ηώ:γΤ³}ΰϋ…ο�_n47tκo�=S‹λΤ,?q>{�ΊβEη³·θκ§G,hΌηΓβσΦ�eΘωφ€?8_GΧ+Ξ1Tά΄\tmεwτ»¶0X[ύ|Μm¦o)ιΪΖaγυƒΐ©ΰ·Ζη�O%οyƒ9δEΓS‹cε°Ξ½	ά¤\ω.?Β~Hί¤k‡ΐ·Η)ΪΖ`
|΅«}xΌζ|ΎΌ`|¶\v~Ϋg`|�bρωσ�ΗeQ–:�…εΊ•�Κ”{ΐ�eIΩ¥«Ϋήµ�_Άώ�†�=nWΧ€™ΧGιΪ�,^ηώ+lαx	ψl΅l^ίvόΆπϋ»”�ΕmϊYVuΎ«‹ίΤr@�ArΘuAWΞΛQ�!{‚Ζβ€i¬)—θκu«(M€Sπς³�‹t3Ό�Οβ«�\C{ϋaώ¦PΖu±KΧωΖάΆλ��ζlGcΝΤ�cΌNy±mδκ”λI‰;t™ΕwΘ�ίΕ®k}ΖKFΞϊUΓ·9θR.Ρ)ω�8•)'tυl(;ΐOρ�aλΰ•Σ�=X
.`?“cΰ3�·±EΐCΰΗΞω½Ω=ψuφφuQΝLΥcψ%ε:΄κσν�µ·V.ΣnΖΎΛπλ‚nPχΔβ.έΐ:¤��½CΙυ7©kAΌG§Κs|�πw�΄΅YΏ9Ά{›HΪΔ3€‡t®‹�\η�rt�±fe›H®c­©'%^Α�Ρ¥�"¶¶¤-�ΧJ�ω?ΠΗ
έ@η
Ϊ—9νHK�ρ.¦Ί�ΝΊ—Πoζ\	‡ΐΗΏΝΕW¤wA~{`±&3PvxuΦs/xυ®•=ΰ�ΒwήXρω,ξ!�8»@'ζ�ϋήj«±Έ¶�›$�ζρJφθ��ΤΤΈ°�-AόψΐψN<°ΥΞ†RΏ°3πΑβά›HΪ|H'”©λ"u}μ_[ό¬YΩ¦’>οΎώ�”’+ΰ2gΖΤbσύbM^%oQψΫΜ{ρMσ�Ε#>n,*SΖr1½Ay€iq¥Δ–™Cΰ‹tƒϊU:³~z®Ϋΐη¬0Έ
+Ό΄ψ½ςkΰ]£9—f\F«Ξz•Έ�η�-α•,c°g―%ΧΨηΫ‚[4οΣYIϊRjΏpj�
―Τ›bΉ}JζρτΖ¨97�Η=ς.―[ΞoΌΊάj51gΰ�.ΐ%G<°ΥΞ†β™Πy1tΑ‡©Iά‹ΈΞUR+�Ρ
+�°Ά�Η^�h�•Υ\—u-9�W.ΊΉO¤ιΛ�!�ωζό�ΰwB¥�1�Άοk}±|Β'ΐ&=µΑf9<‹ΗπηΨ�δ	π
†»�jfaΧh»�a†—1
.q΅S�Η�
+ƒNϋ� ¤­8―/σf¤^ίζ*[Ίλψ4Λm�>�ΔT,wΕ�ΟηO’¬~ΎΦΕλ	Ϋ#Ίz‘™>>IϋuyΧ[§©*ΕΦmΑsZάd@ΌD�ΐzP±ςπ|ω1qCσ‚Αrf5Ο�3ΡY~;KύYΧ�6ςτ~¤
+,µjΔΦ�Xaφ5={‘d=ψλ�¨!‘σ	…HΣΦε[ι+�Θ=“��νf*α
�{ΐ�Β΄†ά«n½ό'ς3Ν�`3‹’Εγ[Fy`Σ�UΚζΓΦΑ?�Ω…2¦±·ΆcζξAl}ϋ9§�¤Υ‘�»ΎXqV §g½+D{V§c:1Τβ®XυωVpεΧθ„�ε2:¤{^%JΓ–λJ­W’ο—==mυCcYή†Nχ"οSlQ‰a€΄όGAΥη°*\®ρz~»Zυ—kδibQ“«Da‰P΅ύcΖ]ζψ8π_)›hχθ:Β�@—RΐLΚ›,Χ•ψΎζ�Ι�i8~Ji`όϋΞg}M�`Χχ·€ΏΑ�iφ™MJΑ�9Ζθ€ώ)εΐ΅ΦΑNETC1ζΚ�¶½X\ΗΛ–­%¨Ή�@.NΓ€ή¥s+δπV7Υ~�»"'$W}Ύ€\&97N‹EΚ³ΎΤΔ‰έ§»/(/Eυξ΅χ¬αl½�W®|†α–·RΠmκ‚φ8ώΦ„Xx•γSΨΚι�nv—¥¥¬½²pκg/)ΗTΥZf�άƒΟUϊ°&9υµΡ
¶0ύ²Ώ‹Τ«Δ?΅ή'Τ2hε‚FCg�{&c{φ‡^zζ�0�YgCάΰ[<rεΓτ@a~·±ψ85kλSWa�Ώ±ς”€΄—sx�W>Ο"�so¦x9X`YH―ϊ|1-ζiΛaα]ΧΨqbCοαό•+5ΔωΒ+'Άbjσε\£8Uχ>^εψ¶rzψ�™χƒΆμ�kΐ©J-Ε$Τ~ίjδ7(:qb™m^φΧ2hεZ�YYώ�1qΛΐ8Τυbω$cαj‰ζ΅>Α’Ε#ζ«K,U
+K‰whc©°�ρ§·5Ώρr¤–DΟόο­ύχΜΪό&-yPΖXYΣ7οJΙ…Έ|�ρ¬�ΉAΉ&c�η4Ζ=\5¥Ύ,ΔH4“t/«r<	όs–Ih –ϋΰsΨ€%εo5ΰψΦ$h‰g9υWjδW°£MoqVmΕ�hιμ3—rHΰa0A•"Tγ�V/jΦ‹2Ν‘Φ•ΰ*ΚωΝkfy5΄�CL��e)Vβ^ΐYί�­xΛΣ¦ΐ[Z•‹Α0hΗυΓr¦“�>ΉBΌ�i�²υ¬°=Y;§L¨�k‚ΝϊΤΗM”71)έ]›±ϊ²\©°L�Ο�²
+³!k&t€=C/5jΛ
:ΦΪ¥fρΜ6gΒ,ω}BY>Ζς²�Ψί/Ο‰c
+B¤~.Έ*¤―lΝ�‹‹’2�ƒΓZΠΉΊς"ωΖ<f²§;ψΛe`xΞΟ²”vp^›ι“Ϊ―΄ΘcΠbέΘY
γϊQγΧτb…JΤ$8k
R®ΕK—>S�ο.mγ,|ρ*%Οr΄)ΙΰVύΜJάb\kΚ©°Y~η0²fBO`›Φju®Ώ_®“Ξ-QnΛ�?Φμ4^�έ�T�Π	¥–Hό¥:UγΚΥ•O�$yo�dO^”χ9<ΛRΘ^Φ¬¨oj`hKR��%lBτχP,ΧPl©Λ‰„ "J®%/®)L¬•5υv�¶Υ2θL}Ύτψ}σ\§q;
+ν¦5}®θΩ—΅χπ*«ΩΠm%iγSΰ%ΚΠ-7¶fΦ
g—όΒ€�λ¤ί&ίωΏH^0Τδχ®!]φS?rμ«Ig±-Ι$6A1[qι=ήδdO9ΖJbύάU9ΌZ}σ%®α'�©Ω�	ό£±¥.­?ρσ)‰wΟE,ƒV`cMΠ•εϊ„ε�+7φr¤ΐr;o9_��ωbΌGΑύθΥ‘ςVΟά3σ®ΛτμΓΠ{ψ"§«ϊζR	‰€<—μπ{»‰Tx
&%�Ε{A7)5Ρ–^y>GΎ“ώ‰Q�ηΏIΓΖI›�[φ—HβN%5OY?Ύ.j,cYXVEKκίή¦E9ϊζ\‡ρ\a©_)³[λµΥϊyΣA*ν+Βσ©ο–µθέ@l­τ¨±"y'½?±…0lΔ³OΫς·–σεhYngYΑβε†χιΆύ[s�yΏuybΞ%[ΚvπξaΙm—[Δ@���J»�–6�L* ~v™Ξβ½µ·)-&μ�οOY^2*p®—θ’¨¤�@e-ϋΛωγλΞUΔM	†©ΕΛ»ΨkE^¦µ>΄,�σL�Gt)t[φFh%NΘέ θ=ί’θ�Ϋb0=—κC:H¥}Ex>¨ο^Ώd%V�µP–ϊΌW9�WJΏ·όμΊ–³@Τ�/Gi£¬τ|–« d5ΩψVN”�ΔsΜ8ο–Ry{ν³οD§$΄'uρε€g"‰Ι]pΝΐήjvχΤaL\�kφ1|ΣΫΌμoJ&ήMήμ)G)ΣZj—W–L�―ΡΝ4Ό Ξ!®€[,'Q£s
+}BΈ±….7γJX,‚OΊu‰g«ΠoιΜ=‘ΜΈΟ�¥q.ε{�±Κ\sΎΤlΌΏxί[g^{�rυ9¤Κ-]›;βΕυ„`ι\�T)+jοζ¶ω
η°ΪηPWriyσe&rδ@ν€›Sς53Β–�FPο–�+p�;Ά6±‚‡·μ/O«κ\„τ¶Ν–K3’mσ�έΒ8Gν>τ�ι?®[}¶IBΙ
+pΏs
+}BΈρςΌ4–ΐ:»KηS�σnΤ�β�lνΜοΣύZΔώβGΤνΤζ­bi=_Νς½άω¬Ι�µ?}x>΅lΉUO¥­�α4[K�¥{Έ·8nν90Μ•\Ίφ!›�Ήδ@)[Ψ3»ρΠgP(	‹΄<5ξ�΅ζkΩ_ '\bυ�ϊΨ¶m¶π¬>Ϋζ�χΜυqκΟάλZΟγ‚oZΜΥ-oPΫdX²”γίu�U.ξlΓο΄ΆΗΓΜΏ%Γ\ fp	<θqό>›ΈXΤX7Ζ<ί!έ.‹)53ςx n	\= /j―µbΉsΖΊ‡Φύk¥T�ΛL`Θ	(›ς­Ωs�xθ3(”:΅\yΌ~θ`›ϊΣ¬�X�F7�T-�½gΐ�πΔΩ6Y4<σM}ρ\g—±oΙτ�«[¥ΜΨ«J&Κ��θαχaοyΛdφ—�G�νC2«!kΆk¬“ΠobPΪ-®…�ά Ηtρ C°xkζ”1s†¤άby“�ΐΖΉ�΅ΞXyϊΗΈ‡Gΐ—�γ·βm‚υ+o�°@©±x΅Τ€ϊ
+ήqs�yfΏ΅ƒmΌ™‰Ω
+ε(Οΐ=Κ›Xl*Vΐ¶Y4ΌνHkάE�υΛΚ	P2ύ{u«4c;p�4ƒφ–±ΖƒI<ϋ»ΑY+Jθ¬Γ€ήΩ6ƒ/6Μ:["―k¬“Cλμκ£ΡK„|ρ–�χΘ³<y\£Ό‰Νϊ_�µT°¦―»B�λ
+η®Ι‡_»�cμ”Η�_φΣΊς¦�%Όΰ®’�Μx‡dυ²�k5Z+§ΑΠ€�΄Σ.¥�
;Uε*YΘ`©αmΐr·l“�Ώ΄φΏfVX�UIs”v�‚aΫ»^Z¬ƒg®9_�Αρ€φ4Ψ79λ‹½EΫ.l5±DcΔΕ;Σ•f²΅ύ[ιΌkvψ»Γ©P*�/XXZrΖ‡λ)¥‡Συνρργώ―Ε\ήr]pvΰΦ, A�zλςΣσLΡgΧμ·0j�Ο…G��u,!„(q•³©eO€/‘�­εφ™χΎΏνΔχζ<_§Ψ$„λΰ.νsKΟ#ΑE²Ν–A±H!ΦΙ>π3μejχΠ@(Δ$H!„3Δ
+B!Δ9F@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!BΜ�»ΐ£ΕΏB�™" „BΜ� φ�ιfcΌήvΆσάtΎ{³PFο·ρζκ�ε�_Wεcq­ο4ή“>Χ[ΊWήs�;Υσ�{Χω^ΝλχΐnΟrx―χiIλpz�k.έ£�ψy,ή;�ή+=χuQ�Gc—ΫκGj¬%Cϊ ΪώΚχ¤¦Ο²(�5Η¶�±Ιmο<‘�Gf‘`΅Ά�Ψ+|woρ½!�ΰk~»m\~Ηψfκ‹ΐ›ο(§ΰΕδο€?FΆπyJά8ίΈΞf	�0ΘΥ–{�z²|ΐο?5B<jοΙmΪλwθΛή¤k#ή±5�oΏ±>�θΟUΚ�%G€ϊ>�οR?S80�―ϊ6›3ΰνO&ο½W~�;ή/)Σ”λ¬76 �–� —r@Ϋ,:eψνν9&hcΡχ�ΤΦοΦΎlH&¦ηxρ�“θ�KHτcθL�Εοϋ¨θ=ΰ›Ο½m\fΊΗu6£#ϋπDςήo>Oω&νƒΰ€υέ“7θ_ξΎmcψ)�Υ©/9�6C�eΙj8¤/λΫ‡‰ρ	ξΑΰόνβύ�χ8µπ�±ήHτγU†ΝXόώω�Ώ�“+†έ«ΎC½/}*��ώN•ϋg9;@yΚ~ψΚΐςΌΚκ-M»ΐsΖgχ€‹ΧG�Cγ{_΅ύYΎA�6�hc°OΧήsάβτ�\3ΎSj;V_v<½8φΣ‹ΏsΗ~Υ9¶X
;ΐη�®Σλ‹Ώ/Ε©…ηL}ΰ>]ηs΅βυΊΞΗβψ2¶ir*ξΠ―ΜqEΟ½ξ$ίχ:©“ΕΉβίίsΚόyϊu²Ϋξ
+�;®π²:™>ΔƒEiΐ€®ΡΌ<�Ήϋς$g;β ά©9ύ<&�PΧC�ΌGχ,r<<λ”w•―Dίΐο‡jΉI»i=G*ΰi]΄^�!ίg>O~€>Ύύύsμ:nΉ&ΌΎμ5ΰαβ�ηx�υ‹ηΉσ,]{ΝρΛυηοκC«`ψYζ€�#ΊΞη΅ρωyη‡tb*ζ%μ†ωέΜ΅ηΝπψ±σΉgξ.qLΧΑZƒΤ‹±R”t�Ο5w�ΫΙw‚’�_7>o	Θz›ε¶ωmΞΦΟ ΞgΉ.[”Άί[V+Τςέµα*Λχµ/©€ό6σ^7ΘΟςΣψ�Ψο[‹'•Όχ+ςύq:ρΣ—�j�Ϊx―]Φ¶ku…W­ςΧΔ£Τ®)Ήγβ	Όe	‚Σ¶}%ΌΡ"4ψ—Ι™ζΓΰ“SύcΨύ:O®Οl�λ�ϊπl+CiΖk)XjΜ¨τ±9 λ�Aτ^Z?o4/ά“TΌ¤Τ�•‡t"%χϋοE{>ϋ�ΘΙaωΎ�‚~–¨ά
+€ΰδ–>‘τ±•3}Nήlώ'ΖϋΦ�…άκ’?.ήOβ�+	°kDƒ•s�R»¬]ωcέ'KδΔ¦χ”Χ±­ΰµν&Π²�Γ²έ"Σ¶k@iπ?ΎΚ<«“‚³mλ^§p„Μz�1cΚ�γwΨAX±9r¥ggqέ¥Ύ±†F¥Α�­Aw�cψ�ϋά“�θρWΘ—=ΞY`-»M]VΔ�-–]~µδΜμαzs.†πΩΦO�
+9,Χΐϋ,^�…΅Οκ‡]ΊΨ‹k”�ΕMΪλΰmlqn
�–Θ±Lοή„¥O™¥ ΛtεΟ_rΪ–²ΑΞ5 fπ�υζΒσΐλΤωSA0Ε€pή\1Αgέ·SΞα™ds3Ά!>β=Ί³Uγ	��0¨¶BCύζ^ΠεCΰ“ψ19Ώ+	Ek°ΌG›υ#=fί—θ‚΄ϊLΒL�DcΖc
ugJ«.j�!ξ›ς®Ίc:ΧJ��‹Π�Οψ1ωz848ΧΊL�ΰίs¶ΈM"J ΄6v�ƒ?tΧϋυΏΙ€ϊ¨ώς&88_®€�΅ώΕ΅x
φ�.Έ0�d­ψ‚Λ,?›4θ6ύm��~�ΫςΥΏDύ Η”\^Tzkί¦&ύ”>υµρ4o°<X�έ―Ύ]0…%οΎ‹Ρ-­ύ“΄•ύ
μU5ƒΏg=�ΫN�Υ"–›0uZζ�ΰφΙaΕ\ΐr`΄Υ�xA—��ΣφβΡb‹Ϊ=’{λ	€]:3†UΰΉώ�;τ�\ο«ϊ_Α6Qmσ�‹`AY•)=5eΎ�mVύ"ggV7Θ―ψ¨Y*•�7υc§�ηL΄)Α·ο­BΙβ¬ΊiΝzrύA*”cαbωv―⻃,jΪTΞrqB·Ά`Θ,ΩZg;vo@Ϊ^h<―—y0Xw6%ΡUΰ[ΨΦ£�Αμv™Ζ΅ΣY@r}΄µςΗ²�¥.ΒΘ‹�ΨcbΓπι�θDDN<[“Άcΰ?ώ���Σΰκl<…%Jƒ?t
{®ƒΰ!�Κ.-3Λq‘ΞΊ�b	π–?ν�¦±ΫΒ�LιιΜΗςmZψ¬ "o†”›‰ΕεΘwµΜΠ®P�Nρκ¦uOή~�y?ξτ¬¥n�Ϊ™�·.έ*·e2£Λ-£ΎGwΟc·‚7 Αr*θ1°2;φY50”‹ΐη�Οά�u	VΜ€zξ0kε�εβ}Ρψ�Υ¤Δ«;�vq“~YfYηΞή‡Β*'j�Z¥6�HκZAΠgύω}:σN�Ο1<AΡ*ΘεπΜ^0m6ΐ�‰Τ
+”΄‚{RσtΌd)ηΏ���›
Η�Χ�Ζq�U W7½{β¥%®¥vfχpρwνΜΞ�ψτWβ�qlo@j5¥Ηƒ�χ\[3;¶υΥX¤JΤ&κγΊ°ή·άFΏ¦΄)Αόn­Έπ.-rΙ�µ4µH*jRb�=ψO•?{�Δ‚ $ϊ$JΧn�‰58Χ�C±Μθ0^6@―Ύ•RοΞ�Ύ‰�ϊ2ΦΜ.=�µFΏe5Κ�;'�L—ςvΏ�›±¶–cκΎΊF¨τi—­9D¬`ΐKtΒΣςε{K�bβά5ΙMF,j6ι;ψ{ ¤z½J7UC²π¶ύµϋΖΜZ6ε17…)�i)‹cl‚΄Φ=χaΑ�»tu�K(²ΤYξ�!‰�ZsfΧ:“>/xQμ-χ¤υώ�ΩfK)¨ϋ΄Λ>»4ZΑ€�"/¦jr•„ρΓ›α‡@ΪRΖέQ fπb.{ϋbΌΰ—}:Σo/Ϊr*<ΏYP‡«Βsl3SΞ2,3ψ©uSJV’τΥ’Uo(aΰΟΝd-Ώ¥—7 λΉΕξoυK�uζ›d=Μeu³f³-λο!?ρ#ΈΟ
+4Λ	?O<χΙ�i%\*-k³�xΫi[¦A~L²–ώΕX›:Ερ-«μ+x�ϊΑΏοY°}*�¥υ‰”·¨΄‚�¦ΖS»·Yn�¥¥”C|§SΊΦΑXyΩ­c{Κ;53·®	n!�εάC±ΈΘ»]ΓήΙΪZω{δ…QΪAzχδ2ωX„xΥ@Όά0'¬¶•[ϊδ
Hcψ¤k	ƒs.ώ#7›mΙΨ��3ηκ —™.ΧΟXι”s“™–΄Α%®�νΒ)mθ4V=)υ½Ή`ΐ\nύ�Ι¨χlrβΑZm3*�Q·Υd);\)Νε1έΝτιKU�1‚�ϊ॓…ε{ε-ijΕΨVW€U�J¦±Ϊ{ϋkk�me�³fH{tΆ9ξ€½ΌήΦl-—I,�M¥ΛΛj"¥Kmν€S‘ξ“%ΊrmΜΊ'Ή|Otε:=k&y‰n�	Η.*ΧFb��wΏΣz��±―tμ7ΆΏ½‰�ΥvΌύ7β¬sήκ�ΪΤΛ�Ψ�lEΫ—‚£­>8­'ήύ>βt©�Eiβx@yΦξΕ.¤bξ.+
+\εvΐwh_“l‘[7Ή*J›Φ΄�Ϋ<¨•σκ
+Hyΐt¦1+Υ°woCR§’`υκj�–Ξ¦J;Zx;ΓΥb•Ϋ»'¥
�Vηλ•;>¶'�—’�ΰο�Ύ¬%†ρ®~©5ΤλΫβzβ|Ydή±k�#ƒίv¬Α4ΞbjέοΚ»τϋ±€½Ώ([/Ή™·;a\OΌ{Rc²χ,^�Ϊ{ΰYζ�Ύd*+θ«Π–�Μ"—„eΥxΡκµI=�rή\)µ9ήϋP�mς¬K©XΣΰ¤Τδ�ϊμ=�eLi½y‰RΉ‡άoί�1Κ=U=)aνaPC©ΎD�φ]Ί'ι�G+βΛ
+PZx‡ώ+’Z\Ϊ%‹o­+ΊΖ
+^ƒ·gI3«5Ϋ²zά£�LdU\΅�uΤμrΥΒ¶Ίj�j—Ιm[Σ\΅}ΐ«ΙMοeψΛEΕ·Έ½B’�)Κ
ύκ�πiόAΓ[γ_:φ:w#ν{ΏΣdA9ϊfu¬}–χι²8¶τ5ε®Α³\ΖΟqqƒ¶WΠ^ξ�ΎµK� ή
+‚­οφYΥ�eΥ XΤ¦�
�Oc�cΠrq¤ηΙGΞ›+ ¤�ΊerJ0ε¶FΫ†�z¥A/Ώ&λ�—α/η3μm][ξpΏ[v¨�¥NΈυY¶dΨχ{μz�—Ϊϋϊ΄–Ύ »4�ΤΦΑ��ZZ~Φ§ά%<+@)[jpοxε�χ¨θSn«|} ―`�΅�΅.[±,£εηΈπθΡ£1�#„Ψξ�ωο±yΆZ±"ΦeB!Δ‘B!f�\B!Δ‘@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„'γΐάBIDATb†H!„3D@!„�!B!Δ‘B!f�€B1Cζ$φ��GΙλΓΕg­ίƒΰ�ΜΉΒλnΕ1ξ:Ώ/½nφ(sι|ο,®k�ς¦―«ε½ιόώχΐnΝEWrΥ9WιΎZg½6VΣfVΕ*ϋΪ)Θυίµ}�χ�[^ρ‘φ?ΕρcN`“ηΐ�σ½¦<®SΧ)Δύ πέ=Ίλ{pm%t‚Χ�ο\~ΗϊΛ*΄ΥΩm$Ο3/°ά_^^CY~FP�δI¬�]ΰ―ρώ”½Εo¦¤nc‹€ΰ—΄•Ί†π+V?°±R*1λ*«��«l�Υ¥O�½ΌΙfΝθηΔπ�ρΩWXO_rΌ•Όχ5΅(°Zv€��
8­\Zόv�νUγΨί¤}πL]ζoΠ―Ό—€ο�[±f‚5jΣLί)CΪΨχY―%`—Ξ‚6¥kmΙΝώλ΄ό8‰ώΎ|£–X-^¥Ή\XΌ®ίΩ[c
+rΗή¥S³9�€§ιΚϋQΞ��b��£€\Ε�EΕχχ�ρ�ΛΘ¬z^ΉΝfΖbxm¬†‹ΐσ#•EΤαΝώ«°�―'οέ$ο™γ†ΐjyΡx�p'ϊϋ¶°fκ9βAοπΞ�Γ”O%–Όµβψ*πpρχ1πe:Q���A¥ε-½β{ζ5ΚτώΎ’)λ	π―€�WYV±�«ΐ¦ψΠ_Ζ¶ήβ΄®?MΎ}|�Ν5η�άDξo“ΏKV€ΤχsΦ„ελt~ΚO2οeΗ�Ηπ#—s¦³Rδzό}+Υ3Yε©QξΉσ�­ψ­λ/E\ξOfή?΅3Ϋ¤¤�!3κϋt•ΖβΙί© Όό:yο�ΐ=Λ5Ο�έ›”άύ}|�³�μqΰ/�Ώ™°�9Sj\­zW3�ΥD—V„XΫ¥ςΥ¬dI)µγάη­zπ΅·”±tΌοX.�΄ΝξΡ
�‡ΐ�+Λy�°Ϊ…u?[VτY…�›h��e�6†ΰ&y«ζ5ΞNjbήgyΆ—µ<¶8Θ-§©rπόUιLλυLA SG�5�aΝ’ίΆ›iζΆ!w£‚β�–ρΫΎ…Ή"φ­�ωΰ‰Κp‘Ό�¨%W9,n�W�ο³ό,ΖΊΎΎ<IwoR>ή[qYZΉIΩ�›	†ϊϋ��Η-E•Β��>KC―ΡΏ]Δ„ΩkΗµεϋφ�9%”q�ο: 7ΙΧΓΫδ…Ζς–ΉtηΉ
+ΌΎq›Ή‹έ.¬ϋ95ΉΩ�ΫtΟ=hCcφι‚ψRξaώΠMΞήΝΌΏ4¶ΐ·±}Έ±rπ*ααβ85�όμrx.σΎ5K†®cΉm|σ9ς
³–‹‹c”°"κΗ�![3σ�§ν>\aΩ$u%σ=Λ]π›Κs?mΝ+½ΗΦ=ω€ξή[3‰>ή�ά¤n€ώSΪΕj�›r�¶€Ή=ό	D ¬¶ό�rέΌN]΄|lε±άi)a‰]k½ΈHΧ)—��µ,λ>�ΚroνEΎ}?h(λ6¬3¥η\\ζ62–›1�µ4ϊ»gvθ‚χ�φpDηΒτ8¦›¤¥<G"pƒπ|ΈΠΝ>vιΆ¤-�π7XV΅Ήe	�ά�±‘�Ι™E™ϊΜ�¦&ά―λ΅X>rΛ¤
¶Ω°ΔUόAα·=�»OΧΑη8¤sgL�uOή§³ZY3‰λ¬Οl)ό©�{�ΣΖάΜΥί΅xΡΘVg7w(_sJ‹Eδμ¶��: άΔ¶*¤±8Sb	θ\»�…ΤΤ«V��›ύΗύ[nΒΫ7pΫ²΄ΏFέσΞΕ,Yήγ ΐ‡‹ƒηΈD·Όκ²ρΉ��:Ν	‹�/Ϋ2�ΏNήΔεΝ:γΞ®f†RK�cgX.k€½ΞΩ�¦v6T"�Q{–ΟΚβq»ƒϋΩ­�Κ3α‹tχ{Υ"ΐ³ΖΔυ¬µώZξ�ΈSHE�	�)ϊέΜΉuP©iVό�'vΗlΗΗΐg¨���Ϊ�ΰR°κξπiμ~w.<Aη~�kφ»_�Y�Κ‡¶ΐm°-ν-“)ΛΥ{ΖR�®Έƒέx-zΙρ�ΞG’’Ξ|-σ��?/‡%R3‰εΛn%
Μy	{F‘+›%†ΰtΖρ@��΄w&7ρEE©nl�±ΪυΛ–Υ"u§�USχTl&�ώƒIm»°¬]–��ΓY³ϋX„°�¥Ε�`ρ¶KαύDΪ¶Qs?�ZAYr³�ά¤){�j°V†�1™:Σηδ–ζ–HYΤψ#ΐ�Ν7OΡ=Μ”·ΙWt+�ήϊMΞ$�JzΟΕρ$Λ�ο!�Ιn3�Ϊη(ΝN λ¤r±λ �έzώ”	<�ΐI―ώζ‚ΊZκ―θ™‹³κΙµ‹�»–M¶;‹χrLΥ�αlx�X‰”XμZ3ΑZφ±­­·Ψ�v5%cήΟ΅X³�,‹fkΒ[λV³f�ήD8Η{tυ;εΜΈ”-ƒT­?Β
+�Ν7ΉY@.ΡA
9S{Kτ{�μN-‡e�Ί|©Ά,·o¶γqD箨�MΤ¤2ξΫIΕί� DκΆΊ�-VεSl]5ΡRsΙ@<ϊ,‰XνΒrwµ�lΗnΗρRΕ±­l©0RNΛ…“΄>―�y?‡»�JΑΠ��®µΨX³�WώΎ‰!‰€ZDKΑ_Ή5°‚�`ύΛΞµξ1Αό�„B†½ocΟϋλεΞΣbJτΆ‘αt¦}Γψ|J¬{bωΝr»ΰPιΊαMN/ϋύΜΠ�“;£¶]¬Ά‡eΒ¥Ν·bBμAM]n�”°V΄¬sΉ_.w†• (ΞΪgϋ~nΦ8Ψ7>«HNΤFδΊ9†3Xλr_Δς*όΊΟ†,ΙΛeƒ
+�Δλk;WoFέκC,&g}AI}„X
q��¬±¥.΄Φ_kVhf-}‚έΖH9=¤]�Aµ^³LΞΊ�Φif·²Δ­CX�gZΫΤΤXγ 7DN΄lL±·ψ~
V&«η€?#oώο«zrΑUC¶•€Η
+λΟϋbΕD¬C—�[tƒΝ:£ύ-ak”pϊά<a‘rήςΜΤBΡβ';ΰµDΊΖάK)Ϋη|­‰©�ϋλ	΅!νΨ[!”fϋC!Εf“«§λ©)V0μd–�TτY—μn7��3»^ώ$σέψ�Ρΐ[Jx@�Τ;†µrμ‡V»{–U&Sƒ»tΡρV§{�Ν�™Xq&Φ’Lλώ¦Αz^FΉΈξ{�[�V@Ϋ]xΐΫδΘ#MΟ{“eS®‘bµHΫ…Ψ—ή_OεΚ0F;Ω¦ΥY)ΤΗΘ|W›lkSφJ“x9^)'Κ:°&}¬›ΦςLϋ‹€gϊ?ώ!φ��ZW€—0¥&ΪΧςγ¦[»Zω”[I3OY‰‘ �Π®b'Ξψ^ς=«r®z]½w�PΧ΅Τv\-™Σ$-^¤pΊόΝ»Ώi½³Άzαlπ�η°"x­ύΰ4=m‹	Ξ
+ΜΤη�³,XKSsι�-�vρ¶1Χ®k…Πνψ�nYYk ©Ψ¬θw8»=tK›Z^ά1-Ύg,‘±πL�―�»ƒ­uΤ.η¨]ςΰ	�ΈSιΕλυ­ΞΘ
+<σς,Τtψ«^W_�Υnήύ�Ε…u­ηf-c­ΕZ-sL—AsΜθfoΣ�t@…Όΐλ³ϊ¦¦]XνΪ³²�Υ�Γlέ®*1-›Φ�5cο»—IΞU¶δVΐ3ύΗƒ�7c©uΤl�Q»δa�t(VZδ@K�…�CΊΘξU�Ίoΐ&ΠχώΡeΖΛ=·ϋΐ{–§$ΪJ;4BW¶?£Ύ�{{{Δ�5X?`_Έ%„Ό,¤CΠlzr«Φ™¤¨%gΐ»Τ[¤§Ζ�mιK–‹oX�Q6ύΗ	bΌ›[λ
+(mkΩόWΣ�B7²®ώ�Ί�—Ίλ�$mK΄ξ±ϊ™‹ηΗέdϊάί�\7¨ίT&P›!δ�ΟΥΟ[΄w¨Ηΐι·°5‡Γ	π?+Ύηm_Κβ³�ϋϋuBθ�νΟΟ8¤Ώ›2y΄[\q«ο^J¬υΎΏ.§Ψ=+@ΞΔ�ΓςέCΏ 7―
³€1f·±ΣR†Hβ�σ„%Z¥�μ�_}AJ›’g΅qβ―#u£v€
υ¬4Psskpd.�HίΛΪ{θ[f€Ώ`�vQΣ��e�ς‰ωam³–zn�8μ»Α[�\ί�uλ]xτθΡ�η­Ζ[Vv‹Ν�*bjβ-{K©“­m―[39φΕj³'t™-Wµ|nSΚ!Δ¦’λ+鬂gDΟ�L€}ρ–•�Η½­…¨!φΝ§ΛB½m―‡ζ›B�/�¥²f\ΪΤ ]‡lν�$ί±�·�5ήOέk3λήnY±9δ–>ΐ°�­Γ`΅ΩΏ�­›φ¤lΣvΛB�ιI3`Ί;½N-Ό,_1't;jφ/ζΖKτ‹Φί¤ν–…λ'·m±»cο*,¥�λ®΅άbΎ΄Fλ―se�bsy�³+ϊ�Βu­B!ΔΩ¤!„B¬	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ�Ή€»ΐ£�―»+/u®’Ώ†�ύΕλCγ;WΗή~oό6>Η*ΉΉxµb]Λ;ΐNrόάµφ9',?�τ|)Vύ­©“ρΉJη©΅τόsχΖ«oΦoβσΤΤ©ά=²®wgρY®Ώ_�{[±κJz/Ό>ρfΕχξ6~'mC}Ϋ�θΑά€‡›ΐο€KΞw>ή[Mqώ®SΉήσ·¥k)q�φcψNςήλΐρ€rxΌύ�ύ	Ο36�·�Ώ<_ψώΰZςήπΒΘεbλCΥ,ε6Oφ�―U|οΰ�—%Μ8ϊόP-5\^nψώχ8+:���T–”ΰΙθο�Lt�©ψmτ�OT|�Λ"ΰ;lχ�^�ΑΑ|χ:E-ζΙ“t3±SΞ2ƒ=x�η©»–Z>O�iύ*Λe‹ιξΧ³ΐ3‹��Π=›mβtεx�Ί�<­M�sGfYo2ng)¦ηWΐQζύ`��5πnζσ£Εos|Κx�xΈ°x]i*ιz¨™M¶ππ‘Βwv€W“χNθΉW8½Ώρ«t―cΡφ.έsί&ή£«³�OUώ._a>VΛΚΣWhφ­{bƒ¨qΰMΝ,«6 Θ{­;θζω
+ΎΝώ�t¦ψ”·ι|«Ηδgƒ�ωή4Waς_χθ�υg8ΫYήXΌ�Ng¤15ƒΣ,[Π¦”Wι�?>Κi{Ή}v�ξ…ΟR3½Ek@Μ�θ|[«†m―Οο“―£ΏYuAΔζP!�jhPΤ\πΆ�k^cDc{Σ)ώ”ί�¤ƒD� ά£sYΧU�΄ΟE�§Η©qC]g�¨<΅ΖσΈ<h<.δg�P?+λ³
+`Ϋύ��Φ8€,�£eΕΐ&¬.�­&�!ξ�!+PΔ†�qΗ\LUk²‹tΉTν³]ϊ��RΕ�>»ΨΏXυ ±ό�eΣ:ΆΥkW/δ„S‰Ψ3ε¬lΫύ��>q5XΟq›VJδ�­&�mt��‰@T[fϋ·θLi�ΣΝ‚¦&(ιΫΙϋιb<5½KηΗ�»%#6�ζ�]j–½°ψΝ�Έό[–��™ψ¶‘:τβ-Ζ`Ϋύ��Ύq}ι#π6�Τo�Ί΄ΔΜx�Σ�?T-b�ή�ΒwΗdψkό—θL.aK«γ6ΎΉ~‰mζΐ3δgΕSV©i|jvθV	¤LνkήΦυ�)Cβ<,λ‹|εβάΡ²
+ ΕΥ¨Ζ‡t65AtΦ+
Πy™ϊ<φ?YήΚ1έύ±®Ιr:ΎΘφvΘS3eRθΆυ�ΘΌ?d@φ&λ|S/—<ώ�ΐqΉ`Ήmv•aR!ϊyΥfΰσΘ>π}γ³mόc�wΟψNl)κcjL£Ηsυ/Έ+>Ίψ~�ΰ¦ςΆΎw€�’�µ²5CόyKΡSteO™�Τ|^ό��)βrΑrB�KJΰ€ΣYt)ό*‰;uoJ9~0U΅¬ 6θΚτe¶gπ_«Ί'!¦Δ[EP;K¶r,„ψ”ΤeT›@iLjύ�Φ�›΄LV�υ¬}©Πlω®+£Ε|β5KΥ¦Κ’Λ¤±Wπg�,>ϋ$«ol¥Α�³¨H	y	ΦMK:ή‡ΐk#�sJ_σyρ�¦�ΘεΚΨφBdy�Σ¨π[•Ώ‰ύλ«Μ�_,ƒΚ~�ε™Ψ5ΪΝΠ¥D@5+v�΅ΑΏ•uG\�Π%χi­3΅-ΥX¤¬�Sqήό��±γrΉΞƒXb‰Ψ²�εP‹�deρ·¨,s�λ�_π–�_EƒΏΕΊ#®ƒΩΎ5©I0�ΧdΛ\υ5�7�`�8€tΉά6eϋΆ�� &ΐ+eΜe8η/¨μψ«Ι› †q@}μ‹•Υ―•©,ηeύΚ�σqn(Ε%lε:ΛμΏΔ*ϋ:ό7…ΰ6ςβG^4ήO±²ϊwBκ2²r³OE‹�?MµΙΑkcΗΤ¦Έ�*π¶¥[Lm`�®Ζ*0E€m 4ψ_CΛ)WMΝ–ΌΗt«r®―'+~Ύ—‹υψ!yΑg-7{GB8Ώώ�ΐω„8χτΩXV›oβg*,eά΄ε–Ϋ‚·‰K΄κΝ�¬�kΙ™ξ½=2¬σΥ
+�Ξ«�?0ΥΎB�kϊ€@M!VΕΠYmΛNpc`νΜψ]–ΐ19―ώ�€β„θΑ~ΤUξ DΚΟ)Ρ>ƒΓr ·σβΨy[��2ΥΎB�kΖBlA�zω,.boψ³κΝ€ ›‰Ώ›Ό7φvήύ��M�Ψ„ΔA›P±αό½u`Ν�½Ύχσ³„τ½‡!PtlΖ~—θ6Άς�Ή|¥Η±�ι69Jwβ�‹ήL}Έ\y�Οτ(Ϋ¶1Φs―­Οι}½‹��΅εω®W†Zj―Ώζ{Κ�°αΘ D‡^ε¶™~DϋVΣ19ΧΕ3t�{9Β9ίdυ{	τ!έ™3ΞΊOη»�ΥnIΎi¤bμ-VοfΩ„2�-C`³I;ΘΦΧ*24�'ΖNA�ΫD&εψgc,7ΐ�u ΔΊS)Ο‰t―oεΗy.ƒΨB$„8%”7„ΪM�ξ’χrω>B”θ΅Ξ5„$<©%ΖΚϋp^Λ ¶	€Ν&NΐΤηU³a‘8ε>]η9Gΐ+
ί…³‰�φ€’ο<EχL=Τω―†Ώs�ΥΖmBΔ# ΔYnΠ¶!V�[΄g²Μm'ό*υI�BΚauώ«γ]fΤ{¬oΣ±M(ƒΨR.<zτhέeB!Δ�‘@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!B!Δ‘B!f�€B1C$„B�" „BΜ	!„b†H!„3D@!„�!�μ@=V|IEND®B`‚0FFTMM…B`�ΈGDEF_Υ€„NGPOSWµzί�TdGSUB"n'“€Τ€OS/2X›ƒςΈVcmapaΩΎrΆcvt "�ΐfeatT�Τ,gasp��€|glyfΠΰ‘L5 headμc‹�<6hheaυΒt$hmtx���w
 kern33…=μloca§®µ:Δ�maxp	i� morxΐNΘw‰Pname Q›>Cπ:¤post#eη~”εq¤Np_<υΕC#νΕC#ν�U�UUUU�Uτ��UUΒΓ8@.ζτ™Μ�™Μλ3	PfEd  ¬U�UτU«Τv"UU�UU��UUU�U��UUUUU��UUUU��UUU��U�UUUU�U�UU�U��UUUU�UU�UUUUUU�U�UUUUU��UUU�U�����UU�UUU������U������������UUUUU�UUUUUUUUUUUUUUUUUUU�UUUUUUUUUU�€£¥§³·»�Sax~ ¬��  ¥§©µΉΏR`x} ¬���γ�Γ�Β�Α�ΐ�Ώ�Ύ�»�i�]�G�Cΰ	
 kern33…=μloca§®µ:Δ�maxp	i� morxΐNΘw‰Pname Q›>Cπ:¤post#eη~”εq¤Np_<υΕC#νΕC#ν�U�UUUU�Uτ��UUΒΓ8@.ζτ™Μ�™Μλ3	PfEd  ¬U�UτU«Τv"UU�UU��UUU�U��UUUUU��UUUU��UUU��U�UUUU�U�UU�U��UUUU�UU�UUUUUU�U�UUUUU��UUU�U�����UU�UUU������U������������UUUUU�UUUUUUUUUUUUUUUUUUU�UUUUUUUUUU�€£¥§³·»�Sax~ ¬��  ¥§©µΉΏR`x} ¬���γ�Γ�Β�Α�ΐ�Ώ�Ύ�»�i�]�G�Cΰ	
 
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab€‚„�‘—�›��� Ά¤£¥¦¨§©�¬®­―±°µ΄¶·pefhu�ni�“qgtjx΅³zdlkyc{~�»Ό²ΊΏΒv}…|†ƒ�‰�‡���•–”o"�****>P~Όδ(B\x���¶Τ>f�¨ΠξBTj�¤ΘθFj�ΆΊΠπ8^n�Ύδώ(Lz�¦Θτ"@bt� ζςBf„ΆΖΰ		(	>	X	~	�	°	Θ	ζ
 
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab€‚„�‘—�›��� Ά¤£¥¦¨§©�¬®­―±°µ΄¶·pefhu�ni�“qgtjx΅³zdlkyc{~�»Ό²ΊΏΒv}…|†ƒ�‰�‡���•–”o"�****>P~Όδ(B\x���¶Τ>f�¨ΠξBTj�¤ΘθFj�ΆΊΠπ8^n�Ύδώ(Lz�¦Θτ"@bt� ζςBf„ΆΖΰ		(	>	X	~	�	°	Θ	ζ
 
 

File diff suppressed because it is too large
+ 74 - 3
docs/examples/web/text_bmfont_ttf.js


+ 61 - 32
docs/examples/web/text_bmfont_unordered.c

@@ -11,55 +11,84 @@
 
 
 #include "raylib.h"
 #include "raylib.h"
 
 
+#if defined(PLATFORM_WEB)
+    #include <emscripten/emscripten.h>
+#endif
+
+//----------------------------------------------------------------------------------
+// Global Variables Definition
+//----------------------------------------------------------------------------------
+const int screenWidth = 800;
+const int screenHeight = 450;
+
+// NOTE: Using chars outside the [32..127] limits!
+// NOTE: If a character is not found in the font, it just renders a space
+const char msg[256] = "ASCII extended characters:\n¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆ\nÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæ\nçèéêëìíîïðñòóôõö÷øùúûüýþÿ";
+
+SpriteFont font;
+
+//----------------------------------------------------------------------------------
+// Module Functions Declaration
+//----------------------------------------------------------------------------------
+void UpdateDrawFrame(void);     // Update and Draw one frame
+
+//----------------------------------------------------------------------------------
+// Main Enry Point
+//----------------------------------------------------------------------------------
 int main()
 int main()
 {
 {
     // Initialization
     // Initialization
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
-    int screenWidth = 800;
-    int screenHeight = 450;
-
     InitWindow(screenWidth, screenHeight, "raylib [text] example - bmfont unordered loading and drawing");
     InitWindow(screenWidth, screenHeight, "raylib [text] example - bmfont unordered loading and drawing");
 
 
-    // NOTE: Using chars outside the [32..127] limits!
-    // NOTE: If a character is not found in the font, it just renders a space
-    const char msg[256] = "ASCII extended characters:\n¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆ\nÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæ\nçèéêëìíîïðñòóôõö÷øùúûüýþÿ";
-
     // NOTE: Loaded font has an unordered list of characters (chars in the range 32..255)
     // NOTE: Loaded font has an unordered list of characters (chars in the range 32..255)
-    SpriteFont font = LoadSpriteFont("resources/fonts/pixantiqua.fnt");       // BMFont (AngelCode)
+    font = LoadSpriteFont("resources/fonts/pixantiqua.fnt");       // BMFont (AngelCode)
 
 
-    SetTargetFPS(60);
+#if defined(PLATFORM_WEB)
+    emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
+#else
+    SetTargetFPS(60);   // Set our game to run at 60 frames-per-second
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
-
+    
     // Main game loop
     // Main game loop
     while (!WindowShouldClose())    // Detect window close button or ESC key
     while (!WindowShouldClose())    // Detect window close button or ESC key
     {
     {
-        // Update
-        //----------------------------------------------------------------------------------
-        // TODO: Update variables here...
-        //----------------------------------------------------------------------------------
-
-        // Draw
-        //----------------------------------------------------------------------------------
-        BeginDrawing();
-
-            ClearBackground(RAYWHITE);
-
-            DrawText("Font name:       PixAntiqua", 40, 50, 20, GRAY);
-            DrawText(FormatText("Font base size:           %i", font.baseSize), 40, 80, 20, GRAY);
-            DrawText(FormatText("Font chars number:     %i", font.charsCount), 40, 110, 20, GRAY);
-            
-            DrawTextEx(font, msg, (Vector2){ 40, 180 }, font.baseSize, 0, MAROON);
-
-        EndDrawing();
-        //----------------------------------------------------------------------------------
+        UpdateDrawFrame();
     }
     }
+#endif
 
 
     // De-Initialization
     // De-Initialization
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
-    UnloadSpriteFont(font);     // AngelCode SpriteFont unloading
-    
-    CloseWindow();                // Close window and OpenGL context
+    UnloadSpriteFont(font); // Unload music stream buffers from RAM
+
+    CloseWindow();          // Close window and OpenGL context
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
 
 
     return 0;
     return 0;
+}
+
+//----------------------------------------------------------------------------------
+// Module Functions Definition
+//----------------------------------------------------------------------------------
+void UpdateDrawFrame(void)
+{
+    // Update
+    //----------------------------------------------------------------------------------
+    // TODO: Update variables here...
+    //----------------------------------------------------------------------------------
+
+    // Draw
+    //----------------------------------------------------------------------------------
+    BeginDrawing();
+
+        ClearBackground(RAYWHITE);
+
+        DrawText("Font name:       PixAntiqua", 40, 50, 20, GRAY);
+        DrawText(FormatText("Font base size:           %i", font.baseSize), 40, 80, 20, GRAY);
+        DrawText(FormatText("Font chars number:     %i", font.charsCount), 40, 110, 20, GRAY);
+        
+        DrawTextEx(font, msg, (Vector2){ 40, 180 }, font.baseSize, 0, MAROON);
+
+    EndDrawing();
+    //----------------------------------------------------------------------------------
 }
 }

+ 213 - 0
docs/examples/web/text_bmfont_unordered.data

@@ -0,0 +1,213 @@
+info face="PixAntiqua" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=2,2,2,2 spacing=2,2 outline=0
+common lineHeight=32 base=27 scaleW=512 scaleH=512 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4
+page id=0 file="pixantiqua_0.png"
+chars count=184
+char id=32   x=9     y=304   width=7     height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=33   x=391   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=34   x=240   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=35   x=468   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=36   x=152   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=37   x=176   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=38   x=303   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=39   x=495   y=266   width=8     height=36    xoffset=-3    yoffset=-2    xadvance=5     page=0  chnl=15
+char id=40   x=256   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=199  x=432   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=200  x=126   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=201  x=147   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=202  x=288   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=203  x=189   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=204  x=468   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=205  x=486   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=206  x=0     y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=207  x=72    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=208  x=329   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=209  x=277   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=210  x=182   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=211  x=26    y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=41   x=272   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=42   x=288   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=43   x=414   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=44   x=378   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=45   x=414   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=46   x=443   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=47   x=392   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=48   x=485   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=49   x=450   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=50   x=21    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=51   x=42    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=59   x=456   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=60   x=168   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=61   x=309   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=62   x=336   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=63   x=315   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=64   x=364   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=65   x=390   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=66   x=120   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=67   x=144   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=68   x=168   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=69   x=294   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=52   x=488   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=53   x=63    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=54   x=24    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=55   x=48    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=56   x=72    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=57   x=96    y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=58   x=404   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=70   x=252   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=71   x=192   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=72   x=78    y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=78   x=78    y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=79   x=355   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=80   x=264   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=81   x=381   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=82   x=288   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=83   x=312   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=91   x=144   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=92   x=108   y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=93   x=304   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=94   x=34    y=0     width=32    height=36    xoffset=-3    yoffset=-2    xadvance=29    page=0  chnl=15
+char id=95   x=231   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=96   x=442   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=97   x=408   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=98   x=432   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=99   x=210   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=84   x=336   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=85   x=360   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=86   x=0     y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=87   x=68    y=0     width=30    height=36    xoffset=-3    yoffset=-2    xadvance=27    page=0  chnl=15
+char id=88   x=26    y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=89   x=384   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=90   x=84    y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=100  x=456   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=101  x=480   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=102  x=54    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=103  x=0     y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=104  x=24    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=105  x=469   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=106  x=18    y=266   width=16    height=36    xoffset=-8    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=107  x=48    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=108  x=417   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=109  x=161   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=110  x=72    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=111  x=96    y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=117  x=192   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=118  x=216   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=119  x=248   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=120  x=240   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=121  x=264   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=122  x=288   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=123  x=432   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=124  x=365   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=125  x=378   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=126  x=393   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=127  x=132   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=160  x=0     y=304   width=7     height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=161  x=352   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=162  x=351   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=163  x=336   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=165  x=360   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=167  x=384   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=169  x=433   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=170  x=224   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=171  x=105   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=172  x=0     y=0     width=32    height=36    xoffset=-3    yoffset=-2    xadvance=29    page=0  chnl=15
+char id=173  x=494   y=38    width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=174  x=52    y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=175  x=52    y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=176  x=126   y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=177  x=435   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=178  x=320   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=179  x=336   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=181  x=459   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=112  x=120   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=113  x=144   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=114  x=396   y=228   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=115  x=168   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=116  x=36    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=182  x=408   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=183  x=498   y=190   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=185  x=192   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=186  x=208   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=187  x=477   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=191  x=456   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=192  x=407   y=0     width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=193  x=234   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=194  x=416   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=195  x=156   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=196  x=130   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=197  x=104   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=198  x=190   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=212  x=0     y=76    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=213  x=338   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=214  x=312   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=215  x=357   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=216  x=286   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=217  x=456   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=218  x=480   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=219  x=0     y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=220  x=24    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=221  x=48    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=222  x=260   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=223  x=72    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=224  x=96    y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=225  x=120   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=226  x=144   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=227  x=168   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=228  x=192   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=229  x=216   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=230  x=219   y=0     width=27    height=36    xoffset=-3    yoffset=-2    xadvance=24    page=0  chnl=15
+char id=231  x=372   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=73   x=90    y=266   width=16    height=36    xoffset=-3    yoffset=-2    xadvance=13    page=0  chnl=15
+char id=74   x=216   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=75   x=240   y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=76   x=273   y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=77   x=100   y=0     width=30    height=36    xoffset=-3    yoffset=-2    xadvance=27    page=0  chnl=15
+char id=232  x=312   y=152   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=233  x=240   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=234  x=264   y=190   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=235  x=104   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=236  x=430   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=237  x=482   y=266   width=11    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=238  x=160   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=11    page=0  chnl=15
+char id=239  x=176   y=266   width=14    height=36    xoffset=-3    yoffset=-2    xadvance=8     page=0  chnl=15
+char id=240  x=128   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=241  x=200   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=242  x=224   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=243  x=248   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=244  x=272   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=245  x=296   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=246  x=320   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=247  x=330   y=190   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=248  x=208   y=38    width=24    height=36    xoffset=-3    yoffset=-2    xadvance=21    page=0  chnl=15
+char id=249  x=344   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=250  x=368   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=251  x=416   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=252  x=440   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=253  x=464   y=76    width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+char id=254  x=0     y=228   width=19    height=36    xoffset=-3    yoffset=-2    xadvance=16    page=0  chnl=15
+char id=255  x=0     y=114   width=22    height=36    xoffset=-3    yoffset=-2    xadvance=19    page=0  chnl=15
+‰PNG
+
+
IHDRÑ‹&zIDATxœíÝO^ó*ÀqâçÝ„u.¡�ƵµS‡u	nC‡ºÞ¥%p’´Þ‡ßwò\Óük.='ÆÀœÑ:Ç-r<dÜò 5ާ¯|´?�·:ƒ��|·éÞñçQ0%E½ÇŸs`žT�?¾JÖ(úÛï)ˆo“¿/{.åŽ`W¬DFkGéÄ�1jm5†'ïcÃ'-—¢
+ sÆ0ÐkÍÏ£ýyŒ×hñqÄ>÷ÕP9éœV�ШÖ1ú—¥:tæcŒxi×Dèœ+¾ðí�1æñÇý{ÿ5-¦öô+{¾Ía†áá[Ø£þó8ïóh¿î§ËƒcZkwƳ;ïÇ5ƒ.­ÓøW2ž¶¿«hKÿÓ
+þM?Ôì«B�ÿzƘÃ0|}âíçóð–o¦±éc�ÖØ¾ s€ÎÝù(ô68óý0¼cÌïÓðâV
+ôÞ˜}ó½öÛðôëþë÷ix3æí\‰ÇN‘ðcç-wÖ¾O¿á¿ãtÏbudŒ««2[NÄ*�þ0çÚìR­ˆuç¾¾�<þØ×!ðüYt¼ÑÚÝéÂß‹Ð9
+@çΠ¤Yhe³ûÚåÚìõ‚f´1ÆßG¬vÛ,†óñr£²jÊ´î\IPå\è�Ñ»ðß_Ï»¸`oD€ÎÝ]
+îÊ¿#5Íܱô&[«ý¹ÃE©Kóq´ÖžºöI÷Ü·S³Qú-¹öìú_ezœœø«6!tŽÐ9WüͲ™m*Ý®.´ïí×½ù8µ1&ñkÚãé£V]jÎÛ0®"›ˆÃµïê(çëGí“õ¾‚ÌwºH]«³ß†çOû*u,ˆ�£tîî2æh.ÚŤppü±¸�º‰øaå>¼EÏY|J7”]Òp©.Ê?ñÕVz/B…&tŠœú‚
+kznD€Î¹~€÷Ëx€’ÛUn@72iMÛ¦¯ÖZûz>ñ ãn®ïåüë²O·¯´‡Î?3/ä´«å½è]ð?ÌZkíçsQÏãáÒ:Î�Ð9
+Jù�—fâÖ¿$˜Ö°`,AÃ"@ç(�û_ÍÊ÷_æcØêLúöýp£¥.CÓËû õL`3“ZÅd]mI´Ö̺¢w�¯�bL;ëcød°ú{ÑÐ9
+¦¹¢é®Ê'F͆’ÝÆäŸ)ŠY²ÉºZ¹’³ã‚lÅ•ÝÌYëô´dâuËæ¤±‰sˆ�£àÚU@ö. 2ÓW.âN«j”<�6ü¦59ëå®AÍYª+ÿ�Çy}£)�¹ŒzSÏÌüsÛ¤g­5Û”_™’xkîêè)þª3Ãf¯�ž�ñrä8uï„Òt%tŽйÒ0ÊóôÉZª,%ó¡§dCI·™Ë½èçT½NçM(‰·<Ÿ'›föüqüŒå8åæ{>ÁWz
”³žþ_Óo–Oz!tŽй»4ÓÁ$\¤tó¤ä:&—ùPßÿLÐέÝÉá\¬jr\vƲiÂÙêéuÂ]Í|J –³žGèÜ´(	`’ü¢ôlF)ɹl(Ú69éo¶èW&Ú—NÁ-âµÒqÒkÐ~Ö’¸ï€Ð9
+@çÎYÂ|¨ŒD,i‚‰÷çz —²¡Ìm£Óƒö|â­4»Ëºù _†çO÷½âsÔ3ÂÔ]ƒi~÷(WŒ÷b {€Î ½Û�ïg׸Õƒ\Ë6RïÅ\>âܸ®àAèô6Ê=R]ê/—Þg<âòŠ¥îºÑŒBçð2<ý®ŸÛ/L¯µ.=½–»ÿ=7šJÒ÷ëo{	ö泑G¯¨Lýu¸œÛFo9¬Bè€nd“ŸÜðEuI`´Ü\z®.mÿòòÚÜ_õÇÕl³>ƒ:G€3“½«f:FQB…Éq‚t&ér§¨ÊææÒBº¢Åë¡í_û^
Çõû‹‹èç#7[õçOèNuFÅ\–°ìñ'kú=¹ºVÆÝÿ„Ê\i5â,mD˜™|[ó™¸j²j‰�:±q5�&Yn¢_Š�òþµãn·<sžârù
+Öï'³áxD€ÎQ:w7ŸoKùäuˆÙ®"Aö®8ÝÄ¡eBŠß_0íbwÉ͵C¢xÜ­—ÿ5Âõ2D€îQ:·¨è™¿+S:ŒÖÚSšÃKõÙ˾îÍ.<†›Y»îÆ¿ãh¿îן£¢+�…ÀͧOKëLª“I‚i#jâ0ÃiÖòkòpdë_Ê
Œ¥³™×Cè sW/¾r˜O�’yçÖ
BåGœúwj5¶‰�£tî\ê²]9/Ò'®ò|Ãçæ×'wÕ6	r¼_öç3“¹¬M~9&7ø²è“5Ælúœý&ã‚åñˆ&qy¾Ñ[¾á:e–:GÀ_Wÿ~p”Ç%tŽüs*úGˆüq9ÛJÇ[ÐÐ9
+Ì|–+m ‚°eøˆ x‘yÅ@�Ö�âÀ“ÈX~Üéú‹:d®[öúÒŒRä•çùZÊå¾É�Ünÿ¹ŠJsQàVîæ~Aé,­‘“Q›òÕ;Ô½a;Y?›zf�qø{ûó8=î÷ÚSÖôrÊZk­�ߟ»þD€ÎQ:—)Á+ÕãÐñqšà'tÈìGÏ¢ä"»¢ýâÁKâ�ZžÎæ�TI£”õÌÙÛÏç\¶²‹üõ'tŽйÙ�†­•ëC™k…–¶®}‚å³býÝIéláºâ÷òé3w•w7"7›w"s³Ê,bCèÞ‚ßG·¥L]/Ūo”•ySÒÛf#˜Ðh|9Í·_tþ>’Äû×îë¤ÙÙ"@ç(�»›Ë*¥ù'5
+�7ŸÅ,þ^oÃӝܨ««zÊeh6в³:Gèœ+bV©µLûªhïÔ):ϹçæmUß^zŽ¿©u»ÊãÑÂDx™çËârá—3÷Ü_	£ï?^¬ß¿+Ëš³Œi×¥4û˜QFRe²zU­_56žD€ÎQà”þ4�)Z¯ÕhB
"@ç(0õ!½iýŠ*WCœiÙ¨
+²Tõb•·Ÿ­H?ùÅôtŽMÙkÇ ‡Öò1¦>�Fv}í|äª�Ð9
+@ç(‹	³¥}b‡÷„™Us*µõ}óý0¼§c߇‡oé). s®h£IÍi<¿Ö8ÑòãeF«NF笿Ê(ß±~}môrUãm2¿?“
+&XˆRÄhÿ_Äõ:GèÜÝÜ,Ô¹ì^“P¶“²Ze9ë§Ç“gïÎÑWESáĬhùƛޘ‹SÁSçâªmoŒ1¿OÃÛSö"@ç(�k.Ë-¶w�\B峕ý}~ŬdŸ`3î’sµåVZ sw­ùýjóì-¤f-}h¢Ñ²reOùci$ñç)\ŸÑÚ�1+å\ s€Îݵß_¯Šk†aX#1ãhí{’õ+“2Ƈn¡ÊвoiçŸV=Z\�}¬i–ö s€Î�@ö©Ÿàm�Plrwqv,?Ô©41£Zý~…�/fKºd3w=Ú�«¢QÇKWsz>Û" °áûû²Ïñµó(<Y•}kî=}ñyÕŽÈŒsh8Ÿãé:T½*WË*&\"@ç(Æ‘¯p_YuܹFçUÏǩʖ¶–‚›¥ãÿk:G€i·ï"°
+¸A•“•É®¶Ö¬d"ôJèZ¥Ùµ™õMî)Xæ¾µvÿÂS­zZWj]Š•ÿ:ú:G€#<˜[?6Î´¨
¹Â@ˆQéBÖο¶JÊ÷|á s4Œý�Ì�µ»�Úª-•yÃé?€й¶Ð0»5;JvÃåiJSôîÝx?Z
+�bqr£7©Õi#tŽ€Ö‰qãʯ/¿†^ÛÏõ—/˜ðR$íaHk-‰eù>õ…“*ÀÏRQ[äD€ÎQ:· ­kcŒ6ëVL<q«å
öIhÕ:^¦óœ}þ�§_9%Ñäź5厾“rt¼Ã�Ìb~ž?““w›:×Vj³lùV�v?~íåFϨ-›þ²¾†Àé",ì3|ü±¯§¯Ñ>£»;ú‡ù}J²úD�@÷ò€ñüo‚Ð9
+@ç®P
+²_u¹£e÷*Ìú%F{±^(çrÒF­¸L´)HL檕Ãùß`Ÿî"@ç(�»bˆ³~Ýz¹Ó˜Ý+í+Ç·ŒUÐn7FkwR6³£ý|VRœ`š²KéÙ®ä‡AUû¿Örí<mú�«ùî^ÛíêãÚ^éKèká­âY´‚u§›ÕŽ1pˆ�£`-T7×�í�Z4~ãeeùïæoYÒs2;X¼ªiç3ý�£`‹.ÜÚAå³_×%ž§xA2k.×Ñ–L§p«èŠ• s€ÎmW>.¯zÏç¾ef¿Š›/°gjòÿ¤kú¯Ù�6iCÁ<ž—ì“9ΆнéÛÃçÓX¥µIR~zÑbñ7¨ü0…6Zºfý˜Ûò\‡pŽU:Ú~I£:xïp]«2jú7¬_æ¤K"@ç(�;€·iKÆÍ&
+úÍÅIR_÷ÉõÜ­bŽí×ý\®•`^°œa]Ñ)	)râüº¹SÚYû^Ðxå'¿å:G@fN_¶[4×qj”îÊô%DboªÖÅšî3³yIè/ß¼ü”œ´%¯=µ×,9sq�ô4J–"@÷ò@lq‰Ón„”˜®Ä‰rp‰}ÓNÈ‹"n^®|óò5_’¦òa^“yúÚŒþ³4òˆ�ÌfD€ÎQ:—)bt­ÝMWóÉRâƒ4\Ï&-Ì[7ô­å $K+ÊÑÚ÷iÊÖA.šö:.ƒÐ9
+@ç‚§�“�Äð1jÊV>þŽ7]çTºåQtáxçù͵öôw>�Õßvˆ(Y°EÚ¿7Ó³57زñ@…ãšÆ¦:'Ëãc¸yá¶âVá÷-Yâ:G@Õ£“c²…¸ðú›o€Ýt^@	"@ç(¨oµÆ-É�^ƒûÏÛtvp!"ô)ÉÇRt“�i?†ÿ¶ò}¶ÓwüdO¤ê©¿Ÿ�¿ÉÿŸ¼~|~ñ…Ú¢O|LzÞgÄ'¡î€~€ÎQ`Šs-¦Y§òϤÄa	é1fE!XÉékÞâ×ÄiÛ›´
+)ø;þæz•2¡×åŸTs›\uª„((Ìv8;ÛTÜOºNtŒôÞ¡¡=ÖTsÛÇg-WÙ»”löãÅUÀªˆ�»ÓóGE7�{cL’w.\¢ïg¢%¡^ù/ì|Œ]î+.Ø‹4ÿËoOvžLXý\Ø‹ŽD€ÎQ:§€Id,O<˜ç·š,y·Ö&™”Qÿ¾Ìöói}ÈŽÿÞÀ.í~_t¼l‹°$#ØdµÜ6D€ÎQ:w“%yÐr,ŠC¼ü´n­‰óÇw¢Ïó_ s×/‡aøØô7hÎ)¹sŸ´�[¢F[ s€ÎݨT¥y¹	1!e“ò\Þåï¬X s€Îݤ¼T¾a[i÷ôµèY×[ô“ÕÚúˆ�»“žì·)3ðGÅÏïãçûY7öЀ(n–õ믧3•Yº²M½u«Æ†Ä¸D€ÎQ�ºmÖ¯­Ÿß/U{~-7ø�çÕð?ŒÀñM.|il8IEND®B`‚

File diff suppressed because it is too large
+ 190 - 1
docs/examples/web/text_bmfont_unordered.js


+ 1 - 1
docs/examples/web/text_font_select.js

@@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'fonts', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2159, "filename": "/resources/fonts/alagard.rbmf"}, {"audio": 0, "start": 2159, "crunched": 0, "end": 4319, "filename": "/resources/fonts/pixelplay.rbmf"}, {"audio": 0, "start": 4319, "crunched": 0, "end": 6479, "filename": "/resources/fonts/mecha.rbmf"}, {"audio": 0, "start": 6479, "crunched": 0, "end": 8639, "filename": "/resources/fonts/setback.rbmf"}, {"audio": 0, "start": 8639, "crunched": 0, "end": 10799, "filename": "/resources/fonts/romulus.rbmf"}, {"audio": 0, "start": 10799, "crunched": 0, "end": 12959, "filename": "/resources/fonts/pixantiqua.rbmf"}, {"audio": 0, "start": 12959, "crunched": 0, "end": 15119, "filename": "/resources/fonts/alpha_beta.rbmf"}, {"audio": 0, "start": 15119, "crunched": 0, "end": 17279, "filename": "/resources/fonts/jupiter_crash.rbmf"}], "remote_package_size": 17279, "package_uuid": "68fdcaa1-c089-41da-8d39-73a05c3d73d4"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2159, "filename": "/resources/fonts/alagard.rbmf"}, {"audio": 0, "start": 2159, "crunched": 0, "end": 4319, "filename": "/resources/fonts/pixelplay.rbmf"}, {"audio": 0, "start": 4319, "crunched": 0, "end": 6479, "filename": "/resources/fonts/mecha.rbmf"}, {"audio": 0, "start": 6479, "crunched": 0, "end": 8639, "filename": "/resources/fonts/setback.rbmf"}, {"audio": 0, "start": 8639, "crunched": 0, "end": 10799, "filename": "/resources/fonts/romulus.rbmf"}, {"audio": 0, "start": 10799, "crunched": 0, "end": 12959, "filename": "/resources/fonts/pixantiqua.rbmf"}, {"audio": 0, "start": 12959, "crunched": 0, "end": 15119, "filename": "/resources/fonts/alpha_beta.rbmf"}, {"audio": 0, "start": 15119, "crunched": 0, "end": 17279, "filename": "/resources/fonts/jupiter_crash.rbmf"}], "remote_package_size": 17279, "package_uuid": "c5737461-6fac-433b-b918-e475c1d97f5f"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/text_rbmf_fonts.js

@@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'fonts', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2159, "filename": "/resources/fonts/alagard.rbmf"}, {"audio": 0, "start": 2159, "crunched": 0, "end": 4319, "filename": "/resources/fonts/pixelplay.rbmf"}, {"audio": 0, "start": 4319, "crunched": 0, "end": 6479, "filename": "/resources/fonts/mecha.rbmf"}, {"audio": 0, "start": 6479, "crunched": 0, "end": 8639, "filename": "/resources/fonts/setback.rbmf"}, {"audio": 0, "start": 8639, "crunched": 0, "end": 10799, "filename": "/resources/fonts/romulus.rbmf"}, {"audio": 0, "start": 10799, "crunched": 0, "end": 12959, "filename": "/resources/fonts/pixantiqua.rbmf"}, {"audio": 0, "start": 12959, "crunched": 0, "end": 15119, "filename": "/resources/fonts/alpha_beta.rbmf"}, {"audio": 0, "start": 15119, "crunched": 0, "end": 17279, "filename": "/resources/fonts/jupiter_crash.rbmf"}], "remote_package_size": 17279, "package_uuid": "909db3c4-b037-4c00-9591-d9677c67b8f2"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2159, "filename": "/resources/fonts/alagard.rbmf"}, {"audio": 0, "start": 2159, "crunched": 0, "end": 4319, "filename": "/resources/fonts/pixelplay.rbmf"}, {"audio": 0, "start": 4319, "crunched": 0, "end": 6479, "filename": "/resources/fonts/mecha.rbmf"}, {"audio": 0, "start": 6479, "crunched": 0, "end": 8639, "filename": "/resources/fonts/setback.rbmf"}, {"audio": 0, "start": 8639, "crunched": 0, "end": 10799, "filename": "/resources/fonts/romulus.rbmf"}, {"audio": 0, "start": 10799, "crunched": 0, "end": 12959, "filename": "/resources/fonts/pixantiqua.rbmf"}, {"audio": 0, "start": 12959, "crunched": 0, "end": 15119, "filename": "/resources/fonts/alpha_beta.rbmf"}, {"audio": 0, "start": 15119, "crunched": 0, "end": 17279, "filename": "/resources/fonts/jupiter_crash.rbmf"}], "remote_package_size": 17279, "package_uuid": "e3160f18-2a84-4d1b-b527-c1a780a150f0"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/text_sprite_fonts.js

@@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'fonts', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 26597, "filename": "/resources/fonts/custom_mecha.png"}, {"audio": 0, "start": 26597, "crunched": 0, "end": 64532, "filename": "/resources/fonts/custom_alagard.png"}, {"audio": 0, "start": 64532, "crunched": 0, "end": 88128, "filename": "/resources/fonts/custom_jupiter_crash.png"}], "remote_package_size": 88128, "package_uuid": "128b1ddd-b8bf-4bd6-a915-f86578bb01df"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 26597, "filename": "/resources/fonts/custom_mecha.png"}, {"audio": 0, "start": 26597, "crunched": 0, "end": 64532, "filename": "/resources/fonts/custom_alagard.png"}, {"audio": 0, "start": 64532, "crunched": 0, "end": 88128, "filename": "/resources/fonts/custom_jupiter_crash.png"}], "remote_package_size": 88128, "package_uuid": "ba5b2d4c-8fe3-45e6-843e-f81fe6609614"});
 
 
 })();
 })();
 
 

+ 120 - 83
docs/examples/web/text_ttf_loading.c

@@ -11,120 +11,157 @@
 
 
 #include "raylib.h"
 #include "raylib.h"
 
 
+#if defined(PLATFORM_WEB)
+    #include <emscripten/emscripten.h>
+#endif
+
+//----------------------------------------------------------------------------------
+// Global Variables Definition
+//----------------------------------------------------------------------------------
+const int screenWidth = 800;
+const int screenHeight = 450;
+
+const char msg[50] = "TTF SpriteFont";
+
+SpriteFont font;
+float fontSize;
+Vector2 fontPosition = { 40, screenHeight/2 + 50 };
+Vector2 textSize;
+
+int currentFontFilter = 0;      // FILTER_POINT
+
+#if !defined(PLATFORM_WEB)
+int count = 0;
+char **droppedFiles;
+#endif
+
+//----------------------------------------------------------------------------------
+// Module Functions Declaration
+//----------------------------------------------------------------------------------
+void UpdateDrawFrame(void);     // Update and Draw one frame
+
+//----------------------------------------------------------------------------------
+// Main Enry Point
+//----------------------------------------------------------------------------------
 int main()
 int main()
 {
 {
     // Initialization
     // Initialization
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
-    int screenWidth = 800;
-    int screenHeight = 450;
-
     InitWindow(screenWidth, screenHeight, "raylib [text] example - ttf loading");
     InitWindow(screenWidth, screenHeight, "raylib [text] example - ttf loading");
-    
-    const char msg[50] = "TTF SpriteFont";
 
 
     // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required)
     // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required)
     
     
     // TTF SpriteFont loading with custom generation parameters
     // TTF SpriteFont loading with custom generation parameters
-    SpriteFont font = LoadSpriteFontTTF("resources/fonts/KAISG.ttf", 96, 0, 0);
+    font = LoadSpriteFontTTF("resources/fonts/KAISG.ttf", 96, 0, 0);
     
     
     // Generate mipmap levels to use trilinear filtering
     // Generate mipmap levels to use trilinear filtering
     // NOTE: On 2D drawing it won't be noticeable, it looks like FILTER_BILINEAR
     // NOTE: On 2D drawing it won't be noticeable, it looks like FILTER_BILINEAR
     GenTextureMipmaps(&font.texture);
     GenTextureMipmaps(&font.texture);
 
 
-    float fontSize = font.baseSize;
-    Vector2 fontPosition = { 40, screenHeight/2 + 50 };
-    Vector2 textSize;
+    fontSize = font.baseSize;
 
 
     SetTextureFilter(font.texture, FILTER_POINT);
     SetTextureFilter(font.texture, FILTER_POINT);
-    int currentFontFilter = 0;      // FILTER_POINT
-    
-    int count = 0;
-    char **droppedFiles;
     
     
-    SetTargetFPS(60);
+#if defined(PLATFORM_WEB)
+    emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
+#else
+    SetTargetFPS(60);   // Set our game to run at 60 frames-per-second
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
     
     
     // Main game loop
     // Main game loop
     while (!WindowShouldClose())    // Detect window close button or ESC key
     while (!WindowShouldClose())    // Detect window close button or ESC key
     {
     {
-        // Update
-        //----------------------------------------------------------------------------------
-        fontSize += GetMouseWheelMove()*4.0f;
-        
-        // Choose font texture filter method
-        if (IsKeyPressed(KEY_ONE))
-        {
-            SetTextureFilter(font.texture, FILTER_POINT);
-            currentFontFilter = 0;
-        }
-        else if (IsKeyPressed(KEY_TWO))
-        {
-            SetTextureFilter(font.texture, FILTER_BILINEAR);
-            currentFontFilter = 1;
-        }
-        else if (IsKeyPressed(KEY_THREE))
-        {
-            // NOTE: Trilinear filter won't be noticed on 2D drawing
-            SetTextureFilter(font.texture, FILTER_TRILINEAR);
-            currentFontFilter = 2;
-        }
-        
-        textSize = MeasureTextEx(font, msg, fontSize, 0);
-        
-        if (IsKeyDown(KEY_LEFT)) fontPosition.x -= 10;
-        else if (IsKeyDown(KEY_RIGHT)) fontPosition.x += 10;
-        
-        // Load a dropped TTF file dynamically (at current fontSize)
-        if (IsFileDropped())
-        {
-            droppedFiles = GetDroppedFiles(&count);
-            
-            if (count == 1) // Only support one ttf file dropped
-            {
-                UnloadSpriteFont(font);
-                font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0);
-                ClearDroppedFiles();
-            }
-        }
-        //----------------------------------------------------------------------------------
-        
-        // Draw
-        //----------------------------------------------------------------------------------
-        BeginDrawing();
-        
-            ClearBackground(RAYWHITE);
-            
-            DrawText("Use mouse wheel to change font size", 20, 20, 10, GRAY);
-            DrawText("Use KEY_RIGHT and KEY_LEFT to move text", 20, 40, 10, GRAY);
-            DrawText("Use 1, 2, 3 to change texture filter", 20, 60, 10, GRAY);
-            DrawText("Drop a new TTF font for dynamic loading", 20, 80, 10, DARKGRAY);
-
-            DrawTextEx(font, msg, fontPosition, fontSize, 0, BLACK);
-            
-            // TODO: It seems texSize measurement is not accurate due to chars offsets...
-            //DrawRectangleLines(fontPosition.x, fontPosition.y, textSize.x, textSize.y, RED);
-            
-            DrawRectangle(0, screenHeight - 80, screenWidth, 80, LIGHTGRAY);
-            DrawText(FormatText("Font size: %02.02f", fontSize), 20, screenHeight - 50, 10, DARKGRAY);
-            DrawText(FormatText("Text size: [%02.02f, %02.02f]", textSize.x, textSize.y), 20, screenHeight - 30, 10, DARKGRAY);
-            DrawText("CURRENT TEXTURE FILTER:", 250, 400, 20, GRAY);
-            
-            if (currentFontFilter == 0) DrawText("POINT", 570, 400, 20, BLACK);
-            else if (currentFontFilter == 1) DrawText("BILINEAR", 570, 400, 20, BLACK);
-            else if (currentFontFilter == 2) DrawText("TRILINEAR", 570, 400, 20, BLACK);
-      
-        EndDrawing();
-        //----------------------------------------------------------------------------------
+        UpdateDrawFrame();
     }
     }
+#endif
 
 
     // De-Initialization
     // De-Initialization
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
     UnloadSpriteFont(font);     // SpriteFont unloading
     UnloadSpriteFont(font);     // SpriteFont unloading
     
     
+#if !defined(PLATFORM_WEB) 
     ClearDroppedFiles();        // Clear internal buffers
     ClearDroppedFiles();        // Clear internal buffers
+#endif
 
 
     CloseWindow();              // Close window and OpenGL context
     CloseWindow();              // Close window and OpenGL context
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
-    
+
     return 0;
     return 0;
+}
+
+//----------------------------------------------------------------------------------
+// Module Functions Definition
+//----------------------------------------------------------------------------------
+void UpdateDrawFrame(void)
+{
+    // Update
+    //----------------------------------------------------------------------------------
+    fontSize += GetMouseWheelMove()*4.0f;
+    
+    // Choose font texture filter method
+    if (IsKeyPressed(KEY_ONE))
+    {
+        SetTextureFilter(font.texture, FILTER_POINT);
+        currentFontFilter = 0;
+    }
+    else if (IsKeyPressed(KEY_TWO))
+    {
+        SetTextureFilter(font.texture, FILTER_BILINEAR);
+        currentFontFilter = 1;
+    }
+    else if (IsKeyPressed(KEY_THREE))
+    {
+        // NOTE: Trilinear filter won't be noticed on 2D drawing
+        SetTextureFilter(font.texture, FILTER_TRILINEAR);
+        currentFontFilter = 2;
+    }
+    
+    textSize = MeasureTextEx(font, msg, fontSize, 0);
+    
+    if (IsKeyDown(KEY_LEFT)) fontPosition.x -= 10;
+    else if (IsKeyDown(KEY_RIGHT)) fontPosition.x += 10;
+    
+#if !defined(PLATFORM_WEB)
+    // Load a dropped TTF file dynamically (at current fontSize)
+    if (IsFileDropped())
+    {
+        droppedFiles = GetDroppedFiles(&count);
+        
+        if (count == 1) // Only support one ttf file dropped
+        {
+            UnloadSpriteFont(font);
+            font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0);
+            ClearDroppedFiles();
+        }
+    }
+#endif
+    //----------------------------------------------------------------------------------
+    
+    // Draw
+    //----------------------------------------------------------------------------------
+    BeginDrawing();
+    
+        ClearBackground(RAYWHITE);
+        
+        DrawText("Use mouse wheel to change font size", 20, 20, 10, GRAY);
+        DrawText("Use KEY_RIGHT and KEY_LEFT to move text", 20, 40, 10, GRAY);
+        DrawText("Use 1, 2, 3 to change texture filter", 20, 60, 10, GRAY);
+        DrawText("Drop a new TTF font for dynamic loading", 20, 80, 10, DARKGRAY);
+
+        DrawTextEx(font, msg, fontPosition, fontSize, 0, BLACK);
+        
+        // TODO: It seems texSize measurement is not accurate due to chars offsets...
+        //DrawRectangleLines(fontPosition.x, fontPosition.y, textSize.x, textSize.y, RED);
+        
+        DrawRectangle(0, screenHeight - 80, screenWidth, 80, LIGHTGRAY);
+        DrawText(FormatText("Font size: %02.02f", fontSize), 20, screenHeight - 50, 10, DARKGRAY);
+        DrawText(FormatText("Text size: [%02.02f, %02.02f]", textSize.x, textSize.y), 20, screenHeight - 30, 10, DARKGRAY);
+        DrawText("CURRENT TEXTURE FILTER:", 250, 400, 20, GRAY);
+        
+        if (currentFontFilter == 0) DrawText("POINT", 570, 400, 20, BLACK);
+        else if (currentFontFilter == 1) DrawText("BILINEAR", 570, 400, 20, BLACK);
+        else if (currentFontFilter == 2) DrawText("TRILINEAR", 570, 400, 20, BLACK);
+  
+    EndDrawing();
+    //----------------------------------------------------------------------------------
 }
 }

BIN
docs/examples/web/text_ttf_loading.data


File diff suppressed because it is too large
+ 262 - 20
docs/examples/web/text_ttf_loading.js


File diff suppressed because it is too large
+ 0 - 0
docs/examples/web/textures_formats_loading.js


+ 1 - 1
docs/examples/web/textures_image_drawing.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}, {"audio": 0, "start": 295054, "crunched": 0, "end": 683586, "filename": "/resources/cat.png"}], "remote_package_size": 683586, "package_uuid": "0b55a7d8-679a-472e-b929-8b4a827cc116"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}, {"audio": 0, "start": 295054, "crunched": 0, "end": 683586, "filename": "/resources/cat.png"}], "remote_package_size": 683586, "package_uuid": "3d0998d2-5991-41c5-abff-c7fce726b395"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/textures_image_loading.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "85a25fea-6354-4fd5-ae29-2ca548c86940"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "ba766e96-b2bd-4179-b669-377c7771c8ac"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/textures_image_processing.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}], "remote_package_size": 295054, "package_uuid": "e4e834ee-01d2-4389-a278-53740c6fc2cd"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}], "remote_package_size": 295054, "package_uuid": "36324a4c-216a-4a83-802d-12544330631d"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/textures_logo_raylib.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "38be83d9-edac-417b-9c60-b5da0fbcff06"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "71c74538-6d2f-419f-99e0-d310208f954c"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/textures_particles_trail_blending.c

@@ -85,7 +85,7 @@ int main()
     // De-Initialization
     // De-Initialization
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
 	UnloadTexture(smoke);	// Texture unloading
 	UnloadTexture(smoke);	// Texture unloading
-	 
+
     CloseWindow();        // Close window and OpenGL context
     CloseWindow();        // Close window and OpenGL context
     //--------------------------------------------------------------------------------------
     //--------------------------------------------------------------------------------------
 
 

+ 1 - 1
docs/examples/web/textures_particles_trail_blending.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 15427, "filename": "/resources/smoke.png"}], "remote_package_size": 15427, "package_uuid": "457aeccf-3888-43de-8532-6894fbc146be"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 15427, "filename": "/resources/smoke.png"}], "remote_package_size": 15427, "package_uuid": "f4df9a25-e387-4cd6-92c5-3cee7c384a45"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/textures_raw_data.js

@@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'texture_formats', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 1048576, "filename": "/resources/texture_formats/sonic_R8G8B8A8.raw"}], "remote_package_size": 1048576, "package_uuid": "7bfbf262-7504-4c83-a6cc-bf2d26e775fe"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 1048576, "filename": "/resources/texture_formats/sonic_R8G8B8A8.raw"}], "remote_package_size": 1048576, "package_uuid": "3737e5a7-8382-4bd7-805a-49ca01d81651"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/textures_rectangle.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 85247, "filename": "/resources/guybrush.png"}], "remote_package_size": 85247, "package_uuid": "d7c2ab68-a8da-4273-a50f-ba2c6e8860b8"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 85247, "filename": "/resources/guybrush.png"}], "remote_package_size": 85247, "package_uuid": "2a974ffe-7b38-475a-aaaa-6209cb11351e"});
 
 
 })();
 })();
 
 

+ 1 - 1
docs/examples/web/textures_srcrec_dstrec.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 85247, "filename": "/resources/guybrush.png"}], "remote_package_size": 85247, "package_uuid": "d99bc7c4-6775-4512-882e-19a7952641f6"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 85247, "filename": "/resources/guybrush.png"}], "remote_package_size": 85247, "package_uuid": "482e2cdc-1cc2-4396-b036-7f4de958912c"});
 
 
 })();
 })();
 
 

+ 0 - 1
docs/examples/web/textures_to_image.c

@@ -96,7 +96,6 @@ void UpdateDrawFrame(void)
 
 
         DrawText("this IS a texture loaded from an image!", 300, 370, 10, GRAY);
         DrawText("this IS a texture loaded from an image!", 300, 370, 10, GRAY);
 
 
-
     EndDrawing();
     EndDrawing();
     //----------------------------------------------------------------------------------
     //----------------------------------------------------------------------------------
 }
 }

+ 3 - 3
docs/examples/web/textures_to_image.js

@@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true);
   }
   }
 
 
  }
  }
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "d58fbf9b-0e8b-4d53-8235-977e6e66f280"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "1abd60d9-f55f-4eac-95a6-a940d84ea4d2"});
 
 
 })();
 })();
 
 
@@ -16365,10 +16365,10 @@ function _rlglReadTexturePixels($0) {
  _glFramebufferTexture2D(36160,36064,3553,($7|0),0);
  _glFramebufferTexture2D(36160,36064,3553,($7|0),0);
  $8 = HEAP32[$2>>2]|0;
  $8 = HEAP32[$2>>2]|0;
  $9 = HEAP32[$4>>2]|0;
  $9 = HEAP32[$4>>2]|0;
- $10 = $8 << 2;
+ $10 = ($8*3)|0;
  $11 = Math_imul($10, $9)|0;
  $11 = Math_imul($10, $9)|0;
  $12 = (_malloc($11)|0);
  $12 = (_malloc($11)|0);
- _glReadPixels(0,0,($8|0),($9|0),6408,5121,($12|0));
+ _glReadPixels(0,0,($8|0),($9|0),6407,5121,($12|0));
  $13 = ((($1)) + 4|0);
  $13 = ((($1)) + 4|0);
  $14 = HEAP32[$13>>2]|0;
  $14 = HEAP32[$13>>2]|0;
  _glFramebufferTexture2D(36160,36064,3553,($14|0),0);
  _glFramebufferTexture2D(36160,36064,3553,($14|0),0);

Some files were not shown because too many files changed in this diff