NextGEN Gallery – WordPress Gallery Plugin - Version 3.0.15

Version Description

Download this release

Release Info

Developer photocrati
Plugin Icon 128x128 NextGEN Gallery – WordPress Gallery Plugin
Version 3.0.15
Comparing to
See all releases

Code changes from version 3.0.13 to 3.0.15

Files changed (109) hide show
  1. changelog.txt +18 -1
  2. composer.json +1 -1
  3. nggallery.php +13 -15
  4. non_pope/class.nextgen_settings.php +10 -8
  5. non_pope/class.nextgen_shortcode_manager.php +2 -1
  6. non_pope/class.photocrati_installer.php +4 -1
  7. non_pope/class.photocrati_resource_manager.php +2 -1
  8. non_pope/class.photocrati_settings_manager.php +22 -9
  9. pope/lib/class.base_module.php +8 -0
  10. pope/lib/class.component.php +5 -4
  11. pope/lib/class.component_registry.php +16 -13
  12. pope/lib/class.extensibleobject.php +7 -10
  13. pope/lib/class.pope_cache.php +1 -1
  14. products/photocrati_nextgen/modules/ajax/package.module.ajax.php +1 -1
  15. products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php +24 -17
  16. products/photocrati_nextgen/modules/attach_to_post/package.module.attach_to_post.php +18 -14
  17. products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css +4 -0
  18. products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.css +1 -1
  19. products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js +11 -11
  20. products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js +1 -1
  21. products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.css +15 -4
  22. products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js +3 -1
  23. products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.css +1 -1
  24. products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.js +1 -1
  25. products/photocrati_nextgen/modules/attach_to_post/templates/tinymce_placeholder.php +14 -7
  26. products/photocrati_nextgen/modules/cache/module.cache.php +3 -0
  27. products/photocrati_nextgen/modules/cache/package.module.cache.php +4 -0
  28. products/photocrati_nextgen/modules/datamapper/module.datamapper.php +2 -2
  29. products/photocrati_nextgen/modules/datamapper/package.module.datamapper.php +83 -45
  30. products/photocrati_nextgen/modules/dynamic_stylesheet/package.module.dynamic_stylesheet.php +3 -3
  31. products/photocrati_nextgen/modules/dynamic_thumbnails/package.module.dynamic_thumbnails.php +5 -1
  32. products/photocrati_nextgen/modules/frame_communication/package.module.frame_communication.php +3 -3
  33. products/photocrati_nextgen/modules/fs/package.module.fs.php +22 -16
  34. products/photocrati_nextgen/modules/i18n/lang/nggallery-da_DK.po +2 -2
  35. products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po +3 -3
  36. products/photocrati_nextgen/modules/i18n/lang/nggallery.po +2 -2
  37. products/photocrati_nextgen/modules/i18n/module.i18n.php +3 -3
  38. products/photocrati_nextgen/modules/imagify/package.module.imagify.php +1 -1
  39. products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php +6 -1
  40. products/photocrati_nextgen/modules/mvc/package.module.mvc.php +23 -13
  41. products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php +43 -13
  42. products/photocrati_nextgen/modules/nextgen_addgallery_page/package.module.nextgen_addgallery_page.php +1 -1
  43. products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php +1 -0
  44. products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php +53 -52
  45. products/photocrati_nextgen/modules/nextgen_admin/package.module.nextgen_admin.php +196 -17
  46. products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.css +1 -1
  47. products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.min.css +1 -1
  48. products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css +16 -4
  49. products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js +11 -0
  50. products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.css +1 -1
  51. products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.js +1 -1
  52. products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.js +1 -1
  53. products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.js +1 -1
  54. products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.css +1 -0
  55. products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.min.css +1 -1
  56. products/photocrati_nextgen/modules/nextgen_admin/templates/requirement_notice.php +6 -0
  57. products/photocrati_nextgen/modules/nextgen_basic_album/package.module.nextgen_basic_album.php +10 -7
  58. products/photocrati_nextgen/modules/nextgen_basic_gallery/package.module.nextgen_basic_gallery.php +12 -15
  59. products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php +5 -3
  60. products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/package.module.nextgen_basic_imagebrowser.php +2 -2
  61. products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php +1 -1
  62. products/photocrati_nextgen/modules/nextgen_basic_singlepic/package.module.nextgen_basic_singlepic.php +8 -3
  63. products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php +1 -0
  64. products/photocrati_nextgen/modules/nextgen_basic_tagcloud/package.module.nextgen_basic_tagcloud.php +6 -4
  65. products/photocrati_nextgen/modules/nextgen_basic_templates/package.module.nextgen_basic_templates.php +10 -4
  66. products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php +80 -34
  67. products/photocrati_nextgen/modules/nextgen_data/package.module.nextgen_data.php +200 -94
  68. products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php +69 -94
  69. products/photocrati_nextgen/modules/nextgen_gallery_display/package.module.nextgen_gallery_display.php +141 -60
  70. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.css +0 -2178
  71. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.min.css +0 -4
  72. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/FontAwesome.otf +0 -0
  73. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.eot +0 -0
  74. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.svg +0 -685
  75. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.ttf +0 -0
  76. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.woff +0 -0
  77. products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.woff2 +0 -0
  78. products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php +12 -10
  79. products/photocrati_nextgen/modules/nextgen_pagination/package.module.nextgen_pagination.php +1 -0
  80. products/photocrati_nextgen/modules/nextgen_pagination/static/style.css +4 -0
  81. products/photocrati_nextgen/modules/nextgen_pagination/static/style.min.css +1 -1
  82. products/photocrati_nextgen/modules/nextgen_pro_upgrade/package.module.nextgen_pro_upgrade.php +1 -1
  83. products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php +1 -1
  84. products/photocrati_nextgen/modules/nextgen_xmlrpc/package.module.nextgen_xmlrpc.php +72 -19
  85. products/photocrati_nextgen/modules/ngglegacy/admin/admin.php +14 -7
  86. products/photocrati_nextgen/modules/ngglegacy/admin/album.php +48 -16
  87. products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css +6 -1
  88. products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.min.css +1 -1
  89. products/photocrati_nextgen/modules/ngglegacy/admin/functions.php +16 -18
  90. products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php +3 -0
  91. products/photocrati_nextgen/modules/ngglegacy/admin/manage.php +48 -33
  92. products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php +1 -1
  93. products/photocrati_nextgen/modules/ngglegacy/lib/core.php +1 -1
  94. products/photocrati_nextgen/modules/ngglegacy/lib/gd.thumbnail.inc.php +5 -4
  95. products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php +5 -5
  96. products/photocrati_nextgen/modules/ngglegacy/lib/media-rss.php +2 -2
  97. products/photocrati_nextgen/modules/ngglegacy/lib/meta.php +16 -16
  98. products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php +9 -6
  99. products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php +87 -80
  100. products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php +5 -5
  101. products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php +11 -9
  102. products/photocrati_nextgen/modules/ngglegacy/lib/tags.php +1 -1
  103. products/photocrati_nextgen/modules/router/package.module.router.php +39 -17
  104. products/photocrati_nextgen/modules/security/package.module.security.php +8 -0
  105. products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php +7 -3
  106. products/photocrati_nextgen/modules/validation/package.module.validation.php +12 -11
  107. products/photocrati_nextgen/modules/widget/package.module.widget.php +14 -10
  108. products/photocrati_nextgen/modules/wpcli/module.wpcli.php +8 -3
  109. readme.txt +20 -3
changelog.txt CHANGED
@@ -1,10 +1,27 @@
1
  NextGEN Gallery
2
  by Imagely
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  = V3.0.13 - 10.11.2018 =
5
  * Changed: Added settings for basic slideshow
6
 
7
- = V3.0.9 - 10.02.2018 =
8
  * NEW: Added 2.0 template mechanism for basic galleries
9
  * NEW: Simple Lightbox is the new default Lightbox
10
  * Changed: Changed Javascript library and styling for basic slideshow
1
  NextGEN Gallery
2
  by Imagely
3
 
4
+ = v3.0.15 - 10.23.2018 =
5
+ * NEW: Added requirements notification manager
6
+ * Changed: Basic Thumbnails default setting from "[Show slideshow]" to "Show slideshow"
7
+ * Changed: Fixed order_by=rand and 'variations' system not working by storing random results in a transient for 24h
8
+ * Changed: How gallery directories are removed
9
+ * Changed: Improved memory use during thumbnail generation
10
+ * Changed: Manage Albums page now uses GET for editing navigation
11
+ * Changed: Upgrading FontAwesome to 5.0.13
12
+ * Fixed: Attribute 'target=_blank' not working in lightbox effects
13
+ * Fixed: Conflict with WP Social Widget
14
+ * Fixed: Corrected numerous phpdoc problems found by Phan
15
+ * Fixed: Editing of image attributes from search-galleries page
16
+ * Fixed: Gritter messages with long texts overlapped their close-notification icon
17
+ * Fixed: IGW gallery selections not persisting between edits
18
+ * Fixed: Orphaned entries being created and/or left in wp_postmeta
19
+ * Fixed: Repeated and missing images in featured images list
20
+
21
  = V3.0.13 - 10.11.2018 =
22
  * Changed: Added settings for basic slideshow
23
 
24
+ = V3.0.9 - 09.25.2018 =
25
  * NEW: Added 2.0 template mechanism for basic galleries
26
  * NEW: Simple Lightbox is the new default Lightbox
27
  * Changed: Changed Javascript library and styling for basic slideshow
composer.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "imagely/nextgen-gallery",
3
- "description": "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 22 million downloads.",
4
  "keywords": ["nextgen", "nextgen gallery", "gallery", "galleries", "image", "images", "image gallery", "photo", "photos", "photo gallery", "picture", "pictures", "picture gallery", "album", "albums", "photo albums", "image album", "media", "media gallery", "thumbnails", "thumbnail gallery", "thumbnail galleries", "slideshow", "slideshows", "slideshow gallery", "slideshow galleries", "fancybox", "lightbox", "responsive", "responsive gallery", "responsive galleries", "singlepic", "watermarks", "watermarking", "photography", "photographer"],
5
  "homepage": "https://www.imagely.com/",
6
  "license": "GPLv2",
1
  {
2
  "name": "imagely/nextgen-gallery",
3
+ "description": "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 23 million downloads.",
4
  "keywords": ["nextgen", "nextgen gallery", "gallery", "galleries", "image", "images", "image gallery", "photo", "photos", "photo gallery", "picture", "pictures", "picture gallery", "album", "albums", "photo albums", "image album", "media", "media gallery", "thumbnails", "thumbnail gallery", "thumbnail galleries", "slideshow", "slideshows", "slideshow gallery", "slideshow galleries", "fancybox", "lightbox", "responsive", "responsive gallery", "responsive galleries", "singlepic", "watermarks", "watermarking", "photography", "photographer"],
5
  "homepage": "https://www.imagely.com/",
6
  "license": "GPLv2",
nggallery.php CHANGED
@@ -3,8 +3,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
3
 
4
  /**
5
  * Plugin Name: NextGEN Gallery
6
- * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 22 million downloads.
7
- * Version: 3.0.13
8
  * Author: Imagely
9
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
10
  * Author URI: https://www.imagely.com
@@ -396,8 +396,8 @@ class C_NextGEN_Bootstrap
396
  add_filter('simpletest_suites', array(&$this, 'add_testsuite'));
397
 
398
  // Ensure that settings manager is saved as an array
399
- add_filter('pre_update_option_'.$this->_settings_option_name, array(&$this, 'persist_settings'));
400
- add_filter('pre_update_site_option_'.$this->_settings_option_name, array(&$this, 'persist_settings'));
401
 
402
  // This plugin uses jQuery extensively
403
  if (NGG_FIX_JQUERY) {
@@ -525,10 +525,10 @@ class C_NextGEN_Bootstrap
525
 
526
  /**
527
  * Ensure that C_Photocrati_Settings_Manager gets persisted as an array
528
- * @param $settings
529
  * @return array
530
  */
531
- function persist_settings($settings)
532
  {
533
  if (is_object($settings) && $settings instanceof C_Photocrati_Settings_Manager_Base) {
534
  $settings = $settings->to_array();
@@ -663,7 +663,7 @@ class C_NextGEN_Bootstrap
663
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
664
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
665
  define('NGG_PLUGIN_STARTED_AT', microtime());
666
- define('NGG_PLUGIN_VERSION', '3.0.13');
667
 
668
  if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
669
  define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
@@ -759,24 +759,23 @@ class C_NextGEN_Bootstrap
759
 
760
  /**
761
  * Returns the path to a file within the plugin root folder
762
- * @param type $file_name
763
- * @return type
 
764
  */
765
  function file_path($file_name=NULL)
766
  {
767
  $path = dirname(__FILE__);
768
-
769
  if ($file_name != null)
770
- {
771
  $path .= '/' . $file_name;
772
- }
773
 
774
  return str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
775
  }
776
 
777
-
778
  /**
779
  * Gets the directory path used by the plugin
 
 
780
  * @return string
781
  */
782
  function directory_path($dir=NULL)
@@ -784,7 +783,6 @@ class C_NextGEN_Bootstrap
784
  return $this->file_path($dir);
785
  }
786
 
787
-
788
  /**
789
  * Determines the location of the plugin - within a theme or plugin
790
  * @return string
@@ -961,7 +959,7 @@ function fs_track_new_gallery() {
961
  *
962
  * @param bool $activate_for_all If true, activate Freemius for all users. Was added for testing.
963
  *
964
- * @return \Freemius
965
  */
966
  function ngg_fs( $activate_for_all = false ) {
967
  global $ngg_fs;
3
 
4
  /**
5
  * Plugin Name: NextGEN Gallery
6
+ * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 23 million downloads.
7
+ * Version: 3.0.15
8
  * Author: Imagely
9
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
10
  * Author URI: https://www.imagely.com
396
  add_filter('simpletest_suites', array(&$this, 'add_testsuite'));
397
 
398
  // Ensure that settings manager is saved as an array
399
+ add_filter('pre_update_option_' . $this->_settings_option_name, array($this, 'persist_settings'));
400
+ add_filter('pre_update_site_option_' . $this->_settings_option_name, array($this, 'persist_settings'));
401
 
402
  // This plugin uses jQuery extensively
403
  if (NGG_FIX_JQUERY) {
525
 
526
  /**
527
  * Ensure that C_Photocrati_Settings_Manager gets persisted as an array
528
+ * @param C_Photocrati_Settings_Manager_Base|array $settings
529
  * @return array
530
  */
531
+ function persist_settings($settings = array())
532
  {
533
  if (is_object($settings) && $settings instanceof C_Photocrati_Settings_Manager_Base) {
534
  $settings = $settings->to_array();
663
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
664
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
665
  define('NGG_PLUGIN_STARTED_AT', microtime());
666
+ define('NGG_PLUGIN_VERSION', '3.0.15');
667
 
668
  if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
669
  define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
759
 
760
  /**
761
  * Returns the path to a file within the plugin root folder
762
+ *
763
+ * @param string $file_name
764
+ * @return string
765
  */
766
  function file_path($file_name=NULL)
767
  {
768
  $path = dirname(__FILE__);
 
769
  if ($file_name != null)
 
770
  $path .= '/' . $file_name;
 
771
 
772
  return str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
773
  }
774
 
 
775
  /**
776
  * Gets the directory path used by the plugin
777
+ *
778
+ * @param string|null $dir (optional)
779
  * @return string
780
  */
781
  function directory_path($dir=NULL)
783
  return $this->file_path($dir);
784
  }
785
 
 
786
  /**
787
  * Determines the location of the plugin - within a theme or plugin
788
  * @return string
959
  *
960
  * @param bool $activate_for_all If true, activate Freemius for all users. Was added for testing.
961
  *
962
+ * @return bool|\Freemius
963
  */
964
  function ngg_fs( $activate_for_all = false ) {
965
  global $ngg_fs;
non_pope/class.nextgen_settings.php CHANGED
@@ -1,10 +1,11 @@
1
  <?php
2
 
3
-
4
- if (!class_exists('C_NextGen_Settings')) {
5
- class C_NextGen_Settings {
 
6
  /**
7
- * @return C_NextGen_Settings
8
  */
9
  static function get_instance()
10
  {
@@ -13,15 +14,16 @@ if (!class_exists('C_NextGen_Settings')) {
13
  }
14
  }
15
 
16
- if (!class_exists('C_NextGen_Global_Settings')) {
17
- class C_NextGen_Global_Settings extends C_NextGen_Settings {
 
 
18
  static function get_instance()
19
  {
20
  if (is_multisite())
21
  return C_Photocrati_Global_Settings_Manager::get_instance();
22
- else {
23
  return C_Photocrati_Settings_Manager::get_instance();
24
- }
25
  }
26
  }
27
  }
1
  <?php
2
 
3
+ if (!class_exists('C_NextGen_Settings'))
4
+ {
5
+ class C_NextGen_Settings
6
+ {
7
  /**
8
+ * @return C_Photocrati_Settings_Manager
9
  */
10
  static function get_instance()
11
  {
14
  }
15
  }
16
 
17
+ if (!class_exists('C_NextGen_Global_Settings'))
18
+ {
19
+ class C_NextGen_Global_Settings extends C_NextGen_Settings
20
+ {
21
  static function get_instance()
22
  {
23
  if (is_multisite())
24
  return C_Photocrati_Global_Settings_Manager::get_instance();
25
+ else
26
  return C_Photocrati_Settings_Manager::get_instance();
 
27
  }
28
  }
29
  }
non_pope/class.nextgen_shortcode_manager.php CHANGED
@@ -86,7 +86,8 @@ class C_NextGen_Shortcode_Manager
86
  /**
87
  * We're parsing our own shortcodes because WP can't yet handle nested shortcodes
88
  * [ngg param="[slideshow]"]
89
- * @param $content
 
90
  */
91
  function fix_nested_shortcodes($content)
92
  {
86
  /**
87
  * We're parsing our own shortcodes because WP can't yet handle nested shortcodes
88
  * [ngg param="[slideshow]"]
89
+ * @param string $content
90
+ * @return string
91
  */
92
  function fix_nested_shortcodes($content)
93
  {
non_pope/class.photocrati_installer.php CHANGED
@@ -40,6 +40,10 @@ if (!class_exists('C_Photocrati_Installer'))
40
  class C_Photocrati_Installer
41
  {
42
  static $_instance = NULL;
 
 
 
 
43
  static function get_instance()
44
  {
45
  if (is_null(self::$_instance)) {
@@ -49,7 +53,6 @@ if (!class_exists('C_Photocrati_Installer'))
49
  return self::$_instance;
50
  }
51
 
52
-
53
  /**
54
  * Each product and module will register it's own handler (a class, with an install() and uninstall() method)
55
  * to be used for install/uninstall routines
40
  class C_Photocrati_Installer
41
  {
42
  static $_instance = NULL;
43
+
44
+ /**
45
+ * @return C_Photocrati_Installer
46
+ */
47
  static function get_instance()
48
  {
49
  if (is_null(self::$_instance)) {
53
  return self::$_instance;
54
  }
55
 
 
56
  /**
57
  * Each product and module will register it's own handler (a class, with an install() and uninstall() method)
58
  * to be used for install/uninstall routines
non_pope/class.photocrati_resource_manager.php CHANGED
@@ -39,7 +39,6 @@ class C_Photocrati_Resource_Manager
39
 
40
  /**
41
  * Determines if the resource manager should perform it's routines for this request
42
- * @return bool
43
  */
44
  function validate_request()
45
  {
@@ -161,6 +160,8 @@ class C_Photocrati_Resource_Manager
161
 
162
  /**
163
  * When PHP has finished, we output the footer scripts and closing tags
 
 
164
  */
165
  function output_buffer($in_shutdown=FALSE)
166
  {
39
 
40
  /**
41
  * Determines if the resource manager should perform it's routines for this request
 
42
  */
43
  function validate_request()
44
  {
160
 
161
  /**
162
  * When PHP has finished, we output the footer scripts and closing tags
163
+ * @param bool $in_shutdown
164
+ * @return string
165
  */
166
  function output_buffer($in_shutdown=FALSE)
167
  {
non_pope/class.photocrati_settings_manager.php CHANGED
@@ -1,6 +1,7 @@
1
  <?php
2
 
3
- if (!class_exists('C_Photocrati_Settings_Manager_Base')) {
 
4
  /**
5
  * Provides a base abstraction for a Settings Manager
6
  * Class C_Settings_Manager_Base
@@ -56,11 +57,12 @@ if (!class_exists('C_Photocrati_Settings_Manager_Base')) {
56
 
57
  /**
58
  * Gets the value of a particular setting
 
59
  * @param $key
60
  * @param null $default
61
- * @return null
62
  */
63
- function get($key, $default=NULL)
64
  {
65
  $retval = $default;
66
 
@@ -71,9 +73,9 @@ if (!class_exists('C_Photocrati_Settings_Manager_Base')) {
71
  $retval = $this->_options[$key];
72
  }
73
 
74
- // In case a stdObject has been passed in as a value, we
75
- // want to only return scalar values or arrays
76
- if (is_object($retval)) $retval = (array) $retval;
77
 
78
  return $retval;
79
  }
@@ -226,6 +228,10 @@ if (!class_exists('C_Photocrati_Global_Settings_Manager')) {
226
  class C_Photocrati_Global_Settings_Manager extends C_Photocrati_Settings_Manager_Base
227
  {
228
  static $_instance = NULL;
 
 
 
 
229
  public static function get_instance()
230
  {
231
  if (is_null(self::$_instance)) {
@@ -243,8 +249,10 @@ if (!class_exists('C_Photocrati_Global_Settings_Manager')) {
243
  function load()
244
  {
245
  $this->_options = get_site_option(self::$option_name, $this->to_array());
246
- if (!$this->_options) $this->_options = array();
247
- else if (is_string($this->_options)) $this->_options = unserialize($this->_options);
 
 
248
  }
249
 
250
  function destroy()
@@ -255,10 +263,15 @@ if (!class_exists('C_Photocrati_Global_Settings_Manager')) {
255
  }
256
 
257
 
258
- if (!class_exists('C_Photocrati_Settings_Manager')) {
 
259
  class C_Photocrati_Settings_Manager extends C_Photocrati_Settings_Manager_Base
260
  {
261
  static $_instance = NULL;
 
 
 
 
262
  public static function get_instance()
263
  {
264
  if (is_null(self::$_instance)) {
1
  <?php
2
 
3
+ if (!class_exists('C_Photocrati_Settings_Manager_Base'))
4
+ {
5
  /**
6
  * Provides a base abstraction for a Settings Manager
7
  * Class C_Settings_Manager_Base
57
 
58
  /**
59
  * Gets the value of a particular setting
60
+ *
61
  * @param $key
62
  * @param null $default
63
+ * @return mixed
64
  */
65
+ function get($key, $default = NULL)
66
  {
67
  $retval = $default;
68
 
73
  $retval = $this->_options[$key];
74
  }
75
 
76
+ // In case a stdObject has been passed in as a value, we want to only return scalar values or arrays
77
+ if (is_object($retval))
78
+ $retval = (array) $retval;
79
 
80
  return $retval;
81
  }
228
  class C_Photocrati_Global_Settings_Manager extends C_Photocrati_Settings_Manager_Base
229
  {
230
  static $_instance = NULL;
231
+
232
+ /**
233
+ * @return C_Photocrati_Global_Settings_Manager
234
+ */
235
  public static function get_instance()
236
  {
237
  if (is_null(self::$_instance)) {
249
  function load()
250
  {
251
  $this->_options = get_site_option(self::$option_name, $this->to_array());
252
+ if (!$this->_options)
253
+ $this->_options = array();
254
+ else if (is_string($this->_options))
255
+ $this->_options = unserialize($this->_options);
256
  }
257
 
258
  function destroy()
263
  }
264
 
265
 
266
+ if (!class_exists('C_Photocrati_Settings_Manager'))
267
+ {
268
  class C_Photocrati_Settings_Manager extends C_Photocrati_Settings_Manager_Base
269
  {
270
  static $_instance = NULL;
271
+
272
+ /**
273
+ * @return C_Photocrati_Settings_Manager
274
+ */
275
  public static function get_instance()
276
  {
277
  if (is_null(self::$_instance)) {
pope/lib/class.base_module.php CHANGED
@@ -47,6 +47,14 @@ abstract class C_Base_Module
47
 
48
  /**
49
  * Defines the module
 
 
 
 
 
 
 
 
50
  */
51
  function define($id='pope-module', $name='Pope Module', $description='', $version='', $uri='', $author='', $author_uri='', $context=FALSE)
52
  {
47
 
48
  /**
49
  * Defines the module
50
+ * @param string $id
51
+ * @param string $name
52
+ * @param string $description (optional)
53
+ * @param string $version (optional)
54
+ * @param string $uri (optional)
55
+ * @param string $author (optional)
56
+ * @param string $author_uri (optional)
57
+ * @param string|bool $context (optional)
58
  */
59
  function define($id='pope-module', $name='Pope Module', $description='', $version='', $uri='', $author='', $author_uri='', $context=FALSE)
60
  {
pope/lib/class.component.php CHANGED
@@ -15,6 +15,7 @@ class C_Component extends ExtensibleObject
15
 
16
  /**
17
  * Many components will execute parent::define()
 
18
  */
19
  function define($context=FALSE)
20
  {
@@ -61,7 +62,7 @@ class C_Component extends ExtensibleObject
61
 
62
  /**
63
  * Assigns a particular context to the component
64
- * @param type $context
65
  */
66
  function add_context($context)
67
  {
@@ -75,7 +76,7 @@ class C_Component extends ExtensibleObject
75
 
76
  /**
77
  * Assigns one or more contexts to the component
78
- * @param type $context
79
  */
80
  function assign_context($context)
81
  {
@@ -84,7 +85,7 @@ class C_Component extends ExtensibleObject
84
 
85
  /**
86
  * Un-assigns one or more contexts from the component
87
- * @param type $context
88
  */
89
  function remove_context($context)
90
  {
@@ -99,7 +100,7 @@ class C_Component extends ExtensibleObject
99
 
100
  /**
101
  * Assigns one or more contexts to the component
102
- * @param type $context
103
  */
104
  function unassign_context($context)
105
  {
15
 
16
  /**
17
  * Many components will execute parent::define()
18
+ * @param bool|string $context (optional)
19
  */
20
  function define($context=FALSE)
21
  {
62
 
63
  /**
64
  * Assigns a particular context to the component
65
+ * @param string $context
66
  */
67
  function add_context($context)
68
  {
76
 
77
  /**
78
  * Assigns one or more contexts to the component
79
+ * @param string $context
80
  */
81
  function assign_context($context)
82
  {
85
 
86
  /**
87
  * Un-assigns one or more contexts from the component
88
+ * @param string $context
89
  */
90
  function remove_context($context)
91
  {
100
 
101
  /**
102
  * Assigns one or more contexts to the component
103
+ * @param string $context
104
  */
105
  function unassign_context($context)
106
  {
pope/lib/class.component_registry.php CHANGED
@@ -39,7 +39,7 @@ class C_Component_Registry
39
 
40
  /**
41
  * Returns a singleton
42
- * @return C_Component_Registry()
43
  */
44
  static function &get_instance()
45
  {
@@ -128,7 +128,7 @@ class C_Component_Registry
128
  /**
129
  * Retrieves the module path
130
  * @param string $module_id
131
- * @return string
132
  */
133
  function get_module_path($module_id)
134
  {
@@ -147,7 +147,7 @@ class C_Component_Registry
147
  /**
148
  * Retrieves the module installation directory
149
  * @param string $module_id
150
- * @return string
151
  */
152
  function get_module_dir($module_id)
153
  {
@@ -169,6 +169,7 @@ class C_Component_Registry
169
  /**
170
  * Loads a module's code according to its dependency list
171
  * @param string $module_id
 
172
  */
173
  function load_module($module_id)
174
  {
@@ -203,6 +204,7 @@ class C_Component_Registry
203
  /**
204
  * Initializes a previously loaded module
205
  * @param string $module_id
 
206
  */
207
  function initialize_module($module_id)
208
  {
@@ -286,7 +288,7 @@ class C_Component_Registry
286
  /**
287
  * Retrieves the instance of the registered module. Note: it's the instance of the module object, so the module needs to be loaded or this function won't return anything. For module info returned by scanning (with add_module_path), look at get_module_meta
288
  * @param string $module_id
289
- * @return C_Base_Module
290
  */
291
  function get_module($module_id)
292
  {
@@ -319,7 +321,7 @@ class C_Component_Registry
319
 
320
  /**
321
  * Retrieves a list of instantiated module ids, in their "loaded" order as defined by a product
322
- *
323
  * @return array
324
  */
325
  function get_module_list($for_product_id=FALSE)
@@ -475,7 +477,7 @@ class C_Component_Registry
475
  /**
476
  * Retrieves the instance of the registered product
477
  * @param string $product_id
478
- * @return C_Base_Module
479
  */
480
  function get_product($product_id)
481
  {
@@ -510,7 +512,7 @@ class C_Component_Registry
510
  /**
511
  * Retrieves the module installation path for a specific product (Note: this is just the generic root container path for modules of this product)
512
  * @param string $product_id
513
- * @return string
514
  */
515
  function get_product_module_path($product_id)
516
  {
@@ -582,7 +584,7 @@ class C_Component_Registry
582
  * Registers an adapter for an interface with specific contexts
583
  * @param string $interface
584
  * @param string $class
585
- * @param array $contexts
586
  */
587
  function add_adapter($interface, $class, $contexts=FALSE)
588
  {
@@ -610,7 +612,7 @@ class C_Component_Registry
610
  * contexts to remove the adapter from, leaving the rest intact
611
  * @param string $interface
612
  * @param string $class
613
- * @param array $contexts
614
  */
615
  function del_adapter($interface, $class, $contexts=FALSE)
616
  {
@@ -671,7 +673,7 @@ class C_Component_Registry
671
  * Adds a utility for an interface, to be used in particular contexts
672
  * @param string $interface
673
  * @param string $class
674
- * @param array $contexts
675
  */
676
  function add_utility($interface, $class, $contexts=FALSE)
677
  {
@@ -694,7 +696,7 @@ class C_Component_Registry
694
  /**
695
  * Deletes a registered utility for a particular interface.
696
  * @param string $interface
697
- * @param array $contexts
698
  */
699
  function del_utility($interface, $contexts=FALSE)
700
  {
@@ -712,7 +714,7 @@ class C_Component_Registry
712
  /**
713
  * Gets the class name of the component providing a utility implementation
714
  * @param string $interface
715
- * @param string|array $context
716
  * @return string
717
  */
718
  function get_utility_class_name($interface, $context=FALSE)
@@ -725,7 +727,7 @@ class C_Component_Registry
725
  * Retrieves an instantiates the registered utility for the provided instance.
726
  * The instance is a singleton and must provide the get_instance() method
727
  * @param string $interface
728
- * @param string $context
729
  * @return C_Component
730
  */
731
  function get_utility($interface, $context=FALSE)
@@ -865,6 +867,7 @@ class C_Component_Registry
865
  }
866
  /**
867
  * Autoloads any classes, interfaces, or adapters needed by this module
 
868
  */
869
  function _module_autoload($name)
870
  {
39
 
40
  /**
41
  * Returns a singleton
42
+ * @return C_Component_Registry
43
  */
44
  static function &get_instance()
45
  {
128
  /**
129
  * Retrieves the module path
130
  * @param string $module_id
131
+ * @return null|string
132
  */
133
  function get_module_path($module_id)
134
  {
147
  /**
148
  * Retrieves the module installation directory
149
  * @param string $module_id
150
+ * @return null|string
151
  */
152
  function get_module_dir($module_id)
153
  {
169
  /**
170
  * Loads a module's code according to its dependency list
171
  * @param string $module_id
172
+ * @return bool
173
  */
174
  function load_module($module_id)
175
  {
204
  /**
205
  * Initializes a previously loaded module
206
  * @param string $module_id
207
+ * @return bool
208
  */
209
  function initialize_module($module_id)
210
  {
288
  /**
289
  * Retrieves the instance of the registered module. Note: it's the instance of the module object, so the module needs to be loaded or this function won't return anything. For module info returned by scanning (with add_module_path), look at get_module_meta
290
  * @param string $module_id
291
+ * @return null|C_Base_Module
292
  */
293
  function get_module($module_id)
294
  {
321
 
322
  /**
323
  * Retrieves a list of instantiated module ids, in their "loaded" order as defined by a product
324
+ * @param string|bool $for_product_id (optional)
325
  * @return array
326
  */
327
  function get_module_list($for_product_id=FALSE)
477
  /**
478
  * Retrieves the instance of the registered product
479
  * @param string $product_id
480
+ * @return null|C_Base_Module
481
  */
482
  function get_product($product_id)
483
  {
512
  /**
513
  * Retrieves the module installation path for a specific product (Note: this is just the generic root container path for modules of this product)
514
  * @param string $product_id
515
+ * @return null|string
516
  */
517
  function get_product_module_path($product_id)
518
  {
584
  * Registers an adapter for an interface with specific contexts
585
  * @param string $interface
586
  * @param string $class
587
+ * @param array|bool $contexts (optional)
588
  */
589
  function add_adapter($interface, $class, $contexts=FALSE)
590
  {
612
  * contexts to remove the adapter from, leaving the rest intact
613
  * @param string $interface
614
  * @param string $class
615
+ * @param array|bool $contexts (optional)
616
  */
617
  function del_adapter($interface, $class, $contexts=FALSE)
618
  {
673
  * Adds a utility for an interface, to be used in particular contexts
674
  * @param string $interface
675
  * @param string $class
676
+ * @param array|bool $contexts (optional)
677
  */
678
  function add_utility($interface, $class, $contexts=FALSE)
679
  {
696
  /**
697
  * Deletes a registered utility for a particular interface.
698
  * @param string $interface
699
+ * @param array|bool $contexts (optional)
700
  */
701
  function del_utility($interface, $contexts=FALSE)
702
  {
714
  /**
715
  * Gets the class name of the component providing a utility implementation
716
  * @param string $interface
717
+ * @param string|array|bool $context (optional)
718
  * @return string
719
  */
720
  function get_utility_class_name($interface, $context=FALSE)
727
  * Retrieves an instantiates the registered utility for the provided instance.
728
  * The instance is a singleton and must provide the get_instance() method
729
  * @param string $interface
730
+ * @param string|bool $context (optional)
731
  * @return C_Component
732
  */
733
  function get_utility($interface, $context=FALSE)
867
  }
868
  /**
869
  * Autoloads any classes, interfaces, or adapters needed by this module
870
+ * @param string $name
871
  */
872
  function _module_autoload($name)
873
  {
pope/lib/class.extensibleobject.php CHANGED
@@ -124,9 +124,9 @@ class ExtensibleObject extends PopeHelpers
124
 
125
 
126
  /**
127
- * Adds an extension class to the object. The extension provides
128
- * methods for this class to expose as it's own
129
  * @param string $class
 
130
  */
131
  function add_mixin($class, $instantiate=FALSE)
132
  {
@@ -207,6 +207,7 @@ class ExtensibleObject extends PopeHelpers
207
  /**
208
  * Returns the Mixin which provides the specified method
209
  * @param string $method
 
210
  */
211
  function get_mixin_providing($method, $return_obj=FALSE)
212
  {
@@ -304,8 +305,7 @@ class ExtensibleObject extends PopeHelpers
304
  /**
305
  * Wraps a class within an ExtensibleObject class.
306
  * @param string $klass
307
- * @param array callback, used to tell ExtensibleObject how to instantiate
308
- * the wrapped class
309
  */
310
  function wrap($klass, $callback=FALSE, $args=array())
311
  {
@@ -355,10 +355,8 @@ class ExtensibleObject extends PopeHelpers
355
  return $retval;
356
  }
357
 
358
-
359
  /**
360
  * Provides a means of calling static methods, provided by extensions
361
- * @param string $method
362
  * @return mixed
363
  */
364
  static function get_class()
@@ -369,7 +367,6 @@ class ExtensibleObject extends PopeHelpers
369
  return $obj;
370
  }
371
 
372
-
373
  /**
374
  * Gets the name of the ExtensibleObject
375
  * @return string
@@ -585,7 +582,7 @@ class ExtensibleObject extends PopeHelpers
585
  /**
586
  * Returns TRUE if the method in particular has been cached
587
  * @param string $method
588
- * @return type
589
  */
590
  function is_cached($method)
591
  {
@@ -688,7 +685,7 @@ class ExtensibleObject extends PopeHelpers
688
  /**
689
  * Returns get_class_methods() optionally limited by Mixin
690
  *
691
- * @param string (optional) Only show functions provided by a mixin
692
  * @return array Results from get_class_methods()
693
  */
694
  public function get_instance_methods($name = null)
@@ -757,7 +754,7 @@ class Mixin extends PopeHelpers
757
 
758
  /**
759
  * The name of the method called on the ExtensibleObject
760
- * @var type
761
  */
762
  var $method_called;
763
 
124
 
125
 
126
  /**
127
+ * Adds an extension class to the object. The extension provides methods for this class to expose as it's own
 
128
  * @param string $class
129
+ * @return bool
130
  */
131
  function add_mixin($class, $instantiate=FALSE)
132
  {
207
  /**
208
  * Returns the Mixin which provides the specified method
209
  * @param string $method
210
+ * @return bool|object
211
  */
212
  function get_mixin_providing($method, $return_obj=FALSE)
213
  {
305
  /**
306
  * Wraps a class within an ExtensibleObject class.
307
  * @param string $klass
308
+ * @param array $callback Used to tell ExtensibleObject how to instantiate the wrapped class
 
309
  */
310
  function wrap($klass, $callback=FALSE, $args=array())
311
  {
355
  return $retval;
356
  }
357
 
 
358
  /**
359
  * Provides a means of calling static methods, provided by extensions
 
360
  * @return mixed
361
  */
362
  static function get_class()
367
  return $obj;
368
  }
369
 
 
370
  /**
371
  * Gets the name of the ExtensibleObject
372
  * @return string
582
  /**
583
  * Returns TRUE if the method in particular has been cached
584
  * @param string $method
585
+ * @return bool
586
  */
587
  function is_cached($method)
588
  {
685
  /**
686
  * Returns get_class_methods() optionally limited by Mixin
687
  *
688
+ * @param string|null $name Show functions provided by a mixin
689
  * @return array Results from get_class_methods()
690
  */
691
  public function get_instance_methods($name = null)
754
 
755
  /**
756
  * The name of the method called on the ExtensibleObject
757
+ * @var string
758
  */
759
  var $method_called;
760
 
pope/lib/class.pope_cache.php CHANGED
@@ -154,7 +154,7 @@ class C_Pope_Cache_MultiFile implements I_Pope_Cache_Driver
154
  $file = self::join_paths($dir, $file);
155
  if (is_dir($file) && self::$use_cache_subdir)
156
  {
157
- self::flush($dir);
158
  }
159
  else {
160
  if (!self::$use_cache_subdir && strpos(basename($file), implode('_', C_Pope_Cache::$key_prefix) . '_') === 0)
154
  $file = self::join_paths($dir, $file);
155
  if (is_dir($file) && self::$use_cache_subdir)
156
  {
157
+ self::flush();
158
  }
159
  else {
160
  if (!self::$use_cache_subdir && strpos(basename($file), implode('_', C_Pope_Cache::$key_prefix) . '_') === 0)
products/photocrati_nextgen/modules/ajax/package.module.ajax.php CHANGED
@@ -48,7 +48,7 @@ class C_Ajax_Controller extends C_MVC_Controller
48
  }
49
  /**
50
  * Returns an instance of this class
51
- * @param string $context
52
  * @return C_Ajax_Controller
53
  */
54
  static function get_instance($context = FALSE)
48
  }
49
  /**
50
  * Returns an instance of this class
51
+ * @param string|bool $context
52
  * @return C_Ajax_Controller
53
  */
54
  static function get_instance($context = FALSE)
products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php CHANGED
@@ -65,7 +65,6 @@ class M_Attach_To_Post extends C_Base_Module
65
  return $this->_event_publisher;
66
  }
67
 
68
-
69
  /**
70
  * Registers requires the utilites that this module provides
71
  */
@@ -112,7 +111,6 @@ class M_Attach_To_Post extends C_Base_Module
112
  return $retval;
113
  }
114
 
115
-
116
  function _register_hooks()
117
  {
118
  add_action('ngg_routes', array($this, 'define_routes'), 2);
@@ -171,7 +169,6 @@ class M_Attach_To_Post extends C_Base_Module
171
  function enqueue_tinymce_plugin_css()
172
  {
173
  add_editor_style('https://fonts.googleapis.com/css?family=Lato');
174
- add_editor_style(M_Gallery_Display::get_fontawesome_url());
175
  add_editor_style(C_Router::get_instance()->get_static_url('photocrati-attach_to_post#ngg_attach_to_post_tinymce_plugin.css'));
176
  }
177
 
@@ -179,7 +176,7 @@ class M_Attach_To_Post extends C_Base_Module
179
  * Prevents ATP preview image placeholders from being used as opengraph / twitter metadata
180
  *
181
  * @param string $image
182
- * @return null
183
  */
184
  function hide_preview_image_from_yoast($image)
185
  {
@@ -236,9 +233,8 @@ class M_Attach_To_Post extends C_Base_Module
236
  /**
237
  * In 2.0.66.X and earlier, ATP placeholder images used a different url than
238
  * what 2.0.69 uses. Therefore, we need to convert those
239
- * @param $content
240
- *
241
- * @return mixed
242
  */
243
  function fix_preview_images($content)
244
  {
@@ -296,6 +292,9 @@ class M_Attach_To_Post extends C_Base_Module
296
  }
297
  }
298
 
 
 
 
299
  function define_routes($router)
300
  {
301
  $app = $router->create_app('/'.NGG_ATTACH_TO_POST_SLUG);
@@ -389,13 +388,22 @@ class M_Attach_To_Post extends C_Base_Module
389
 
390
  elseif (isset($_REQUEST['attach_to_post']) OR
391
  (isset($_REQUEST['page']) && strpos($_REQUEST['page'], 'nggallery') !== FALSE)) {
392
- wp_enqueue_script('iframely', $router->get_static_url('photocrati-attach_to_post#iframely.js'), FALSE, NGG_SCRIPT_VERSION);
393
- wp_enqueue_style('iframely', $router->get_static_url('photocrati-attach_to_post#iframely.css'), FALSE, NGG_SCRIPT_VERSION);
394
- wp_enqueue_script('nextgen_admin_js_atp', $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'), FALSE, NGG_SCRIPT_VERSION);
 
 
 
 
 
 
 
 
 
 
395
  }
396
  }
397
 
398
-
399
  /**
400
  * Enqueues resources needed by the TinyMCE editor
401
  */
@@ -423,11 +431,10 @@ class M_Attach_To_Post extends C_Base_Module
423
  }
424
  }
425
 
426
-
427
  /**
428
  * Adds a TinyMCE button for the Attach To Post plugin
429
  * @param array $buttons
430
- * @returns array
431
  */
432
  function add_attach_to_post_button($buttons)
433
  {
@@ -439,7 +446,6 @@ class M_Attach_To_Post extends C_Base_Module
439
  return $buttons;
440
  }
441
 
442
-
443
  /**
444
  * Adds the Attach To Post TinyMCE plugin
445
  * @param array $plugins
@@ -452,13 +458,12 @@ class M_Attach_To_Post extends C_Base_Module
452
  wp_enqueue_script('photocrati_ajax');
453
  $plugins[$this->attach_to_post_tinymce_plugin] = add_query_arg(
454
  'ver',
455
- NGG_ATTACH_TO_POST_VERSION,
456
  $router->get_static_url('photocrati-attach_to_post#ngg_attach_to_post_tinymce_plugin.js')
457
  );
458
  return $plugins;
459
  }
460
 
461
-
462
  /**
463
  * Adds the Attach To Post TinyMCE i18n strings
464
  * @param $mce_translation
@@ -470,7 +475,6 @@ class M_Attach_To_Post extends C_Base_Module
470
  return $mce_translation;
471
  }
472
 
473
-
474
  /**
475
  * Notify frames that a new gallery has been created
476
  * @param int $gallery_id
@@ -523,6 +527,9 @@ class M_Attach_To_Post extends C_Base_Module
523
  $this->_get_frame_event_publisher()->add_event($event);
524
  }
525
 
 
 
 
526
  function get_type_list()
527
  {
528
  return array(
65
  return $this->_event_publisher;
66
  }
67
 
 
68
  /**
69
  * Registers requires the utilites that this module provides
70
  */
111
  return $retval;
112
  }
113
 
 
114
  function _register_hooks()
115
  {
116
  add_action('ngg_routes', array($this, 'define_routes'), 2);
169
  function enqueue_tinymce_plugin_css()
170
  {
171
  add_editor_style('https://fonts.googleapis.com/css?family=Lato');
 
172
  add_editor_style(C_Router::get_instance()->get_static_url('photocrati-attach_to_post#ngg_attach_to_post_tinymce_plugin.css'));
173
  }
174
 
176
  * Prevents ATP preview image placeholders from being used as opengraph / twitter metadata
177
  *
178
  * @param string $image
179
+ * @return null|string
180
  */
181
  function hide_preview_image_from_yoast($image)
182
  {
233
  /**
234
  * In 2.0.66.X and earlier, ATP placeholder images used a different url than
235
  * what 2.0.69 uses. Therefore, we need to convert those
236
+ * @param string $content
237
+ * @return string
 
238
  */
239
  function fix_preview_images($content)
240
  {
292
  }
293
  }
294
 
295
+ /**
296
+ * @param C_Router $router
297
+ */
298
  function define_routes($router)
299
  {
300
  $app = $router->create_app('/'.NGG_ATTACH_TO_POST_SLUG);
388
 
389
  elseif (isset($_REQUEST['attach_to_post']) OR
390
  (isset($_REQUEST['page']) && strpos($_REQUEST['page'], 'nggallery') !== FALSE)) {
391
+ wp_enqueue_script(
392
+ 'iframely',
393
+ $router->get_static_url('photocrati-attach_to_post#iframely.js'),
394
+ array(),
395
+ NGG_SCRIPT_VERSION
396
+ );
397
+ wp_enqueue_style(
398
+ 'iframely',
399
+ $router->get_static_url('photocrati-attach_to_post#iframely.css'),
400
+ array(),
401
+ NGG_SCRIPT_VERSION
402
+ );
403
+ wp_enqueue_script('nextgen_admin_js');
404
  }
405
  }
406
 
 
407
  /**
408
  * Enqueues resources needed by the TinyMCE editor
409
  */
431
  }
432
  }
433
 
 
434
  /**
435
  * Adds a TinyMCE button for the Attach To Post plugin
436
  * @param array $buttons
437
+ * @return array
438
  */
439
  function add_attach_to_post_button($buttons)
440
  {
446
  return $buttons;
447
  }
448
 
 
449
  /**
450
  * Adds the Attach To Post TinyMCE plugin
451
  * @param array $plugins
458
  wp_enqueue_script('photocrati_ajax');
459
  $plugins[$this->attach_to_post_tinymce_plugin] = add_query_arg(
460
  'ver',
461
+ NGG_SCRIPT_VERSION,
462
  $router->get_static_url('photocrati-attach_to_post#ngg_attach_to_post_tinymce_plugin.js')
463
  );
464
  return $plugins;
465
  }
466
 
 
467
  /**
468
  * Adds the Attach To Post TinyMCE i18n strings
469
  * @param $mce_translation
475
  return $mce_translation;
476
  }
477
 
 
478
  /**
479
  * Notify frames that a new gallery has been created
480
  * @param int $gallery_id
527
  $this->_get_frame_event_publisher()->add_event($event);
528
  }
529
 
530
+ /**
531
+ * @return array
532
+ */
533
  function get_type_list()
534
  {
535
  return array(
products/photocrati_nextgen/modules/attach_to_post/package.module.attach_to_post.php CHANGED
@@ -21,7 +21,7 @@ class A_Attach_To_Post_Ajax extends Mixin
21
  }
22
  /**
23
  * Returns a list of image sources for the Attach to Post interface
24
- * @return type
25
  */
26
  function get_attach_to_post_sources_action()
27
  {
@@ -250,11 +250,11 @@ class C_Attach_Controller extends C_NextGen_Admin_Page_Controller
250
  {
251
  parent::initialize();
252
  $this->_load_displayed_gallery();
253
- if (!has_action('wp_print_scripts', array(&$this, 'filter_scripts'))) {
254
- add_action('wp_print_scripts', array(&$this, 'filter_scripts'));
255
  }
256
- if (!has_action('wp_print_scripts', array(&$this, 'filter_styles'))) {
257
- add_action('wp_print_scripts', array(&$this, 'filter_styles'));
258
  }
259
  }
260
  }
@@ -506,8 +506,8 @@ class Mixin_Attach_To_Post extends Mixin
506
  // Ensure that the Photocrati AJAX library is loaded
507
  wp_enqueue_script('photocrati_ajax');
508
  // Enqueue logic for the Attach to Post interface as a whole
509
- wp_enqueue_script('ngg_attach_to_post_js', $this->get_static_url('photocrati-attach_to_post#attach_to_post.js'), FALSE, NGG_SCRIPT_VERSION);
510
- wp_enqueue_style('ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.css'), FALSE, C_Component_Registry::get_instance()->get_module('photocrati-attach_to_post')->module_version);
511
  wp_dequeue_script('debug-bar-js');
512
  wp_dequeue_style('debug-bar-css');
513
  $this->enqueue_display_tab_js();
@@ -517,6 +517,8 @@ class Mixin_Attach_To_Post extends Mixin
517
  }
518
  /**
519
  * Renders the interface
 
 
520
  */
521
  function index_action($return = FALSE)
522
  {
@@ -568,6 +570,8 @@ class Mixin_Attach_To_Post extends Mixin
568
  }
569
  /**
570
  * Filter for ngg_before_save_thumbnail
 
 
571
  */
572
  function set_igw_placeholder_text($thumbnail)
573
  {
@@ -597,7 +601,7 @@ class Mixin_Attach_To_Post extends Mixin
597
  }
598
  /**
599
  * Returns the main tabs displayed on the Attach to Post interface
600
- * @returns array
601
  */
602
  function _get_main_tabs()
603
  {
@@ -628,6 +632,7 @@ class Mixin_Attach_To_Post extends Mixin
628
  * Renders a NextGen Gallery page in an iframe, suited for the attach to post
629
  * interface
630
  * @param string $page
 
631
  * @return string
632
  */
633
  function _render_ngg_page_in_frame($page, $tab_id = null)
@@ -640,9 +645,8 @@ class Mixin_Attach_To_Post extends Mixin
640
  return "<iframe name='{$page}' frameBorder='0'{$tab_id} class='ngg-attach-to-post ngg-iframe-page-{$page}' scrolling='yes' src='{$frame_url}'></iframe>";
641
  }
642
  /**
643
- * Renders the display tab for adjusting how images/galleries will be
644
- * displayed
645
- * @return type
646
  */
647
  function _render_display_tab()
648
  {
@@ -650,7 +654,7 @@ class Mixin_Attach_To_Post extends Mixin
650
  }
651
  /**
652
  * Renders the tab used primarily for Gallery and Image creation
653
- * @return type
654
  */
655
  function _render_create_tab()
656
  {
@@ -741,7 +745,7 @@ class Mixin_Attach_To_Post_Display_Tab extends Mixin
741
  }
742
  /**
743
  * Renders the display settings tab for the Attach to Post interface
744
- * @return type
745
  */
746
  function _render_display_settings_tab()
747
  {
@@ -813,7 +817,7 @@ class Mixin_Attach_To_Post_Display_Tab extends Mixin
813
  }
814
  /**
815
  * Renders the tab used to preview included images
816
- * @return string
817
  */
818
  function _render_preview_tab()
819
  {
21
  }
22
  /**
23
  * Returns a list of image sources for the Attach to Post interface
24
+ * @return array
25
  */
26
  function get_attach_to_post_sources_action()
27
  {
250
  {
251
  parent::initialize();
252
  $this->_load_displayed_gallery();
253
+ if (!has_action('wp_print_scripts', array($this, 'filter_scripts'))) {
254
+ add_action('wp_print_scripts', array($this, 'filter_scripts'));
255
  }
256
+ if (!has_action('wp_print_scripts', array($this, 'filter_styles'))) {
257
+ add_action('wp_print_scripts', array($this, 'filter_styles'));
258
  }
259
  }
260
  }
506
  // Ensure that the Photocrati AJAX library is loaded
507
  wp_enqueue_script('photocrati_ajax');
508
  // Enqueue logic for the Attach to Post interface as a whole
509
+ wp_enqueue_script('ngg_attach_to_post_js', $this->get_static_url('photocrati-attach_to_post#attach_to_post.js'), array(), NGG_SCRIPT_VERSION);
510
+ wp_enqueue_style('ngg_attach_to_post', $this->get_static_url('photocrati-attach_to_post#attach_to_post.css'), array(), NGG_SCRIPT_VERSION);
511
  wp_dequeue_script('debug-bar-js');
512
  wp_dequeue_style('debug-bar-css');
513
  $this->enqueue_display_tab_js();
517
  }
518
  /**
519
  * Renders the interface
520
+ * @param bool $return
521
+ * @return string
522
  */
523
  function index_action($return = FALSE)
524
  {
570
  }
571
  /**
572
  * Filter for ngg_before_save_thumbnail
573
+ * @param stdClass $thumbnail
574
+ * @return stdClass
575
  */
576
  function set_igw_placeholder_text($thumbnail)
577
  {
601
  }
602
  /**
603
  * Returns the main tabs displayed on the Attach to Post interface
604
+ * @return array
605
  */
606
  function _get_main_tabs()
607
  {
632
  * Renders a NextGen Gallery page in an iframe, suited for the attach to post
633
  * interface
634
  * @param string $page
635
+ * @param null|int $tab_id (optional)
636
  * @return string
637
  */
638
  function _render_ngg_page_in_frame($page, $tab_id = null)
645
  return "<iframe name='{$page}' frameBorder='0'{$tab_id} class='ngg-attach-to-post ngg-iframe-page-{$page}' scrolling='yes' src='{$frame_url}'></iframe>";
646
  }
647
  /**
648
+ * Renders the display tab for adjusting how images/galleries will be displayed
649
+ * @return string
 
650
  */
651
  function _render_display_tab()
652
  {
654
  }
655
  /**
656
  * Renders the tab used primarily for Gallery and Image creation
657
+ * @return string
658
  */
659
  function _render_create_tab()
660
  {
745
  }
746
  /**
747
  * Renders the display settings tab for the Attach to Post interface
748
+ * @return array
749
  */
750
  function _render_display_settings_tab()
751
  {
817
  }
818
  /**
819
  * Renders the tab used to preview included images
820
+ * @return array
821
  */
822
  function _render_preview_tab()
823
  {
products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.css CHANGED
@@ -557,6 +557,10 @@ table {
557
  font-size: 13px;
558
  }
559
 
 
 
 
 
560
  /* 3b. Display Tab: "Customize Display Settings" Subtab */
561
 
562
  #display_settings_tab #display_settings_form table tr td:first-child {
557
  font-size: 13px;
558
  }
559
 
560
+ #save_displayed_gallery:disabled {
561
+ background: gray !important;
562
+ }
563
+
564
  /* 3b. Display Tab: "Customize Display Settings" Subtab */
565
 
566
  #display_settings_tab #display_settings_form table tr td:first-child {
products/photocrati_nextgen/modules/attach_to_post/static/attach_to_post.min.css CHANGED
@@ -1 +1 @@
1
- body,html{width:100%;height:100%;padding:0;margin:0;font-size:13px;overflow:hidden}body{position:absolute;visibility:hidden;opacity:0;height:100%}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}.ui-helper-reset{font-size:13px}#attach_to_post_tabs{border:0;background:0 0;height:100%;overflow:hidden;padding:0;position:relative;visibility:visible}#attach_to_post_tabs #attach_to_post_tabs.ui-tabs-hide{display:block!important;visibility:hidden;position:absolute;top:-5000px}#attach_to_post_tabs h3{text-transform:uppercase;color:#666;margin-top:0}h3#choose_display{margin-bottom:24px}#attach_to_post_tabs .main_menu_tab{padding:0;position:absolute;left:220px;right:0;top:0;bottom:0}#attach_to_post_tabs.ngg_atp_ios_detected{overflow-y:scroll;-webkit-overflow-scrolling:touch}#attach_to_post_tabs .ui-widget-header{border:0;border-bottom:1px solid #dfdfdf;background:0 0}iframe{width:100%;min-height:100%;border:none;padding:0;margin:0;background:0 0}.chrome_70_hack_frames{z-index:100000000!important}.chrome_70_hack_noframes{z-index:0!important}.clear{clear:both;float:none}table{font-size:13px}.select2-search input{width:100%!important}.select2-result-label{white-space:nowrap}.select2-results{font-family:'segoe ui',Arial,sans-serif;font-size:13px}.select2-container a{color:#444!important}#ngg_page_content .ngg_page_content_main .select2-container{width:100%!important;max-width:500px!important}#attach_to_post_tabs .ui-tabs-icon{background:#133148;border-right:1px solid #9cbe1b;box-sizing:border-box;color:#fff;font-family:Lato,sans-serif;float:none;font-size:20px;font-weight:700;height:100%;letter-spacing:1px;line-height:60px;margin-bottom:0;position:fixed;padding:10px 25px 30px 10px;text-transform:uppercase;width:220px;padding:0}#attach_to_post_tabs img.attach_to_post_logo{height:45px;padding:20px 0 10px;float:right;margin-right:26px}#attach_to_post_tabs .ui-tabs-nav{border:none;background:0 0;padding:0;margin-top:90px;list-style:none}#attach_to_post_tabs .ui-tabs-nav li{background:0 0;border:none;display:block;height:auto;margin:0;padding:0;width:100%;border-radius:0;box-sizing:border-box;border-bottom:1px solid #344a59;padding:24px 30px 24px 20px}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active{background:#2b4d65;background:#9dbd1b}#attach_to_post_tabs .ui-tabs-nav li.active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-focus,#attach_to_post_tabs .ui-tabs-nav li:focus{outline:0}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(1){list-style:none;border-top:1px solid #344a59}#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(2){list-style:none}#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(1) a{display:list-item}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(2) a{display:list-item}#attach_to_post_tabs .ui-tabs-nav li a{color:#fff;float:right;font-size:16px;letter-spacing:0;line-height:1;padding:10px 5px 5px 0!important;text-transform:none;font-family:lato,sans-serif;text-transform:uppercase;font-size:13px;letter-spacing:1px;font-weight:700;padding:0!important;font-size:12px;letter-spacing:1.2px}#attach_to_post_tabs .ui-tabs-nav li.ui-state-disabled a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:pointer}#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before{border-right:solid .75em #fff;border-top:solid 1.2em transparent;border-bottom:solid 1.2em transparent;content:'';position:absolute;top:16px;right:-3px}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#fff;font-weight:800}#displayed_tab.main_menu_tab{overflow-y:scroll;overflow-x:hidden}#displayed_tab #ngg_page_content{margin:0;width:100%}#displayed_tab #attach_to_post_tabs .ngg_page_content_header{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu{background:0 0;border:none;padding:10px 20px 10px 0;float:none;height:25px;margin-top:0;width:auto;border-bottom:1px solid #ddd;background:#fafafa}#displayed_tab #ngg_page_content .ngg_page_content_menu a,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{border:none;color:#888;display:inline;font-size:14px;font-weight:400;text-decoration:none;line-height:25px;padding:15px 20px;font-size:12px;background:0 0}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{background:0 0;font-weight:700;color:#123248;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:2px solid #fff;background:#fff}#displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a:before{display:none}#displayed_tab #ngg_page_content .ngg_page_content_main{padding:30px;width:100%;box-shadow:none}#displayed_tab #ngg_page_content.ngg_settings_page{border:none}#displayed_tab .ngg_igw_promo{display:block!important;padding:10px 20px;position:relative;top:-187px;left:608px;background:#123248;color:#fff;border-bottom:5px solid #9ebc1b;font-family:Lato,sans-serif;letter-spacing:.5px;box-sizing:border-box;width:200px;height:172px;margin-bottom:-170px}#displayed_tab .ngg_igw_promo a{text-decoration:none;font-weight:600}#displayed_tab .ngg_igw_coupon{font-size:12px;margin-top:10px;margin-top:47px;color:#7298b1}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video{display:block!important;position:absolute;left:175px;top:69px}#displayed_tab .ngg_igw_video_open{background:#9ebc1b;color:#fff;cursor:pointer;font-family:Lato,sans-serif;font-size:13px;margin:0;padding:8px 10px}#displayed_tab .ngg_igw_video_inner{display:none;box-shadow:0 0 10px 5px rgba(0,0,0,.2);background:#fff}#displayed_tab .ngg_igw_video_close{color:#9ebc1b;width:100%;height:50px;display:block;background:#123248;text-align:center;line-height:50px;font-size:15px;font-weight:700;cursor:pointer;font-family:Lato,sans-serif;letter-spacing:.5px;background:#9ebc1b;color:#fff}#displayed_tab .ngg_igw_video iframe{width:525px;height:295px!important;min-height:auto;margin-bottom:-3px}#displayed_tab #displayed_gallery_source{width:400px}#displayed_tab #display_tip{color:rgba(42,52,61,.6);display:block;font-size:14px;width:960px;max-width:100%;padding:10px 0 0}#displayed_tab #slug_configuration{display:none}#displayed_tab #slug_configuration td,#displayed_tab #source_configuration td{vertical-align:top;padding:4px 0!important;min-width:200px}#displayed_tab #source_configuration label{color:#777!important;font-size:13px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content #source_configuration tr td:first-of-type{white-space:normal;line-height:1.2;width:265px}#displayed_tab #ngg_page_content .select2-container{width:250px!important;line-height:20px}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#9fbb1a}#displayed_tab #slug_configuration #slug_label{width:52px}#displayed_tab #slug_configuration #slug_column input[type=text]{width:498px}#displayed_tab #display_type_selector{margin-top:14px}#displayed_tab .display_type_preview{float:left;margin:0 5px 5px 0;border:1px solid #ddd;background:#fff;width:145px;height:170px}#displayed_tab .display_type_preview .image_container{width:100%;vertical-align:middle;text-align:center;font-size:12px;font-weight:500;padding:8px;box-sizing:border-box}#displayed_tab .display_type_preview .image_container img{margin-top:10px;margin-bottom:10px;box-sizing:border-box;max-width:100px}#displayed_tab .display_type_preview .image_container p{display:inline-block}.display_type_preview label>div{font-size:12px}#displayed_tab .select2-chosen{color:#666!important}#ngg_page_content #save_displayed_gallery.button{font-weight:700;height:50px!important;line-height:50px!important;padding:0 30px!important;font-size:13px}#display_settings_tab #display_settings_form table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;width:180px}#display_settings_tab #display_settings_form table td{text-align:left}#display_settings_tab #display_settings_form table textarea{height:60px}#display_settings_tab #display_settings_form input[type=number],#display_settings_tab #display_settings_form input[type=text],#display_settings_tab #display_settings_form select,#display_settings_tab #display_settings_form textarea{width:157px}#display_settings_tab #display_settings_form .ngg_slideshow_gallery_height,#display_settings_tab #display_settings_form .ngg_slideshow_gallery_width,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_height,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_width{width:65px!important}#display_settings_tab #display_settings_form .nextgen_settings_colorpicker{width:85px!important;text-align:center}h3#preview_tab{margin-bottom:0}#preview_tab_content{padding:10px 0}#preview_tab_content a{text-decoration:none;font-weight:300}#preview_tab_content .previewed_entity{width:100%;border-bottom:solid 1px #e0e0d6;background-color:#fafaf0}#preview_tab_content .previewed_entity .container{padding-top:15px}#preview_tab_content .previewed_entity.header{background-color:#f0f0e6;padding-bottom:5px;padding-top:5px}#preview_tab_content .header label{font-size:12px;color:#649664;font-weight:600}#preview_tab_content .ui-sortable-helper{background:0 0}#preview_tab_content ul{list-style-type:none;display:block;padding:0;position:relative;margin-top:20px}#preview_tab_content .inclusion_checkbox{margin-right:7px;display:block;float:left}#preview_tab_content .preview_item{background-color:#fff;width:100px;padding:10px 10px 30px 10px;margin:0 5px 5px 0;border:solid 1px #eee;display:block;vertical-align:middle;text-align:center;position:relative}#preview_tab_content .image_container{background-repeat:no-repeat;background-position:center;background-size:cover;display:block;width:100%;height:75px}#preview_tab_content .image_container img{border:0}#preview_tab_content #entity_list li{float:left}#preview_tab_content #entity_list .ui-state-default{background:0 0;border:none}#preview_tab_content .placeholder{background-color:#e0ddc1;position:relative}#preview_tab_content #entity_list .exclude_container{background:#fff;display:block;text-align:center;margin:0 auto;color:#000;font-weight:400;height:1.4em;line-height:1.1em;font-size:.8em;position:absolute;bottom:.2em;left:0;width:100%;padding:5px 0}#preview_tab_content #entity_list .exclude_container input{vertical-align:middle;line-height:1.2em;margin:0 .5em}#preview_tab_content .header_row{margin-bottom:5px;font-weight:300}#preview_tab_content .header_row strong{width:70px;display:inline-block}#preview_tab_content .header_row .separator{display:inline-block;margin:0 5px}#preview_tab_content .header_row .selected{font-weight:700}#preview_tab_content #entity_list li.clear{float:none;clear:both}#preview_tab_content .refresh_button{float:right}@media (max-width:1120px){#displayed_tab .ngg_igw_promo{position:static;width:602px;height:125px;max-width:100%;margin-bottom:10px}#displayed_tab .ngg_igw_coupon{margin-top:10px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video,#displayed_tab .ngg_igw_video_inner{display:none!important}}@media (max-width:800px){#attach_to_post_tabs .ui-tabs-icon{width:100%;position:static;border-right:none;border-bottom:3px solid #9fbb1a;text-align:center;height:150px;padding:20px}#attach_to_post_tabs img.attach_to_post_logo{display:none}#attach_to_post_tabs .ui-tabs-nav{margin-top:0}#attach_to_post_tabs .ui-tabs-nav li{padding:5px;list-style:none!important;border-bottom:none;border-top:none!important}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active{background:0 0}#attach_to_post_tabs:not(.ngg_atp_ios_detected) .ui-tabs-nav li:nth-of-type(2)::after{display:none}#attach_to_post_tabs .ui-tabs-nav li a{float:none;padding:0!important;font-weight:400}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#9ebc1b}#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before{display:none}#attach_to_post_tabs .main_menu_tab{margin-left:0;min-height:auto;position:absolute;top:150px;right:0;left:0;bottom:0;height:auto}#displayed_tab #ngg_page_content .ngg_page_content_menu{padding:5px 0 0;background:0 0;border:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a{display:block;width:100%;float:left;padding:0;text-align:center;box-sizing:border-box}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a:last-of-type{padding-bottom:5px}#displayed_tab #slug_configuration tr,#displayed_tab #source_configuration tr{margin-bottom:24px}#ngg_page_content #save_displayed_gallery.button{position:static;margin-left:0;padding:0}}@media (max-width:781px){#attach_to_post_tabs.ngg_atp_ios_detected .ui-tabs-nav li:nth-of-type(1)::after{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td{width:100%!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration{display:table!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration tbody{display:table-row-group!important}#displayed_tab #ngg_page_content .responsive-menu-icon{padding:10px 0 15px!important}}@media (max-width:400px){#displayed_tab .display_type_preview{float:none;margin:20px auto;width:170px}}
1
+ body,html{width:100%;height:100%;padding:0;margin:0;font-size:13px;overflow:hidden}body{position:absolute;visibility:hidden;opacity:0;height:100%}.entity_errors{color:red}.entity_errors ul{margin-left:30px}.entity_errors ul li{list-style-type:disc}.ui-helper-reset{font-size:13px}#attach_to_post_tabs{border:0;background:0 0;height:100%;overflow:hidden;padding:0;position:relative;visibility:visible}#attach_to_post_tabs #attach_to_post_tabs.ui-tabs-hide{display:block!important;visibility:hidden;position:absolute;top:-5000px}#attach_to_post_tabs h3{text-transform:uppercase;color:#666;margin-top:0}h3#choose_display{margin-bottom:24px}#attach_to_post_tabs .main_menu_tab{padding:0;position:absolute;left:220px;right:0;top:0;bottom:0}#attach_to_post_tabs.ngg_atp_ios_detected{overflow-y:scroll;-webkit-overflow-scrolling:touch}#attach_to_post_tabs .ui-widget-header{border:0;border-bottom:1px solid #dfdfdf;background:0 0}iframe{width:100%;min-height:100%;border:none;padding:0;margin:0;background:0 0}.chrome_70_hack_frames{z-index:100000000!important}.chrome_70_hack_noframes{z-index:0!important}.clear{clear:both;float:none}table{font-size:13px}.select2-search input{width:100%!important}.select2-result-label{white-space:nowrap}.select2-results{font-family:'segoe ui',Arial,sans-serif;font-size:13px}.select2-container a{color:#444!important}#ngg_page_content .ngg_page_content_main .select2-container{width:100%!important;max-width:500px!important}#attach_to_post_tabs .ui-tabs-icon{background:#133148;border-right:1px solid #9cbe1b;box-sizing:border-box;color:#fff;font-family:Lato,sans-serif;float:none;font-size:20px;font-weight:700;height:100%;letter-spacing:1px;line-height:60px;margin-bottom:0;position:fixed;padding:10px 25px 30px 10px;text-transform:uppercase;width:220px;padding:0}#attach_to_post_tabs img.attach_to_post_logo{height:45px;padding:20px 0 10px;float:right;margin-right:26px}#attach_to_post_tabs .ui-tabs-nav{border:none;background:0 0;padding:0;margin-top:90px;list-style:none}#attach_to_post_tabs .ui-tabs-nav li{background:0 0;border:none;display:block;height:auto;margin:0;padding:0;width:100%;border-radius:0;box-sizing:border-box;border-bottom:1px solid #344a59;padding:24px 30px 24px 20px}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active{background:#2b4d65;background:#9dbd1b}#attach_to_post_tabs .ui-tabs-nav li.active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-active,#attach_to_post_tabs .ui-tabs-nav li.ui-state-focus,#attach_to_post_tabs .ui-tabs-nav li:focus{outline:0}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(1){list-style:none;border-top:1px solid #344a59}#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(2){list-style:none}#attach_to_post_tabs:not(.ngg_atp_ios_detected) ul.ui-tabs-nav li:nth-of-type(1) a{display:list-item}#attach_to_post_tabs ul.ui-tabs-nav li:nth-of-type(2) a{display:list-item}#attach_to_post_tabs .ui-tabs-nav li a{color:#fff;float:right;font-size:16px;letter-spacing:0;line-height:1;padding:10px 5px 5px 0!important;text-transform:none;font-family:lato,sans-serif;text-transform:uppercase;font-size:13px;letter-spacing:1px;font-weight:700;padding:0!important;font-size:12px;letter-spacing:1.2px}#attach_to_post_tabs .ui-tabs-nav li.ui-state-disabled a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active a,#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:pointer}#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before{border-right:solid .75em #fff;border-top:solid 1.2em transparent;border-bottom:solid 1.2em transparent;content:'';position:absolute;top:16px;right:-3px}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#fff;font-weight:800}#displayed_tab.main_menu_tab{overflow-y:scroll;overflow-x:hidden}#displayed_tab #ngg_page_content{margin:0;width:100%}#displayed_tab #attach_to_post_tabs .ngg_page_content_header{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu{background:0 0;border:none;padding:10px 20px 10px 0;float:none;height:25px;margin-top:0;width:auto;border-bottom:1px solid #ddd;background:#fafafa}#displayed_tab #ngg_page_content .ngg_page_content_menu a,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{border:none;color:#888;display:inline;font-size:14px;font-weight:400;text-decoration:none;line-height:25px;padding:15px 20px;font-size:12px;background:0 0}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active{background:0 0;font-weight:700;color:#123248;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:2px solid #fff;background:#fff}#displayed_tab #ngg_page_content .ngg_page_content_menu a:active:after{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a:before{display:none}#displayed_tab #ngg_page_content .ngg_page_content_main{padding:30px;width:100%;box-shadow:none}#displayed_tab #ngg_page_content.ngg_settings_page{border:none}#displayed_tab .ngg_igw_promo{display:block!important;padding:10px 20px;position:relative;top:-187px;left:608px;background:#123248;color:#fff;border-bottom:5px solid #9ebc1b;font-family:Lato,sans-serif;letter-spacing:.5px;box-sizing:border-box;width:200px;height:172px;margin-bottom:-170px}#displayed_tab .ngg_igw_promo a{text-decoration:none;font-weight:600}#displayed_tab .ngg_igw_coupon{font-size:12px;margin-top:10px;margin-top:47px;color:#7298b1}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video{display:block!important;position:absolute;left:175px;top:69px}#displayed_tab .ngg_igw_video_open{background:#9ebc1b;color:#fff;cursor:pointer;font-family:Lato,sans-serif;font-size:13px;margin:0;padding:8px 10px}#displayed_tab .ngg_igw_video_inner{display:none;box-shadow:0 0 10px 5px rgba(0,0,0,.2);background:#fff}#displayed_tab .ngg_igw_video_close{color:#9ebc1b;width:100%;height:50px;display:block;background:#123248;text-align:center;line-height:50px;font-size:15px;font-weight:700;cursor:pointer;font-family:Lato,sans-serif;letter-spacing:.5px;background:#9ebc1b;color:#fff}#displayed_tab .ngg_igw_video iframe{width:525px;height:295px!important;min-height:auto;margin-bottom:-3px}#displayed_tab #displayed_gallery_source{width:400px}#displayed_tab #display_tip{color:rgba(42,52,61,.6);display:block;font-size:14px;width:960px;max-width:100%;padding:10px 0 0}#displayed_tab #slug_configuration{display:none}#displayed_tab #slug_configuration td,#displayed_tab #source_configuration td{vertical-align:top;padding:4px 0!important;min-width:200px}#displayed_tab #source_configuration label{color:#777!important;font-size:13px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content #source_configuration tr td:first-of-type{white-space:normal;line-height:1.2;width:265px}#displayed_tab #ngg_page_content .select2-container{width:250px!important;line-height:20px}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#9fbb1a}#displayed_tab #slug_configuration #slug_label{width:52px}#displayed_tab #slug_configuration #slug_column input[type=text]{width:498px}#displayed_tab #display_type_selector{margin-top:14px}#displayed_tab .display_type_preview{float:left;margin:0 5px 5px 0;border:1px solid #ddd;background:#fff;width:145px;height:170px}#displayed_tab .display_type_preview .image_container{width:100%;vertical-align:middle;text-align:center;font-size:12px;font-weight:500;padding:8px;box-sizing:border-box}#displayed_tab .display_type_preview .image_container img{margin-top:10px;margin-bottom:10px;box-sizing:border-box;max-width:100px}#displayed_tab .display_type_preview .image_container p{display:inline-block}.display_type_preview label>div{font-size:12px}#displayed_tab .select2-chosen{color:#666!important}#ngg_page_content #save_displayed_gallery.button{font-weight:700;height:50px!important;line-height:50px!important;padding:0 30px!important;font-size:13px}#save_displayed_gallery:disabled{background:gray!important}#display_settings_tab #display_settings_form table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;width:180px}#display_settings_tab #display_settings_form table td{text-align:left}#display_settings_tab #display_settings_form table textarea{height:60px}#display_settings_tab #display_settings_form input[type=number],#display_settings_tab #display_settings_form input[type=text],#display_settings_tab #display_settings_form select,#display_settings_tab #display_settings_form textarea{width:157px}#display_settings_tab #display_settings_form .ngg_slideshow_gallery_height,#display_settings_tab #display_settings_form .ngg_slideshow_gallery_width,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_height,#display_settings_tab #display_settings_form .ngg_thumbnail_dimension_width{width:65px!important}#display_settings_tab #display_settings_form .nextgen_settings_colorpicker{width:85px!important;text-align:center}h3#preview_tab{margin-bottom:0}#preview_tab_content{padding:10px 0}#preview_tab_content a{text-decoration:none;font-weight:300}#preview_tab_content .previewed_entity{width:100%;border-bottom:solid 1px #e0e0d6;background-color:#fafaf0}#preview_tab_content .previewed_entity .container{padding-top:15px}#preview_tab_content .previewed_entity.header{background-color:#f0f0e6;padding-bottom:5px;padding-top:5px}#preview_tab_content .header label{font-size:12px;color:#649664;font-weight:600}#preview_tab_content .ui-sortable-helper{background:0 0}#preview_tab_content ul{list-style-type:none;display:block;padding:0;position:relative;margin-top:20px}#preview_tab_content .inclusion_checkbox{margin-right:7px;display:block;float:left}#preview_tab_content .preview_item{background-color:#fff;width:100px;padding:10px 10px 30px 10px;margin:0 5px 5px 0;border:solid 1px #eee;display:block;vertical-align:middle;text-align:center;position:relative}#preview_tab_content .image_container{background-repeat:no-repeat;background-position:center;background-size:cover;display:block;width:100%;height:75px}#preview_tab_content .image_container img{border:0}#preview_tab_content #entity_list li{float:left}#preview_tab_content #entity_list .ui-state-default{background:0 0;border:none}#preview_tab_content .placeholder{background-color:#e0ddc1;position:relative}#preview_tab_content #entity_list .exclude_container{background:#fff;display:block;text-align:center;margin:0 auto;color:#000;font-weight:400;height:1.4em;line-height:1.1em;font-size:.8em;position:absolute;bottom:.2em;left:0;width:100%;padding:5px 0}#preview_tab_content #entity_list .exclude_container input{vertical-align:middle;line-height:1.2em;margin:0 .5em}#preview_tab_content .header_row{margin-bottom:5px;font-weight:300}#preview_tab_content .header_row strong{width:70px;display:inline-block}#preview_tab_content .header_row .separator{display:inline-block;margin:0 5px}#preview_tab_content .header_row .selected{font-weight:700}#preview_tab_content #entity_list li.clear{float:none;clear:both}#preview_tab_content .refresh_button{float:right}@media (max-width:1120px){#displayed_tab .ngg_igw_promo{position:static;width:602px;height:125px;max-width:100%;margin-bottom:10px}#displayed_tab .ngg_igw_coupon{margin-top:10px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div.ngg_igw_video,#displayed_tab .ngg_igw_video_inner{display:none!important}}@media (max-width:800px){#attach_to_post_tabs .ui-tabs-icon{width:100%;position:static;border-right:none;border-bottom:3px solid #9fbb1a;text-align:center;height:150px;padding:20px}#attach_to_post_tabs img.attach_to_post_logo{display:none}#attach_to_post_tabs .ui-tabs-nav{margin-top:0}#attach_to_post_tabs .ui-tabs-nav li{padding:5px;list-style:none!important;border-bottom:none;border-top:none!important}#attach_to_post_tabs .ui-tabs-nav li.ui-tabs-active{background:0 0}#attach_to_post_tabs:not(.ngg_atp_ios_detected) .ui-tabs-nav li:nth-of-type(2)::after{display:none}#attach_to_post_tabs .ui-tabs-nav li a{float:none;padding:0!important;font-weight:400}#attach_to_post_tabs .ui-tabs-nav li a.active_tab{color:#9ebc1b}#attach_to_post_tabs .ui-tabs-nav li a.active_tab::before{display:none}#attach_to_post_tabs .main_menu_tab{margin-left:0;min-height:auto;position:absolute;top:150px;right:0;left:0;bottom:0;height:auto}#displayed_tab #ngg_page_content .ngg_page_content_menu{padding:5px 0 0;background:0 0;border:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a{display:block;width:100%;float:left;padding:0;text-align:center;box-sizing:border-box}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#displayed_tab #ngg_page_content .ngg_page_content_menu a:active{background:0 0}#displayed_tab #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after{display:none}#displayed_tab #ngg_page_content .ngg_page_content_menu a:last-of-type{padding-bottom:5px}#displayed_tab #slug_configuration tr,#displayed_tab #source_configuration tr{margin-bottom:24px}#ngg_page_content #save_displayed_gallery.button{position:static;margin-left:0;padding:0}}@media (max-width:781px){#attach_to_post_tabs.ngg_atp_ios_detected .ui-tabs-nav li:nth-of-type(1)::after{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td{width:100%!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration{display:table!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main #source_configuration tbody{display:table-row-group!important}#displayed_tab #ngg_page_content .responsive-menu-icon{padding:10px 0 15px!important}}@media (max-width:400px){#displayed_tab .display_type_preview{float:none;margin:20px auto;width:170px}}
products/photocrati_nextgen/modules/attach_to_post/static/display_tab.js CHANGED
@@ -203,16 +203,6 @@ jQuery(function($){
203
  // Create the select2 drop-down
204
  this.select_tag.$el.select2(this.select2_opts);
205
 
206
- // Ensure that values are pre-populated
207
- if (this.options.multiple) {
208
- var selected = [];
209
- _.each(this.collection.selected_ids(), function(id){
210
- selected.push(id.toString());
211
- });
212
- if (selected.length == 0) selected = '';
213
- this.select_tag.$el.select2('val', selected);
214
- }
215
-
216
  return this;
217
  }
218
  });
@@ -1601,7 +1591,17 @@ jQuery(function($){
1601
  }, this);
1602
 
1603
  // Bind to the 'selected' event for the source, updating the displayed gallery
1604
- this.sources.on('selected', function(){
 
 
 
 
 
 
 
 
 
 
1605
  this.displayed_gallery.set('source', this.sources.selected_value());
1606
 
1607
  // If the source changed, and it's not the set to the original value, then
203
  // Create the select2 drop-down
204
  this.select_tag.$el.select2(this.select2_opts);
205
 
 
 
 
 
 
 
 
 
 
 
206
  return this;
207
  }
208
  });
1591
  }, this);
1592
 
1593
  // Bind to the 'selected' event for the source, updating the displayed gallery
1594
+ this.sources.on('selected', function() {
1595
+
1596
+ // It is possible for fast acting users to get an invalid shortcode: by changing gallery source and
1597
+ // then rushing to the 'insert gallery' button it's possible for the state to be unchanged when the new
1598
+ // shortcode is written thus 'leaving behind' the old displayed gallery without the newly chosen attr.
1599
+ // This just temporarily disables that button for one second for the internal state to catch up.
1600
+ $('#save_displayed_gallery').prop('disabled', true);
1601
+ setTimeout(function() {
1602
+ $('#save_displayed_gallery').prop('disabled', false);
1603
+ }, 1000);
1604
+
1605
  this.displayed_gallery.set('source', this.sources.selected_value());
1606
 
1607
  // If the source changed, and it's not the set to the original value, then
products/photocrati_nextgen/modules/attach_to_post/static/display_tab.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function(e){var t={Models:{},Views:{}};t.Models.SelectableItems=Backbone.Collection.extend({selected:function(){return this.filter(function(e){return 1==e.get("selected")})},deselect_all:function(){this.each(function(e){e.set("selected",!1)})},selected_ids:function(){return _.pluck(this.selected(),"id")},select:function(e){_.isArray(e)||(e=[e]),this.each(function(t){_.indexOf(e,t.id)>=0&&t.set("selected",!0)}),this.trigger("selected")}}),t.Views.SelectTag=Backbone.View.extend({tagName:"select",collection:null,multiple:!1,value_field:"id",text_field:"title",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.collection.on("add",this.render_new_option,this),this.collection.on("remove",this.remove_existing_option,this),this.collection.on("reset",this.empty_list,this)},events:{change:"selection_changed"},empty_list:function(){this.$el.empty()},render_new_option:function(e){this.$el.append(new this.Option({model:e,value_field:this.value_field,text_field:this.text_field}).render().el)},remove_existing_option:function(e){this.$el.find("option[value='"+e.id+"']").remove()},selection_changed:function(){var t=_.map(this.$el.find(":selected"),function(t){return e(t).val()});this.collection.each(function(e){_.indexOf(t,e.id)>=0||_.indexOf(t,e.id.toString())>=0?e.set("selected",!0):e.set("selected",!1)}),this.collection.trigger("selected")},render:function(){return this.$el.empty(),this.multiple&&(this.$el.prop("multiple",!0),this.$el.attr("multiple","multiple")),this.collection.each(function(e){var t=new this.Option({model:e,value_field:this.value_field,text_field:this.text_field});this.$el.append(t.render().el)},this),this.width&&this.$el.width(this.width),this},Option:Backbone.View.extend({tagName:"option",model:null,initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change",this.render,this)},render:function(){var e=this;return this.$el.html(this.model.get(this.text_field).replace(/\\&/g,"&").replace(/\\'/g,"'")),this.$el.prop({value:"id"==this.value_field?this.model.id:this.model.get(this.value_field)}),1==e.model.get("selected")&&this.$el.prop("selected",!0).attr("selected","selected"),this}})}),t.Views.Chosen=Backbone.View.extend({tagName:"span",initialize:function(e){this.options=e||{},this.collection=this.options.collection,this.select_tag=new t.Views.SelectTag(this.options),this.collection.on("change",this.selection_changed,this)},selection_changed:function(e){_.isUndefined(e.changed.selected)&&this.render()},render:function(){if(this.$el.append(this.select_tag.render().$el),this.options.width&&this.select_tag.$el.width(this.options.width),this.select2_opts={placeholder:this.options.placeholder},this.select_tag.$el.select2(this.select2_opts),this.options.multiple){var e=[];_.each(this.collection.selected_ids(),function(t){e.push(t.toString())}),0==e.length&&(e=""),this.select_tag.$el.select2("val",e)}return this}}),t.DisplayTab={Models:{},Views:{},App:{}},t.Models.Remote_Collection=t.Models.SelectableItems.extend({fetch_limit:5e3,in_progress:!1,fetch_url:photocrati_ajax.url,action:"",extra_data:{},_create_request:function(e,t){var i=_.extend({},igw_data.sec_token,{action:this.action,limit:e||this.fetch_limit,offset:t||0});for(var s in this.extra_data){var l=this.extra_data[s];void 0===i[s]&&(i[s]={}),void 0!==l.toJSON&&(l=l.toJSON()),i[s]=_.extend(i[s],l)}return i},_add_item:function(e){this.push(e)},fetch:function(t,i){var s=this;this.in_progress=!0,e.post(this.fetch_url,this._create_request(t,i),function(e){"undefined"!=typeof _&&(_.isObject(e)||(e=JSON.parse(e)),e.items&&(_.each(e.items,function(e){s._add_item(e)}),e.total>=e.limit+e.offset?s.fetch(e.limit,e.offset+e.limit):(s.in_progress=!1,s.trigger("finished_fetching"))))})}}),t.DisplayTab.Models.Displayed_Gallery=Backbone.Model.extend({defaults:{source:null,container_ids:[],entity_ids:[],display_type:null,display_settings:{},exclusions:[],sortorder:[],slug:null},to_shortcode:function(){retval=null;var e=function(e,t){var i=e[t];if(void 0!==igw_data.shortcode_defaults[t]&&igw_data.shortcode_defaults[t]==i&&(i=null),_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","&#91;"),i=i.toString().replace("]","&#93;"),void 0!==igw_data.shortcode_attr_replacements[t]&&(t=igw_data.shortcode_attr_replacements[t]),t+'="'+i+'"'},i=t.DisplayTab.instance.display_types.find_by_name_or_alias(this.get("display_type")),s=this.toJSON();s.display_type=i.get_shortcode_value();var l="[ngg",n=null;(n=e(s,"source"))&&(l+=" "+n),(n=e(s,"container_ids"))&&(l+=" "+n),(n=e(s,"entity_ids"))&&(l+=" "+n),(n=e(s,"exclusions"))&&(l+=" "+n),(n=e(s,"sortorder"))&&(l+=" "+n);for(var a in s){if(!(["source","container_ids","entity_ids","exclusions","sortorder","__defaults_set","id_field","post_category","ID"].indexOf(a)>-1))if("display_settings"==a)for(var r in s[a])(n=e(s[a],r))&&(l+=" "+n);else(n=e(s,a))&&(l+=" "+n)}return l+="]"}}),t.DisplayTab.Models.Source=Backbone.Model.extend({idAttribute:"name",defaults:{title:"",name:"",selected:!1}}),t.DisplayTab.Models.Source_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Source,selected_value:function(){var e=null,t=this.selected();return t.length>0&&(e=t[0].get("name")),e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Gallery=Backbone.Model.extend({idAttribute:igw_data.gallery_primary_key,defaults:{title:"",name:""}}),t.DisplayTab.Models.Gallery_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Gallery,action:"get_existing_galleries"}),t.DisplayTab.Models.Album=Backbone.Model.extend({defaults:{title:"",name:""}}),t.DisplayTab.Models.Album_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Album,action:"get_existing_albums"}),t.DisplayTab.Models.Tag=Backbone.Model.extend({defaults:{title:""}}),t.DisplayTab.Models.Tag_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Tag,action:"get_existing_image_tags"}),t.DisplayTab.Models.Display_Type=Backbone.Model.extend({idAttribute:"name",defaults:{title:""},is_compatible_with_source:function(e){var t=!0;for(index in e.get("returns")){var i=e.get("returns")[index];if(_.indexOf(this.get("entity_types"),i)<0){t=!1;break}}return t},get_shortcode_value:function(){var e=this.id,t=this.get("aliases");return _.isArray(t)&&t.length>0&&(e=t[0]),e}}),t.DisplayTab.Models.Display_Type_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Display_Type,selected_value:function(){var e=this.selected();return e.length>0?e[0].get("name"):null},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Entity=Backbone.Model.extend({entity_id:function(){return this.get(this.get("id_field"))},is_excluded:function(){return current_value=this.get("exclude"),!_.isUndefined(current_value)&&(_.isBoolean(current_value)?current_value:0!=parseInt(current_value))},is_included:function(){return!this.is_excluded()},is_gallery:function(){return retval=!1,1==this.get("is_gallery")&&(retval=!0),retval},is_album:function(){return retval=!1,1==this.get("is_album")&&(retval=!0),retval},is_image:function(){return!this.is_album()&&!this.is_gallery()},alttext:function(){return this.is_image()?this.get("alttext"):this.is_gallery()?this.get("title"):this.is_album()?this.get("name"):void 0}}),t.DisplayTab.Models.Entity_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Entity,action:"get_displayed_gallery_entities",_add_item:function(e){e.exclude=1==parseInt(e.exclude),e.is_gallery=1==parseInt(e.is_gallery),e.is_album=1==parseInt(e.is_album),this.push(e)},entity_ids:function(){return this.map(function(e){return e.entity_id()})},included_ids:function(){return _.compact(this.map(function(e){if(e.is_included())return e.entity_id()}))},excluded_ids:function(){return _.compact(this.map(function(e){if(!e.is_included())return e.entity_id()}))}}),t.DisplayTab.Models.SortOrder=Backbone.Model.extend({}),t.DisplayTab.Models.SortOrder_Options=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.SortOrder}),t.DisplayTab.Models.SortDirection=Backbone.Model.extend({}),t.DisplayTab.Models.SortDirection_Options=Backbone.Collection.extend({model:t.DisplayTab.Models.SortDirection}),t.DisplayTab.Models.Slug=Backbone.Model.extend({}),t.DisplayTab.Views.Source_Config=Backbone.View.extend({el:"#source_configuration",selected_view:null,initialize:function(){this.sources=t.DisplayTab.instance.sources,this.sources.on("selected",this.render,this),_.bindAll(this,"render"),this.render()},render:function(){var e=new t.Views.Chosen({id:"source_select",collection:this.sources,placeholder:"Select a source",width:500}),i=_.template('<tr><td id="source_column"></td><td><label><%- sources %></label></td></tr>');this.$el.html(i(igw_data.i18n)),this.$el.find("#source_column").append(e.render().el);var s=this.sources.selected();if(s.length){var l=_.str.capitalize(s.pop().id)+"Source";if(void 0!==t.DisplayTab.Views[l]){var n=new t.DisplayTab.Views[l];this.$el.append(n.render().el)}}return this}}),t.DisplayTab.Views.Slug_Config=Backbone.View.extend({el:"#slug_configuration",selected_view:null,initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.slug=t.DisplayTab.instance.displayed_gallery.get("slug"),this.render()},render:function(){var t=this,i=e("<input>").prop({type:"text",name:"slug",value:this.slug,placeholder:igw_data.i18n.optional,id:"field_slug"});i.on("input",function(){e(this).val(e(this).val().replace(/\s|\?|\\|\/|&|=|\[|]|#/gm,"-")),t.displayed_gallery.set("slug",e(this).val())}),i.on("change",function(){e(this).val(e(this).val().replace(/^-*/gm,"").replace(/-*$/gm,"")),t.displayed_gallery.set("slug",e(this).val())});var s=_.template('<tr><td id="slug_label"><label for="field_slug" class="tooltip" title="<%- slug_tooltip %><"><<%- slug_label %></label></td><td id="slug_column"></td></tr>');return this.$el.append(s(igw_data.i18n)),this.$el.find("#slug_column").append(i),this}}),t.DisplayTab.Views.Display_Type_Selector=Backbone.View.extend({el:"#display_type_selector",initialize:function(){this.display_types=t.DisplayTab.instance.display_types,this.display_type_order_base=t.DisplayTab.instance.display_type_order_base,this.display_type_order_step=t.DisplayTab.instance.display_type_order_step,this.sources=t.DisplayTab.instance.sources,this.render()},selection_changed:function(t){var i=null;this.display_types.each(function(e){e.get("name")==t?(i=e,e.set("selected",!0)):e.set("selected",!1)}),e(".display_settings_form").each(function(){$this=e(this),$this.attr("rel")==t?$this.removeClass("hidden"):$this.addClass("hidden")})},render:function(){var t=this.sources.selected(),i=0;t=t.length>0&&t[0],this.$el.empty();var s=this.display_type_order_base,l=this.display_type_order_step;return this.display_types.each(function(n){if(t&&!n.is_compatible_with_source(t)){var a=e("#display_type_tab_content:visible");if(0==a.length)return;if("hidden"==a.css("visibility"))return}var r=new this.DisplayType;r.model=n,r.on("selected",this.selection_changed,this),this.display_types.selected_value()||(n.set("selected",!0),this.selection_changed(n.id));var o=n.get("view_order");o||(o=s);var d=Math.floor(o/l);i=d,this.$el.append(r.render().el)},this),this.$el.append('<li class="clear" style="height: 10px; list-style-type:none" />'),this},DisplayType:Backbone.View.extend({className:"display_type_preview",events:{click:"clicked"},clicked:function(e){this.trigger("selected",this.model.get("name"))},render:function(){var t=e('<label style="display: block; cursor: pointer;"/>').addClass("image_container"),i=this.model.get("installed_at_version"),s=photocrati_ajax.wp_plugins_url,l=this.model.get("preview_image_relpath");void 0===i&&(s=photocrati_ajax.wp_site_url,s=s.replace(/(.*)\/index\.php$/i,"$1"),0==l.indexOf("/nextgen-gallery")&&(s=photocrati_ajax.wp_plugins_url));var n=e("<img/>").attr({src:s+"/"+l,title:this.model.get("title"),alt:this.model.get("alt")}),a=e("<div/>"),r=e("<input/>").prop({type:"radio",value:this.model.get("name"),title:this.model.get("title"),name:"display_type",checked:this.model.get("selected")}),o=e("<br>");return t.append(a),t.append(n),t.append("<br>"),t.append(this.model.get("title").replace(/nextgen /gi,"")),a.append(r),a.append(o),this.$el.append(t),this}})}),t.DisplayTab.Views.Preview_Area=Backbone.View.extend({el:"#preview_area",initialize:function(){this.entities=t.DisplayTab.instance.entities,this.sources=t.DisplayTab.instance.sources,this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entity_list=e("<ul/>").attr("id","entity_list").append('<li class="clear"/>'),this.entities.on("add",this.render_entity,this),this.entities.on("remove",this.remove_entity,this),this.entities.on("reset",this.entities_reset,this),this.entities.on("change:sortorder",function(e){this.entities.remove(e,{silent:!0}),this.entities.add(e,{at:e.changed.sortorder,silent:!0}),this.displayed_gallery.set("sortorder",this.entities.entity_ids()),"undefined"!=typeof console&&void 0!==console.log&&console.log(this.entities.entity_ids()),this.displayed_gallery.set("order_by","sortorder")},this),this.sources.on("selected",this.render,this),this.render()},events:{opened:"entities_reset"},entities_reset:function(e){this.entities.reset(null,{silent:!0}),this.entity_list.empty().append('<li class="clear"/>'),this.entities.in_progress||this.entities.fetch()},render_entity:function(e){var t=new this.EntityElement({model:e});this.entity_list.find(".clear").before(t.render().$el),t.$el.css("visibility","hidden"),setTimeout(function(){t.$el.css("visibility","visible")},0),1==this.$el.find(".no_entities").length?this.render():this.entities.length>1&&this.entity_list.sortable("refresh")},remove_entity:function(e){var t=this.id=e.get("id_field")+"_"+e.entity_id();this.entity_list.find("#"+t).remove();this.entity_list.sortable("refresh"),0==this.entities.length&&this.render_no_images_notice()},render_no_images_notice:function(){this.$el.empty(),this.$el.append("<p class='no_entities'>"+igw_data.i18n.no_entities+"</p>")},render:function(){return this.$el.empty(),this.entities.length>0&&this.displayed_gallery.get("container_ids").length>0?(this.$el.append(new this.RefreshButton({entities:this.entities}).render().el),this.$el.append(new this.SortButtons({entities:this.entities,displayed_gallery:this.displayed_gallery,sources:this.sources}).render().el),this.$el.append(new this.ExcludeButtons({entities:this.entities}).render().el),this.$el.append(this.entity_list),this.entity_list.sortable({placeholder:"placeholder",forcePlaceholderSize:!0,containment:"parent",opacity:.7,revert:!0,dropOnEmpty:!0,start:function(e,t){return t.placeholder.css({height:t.item.height()}),!0},stop:function(e,t){t.item.trigger("drop",t.item.index())}}),this.entity_list.disableSelection()):this.render_no_images_notice(),this},RefreshButton:Backbone.View.extend({className:"refresh_button button-primary",tagName:"input",label:"Refresh",events:{click:"clicked"},clicked:function(){this.entities.reset()},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){return this.$el.attr({value:this.label,type:"button"}),this}}),ExcludeButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){this.$el.empty(),this.$el.append('<span style="margin-right: 8px;">Exclude:</span>');var e=new this.Button({value:!0,text:"All",entities:this.entities});this.$el.append(e.render().el),this.$el.append('<span class="separator">|</span>');var t=new this.Button({value:!1,text:"None",entities:this.entities});return this.$el.append(t.render().el),this},Button:Backbone.View.extend({tagName:"a",value:1,text:"",events:{click:"clicked"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},clicked:function(e){e.preventDefault(),this.entities.each(function(e){e.set("exclude",this.value)},this)},render:function(){return this.$el.text(this.text).attr("href","#"),this}})}),SortButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.sortorder_options=new t.DisplayTab.Models.SortOrder_Options,this.sortorder_options.on("change:selected",this.sortoption_changed,this),this.sortdirection_options=new t.DisplayTab.Models.SortDirection_Options([{value:"ASC",title:"Ascending",selected:"ASC"==this.displayed_gallery.get("order_direction")},{value:"DESC",title:"Descending",selected:"DESC"==this.displayed_gallery.get("order_direction")}]),this.sortdirection_options.on("change:selected",this.sortdirection_changed,this),this.displayed_gallery.on("change:order_by",this.displayed_gallery_order_changed,this),this.displayed_gallery.on("change.order_direction",this.displayed_gallery_order_dir_changed,this)},populate_sorting_fields:function(){var e=this.sources.selected().pop().get("returns");-1!==_.indexOf(e,"image")?this.fill_image_sortorder_options():this.fill_gallery_sortorder_options()},create_sortorder_option:function(e,i){return new t.DisplayTab.Models.SortOrder({name:e,title:i,value:e,selected:this.displayed_gallery.get("order_by")==e})},fill_image_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option(t.DisplayTab.instance.image_key,"Image ID")),this.sortorder_options.push(this.create_sortorder_option("filename","Filename")),this.sortorder_options.push(this.create_sortorder_option("alttext","Alt/Title Text")),this.sortorder_options.push(this.create_sortorder_option("imagedate","Date/Time"))},fill_gallery_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option("name","Name")),this.sortorder_options.push(this.create_sortorder_option("galdesc","Description"))},displayed_gallery_order_changed:function(e){this.sortorder_options.findWhere({value:e.get("order_by")}).set("selected",!0)},displayed_gallery_order_dir_changed:function(e){this.sortdirection_options.findWhere({value:e.get("order_direction")}).set("selected",!0)},sortoption_changed:function(t){this.sortorder_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("sortorder",[]);var i=t.get("value");0==t.get("value").length&&(i="sortorder"),this.displayed_gallery.set("order_by",i),this.entities.reset(),this.$el.find("a.sortorder").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},sortdirection_changed:function(t){this.sortdirection_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("order_direction",t.get("value")),this.entities.reset(),this.$el.find("a.sortdirection").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},render:function(){return this.$el.empty(),this.populate_sorting_fields(),this.$el.append('<span style="margin-right: 8px;">Sort By:</span>'),this.sortorder_options.each(function(e,t){var i=new this.Button({model:e,className:"sortorder"});this.$el.append(i.render().el),this.sortorder_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this.$el.append('<span style="margin: 0 8px 0 40px;">Order By:</span>'),this.sortdirection_options.each(function(e,t){var i=new this.Button({model:e,className:"sortdirection"});this.$el.append(i.render().el),this.sortdirection_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this},Button:Backbone.View.extend({tagName:"a",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},events:{click:"clicked"},clicked:function(e){e.preventDefault(),this.model.set("selected",!0)},render:function(){return this.$el.prop({value:this.model.get("value"),href:"#"}),this.$el.text(this.model.get("title")),this.model.get("selected")&&this.$el.addClass("selected"),this}})}),EntityElement:Backbone.View.extend({tagName:"li",events:{drop:"item_dropped"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.initTime=(new Date).getTime(),this.model.on("change",this.render,this),0==this.model.get("sortorder")&&this.model.set("sortorder",-1,{silent:!0}),this.id=this.model.get("id_field")+"_"+this.model.entity_id()},item_dropped:function(e,i){t.DisplayTab.instance.displayed_gallery.set("order_by","sortorder"),this.model.set("sortorder",i)},render:function(){this.$el.empty();var t=e("<div/>").addClass("preview_item"),i=e("<div/>").addClass("image_container"),s=this.model.alttext().replace(/\\&/g,"&").replace(/\\'/g,"'"),l=this.initTime;i.attr({title:s,style:"background-image: url('"+this.model.get("thumb_url")+"?timestamp"+l+"')"}),this.$el.append(t).addClass("ui-state-default"),t.append(i);var n=e("<div/>").addClass("exclude_container"),a=e("<label/>");a.append(igw_data.i18n.exclude_question);var r=new this.ExcludeCheckbox({model:this.model});return a.append(r.render().el),n.append(a),t.append(n),this},ExcludeCheckbox:Backbone.View.extend({tagName:"input",events:{change:"entity_excluded"},type_set:!1,entity_excluded:function(e){this.model.set("exclude",e.target.checked)},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change:exclude",this.render,this)},render:function(){return this.type_set||(this.$el.attr("type","checkbox"),this.type_set=!0),this.model.is_excluded()?this.$el.prop("checked",!0):this.$el.prop("checked",!1),this}})})}),t.DisplayTab.Views.GalleriesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.galleries=t.DisplayTab.instance.galleries},render:function(){var i=new t.Views.Chosen({collection:this.galleries,placeholder:igw_data.i18n.select_gallery,multiple:!0,width:500}),s=e('<tr><td class="galleries_column"></td><td><label>'+igw_data.i18n.galleries+"</label></td></tr>");return this.$el.empty(),this.$el.append(s),this.$el.find(".galleries_column").append(i.render().el),this}}),t.DisplayTab.Views.AlbumsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.albums=t.DisplayTab.instance.albums},render:function(){var e=new t.Views.Chosen({collection:this.albums,multiple:!0,placeholder:"Select an album",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="albums_column"></td><td><label>'+igw_data.i18n.albums+"</label></td></tr>"),this.$el.find(".albums_column").append(e.render().el),this}}),t.DisplayTab.Views.TagsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.tags=t.DisplayTab.instance.tags},render:function(){var e=new t.Views.Chosen({collection:this.tags,multiple:!0,placeholder:"Select a tag",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="tags_column"></td><td><label>Tags</label></td></tr>'),this.$el.find(".tags_column").append(e.render().el),this}}),t.DisplayTab.Views.Recent_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="recent_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".recent_images_column").append(i),this}}),t.DisplayTab.Views.Random_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="random_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".random_images_column").append(i),this}}),t.DisplayTab.Views.SaveButton=Backbone.View.extend({el:"#save_displayed_gallery",errors_el:"#errors",displayed_gallery:null,events:{click:"clicked"},initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entities=t.DisplayTab.instance.entities,this.render()},clicked:function(){this.set_display_settings(),insert_into_editor(this.displayed_gallery.to_shortcode(),this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref),close_attach_to_post_window()},set_display_settings:function(){var t=this.displayed_gallery.get("display_type");if(t){var i=e("form[rel='"+t+"']"),s=i.data("defaults"),l=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var l=t.name.split("["),n=i,a=0;a<l.length;a++){var r=l[a].replace(/\]$/,"");if(s[r]==t.value)return!0;n[r]||(a==l.length-1?n[r]=t.value:n[r]={}),n=n[r]}}),i}(i);this.displayed_gallery.set("display_settings",l[t])}},render:function(){return this.$el.css("z-index",1e3),this}}),t.DisplayTab.App=Backbone.View.extend({initialize:function(){if(this.displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.original_displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.galleries=new t.DisplayTab.Models.Gallery_Collection(igw_data.galleries),this.albums=new t.DisplayTab.Models.Album_Collection(igw_data.albums),this.tags=new t.DisplayTab.Models.Tag_Collection(igw_data.tags),this.sources=new t.DisplayTab.Models.Source_Collection(igw_data.sources),this.display_types=new t.DisplayTab.Models.Display_Type_Collection(igw_data.display_types),this.display_type_order_base=igw_data.display_type_priority_base,this.display_type_order_step=igw_data.display_type_priority_step,this.entities=new t.DisplayTab.Models.Entity_Collection,this.entities.extra_data.displayed_gallery=this.displayed_gallery,this.image_key=igw_data.image_primary_key,this.displayed_gallery.get("source")){if(this.displayed_gallery.get("source")){var e=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));e&&e.set("selected",!0)}if(this.displayed_gallery.get("container_ids")&&_.each(this.displayed_gallery.get("container_ids"),function(e){var t=this[this.displayed_gallery.get("source")].find(function(t){return t.id==e},this);t&&t.set("selected",!0)},this),this.displayed_gallery.get("display_type")){var i=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));i&&(i.set("selected",!0),this.displayed_gallery.set("display_type",i.get("name")))}}if(collections=["galleries","albums","tags"],_.each(collections,function(e){this[e].on("selected",function(){this.update_selected_containers(e)},this)},this),this.display_types.on("change:selected",function(){this.displayed_gallery.set("display_type",this.display_types.selected_value())},this),this.sources.on("selected",function(){this.displayed_gallery.set("source",this.sources.selected_value()),this.sources.selected_value()!=this.original_displayed_gallery.get("source")?this.displayed_gallery.set("exclusions",this.entities.excluded_ids()):this.displayed_gallery.set("exclusions",this.original_displayed_gallery.get("exclusions")),"random_images"!=this.sources.selected_value()&&"recent_images"!=this.sources.selected_value()||this.displayed_gallery.set("maximum_entity_count",20),this.galleries.deselect_all(),this.albums.deselect_all(),this.tags.deselect_all();var e=this.display_types.selected(),t=this.sources.selected();e.length>0&&t.length>0&&(e=e[0],t=t[0],e.is_compatible_with_source(t)||this.display_types.deselect_all(),this.display_type_selector&&this.display_type_selector.render()),this.preview_area&&this.preview_area.render()},this),this.entities.on("change:exclude finished_fetching",function(){this.displayed_gallery.set("exclusions",this.entities.excluded_ids())},this),!this.displayed_gallery.get("source")){var s=this.sources.find_by_name_or_alias("galleries");s&&(s.set("selected",!0),this.sources.trigger("selected"))}if(window.Frame_Event_Publisher){var l=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){l.galleries.reset(),l.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){l.galleries.reset(),l.galleries.fetch();var t=l.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&l.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){l.albums.reset(),l.albums.fetch();var t=l.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&l.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){l.tags.reset(),l.tags.fetch();var t=l.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&l.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=l.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var s=l.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);s&&s.set("thumb_url",e.image.thumb_url)}else{var n=l.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);n&&n.trigger("change")}})}},update_selected_containers:function(e){this.displayed_gallery.set("container_ids",this[e].selected_ids())},render:function(){this.display_type_selector=new t.DisplayTab.Views.Display_Type_Selector,new t.DisplayTab.Views.Source_Config,new t.DisplayTab.Views.Slug_Config,this.preview_area=new t.DisplayTab.Views.Preview_Area,new t.DisplayTab.Views.SaveButton}}),t.DisplayTab.instance=new t.DisplayTab.App,t.DisplayTab.instance.render(),window.Ngg=t,e("span.tooltip, label.tooltip").tooltip()});
1
+ jQuery(function(e){var t={Models:{},Views:{}};t.Models.SelectableItems=Backbone.Collection.extend({selected:function(){return this.filter(function(e){return 1==e.get("selected")})},deselect_all:function(){this.each(function(e){e.set("selected",!1)})},selected_ids:function(){return _.pluck(this.selected(),"id")},select:function(e){_.isArray(e)||(e=[e]),this.each(function(t){_.indexOf(e,t.id)>=0&&t.set("selected",!0)}),this.trigger("selected")}}),t.Views.SelectTag=Backbone.View.extend({tagName:"select",collection:null,multiple:!1,value_field:"id",text_field:"title",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.collection.on("add",this.render_new_option,this),this.collection.on("remove",this.remove_existing_option,this),this.collection.on("reset",this.empty_list,this)},events:{change:"selection_changed"},empty_list:function(){this.$el.empty()},render_new_option:function(e){this.$el.append(new this.Option({model:e,value_field:this.value_field,text_field:this.text_field}).render().el)},remove_existing_option:function(e){this.$el.find("option[value='"+e.id+"']").remove()},selection_changed:function(){var t=_.map(this.$el.find(":selected"),function(t){return e(t).val()});this.collection.each(function(e){_.indexOf(t,e.id)>=0||_.indexOf(t,e.id.toString())>=0?e.set("selected",!0):e.set("selected",!1)}),this.collection.trigger("selected")},render:function(){return this.$el.empty(),this.multiple&&(this.$el.prop("multiple",!0),this.$el.attr("multiple","multiple")),this.collection.each(function(e){var t=new this.Option({model:e,value_field:this.value_field,text_field:this.text_field});this.$el.append(t.render().el)},this),this.width&&this.$el.width(this.width),this},Option:Backbone.View.extend({tagName:"option",model:null,initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change",this.render,this)},render:function(){var e=this;return this.$el.html(this.model.get(this.text_field).replace(/\\&/g,"&").replace(/\\'/g,"'")),this.$el.prop({value:"id"==this.value_field?this.model.id:this.model.get(this.value_field)}),1==e.model.get("selected")&&this.$el.prop("selected",!0).attr("selected","selected"),this}})}),t.Views.Chosen=Backbone.View.extend({tagName:"span",initialize:function(e){this.options=e||{},this.collection=this.options.collection,this.select_tag=new t.Views.SelectTag(this.options),this.collection.on("change",this.selection_changed,this)},selection_changed:function(e){_.isUndefined(e.changed.selected)&&this.render()},render:function(){return this.$el.append(this.select_tag.render().$el),this.options.width&&this.select_tag.$el.width(this.options.width),this.select2_opts={placeholder:this.options.placeholder},this.select_tag.$el.select2(this.select2_opts),this}}),t.DisplayTab={Models:{},Views:{},App:{}},t.Models.Remote_Collection=t.Models.SelectableItems.extend({fetch_limit:5e3,in_progress:!1,fetch_url:photocrati_ajax.url,action:"",extra_data:{},_create_request:function(e,t){var i=_.extend({},igw_data.sec_token,{action:this.action,limit:e||this.fetch_limit,offset:t||0});for(var s in this.extra_data){var l=this.extra_data[s];void 0===i[s]&&(i[s]={}),void 0!==l.toJSON&&(l=l.toJSON()),i[s]=_.extend(i[s],l)}return i},_add_item:function(e){this.push(e)},fetch:function(t,i){var s=this;this.in_progress=!0,e.post(this.fetch_url,this._create_request(t,i),function(e){"undefined"!=typeof _&&(_.isObject(e)||(e=JSON.parse(e)),e.items&&(_.each(e.items,function(e){s._add_item(e)}),e.total>=e.limit+e.offset?s.fetch(e.limit,e.offset+e.limit):(s.in_progress=!1,s.trigger("finished_fetching"))))})}}),t.DisplayTab.Models.Displayed_Gallery=Backbone.Model.extend({defaults:{source:null,container_ids:[],entity_ids:[],display_type:null,display_settings:{},exclusions:[],sortorder:[],slug:null},to_shortcode:function(){retval=null;var e=function(e,t){var i=e[t];if(void 0!==igw_data.shortcode_defaults[t]&&igw_data.shortcode_defaults[t]==i&&(i=null),_.isArray(i)&&(i=i.length>0?i.join(","):null),i)return i=i.toString().replace("[","&#91;"),i=i.toString().replace("]","&#93;"),void 0!==igw_data.shortcode_attr_replacements[t]&&(t=igw_data.shortcode_attr_replacements[t]),t+'="'+i+'"'},i=t.DisplayTab.instance.display_types.find_by_name_or_alias(this.get("display_type")),s=this.toJSON();s.display_type=i.get_shortcode_value();var l="[ngg",n=null;(n=e(s,"source"))&&(l+=" "+n),(n=e(s,"container_ids"))&&(l+=" "+n),(n=e(s,"entity_ids"))&&(l+=" "+n),(n=e(s,"exclusions"))&&(l+=" "+n),(n=e(s,"sortorder"))&&(l+=" "+n);for(var a in s){if(!(["source","container_ids","entity_ids","exclusions","sortorder","__defaults_set","id_field","post_category","ID"].indexOf(a)>-1))if("display_settings"==a)for(var r in s[a])(n=e(s[a],r))&&(l+=" "+n);else(n=e(s,a))&&(l+=" "+n)}return l+="]"}}),t.DisplayTab.Models.Source=Backbone.Model.extend({idAttribute:"name",defaults:{title:"",name:"",selected:!1}}),t.DisplayTab.Models.Source_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Source,selected_value:function(){var e=null,t=this.selected();return t.length>0&&(e=t[0].get("name")),e},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Gallery=Backbone.Model.extend({idAttribute:igw_data.gallery_primary_key,defaults:{title:"",name:""}}),t.DisplayTab.Models.Gallery_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Gallery,action:"get_existing_galleries"}),t.DisplayTab.Models.Album=Backbone.Model.extend({defaults:{title:"",name:""}}),t.DisplayTab.Models.Album_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Album,action:"get_existing_albums"}),t.DisplayTab.Models.Tag=Backbone.Model.extend({defaults:{title:""}}),t.DisplayTab.Models.Tag_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Tag,action:"get_existing_image_tags"}),t.DisplayTab.Models.Display_Type=Backbone.Model.extend({idAttribute:"name",defaults:{title:""},is_compatible_with_source:function(e){var t=!0;for(index in e.get("returns")){var i=e.get("returns")[index];if(_.indexOf(this.get("entity_types"),i)<0){t=!1;break}}return t},get_shortcode_value:function(){var e=this.id,t=this.get("aliases");return _.isArray(t)&&t.length>0&&(e=t[0]),e}}),t.DisplayTab.Models.Display_Type_Collection=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.Display_Type,selected_value:function(){var e=this.selected();return e.length>0?e[0].get("name"):null},find_by_name_or_alias:function(e){return this.find(function(t){return t.get("name")==e||_.isArray(t.get("aliases"))&&t.get("aliases").indexOf(e)>-1})}}),t.DisplayTab.Models.Entity=Backbone.Model.extend({entity_id:function(){return this.get(this.get("id_field"))},is_excluded:function(){return current_value=this.get("exclude"),!_.isUndefined(current_value)&&(_.isBoolean(current_value)?current_value:0!=parseInt(current_value))},is_included:function(){return!this.is_excluded()},is_gallery:function(){return retval=!1,1==this.get("is_gallery")&&(retval=!0),retval},is_album:function(){return retval=!1,1==this.get("is_album")&&(retval=!0),retval},is_image:function(){return!this.is_album()&&!this.is_gallery()},alttext:function(){return this.is_image()?this.get("alttext"):this.is_gallery()?this.get("title"):this.is_album()?this.get("name"):void 0}}),t.DisplayTab.Models.Entity_Collection=t.Models.Remote_Collection.extend({model:t.DisplayTab.Models.Entity,action:"get_displayed_gallery_entities",_add_item:function(e){e.exclude=1==parseInt(e.exclude),e.is_gallery=1==parseInt(e.is_gallery),e.is_album=1==parseInt(e.is_album),this.push(e)},entity_ids:function(){return this.map(function(e){return e.entity_id()})},included_ids:function(){return _.compact(this.map(function(e){if(e.is_included())return e.entity_id()}))},excluded_ids:function(){return _.compact(this.map(function(e){if(!e.is_included())return e.entity_id()}))}}),t.DisplayTab.Models.SortOrder=Backbone.Model.extend({}),t.DisplayTab.Models.SortOrder_Options=t.Models.SelectableItems.extend({model:t.DisplayTab.Models.SortOrder}),t.DisplayTab.Models.SortDirection=Backbone.Model.extend({}),t.DisplayTab.Models.SortDirection_Options=Backbone.Collection.extend({model:t.DisplayTab.Models.SortDirection}),t.DisplayTab.Models.Slug=Backbone.Model.extend({}),t.DisplayTab.Views.Source_Config=Backbone.View.extend({el:"#source_configuration",selected_view:null,initialize:function(){this.sources=t.DisplayTab.instance.sources,this.sources.on("selected",this.render,this),_.bindAll(this,"render"),this.render()},render:function(){var e=new t.Views.Chosen({id:"source_select",collection:this.sources,placeholder:"Select a source",width:500}),i=_.template('<tr><td id="source_column"></td><td><label><%- sources %></label></td></tr>');this.$el.html(i(igw_data.i18n)),this.$el.find("#source_column").append(e.render().el);var s=this.sources.selected();if(s.length){var l=_.str.capitalize(s.pop().id)+"Source";if(void 0!==t.DisplayTab.Views[l]){var n=new t.DisplayTab.Views[l];this.$el.append(n.render().el)}}return this}}),t.DisplayTab.Views.Slug_Config=Backbone.View.extend({el:"#slug_configuration",selected_view:null,initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.slug=t.DisplayTab.instance.displayed_gallery.get("slug"),this.render()},render:function(){var t=this,i=e("<input>").prop({type:"text",name:"slug",value:this.slug,placeholder:igw_data.i18n.optional,id:"field_slug"});i.on("input",function(){e(this).val(e(this).val().replace(/\s|\?|\\|\/|&|=|\[|]|#/gm,"-")),t.displayed_gallery.set("slug",e(this).val())}),i.on("change",function(){e(this).val(e(this).val().replace(/^-*/gm,"").replace(/-*$/gm,"")),t.displayed_gallery.set("slug",e(this).val())});var s=_.template('<tr><td id="slug_label"><label for="field_slug" class="tooltip" title="<%- slug_tooltip %><"><<%- slug_label %></label></td><td id="slug_column"></td></tr>');return this.$el.append(s(igw_data.i18n)),this.$el.find("#slug_column").append(i),this}}),t.DisplayTab.Views.Display_Type_Selector=Backbone.View.extend({el:"#display_type_selector",initialize:function(){this.display_types=t.DisplayTab.instance.display_types,this.display_type_order_base=t.DisplayTab.instance.display_type_order_base,this.display_type_order_step=t.DisplayTab.instance.display_type_order_step,this.sources=t.DisplayTab.instance.sources,this.render()},selection_changed:function(t){var i=null;this.display_types.each(function(e){e.get("name")==t?(i=e,e.set("selected",!0)):e.set("selected",!1)}),e(".display_settings_form").each(function(){$this=e(this),$this.attr("rel")==t?$this.removeClass("hidden"):$this.addClass("hidden")})},render:function(){var t=this.sources.selected(),i=0;t=t.length>0&&t[0],this.$el.empty();var s=this.display_type_order_base,l=this.display_type_order_step;return this.display_types.each(function(n){if(t&&!n.is_compatible_with_source(t)){var a=e("#display_type_tab_content:visible");if(0==a.length)return;if("hidden"==a.css("visibility"))return}var r=new this.DisplayType;r.model=n,r.on("selected",this.selection_changed,this),this.display_types.selected_value()||(n.set("selected",!0),this.selection_changed(n.id));var o=n.get("view_order");o||(o=s);var d=Math.floor(o/l);i=d,this.$el.append(r.render().el)},this),this.$el.append('<li class="clear" style="height: 10px; list-style-type:none" />'),this},DisplayType:Backbone.View.extend({className:"display_type_preview",events:{click:"clicked"},clicked:function(e){this.trigger("selected",this.model.get("name"))},render:function(){var t=e('<label style="display: block; cursor: pointer;"/>').addClass("image_container"),i=this.model.get("installed_at_version"),s=photocrati_ajax.wp_plugins_url,l=this.model.get("preview_image_relpath");void 0===i&&(s=photocrati_ajax.wp_site_url,s=s.replace(/(.*)\/index\.php$/i,"$1"),0==l.indexOf("/nextgen-gallery")&&(s=photocrati_ajax.wp_plugins_url));var n=e("<img/>").attr({src:s+"/"+l,title:this.model.get("title"),alt:this.model.get("alt")}),a=e("<div/>"),r=e("<input/>").prop({type:"radio",value:this.model.get("name"),title:this.model.get("title"),name:"display_type",checked:this.model.get("selected")}),o=e("<br>");return t.append(a),t.append(n),t.append("<br>"),t.append(this.model.get("title").replace(/nextgen /gi,"")),a.append(r),a.append(o),this.$el.append(t),this}})}),t.DisplayTab.Views.Preview_Area=Backbone.View.extend({el:"#preview_area",initialize:function(){this.entities=t.DisplayTab.instance.entities,this.sources=t.DisplayTab.instance.sources,this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entity_list=e("<ul/>").attr("id","entity_list").append('<li class="clear"/>'),this.entities.on("add",this.render_entity,this),this.entities.on("remove",this.remove_entity,this),this.entities.on("reset",this.entities_reset,this),this.entities.on("change:sortorder",function(e){this.entities.remove(e,{silent:!0}),this.entities.add(e,{at:e.changed.sortorder,silent:!0}),this.displayed_gallery.set("sortorder",this.entities.entity_ids()),"undefined"!=typeof console&&void 0!==console.log&&console.log(this.entities.entity_ids()),this.displayed_gallery.set("order_by","sortorder")},this),this.sources.on("selected",this.render,this),this.render()},events:{opened:"entities_reset"},entities_reset:function(e){this.entities.reset(null,{silent:!0}),this.entity_list.empty().append('<li class="clear"/>'),this.entities.in_progress||this.entities.fetch()},render_entity:function(e){var t=new this.EntityElement({model:e});this.entity_list.find(".clear").before(t.render().$el),t.$el.css("visibility","hidden"),setTimeout(function(){t.$el.css("visibility","visible")},0),1==this.$el.find(".no_entities").length?this.render():this.entities.length>1&&this.entity_list.sortable("refresh")},remove_entity:function(e){var t=this.id=e.get("id_field")+"_"+e.entity_id();this.entity_list.find("#"+t).remove();this.entity_list.sortable("refresh"),0==this.entities.length&&this.render_no_images_notice()},render_no_images_notice:function(){this.$el.empty(),this.$el.append("<p class='no_entities'>"+igw_data.i18n.no_entities+"</p>")},render:function(){return this.$el.empty(),this.entities.length>0&&this.displayed_gallery.get("container_ids").length>0?(this.$el.append(new this.RefreshButton({entities:this.entities}).render().el),this.$el.append(new this.SortButtons({entities:this.entities,displayed_gallery:this.displayed_gallery,sources:this.sources}).render().el),this.$el.append(new this.ExcludeButtons({entities:this.entities}).render().el),this.$el.append(this.entity_list),this.entity_list.sortable({placeholder:"placeholder",forcePlaceholderSize:!0,containment:"parent",opacity:.7,revert:!0,dropOnEmpty:!0,start:function(e,t){return t.placeholder.css({height:t.item.height()}),!0},stop:function(e,t){t.item.trigger("drop",t.item.index())}}),this.entity_list.disableSelection()):this.render_no_images_notice(),this},RefreshButton:Backbone.View.extend({className:"refresh_button button-primary",tagName:"input",label:"Refresh",events:{click:"clicked"},clicked:function(){this.entities.reset()},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){return this.$el.attr({value:this.label,type:"button"}),this}}),ExcludeButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},render:function(){this.$el.empty(),this.$el.append('<span style="margin-right: 8px;">Exclude:</span>');var e=new this.Button({value:!0,text:"All",entities:this.entities});this.$el.append(e.render().el),this.$el.append('<span class="separator">|</span>');var t=new this.Button({value:!1,text:"None",entities:this.entities});return this.$el.append(t.render().el),this},Button:Backbone.View.extend({tagName:"a",value:1,text:"",events:{click:"clicked"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},clicked:function(e){e.preventDefault(),this.entities.each(function(e){e.set("exclude",this.value)},this)},render:function(){return this.$el.text(this.text).attr("href","#"),this}})}),SortButtons:Backbone.View.extend({className:"header_row",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.sortorder_options=new t.DisplayTab.Models.SortOrder_Options,this.sortorder_options.on("change:selected",this.sortoption_changed,this),this.sortdirection_options=new t.DisplayTab.Models.SortDirection_Options([{value:"ASC",title:"Ascending",selected:"ASC"==this.displayed_gallery.get("order_direction")},{value:"DESC",title:"Descending",selected:"DESC"==this.displayed_gallery.get("order_direction")}]),this.sortdirection_options.on("change:selected",this.sortdirection_changed,this),this.displayed_gallery.on("change:order_by",this.displayed_gallery_order_changed,this),this.displayed_gallery.on("change.order_direction",this.displayed_gallery_order_dir_changed,this)},populate_sorting_fields:function(){var e=this.sources.selected().pop().get("returns");-1!==_.indexOf(e,"image")?this.fill_image_sortorder_options():this.fill_gallery_sortorder_options()},create_sortorder_option:function(e,i){return new t.DisplayTab.Models.SortOrder({name:e,title:i,value:e,selected:this.displayed_gallery.get("order_by")==e})},fill_image_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option(t.DisplayTab.instance.image_key,"Image ID")),this.sortorder_options.push(this.create_sortorder_option("filename","Filename")),this.sortorder_options.push(this.create_sortorder_option("alttext","Alt/Title Text")),this.sortorder_options.push(this.create_sortorder_option("imagedate","Date/Time"))},fill_gallery_sortorder_options:function(){this.sortorder_options.reset(),this.sortorder_options.push(this.create_sortorder_option("","None")),this.sortorder_options.push(this.create_sortorder_option("sortorder","Custom")),this.sortorder_options.push(this.create_sortorder_option("name","Name")),this.sortorder_options.push(this.create_sortorder_option("galdesc","Description"))},displayed_gallery_order_changed:function(e){this.sortorder_options.findWhere({value:e.get("order_by")}).set("selected",!0)},displayed_gallery_order_dir_changed:function(e){this.sortdirection_options.findWhere({value:e.get("order_direction")}).set("selected",!0)},sortoption_changed:function(t){this.sortorder_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("sortorder",[]);var i=t.get("value");0==t.get("value").length&&(i="sortorder"),this.displayed_gallery.set("order_by",i),this.entities.reset(),this.$el.find("a.sortorder").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},sortdirection_changed:function(t){this.sortdirection_options.each(function(e){e.set("selected",t.get("value")==e.get("value"),{silent:!0})}),this.displayed_gallery.set("order_direction",t.get("value")),this.entities.reset(),this.$el.find("a.sortdirection").each(function(){var i=e(this);i.attr("value")==t.get("value")?i.addClass("selected"):i.removeClass("selected")})},render:function(){return this.$el.empty(),this.populate_sorting_fields(),this.$el.append('<span style="margin-right: 8px;">Sort By:</span>'),this.sortorder_options.each(function(e,t){var i=new this.Button({model:e,className:"sortorder"});this.$el.append(i.render().el),this.sortorder_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this.$el.append('<span style="margin: 0 8px 0 40px;">Order By:</span>'),this.sortdirection_options.each(function(e,t){var i=new this.Button({model:e,className:"sortdirection"});this.$el.append(i.render().el),this.sortdirection_options.length-1>t&&this.$el.append('<span class="separator">|</span>')},this),this},Button:Backbone.View.extend({tagName:"a",initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this)},events:{click:"clicked"},clicked:function(e){e.preventDefault(),this.model.set("selected",!0)},render:function(){return this.$el.prop({value:this.model.get("value"),href:"#"}),this.$el.text(this.model.get("title")),this.model.get("selected")&&this.$el.addClass("selected"),this}})}),EntityElement:Backbone.View.extend({tagName:"li",events:{drop:"item_dropped"},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.initTime=(new Date).getTime(),this.model.on("change",this.render,this),0==this.model.get("sortorder")&&this.model.set("sortorder",-1,{silent:!0}),this.id=this.model.get("id_field")+"_"+this.model.entity_id()},item_dropped:function(e,i){t.DisplayTab.instance.displayed_gallery.set("order_by","sortorder"),this.model.set("sortorder",i)},render:function(){this.$el.empty();var t=e("<div/>").addClass("preview_item"),i=e("<div/>").addClass("image_container"),s=this.model.alttext().replace(/\\&/g,"&").replace(/\\'/g,"'"),l=this.initTime;i.attr({title:s,style:"background-image: url('"+this.model.get("thumb_url")+"?timestamp"+l+"')"}),this.$el.append(t).addClass("ui-state-default"),t.append(i);var n=e("<div/>").addClass("exclude_container"),a=e("<label/>");a.append(igw_data.i18n.exclude_question);var r=new this.ExcludeCheckbox({model:this.model});return a.append(r.render().el),n.append(a),t.append(n),this},ExcludeCheckbox:Backbone.View.extend({tagName:"input",events:{change:"entity_excluded"},type_set:!1,entity_excluded:function(e){this.model.set("exclude",e.target.checked)},initialize:function(e){this.options=e||{},_.each(this.options,function(e,t){this[t]=e},this),this.model.on("change:exclude",this.render,this)},render:function(){return this.type_set||(this.$el.attr("type","checkbox"),this.type_set=!0),this.model.is_excluded()?this.$el.prop("checked",!0):this.$el.prop("checked",!1),this}})})}),t.DisplayTab.Views.GalleriesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.galleries=t.DisplayTab.instance.galleries},render:function(){var i=new t.Views.Chosen({collection:this.galleries,placeholder:igw_data.i18n.select_gallery,multiple:!0,width:500}),s=e('<tr><td class="galleries_column"></td><td><label>'+igw_data.i18n.galleries+"</label></td></tr>");return this.$el.empty(),this.$el.append(s),this.$el.find(".galleries_column").append(i.render().el),this}}),t.DisplayTab.Views.AlbumsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.albums=t.DisplayTab.instance.albums},render:function(){var e=new t.Views.Chosen({collection:this.albums,multiple:!0,placeholder:"Select an album",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="albums_column"></td><td><label>'+igw_data.i18n.albums+"</label></td></tr>"),this.$el.find(".albums_column").append(e.render().el),this}}),t.DisplayTab.Views.TagsSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.tags=t.DisplayTab.instance.tags},render:function(){var e=new t.Views.Chosen({collection:this.tags,multiple:!0,placeholder:"Select a tag",text_field:"name",width:500});return this.$el.empty(),this.$el.append('<tr><td class="tags_column"></td><td><label>Tags</label></td></tr>'),this.$el.find(".tags_column").append(e.render().el),this}}),t.DisplayTab.Views.Recent_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="recent_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".recent_images_column").append(i),this}}),t.DisplayTab.Views.Random_imagesSource=Backbone.View.extend({tagName:"tbody",initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.maximum_entity_count=t.DisplayTab.instance.displayed_gallery.get("maximum_entity_count"),this.displayed_gallery.set("container_ids",[])},render:function(){var t=this,i=e("<input/>").prop({type:"text",value:this.maximum_entity_count,name:"maximum_entity_count"});return i.change(function(){t.displayed_gallery.set("maximum_entity_count",e(this).val())}),this.$el.empty(),this.$el.append('<tr><td class="random_images_column"></td><td><label># of Images To Display</label></td></tr>'),this.$el.find(".random_images_column").append(i),this}}),t.DisplayTab.Views.SaveButton=Backbone.View.extend({el:"#save_displayed_gallery",errors_el:"#errors",displayed_gallery:null,events:{click:"clicked"},initialize:function(){this.displayed_gallery=t.DisplayTab.instance.displayed_gallery,this.entities=t.DisplayTab.instance.entities,this.render()},clicked:function(){this.set_display_settings(),insert_into_editor(this.displayed_gallery.to_shortcode(),this.displayed_gallery.id?this.displayed_gallery.id:igw_data.shortcode_ref),close_attach_to_post_window()},set_display_settings:function(){var t=this.displayed_gallery.get("display_type");if(t){var i=e("form[rel='"+t+"']"),s=i.data("defaults"),l=function(t){var i={};return e.each(t.serializeArray(),function(e,t){for(var l=t.name.split("["),n=i,a=0;a<l.length;a++){var r=l[a].replace(/\]$/,"");if(s[r]==t.value)return!0;n[r]||(a==l.length-1?n[r]=t.value:n[r]={}),n=n[r]}}),i}(i);this.displayed_gallery.set("display_settings",l[t])}},render:function(){return this.$el.css("z-index",1e3),this}}),t.DisplayTab.App=Backbone.View.extend({initialize:function(){if(this.displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.original_displayed_gallery=new t.DisplayTab.Models.Displayed_Gallery(igw_data.displayed_gallery),this.galleries=new t.DisplayTab.Models.Gallery_Collection(igw_data.galleries),this.albums=new t.DisplayTab.Models.Album_Collection(igw_data.albums),this.tags=new t.DisplayTab.Models.Tag_Collection(igw_data.tags),this.sources=new t.DisplayTab.Models.Source_Collection(igw_data.sources),this.display_types=new t.DisplayTab.Models.Display_Type_Collection(igw_data.display_types),this.display_type_order_base=igw_data.display_type_priority_base,this.display_type_order_step=igw_data.display_type_priority_step,this.entities=new t.DisplayTab.Models.Entity_Collection,this.entities.extra_data.displayed_gallery=this.displayed_gallery,this.image_key=igw_data.image_primary_key,this.displayed_gallery.get("source")){if(this.displayed_gallery.get("source")){var i=this.sources.find_by_name_or_alias(this.displayed_gallery.get("source"));i&&i.set("selected",!0)}if(this.displayed_gallery.get("container_ids")&&_.each(this.displayed_gallery.get("container_ids"),function(e){var t=this[this.displayed_gallery.get("source")].find(function(t){return t.id==e},this);t&&t.set("selected",!0)},this),this.displayed_gallery.get("display_type")){var s=this.display_types.find_by_name_or_alias(this.displayed_gallery.get("display_type"));s&&(s.set("selected",!0),this.displayed_gallery.set("display_type",s.get("name")))}}if(collections=["galleries","albums","tags"],_.each(collections,function(e){this[e].on("selected",function(){this.update_selected_containers(e)},this)},this),this.display_types.on("change:selected",function(){this.displayed_gallery.set("display_type",this.display_types.selected_value())},this),this.sources.on("selected",function(){e("#save_displayed_gallery").prop("disabled",!0),setTimeout(function(){e("#save_displayed_gallery").prop("disabled",!1)},1e3),this.displayed_gallery.set("source",this.sources.selected_value()),this.sources.selected_value()!=this.original_displayed_gallery.get("source")?this.displayed_gallery.set("exclusions",this.entities.excluded_ids()):this.displayed_gallery.set("exclusions",this.original_displayed_gallery.get("exclusions")),"random_images"!=this.sources.selected_value()&&"recent_images"!=this.sources.selected_value()||this.displayed_gallery.set("maximum_entity_count",20),this.galleries.deselect_all(),this.albums.deselect_all(),this.tags.deselect_all();var t=this.display_types.selected(),i=this.sources.selected();t.length>0&&i.length>0&&(t=t[0],i=i[0],t.is_compatible_with_source(i)||this.display_types.deselect_all(),this.display_type_selector&&this.display_type_selector.render()),this.preview_area&&this.preview_area.render()},this),this.entities.on("change:exclude finished_fetching",function(){this.displayed_gallery.set("exclusions",this.entities.excluded_ids())},this),!this.displayed_gallery.get("source")){var l=this.sources.find_by_name_or_alias("galleries");l&&(l.set("selected",!0),this.sources.trigger("selected"))}if(window.Frame_Event_Publisher){var n=this;Frame_Event_Publisher.listen_for("attach_to_post:new_gallery",function(){n.galleries.reset(),n.galleries.fetch()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_galleries attach_to_post:manage_images",function(e){n.galleries.reset(),n.galleries.fetch();var t=n.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_album",function(e){n.albums.reset(),n.albums.fetch();var t=n.sources.selected().pop();t&&_.indexOf(t.get("returns"),"album")>=0&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:manage_tags attach_to_post:manage_images",function(e){n.tags.reset(),n.tags.fetch();var t=n.sources.selected().pop();t&&(_.indexOf(t.get("returns"),"image")>=0||_.indexOf(t.get("returns"),"gallery"))&&n.entities.reset()}),Frame_Event_Publisher.listen_for("attach_to_post:thumbnail_modified",function(e){var t=n.sources.selected().pop(),i=e.image[e.image.id_field];if(t)if(_.indexOf(t.get("returns"),"image")>=0){var s=n.entities.find(function(e){return parseInt(e.entity_id())==parseInt(i)},this);s&&s.set("thumb_url",e.image.thumb_url)}else{var l=n.entities.find(function(e){return parseInt(e.get("previewpic"))==i},this);l&&l.trigger("change")}})}},update_selected_containers:function(e){this.displayed_gallery.set("container_ids",this[e].selected_ids())},render:function(){this.display_type_selector=new t.DisplayTab.Views.Display_Type_Selector,new t.DisplayTab.Views.Source_Config,new t.DisplayTab.Views.Slug_Config,this.preview_area=new t.DisplayTab.Views.Preview_Area,new t.DisplayTab.Views.SaveButton}}),t.DisplayTab.instance=new t.DisplayTab.App,t.DisplayTab.instance.render(),window.Ngg=t,e("span.tooltip, label.tooltip").tooltip()});
products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.css CHANGED
@@ -25,24 +25,35 @@
25
  margin: 40px 0 8px 0;
26
  }
27
 
 
 
 
 
 
 
28
  .nggPlaceholderButton:hover {
29
- margin: 0;
30
  opacity: .8;
31
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
32
  color: #9fbb1a;
 
33
  }
34
 
35
  .nggPlaceholderButton {
36
- font-size: 15px;
37
- font-size: 1.5rem;
38
  margin: 0;
39
  opacity: 1.0;
40
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
41
  color: #bbb;
42
- padding: 4px 0px 0 12px;
43
  color: rgba(159, 187, 26, 0.7)
44
  }
45
 
 
 
 
 
 
 
 
46
  .nggPlaceholderButton.nggIgwRemove {
47
  border-left: 1px solid rgba(204, 204, 204, 0.4);
48
  }
25
  margin: 40px 0 8px 0;
26
  }
27
 
28
+ .nggPlaceholderButtonRow {
29
+ display: flex;
30
+ justify-content: center;
31
+ align-items: center;
32
+ }
33
+
34
  .nggPlaceholderButton:hover {
 
35
  opacity: .8;
36
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
37
  color: #9fbb1a;
38
+ cursor: pointer;
39
  }
40
 
41
  .nggPlaceholderButton {
 
 
42
  margin: 0;
43
  opacity: 1.0;
44
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
45
  color: #bbb;
46
+ padding: 0;
47
  color: rgba(159, 187, 26, 0.7)
48
  }
49
 
50
+ .nggPlaceholderButton i {
51
+ font-size: 1.25em;
52
+ line-height: 1.25em;
53
+ width: 1.25em;
54
+ height: 1.25em;
55
+ }
56
+
57
  .nggPlaceholderButton.nggIgwRemove {
58
  border-left: 1px solid rgba(204, 204, 204, 0.4);
59
  }
products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.js CHANGED
@@ -90,7 +90,9 @@
90
 
91
  // Edit button
92
  else {
93
- window.igw_shortcode= $(e.target).parents('.nggPlaceholder').data('shortcode');
 
 
94
  self.render_attach_to_post_interface({
95
  key: 'shortcode',
96
  val: Base64.encode(window.igw_shortcode),
90
 
91
  // Edit button
92
  else {
93
+ // Do not use jQuery's .data() here: it will use cached data
94
+ window.igw_shortcode = $(e.target).parents('.nggPlaceholder')[0].getAttribute('data-shortcode');
95
+
96
  self.render_attach_to_post_interface({
97
  key: 'shortcode',
98
  val: Base64.encode(window.igw_shortcode),
products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.css CHANGED
@@ -1 +1 @@
1
- .nggPlaceholder{background-color:#143650;box-sizing:border-box;border-bottom:5px solid #9fbb1a;border-radius:3px;box-shadow:0 0 4px 1px rgba(0,0,0,.05);color:#9fbb1a;font-family:sans-serif;font-size:20px;height:230px;margin:5px;outline:0!important;padding:30px 30px 50px 30px;text-align:center;width:400px;max-width:98%}.nggPlaceholder h3{color:#fff;font-family:Lato,sans-serif;font-size:16px;font-size:1.6rem;font-weight:600;margin:40px 0 8px 0}.nggPlaceholderButton:hover{margin:0;opacity:.8;color:#9fbb1a}.nggPlaceholderButton{font-size:15px;font-size:1.5rem;margin:0;opacity:1;color:#bbb;padding:4px 0 0 12px;color:rgba(159,187,26,.7)}.nggPlaceholderButton.nggIgwRemove{border-left:1px solid rgba(204,204,204,.4)}
1
+ .nggPlaceholder{background-color:#143650;box-sizing:border-box;border-bottom:5px solid #9fbb1a;border-radius:3px;box-shadow:0 0 4px 1px rgba(0,0,0,.05);color:#9fbb1a;font-family:sans-serif;font-size:20px;height:230px;margin:5px;outline:0!important;padding:30px 30px 50px 30px;text-align:center;width:400px;max-width:98%}.nggPlaceholder h3{color:#fff;font-family:Lato,sans-serif;font-size:16px;font-size:1.6rem;font-weight:600;margin:40px 0 8px 0}.nggPlaceholderButtonRow{display:flex;justify-content:center;align-items:center}.nggPlaceholderButton:hover{opacity:.8;color:#9fbb1a;cursor:pointer}.nggPlaceholderButton{margin:0;opacity:1;color:#bbb;padding:0;color:rgba(159,187,26,.7)}.nggPlaceholderButton i{font-size:1.25em;line-height:1.25em;width:1.25em;height:1.25em}.nggPlaceholderButton.nggIgwRemove{border-left:1px solid rgba(204,204,204,.4)}
products/photocrati_nextgen/modules/attach_to_post/static/ngg_attach_to_post_tinymce_plugin.min.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){window.id="wordpress-post-page",tinyMCE.addI18n("en.ngg_attach_to_post",{title:"Attach NextGEN Gallery to Post"}),tinymce.create("tinymce.plugins.NextGEN_AttachToPost",{siteurl:t,getInfo:function(){return{longname:"NextGEN Gallery",author:"Imagely",authorurl:"https://www.imagely.com",infourl:"https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/",version:"0.1"}},init:function(t,n){var o=this;t.windowManager.nggOldOpen=t.windowManager.open,t.windowManager.open=function(e,n){var a=t.windowManager.nggOldOpen(e,n);return a.on("close",o.wm_close_event),a},t.addCommand("ngg_attach_to_post",this.render_attach_to_post_interface,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),t.addButton("NextGEN_AttachToPost",{title:"ngg_attach_to_post.title",cmd:"ngg_attach_to_post",image:n+"/igw_button.png"}),t.on("mouseup touchend",function(n){if(tinymce.extend(o,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),"IMG"==n.target.tagName){if(o.get_class_name(n.target).indexOf("ngg_displayed_gallery")>=0){t.dom.events.cancel(n);var a=n.target.src.match(/\d+$/);a&&(a=a.pop()),o.render_attach_to_post_interface({key:"id",val:a})}}else{var r=e(n.target);r.parents(".nggPlaceholderButton")&&(r=r.parents(".nggPlaceholderButton")),r.hasClass("nggPlaceholderButton")&&(r.hasClass("nggIgwRemove")?r.parents(".nggPlaceholder").remove():(window.igw_shortcode=e(n.target).parents(".nggPlaceholder").data("shortcode"),o.render_attach_to_post_interface({key:"shortcode",val:Base64.encode(window.igw_shortcode),ref:e(n.target).parents(".nggPlaceholder").attr("id")})))}}),t.on("BeforeSetContent",function(t){function n(n){for(;t.content.indexOf(n)>=0;){for(var o=t.content.indexOf(n),a=o+n.length,r=!1,i=null,c=!1,l=t.content.length;;){var g=t.content[a];if('"'==g||"'"==g&&"="==c)r&&i==g?(r=!1,i=null):(r=!0,i=g);else if("]"==g&&!r)break;if(c=g,a==l)break;a++}var s=t.content.substring(o,++a),d=s.substring(1,s.length-1);d=d.replace("[","&#91;"),d=d.replace("]","&#93;");var h=_.template(e("#ngg-igw-placeholder").html());t.content=t.content.replace(s,h(e.extend(ngg_igw_i18n,{shortcode:d,ref:_.now()})))}}n("[ngg_images "),n("[ngg ")}),t.on("PostProcess",function(t){var n=e("<div/>").append(t.content);n.find(".nggPlaceholder").toArray().forEach(function(t){var n=e(t),o=n.data("shortcode");o="<p>["+_.unescape(o)+"]</p>",n.replaceWith(o)}),t.content=n.html()})},get_class_name:function(t){var e=t.getAttribute("class")?t.getAttribute("class"):t.className;return e||""},wm_close_event:function(t){t&&t.target&&t.target._id&&"ngg_attach_to_post_dialog"==t.target._id&&(e("html,body").css("overflow","auto"),tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select("p")[0]),tinyMCE.activeEditor.selection.collapse(0))},render_attach_to_post_interface:function(t){var n=nextgen_gallery_attach_to_post_url;void 0!==t&&(n+="&"+t.key+"="+encodeURIComponent(t.val),void 0!==t.ref&&(n+="&ref="+encodeURIComponent(t.ref)));for(var o=window;null!=o.parent&&o.parent!=o;)o=o.parent;o=e(o);var a=o.width(),r=o.height(),i=1600,c=1200,l=a-.05*a,g=r-.1*r;l<800&&(l=a-20),g<600&&(g=r-40),i>l&&(i=l),c>g&&(c=g),document.activeElement.blur(),Array.prototype.forEach.call(document.querySelectorAll("input, textarea"),function(t){t.blur()}),this.editor.windowManager.open({url:n,id:"ngg_attach_to_post_dialog",width:i,height:c,title:"NextGEN Gallery - Attach To Post"}),e("html,body").css("overflow","hidden"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-y","auto"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-x","hidden")}}),tinymce.PluginManager.add("NextGEN_AttachToPost",tinymce.plugins.NextGEN_AttachToPost)}(photocrati_ajax.wp_site_url,jQuery);
1
+ !function(t,e){window.id="wordpress-post-page",tinyMCE.addI18n("en.ngg_attach_to_post",{title:"Attach NextGEN Gallery to Post"}),tinymce.create("tinymce.plugins.NextGEN_AttachToPost",{siteurl:t,getInfo:function(){return{longname:"NextGEN Gallery",author:"Imagely",authorurl:"https://www.imagely.com",infourl:"https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/",version:"0.1"}},init:function(t,n){var o=this;t.windowManager.nggOldOpen=t.windowManager.open,t.windowManager.open=function(e,n){var a=t.windowManager.nggOldOpen(e,n);return a.on("close",o.wm_close_event),a},t.addCommand("ngg_attach_to_post",this.render_attach_to_post_interface,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),t.addButton("NextGEN_AttachToPost",{title:"ngg_attach_to_post.title",cmd:"ngg_attach_to_post",image:n+"/igw_button.png"}),t.on("mouseup touchend",function(n){if(tinymce.extend(o,{editor:t,plugin:t.plugins.NextGEN_AttachToPost}),"IMG"==n.target.tagName){if(o.get_class_name(n.target).indexOf("ngg_displayed_gallery")>=0){t.dom.events.cancel(n);var a=n.target.src.match(/\d+$/);a&&(a=a.pop()),o.render_attach_to_post_interface({key:"id",val:a})}}else{var r=e(n.target);r.parents(".nggPlaceholderButton")&&(r=r.parents(".nggPlaceholderButton")),r.hasClass("nggPlaceholderButton")&&(r.hasClass("nggIgwRemove")?r.parents(".nggPlaceholder").remove():(window.igw_shortcode=e(n.target).parents(".nggPlaceholder")[0].getAttribute("data-shortcode"),o.render_attach_to_post_interface({key:"shortcode",val:Base64.encode(window.igw_shortcode),ref:e(n.target).parents(".nggPlaceholder").attr("id")})))}}),t.on("BeforeSetContent",function(t){function n(n){for(;t.content.indexOf(n)>=0;){for(var o=t.content.indexOf(n),a=o+n.length,r=!1,i=null,c=!1,l=t.content.length;;){var g=t.content[a];if('"'==g||"'"==g&&"="==c)r&&i==g?(r=!1,i=null):(r=!0,i=g);else if("]"==g&&!r)break;if(c=g,a==l)break;a++}var s=t.content.substring(o,++a),d=s.substring(1,s.length-1);d=d.replace("[","&#91;"),d=d.replace("]","&#93;");var h=_.template(e("#ngg-igw-placeholder").html());t.content=t.content.replace(s,h(e.extend(ngg_igw_i18n,{shortcode:d,ref:_.now()})))}}n("[ngg_images "),n("[ngg ")}),t.on("PostProcess",function(t){var n=e("<div/>").append(t.content);n.find(".nggPlaceholder").toArray().forEach(function(t){var n=e(t),o=n.data("shortcode");o="<p>["+_.unescape(o)+"]</p>",n.replaceWith(o)}),t.content=n.html()})},get_class_name:function(t){var e=t.getAttribute("class")?t.getAttribute("class"):t.className;return e||""},wm_close_event:function(t){t&&t.target&&t.target._id&&"ngg_attach_to_post_dialog"==t.target._id&&(e("html,body").css("overflow","auto"),tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select("p")[0]),tinyMCE.activeEditor.selection.collapse(0))},render_attach_to_post_interface:function(t){var n=nextgen_gallery_attach_to_post_url;void 0!==t&&(n+="&"+t.key+"="+encodeURIComponent(t.val),void 0!==t.ref&&(n+="&ref="+encodeURIComponent(t.ref)));for(var o=window;null!=o.parent&&o.parent!=o;)o=o.parent;o=e(o);var a=o.width(),r=o.height(),i=1600,c=1200,l=a-.05*a,g=r-.1*r;l<800&&(l=a-20),g<600&&(g=r-40),i>l&&(i=l),c>g&&(c=g),document.activeElement.blur(),Array.prototype.forEach.call(document.querySelectorAll("input, textarea"),function(t){t.blur()}),this.editor.windowManager.open({url:n,id:"ngg_attach_to_post_dialog",width:i,height:c,title:"NextGEN Gallery - Attach To Post"}),e("html,body").css("overflow","hidden"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-y","auto"),e("#ngg_attach_to_post_dialog_ifr").css("overflow-x","hidden")}}),tinymce.PluginManager.add("NextGEN_AttachToPost",tinymce.plugins.NextGEN_AttachToPost)}(photocrati_ajax.wp_site_url,jQuery);
products/photocrati_nextgen/modules/attach_to_post/templates/tinymce_placeholder.php CHANGED
@@ -1,11 +1,18 @@
1
  <script type="text/underscore-template" id="ngg-igw-placeholder">
2
- <div class="mceItem mceNonEditable nggPlaceholder" id="<%- ref %>" data-shortcode="<%- shortcode %>" data-mce-resize="false" data-mce-placeholder="1" contenteditable="false">
 
 
 
 
 
3
  <h3><%- nextgen_gallery %></h3>
4
- <span title="<%- edit %>" class="nggPlaceholderButton nggIgwEdit">
5
- <i class="fa fa-pencil-square-o" aria-hidden="true"></i>&nbsp;
6
- </span>
7
- <span title="<%- remove %>" class="nggPlaceholderButton nggIgwRemove">
8
- <i class="fa fa-times-circle" aria-hidden="true"></i>&nbsp;
9
- </span>
 
 
10
  </div>
11
  </script>
1
  <script type="text/underscore-template" id="ngg-igw-placeholder">
2
+ <div class="mceItem mceNonEditable nggPlaceholder"
3
+ id="<%- ref %>"
4
+ data-shortcode="<%- shortcode %>"
5
+ data-mce-resize="false"
6
+ data-mce-placeholder="1"
7
+ contenteditable="false">
8
  <h3><%- nextgen_gallery %></h3>
9
+ <div class="nggPlaceholderButtonRow">
10
+ <span title="<%- edit %>" class="nggPlaceholderButton nggIgwEdit">
11
+ <i class="dashicons dashicons-edit"></i>&nbsp;
12
+ </span>
13
+ <span title="<%- remove %>" class="nggPlaceholderButton nggIgwRemove">
14
+ &nbsp;<i class="dashicons dashicons-trash"></i>
15
+ </span>
16
+ </div>
17
  </div>
18
  </script>
products/photocrati_nextgen/modules/cache/module.cache.php CHANGED
@@ -32,6 +32,9 @@ class M_Cache extends C_Base_Module
32
  $this->get_registry()->add_utility('I_Cache', 'C_Cache');
33
  }
34
 
 
 
 
35
  function get_type_list()
36
  {
37
  return array(
32
  $this->get_registry()->add_utility('I_Cache', 'C_Cache');
33
  }
34
 
35
+ /**
36
+ * @return array
37
+ */
38
  function get_type_list()
39
  {
40
  return array(
products/photocrati_nextgen/modules/cache/package.module.cache.php CHANGED
@@ -13,6 +13,10 @@ class C_Cache extends C_Component
13
  $this->add_mixin('Mixin_Cache');
14
  $this->implement('I_Cache');
15
  }
 
 
 
 
16
  public static function get_instance($context = False)
17
  {
18
  if (!isset(self::$_instances[$context])) {
13
  $this->add_mixin('Mixin_Cache');
14
  $this->implement('I_Cache');
15
  }
16
+ /**
17
+ * @param bool|string $context
18
+ * @return C_Cache
19
+ */
20
  public static function get_instance($context = False)
21
  {
22
  if (!isset(self::$_instances[$context])) {
products/photocrati_nextgen/modules/datamapper/module.datamapper.php CHANGED
@@ -177,8 +177,8 @@ class M_DataMapper extends C_Base_Module
177
 
178
  /**
179
  * Adds post_name to the where clause
180
- * @param type $where
181
- * @param type $wp_query
182
  */
183
  function add_post_name_where_clauses(&$where, &$wp_query)
184
  {
177
 
178
  /**
179
  * Adds post_name to the where clause
180
+ * @param string $where
181
+ * @param WP_Query $wp_query
182
  */
183
  function add_post_name_where_clauses(&$where, &$wp_query)
184
  {
products/photocrati_nextgen/modules/datamapper/package.module.datamapper.php CHANGED
@@ -40,7 +40,7 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
40
  /**
41
  * Used to select which fields should be returned. NOT currently used by
42
  * this implementation of the datamapper driver
43
- * @param type $fields
44
  * @return C_DataMapper_Driver_Base
45
  */
46
  function select($fields = '*')
@@ -50,8 +50,8 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
50
  }
51
  /**
52
  * Specifies an order clause
53
- * @param type $order_by
54
- * @param type $direction
55
  * @return C_DataMapper_Driver_Base
56
  */
57
  function order_by($order_by, $direction = 'ASC')
@@ -70,9 +70,9 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
70
  }
71
  /**
72
  * Specifies a limit and optional offset
73
- * @param integer $max
74
- * @param integer $offset
75
- * @return C_DataMapper_Driver_Base
76
  */
77
  function limit($max, $offset = FALSE)
78
  {
@@ -90,6 +90,7 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
90
  /**
91
  * Specifies a list of columns to group by
92
  * @param array|string $columns
 
93
  */
94
  function group_by($columns = array())
95
  {
@@ -217,8 +218,9 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
217
  }
218
  /**
219
  * Destroys/deletes an entity from the database
220
- * @param stdObject|C_DataMapper_Model $entity
221
- * @return type
 
222
  */
223
  function destroy($entity, $skip_trash = TRUE)
224
  {
@@ -276,8 +278,8 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
276
  }
277
  /**
278
  * Converts an entity to a post
279
- * @param type $entity
280
- * @return type
281
  */
282
  function _convert_entity_to_post($entity)
283
  {
@@ -359,7 +361,8 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
359
  }
360
  /**
361
  * Saves an entity to the database
362
- * @param stdObject $entity
 
363
  */
364
  function _save_entity($entity)
365
  {
@@ -393,7 +396,7 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
393
  }
394
  /**
395
  * Determines whether the current statement is DELETE
396
- * @return type
397
  */
398
  function is_delete_statement()
399
  {
@@ -411,7 +414,9 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
411
  }
412
  /**
413
  * Runs the query
414
- * @param string $sql optionally run the specified query
 
 
415
  * @return array
416
  */
417
  function run_query($sql = FALSE, $model = FALSE, $convert_to_entities = TRUE)
@@ -478,8 +483,9 @@ class Mixin_CustomPost_DataMapper_Driver extends Mixin
478
  }
479
  /**
480
  * Fetches the last row
481
- * @param array $conditions
482
- * @return C_DataMapper_Entity
 
483
  */
484
  function find_last($conditions = array(), $model = FALSE)
485
  {
@@ -613,7 +619,7 @@ class C_DataMapper_Driver_Base extends C_Component
613
  /**
614
  * Determines whether a column is present for the table
615
  * @param string $column_name
616
- * @return string
617
  */
618
  function has_column($column_name)
619
  {
@@ -684,9 +690,9 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
684
  }
685
  /**
686
  * Selects which fields to collect from the table.
687
- * NOTE: Not protected from SQL injection - DO NOT let your users
688
- * specify DB columns
689
  * @param string $fields
 
690
  */
691
  function select($fields = NULL)
692
  {
@@ -708,7 +714,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
708
  }
709
  /**
710
  * Determines if we're going to be executing a DELETE statement
711
- * @return type
712
  */
713
  function is_delete_statement()
714
  {
@@ -729,6 +735,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
729
  * This method may be used multiple of times to order by more than column
730
  * @param $order_by
731
  * @param $direction
 
732
  */
733
  function order_by($order_by, $direction = 'ASC')
734
  {
@@ -751,6 +758,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
751
  * Specifies a limit and optional offset
752
  * @param integer $max
753
  * @param integer $offset
 
754
  */
755
  function limit($max, $offset = 0)
756
  {
@@ -767,6 +775,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
767
  /**
768
  * Specifics a group by clause for one or more columns
769
  * @param array|string $columns
 
770
  */
771
  function group_by($columns = array())
772
  {
@@ -810,7 +819,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
810
  }
811
  /**
812
  * Returns the total number of entities known
813
- * @return type
814
  */
815
  function count()
816
  {
@@ -824,6 +833,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
824
  }
825
  /**
826
  * Returns the generated SQL query to be executed
 
827
  * @return string
828
  */
829
  function get_generated_query($no_entities = FALSE)
@@ -857,8 +867,10 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
857
  }
858
  /**
859
  * Run the query
860
- * @param $sql optionally run the specified SQL insteads
861
- * return
 
 
862
  */
863
  function run_query($sql = FALSE, $model = FALSE, $no_entities = FALSE)
864
  {
@@ -915,7 +927,8 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
915
  }
916
  /**
917
  * Stores the entity
918
- * @param stdClass $entity
 
919
  */
920
  function _save_entity($entity)
921
  {
@@ -943,9 +956,8 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
943
  return $retval;
944
  }
945
  /**
946
- * Converts an entity to something suitable for inserting into
947
- * a database column
948
- * @param stdObject $entity
949
  * @return array
950
  */
951
  function _convert_to_table_data($entity)
@@ -960,7 +972,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
960
  }
961
  /**
962
  * Destroys/deletes an entity
963
- * @param stdObject|C_DataMapper_Model|int $entity
964
  * @return boolean
965
  */
966
  function destroy($entity)
@@ -982,7 +994,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
982
  }
983
  /**
984
  * Creates a new record in the database
985
- * @param stdObject $entity
986
  * @return boolean
987
  */
988
  function _create($entity)
@@ -997,7 +1009,8 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
997
  }
998
  /**
999
  * Updates a record in the database
1000
- * @param stdObject $entity
 
1001
  */
1002
  function _update($entity)
1003
  {
@@ -1007,7 +1020,7 @@ class C_CustomTable_DataMapper_Driver_Mixin extends Mixin
1007
  /**
1008
  * Fetches the last row
1009
  * @param array $conditions
1010
- * @return C_DataMapper_Entity
1011
  */
1012
  function find_last($conditions = array(), $model = FALSE)
1013
  {
@@ -1223,7 +1236,8 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1223
  /**
1224
  * Finds a partiular entry by id
1225
  * @param int|stdClass|C_DataMapper_Model $entity
1226
- * @return C_DataMapper_Entity
 
1227
  */
1228
  function find($entity, $model = FALSE)
1229
  {
@@ -1244,8 +1258,9 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1244
  }
1245
  /**
1246
  * Fetches the first row
1247
- * @param array $conditions
1248
- * @return C_DataMapper_Entity
 
1249
  */
1250
  function find_first($conditions = array(), $model = FALSE)
1251
  {
@@ -1258,7 +1273,8 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1258
  }
1259
  /**
1260
  * Queries all rows
1261
- * @param array $conditions
 
1262
  * @return array
1263
  */
1264
  function find_all($conditions = array(), $model = FALSE)
@@ -1287,15 +1303,25 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1287
  * array("post_title = %s", "Foo"),
1288
  *
1289
  * )
 
 
1290
  */
1291
  function where_and($conditions = array())
1292
  {
1293
  return $this->object->_where($conditions, 'AND');
1294
  }
 
 
 
 
1295
  function where_or($conditions = array())
1296
  {
1297
  return $this->object->where($conditions, 'OR');
1298
  }
 
 
 
 
1299
  function where($conditions = array())
1300
  {
1301
  return $this->object->_where($conditions, 'AND');
@@ -1432,8 +1458,8 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1432
  }
1433
  /**
1434
  * Converts a stdObject to an Entity
1435
- * @param stdObject $stdObject
1436
- * @return stdObject
1437
  */
1438
  function _convert_to_entity($stdObject)
1439
  {
@@ -1487,7 +1513,9 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1487
  }
1488
  /**
1489
  * Converts a stdObject entity to a model
1490
- * @param stdObject $stdObject
 
 
1491
  */
1492
  function convert_to_model($stdObject, $context = FALSE)
1493
  {
@@ -1503,7 +1531,8 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1503
  }
1504
  /**
1505
  * Creates a new model
1506
- * @param stdClass|array $properties
 
1507
  * @return C_DataMapper_Model
1508
  */
1509
  function create($properties = array(), $context = FALSE)
@@ -1530,7 +1559,7 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1530
  /**
1531
  * Saves an entity
1532
  * @param stdClass|C_DataMapper_Model $entity
1533
- * @return bool
1534
  */
1535
  function save($entity)
1536
  {
@@ -1577,6 +1606,7 @@ class Mixin_DataMapper_Driver_Base extends Mixin
1577
  * Subclasses and adapters should extend this method to provide their
1578
  * implementation. The implementation should make use of the
1579
  * _set_default_value() method
 
1580
  */
1581
  function set_defaults($stdObject)
1582
  {
@@ -1742,9 +1772,8 @@ class C_DataMapper_Model extends C_Component
1742
  }
1743
  /**
1744
  * Creates a new entity for the specified mapper
1745
- * @param C_DataMapper_Driver_Base $mapper
1746
- * @param array|stdClass $properties
1747
- * @param string $context
1748
  */
1749
  function initialize($mapper = NULL, $properties = FALSE)
1750
  {
@@ -1769,7 +1798,9 @@ class C_DataMapper_Model extends C_Component
1769
  return $this->_mapper;
1770
  }
1771
  /**
1772
- * Gets a property of the model
 
 
1773
  */
1774
  function &__get($property)
1775
  {
@@ -1785,6 +1816,9 @@ class C_DataMapper_Model extends C_Component
1785
  }
1786
  /**
1787
  * Sets a property for the model
 
 
 
1788
  */
1789
  function &__set($property, $value)
1790
  {
@@ -1797,7 +1831,8 @@ class C_DataMapper_Model extends C_Component
1797
  }
1798
  /**
1799
  * Saves the entity
1800
- * @param type $updated_attributes
 
1801
  */
1802
  function save($updated_attributes = array())
1803
  {
@@ -1806,6 +1841,7 @@ class C_DataMapper_Model extends C_Component
1806
  }
1807
  /**
1808
  * Updates the attributes for an object
 
1809
  */
1810
  function update_attributes($array = array())
1811
  {
@@ -1832,7 +1868,7 @@ class C_DataMapper_Model extends C_Component
1832
  }
1833
  /**
1834
  * Determines whether the object is new or existing
1835
- * @return type
1836
  */
1837
  function is_new()
1838
  {
@@ -1840,6 +1876,8 @@ class C_DataMapper_Model extends C_Component
1840
  }
1841
  /**
1842
  * Gets/sets the primary key
 
 
1843
  */
1844
  function id($value = NULL)
1845
  {
40
  /**
41
  * Used to select which fields should be returned. NOT currently used by
42
  * this implementation of the datamapper driver
43
+ * @param string $fields
44
  * @return C_DataMapper_Driver_Base
45
  */
46
  function select($fields = '*')
50
  }
51
  /**
52
  * Specifies an order clause
53
+ * @param string $order_by
54
+ * @param string $direction
55
  * @return C_DataMapper_Driver_Base
56
  */
57
  function order_by($order_by, $direction = 'ASC')
70
  }
71
  /**
72
  * Specifies a limit and optional offset
73
+ * @param int $max
74
+ * @param int|bool $offset (optional)
75
+ * @return object
76
  */
77
  function limit($max, $offset = FALSE)
78
  {
90
  /**
91
  * Specifies a list of columns to group by
92
  * @param array|string $columns
93
+ * @return object
94
  */
95
  function group_by($columns = array())
96
  {
218
  }
219
  /**
220
  * Destroys/deletes an entity from the database
221
+ * @param object|C_DataMapper_Model $entity
222
+ * @param bool $skip_trash (optional) Default = true
223
+ * @return bool
224
  */
225
  function destroy($entity, $skip_trash = TRUE)
226
  {
278
  }
279
  /**
280
  * Converts an entity to a post
281
+ * @param object $entity
282
+ * @return object
283
  */
284
  function _convert_entity_to_post($entity)
285
  {
361
  }
362
  /**
363
  * Saves an entity to the database
364
+ * @param object $entity
365
+ * @return int Post ID
366
  */
367
  function _save_entity($entity)
368
  {
396
  }
397
  /**
398
  * Determines whether the current statement is DELETE
399
+ * @return bool
400
  */
401
  function is_delete_statement()
402
  {
414
  }
415
  /**
416
  * Runs the query
417
+ * @param string|bool $sql (optional) Run the specified query
418
+ * @param object|bool $model (optional)
419
+ * @param bool $convert_to_entities (optional) Default = true
420
  * @return array
421
  */
422
  function run_query($sql = FALSE, $model = FALSE, $convert_to_entities = TRUE)
483
  }
484
  /**
485
  * Fetches the last row
486
+ * @param array $conditions (optional)
487
+ * @param object|bool $model (optional)
488
+ * @return object
489
  */
490
  function find_last($conditions = array(), $model = FALSE)
491
  {
619
  /**
620
  * Determines whether a column is present for the table
621
  * @param string $column_name
622
+ * @return bool
623
  */
624
  function has_column($column_name)
625
  {
690
  }
691
  /**
692
  * Selects which fields to collect from the table.
693
+ * NOTE: Not protected from SQL injection - DO NOT let your users specify DB columns
 
694
  * @param string $fields
695
+ * @return object
696
  */
697
  function select($fields = NULL)
698
  {
714
  }
715
  /**
716
  * Determines if we're going to be executing a DELETE statement
717
+ * @return bool
718
  */
719
  function is_delete_statement()
720
  {
735
  * This method may be used multiple of times to order by more than column
736
  * @param $order_by
737
  * @param $direction
738
+ * @return object
739
  */
740
  function order_by($order_by, $direction = 'ASC')
741
  {
758
  * Specifies a limit and optional offset
759
  * @param integer $max
760
  * @param integer $offset
761
+ * @return object
762
  */
763
  function limit($max, $offset = 0)
764
  {
775
  /**
776
  * Specifics a group by clause for one or more columns
777
  * @param array|string $columns
778
+ * @return object
779
  */
780
  function group_by($columns = array())
781
  {
819
  }
820
  /**
821
  * Returns the total number of entities known
822
+ * @return int
823
  */
824
  function count()
825
  {
833
  }
834
  /**
835
  * Returns the generated SQL query to be executed
836
+ * @param bool $no_entities Default = false
837
  * @return string
838
  */
839
  function get_generated_query($no_entities = FALSE)
867
  }
868
  /**
869
  * Run the query
870
+ * @param string|bool $sql (optional) run the specified SQL
871
+ * @param object|bool $model (optional)
872
+ * @param bool $no_entities (optional)
873
+ * @return array
874
  */
875
  function run_query($sql = FALSE, $model = FALSE, $no_entities = FALSE)
876
  {
927
  }
928
  /**
929
  * Stores the entity
930
+ * @param object $entity
931
+ * @return bool|object
932
  */
933
  function _save_entity($entity)
934
  {
956
  return $retval;
957
  }
958
  /**
959
+ * Converts an entity to something suitable for inserting into a database column
960
+ * @param object $entity
 
961
  * @return array
962
  */
963
  function _convert_to_table_data($entity)
972
  }
973
  /**
974
  * Destroys/deletes an entity
975
+ * @param object|C_DataMapper_Model|int $entity
976
  * @return boolean
977
  */
978
  function destroy($entity)
994
  }
995
  /**
996
  * Creates a new record in the database
997
+ * @param object $entity
998
  * @return boolean
999
  */
1000
  function _create($entity)
1009
  }
1010
  /**
1011
  * Updates a record in the database
1012
+ * @param object $entity
1013
+ * @return int|bool
1014
  */
1015
  function _update($entity)
1016
  {
1020
  /**
1021
  * Fetches the last row
1022
  * @param array $conditions
1023
+ * @return object
1024
  */
1025
  function find_last($conditions = array(), $model = FALSE)
1026
  {
1236
  /**
1237
  * Finds a partiular entry by id
1238
  * @param int|stdClass|C_DataMapper_Model $entity
1239
+ * @param object|bool $model (optional)
1240
+ * @return null|object
1241
  */
1242
  function find($entity, $model = FALSE)
1243
  {
1258
  }
1259
  /**
1260
  * Fetches the first row
1261
+ * @param array $conditions (optional)
1262
+ * @param object|bool $model (optional)
1263
+ * @return null|object
1264
  */
1265
  function find_first($conditions = array(), $model = FALSE)
1266
  {
1273
  }
1274
  /**
1275
  * Queries all rows
1276
+ * @param array $conditions (optional)
1277
+ * @param object|bool $model (optional)
1278
  * @return array
1279
  */
1280
  function find_all($conditions = array(), $model = FALSE)
1303
  * array("post_title = %s", "Foo"),
1304
  *
1305
  * )
1306
+ * @param array $conditions (optional)
1307
+ * @return self
1308
  */
1309
  function where_and($conditions = array())
1310
  {
1311
  return $this->object->_where($conditions, 'AND');
1312
  }
1313
+ /**
1314
+ * @param array $conditions (optional)
1315
+ * @return self
1316
+ */
1317
  function where_or($conditions = array())
1318
  {
1319
  return $this->object->where($conditions, 'OR');
1320
  }
1321
+ /**
1322
+ * @param array $conditions (optional)
1323
+ * @return self
1324
+ */
1325
  function where($conditions = array())
1326
  {
1327
  return $this->object->_where($conditions, 'AND');
1458
  }
1459
  /**
1460
  * Converts a stdObject to an Entity
1461
+ * @param object $stdObject
1462
+ * @return object
1463
  */
1464
  function _convert_to_entity($stdObject)
1465
  {
1513
  }
1514
  /**
1515
  * Converts a stdObject entity to a model
1516
+ * @param object $stdObject
1517
+ * @param string|bool $context (optional)
1518
+ * @return object
1519
  */
1520
  function convert_to_model($stdObject, $context = FALSE)
1521
  {
1531
  }
1532
  /**
1533
  * Creates a new model
1534
+ * @param object|array $properties (optional)
1535
+ * @param string|bool $context (optional)
1536
  * @return C_DataMapper_Model
1537
  */
1538
  function create($properties = array(), $context = FALSE)
1559
  /**
1560
  * Saves an entity
1561
  * @param stdClass|C_DataMapper_Model $entity
1562
+ * @return bool|int Resulting ID or false upon failure
1563
  */
1564
  function save($entity)
1565
  {
1606
  * Subclasses and adapters should extend this method to provide their
1607
  * implementation. The implementation should make use of the
1608
  * _set_default_value() method
1609
+ * @param object $stdObject
1610
  */
1611
  function set_defaults($stdObject)
1612
  {
1772
  }
1773
  /**
1774
  * Creates a new entity for the specified mapper
1775
+ * @param C_DataMapper_Driver_Base $mapper (optional)
1776
+ * @param array|object|bool $properties (optional)
 
1777
  */
1778
  function initialize($mapper = NULL, $properties = FALSE)
1779
  {
1798
  return $this->_mapper;
1799
  }
1800
  /**
1801
+ * Gets a property of the model
1802
+ * @param string $property
1803
+ * @return mixed
1804
  */
1805
  function &__get($property)
1806
  {
1816
  }
1817
  /**
1818
  * Sets a property for the model
1819
+ * @param mixed $property
1820
+ * @param mixed $value
1821
+ * @return mixed $value
1822
  */
1823
  function &__set($property, $value)
1824
  {
1831
  }
1832
  /**
1833
  * Saves the entity
1834
+ * @param array $updated_attributes
1835
+ * @return int|bool Object ID or false upon failure
1836
  */
1837
  function save($updated_attributes = array())
1838
  {
1841
  }
1842
  /**
1843
  * Updates the attributes for an object
1844
+ * @param array $array (optional)
1845
  */
1846
  function update_attributes($array = array())
1847
  {
1868
  }
1869
  /**
1870
  * Determines whether the object is new or existing
1871
+ * @return bool
1872
  */
1873
  function is_new()
1874
  {
1876
  }
1877
  /**
1878
  * Gets/sets the primary key
1879
+ * @param null|int|string $value (optional)
1880
+ * @return mixed
1881
  */
1882
  function id($value = NULL)
1883
  {
products/photocrati_nextgen/modules/dynamic_stylesheet/package.module.dynamic_stylesheet.php CHANGED
@@ -63,7 +63,7 @@ class Mixin_Dynamic_Stylesheet_Instance_Methods extends Mixin
63
  /**
64
  * Loads a template, along with the dynamic variables to be interpolated
65
  * @param string $name
66
- * @param array $vars
67
  */
68
  function enqueue($name, $data = array())
69
  {
@@ -73,11 +73,11 @@ class Mixin_Dynamic_Stylesheet_Instance_Methods extends Mixin
73
  }
74
  if (defined('NGG_INLINE_DYNAMIC_CSS') && NGG_INLINE_DYNAMIC_CSS) {
75
  $css = $this->render_view($this->object->get_css_template($index), $data, TRUE);
76
- wp_enqueue_style('ngg_dyncss', $this->get_static_url('photocrati-dynamic_stylesheet#blank.css'), FALSE, NGG_SCRIPT_VERSION);
77
  wp_add_inline_style('ngg_dyncss', $css);
78
  } else {
79
  $data = $this->object->encode($data);
80
- wp_enqueue_style('dyncss-' . $index . $data . '@dynamic', $this->object->get_router()->get_url("/{$this->object->_app}", FALSE) . "?index={$index}&data={$data}", FALSE, NGG_SCRIPT_VERSION);
81
  }
82
  }
83
  }
63
  /**
64
  * Loads a template, along with the dynamic variables to be interpolated
65
  * @param string $name
66
+ * @param array $data (optional)
67
  */
68
  function enqueue($name, $data = array())
69
  {
73
  }
74
  if (defined('NGG_INLINE_DYNAMIC_CSS') && NGG_INLINE_DYNAMIC_CSS) {
75
  $css = $this->render_view($this->object->get_css_template($index), $data, TRUE);
76
+ wp_enqueue_style('ngg_dyncss', $this->get_static_url('photocrati-dynamic_stylesheet#blank.css'), array(), NGG_SCRIPT_VERSION);
77
  wp_add_inline_style('ngg_dyncss', $css);
78
  } else {
79
  $data = $this->object->encode($data);
80
+ wp_enqueue_style('dyncss-' . $index . $data . '@dynamic', $this->object->get_router()->get_url("/{$this->object->_app}", array()) . "?index={$index}&data={$data}", FALSE, NGG_SCRIPT_VERSION);
81
  }
82
  }
83
  }
products/photocrati_nextgen/modules/dynamic_thumbnails/package.module.dynamic_thumbnails.php CHANGED
@@ -103,7 +103,7 @@ class C_Dynamic_Thumbnails_Controller extends C_MVC_Controller
103
  /**
104
  * Returns an instance of this class
105
  *
106
- * @param string $context
107
  * @return C_Dynamic_Thumbnails_Controller
108
  */
109
  static function get_instance($context = FALSE)
@@ -504,6 +504,10 @@ class C_Dynamic_Thumbnails_Manager extends C_Component
504
  $this->implement('I_Dynamic_Thumbnails_Manager');
505
  $this->add_mixin('Mixin_Dynamic_Thumbnails_Manager');
506
  }
 
 
 
 
507
  static function get_instance($context = False)
508
  {
509
  if (!isset(self::$_instances[$context])) {
103
  /**
104
  * Returns an instance of this class
105
  *
106
+ * @param string|bool $context
107
  * @return C_Dynamic_Thumbnails_Controller
108
  */
109
  static function get_instance($context = FALSE)
504
  $this->implement('I_Dynamic_Thumbnails_Manager');
505
  $this->add_mixin('Mixin_Dynamic_Thumbnails_Manager');
506
  }
507
+ /**
508
+ * @param bool|string $context
509
+ * @return C_Dynamic_Thumbnails_Manager
510
+ */
511
  static function get_instance($context = False)
512
  {
513
  if (!isset(self::$_instances[$context])) {
products/photocrati_nextgen/modules/frame_communication/package.module.frame_communication.php CHANGED
@@ -21,7 +21,7 @@ class C_Frame_Event_Publisher extends C_Component
21
  }
22
  /**
23
  * Gets an instance of the publisher
24
- * @param string $context
25
  * @return C_Frame_Event_Publisher
26
  */
27
  static function get_instance($context = FALSE)
@@ -55,8 +55,8 @@ class Mixin_Frame_Event_Publisher extends Mixin
55
  }
56
  /**
57
  * Adds a setting to the frame events
58
- * @param type $data
59
- * @return type
60
  */
61
  function add_event($data)
62
  {
21
  }
22
  /**
23
  * Gets an instance of the publisher
24
+ * @param string|bool $context
25
  * @return C_Frame_Event_Publisher
26
  */
27
  static function get_instance($context = FALSE)
55
  }
56
  /**
57
  * Adds a setting to the frame events
58
+ * @param array $data
59
+ * @return array
60
  */
61
  function add_event($data)
62
  {
products/photocrati_nextgen/modules/fs/package.module.fs.php CHANGED
@@ -46,9 +46,9 @@ class Mixin_Fs_Instance_Methods extends Mixin
46
  /**
47
  * Returns a calculated path to a file
48
  * @param string $path
49
- * @param string $module
50
- * @param boolean $relpath
51
- * @returns string
52
  */
53
  function get_abspath($path, $module = FALSE, $relpath = FALSE)
54
  {
@@ -76,7 +76,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
76
  /**
77
  * Returns a calculated relpath to a particular file
78
  * @param string $path
79
- * @param string $module
80
  * @return string
81
  */
82
  function get_relpath($path, $module = FALSE)
@@ -99,8 +99,10 @@ class Mixin_Fs_Instance_Methods extends Mixin
99
  *
100
  * If the path doesn't exist, then NULL is returned
101
  * @param string $path
102
- * @param string $module
103
- * @returns string|NULL
 
 
104
  */
105
  function find_abspath($path, $module = FALSE, $relpath = FALSE, $search_paths = array())
106
  {
@@ -141,7 +143,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
141
  /**
142
  * Returns a list of directories to search for a particular filename
143
  * @param string $path
144
- * @param string $module
145
  * @return array
146
  */
147
  function get_search_paths($path, $module = FALSE)
@@ -180,7 +182,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
180
  *
181
  * @param string $base_path
182
  * @param string $file
183
- * @return string
184
  */
185
  function _rglob($base_path, $file)
186
  {
@@ -208,16 +210,19 @@ class Mixin_Fs_Instance_Methods extends Mixin
208
  return $retval;
209
  }
210
  /**
211
- * Gets the relative path to a file/directory for a specific Pope product.
212
- * If the path doesn't exist, then NULL is returned
213
- * @param type $path
214
- * @param type $module
215
- * @returns string|NULL
216
  */
217
  function find_relpath($path, $module = FALSE)
218
  {
219
  return $this->object->find_abspath($path, $module, TRUE);
220
  }
 
 
 
 
221
  function delete($abspath)
222
  {
223
  $retval = FALSE;
@@ -263,7 +268,6 @@ class Mixin_Fs_Instance_Methods extends Mixin
263
  }
264
  }
265
  }
266
- // $retval = join(DIRECTORY_SEPARATOR, $retval);
267
  if (strpos($retval, $this->get_document_root()) !== 0 && strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') {
268
  $retval = DIRECTORY_SEPARATOR . trim($retval, "/\\");
269
  }
@@ -286,6 +290,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
286
  /**
287
  * Parses the path for a module and filename
288
  * @param string $str
 
289
  */
290
  function parse_formatted_path($str)
291
  {
@@ -300,6 +305,7 @@ class Mixin_Fs_Instance_Methods extends Mixin
300
  }
301
  /**
302
  * Gets the document root for this application
 
303
  * @return string
304
  */
305
  function get_document_root($type = 'root')
@@ -365,8 +371,8 @@ class Mixin_Fs_Instance_Methods extends Mixin
365
  }
366
  /**
367
  * Sets the document root for this application
368
- * @param type $value
369
- * @return type
370
  */
371
  function set_document_root($value)
372
  {
46
  /**
47
  * Returns a calculated path to a file
48
  * @param string $path
49
+ * @param string|false $module (optional)
50
+ * @param bool $relpath (optional)
51
+ * @return string
52
  */
53
  function get_abspath($path, $module = FALSE, $relpath = FALSE)
54
  {
76
  /**
77
  * Returns a calculated relpath to a particular file
78
  * @param string $path
79
+ * @param string|false $module (optional)
80
  * @return string
81
  */
82
  function get_relpath($path, $module = FALSE)
99
  *
100
  * If the path doesn't exist, then NULL is returned
101
  * @param string $path
102
+ * @param string|false $module (optional)
103
+ * @param bool $relpath (optional)
104
+ * @param array $search_paths (optional)
105
+ * @return string|NULL
106
  */
107
  function find_abspath($path, $module = FALSE, $relpath = FALSE, $search_paths = array())
108
  {
143
  /**
144
  * Returns a list of directories to search for a particular filename
145
  * @param string $path
146
+ * @param string|false $module (optional)
147
  * @return array
148
  */
149
  function get_search_paths($path, $module = FALSE)
182
  *
183
  * @param string $base_path
184
  * @param string $file
185
+ * @return null|string
186
  */
187
  function _rglob($base_path, $file)
188
  {
210
  return $retval;
211
  }
212
  /**
213
+ * Gets the relative path to a file/directory for a specific Pope product. If the path doesn't exist, then NULL is returned
214
+ * @param string $path
215
+ * @param string|false $module (optional)
216
+ * @return string|null
 
217
  */
218
  function find_relpath($path, $module = FALSE)
219
  {
220
  return $this->object->find_abspath($path, $module, TRUE);
221
  }
222
+ /**
223
+ * @param string $abspath
224
+ * @return bool
225
+ */
226
  function delete($abspath)
227
  {
228
  $retval = FALSE;
268
  }
269
  }
270
  }
 
271
  if (strpos($retval, $this->get_document_root()) !== 0 && strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') {
272
  $retval = DIRECTORY_SEPARATOR . trim($retval, "/\\");
273
  }
290
  /**
291
  * Parses the path for a module and filename
292
  * @param string $str
293
+ * @return array [path => module]
294
  */
295
  function parse_formatted_path($str)
296
  {
305
  }
306
  /**
307
  * Gets the document root for this application
308
+ * @param string $type Must be one of plugins, plugins_mu, templates, styles, content, gallery, or root
309
  * @return string
310
  */
311
  function get_document_root($type = 'root')
371
  }
372
  /**
373
  * Sets the document root for this application
374
+ * @param string $value
375
+ * @return string
376
  */
377
  function set_document_root($value)
378
  {
products/photocrati_nextgen/modules/i18n/lang/nggallery-da_DK.po CHANGED
@@ -3499,10 +3499,10 @@ msgstr "Galleriet ID =%s findes ikke."
3499
  #. Description of the plugin
3500
  msgid ""
3501
  "The most popular gallery plugin for WordPress and one of the most popular "
3502
- "plugins of all time with over 22 million downloads."
3503
  msgstr ""
3504
  "Den mest populære galleri plugin til WordPress og et af de mest populære "
3505
- "plugins igennem tiden med over 22 millioner downloads."
3506
 
3507
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:290
3508
  msgid "The most powerful gallery system ever built for WordPress. "
3499
  #. Description of the plugin
3500
  msgid ""
3501
  "The most popular gallery plugin for WordPress and one of the most popular "
3502
+ "plugins of all time with over 23 million downloads."
3503
  msgstr ""
3504
  "Den mest populære galleri plugin til WordPress og et af de mest populære "
3505
+ "plugins igennem tiden med over 23 millioner downloads."
3506
 
3507
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:290
3508
  msgid "The most powerful gallery system ever built for WordPress. "
products/photocrati_nextgen/modules/i18n/lang/nggallery-sv_SE.po CHANGED
@@ -2431,7 +2431,7 @@ msgid "Server Settings"
2431
  msgstr "Serverinställningar"
2432
 
2433
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
2434
- msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 22 million downloads."
2435
  msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över 22 miljoner nedladdningar."
2436
 
2437
  # Missed by NextGEN, translated string is displayed.
@@ -3222,8 +3222,8 @@ msgid "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
3222
  msgstr "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
3223
 
3224
  #. Description of the plugin/theme
3225
- msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 22 million downloads."
3226
- msgstr "Det mest populära galleri-tillägget för WordPress och ett av de mest populära tillägg genom tiderna med över 22 miljoner nedladdningar."
3227
 
3228
  #. Author of the plugin/theme
3229
  msgid "Imagely"
2431
  msgstr "Serverinställningar"
2432
 
2433
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
2434
+ msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 23 million downloads."
2435
  msgstr "NextGEN Gallery är en av de mest populära WordPress-tilläggen genom tiderna med över 22 miljoner nedladdningar."
2436
 
2437
  # Missed by NextGEN, translated string is displayed.
3222
  msgstr "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
3223
 
3224
  #. Description of the plugin/theme
3225
+ msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 23 million downloads."
3226
+ msgstr "Det mest populära galleri-tillägget för WordPress och ett av de mest populära tillägg genom tiderna med över 23 miljoner nedladdningar."
3227
 
3228
  #. Author of the plugin/theme
3229
  msgid "Imagely"
products/photocrati_nextgen/modules/i18n/lang/nggallery.po CHANGED
@@ -2446,7 +2446,7 @@ msgid "Server Settings"
2446
  msgstr ""
2447
 
2448
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
2449
- msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 22 million downloads."
2450
  msgstr ""
2451
 
2452
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
@@ -3231,7 +3231,7 @@ msgid "https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/"
3231
  msgstr ""
3232
 
3233
  #. Description of the plugin/theme
3234
- msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 22 million downloads."
3235
  msgstr ""
3236
 
3237
  #. Author of the plugin/theme
2446
  msgstr ""
2447
 
2448
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
2449
+ msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 23 million downloads."
2450
  msgstr ""
2451
 
2452
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
3231
  msgstr ""
3232
 
3233
  #. Description of the plugin/theme
3234
+ msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 23 million downloads."
3235
  msgstr ""
3236
 
3237
  #. Author of the plugin/theme
products/photocrati_nextgen/modules/i18n/module.i18n.php CHANGED
@@ -118,7 +118,7 @@ class M_I18N extends C_Base_Module
118
  /**
119
  * Registers gallery strings with WPML
120
  *
121
- * @param object $gallery
122
  */
123
  function register_gallery_strings($gallery_id)
124
  {
@@ -201,10 +201,10 @@ class M_I18N extends C_Base_Module
201
  {
202
  foreach($gallery_ids[1] as $index => $gallery_id) {
203
  $translated_gallery_id = apply_filters('wpml_object_id', (int)$gallery_id, "displayed_gallery", true, $lang);
204
- $search[$index] = "preview/id--" . $gallery_id;
205
- $replace[$index] = "preview/id--" . $translated_gallery_id;
206
  }
207
 
 
 
208
  $post_array['post_content'] = str_replace($search, $replace, $post_array['post_content']);
209
 
210
  $to_save = array(
118
  /**
119
  * Registers gallery strings with WPML
120
  *
121
+ * @param int|object $gallery_id Gallery object or ID
122
  */
123
  function register_gallery_strings($gallery_id)
124
  {
201
  {
202
  foreach($gallery_ids[1] as $index => $gallery_id) {
203
  $translated_gallery_id = apply_filters('wpml_object_id', (int)$gallery_id, "displayed_gallery", true, $lang);
 
 
204
  }
205
 
206
+ $search[$index] = "preview/id--" . $gallery_id;
207
+ $replace[$index] = "preview/id--" . $translated_gallery_id;
208
  $post_array['post_content'] = str_replace($search, $replace, $post_array['post_content']);
209
 
210
  $to_save = array(
products/photocrati_nextgen/modules/imagify/package.module.imagify.php CHANGED
@@ -25,7 +25,7 @@ class A_Imagify_Admin_Page_Controller extends Mixin
25
  function enqueue_backend_resources()
26
  {
27
  $this->call_parent('enqueue_backend_resources');
28
- wp_enqueue_style('imagify_upgrade_page', $this->get_static_url('photocrati-imagify#style.css'), FALSE, NGG_SCRIPT_VERSION);
29
  }
30
  function get_page_title()
31
  {
25
  function enqueue_backend_resources()
26
  {
27
  $this->call_parent('enqueue_backend_resources');
28
+ wp_enqueue_style('imagify_upgrade_page', $this->get_static_url('photocrati-imagify#style.css'), array(), NGG_SCRIPT_VERSION);
29
  }
30
  function get_page_title()
31
  {
products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php CHANGED
@@ -32,6 +32,9 @@ class C_Lightbox_Library_Manager
32
  * @var C_Lightbox_Library_Manager
33
  */
34
  static $_instance = NULL;
 
 
 
35
  static function get_instance()
36
  {
37
  if (!isset(self::$_instance)) {
@@ -223,7 +226,7 @@ class C_Lightbox_Library_Manager
223
  wp_enqueue_style(array_pop($parts));
224
  } else {
225
  if (!empty($src)) {
226
- wp_enqueue_style($lightbox->name . "-{$i}", $this->_handle_url($src), FALSE, NGG_SCRIPT_VERSION);
227
  }
228
  }
229
  }
@@ -246,6 +249,7 @@ class C_Lightbox_Library_Manager
246
  * Parses certain paths through get_static_url
247
  *
248
  * @param string $url
 
249
  * @return string Resulting URL
250
  */
251
  static function _handle_url($url, $type = 'script')
@@ -264,6 +268,7 @@ class C_Lightbox_Library_Manager
264
  * @param string $object_name
265
  * @param mixed $object_value
266
  * @param bool $define
 
267
  */
268
  function _add_script_data($handle, $object_name, $object_value, $define = TRUE, $override = FALSE)
269
  {
32
  * @var C_Lightbox_Library_Manager
33
  */
34
  static $_instance = NULL;
35
+ /**
36
+ * @return C_Lightbox_Library_Manager
37
+ */
38
  static function get_instance()
39
  {
40
  if (!isset(self::$_instance)) {
226
  wp_enqueue_style(array_pop($parts));
227
  } else {
228
  if (!empty($src)) {
229
+ wp_enqueue_style($lightbox->name . "-{$i}", $this->_handle_url($src), array(), NGG_SCRIPT_VERSION);
230
  }
231
  }
232
  }
249
  * Parses certain paths through get_static_url
250
  *
251
  * @param string $url
252
+ * @param string $type Unused
253
  * @return string Resulting URL
254
  */
255
  static function _handle_url($url, $type = 'script')
268
  * @param string $object_name
269
  * @param mixed $object_value
270
  * @param bool $define
271
+ * @return bool
272
  */
273
  function _add_script_data($handle, $object_name, $object_value, $define = TRUE, $override = FALSE)
274
  {
products/photocrati_nextgen/modules/mvc/package.module.mvc.php CHANGED
@@ -38,8 +38,9 @@ class A_MVC_Fs extends Mixin
38
  * Gets the absolute path to a static resource. If it doesn't exist, then NULL is returned
39
  *
40
  * @param string $path
41
- * @param string $module
42
- * @param string $relative
 
43
  * @return string|NULL
44
  */
45
  function find_static_abspath($path, $module = FALSE, $relative = FALSE, &$found_root = FALSE)
@@ -107,7 +108,7 @@ class A_MVC_Fs extends Mixin
107
  * Gets the relative path to a static resource. If it doesn't exist, then NULL is returned
108
  *
109
  * @param string $path
110
- * @param string $module
111
  * @return string|NULL
112
  */
113
  function find_static_relpath($path, $module = FALSE)
@@ -358,7 +359,8 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
358
  /**
359
  * Returns the value of a parameters
360
  * @param string $key
361
- * @return mixed
 
362
  */
363
  function param($key, $prefix = NULL, $default = NULL)
364
  {
@@ -384,6 +386,7 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
384
  }
385
  /**
386
  * Gets the routed url, generated by the Routing App
 
387
  * @return string
388
  */
389
  function get_routed_url($with_qs = FALSE)
@@ -393,7 +396,7 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
393
  /**
394
  * Gets the absolute path of a static resource
395
  * @param string $path
396
- * @param string $module
397
  * @param boolean $relative
398
  * @return string
399
  */
@@ -404,13 +407,18 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
404
  /**
405
  * Gets the relative path of a static resource
406
  * @param string $path
407
- * @param string $module
408
  * @return string
409
  */
410
  function get_static_relpath($path, $module = FALSE)
411
  {
412
  return C_Fs::get_instance()->find_static_abspath($path, $module, TRUE);
413
  }
 
 
 
 
 
414
  function get_static_url($path, $module = FALSE)
415
  {
416
  return C_Router::get_instance()->get_static_url($path, $module);
@@ -418,7 +426,9 @@ class Mixin_MVC_Controller_Instance_Methods extends Mixin
418
  /**
419
  * Renders a template and outputs the response headers
420
  * @param string $name
421
- * @param array $vars
 
 
422
  */
423
  function render_view($name, $vars = array(), $return = FALSE)
424
  {
@@ -496,8 +506,7 @@ class Mixin_Mvc_View_Instance_Methods extends Mixin
496
  return $retval;
497
  }
498
  /**
499
- * Returns the abspath of the template to be rendered
500
- * @param string $key
501
  * @return string
502
  */
503
  function get_template_abspath($value = NULL)
@@ -514,7 +523,7 @@ class Mixin_Mvc_View_Instance_Methods extends Mixin
514
  }
515
  /**
516
  * Renders the view (template)
517
- * @param string $__return
518
  * @return string|NULL
519
  */
520
  function render($return = FALSE)
@@ -531,7 +540,8 @@ class Mixin_Mvc_View_Instance_Methods extends Mixin
531
  // We use underscores to prefix local variables to avoid conflicts wth
532
  // template vars
533
  $__element = $this->start_element($this->object->_template, 'template', $this->object);
534
- extract($this->object->get_template_vars());
 
535
  include $this->object->get_template_abspath();
536
  $this->end_element();
537
  return $__element;
@@ -579,7 +589,7 @@ class Mixin_Mvc_View_Instance_Methods extends Mixin
579
  * Renders a sub-template for the view
580
  * @param string $__template
581
  * @param array $__params
582
- * @param string $__return
583
  * @return NULL
584
  */
585
  function include_template($__template, $__params = null, $__return = FALSE)
@@ -618,7 +628,7 @@ class Mixin_Mvc_View_Instance_Methods extends Mixin
618
  * Gets the absolute path of an MVC template file
619
  *
620
  * @param string $path
621
- * @param string $module
622
  * @return string
623
  */
624
  function find_template_abspath($path, $module = FALSE)
38
  * Gets the absolute path to a static resource. If it doesn't exist, then NULL is returned
39
  *
40
  * @param string $path
41
+ * @param string|false $module (optional)
42
+ * @param bool $relative (optional)
43
+ * @param bool $found_root (optional)
44
  * @return string|NULL
45
  */
46
  function find_static_abspath($path, $module = FALSE, $relative = FALSE, &$found_root = FALSE)
108
  * Gets the relative path to a static resource. If it doesn't exist, then NULL is returned
109
  *
110
  * @param string $path
111
+ * @param string|false $module (optional)
112
  * @return string|NULL
113
  */
114
  function find_static_relpath($path, $module = FALSE)
359
  /**
360
  * Returns the value of a parameters
361
  * @param string $key
362
+ * @param string|null $prefix (optional)
363
+ * @return string
364
  */
365
  function param($key, $prefix = NULL, $default = NULL)
366
  {
386
  }
387
  /**
388
  * Gets the routed url, generated by the Routing App
389
+ * @param bool $with_qs (optional) With QueryString
390
  * @return string
391
  */
392
  function get_routed_url($with_qs = FALSE)
396
  /**
397
  * Gets the absolute path of a static resource
398
  * @param string $path
399
+ * @param string|false $module (optional)
400
  * @param boolean $relative
401
  * @return string
402
  */
407
  /**
408
  * Gets the relative path of a static resource
409
  * @param string $path
410
+ * @param string|false $module (optional)
411
  * @return string
412
  */
413
  function get_static_relpath($path, $module = FALSE)
414
  {
415
  return C_Fs::get_instance()->find_static_abspath($path, $module, TRUE);
416
  }
417
+ /**
418
+ * @param string $path
419
+ * @param string|false $module (optional)
420
+ * @return string
421
+ */
422
  function get_static_url($path, $module = FALSE)
423
  {
424
  return C_Router::get_instance()->get_static_url($path, $module);
426
  /**
427
  * Renders a template and outputs the response headers
428
  * @param string $name
429
+ * @param array $vars (optional)
430
+ * @param bool $return (optional)
431
+ * @return string
432
  */
433
  function render_view($name, $vars = array(), $return = FALSE)
434
  {
506
  return $retval;
507
  }
508
  /**
509
+ * @param string $value (optional)
 
510
  * @return string
511
  */
512
  function get_template_abspath($value = NULL)
523
  }
524
  /**
525
  * Renders the view (template)
526
+ * @param bool $return (optional)
527
  * @return string|NULL
528
  */
529
  function render($return = FALSE)
540
  // We use underscores to prefix local variables to avoid conflicts wth
541
  // template vars
542
  $__element = $this->start_element($this->object->_template, 'template', $this->object);
543
+ $template_vars = $this->object->get_template_vars();
544
+ extract($template_vars);
545
  include $this->object->get_template_abspath();
546
  $this->end_element();
547
  return $__element;
589
  * Renders a sub-template for the view
590
  * @param string $__template
591
  * @param array $__params
592
+ * @param bool $__return Unused
593
  * @return NULL
594
  */
595
  function include_template($__template, $__params = null, $__return = FALSE)
628
  * Gets the absolute path of an MVC template file
629
  *
630
  * @param string $path
631
+ * @param string|false $module (optional)
632
  * @return string
633
  */
634
  function find_template_abspath($path, $module = FALSE)
products/photocrati_nextgen/modules/nextgen_addgallery_page/module.nextgen_addgallery_page.php CHANGED
@@ -40,6 +40,16 @@ class M_NextGen_AddGallery_Page extends C_Base_Module
40
  $forms->add_form(NGG_ADD_GALLERY_SLUG, 'import_folder');
41
  }
42
  }
 
 
 
 
 
 
 
 
 
 
43
 
44
  function get_type_list()
45
  {
@@ -72,17 +82,28 @@ class M_NextGen_AddGallery_Page extends C_Base_Module
72
 
73
  function _register_hooks()
74
  {
75
- add_action('admin_init', array(&$this, 'register_scripts'));
 
 
76
  add_filter('ngg_non_minified_files', array($this, 'do_not_minify'), 10, 2);
77
  }
78
 
79
- // plupload i18n JS should not be minified
80
- function do_not_minify($path, $module)
81
  {
82
- $retval = FALSE;
83
- if ($module == 'photocrati-nextgen_addgallery_page' && strpos($path, '/i18n/') !== FALSE)
84
- $retval = TRUE;
85
- return $retval;
 
 
 
 
 
 
 
 
 
 
86
  }
87
 
88
  function register_scripts()
@@ -93,13 +114,13 @@ class M_NextGen_AddGallery_Page extends C_Base_Module
93
  wp_register_script(
94
  'browserplus',
95
  $router->get_static_url('photocrati-nextgen_addgallery_page#browserplus-2.4.21.min.js'),
96
- FALSE,
97
  NGG_SCRIPT_VERSION
98
  );
99
  wp_register_script(
100
  'ngg.plupload.moxie',
101
  $router->get_static_url('photocrati-nextgen_addgallery_page#plupload-2.1.1/moxie.min.js'),
102
- FALSE,
103
  NGG_SCRIPT_VERSION
104
  );
105
  wp_register_script(
@@ -117,13 +138,13 @@ class M_NextGen_AddGallery_Page extends C_Base_Module
117
  wp_register_style(
118
  'ngg.plupload.queue',
119
  $router->get_static_url('photocrati-nextgen_addgallery_page#plupload-2.1.1/jquery.plupload.queue/css/jquery.plupload.queue.css'),
120
- FALSE,
121
  NGG_SCRIPT_VERSION
122
  );
123
  wp_register_style(
124
  'nextgen_addgallery_page',
125
  $router->get_static_url('photocrati-nextgen_addgallery_page#styles.css'),
126
- FALSE,
127
  NGG_SCRIPT_VERSION
128
  );
129
  wp_register_script(
@@ -135,7 +156,7 @@ class M_NextGen_AddGallery_Page extends C_Base_Module
135
  wp_register_style(
136
  'jquery.filetree',
137
  $router->get_static_url('photocrati-nextgen_addgallery_page#jquery.filetree/jquery.filetree.css'),
138
- FALSE,
139
  NGG_SCRIPT_VERSION
140
  );
141
  wp_register_script(
@@ -147,10 +168,19 @@ class M_NextGen_AddGallery_Page extends C_Base_Module
147
  wp_register_style(
148
  'nextgen_media_library_import-css',
149
  $router->get_static_url('photocrati-nextgen_addgallery_page#media-library-import.css'),
150
- FALSE,
151
  NGG_SCRIPT_VERSION
152
  );
153
  }
154
  }
 
 
 
 
 
 
 
 
 
155
  }
156
  new M_NextGen_AddGallery_Page();
40
  $forms->add_form(NGG_ADD_GALLERY_SLUG, 'import_folder');
41
  }
42
  }
43
+
44
+ public function check_upload_dir_permissions_requirement()
45
+ {
46
+ return wp_is_writable(C_Gallery_Storage::get_instance()->get_upload_abspath());
47
+ }
48
+
49
+ public function check_domdocument_requirement()
50
+ {
51
+ return class_exists('DOMDocument');
52
+ }
53
 
54
  function get_type_list()
55
  {
82
 
83
  function _register_hooks()
84
  {
85
+ add_action('admin_init', array($this, 'register_requirements'));
86
+ add_action('admin_init', array($this, 'register_scripts'));
87
+
88
  add_filter('ngg_non_minified_files', array($this, 'do_not_minify'), 10, 2);
89
  }
90
 
91
+ public function register_requirements()
 
92
  {
93
+ C_Admin_Requirements_Manager::get_instance()->add(
94
+ 'nextgen_addgallery_xmlcheck',
95
+ 'phpext',
96
+ array($this, 'check_domdocument_requirement'),
97
+ array('message' => __('XML is strongly encouraged for safely uploading images', 'nggallery'))
98
+ );
99
+
100
+ $directory = C_Gallery_Storage::get_instance()->get_upload_abspath();
101
+ C_Admin_Requirements_Manager::get_instance()->add(
102
+ 'add_gallery_upload_dir_permission',
103
+ 'dirperms',
104
+ array($this, 'check_upload_dir_permissions_requirement'),
105
+ array('message' => sprintf(__('Cannot write to %s: new galleries cannot be created', 'nggallery'), $directory))
106
+ );
107
  }
108
 
109
  function register_scripts()
114
  wp_register_script(
115
  'browserplus',
116
  $router->get_static_url('photocrati-nextgen_addgallery_page#browserplus-2.4.21.min.js'),
117
+ array(),
118
  NGG_SCRIPT_VERSION
119
  );
120
  wp_register_script(
121
  'ngg.plupload.moxie',
122
  $router->get_static_url('photocrati-nextgen_addgallery_page#plupload-2.1.1/moxie.min.js'),
123
+ array(),
124
  NGG_SCRIPT_VERSION
125
  );
126
  wp_register_script(
138
  wp_register_style(
139
  'ngg.plupload.queue',
140
  $router->get_static_url('photocrati-nextgen_addgallery_page#plupload-2.1.1/jquery.plupload.queue/css/jquery.plupload.queue.css'),
141
+ array(),
142
  NGG_SCRIPT_VERSION
143
  );
144
  wp_register_style(
145
  'nextgen_addgallery_page',
146
  $router->get_static_url('photocrati-nextgen_addgallery_page#styles.css'),
147
+ array(),
148
  NGG_SCRIPT_VERSION
149
  );
150
  wp_register_script(
156
  wp_register_style(
157
  'jquery.filetree',
158
  $router->get_static_url('photocrati-nextgen_addgallery_page#jquery.filetree/jquery.filetree.css'),
159
+ array(),
160
  NGG_SCRIPT_VERSION
161
  );
162
  wp_register_script(
168
  wp_register_style(
169
  'nextgen_media_library_import-css',
170
  $router->get_static_url('photocrati-nextgen_addgallery_page#media-library-import.css'),
171
+ array(),
172
  NGG_SCRIPT_VERSION
173
  );
174
  }
175
  }
176
+
177
+ // plupload i18n JS should not be minified
178
+ function do_not_minify($path, $module)
179
+ {
180
+ $retval = FALSE;
181
+ if ($module == 'photocrati-nextgen_addgallery_page' && strpos($path, '/i18n/') !== FALSE)
182
+ $retval = TRUE;
183
+ return $retval;
184
+ }
185
  }
186
  new M_NextGen_AddGallery_Page();
products/photocrati_nextgen/modules/nextgen_addgallery_page/package.module.nextgen_addgallery_page.php CHANGED
@@ -96,7 +96,7 @@ class A_NextGen_AddGallery_Ajax extends Mixin
96
  $error = FALSE;
97
  if ($this->validate_ajax_request('nextgen_upload_image', TRUE)) {
98
  if (!class_exists('DOMDocument')) {
99
- $retval['error'] = __("Please ask your hosting provider or system administrator to enable the PHP XML module, which is required for NextGEN Gallery", 'nggallery');
100
  } else {
101
  // We need to create a gallery
102
  if ($gallery_id == 0) {
96
  $error = FALSE;
97
  if ($this->validate_ajax_request('nextgen_upload_image', TRUE)) {
98
  if (!class_exists('DOMDocument')) {
99
+ $retval['error'] = __("Please ask your hosting provider or system administrator to enable the PHP XML module which is required for image uploads", 'nggallery');
100
  } else {
101
  // We need to create a gallery
102
  if ($gallery_id == 0) {
products/photocrati_nextgen/modules/nextgen_addgallery_page/templates/upload_images.php CHANGED
@@ -230,6 +230,7 @@
230
  if (typeof(response) != 'object') {
231
  try {
232
  response = JSON.parse(info.response);
 
233
  }
234
  catch (ex) {
235
  up.trigger('Error', {
230
  if (typeof(response) != 'object') {
231
  try {
232
  response = JSON.parse(info.response);
233
+ if (!response) throw new Error();
234
  }
235
  catch (ex) {
236
  up.trigger('Error', {
products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php CHANGED
@@ -116,7 +116,7 @@ class M_NextGen_Admin extends C_Base_Module
116
  if (has_action($hook))
117
  do_action($hook, $handle, $version);
118
  else
119
- wp_enqueue_script($handle, NULL, NULL, $version);
120
 
121
  }
122
 
@@ -126,7 +126,7 @@ class M_NextGen_Admin extends C_Base_Module
126
  if (has_action($hook))
127
  do_action($hook, $handle, $version);
128
  else
129
- wp_enqueue_style($handle, NULL, NULL, $version);
130
  }
131
  }
132
 
@@ -174,8 +174,11 @@ class M_NextGen_Admin extends C_Base_Module
174
  add_action( 'all_admin_notices', array($this, 'custom_post_type_markup_top'));
175
  add_action( 'admin_footer', array($this, 'custom_post_type_markup_bottom'));
176
 
177
- // Provides admin notices
178
- $notices = C_Admin_Notification_Manager::get_instance();
 
 
 
179
  add_action('init', array($notices, 'serve_ajax_request'));
180
  add_action('admin_footer', array($notices, 'enqueue_scripts'));
181
  add_action('do_ngg_notices', array($notices, 'render'));
@@ -186,21 +189,19 @@ class M_NextGen_Admin extends C_Base_Module
186
  add_action('all_admin_notices', get_class().'::emit_do_notices_action');
187
  }
188
 
189
- $notices = C_Admin_Notification_Manager::get_instance();
190
-
191
- $php_id = 0;
192
-
193
  if (defined('PHP_VERSION_ID')) {
194
  $php_id = PHP_VERSION_ID;
195
  }
196
  else {
197
  $version = explode('.', PHP_VERSION);
198
-
199
  $php_id = ($version[0] * 10000 + $version[1] * 100 + $version[2]);
200
  }
201
 
202
  if ($php_id < 50300) {
203
- $notices->add("ngg_php52_deprecation", array("message" => __('PHP 5.2 will be deprecated in a future version of NextGEN. Please upgrade your PHP installation to 5.3 or above.', 'nggallery')));
 
 
 
204
  }
205
 
206
  // Add review notices
@@ -296,48 +297,48 @@ class M_NextGen_Admin extends C_Base_Module
296
  'gritter',
297
  $router->get_static_url('photocrati-nextgen_admin#gritter/gritter.min.js'),
298
  array('jquery'),
299
- $this->module_version
300
  );
301
  wp_register_style(
302
  'gritter',
303
  $router->get_static_url('photocrati-nextgen_admin#gritter/css/gritter.css'),
304
- FALSE,
305
- $this->module_version
306
  );
307
  wp_register_script(
308
  'ngg_progressbar',
309
  $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.js'),
310
  array('gritter'),
311
- $this->module_version
312
  );
313
  wp_register_style(
314
  'ngg_progressbar',
315
  $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.css'),
316
  array('gritter'),
317
- $this->module_version
318
  );
319
  wp_register_style(
320
  'ngg_select2',
321
  $router->get_static_url('photocrati-nextgen_admin#select2/select2.css'),
322
- FALSE,
323
- $this->module_version
324
  );
325
  wp_register_script(
326
  'ngg_select2',
327
  $router->get_static_url('photocrati-nextgen_admin#select2/select2.js'),
328
- FALSE,
329
- $this->module_version
330
  );
331
  wp_register_script(
332
  'jquery.nextgen_radio_toggle',
333
  $router->get_static_url('photocrati-nextgen_admin#jquery.nextgen_radio_toggle.js'),
334
  array('jquery'),
335
- $this->module_version
336
  );
337
  wp_register_style(
338
  'ngg-jquery-ui',
339
  $router->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.10.4.custom.css'),
340
- FALSE,
341
  '1.10.4'
342
  );
343
  wp_register_script(
@@ -355,13 +356,13 @@ class M_NextGen_Admin extends C_Base_Module
355
  'nextgen_admin_css',
356
  $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.css'),
357
  array('wp-color-picker'),
358
- $this->module_version
359
  );
360
  wp_register_script(
361
  'nextgen_admin_js',
362
  $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'),
363
  array('wp-color-picker'),
364
- $this->module_version
365
  );
366
 
367
  // Style the parent menu icons for NextGEN-related pages
@@ -555,18 +556,22 @@ class M_NextGen_Admin extends C_Base_Module
555
 
556
  global $ngg_fs;
557
  // make sure we don't trigger the wizards if NGG Fremius is running or this is an AJAX request
558
- if (isset($_REQUEST['ngg_dismiss_notice']) || (is_admin() && !M_Attach_To_Post::is_atp_url() && !isset($_REQUEST['attach_to_post']) && (!isset($ngg_fs) || !$ngg_fs->is_activation_mode()) && (!defined('DOING_AJAX') || !DOING_AJAX))) {
 
559
  $wizards->set_active(true);
560
  }
561
 
562
  // before adding notices or activating individual wizards, ensure wizards are globally enabled and no wizard is currently running already
563
- if ($wizards->is_active() && $wizards->get_running_wizard() == null) {
 
564
  // add notice for gallery creation wizard
565
  $wizard = $wizards->get_wizard('nextgen.beginner.gallery_creation_igw');
566
 
567
- if (!$wizard->is_completed() && !$wizard->is_cancelled()) {
 
568
  $mapper = C_Gallery_Mapper::get_instance();
569
- if ($mapper->count() == 0) {
 
570
  $wizard->set_active(true);
571
  $notices = C_Admin_Notification_Manager::get_instance();
572
  $notices->add('ngg_wizard_' . $wizard->get_id(), array("message" => __('Thanks for installing NextGEN Gallery! Want help creating your first gallery?', 'nggallery') . ' <a data-ngg-wizard="' . $wizard->get_id() . '" class="ngg-wizard-invoker" href="' . esc_url(add_query_arg('ngg_wizard', $wizard->get_id())) . '">' . __('Launch the Gallery Wizard', 'nggallery') . '</a>. ' . __('If you close this message, you can also launch the Gallery Wizard at any time from the', 'nggallery') . ' <a href="' . esc_url(admin_url('admin.php?page=nextgen-gallery')) . '">' . __('NextGEN Overview page', 'nggallery') . '</a>.'));
@@ -580,15 +585,15 @@ class M_NextGen_Admin extends C_Base_Module
580
 
581
  function enqueue_wizard_components()
582
  {
583
- $router = C_Router::get_instance();
584
 
585
- // Wizards related scripts/styles
586
- wp_register_style(
587
- 'bootstrap-tooltip',
588
- $router->get_static_url('photocrati-nextgen_admin#bootstrap/css/bootstrap-tooltip.css'),
589
- FALSE,
590
- NGG_SCRIPT_VERSION
591
- );
592
 
593
  wp_register_script(
594
  'tourist',
@@ -634,10 +639,6 @@ class M_NextGen_Admin extends C_Base_Module
634
  };
635
  }
636
 
637
- function initialize()
638
- {
639
- }
640
-
641
  /**
642
  * Adds menu pages to manage NextGen Settings
643
  * @uses action: admin_menu
@@ -650,17 +651,18 @@ class M_NextGen_Admin extends C_Base_Module
650
  function get_type_list()
651
  {
652
  return array(
653
- 'A_Fs_Access_Page' => 'adapter.fs_access_page.php',
654
- 'A_MVC_Validation' => 'adapter.mvc_validation.php',
655
- 'C_Nextgen_Admin_Installer' => 'class.nextgen_admin_installer.php',
656
- 'A_Nextgen_Admin_Default_Pages' => 'adapter.nextgen_admin_default_pages.php',
657
- 'A_Nextgen_Settings_Routes' => 'adapter.nextgen_settings_routes.php',
658
- 'C_Form' => 'class.form.php',
659
- 'C_Form_Manager' => 'class.form_manager.php',
660
- 'C_Nextgen_Admin_Page_Controller' => 'class.nextgen_admin_page_controller.php',
661
- 'C_NextGen_Admin_Page_Manager' => 'class.nextgen_admin_page_manager.php',
662
- 'C_Admin_Notification_Manager' => 'class.admin_notification_manager.php',
663
- 'C_NextGEN_Wizard_Manager' => 'class.nextgen_wizard_manager.php',
 
664
  );
665
  }
666
  }
@@ -731,5 +733,4 @@ class C_NextGen_Admin_Option_Handler
731
  }
732
  }
733
 
734
- new M_NextGen_Admin();
735
-
116
  if (has_action($hook))
117
  do_action($hook, $handle, $version);
118
  else
119
+ wp_enqueue_script($handle, '', array(), $version);
120
 
121
  }
122
 
126
  if (has_action($hook))
127
  do_action($hook, $handle, $version);
128
  else
129
+ wp_enqueue_style($handle, '', array(), $version);
130
  }
131
  }
132
 
174
  add_action( 'all_admin_notices', array($this, 'custom_post_type_markup_top'));
175
  add_action( 'admin_footer', array($this, 'custom_post_type_markup_bottom'));
176
 
177
+ // Requirements need to be registered with the notification manager *before* it's serve_ajax_request()
178
+ add_action('init', array(C_Admin_Requirements_Manager::get_instance(), 'create_notification'), -10);
179
+
180
+ // Provides admin notices
181
+ $notices = C_Admin_Notification_Manager::get_instance();
182
  add_action('init', array($notices, 'serve_ajax_request'));
183
  add_action('admin_footer', array($notices, 'enqueue_scripts'));
184
  add_action('do_ngg_notices', array($notices, 'render'));
189
  add_action('all_admin_notices', get_class().'::emit_do_notices_action');
190
  }
191
 
 
 
 
 
192
  if (defined('PHP_VERSION_ID')) {
193
  $php_id = PHP_VERSION_ID;
194
  }
195
  else {
196
  $version = explode('.', PHP_VERSION);
 
197
  $php_id = ($version[0] * 10000 + $version[1] * 100 + $version[2]);
198
  }
199
 
200
  if ($php_id < 50300) {
201
+ $notices->add(
202
+ "ngg_php52_deprecation",
203
+ array("message" => __('PHP 5.2 will be deprecated in a future version of NextGEN. Please upgrade your PHP installation to 5.3 or above.', 'nggallery'))
204
+ );
205
  }
206
 
207
  // Add review notices
297
  'gritter',
298
  $router->get_static_url('photocrati-nextgen_admin#gritter/gritter.min.js'),
299
  array('jquery'),
300
+ NGG_SCRIPT_VERSION
301
  );
302
  wp_register_style(
303
  'gritter',
304
  $router->get_static_url('photocrati-nextgen_admin#gritter/css/gritter.css'),
305
+ array(),
306
+ NGG_SCRIPT_VERSION
307
  );
308
  wp_register_script(
309
  'ngg_progressbar',
310
  $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.js'),
311
  array('gritter'),
312
+ NGG_SCRIPT_VERSION
313
  );
314
  wp_register_style(
315
  'ngg_progressbar',
316
  $router->get_static_url('photocrati-nextgen_admin#ngg_progressbar.css'),
317
  array('gritter'),
318
+ NGG_SCRIPT_VERSION
319
  );
320
  wp_register_style(
321
  'ngg_select2',
322
  $router->get_static_url('photocrati-nextgen_admin#select2/select2.css'),
323
+ array(),
324
+ NGG_SCRIPT_VERSION
325
  );
326
  wp_register_script(
327
  'ngg_select2',
328
  $router->get_static_url('photocrati-nextgen_admin#select2/select2.js'),
329
+ array(),
330
+ NGG_SCRIPT_VERSION
331
  );
332
  wp_register_script(
333
  'jquery.nextgen_radio_toggle',
334
  $router->get_static_url('photocrati-nextgen_admin#jquery.nextgen_radio_toggle.js'),
335
  array('jquery'),
336
+ NGG_SCRIPT_VERSION
337
  );
338
  wp_register_style(
339
  'ngg-jquery-ui',
340
  $router->get_static_url('photocrati-nextgen_admin#jquery-ui/jquery-ui-1.10.4.custom.css'),
341
+ array(),
342
  '1.10.4'
343
  );
344
  wp_register_script(
356
  'nextgen_admin_css',
357
  $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.css'),
358
  array('wp-color-picker'),
359
+ NGG_SCRIPT_VERSION
360
  );
361
  wp_register_script(
362
  'nextgen_admin_js',
363
  $router->get_static_url('photocrati-nextgen_admin#nextgen_admin_page.js'),
364
  array('wp-color-picker'),
365
+ NGG_SCRIPT_VERSION
366
  );
367
 
368
  // Style the parent menu icons for NextGEN-related pages
556
 
557
  global $ngg_fs;
558
  // make sure we don't trigger the wizards if NGG Fremius is running or this is an AJAX request
559
+ if (isset($_REQUEST['ngg_dismiss_notice']) || (is_admin() && !M_Attach_To_Post::is_atp_url() && !isset($_REQUEST['attach_to_post']) && (!isset($ngg_fs) || !$ngg_fs->is_activation_mode()) && (!defined('DOING_AJAX') || !DOING_AJAX)))
560
+ {
561
  $wizards->set_active(true);
562
  }
563
 
564
  // before adding notices or activating individual wizards, ensure wizards are globally enabled and no wizard is currently running already
565
+ if ($wizards->is_active() && $wizards->get_running_wizard() == null)
566
+ {
567
  // add notice for gallery creation wizard
568
  $wizard = $wizards->get_wizard('nextgen.beginner.gallery_creation_igw');
569
 
570
+ if (!$wizard->is_completed() && !$wizard->is_cancelled())
571
+ {
572
  $mapper = C_Gallery_Mapper::get_instance();
573
+ if ($mapper->count() == 0)
574
+ {
575
  $wizard->set_active(true);
576
  $notices = C_Admin_Notification_Manager::get_instance();
577
  $notices->add('ngg_wizard_' . $wizard->get_id(), array("message" => __('Thanks for installing NextGEN Gallery! Want help creating your first gallery?', 'nggallery') . ' <a data-ngg-wizard="' . $wizard->get_id() . '" class="ngg-wizard-invoker" href="' . esc_url(add_query_arg('ngg_wizard', $wizard->get_id())) . '">' . __('Launch the Gallery Wizard', 'nggallery') . '</a>. ' . __('If you close this message, you can also launch the Gallery Wizard at any time from the', 'nggallery') . ' <a href="' . esc_url(admin_url('admin.php?page=nextgen-gallery')) . '">' . __('NextGEN Overview page', 'nggallery') . '</a>.'));
585
 
586
  function enqueue_wizard_components()
587
  {
588
+ $router = C_Router::get_instance();
589
 
590
+ // Wizards related scripts/styles
591
+ wp_register_style(
592
+ 'bootstrap-tooltip',
593
+ $router->get_static_url('photocrati-nextgen_admin#bootstrap/css/bootstrap-tooltip.css'),
594
+ array(),
595
+ NGG_SCRIPT_VERSION
596
+ );
597
 
598
  wp_register_script(
599
  'tourist',
639
  };
640
  }
641
 
 
 
 
 
642
  /**
643
  * Adds menu pages to manage NextGen Settings
644
  * @uses action: admin_menu
651
  function get_type_list()
652
  {
653
  return array(
654
+ 'A_Fs_Access_Page' => 'adapter.fs_access_page.php',
655
+ 'A_MVC_Validation' => 'adapter.mvc_validation.php',
656
+ 'A_Nextgen_Admin_Default_Pages' => 'adapter.nextgen_admin_default_pages.php',
657
+ 'A_Nextgen_Settings_Routes' => 'adapter.nextgen_settings_routes.php',
658
+ 'C_Admin_Notification_Manager' => 'class.admin_notification_manager.php',
659
+ 'C_Admin_Requirements_Manager' => 'class.admin_requirements_manager.php',
660
+ 'C_Form' => 'class.form.php',
661
+ 'C_Form_Manager' => 'class.form_manager.php',
662
+ 'C_NextGEN_Wizard_Manager' => 'class.nextgen_wizard_manager.php',
663
+ 'C_NextGen_Admin_Page_Manager' => 'class.nextgen_admin_page_manager.php',
664
+ 'C_Nextgen_Admin_Installer' => 'class.nextgen_admin_installer.php',
665
+ 'C_Nextgen_Admin_Page_Controller' => 'class.nextgen_admin_page_controller.php'
666
  );
667
  }
668
  }
733
  }
734
  }
735
 
736
+ new M_NextGen_Admin();
 
products/photocrati_nextgen/modules/nextgen_admin/package.module.nextgen_admin.php CHANGED
@@ -204,6 +204,9 @@ class C_Admin_Notification_Manager
204
  * @var C_Admin_Notification_Manager
205
  */
206
  static $_instance = NULL;
 
 
 
207
  static function get_instance()
208
  {
209
  if (!isset(self::$_instance)) {
@@ -325,7 +328,7 @@ class C_Admin_Notification_Manager
325
  {
326
  if ($this->has_displayed_notice()) {
327
  $router = C_Router::get_instance();
328
- wp_enqueue_script('ngg_admin_notices', $router->get_static_url('photocrati-nextgen_admin#admin_notices.js'), FALSE, NGG_SCRIPT_VERSION, TRUE);
329
  wp_localize_script('ngg_admin_notices', 'ngg_dismiss_url', $this->_dismiss_url);
330
  }
331
  }
@@ -358,7 +361,8 @@ class C_Admin_Notification_Manager
358
  $has_method = method_exists($handler, 'is_renderable');
359
  if ($has_method && $handler->is_renderable() || !$has_method) {
360
  $show_dismiss_button = method_exists($handler, 'show_dismiss_button') ? $handler->show_dismiss_button() : method_exists($handler, 'is_dismissable') ? $handler->is_dismissable() : FALSE;
361
- $view = new C_MVC_View('photocrati-nextgen_admin#admin_notice', array('css_class' => method_exists($handler, 'get_css_class') ? $handler->get_css_class() : 'updated', 'is_dismissable' => method_exists($handler, 'is_dismissable') ? $handler->is_dismissable() : FALSE, 'html' => method_exists($handler, 'render') ? $handler->render() : '', 'show_dismiss_button' => $show_dismiss_button, 'notice_name' => $name));
 
362
  $retval = $view->render(TRUE);
363
  $this->_displayed_notice = TRUE;
364
  }
@@ -366,6 +370,168 @@ class C_Admin_Notification_Manager
366
  return $retval;
367
  }
368
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
369
  /**
370
  * Class C_Form
371
  * @mixin Mixin_Form_Instance_Methods
@@ -391,7 +557,7 @@ class C_Form extends C_MVC_Controller
391
  }
392
  /**
393
  * Defines the form
394
- * @param string $context
395
  */
396
  function define($context = FALSE)
397
  {
@@ -428,7 +594,7 @@ class Mixin_Form_Instance_Methods extends Mixin
428
  /**
429
  * Saves the form/model
430
  * @param array $attributes
431
- * @return type
432
  */
433
  function save_action($attributes = array())
434
  {
@@ -443,6 +609,8 @@ class Mixin_Form_Instance_Methods extends Mixin
443
  }
444
  /**
445
  * Returns the rendered form
 
 
446
  */
447
  function render($wrap = TRUE)
448
  {
@@ -515,7 +683,8 @@ class C_Form_Manager extends C_Component
515
  var $_forms = array();
516
  /**
517
  * Returns an instance of the form manager
518
- * @returns C_Form_Manager
 
519
  */
520
  static function &get_instance($context = FALSE)
521
  {
@@ -540,9 +709,9 @@ class Mixin_Form_Manager extends Mixin
540
  {
541
  /**
542
  * Adds one or more
543
- * @param type $type
544
- * @param type $form_names
545
- * @return type
546
  */
547
  function add_form($type, $form_names)
548
  {
@@ -598,7 +767,7 @@ class Mixin_Form_Manager extends Mixin
598
  }
599
  /**
600
  * Gets known form types
601
- * @return type
602
  */
603
  function get_known_types()
604
  {
@@ -607,6 +776,7 @@ class Mixin_Form_Manager extends Mixin
607
  /**
608
  * Gets forms of a particular type
609
  * @param string $type
 
610
  * @return array
611
  */
612
  function get_forms($type, $instantiate = FALSE)
@@ -703,6 +873,10 @@ if (!class_exists('C_NextGen_Admin_Installer')) {
703
  class C_NextGen_Admin_Page_Controller extends C_MVC_Controller
704
  {
705
  static $_instances = array();
 
 
 
 
706
  static function get_instance($context = FALSE)
707
  {
708
  if (!isset(self::$_instances[$context])) {
@@ -782,7 +956,7 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
782
  wp_enqueue_script('photocrati_ajax');
783
  wp_enqueue_script('jquery-ui-accordion');
784
  wp_enqueue_script('nextgen_display_settings_page_placeholder_stub', $this->get_static_url('photocrati-nextgen_admin#jquery.placeholder.min.js'), array('jquery'), NGG_SCRIPT_VERSION, TRUE);
785
- wp_enqueue_style('imagely-admin-font', 'https://fonts.googleapis.com/css?family=Lato:300,400,700,900', false, NGG_SCRIPT_VERSION);
786
  if (method_exists('M_Gallery_Display', 'enqueue_fontawesome')) {
787
  M_Gallery_Display::enqueue_fontawesome();
788
  }
@@ -793,7 +967,7 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
793
  function enqueue_jquery_ui_theme()
794
  {
795
  $settings = C_NextGen_Settings::get_instance();
796
- wp_enqueue_style($settings->jquery_ui_theme, is_ssl() ? str_replace('http:', 'https:', $settings->jquery_ui_theme_url) : $settings->jquery_ui_theme_url, FALSE, $settings->jquery_ui_theme_version);
797
  }
798
  /**
799
  * Returns the page title
@@ -838,15 +1012,16 @@ class Mixin_NextGen_Admin_Page_Instance_Methods extends Mixin
838
  }
839
  /**
840
  * Returns an accordion tab, encapsulating the form
841
- * @param I_Form $form
 
842
  */
843
  function to_accordion_tab($form)
844
  {
845
  return $this->object->render_partial('photocrati-nextgen_admin#accordion_tab', array('id' => $form->get_id(), 'title' => $form->get_title(), 'content' => $form->render(TRUE)), TRUE);
846
  }
847
  /**
848
- * Returns the
849
- * @return type
850
  */
851
  function get_forms()
852
  {
@@ -948,7 +1123,7 @@ class C_NextGen_Admin_Page_Manager extends C_Component
948
  var $_pages = array();
949
  /**
950
  * Gets an instance of the Page Manager
951
- * @param string $context
952
  * @return C_NextGen_Admin_Page_Manager
953
  */
954
  static function &get_instance($context = FALSE)
@@ -961,7 +1136,7 @@ class C_NextGen_Admin_Page_Manager extends C_Component
961
  }
962
  /**
963
  * Defines the instance of the Page Manager
964
- * @param type $context
965
  */
966
  function define($context = FALSE)
967
  {
@@ -1122,6 +1297,9 @@ class Mixin_Page_Manager extends Mixin
1122
  // TODO: Remove some time in 2018
1123
  class C_Page_Manager
1124
  {
 
 
 
1125
  static function get_instance()
1126
  {
1127
  return C_NextGen_Admin_Page_Manager::get_instance();
@@ -1364,7 +1542,8 @@ class C_NextGEN_Wizard_Manager extends C_Component
1364
  var $_handled_query = false;
1365
  /**
1366
  * Returns an instance of the wizard manager
1367
- * @returns C_NextGEN_Wizard_Manager
 
1368
  */
1369
  static function get_instance($context = FALSE)
1370
  {
204
  * @var C_Admin_Notification_Manager
205
  */
206
  static $_instance = NULL;
207
+ /**
208
+ * @return C_Admin_Notification_Manager
209
+ */
210
  static function get_instance()
211
  {
212
  if (!isset(self::$_instance)) {
328
  {
329
  if ($this->has_displayed_notice()) {
330
  $router = C_Router::get_instance();
331
+ wp_enqueue_script('ngg_admin_notices', $router->get_static_url('photocrati-nextgen_admin#admin_notices.js'), array(), NGG_SCRIPT_VERSION, TRUE);
332
  wp_localize_script('ngg_admin_notices', 'ngg_dismiss_url', $this->_dismiss_url);
333
  }
334
  }
361
  $has_method = method_exists($handler, 'is_renderable');
362
  if ($has_method && $handler->is_renderable() || !$has_method) {
363
  $show_dismiss_button = method_exists($handler, 'show_dismiss_button') ? $handler->show_dismiss_button() : method_exists($handler, 'is_dismissable') ? $handler->is_dismissable() : FALSE;
364
+ $template = method_exists($handler, 'get_mvc_template') ? $handler->get_mvc_template() : 'photocrati-nextgen_admin#admin_notice';
365
+ $view = new C_MVC_View($template, array('css_class' => method_exists($handler, 'get_css_class') ? $handler->get_css_class() : 'updated', 'is_dismissable' => method_exists($handler, 'is_dismissable') ? $handler->is_dismissable() : FALSE, 'html' => method_exists($handler, 'render') ? $handler->render() : '', 'show_dismiss_button' => $show_dismiss_button, 'notice_name' => $name));
366
  $retval = $view->render(TRUE);
367
  $this->_displayed_notice = TRUE;
368
  }
370
  return $retval;
371
  }
372
  }
373
+ class C_Admin_Requirements_Manager
374
+ {
375
+ protected $_requirements = array();
376
+ protected $_groups = array();
377
+ public function __construct()
378
+ {
379
+ $this->set_initial_groups();
380
+ }
381
+ protected function set_initial_groups()
382
+ {
383
+ // Requirements can be added with any group key desired but only registered groups will be displayed
384
+ $this->_groups = apply_filters('ngg_admin_requirements_manager_groups', array('phpext' => __('NextGen Gallery requires the following PHP extensions to function correctly. Please contact your hosting provider or systems admin and ask them for assistance:', 'nggallery'), 'phpver' => __('NextGen Gallery has degraded functionality because of your PHP version. Please contact your hosting provider or systems admin and ask them for assistance:', 'nggallery'), 'dirperms' => __('NextGen Gallery has found an issue trying to access the following files or directories. Please ensure the following locations have the correct permissions:', 'nggallery')));
385
+ }
386
+ /**
387
+ * @return C_Admin_Requirements_Manager
388
+ */
389
+ private static $_instance = NULL;
390
+ public static function get_instance()
391
+ {
392
+ if (!isset(self::$_instance)) {
393
+ self::$_instance = new C_Admin_Requirements_Manager();
394
+ }
395
+ return self::$_instance;
396
+ }
397
+ /**
398
+ * @param string $name Unique notification ID
399
+ * @param string $group Choose one of phpext | phpver | dirperms
400
+ * @param callable $callback Method that determines whether the notification should display
401
+ * @param array $data Possible keys: className, message, dismissable
402
+ */
403
+ public function add($name, $group, $callback, $data)
404
+ {
405
+ $this->_requirements[$group][$name] = new C_Admin_Requirements_Notice($name, $callback, $data);
406
+ }
407
+ /**
408
+ * @param string $name
409
+ */
410
+ public function remove($name)
411
+ {
412
+ unset($this->_notifications[$name]);
413
+ }
414
+ public function create_notification()
415
+ {
416
+ foreach ($this->_groups as $groupID => $groupLabel) {
417
+ if (empty($this->_requirements[$groupID])) {
418
+ continue;
419
+ }
420
+ $dismissable = TRUE;
421
+ $notices = array();
422
+ foreach ($this->_requirements[$groupID] as $key => $requirement) {
423
+ $passOrFail = $requirement->run_callback();
424
+ if (!$passOrFail) {
425
+ // If any of the notices can't be dismissed then all notices in that group can't be dismissed
426
+ if (!$requirement->is_dismissable()) {
427
+ // Add important notices to the beginning of the list
428
+ $dismissable = FALSE;
429
+ array_unshift($notices, $requirement);
430
+ } else {
431
+ // Less important notices go to the end of the list
432
+ $notices[] = $requirement;
433
+ }
434
+ }
435
+ }
436
+ // Don't display empty group notices
437
+ if (empty($notices)) {
438
+ continue;
439
+ }
440
+ // Generate the combined message for this group
441
+ $message = '<p>' . $this->_groups[$groupID] . '</p><ul>';
442
+ foreach ($notices as $requirement) {
443
+ // Make non-dismissable notifications bold
444
+ $string = $requirement->is_dismissable() ? $requirement->get_message() : '<strong>' . $requirement->get_message() . '</strong>';
445
+ $message .= '<li>' . $string . '</li>';
446
+ }
447
+ $message .= '</ul>';
448
+ // Generate the notice object
449
+ $name = 'ngg_requirement_notice_' . $groupID . '_' . md5($message);
450
+ $notice = new C_Admin_Requirements_Notice($name, '__return_true', array('dismissable' => $dismissable, 'message' => $message));
451
+ C_Admin_Notification_Manager::get_instance()->add($name, $notice);
452
+ }
453
+ }
454
+ }
455
+ class C_Admin_Requirements_Notice
456
+ {
457
+ protected $_name;
458
+ protected $_data;
459
+ protected $_callback;
460
+ /**
461
+ * C_Admin_Requirements_Notice constructor
462
+ * @param string $name
463
+ * @param callable $callback
464
+ * @param array $data
465
+ */
466
+ public function __construct($name, $callback, $data)
467
+ {
468
+ $this->_name = $name;
469
+ $this->_data = $data;
470
+ $this->_callback = $callback;
471
+ }
472
+ /**
473
+ * @return bool
474
+ */
475
+ public function is_renderable()
476
+ {
477
+ return true;
478
+ }
479
+ /**
480
+ * @return bool
481
+ */
482
+ public function is_dismissable()
483
+ {
484
+ return isset($this->_data['dismissable']) ? $this->_data['dismissable'] : TRUE;
485
+ }
486
+ /**
487
+ * @return string
488
+ */
489
+ public function render()
490
+ {
491
+ return $this->_data["message"];
492
+ }
493
+ /**
494
+ * @return string
495
+ */
496
+ public function get_mvc_template()
497
+ {
498
+ return 'photocrati-nextgen_admin#requirement_notice';
499
+ }
500
+ /**
501
+ * @return string
502
+ */
503
+ public function get_name()
504
+ {
505
+ return $this->_name;
506
+ }
507
+ /**
508
+ * @return bool
509
+ */
510
+ public function run_callback()
511
+ {
512
+ if (is_callable($this->_callback)) {
513
+ return call_user_func($this->_callback);
514
+ } else {
515
+ return false;
516
+ }
517
+ }
518
+ /**
519
+ * @return string
520
+ */
521
+ public function get_css_class()
522
+ {
523
+ $prefix = 'notice notice-';
524
+ if ($this->is_dismissable()) {
525
+ return $prefix . 'warning';
526
+ } else {
527
+ return $prefix . 'error';
528
+ }
529
+ }
530
+ public function get_message()
531
+ {
532
+ return empty($this->_data['message']) ? "" : $this->_data['message'];
533
+ }
534
+ }
535
  /**
536
  * Class C_Form
537
  * @mixin Mixin_Form_Instance_Methods
557
  }
558
  /**
559
  * Defines the form
560
+ * @param string|bool $context (optional)
561
  */
562
  function define($context = FALSE)
563
  {
594
  /**
595
  * Saves the form/model
596
  * @param array $attributes
597
+ * @return bool
598
  */
599
  function save_action($attributes = array())
600
  {
609
  }
610
  /**
611
  * Returns the rendered form
612
+ * @param bool $wrap (optional) Default = true
613
+ * @return string
614
  */
615
  function render($wrap = TRUE)
616
  {
683
  var $_forms = array();
684
  /**
685
  * Returns an instance of the form manager
686
+ * @param string|bool $context (optional)
687
+ * @return C_Form_Manager
688
  */
689
  static function &get_instance($context = FALSE)
690
  {
709
  {
710
  /**
711
  * Adds one or more
712
+ * @param string $type
713
+ * @param array|string $form_names
714
+ * @return int Results of get_form_count($type)
715
  */
716
  function add_form($type, $form_names)
717
  {
767
  }
768
  /**
769
  * Gets known form types
770
+ * @return array
771
  */
772
  function get_known_types()
773
  {
776
  /**
777
  * Gets forms of a particular type
778
  * @param string $type
779
+ * @param string|bool $instantiate (optional)
780
  * @return array
781
  */
782
  function get_forms($type, $instantiate = FALSE)
873
  class C_NextGen_Admin_Page_Controller extends C_MVC_Controller
874
  {
875
  static $_instances = array();
876
+ /**
877
+ * @param bool|string $context
878
+ * @return C_NextGen_Admin_Page_Controller
879
+ */
880
  static function get_instance($context = FALSE)
881
  {
882
  if (!isset(self::$_instances[$context])) {
956
  wp_enqueue_script('photocrati_ajax');
957
  wp_enqueue_script('jquery-ui-accordion');
958
  wp_enqueue_script('nextgen_display_settings_page_placeholder_stub', $this->get_static_url('photocrati-nextgen_admin#jquery.placeholder.min.js'), array('jquery'), NGG_SCRIPT_VERSION, TRUE);
959
+ wp_enqueue_style('imagely-admin-font', 'https://fonts.googleapis.com/css?family=Lato:300,400,700,900', array(), NGG_SCRIPT_VERSION);
960
  if (method_exists('M_Gallery_Display', 'enqueue_fontawesome')) {
961
  M_Gallery_Display::enqueue_fontawesome();
962
  }
967
  function enqueue_jquery_ui_theme()
968
  {
969
  $settings = C_NextGen_Settings::get_instance();
970
+ wp_enqueue_style($settings->jquery_ui_theme, is_ssl() ? str_replace('http:', 'https:', $settings->jquery_ui_theme_url) : $settings->jquery_ui_theme_url, array(), $settings->jquery_ui_theme_version);
971
  }
972
  /**
973
  * Returns the page title
1012
  }
1013
  /**
1014
  * Returns an accordion tab, encapsulating the form
1015
+ * @param C_Form $form
1016
+ * @return string
1017
  */
1018
  function to_accordion_tab($form)
1019
  {
1020
  return $this->object->render_partial('photocrati-nextgen_admin#accordion_tab', array('id' => $form->get_id(), 'title' => $form->get_title(), 'content' => $form->render(TRUE)), TRUE);
1021
  }
1022
  /**
1023
+ * Returns the forms registered for the current get_form_type()
1024
+ * @return array
1025
  */
1026
  function get_forms()
1027
  {
1123
  var $_pages = array();
1124
  /**
1125
  * Gets an instance of the Page Manager
1126
+ * @param string|false $context (optional)
1127
  * @return C_NextGen_Admin_Page_Manager
1128
  */
1129
  static function &get_instance($context = FALSE)
1136
  }
1137
  /**
1138
  * Defines the instance of the Page Manager
1139
+ * @param string $context
1140
  */
1141
  function define($context = FALSE)
1142
  {
1297
  // TODO: Remove some time in 2018
1298
  class C_Page_Manager
1299
  {
1300
+ /**
1301
+ * @return C_NextGen_Admin_Page_Manager
1302
+ */
1303
  static function get_instance()
1304
  {
1305
  return C_NextGen_Admin_Page_Manager::get_instance();
1542
  var $_handled_query = false;
1543
  /**
1544
  * Returns an instance of the wizard manager
1545
+ * @param bool|string $context
1546
+ * @return C_NextGEN_Wizard_Manager
1547
  */
1548
  static function get_instance($context = FALSE)
1549
  {
products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.css CHANGED
@@ -71,7 +71,7 @@
71
  .gritter-title {
72
  font-size:14px;
73
  font-weight:bold;
74
- padding:0 0 7px 0;
75
  display:block;
76
  text-shadow:1px 1px 0 #000; /* Not supported by IE :( */
77
  }
71
  .gritter-title {
72
  font-size:14px;
73
  font-weight:bold;
74
+ padding:0 12px 7px 0;
75
  display:block;
76
  text-shadow:1px 1px 0 #000; /* Not supported by IE :( */
77
  }
products/photocrati_nextgen/modules/nextgen_admin/static/gritter/css/gritter.min.css CHANGED
@@ -1 +1 @@
1
- #gritter-notice-wrapper{position:fixed;top:30px;right:20px;width:301px;z-index:999999}#gritter-notice-wrapper.top-left{left:20px;right:auto}#gritter-notice-wrapper.bottom-right{top:auto;left:auto;bottom:20px;right:20px}#gritter-notice-wrapper.bottom-left{top:auto;right:auto;bottom:20px;left:20px}.gritter-item-wrapper{position:relative;margin:0 0 10px 0;background:url(../images/ie-spacer.gif)}.gritter-top{background:url(../images/gritter.png) no-repeat left -30px;height:10px}.hover .gritter-top{background-position:right -30px}.gritter-bottom{background:url(../images/gritter.png) no-repeat left bottom;height:8px;margin:0}.hover .gritter-bottom{background-position:bottom right}.gritter-item{display:block;background:url(../images/gritter.png) no-repeat left -40px;color:#eee;padding:2px 11px 8px 11px;font-size:11px;font-family:verdana}.hover .gritter-item{background-position:right -40px}.gritter-item p{padding:0;margin:0;word-wrap:break-word}.gritter-close{display:none;position:absolute;top:5px;right:3px;background:url(../images/gritter.png) no-repeat left top;cursor:pointer;width:30px;height:30px}.gritter-title{font-size:14px;font-weight:700;padding:0 0 7px 0;display:block;text-shadow:1px 1px 0 #000}.gritter-image{width:48px;height:48px;float:left}.gritter-with-image,.gritter-without-image{padding:0}.gritter-with-image{width:220px;float:right}.gritter-light .gritter-bottom,.gritter-light .gritter-close,.gritter-light .gritter-item,.gritter-light .gritter-top{background-image:url(../images/gritter-light.png);color:#222}.gritter-light .gritter-title{text-shadow:none}
1
+ #gritter-notice-wrapper{position:fixed;top:30px;right:20px;width:301px;z-index:999999}#gritter-notice-wrapper.top-left{left:20px;right:auto}#gritter-notice-wrapper.bottom-right{top:auto;left:auto;bottom:20px;right:20px}#gritter-notice-wrapper.bottom-left{top:auto;right:auto;bottom:20px;left:20px}.gritter-item-wrapper{position:relative;margin:0 0 10px 0;background:url(../images/ie-spacer.gif)}.gritter-top{background:url(../images/gritter.png) no-repeat left -30px;height:10px}.hover .gritter-top{background-position:right -30px}.gritter-bottom{background:url(../images/gritter.png) no-repeat left bottom;height:8px;margin:0}.hover .gritter-bottom{background-position:bottom right}.gritter-item{display:block;background:url(../images/gritter.png) no-repeat left -40px;color:#eee;padding:2px 11px 8px 11px;font-size:11px;font-family:verdana}.hover .gritter-item{background-position:right -40px}.gritter-item p{padding:0;margin:0;word-wrap:break-word}.gritter-close{display:none;position:absolute;top:5px;right:3px;background:url(../images/gritter.png) no-repeat left top;cursor:pointer;width:30px;height:30px}.gritter-title{font-size:14px;font-weight:700;padding:0 12px 7px 0;display:block;text-shadow:1px 1px 0 #000}.gritter-image{width:48px;height:48px;float:left}.gritter-with-image,.gritter-without-image{padding:0}.gritter-with-image{width:220px;float:right}.gritter-light .gritter-bottom,.gritter-light .gritter-close,.gritter-light .gritter-item,.gritter-light .gritter-top{background-image:url(../images/gritter-light.png);color:#222}.gritter-light .gritter-title{text-shadow:none}
products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.css CHANGED
@@ -54,12 +54,23 @@
54
  max-width: 100%;
55
  }
56
 
57
- .nextgen_settings_colorpicker {
58
  width: 85px !important;
59
  text-align: center;
60
  margin-left: 50px;
61
  }
62
 
 
 
 
 
 
 
 
 
 
 
 
63
  #nextgen_settings_wmXpos,
64
  #nextgen_settings_wmYpos {
65
  width: 65px !important;
@@ -345,9 +356,10 @@ table.nextgen_settings_position {
345
  color: #fff;
346
  content: '\f0c9';
347
  display: block;
348
- font: normal 20px/1 'FontAwesome';
349
  margin: 0 auto;
350
  text-align: center;
 
351
  }
352
 
353
  #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,
@@ -365,9 +377,8 @@ table.nextgen_settings_position {
365
  }
366
 
367
  #ngg_page_content .ngg_page_content_menu a:before {
368
- content: "\f107";
369
  float: left;
370
- font: normal 16px/1 'FontAwesome';
371
  height: 16px;
372
  right: 0;
373
  margin-top: 3px;
@@ -375,6 +386,7 @@ table.nextgen_settings_position {
375
  z-index: 9999;
376
  padding-right: 10px;
377
  content: "\f1de";
 
378
  }
379
 
380
  #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,
54
  max-width: 100%;
55
  }
56
 
57
+ .nextgen_settings_field_colorpicker {
58
  width: 85px !important;
59
  text-align: center;
60
  margin-left: 50px;
61
  }
62
 
63
+ /* These three rules are to prevent 'WP Social Widget' from breaking our use of the WP Color Picker */
64
+ #ngg_page_content .wp-picker-container {
65
+ position: initial !important;
66
+ }
67
+ #ngg_page_content .wp-picker-holder {
68
+ position: initial !important;
69
+ }
70
+ #ngg_page_content .wp-picker-input-wrap {
71
+ position: initial !important;
72
+ }
73
+
74
  #nextgen_settings_wmXpos,
75
  #nextgen_settings_wmYpos {
76
  width: 65px !important;
356
  color: #fff;
357
  content: '\f0c9';
358
  display: block;
359
+ font: normal 20px/1 'Font Awesome 5 Free';
360
  margin: 0 auto;
361
  text-align: center;
362
+ font-weight: 900;
363
  }
364
 
365
  #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,
377
  }
378
 
379
  #ngg_page_content .ngg_page_content_menu a:before {
 
380
  float: left;
381
+ font: normal 16px/1 'Font Awesome 5 Free';
382
  height: 16px;
383
  right: 0;
384
  margin-top: 3px;
386
  z-index: 9999;
387
  padding-right: 10px;
388
  content: "\f1de";
389
+ font-weight: 900;
390
  }
391
 
392
  #ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,
products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.js CHANGED
@@ -94,4 +94,15 @@ jQuery(function($){
94
 
95
  $('input.nextgen_settings_field_colorpicker').wpColorPicker();
96
  $('#ngg_page_content').css('visibility', 'visible');
 
 
 
 
 
 
 
 
 
 
 
97
  });
94
 
95
  $('input.nextgen_settings_field_colorpicker').wpColorPicker();
96
  $('#ngg_page_content').css('visibility', 'visible');
97
+
98
+ // Handle the "recover" and "delete" links in Manage Gallery > each image row
99
+ $('#ngg-listimages .row-actions .confirmrecover, #ngg-listimages .row-actions.submitdelete.delete').on(
100
+ 'click',
101
+ function(event) {
102
+ var target = event.target;
103
+ if (!confirm(target.getAttribute('data-question') + ' "' + target.getAttribute('data-text') + '"')) {
104
+ event.preventDefault();
105
+ }
106
+ }
107
+ );
108
  });
products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.css CHANGED
@@ -1 +1 @@
1
- .ngg-admin .notice,.ngg-admin div.error,.ngg-admin div.updated{margin:20px 15px 0 0}.ngg-admin #ngg_page_content .notice,.ngg-admin #ngg_page_content div.error,.ngg-admin #ngg_page_content div.updated{margin:20px 0 20px 0}.hidden{display:none}.nextgen_advanced_toggle_link{font-size:11px;position:relative;bottom:5px;color:#444}.url_field{width:400px;max-width:100%}.nextgen_settings_colorpicker{width:85px!important;text-align:center;margin-left:50px}#nextgen_settings_wmXpos,#nextgen_settings_wmYpos{width:65px!important}table.nextgen_settings_position{width:auto!important}#ngg_page_content label.tooltip,#ngg_page_content span.tooltip{outline:0;background-image:url(information.png);background-repeat:no-repeat;padding-left:22px;padding-bottom:4px;background-size:18px}#poststuff .ui-accordion h3{padding-left:25px}#lightbox_effects_content table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;padding-top:5px}#lightbox_effects_content tr{height:28px}.ngg-admin #screen-meta-links{padding-bottom:20px}.ngg-admin #wpbody{position:static}#ngg_page_content{padding-bottom:0;width:98%;font-family:lato,sans-serif;height:auto;margin-top:25px;float:left;box-shadow:0 0 100px 10px rgba(0,0,0,.05)}#adminmenu .wp-submenu a[href*=ngg_pro_upgrade]{color:#9fbb1a;font-weight:600}.toplevel_page_nextgen-gallery #ngg_page_content{margin-top:20px}#ngg_page_content.ngg_settings_page{background:#fff}.ngg_gallery_sort,.ngg_manage_albums,.ngg_manage_galleries,.ngg_manage_images{background:#fcfcfc}#ngg_page_content .wrap{margin:0}#ngg_page_content .about-wrap{max-width:100%;background:#fff;float:left;background:#fcfcfc}#ngg_page_content a{color:#9fbb1a}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{background-color:#9fbb1a;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 24px!important;line-height:35px;width:auto!important;border-radius:3px;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700;font-family:Lato,sans-serif}#ngg_page_content .button-primary:hover,#ngg_page_content .button-secondary:hover,#ngg_page_content button:hover{background-color:#a9c524}#ngg_page_content .button-primary:active,#ngg_page_content .button-secondary:active,#ngg_page_content button:active{vertical-align:middle}#ngg_page_content .button-secondary{background-color:#888!important}.ngg-admin #ngg_page_content .notice button,.ngg-admin #ngg_page_content div.error button,.ngg-admin #ngg_page_content div.updated button{background-color:transparent!important;padding:0}#ngg_page_content button,.ngg-admin .notice button,.ngg-admin div.error button,.ngg-admin div.updated button{background:0 0}#ngg_page_content button.wp-color-result{height:24px!important;padding:0 0 0 30px!important;border:1px solid #ddd!important}#ngg_page_content button.wp-color-result:hover{background-color:transparent}#ngg_page_content input[type=checkbox]{height:16px!important;width:16px!important}#ngg_page_content.ngg_settings_page form>p{width:81%;background:#fff;margin:0;float:right}#ngg_page_content .ngg_save_settings_button{margin:30px;font-weight:700;height:40px!important;padding:0 40px!important}#ngg_page_content ::-webkit-input-placeholder{color:#aaa}#ngg_page_content :-ms-input-placeholder{color:#aaa}#ngg_page_content ::-moz-placeholder{color:#aaa;opacity:1}#ngg_page_content :-moz-placeholder{color:#aaa;opacity:1}.ngg-admin .select2-drop.select2-drop-above .select2-search input{width:100%}#ngg_page_content .ngg_page_content_header{border-bottom:10px solid #9fbb1a;height:80px;padding:0 0 0 20px;background:#143650;margin-top:-23px}#ngg_page_content .ngg_page_content_header img{height:40px;padding-top:20px;padding-right:20px;float:left;width:auto}#ngg_page_content .ngg_page_content_header h2,#ngg_page_content .ngg_page_content_header h3{line-height:80px;color:#fff;font-size:18px;font-family:Lato,sans-serif;text-transform:uppercase;letter-spacing:2px;text-align:left;font-weight:900}#ngg_page_content .ngg_page_content_header p{float:right;margin:-98px 0 0 0;font-size:15px;font-style:italic;font-weight:400;color:#cdd3d8;background:rgba(93,134,167,.18);padding:0 40px;border-left:1px solid #566b7c;color:#a7b8c6;line-height:80px}#ngg_page_content .ngg_page_content_header p a{text-decoration:none;font-weight:500;background:#aac43b;color:#fff;padding:5px 10px;font-style:normal;margin:-1px 0 0 20px;border-radius:1px;text-transform:uppercase}#ngg_page_content .ngg_page_content_header .ngg_save_settings_button{margin:0!important}#ngg_page_content .ngg_page_content_menu{padding:20px;width:20%;float:left;padding:0;height:100%;background:0 0}#ngg_page_content .ngg_page_content_menu a{box-shadow:none!important;cursor:pointer;display:block;padding:20px 10px 20px 15px;line-height:22px;margin:0;text-decoration:none;color:#2b5d89;text-transform:uppercase;font-size:11px;border-bottom:1px solid #eee;font-weight:600;letter-spacing:1.2px}.responsive-menu-icon{cursor:pointer;display:none;margin-bottom:5px;text-align:left}.responsive-menu-icon::before{color:#fff;content:'\f0c9';display:block;font:normal 20px/1 FontAwesome;margin:0 auto;text-align:center}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#ngg_page_content .ngg_page_content_menu a:active{outline:0;outline-width:0;outline-color:transparent;border-right:1px solid #fff;background:#9ebc1b;position:relative;color:#fff;margin-right:-1px;font-weight:800;border-bottom:1px solid #9dbd1b}#ngg_page_content .ngg_page_content_menu a:before{content:"\f107";float:left;font:normal 16px/1 FontAwesome;height:16px;right:0;margin-top:3px;text-align:right;z-index:9999;padding-right:10px;content:"\f1de"}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{right:0;border:8px solid transparent;content:"";width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}#ngg_page_content .ngg_page_content_main{padding:10px 20px 20px 30px;min-height:600px;float:left;background:#fff;box-sizing:border-box;width:100%;box-shadow:0 -5px 4px 2px rgba(0,0,0,.05)}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:80%}.gallery_page_ngg_display_settings #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:1000px}.gallery_page_ngg_other_options #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:400px}#ngg_page_content .ngg_manage_tags .ngg_page_content_main{padding:0}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div,#ngg_page_content .ngg_overview .ngg_page_content_main>div,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div:first-of-type,#ngg_page_content .ngg_overview .ngg_page_content_main>div:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div:first-of-type{display:block}#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{color:rgba(29,36,42,.85);font-size:18px;margin:20px 0 30px;text-transform:uppercase}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{color:#888;height:35px;border:1px solid #ddd;padding-left:10px;box-shadow:none;width:200px;box-shadow:inset 0 0 2px 1px rgba(100,100,100,.05)}#ngg_page_content .ngg_page_content_main select{font-size:13px}#ngg_page_content .ngg_page_content_main .select2-container{width:200px!important;line-height:0}#ngg_page_content .ngg_page_content_main .select2-selection--multiple,#ngg_page_content .ngg_page_content_main .select2-selection--single{border:1px solid #ddd}#ngg_page_content .ngg_page_content_main .select2-search{width:100%}#ngg_page_content .ngg_page_content_main .select2-search__field{border-radius:3px}#ngg_page_content .ngg_page_content_main .select2-selection__choice{background:#9fbb1a;background-image:none;border:none;box-shadow:none;color:#fff;line-height:20px;padding:7px 10px 7px 8px;width:92%}#ngg_page_content .ngg_page_content_main .select2-selection__choice__remove{color:#fff;margin-right:6px}#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] .select2-container,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] input,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] select{width:250px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio],#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]{border-radius:50%!important;height:16px!important;width:16px!important;padding:0!important;vertical-align:middle}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio]:checked:before,#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]:checked:before{background-color:#9fbb1a;border-radius:50%;color:transparent;content:"\2022";display:block;height:16px;margin:0 0 0 -1px;vertical-align:middle;width:16px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main table{color:rgba(29,36,42,.85);border-collapse:collapse;width:100%}#ngg_page_content table .sorting-indicator:before{color:#fff!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{border:1px solid #f7f8f3;padding:5px 0!important;height:auto}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{line-height:30px;vertical-align:middle;padding:10px 20px;box-sizing:border-box}.ngg-admin #ngg_page_content .widefat td,.ngg-admin #ngg_page_content .widefat th{padding:10px;color:rgba(118,169,52,.75);color:#aaa;vertical-align:middle}.ngg-admin #ngg_page_content .widefat tfoot th,.ngg-admin #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{font-weight:400!important;font-size:13px!important;line-height:1.5!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td:first-of-type{width:300px;text-align:left;font-weight:400;padding-top:8px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table table tr td:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main table table tr td:first-of-type{width:auto;font-weight:400;padding:10px 20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr:nth-of-type(2n),#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr:nth-of-type(2n){background-color:#f7f8f3}#ngg_page_content.ngg_settings_page .ngg_page_content_main tr.watermark_field{padding:10px 0!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table{border:1px solid #d3e1c8}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td{padding:5px 15px!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td:first-of-type{width:auto!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table tr{border:none;padding:0!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field img{max-width:100%}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main p.description{font-size:14px;color:#666}#ngg_page_content.ngg_settings_page .ngg_page_content_main label{margin-right:5px}#ngg_page_content.ngg_settings_page .ngg_page_content_main label:last-of-type{margin-right:15px}#ngg_page_content.ngg_settings_page .nextgen_settings_position td,#ngg_page_content.ngg_settings_page .nextgen_settings_position tr:nth-of-type(2n){border:none!important}#ngg_page_content.ngg_settings_page .nextgen_pro_lightbox_admin_header{background:#38576f!important;margin-top:20px}.nextgen_pro_lightbox_admin_header td{padding-left:0!important}.nextgen_pro_lightbox_admin_header td h3{text-transform:none!important;color:#fff!important;margin:0 0 0 20px!important}.ngg_options_promo{background:#224460;color:#fff;font-family:Lato,sans-serif;font-size:14px;font-weight:600}.ngg_options_promo a{text-decoration:none;font-weight:600;margin-left:6px}.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main tbody tr td.ngg_options_promo{width:100%!important}#tr_photocrati-nextgen_basic_imagebrowser_ngg_triggers_display,#tr_photocrati-nextgen_basic_slideshow_ngg_triggers_display{display:none}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{background-color:#9fbb1a!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important}.ngg-post-type .ngg_page_content_main .button:hover,.ngg-post-type .ngg_page_content_main .page-title-action:hover{background-color:#a9c524!important}.ngg-post-type .ngg_page_content_main .page-title-action{padding:8px 16px!important}.ngg-post-type .ngg_admin_notice{display:none}.ngg-post-type .ngg_page_content_main .tablenav{margin:0 0 20px}.ngg-post-type .ngg_page_content_main .tablenav .actions,.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages{margin:10px 0}.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages a,.ngg-post-type .ngg_page_content_main .tablenav-pages-navspan{background:#556472;border:none;color:#fff!important;margin:0 2px}.ngg-post-type #ngg_page_content .ngg_page_content_main .tablenav input.current-page{width:50px!important}.ngg-post-type .ngg_page_content_main table{box-shadow:none;table-layout:auto;border:1px solid rgba(159,187,26,.08)}.ngg-post-type .ngg_page_content_main table tfoot,.ngg-post-type .ngg_page_content_main table thead{background-color:#38576f;text-transform:uppercase}.ngg-post-type .ngg_page_content_main table tfoot{background-color:#38576f}.ngg-post-type .ngg_page_content_main table tfoot a,.ngg-post-type .ngg_page_content_main table thead a{padding:0}.ngg-post-type .ngg_page_content_main table tfoot span,.ngg-post-type .ngg_page_content_main table thead span{color:#fff;font-size:15px}.ngg-post-type .ngg_page_content_main table thead td,.ngg-post-type .ngg_page_content_main table thead th{background-color:transparent;border:none;color:#fff}.ngg-post-type .ngg_page_content_main table thead td{padding:12px 5px!important}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]{height:13px!important;width:13px!important;min-width:auto;margin-top:2px}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{color:#9fbb1a;margin:-5px 0 0 -5px}.ngg-post-type #ngg_page_content .sorting-indicator:before{color:#fff!important}.ngg-post-type .ngg_page_content_main .striped>tbody>:nth-child(odd){background-color:#f7f8f3}.ngg-post-type .ngg_page_content_main a.row-title{font-weight:400}.ngg-post-type .ngg_page_content_main .row-actions{left:0;padding-top:0}.ngg-post-type .ngg_page_content_main .row-actions a{color:rgba(118,169,52,.75)!important;color:#aaa!important}.ngg-post-type .ngg_page_content_main td.column-title strong{margin-bottom:0}.ngg-post-type #wpbody-content .quick-edit-row-page .inline-edit-col-left{width:100%}.ngg-post-type #ngg_page_content .widefat td,.ngg-post-type #ngg_page_content .widefat th{padding:10px;color:rgba(118,169,52,.75);color:#aaa;vertical-align:middle}.ngg-post-type #ngg_page_content .widefat tfoot th,.ngg-post-type #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}.ngg-post-type .ngg_page_content_main .tablenav.bottom{margin:10px 0 0}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab{padding:10px;background:#38576f;margin-bottom:0}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab a{color:#fff;text-decoration:none}.ngg-admin #postbox-container-2 .postbox,.ngg-post-type .accordion>div{border-left:1px solid rgba(159,187,26,.05);border-bottom:1px solid rgba(159,187,26,.05);border-right:1px solid rgba(159,187,26,.05);margin-bottom:30px;background-color:#f7f8f3}.ngg-post-type .accordion>div{padding:20px;margin-bottom:30px}.ngg-post-type .accordion>div table{border:none}.ngg-admin #postbox-container-2 .postbox .inside{margin:0}.ngg-admin #postbox-container-2 .postbox .inside a{color:#9fbb1a}.ngg-admin #postbox-container-2 .postbox .inside td,.ngg-admin #postbox-container-2 .postbox .inside th{padding:5px 10px}.ngg-admin #postbox-container-2 .postbox .inside .button-primary,.ngg-post-type .accordion>div .button-primary{margin:15px 0 0}.ngg-post-type table input[type=text]{margin:0}@media (max-width:1030px){#ngg_page_content .ngg_page_content_header p{padding:0 20px}}@media (max-width:900px){#ngg_page_content .ngg_page_content_header p{display:none}}@media (max-width:782px){.ngg-post-type #ngg_page_content button.toggle-row{width:40px!important;height:40px!important;background:0 0!important}.ngg-post-type tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){padding:3px 8px 3px 35%}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{font:400 20px/1 dashicons!important}#ngg_page_content .ngg_page_content_header img{padding-right:10px}#ngg_page_content .ngg_overview .ngg_page_content_header h3,#ngg_page_content .ngg_page_content_header h3{font-size:14px}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content .ngg_page_content_menu,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:100%}#ngg_page_content .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{padding:20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main tbody,#ngg_page_content.ngg_settings_page .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody{display:block!important;max-width:100%}#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody.hidden{display:none!important}#attach_to_post_tabs #displayed_tab #ngg_page_content #slug_configuration{display:none!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{display:block!important;padding:10px 0 20px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{display:block;padding:2px 10px}#ngg_page_content.ngg_settings_page .ngg_page_content_main table.nextgen_settings_position tr td{display:table-cell}#ngg_page_content.ngg_settings_page .ngg_page_content_main h2,#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{text-align:center}#ngg_page_content.ngg_settings_page form>p{width:100%;padding:15px;box-sizing:border-box}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content .ngg_page_content_main .select2-container,#ngg_page_content .ngg_page_content_main input[type=number],#ngg_page_content .ngg_page_content_main input[type=text],#ngg_page_content .ngg_page_content_main select{width:100%!important}#ngg_page_content button.wp-color-result{width:auto!important}#ngg_page_content button.wp-color-result .wp-color-result-text{line-height:22px}.ngg-post-type .ngg_page_content_main .subsubsub{width:100%}.ngg-post-type .ngg_page_content_main .tablenav .actions{width:100%}.ngg-post-type #ngg_page_content .ngg_page_content_main input,.ngg-post-type #ngg_page_content .ngg_page_content_main select{width:100%!important;max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content input[type=checkbox]{width:16px!important}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{width:100%!important;margin:4px 0;display:block;text-align:center}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{width:80%!important;margin:4px 0;display:block;text-align:center;margin:10px auto 20px;padding:0!important}.ngg-post-type .ngg_page_content_main .displaying-num{display:none}#gallery_selection label{display:block;padding-bottom:8px}.post-type-ngg_pricelist .accordion table{width:100%!important}.post-type-ngg_pricelist .accordion #manual_shipping_options td{display:block;width:100%!important}.post-type-ngg_pricelist #ngg_page_content .accordion table input.shipping_rate{width:100%;max-width:100%}.post-type-ngg_pricelist .accordion input[type=checkbox]:checked:before{font:400 21px/1 dashicons}.ngg-post-type #ngg_page_content h1{text-align:center;display:block}#ngg_page_content .responsive-menu-icon{display:block;background:#9fbb1a;padding:10px 0 15px}#ngg_page_content .responsive-menu{display:none;float:none;margin:0}#ngg_page_content .responsive-menu a{display:block}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{display:none}}
1
+ .ngg-admin .notice,.ngg-admin div.error,.ngg-admin div.updated{margin:20px 15px 0 0}.ngg-admin #ngg_page_content .notice,.ngg-admin #ngg_page_content div.error,.ngg-admin #ngg_page_content div.updated{margin:20px 0 20px 0}.hidden{display:none}.nextgen_advanced_toggle_link{font-size:11px;position:relative;bottom:5px;color:#444}.url_field{width:400px;max-width:100%}.nextgen_settings_field_colorpicker{width:85px!important;text-align:center;margin-left:50px}#ngg_page_content .wp-picker-container{position:initial!important}#ngg_page_content .wp-picker-holder{position:initial!important}#ngg_page_content .wp-picker-input-wrap{position:initial!important}#nextgen_settings_wmXpos,#nextgen_settings_wmYpos{width:65px!important}table.nextgen_settings_position{width:auto!important}#ngg_page_content label.tooltip,#ngg_page_content span.tooltip{outline:0;background-image:url(information.png);background-repeat:no-repeat;padding-left:22px;padding-bottom:4px;background-size:18px}#poststuff .ui-accordion h3{padding-left:25px}#lightbox_effects_content table tr td:first-child{vertical-align:top;text-align:right;padding-right:7px;padding-top:5px}#lightbox_effects_content tr{height:28px}.ngg-admin #screen-meta-links{padding-bottom:20px}.ngg-admin #wpbody{position:static}#ngg_page_content{padding-bottom:0;width:98%;font-family:lato,sans-serif;height:auto;margin-top:25px;float:left;box-shadow:0 0 100px 10px rgba(0,0,0,.05)}#adminmenu .wp-submenu a[href*=ngg_pro_upgrade]{color:#9fbb1a;font-weight:600}.toplevel_page_nextgen-gallery #ngg_page_content{margin-top:20px}#ngg_page_content.ngg_settings_page{background:#fff}.ngg_gallery_sort,.ngg_manage_albums,.ngg_manage_galleries,.ngg_manage_images{background:#fcfcfc}#ngg_page_content .wrap{margin:0}#ngg_page_content .about-wrap{max-width:100%;background:#fff;float:left;background:#fcfcfc}#ngg_page_content a{color:#9fbb1a}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{background-color:#9fbb1a;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 24px!important;line-height:35px;width:auto!important;border-radius:3px;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700;font-family:Lato,sans-serif}#ngg_page_content .button-primary:hover,#ngg_page_content .button-secondary:hover,#ngg_page_content button:hover{background-color:#a9c524}#ngg_page_content .button-primary:active,#ngg_page_content .button-secondary:active,#ngg_page_content button:active{vertical-align:middle}#ngg_page_content .button-secondary{background-color:#888!important}.ngg-admin #ngg_page_content .notice button,.ngg-admin #ngg_page_content div.error button,.ngg-admin #ngg_page_content div.updated button{background-color:transparent!important;padding:0}#ngg_page_content button,.ngg-admin .notice button,.ngg-admin div.error button,.ngg-admin div.updated button{background:0 0}#ngg_page_content button.wp-color-result{height:24px!important;padding:0 0 0 30px!important;border:1px solid #ddd!important}#ngg_page_content button.wp-color-result:hover{background-color:transparent}#ngg_page_content input[type=checkbox]{height:16px!important;width:16px!important}#ngg_page_content.ngg_settings_page form>p{width:81%;background:#fff;margin:0;float:right}#ngg_page_content .ngg_save_settings_button{margin:30px;font-weight:700;height:40px!important;padding:0 40px!important}#ngg_page_content ::-webkit-input-placeholder{color:#aaa}#ngg_page_content :-ms-input-placeholder{color:#aaa}#ngg_page_content ::-moz-placeholder{color:#aaa;opacity:1}#ngg_page_content :-moz-placeholder{color:#aaa;opacity:1}.ngg-admin .select2-drop.select2-drop-above .select2-search input{width:100%}#ngg_page_content .ngg_page_content_header{border-bottom:10px solid #9fbb1a;height:80px;padding:0 0 0 20px;background:#143650;margin-top:-23px}#ngg_page_content .ngg_page_content_header img{height:40px;padding-top:20px;padding-right:20px;float:left;width:auto}#ngg_page_content .ngg_page_content_header h2,#ngg_page_content .ngg_page_content_header h3{line-height:80px;color:#fff;font-size:18px;font-family:Lato,sans-serif;text-transform:uppercase;letter-spacing:2px;text-align:left;font-weight:900}#ngg_page_content .ngg_page_content_header p{float:right;margin:-98px 0 0 0;font-size:15px;font-style:italic;font-weight:400;color:#cdd3d8;background:rgba(93,134,167,.18);padding:0 40px;border-left:1px solid #566b7c;color:#a7b8c6;line-height:80px}#ngg_page_content .ngg_page_content_header p a{text-decoration:none;font-weight:500;background:#aac43b;color:#fff;padding:5px 10px;font-style:normal;margin:-1px 0 0 20px;border-radius:1px;text-transform:uppercase}#ngg_page_content .ngg_page_content_header .ngg_save_settings_button{margin:0!important}#ngg_page_content .ngg_page_content_menu{padding:20px;width:20%;float:left;padding:0;height:100%;background:0 0}#ngg_page_content .ngg_page_content_menu a{box-shadow:none!important;cursor:pointer;display:block;padding:20px 10px 20px 15px;line-height:22px;margin:0;text-decoration:none;color:#2b5d89;text-transform:uppercase;font-size:11px;border-bottom:1px solid #eee;font-weight:600;letter-spacing:1.2px}.responsive-menu-icon{cursor:pointer;display:none;margin-bottom:5px;text-align:left}.responsive-menu-icon::before{color:#fff;content:'\f0c9';display:block;font:normal 20px/1 'Font Awesome 5 Free';margin:0 auto;text-align:center;font-weight:900}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active,#ngg_page_content .ngg_page_content_menu a:active{outline:0;outline-width:0;outline-color:transparent;border-right:1px solid #fff;background:#9ebc1b;position:relative;color:#fff;margin-right:-1px;font-weight:800;border-bottom:1px solid #9dbd1b}#ngg_page_content .ngg_page_content_menu a:before{float:left;font:normal 16px/1 'Font Awesome 5 Free';height:16px;right:0;margin-top:3px;text-align:right;z-index:9999;padding-right:10px;content:"\f1de";font-weight:900}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{right:0;border:8px solid transparent;content:"";width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}#ngg_page_content .ngg_page_content_main{padding:10px 20px 20px 30px;min-height:600px;float:left;background:#fff;box-sizing:border-box;width:100%;box-shadow:0 -5px 4px 2px rgba(0,0,0,.05)}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:80%}.gallery_page_ngg_display_settings #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:1000px}.gallery_page_ngg_other_options #ngg_page_content.ngg_settings_page .ngg_page_content_main{min-height:400px}#ngg_page_content .ngg_manage_tags .ngg_page_content_main{padding:0}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div,#ngg_page_content .ngg_overview .ngg_page_content_main>div,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div{display:none}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main>div:first-of-type,#ngg_page_content .ngg_overview .ngg_page_content_main>div:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main>div:first-of-type{display:block}#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{color:rgba(29,36,42,.85);font-size:18px;margin:20px 0 30px;text-transform:uppercase}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{color:#888;height:35px;border:1px solid #ddd;padding-left:10px;box-shadow:none;width:200px;box-shadow:inset 0 0 2px 1px rgba(100,100,100,.05)}#ngg_page_content .ngg_page_content_main select{font-size:13px}#ngg_page_content .ngg_page_content_main .select2-container{width:200px!important;line-height:0}#ngg_page_content .ngg_page_content_main .select2-selection--multiple,#ngg_page_content .ngg_page_content_main .select2-selection--single{border:1px solid #ddd}#ngg_page_content .ngg_page_content_main .select2-search{width:100%}#ngg_page_content .ngg_page_content_main .select2-search__field{border-radius:3px}#ngg_page_content .ngg_page_content_main .select2-selection__choice{background:#9fbb1a;background-image:none;border:none;box-shadow:none;color:#fff;line-height:20px;padding:7px 10px 7px 8px;width:92%}#ngg_page_content .ngg_page_content_main .select2-selection__choice__remove{color:#fff;margin-right:6px}#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] .select2-container,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] input,#ngg_page_content .ngg_page_content_main div[data-id=lightbox_effects] select{width:250px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio],#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]{border-radius:50%!important;height:16px!important;width:16px!important;padding:0!important;vertical-align:middle}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main input[type=radio]:checked:before,#ngg_page_content.ngg_settings_page .ngg_page_content_main input[type=radio]:checked:before{background-color:#9fbb1a;border-radius:50%;color:transparent;content:"\2022";display:block;height:16px;margin:0 0 0 -1px;vertical-align:middle;width:16px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main table{color:rgba(29,36,42,.85);border-collapse:collapse;width:100%}#ngg_page_content table .sorting-indicator:before{color:#fff!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{border:1px solid #f7f8f3;padding:5px 0!important;height:auto}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{line-height:30px;vertical-align:middle;padding:10px 20px;box-sizing:border-box}.ngg-admin #ngg_page_content .widefat td,.ngg-admin #ngg_page_content .widefat th{padding:10px;color:rgba(118,169,52,.75);color:#aaa;vertical-align:middle}.ngg-admin #ngg_page_content .widefat tfoot th,.ngg-admin #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{font-weight:400!important;font-size:13px!important;line-height:1.5!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td:first-of-type{width:300px;text-align:left;font-weight:400;padding-top:8px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table table tr td:first-of-type,#ngg_page_content.ngg_settings_page .ngg_page_content_main table table tr td:first-of-type{width:auto;font-weight:400;padding:10px 20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr:nth-of-type(2n),#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr:nth-of-type(2n){background-color:#f7f8f3}#ngg_page_content.ngg_settings_page .ngg_page_content_main tr.watermark_field{padding:10px 0!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table{border:1px solid #d3e1c8}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td{padding:5px 15px!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table td:first-of-type{width:auto!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field table tr{border:none;padding:0!important}#ngg_page_content.ngg_settings_page .ngg_page_content_main .watermark_field img{max-width:100%}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main label,#ngg_page_content.ngg_settings_page .ngg_page_content_main p.description{font-size:14px;color:#666}#ngg_page_content.ngg_settings_page .ngg_page_content_main label{margin-right:5px}#ngg_page_content.ngg_settings_page .ngg_page_content_main label:last-of-type{margin-right:15px}#ngg_page_content.ngg_settings_page .nextgen_settings_position td,#ngg_page_content.ngg_settings_page .nextgen_settings_position tr:nth-of-type(2n){border:none!important}#ngg_page_content.ngg_settings_page .nextgen_pro_lightbox_admin_header{background:#38576f!important;margin-top:20px}.nextgen_pro_lightbox_admin_header td{padding-left:0!important}.nextgen_pro_lightbox_admin_header td h3{text-transform:none!important;color:#fff!important;margin:0 0 0 20px!important}.ngg_options_promo{background:#224460;color:#fff;font-family:Lato,sans-serif;font-size:14px;font-weight:600}.ngg_options_promo a{text-decoration:none;font-weight:600;margin-left:6px}.gallery_page_ngg_other_options #ngg_page_content .ngg_page_content_main tbody tr td.ngg_options_promo{width:100%!important}#tr_photocrati-nextgen_basic_imagebrowser_ngg_triggers_display,#tr_photocrati-nextgen_basic_slideshow_ngg_triggers_display{display:none}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{background-color:#9fbb1a!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important}.ngg-post-type .ngg_page_content_main .button:hover,.ngg-post-type .ngg_page_content_main .page-title-action:hover{background-color:#a9c524!important}.ngg-post-type .ngg_page_content_main .page-title-action{padding:8px 16px!important}.ngg-post-type .ngg_admin_notice{display:none}.ngg-post-type .ngg_page_content_main .tablenav{margin:0 0 20px}.ngg-post-type .ngg_page_content_main .tablenav .actions,.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages{margin:10px 0}.ngg-post-type .ngg_page_content_main .tablenav .tablenav-pages a,.ngg-post-type .ngg_page_content_main .tablenav-pages-navspan{background:#556472;border:none;color:#fff!important;margin:0 2px}.ngg-post-type #ngg_page_content .ngg_page_content_main .tablenav input.current-page{width:50px!important}.ngg-post-type .ngg_page_content_main table{box-shadow:none;table-layout:auto;border:1px solid rgba(159,187,26,.08)}.ngg-post-type .ngg_page_content_main table tfoot,.ngg-post-type .ngg_page_content_main table thead{background-color:#38576f;text-transform:uppercase}.ngg-post-type .ngg_page_content_main table tfoot{background-color:#38576f}.ngg-post-type .ngg_page_content_main table tfoot a,.ngg-post-type .ngg_page_content_main table thead a{padding:0}.ngg-post-type .ngg_page_content_main table tfoot span,.ngg-post-type .ngg_page_content_main table thead span{color:#fff;font-size:15px}.ngg-post-type .ngg_page_content_main table thead td,.ngg-post-type .ngg_page_content_main table thead th{background-color:transparent;border:none;color:#fff}.ngg-post-type .ngg_page_content_main table thead td{padding:12px 5px!important}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]{height:13px!important;width:13px!important;min-width:auto;margin-top:2px}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{color:#9fbb1a;margin:-5px 0 0 -5px}.ngg-post-type #ngg_page_content .sorting-indicator:before{color:#fff!important}.ngg-post-type .ngg_page_content_main .striped>tbody>:nth-child(odd){background-color:#f7f8f3}.ngg-post-type .ngg_page_content_main a.row-title{font-weight:400}.ngg-post-type .ngg_page_content_main .row-actions{left:0;padding-top:0}.ngg-post-type .ngg_page_content_main .row-actions a{color:rgba(118,169,52,.75)!important;color:#aaa!important}.ngg-post-type .ngg_page_content_main td.column-title strong{margin-bottom:0}.ngg-post-type #wpbody-content .quick-edit-row-page .inline-edit-col-left{width:100%}.ngg-post-type #ngg_page_content .widefat td,.ngg-post-type #ngg_page_content .widefat th{padding:10px;color:rgba(118,169,52,.75);color:#aaa;vertical-align:middle}.ngg-post-type #ngg_page_content .widefat tfoot th,.ngg-post-type #ngg_page_content .widefat thead th{padding:0 10px;color:#fff;text-transform:uppercase}.ngg-post-type .ngg_page_content_main .tablenav.bottom{margin:10px 0 0}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab{padding:10px;background:#38576f;margin-bottom:0}.ngg-admin #postbox-container-2 h2.ui-sortable-handle,.ngg-post-type #ngg_page_content h3.accordion_tab a{color:#fff;text-decoration:none}.ngg-admin #postbox-container-2 .postbox,.ngg-post-type .accordion>div{border-left:1px solid rgba(159,187,26,.05);border-bottom:1px solid rgba(159,187,26,.05);border-right:1px solid rgba(159,187,26,.05);margin-bottom:30px;background-color:#f7f8f3}.ngg-post-type .accordion>div{padding:20px;margin-bottom:30px}.ngg-post-type .accordion>div table{border:none}.ngg-admin #postbox-container-2 .postbox .inside{margin:0}.ngg-admin #postbox-container-2 .postbox .inside a{color:#9fbb1a}.ngg-admin #postbox-container-2 .postbox .inside td,.ngg-admin #postbox-container-2 .postbox .inside th{padding:5px 10px}.ngg-admin #postbox-container-2 .postbox .inside .button-primary,.ngg-post-type .accordion>div .button-primary{margin:15px 0 0}.ngg-post-type table input[type=text]{margin:0}@media (max-width:1030px){#ngg_page_content .ngg_page_content_header p{padding:0 20px}}@media (max-width:900px){#ngg_page_content .ngg_page_content_header p{display:none}}@media (max-width:782px){.ngg-post-type #ngg_page_content button.toggle-row{width:40px!important;height:40px!important;background:0 0!important}.ngg-post-type tr:not(.inline-edit-row):not(.no-items) td.column-primary~td:not(.check-column){padding:3px 8px 3px 35%}.ngg-post-type #ngg_page_content .ngg_page_content_main input[type=checkbox]:checked:before{font:400 20px/1 dashicons!important}#ngg_page_content .ngg_page_content_header img{padding-right:10px}#ngg_page_content .ngg_overview .ngg_page_content_header h3,#ngg_page_content .ngg_page_content_header h3{font-size:14px}#ngg_page_content .ngg_overview .ngg_page_content_main,#ngg_page_content .ngg_page_content_menu,#ngg_page_content.ngg_settings_page .ngg_page_content_main{width:100%}#ngg_page_content .ngg_page_content_main,#ngg_page_content.ngg_settings_page .ngg_page_content_main{padding:20px}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table,#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main tbody,#ngg_page_content.ngg_settings_page .ngg_page_content_main table,#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody{display:block!important;max-width:100%}#ngg_page_content.ngg_settings_page .ngg_page_content_main tbody.hidden{display:none!important}#attach_to_post_tabs #displayed_tab #ngg_page_content #slug_configuration{display:none!important}#attach_to_post_tabs #displayed_tab #display_settings_tab_content table tr,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr{display:block!important;padding:10px 0 20px!important}#attach_to_post_tabs #displayed_tab #ngg_page_content .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr td,#ngg_page_content.ngg_settings_page .ngg_page_content_main table tr th{display:block;padding:2px 10px}#ngg_page_content.ngg_settings_page .ngg_page_content_main table.nextgen_settings_position tr td{display:table-cell}#ngg_page_content.ngg_settings_page .ngg_page_content_main h2,#ngg_page_content.ngg_settings_page .ngg_page_content_main h3{text-align:center}#ngg_page_content.ngg_settings_page form>p{width:100%;padding:15px;box-sizing:border-box}#ngg_page_content .ngg_page_content_main input,#ngg_page_content .ngg_page_content_main select{max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content .ngg_page_content_main .select2-container,#ngg_page_content .ngg_page_content_main input[type=number],#ngg_page_content .ngg_page_content_main input[type=text],#ngg_page_content .ngg_page_content_main select{width:100%!important}#ngg_page_content button.wp-color-result{width:auto!important}#ngg_page_content button.wp-color-result .wp-color-result-text{line-height:22px}.ngg-post-type .ngg_page_content_main .subsubsub{width:100%}.ngg-post-type .ngg_page_content_main .tablenav .actions{width:100%}.ngg-post-type #ngg_page_content .ngg_page_content_main input,.ngg-post-type #ngg_page_content .ngg_page_content_main select{width:100%!important;max-width:100%;margin:5px 0;box-sizing:border-box}#ngg_page_content input[type=checkbox]{width:16px!important}#ngg_page_content .button-primary,#ngg_page_content .button-secondary,#ngg_page_content button{width:100%!important;margin:4px 0;display:block;text-align:center}.ngg-post-type .ngg_page_content_main .button,.ngg-post-type .ngg_page_content_main .page-title-action{width:80%!important;margin:4px 0;display:block;text-align:center;margin:10px auto 20px;padding:0!important}.ngg-post-type .ngg_page_content_main .displaying-num{display:none}#gallery_selection label{display:block;padding-bottom:8px}.post-type-ngg_pricelist .accordion table{width:100%!important}.post-type-ngg_pricelist .accordion #manual_shipping_options td{display:block;width:100%!important}.post-type-ngg_pricelist #ngg_page_content .accordion table input.shipping_rate{width:100%;max-width:100%}.post-type-ngg_pricelist .accordion input[type=checkbox]:checked:before{font:400 21px/1 dashicons}.ngg-post-type #ngg_page_content h1{text-align:center;display:block}#ngg_page_content .responsive-menu-icon{display:block;background:#9fbb1a;padding:10px 0 15px}#ngg_page_content .responsive-menu{display:none;float:none;margin:0}#ngg_page_content .responsive-menu a{display:block}#ngg_page_content .ngg_page_content_menu .ngg_page_content_menu_active:after,#ngg_page_content .ngg_page_content_menu a:active:after{display:none}}
products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_admin_page.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function(e){e(".ngg_page_content_menu a:first-of-type").addClass("ngg_page_content_menu_active"),e(".ngg_page_content_menu a").click(function(n){e(".ngg_page_content_menu a").removeClass("ngg_page_content_menu_active"),e(this).addClass("ngg_page_content_menu_active");e(this).attr("data-id");e(".ngg_page_content_main > div").css("display","none"),e('div[data-id="'+e(this).attr("data-id")+'"]').css("display","block")}),e(".responsive-menu-icon").remove(),e(".ngg_page_content_menu").addClass("responsive-menu").before('<div class="responsive-menu-icon"></div>'),e(".responsive-menu-icon").click(function(){e(this).next(".ngg_page_content_menu").slideToggle("fast")}),e(window).resize(function(){window.innerWidth>640&&(e(".ngg_page_content_menu").removeAttr("style"),e(".responsive-menu > a").removeClass("menu-open"))}),e(".responsive-menu > a").click(function(n){window.innerWidth<782&&e(this).parent(".ngg_page_content_menu").slideToggle("fast")}),e('input[type="submit"], button[type="submit"]').click(function(n){var t=e(this),i=!1;if((i=t.attr("data-confirm"))&&!confirm(i))return void n.preventDefault();if(-1!=t.attr("name").indexOf("_proxy")){var a=t.attr("data-proxy-value");a||(a=t.attr("value"));var s=t.attr("name").replace("_proxy",""),o=e('input[name="'+s+'"]');o.length>0?o.val(a):(o=e("<input/>").attr({type:"hidden",name:s,value:a}),t.parents("form").append(o))}}),e(".nextgen_advanced_toggle_link").on("click",function(n){n.preventDefault();var t="#"+e(this).attr("rel"),i=e(this);e(t).toggle(500,"swing",function(){e(this).hasClass("hidden")?(e(this).removeClass("hidden"),i.text(i.attr("active_label"))):(e(this).addClass("hidden"),i.text(i.attr("hidden_label")))})}),e("input.nextgen_settings_field_colorpicker").wpColorPicker(),e("#ngg_page_content").css("visibility","visible")});
1
+ jQuery(function(e){e(".ngg_page_content_menu a:first-of-type").addClass("ngg_page_content_menu_active"),e(".ngg_page_content_menu a").click(function(t){e(".ngg_page_content_menu a").removeClass("ngg_page_content_menu_active"),e(this).addClass("ngg_page_content_menu_active");e(this).attr("data-id");e(".ngg_page_content_main > div").css("display","none"),e('div[data-id="'+e(this).attr("data-id")+'"]').css("display","block")}),e(".responsive-menu-icon").remove(),e(".ngg_page_content_menu").addClass("responsive-menu").before('<div class="responsive-menu-icon"></div>'),e(".responsive-menu-icon").click(function(){e(this).next(".ngg_page_content_menu").slideToggle("fast")}),e(window).resize(function(){window.innerWidth>640&&(e(".ngg_page_content_menu").removeAttr("style"),e(".responsive-menu > a").removeClass("menu-open"))}),e(".responsive-menu > a").click(function(t){window.innerWidth<782&&e(this).parent(".ngg_page_content_menu").slideToggle("fast")}),e('input[type="submit"], button[type="submit"]').click(function(t){var n=e(this),i=!1;if((i=n.attr("data-confirm"))&&!confirm(i))return void t.preventDefault();if(-1!=n.attr("name").indexOf("_proxy")){var a=n.attr("data-proxy-value");a||(a=n.attr("value"));var s=n.attr("name").replace("_proxy",""),o=e('input[name="'+s+'"]');o.length>0?o.val(a):(o=e("<input/>").attr({type:"hidden",name:s,value:a}),n.parents("form").append(o))}}),e(".nextgen_advanced_toggle_link").on("click",function(t){t.preventDefault();var n="#"+e(this).attr("rel"),i=e(this);e(n).toggle(500,"swing",function(){e(this).hasClass("hidden")?(e(this).removeClass("hidden"),i.text(i.attr("active_label"))):(e(this).addClass("hidden"),i.text(i.attr("hidden_label")))})}),e("input.nextgen_settings_field_colorpicker").wpColorPicker(),e("#ngg_page_content").css("visibility","visible"),e("#ngg-listimages .row-actions .confirmrecover, #ngg-listimages .row-actions.submitdelete.delete").on("click",function(e){var t=e.target;confirm(t.getAttribute("data-question")+' "'+t.getAttribute("data-text")+'"')||e.preventDefault()})});
products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.js CHANGED
@@ -212,7 +212,7 @@ if (typeof(NextGEN_Wizard_Manager) === 'undefined') {
212
  Tourist.Tip.Base.prototype.nextButtonTemplate = '<a class="button-primary pull-right tour-next">Next step →</a>';
213
  Tourist.Tip.Base.prototype.finalButtonTemplate = '<button class="button-primary pull-right tour-next">Finish up</button>';
214
  // override close button template
215
- Tourist.Tip.Base.prototype.closeButtonTemplate = '<a class="btn btn-close tour-close" href="#"><i class="icon icon-remove fa fa-close"></i></a>';
216
 
217
  // override Tourist's BootstrapTip logic to retrieve target bounds
218
  Tourist.Tip.BootstrapTip.prototype._getTargetBounds = function(target) {
212
  Tourist.Tip.Base.prototype.nextButtonTemplate = '<a class="button-primary pull-right tour-next">Next step →</a>';
213
  Tourist.Tip.Base.prototype.finalButtonTemplate = '<button class="button-primary pull-right tour-next">Finish up</button>';
214
  // override close button template
215
+ Tourist.Tip.Base.prototype.closeButtonTemplate = '<a class="btn btn-close tour-close" href="#"><i class="icon icon-remove far fa-window-close"></i></a>';
216
 
217
  // override Tourist's BootstrapTip logic to retrieve target bounds
218
  Tourist.Tip.BootstrapTip.prototype._getTargetBounds = function(target) {
products/photocrati_nextgen/modules/nextgen_admin/static/nextgen_wizards.min.js CHANGED
@@ -1 +1 @@
1
- function NextGEN_Wizard(t,e){this.id=t,this.manager=e,this.data={},this.steps=[],this.status=null,this.tour=null,this.created=Math.floor(Date.now()/1e3)}if("undefined"==typeof NextGEN_Wizard_Manager){NextGEN_Wizard.prototype.start=function(){null!=this.tour&&this.tour.start()},NextGEN_Wizard.prototype.getNextStep=function(t){for(var e=0;e<this.steps.length;e++){if(this.steps[e].id==t)break}return e++,e<this.steps.length?this.steps[e]:null},NextGEN_Wizard.prototype.setState=function(t){};var manager={state:[],wizards:[],runningWizard:null,views:[],starter:null,anchor:null,events:{},targetWatchers:{},refreshTimer:null,nggEvents:[],init:function(){function t(t){this.itemSelector=".view-item",this.currentWizard=null,this.currentStep=null,this.doneFlag=!1,this.init=function(){},this.disable=function(){t.addClass("ngg-wizard-disabled")},this.enable=function(){t.removeClass("ngg-wizard-disabled")},this.reset=function(){t.removeClass("ngg-wizard-has-selection"),t.find(this.itemSelector).removeClass("ngg-wizard-selected")},this.done=function(t){this.doneFlag||(this.doneFlag=!0,this.trigger("done",this,t))}}function e(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("click",e.selector,function(t){i.done(e)})}function i(e){t.call(this,e);var i=this;e.click(function(t){(!e.is("a")||e.attr("href").startsWith("#")||e.hasClass("thickbox"))&&i.done(e)}),this.reset=function(){if(e.is("a")){var t=e.attr("href");t.startsWith("#")||(-1==t.indexOf("?")?t+="?":t+="&",t=t+"ngg_wizard="+this.currentWizard+"&ngg_wizard_step="+this.currentStep,e.attr("href",t))}}}function n(e){t.call(this,e);var i=this;e.on("input",function(t){jQuery(this).val().length>=3&&i.done(e)}),this.reset=function(){}}function r(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("change",e.selector,function(t){jQuery(this).is(":checked")&&i.done(e)}),this.reset=function(){}}function o(e){t.call(this,e);var i=this;e.on("change",function(t){i.done(e)})}"undefined"!=typeof NextGEN_Wizard_Manager_State&&(this.state=NextGEN_Wizard_Manager_State);var a=this;jQuery(window.top.document).find("body").on("nextgen_event",function(t,e){a.nggEvents.push({type:e})}),_.extend(t.prototype,Backbone.Events),_.extend(e.prototype,t.prototype),_.extend(i.prototype,t.prototype),_.extend(n.prototype,t.prototype),_.extend(r.prototype,t.prototype),_.extend(o.prototype,t.prototype);var s=null;s={handler:o,name:"SelectView",selector:"select"},this.views.push(s),s={handler:r,name:"RadioView",selector:"input[type='radio']"},this.views.push(s),s={handler:n,name:"TextView",selector:"input[type='text']"},this.views.push(s),s={handler:i,name:"ButtonView",selector:"a, input[type='button'], input[type='submit']"},this.views.push(s),s={handler:e,name:"GenericView",selector:"*"},this.views.push(s),Tourist.Tip.Base.prototype.nextButtonTemplate='<a class="button-primary pull-right tour-next">Next step →</a>',Tourist.Tip.Base.prototype.finalButtonTemplate='<button class="button-primary pull-right tour-next">Finish up</button>',Tourist.Tip.Base.prototype.closeButtonTemplate='<a class="btn btn-close tour-close" href="#"><i class="icon icon-remove fa fa-close"></i></a>',Tourist.Tip.BootstrapTip.prototype._getTargetBounds=function(t){var e,i;e=t[0],i="function"==typeof e.getBoundingClientRect?e.getBoundingClientRect():{width:e.offsetWidth,height:e.offsetHeight};var n=t.offset();if(t.ownerDocument!=document)for(var r=function(t,e){for(var i=t.find("iframe"),n=[],o=0;o<i.size();o++){var a=jQuery(i.get(o));try{if(a.prop("contentWindow").document==e)return[a]}catch(t){continue}var s=r(a.contents(),e);if(s.length>0){n.push(a);for(var u=0;u<s.length;u++)n.push(s[u]);break}}return n},o=r(jQuery(document),t.get(0).ownerDocument),a=0;a<o.length;a++){var s=o[a],u=s.offset();n.left+=u.left,n.top+=u.top}return jQuery.extend({},i,n)},jQuery(".ngg-wizard-invoker").on("click",function(t){t.preventDefault();for(var e=NextGEN_Wizard_Manager,i=jQuery(this).data("ngg-wizard"),n=null,r=0;r<e.wizards.length;r++){var o=e.wizards[r];if(o.id==i){n=o;break}}return null!=n&&null==this.runningWizard&&n.start(),!1})},bind:function(t,e){t in this.events||(this.events[t]=[]);var i={handler:e};this.events[t].push(i)},trigger:function(t,e){if(void 0===e&&(e={}),t in this.events)for(var i=this.events[t],n=0;n<i.length;n++){var r=i[n];r.handler&&r.handler(this,e)}},didNextgenEventFire:function(t){for(var e=0;e<this.nggEvents.length;e++){if(this.nggEvents[e].type==t)return!0}return!1},getViewForSelector:function(t,e){var i=null;void 0===e&&(e=!0);for(var n=0;n<this.views.length;n++){var r=this.views[n];if(t.is(r.selector)){i=r.handler;break}}if(null!=i){var r=new i(t);return e&&r.init(),r}return null},getViewFor:function(t,e,i){var n=this.getViewForSelector(t,!1);return null!=n&&(n.currentWizard=e,n.currentStep=i,n.init()),n},generateQueue:function(t){var e=this,i=this.state,n=i.wizard_list.length,r=i.starter,o=i.running_wizard;if(n>0){var a=t('<div id="ngg-wizard-starter" class="ngg-wizard-starter"></div>');a.append('<div class="starter-wrap-top"><div class="starter-wrap-icon"><img class="starter-icon" src="'+r.image+'" /></div></div>'),a.append('<div class="starter-wrap-bottom"><div class="starter-wrap-text">'+r.text+"</div></div>"),a.on("click",".starter-wrap-icon, starter-wrap-bottom",function(){e.startQueue()}),a.hide(),a.appendTo("body"),this.starter=a;var s=t('<div id="ngg-wizard-anchor" class="ngg-wizard-anchor"></div>');s.appendTo("body"),this.anchor=s;for(var u=0,l=0;l<n;l++){var d=i.wizard_list[l],h=new NextGEN_Wizard(d.id,this);h.data=d,h.steps=d.steps;var c=this.generateTour(h);"ok"==c.result?(h.status="ready",h.tour=c.tour):"wait_element"==c.result&&(h.status="wait",u++),h.id==o?(this.wizards.unshift(h),this.runningWizard=h):this.wizards.push(h)}u>0?this.enqueueRefreshOperation():this.trigger("ready")}},getContextObject:function(t){var e=null;if(null!=t){"object"!=typeof t&&(t=[t]);for(var i=0;i<t.length;i++){var n=t[i];if(e=null==e?jQuery(n):e.find(n),e.is("iframe")){var r=e.prop("contentWindow");if("interactive"!=r.document.readyState&&"complete"!=r.document.readyState){e=jQuery([]);break}e=r.jQuery?r.jQuery("body"):e.contents().find("body")}}0==e.size()&&(e=jQuery([]))}else e=jQuery(document);return e},computeStepTarget:function(t,e,i){var n=e.target_wait,r=e.target,o=e.view,a=null,s=null,u=null,l=this.getContextObject(e.context),d=!1;if(null!=r){if(a=l.find(r),a.size()>0?d=!0:a=this.anchor,!d&&null!=n&&Math.floor(Date.now()/1e3)-t.created<=n)return!1}else a=this.anchor;return null!=o&&(s=l.find(o),s.size()>0&&(u=this.getViewFor(s,t.id,e.id))),i.highlightTarget=d,i.nextButton=!d,i.target=a,i.ngg_view=u,!0},scrollIntoView:function(t){},generateTour:function(t){if(null==t.tour){var e=t.data,i=e.steps,n=e.current_step,r=0,o=[],a=null;if(null!=e.view&&null==(a=this.getViewFor(jQuery(e.view),t.id)))return{result:"wait_element",element:e.view};for(var s=0;s<i.length;s++){var u=i[s];null!=n&&n==u.id&&(r=s);var l={ngg_step_id:u.id,ngg_step_data:u,viewport:jQuery(window),closeButton:!0,content:'<div class="ngg-wizard-text">'+u.text+"</div>",my:u.popup_anchor,at:u.target_anchor,bind:["onDone"],onDone:function(t,e,i,n){var r=t.ngg_wizard,o=this.ngg_step_data,a=!0;if(null!=o.condition&&(this.condition_met||(a=!1,this.condition_setup||this.setupCondition(t,e))),a&&null!=r){var s=r.getNextStep(this.ngg_step_id);if(null!=s&&s.lazy){a=!1;for(var u=null,l=0;l<t.options.steps.length;l++){var d=t.options.steps[l];if(d.ngg_step_id==s.id){u=d;break}}null!=u&&(null==u.target||0==u.target.size()||"ngg-wizard-anchor"==u.target.attr("id")?!(a=r.manager.computeStepTarget(r,s,u))||null!=u.target&&0!=u.target.size()&&"ngg-wizard-anchor"!=u.target.attr("id")||(a=!1):a=!0)}}if(a)t.next();else{null!=this.lazyTimeout&&(clearTimeout(this.lazyTimeout),this.lazyTimeout=null);var h=this;this.lazyTimeout=setTimeout(function(){h.lazyTimeout=null,h.onDone(t,e,i,n)},500)}}};if(!this.computeStepTarget(t,u,l))return{result:"wait_element",element:u.target};l.setupCondition=function(t,e){var i=t.ngg_wizard,n=this.ngg_step_data;if(!this.condition_setup&&null!=n.condition){var r=n.condition,o=r.type,a=r.value,s=r.context,u=r.timeout;this.condition_met=!1,this.condition_setup=!1,s&&"object"!=typeof s&&(s=[s]);var l=jQuery([]);if(s){s=s.slice(0);var d=s.pop();l=i.manager.getContextObject(s).find(d)}if(l.size()>0){var h=l.get(0).ownerDocument;h.defaultView||h.parentWindow}switch(o){case"frame_event":if(window.Frame_Event_Publisher){this.condition_setup=!0;var c=this;Frame_Event_Publisher.listen_for(a,function(){c.condition_met=!0})}break;case"event_bind":case"plupload_bind":var g=l.size()>0;if("plupload_bind"==o&&(void 0!==l.pluploadQueue?l=l.pluploadQueue():g=!1),g){this.condition_setup=!0;var c=this;l.bind(a,function(){c.condition_met=!0})}break;case"nextgen_event":if(this.condition_setup=!0,i.manager.didNextgenEventFire(a))this.condition_met=!0;else{var c=this;jQuery(window.top.document).find("body").bind("nextgen_event",function(t,e){e==a&&(c.condition_met=!0)})}break;case"wait":this.condition_setup=!0;var c=this;setTimeout(function(){c.condition_met=!0},a)}}var p=jQuery(".tourist-popover .ngg-wizard-text"),f=p.find(".ngg-wizard-loading");if(f.hide(),this.condition_setup&&!this.condition_met&&u>0){this.condition_timeout=0,0==f.length&&(f=jQuery('<div class="ngg-wizard-loading"></div>'),p.append(f)),f.html("Loading... ("+Math.ceil(u/1e3).toString()+")"),f.show();var c=this;c.condition_timer=setInterval(function(){c.condition_timeout+=1e3,c.condition_timeout>=u&&(c.condition_met=!0);var t=(Math.floor(c.condition_timeout/1e3),Math.ceil(u/1e3),Math.floor((u-c.condition_timeout)/1e3));f.html("Loading... ("+t.toString()+")"),c.condition_met&&(f.hide(),clearInterval(c.condition_timer),c.condition_timer=null)},1e3)}return this.condition_setup},l.setup=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.currentWizard=t.ngg_wizard_id,i.currentStep=this.ngg_step_id,i.reset(),i.bind("done",this.onDone),i.enable())},l.teardown=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.disable(),i.unbind("done",this.onDone))},o.push(l)}var d={steps:o,tipClass:"Bootstrap",tipOptions:{showEffect:"slidein"},stepOptions:{}};null!=a&&(d.stepOptions.view=a);var h=new Tourist.Tour(d);for(h.ngg_wizard_id=t.id,h.ngg_wizard=t;r>0;)h.next(),r--;return{result:"ok",tour:h}}},enqueueRefreshOperation:function(){null!=this.refreshTimer&&(clearTimeout(this.refreshTimer),this.refreshTimer=null),this.refreshTimer=setTimeout(function(t){NextGEN_Wizard_Manager.refreshQueue()},500)},refreshQueue:function(){this.refreshTimer=null;for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("wait"==i.status){var n=this.generateTour(i);"ok"==n.result?(i.status="ready",i.tour=n.tour):"wait_element"==n.result&&(i.status="wait",t++)}}t>0?this.enqueueRefreshOperation():this.trigger("ready")},start:function(){null!=this.runningWizard?this.runningWizard.start():this.showStarter()},showStarter:function(){},startQueue:function(){if(null!=this.starter){var t=this;this.starter.fadeOut(function(){t.nextTour()})}else this.nextTour()},nextTour:function(){for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("ready"==i.status&&null!=i.tour){t=e;break}}if(t<this.wizards.length){var i=this.wizards[t];i.tour.start()}},updateWizardState:function(t){}};manager.init(),window.NextGEN_Wizard_Manager=manager}jQuery(function(t){"undefined"!=typeof NextGEN_Wizard_Manager&&(NextGEN_Wizard_Manager.bind("ready",function(){NextGEN_Wizard_Manager.start()}),NextGEN_Wizard_Manager.generateQueue(t))});
1
+ function NextGEN_Wizard(t,e){this.id=t,this.manager=e,this.data={},this.steps=[],this.status=null,this.tour=null,this.created=Math.floor(Date.now()/1e3)}if("undefined"==typeof NextGEN_Wizard_Manager){NextGEN_Wizard.prototype.start=function(){null!=this.tour&&this.tour.start()},NextGEN_Wizard.prototype.getNextStep=function(t){for(var e=0;e<this.steps.length;e++){if(this.steps[e].id==t)break}return e++,e<this.steps.length?this.steps[e]:null},NextGEN_Wizard.prototype.setState=function(t){};var manager={state:[],wizards:[],runningWizard:null,views:[],starter:null,anchor:null,events:{},targetWatchers:{},refreshTimer:null,nggEvents:[],init:function(){function t(t){this.itemSelector=".view-item",this.currentWizard=null,this.currentStep=null,this.doneFlag=!1,this.init=function(){},this.disable=function(){t.addClass("ngg-wizard-disabled")},this.enable=function(){t.removeClass("ngg-wizard-disabled")},this.reset=function(){t.removeClass("ngg-wizard-has-selection"),t.find(this.itemSelector).removeClass("ngg-wizard-selected")},this.done=function(t){this.doneFlag||(this.doneFlag=!0,this.trigger("done",this,t))}}function e(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("click",e.selector,function(t){i.done(e)})}function i(e){t.call(this,e);var i=this;e.click(function(t){(!e.is("a")||e.attr("href").startsWith("#")||e.hasClass("thickbox"))&&i.done(e)}),this.reset=function(){if(e.is("a")){var t=e.attr("href");t.startsWith("#")||(-1==t.indexOf("?")?t+="?":t+="&",t=t+"ngg_wizard="+this.currentWizard+"&ngg_wizard_step="+this.currentStep,e.attr("href",t))}}}function n(e){t.call(this,e);var i=this;e.on("input",function(t){jQuery(this).val().length>=3&&i.done(e)}),this.reset=function(){}}function r(e){t.call(this,e);var i=this;jQuery(e.get(0).ownerDocument).on("change",e.selector,function(t){jQuery(this).is(":checked")&&i.done(e)}),this.reset=function(){}}function o(e){t.call(this,e);var i=this;e.on("change",function(t){i.done(e)})}"undefined"!=typeof NextGEN_Wizard_Manager_State&&(this.state=NextGEN_Wizard_Manager_State);var a=this;jQuery(window.top.document).find("body").on("nextgen_event",function(t,e){a.nggEvents.push({type:e})}),_.extend(t.prototype,Backbone.Events),_.extend(e.prototype,t.prototype),_.extend(i.prototype,t.prototype),_.extend(n.prototype,t.prototype),_.extend(r.prototype,t.prototype),_.extend(o.prototype,t.prototype);var s=null;s={handler:o,name:"SelectView",selector:"select"},this.views.push(s),s={handler:r,name:"RadioView",selector:"input[type='radio']"},this.views.push(s),s={handler:n,name:"TextView",selector:"input[type='text']"},this.views.push(s),s={handler:i,name:"ButtonView",selector:"a, input[type='button'], input[type='submit']"},this.views.push(s),s={handler:e,name:"GenericView",selector:"*"},this.views.push(s),Tourist.Tip.Base.prototype.nextButtonTemplate='<a class="button-primary pull-right tour-next">Next step →</a>',Tourist.Tip.Base.prototype.finalButtonTemplate='<button class="button-primary pull-right tour-next">Finish up</button>',Tourist.Tip.Base.prototype.closeButtonTemplate='<a class="btn btn-close tour-close" href="#"><i class="icon icon-remove far fa-window-close"></i></a>',Tourist.Tip.BootstrapTip.prototype._getTargetBounds=function(t){var e,i;e=t[0],i="function"==typeof e.getBoundingClientRect?e.getBoundingClientRect():{width:e.offsetWidth,height:e.offsetHeight};var n=t.offset();if(t.ownerDocument!=document)for(var r=function(t,e){for(var i=t.find("iframe"),n=[],o=0;o<i.size();o++){var a=jQuery(i.get(o));try{if(a.prop("contentWindow").document==e)return[a]}catch(t){continue}var s=r(a.contents(),e);if(s.length>0){n.push(a);for(var u=0;u<s.length;u++)n.push(s[u]);break}}return n},o=r(jQuery(document),t.get(0).ownerDocument),a=0;a<o.length;a++){var s=o[a],u=s.offset();n.left+=u.left,n.top+=u.top}return jQuery.extend({},i,n)},jQuery(".ngg-wizard-invoker").on("click",function(t){t.preventDefault();for(var e=NextGEN_Wizard_Manager,i=jQuery(this).data("ngg-wizard"),n=null,r=0;r<e.wizards.length;r++){var o=e.wizards[r];if(o.id==i){n=o;break}}return null!=n&&null==this.runningWizard&&n.start(),!1})},bind:function(t,e){t in this.events||(this.events[t]=[]);var i={handler:e};this.events[t].push(i)},trigger:function(t,e){if(void 0===e&&(e={}),t in this.events)for(var i=this.events[t],n=0;n<i.length;n++){var r=i[n];r.handler&&r.handler(this,e)}},didNextgenEventFire:function(t){for(var e=0;e<this.nggEvents.length;e++){if(this.nggEvents[e].type==t)return!0}return!1},getViewForSelector:function(t,e){var i=null;void 0===e&&(e=!0);for(var n=0;n<this.views.length;n++){var r=this.views[n];if(t.is(r.selector)){i=r.handler;break}}if(null!=i){var r=new i(t);return e&&r.init(),r}return null},getViewFor:function(t,e,i){var n=this.getViewForSelector(t,!1);return null!=n&&(n.currentWizard=e,n.currentStep=i,n.init()),n},generateQueue:function(t){var e=this,i=this.state,n=i.wizard_list.length,r=i.starter,o=i.running_wizard;if(n>0){var a=t('<div id="ngg-wizard-starter" class="ngg-wizard-starter"></div>');a.append('<div class="starter-wrap-top"><div class="starter-wrap-icon"><img class="starter-icon" src="'+r.image+'" /></div></div>'),a.append('<div class="starter-wrap-bottom"><div class="starter-wrap-text">'+r.text+"</div></div>"),a.on("click",".starter-wrap-icon, starter-wrap-bottom",function(){e.startQueue()}),a.hide(),a.appendTo("body"),this.starter=a;var s=t('<div id="ngg-wizard-anchor" class="ngg-wizard-anchor"></div>');s.appendTo("body"),this.anchor=s;for(var u=0,l=0;l<n;l++){var d=i.wizard_list[l],h=new NextGEN_Wizard(d.id,this);h.data=d,h.steps=d.steps;var c=this.generateTour(h);"ok"==c.result?(h.status="ready",h.tour=c.tour):"wait_element"==c.result&&(h.status="wait",u++),h.id==o?(this.wizards.unshift(h),this.runningWizard=h):this.wizards.push(h)}u>0?this.enqueueRefreshOperation():this.trigger("ready")}},getContextObject:function(t){var e=null;if(null!=t){"object"!=typeof t&&(t=[t]);for(var i=0;i<t.length;i++){var n=t[i];if(e=null==e?jQuery(n):e.find(n),e.is("iframe")){var r=e.prop("contentWindow");if("interactive"!=r.document.readyState&&"complete"!=r.document.readyState){e=jQuery([]);break}e=r.jQuery?r.jQuery("body"):e.contents().find("body")}}0==e.size()&&(e=jQuery([]))}else e=jQuery(document);return e},computeStepTarget:function(t,e,i){var n=e.target_wait,r=e.target,o=e.view,a=null,s=null,u=null,l=this.getContextObject(e.context),d=!1;if(null!=r){if(a=l.find(r),a.size()>0?d=!0:a=this.anchor,!d&&null!=n&&Math.floor(Date.now()/1e3)-t.created<=n)return!1}else a=this.anchor;return null!=o&&(s=l.find(o),s.size()>0&&(u=this.getViewFor(s,t.id,e.id))),i.highlightTarget=d,i.nextButton=!d,i.target=a,i.ngg_view=u,!0},scrollIntoView:function(t){},generateTour:function(t){if(null==t.tour){var e=t.data,i=e.steps,n=e.current_step,r=0,o=[],a=null;if(null!=e.view&&null==(a=this.getViewFor(jQuery(e.view),t.id)))return{result:"wait_element",element:e.view};for(var s=0;s<i.length;s++){var u=i[s];null!=n&&n==u.id&&(r=s);var l={ngg_step_id:u.id,ngg_step_data:u,viewport:jQuery(window),closeButton:!0,content:'<div class="ngg-wizard-text">'+u.text+"</div>",my:u.popup_anchor,at:u.target_anchor,bind:["onDone"],onDone:function(t,e,i,n){var r=t.ngg_wizard,o=this.ngg_step_data,a=!0;if(null!=o.condition&&(this.condition_met||(a=!1,this.condition_setup||this.setupCondition(t,e))),a&&null!=r){var s=r.getNextStep(this.ngg_step_id);if(null!=s&&s.lazy){a=!1;for(var u=null,l=0;l<t.options.steps.length;l++){var d=t.options.steps[l];if(d.ngg_step_id==s.id){u=d;break}}null!=u&&(null==u.target||0==u.target.size()||"ngg-wizard-anchor"==u.target.attr("id")?!(a=r.manager.computeStepTarget(r,s,u))||null!=u.target&&0!=u.target.size()&&"ngg-wizard-anchor"!=u.target.attr("id")||(a=!1):a=!0)}}if(a)t.next();else{null!=this.lazyTimeout&&(clearTimeout(this.lazyTimeout),this.lazyTimeout=null);var h=this;this.lazyTimeout=setTimeout(function(){h.lazyTimeout=null,h.onDone(t,e,i,n)},500)}}};if(!this.computeStepTarget(t,u,l))return{result:"wait_element",element:u.target};l.setupCondition=function(t,e){var i=t.ngg_wizard,n=this.ngg_step_data;if(!this.condition_setup&&null!=n.condition){var r=n.condition,o=r.type,a=r.value,s=r.context,u=r.timeout;this.condition_met=!1,this.condition_setup=!1,s&&"object"!=typeof s&&(s=[s]);var l=jQuery([]);if(s){s=s.slice(0);var d=s.pop();l=i.manager.getContextObject(s).find(d)}if(l.size()>0){var h=l.get(0).ownerDocument;h.defaultView||h.parentWindow}switch(o){case"frame_event":if(window.Frame_Event_Publisher){this.condition_setup=!0;var c=this;Frame_Event_Publisher.listen_for(a,function(){c.condition_met=!0})}break;case"event_bind":case"plupload_bind":var g=l.size()>0;if("plupload_bind"==o&&(void 0!==l.pluploadQueue?l=l.pluploadQueue():g=!1),g){this.condition_setup=!0;var c=this;l.bind(a,function(){c.condition_met=!0})}break;case"nextgen_event":if(this.condition_setup=!0,i.manager.didNextgenEventFire(a))this.condition_met=!0;else{var c=this;jQuery(window.top.document).find("body").bind("nextgen_event",function(t,e){e==a&&(c.condition_met=!0)})}break;case"wait":this.condition_setup=!0;var c=this;setTimeout(function(){c.condition_met=!0},a)}}var p=jQuery(".tourist-popover .ngg-wizard-text"),f=p.find(".ngg-wizard-loading");if(f.hide(),this.condition_setup&&!this.condition_met&&u>0){this.condition_timeout=0,0==f.length&&(f=jQuery('<div class="ngg-wizard-loading"></div>'),p.append(f)),f.html("Loading... ("+Math.ceil(u/1e3).toString()+")"),f.show();var c=this;c.condition_timer=setInterval(function(){c.condition_timeout+=1e3,c.condition_timeout>=u&&(c.condition_met=!0);var t=(Math.floor(c.condition_timeout/1e3),Math.ceil(u/1e3),Math.floor((u-c.condition_timeout)/1e3));f.html("Loading... ("+t.toString()+")"),c.condition_met&&(f.hide(),clearInterval(c.condition_timer),c.condition_timer=null)},1e3)}return this.condition_setup},l.setup=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.currentWizard=t.ngg_wizard_id,i.currentStep=this.ngg_step_id,i.reset(),i.bind("done",this.onDone),i.enable())},l.teardown=function(t,e){var i=e.view;null!=this.ngg_view&&(i=this.ngg_view),null!=i&&(i.disable(),i.unbind("done",this.onDone))},o.push(l)}var d={steps:o,tipClass:"Bootstrap",tipOptions:{showEffect:"slidein"},stepOptions:{}};null!=a&&(d.stepOptions.view=a);var h=new Tourist.Tour(d);for(h.ngg_wizard_id=t.id,h.ngg_wizard=t;r>0;)h.next(),r--;return{result:"ok",tour:h}}},enqueueRefreshOperation:function(){null!=this.refreshTimer&&(clearTimeout(this.refreshTimer),this.refreshTimer=null),this.refreshTimer=setTimeout(function(t){NextGEN_Wizard_Manager.refreshQueue()},500)},refreshQueue:function(){this.refreshTimer=null;for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("wait"==i.status){var n=this.generateTour(i);"ok"==n.result?(i.status="ready",i.tour=n.tour):"wait_element"==n.result&&(i.status="wait",t++)}}t>0?this.enqueueRefreshOperation():this.trigger("ready")},start:function(){null!=this.runningWizard?this.runningWizard.start():this.showStarter()},showStarter:function(){},startQueue:function(){if(null!=this.starter){var t=this;this.starter.fadeOut(function(){t.nextTour()})}else this.nextTour()},nextTour:function(){for(var t=0,e=0;e<this.wizards.length;e++){var i=this.wizards[e];if("ready"==i.status&&null!=i.tour){t=e;break}}if(t<this.wizards.length){var i=this.wizards[t];i.tour.start()}},updateWizardState:function(t){}};manager.init(),window.NextGEN_Wizard_Manager=manager}jQuery(function(t){"undefined"!=typeof NextGEN_Wizard_Manager&&(NextGEN_Wizard_Manager.bind("ready",function(){NextGEN_Wizard_Manager.start()}),NextGEN_Wizard_Manager.generateQueue(t))});
products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.css CHANGED
@@ -47,6 +47,7 @@
47
  text-shadow: none;
48
  border: none;
49
  padding: 1px 20px;
 
50
  }
51
  .tourist-popover .button-primary:hover {
52
  background-color: #A9C524;
47
  text-shadow: none;
48
  border: none;
49
  padding: 1px 20px;
50
+ float:right;
51
  }
52
  .tourist-popover .button-primary:hover {
53
  background-color: #A9C524;
products/photocrati_nextgen/modules/nextgen_admin/static/tourist/tourist.min.css CHANGED
@@ -1 +1 @@
1
- .tour-highlight{background:0 0;-moz-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);-webkit-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);-o-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);box-shadow:0 0 7px 0 rgba(0,241,255,.701961);border-radius:2px}.tourist-popover{padding:0}.tourist-popover .popover-content{padding:10px 0 0 0;min-width:200px}.tourist-popover .popover-content p{margin:0 8px 10px 8px}.tourist-popover .popover-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.tourist-popover .popover-content .tour-counter{margin:0;padding:0;position:absolute;left:20px;bottom:23px;font-size:11px;color:#acacac;color:#fff}.tourist-popover .tour-buttons{min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box;background:#2a343d;padding:15px 20px 17px;border-top:3px solid #9fbb1a}.tourist-popover .button-primary{background-color:#9fbb1a;box-shadow:none;text-shadow:none;border:none;padding:1px 20px}.tourist-popover .button-primary:hover{background-color:#a9c524}.tourist-popover .btn-close{background:0 0;border:none;position:absolute;top:4px;right:7px;padding:0;opacity:.3}.tourist-popover .btn-close:hover{opacity:.5}.tourist-popover.top>.arrow{border-top-color:#2a343d;overflow:hidden}.qtip-tour,.qtip-tour .qtip-content{padding:0}.qtip-tour .qtip-content{padding-top:10px}.qtip-tour .qtip-content p{margin:0 8px 10px 8px}.qtip-tour .qtip-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.qtip-tour .qtip-content .tour-counter{font-size:11px;color:#acacac}.qtip-tour .tour-buttons{padding:8px 10px;min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box}
1
+ .tour-highlight{background:0 0;-moz-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);-webkit-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);-o-box-shadow:0 0 7px 0 rgba(0,241,255,.701961);box-shadow:0 0 7px 0 rgba(0,241,255,.701961);border-radius:2px}.tourist-popover{padding:0}.tourist-popover .popover-content{padding:10px 0 0 0;min-width:200px}.tourist-popover .popover-content p{margin:0 8px 10px 8px}.tourist-popover .popover-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.tourist-popover .popover-content .tour-counter{margin:0;padding:0;position:absolute;left:20px;bottom:23px;font-size:11px;color:#acacac;color:#fff}.tourist-popover .tour-buttons{min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box;background:#2a343d;padding:15px 20px 17px;border-top:3px solid #9fbb1a}.tourist-popover .button-primary{background-color:#9fbb1a;box-shadow:none;text-shadow:none;border:none;padding:1px 20px;float:right}.tourist-popover .button-primary:hover{background-color:#a9c524}.tourist-popover .btn-close{background:0 0;border:none;position:absolute;top:4px;right:7px;padding:0;opacity:.3}.tourist-popover .btn-close:hover{opacity:.5}.tourist-popover.top>.arrow{border-top-color:#2a343d;overflow:hidden}.qtip-tour,.qtip-tour .qtip-content{padding:0}.qtip-tour .qtip-content{padding-top:10px}.qtip-tour .qtip-content p{margin:0 8px 10px 8px}.qtip-tour .qtip-content .action-label{background:rgba(0,111,255,.168627);font-size:14px;padding:3px 10px}.qtip-tour .qtip-content .tour-counter{font-size:11px;color:#acacac}.qtip-tour .tour-buttons{padding:8px 10px;min-height:28px;background:#f5f5f5;border-radius:0 0 6px 6px;box-sizing:content-box}
products/photocrati_nextgen/modules/nextgen_admin/templates/requirement_notice.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <div data-notification-name="<?php echo esc_attr($notice_name); ?>" class="ngg_admin_notice <?php echo esc_attr($css_class); ?>">
2
+ <?php echo $html; ?>
3
+ <?php if ($show_dismiss_button) { ?>
4
+ <p><a class='dismiss' href="#"><?php esc_html_e(__('Dismiss', 'nggallery')) ?></a></p>
5
+ <?php } ?>
6
+ </div>
products/photocrati_nextgen/modules/nextgen_basic_album/package.module.nextgen_basic_album.php CHANGED
@@ -221,7 +221,7 @@ class A_NextGen_Album_Child_Entities extends Mixin
221
  * Register each gallery belonging to the album that has just been rendered, so that when the MVC controller
222
  * system 'catches up' and runs $this->render_object() that method knows what galleries to inline as JS.
223
  *
224
- * @param array $gallery
225
  * @param $displayed_gallery
226
  * @return array mixed
227
  */
@@ -415,8 +415,9 @@ class A_NextGen_Basic_Album_Controller extends Mixin_NextGen_Basic_Pagination
415
  /**
416
  * Renders the front-end for the NextGen Basic Album display type
417
  *
418
- * @param $displayed_gallery
419
  * @param bool $return
 
420
  */
421
  function index_action($displayed_gallery, $return = FALSE)
422
  {
@@ -537,7 +538,7 @@ class A_NextGen_Basic_Album_Controller extends Mixin_NextGen_Basic_Pagination
537
  *
538
  * @param $gallery
539
  * @param $display_settings
540
- * @return $gallery
541
  */
542
  function make_child_displayed_gallery($gallery, $display_settings)
543
  {
@@ -578,7 +579,7 @@ class A_NextGen_Basic_Album_Controller extends Mixin_NextGen_Basic_Pagination
578
  /**
579
  * Gets the parent album for the entity being displayed
580
  * @param int $entity_id
581
- * @return stdClass (album)
582
  */
583
  function get_parent_album_for($entity_id)
584
  {
@@ -690,12 +691,12 @@ class A_NextGen_Basic_Album_Controller extends Mixin_NextGen_Basic_Pagination
690
  function enqueue_frontend_resources($displayed_gallery)
691
  {
692
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
693
- wp_enqueue_style('nextgen_basic_album_style', $this->object->get_static_url('photocrati-nextgen_basic_album#nextgen_basic_album.css'), FALSE, NGG_SCRIPT_VERSION);
694
- wp_enqueue_style('nextgen_pagination_style', $this->get_static_url('photocrati-nextgen_pagination#style.css'), FALSE, NGG_SCRIPT_VERSION);
695
  wp_enqueue_script('jquery.dotdotdot', $this->object->get_static_url('photocrati-nextgen_basic_album#jquery.dotdotdot-1.5.7-packed.js'), array('jquery'), NGG_SCRIPT_VERSION);
696
  $ds = $displayed_gallery->display_settings;
697
  if (!empty($ds['enable_breadcrumbs']) && $ds['enable_breadcrumbs'] || !empty($ds['original_settings']['enable_breadcrumbs']) && $ds['original_settings']['enable_breadcrumbs']) {
698
- wp_enqueue_style('nextgen_basic_album_breadcrumbs_style', $this->object->get_static_url('photocrati-nextgen_basic_album#breadcrumbs.css'), FALSE, NGG_SCRIPT_VERSION);
699
  }
700
  $this->enqueue_ngg_styles();
701
  }
@@ -836,6 +837,7 @@ class Mixin_NextGen_Basic_Album_Form extends Mixin_Display_Type_Form
836
  /**
837
  * Renders the Gallery Display Type field
838
  * @param C_Display_Type $display_type
 
839
  */
840
  function _render_nextgen_basic_album_gallery_display_type_field($display_type)
841
  {
@@ -852,6 +854,7 @@ class Mixin_NextGen_Basic_Album_Form extends Mixin_Display_Type_Form
852
  /**
853
  * Renders the Galleries Per Page field
854
  * @param C_Display_Type $display_type
 
855
  */
856
  function _render_nextgen_basic_album_galleries_per_page_field($display_type)
857
  {
221
  * Register each gallery belonging to the album that has just been rendered, so that when the MVC controller
222
  * system 'catches up' and runs $this->render_object() that method knows what galleries to inline as JS.
223
  *
224
+ * @param array $galleries
225
  * @param $displayed_gallery
226
  * @return array mixed
227
  */
415
  /**
416
  * Renders the front-end for the NextGen Basic Album display type
417
  *
418
+ * @param C_Displayed_Gallery $displayed_gallery
419
  * @param bool $return
420
+ * @return string
421
  */
422
  function index_action($displayed_gallery, $return = FALSE)
423
  {
538
  *
539
  * @param $gallery
540
  * @param $display_settings
541
+ * @return C_Displayed_Gallery
542
  */
543
  function make_child_displayed_gallery($gallery, $display_settings)
544
  {
579
  /**
580
  * Gets the parent album for the entity being displayed
581
  * @param int $entity_id
582
+ * @return null|object Album object
583
  */
584
  function get_parent_album_for($entity_id)
585
  {
691
  function enqueue_frontend_resources($displayed_gallery)
692
  {
693
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
694
+ wp_enqueue_style('nextgen_basic_album_style', $this->object->get_static_url('photocrati-nextgen_basic_album#nextgen_basic_album.css'), array(), NGG_SCRIPT_VERSION);
695
+ wp_enqueue_style('nextgen_pagination_style', $this->get_static_url('photocrati-nextgen_pagination#style.css'), array(), NGG_SCRIPT_VERSION);
696
  wp_enqueue_script('jquery.dotdotdot', $this->object->get_static_url('photocrati-nextgen_basic_album#jquery.dotdotdot-1.5.7-packed.js'), array('jquery'), NGG_SCRIPT_VERSION);
697
  $ds = $displayed_gallery->display_settings;
698
  if (!empty($ds['enable_breadcrumbs']) && $ds['enable_breadcrumbs'] || !empty($ds['original_settings']['enable_breadcrumbs']) && $ds['original_settings']['enable_breadcrumbs']) {
699
+ wp_enqueue_style('nextgen_basic_album_breadcrumbs_style', $this->object->get_static_url('photocrati-nextgen_basic_album#breadcrumbs.css'), array(), NGG_SCRIPT_VERSION);
700
  }
701
  $this->enqueue_ngg_styles();
702
  }
837
  /**
838
  * Renders the Gallery Display Type field
839
  * @param C_Display_Type $display_type
840
+ * @return string
841
  */
842
  function _render_nextgen_basic_album_gallery_display_type_field($display_type)
843
  {
854
  /**
855
  * Renders the Galleries Per Page field
856
  * @param C_Display_Type $display_type
857
+ * @return string
858
  */
859
  function _render_nextgen_basic_album_galleries_per_page_field($display_type)
860
  {
products/photocrati_nextgen/modules/nextgen_basic_gallery/package.module.nextgen_basic_gallery.php CHANGED
@@ -225,9 +225,9 @@ class A_NextGen_Basic_Gallery_Validation extends Mixin
225
  class A_NextGen_Basic_Slideshow_Controller extends Mixin
226
  {
227
  /**
228
- * Displays the ngglegacy thumbnail gallery.
229
- * This method deprecates the use of the nggShowGallery() function.
230
- * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery
231
  */
232
  function index_action($displayed_gallery, $return = FALSE)
233
  {
@@ -272,11 +272,11 @@ class A_NextGen_Basic_Slideshow_Controller extends Mixin
272
  */
273
  function enqueue_frontend_resources($displayed_gallery)
274
  {
275
- wp_enqueue_style('ngg_basic_slideshow_style', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/ngg_basic_slideshow.css'), FALSE, NGG_SCRIPT_VERSION);
276
  // Add new scripts for slick based slideshow
277
  wp_enqueue_script('ngg_slick', $this->get_static_url("photocrati-nextgen_basic_gallery#slideshow/slick/slick.min.js"), array('jquery'), NGG_SCRIPT_VERSION);
278
- wp_enqueue_style('ngg_slick_slideshow_style', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/slick/slick.css'), FALSE, NGG_SCRIPT_VERSION);
279
- wp_enqueue_style('ngg_slick_slideshow_theme', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/slick/slick-theme.css'), FALSE, NGG_SCRIPT_VERSION);
280
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
281
  $this->enqueue_ngg_styles();
282
  }
@@ -492,9 +492,9 @@ class A_NextGen_Basic_Thumbnails_Controller extends Mixin
492
  $this->add_mixin('Mixin_NextGen_Basic_Pagination');
493
  }
494
  /**
495
- * Displays the ngglegacy thumbnail gallery.
496
- * This method deprecates the use of the nggShowGallery() function.
497
- * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery
498
  */
499
  function index_action($displayed_gallery, $return = FALSE)
500
  {
@@ -526,9 +526,6 @@ class A_NextGen_Basic_Thumbnails_Controller extends Mixin
526
  // just display the images for this page, as normal
527
  $images = $displayed_gallery->get_included_entities($display_settings['images_per_page'], $offset);
528
  }
529
- if (in_array($displayed_gallery->source, array('random_images', 'recent_images'))) {
530
- $display_settings['disable_pagination'] = TRUE;
531
- }
532
  // Are there images to display?
533
  if ($images) {
534
  // Create pagination
@@ -611,11 +608,11 @@ class A_NextGen_Basic_Thumbnails_Controller extends Mixin
611
  function enqueue_frontend_resources($displayed_gallery)
612
  {
613
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
614
- wp_enqueue_style('nextgen_basic_thumbnails_style', $this->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails.css'), FALSE, NGG_SCRIPT_VERSION);
615
  if ($displayed_gallery->display_settings['ajax_pagination']) {
616
- wp_enqueue_script('nextgen-basic-thumbnails-ajax-pagination', $this->object->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/ajax_pagination.js'), FALSE, NGG_SCRIPT_VERSION);
617
  }
618
- wp_enqueue_style('nextgen_pagination_style', $this->get_static_url('photocrati-nextgen_pagination#style.css'), FALSE, NGG_SCRIPT_VERSION);
619
  $this->enqueue_ngg_styles();
620
  }
621
  /**
225
  class A_NextGen_Basic_Slideshow_Controller extends Mixin
226
  {
227
  /**
228
+ * @param C_Displayed_Gallery $displayed_gallery
229
+ * @param bool $return (optional)
230
+ * @return string
231
  */
232
  function index_action($displayed_gallery, $return = FALSE)
233
  {
272
  */
273
  function enqueue_frontend_resources($displayed_gallery)
274
  {
275
+ wp_enqueue_style('ngg_basic_slideshow_style', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/ngg_basic_slideshow.css'), array(), NGG_SCRIPT_VERSION);
276
  // Add new scripts for slick based slideshow
277
  wp_enqueue_script('ngg_slick', $this->get_static_url("photocrati-nextgen_basic_gallery#slideshow/slick/slick.min.js"), array('jquery'), NGG_SCRIPT_VERSION);
278
+ wp_enqueue_style('ngg_slick_slideshow_style', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/slick/slick.css'), array(), NGG_SCRIPT_VERSION);
279
+ wp_enqueue_style('ngg_slick_slideshow_theme', $this->get_static_url('photocrati-nextgen_basic_gallery#slideshow/slick/slick-theme.css'), array(), NGG_SCRIPT_VERSION);
280
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
281
  $this->enqueue_ngg_styles();
282
  }
492
  $this->add_mixin('Mixin_NextGen_Basic_Pagination');
493
  }
494
  /**
495
+ * @param C_Displayed_Gallery $displayed_gallery
496
+ * @param bool $return (optional)
497
+ * @return string
498
  */
499
  function index_action($displayed_gallery, $return = FALSE)
500
  {
526
  // just display the images for this page, as normal
527
  $images = $displayed_gallery->get_included_entities($display_settings['images_per_page'], $offset);
528
  }
 
 
 
529
  // Are there images to display?
530
  if ($images) {
531
  // Create pagination
608
  function enqueue_frontend_resources($displayed_gallery)
609
  {
610
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
611
+ wp_enqueue_style('nextgen_basic_thumbnails_style', $this->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails.css'), array(), NGG_SCRIPT_VERSION);
612
  if ($displayed_gallery->display_settings['ajax_pagination']) {
613
+ wp_enqueue_script('nextgen-basic-thumbnails-ajax-pagination', $this->object->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/ajax_pagination.js'), array(), NGG_SCRIPT_VERSION);
614
  }
615
+ wp_enqueue_style('nextgen_pagination_style', $this->get_static_url('photocrati-nextgen_pagination#style.css'), array(), NGG_SCRIPT_VERSION);
616
  $this->enqueue_ngg_styles();
617
  }
618
  /**
products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/module.nextgen_basic_imagebrowser.php CHANGED
@@ -144,8 +144,9 @@ class M_NextGen_Basic_ImageBrowser extends C_Base_Module
144
 
145
  /**
146
  * Show an image browser. Ngglegacy function
147
- * @param $galleryID
148
  * @param string $template
 
149
  */
150
  function nggShowImageBrowser($galleryID, $template = '')
151
  {
@@ -161,8 +162,9 @@ function nggShowImageBrowser($galleryID, $template = '')
161
 
162
  /**
163
  * Create an image browser from a list of image objects. Ngglegacy function
164
- * @param $picturelist
165
- * @param string $template
 
166
  */
167
  function nggCreateImageBrowser($picturelist, $template = '')
168
  {
144
 
145
  /**
146
  * Show an image browser. Ngglegacy function
147
+ * @param int $galleryID
148
  * @param string $template
149
+ * @return string
150
  */
151
  function nggShowImageBrowser($galleryID, $template = '')
152
  {
162
 
163
  /**
164
  * Create an image browser from a list of image objects. Ngglegacy function
165
+ * @param array $picturelist
166
+ * @param string $template (optional)
167
+ * @return string
168
  */
169
  function nggCreateImageBrowser($picturelist, $template = '')
170
  {
products/photocrati_nextgen/modules/nextgen_basic_imagebrowser/package.module.nextgen_basic_imagebrowser.php CHANGED
@@ -49,7 +49,7 @@ class A_NextGen_Basic_ImageBrowser_Controller extends Mixin
49
  /**
50
  * Returns the rendered template of an image browser display
51
  *
52
- * @param C_Displayed_Gallery
53
  * @param array $picture_list
54
  * @return string Rendered HTML (probably)
55
  */
@@ -156,7 +156,7 @@ class A_NextGen_Basic_ImageBrowser_Controller extends Mixin
156
  function enqueue_frontend_resources($displayed_gallery)
157
  {
158
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
159
- wp_enqueue_style('nextgen_basic_imagebrowser_style', $this->get_static_url('photocrati-nextgen_basic_imagebrowser#style.css'), FALSE, NGG_SCRIPT_VERSION);
160
  $this->enqueue_ngg_styles();
161
  }
162
  }
49
  /**
50
  * Returns the rendered template of an image browser display
51
  *
52
+ * @param C_Displayed_Gallery $displayed_gallery
53
  * @param array $picture_list
54
  * @return string Rendered HTML (probably)
55
  */
156
  function enqueue_frontend_resources($displayed_gallery)
157
  {
158
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
159
+ wp_enqueue_style('nextgen_basic_imagebrowser_style', $this->get_static_url('photocrati-nextgen_basic_imagebrowser#style.css'), array(), NGG_SCRIPT_VERSION);
160
  $this->enqueue_ngg_styles();
161
  }
162
  }
products/photocrati_nextgen/modules/nextgen_basic_singlepic/module.nextgen_basic_singlepic.php CHANGED
@@ -106,7 +106,7 @@ class M_NextGen_Basic_Singlepic extends C_Base_Module
106
  wp_enqueue_style(
107
  'nextgen_basic_singlepic_style',
108
  $router->get_static_url(NGG_BASIC_SINGLEPIC . '#nextgen_basic_singlepic.css'),
109
- FALSE,
110
  NGG_SCRIPT_VERSION
111
  );
112
  }
106
  wp_enqueue_style(
107
  'nextgen_basic_singlepic_style',
108
  $router->get_static_url(NGG_BASIC_SINGLEPIC . '#nextgen_basic_singlepic.css'),
109
+ array(),
110
  NGG_SCRIPT_VERSION
111
  );
112
  }
products/photocrati_nextgen/modules/nextgen_basic_singlepic/package.module.nextgen_basic_singlepic.php CHANGED
@@ -23,7 +23,9 @@ class A_NextGen_Basic_Singlepic_Controller extends Mixin
23
  /**
24
  * Displays the 'singlepic' display type
25
  *
26
- * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery
 
 
27
  */
28
  function index_action($displayed_gallery, $return = FALSE)
29
  {
@@ -32,7 +34,8 @@ class A_NextGen_Basic_Singlepic_Controller extends Mixin
32
  $display_settings = $displayed_gallery->display_settings;
33
  // use this over get_included_entities() so we can display images marked 'excluded'
34
  $displayed_gallery->skip_excluding_globally_excluded_images = TRUE;
35
- $image = array_shift($displayed_gallery->get_entities(1, FALSE, FALSE, 'included'));
 
36
  if (!$image) {
37
  return $this->object->render_partial("photocrati-nextgen_gallery_display#no_images_found", array(), $return);
38
  }
@@ -135,6 +138,8 @@ class A_NextGen_Basic_Singlepic_Controller extends Mixin
135
  }
136
  /**
137
  * Intentionally disable the application of the effect code
 
 
138
  */
139
  function strip_thumbcode($thumbcode)
140
  {
@@ -148,7 +153,7 @@ class A_NextGen_Basic_Singlepic_Controller extends Mixin
148
  function enqueue_frontend_resources($displayed_gallery)
149
  {
150
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
151
- wp_enqueue_style('nextgen_basic_singlepic_style', $this->get_static_url('photocrati-nextgen_basic_singlepic#nextgen_basic_singlepic.css'), FALSE, NGG_SCRIPT_VERSION);
152
  $this->enqueue_ngg_styles();
153
  }
154
  }
23
  /**
24
  * Displays the 'singlepic' display type
25
  *
26
+ * @param C_Displayed_Gallery
27
+ * @param bool $return (optional)
28
+ * @return string
29
  */
30
  function index_action($displayed_gallery, $return = FALSE)
31
  {
34
  $display_settings = $displayed_gallery->display_settings;
35
  // use this over get_included_entities() so we can display images marked 'excluded'
36
  $displayed_gallery->skip_excluding_globally_excluded_images = TRUE;
37
+ $entities = $displayed_gallery->get_entities(1, FALSE, FALSE, 'included');
38
+ $image = array_shift($entities);
39
  if (!$image) {
40
  return $this->object->render_partial("photocrati-nextgen_gallery_display#no_images_found", array(), $return);
41
  }
138
  }
139
  /**
140
  * Intentionally disable the application of the effect code
141
+ * @param string $thumbcode Unused
142
+ * @return string
143
  */
144
  function strip_thumbcode($thumbcode)
145
  {
153
  function enqueue_frontend_resources($displayed_gallery)
154
  {
155
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
156
+ wp_enqueue_style('nextgen_basic_singlepic_style', $this->get_static_url('photocrati-nextgen_basic_singlepic#nextgen_basic_singlepic.css'), array(), NGG_SCRIPT_VERSION);
157
  $this->enqueue_ngg_styles();
158
  }
159
  }
products/photocrati_nextgen/modules/nextgen_basic_tagcloud/module.nextgen_basic_tagcloud.php CHANGED
@@ -167,6 +167,7 @@ class C_NextGen_Basic_Tagcloud_Installer extends C_Gallery_Display_Installer
167
  {
168
  /**
169
  * Installs the display type for NextGEN Basic Tagcloud
 
170
  */
171
  function install($reset = FALSE)
172
  {
167
  {
168
  /**
169
  * Installs the display type for NextGEN Basic Tagcloud
170
+ * @param bool $reset (optional) Unused
171
  */
172
  function install($reset = FALSE)
173
  {
products/photocrati_nextgen/modules/nextgen_basic_tagcloud/package.module.nextgen_basic_tagcloud.php CHANGED
@@ -28,7 +28,9 @@ class A_NextGen_Basic_Tagcloud_Controller extends Mixin
28
  /**
29
  * Displays the 'tagcloud' display type
30
  *
31
- * @param stdClass|C_Displayed_Gallery|C_DataMapper_Model $displayed_gallery
 
 
32
  */
33
  function index_action($displayed_gallery, $return = FALSE)
34
  {
@@ -54,7 +56,6 @@ class A_NextGen_Basic_Tagcloud_Controller extends Mixin
54
  }
55
  $params = $display_settings;
56
  $params['inner_content'] = $displayed_gallery->inner_content;
57
- $params['storage'] =& $storage;
58
  $params['tagcloud'] = wp_generate_tag_cloud($tags, $args);
59
  $params['displayed_gallery_id'] = $displayed_gallery->id();
60
  $params = $this->object->prepare_display_parameters($displayed_gallery, $params);
@@ -68,7 +69,7 @@ class A_NextGen_Basic_Tagcloud_Controller extends Mixin
68
  function enqueue_frontend_resources($displayed_gallery)
69
  {
70
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
71
- wp_enqueue_style('photocrati-nextgen_basic_tagcloud-style', $this->get_static_url('photocrati-nextgen_basic_tagcloud#nextgen_basic_tagcloud.css'), FALSE, NGG_SCRIPT_VERSION);
72
  $this->enqueue_ngg_styles();
73
  }
74
  }
@@ -196,7 +197,7 @@ class C_Taxonomy_Controller extends C_MVC_Controller
196
  /**
197
  * Returns an instance of this class
198
  *
199
- * @param string $context
200
  * @return C_Taxonomy_Controller
201
  */
202
  static function get_instance($context = FALSE)
@@ -224,6 +225,7 @@ class C_Taxonomy_Controller extends C_MVC_Controller
224
  * Determines if the current page is /ngg_tag/{*}
225
  *
226
  * @param $posts Wordpress post objects
 
227
  * @return array Wordpress post objects
228
  */
229
  function detect_ngg_tag($posts, $wp_query_local)
28
  /**
29
  * Displays the 'tagcloud' display type
30
  *
31
+ * @param C_Displayed_Gallery $displayed_gallery
32
+ * @param bool $return (optional)
33
+ * @return string
34
  */
35
  function index_action($displayed_gallery, $return = FALSE)
36
  {
56
  }
57
  $params = $display_settings;
58
  $params['inner_content'] = $displayed_gallery->inner_content;
 
59
  $params['tagcloud'] = wp_generate_tag_cloud($tags, $args);
60
  $params['displayed_gallery_id'] = $displayed_gallery->id();
61
  $params = $this->object->prepare_display_parameters($displayed_gallery, $params);
69
  function enqueue_frontend_resources($displayed_gallery)
70
  {
71
  $this->call_parent('enqueue_frontend_resources', $displayed_gallery);
72
+ wp_enqueue_style('photocrati-nextgen_basic_tagcloud-style', $this->get_static_url('photocrati-nextgen_basic_tagcloud#nextgen_basic_tagcloud.css'), array(), NGG_SCRIPT_VERSION);
73
  $this->enqueue_ngg_styles();
74
  }
75
  }
197
  /**
198
  * Returns an instance of this class
199
  *
200
+ * @param string|bool $context
201
  * @return C_Taxonomy_Controller
202
  */
203
  static function get_instance($context = FALSE)
225
  * Determines if the current page is /ngg_tag/{*}
226
  *
227
  * @param $posts Wordpress post objects
228
+ * @param WP_Query $wp_query_local
229
  * @return array Wordpress post objects
230
  */
231
  function detect_ngg_tag($posts, $wp_query_local)
products/photocrati_nextgen/modules/nextgen_basic_templates/package.module.nextgen_basic_templates.php CHANGED
@@ -187,6 +187,10 @@ class C_Legacy_Template_Locator extends C_Component
187
  $this->add_mixin('Mixin_Legacy_Template_Locator');
188
  $this->implement('I_Legacy_Template_Locator');
189
  }
 
 
 
 
190
  static function get_instance($context = FALSE)
191
  {
192
  if (!isset(self::$_instances[$context])) {
@@ -261,7 +265,8 @@ class Mixin_Legacy_Template_Locator extends Mixin
261
  }
262
  /**
263
  * Find a particular template by name
264
- * @param $template
 
265
  */
266
  function find($template_name)
267
  {
@@ -310,9 +315,10 @@ class Mixin_NextGen_Basic_Templates extends Mixin
310
  * Renders NextGen-Legacy style templates
311
  *
312
  * @param string $template_name File name
313
- * @param array $vars Specially formatted array of parameters
314
- * @param bool $callback
315
- * @param bool $return
 
316
  */
317
  function legacy_render($template_name, $vars = array(), $return = FALSE, $prefix = NULL)
318
  {
187
  $this->add_mixin('Mixin_Legacy_Template_Locator');
188
  $this->implement('I_Legacy_Template_Locator');
189
  }
190
+ /**
191
+ * @param bool|string $context
192
+ * @return C_Legacy_Template_Locator
193
+ */
194
  static function get_instance($context = FALSE)
195
  {
196
  if (!isset(self::$_instances[$context])) {
265
  }
266
  /**
267
  * Find a particular template by name
268
+ * @param string $template_name
269
+ * @return string
270
  */
271
  function find($template_name)
272
  {
315
  * Renders NextGen-Legacy style templates
316
  *
317
  * @param string $template_name File name
318
+ * @param array $vars (optional) Specially formatted array of parameters
319
+ * @param bool $return (optional)
320
+ * @param string $prefix (optional)
321
+ * @return string
322
  */
323
  function legacy_render($template_name, $vars = array(), $return = FALSE, $prefix = NULL)
324
  {
products/photocrati_nextgen/modules/nextgen_data/module.nextgen_data.php CHANGED
@@ -47,42 +47,58 @@ class M_NextGen_Data extends C_Base_Module
47
  $this->get_registry()->add_utility('I_Gallery_Storage', 'C_Gallery_Storage');
48
  }
49
 
50
- function get_type_list()
51
- {
52
- return array(
53
- 'C_Exif_Writer_Wrapper' => 'class.exif_writer_wrapper.php',
54
- 'A_Attachment_Datamapper' => 'adapter.attachment_datamapper.php',
55
- 'A_Customtable_Sorting_Datamapper' => 'adapter.customtable_sorting_datamapper.php',
56
- 'A_Nextgen_Data_Factory' => 'adapter.nextgen_data_factory.php',
57
- 'C_NextGen_Data_Installer' => 'class.nextgen_data_installer.php',
58
- 'A_Parse_Image_Metadata' => 'adapter.parse_image_metadata.php',
59
- 'C_Album' => 'class.album.php',
60
- 'C_Gallery' => 'class.gallery.php',
61
- 'C_Image' => 'class.image.php',
62
- 'C_Album_Mapper' => 'class.album_mapper.php',
63
- 'C_Gallerystorage_Base' => 'class.gallerystorage_base.php',
64
- 'C_Gallerystorage_Driver_Base' => 'class.gallerystorage_driver_base.php',
65
- 'C_Gallery_Mapper' => 'class.gallery_mapper.php',
66
- 'C_Gallery_Storage' => 'class.gallery_storage.php',
67
- 'C_Image_Mapper' => 'class.image_mapper.php',
68
- 'C_Image_Wrapper' => 'class.image_wrapper.php',
69
- 'C_Image_Wrapper_Collection' => 'class.image_wrapper_collection.php',
70
- 'C_Nextgen_Metadata' => 'class.nextgen_metadata.php',
71
- 'Mixin_NextGen_Table_Extras' => 'mixin.nextgen_table_extras.php',
72
- 'C_Ngglegacy_Gallerystorage_Driver' => 'class.ngglegacy_gallerystorage_driver.php',
73
- 'C_Ngglegacy_Thumbnail' => 'class.ngglegacy_thumbnail.php',
74
- 'C_Wordpress_Gallerystorage_Driver' => 'class.wordpress_gallerystorage_driver.php'
75
- );
76
- }
77
-
78
-
79
- function _register_hooks()
80
  {
 
81
  add_action('init', array(&$this, 'register_custom_post_types'));
82
  add_filter('posts_orderby', array($this, 'wp_query_order_by'), 10, 2);
83
  }
84
 
85
- function register_custom_post_types()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  {
87
  $types = array(
88
  'ngg_album' => 'NextGEN Gallery - Album',
@@ -99,7 +115,7 @@ class M_NextGen_Data extends C_Base_Module
99
  }
100
  }
101
 
102
- function wp_query_order_by($order_by, $wp_query)
103
  {
104
  if ($wp_query->get('datamapper_attachment'))
105
  {
@@ -112,7 +128,7 @@ class M_NextGen_Data extends C_Base_Module
112
  return $order_by;
113
  }
114
 
115
- static function strip_html($data, $just_scripts=FALSE)
116
  {
117
  $retval = $data;
118
 
@@ -121,7 +137,8 @@ class M_NextGen_Data extends C_Base_Module
121
  // Remove *ALL* HTML and tag contents
122
  $retval = wp_strip_all_tags($retval, TRUE);
123
  }
124
- else {
 
125
  // Allows HTML to remain but we strip nearly all attributes, strip all
126
  // <script> tags, and sanitize hrefs to prevent javascript.
127
  //
@@ -131,6 +148,7 @@ class M_NextGen_Data extends C_Base_Module
131
 
132
  $allowed_attributes = array(
133
  '*' => array('id', 'class', 'href', 'name', 'title', 'rel', 'style'),
 
134
  'img' => array('src', 'alt', 'title')
135
  );
136
 
@@ -227,5 +245,33 @@ class M_NextGen_Data extends C_Base_Module
227
 
228
  return $retval;
229
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  }
231
  new M_NextGen_Data();
47
  $this->get_registry()->add_utility('I_Gallery_Storage', 'C_Gallery_Storage');
48
  }
49
 
50
+ function initialize()
51
+ {
52
+ }
53
+
54
+ public static function check_gd_requirement()
55
+ {
56
+ return function_exists("gd_info");
57
+ }
58
+
59
+ public static function check_pel_min_php_requirement()
60
+ {
61
+ return version_compare(phpversion(), '5.3.0', '>');
62
+ }
63
+
64
+ public function check_domdocument_requirement()
65
+ {
66
+ return class_exists('DOMDocument');
67
+ }
68
+
69
+ function _register_hooks()
 
 
 
 
 
 
 
 
 
 
70
  {
71
+ add_action('admin_init', array($this, 'register_requirements'));
72
  add_action('init', array(&$this, 'register_custom_post_types'));
73
  add_filter('posts_orderby', array($this, 'wp_query_order_by'), 10, 2);
74
  }
75
 
76
+ public function register_requirements()
77
+ {
78
+ C_Admin_Requirements_Manager::get_instance()->add(
79
+ 'nextgen_data_sanitation',
80
+ 'phpext',
81
+ array($this, 'check_domdocument_requirement'),
82
+ array('message' => __('XML is strongly encouraged for safely editing image data', 'nggallery'))
83
+ );
84
+
85
+ C_Admin_Requirements_Manager::get_instance()->add(
86
+ 'nextgen_data_pel_min_php_version',
87
+ 'phpver',
88
+ array($this, 'check_pel_min_php_requirement'),
89
+ array('message' => __('PHP 5.3 is required to write EXIF data to thumbnails and resized images', 'nggallery'))
90
+ );
91
+
92
+ C_Admin_Requirements_Manager::get_instance()->add(
93
+ 'nextgen_data_gd_requirement',
94
+ 'phpext',
95
+ array($this, 'check_gd_requirement'),
96
+ array('message' => __('GD is required for generating image thumbnails, resizing images, and generating watermarks', 'nggallery'),
97
+ 'dismissable' => FALSE)
98
+ );
99
+ }
100
+
101
+ function register_custom_post_types()
102
  {
103
  $types = array(
104
  'ngg_album' => 'NextGEN Gallery - Album',
115
  }
116
  }
117
 
118
+ function wp_query_order_by($order_by, $wp_query)
119
  {
120
  if ($wp_query->get('datamapper_attachment'))
121
  {
128
  return $order_by;
129
  }
130
 
131
+ static function strip_html($data, $just_scripts=FALSE)
132
  {
133
  $retval = $data;
134
 
137
  // Remove *ALL* HTML and tag contents
138
  $retval = wp_strip_all_tags($retval, TRUE);
139
  }
140
+ else if (class_exists('DOMDocument')) {
141
+
142
  // Allows HTML to remain but we strip nearly all attributes, strip all
143
  // <script> tags, and sanitize hrefs to prevent javascript.
144
  //
148
 
149
  $allowed_attributes = array(
150
  '*' => array('id', 'class', 'href', 'name', 'title', 'rel', 'style'),
151
+ 'a' => array('target', 'rel'),
152
  'img' => array('src', 'alt', 'title')
153
  );
154
 
245
 
246
  return $retval;
247
  }
248
+
249
+ function get_type_list()
250
+ {
251
+ return array(
252
+ 'A_Attachment_Datamapper' => 'adapter.attachment_datamapper.php',
253
+ 'A_Customtable_Sorting_Datamapper' => 'adapter.customtable_sorting_datamapper.php',
254
+ 'A_Nextgen_Data_Factory' => 'adapter.nextgen_data_factory.php',
255
+ 'A_Parse_Image_Metadata' => 'adapter.parse_image_metadata.php',
256
+ 'C_Album' => 'class.album.php',
257
+ 'C_Album_Mapper' => 'class.album_mapper.php',
258
+ 'C_Exif_Writer_Wrapper' => 'class.exif_writer_wrapper.php',
259
+ 'C_Gallery' => 'class.gallery.php',
260
+ 'C_Gallery_Mapper' => 'class.gallery_mapper.php',
261
+ 'C_Gallery_Storage' => 'class.gallery_storage.php',
262
+ 'C_Gallerystorage_Base' => 'class.gallerystorage_base.php',
263
+ 'C_Gallerystorage_Driver_Base' => 'class.gallerystorage_driver_base.php',
264
+ 'C_Image' => 'class.image.php',
265
+ 'C_Image_Mapper' => 'class.image_mapper.php',
266
+ 'C_Image_Wrapper' => 'class.image_wrapper.php',
267
+ 'C_Image_Wrapper_Collection' => 'class.image_wrapper_collection.php',
268
+ 'C_NextGen_Data_Installer' => 'class.nextgen_data_installer.php',
269
+ 'C_Nextgen_Metadata' => 'class.nextgen_metadata.php',
270
+ 'C_Ngglegacy_Gallerystorage_Driver' => 'class.ngglegacy_gallerystorage_driver.php',
271
+ 'C_Ngglegacy_Thumbnail' => 'class.ngglegacy_thumbnail.php',
272
+ 'C_Wordpress_Gallerystorage_Driver' => 'class.wordpress_gallerystorage_driver.php',
273
+ 'Mixin_NextGen_Table_Extras' => 'mixin.nextgen_table_extras.php'
274
+ );
275
+ }
276
  }
277
  new M_NextGen_Data();
products/photocrati_nextgen/modules/nextgen_data/package.module.nextgen_data.php CHANGED
@@ -12,9 +12,9 @@ class A_Attachment_DataMapper extends Mixin
12
  $this->object->_object_name = 'attachment';
13
  }
14
  /**
15
- * Saves the entity using the wp_insert_attachment function
16
- * instead of the wp_insert_post
17
- * @param stdObject $entity
18
  */
19
  function _save_entity($entity)
20
  {
@@ -107,16 +107,15 @@ class C_Album extends C_DataMapper_Model
107
  }
108
  /**
109
  * Instantiates an Album object
110
- * @param bool|\C_DataMapper|\FALSE $mapper
111
  * @param array $properties
 
 
112
  */
113
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
114
  {
115
- // Get the mapper is not specified
116
  if (!$mapper) {
117
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
118
  }
119
- // Initialize
120
  parent::initialize($mapper, $properties);
121
  }
122
  }
@@ -133,6 +132,8 @@ class Mixin_NextGen_Album_Instance_Methods extends Mixin
133
  }
134
  /**
135
  * Gets all galleries associated with the album
 
 
136
  */
137
  function get_galleries($models = FALSE)
138
  {
@@ -184,7 +185,7 @@ class C_Album_Mapper extends C_CustomTable_DataMapper_Driver
184
  }
185
  /**
186
  * Returns an instance of the album datamapper
187
- * @param bool|mixed $context
188
  * @return C_Album_Mapper
189
  */
190
  static function get_instance($context = FALSE)
@@ -241,7 +242,7 @@ class C_Exif_Writer_Wrapper
241
  // its use through this method which performs a PHP version check before loading the class file
242
  public static function copy_metadata($old_file, $new_file)
243
  {
244
- if (version_compare(phpversion(), '5.3.0', '<')) {
245
  return;
246
  }
247
  require_once __DIR__ . DIRECTORY_SEPARATOR . 'pel-0.9.6' . DIRECTORY_SEPARATOR . 'class.exif_writer.php';
@@ -282,20 +283,51 @@ class Mixin_NextGen_Gallery_Validation
282
  $this->object->path = M_NextGen_Data::strip_html($this->object->path);
283
  $this->object->path = str_replace(array('"', "''", ">", "<"), array('', '', '', ''), $this->object->path);
284
  }
285
- // Ensure that the gallery path is restriected to $fs->get_document_root('galleries')
286
  $fs = C_Fs::get_instance();
287
  $root = $fs->get_document_root('galleries');
288
  $gallery_abspath = $fs->get_absolute_path($fs->join_paths($root, $this->object->path));
 
289
  if ($gallery_abspath[0] != DIRECTORY_SEPARATOR) {
290
  $gallery_abspath = DIRECTORY_SEPARATOR . $gallery_abspath;
291
  }
292
  if (strpos($gallery_abspath, $root) === FALSE) {
293
  $this->object->add_error(sprintf(__("Gallery path must be located in %s", 'nggallery'), $root), 'gallerypath');
294
- $storage = C_Gallery_Storage::get_instance();
295
  $this->object->path = $storage->get_upload_relpath($this->object);
296
- unset($storage);
297
  }
298
  $this->object->path = trailingslashit($this->object->path);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  $this->object->validates_presence_of('title');
300
  $this->object->validates_presence_of('name');
301
  $this->object->validates_uniqueness_of('slug');
@@ -323,17 +355,15 @@ class C_Gallery extends C_DataMapper_Model
323
  }
324
  /**
325
  * Instantiates a new model
326
- * @param array|stdClass $properties
327
- * @param C_DataMapper $mapper
328
- * @param string $context
329
  */
330
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
331
  {
332
- // Get the mapper is not specified
333
  if (!$mapper) {
334
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
335
  }
336
- // Initialize
337
  parent::initialize($mapper, $properties);
338
  }
339
  function get_images()
@@ -353,7 +383,8 @@ class C_Gallery_Mapper extends C_CustomTable_DataMapper_Driver
353
  public static $_instance = NULL;
354
  /**
355
  * Define the object
356
- * @param string $context
 
357
  */
358
  function define($context = FALSE, $not_used = FALSE)
359
  {
@@ -386,7 +417,7 @@ class C_Gallery_Mapper extends C_CustomTable_DataMapper_Driver
386
  }
387
  /**
388
  * Returns a singleton of the gallery mapper
389
- * @param string $context
390
  * @return C_Gallery_Mapper
391
  */
392
  public static function get_instance($context = False)
@@ -401,8 +432,9 @@ class C_Gallery_Mapper extends C_CustomTable_DataMapper_Driver
401
  class Mixin_Gallery_Mapper extends Mixin
402
  {
403
  /**
404
- * Uses the title property as the post title when the Custom Post driver
405
- * is used
 
406
  */
407
  function get_post_title($entity)
408
  {
@@ -451,7 +483,12 @@ class Mixin_Gallery_Mapper extends Mixin
451
  {
452
  $retval = FALSE;
453
  if ($gallery) {
454
- $gallery_id = is_numeric($gallery) ? $gallery : $gallery->{$gallery->id_field};
 
 
 
 
 
455
  // TODO: Look into making this operation more efficient
456
  if ($with_dependencies) {
457
  $image_mapper = C_Image_Mapper::get_instance();
@@ -462,7 +499,9 @@ class Mixin_Gallery_Mapper extends Mixin
462
  $storage->delete_gallery($gallery);
463
  }
464
  // Delete the image records from the DB
465
- $image_mapper->delete()->where(array("galleryid = %d", $gallery_id))->run_query();
 
 
466
  $image_key = $image_mapper->get_primary_key_column();
467
  $image_table = $image_mapper->get_table_name();
468
  // Delete tag associations no longer needed. The following SQL statement
@@ -503,6 +542,7 @@ class Mixin_Gallery_Mapper extends Mixin
503
  }
504
  /**
505
  * Sets default values for the gallery
 
506
  */
507
  function set_defaults($entity)
508
  {
@@ -524,8 +564,8 @@ class GalleryStorageDriverNotSelectedException extends RuntimeException
524
  class Mixin_GalleryStorage extends Mixin
525
  {
526
  /**
527
- * Returns the name of the class which provides the gallerystorage
528
- * implementation
529
  * @return string
530
  */
531
  function _get_driver_factory_method($context = FALSE)
@@ -552,6 +592,7 @@ class C_GalleryStorage_Base extends C_Component
552
  * Gets the url or path of an image of a particular size
553
  * @param string $method
554
  * @param array $args
 
555
  */
556
  function __call($method, $args)
557
  {
@@ -581,6 +622,10 @@ class C_Gallery_Storage extends C_GalleryStorage_Base
581
  $this->wrap('I_GalleryStorage_Driver', array(&$this, '_get_driver'), $context);
582
  $this->implement('I_Gallery_Storage');
583
  }
 
 
 
 
584
  static function get_instance($context = False)
585
  {
586
  if (!isset(self::$_instances[$context])) {
@@ -590,7 +635,7 @@ class C_Gallery_Storage extends C_GalleryStorage_Base
590
  }
591
  /**
592
  * Returns the implementation for the gallerystorage
593
- * @param array $args
594
  * @return mixed
595
  */
596
  function _get_driver($context)
@@ -683,6 +728,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
683
  * Gets the id of a gallery, regardless of whether an integer
684
  * or object was passed as an argument
685
  * @param mixed $gallery_obj_or_id
 
686
  */
687
  function _get_gallery_id($gallery_obj_or_id)
688
  {
@@ -700,7 +746,8 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
700
  /**
701
  * Gets the id of an image, regardless of whether an integer
702
  * or object was passed as an argument
703
- * @param type $image_obj_or_id
 
704
  */
705
  function _get_image_id($image_obj_or_id)
706
  {
@@ -745,6 +792,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
745
  * Backs up an image file
746
  *
747
  * @param int|object $image
 
748
  */
749
  function backup_image($image)
750
  {
@@ -776,6 +824,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
776
  * @param int|object $gallery
777
  * @param boolean $db optionally only copy the image files
778
  * @param boolean $move move the image instead of copying
 
779
  */
780
  function copy_images($images, $gallery, $db = TRUE, $move = FALSE)
781
  {
@@ -785,12 +834,13 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
785
  $gallery_path = $this->object->get_gallery_abspath($gallery);
786
  $image_key = $this->object->_image_mapper->get_primary_key_column();
787
  $retval = TRUE;
 
788
  // Iterate through each image to copy...
789
  foreach ($images as $image) {
790
  // Copy each image size
791
  foreach ($this->object->get_image_sizes() as $size) {
792
  $image_path = $this->object->get_image_abspath($image, $size);
793
- $dst = implode(DIRECTORY_SEPARATOR, array($gallery_path, M_I18n::mb_basename($image_path)));
794
  $success = $move ? move($image_path, $dst) : copy($image_path, $dst);
795
  if (!$success) {
796
  $retval = FALSE;
@@ -810,6 +860,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
810
  }
811
  /**
812
  * Empties the gallery cache directory of content
 
813
  */
814
  function flush_cache($gallery)
815
  {
@@ -819,6 +870,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
819
  /**
820
  * Gets the absolute path of the backup of an original image
821
  * @param string $image
 
822
  */
823
  function get_backup_abspath($image)
824
  {
@@ -841,7 +893,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
841
  *
842
  * Without the gallery parameter the legacy (pre 2.0) shared directory is returned.
843
  *
844
- * @param int|stdClass|C_Gallery $gallery (optional)
845
  * @return string Absolute path to cache directory
846
  */
847
  function get_cache_abspath($gallery = FALSE)
@@ -861,6 +913,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
861
  /**
862
  * Gets the absolute path where the full-sized image is stored
863
  * @param int|object $image
 
864
  */
865
  function get_full_abspath($image)
866
  {
@@ -888,6 +941,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
888
  * Alias for get_original_url()
889
  *
890
  * @param int|stdClass|C_Image $image
 
891
  * @return string
892
  */
893
  function get_full_url($image, $check_existance = FALSE)
@@ -907,7 +961,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
907
  *
908
  * @param int|object $image
909
  * @param string $size
910
- * @return array
911
  */
912
  function get_image_dimensions($image, $size = 'full')
913
  {
@@ -953,6 +1007,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
953
  * Gets the HTML for an image
954
  * @param int|object $image
955
  * @param string $size
 
956
  * @return string
957
  */
958
  function get_image_html($image, $size = 'full', $attributes = array())
@@ -998,6 +1053,8 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
998
  /**
999
  * An alias for get_full_abspath()
1000
  * @param int|object $image
 
 
1001
  */
1002
  function get_original_abspath($image, $check_existance = FALSE)
1003
  {
@@ -1024,6 +1081,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
1024
  /**
1025
  * Gets the url to the original-sized image
1026
  * @param int|stdClass|C_Image $image
 
1027
  * @return string
1028
  */
1029
  function get_original_url($image, $check_existance = FALSE)
@@ -1032,7 +1090,8 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
1032
  }
1033
  /**
1034
  * Gets the upload path, optionally for a particular gallery
1035
- * @param int|C_Gallery|stdClass $gallery
 
1036
  */
1037
  function get_upload_relpath($gallery = FALSE)
1038
  {
@@ -1151,7 +1210,9 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
1151
  * Uploads base64 file to a gallery
1152
  * @param int|stdClass|C_Gallery $gallery
1153
  * @param $data base64-encoded string of data representing the image
1154
- * @param type $filename specifies the name of the file
 
 
1155
  * @return C_Image
1156
  */
1157
  function upload_base64_image($gallery, $data, $filename = FALSE, $image_id = FALSE, $override = FALSE)
@@ -1435,7 +1496,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
1435
  * @param string $image_path
1436
  * @param string $clone_path
1437
  * @param array $params
1438
- * @return array
1439
  */
1440
  function calculate_image_clone_result($image_path, $clone_path, $params)
1441
  {
@@ -1672,7 +1733,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
1672
  * @param string $image_path
1673
  * @param string $clone_path
1674
  * @param array $params
1675
- * @return array
1676
  */
1677
  function calculate_image_clone_dimensions($image_path, $clone_path, $params)
1678
  {
@@ -1688,8 +1749,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
1688
  * @param string $image_path
1689
  * @param string $clone_path
1690
  * @param array $params
1691
- * @param bool $save Whether to call the image save() method
1692
- * @return object
1693
  */
1694
  function generate_image_clone($image_path, $clone_path, $params)
1695
  {
@@ -1849,6 +1909,10 @@ class C_GalleryStorage_Driver_Base extends C_GalleryStorage_Base
1849
  $this->_gallery_mapper = C_Gallery_Mapper::get_instance();
1850
  $this->_image_mapper = C_Image_Mapper::get_instance();
1851
  }
 
 
 
 
1852
  public static function get_instance($context = False)
1853
  {
1854
  if (!isset(self::$_instances[$context])) {
@@ -1899,27 +1963,25 @@ class C_Image extends C_DataMapper_Model
1899
  }
1900
  /**
1901
  * Instantiates a new model
1902
- * @param array|stdClass $properties
1903
- * @param C_DataMapper $mapper
1904
- * @param string $context
1905
  */
1906
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
1907
  {
1908
- // Get the mapper is not specified
1909
  if (!$mapper) {
1910
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
1911
  }
1912
- // Initialize
1913
  parent::initialize($mapper, $properties);
1914
  }
1915
  /**
1916
  * Returns the model representing the gallery associated with this image
1917
- * @return C_Gallery|stdClass
 
1918
  */
1919
  function get_gallery($model = FALSE)
1920
  {
1921
- $gallery_mapper = C_Gallery_Mapper::get_instance();
1922
- return $gallery_mapper->find($this->galleryid, $model);
1923
  }
1924
  }
1925
  /**
@@ -1933,7 +1995,8 @@ class C_Image_Mapper extends C_CustomTable_DataMapper_Driver
1933
  public static $_instance = NULL;
1934
  /**
1935
  * Defines the gallery image mapper
1936
- * @param type $context
 
1937
  */
1938
  function define($context = FALSE, $not_used = FALSE)
1939
  {
@@ -1970,6 +2033,10 @@ class C_Image_Mapper extends C_CustomTable_DataMapper_Driver
1970
  {
1971
  parent::initialize('ngg_pictures');
1972
  }
 
 
 
 
1973
  static function get_instance($context = False)
1974
  {
1975
  if (is_null(self::$_instance)) {
@@ -2144,7 +2211,7 @@ class C_Image_Wrapper
2144
  /**
2145
  * Constructor. Converts the image class into an array and fills from defaults any missing values
2146
  *
2147
- * @param object $gallery Individual result from displayed_gallery->get_entities()
2148
  * @param object $displayed_gallery Displayed gallery -- MAY BE NULL
2149
  * @param bool $legacy Whether the image source is from NextGen Legacy or NextGen
2150
  * @return void
@@ -2463,6 +2530,8 @@ class C_Image_Wrapper
2463
  * Get the thumbnail code (to add effects on thumbnail click)
2464
  *
2465
  * Applies the filter 'ngg_get_thumbcode'
 
 
2466
  */
2467
  function get_thumbcode($gallery_name = '')
2468
  {
@@ -2511,10 +2580,10 @@ class C_Image_Wrapper
2511
  /**
2512
  * Function exists for legacy support but has been gutted to not do anything
2513
  *
2514
- * @param int $width
2515
- * @param int $height
2516
  * @param string $mode could be watermark | web20 | crop
2517
- * @return the url for the image or false if failed
2518
  */
2519
  function cached_singlepic_file($width = '', $height = '', $mode = '')
2520
  {
@@ -2741,7 +2810,7 @@ class C_NextGen_Metadata extends C_Component
2741
  * nggMeta::get_EXIF()
2742
  * See also http://trac.wordpress.org/changeset/6313
2743
  *
2744
- * @return structured EXIF data
2745
  */
2746
  function get_EXIF($object = false)
2747
  {
@@ -2856,8 +2925,8 @@ class C_NextGen_Metadata extends C_Component
2856
  /**
2857
  * nggMeta::readIPTC() - IPTC Data Information for EXIF Display
2858
  *
2859
- * @param mixed $output_tag
2860
- * @return IPTC-tags
2861
  */
2862
  function get_IPTC($object = false)
2863
  {
@@ -2891,7 +2960,7 @@ class C_NextGen_Metadata extends C_Component
2891
  * code by Pekka Saarinen http://photography-on-the.net
2892
  *
2893
  * @param mixed $filename
2894
- * @return XML data
2895
  */
2896
  function extract_XMP($filename)
2897
  {
@@ -2916,7 +2985,7 @@ class C_NextGen_Metadata extends C_Component
2916
  *
2917
  * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
2918
  * @author Alf Marius Foss Olsen & Alex Rabe
2919
- * @return XML Array or object
2920
  *
2921
  */
2922
  function get_XMP($object = false)
@@ -3054,7 +3123,7 @@ class C_NextGen_Metadata extends C_Component
3054
  * nggMeta::i8n_name() - localize the tag name
3055
  *
3056
  * @param mixed $key
3057
- * @return translated $key
3058
  */
3059
  function i18n_name($key)
3060
  {
@@ -3066,7 +3135,7 @@ class C_NextGen_Metadata extends C_Component
3066
  }
3067
  /**
3068
  * Return the Timestamp from the image , if possible it's read from exif data
3069
- * @return int
3070
  */
3071
  function get_date_time()
3072
  {
@@ -3156,6 +3225,10 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3156
  {
3157
  return array('full', 'thumbnail');
3158
  }
 
 
 
 
3159
  function get_upload_abspath($gallery = FALSE)
3160
  {
3161
  // Base upload path
@@ -3175,7 +3248,8 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3175
  }
3176
  /**
3177
  * Get the gallery path persisted in the database for the gallery
3178
- * @param int|stdClass|C_NextGen_Gallery $gallery
 
3179
  */
3180
  function get_gallery_abspath($gallery)
3181
  {
@@ -3225,8 +3299,11 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3225
  return $this->object->convert_slashes(rtrim($retval, "/\\"));
3226
  }
3227
  /**
3228
- * Gets the absolute path where the image is stored
3229
- * Can optionally return the path for a particular sized image
 
 
 
3230
  */
3231
  function get_image_abspath($image, $size = 'full', $check_existance = FALSE)
3232
  {
@@ -3300,7 +3377,7 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3300
  * Gets the url of a particular-sized image
3301
  * @param int|object $image
3302
  * @param string $size
3303
- * @returns array
3304
  */
3305
  function get_image_url($image, $size = 'full', $check_existance = FALSE, $image_abspath = FALSE)
3306
  {
@@ -3337,9 +3414,9 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3337
  }
3338
  /**
3339
  * Uploads an image for a particular gallerys
3340
- * @param int|stdClass|C_NextGEN_Gallery $gallery
3341
- * @param type $filename, specifies the name of the file
3342
- * @param type $data if specified, expects base64 encoded string of data
3343
  * @return C_Image
3344
  */
3345
  function upload_image($gallery, $filename = FALSE, $data = FALSE)
@@ -3470,10 +3547,11 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3470
  }
3471
  /**
3472
  * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated
3473
- * @param string $image_path
3474
- * @param string $clone_path
3475
  * @param array $params
3476
- * @return array
 
3477
  */
3478
  function calculate_image_size_dimensions($image, $size, $params = null, $skip_defaults = false)
3479
  {
@@ -3494,7 +3572,10 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3494
  }
3495
  /**
3496
  * Generates a specific size for an image
3497
- * @param int|stdClass|C_Image $image
 
 
 
3498
  * @return bool|object
3499
  */
3500
  function generate_image_size($image, $size, $params = null, $skip_defaults = false)
@@ -3579,7 +3660,7 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3579
  }
3580
  /**
3581
  * Outputs/renders an image
3582
- * @param int|stdClass|C_NextGen_Gallery_Image $image
3583
  * @return bool
3584
  */
3585
  function render_image($image, $size = FALSE)
@@ -3611,27 +3692,47 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3611
  }
3612
  return false;
3613
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3614
  function delete_gallery($gallery)
3615
  {
3616
- $retval = FALSE;
3617
  $fs = C_Fs::get_instance();
3618
  $safe_dirs = array(DIRECTORY_SEPARATOR, $fs->get_document_root('plugins'), $fs->get_document_root('plugins_mu'), $fs->get_document_root('templates'), $fs->get_document_root('stylesheets'), $fs->get_document_root('content'), $fs->get_document_root('galleries'), $fs->get_document_root());
3619
  $abspath = $this->object->get_gallery_abspath($gallery);
3620
  if ($abspath && file_exists($abspath) && !in_array(stripslashes($abspath), $safe_dirs)) {
3621
- // delete the directory and everything in it
3622
- $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($abspath), RecursiveIteratorIterator::CHILD_FIRST);
3623
- foreach ($iterator as $file) {
3624
- if (in_array($file->getBasename(), array('.', '..'))) {
3625
- continue;
3626
- } elseif ($file->isDir()) {
3627
- rmdir($file->getPathname());
3628
- } elseif ($file->isFile() || $file->isLink()) {
3629
- unlink($file->getPathname());
3630
- }
3631
- }
3632
- $retval = @rmdir($abspath);
3633
  }
3634
- return $retval;
3635
  }
3636
  function delete_image($image, $size = FALSE)
3637
  {
@@ -3904,7 +4005,7 @@ class Mixin_NggLegacy_GalleryStorage_Driver extends Mixin
3904
  * Recover image from backup copy and reprocess it
3905
  *
3906
  * @param int|stdClass|C_Image $image
3907
- * @return string result code
3908
  */
3909
  function recover_image($image)
3910
  {
@@ -4162,7 +4263,7 @@ class C_NggLegacy_Thumbnail
4162
  }
4163
  /**
4164
  * Calculate the memory limit
4165
- *
4166
  */
4167
  function checkMemoryForImage($filename)
4168
  {
@@ -4347,6 +4448,7 @@ class C_NggLegacy_Thumbnail
4347
  *
4348
  * @param int $Width
4349
  * @param int $Height
 
4350
  */
4351
  function resizeFix($Width = 0, $Height = 0, $deprecated = 3)
4352
  {
@@ -4369,6 +4471,7 @@ class C_NggLegacy_Thumbnail
4369
  *
4370
  * @param int $maxWidth
4371
  * @param int $maxHeight
 
4372
  */
4373
  function resize($maxWidth = 0, $maxHeight = 0, $deprecated = 3)
4374
  {
@@ -4578,6 +4681,7 @@ class C_NggLegacy_Thumbnail
4578
  *
4579
  * @param bool $horz flip the image in horizontal mode
4580
  * @param bool $vert flip the image in vertical mode
 
4581
  */
4582
  function flipImage($horz = false, $vert = false)
4583
  {
@@ -4594,7 +4698,8 @@ class C_NggLegacy_Thumbnail
4594
  /**
4595
  * Rotate an image clockwise or counter clockwise
4596
  *
4597
- * @param string $direction could be CW or CCW
 
4598
  */
4599
  function rotateImage($dir = 'CW')
4600
  {
@@ -4604,7 +4709,8 @@ class C_NggLegacy_Thumbnail
4604
  /**
4605
  * Rotate an image clockwise or counter clockwise
4606
  *
4607
- * @param string $direction could be CW or CCW
 
4608
  */
4609
  function rotateImageAngle($angle = 90)
4610
  {
@@ -4922,8 +5028,8 @@ class Mixin_WordPress_GalleryStorage_Driver extends Mixin
4922
  /**
4923
  * Gets the upload path for new images in this gallery
4924
  * This will always be the date-based directory
4925
- * @param type $gallery
4926
- * @return type
4927
  */
4928
  function get_upload_abspath($gallery = FALSE)
4929
  {
@@ -4937,9 +5043,9 @@ class Mixin_WordPress_GalleryStorage_Driver extends Mixin
4937
  return $retval;
4938
  }
4939
  /**
4940
- * Will always return the same as get_upload_abspath(), as
4941
- * WordPress storage is not organized by gallery but by date
4942
  * @param int|object $gallery
 
4943
  */
4944
  function get_gallery_abspath($gallery = FALSE)
4945
  {
@@ -4948,7 +5054,7 @@ class Mixin_WordPress_GalleryStorage_Driver extends Mixin
4948
  /**
4949
  * Gets the url of a particular sized image
4950
  * @param int|object $image
4951
- * @param type $size
4952
  * @return string
4953
  */
4954
  function get_image_url($image = FALSE, $size = 'full')
@@ -5024,6 +5130,7 @@ class Mixin_NextGen_Table_Extras extends Mixin
5024
  * @param $column_name
5025
  * @param $datatype
5026
  * @param null $default_value
 
5027
  */
5028
  function _add_column($column_name, $datatype, $default_value = NULL)
5029
  {
@@ -5068,12 +5175,11 @@ class Mixin_NextGen_Table_Extras extends Mixin
5068
  $custom_post_entity = $this->create_custom_post_entity($entity);
5069
  // Try persisting the custom post type record first
5070
  if ($custom_post_id = $this->object->_custom_post_mapper->save($custom_post_entity)) {
5071
- // Try saving the custom table record. If that fails, then destroy the previously
5072
- // created custom post type record
 
5073
  if (!($retval = $this->call_parent('_create', $entity))) {
5074
  $this->object->_custom_post_mapper->destroy($custom_post_id);
5075
- } else {
5076
- $entity->extras_post_id = $custom_post_id;
5077
  }
5078
  }
5079
  return $retval;
12
  $this->object->_object_name = 'attachment';
13
  }
14
  /**
15
+ * Saves the entity using the wp_insert_attachment function instead of the wp_insert_post
16
+ * @param object $entity
17
+ * @return int Attachment ID
18
  */
19
  function _save_entity($entity)
20
  {
107
  }
108
  /**
109
  * Instantiates an Album object
 
110
  * @param array $properties
111
+ * @param C_Album_Mapper|bool $mapper (optional)
112
+ * @param string|bool $context (optional)
113
  */
114
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
115
  {
 
116
  if (!$mapper) {
117
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
118
  }
 
119
  parent::initialize($mapper, $properties);
120
  }
121
  }
132
  }
133
  /**
134
  * Gets all galleries associated with the album
135
+ * @param array|bool $models (optional)
136
+ * @return array
137
  */
138
  function get_galleries($models = FALSE)
139
  {
185
  }
186
  /**
187
  * Returns an instance of the album datamapper
188
+ * @param bool|string $context
189
  * @return C_Album_Mapper
190
  */
191
  static function get_instance($context = FALSE)
242
  // its use through this method which performs a PHP version check before loading the class file
243
  public static function copy_metadata($old_file, $new_file)
244
  {
245
+ if (!M_NextGen_Data::check_pel_min_php_requirement()) {
246
  return;
247
  }
248
  require_once __DIR__ . DIRECTORY_SEPARATOR . 'pel-0.9.6' . DIRECTORY_SEPARATOR . 'class.exif_writer.php';
283
  $this->object->path = M_NextGen_Data::strip_html($this->object->path);
284
  $this->object->path = str_replace(array('"', "''", ">", "<"), array('', '', '', ''), $this->object->path);
285
  }
286
+ // Ensure that the gallery path is restricted to $fs->get_document_root('galleries')
287
  $fs = C_Fs::get_instance();
288
  $root = $fs->get_document_root('galleries');
289
  $gallery_abspath = $fs->get_absolute_path($fs->join_paths($root, $this->object->path));
290
+ $storage = C_Gallery_Storage::get_instance();
291
  if ($gallery_abspath[0] != DIRECTORY_SEPARATOR) {
292
  $gallery_abspath = DIRECTORY_SEPARATOR . $gallery_abspath;
293
  }
294
  if (strpos($gallery_abspath, $root) === FALSE) {
295
  $this->object->add_error(sprintf(__("Gallery path must be located in %s", 'nggallery'), $root), 'gallerypath');
 
296
  $this->object->path = $storage->get_upload_relpath($this->object);
 
297
  }
298
  $this->object->path = trailingslashit($this->object->path);
299
+ // Check for '..' in the path
300
+ $sections = explode(DIRECTORY_SEPARATOR, trim($this->object->path, '/\\'));
301
+ if (in_array('..', $sections, TRUE)) {
302
+ $this->object->add_error(__("Gallery paths may not use '..' to access parent directories)", 'nggallery'));
303
+ }
304
+ // Establish some rules on where galleries can go
305
+ $abspath = $storage->get_gallery_abspath($this->object);
306
+ // Galleries should at least be a sub-folder, not directly in WP_CONTENT
307
+ $not_directly_in = array('content' => WP_CONTENT_DIR, 'wordpress root' => $fs->get_document_root());
308
+ if (!empty($_SERVER['DOCUMENT_ROOT'])) {
309
+ $not_directly_in['document root'] = $_SERVER['DOCUMENT_ROOT'];
310
+ }
311
+ foreach ($not_directly_in as $label => $dir) {
312
+ if ($abspath == $dir) {
313
+ $this->object->add_error(sprintf(__("Gallery path must be a sub-directory under the %s directory", 'nggallery'), $label), 'gallerypath');
314
+ }
315
+ }
316
+ // Disallow galleries from being under these directories at all
317
+ $not_ever_in = array('plugins' => WP_PLUGIN_DIR, 'must use plugins' => WPMU_PLUGIN_DIR, 'wp-admin' => $fs->join_paths(ABSPATH, 'wp-admin'), 'wp-includes' => $fs->join_paths(ABSPATH, 'wp-admin'), 'themes' => get_theme_root());
318
+ foreach ($not_ever_in as $label => $dir) {
319
+ if (strpos($abspath, $dir) === 0) {
320
+ $this->object->add_error(sprintf(__("Gallery path cannot be under %s directory", 'nggallery'), $label), 'gallerypath');
321
+ }
322
+ }
323
+ // Regardless of where they are just don't let the path end in any of these
324
+ $never_named = array('wp-admin', 'wp-includes', 'wp-content');
325
+ foreach ($never_named as $name) {
326
+ if ($name === end($sections)) {
327
+ $this->object->add_error(sprintf(__("Gallery path cannot end with a directory named %s", 'nggallery'), $name), 'gallerypath');
328
+ }
329
+ }
330
+ unset($storage);
331
  $this->object->validates_presence_of('title');
332
  $this->object->validates_presence_of('name');
333
  $this->object->validates_uniqueness_of('slug');
355
  }
356
  /**
357
  * Instantiates a new model
358
+ * @param array|stdClass $properties (optional)
359
+ * @param C_Gallery_Mapper|false $mapper (optional)
360
+ * @param string|bool $context (optional)
361
  */
362
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
363
  {
 
364
  if (!$mapper) {
365
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
366
  }
 
367
  parent::initialize($mapper, $properties);
368
  }
369
  function get_images()
383
  public static $_instance = NULL;
384
  /**
385
  * Define the object
386
+ * @param string|bool $context (optional)
387
+ * @param mixed $not_used Not used, exists only to prevent PHP warnings
388
  */
389
  function define($context = FALSE, $not_used = FALSE)
390
  {
417
  }
418
  /**
419
  * Returns a singleton of the gallery mapper
420
+ * @param bool|string $context
421
  * @return C_Gallery_Mapper
422
  */
423
  public static function get_instance($context = False)
432
  class Mixin_Gallery_Mapper extends Mixin
433
  {
434
  /**
435
+ * Uses the title property as the post title when the Custom Post driver is used
436
+ * @param object $entity
437
+ * @return string
438
  */
439
  function get_post_title($entity)
440
  {
483
  {
484
  $retval = FALSE;
485
  if ($gallery) {
486
+ if (is_numeric($gallery)) {
487
+ $gallery_id = $gallery;
488
+ $gallery = $this->object->find($gallery_id);
489
+ } else {
490
+ $gallery_id = $gallery->{$gallery->id_field};
491
+ }
492
  // TODO: Look into making this operation more efficient
493
  if ($with_dependencies) {
494
  $image_mapper = C_Image_Mapper::get_instance();
499
  $storage->delete_gallery($gallery);
500
  }
501
  // Delete the image records from the DB
502
+ foreach ($image_mapper->find_all_for_gallery($gallery_id) as $image) {
503
+ $image_mapper->destroy($image);
504
+ }
505
  $image_key = $image_mapper->get_primary_key_column();
506
  $image_table = $image_mapper->get_table_name();
507
  // Delete tag associations no longer needed. The following SQL statement
542
  }
543
  /**
544
  * Sets default values for the gallery
545
+ * @param object $entity
546
  */
547
  function set_defaults($entity)
548
  {
564
  class Mixin_GalleryStorage extends Mixin
565
  {
566
  /**
567
+ * Returns the name of the class which provides the gallerystorage implementation
568
+ * @param string|bool $context (optional)
569
  * @return string
570
  */
571
  function _get_driver_factory_method($context = FALSE)
592
  * Gets the url or path of an image of a particular size
593
  * @param string $method
594
  * @param array $args
595
+ * @return mixed
596
  */
597
  function __call($method, $args)
598
  {
622
  $this->wrap('I_GalleryStorage_Driver', array(&$this, '_get_driver'), $context);
623
  $this->implement('I_Gallery_Storage');
624
  }
625
+ /**
626
+ * @param bool|string $context
627
+ * @return C_Gallery_Storage
628
+ */
629
  static function get_instance($context = False)
630
  {
631
  if (!isset(self::$_instances[$context])) {
635
  }
636
  /**
637
  * Returns the implementation for the gallerystorage
638
+ * @param string $context
639
  * @return mixed
640
  */
641
  function _get_driver($context)
728
  * Gets the id of a gallery, regardless of whether an integer
729
  * or object was passed as an argument
730
  * @param mixed $gallery_obj_or_id
731
+ * @return null|int
732
  */
733
  function _get_gallery_id($gallery_obj_or_id)
734
  {
746
  /**
747
  * Gets the id of an image, regardless of whether an integer
748
  * or object was passed as an argument
749
+ * @param object|int $image_obj_or_id
750
+ * @return null|int
751
  */
752
  function _get_image_id($image_obj_or_id)
753
  {
792
  * Backs up an image file
793
  *
794
  * @param int|object $image
795
+ * @return bool
796
  */
797
  function backup_image($image)
798
  {
824
  * @param int|object $gallery
825
  * @param boolean $db optionally only copy the image files
826
  * @param boolean $move move the image instead of copying
827
+ * @return bool
828
  */
829
  function copy_images($images, $gallery, $db = TRUE, $move = FALSE)
830
  {
834
  $gallery_path = $this->object->get_gallery_abspath($gallery);
835
  $image_key = $this->object->_image_mapper->get_primary_key_column();
836
  $retval = TRUE;
837
+ $fs = C_Fs::get_instance();
838
  // Iterate through each image to copy...
839
  foreach ($images as $image) {
840
  // Copy each image size
841
  foreach ($this->object->get_image_sizes() as $size) {
842
  $image_path = $this->object->get_image_abspath($image, $size);
843
+ $dst = $fs->join_paths($gallery_path, M_I18n::mb_basename($image_path));
844
  $success = $move ? move($image_path, $dst) : copy($image_path, $dst);
845
  if (!$success) {
846
  $retval = FALSE;
860
  }
861
  /**
862
  * Empties the gallery cache directory of content
863
+ * @param object $gallery
864
  */
865
  function flush_cache($gallery)
866
  {
870
  /**
871
  * Gets the absolute path of the backup of an original image
872
  * @param string $image
873
+ * @return null|string
874
  */
875
  function get_backup_abspath($image)
876
  {
893
  *
894
  * Without the gallery parameter the legacy (pre 2.0) shared directory is returned.
895
  *
896
+ * @param int|object|false|C_Gallery $gallery (optional)
897
  * @return string Absolute path to cache directory
898
  */
899
  function get_cache_abspath($gallery = FALSE)
913
  /**
914
  * Gets the absolute path where the full-sized image is stored
915
  * @param int|object $image
916
+ * @return null|string
917
  */
918
  function get_full_abspath($image)
919
  {
941
  * Alias for get_original_url()
942
  *
943
  * @param int|stdClass|C_Image $image
944
+ * @param bool $check_existance (optional)
945
  * @return string
946
  */
947
  function get_full_url($image, $check_existance = FALSE)
961
  *
962
  * @param int|object $image
963
  * @param string $size
964
+ * @return null|array
965
  */
966
  function get_image_dimensions($image, $size = 'full')
967
  {
1007
  * Gets the HTML for an image
1008
  * @param int|object $image
1009
  * @param string $size
1010
+ * @param array $attributes (optional)
1011
  * @return string
1012
  */
1013
  function get_image_html($image, $size = 'full', $attributes = array())
1053
  /**
1054
  * An alias for get_full_abspath()
1055
  * @param int|object $image
1056
+ * @param bool $check_existance
1057
+ * @return null|string
1058
  */
1059
  function get_original_abspath($image, $check_existance = FALSE)
1060
  {
1081
  /**
1082
  * Gets the url to the original-sized image
1083
  * @param int|stdClass|C_Image $image
1084
+ * @param bool $check_existance (optional)
1085
  * @return string
1086
  */
1087
  function get_original_url($image, $check_existance = FALSE)
1090
  }
1091
  /**
1092
  * Gets the upload path, optionally for a particular gallery
1093
+ * @param int|C_Gallery|object|false $gallery (optional)
1094
+ * @return string
1095
  */
1096
  function get_upload_relpath($gallery = FALSE)
1097
  {
1210
  * Uploads base64 file to a gallery
1211
  * @param int|stdClass|C_Gallery $gallery
1212
  * @param $data base64-encoded string of data representing the image
1213
+ * @param string|false (optional) $filename specifies the name of the file
1214
+ * @param int|false $image_id (optional)
1215
+ * @param bool $override (optional)
1216
  * @return C_Image
1217
  */
1218
  function upload_base64_image($gallery, $data, $filename = FALSE, $image_id = FALSE, $override = FALSE)
1496
  * @param string $image_path
1497
  * @param string $clone_path
1498
  * @param array $params
1499
+ * @return null|array
1500
  */
1501
  function calculate_image_clone_result($image_path, $clone_path, $params)
1502
  {
1733
  * @param string $image_path
1734
  * @param string $clone_path
1735
  * @param array $params
1736
+ * @return null|array
1737
  */
1738
  function calculate_image_clone_dimensions($image_path, $clone_path, $params)
1739
  {
1749
  * @param string $image_path
1750
  * @param string $clone_path
1751
  * @param array $params
1752
+ * @return null|object
 
1753
  */
1754
  function generate_image_clone($image_path, $clone_path, $params)
1755
  {
1909
  $this->_gallery_mapper = C_Gallery_Mapper::get_instance();
1910
  $this->_image_mapper = C_Image_Mapper::get_instance();
1911
  }
1912
+ /**
1913
+ * @param bool|string $context
1914
+ * @return C_GalleryStorage_Driver_Base
1915
+ */
1916
  public static function get_instance($context = False)
1917
  {
1918
  if (!isset(self::$_instances[$context])) {
1963
  }
1964
  /**
1965
  * Instantiates a new model
1966
+ * @param array|stdClass $properties (optional)
1967
+ * @param C_Image_Mapper|false $mapper (optional)
1968
+ * @param string|false $context (optional)
1969
  */
1970
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
1971
  {
 
1972
  if (!$mapper) {
1973
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
1974
  }
 
1975
  parent::initialize($mapper, $properties);
1976
  }
1977
  /**
1978
  * Returns the model representing the gallery associated with this image
1979
+ * @param object|false $model (optional)
1980
+ * @return C_Gallery|object
1981
  */
1982
  function get_gallery($model = FALSE)
1983
  {
1984
+ return C_Gallery_Mapper::get_instance()->find($this->galleryid, $model);
 
1985
  }
1986
  }
1987
  /**
1995
  public static $_instance = NULL;
1996
  /**
1997
  * Defines the gallery image mapper
1998
+ * @param string|false $context (optional)
1999
+ * @param mixed $not_used
2000
  */
2001
  function define($context = FALSE, $not_used = FALSE)
2002
  {
2033
  {
2034
  parent::initialize('ngg_pictures');
2035
  }
2036
+ /**
2037
+ * @param bool|string $context
2038
+ * @return C_Image_Mapper
2039
+ */
2040
  static function get_instance($context = False)
2041
  {
2042
  if (is_null(self::$_instance)) {
2211
  /**
2212
  * Constructor. Converts the image class into an array and fills from defaults any missing values
2213
  *
2214
+ * @param object $image Individual result from displayed_gallery->get_entities()
2215
  * @param object $displayed_gallery Displayed gallery -- MAY BE NULL
2216
  * @param bool $legacy Whether the image source is from NextGen Legacy or NextGen
2217
  * @return void
2530
  * Get the thumbnail code (to add effects on thumbnail click)
2531
  *
2532
  * Applies the filter 'ngg_get_thumbcode'
2533
+ * @param string $gallery_name (optional) Default = ''
2534
+ * @return string
2535
  */
2536
  function get_thumbcode($gallery_name = '')
2537
  {
2580
  /**
2581
  * Function exists for legacy support but has been gutted to not do anything
2582
  *
2583
+ * @param string|int $width (optional) Default = ''
2584
+ * @param string|int $height (optional) Default = ''
2585
  * @param string $mode could be watermark | web20 | crop
2586
+ * @return bool|string The url for the image or false if failed
2587
  */
2588
  function cached_singlepic_file($width = '', $height = '', $mode = '')
2589
  {
2810
  * nggMeta::get_EXIF()
2811
  * See also http://trac.wordpress.org/changeset/6313
2812
  *
2813
+ * @return bool|array
2814
  */
2815
  function get_EXIF($object = false)
2816
  {
2925
  /**
2926
  * nggMeta::readIPTC() - IPTC Data Information for EXIF Display
2927
  *
2928
+ * @param object $object (optional)
2929
+ * @return null|bool|array
2930
  */
2931
  function get_IPTC($object = false)
2932
  {
2960
  * code by Pekka Saarinen http://photography-on-the.net
2961
  *
2962
  * @param mixed $filename
2963
+ * @return bool|string
2964
  */
2965
  function extract_XMP($filename)
2966
  {
2985
  *
2986
  * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
2987
  * @author Alf Marius Foss Olsen & Alex Rabe
2988
+ * @return bool|array
2989
  *
2990
  */
2991
  function get_XMP($object = false)
3123
  * nggMeta::i8n_name() - localize the tag name
3124
  *
3125
  * @param mixed $key
3126
+ * @return string Translated $key
3127
  */
3128
  function i18n_name($key)
3129
  {
3135
  }
3136
  /**
3137
  * Return the Timestamp from the image , if possible it's read from exif data
3138
+ * @return string
3139
  */
3140
  function get_date_time()
3141
  {
3225
  {
3226
  return array('full', 'thumbnail');
3227
  }
3228
+ /**
3229
+ * @param object|bool $gallery (optional)
3230
+ * @return string
3231
+ */
3232
  function get_upload_abspath($gallery = FALSE)
3233
  {
3234
  // Base upload path
3248
  }
3249
  /**
3250
  * Get the gallery path persisted in the database for the gallery
3251
+ * @param int|object|C_Gallery $gallery
3252
+ * @return string
3253
  */
3254
  function get_gallery_abspath($gallery)
3255
  {
3299
  return $this->object->convert_slashes(rtrim($retval, "/\\"));
3300
  }
3301
  /**
3302
+ * Gets the absolute path where the image is stored. Can optionally return the path for a particular sized image.
3303
+ * @param int|object $image
3304
+ * @param string $size (optional) Default = full
3305
+ * @param bool $check_existance (optional) Default = false
3306
+ * @return string
3307
  */
3308
  function get_image_abspath($image, $size = 'full', $check_existance = FALSE)
3309
  {
3377
  * Gets the url of a particular-sized image
3378
  * @param int|object $image
3379
  * @param string $size
3380
+ * @return string
3381
  */
3382
  function get_image_url($image, $size = 'full', $check_existance = FALSE, $image_abspath = FALSE)
3383
  {
3414
  }
3415
  /**
3416
  * Uploads an image for a particular gallerys
3417
+ * @param int|object|C_Gallery $gallery
3418
+ * @param string|bool $filename (optional) Specifies the name of the file
3419
+ * @param string|bool $data (optional) If specified, expects base64 encoded string of data
3420
  * @return C_Image
3421
  */
3422
  function upload_image($gallery, $filename = FALSE, $data = FALSE)
3547
  }
3548
  /**
3549
  * Returns an array of dimensional properties (width, height, real_width, real_height) of a resulting clone image if and when generated
3550
+ * @param object|int $image Image ID or an image object
3551
+ * @param string $size
3552
  * @param array $params
3553
+ * @param bool $skip_defaults
3554
+ * @return bool|array
3555
  */
3556
  function calculate_image_size_dimensions($image, $size, $params = null, $skip_defaults = false)
3557
  {
3572
  }
3573
  /**
3574
  * Generates a specific size for an image
3575
+ * @param int|object|C_Image $image
3576
+ * @param string $size
3577
+ * @param array|null $params (optional)
3578
+ * @param bool $skip_defaults (optional)
3579
  * @return bool|object
3580
  */
3581
  function generate_image_size($image, $size, $params = null, $skip_defaults = false)
3660
  }
3661
  /**
3662
  * Outputs/renders an image
3663
+ * @param int|stdClass|C_Image $image
3664
  * @return bool
3665
  */
3666
  function render_image($image, $size = FALSE)
3692
  }
3693
  return false;
3694
  }
3695
+ function _delete_gallery_directory($abspath)
3696
+ {
3697
+ // Remove all image files and purge all empty directories left over
3698
+ $iterator = new DirectoryIterator($abspath);
3699
+ // Only delete image files! Other files may be stored incorrectly but it's not our place to delete them
3700
+ $removable_extensions = apply_filters('ngg_allowed_file_types', array('jpeg', 'jpg', 'png', 'gif'));
3701
+ foreach ($removable_extensions as $extension) {
3702
+ $removable_extensions[] = $extension . '_backup';
3703
+ }
3704
+ foreach ($iterator as $file) {
3705
+ if (in_array($file->getBasename(), array('.', '..'))) {
3706
+ continue;
3707
+ } elseif ($file->isFile() || $file->isLink()) {
3708
+ $extension = strtolower(pathinfo($file->getPathname(), PATHINFO_EXTENSION));
3709
+ if (in_array($extension, $removable_extensions, TRUE)) {
3710
+ @unlink($file->getPathname());
3711
+ }
3712
+ } elseif ($file->isDir()) {
3713
+ $this->object->_delete_gallery_directory($file->getPathname());
3714
+ }
3715
+ }
3716
+ // DO NOT remove directories that still have files in them. Note: '.' and '..' are included with getSize()
3717
+ $empty = TRUE;
3718
+ foreach ($iterator as $file) {
3719
+ if (in_array($file->getBasename(), array('.', '..'))) {
3720
+ continue;
3721
+ }
3722
+ $empty = FALSE;
3723
+ }
3724
+ if ($empty) {
3725
+ @rmdir($iterator->getPath());
3726
+ }
3727
+ }
3728
  function delete_gallery($gallery)
3729
  {
 
3730
  $fs = C_Fs::get_instance();
3731
  $safe_dirs = array(DIRECTORY_SEPARATOR, $fs->get_document_root('plugins'), $fs->get_document_root('plugins_mu'), $fs->get_document_root('templates'), $fs->get_document_root('stylesheets'), $fs->get_document_root('content'), $fs->get_document_root('galleries'), $fs->get_document_root());
3732
  $abspath = $this->object->get_gallery_abspath($gallery);
3733
  if ($abspath && file_exists($abspath) && !in_array(stripslashes($abspath), $safe_dirs)) {
3734
+ $this->object->_delete_gallery_directory($abspath);
 
 
 
 
 
 
 
 
 
 
 
3735
  }
 
3736
  }
3737
  function delete_image($image, $size = FALSE)
3738
  {
4005
  * Recover image from backup copy and reprocess it
4006
  *
4007
  * @param int|stdClass|C_Image $image
4008
+ * @return bool|string result code
4009
  */
4010
  function recover_image($image)
4011
  {
4263
  }
4264
  /**
4265
  * Calculate the memory limit
4266
+ * @param string $filename
4267
  */
4268
  function checkMemoryForImage($filename)
4269
  {
4448
  *
4449
  * @param int $Width
4450
  * @param int $Height
4451
+ * @param int $deprecated Unused
4452
  */
4453
  function resizeFix($Width = 0, $Height = 0, $deprecated = 3)
4454
  {
4471
  *
4472
  * @param int $maxWidth
4473
  * @param int $maxHeight
4474
+ * @param int $deprecated Unused
4475
  */
4476
  function resize($maxWidth = 0, $maxHeight = 0, $deprecated = 3)
4477
  {
4681
  *
4682
  * @param bool $horz flip the image in horizontal mode
4683
  * @param bool $vert flip the image in vertical mode
4684
+ * @return true
4685
  */
4686
  function flipImage($horz = false, $vert = false)
4687
  {
4698
  /**
4699
  * Rotate an image clockwise or counter clockwise
4700
  *
4701
+ * @param string $dir Either CW or CCW
4702
+ * @return bool
4703
  */
4704
  function rotateImage($dir = 'CW')
4705
  {
4709
  /**
4710
  * Rotate an image clockwise or counter clockwise
4711
  *
4712
+ * @param int $angle Degrees to rotate the target image
4713
+ * @return bool
4714
  */
4715
  function rotateImageAngle($angle = 90)
4716
  {
5028
  /**
5029
  * Gets the upload path for new images in this gallery
5030
  * This will always be the date-based directory
5031
+ * @param bool|int|object $gallery
5032
+ * @return bool|string
5033
  */
5034
  function get_upload_abspath($gallery = FALSE)
5035
  {
5043
  return $retval;
5044
  }
5045
  /**
5046
+ * Will always return the same as get_upload_abspath(), as WordPress storage is not organized by gallery but by date
 
5047
  * @param int|object $gallery
5048
+ * @return string
5049
  */
5050
  function get_gallery_abspath($gallery = FALSE)
5051
  {
5054
  /**
5055
  * Gets the url of a particular sized image
5056
  * @param int|object $image
5057
+ * @param string $size
5058
  * @return string
5059
  */
5060
  function get_image_url($image = FALSE, $size = 'full')
5130
  * @param $column_name
5131
  * @param $datatype
5132
  * @param null $default_value
5133
+ * @return bool
5134
  */
5135
  function _add_column($column_name, $datatype, $default_value = NULL)
5136
  {
5175
  $custom_post_entity = $this->create_custom_post_entity($entity);
5176
  // Try persisting the custom post type record first
5177
  if ($custom_post_id = $this->object->_custom_post_mapper->save($custom_post_entity)) {
5178
+ // Add the custom post id property
5179
+ $entity->extras_post_id = $custom_post_id;
5180
+ // Try saving the custom table record. If that fails, then destroy the previously created custom post type record
5181
  if (!($retval = $this->call_parent('_create', $entity))) {
5182
  $this->object->_custom_post_mapper->destroy($custom_post_id);
 
 
5183
  }
5184
  }
5185
  return $retval;
products/photocrati_nextgen/modules/nextgen_gallery_display/module.nextgen_gallery_display.php CHANGED
@@ -74,12 +74,13 @@ class M_Gallery_Display extends C_Base_Module
74
  */
75
  function _register_adapters()
76
  {
77
- // Provides factory methods for creating display type and
78
- // displayed gallery instances
79
  $this->get_registry()->add_adapter(
80
  'I_Component_Factory', 'A_Gallery_Display_Factory'
81
  );
82
 
 
 
83
  if (is_admin()) {
84
  $this->get_registry()->add_adapter(
85
  'I_Page_Manager',
@@ -118,7 +119,6 @@ class M_Gallery_Display extends C_Base_Module
118
  add_action('init', array(&$this, 'register_resources'), 12);
119
  add_action('admin_bar_menu', array(&$this, 'add_admin_bar_menu'), 100);
120
  add_filter('run_ngg_resource_manager', array(&$this, 'no_resources_mode'));
121
- add_action('init', array(&$this, 'serve_fontawesome'), 15);
122
 
123
  // Add hook to delete displayed galleries when removed from a post
124
  add_action('pre_post_update', array(&$this, 'locate_stale_displayed_galleries'));
@@ -194,83 +194,55 @@ class M_Gallery_Display extends C_Base_Module
194
  }
195
  }
196
 
197
- /**
198
- * Serves the fontawesome woff file via PHP. We do this, as IIS won't serve .woff files.
199
- * @throws E_Clean_Exit
200
- */
201
- function serve_fontawesome()
202
- {
203
- if (isset($_REQUEST['ngg_serve_fontawesome_woff'])) {
204
- $fs = C_Fs::get_instance();
205
- $abspath = $fs->find_static_abspath('photocrati-nextgen_gallery_display#fonts/fontawesome-webfont.woff');
206
- if ($abspath) {
207
- header("Content-Type: application/x-font-woff");
208
- readfile($abspath);
209
- throw new E_Clean_Exit();
210
- }
211
- }
212
- elseif (isset($_REQUEST['ngg_serve_fontawesome_css'])) {
213
- $fs = C_Fs::get_instance();
214
- $abspath = $fs->find_static_abspath('photocrati-nextgen_gallery_display#fontawesome/font-awesome.css');
215
- if ($abspath) {
216
- $router = C_Router::get_instance();
217
- $file_content = file_get_contents($abspath);
218
- $file_content = str_replace('../fonts/fontawesome-webfont.eot', $router->get_static_url($this->module_id . '#fonts/fontawesome-webfont.eot'), $file_content);
219
- $file_content = str_replace('../fonts/fontawesome-webfont.svg', $router->get_static_url($this->module_id . '#fonts/fontawesome-webfont.svg'), $file_content);
220
- $file_content = str_replace('../fonts/fontawesome-webfont.ttf', $router->get_static_url($this->module_id . '#fonts/fontawesome-webfont.ttf'), $file_content);
221
- $file_content = str_replace('../fonts/fontawesome-webfont.woff2', $router->get_static_url($this->module_id . '#fonts/fontawesome-webfont.woff2'), $file_content);
222
- $file_content = str_replace('../fonts/fontawesome-webfont.woff', site_url('/?ngg_serve_fontawesome_woff=1'), $file_content);
223
- header('Content-Type: text/css');
224
- echo $file_content;
225
- throw new E_Clean_Exit();
226
- }
227
- }
228
- }
229
-
230
- /**
231
- * Enqueues fontawesome. First checks to see if fontawesome is provided by another plugin or already enqueued,
232
- * and if not, enqueues a version of fontawesome that will work with or without IIS
233
- */
234
  static function enqueue_fontawesome()
235
  {
236
- if (!wp_style_is('fontawesome', 'registered'))
 
 
 
 
 
 
237
  {
238
- wp_enqueue_style(
 
239
  'fontawesome',
240
- self::get_fontawesome_url(TRUE),
241
- FALSE,
242
- '4.6.1'
243
  );
244
  }
245
 
246
- wp_enqueue_style('fontawesome');
247
- }
 
 
 
 
 
 
 
 
 
248
 
249
- /**
250
- * Gets the src url for the registered fontawesome handler
251
- * @param bool $ngg_provided_only
252
- * @return null|string
253
- */
254
- static function get_fontawesome_url($ngg_provided_only=FALSE)
255
- {
256
- $retval = NULL;
257
 
258
- if (wp_style_is('fontawesome', 'registered') && !$ngg_provided_only) {
259
- $style = wp_styles()->registered['fontawesome'];
260
- $retval = $style->src;
261
- }
262
- else {
263
- if (strpos(strtolower($_SERVER['SERVER_SOFTWARE']), 'microsoft-iis') !== FALSE) {
264
- $retval = site_url('/?ngg_serve_fontawesome_css=1');
265
- }
266
- else {
267
- $router = C_Router::get_instance();
268
- $retval = $router->get_static_url('photocrati-nextgen_gallery_display#fontawesome/font-awesome.css');
269
- }
270
- }
271
 
272
- return $retval;
273
- }
274
 
275
  function no_resources_mode($valid_request=TRUE)
276
  {
@@ -407,7 +379,7 @@ class M_Gallery_Display extends C_Base_Module
407
  wp_register_style(
408
  'nextgen_gallery_display_settings',
409
  $router->get_static_url('photocrati-nextgen_gallery_display#nextgen_gallery_display_settings.css'),
410
- FALSE,
411
  NGG_SCRIPT_VERSION
412
  );
413
 
@@ -416,7 +388,7 @@ class M_Gallery_Display extends C_Base_Module
416
  wp_register_style(
417
  'nextgen_gallery_related_images',
418
  $router->get_static_url('photocrati-nextgen_gallery_display#nextgen_gallery_related_images.css'),
419
- FALSE,
420
  NGG_SCRIPT_VERSION
421
  );
422
  wp_register_script(
@@ -429,7 +401,7 @@ class M_Gallery_Display extends C_Base_Module
429
  wp_register_style(
430
  'ngg_trigger_buttons',
431
  $router->get_static_url('photocrati-nextgen_gallery_display#trigger_buttons.css'),
432
- FALSE,
433
  NGG_SCRIPT_VERSION
434
  );
435
 
@@ -486,24 +458,25 @@ class M_Gallery_Display extends C_Base_Module
486
  function get_type_list()
487
  {
488
  return array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
489
  'C_Displayed_Gallery_Trigger' => 'class.displayed_gallery_trigger.php',
490
- 'C_Displayed_Gallery_Trigger_Manager' => 'class.displayed_gallery_trigger_manager.php',
491
- 'A_Displayed_Gallery_Trigger_Element' => 'adapter.displayed_gallery_trigger_element.php',
492
- 'A_Displayed_Gallery_Trigger_Resources' => 'adapter.displayed_gallery_trigger_resources.php',
493
- 'A_Display_Settings_Controller' => 'adapter.display_settings_controller.php',
494
- 'A_Display_Settings_Page' => 'adapter.display_settings_page.php',
495
- 'A_Gallery_Display_Factory' => 'adapter.gallery_display_factory.php',
496
- 'C_Display_Type_Installer' => 'class.gallery_display_installer.php',
497
- 'A_Gallery_Display_View' => 'adapter.gallery_display_view.php',
498
- 'C_Displayed_Gallery' => 'class.displayed_gallery.php',
499
- 'C_Displayed_Gallery_Mapper' => 'class.displayed_gallery_mapper.php',
500
- 'C_Displayed_Gallery_Renderer' => 'class.displayed_gallery_renderer.php',
501
- 'C_Displayed_Gallery_Source_Manager' => 'class.displayed_gallery_source_manager.php',
502
- 'C_Display_Type' => 'class.display_type.php',
503
- 'C_Display_Type_Controller' => 'class.display_type_controller.php',
504
- 'C_Display_Type_Mapper' => 'class.display_type_mapper.php',
505
- 'Hook_Propagate_Thumbnail_Dimensions_To_Settings' => 'hook.propagate_thumbnail_dimensions_to_settings.php',
506
- 'Mixin_Display_Type_Form' => 'mixin.display_type_form.php'
507
  );
508
  }
509
 
@@ -519,11 +492,10 @@ class M_Gallery_Display extends C_Base_Module
519
 
520
  /* Create array of directories to scan */
521
  $dirs = array(
522
- //'default' => C_Component_Registry::get_instance()->get_module_dir($display_type->module_id ? $display_type->module_id : $display_type->name) . DIRECTORY_SEPARATOR . 'templates',
523
  'default' => C_Component_Registry::get_instance()->get_module_dir($display_type->name) . DIRECTORY_SEPARATOR . 'templates',
524
  'custom' => WP_CONTENT_DIR . DIRECTORY_SEPARATOR . 'ngg' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . $display_type->name . DIRECTORY_SEPARATOR . 'templates',
525
  );
526
-
527
  /* Apply filters so third party devs can add directories for their templates */
528
  $dirs = apply_filters('ngg_display_type_template_dirs', $dirs, $display_type);
529
  $dirs = apply_filters('ngg_' . $display_type->name . '_template_dirs', $dirs, $display_type);
@@ -591,6 +563,7 @@ class C_Display_Type_Installer
591
 
592
  /**
593
  * Installs displayed gallery sources
 
594
  */
595
  function install($reset=FALSE)
596
  {
@@ -599,6 +572,7 @@ class C_Display_Type_Installer
599
 
600
  /**
601
  * Uninstalls this module
 
602
  */
603
  function uninstall($hard = FALSE)
604
  {
@@ -614,7 +588,8 @@ class C_Display_Type_Installer
614
  /**
615
  * Show related images for a post/page. Ngglegacy function
616
  * @param $taglist
617
- * @param int $maxImages
 
618
  */
619
  function nggShowRelatedGallery($taglist, $maxImages = 0)
620
  {
@@ -632,4 +607,4 @@ function the_related_images($type = 'tags', $maxNumbers = 7)
632
  }
633
 
634
 
635
- new M_Gallery_Display();
74
  */
75
  function _register_adapters()
76
  {
77
+ // Provides factory methods for creating display type and displayed gallery instances
 
78
  $this->get_registry()->add_adapter(
79
  'I_Component_Factory', 'A_Gallery_Display_Factory'
80
  );
81
 
82
+ $this->get_registry()->add_adapter('I_Displayed_Gallery_Renderer', 'A_Displayed_Gallery_Renderer_Random');
83
+
84
  if (is_admin()) {
85
  $this->get_registry()->add_adapter(
86
  'I_Page_Manager',
119
  add_action('init', array(&$this, 'register_resources'), 12);
120
  add_action('admin_bar_menu', array(&$this, 'add_admin_bar_menu'), 100);
121
  add_filter('run_ngg_resource_manager', array(&$this, 'no_resources_mode'));
 
122
 
123
  // Add hook to delete displayed galleries when removed from a post
124
  add_action('pre_post_update', array(&$this, 'locate_stale_displayed_galleries'));
194
  }
195
  }
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  static function enqueue_fontawesome()
198
  {
199
+ wp_register_script(
200
+ 'fontawesome_v4_shim',
201
+ 'https://use.fontawesome.com/releases/v5.3.1/js/v4-shims.js',
202
+ array(),
203
+ '5.3.1'
204
+ );
205
+ if (!wp_script_is('fontawesome', 'registered'))
206
  {
207
+ add_filter('script_loader_tag', 'M_Gallery_Display::fix_fontawesome_script_tag', 10, 2);
208
+ wp_enqueue_script(
209
  'fontawesome',
210
+ 'https://use.fontawesome.com/releases/v5.3.1/js/all.js',
211
+ array('fontawesome_v4_shim'),
212
+ '5.3.1'
213
  );
214
  }
215
 
216
+ if (!wp_style_is('fontawesome', 'registered'))
217
+ {
218
+ wp_enqueue_style(
219
+ 'fontawesome_v4_shim_style',
220
+ 'https://use.fontawesome.com/releases/v5.3.1/css/v4-shims.css'
221
+ );
222
+ wp_enqueue_style(
223
+ 'fontawesome',
224
+ 'https://use.fontawesome.com/releases/v5.3.1/css/all.css'
225
+ );
226
+ }
227
 
228
+ wp_enqueue_script('fontawesome');
229
+ wp_enqueue_script('fontawesome_v4_shim');
230
+ }
 
 
 
 
 
231
 
232
+ /**
233
+ * WP doesn't allow an easy way to set the defer, crossorign, or integrity attributes on our <script>
234
+ *
235
+ * @param string $tag
236
+ * @param string $handle
237
+ * @return string
238
+ */
239
+ static function fix_fontawesome_script_tag($tag, $handle)
240
+ {
241
+ if ('fontawesome' !== $handle)
242
+ return $tag;
 
 
243
 
244
+ return str_replace(' src', ' defer integrity="sha384-kW+oWsYx3YpxvjtZjFXqazFpA7UP/MbiY4jvs+RWZo2+N94PFZ36T6TFkc9O3qoB" crossorigin="anonymous" data-auto-replace-svg="false" data-keep-original-source="false" data-search-pseudo-elements src', $tag);
245
+ }
246
 
247
  function no_resources_mode($valid_request=TRUE)
248
  {
379
  wp_register_style(
380
  'nextgen_gallery_display_settings',
381
  $router->get_static_url('photocrati-nextgen_gallery_display#nextgen_gallery_display_settings.css'),
382
+ array(),
383
  NGG_SCRIPT_VERSION
384
  );
385
 
388
  wp_register_style(
389
  'nextgen_gallery_related_images',
390
  $router->get_static_url('photocrati-nextgen_gallery_display#nextgen_gallery_related_images.css'),
391
+ array(),
392
  NGG_SCRIPT_VERSION
393
  );
394
  wp_register_script(
401
  wp_register_style(
402
  'ngg_trigger_buttons',
403
  $router->get_static_url('photocrati-nextgen_gallery_display#trigger_buttons.css'),
404
+ array(),
405
  NGG_SCRIPT_VERSION
406
  );
407
 
458
  function get_type_list()
459
  {
460
  return array(
461
+ 'A_Display_Settings_Controller' => 'adapter.display_settings_controller.php',
462
+ 'A_Display_Settings_Page' => 'adapter.display_settings_page.php',
463
+ 'A_Displayed_Gallery_Renderer_Random' => 'adapter.displayed_gallery_renderer_random.php',
464
+ 'A_Displayed_Gallery_Trigger_Element' => 'adapter.displayed_gallery_trigger_element.php',
465
+ 'A_Displayed_Gallery_Trigger_Resources' => 'adapter.displayed_gallery_trigger_resources.php',
466
+ 'A_Gallery_Display_Factory' => 'adapter.gallery_display_factory.php',
467
+ 'A_Gallery_Display_View' => 'adapter.gallery_display_view.php',
468
+ 'C_Display_Type' => 'class.display_type.php',
469
+ 'C_Display_Type_Controller' => 'class.display_type_controller.php',
470
+ 'C_Display_Type_Installer' => 'class.gallery_display_installer.php',
471
+ 'C_Display_Type_Mapper' => 'class.display_type_mapper.php',
472
+ 'C_Displayed_Gallery' => 'class.displayed_gallery.php',
473
+ 'C_Displayed_Gallery_Mapper' => 'class.displayed_gallery_mapper.php',
474
+ 'C_Displayed_Gallery_Renderer' => 'class.displayed_gallery_renderer.php',
475
+ 'C_Displayed_Gallery_Source_Manager' => 'class.displayed_gallery_source_manager.php',
476
  'C_Displayed_Gallery_Trigger' => 'class.displayed_gallery_trigger.php',
477
+ 'C_Displayed_Gallery_Trigger_Manager' => 'class.displayed_gallery_trigger_manager.php',
478
+ 'Mixin_Display_Type_Form' => 'mixin.display_type_form.php',
479
+ 'Hook_Propagate_Thumbnail_Dimensions_To_Settings' => 'hook.propagate_thumbnail_dimensions_to_settings.php'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
480
  );
481
  }
482
 
492
 
493
  /* Create array of directories to scan */
494
  $dirs = array(
 
495
  'default' => C_Component_Registry::get_instance()->get_module_dir($display_type->name) . DIRECTORY_SEPARATOR . 'templates',
496
  'custom' => WP_CONTENT_DIR . DIRECTORY_SEPARATOR . 'ngg' . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . $display_type->name . DIRECTORY_SEPARATOR . 'templates',
497
  );
498
+
499
  /* Apply filters so third party devs can add directories for their templates */
500
  $dirs = apply_filters('ngg_display_type_template_dirs', $dirs, $display_type);
501
  $dirs = apply_filters('ngg_' . $display_type->name . '_template_dirs', $dirs, $display_type);
563
 
564
  /**
565
  * Installs displayed gallery sources
566
+ * @param bool $reset (optional) Unused
567
  */
568
  function install($reset=FALSE)
569
  {
572
 
573
  /**
574
  * Uninstalls this module
575
+ * @param bool $hard (optional) Unused
576
  */
577
  function uninstall($hard = FALSE)
578
  {
588
  /**
589
  * Show related images for a post/page. Ngglegacy function
590
  * @param $taglist
591
+ * @param int $maxImages (optional) Default = 0
592
+ * @return string
593
  */
594
  function nggShowRelatedGallery($taglist, $maxImages = 0)
595
  {
607
  }
608
 
609
 
610
+ new M_Gallery_Display();
products/photocrati_nextgen/modules/nextgen_gallery_display/package.module.nextgen_gallery_display.php CHANGED
@@ -37,6 +37,94 @@ class A_Display_Settings_Page extends Mixin
37
  return $this->call_parent('setup');
38
  }
39
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  /**
41
  * Class A_Displayed_Gallery_Trigger_Element
42
  * @mixin C_MVC_View
@@ -100,9 +188,9 @@ class A_Gallery_Display_Factory extends Mixin
100
  {
101
  /**
102
  * Instantiates a Display Type
103
- * @param C_DataMapper $mapper
104
- * @param array|stdClass|C_DataMapper_Model $properties
105
- * @param string|array|FALSE $context
106
  */
107
  function display_type($properties = array(), $mapper = FALSE, $context = FALSE)
108
  {
@@ -110,9 +198,9 @@ class A_Gallery_Display_Factory extends Mixin
110
  }
111
  /**
112
  * Instantiates a Displayed Gallery
113
- * @param C_DataMapper $mapper
114
- * @param array|stdClass|C_DataMapper_Model $properties
115
- * @param string|array|FALSE $context
116
  */
117
  function displayed_gallery($properties = array(), $mapper = FALSE, $context = FALSE)
118
  {
@@ -132,7 +220,7 @@ class A_Gallery_Display_View extends Mixin
132
  * @param string $template_id
133
  * @param C_MVC_View_Element $root_element
134
  * @param string $addition_type what kind of addition is being made 'layout', 'decoration', 'style', 'logic' etc.
135
- * @return string|NULL
136
  */
137
  function _check_addition_rendering($displayed_gallery, $template_id, $root_element, $addition_type)
138
  {
@@ -180,8 +268,8 @@ class C_Display_Type extends C_DataMapper_Model
180
  }
181
  /**
182
  * Initializes a display type with properties
183
- * @param FALSE|C_Display_Type_Mapper $mapper
184
  * @param array|stdClass|C_Display_Type $properties
 
185
  * @param FALSE|string|array $context
186
  */
187
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
@@ -246,9 +334,8 @@ class Mixin_Display_Type_Validation extends Mixin
246
  class Mixin_Display_Type_Instance_Methods extends Mixin
247
  {
248
  /**
249
- * Determines if this display type is compatible with a displayed gallery
250
- * source
251
- * @param stdClass
252
  * @return bool
253
  */
254
  function is_compatible_with_source($source)
@@ -280,7 +367,7 @@ class C_Display_Type_Controller extends C_MVC_Controller
280
  }
281
  /**
282
  * Gets a singleton of the mapper
283
- * @param string|array $context
284
  * @return C_Display_Type_Controller
285
  */
286
  public static function get_instance($context = FALSE)
@@ -299,7 +386,7 @@ class Mixin_Display_Type_Controller extends Mixin
299
  var $_render_mode;
300
  /**
301
  * Enqueues static resources required for lightbox effects
302
- * @param type $displayed_gallery
303
  */
304
  function enqueue_lightbox_resources($displayed_gallery)
305
  {
@@ -312,13 +399,14 @@ class Mixin_Display_Type_Controller extends Mixin
312
  /**
313
  * This method should be overwritten by other adapters/mixins, and call
314
  * wp_enqueue_script() / wp_enqueue_style()
 
315
  */
316
  function enqueue_frontend_resources($displayed_gallery)
317
  {
318
  // This script provides common JavaScript among all display types
319
  wp_enqueue_script('ngg_common');
320
  // Enqueue the display type library
321
- wp_enqueue_script($displayed_gallery->display_type, $this->object->_get_js_lib_url($displayed_gallery), FALSE, NGG_SCRIPT_VERSION);
322
  // Add "galleries = {};"
323
  $this->object->_add_script_data('ngg_common', 'galleries', new stdClass(), TRUE, FALSE);
324
  // Add "galleries.gallery_1 = {};"
@@ -333,7 +421,7 @@ class Mixin_Display_Type_Controller extends Mixin
333
  {
334
  $settings = C_NextGen_Settings::get_instance();
335
  if ((!is_multisite() || is_multisite() && $settings->wpmuStyle) && $settings->activateCSS) {
336
- wp_enqueue_style('nggallery', C_NextGen_Style_Manager::get_instance()->get_selected_stylesheet_url(), FALSE, NGG_SCRIPT_VERSION);
337
  }
338
  }
339
  function get_render_mode()
@@ -362,6 +450,9 @@ class Mixin_Display_Type_Controller extends Mixin
362
  }
363
  /**
364
  * Renders the frontend display of the display type
 
 
 
365
  */
366
  function index_action($displayed_gallery, $return = FALSE)
367
  {
@@ -397,7 +488,8 @@ class Mixin_Display_Type_Controller extends Mixin
397
  }
398
  /**
399
  * Returns the effect HTML code for the displayed gallery
400
- * @param type $displayed_gallery
 
401
  */
402
  function get_effect_code($displayed_gallery)
403
  {
@@ -423,6 +515,8 @@ class Mixin_Display_Type_Controller extends Mixin
423
  * @param string $object_name
424
  * @param mixed $object_value
425
  * @param bool $define
 
 
426
  */
427
  function _add_script_data($handle, $object_name, $object_value, $define = TRUE, $override = FALSE)
428
  {
@@ -624,7 +718,7 @@ class C_Display_Type_Mapper extends C_CustomPost_DataMapper_Driver
624
  }
625
  /**
626
  * Gets a singleton of the mapper
627
- * @param string|array $context
628
  * @return C_Display_Type_Mapper
629
  */
630
  public static function get_instance($context = False)
@@ -643,6 +737,8 @@ class Mixin_Display_Type_Mapper extends Mixin
643
  /**
644
  * Locates a Display Type by names
645
  * @param string $name
 
 
646
  */
647
  function find_by_name($name, $model = FALSE)
648
  {
@@ -665,6 +761,7 @@ class Mixin_Display_Type_Mapper extends Mixin
665
  /**
666
  * Finds display types used to display specific types of entities
667
  * @param string|array $entity_type e.g. image, gallery, album
 
668
  * @return array
669
  */
670
  function find_by_entity_type($entity_type, $model = FALSE)
@@ -692,6 +789,7 @@ class Mixin_Display_Type_Mapper extends Mixin
692
  }
693
  /**
694
  * Sets default values needed for display types
 
695
  */
696
  function set_defaults($entity)
697
  {
@@ -740,8 +838,8 @@ class C_Displayed_Gallery extends C_DataMapper_Model
740
  }
741
  /**
742
  * Initializes a display type with properties
743
- * @param FALSE|C_Displayed_Gallery_Mapper $mapper
744
  * @param array|stdClass|C_Displayed_Gallery $properties
 
745
  * @param FALSE|string|array $context
746
  */
747
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
@@ -750,7 +848,6 @@ class C_Displayed_Gallery extends C_DataMapper_Model
750
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
751
  }
752
  parent::initialize($mapper, $properties);
753
- $this->select_random_variation();
754
  }
755
  }
756
  /**
@@ -802,24 +899,6 @@ class Mixin_Displayed_Gallery_Validation extends Mixin
802
  }
803
  class Mixin_Displayed_Gallery_Queries extends Mixin
804
  {
805
- function select_random_variation()
806
- {
807
- $retval = FALSE;
808
- $source_obj = $this->object->get_source();
809
- if ($source_obj && $source_obj->has_variations) {
810
- $max = 0;
811
- if (!defined('NGG_MAX_VARIATIONS')) {
812
- $settings = C_Photocrati_Global_Settings_Manager::get_instance();
813
- $max = $settings->get('max_variations', 5);
814
- define('NGG_MAX_VARIATIONS', $max);
815
- } else {
816
- $max = NGG_MAX_VARIATIONS;
817
- }
818
- $this->object->variation = floor(rand(1, $max));
819
- $retval = $this->object->variation;
820
- }
821
- return $retval;
822
- }
823
  function get_entities($limit = FALSE, $offset = FALSE, $id_only = FALSE, $returns = 'included')
824
  {
825
  $retval = array();
@@ -1182,7 +1261,7 @@ class Mixin_Displayed_Gallery_Queries extends Mixin
1182
  /**
1183
  * Returns the total number of entities in this displayed gallery
1184
  * @param string $returns
1185
- * @returns int
1186
  */
1187
  function get_entity_count($returns = 'included')
1188
  {
@@ -1437,6 +1516,7 @@ class Mixin_Displayed_Gallery_Instance_Methods extends Mixin
1437
  /**
1438
  * Applies the values of a transient to this object
1439
  * @param string $transient_id
 
1440
  */
1441
  function apply_transient($transient_id = NULL)
1442
  {
@@ -1507,7 +1587,6 @@ class C_Displayed_Gallery_Mapper extends C_CustomPost_DataMapper_Driver
1507
  }
1508
  /**
1509
  * Initializes the mapper
1510
- * @param string|array|FALSE $context
1511
  */
1512
  function initialize()
1513
  {
@@ -1515,7 +1594,7 @@ class C_Displayed_Gallery_Mapper extends C_CustomPost_DataMapper_Driver
1515
  }
1516
  /**
1517
  * Gets a singleton of the mapper
1518
- * @param string|array $context
1519
  * @return C_Displayed_Gallery_Mapper
1520
  */
1521
  public static function get_instance($context = False)
@@ -1543,7 +1622,7 @@ class Mixin_Displayed_Gallery_Defaults extends Mixin
1543
  }
1544
  /**
1545
  * Sets defaults needed for the entity
1546
- * @param type $entity
1547
  */
1548
  function set_defaults($entity)
1549
  {
@@ -1585,7 +1664,7 @@ class C_Displayed_Gallery_Renderer extends C_Component
1585
  static $_instances = array();
1586
  /**
1587
  * Returns an instance of the class
1588
- * @param mixed $context
1589
  * @return C_Displayed_Gallery_Renderer
1590
  */
1591
  static function get_instance($context = FALSE)
@@ -1745,6 +1824,11 @@ class Mixin_Displayed_Gallery_Renderer extends Mixin
1745
  *
1746
  * To retrieve a tag cloud
1747
  * [ngg tagcloud=yes display_type='photocrati-nextgen_basic_tagcloud']
 
 
 
 
 
1748
  */
1749
  function display_images($params, $inner_content = NULL, $mode = NULL)
1750
  {
@@ -1800,7 +1884,10 @@ class Mixin_Displayed_Gallery_Renderer extends Mixin
1800
  }
1801
  /**
1802
  * Renders a displayed gallery on the frontend
1803
- * @param C_Displayed_Gallery|stdClass $displayed_gallery
 
 
 
1804
  */
1805
  function render($displayed_gallery, $return = FALSE, $mode = null)
1806
  {
@@ -1814,16 +1901,8 @@ class Mixin_Displayed_Gallery_Renderer extends Mixin
1814
  if ($mode == null) {
1815
  $mode = 'normal';
1816
  }
1817
- if (apply_filters('ngg_cache_displayed_galleries', FALSE)) {
1818
- // Save the displayed gallery as a transient if it hasn't already. Allows for ajax operations
1819
- // to add or modify the gallery without losing a retrievable ID
1820
- if (!$displayed_gallery->apply_transient()) {
1821
- $displayed_gallery->to_transient();
1822
- }
1823
- } else {
1824
- if (is_null($displayed_gallery->id())) {
1825
- $displayed_gallery->id(md5(json_encode($displayed_gallery->get_entity())));
1826
- }
1827
  }
1828
  // Get the display type controller
1829
  $controller = $this->get_registry()->get_utility('I_Display_Type_Controller', $displayed_gallery->display_type);
@@ -1902,6 +1981,9 @@ class Mixin_Displayed_Gallery_Renderer extends Mixin
1902
  }
1903
  return $retval;
1904
  }
 
 
 
1905
  function is_rest_request()
1906
  {
1907
  return strpos($_SERVER['REQUEST_URI'], 'wp-json') !== FALSE;
@@ -1914,6 +1996,9 @@ class C_Displayed_Gallery_Source_Manager
1914
  private $_registered_defaults = array();
1915
  /* @var C_Displayed_Gallery_Source_Manager */
1916
  static $_instance = NULL;
 
 
 
1917
  static function get_instance()
1918
  {
1919
  if (!isset(self::$_instance)) {
@@ -1956,7 +2041,6 @@ class C_Displayed_Gallery_Source_Manager
1956
  $random->title = __('Random Images', 'nggallery');
1957
  $random->aliases = array('random', 'random_image');
1958
  $random->returns = array('image');
1959
- $random->has_variations = TRUE;
1960
  $this->register($random->name, $random);
1961
  // Recent Images
1962
  $recent = new stdClass();
@@ -1988,9 +2072,6 @@ class C_Displayed_Gallery_Source_Manager
1988
  if (!isset($object->aliases)) {
1989
  $object->aliases = array();
1990
  }
1991
- if (!isset($object->has_variations)) {
1992
- $object->has_variations = FALSE;
1993
- }
1994
  // Add internal reference
1995
  $this->_sources[$name] = $object;
1996
  foreach ($object->aliases as $name) {
@@ -2111,7 +2192,7 @@ abstract class C_Displayed_Gallery_Trigger
2111
  }
2112
  function get_css_class()
2113
  {
2114
- return 'fa fa-circle';
2115
  }
2116
  function get_attributes()
2117
  {
@@ -2411,7 +2492,7 @@ class Mixin_Display_Type_Form extends Mixin
2411
  /**
2412
  * Returns the name of the display type. Sub-class should override
2413
  * @throws Exception
2414
- * @returns string
2415
  */
2416
  function get_display_type_name()
2417
  {
@@ -2431,7 +2512,7 @@ class Mixin_Display_Type_Form extends Mixin
2431
  }
2432
  /**
2433
  * Returns the title of the form, which is the title of the display type
2434
- * @returns string
2435
  */
2436
  function get_title()
2437
  {
37
  return $this->call_parent('setup');
38
  }
39
  }
40
+ class A_Displayed_Gallery_Renderer_Random extends Mixin
41
+ {
42
+ /**
43
+ * @param C_Displayed_Gallery $displayed_gallery
44
+ * @param bool $return
45
+ * @param mixed $mode
46
+ * @return string
47
+ */
48
+ function render($displayed_gallery, $return = FALSE, $mode = null)
49
+ {
50
+ $entity = $displayed_gallery->get_entity();
51
+ // Duplicated from the parent render() method but it's necessary to have for this code to work
52
+ if (is_null($displayed_gallery->id())) {
53
+ $displayed_gallery->id(md5(json_encode($entity)));
54
+ }
55
+ if (in_array($displayed_gallery->source, array('random', 'random_images')) && empty($displayed_gallery->entity_ids)) {
56
+ // Check if the ID selection has been cached
57
+ $key = C_Photocrati_Transient_Manager::create_key('random_displayed_gallery_entity_ids', $entity);
58
+ $image_ids = C_Photocrati_Transient_Manager::fetch($key, FALSE);
59
+ if (empty($image_ids)) {
60
+ $image_ids = $this->get_random_ids_for_cache($displayed_gallery);
61
+ // Store our retrieved IDs
62
+ C_Photocrati_Transient_Manager::update($key, json_encode($image_ids), 86400);
63
+ } else {
64
+ // Convert the stored JSON to an array
65
+ $image_ids = json_decode($image_ids, TRUE);
66
+ }
67
+ // Final step: assign the cached IDs to the $displayed_gallery and return control to the parent
68
+ if (is_array($image_ids)) {
69
+ $displayed_gallery->entity_ids = $image_ids;
70
+ }
71
+ }
72
+ return $this->call_parent('render', $displayed_gallery, $return, $mode);
73
+ }
74
+ public function query_random_ids_for_cache($limit = 10)
75
+ {
76
+ global $wpdb;
77
+ $mod = rand(3, 9);
78
+ return $wpdb->get_col("SELECT pictures.pid from {$wpdb->nggpictures} pictures\n JOIN (SELECT CEIL(MAX(pid) * RAND()) AS pid FROM {$wpdb->nggpictures}) AS x ON pictures.pid >= x.pid\n WHERE pictures.pid MOD {$mod} = 0\n LIMIT {$limit}");
79
+ }
80
+ /**
81
+ * @param C_Displayed_Gallery $displayed_gallery
82
+ * @return int[]
83
+ */
84
+ public function get_random_ids_for_cache($displayed_gallery)
85
+ {
86
+ global $wpdb;
87
+ $image_ids = array();
88
+ // Impose a reasonable hard limit
89
+ if ($displayed_gallery->maximum_entity_count > 500) {
90
+ $displayed_gallery->maximum_entity_count = 500;
91
+ }
92
+ // Some hosts and/or users prefer to not use or choose to disable mySQL's ORDER BY RAND() feature. For them
93
+ // we provide an alternative where we generate some random numbers and check if they exist as image ID and
94
+ // continue to do so until our requested cache has filled.
95
+ if (defined('NGG_DISABLE_ORDER_BY_RAND') && NGG_DISABLE_ORDER_BY_RAND) {
96
+ // Prevent infinite loops: retrieve the image count and if needed just pull in every image available
97
+ $total = $wpdb->get_var("SELECT COUNT(`pid`) FROM {$wpdb->nggpictures}");
98
+ if ($total <= $displayed_gallery->maximum_entity_count) {
99
+ $image_ids = $wpdb->get_col("SELECT pictures.pid from {$wpdb->nggpictures} pictures LIMIT {$total}");
100
+ } else {
101
+ // Start retrieving random ID from the DB and hope they exist; continue looping until our count is full
102
+ $segments = ceil($displayed_gallery->maximum_entity_count / 4);
103
+ while (count($image_ids) < $displayed_gallery->maximum_entity_count) {
104
+ $newID = $this->query_random_ids_for_cache($segments);
105
+ $image_ids = array_merge(array_unique($image_ids), $newID);
106
+ }
107
+ }
108
+ // Prevent overflow
109
+ if (count($image_ids) > $displayed_gallery->maximum_entity_count) {
110
+ array_splice($image_ids, $displayed_gallery->maximum_entity_count);
111
+ }
112
+ // Give things an extra shake
113
+ shuffle($image_ids);
114
+ } else {
115
+ // Default logic; most users will rely on this method
116
+ $sql = "SELECT DISTINCT `pid` FROM `{$wpdb->nggpictures}` WHERE `exclude` = 0";
117
+ if (!empty($displayed_gallery->exclusions)) {
118
+ $sql .= sprintf(" AND `pid` NOT IN (%s)", implode(',', $displayed_gallery->exclusions));
119
+ }
120
+ $sql .= " ORDER BY RAND() LIMIT {$displayed_gallery->maximum_entity_count}";
121
+ foreach ($wpdb->get_results($sql, ARRAY_N) as $res) {
122
+ $image_ids[] = reset($res);
123
+ }
124
+ }
125
+ return $image_ids;
126
+ }
127
+ }
128
  /**
129
  * Class A_Displayed_Gallery_Trigger_Element
130
  * @mixin C_MVC_View
188
  {
189
  /**
190
  * Instantiates a Display Type
191
+ * @param array|stdClass|C_DataMapper_Model $properties (optional)
192
+ * @param C_Display_Type_Mapper $mapper (optional)
193
+ * @param string|array|FALSE $context (optional)
194
  */
195
  function display_type($properties = array(), $mapper = FALSE, $context = FALSE)
196
  {
198
  }
199
  /**
200
  * Instantiates a Displayed Gallery
201
+ * @param array|stdClass|C_DataMapper_Model $properties (optional)
202
+ * @param C_Displayed_Gallery_Mapper $mapper (optional)
203
+ * @param string|array|FALSE $context (optional)
204
  */
205
  function displayed_gallery($properties = array(), $mapper = FALSE, $context = FALSE)
206
  {
220
  * @param string $template_id
221
  * @param C_MVC_View_Element $root_element
222
  * @param string $addition_type what kind of addition is being made 'layout', 'decoration', 'style', 'logic' etc.
223
+ * @return bool|string
224
  */
225
  function _check_addition_rendering($displayed_gallery, $template_id, $root_element, $addition_type)
226
  {
268
  }
269
  /**
270
  * Initializes a display type with properties
 
271
  * @param array|stdClass|C_Display_Type $properties
272
+ * @param FALSE|C_Display_Type_Mapper $mapper
273
  * @param FALSE|string|array $context
274
  */
275
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
334
  class Mixin_Display_Type_Instance_Methods extends Mixin
335
  {
336
  /**
337
+ * Determines if this display type is compatible with a displayed gallery source
338
+ * @param stdClass $source
 
339
  * @return bool
340
  */
341
  function is_compatible_with_source($source)
367
  }
368
  /**
369
  * Gets a singleton of the mapper
370
+ * @param string|bool $context
371
  * @return C_Display_Type_Controller
372
  */
373
  public static function get_instance($context = FALSE)
386
  var $_render_mode;
387
  /**
388
  * Enqueues static resources required for lightbox effects
389
+ * @param object $displayed_gallery
390
  */
391
  function enqueue_lightbox_resources($displayed_gallery)
392
  {
399
  /**
400
  * This method should be overwritten by other adapters/mixins, and call
401
  * wp_enqueue_script() / wp_enqueue_style()
402
+ * @param C_Displayed_Gallery $displayed_gallery
403
  */
404
  function enqueue_frontend_resources($displayed_gallery)
405
  {
406
  // This script provides common JavaScript among all display types
407
  wp_enqueue_script('ngg_common');
408
  // Enqueue the display type library
409
+ wp_enqueue_script($displayed_gallery->display_type, $this->object->_get_js_lib_url($displayed_gallery), array(), NGG_SCRIPT_VERSION);
410
  // Add "galleries = {};"
411
  $this->object->_add_script_data('ngg_common', 'galleries', new stdClass(), TRUE, FALSE);
412
  // Add "galleries.gallery_1 = {};"
421
  {
422
  $settings = C_NextGen_Settings::get_instance();
423
  if ((!is_multisite() || is_multisite() && $settings->wpmuStyle) && $settings->activateCSS) {
424
+ wp_enqueue_style('nggallery', C_NextGen_Style_Manager::get_instance()->get_selected_stylesheet_url(), array(), NGG_SCRIPT_VERSION);
425
  }
426
  }
427
  function get_render_mode()
450
  }
451
  /**
452
  * Renders the frontend display of the display type
453
+ * @param C_Displayed_Gallery $displayed_gallery
454
+ * @param bool $return (optional)
455
+ * @return string
456
  */
457
  function index_action($displayed_gallery, $return = FALSE)
458
  {
488
  }
489
  /**
490
  * Returns the effect HTML code for the displayed gallery
491
+ * @param object $displayed_gallery
492
+ * @return string
493
  */
494
  function get_effect_code($displayed_gallery)
495
  {
515
  * @param string $object_name
516
  * @param mixed $object_value
517
  * @param bool $define
518
+ * @param bool $override
519
+ * @return bool
520
  */
521
  function _add_script_data($handle, $object_name, $object_value, $define = TRUE, $override = FALSE)
522
  {
718
  }
719
  /**
720
  * Gets a singleton of the mapper
721
+ * @param string|bool $context
722
  * @return C_Display_Type_Mapper
723
  */
724
  public static function get_instance($context = False)
737
  /**
738
  * Locates a Display Type by names
739
  * @param string $name
740
+ * @param bool $model
741
+ * @return null|object
742
  */
743
  function find_by_name($name, $model = FALSE)
744
  {
761
  /**
762
  * Finds display types used to display specific types of entities
763
  * @param string|array $entity_type e.g. image, gallery, album
764
+ * @param bool $model (optional)
765
  * @return array
766
  */
767
  function find_by_entity_type($entity_type, $model = FALSE)
789
  }
790
  /**
791
  * Sets default values needed for display types
792
+ * @param object $entity (optional)
793
  */
794
  function set_defaults($entity)
795
  {
838
  }
839
  /**
840
  * Initializes a display type with properties
 
841
  * @param array|stdClass|C_Displayed_Gallery $properties
842
+ * @param FALSE|C_Displayed_Gallery_Mapper $mapper
843
  * @param FALSE|string|array $context
844
  */
845
  function initialize($properties = array(), $mapper = FALSE, $context = FALSE)
848
  $mapper = $this->get_registry()->get_utility($this->_mapper_interface);
849
  }
850
  parent::initialize($mapper, $properties);
 
851
  }
852
  }
853
  /**
899
  }
900
  class Mixin_Displayed_Gallery_Queries extends Mixin
901
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
902
  function get_entities($limit = FALSE, $offset = FALSE, $id_only = FALSE, $returns = 'included')
903
  {
904
  $retval = array();
1261
  /**
1262
  * Returns the total number of entities in this displayed gallery
1263
  * @param string $returns
1264
+ * @return int
1265
  */
1266
  function get_entity_count($returns = 'included')
1267
  {
1516
  /**
1517
  * Applies the values of a transient to this object
1518
  * @param string $transient_id
1519
+ * @return bool
1520
  */
1521
  function apply_transient($transient_id = NULL)
1522
  {
1587
  }
1588
  /**
1589
  * Initializes the mapper
 
1590
  */
1591
  function initialize()
1592
  {
1594
  }
1595
  /**
1596
  * Gets a singleton of the mapper
1597
+ * @param string|bool $context
1598
  * @return C_Displayed_Gallery_Mapper
1599
  */
1600
  public static function get_instance($context = False)
1622
  }
1623
  /**
1624
  * Sets defaults needed for the entity
1625
+ * @param object $entity
1626
  */
1627
  function set_defaults($entity)
1628
  {
1664
  static $_instances = array();
1665
  /**
1666
  * Returns an instance of the class
1667
+ * @param bool|string $context
1668
  * @return C_Displayed_Gallery_Renderer
1669
  */
1670
  static function get_instance($context = FALSE)
1824
  *
1825
  * To retrieve a tag cloud
1826
  * [ngg tagcloud=yes display_type='photocrati-nextgen_basic_tagcloud']
1827
+ *
1828
+ * @param array $params
1829
+ * @param null|string $inner_content (optional)
1830
+ * @param bool|null $mode (optional)
1831
+ * @return string
1832
  */
1833
  function display_images($params, $inner_content = NULL, $mode = NULL)
1834
  {
1884
  }
1885
  /**
1886
  * Renders a displayed gallery on the frontend
1887
+ * @param C_Displayed_Gallery $displayed_gallery
1888
+ * @param bool $return
1889
+ * @param string|null $mode (optional)
1890
+ * @return string
1891
  */
1892
  function render($displayed_gallery, $return = FALSE, $mode = null)
1893
  {
1901
  if ($mode == null) {
1902
  $mode = 'normal';
1903
  }
1904
+ if (is_null($displayed_gallery->id())) {
1905
+ $displayed_gallery->id(md5(json_encode($displayed_gallery->get_entity())));
 
 
 
 
 
 
 
 
1906
  }
1907
  // Get the display type controller
1908
  $controller = $this->get_registry()->get_utility('I_Display_Type_Controller', $displayed_gallery->display_type);
1981
  }
1982
  return $retval;
1983
  }
1984
+ /**
1985
+ * @return bool
1986
+ */
1987
  function is_rest_request()
1988
  {
1989
  return strpos($_SERVER['REQUEST_URI'], 'wp-json') !== FALSE;
1996
  private $_registered_defaults = array();
1997
  /* @var C_Displayed_Gallery_Source_Manager */
1998
  static $_instance = NULL;
1999
+ /**
2000
+ * @return C_Displayed_Gallery_Source_Manager
2001
+ */
2002
  static function get_instance()
2003
  {
2004
  if (!isset(self::$_instance)) {
2041
  $random->title = __('Random Images', 'nggallery');
2042
  $random->aliases = array('random', 'random_image');
2043
  $random->returns = array('image');
 
2044
  $this->register($random->name, $random);
2045
  // Recent Images
2046
  $recent = new stdClass();
2072
  if (!isset($object->aliases)) {
2073
  $object->aliases = array();
2074
  }
 
 
 
2075
  // Add internal reference
2076
  $this->_sources[$name] = $object;
2077
  foreach ($object->aliases as $name) {
2192
  }
2193
  function get_css_class()
2194
  {
2195
+ return 'far fa-circle';
2196
  }
2197
  function get_attributes()
2198
  {
2492
  /**
2493
  * Returns the name of the display type. Sub-class should override
2494
  * @throws Exception
2495
+ * @return string
2496
  */
2497
  function get_display_type_name()
2498
  {
2512
  }
2513
  /**
2514
  * Returns the title of the form, which is the title of the display type
2515
+ * @return string
2516
  */
2517
  function get_title()
2518
  {
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.css DELETED
@@ -1,2178 +0,0 @@
1
- /*!
2
- * Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome
3
- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
- */
5
- /* FONT PATH
6
- * -------------------------- */
7
- @font-face {
8
- font-family: 'FontAwesome';
9
- src: url('../fonts/fontawesome-webfont.eot?v=4.6.1');
10
- src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.1') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.6.1') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.6.1') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.6.1') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.6.1#fontawesomeregular') format('svg');
11
- font-weight: normal;
12
- font-style: normal;
13
- }
14
- .fa {
15
- display: inline-block;
16
- font: normal normal normal 14px/1 FontAwesome;
17
- font-size: inherit;
18
- text-rendering: auto;
19
- -webkit-font-smoothing: antialiased;
20
- -moz-osx-font-smoothing: grayscale;
21
- }
22
- /* makes the font 33% larger relative to the icon container */
23
- .fa-lg {
24
- font-size: 1.33333333em;
25
- line-height: 0.75em;
26
- vertical-align: -15%;
27
- }
28
- .fa-2x {
29
- font-size: 2em;
30
- }
31
- .fa-3x {
32
- font-size: 3em;
33
- }
34
- .fa-4x {
35
- font-size: 4em;
36
- }
37
- .fa-5x {
38
- font-size: 5em;
39
- }
40
- .fa-fw {
41
- width: 1.28571429em;
42
- text-align: center;
43
- }
44
- .fa-ul {
45
- padding-left: 0;
46
- margin-left: 2.14285714em;
47
- list-style-type: none;
48
- }
49
- .fa-ul > li {
50
- position: relative;
51
- }
52
- .fa-li {
53
- position: absolute;
54
- left: -2.14285714em;
55
- width: 2.14285714em;
56
- top: 0.14285714em;
57
- text-align: center;
58
- }
59
- .fa-li.fa-lg {
60
- left: -1.85714286em;
61
- }
62
- .fa-border {
63
- padding: .2em .25em .15em;
64
- border: solid 0.08em #eee;
65
- border-radius: .1em;
66
- }
67
- .fa-pull-left {
68
- float: left;
69
- }
70
- .fa-pull-right {
71
- float: right;
72
- }
73
- .fa.fa-pull-left {
74
- margin-right: .3em;
75
- }
76
- .fa.fa-pull-right {
77
- margin-left: .3em;
78
- }
79
- /* Deprecated as of 4.4.0 */
80
- .pull-right {
81
- float: right;
82
- }
83
- .pull-left {
84
- float: left;
85
- }
86
- .fa.pull-left {
87
- margin-right: .3em;
88
- }
89
- .fa.pull-right {
90
- margin-left: .3em;
91
- }
92
- .fa-spin {
93
- -webkit-animation: fa-spin 2s infinite linear;
94
- animation: fa-spin 2s infinite linear;
95
- }
96
- .fa-pulse {
97
- -webkit-animation: fa-spin 1s infinite steps(8);
98
- animation: fa-spin 1s infinite steps(8);
99
- }
100
- @-webkit-keyframes fa-spin {
101
- 0% {
102
- -webkit-transform: rotate(0deg);
103
- transform: rotate(0deg);
104
- }
105
- 100% {
106
- -webkit-transform: rotate(359deg);
107
- transform: rotate(359deg);
108
- }
109
- }
110
- @keyframes fa-spin {
111
- 0% {
112
- -webkit-transform: rotate(0deg);
113
- transform: rotate(0deg);
114
- }
115
- 100% {
116
- -webkit-transform: rotate(359deg);
117
- transform: rotate(359deg);
118
- }
119
- }
120
- .fa-rotate-90 {
121
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
122
- -webkit-transform: rotate(90deg);
123
- -ms-transform: rotate(90deg);
124
- transform: rotate(90deg);
125
- }
126
- .fa-rotate-180 {
127
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
128
- -webkit-transform: rotate(180deg);
129
- -ms-transform: rotate(180deg);
130
- transform: rotate(180deg);
131
- }
132
- .fa-rotate-270 {
133
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
134
- -webkit-transform: rotate(270deg);
135
- -ms-transform: rotate(270deg);
136
- transform: rotate(270deg);
137
- }
138
- .fa-flip-horizontal {
139
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
140
- -webkit-transform: scale(-1, 1);
141
- -ms-transform: scale(-1, 1);
142
- transform: scale(-1, 1);
143
- }
144
- .fa-flip-vertical {
145
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
146
- -webkit-transform: scale(1, -1);
147
- -ms-transform: scale(1, -1);
148
- transform: scale(1, -1);
149
- }
150
- :root .fa-rotate-90,
151
- :root .fa-rotate-180,
152
- :root .fa-rotate-270,
153
- :root .fa-flip-horizontal,
154
- :root .fa-flip-vertical {
155
- filter: none;
156
- }
157
- .fa-stack {
158
- position: relative;
159
- display: inline-block;
160
- width: 2em;
161
- height: 2em;
162
- line-height: 2em;
163
- vertical-align: middle;
164
- }
165
- .fa-stack-1x,
166
- .fa-stack-2x {
167
- position: absolute;
168
- left: 0;
169
- width: 100%;
170
- text-align: center;
171
- }
172
- .fa-stack-1x {
173
- line-height: inherit;
174
- }
175
- .fa-stack-2x {
176
- font-size: 2em;
177
- }
178
- .fa-inverse {
179
- color: #fff;
180
- }
181
- /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
182
- readers do not read off random characters that represent icons */
183
- .fa-glass:before {
184
- content: "\f000";
185
- }
186
- .fa-music:before {
187
- content: "\f001";
188
- }
189
- .fa-search:before {
190
- content: "\f002";
191
- }
192
- .fa-envelope-o:before {
193
- content: "\f003";
194
- }
195
- .fa-heart:before {
196
- content: "\f004";
197
- }
198
- .fa-star:before {
199
- content: "\f005";
200
- }
201
- .fa-star-o:before {
202
- content: "\f006";
203
- }
204
- .fa-user:before {
205
- content: "\f007";
206
- }
207
- .fa-film:before {
208
- content: "\f008";
209
- }
210
- .fa-th-large:before {
211
- content: "\f009";
212
- }
213
- .fa-th:before {
214
- content: "\f00a";
215
- }
216
- .fa-th-list:before {
217
- content: "\f00b";
218
- }
219
- .fa-check:before {
220
- content: "\f00c";
221
- }
222
- .fa-remove:before,
223
- .fa-close:before,
224
- .fa-times:before {
225
- content: "\f00d";
226
- }
227
- .fa-search-plus:before {
228
- content: "\f00e";
229
- }
230
- .fa-search-minus:before {
231
- content: "\f010";
232
- }
233
- .fa-power-off:before {
234
- content: "\f011";
235
- }
236
- .fa-signal:before {
237
- content: "\f012";
238
- }
239
- .fa-gear:before,
240
- .fa-cog:before {
241
- content: "\f013";
242
- }
243
- .fa-trash-o:before {
244
- content: "\f014";
245
- }
246
- .fa-home:before {
247
- content: "\f015";
248
- }
249
- .fa-file-o:before {
250
- content: "\f016";
251
- }
252
- .fa-clock-o:before {
253
- content: "\f017";
254
- }
255
- .fa-road:before {
256
- content: "\f018";
257
- }
258
- .fa-download:before {
259
- content: "\f019";
260
- }
261
- .fa-arrow-circle-o-down:before {
262
- content: "\f01a";
263
- }
264
- .fa-arrow-circle-o-up:before {
265
- content: "\f01b";
266
- }
267
- .fa-inbox:before {
268
- content: "\f01c";
269
- }
270
- .fa-play-circle-o:before {
271
- content: "\f01d";
272
- }
273
- .fa-rotate-right:before,
274
- .fa-repeat:before {
275
- content: "\f01e";
276
- }
277
- .fa-refresh:before {
278
- content: "\f021";
279
- }
280
- .fa-list-alt:before {
281
- content: "\f022";
282
- }
283
- .fa-lock:before {
284
- content: "\f023";
285
- }
286
- .fa-flag:before {
287
- content: "\f024";
288
- }
289
- .fa-headphones:before {
290
- content: "\f025";
291
- }
292
- .fa-volume-off:before {
293
- content: "\f026";
294
- }
295
- .fa-volume-down:before {
296
- content: "\f027";
297
- }
298
- .fa-volume-up:before {
299
- content: "\f028";
300
- }
301
- .fa-qrcode:before {
302
- content: "\f029";
303
- }
304
- .fa-barcode:before {
305
- content: "\f02a";
306
- }
307
- .fa-tag:before {
308
- content: "\f02b";
309
- }
310
- .fa-tags:before {
311
- content: "\f02c";
312
- }
313
- .fa-book:before {
314
- content: "\f02d";
315
- }
316
- .fa-bookmark:before {
317
- content: "\f02e";
318
- }
319
- .fa-print:before {
320
- content: "\f02f";
321
- }
322
- .fa-camera:before {
323
- content: "\f030";
324
- }
325
- .fa-font:before {
326
- content: "\f031";
327
- }
328
- .fa-bold:before {
329
- content: "\f032";
330
- }
331
- .fa-italic:before {
332
- content: "\f033";
333
- }
334
- .fa-text-height:before {
335
- content: "\f034";
336
- }
337
- .fa-text-width:before {
338
- content: "\f035";
339
- }
340
- .fa-align-left:before {
341
- content: "\f036";
342
- }
343
- .fa-align-center:before {
344
- content: "\f037";
345
- }
346
- .fa-align-right:before {
347
- content: "\f038";
348
- }
349
- .fa-align-justify:before {
350
- content: "\f039";
351
- }
352
- .fa-list:before {
353
- content: "\f03a";
354
- }
355
- .fa-dedent:before,
356
- .fa-outdent:before {
357
- content: "\f03b";
358
- }
359
- .fa-indent:before {
360
- content: "\f03c";
361
- }
362
- .fa-video-camera:before {
363
- content: "\f03d";
364
- }
365
- .fa-photo:before,
366
- .fa-image:before,
367
- .fa-picture-o:before {
368
- content: "\f03e";
369
- }
370
- .fa-pencil:before {
371
- content: "\f040";
372
- }
373
- .fa-map-marker:before {
374
- content: "\f041";
375
- }
376
- .fa-adjust:before {
377
- content: "\f042";
378
- }
379
- .fa-tint:before {
380
- content: "\f043";
381
- }
382
- .fa-edit:before,
383
- .fa-pencil-square-o:before {
384
- content: "\f044";
385
- }
386
- .fa-share-square-o:before {
387
- content: "\f045";
388
- }
389
- .fa-check-square-o:before {
390
- content: "\f046";
391
- }
392
- .fa-arrows:before {
393
- content: "\f047";
394
- }
395
- .fa-step-backward:before {
396
- content: "\f048";
397
- }
398
- .fa-fast-backward:before {
399
- content: "\f049";
400
- }
401
- .fa-backward:before {
402
- content: "\f04a";
403
- }
404
- .fa-play:before {
405
- content: "\f04b";
406
- }
407
- .fa-pause:before {
408
- content: "\f04c";
409
- }
410
- .fa-stop:before {
411
- content: "\f04d";
412
- }
413
- .fa-forward:before {
414
- content: "\f04e";
415
- }
416
- .fa-fast-forward:before {
417
- content: "\f050";
418
- }
419
- .fa-step-forward:before {
420
- content: "\f051";
421
- }
422
- .fa-eject:before {
423
- content: "\f052";
424
- }
425
- .fa-chevron-left:before {
426
- content: "\f053";
427
- }
428
- .fa-chevron-right:before {
429
- content: "\f054";
430
- }
431
- .fa-plus-circle:before {
432
- content: "\f055";
433
- }
434
- .fa-minus-circle:before {
435
- content: "\f056";
436
- }
437
- .fa-times-circle:before {
438
- content: "\f057";
439
- }
440
- .fa-check-circle:before {
441
- content: "\f058";
442
- }
443
- .fa-question-circle:before {
444
- content: "\f059";
445
- }
446
- .fa-info-circle:before {
447
- content: "\f05a";
448
- }
449
- .fa-crosshairs:before {
450
- content: "\f05b";
451
- }
452
- .fa-times-circle-o:before {
453
- content: "\f05c";
454
- }
455
- .fa-check-circle-o:before {
456
- content: "\f05d";
457
- }
458
- .fa-ban:before {
459
- content: "\f05e";
460
- }
461
- .fa-arrow-left:before {
462
- content: "\f060";
463
- }
464
- .fa-arrow-right:before {
465
- content: "\f061";
466
- }
467
- .fa-arrow-up:before {
468
- content: "\f062";
469
- }
470
- .fa-arrow-down:before {
471
- content: "\f063";
472
- }
473
- .fa-mail-forward:before,
474
- .fa-share:before {
475
- content: "\f064";
476
- }
477
- .fa-expand:before {
478
- content: "\f065";
479
- }
480
- .fa-compress:before {
481
- content: "\f066";
482
- }
483
- .fa-plus:before {
484
- content: "\f067";
485
- }
486
- .fa-minus:before {
487
- content: "\f068";
488
- }
489
- .fa-asterisk:before {
490
- content: "\f069";
491
- }
492
- .fa-exclamation-circle:before {
493
- content: "\f06a";
494
- }
495
- .fa-gift:before {
496
- content: "\f06b";
497
- }
498
- .fa-leaf:before {
499
- content: "\f06c";
500
- }
501
- .fa-fire:before {
502
- content: "\f06d";
503
- }
504
- .fa-eye:before {
505
- content: "\f06e";
506
- }
507
- .fa-eye-slash:before {
508
- content: "\f070";
509
- }
510
- .fa-warning:before,
511
- .fa-exclamation-triangle:before {
512
- content: "\f071";
513
- }
514
- .fa-plane:before {
515
- content: "\f072";
516
- }
517
- .fa-calendar:before {
518
- content: "\f073";
519
- }
520
- .fa-random:before {
521
- content: "\f074";
522
- }
523
- .fa-comment:before {
524
- content: "\f075";
525
- }
526
- .fa-magnet:before {
527
- content: "\f076";
528
- }
529
- .fa-chevron-up:before {
530
- content: "\f077";
531
- }
532
- .fa-chevron-down:before {
533
- content: "\f078";
534
- }
535
- .fa-retweet:before {
536
- content: "\f079";
537
- }
538
- .fa-shopping-cart:before {
539
- content: "\f07a";
540
- }
541
- .fa-folder:before {
542
- content: "\f07b";
543
- }
544
- .fa-folder-open:before {
545
- content: "\f07c";
546
- }
547
- .fa-arrows-v:before {
548
- content: "\f07d";
549
- }
550
- .fa-arrows-h:before {
551
- content: "\f07e";
552
- }
553
- .fa-bar-chart-o:before,
554
- .fa-bar-chart:before {
555
- content: "\f080";
556
- }
557
- .fa-twitter-square:before {
558
- content: "\f081";
559
- }
560
- .fa-facebook-square:before {
561
- content: "\f082";
562
- }
563
- .fa-camera-retro:before {
564
- content: "\f083";
565
- }
566
- .fa-key:before {
567
- content: "\f084";
568
- }
569
- .fa-gears:before,
570
- .fa-cogs:before {
571
- content: "\f085";
572
- }
573
- .fa-comments:before {
574
- content: "\f086";
575
- }
576
- .fa-thumbs-o-up:before {
577
- content: "\f087";
578
- }
579
- .fa-thumbs-o-down:before {
580
- content: "\f088";
581
- }
582
- .fa-star-half:before {
583
- content: "\f089";
584
- }
585
- .fa-heart-o:before {
586
- content: "\f08a";
587
- }
588
- .fa-sign-out:before {
589
- content: "\f08b";
590
- }
591
- .fa-linkedin-square:before {
592
- content: "\f08c";
593
- }
594
- .fa-thumb-tack:before {
595
- content: "\f08d";
596
- }
597
- .fa-external-link:before {
598
- content: "\f08e";
599
- }
600
- .fa-sign-in:before {
601
- content: "\f090";
602
- }
603
- .fa-trophy:before {
604
- content: "\f091";
605
- }
606
- .fa-github-square:before {
607
- content: "\f092";
608
- }
609
- .fa-upload:before {
610
- content: "\f093";
611
- }
612
- .fa-lemon-o:before {
613
- content: "\f094";
614
- }
615
- .fa-phone:before {
616
- content: "\f095";
617
- }
618
- .fa-square-o:before {
619
- content: "\f096";
620
- }
621
- .fa-bookmark-o:before {
622
- content: "\f097";
623
- }
624
- .fa-phone-square:before {
625
- content: "\f098";
626
- }
627
- .fa-twitter:before {
628
- content: "\f099";
629
- }
630
- .fa-facebook-f:before,
631
- .fa-facebook:before {
632
- content: "\f09a";
633
- }
634
- .fa-github:before {
635
- content: "\f09b";
636
- }
637
- .fa-unlock:before {
638
- content: "\f09c";
639
- }
640
- .fa-credit-card:before {
641
- content: "\f09d";
642
- }
643
- .fa-feed:before,
644
- .fa-rss:before {
645
- content: "\f09e";
646
- }
647
- .fa-hdd-o:before {
648
- content: "\f0a0";
649
- }
650
- .fa-bullhorn:before {
651
- content: "\f0a1";
652
- }
653
- .fa-bell:before {
654
- content: "\f0f3";
655
- }
656
- .fa-certificate:before {
657
- content: "\f0a3";
658
- }
659
- .fa-hand-o-right:before {
660
- content: "\f0a4";
661
- }
662
- .fa-hand-o-left:before {
663
- content: "\f0a5";
664
- }
665
- .fa-hand-o-up:before {
666
- content: "\f0a6";
667
- }
668
- .fa-hand-o-down:before {
669
- content: "\f0a7";
670
- }
671
- .fa-arrow-circle-left:before {
672
- content: "\f0a8";
673
- }
674
- .fa-arrow-circle-right:before {
675
- content: "\f0a9";
676
- }
677
- .fa-arrow-circle-up:before {
678
- content: "\f0aa";
679
- }
680
- .fa-arrow-circle-down:before {
681
- content: "\f0ab";
682
- }
683
- .fa-globe:before {
684
- content: "\f0ac";
685
- }
686
- .fa-wrench:before {
687
- content: "\f0ad";
688
- }
689
- .fa-tasks:before {
690
- content: "\f0ae";
691
- }
692
- .fa-filter:before {
693
- content: "\f0b0";
694
- }
695
- .fa-briefcase:before {
696
- content: "\f0b1";
697
- }
698
- .fa-arrows-alt:before {
699
- content: "\f0b2";
700
- }
701
- .fa-group:before,
702
- .fa-users:before {
703
- content: "\f0c0";
704
- }
705
- .fa-chain:before,
706
- .fa-link:before {
707
- content: "\f0c1";
708
- }
709
- .fa-cloud:before {
710
- content: "\f0c2";
711
- }
712
- .fa-flask:before {
713
- content: "\f0c3";
714
- }
715
- .fa-cut:before,
716
- .fa-scissors:before {
717
- content: "\f0c4";
718
- }
719
- .fa-copy:before,
720
- .fa-files-o:before {
721
- content: "\f0c5";
722
- }
723
- .fa-paperclip:before {
724
- content: "\f0c6";
725
- }
726
- .fa-save:before,
727
- .fa-floppy-o:before {
728
- content: "\f0c7";
729
- }
730
- .fa-square:before {
731
- content: "\f0c8";
732
- }
733
- .fa-navicon:before,
734
- .fa-reorder:before,
735
- .fa-bars:before {
736
- content: "\f0c9";
737
- }
738
- .fa-list-ul:before {
739
- content: "\f0ca";
740
- }
741
- .fa-list-ol:before {
742
- content: "\f0cb";
743
- }
744
- .fa-strikethrough:before {
745
- content: "\f0cc";
746
- }
747
- .fa-underline:before {
748
- content: "\f0cd";
749
- }
750
- .fa-table:before {
751
- content: "\f0ce";
752
- }
753
- .fa-magic:before {
754
- content: "\f0d0";
755
- }
756
- .fa-truck:before {
757
- content: "\f0d1";
758
- }
759
- .fa-pinterest:before {
760
- content: "\f0d2";
761
- }
762
- .fa-pinterest-square:before {
763
- content: "\f0d3";
764
- }
765
- .fa-google-plus-square:before {
766
- content: "\f0d4";
767
- }
768
- .fa-google-plus:before {
769
- content: "\f0d5";
770
- }
771
- .fa-money:before {
772
- content: "\f0d6";
773
- }
774
- .fa-caret-down:before {
775
- content: "\f0d7";
776
- }
777
- .fa-caret-up:before {
778
- content: "\f0d8";
779
- }
780
- .fa-caret-left:before {
781
- content: "\f0d9";
782
- }
783
- .fa-caret-right:before {
784
- content: "\f0da";
785
- }
786
- .fa-columns:before {
787
- content: "\f0db";
788
- }
789
- .fa-unsorted:before,
790
- .fa-sort:before {
791
- content: "\f0dc";
792
- }
793
- .fa-sort-down:before,
794
- .fa-sort-desc:before {
795
- content: "\f0dd";
796
- }
797
- .fa-sort-up:before,
798
- .fa-sort-asc:before {
799
- content: "\f0de";
800
- }
801
- .fa-envelope:before {
802
- content: "\f0e0";
803
- }
804
- .fa-linkedin:before {
805
- content: "\f0e1";
806
- }
807
- .fa-rotate-left:before,
808
- .fa-undo:before {
809
- content: "\f0e2";
810
- }
811
- .fa-legal:before,
812
- .fa-gavel:before {
813
- content: "\f0e3";
814
- }
815
- .fa-dashboard:before,
816
- .fa-tachometer:before {
817
- content: "\f0e4";
818
- }
819
- .fa-comment-o:before {
820
- content: "\f0e5";
821
- }
822
- .fa-comments-o:before {
823
- content: "\f0e6";
824
- }
825
- .fa-flash:before,
826
- .fa-bolt:before {
827
- content: "\f0e7";
828
- }
829
- .fa-sitemap:before {
830
- content: "\f0e8";
831
- }
832
- .fa-umbrella:before {
833
- content: "\f0e9";
834
- }
835
- .fa-paste:before,
836
- .fa-clipboard:before {
837
- content: "\f0ea";
838
- }
839
- .fa-lightbulb-o:before {
840
- content: "\f0eb";
841
- }
842
- .fa-exchange:before {
843
- content: "\f0ec";
844
- }
845
- .fa-cloud-download:before {
846
- content: "\f0ed";
847
- }
848
- .fa-cloud-upload:before {
849
- content: "\f0ee";
850
- }
851
- .fa-user-md:before {
852
- content: "\f0f0";
853
- }
854
- .fa-stethoscope:before {
855
- content: "\f0f1";
856
- }
857
- .fa-suitcase:before {
858
- content: "\f0f2";
859
- }
860
- .fa-bell-o:before {
861
- content: "\f0a2";
862
- }
863
- .fa-coffee:before {
864
- content: "\f0f4";
865
- }
866
- .fa-cutlery:before {
867
- content: "\f0f5";
868
- }
869
- .fa-file-text-o:before {
870
- content: "\f0f6";
871
- }
872
- .fa-building-o:before {
873
- content: "\f0f7";
874
- }
875
- .fa-hospital-o:before {
876
- content: "\f0f8";
877
- }
878
- .fa-ambulance:before {
879
- content: "\f0f9";
880
- }
881
- .fa-medkit:before {
882
- content: "\f0fa";
883
- }
884
- .fa-fighter-jet:before {
885
- content: "\f0fb";
886
- }
887
- .fa-beer:before {
888
- content: "\f0fc";
889
- }
890
- .fa-h-square:before {
891
- content: "\f0fd";
892
- }
893
- .fa-plus-square:before {
894
- content: "\f0fe";
895
- }
896
- .fa-angle-double-left:before {
897
- content: "\f100";
898
- }
899
- .fa-angle-double-right:before {
900
- content: "\f101";
901
- }
902
- .fa-angle-double-up:before {
903
- content: "\f102";
904
- }
905
- .fa-angle-double-down:before {
906
- content: "\f103";
907
- }
908
- .fa-angle-left:before {
909
- content: "\f104";
910
- }
911
- .fa-angle-right:before {
912
- content: "\f105";
913
- }
914
- .fa-angle-up:before {
915
- content: "\f106";
916
- }
917
- .fa-angle-down:before {
918
- content: "\f107";
919
- }
920
- .fa-desktop:before {
921
- content: "\f108";
922
- }
923
- .fa-laptop:before {
924
- content: "\f109";
925
- }
926
- .fa-tablet:before {
927
- content: "\f10a";
928
- }
929
- .fa-mobile-phone:before,
930
- .fa-mobile:before {
931
- content: "\f10b";
932
- }
933
- .fa-circle-o:before {
934
- content: "\f10c";
935
- }
936
- .fa-quote-left:before {
937
- content: "\f10d";
938
- }
939
- .fa-quote-right:before {
940
- content: "\f10e";
941
- }
942
- .fa-spinner:before {
943
- content: "\f110";
944
- }
945
- .fa-circle:before {
946
- content: "\f111";
947
- }
948
- .fa-mail-reply:before,
949
- .fa-reply:before {
950
- content: "\f112";
951
- }
952
- .fa-github-alt:before {
953
- content: "\f113";
954
- }
955
- .fa-folder-o:before {
956
- content: "\f114";
957
- }
958
- .fa-folder-open-o:before {
959
- content: "\f115";
960
- }
961
- .fa-smile-o:before {
962
- content: "\f118";
963
- }
964
- .fa-frown-o:before {
965
- content: "\f119";
966
- }
967
- .fa-meh-o:before {
968
- content: "\f11a";
969
- }
970
- .fa-gamepad:before {
971
- content: "\f11b";
972
- }
973
- .fa-keyboard-o:before {
974
- content: "\f11c";
975
- }
976
- .fa-flag-o:before {
977
- content: "\f11d";
978
- }
979
- .fa-flag-checkered:before {
980
- content: "\f11e";
981
- }
982
- .fa-terminal:before {
983
- content: "\f120";
984
- }
985
- .fa-code:before {
986
- content: "\f121";
987
- }
988
- .fa-mail-reply-all:before,
989
- .fa-reply-all:before {
990
- content: "\f122";
991
- }
992
- .fa-star-half-empty:before,
993
- .fa-star-half-full:before,
994
- .fa-star-half-o:before {
995
- content: "\f123";
996
- }
997
- .fa-location-arrow:before {
998
- content: "\f124";
999
- }
1000
- .fa-crop:before {
1001
- content: "\f125";
1002
- }
1003
- .fa-code-fork:before {
1004
- content: "\f126";
1005
- }
1006
- .fa-unlink:before,
1007
- .fa-chain-broken:before {
1008
- content: "\f127";
1009
- }
1010
- .fa-question:before {
1011
- content: "\f128";
1012
- }
1013
- .fa-info:before {
1014
- content: "\f129";
1015
- }
1016
- .fa-exclamation:before {
1017
- content: "\f12a";
1018
- }
1019
- .fa-superscript:before {
1020
- content: "\f12b";
1021
- }
1022
- .fa-subscript:before {
1023
- content: "\f12c";
1024
- }
1025
- .fa-eraser:before {
1026
- content: "\f12d";
1027
- }
1028
- .fa-puzzle-piece:before {
1029
- content: "\f12e";
1030
- }
1031
- .fa-microphone:before {
1032
- content: "\f130";
1033
- }
1034
- .fa-microphone-slash:before {
1035
- content: "\f131";
1036
- }
1037
- .fa-shield:before {
1038
- content: "\f132";
1039
- }
1040
- .fa-calendar-o:before {
1041
- content: "\f133";
1042
- }
1043
- .fa-fire-extinguisher:before {
1044
- content: "\f134";
1045
- }
1046
- .fa-rocket:before {
1047
- content: "\f135";
1048
- }
1049
- .fa-maxcdn:before {
1050
- content: "\f136";
1051
- }
1052
- .fa-chevron-circle-left:before {
1053
- content: "\f137";
1054
- }
1055
- .fa-chevron-circle-right:before {
1056
- content: "\f138";
1057
- }
1058
- .fa-chevron-circle-up:before {
1059
- content: "\f139";
1060
- }
1061
- .fa-chevron-circle-down:before {
1062
- content: "\f13a";
1063
- }
1064
- .fa-html5:before {
1065
- content: "\f13b";
1066
- }
1067
- .fa-css3:before {
1068
- content: "\f13c";
1069
- }
1070
- .fa-anchor:before {
1071
- content: "\f13d";
1072
- }
1073
- .fa-unlock-alt:before {
1074
- content: "\f13e";
1075
- }
1076
- .fa-bullseye:before {
1077
- content: "\f140";
1078
- }
1079
- .fa-ellipsis-h:before {
1080
- content: "\f141";
1081
- }
1082
- .fa-ellipsis-v:before {
1083
- content: "\f142";
1084
- }
1085
- .fa-rss-square:before {
1086
- content: "\f143";
1087
- }
1088
- .fa-play-circle:before {
1089
- content: "\f144";
1090
- }
1091
- .fa-ticket:before {
1092
- content: "\f145";
1093
- }
1094
- .fa-minus-square:before {
1095
- content: "\f146";
1096
- }
1097
- .fa-minus-square-o:before {
1098
- content: "\f147";
1099
- }
1100
- .fa-level-up:before {
1101
- content: "\f148";
1102
- }
1103
- .fa-level-down:before {
1104
- content: "\f149";
1105
- }
1106
- .fa-check-square:before {
1107
- content: "\f14a";
1108
- }
1109
- .fa-pencil-square:before {
1110
- content: "\f14b";
1111
- }
1112
- .fa-external-link-square:before {
1113
- content: "\f14c";
1114
- }
1115
- .fa-share-square:before {
1116
- content: "\f14d";
1117
- }
1118
- .fa-compass:before {
1119
- content: "\f14e";
1120
- }
1121
- .fa-toggle-down:before,
1122
- .fa-caret-square-o-down:before {
1123
- content: "\f150";
1124
- }
1125
- .fa-toggle-up:before,
1126
- .fa-caret-square-o-up:before {
1127
- content: "\f151";
1128
- }
1129
- .fa-toggle-right:before,
1130
- .fa-caret-square-o-right:before {
1131
- content: "\f152";
1132
- }
1133
- .fa-euro:before,
1134
- .fa-eur:before {
1135
- content: "\f153";
1136
- }
1137
- .fa-gbp:before {
1138
- content: "\f154";
1139
- }
1140
- .fa-dollar:before,
1141
- .fa-usd:before {
1142
- content: "\f155";
1143
- }
1144
- .fa-rupee:before,
1145
- .fa-inr:before {
1146
- content: "\f156";
1147
- }
1148
- .fa-cny:before,
1149
- .fa-rmb:before,
1150
- .fa-yen:before,
1151
- .fa-jpy:before {
1152
- content: "\f157";
1153
- }
1154
- .fa-ruble:before,
1155
- .fa-rouble:before,
1156
- .fa-rub:before {
1157
- content: "\f158";
1158
- }
1159
- .fa-won:before,
1160
- .fa-krw:before {
1161
- content: "\f159";
1162
- }
1163
- .fa-bitcoin:before,
1164
- .fa-btc:before {
1165
- content: "\f15a";
1166
- }
1167
- .fa-file:before {
1168
- content: "\f15b";
1169
- }
1170
- .fa-file-text:before {
1171
- content: "\f15c";
1172
- }
1173
- .fa-sort-alpha-asc:before {
1174
- content: "\f15d";
1175
- }
1176
- .fa-sort-alpha-desc:before {
1177
- content: "\f15e";
1178
- }
1179
- .fa-sort-amount-asc:before {
1180
- content: "\f160";
1181
- }
1182
- .fa-sort-amount-desc:before {
1183
- content: "\f161";
1184
- }
1185
- .fa-sort-numeric-asc:before {
1186
- content: "\f162";
1187
- }
1188
- .fa-sort-numeric-desc:before {
1189
- content: "\f163";
1190
- }
1191
- .fa-thumbs-up:before {
1192
- content: "\f164";
1193
- }
1194
- .fa-thumbs-down:before {
1195
- content: "\f165";
1196
- }
1197
- .fa-youtube-square:before {
1198
- content: "\f166";
1199
- }
1200
- .fa-youtube:before {
1201
- content: "\f167";
1202
- }
1203
- .fa-xing:before {
1204
- content: "\f168";
1205
- }
1206
- .fa-xing-square:before {
1207
- content: "\f169";
1208
- }
1209
- .fa-youtube-play:before {
1210
- content: "\f16a";
1211
- }
1212
- .fa-dropbox:before {
1213
- content: "\f16b";
1214
- }
1215
- .fa-stack-overflow:before {
1216
- content: "\f16c";
1217
- }
1218
- .fa-instagram:before {
1219
- content: "\f16d";
1220
- }
1221
- .fa-flickr:before {
1222
- content: "\f16e";
1223
- }
1224
- .fa-adn:before {
1225
- content: "\f170";
1226
- }
1227
- .fa-bitbucket:before {
1228
- content: "\f171";
1229
- }
1230
- .fa-bitbucket-square:before {
1231
- content: "\f172";
1232
- }
1233
- .fa-tumblr:before {
1234
- content: "\f173";
1235
- }
1236
- .fa-tumblr-square:before {
1237
- content: "\f174";
1238
- }
1239
- .fa-long-arrow-down:before {
1240
- content: "\f175";
1241
- }
1242
- .fa-long-arrow-up:before {
1243
- content: "\f176";
1244
- }
1245
- .fa-long-arrow-left:before {
1246
- content: "\f177";
1247
- }
1248
- .fa-long-arrow-right:before {
1249
- content: "\f178";
1250
- }
1251
- .fa-apple:before {
1252
- content: "\f179";
1253
- }
1254
- .fa-windows:before {
1255
- content: "\f17a";
1256
- }
1257
- .fa-android:before {
1258
- content: "\f17b";
1259
- }
1260
- .fa-linux:before {
1261
- content: "\f17c";
1262
- }
1263
- .fa-dribbble:before {
1264
- content: "\f17d";
1265
- }
1266
- .fa-skype:before {
1267
- content: "\f17e";
1268
- }
1269
- .fa-foursquare:before {
1270
- content: "\f180";
1271
- }
1272
- .fa-trello:before {
1273
- content: "\f181";
1274
- }
1275
- .fa-female:before {
1276
- content: "\f182";
1277
- }
1278
- .fa-male:before {
1279
- content: "\f183";
1280
- }
1281
- .fa-gittip:before,
1282
- .fa-gratipay:before {
1283
- content: "\f184";
1284
- }
1285
- .fa-sun-o:before {
1286
- content: "\f185";
1287
- }
1288
- .fa-moon-o:before {
1289
- content: "\f186";
1290
- }
1291
- .fa-archive:before {
1292
- content: "\f187";
1293
- }
1294
- .fa-bug:before {
1295
- content: "\f188";
1296
- }
1297
- .fa-vk:before {
1298
- content: "\f189";
1299
- }
1300
- .fa-weibo:before {
1301
- content: "\f18a";
1302
- }
1303
- .fa-renren:before {
1304
- content: "\f18b";
1305
- }
1306
- .fa-pagelines:before {
1307
- content: "\f18c";
1308
- }
1309
- .fa-stack-exchange:before {
1310
- content: "\f18d";
1311
- }
1312
- .fa-arrow-circle-o-right:before {
1313
- content: "\f18e";
1314
- }
1315
- .fa-arrow-circle-o-left:before {
1316
- content: "\f190";
1317
- }
1318
- .fa-toggle-left:before,
1319
- .fa-caret-square-o-left:before {
1320
- content: "\f191";
1321
- }
1322
- .fa-dot-circle-o:before {
1323
- content: "\f192";
1324
- }
1325
- .fa-wheelchair:before {
1326
- content: "\f193";
1327
- }
1328
- .fa-vimeo-square:before {
1329
- content: "\f194";
1330
- }
1331
- .fa-turkish-lira:before,
1332
- .fa-try:before {
1333
- content: "\f195";
1334
- }
1335
- .fa-plus-square-o:before {
1336
- content: "\f196";
1337
- }
1338
- .fa-space-shuttle:before {
1339
- content: "\f197";
1340
- }
1341
- .fa-slack:before {
1342
- content: "\f198";
1343
- }
1344
- .fa-envelope-square:before {
1345
- content: "\f199";
1346
- }
1347
- .fa-wordpress:before {
1348
- content: "\f19a";
1349
- }
1350
- .fa-openid:before {
1351
- content: "\f19b";
1352
- }
1353
- .fa-institution:before,
1354
- .fa-bank:before,
1355
- .fa-university:before {
1356
- content: "\f19c";
1357
- }
1358
- .fa-mortar-board:before,
1359
- .fa-graduation-cap:before {
1360
- content: "\f19d";
1361
- }
1362
- .fa-yahoo:before {
1363
- content: "\f19e";
1364
- }
1365
- .fa-google:before {
1366
- content: "\f1a0";
1367
- }
1368
- .fa-reddit:before {
1369
- content: "\f1a1";
1370
- }
1371
- .fa-reddit-square:before {
1372
- content: "\f1a2";
1373
- }
1374
- .fa-stumbleupon-circle:before {
1375
- content: "\f1a3";
1376
- }
1377
- .fa-stumbleupon:before {
1378
- content: "\f1a4";
1379
- }
1380
- .fa-delicious:before {
1381
- content: "\f1a5";
1382
- }
1383
- .fa-digg:before {
1384
- content: "\f1a6";
1385
- }
1386
- .fa-pied-piper:before {
1387
- content: "\f1a7";
1388
- }
1389
- .fa-pied-piper-alt:before {
1390
- content: "\f1a8";
1391
- }
1392
- .fa-drupal:before {
1393
- content: "\f1a9";
1394
- }
1395
- .fa-joomla:before {
1396
- content: "\f1aa";
1397
- }
1398
- .fa-language:before {
1399
- content: "\f1ab";
1400
- }
1401
- .fa-fax:before {
1402
- content: "\f1ac";
1403
- }
1404
- .fa-building:before {
1405
- content: "\f1ad";
1406
- }
1407
- .fa-child:before {
1408
- content: "\f1ae";
1409
- }
1410
- .fa-paw:before {
1411
- content: "\f1b0";
1412
- }
1413
- .fa-spoon:before {
1414
- content: "\f1b1";
1415
- }
1416
- .fa-cube:before {
1417
- content: "\f1b2";
1418
- }
1419
- .fa-cubes:before {
1420
- content: "\f1b3";
1421
- }
1422
- .fa-behance:before {
1423
- content: "\f1b4";
1424
- }
1425
- .fa-behance-square:before {
1426
- content: "\f1b5";
1427
- }
1428
- .fa-steam:before {
1429
- content: "\f1b6";
1430
- }
1431
- .fa-steam-square:before {
1432
- content: "\f1b7";
1433
- }
1434
- .fa-recycle:before {
1435
- content: "\f1b8";
1436
- }
1437
- .fa-automobile:before,
1438
- .fa-car:before {
1439
- content: "\f1b9";
1440
- }
1441
- .fa-cab:before,
1442
- .fa-taxi:before {
1443
- content: "\f1ba";
1444
- }
1445
- .fa-tree:before {
1446
- content: "\f1bb";
1447
- }
1448
- .fa-spotify:before {
1449
- content: "\f1bc";
1450
- }
1451
- .fa-deviantart:before {
1452
- content: "\f1bd";
1453
- }
1454
- .fa-soundcloud:before {
1455
- content: "\f1be";
1456
- }
1457
- .fa-database:before {
1458
- content: "\f1c0";
1459
- }
1460
- .fa-file-pdf-o:before {
1461
- content: "\f1c1";
1462
- }
1463
- .fa-file-word-o:before {
1464
- content: "\f1c2";
1465
- }
1466
- .fa-file-excel-o:before {
1467
- content: "\f1c3";
1468
- }
1469
- .fa-file-powerpoint-o:before {
1470
- content: "\f1c4";
1471
- }
1472
- .fa-file-photo-o:before,
1473
- .fa-file-picture-o:before,
1474
- .fa-file-image-o:before {
1475
- content: "\f1c5";
1476
- }
1477
- .fa-file-zip-o:before,
1478
- .fa-file-archive-o:before {
1479
- content: "\f1c6";
1480
- }
1481
- .fa-file-sound-o:before,
1482
- .fa-file-audio-o:before {
1483
- content: "\f1c7";
1484
- }
1485
- .fa-file-movie-o:before,
1486
- .fa-file-video-o:before {
1487
- content: "\f1c8";
1488
- }
1489
- .fa-file-code-o:before {
1490
- content: "\f1c9";
1491
- }
1492
- .fa-vine:before {
1493
- content: "\f1ca";
1494
- }
1495
- .fa-codepen:before {
1496
- content: "\f1cb";
1497
- }
1498
- .fa-jsfiddle:before {
1499
- content: "\f1cc";
1500
- }
1501
- .fa-life-bouy:before,
1502
- .fa-life-buoy:before,
1503
- .fa-life-saver:before,
1504
- .fa-support:before,
1505
- .fa-life-ring:before {
1506
- content: "\f1cd";
1507
- }
1508
- .fa-circle-o-notch:before {
1509
- content: "\f1ce";
1510
- }
1511
- .fa-ra:before,
1512
- .fa-rebel:before {
1513
- content: "\f1d0";
1514
- }
1515
- .fa-ge:before,
1516
- .fa-empire:before {
1517
- content: "\f1d1";
1518
- }
1519
- .fa-git-square:before {
1520
- content: "\f1d2";
1521
- }
1522
- .fa-git:before {
1523
- content: "\f1d3";
1524
- }
1525
- .fa-y-combinator-square:before,
1526
- .fa-yc-square:before,
1527
- .fa-hacker-news:before {
1528
- content: "\f1d4";
1529
- }
1530
- .fa-tencent-weibo:before {
1531
- content: "\f1d5";
1532
- }
1533
- .fa-qq:before {
1534
- content: "\f1d6";
1535
- }
1536
- .fa-wechat:before,
1537
- .fa-weixin:before {
1538
- content: "\f1d7";
1539
- }
1540
- .fa-send:before,
1541
- .fa-paper-plane:before {
1542
- content: "\f1d8";
1543
- }
1544
- .fa-send-o:before,
1545
- .fa-paper-plane-o:before {
1546
- content: "\f1d9";
1547
- }
1548
- .fa-history:before {
1549
- content: "\f1da";
1550
- }
1551
- .fa-circle-thin:before {
1552
- content: "\f1db";
1553
- }
1554
- .fa-header:before {
1555
- content: "\f1dc";
1556
- }
1557
- .fa-paragraph:before {
1558
- content: "\f1dd";
1559
- }
1560
- .fa-sliders:before {
1561
- content: "\f1de";
1562
- }
1563
- .fa-share-alt:before {
1564
- content: "\f1e0";
1565
- }
1566
- .fa-share-alt-square:before {
1567
- content: "\f1e1";
1568
- }
1569
- .fa-bomb:before {
1570
- content: "\f1e2";
1571
- }
1572
- .fa-soccer-ball-o:before,
1573
- .fa-futbol-o:before {
1574
- content: "\f1e3";
1575
- }
1576
- .fa-tty:before {
1577
- content: "\f1e4";
1578
- }
1579
- .fa-binoculars:before {
1580
- content: "\f1e5";
1581
- }
1582
- .fa-plug:before {
1583
- content: "\f1e6";
1584
- }
1585
- .fa-slideshare:before {
1586
- content: "\f1e7";
1587
- }
1588
- .fa-twitch:before {
1589
- content: "\f1e8";
1590
- }
1591
- .fa-yelp:before {
1592
- content: "\f1e9";
1593
- }
1594
- .fa-newspaper-o:before {
1595
- content: "\f1ea";
1596
- }
1597
- .fa-wifi:before {
1598
- content: "\f1eb";
1599
- }
1600
- .fa-calculator:before {
1601
- content: "\f1ec";
1602
- }
1603
- .fa-paypal:before {
1604
- content: "\f1ed";
1605
- }
1606
- .fa-google-wallet:before {
1607
- content: "\f1ee";
1608
- }
1609
- .fa-cc-visa:before {
1610
- content: "\f1f0";
1611
- }
1612
- .fa-cc-mastercard:before {
1613
- content: "\f1f1";
1614
- }
1615
- .fa-cc-discover:before {
1616
- content: "\f1f2";
1617
- }
1618
- .fa-cc-amex:before {
1619
- content: "\f1f3";
1620
- }
1621
- .fa-cc-paypal:before {
1622
- content: "\f1f4";
1623
- }
1624
- .fa-cc-stripe:before {
1625
- content: "\f1f5";
1626
- }
1627
- .fa-bell-slash:before {
1628
- content: "\f1f6";
1629
- }
1630
- .fa-bell-slash-o:before {
1631
- content: "\f1f7";
1632
- }
1633
- .fa-trash:before {
1634
- content: "\f1f8";
1635
- }
1636
- .fa-copyright:before {
1637
- content: "\f1f9";
1638
- }
1639
- .fa-at:before {
1640
- content: "\f1fa";
1641
- }
1642
- .fa-eyedropper:before {
1643
- content: "\f1fb";
1644
- }
1645
- .fa-paint-brush:before {
1646
- content: "\f1fc";
1647
- }
1648
- .fa-birthday-cake:before {
1649
- content: "\f1fd";
1650
- }
1651
- .fa-area-chart:before {
1652
- content: "\f1fe";
1653
- }
1654
- .fa-pie-chart:before {
1655
- content: "\f200";
1656
- }
1657
- .fa-line-chart:before {
1658
- content: "\f201";
1659
- }
1660
- .fa-lastfm:before {
1661
- content: "\f202";
1662
- }
1663
- .fa-lastfm-square:before {
1664
- content: "\f203";
1665
- }
1666
- .fa-toggle-off:before {
1667
- content: "\f204";
1668
- }
1669
- .fa-toggle-on:before {
1670
- content: "\f205";
1671
- }
1672
- .fa-bicycle:before {
1673
- content: "\f206";
1674
- }
1675
- .fa-bus:before {
1676
- content: "\f207";
1677
- }
1678
- .fa-ioxhost:before {
1679
- content: "\f208";
1680
- }
1681
- .fa-angellist:before {
1682
- content: "\f209";
1683
- }
1684
- .fa-cc:before {
1685
- content: "\f20a";
1686
- }
1687
- .fa-shekel:before,
1688
- .fa-sheqel:before,
1689
- .fa-ils:before {
1690
- content: "\f20b";
1691
- }
1692
- .fa-meanpath:before {
1693
- content: "\f20c";
1694
- }
1695
- .fa-buysellads:before {
1696
- content: "\f20d";
1697
- }
1698
- .fa-connectdevelop:before {
1699
- content: "\f20e";
1700
- }
1701
- .fa-dashcube:before {
1702
- content: "\f210";
1703
- }
1704
- .fa-forumbee:before {
1705
- content: "\f211";
1706
- }
1707
- .fa-leanpub:before {
1708
- content: "\f212";
1709
- }
1710
- .fa-sellsy:before {
1711
- content: "\f213";
1712
- }
1713
- .fa-shirtsinbulk:before {
1714
- content: "\f214";
1715
- }
1716
- .fa-simplybuilt:before {
1717
- content: "\f215";
1718
- }
1719
- .fa-skyatlas:before {
1720
- content: "\f216";
1721
- }
1722
- .fa-cart-plus:before {
1723
- content: "\f217";
1724
- }
1725
- .fa-cart-arrow-down:before {
1726
- content: "\f218";
1727
- }
1728
- .fa-diamond:before {
1729
- content: "\f219";
1730
- }
1731
- .fa-ship:before {
1732
- content: "\f21a";
1733
- }
1734
- .fa-user-secret:before {
1735
- content: "\f21b";
1736
- }
1737
- .fa-motorcycle:before {
1738
- content: "\f21c";
1739
- }
1740
- .fa-street-view:before {
1741
- content: "\f21d";
1742
- }
1743
- .fa-heartbeat:before {
1744
- content: "\f21e";
1745
- }
1746
- .fa-venus:before {
1747
- content: "\f221";
1748
- }
1749
- .fa-mars:before {
1750
- content: "\f222";
1751
- }
1752
- .fa-mercury:before {
1753
- content: "\f223";
1754
- }
1755
- .fa-intersex:before,
1756
- .fa-transgender:before {
1757
- content: "\f224";
1758
- }
1759
- .fa-transgender-alt:before {
1760
- content: "\f225";
1761
- }
1762
- .fa-venus-double:before {
1763
- content: "\f226";
1764
- }
1765
- .fa-mars-double:before {
1766
- content: "\f227";
1767
- }
1768
- .fa-venus-mars:before {
1769
- content: "\f228";
1770
- }
1771
- .fa-mars-stroke:before {
1772
- content: "\f229";
1773
- }
1774
- .fa-mars-stroke-v:before {
1775
- content: "\f22a";
1776
- }
1777
- .fa-mars-stroke-h:before {
1778
- content: "\f22b";
1779
- }
1780
- .fa-neuter:before {
1781
- content: "\f22c";
1782
- }
1783
- .fa-genderless:before {
1784
- content: "\f22d";
1785
- }
1786
- .fa-facebook-official:before {
1787
- content: "\f230";
1788
- }
1789
- .fa-pinterest-p:before {
1790
- content: "\f231";
1791
- }
1792
- .fa-whatsapp:before {
1793
- content: "\f232";
1794
- }
1795
- .fa-server:before {
1796
- content: "\f233";
1797
- }
1798
- .fa-user-plus:before {
1799
- content: "\f234";
1800
- }
1801
- .fa-user-times:before {
1802
- content: "\f235";
1803
- }
1804
- .fa-hotel:before,
1805
- .fa-bed:before {
1806
- content: "\f236";
1807
- }
1808
- .fa-viacoin:before {
1809
- content: "\f237";
1810
- }
1811
- .fa-train:before {
1812
- content: "\f238";
1813
- }
1814
- .fa-subway:before {
1815
- content: "\f239";
1816
- }
1817
- .fa-medium:before {
1818
- content: "\f23a";
1819
- }
1820
- .fa-yc:before,
1821
- .fa-y-combinator:before {
1822
- content: "\f23b";
1823
- }
1824
- .fa-optin-monster:before {
1825
- content: "\f23c";
1826
- }
1827
- .fa-opencart:before {
1828
- content: "\f23d";
1829
- }
1830
- .fa-expeditedssl:before {
1831
- content: "\f23e";
1832
- }
1833
- .fa-battery-4:before,
1834
- .fa-battery-full:before {
1835
- content: "\f240";
1836
- }
1837
- .fa-battery-3:before,
1838
- .fa-battery-three-quarters:before {
1839
- content: "\f241";
1840
- }
1841
- .fa-battery-2:before,
1842
- .fa-battery-half:before {
1843
- content: "\f242";
1844
- }
1845
- .fa-battery-1:before,
1846
- .fa-battery-quarter:before {
1847
- content: "\f243";
1848
- }
1849
- .fa-battery-0:before,
1850
- .fa-battery-empty:before {
1851
- content: "\f244";
1852
- }
1853
- .fa-mouse-pointer:before {
1854
- content: "\f245";
1855
- }
1856
- .fa-i-cursor:before {
1857
- content: "\f246";
1858
- }
1859
- .fa-object-group:before {
1860
- content: "\f247";
1861
- }
1862
- .fa-object-ungroup:before {
1863
- content: "\f248";
1864
- }
1865
- .fa-sticky-note:before {
1866
- content: "\f249";
1867
- }
1868
- .fa-sticky-note-o:before {
1869
- content: "\f24a";
1870
- }
1871
- .fa-cc-jcb:before {
1872
- content: "\f24b";
1873
- }
1874
- .fa-cc-diners-club:before {
1875
- content: "\f24c";
1876
- }
1877
- .fa-clone:before {
1878
- content: "\f24d";
1879
- }
1880
- .fa-balance-scale:before {
1881
- content: "\f24e";
1882
- }
1883
- .fa-hourglass-o:before {
1884
- content: "\f250";
1885
- }
1886
- .fa-hourglass-1:before,
1887
- .fa-hourglass-start:before {
1888
- content: "\f251";
1889
- }
1890
- .fa-hourglass-2:before,
1891
- .fa-hourglass-half:before {
1892
- content: "\f252";
1893
- }
1894
- .fa-hourglass-3:before,
1895
- .fa-hourglass-end:before {
1896
- content: "\f253";
1897
- }
1898
- .fa-hourglass:before {
1899
- content: "\f254";
1900
- }
1901
- .fa-hand-grab-o:before,
1902
- .fa-hand-rock-o:before {
1903
- content: "\f255";
1904
- }
1905
- .fa-hand-stop-o:before,
1906
- .fa-hand-paper-o:before {
1907
- content: "\f256";
1908
- }
1909
- .fa-hand-scissors-o:before {
1910
- content: "\f257";
1911
- }
1912
- .fa-hand-lizard-o:before {
1913
- content: "\f258";
1914
- }
1915
- .fa-hand-spock-o:before {
1916
- content: "\f259";
1917
- }
1918
- .fa-hand-pointer-o:before {
1919
- content: "\f25a";
1920
- }
1921
- .fa-hand-peace-o:before {
1922
- content: "\f25b";
1923
- }
1924
- .fa-trademark:before {
1925
- content: "\f25c";
1926
- }
1927
- .fa-registered:before {
1928
- content: "\f25d";
1929
- }
1930
- .fa-creative-commons:before {
1931
- content: "\f25e";
1932
- }
1933
- .fa-gg:before {
1934
- content: "\f260";
1935
- }
1936
- .fa-gg-circle:before {
1937
- content: "\f261";
1938
- }
1939
- .fa-tripadvisor:before {
1940
- content: "\f262";
1941
- }
1942
- .fa-odnoklassniki:before {
1943
- content: "\f263";
1944
- }
1945
- .fa-odnoklassniki-square:before {
1946
- content: "\f264";
1947
- }
1948
- .fa-get-pocket:before {
1949
- content: "\f265";
1950
- }
1951
- .fa-wikipedia-w:before {
1952
- content: "\f266";
1953
- }
1954
- .fa-safari:before {
1955
- content: "\f267";
1956
- }
1957
- .fa-chrome:before {
1958
- content: "\f268";
1959
- }
1960
- .fa-firefox:before {
1961
- content: "\f269";
1962
- }
1963
- .fa-opera:before {
1964
- content: "\f26a";
1965
- }
1966
- .fa-internet-explorer:before {
1967
- content: "\f26b";
1968
- }
1969
- .fa-tv:before,
1970
- .fa-television:before {
1971
- content: "\f26c";
1972
- }
1973
- .fa-contao:before {
1974
- content: "\f26d";
1975
- }
1976
- .fa-500px:before {
1977
- content: "\f26e";
1978
- }
1979
- .fa-amazon:before {
1980
- content: "\f270";
1981
- }
1982
- .fa-calendar-plus-o:before {
1983
- content: "\f271";
1984
- }
1985
- .fa-calendar-minus-o:before {
1986
- content: "\f272";
1987
- }
1988
- .fa-calendar-times-o:before {
1989
- content: "\f273";
1990
- }
1991
- .fa-calendar-check-o:before {
1992
- content: "\f274";
1993
- }
1994
- .fa-industry:before {
1995
- content: "\f275";
1996
- }
1997
- .fa-map-pin:before {
1998
- content: "\f276";
1999
- }
2000
- .fa-map-signs:before {
2001
- content: "\f277";
2002
- }
2003
- .fa-map-o:before {
2004
- content: "\f278";
2005
- }
2006
- .fa-map:before {
2007
- content: "\f279";
2008
- }
2009
- .fa-commenting:before {
2010
- content: "\f27a";
2011
- }
2012
- .fa-commenting-o:before {
2013
- content: "\f27b";
2014
- }
2015
- .fa-houzz:before {
2016
- content: "\f27c";
2017
- }
2018
- .fa-vimeo:before {
2019
- content: "\f27d";
2020
- }
2021
- .fa-black-tie:before {
2022
- content: "\f27e";
2023
- }
2024
- .fa-fonticons:before {
2025
- content: "\f280";
2026
- }
2027
- .fa-reddit-alien:before {
2028
- content: "\f281";
2029
- }
2030
- .fa-edge:before {
2031
- content: "\f282";
2032
- }
2033
- .fa-credit-card-alt:before {
2034
- content: "\f283";
2035
- }
2036
- .fa-codiepie:before {
2037
- content: "\f284";
2038
- }
2039
- .fa-modx:before {
2040
- content: "\f285";
2041
- }
2042
- .fa-fort-awesome:before {
2043
- content: "\f286";
2044
- }
2045
- .fa-usb:before {
2046
- content: "\f287";
2047
- }
2048
- .fa-product-hunt:before {
2049
- content: "\f288";
2050
- }
2051
- .fa-mixcloud:before {
2052
- content: "\f289";
2053
- }
2054
- .fa-scribd:before {
2055
- content: "\f28a";
2056
- }
2057
- .fa-pause-circle:before {
2058
- content: "\f28b";
2059
- }
2060
- .fa-pause-circle-o:before {
2061
- content: "\f28c";
2062
- }
2063
- .fa-stop-circle:before {
2064
- content: "\f28d";
2065
- }
2066
- .fa-stop-circle-o:before {
2067
- content: "\f28e";
2068
- }
2069
- .fa-shopping-bag:before {
2070
- content: "\f290";
2071
- }
2072
- .fa-shopping-basket:before {
2073
- content: "\f291";
2074
- }
2075
- .fa-hashtag:before {
2076
- content: "\f292";
2077
- }
2078
- .fa-bluetooth:before {
2079
- content: "\f293";
2080
- }
2081
- .fa-bluetooth-b:before {
2082
- content: "\f294";
2083
- }
2084
- .fa-percent:before {
2085
- content: "\f295";
2086
- }
2087
- .fa-gitlab:before {
2088
- content: "\f296";
2089
- }
2090
- .fa-wpbeginner:before {
2091
- content: "\f297";
2092
- }
2093
- .fa-wpforms:before {
2094
- content: "\f298";
2095
- }
2096
- .fa-envira:before {
2097
- content: "\f299";
2098
- }
2099
- .fa-universal-access:before {
2100
- content: "\f29a";
2101
- }
2102
- .fa-wheelchair-alt:before {
2103
- content: "\f29b";
2104
- }
2105
- .fa-question-circle-o:before {
2106
- content: "\f29c";
2107
- }
2108
- .fa-blind:before {
2109
- content: "\f29d";
2110
- }
2111
- .fa-audio-description:before {
2112
- content: "\f29e";
2113
- }
2114
- .fa-volume-control-phone:before {
2115
- content: "\f2a0";
2116
- }
2117
- .fa-braille:before {
2118
- content: "\f2a1";
2119
- }
2120
- .fa-assistive-listening-systems:before {
2121
- content: "\f2a2";
2122
- }
2123
- .fa-asl-interpreting:before,
2124
- .fa-american-sign-language-interpreting:before {
2125
- content: "\f2a3";
2126
- }
2127
- .fa-deafness:before,
2128
- .fa-hard-of-hearing:before,
2129
- .fa-deaf:before {
2130
- content: "\f2a4";
2131
- }
2132
- .fa-glide:before {
2133
- content: "\f2a5";
2134
- }
2135
- .fa-glide-g:before {
2136
- content: "\f2a6";
2137
- }
2138
- .fa-signing:before,
2139
- .fa-sign-language:before {
2140
- content: "\f2a7";
2141
- }
2142
- .fa-low-vision:before {
2143
- content: "\f2a8";
2144
- }
2145
- .fa-viadeo:before {
2146
- content: "\f2a9";
2147
- }
2148
- .fa-viadeo-square:before {
2149
- content: "\f2aa";
2150
- }
2151
- .fa-snapchat:before {
2152
- content: "\f2ab";
2153
- }
2154
- .fa-snapchat-ghost:before {
2155
- content: "\f2ac";
2156
- }
2157
- .fa-snapchat-square:before {
2158
- content: "\f2ad";
2159
- }
2160
- .sr-only {
2161
- position: absolute;
2162
- width: 1px;
2163
- height: 1px;
2164
- padding: 0;
2165
- margin: -1px;
2166
- overflow: hidden;
2167
- clip: rect(0, 0, 0, 0);
2168
- border: 0;
2169
- }
2170
- .sr-only-focusable:active,
2171
- .sr-only-focusable:focus {
2172
- position: static;
2173
- width: auto;
2174
- height: auto;
2175
- margin: 0;
2176
- overflow: visible;
2177
- clip: auto;
2178
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fontawesome/font-awesome.min.css DELETED
@@ -1,4 +0,0 @@
1
- /*!
2
- * Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome
3
- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
- */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.6.1);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.6.1) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.6.1) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.6.1) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.6.1) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.6.1#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
 
 
 
 
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/FontAwesome.otf DELETED
Binary file
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.eot DELETED
Binary file
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.svg DELETED
@@ -1,685 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata></metadata>
5
- <defs>
6
- <font id="fontawesomeregular" horiz-adv-x="1536" >
7
- <font-face units-per-em="1792" ascent="1536" descent="-256" />
8
- <missing-glyph horiz-adv-x="448" />
9
- <glyph unicode=" " horiz-adv-x="448" />
10
- <glyph unicode="&#x09;" horiz-adv-x="448" />
11
- <glyph unicode="&#xa0;" horiz-adv-x="448" />
12
- <glyph unicode="&#xa8;" horiz-adv-x="1792" />
13
- <glyph unicode="&#xa9;" horiz-adv-x="1792" />
14
- <glyph unicode="&#xae;" horiz-adv-x="1792" />
15
- <glyph unicode="&#xb4;" horiz-adv-x="1792" />
16
- <glyph unicode="&#xc6;" horiz-adv-x="1792" />
17
- <glyph unicode="&#xd8;" horiz-adv-x="1792" />
18
- <glyph unicode="&#x2000;" horiz-adv-x="768" />
19
- <glyph unicode="&#x2001;" horiz-adv-x="1537" />
20
- <glyph unicode="&#x2002;" horiz-adv-x="768" />
21
- <glyph unicode="&#x2003;" horiz-adv-x="1537" />
22
- <glyph unicode="&#x2004;" horiz-adv-x="512" />
23
- <glyph unicode="&#x2005;" horiz-adv-x="384" />
24
- <glyph unicode="&#x2006;" horiz-adv-x="256" />
25
- <glyph unicode="&#x2007;" horiz-adv-x="256" />
26
- <glyph unicode="&#x2008;" horiz-adv-x="192" />
27
- <glyph unicode="&#x2009;" horiz-adv-x="307" />
28
- <glyph unicode="&#x200a;" horiz-adv-x="85" />
29
- <glyph unicode="&#x202f;" horiz-adv-x="307" />
30
- <glyph unicode="&#x205f;" horiz-adv-x="384" />
31
- <glyph unicode="&#x2122;" horiz-adv-x="1792" />
32
- <glyph unicode="&#x221e;" horiz-adv-x="1792" />
33
- <glyph unicode="&#x2260;" horiz-adv-x="1792" />
34
- <glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
35
- <glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
36
- <glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
37
- <glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
38
- <glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
39
- <glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
40
- <glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
41
- <glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
42
- <glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
43
- <glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
44
- <glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
45
- <glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
46
- <glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
47
- <glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
48
- <glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
49
- <glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
50
- <glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
51
- <glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
52
- <glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
53
- <glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
54
- <glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
55
- <glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
56
- <glyph unicode="&#xf016;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z " />
57
- <glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
58
- <glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
59
- <glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
60
- <glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
61
- <glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
62
- <glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
63
- <glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
64
- <glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
65
- <glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
66
- <glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
67
- <glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
68
- <glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
69
- <glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
70
- <glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
71
- <glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
72
- <glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
73
- <glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
74
- <glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
75
- <glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
76
- <glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
77
- <glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
78
- <glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
79
- <glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
80
- <glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
81
- <glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -4 -0.5 -13t-0.5 -13q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
82
- <glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68.5 -0.5t67.5 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
83
- <glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q6 2 81.5 21.5t111.5 37.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
84
- <glyph unicode="&#xf034;" horiz-adv-x="1792" d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
85
- <glyph unicode="&#xf035;" d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
86
- <glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
87
- <glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
88
- <glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
89
- <glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
90
- <glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
91
- <glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
92
- <glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
93
- <glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
94
- <glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
95
- <glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
96
- <glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
97
- <glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
98
- <glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
99
- <glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
100
- <glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
101
- <glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
102
- <glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
103
- <glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
104
- <glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
105
- <glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
106
- <glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
107
- <glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
108
- <glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
109
- <glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
110
- <glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
111
- <glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
112
- <glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
113
- <glyph unicode="&#xf053;" horiz-adv-x="1280" d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
114
- <glyph unicode="&#xf054;" horiz-adv-x="1280" d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
115
- <glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
116
- <glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
117
- <glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
118
- <glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
119
- <glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
120
- <glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
121
- <glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
122
- <glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
123
- <glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
124
- <glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
125
- <glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
126
- <glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
127
- <glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
128
- <glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
129
- <glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
130
- <glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
131
- <glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
132
- <glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
133
- <glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
134
- <glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
135
- <glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
136
- <glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
137
- <glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
138
- <glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
139
- <glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
140
- <glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
141
- <glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
142
- <glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
143
- <glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
144
- <glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
145
- <glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
146
- <glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
147
- <glyph unicode="&#xf077;" horiz-adv-x="1792" d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
148
- <glyph unicode="&#xf078;" horiz-adv-x="1792" d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
149
- <glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
150
- <glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
151
- <glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
152
- <glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
153
- <glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
154
- <glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
155
- <glyph unicode="&#xf080;" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
156
- <glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
157
- <glyph unicode="&#xf082;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960z" />
158
- <glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
159
- <glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
160
- <glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
161
- <glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
162
- <glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
163
- <glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
164
- <glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
165
- <glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
166
- <glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
167
- <glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
168
- <glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
169
- <glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
170
- <glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
171
- <glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
172
- <glyph unicode="&#xf092;" d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4 t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16 q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
173
- <glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
174
- <glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
175
- <glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
176
- <glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
177
- <glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
178
- <glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
179
- <glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
180
- <glyph unicode="&#xf09a;" horiz-adv-x="1024" d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
181
- <glyph unicode="&#xf09b;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5 t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12 q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
182
- <glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
183
- <glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
184
- <glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
185
- <glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
186
- <glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
187
- <glyph unicode="&#xf0a2;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
188
- <glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
189
- <glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
190
- <glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
191
- <glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
192
- <glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
193
- <glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
194
- <glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
195
- <glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
196
- <glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
197
- <glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
198
- <glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
199
- <glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
200
- <glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
201
- <glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
202
- <glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
203
- <glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
204
- <glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
205
- <glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
206
- <glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
207
- <glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
208
- <glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
209
- <glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
210
- <glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
211
- <glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
212
- <glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
213
- <glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
214
- <glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
215
- <glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
216
- <glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
217
- <glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
218
- <glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
219
- <glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
220
- <glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
221
- <glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
222
- <glyph unicode="&#xf0d4;" d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
223
- <glyph unicode="&#xf0d5;" horiz-adv-x="2304" d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
224
- <glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
225
- <glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
226
- <glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
227
- <glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
228
- <glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
229
- <glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
230
- <glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
231
- <glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
232
- <glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
233
- <glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
234
- <glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
235
- <glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
236
- <glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
237
- <glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
238
- <glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
239
- <glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
240
- <glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
241
- <glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
242
- <glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
243
- <glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
244
- <glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
245
- <glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
246
- <glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
247
- <glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
248
- <glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
249
- <glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
250
- <glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
251
- <glyph unicode="&#xf0f3;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
252
- <glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
253
- <glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
254
- <glyph unicode="&#xf0f6;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
255
- <glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
256
- <glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
257
- <glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
258
- <glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
259
- <glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
260
- <glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
261
- <glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
262
- <glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
263
- <glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
264
- <glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
265
- <glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
266
- <glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
267
- <glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
268
- <glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
269
- <glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
270
- <glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
271
- <glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
272
- <glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
273
- <glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
274
- <glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
275
- <glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
276
- <glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
277
- <glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
278
- <glyph unicode="&#xf110;" horiz-adv-x="1792" d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5 q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
279
- <glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
280
- <glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
281
- <glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
282
- <glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
283
- <glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
284
- <glyph unicode="&#xf116;" horiz-adv-x="1792" />
285
- <glyph unicode="&#xf117;" horiz-adv-x="1792" />
286
- <glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
287
- <glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
288
- <glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
289
- <glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
290
- <glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
291
- <glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
292
- <glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
293
- <glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
294
- <glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
295
- <glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
296
- <glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
297
- <glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
298
- <glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
299
- <glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
300
- <glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
301
- <glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
302
- <glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
303
- <glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
304
- <glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
305
- <glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
306
- <glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
307
- <glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
308
- <glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
309
- <glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
310
- <glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
311
- <glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
312
- <glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
313
- <glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
314
- <glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
315
- <glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
316
- <glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
317
- <glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
318
- <glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
319
- <glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
320
- <glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
321
- <glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
322
- <glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
323
- <glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
324
- <glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
325
- <glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
326
- <glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
327
- <glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
328
- <glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
329
- <glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
330
- <glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
331
- <glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
332
- <glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
333
- <glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
334
- <glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
335
- <glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
336
- <glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
337
- <glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
338
- <glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
339
- <glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
340
- <glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
341
- <glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
342
- <glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
343
- <glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
344
- <glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
345
- <glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
346
- <glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
347
- <glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
348
- <glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
349
- <glyph unicode="&#xf15b;" d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
350
- <glyph unicode="&#xf15c;" d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
351
- <glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
352
- <glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
353
- <glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
354
- <glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
355
- <glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
356
- <glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
357
- <glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
358
- <glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
359
- <glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
360
- <glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
361
- <glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
362
- <glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
363
- <glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
364
- <glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
365
- <glyph unicode="&#xf16c;" d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
366
- <glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
367
- <glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
368
- <glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
369
- <glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
370
- <glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
371
- <glyph unicode="&#xf173;" horiz-adv-x="1024" d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 q78 2 134 29z" />
372
- <glyph unicode="&#xf174;" d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
373
- <glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
374
- <glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
375
- <glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
376
- <glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
377
- <glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
378
- <glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
379
- <glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
380
- <glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
381
- <glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
382
- <glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
383
- <glyph unicode="&#xf180;" horiz-adv-x="1280" d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
384
- <glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
385
- <glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
386
- <glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
387
- <glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
388
- <glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
389
- <glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
390
- <glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
391
- <glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
392
- <glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
393
- <glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
394
- <glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
395
- <glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
396
- <glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
397
- <glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
398
- <glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
399
- <glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
400
- <glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
401
- <glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
402
- <glyph unicode="&#xf194;" d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
403
- <glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
404
- <glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
405
- <glyph unicode="&#xf197;" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
406
- <glyph unicode="&#xf198;" horiz-adv-x="1664" d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
407
- <glyph unicode="&#xf199;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 q-46 32 -141.5 92.5t-142.5 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
408
- <glyph unicode="&#xf19a;" horiz-adv-x="1792" d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 t273 -182.5t331.5 -68z" />
409
- <glyph unicode="&#xf19b;" horiz-adv-x="1792" d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
410
- <glyph unicode="&#xf19c;" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
411
- <glyph unicode="&#xf19d;" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
412
- <glyph unicode="&#xf19e;" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
413
- <glyph unicode="&#xf1a0;" d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
414
- <glyph unicode="&#xf1a1;" horiz-adv-x="1792" d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37 q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191 t348 71t348 -71t286 -191t191 -286t71 -348z" />
415
- <glyph unicode="&#xf1a2;" d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83 q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
416
- <glyph unicode="&#xf1a3;" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 t385.5 -103t279.5 -279.5t103 -385.5z" />
417
- <glyph unicode="&#xf1a4;" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
418
- <glyph unicode="&#xf1a5;" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
419
- <glyph unicode="&#xf1a6;" horiz-adv-x="2048" d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 v-369h123z" />
420
- <glyph unicode="&#xf1a7;" d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
421
- <glyph unicode="&#xf1a8;" horiz-adv-x="2038" d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
422
- <glyph unicode="&#xf1a9;" d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
423
- <glyph unicode="&#xf1aa;" d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 t135.5 51q85 0 145 -60.5t60 -145.5z" />
424
- <glyph unicode="&#xf1ab;" d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q106 35 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 q20 0 20 -21v-418z" />
425
- <glyph unicode="&#xf1ac;" horiz-adv-x="1792" d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
426
- <glyph unicode="&#xf1ad;" d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
427
- <glyph unicode="&#xf1ae;" horiz-adv-x="1280" d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68t68 28t68 -28l228 -228h368l228 228q28 28 68 28t68 -28t28 -68t-28 -68zM864 1152q0 -93 -65.5 -158.5 t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
428
- <glyph unicode="&#xf1b0;" horiz-adv-x="1664" d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 t100.5 134t141.5 55.5z" />
429
- <glyph unicode="&#xf1b1;" horiz-adv-x="768" d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
430
- <glyph unicode="&#xf1b2;" horiz-adv-x="1792" d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z " />
431
- <glyph unicode="&#xf1b3;" horiz-adv-x="2304" d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-5 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 v-400l434 -186q36 -16 57 -48t21 -70z" />
432
- <glyph unicode="&#xf1b4;" horiz-adv-x="2048" d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
433
- <glyph unicode="&#xf1b5;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
434
- <glyph unicode="&#xf1b6;" horiz-adv-x="1792" d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
435
- <glyph unicode="&#xf1b7;" d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z " />
436
- <glyph unicode="&#xf1b8;" horiz-adv-x="1792" d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
437
- <glyph unicode="&#xf1b9;" horiz-adv-x="2048" d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
438
- <glyph unicode="&#xf1ba;" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
439
- <glyph unicode="&#xf1bb;" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
440
- <glyph unicode="&#xf1bc;" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
441
- <glyph unicode="&#xf1bd;" horiz-adv-x="1024" d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
442
- <glyph unicode="&#xf1be;" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236q0 -11 -8 -19 t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786q-13 2 -22 11t-9 22v899 q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
443
- <glyph unicode="&#xf1c0;" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
444
- <glyph unicode="&#xf1c1;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 q-1 1 -1 2t-0.5 1.5t-0.5 1.5q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
445
- <glyph unicode="&#xf1c2;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4l-3 21q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5t-3.5 -21.5l-4 -21h-4l-2 21 q-2 26 -7 46l-99 438h90v107h-300z" />
446
- <glyph unicode="&#xf1c3;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 h-290v-107h68l189 -272l-194 -283h-68z" />
447
- <glyph unicode="&#xf1c4;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
448
- <glyph unicode="&#xf1c5;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
449
- <glyph unicode="&#xf1c6;" d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
450
- <glyph unicode="&#xf1c7;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
451
- <glyph unicode="&#xf1c8;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
452
- <glyph unicode="&#xf1c9;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
453
- <glyph unicode="&#xf1ca;" d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
454
- <glyph unicode="&#xf1cb;" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
455
- <glyph unicode="&#xf1cc;" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97q14 -16 29.5 -34t34.5 -40t29 -34q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5 t-85 -189.5z" />
456
- <glyph unicode="&#xf1cd;" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
457
- <glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
458
- <glyph unicode="&#xf1d0;" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
459
- <glyph unicode="&#xf1d1;" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
460
- <glyph unicode="&#xf1d2;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
461
- <glyph unicode="&#xf1d3;" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
462
- <glyph unicode="&#xf1d4;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
463
- <glyph unicode="&#xf1d5;" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
464
- <glyph unicode="&#xf1d6;" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
465
- <glyph unicode="&#xf1d7;" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
466
- <glyph unicode="&#xf1d8;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
467
- <glyph unicode="&#xf1d9;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 l863 639l-478 -797z" />
468
- <glyph unicode="&#xf1da;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
469
- <glyph unicode="&#xf1db;" d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
470
- <glyph unicode="&#xf1dc;" horiz-adv-x="1792" d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 q0 -26 -12 -48t-36 -22z" />
471
- <glyph unicode="&#xf1dd;" horiz-adv-x="1280" d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
472
- <glyph unicode="&#xf1de;" d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
473
- <glyph unicode="&#xf1e0;" d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
474
- <glyph unicode="&#xf1e1;" d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
475
- <glyph unicode="&#xf1e2;" horiz-adv-x="1792" d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
476
- <glyph unicode="&#xf1e3;" horiz-adv-x="1792" d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
477
- <glyph unicode="&#xf1e4;" horiz-adv-x="1792" d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
478
- <glyph unicode="&#xf1e5;" horiz-adv-x="1792" d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
479
- <glyph unicode="&#xf1e6;" horiz-adv-x="1792" d="M1755 1083q37 -37 37 -90t-37 -91l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234l401 400 q38 37 91 37t90 -37z" />
480
- <glyph unicode="&#xf1e7;" horiz-adv-x="1792" d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q3 -2 11 -7 t11 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
481
- <glyph unicode="&#xf1e8;" horiz-adv-x="1792" d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
482
- <glyph unicode="&#xf1e9;" d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q70 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
483
- <glyph unicode="&#xf1ea;" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
484
- <glyph unicode="&#xf1eb;" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
485
- <glyph unicode="&#xf1ec;" horiz-adv-x="1792" d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
486
- <glyph unicode="&#xf1ed;" d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598 q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
487
- <glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M441 864q32 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
488
- <glyph unicode="&#xf1f0;" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
489
- <glyph unicode="&#xf1f1;" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39 26 60.5t73 21.5q14 0 23 -1q0 3 0.5 5.5t1 4.5t0.5 3 q0 20 -36 20q-29 0 -59 -10q0 4 7 48q38 11 67 11q74 0 74 -62zM889 721l-8 -49q-22 3 -41 3q-27 0 -27 -17q0 -8 4.5 -12t21.5 -11q40 -19 40 -60q0 -72 -87 -71q-34 0 -58 6q0 2 7 49q29 -8 51 -8q32 0 32 19q0 7 -4.5 11.5t-21.5 12.5q-43 20 -43 59q0 72 84 72 q30 0 50 -4zM977 721h28l-7 -52h-29q-2 -17 -6.5 -40.5t-7 -38.5t-2.5 -18q0 -16 19 -16q8 0 16 2l-8 -47q-21 -7 -40 -7q-43 0 -45 47q0 12 8 56q3 20 25 146h55zM1180 648q0 -23 -7 -52h-111q-3 -22 10 -33t38 -11q30 0 58 14l-9 -54q-30 -8 -57 -8q-95 0 -95 95 q0 55 27.5 90.5t69.5 35.5q35 0 55.5 -21t20.5 -56zM1319 722q-13 -23 -22 -62q-22 2 -31 -24t-25 -128h-56l3 14q22 130 29 199h51l-3 -33q14 21 25.5 29.5t28.5 4.5zM1506 763l-9 -57q-28 14 -50 14q-31 0 -51 -27.5t-20 -70.5q0 -30 13.5 -47t38.5 -17q21 0 48 13 l-10 -59q-28 -8 -50 -8q-45 0 -71.5 30.5t-26.5 82.5q0 70 35.5 114.5t91.5 44.5q26 0 61 -13zM1668 663q0 -18 -4 -42q-13 -79 -17 -113h-46l1 22q-20 -26 -59 -26q-23 0 -37 16t-14 42q0 39 25.5 60.5t72.5 21.5q15 0 23 -1q2 7 2 13q0 20 -36 20q-29 0 -59 -10q0 4 8 48 q38 11 67 11q73 0 73 -62zM1809 722q-14 -24 -21 -62q-23 2 -31.5 -23t-25.5 -129h-56l3 14q19 104 29 199h52q0 -11 -4 -33q15 21 26.5 29.5t27.5 4.5zM1950 770h56l-43 -262h-53l3 19q-23 -23 -52 -23q-31 0 -49.5 24t-18.5 64q0 53 27.5 92t64.5 39q31 0 53 -29z M2061 640q0 148 -72.5 273t-198 198t-273.5 73q-181 0 -328 -110q127 -116 171 -284h-50q-44 150 -158 253q-114 -103 -158 -253h-50q44 168 171 284q-147 110 -328 110q-148 0 -273.5 -73t-198 -198t-72.5 -273t72.5 -273t198 -198t273.5 -73q181 0 328 110 q-120 111 -165 264h50q46 -138 152 -233q106 95 152 233h50q-45 -153 -165 -264q147 -110 328 -110q148 0 273.5 73t198 198t72.5 273zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
490
- <glyph unicode="&#xf1f2;" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
491
- <glyph unicode="&#xf1f3;" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
492
- <glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76 q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59 t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489 l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66 q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
493
- <glyph unicode="&#xf1f5;" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
494
- <glyph unicode="&#xf1f6;" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 l418 363q10 8 23.5 7t21.5 -11z" />
495
- <glyph unicode="&#xf1f7;" horiz-adv-x="2048" d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
496
- <glyph unicode="&#xf1f8;" horiz-adv-x="1408" d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
497
- <glyph unicode="&#xf1f9;" d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
498
- <glyph unicode="&#xf1fa;" d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
499
- <glyph unicode="&#xf1fb;" horiz-adv-x="1792" d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
500
- <glyph unicode="&#xf1fc;" horiz-adv-x="1792" d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
501
- <glyph unicode="&#xf1fd;" horiz-adv-x="1792" d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11t55.5 -11t52.5 -38q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5t47 37.5 q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-35 0 -55.5 11t-52.5 38q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38t-58 27 t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448h256v448 h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51 t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
502
- <glyph unicode="&#xf1fe;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
503
- <glyph unicode="&#xf200;" horiz-adv-x="1792" d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
504
- <glyph unicode="&#xf201;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 t9 -23z" />
505
- <glyph unicode="&#xf202;" horiz-adv-x="1792" d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
506
- <glyph unicode="&#xf203;" d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
507
- <glyph unicode="&#xf204;" horiz-adv-x="2048" d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
508
- <glyph unicode="&#xf205;" horiz-adv-x="2048" d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
509
- <glyph unicode="&#xf206;" horiz-adv-x="2304" d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
510
- <glyph unicode="&#xf207;" d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
511
- <glyph unicode="&#xf208;" horiz-adv-x="2048" d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
512
- <glyph unicode="&#xf209;" horiz-adv-x="1280" d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q18 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
513
- <glyph unicode="&#xf20a;" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
514
- <glyph unicode="&#xf20b;" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
515
- <glyph unicode="&#xf20c;" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
516
- <glyph unicode="&#xf20d;" d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
517
- <glyph unicode="&#xf20e;" horiz-adv-x="2048" d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5 q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360q2 0 4.5 -1t5.5 -2.5l5 -2.5l188 199v347l-187 194 q-13 -8 -29 -10zM986 1438h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13 zM552 226h402l64 66l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224 l213 -225zM1023 946l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196 l-48 -227l130 227h-82zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
518
- <glyph unicode="&#xf210;" d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
519
- <glyph unicode="&#xf211;" d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
520
- <glyph unicode="&#xf212;" horiz-adv-x="2048" d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25 q209 0 374 -102q172 107 374 102z" />
521
- <glyph unicode="&#xf213;" horiz-adv-x="2048" d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284 q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
522
- <glyph unicode="&#xf214;" d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114 v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378 v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51 h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5 t-43 -34t-16.5 -53.5z" />
523
- <glyph unicode="&#xf215;" horiz-adv-x="2048" d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
524
- <glyph unicode="&#xf216;" horiz-adv-x="2048" d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126.5t-103.5 132.5t-108.5 126t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113 t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5 q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
525
- <glyph unicode="&#xf217;" horiz-adv-x="1664" d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
526
- <glyph unicode="&#xf218;" horiz-adv-x="1664" d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
527
- <glyph unicode="&#xf219;" horiz-adv-x="2048" d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
528
- <glyph unicode="&#xf21a;" horiz-adv-x="2048" d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83 q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314 v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
529
- <glyph unicode="&#xf21b;" d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5 q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31 t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
530
- <glyph unicode="&#xf21c;" horiz-adv-x="2304" d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105 l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226 t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
531
- <glyph unicode="&#xf21d;" d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384 q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 t158.5 -65.5t65.5 -158.5z" />
532
- <glyph unicode="&#xf21e;" horiz-adv-x="1792" d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124 t127 -344z" />
533
- <glyph unicode="&#xf221;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
534
- <glyph unicode="&#xf222;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
535
- <glyph unicode="&#xf223;" horiz-adv-x="1280" d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
536
- <glyph unicode="&#xf224;" d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
537
- <glyph unicode="&#xf225;" horiz-adv-x="1792" d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9 t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
538
- <glyph unicode="&#xf226;" horiz-adv-x="1792" d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391 q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391 q0 -226 -154 -391q103 -57 218 -57z" />
539
- <glyph unicode="&#xf227;" horiz-adv-x="1920" d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9 t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128 q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -29 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
540
- <glyph unicode="&#xf228;" horiz-adv-x="2048" d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9 t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5 t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
541
- <glyph unicode="&#xf229;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
542
- <glyph unicode="&#xf22a;" horiz-adv-x="1280" d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5 t131.5 -316.5t316.5 -131.5z" />
543
- <glyph unicode="&#xf22b;" horiz-adv-x="2048" d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5 t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
544
- <glyph unicode="&#xf22c;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
545
- <glyph unicode="&#xf22d;" horiz-adv-x="1280" d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
546
- <glyph unicode="&#xf22e;" horiz-adv-x="1792" />
547
- <glyph unicode="&#xf22f;" horiz-adv-x="1792" />
548
- <glyph unicode="&#xf230;" d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
549
- <glyph unicode="&#xf231;" horiz-adv-x="1280" d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5 q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
550
- <glyph unicode="&#xf232;" d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233 l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
551
- <glyph unicode="&#xf233;" horiz-adv-x="1792" d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
552
- <glyph unicode="&#xf234;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
553
- <glyph unicode="&#xf235;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69 t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
554
- <glyph unicode="&#xf236;" horiz-adv-x="2048" d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 q-26 0 -45 -19t-19 -45v-384h1152z" />
555
- <glyph unicode="&#xf237;" d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
556
- <glyph unicode="&#xf238;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
557
- <glyph unicode="&#xf239;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
558
- <glyph unicode="&#xf23a;" horiz-adv-x="1792" d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
559
- <glyph unicode="&#xf23b;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
560
- <glyph unicode="&#xf23c;" horiz-adv-x="2296" d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5 q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42 q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37 q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5 q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139 q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 4 5 8q16 18 60 23h13q5 18 19 30t33 8 t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132 q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132 q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-106 2 -211 0v1q-1 -27 2.5 -86 t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103 q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34l3 9v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4l-10 -2.5t-12 -2 l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-2 0 -3 -0.5t-3 -0.5h-3q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130t-73 70 q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -2 -1 -5t-1 -4q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150 q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12 q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
561
- <glyph unicode="&#xf23d;" horiz-adv-x="2304" d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5 t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
562
- <glyph unicode="&#xf23e;" horiz-adv-x="1792" d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23 t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512 q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
563
- <glyph unicode="&#xf240;" horiz-adv-x="2304" d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
564
- <glyph unicode="&#xf241;" horiz-adv-x="2304" d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
565
- <glyph unicode="&#xf242;" horiz-adv-x="2304" d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
566
- <glyph unicode="&#xf243;" horiz-adv-x="2304" d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
567
- <glyph unicode="&#xf244;" horiz-adv-x="2304" d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
568
- <glyph unicode="&#xf245;" horiz-adv-x="1280" d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
569
- <glyph unicode="&#xf246;" horiz-adv-x="1024" d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
570
- <glyph unicode="&#xf247;" horiz-adv-x="2048" d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
571
- <glyph unicode="&#xf248;" horiz-adv-x="2304" d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
572
- <glyph unicode="&#xf249;" d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
573
- <glyph unicode="&#xf24a;" d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 z" />
574
- <glyph unicode="&#xf24b;" horiz-adv-x="2304" d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88 t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90 t90 38h2048q52 0 90 -38t38 -90z" />
575
- <glyph unicode="&#xf24c;" horiz-adv-x="2304" d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
576
- <glyph unicode="&#xf24d;" horiz-adv-x="1792" d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
577
- <glyph unicode="&#xf24e;" horiz-adv-x="2304" d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91 t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5 t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
578
- <glyph unicode="&#xf250;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5 t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
579
- <glyph unicode="&#xf251;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
580
- <glyph unicode="&#xf252;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
581
- <glyph unicode="&#xf253;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196 h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
582
- <glyph unicode="&#xf254;" d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9 h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
583
- <glyph unicode="&#xf255;" d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27 t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21 q72 69 174 69z" />
584
- <glyph unicode="&#xf256;" horiz-adv-x="1792" d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52 h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
585
- <glyph unicode="&#xf257;" horiz-adv-x="1792" d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17 t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5 q0 -42 -23 -78t-61 -53l-310 -141h91z" />
586
- <glyph unicode="&#xf258;" horiz-adv-x="2048" d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68 q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
587
- <glyph unicode="&#xf259;" horiz-adv-x="2048" d="M816 1408q-48 0 -79.5 -34t-31.5 -82q0 -14 3 -28l150 -624h-26l-116 482q-9 38 -39.5 62t-69.5 24q-47 0 -79 -34t-32 -81q0 -11 4 -29q3 -13 39 -161t68 -282t32 -138v-227l-307 230q-34 26 -77 26q-52 0 -89.5 -36.5t-37.5 -88.5q0 -67 56 -110l507 -379 q34 -26 76 -26h694q33 0 59 20.5t34 52.5l100 401q8 30 10 88t9 86l116 478q3 12 3 26q0 46 -33 79t-80 33q-38 0 -69 -25.5t-40 -62.5l-99 -408h-26l132 547q3 14 3 28q0 47 -32 80t-80 33q-38 0 -68.5 -24t-39.5 -62l-145 -602h-127l-164 682q-9 38 -39.5 62t-68.5 24z M1461 -256h-694q-85 0 -153 51l-507 380q-50 38 -78.5 94t-28.5 118q0 105 75 179t180 74q25 0 49.5 -5.5t41.5 -11t41 -20.5t35 -23t38.5 -29.5t37.5 -28.5l-123 512q-7 35 -7 59q0 93 60 162t152 79q14 87 80.5 144.5t155.5 57.5q83 0 148 -51.5t85 -132.5l103 -428 l83 348q20 81 85 132.5t148 51.5q87 0 152.5 -54t82.5 -139q93 -10 155 -78t62 -161q0 -30 -7 -57l-116 -477q-5 -22 -5 -67q0 -51 -13 -108l-101 -401q-19 -75 -79.5 -122.5t-137.5 -47.5z" />
588
- <glyph unicode="&#xf25a;" horiz-adv-x="1792" d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5 v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32 v-384h32z" />
589
- <glyph unicode="&#xf25b;" d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46 q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5 q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308 q0 -53 37.5 -90.5t90.5 -37.5h668z" />
590
- <glyph unicode="&#xf25c;" horiz-adv-x="1973" d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141 q13 0 22 -8.5t10 -20.5z" />
591
- <glyph unicode="&#xf25d;" horiz-adv-x="1792" d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640 q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
592
- <glyph unicode="&#xf25e;" horiz-adv-x="1792" d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5 t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376 q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
593
- <glyph unicode="&#xf260;" horiz-adv-x="2048" d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
594
- <glyph unicode="&#xf261;" horiz-adv-x="1792" d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
595
- <glyph unicode="&#xf262;" horiz-adv-x="2304" d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197 t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5 t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5 t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5 q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
596
- <glyph unicode="&#xf263;" horiz-adv-x="1280" d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94 q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
597
- <glyph unicode="&#xf264;" d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5 zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
598
- <glyph unicode="&#xf265;" horiz-adv-x="1720" d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
599
- <glyph unicode="&#xf266;" horiz-adv-x="2304" d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81 l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
600
- <glyph unicode="&#xf267;" horiz-adv-x="1792" d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5 t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5 t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5 t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191 t191 -286t71 -348z" />
601
- <glyph unicode="&#xf268;" horiz-adv-x="1792" d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
602
- <glyph unicode="&#xf269;" horiz-adv-x="1792" d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5 q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
603
- <glyph unicode="&#xf26a;" horiz-adv-x="1792" d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z " />
604
- <glyph unicode="&#xf26b;" horiz-adv-x="1792" d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
605
- <glyph unicode="&#xf26c;" horiz-adv-x="2048" d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
606
- <glyph unicode="&#xf26d;" horiz-adv-x="1792" d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100 q-68 175 -180 287z" />
607
- <glyph unicode="&#xf26e;" d="M1401 -11l-6 -6q-113 -114 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13 q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 32 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249 q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 32.5 -6t30.5 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183 q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46 t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
608
- <glyph unicode="&#xf270;" horiz-adv-x="1792" d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30 q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57 t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133 q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
609
- <glyph unicode="&#xf271;" horiz-adv-x="1792" d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224 v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
610
- <glyph unicode="&#xf272;" horiz-adv-x="1792" d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h128q52 0 90 -38t38 -90z" />
611
- <glyph unicode="&#xf273;" horiz-adv-x="1792" d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
612
- <glyph unicode="&#xf274;" horiz-adv-x="1792" d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
613
- <glyph unicode="&#xf275;" horiz-adv-x="1792" d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
614
- <glyph unicode="&#xf276;" horiz-adv-x="1024" d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q61 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
615
- <glyph unicode="&#xf277;" horiz-adv-x="1792" d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
616
- <glyph unicode="&#xf278;" horiz-adv-x="2048" d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
617
- <glyph unicode="&#xf279;" horiz-adv-x="1792" d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
618
- <glyph unicode="&#xf27a;" horiz-adv-x="1792" d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37 t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
619
- <glyph unicode="&#xf27b;" horiz-adv-x="1792" d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5 t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51 t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
620
- <glyph unicode="&#xf27c;" horiz-adv-x="1024" d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
621
- <glyph unicode="&#xf27d;" horiz-adv-x="1792" d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
622
- <glyph unicode="&#xf27e;" d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
623
- <glyph unicode="&#xf280;" d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275 l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
624
- <glyph unicode="&#xf281;" horiz-adv-x="1792" d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44 t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106 q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
625
- <glyph unicode="&#xf282;" horiz-adv-x="1792" d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
626
- <glyph unicode="&#xf283;" horiz-adv-x="2304" d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
627
- <glyph unicode="&#xf284;" horiz-adv-x="1792" d="M1549 857q55 0 85.5 -28.5t30.5 -83.5t-34 -82t-91 -27h-136v-177h-25v398h170zM1710 267l-4 -11l-5 -10q-113 -230 -330.5 -366t-474.5 -136q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q244 0 454.5 -124t329.5 -338l2 -4l8 -16 q-30 -15 -136.5 -68.5t-163.5 -84.5q-6 -3 -479 -268q384 -183 799 -366zM896 -234q250 0 462.5 132.5t322.5 357.5l-287 129q-72 -140 -206 -222t-292 -82q-151 0 -280 75t-204 204t-75 280t75 280t204 204t280 75t280 -73.5t204 -204.5l280 143q-116 208 -321 329 t-443 121q-119 0 -232.5 -31.5t-209 -87.5t-176.5 -137t-137 -176.5t-87.5 -209t-31.5 -232.5t31.5 -232.5t87.5 -209t137 -176.5t176.5 -137t209 -87.5t232.5 -31.5z" />
628
- <glyph unicode="&#xf285;" horiz-adv-x="1792" d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
629
- <glyph unicode="&#xf286;" horiz-adv-x="1792" d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h16v393q-32 19 -32 55q0 26 19 45t45 19t45 -19t19 -45q0 -36 -32 -55v-9h272q16 0 16 -16v-224q0 -16 -16 -16h-272v-128h16q16 0 16 -16v-112h128 v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96q16 0 16 -16z" />
630
- <glyph unicode="&#xf287;" horiz-adv-x="2304" d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5 t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
631
- <glyph unicode="&#xf288;" horiz-adv-x="1792" d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
632
- <glyph unicode="&#xf289;" horiz-adv-x="2304" d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5 q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13 q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
633
- <glyph unicode="&#xf28a;" d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20 q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5 t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
634
- <glyph unicode="&#xf28b;" d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
635
- <glyph unicode="&#xf28c;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
636
- <glyph unicode="&#xf28d;" d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
637
- <glyph unicode="&#xf28e;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
638
- <glyph unicode="&#xf290;" horiz-adv-x="1792" d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
639
- <glyph unicode="&#xf291;" horiz-adv-x="2048" d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416 q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441 h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
640
- <glyph unicode="&#xf292;" horiz-adv-x="1792" d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311 q15 0 25 -12q9 -12 6 -28z" />
641
- <glyph unicode="&#xf293;" d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
642
- <glyph unicode="&#xf294;" horiz-adv-x="1024" d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
643
- <glyph unicode="&#xf295;" d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
644
- <glyph unicode="&#xf296;" horiz-adv-x="1792" d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
645
- <glyph unicode="&#xf297;" horiz-adv-x="1792" d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
646
- <glyph unicode="&#xf298;" d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
647
- <glyph unicode="&#xf299;" horiz-adv-x="1792" d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285 q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
648
- <glyph unicode="&#xf29a;" horiz-adv-x="1792" d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298 t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
649
- <glyph unicode="&#xf29b;" d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
650
- <glyph unicode="&#xf29c;" d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5 t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
651
- <glyph unicode="&#xf29d;" horiz-adv-x="1408" d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 q-67 -192 -92 -234q-16 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521 q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661 q3 -1 7 1t7 4l3 2q11 9 11 17z" />
652
- <glyph unicode="&#xf29e;" horiz-adv-x="2304" d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5 t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5 h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96 t9.5 -70.5z" />
653
- <glyph unicode="&#xf2a0;" horiz-adv-x="1408" d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127 l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272 t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249 q-18 -19 -45 -19z" />
654
- <glyph unicode="&#xf2a1;" horiz-adv-x="2176" d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136 t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56 t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136 t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
655
- <glyph unicode="&#xf2a2;" horiz-adv-x="1792" d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72 t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45 t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4 q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
656
- <glyph unicode="&#xf2a3;" horiz-adv-x="2304" d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5 q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101 q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35 q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5 q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
657
- <glyph unicode="&#xf2a4;" horiz-adv-x="1792" d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74 t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233 l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
658
- <glyph unicode="&#xf2a5;" d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10 q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
659
- <glyph unicode="&#xf2a6;" horiz-adv-x="1535" d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5 q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9 q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
660
- <glyph unicode="&#xf2a7;" horiz-adv-x="1664" d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38 l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147l-4 -4t-5 -4q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148q-34 23 -76 23 q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26l-12 224 q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
661
- <glyph unicode="&#xf2a8;" horiz-adv-x="1792" d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841 q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5 q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
662
- <glyph unicode="&#xf2a9;" horiz-adv-x="1280" d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
663
- <glyph unicode="&#xf2aa;" d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5 q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 43 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
664
- <glyph unicode="&#xf2ab;" d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5 t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
665
- <glyph unicode="&#xf2ac;" horiz-adv-x="1664" d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5 t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
666
- <glyph unicode="&#xf2ad;" d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15 t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
667
- <glyph unicode="&#xf2ae;" horiz-adv-x="1792" />
668
- <glyph unicode="&#xf2b0;" horiz-adv-x="1792" />
669
- <glyph unicode="&#xf2b1;" horiz-adv-x="1792" />
670
- <glyph unicode="&#xf2b2;" horiz-adv-x="1792" />
671
- <glyph unicode="&#xf2b3;" horiz-adv-x="1792" />
672
- <glyph unicode="&#xf2b4;" horiz-adv-x="1792" />
673
- <glyph unicode="&#xf2b5;" horiz-adv-x="1792" />
674
- <glyph unicode="&#xf2b6;" horiz-adv-x="1792" />
675
- <glyph unicode="&#xf2b7;" horiz-adv-x="1792" />
676
- <glyph unicode="&#xf2b8;" horiz-adv-x="1792" />
677
- <glyph unicode="&#xf2b9;" horiz-adv-x="1792" />
678
- <glyph unicode="&#xf2ba;" horiz-adv-x="1792" />
679
- <glyph unicode="&#xf2bb;" horiz-adv-x="1792" />
680
- <glyph unicode="&#xf2bc;" horiz-adv-x="1792" />
681
- <glyph unicode="&#xf2bd;" horiz-adv-x="1792" />
682
- <glyph unicode="&#xf2be;" horiz-adv-x="1792" />
683
- <glyph unicode="&#xf500;" horiz-adv-x="1792" />
684
- </font>
685
- </defs></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.ttf DELETED
Binary file
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.woff DELETED
Binary file
products/photocrati_nextgen/modules/nextgen_gallery_display/static/fonts/fontawesome-webfont.woff2 DELETED
Binary file
products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php CHANGED
@@ -118,9 +118,9 @@ class A_Image_Options_Form extends Mixin
118
  return array(__('Categories', 'nggallery') => 'category', __('Tags', 'nggallery') => 'tags');
119
  }
120
  /**
121
- * Tries to create the gallery storage directory if it doesn't exist
122
- * already
123
- * @return string
124
  */
125
  function _create_gallery_storage_dir($gallerypath = NULL)
126
  {
@@ -136,7 +136,7 @@ class A_Image_Options_Form extends Mixin
136
  }
137
  return $retval;
138
  }
139
- /*
140
  * Renders the form
141
  */
142
  function render()
@@ -350,7 +350,7 @@ class A_Other_Options_Controller extends Mixin
350
  {
351
  $this->call_parent('enqueue_backend_resources');
352
  wp_enqueue_script('nextgen_settings_page', $this->get_static_url('photocrati-nextgen_other_options#nextgen_settings_page.js'), array('jquery-ui-accordion', 'jquery-ui-tooltip', 'wp-color-picker', 'jquery.nextgen_radio_toggle'), NGG_SCRIPT_VERSION);
353
- wp_enqueue_style('nextgen_settings_page', $this->get_static_url('photocrati-nextgen_other_options#nextgen_settings_page.css'), FALSE, NGG_SCRIPT_VERSION);
354
  }
355
  function get_page_title()
356
  {
@@ -585,11 +585,9 @@ class A_Watermarking_Ajax_Actions extends Mixin
585
  $sizeinfo = array('quality' => 100, 'height' => 250, 'crop' => FALSE, 'watermark' => TRUE);
586
  $size = $imagegen->get_size_name($sizeinfo);
587
  $thumbnail_url = $storage->get_image_url($image, $size);
588
- // Temporarily update the watermark options. Generate a new image based
589
- // on these settings
590
  if ($watermark_options = $this->param('watermark_options')) {
591
- $watermark_options['wmFont'] = trim($watermark_options['wmFont']);
592
- $settings->set($watermark_options);
593
  $storage->generate_image_size($image, $size);
594
  $thumbnail_url = $storage->get_image_url($image, $size);
595
  $settings->load();
@@ -643,7 +641,7 @@ class A_Watermarks_Form extends Mixin
643
  }
644
  /**
645
  * Renders the fields for a watermark source (image, text)
646
- * @return string
647
  */
648
  function _get_watermark_source_fields()
649
  {
@@ -718,6 +716,10 @@ class C_Settings_Model extends C_Component
718
  */
719
  var $wrapper = NULL;
720
  static $_instances = array();
 
 
 
 
721
  static function get_instance($context = FALSE)
722
  {
723
  if (!isset(self::$_instances[$context])) {
118
  return array(__('Categories', 'nggallery') => 'category', __('Tags', 'nggallery') => 'tags');
119
  }
120
  /**
121
+ * Tries to create the gallery storage directory if it doesn't exist already
122
+ * @param null|string $gallerypath (optional)
123
+ * @return bool|string
124
  */
125
  function _create_gallery_storage_dir($gallerypath = NULL)
126
  {
136
  }
137
  return $retval;
138
  }
139
+ /**
140
  * Renders the form
141
  */
142
  function render()
350
  {
351
  $this->call_parent('enqueue_backend_resources');
352
  wp_enqueue_script('nextgen_settings_page', $this->get_static_url('photocrati-nextgen_other_options#nextgen_settings_page.js'), array('jquery-ui-accordion', 'jquery-ui-tooltip', 'wp-color-picker', 'jquery.nextgen_radio_toggle'), NGG_SCRIPT_VERSION);
353
+ wp_enqueue_style('nextgen_settings_page', $this->get_static_url('photocrati-nextgen_other_options#nextgen_settings_page.css'), array(), NGG_SCRIPT_VERSION);
354
  }
355
  function get_page_title()
356
  {
585
  $sizeinfo = array('quality' => 100, 'height' => 250, 'crop' => FALSE, 'watermark' => TRUE);
586
  $size = $imagegen->get_size_name($sizeinfo);
587
  $thumbnail_url = $storage->get_image_url($image, $size);
588
+ // Temporarily update the watermark options. Generate a new image based on these settings
 
589
  if ($watermark_options = $this->param('watermark_options')) {
590
+ $settings->set('wmFont', trim($watermark_options['wmFont']));
 
591
  $storage->generate_image_size($image, $size);
592
  $thumbnail_url = $storage->get_image_url($image, $size);
593
  $settings->load();
641
  }
642
  /**
643
  * Renders the fields for a watermark source (image, text)
644
+ * @return array
645
  */
646
  function _get_watermark_source_fields()
647
  {
716
  */
717
  var $wrapper = NULL;
718
  static $_instances = array();
719
+ /**
720
+ * @param bool|string $context
721
+ * @return C_Settings_Model
722
+ */
723
  static function get_instance($context = FALSE)
724
  {
725
  if (!isset(self::$_instances[$context])) {
products/photocrati_nextgen/modules/nextgen_pagination/package.module.nextgen_pagination.php CHANGED
@@ -10,6 +10,7 @@ class Mixin_NextGen_Basic_Pagination extends Mixin
10
  * @param mixed $page
11
  * @param int $totalElement
12
  * @param int $maxElement
 
13
  * @return array Of data holding prev & next url locations and a formatted HTML string
14
  */
15
  public function create_pagination($page, $totalElement, $maxElement = 0, $current_url = NULL)
10
  * @param mixed $page
11
  * @param int $totalElement
12
  * @param int $maxElement
13
+ * @param string|null $current_url (optional)
14
  * @return array Of data holding prev & next url locations and a formatted HTML string
15
  */
16
  public function create_pagination($page, $totalElement, $maxElement = 0, $current_url = NULL)
products/photocrati_nextgen/modules/nextgen_pagination/static/style.css CHANGED
@@ -58,6 +58,10 @@
58
  color: #666 !important;
59
  }
60
 
 
 
 
 
61
  .ngg-clear {
62
  clear: both;
63
  }
58
  color: #666 !important;
59
  }
60
 
61
+ .ngg-navigation a.page-numbers {
62
+ display: inline;
63
+ }
64
+
65
  .ngg-clear {
66
  clear: both;
67
  }
products/photocrati_nextgen/modules/nextgen_pagination/static/style.min.css CHANGED
@@ -1 +1 @@
1
- .ngg-navigation{font-size:.9em!important;clear:both!important;display:block!important;padding-top:24px;padding-bottom:3px;text-align:center}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.current,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{background:#bbb;border:none;border-radius:2px;box-shadow:none;color:#fff;display:inline;font-size:14px;font-weight:700;margin-right:3px;padding:4px 8px;text-decoration:none;cursor:pointer!important}.ngg-navigation span.current{background:#666}.ngg-navigation a.next,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.prev{background:0 0;color:#bbb;padding:2px;border:none}.ngg-navigation a.page-numbers:hover,.ngg-navigation span.current:hover,.ngg-navigation span.page-numbers:hover{background:#666;color:#fff!important;text-decoration:none!important}.ngg-navigation a.next:hover,.ngg-navigation a.prev:hover,.ngg-navigation span.next,.ngg-navigation span.prev{color:#666!important}.ngg-clear{clear:both}
1
+ .ngg-navigation{font-size:.9em!important;clear:both!important;display:block!important;padding-top:24px;padding-bottom:3px;text-align:center}.ngg-navigation a.next,.ngg-navigation a.page-numbers,.ngg-navigation a.prev,.ngg-navigation span.current,.ngg-navigation span.next,.ngg-navigation span.page-numbers,.ngg-navigation span.prev{background:#bbb;border:none;border-radius:2px;box-shadow:none;color:#fff;display:inline;font-size:14px;font-weight:700;margin-right:3px;padding:4px 8px;text-decoration:none;cursor:pointer!important}.ngg-navigation span.current{background:#666}.ngg-navigation a.next,.ngg-navigation a.prev,.ngg-navigation span.next,.ngg-navigation span.prev{background:0 0;color:#bbb;padding:2px;border:none}.ngg-navigation a.page-numbers:hover,.ngg-navigation span.current:hover,.ngg-navigation span.page-numbers:hover{background:#666;color:#fff!important;text-decoration:none!important}.ngg-navigation a.next:hover,.ngg-navigation a.prev:hover,.ngg-navigation span.next,.ngg-navigation span.prev{color:#666!important}.ngg-navigation a.page-numbers{display:inline}.ngg-clear{clear:both}
products/photocrati_nextgen/modules/nextgen_pro_upgrade/package.module.nextgen_pro_upgrade.php CHANGED
@@ -35,7 +35,7 @@ class A_NextGen_Pro_Upgrade_Controller extends Mixin
35
  function enqueue_backend_resources()
36
  {
37
  $this->call_parent('enqueue_backend_resources');
38
- wp_enqueue_style('nextgen_pro_upgrade_page', $this->get_static_url('photocrati-nextgen_pro_upgrade#style.css'), FALSE, NGG_SCRIPT_VERSION);
39
  }
40
  function get_page_title()
41
  {
35
  function enqueue_backend_resources()
36
  {
37
  $this->call_parent('enqueue_backend_resources');
38
+ wp_enqueue_style('nextgen_pro_upgrade_page', $this->get_static_url('photocrati-nextgen_pro_upgrade#style.css'), array(), NGG_SCRIPT_VERSION);
39
  }
40
  function get_page_title()
41
  {
products/photocrati_nextgen/modules/nextgen_settings/module.nextgen_settings.php CHANGED
@@ -190,4 +190,4 @@ class C_NextGen_Settings_Installer
190
  }
191
  }
192
 
193
- new M_NextGen_Settings();
190
  }
191
  }
192
 
193
+ new M_NextGen_Settings();
products/photocrati_nextgen/modules/nextgen_xmlrpc/package.module.nextgen_xmlrpc.php CHANGED
@@ -124,6 +124,10 @@ class A_NextGen_API_Ajax extends Mixin
124
  return round($size);
125
  }
126
  }
 
 
 
 
127
  function enqueue_nextgen_api_task_list_action()
128
  {
129
  $api = $this->get_nextgen_api();
@@ -208,8 +212,9 @@ class A_NextGen_API_Ajax extends Mixin
208
  $handler_maxsize = defined('NGG_API_JOB_HANDLER_MAXSIZE') ? intval(NGG_API_JOB_HANDLER_MAXSIZE) : 0;
209
  $handler_maxsize = $handler_maxsize > 0 ? $handler_maxsize : $this->_get_max_upload_size();
210
  /* in bytes */
 
211
  $response['result'] = 'ok';
212
- $response['result_object'] = array('job_id' => $job_id, 'job_post_back' => $post_back, 'job_handler_url' => home_url('?photocrati_ajax=1&action=execute_nextgen_api_task_list'), 'job_handler_delay' => $handler_delay, 'job_handler_maxsize' => $handler_maxsize);
213
  if (!defined('NGG_API_SUPPRESS_QUICK_EXECUTE') || NGG_API_SUPPRESS_QUICK_EXECUTE == false) {
214
  if (!$api->is_execution_locked()) {
215
  $this->_start_locked_execute();
@@ -359,6 +364,10 @@ class C_NextGen_API extends C_Component
359
  const INFO_EXECUTION_LOCKED = 6004;
360
  public static $_instances = array();
361
  var $_start_time;
 
 
 
 
362
  public static function get_instance($context = false)
363
  {
364
  if (!isset(self::$_instances[$context])) {
@@ -615,6 +624,29 @@ class C_NextGen_API extends C_Component
615
  }
616
  return $id;
617
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  // Note: handle_job only worries about processing the job, it does NOT remove finished jobs anymore, the responsibility is on the caller to remove the job when handle_job returns true, this is to allow calling get_job_*() methods after handle_job has been called
619
  function handle_job($job_id, $job_data, $app_config, $task_list, $extra_data = null)
620
  {
@@ -758,10 +790,10 @@ class C_NextGen_API extends C_Component
758
  $images_folder = str_replace(array('\\', '/'), $fs_sep, $images_folder);
759
  $images = $task_object['image_list'];
760
  $result_images = isset($task_result['image_list']) ? $task_result['image_list'] : array();
 
761
  $image_count = count($images);
762
  $result_image_count = count($result_images);
763
- for ($image_index = $result_image_count; $image_index < $image_count; $image_index++) {
764
- $image = $images[$image_index];
765
  $image_id = isset($image['id']) ? $image['id'] : null;
766
  $image_filename = isset($image['filename']) ? $image['filename'] : null;
767
  $image_path = isset($image['path']) ? $image['path'] : null;
@@ -840,7 +872,7 @@ class C_NextGen_API extends C_Component
840
  } catch (E_UploadException $e) {
841
  $image_error = $e->getMessage . __(' (%1$s).', 'nggallery');
842
  } catch (E_No_Image_Library_Exception $e) {
843
- $error = __('No image library present, image uploads will fail (%1$s).', 'nggallery');
844
  // no point in continuing if the image library is not present but we don't break here to ensure that all images are processed (otherwise they'd be processed in further fruitless handle_job calls)
845
  } catch (E_InsufficientWriteAccessException $e) {
846
  $image_error = __('Inadequate system permissions to write image (%1$s).', 'nggallery');
@@ -1074,6 +1106,10 @@ class C_NextGen_API_XMLRPC extends C_Component
1074
  parent::define($context);
1075
  $this->implement('I_NextGen_API_XMLRPC');
1076
  }
 
 
 
 
1077
  public static function get_instance($context = false)
1078
  {
1079
  if (!isset(self::$_instances[$context])) {
@@ -1083,7 +1119,7 @@ class C_NextGen_API_XMLRPC extends C_Component
1083
  }
1084
  /**
1085
  * Gets the version of NextGEN Gallery installed
1086
- * @return string
1087
  */
1088
  function get_version()
1089
  {
@@ -1143,7 +1179,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1143
  // his plugin
1144
  $gallery->gid = (string) $gallery->gid;
1145
  // Set other gallery properties
1146
- $image_counter = array_pop($image_mapper->select('DISTINCT COUNT(*) as counter')->where(array("galleryid = %d", $gallery->gid))->run_query(FALSE, FALSE, TRUE));
 
1147
  $gallery->counter = $image_counter->counter;
1148
  $gallery->abspath = $storage->get_gallery_abspath($gallery);
1149
  } else {
@@ -1153,7 +1190,9 @@ class C_NextGen_API_XMLRPC extends C_Component
1153
  }
1154
  /**
1155
  * Returns a single image object
1156
- * @param $args (blog_id, username, password, pid)
 
 
1157
  */
1158
  function get_image($args, $return_model = FALSE)
1159
  {
@@ -1194,7 +1233,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1194
  }
1195
  /**
1196
  * Returns a collection of images
1197
- * @param $args (blog_id, username, password, gallery_id
 
1198
  */
1199
  function get_images($args)
1200
  {
@@ -1231,7 +1271,7 @@ class C_NextGen_API_XMLRPC extends C_Component
1231
  * o bool overwrite (optional)
1232
  * o int gallery
1233
  * o int image_id (optional)
1234
- * @return image
1235
  */
1236
  function upload_image($args)
1237
  {
@@ -1288,6 +1328,7 @@ class C_NextGen_API_XMLRPC extends C_Component
1288
  /**
1289
  * Edits an image object
1290
  * @param $args (blog_id, username, password, image_id, alttext, description, exclude, other_properties
 
1291
  */
1292
  function edit_image($args)
1293
  {
@@ -1314,7 +1355,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1314
  }
1315
  /**
1316
  * Deletes an existing image from a gallery
1317
- * @param $args (blog_id, username, password, image_id)
 
1318
  */
1319
  function delete_image($args)
1320
  {
@@ -1326,7 +1368,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1326
  }
1327
  /**
1328
  * Creates a new gallery
1329
- * @param $args (blog_id, username, password, title)
 
1330
  */
1331
  function create_gallery($args)
1332
  {
@@ -1353,7 +1396,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1353
  }
1354
  /**
1355
  * Edits an existing gallery
1356
- * @param $args (blog_id, username, password, gallery_id, name, title, description, preview_pic_id)
 
1357
  */
1358
  function edit_gallery($args)
1359
  {
@@ -1394,7 +1438,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1394
  }
1395
  /**
1396
  * Returns all galleries
1397
- * @param $args (blog_id, username, password)
 
1398
  */
1399
  function get_galleries($args)
1400
  {
@@ -1421,7 +1466,9 @@ class C_NextGen_API_XMLRPC extends C_Component
1421
  }
1422
  /**
1423
  * Gets a single gallery instance
1424
- * @param $args (blog_id, username, password, gallery_id)
 
 
1425
  */
1426
  function get_gallery($args, $return_model = FALSE)
1427
  {
@@ -1448,7 +1495,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1448
  }
1449
  /**
1450
  * Deletes a gallery
1451
- * @param $args (blog_id, username, password, gallery_id)
 
1452
  */
1453
  function delete_gallery($args)
1454
  {
@@ -1460,7 +1508,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1460
  }
1461
  /**
1462
  * Creates a new album
1463
- * @param $args (blog_id, username, password, title, previewpic, description, galleries
 
1464
  */
1465
  function create_album($args)
1466
  {
@@ -1524,7 +1573,9 @@ class C_NextGen_API_XMLRPC extends C_Component
1524
  }
1525
  /**
1526
  * Gets a single album
1527
- * @param $args (blog_id, username, password, album_id)
 
 
1528
  */
1529
  function get_album($args, $return_model = FALSE)
1530
  {
@@ -1557,7 +1608,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1557
  }
1558
  /**
1559
  * Deletes an existing album
1560
- * @param $args (blog_id, username, password, album_id)
 
1561
  */
1562
  function delete_album($args)
1563
  {
@@ -1569,7 +1621,8 @@ class C_NextGen_API_XMLRPC extends C_Component
1569
  }
1570
  /**
1571
  * Edit an existing album
1572
- * @param $args (blog_id, username, password, album_id, name, preview pic id, description, galleries)
 
1573
  */
1574
  function edit_album($args)
1575
  {
124
  return round($size);
125
  }
126
  }
127
+ function _get_max_upload_files()
128
+ {
129
+ return intval(ini_get('max_file_uploads'));
130
+ }
131
  function enqueue_nextgen_api_task_list_action()
132
  {
133
  $api = $this->get_nextgen_api();
212
  $handler_maxsize = defined('NGG_API_JOB_HANDLER_MAXSIZE') ? intval(NGG_API_JOB_HANDLER_MAXSIZE) : 0;
213
  $handler_maxsize = $handler_maxsize > 0 ? $handler_maxsize : $this->_get_max_upload_size();
214
  /* in bytes */
215
+ $handler_maxfiles = $this->_get_max_upload_files();
216
  $response['result'] = 'ok';
217
+ $response['result_object'] = array('job_id' => $job_id, 'job_post_back' => $post_back, 'job_handler_url' => home_url('?photocrati_ajax=1&action=execute_nextgen_api_task_list'), 'job_handler_delay' => $handler_delay, 'job_handler_maxsize' => $handler_maxsize, 'job_handler_maxfiles' => $handler_maxfiles);
218
  if (!defined('NGG_API_SUPPRESS_QUICK_EXECUTE') || NGG_API_SUPPRESS_QUICK_EXECUTE == false) {
219
  if (!$api->is_execution_locked()) {
220
  $this->_start_locked_execute();
364
  const INFO_EXECUTION_LOCKED = 6004;
365
  public static $_instances = array();
366
  var $_start_time;
367
+ /**
368
+ * @param bool|string $context
369
+ * @return C_NextGen_API
370
+ */
371
  public static function get_instance($context = false)
372
  {
373
  if (!isset(self::$_instances[$context])) {
624
  }
625
  return $id;
626
  }
627
+ function _array_find_by_entry(array $array_target, $entry_key, $entry_value)
628
+ {
629
+ foreach ($array_target as $key => $value) {
630
+ $item = $value;
631
+ if (isset($item[$entry_key]) && $item[$entry_key] == $entry_value) {
632
+ return $key;
633
+ }
634
+ }
635
+ return null;
636
+ }
637
+ function _array_filter_by_entry(array $array_target, array $array_source, $entry_key)
638
+ {
639
+ foreach ($array_source as $key => $value) {
640
+ $item = $value;
641
+ if (isset($item[$entry_key])) {
642
+ $find_key = $this->_array_find_by_entry($array_target, $entry_key, $item[$entry_key]);
643
+ if ($find_key !== null) {
644
+ unset($array_target[$find_key]);
645
+ }
646
+ }
647
+ }
648
+ return $array_target;
649
+ }
650
  // Note: handle_job only worries about processing the job, it does NOT remove finished jobs anymore, the responsibility is on the caller to remove the job when handle_job returns true, this is to allow calling get_job_*() methods after handle_job has been called
651
  function handle_job($job_id, $job_data, $app_config, $task_list, $extra_data = null)
652
  {
790
  $images_folder = str_replace(array('\\', '/'), $fs_sep, $images_folder);
791
  $images = $task_object['image_list'];
792
  $result_images = isset($task_result['image_list']) ? $task_result['image_list'] : array();
793
+ $images_todo = array_values($this->_array_filter_by_entry($images, $result_images, 'localId'));
794
  $image_count = count($images);
795
  $result_image_count = count($result_images);
796
+ foreach ($images_todo as $image_index => $image) {
 
797
  $image_id = isset($image['id']) ? $image['id'] : null;
798
  $image_filename = isset($image['filename']) ? $image['filename'] : null;
799
  $image_path = isset($image['path']) ? $image['path'] : null;
872
  } catch (E_UploadException $e) {
873
  $image_error = $e->getMessage . __(' (%1$s).', 'nggallery');
874
  } catch (E_No_Image_Library_Exception $e) {
875
+ $image_error = __('No image library present, image uploads will fail (%1$s).', 'nggallery');
876
  // no point in continuing if the image library is not present but we don't break here to ensure that all images are processed (otherwise they'd be processed in further fruitless handle_job calls)
877
  } catch (E_InsufficientWriteAccessException $e) {
878
  $image_error = __('Inadequate system permissions to write image (%1$s).', 'nggallery');
1106
  parent::define($context);
1107
  $this->implement('I_NextGen_API_XMLRPC');
1108
  }
1109
+ /**
1110
+ * @param bool|string $context
1111
+ * @return C_NextGen_API_XMLRPC
1112
+ */
1113
  public static function get_instance($context = false)
1114
  {
1115
  if (!isset(self::$_instances[$context])) {
1119
  }
1120
  /**
1121
  * Gets the version of NextGEN Gallery installed
1122
+ * @return array
1123
  */
1124
  function get_version()
1125
  {
1179
  // his plugin
1180
  $gallery->gid = (string) $gallery->gid;
1181
  // Set other gallery properties
1182
+ $tmp = $image_mapper->select('DISTINCT COUNT(*) as counter')->where(array("galleryid = %d", $gallery->gid))->run_query(FALSE, FALSE, TRUE);
1183
+ $image_counter = array_pop($tmp);
1184
  $gallery->counter = $image_counter->counter;
1185
  $gallery->abspath = $storage->get_gallery_abspath($gallery);
1186
  } else {
1190
  }
1191
  /**
1192
  * Returns a single image object
1193
+ * @param array $args (blog_id, username, password, pid)
1194
+ * @param bool $return_model (optional)
1195
+ * @return object|IXR_Error
1196
  */
1197
  function get_image($args, $return_model = FALSE)
1198
  {
1233
  }
1234
  /**
1235
  * Returns a collection of images
1236
+ * @param array $args (blog_id, username, password, gallery_id
1237
+ * @return array|IXR_Error
1238
  */
1239
  function get_images($args)
1240
  {
1271
  * o bool overwrite (optional)
1272
  * o int gallery
1273
  * o int image_id (optional)
1274
+ * @return object|IXR_Error
1275
  */
1276
  function upload_image($args)
1277
  {
1328
  /**
1329
  * Edits an image object
1330
  * @param $args (blog_id, username, password, image_id, alttext, description, exclude, other_properties
1331
+ * @return IXR_Error|object
1332
  */
1333
  function edit_image($args)
1334
  {
1355
  }
1356
  /**
1357
  * Deletes an existing image from a gallery
1358
+ * @param array $args (blog_id, username, password, image_id)
1359
+ * @return bool
1360
  */
1361
  function delete_image($args)
1362
  {
1368
  }
1369
  /**
1370
  * Creates a new gallery
1371
+ * @param array $args (blog_id, username, password, title)
1372
+ * @return int|IXR_Error
1373
  */
1374
  function create_gallery($args)
1375
  {
1396
  }
1397
  /**
1398
  * Edits an existing gallery
1399
+ * @param array $args (blog_id, username, password, gallery_id, name, title, description, preview_pic_id)
1400
+ * @return int|bool|IXR_Error
1401
  */
1402
  function edit_gallery($args)
1403
  {
1438
  }
1439
  /**
1440
  * Returns all galleries
1441
+ * @param array $args (blog_id, username, password)
1442
+ * @return array|IXR_Error
1443
  */
1444
  function get_galleries($args)
1445
  {
1466
  }
1467
  /**
1468
  * Gets a single gallery instance
1469
+ * @param array $args (blog_id, username, password, gallery_id)
1470
+ * @param bool $return_model
1471
+ * @return object|bool|IXR_Error
1472
  */
1473
  function get_gallery($args, $return_model = FALSE)
1474
  {
1495
  }
1496
  /**
1497
  * Deletes a gallery
1498
+ * @param array $args (blog_id, username, password, gallery_id)
1499
+ * @return bool
1500
  */
1501
  function delete_gallery($args)
1502
  {
1508
  }
1509
  /**
1510
  * Creates a new album
1511
+ * @param array $args (blog_id, username, password, title, previewpic, description, galleries
1512
+ * @return int|IXR_Error
1513
  */
1514
  function create_album($args)
1515
  {
1573
  }
1574
  /**
1575
  * Gets a single album
1576
+ * @param array $args (blog_id, username, password, album_id)
1577
+ * @param bool $return_model (optional)
1578
+ * @return object|bool|IXR_Error
1579
  */
1580
  function get_album($args, $return_model = FALSE)
1581
  {
1608
  }
1609
  /**
1610
  * Deletes an existing album
1611
+ * @param array $args (blog_id, username, password, album_id)
1612
+ * @return bool
1613
  */
1614
  function delete_album($args)
1615
  {
1621
  }
1622
  /**
1623
  * Edit an existing album
1624
+ * @param array $args (blog_id, username, password, album_id, name, preview pic id, description, galleries)
1625
+ * @return object|IXR_Error
1626
  */
1627
  function edit_album($args)
1628
  {
products/photocrati_nextgen/modules/ngglegacy/admin/admin.php CHANGED
@@ -162,7 +162,14 @@ class nggAdminPanel{
162
  // integrate the menu
163
  function add_menu() {
164
 
165
- add_menu_page( __( 'Gallery', 'Galleries', 1, 'nggallery' ), _n( 'Gallery', 'Galleries', 1, 'nggallery' ), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'), path_join(NGGALLERY_URLPATH, 'admin/images/imagely_icon.png'), 11 );
 
 
 
 
 
 
 
166
  add_submenu_page( NGGFOLDER , __('Overview', 'nggallery'), __('Overview', 'nggallery'), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'));
167
  add_submenu_page( NGGFOLDER , __('Manage Galleries', 'nggallery'), __('Manage Galleries', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', array (&$this, 'show_menu'));
168
  add_submenu_page( NGGFOLDER , _n( 'Manage Albums', 'Albums', 1, 'nggallery' ), _n( 'Manage Albums', 'Manage Albums', 1, 'nggallery' ), 'NextGEN Edit album', 'nggallery-manage-album', array (&$this, 'show_menu'));
@@ -290,7 +297,7 @@ class nggAdminPanel{
290
  wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), NGG_SCRIPT_VERSION);
291
 
292
  wp_enqueue_script('wp-color-picker');
293
- wp_enqueue_style('imagely-admin-font', 'https://fonts.googleapis.com/css?family=Lato:300,400,700,900', false, NGG_SCRIPT_VERSION );
294
 
295
  switch ($_GET['page']) {
296
  case NGGFOLDER :
@@ -302,7 +309,7 @@ class nggAdminPanel{
302
  wp_enqueue_script( 'ngg-progressbar' );
303
  wp_enqueue_script( 'jquery-ui-dialog' );
304
  wp_enqueue_script( 'jquery-ui-sortable' );
305
- wp_register_script('shutter', $router->get_static_url('photocrati-lightbox#shutter/shutter.js'), false, NGG_SCRIPT_VERSION);
306
  wp_localize_script('shutter', 'shutterSettings', array(
307
  'msgLoading' => __('L O A D I N G', 'nggallery'),
308
  'msgClose' => __('Click to Close', 'nggallery'),
@@ -335,8 +342,8 @@ class nggAdminPanel{
335
  function load_styles() {
336
  global $ngg;
337
 
338
- wp_register_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', false, NGG_SCRIPT_VERSION, 'screen' );
339
- wp_register_style( 'ngg-jqueryui', NGGALLERY_URLPATH .'admin/css/jquery.ui.css', false, NGG_SCRIPT_VERSION, 'screen' );
340
 
341
  // no need to go on if it's not a plugin page
342
  if( !isset($_GET['page']) )
@@ -362,7 +369,7 @@ class nggAdminPanel{
362
  wp_enqueue_style( 'nggadmin' );
363
  break;
364
  case "nggallery-tags" :
365
- wp_enqueue_style( 'nggtags', NGGALLERY_URLPATH .'admin/css/tags-admin.css', false, NGG_SCRIPT_VERSION, 'screen' );
366
  break;
367
  }
368
  }
@@ -478,7 +485,7 @@ class nggAdminPanel{
478
  * Read an array from a remote url
479
  *
480
  * @param string $url
481
- * @return array of the content
482
  */
483
  function get_remote_array($url) {
484
 
162
  // integrate the menu
163
  function add_menu() {
164
 
165
+ add_menu_page(
166
+ __('Gallery', 'nggallery'),
167
+ _n('Gallery', 'Galleries', 1, 'nggallery'),
168
+ 'NextGEN Gallery overview',
169
+ NGGFOLDER,
170
+ array ($this, 'show_menu'),
171
+ path_join(NGGALLERY_URLPATH, 'admin/images/imagely_icon.png'), 11
172
+ );
173
  add_submenu_page( NGGFOLDER , __('Overview', 'nggallery'), __('Overview', 'nggallery'), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'));
174
  add_submenu_page( NGGFOLDER , __('Manage Galleries', 'nggallery'), __('Manage Galleries', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', array (&$this, 'show_menu'));
175
  add_submenu_page( NGGFOLDER , _n( 'Manage Albums', 'Albums', 1, 'nggallery' ), _n( 'Manage Albums', 'Manage Albums', 1, 'nggallery' ), 'NextGEN Edit album', 'nggallery-manage-album', array (&$this, 'show_menu'));
297
  wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), NGG_SCRIPT_VERSION);
298
 
299
  wp_enqueue_script('wp-color-picker');
300
+ wp_enqueue_style('imagely-admin-font', 'https://fonts.googleapis.com/css?family=Lato:300,400,700,900', array(), NGG_SCRIPT_VERSION );
301
 
302
  switch ($_GET['page']) {
303
  case NGGFOLDER :
309
  wp_enqueue_script( 'ngg-progressbar' );
310
  wp_enqueue_script( 'jquery-ui-dialog' );
311
  wp_enqueue_script( 'jquery-ui-sortable' );
312
+ wp_register_script('shutter', $router->get_static_url('photocrati-lightbox#shutter/shutter.js'), array(), NGG_SCRIPT_VERSION);
313
  wp_localize_script('shutter', 'shutterSettings', array(
314
  'msgLoading' => __('L O A D I N G', 'nggallery'),
315
  'msgClose' => __('Click to Close', 'nggallery'),
342
  function load_styles() {
343
  global $ngg;
344
 
345
+ wp_register_style( 'nggadmin', NGGALLERY_URLPATH .'admin/css/nggadmin.css', array(), NGG_SCRIPT_VERSION, 'screen' );
346
+ wp_register_style( 'ngg-jqueryui', NGGALLERY_URLPATH .'admin/css/jquery.ui.css', array(), NGG_SCRIPT_VERSION, 'screen' );
347
 
348
  // no need to go on if it's not a plugin page
349
  if( !isset($_GET['page']) )
369
  wp_enqueue_style( 'nggadmin' );
370
  break;
371
  case "nggallery-tags" :
372
+ wp_enqueue_style( 'nggtags', NGGALLERY_URLPATH .'admin/css/tags-admin.css', array(), NGG_SCRIPT_VERSION, 'screen' );
373
  break;
374
  }
375
  }
485
  * Read an array from a remote url
486
  *
487
  * @param string $url
488
+ * @return bool|array Array of content
489
  */
490
  function get_remote_array($url) {
491
 
products/photocrati_nextgen/modules/ngglegacy/admin/album.php CHANGED
@@ -176,7 +176,7 @@ class nggManageAlbum {
176
  $this->currentID = $_REQUEST['act_album'] = $album->{$album->id_field};
177
  $this->albums[$this->currentID] = $album;
178
  do_action('ngg_add_album', $this->currentID);
179
- nggGallery::show_message(__('Updated Successfully','nggallery'));
180
  }
181
  else {
182
  $this->currentID = $_REQUEST['act_album'] = 0;
@@ -450,6 +450,24 @@ function showDialog() {
450
  jQuery('#editalbum .dialog-cancel').click(function() { jQuery( "#editalbum" ).dialog("close"); });
451
  }
452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
453
  </script>
454
 
455
  <?php if (isset($action_status) && $action_status['message']!='') : ?>
@@ -460,7 +478,9 @@ function showDialog() {
460
 
461
  <div class="wrap album ngg_manage_albums" id="wrap" >
462
 
463
- <div class="ngg_page_content_header"><img src="<?php echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"><h3><?php esc_html_e('Manage Albums', 'nggallery') ?></h3>
 
 
464
  </div>
465
 
466
  <div class='ngg_page_content_main'>
@@ -470,10 +490,11 @@ function showDialog() {
470
  <div class="albumnav tablenav">
471
  <div class="alignleft actions">
472
  <span class="ngg_select_album"><?php esc_html_e('Select album', 'nggallery') ?></span>
473
- <select id="act_album" name="act_album" onchange="this.form.submit();">
474
- <option value="0" ><?php esc_html_e('Create New Album', 'nggallery') ?></option>
475
  <?php
476
- if( is_array($this->albums) ) {
 
477
  foreach($this->albums as $a) {
478
  $selected = ($this->currentID == $a->id) ? 'selected="selected" ' : '';
479
  echo '<option value="' . $a->id . '" ' . $selected . '>' . $a->id . ' - ' . esc_attr( $a->name ) . '</option>'."\n";
@@ -481,19 +502,30 @@ function showDialog() {
481
  }
482
  ?>
483
  </select>
484
- <?php if ($album && $this->currentID){ ?>
485
- <input class="button-primary" type="submit" name="update" value="<?php esc_attr_e('Update', 'nggallery'); ?>"/>
486
- <?php if(nggGallery::current_user_can( 'NextGEN Edit album settings' )) { ?>
487
- <input class="button-primary" type="submit" name="showThickbox" value="<?php esc_attr_e( 'Edit Album', 'nggallery'); ?>" onclick="showDialog(); return false;" />
 
 
 
 
 
 
 
488
  <?php } ?>
489
- <?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?>
490
- <input class="button-primary action "type="submit" name="delete" value="<?php esc_attr_e('Delete', 'nggallery'); ?>" onclick="javascript:check=confirm('<?php echo esc_js('Delete album ?','nggallery'); ?>');if(check==false) return false;"/>
 
 
 
 
491
  <?php } ?>
492
  <?php } else { ?>
493
- <?php if(nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?>
494
- <span><?php esc_html_e('New Album Name', 'nggallery'); ?>&nbsp;</span>
495
- <input class="search-input" id="newalbum" name="newalbum" type="text" value="" />
496
- <input class="button-primary action" type="submit" name="add" value="<?php esc_attr_e('Add', 'nggallery'); ?>"/>
497
  <?php } ?>
498
  <?php } ?>
499
  </div>
@@ -669,7 +701,7 @@ function showDialog() {
669
  *
670
  * @param integer $id (the prefix 'a' indidcates that you look for a album
671
  * @param bool $used (object will be hidden)
672
- * @return string
673
  */
674
  function get_container($id = 0, $used = false) {
675
  global $wpdb, $nggdb;
176
  $this->currentID = $_REQUEST['act_album'] = $album->{$album->id_field};
177
  $this->albums[$this->currentID] = $album;
178
  do_action('ngg_add_album', $this->currentID);
179
+ wp_redirect(admin_url('admin.php?page=nggallery-manage-album&act_album=' . $album->{$album->id_field}));
180
  }
181
  else {
182
  $this->currentID = $_REQUEST['act_album'] = 0;
450
  jQuery('#editalbum .dialog-cancel').click(function() { jQuery( "#editalbum" ).dialog("close"); });
451
  }
452
 
453
+ // Redirect to edit the chosen album when the ngg_select_album field changes
454
+ function ngg_redirect_to_album(album_field) {
455
+ var this_page_url = '<?php print admin_url('admin.php?page=nggallery-manage-album'); ?>';
456
+ var value = jQuery(album_field).val();
457
+ if (value !== 0 && value !== '0') {
458
+ this_page_url += '&act_album=' + value;
459
+ }
460
+ window.location = this_page_url;
461
+ }
462
+
463
+ function ngg_confirm_delete_album(form) {
464
+ var check = confirm('<?php echo esc_js('Delete album ?','nggallery'); ?>');
465
+ if (check) {
466
+ jQuery(form).attr('action', '<?php print admin_url('admin.php?page=nggallery-manage-album'); ?>');
467
+ }
468
+ return check;
469
+ }
470
+
471
  </script>
472
 
473
  <?php if (isset($action_status) && $action_status['message']!='') : ?>
478
 
479
  <div class="wrap album ngg_manage_albums" id="wrap" >
480
 
481
+ <div class="ngg_page_content_header">
482
+ <img src="<?php echo(C_Router::get_instance()->get_static_url('photocrati-nextgen_admin#imagely_icon.png')); ?>"/>
483
+ <h3><?php esc_html_e('Manage Albums', 'nggallery') ?></h3>
484
  </div>
485
 
486
  <div class='ngg_page_content_main'>
490
  <div class="albumnav tablenav">
491
  <div class="alignleft actions">
492
  <span class="ngg_select_album"><?php esc_html_e('Select album', 'nggallery') ?></span>
493
+ <select id="act_album" name="act_album" onchange="ngg_redirect_to_album(this)">
494
+ <option value="0" ><?php esc_html_e('No album selected', 'nggallery') ?></option>
495
  <?php
496
+ if (is_array($this->albums))
497
+ {
498
  foreach($this->albums as $a) {
499
  $selected = ($this->currentID == $a->id) ? 'selected="selected" ' : '';
500
  echo '<option value="' . $a->id . '" ' . $selected . '>' . $a->id . ' - ' . esc_attr( $a->name ) . '</option>'."\n";
502
  }
503
  ?>
504
  </select>
505
+ <?php if ($album && $this->currentID) { ?>
506
+ <input class="button-primary"
507
+ type="submit"
508
+ name="update"
509
+ value="<?php esc_attr_e('Update', 'nggallery'); ?>"/>
510
+ <?php if (nggGallery::current_user_can( 'NextGEN Edit album settings' )) { ?>
511
+ <input class="button-primary"
512
+ type="submit"
513
+ name="showThickbox"
514
+ value="<?php esc_attr_e( 'Edit Album', 'nggallery'); ?>"
515
+ onclick="showDialog(); return false;"/>
516
  <?php } ?>
517
+ <?php if (nggGallery::current_user_can( 'NextGEN Add/Delete album' )) { ?>
518
+ <input class="button-primary action"
519
+ type="submit"
520
+ name="delete"
521
+ value="<?php esc_attr_e('Delete', 'nggallery'); ?>"
522
+ onclick="ngg_confirm_delete_album(this.form);"/>
523
  <?php } ?>
524
  <?php } else { ?>
525
+ <?php if (nggGallery::current_user_can('NextGEN Add/Delete album')) { ?>
526
+ <span><?php esc_html_e('Add new album', 'nggallery'); ?>&nbsp;</span>
527
+ <input class="search-input" id="newalbum" name="newalbum" type="text" value="" />
528
+ <input class="button-primary action" type="submit" name="add" value="<?php esc_attr_e('Add', 'nggallery'); ?>"/>
529
  <?php } ?>
530
  <?php } ?>
531
  </div>
701
  *
702
  * @param integer $id (the prefix 'a' indidcates that you look for a album
703
  * @param bool $used (object will be hidden)
704
+ * @return null|string
705
  */
706
  function get_container($id = 0, $used = false) {
707
  global $wpdb, $nggdb;
products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.css CHANGED
@@ -233,6 +233,12 @@ a.switch-expert {
233
  margin: -10px 0 40px 0;
234
  }
235
 
 
 
 
 
 
 
236
  .gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main {
237
  padding-top: 30px;
238
  }
@@ -1174,7 +1180,6 @@ DIV that shows the image as you drag it
1174
  }
1175
  table#ngg-listimages tr {
1176
  padding: 10px 5px !important;
1177
- border-bottom: ;
1178
  }
1179
  #ngg-listimages thead,
1180
  #ngg-listimages thead th {
233
  margin: -10px 0 40px 0;
234
  }
235
 
236
+ .ngg_admin_notice ul {
237
+ list-style: circle inside;
238
+ margin: 0;
239
+ padding: 0;
240
+ }
241
+
242
  .gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main {
243
  padding-top: 30px;
244
  }
1180
  }
1181
  table#ngg-listimages tr {
1182
  padding: 10px 5px !important;
 
1183
  }
1184
  #ngg-listimages thead,
1185
  #ngg-listimages thead th {
products/photocrati_nextgen/modules/ngglegacy/admin/css/nggadmin.min.css CHANGED
@@ -1 +1 @@
1
- #iframely h2.title{display:none}.toplevel_page_nextgen-gallery #ngg_page_content{width:98%}.toplevel_page_nextgen-gallery #ngg_page_content .about-wrap.ngg_overview{width:100%}.toplevel_page_nextgen-gallery #ngg_page_content .ngg_page_content_main{padding-right:40px!important}#newversion{border-color:#ccc;border-style:solid;border-width:1px;margin-right:7px;margin-top:10px;padding:2px}.ngg-dashboard-widget ul.settings span{padding-left:10px;color:#2583ad;font-weight:700}.ngg-overview .postbox .handlediv{float:right;height:24px;width:24px}#ngg_page_content .ngg_overview .ngg_page_content_header h2{padding-top:2px}#ngg_page_content .ngg_overview .ngg_page_content_main h2{text-align:left;font-size:28px;font-weight:500;color:#444;margin:20px 0}#ngg_page_content .ngg_overview .ngg_page_content_main .about-text{font-size:18px;max-width:none;margin:20px 0}#ngg-gallery-wizard{min-height:auto;position:absolute;top:0;right:0;text-align:right;margin:0 20px 0 0;line-height:80px;color:#fff;font-size:14px;background:rgba(93,134,167,.18);margin-right:0;padding:0 40px;border-left:1px solid #566b7c;color:#a7b8c6}#ngg-gallery-wizard a{font-weight:700;text-decoration:none;margin-left:20px}.warning{color:#9f6000;background-color:#feefb3;border:1px solid;margin:5px 0;padding:5px}#donator_message{margin:5px 0 15px;background-color:#bde5f8;border-color:#00529b;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;border-style:solid;border-width:1px;margin:5px 15px 2px;padding:0 .6em}#donator_message p{line-height:1;margin:.5em 0;padding:2px;padding-bottom:10px}#donator_message span{padding-top:10px;float:right}#plugin_check img{float:right}#plugin_check p.message{font-size:90%;color:#666}.toplevel_page_nextgen-gallery .feature-video iframe{box-shadow:0 0 50px 25px rgba(0,0,0,.03)}div[data-id=pro-link] .feature-section{position:relative;margin:40px 0;padding-bottom:56.25%}div[data-id=pro-link] .feature-section iframe{width:900px;height:506px;max-width:100%;position:absolute;top:0;left:0;width:100%;height:100%}#ngg_page_content .button-primary.ngg-pro-upgrade{text-transform:uppercase;height:50px!important;padding:0 40px!important;line-height:50px;font-weight:600;letter-spacing:.5px}div[data-id=genesis-link] .feature-section,div[data-id=genesis-link] .feature-section .col,div[data-id=videos-link] .feature-section,div[data-id=videos-link] .feature-section .col{padding:0;margin:0}.ngg-admin .ui-dialog{max-width:100%}.ngg-options th{width:22%}a.switch-expert{text-decoration:none}#wm-preview{float:right;font-size:90%;width:35%;border-color:#ebebeb #ccc #ccc #ebebeb;border-style:solid;border-width:1px;margin-bottom:10px;margin-left:10px;margin-right:8px;padding:2px}#wm-preview h3{background:#f9f9f9 none repeat scroll 0;font-size:14px;font-weight:700;margin:0 0 10px;padding:8px 5px}#wm-position{width:100%;margin-left:40px}.wm-table{border-collapse:collapse;margin-top:1em;width:60%;clear:none}.wm-table td{border-bottom:8px solid #fff;line-height:20px;margin-bottom:9px;padding:10px}.wm-table th{border-bottom:8px solid #fff;padding:10px;text-align:left}.wm-table tr{background:#f9f9f9 none repeat scroll 0}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content .notice,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.error,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated{margin:-10px 0 40px 0}.gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main{padding-top:30px}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated#message{margin-bottom:35px}.gallery_page_nggallery-manage-gallery #ngg_page_content>.wrap>h2{display:none}#ngg_page_content .ngg_manage_galleries .tablenav{margin:0 0 30px}#ngg_page_content .ngg_manage_images .handlediv{float:none;width:100%;height:50px}#gallerydiv h3{margin-left:10px;display:inline-block;height:50px;float:left;margin:0;line-height:50px}#gallerydiv span.toggle-indicator{display:inline-block;float:left;line-height:50px}#gallerydiv span.toggle-indicator:before{font-size:24px;margin:12px 20px 0 10px}#gallerydiv span.toggle-indicator:hover{cursor:pointer}#gallerydiv h3:active,#gallerydiv h3:focus,#gallerydiv span.toggle-indicator:active,#gallerydiv span.toggle-indicator:focus{outline:0;border:none;-moz-outline-style:none}#ngg_page_content .ngg_manage_images .tablenav{margin:50px 0 30px}#ngg_page_content .ngg_manage_galleries .tablenav.top>div,#ngg_page_content .ngg_manage_images .tablenav.top>div{margin-bottom:10px}#ngg_page_content .ngg_manage_galleries .search-box{margin-bottom:10px}#ngg_page_content .ngg_manage_galleries .tablenav.bottom{margin:15px 0 0}#ngg_page_content .ngg_manage_images .tablenav.bottom{margin:25px 0 0}.ngg-admin #ngg_page_content .ngg_manage_images td{vertical-align:top}#ngg_page_content .ngg_manage_galleries .tablenav input{height:28px;width:50px;padding:0 3px}#ngg_page_content .ngg_manage_galleries .tablenav input.current-page{width:50px!important}#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages a,#ngg_page_content .ngg_manage_images .tablenav .tablenav-pages a{background:#9fbb1a;border:none;color:#fff!important;margin:0 2px}#ngg_page_content .ngg_manage_images .tablenav input,#ngg_page_content .ngg_manage_images .tablenav select{width:auto}#ngg_page_content .ngg_manage_galleries table{box-shadow:none;border:1px solid rgba(159,187,26,.08)!important}#ngg_page_content .ngg_manage_galleries table tfoot,#ngg_page_content .ngg_manage_galleries table thead{background-color:#38576f}#ngg_page_content .ngg_manage_galleries table tfoot{background-color:#38576f}#ngg_page_content .ngg_manage_galleries table tfoot td,#ngg_page_content .ngg_manage_galleries table tfoot th,#ngg_page_content .ngg_manage_galleries table thead td,#ngg_page_content .ngg_manage_galleries table thead th{background-color:transparent;border:none}#ngg_page_content .ngg_manage_galleries table td,#ngg_page_content .ngg_manage_galleries table th{padding:12px 10px;font-size:14px}#ngg_page_content .ngg_manage_galleries table th{font-weight:700!important;color:#fff}.ngg_manage_galleries th#id{width:33px}.ngg_manage_galleries th#title{min-width:140px}.ngg_manage_galleries td.title{font-weight:700}.ngg_manage_galleries th#author{min-width:80px}.ngg_manage_galleries th#page_id{min-width:60px}#ngg_page_content .ngg_manage_galleries table tr.alternate{background-color:#f7f8f3}#ngg_page_content .ngg_manage_galleries th a{padding:0!important;color:#fff}div#poststuff{min-width:auto}div#poststuff #gallerydiv{cursor:pointer}p#ngg-inlinebutton{float:right;margin:0;position:relative;top:-25pt}#gallery_fields{width:100%}#gallery_fields td{padding:5px;min-width:105px}#gallery_fields tr td:nth-of-type(2){padding-right:60px}#gallery_fields input[type=text],#gallery_fields select,#gallery_fields textarea{min-width:220px;width:99%;color:#888}table#ngg-listimages{border:1px solid #f7f7f7}#ngg-listimages tfoot,#ngg-listimages thead{background:#f5f5f5;background-color:#38576f}#ngg-listimages tfoot{background:#f5f5f5;background-color:#38576f}#ngg-listimages.widefat thead th,.ngg-admin #ngg_page_content .widefat tfoot th{padding:12px 10px!important}#ngg-listimages tr.alternate{background-color:#f7f8f3}#ngg-listimages td{padding:15px 5px!important}#ngg-listimages .iedit,#ngg-listimages .iedit td,#ngg-listimages th{border:none}#ngg-listimages .iedit td,#ngg-listimages th{padding:15px 5px}#ngg-listimages th{font-size:12px;font-weight:700}#ngg-listimages .column select{width:100%!important}#ngg-listimages .column-1 input{margin:0 0 0 8px}#ngg-listimages .column-1{width:24px}#ngg-listimages .column-2{width:30px}#ngg-listimages .column-3{min-width:80px;width:15%}#ngg-listimages .column-3 .thumb{max-height:100%;max-width:100%}#ngg-listimages .column-4{width:15%;max-width:220px}#ngg-listimages .column-4{font-size:12px}#ngg-listimages .column-4 .meta,#ngg-listimages .column-4 label{font-size:10px;color:#888}#ngg-listimages .column-4 label input[type=checkbox]{margin:-2px 4px 0 0}#ngg-listimages .column-5 input[type=text],#ngg-listimages .column-5 textarea,#ngg-listimages .column-6 textarea{width:100%;padding:3px 5px;font-size:12px;color:#888;border:1px solid #eee;margin:1px 0;box-shadow:none}#ngg-listimages .column-5 input[type=text]{height:25px}#ngg-listimages .column-5 textarea{height:70px}#ngg-listimages .column-6 textarea{height:97px}#ngg-listimages .column-7 select{font-size:12px;height:25px!important}#ngg-listimages .row-actions{padding:0 0 6px 4px;margin-bottom:-2px;position:relative;bottom:4px;left:0;right:0}#ngg-listimages .row_actions,#ngg-listimages .row_actions td{border-top:none;padding:0!important}#ngg-listimages .row-actions a{font-size:12px}#ngg-listimages ul.imagify-datas-list .big{color:#9fbb1a}#ngg-listimages .imagify-datas-more-action a{background:#9fbb1a;color:#fff}.gallery_page_nggallery-manage-gallery .ui-dialog{border:none;padding:0;width:80%!important;z-index:10000!important;left:10%!important}.gallery_page_nggallery-manage-album .ui-dialog{border:none;padding:0;z-index:10000!important;width:650px!important;max-width:98%!important}.gallery_page_nggallery-manage-album .ui-dialog .button-primary,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button,.gallery_page_nggallery-manage-gallery .ui-dialog .button-primary,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery .ui-dialog button{background-color:#9fbb1a!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important;margin-right:10px}.gallery_page_nggallery-manage-album .ui-dialog .button-primary:hover,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery .ui-dialog button:hover .gallery_page_nggallery-manage-gallery .ui-dialog .button-primary:hover{background-color:#a9c524!important}.gallery_page_nggallery-manage-album .ui-dialog-titlebar,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar{background:#143650;padding:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button{background:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:24px!important;width:24px!important;padding:0!important;line-height:1;float:none;margin-right:0;border-radius:50%;top:17px;right:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:hover{background:#fff!important}.gallery_page_nggallery-manage-album .ui-dialog .ngg-overlay-dialog,.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 20px;box-sizing:border-box;width:100%!important}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog table{border:none}.gallery_page_nggallery-manage-album .ngg-overlay-dialog #ngg-overlay-dialog-main,.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #ngg-overlay-dialog-main{width:70%;padding:20px 20px 0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog td small{margin-left:10px;display:block;text-align:center;width:200px;margin:0 auto 20px}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom{text-align:center;padding:30px 0 0 0}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom input[type=button]{float:none;margin-right:0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #thumbMsg{color:#693;display:none;font-size:11px;width:100%;display:inline-block;height:35px;line-height:35px;margin:10px 0}.gallery_page_nggallery-manage-gallery .ui-dialog form{margin-top:30px;margin-left:30px}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:focus{border:1px solid #b4b9be;box-shadow:none}.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{color:#9fbb1a}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:checked:before{background:#9fbb1a;width:14px;height:14px;margin:0}div .progressborder{border:1px solid #ddd;display:block;height:30px;background-color:#464646;width:100%;margin-top:15px;margin-bottom:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar{border:medium none;display:block;height:30px;background-color:#9fbb1a;width:0%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar span{display:inline;position:absolute;color:#fff;font-weight:700;padding:5px 0 0 5px}.show_details{height:16px;line-height:20px;overflow:hidden;min-width:8em;padding:3px;cursor:pointer}.show_details span{border-bottom:1px solid #999;white-space:pre}.show_details:hover{height:auto;overflow:visible;border:1px solid #999}.gallery_page_nggallery-manage-album #ngg_page_content .wrap{background:#f1f1f1}.gallery_page_nggallery-manage-album .wrap>h2:first-child{display:none}.gallery_page_nggallery-manage-album #ngg_page_content div.updated{margin:0 0 15px 0}.gallery_page_nggallery-manage-album #ngg_page_content div.updated#message{margin-bottom:35px}.ngg_manage_albums{color:#777}.ngg_manage_albums .widget{box-sizing:border-box;border:1px solid #eee;padding:10px 10px 20px;background:#f7f8f3;width:32%;margin:0 1% 0 0;float:left}.ngg_manage_albums .target-album{width:39%}.ngg_manage_albums .widget.widget-right{width:29%}.container{margin-top:10px}.ngg_select_album{margin:0 50px 0 2px}.albumnav select[name=act_album]{width:150px}#editalbum select[name=pageid]{width:95%}#ngg_page_content .ngg_manage_albums .widget-top{box-shadow:none;background:0 0;border:none;margin-bottom:5px}div .groupItem{cursor:move;padding:2px;line-height:1.5;width:100%;margin:0;box-sizing:border-box}div .innerhandle{background-color:#fbfbfb}.groupItem .item_top{background-color:#9fbb1a;color:#fff;font-weight:700;line-height:28px;height:28px;padding:0 5px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;height:40px;padding:0 10px;line-height:40px}#ngg_page_content .groupItem .album_obj{background-color:#38576f}#ngg_page_content .groupItem .item_top a{color:#fff;float:right;text-decoration:none}.groupItem .item_top a:hover{color:#fff}.itemContent{border-color:#dfdfdf;border-style:none solid solid;border-width:0 1px 1px;padding:2px 0 20px 2px}.itemContent p{border:0;margin:0;padding:0}.inlinepicture{float:left;display:inline;margin:0;padding:0 3px 1px}.inlinepicture img{margin:3px;max-height:60px}.sort_placeholder{border:1px dashed #bba!important;margin:5px;background:#f9f9f9}.widget-holder{min-height:400px;padding-top:1px}.target{background-color:transparent}div.widget-top h3{text-align:center;line-height:25px;margin:0;padding:5px 12px;font-size:13px}div.widget-top{text-shadow:0 1px 0 #fff;background-repeat:repeat-x;background-position:0 0;font-size:13px}.ui-autocomplete-start{background-position:99% center}#ngg_page_content .ngg_gallery_sort .tablenav{margin:15px 0}#ngg_page_content .ngg_gallery_sort ul.subsubsub{margin:10px 0 15px}#ngg_page_content .ngg_gallery_sort .imageBox_theImage{width:auto}#sortGallery{position:relative}p#sortButton{margin:0;position:absolute;right:0;top:0}.imageBox,.imageBoxHighlighted{width:130px;height:160px;float:left;overflow:hidden;text-overflow:ellipsis;padding:5px}.imageBox_theImage{width:110px;height:125px;background-position:center;background-repeat:no-repeat;margin:0 auto;margin-bottom:2px}.imageBox_label{text-align:center;font-family:arial;font-size:11px;padding-top:2px;margin:0 auto}#insertionMarker{height:150px;width:6px;position:absolute}#insertionMarkerLine{width:6px;height:145px}#insertionMarker img{float:left}#dragDropContent{opacity:.4;position:absolute;z-index:10;display:none}.error_inline{background:#ffebe8 none repeat scroll 0;border:1px solid #c00;margin:5px auto;padding:10px}.ngg-list{font-size:11px;margin-left:15px;list-style-position:inside;list-style-type:disc}#ngg-manage-images-items-per-page-label{float:right;line-height:35px;margin-right:5px}#ngg-manage-images-items-per-page{float:right;margin-right:30px}@media (max-width:1200px){div[data-id=details-link] .two-col .col{width:100%;min-width:100%}}@media (max-width:1080px){#ngg-gallery-wizard>span{display:none}}@media (max-width:1024px){.ngg_manage_galleries .search-form{display:none}.ngg_manage_galleries .tablenav.bottom{display:none}.ngg_manage_images #gallery_fields td:nth-of-type(even){margin-bottom:8px}.ngg_manage_images #gallery_fields td:nth-of-type(odd){background:#f7f8f3}.ngg_manage_images #gallery_fields,.ngg_manage_images #gallery_fields tbody,.ngg_manage_images #gallery_fields td,.ngg_manage_images #gallery_fields tr{display:block;width:100%;box-sizing:border-box}.ngg_manage_images #gallery_fields td{padding:10px 5px;border:1px solid #f7f8f3;margin:0}}@media (max-width:900px){.ngg_manage_galleries tfoot{display:none}.ngg_manage_galleries .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}.ngg_manage_galleries td.author,.ngg_manage_galleries td.id,.ngg_manage_galleries td.page_id,.ngg_manage_galleries th#author,.ngg_manage_galleries th#id,.ngg_manage_galleries th#page_id{display:none!important}#ngg-listimages td.column.column-2,#ngg-listimages td.column.column-6,#ngg-listimages td.column.column-8,#ngg-listimages tfoot,#ngg-listimages thead .column-1,#ngg-listimages thead .column-2,#ngg-listimages thead .column-4,#ngg-listimages thead .column-5,#ngg-listimages thead .column-6,#ngg-listimages thead .column-7,#ngg-listimages thead .column-8{display:none}#ngg-listimages .column-3{min-width:200px}table#ngg-listimages,table#ngg-listimages thead{display:block}#ngg-listimages .iedit td{padding-bottom:30px!important}}@media (max-width:800px){table#ngg-listimages,table#ngg-listimages tbody,table#ngg-listimages td,table#ngg-listimages tr{display:block}table#ngg-listimages tr{padding:10px 5px!important}#ngg-listimages thead,#ngg-listimages thead th{display:block;width:100%;box-sizing:border-box}#ngg-listimages .row_actions td:first-of-type{display:none}#ngg-listimages tfoot{display:none}#ngg-listimages .row_actions{display:none;display:block;clear:both;padding:0 8px 10px!important;border-bottom:1px solid #c1c97c}.ngg-listimages tr.iedit td{display:block!important;float:left;box-sizing:border-box;padding-bottom:10px!important}#ngg-listimages td.column-1,#ngg-listimages td.column-2{width:10%!important;height:150px;float:left;box-sizing:border-box;display:none}#ngg-listimages td.column-3{width:55%;max-width:300px;float:left;box-sizing:border-box;padding-bottom:10px!important}#ngg-listimages td.column-4{width:40%!important;float:left;box-sizing:border-box}#ngg-listimages td.column-5,#ngg-listimages td.column-6,#ngg-listimages td.column-7{padding:0 5px!important}#ngg-listimages td.column-6{margin-top:-5px;margin-bottom:-8px}.ngg-listimages td.column-7{padding-bottom:15px}#ngg-manage-images-items-per-page,#ngg-manage-images-items-per-page-label{display:none}#ngg-listimages .column-6 textarea{height:60px}.ngg_manage_images .tablenav.bottom .displaying-num{display:none}}@media (max-width:782px){#ngg-gallery-wizard{display:none}}@media (max-width:737px){.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{font-size:22px}.ngg-overlay-dialog input[type=radio]{height:16px;width:16px}#ngg-gallery-wizard{display:none}}@media (max-width:640px){.ngg_manage_galleries td.description,.ngg_manage_galleries th#description{display:none!important}.ngg_manage_albums .tablenav .actions{width:100%;float:none}.ngg_manage_albums .tablenav span{display:block}.ngg_manage_albums .target-album,.ngg_manage_albums .widget.widget-right{width:32%;margin:.5%!important;padding:5px 5px 10px}.groupItem .item_top{height:auto!important;line-height:1.5;padding:8px;font-size:12px}#ngg_page_content .groupItem .item_top a{display:none}.ngg_manage_albums div[style="float:right;"]{float:none!important}.gallery_page_nggallery-manage-gallery .ui-dialog{width:95%!important;left:2.5%!important}.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 10px}.ngg-overlay-dialog td{display:block;width:100%!important;padding:0!important}.ngg-overlay-dialog input[type=radio]{margin:2px 5px;height:16px;width:16px}}
1
+ #iframely h2.title{display:none}.toplevel_page_nextgen-gallery #ngg_page_content{width:98%}.toplevel_page_nextgen-gallery #ngg_page_content .about-wrap.ngg_overview{width:100%}.toplevel_page_nextgen-gallery #ngg_page_content .ngg_page_content_main{padding-right:40px!important}#newversion{border-color:#ccc;border-style:solid;border-width:1px;margin-right:7px;margin-top:10px;padding:2px}.ngg-dashboard-widget ul.settings span{padding-left:10px;color:#2583ad;font-weight:700}.ngg-overview .postbox .handlediv{float:right;height:24px;width:24px}#ngg_page_content .ngg_overview .ngg_page_content_header h2{padding-top:2px}#ngg_page_content .ngg_overview .ngg_page_content_main h2{text-align:left;font-size:28px;font-weight:500;color:#444;margin:20px 0}#ngg_page_content .ngg_overview .ngg_page_content_main .about-text{font-size:18px;max-width:none;margin:20px 0}#ngg-gallery-wizard{min-height:auto;position:absolute;top:0;right:0;text-align:right;margin:0 20px 0 0;line-height:80px;color:#fff;font-size:14px;background:rgba(93,134,167,.18);margin-right:0;padding:0 40px;border-left:1px solid #566b7c;color:#a7b8c6}#ngg-gallery-wizard a{font-weight:700;text-decoration:none;margin-left:20px}.warning{color:#9f6000;background-color:#feefb3;border:1px solid;margin:5px 0;padding:5px}#donator_message{margin:5px 0 15px;background-color:#bde5f8;border-color:#00529b;-moz-border-radius-bottomleft:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;border-style:solid;border-width:1px;margin:5px 15px 2px;padding:0 .6em}#donator_message p{line-height:1;margin:.5em 0;padding:2px;padding-bottom:10px}#donator_message span{padding-top:10px;float:right}#plugin_check img{float:right}#plugin_check p.message{font-size:90%;color:#666}.toplevel_page_nextgen-gallery .feature-video iframe{box-shadow:0 0 50px 25px rgba(0,0,0,.03)}div[data-id=pro-link] .feature-section{position:relative;margin:40px 0;padding-bottom:56.25%}div[data-id=pro-link] .feature-section iframe{width:900px;height:506px;max-width:100%;position:absolute;top:0;left:0;width:100%;height:100%}#ngg_page_content .button-primary.ngg-pro-upgrade{text-transform:uppercase;height:50px!important;padding:0 40px!important;line-height:50px;font-weight:600;letter-spacing:.5px}div[data-id=genesis-link] .feature-section,div[data-id=genesis-link] .feature-section .col,div[data-id=videos-link] .feature-section,div[data-id=videos-link] .feature-section .col{padding:0;margin:0}.ngg-admin .ui-dialog{max-width:100%}.ngg-options th{width:22%}a.switch-expert{text-decoration:none}#wm-preview{float:right;font-size:90%;width:35%;border-color:#ebebeb #ccc #ccc #ebebeb;border-style:solid;border-width:1px;margin-bottom:10px;margin-left:10px;margin-right:8px;padding:2px}#wm-preview h3{background:#f9f9f9 none repeat scroll 0;font-size:14px;font-weight:700;margin:0 0 10px;padding:8px 5px}#wm-position{width:100%;margin-left:40px}.wm-table{border-collapse:collapse;margin-top:1em;width:60%;clear:none}.wm-table td{border-bottom:8px solid #fff;line-height:20px;margin-bottom:9px;padding:10px}.wm-table th{border-bottom:8px solid #fff;padding:10px;text-align:left}.wm-table tr{background:#f9f9f9 none repeat scroll 0}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content .notice,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.error,.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated{margin:-10px 0 40px 0}.ngg_admin_notice ul{list-style:circle inside;margin:0;padding:0}.gallery_page_nggallery-manage-gallery #ngg_page_content .ngg_page_content_main{padding-top:30px}.ngg-admin.gallery_page_nggallery-manage-gallery #ngg_page_content div.updated#message{margin-bottom:35px}.gallery_page_nggallery-manage-gallery #ngg_page_content>.wrap>h2{display:none}#ngg_page_content .ngg_manage_galleries .tablenav{margin:0 0 30px}#ngg_page_content .ngg_manage_images .handlediv{float:none;width:100%;height:50px}#gallerydiv h3{margin-left:10px;display:inline-block;height:50px;float:left;margin:0;line-height:50px}#gallerydiv span.toggle-indicator{display:inline-block;float:left;line-height:50px}#gallerydiv span.toggle-indicator:before{font-size:24px;margin:12px 20px 0 10px}#gallerydiv span.toggle-indicator:hover{cursor:pointer}#gallerydiv h3:active,#gallerydiv h3:focus,#gallerydiv span.toggle-indicator:active,#gallerydiv span.toggle-indicator:focus{outline:0;border:none;-moz-outline-style:none}#ngg_page_content .ngg_manage_images .tablenav{margin:50px 0 30px}#ngg_page_content .ngg_manage_galleries .tablenav.top>div,#ngg_page_content .ngg_manage_images .tablenav.top>div{margin-bottom:10px}#ngg_page_content .ngg_manage_galleries .search-box{margin-bottom:10px}#ngg_page_content .ngg_manage_galleries .tablenav.bottom{margin:15px 0 0}#ngg_page_content .ngg_manage_images .tablenav.bottom{margin:25px 0 0}.ngg-admin #ngg_page_content .ngg_manage_images td{vertical-align:top}#ngg_page_content .ngg_manage_galleries .tablenav input{height:28px;width:50px;padding:0 3px}#ngg_page_content .ngg_manage_galleries .tablenav input.current-page{width:50px!important}#ngg_page_content .ngg_manage_galleries .tablenav .tablenav-pages a,#ngg_page_content .ngg_manage_images .tablenav .tablenav-pages a{background:#9fbb1a;border:none;color:#fff!important;margin:0 2px}#ngg_page_content .ngg_manage_images .tablenav input,#ngg_page_content .ngg_manage_images .tablenav select{width:auto}#ngg_page_content .ngg_manage_galleries table{box-shadow:none;border:1px solid rgba(159,187,26,.08)!important}#ngg_page_content .ngg_manage_galleries table tfoot,#ngg_page_content .ngg_manage_galleries table thead{background-color:#38576f}#ngg_page_content .ngg_manage_galleries table tfoot{background-color:#38576f}#ngg_page_content .ngg_manage_galleries table tfoot td,#ngg_page_content .ngg_manage_galleries table tfoot th,#ngg_page_content .ngg_manage_galleries table thead td,#ngg_page_content .ngg_manage_galleries table thead th{background-color:transparent;border:none}#ngg_page_content .ngg_manage_galleries table td,#ngg_page_content .ngg_manage_galleries table th{padding:12px 10px;font-size:14px}#ngg_page_content .ngg_manage_galleries table th{font-weight:700!important;color:#fff}.ngg_manage_galleries th#id{width:33px}.ngg_manage_galleries th#title{min-width:140px}.ngg_manage_galleries td.title{font-weight:700}.ngg_manage_galleries th#author{min-width:80px}.ngg_manage_galleries th#page_id{min-width:60px}#ngg_page_content .ngg_manage_galleries table tr.alternate{background-color:#f7f8f3}#ngg_page_content .ngg_manage_galleries th a{padding:0!important;color:#fff}div#poststuff{min-width:auto}div#poststuff #gallerydiv{cursor:pointer}p#ngg-inlinebutton{float:right;margin:0;position:relative;top:-25pt}#gallery_fields{width:100%}#gallery_fields td{padding:5px;min-width:105px}#gallery_fields tr td:nth-of-type(2){padding-right:60px}#gallery_fields input[type=text],#gallery_fields select,#gallery_fields textarea{min-width:220px;width:99%;color:#888}table#ngg-listimages{border:1px solid #f7f7f7}#ngg-listimages tfoot,#ngg-listimages thead{background:#f5f5f5;background-color:#38576f}#ngg-listimages tfoot{background:#f5f5f5;background-color:#38576f}#ngg-listimages.widefat thead th,.ngg-admin #ngg_page_content .widefat tfoot th{padding:12px 10px!important}#ngg-listimages tr.alternate{background-color:#f7f8f3}#ngg-listimages td{padding:15px 5px!important}#ngg-listimages .iedit,#ngg-listimages .iedit td,#ngg-listimages th{border:none}#ngg-listimages .iedit td,#ngg-listimages th{padding:15px 5px}#ngg-listimages th{font-size:12px;font-weight:700}#ngg-listimages .column select{width:100%!important}#ngg-listimages .column-1 input{margin:0 0 0 8px}#ngg-listimages .column-1{width:24px}#ngg-listimages .column-2{width:30px}#ngg-listimages .column-3{min-width:80px;width:15%}#ngg-listimages .column-3 .thumb{max-height:100%;max-width:100%}#ngg-listimages .column-4{width:15%;max-width:220px}#ngg-listimages .column-4{font-size:12px}#ngg-listimages .column-4 .meta,#ngg-listimages .column-4 label{font-size:10px;color:#888}#ngg-listimages .column-4 label input[type=checkbox]{margin:-2px 4px 0 0}#ngg-listimages .column-5 input[type=text],#ngg-listimages .column-5 textarea,#ngg-listimages .column-6 textarea{width:100%;padding:3px 5px;font-size:12px;color:#888;border:1px solid #eee;margin:1px 0;box-shadow:none}#ngg-listimages .column-5 input[type=text]{height:25px}#ngg-listimages .column-5 textarea{height:70px}#ngg-listimages .column-6 textarea{height:97px}#ngg-listimages .column-7 select{font-size:12px;height:25px!important}#ngg-listimages .row-actions{padding:0 0 6px 4px;margin-bottom:-2px;position:relative;bottom:4px;left:0;right:0}#ngg-listimages .row_actions,#ngg-listimages .row_actions td{border-top:none;padding:0!important}#ngg-listimages .row-actions a{font-size:12px}#ngg-listimages ul.imagify-datas-list .big{color:#9fbb1a}#ngg-listimages .imagify-datas-more-action a{background:#9fbb1a;color:#fff}.gallery_page_nggallery-manage-gallery .ui-dialog{border:none;padding:0;width:80%!important;z-index:10000!important;left:10%!important}.gallery_page_nggallery-manage-album .ui-dialog{border:none;padding:0;z-index:10000!important;width:650px!important;max-width:98%!important}.gallery_page_nggallery-manage-album .ui-dialog .button-primary,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button,.gallery_page_nggallery-manage-gallery .ui-dialog .button-primary,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary,.gallery_page_nggallery-manage-gallery .ui-dialog button{background-color:#9fbb1a!important;color:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:35px!important;padding:0 15px!important;line-height:35px;width:auto!important;margin-right:10px}.gallery_page_nggallery-manage-album .ui-dialog .button-primary:hover,.gallery_page_nggallery-manage-album .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-primary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom .button-secondary:hover,.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog .button-secondary:hover,.gallery_page_nggallery-manage-gallery .ui-dialog button:hover .gallery_page_nggallery-manage-gallery .ui-dialog .button-primary:hover{background-color:#a9c524!important}.gallery_page_nggallery-manage-album .ui-dialog-titlebar,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar{background:#143650;padding:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button{background:#fff!important;border:none!important;box-shadow:none!important;text-shadow:none!important;height:24px!important;width:24px!important;padding:0!important;line-height:1;float:none;margin-right:0;border-radius:50%;top:17px;right:10px}.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-album .ui-dialog-titlebar button:hover,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:active,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:focus,.gallery_page_nggallery-manage-gallery .ui-dialog-titlebar button:hover{background:#fff!important}.gallery_page_nggallery-manage-album .ui-dialog .ngg-overlay-dialog,.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 20px;box-sizing:border-box;width:100%!important}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog table{border:none}.gallery_page_nggallery-manage-album .ngg-overlay-dialog #ngg-overlay-dialog-main,.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #ngg-overlay-dialog-main{width:70%;padding:20px 20px 0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog td small{margin-left:10px;display:block;text-align:center;width:200px;margin:0 auto 20px}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom{text-align:center;padding:30px 0 0 0}.gallery_page_nggallery-manage-gallery #ngg-overlay-dialog-bottom input[type=button]{float:none;margin-right:0}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog #thumbMsg{color:#693;display:none;font-size:11px;width:100%;display:inline-block;height:35px;line-height:35px;margin:10px 0}.gallery_page_nggallery-manage-gallery .ui-dialog form{margin-top:30px;margin-left:30px}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:focus{border:1px solid #b4b9be;box-shadow:none}.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{color:#9fbb1a}.gallery_page_nggallery-manage-gallery .ngg-overlay-dialog input[type=radio]:checked:before{background:#9fbb1a;width:14px;height:14px;margin:0}div .progressborder{border:1px solid #ddd;display:block;height:30px;background-color:#464646;width:100%;margin-top:15px;margin-bottom:15px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar{border:medium none;display:block;height:30px;background-color:#9fbb1a;width:0%;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}div .progressbar span{display:inline;position:absolute;color:#fff;font-weight:700;padding:5px 0 0 5px}.show_details{height:16px;line-height:20px;overflow:hidden;min-width:8em;padding:3px;cursor:pointer}.show_details span{border-bottom:1px solid #999;white-space:pre}.show_details:hover{height:auto;overflow:visible;border:1px solid #999}.gallery_page_nggallery-manage-album #ngg_page_content .wrap{background:#f1f1f1}.gallery_page_nggallery-manage-album .wrap>h2:first-child{display:none}.gallery_page_nggallery-manage-album #ngg_page_content div.updated{margin:0 0 15px 0}.gallery_page_nggallery-manage-album #ngg_page_content div.updated#message{margin-bottom:35px}.ngg_manage_albums{color:#777}.ngg_manage_albums .widget{box-sizing:border-box;border:1px solid #eee;padding:10px 10px 20px;background:#f7f8f3;width:32%;margin:0 1% 0 0;float:left}.ngg_manage_albums .target-album{width:39%}.ngg_manage_albums .widget.widget-right{width:29%}.container{margin-top:10px}.ngg_select_album{margin:0 50px 0 2px}.albumnav select[name=act_album]{width:150px}#editalbum select[name=pageid]{width:95%}#ngg_page_content .ngg_manage_albums .widget-top{box-shadow:none;background:0 0;border:none;margin-bottom:5px}div .groupItem{cursor:move;padding:2px;line-height:1.5;width:100%;margin:0;box-sizing:border-box}div .innerhandle{background-color:#fbfbfb}.groupItem .item_top{background-color:#9fbb1a;color:#fff;font-weight:700;line-height:28px;height:28px;padding:0 5px;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;height:40px;padding:0 10px;line-height:40px}#ngg_page_content .groupItem .album_obj{background-color:#38576f}#ngg_page_content .groupItem .item_top a{color:#fff;float:right;text-decoration:none}.groupItem .item_top a:hover{color:#fff}.itemContent{border-color:#dfdfdf;border-style:none solid solid;border-width:0 1px 1px;padding:2px 0 20px 2px}.itemContent p{border:0;margin:0;padding:0}.inlinepicture{float:left;display:inline;margin:0;padding:0 3px 1px}.inlinepicture img{margin:3px;max-height:60px}.sort_placeholder{border:1px dashed #bba!important;margin:5px;background:#f9f9f9}.widget-holder{min-height:400px;padding-top:1px}.target{background-color:transparent}div.widget-top h3{text-align:center;line-height:25px;margin:0;padding:5px 12px;font-size:13px}div.widget-top{text-shadow:0 1px 0 #fff;background-repeat:repeat-x;background-position:0 0;font-size:13px}.ui-autocomplete-start{background-position:99% center}#ngg_page_content .ngg_gallery_sort .tablenav{margin:15px 0}#ngg_page_content .ngg_gallery_sort ul.subsubsub{margin:10px 0 15px}#ngg_page_content .ngg_gallery_sort .imageBox_theImage{width:auto}#sortGallery{position:relative}p#sortButton{margin:0;position:absolute;right:0;top:0}.imageBox,.imageBoxHighlighted{width:130px;height:160px;float:left;overflow:hidden;text-overflow:ellipsis;padding:5px}.imageBox_theImage{width:110px;height:125px;background-position:center;background-repeat:no-repeat;margin:0 auto;margin-bottom:2px}.imageBox_label{text-align:center;font-family:arial;font-size:11px;padding-top:2px;margin:0 auto}#insertionMarker{height:150px;width:6px;position:absolute}#insertionMarkerLine{width:6px;height:145px}#insertionMarker img{float:left}#dragDropContent{opacity:.4;position:absolute;z-index:10;display:none}.error_inline{background:#ffebe8 none repeat scroll 0;border:1px solid #c00;margin:5px auto;padding:10px}.ngg-list{font-size:11px;margin-left:15px;list-style-position:inside;list-style-type:disc}#ngg-manage-images-items-per-page-label{float:right;line-height:35px;margin-right:5px}#ngg-manage-images-items-per-page{float:right;margin-right:30px}@media (max-width:1200px){div[data-id=details-link] .two-col .col{width:100%;min-width:100%}}@media (max-width:1080px){#ngg-gallery-wizard>span{display:none}}@media (max-width:1024px){.ngg_manage_galleries .search-form{display:none}.ngg_manage_galleries .tablenav.bottom{display:none}.ngg_manage_images #gallery_fields td:nth-of-type(even){margin-bottom:8px}.ngg_manage_images #gallery_fields td:nth-of-type(odd){background:#f7f8f3}.ngg_manage_images #gallery_fields,.ngg_manage_images #gallery_fields tbody,.ngg_manage_images #gallery_fields td,.ngg_manage_images #gallery_fields tr{display:block;width:100%;box-sizing:border-box}.ngg_manage_images #gallery_fields td{padding:10px 5px;border:1px solid #f7f8f3;margin:0}}@media (max-width:900px){.ngg_manage_galleries tfoot{display:none}.ngg_manage_galleries .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}.ngg_manage_galleries td.author,.ngg_manage_galleries td.id,.ngg_manage_galleries td.page_id,.ngg_manage_galleries th#author,.ngg_manage_galleries th#id,.ngg_manage_galleries th#page_id{display:none!important}#ngg-listimages td.column.column-2,#ngg-listimages td.column.column-6,#ngg-listimages td.column.column-8,#ngg-listimages tfoot,#ngg-listimages thead .column-1,#ngg-listimages thead .column-2,#ngg-listimages thead .column-4,#ngg-listimages thead .column-5,#ngg-listimages thead .column-6,#ngg-listimages thead .column-7,#ngg-listimages thead .column-8{display:none}#ngg-listimages .column-3{min-width:200px}table#ngg-listimages,table#ngg-listimages thead{display:block}#ngg-listimages .iedit td{padding-bottom:30px!important}}@media (max-width:800px){table#ngg-listimages,table#ngg-listimages tbody,table#ngg-listimages td,table#ngg-listimages tr{display:block}table#ngg-listimages tr{padding:10px 5px!important}#ngg-listimages thead,#ngg-listimages thead th{display:block;width:100%;box-sizing:border-box}#ngg-listimages .row_actions td:first-of-type{display:none}#ngg-listimages tfoot{display:none}#ngg-listimages .row_actions{display:none;display:block;clear:both;padding:0 8px 10px!important;border-bottom:1px solid #c1c97c}.ngg-listimages tr.iedit td{display:block!important;float:left;box-sizing:border-box;padding-bottom:10px!important}#ngg-listimages td.column-1,#ngg-listimages td.column-2{width:10%!important;height:150px;float:left;box-sizing:border-box;display:none}#ngg-listimages td.column-3{width:55%;max-width:300px;float:left;box-sizing:border-box;padding-bottom:10px!important}#ngg-listimages td.column-4{width:40%!important;float:left;box-sizing:border-box}#ngg-listimages td.column-5,#ngg-listimages td.column-6,#ngg-listimages td.column-7{padding:0 5px!important}#ngg-listimages td.column-6{margin-top:-5px;margin-bottom:-8px}.ngg-listimages td.column-7{padding-bottom:15px}#ngg-manage-images-items-per-page,#ngg-manage-images-items-per-page-label{display:none}#ngg-listimages .column-6 textarea{height:60px}.ngg_manage_images .tablenav.bottom .displaying-num{display:none}}@media (max-width:782px){#ngg-gallery-wizard{display:none}}@media (max-width:737px){.gallery_page_nggallery-manage-gallery input[type=checkbox]:checked:before{font-size:22px}.ngg-overlay-dialog input[type=radio]{height:16px;width:16px}#ngg-gallery-wizard{display:none}}@media (max-width:640px){.ngg_manage_galleries td.description,.ngg_manage_galleries th#description{display:none!important}.ngg_manage_albums .tablenav .actions{width:100%;float:none}.ngg_manage_albums .tablenav span{display:block}.ngg_manage_albums .target-album,.ngg_manage_albums .widget.widget-right{width:32%;margin:.5%!important;padding:5px 5px 10px}.groupItem .item_top{height:auto!important;line-height:1.5;padding:8px;font-size:12px}#ngg_page_content .groupItem .item_top a{display:none}.ngg_manage_albums div[style="float:right;"]{float:none!important}.gallery_page_nggallery-manage-gallery .ui-dialog{width:95%!important;left:2.5%!important}.gallery_page_nggallery-manage-gallery .ui-dialog .ngg-overlay-dialog{padding:30px 10px}.ngg-overlay-dialog td{display:block;width:100%!important;padding:0!important}.ngg-overlay-dialog input[type=radio]{margin:2px 5px;height:16px;width:16px}}
products/photocrati_nextgen/modules/ngglegacy/admin/functions.php CHANGED
@@ -16,10 +16,10 @@ class nggAdmin{
16
  * create a new gallery & folder
17
  *
18
  * @class nggAdmin
19
- * @param string $name of the gallery
20
  * @param string $defaultpath
21
  * @param bool $output if the function should show an error messsage or not
22
- * @return
23
  */
24
  static function create_gallery($title, $defaultpath, $output = true) {
25
 
@@ -161,7 +161,7 @@ class nggAdmin{
161
  * nggAdmin::createThumbnail() - function to create or recreate a thumbnail
162
  *
163
  * @class nggAdmin
164
- * @param object | int $image contain all information about the image or the id
165
  * @return string result code
166
  * @since v1.0.0
167
  */
@@ -195,7 +195,7 @@ class nggAdmin{
195
  * nggAdmin::resize_image() - create a new image, based on the height /width
196
  *
197
  * @class nggAdmin
198
- * @param object | int $image contain all information about the image or the id
199
  * @param integer $width optional
200
  * @param integer $height optional
201
  * @return string result code
@@ -248,8 +248,8 @@ class nggAdmin{
248
  * Rotated/Flip an image based on the orientation flag or a definded angle
249
  *
250
  * @param int|object $image
251
- * @param string (optional) $dir, CW (clockwise)or CCW (counter clockwise), if set to false, the exif flag will be used
252
- * @param string (optional) $flip, could be either false | V (flip vertical) | H (flip horizontal)
253
  * @return string result code
254
  */
255
  static function rotate_image($image, $dir = false, $flip = false)
@@ -330,7 +330,7 @@ class nggAdmin{
330
  * nggAdmin::set_watermark() - set the watermark for the image
331
  *
332
  * @class nggAdmin
333
- * @param object | int $image contain all information about the image or the id
334
  * @return string result code
335
  */
336
  static function set_watermark($image) {
@@ -365,12 +365,11 @@ class nggAdmin{
365
  *
366
  * @class nggAdmin
367
  * @since 1.5.0
368
- * @param object | int $image contain all information about the image or the id
369
  * @return string result code
370
  */
371
-
372
- static function recover_image($image) {
373
-
374
  return C_Gallery_Storage::get_instance()->recover_image($image);
375
  }
376
 
@@ -516,7 +515,7 @@ class nggAdmin{
516
  *
517
  * @class nggAdmin
518
  * @require NextGEN Meta class
519
- * @param int $id image ID
520
  * @return array metadata
521
  */
522
  static function get_MetaData($image_or_id) {
@@ -545,11 +544,11 @@ class nggAdmin{
545
  * and if based on compat reason (pre V1.4.0) we save then some meta datas to the database
546
  *
547
  * @since V1.4.0
548
- * @param int $id
549
- * @return result
550
  */
551
- function maybe_import_meta( $image_or_id ) {
552
-
553
  require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
554
  $id = is_int($image_or_id) ? $image_or_id : $image_or_id->{$image_or_id->id_field};
555
  $meta_obj = new nggMeta( $image_or_id );
@@ -563,7 +562,6 @@ class nggAdmin{
563
  return false;
564
 
565
  return $result;
566
-
567
  }
568
 
569
  /**
@@ -766,7 +764,7 @@ class nggAdmin{
766
  *
767
  * @class nggAdmin
768
  * @param int $galleryID
769
- * @return arry (JSON)
770
  */
771
  static function get_image_ids( $galleryID ) {
772
 
16
  * create a new gallery & folder
17
  *
18
  * @class nggAdmin
19
+ * @param string $title Name of the gallery
20
  * @param string $defaultpath
21
  * @param bool $output if the function should show an error messsage or not
22
+ * @return bool|int
23
  */
24
  static function create_gallery($title, $defaultpath, $output = true) {
25
 
161
  * nggAdmin::createThumbnail() - function to create or recreate a thumbnail
162
  *
163
  * @class nggAdmin
164
+ * @param object|int $image Contain all information about the image or the id
165
  * @return string result code
166
  * @since v1.0.0
167
  */
195
  * nggAdmin::resize_image() - create a new image, based on the height /width
196
  *
197
  * @class nggAdmin
198
+ * @param object|int $image Contain all information about the image or the id
199
  * @param integer $width optional
200
  * @param integer $height optional
201
  * @return string result code
248
  * Rotated/Flip an image based on the orientation flag or a definded angle
249
  *
250
  * @param int|object $image
251
+ * @param string|bool $dir (optional) CW (clockwise)or CCW (counter clockwise), if set to false, the exif flag will be used
252
+ * @param string|bool $flip (optional) Either false | V (flip vertical) | H (flip horizontal)
253
  * @return string result code
254
  */
255
  static function rotate_image($image, $dir = false, $flip = false)
330
  * nggAdmin::set_watermark() - set the watermark for the image
331
  *
332
  * @class nggAdmin
333
+ * @param object|int $image Contain all information about the image or the id
334
  * @return string result code
335
  */
336
  static function set_watermark($image) {
365
  *
366
  * @class nggAdmin
367
  * @since 1.5.0
368
+ * @param object|int $image Contain all information about the image or the id
369
  * @return string result code
370
  */
371
+ static function recover_image($image)
372
+ {
 
373
  return C_Gallery_Storage::get_instance()->recover_image($image);
374
  }
375
 
515
  *
516
  * @class nggAdmin
517
  * @require NextGEN Meta class
518
+ * @param int|object $image_or_id
519
  * @return array metadata
520
  */
521
  static function get_MetaData($image_or_id) {
544
  * and if based on compat reason (pre V1.4.0) we save then some meta datas to the database
545
  *
546
  * @since V1.4.0
547
+ * @param int|object $image_or_id
548
+ * @return bool
549
  */
550
+ function maybe_import_meta( $image_or_id )
551
+ {
552
  require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
553
  $id = is_int($image_or_id) ? $image_or_id : $image_or_id->{$image_or_id->id_field};
554
  $meta_obj = new nggMeta( $image_or_id );
562
  return false;
563
 
564
  return $result;
 
565
  }
566
 
567
  /**
764
  *
765
  * @class nggAdmin
766
  * @param int $galleryID
767
+ * @return string|int (JSON)
768
  */
769
  static function get_image_ids( $galleryID ) {
770
 
products/photocrati_nextgen/modules/ngglegacy/admin/manage-sort.php CHANGED
@@ -5,6 +5,9 @@
5
  *
6
  */
7
 
 
 
 
8
  function nggallery_sortorder($galleryID = 0){
9
  global $wpdb, $ngg, $nggdb;
10
 
5
  *
6
  */
7
 
8
+ /**
9
+ * @param int $galleryID
10
+ */
11
  function nggallery_sortorder($galleryID = 0){
12
  global $wpdb, $ngg, $nggdb;
13
 
products/photocrati_nextgen/modules/ngglegacy/admin/manage.php CHANGED
@@ -345,30 +345,43 @@ class nggManageGallery {
345
 
346
  function render_recover_action_link($id, $picture)
347
  {
348
- if ( !file_exists( $picture->imagePath . '_backup' )) return FALSE;
349
-
350
- $url = wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=recoverpic&amp;gid={$picture->galleryid}&amp;pid={$picture->pid}", 'ngg_recoverpicture');
351
- $title = esc_attr__('Recover image from backup', 'nggallery');
352
- $label = esc_html__('Recover', 'nggallery');
353
- $alttext = empty($picture->alttext) ? $picture->filename : $picture->alttext;
354
- $alttext = M_NextGen_Data::strip_html(html_entity_decode($alttext), TRUE);
355
- $confirm = addslashes(__("Recover", 'nggallery'). " \"{$alttext}\"?");
356
- $onclick = "javascript:if(!confirm(\"{$confirm}\")) return false";
357
-
358
- return "<a href='{$url}' onclick='{$onclick}' class='confirmrecover' title='{$title}'>{$label}</a>";
 
 
 
 
 
 
 
359
  }
360
 
361
  function render_delete_action_link($id, $picture)
362
  {
363
- $url = wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid={$picture->galleryid}&amp;pid={$picture->pid}", 'ngg_delpicture');
364
- $title = esc_attr__('Delete image', 'nggallery');
365
- $label = esc_html__('Delete', 'nggallery');
366
- $alttext = empty($picture->alttext) ? $picture->filename : $picture->alttext;
367
- $alttext = M_NextGen_Data::strip_html(html_entity_decode($alttext), TRUE);
368
- $confirm = addslashes(__("Delete", 'nggallery'). " \"{$alttext}\"?");
369
- $onclick = "javascript:if(!confirm(\"{$confirm}\")) return false;";
370
-
371
- return "<a href='{$url}' onclick='{$onclick}' class='submitdelete delete' title='{$title}'>{$label}</a>";
 
 
 
 
 
 
372
  }
373
 
374
  function render_image_row_header()
@@ -798,14 +811,15 @@ class nggManageGallery {
798
  }
799
  }
800
 
801
- if (isset ($_POST['updatepictures']) ) {
802
- // Update pictures
 
803
  $success = FALSE;
804
 
805
-
806
  check_admin_referer('ngg_updategallery');
807
 
808
- if ( nggGallery::current_user_can( 'NextGEN Edit gallery options' ) && !isset ($_GET['s']) ) {
 
809
  $tags = array('<a>', '<abbr>', '<acronym>', '<address>', '<b>', '<base>', '<basefont>', '<big>', '<blockquote>', '<br>', '<br/>', '<caption>', '<center>', '<cite>', '<code>', '<col>', '<colgroup>', '<dd>', '<del>', '<dfn>', '<dir>', '<div>', '<dl>', '<dt>', '<em>', '<fieldset>', '<font>', '<h1>', '<h2>', '<h3>', '<h4>', '<h5>', '<h6>', '<hr>', '<i>', '<img>', '<ins>', '<label>', '<legend>', '<li>', '<menu>', '<noframes>', '<noscript>', '<ol>', '<optgroup>', '<option>', '<p>', '<pre>', '<q>', '<s>', '<samp>', '<select>', '<small>', '<span>', '<strike>', '<strong>', '<sub>', '<sup>', '<table>', '<tbody>', '<td>', '<tfoot>', '<th>', '<thead>', '<tr>', '<tt>', '<u>', '<ul>');
810
  $fields = array('title', 'galdesc');
811
 
@@ -821,17 +835,20 @@ class nggManageGallery {
821
  $mapper = C_Gallery_Mapper::get_instance();
822
 
823
  // Update the gallery
824
- if (!$this->gallery) {
 
825
  $this->gallery = $mapper->find($this->gid, TRUE);
826
  }
827
 
828
- if ($this->gallery) {
 
829
  foreach ($_POST as $key => $value) {
830
  $this->gallery->$key = $value;
831
  }
832
  $mapper->save($this->gallery);
833
 
834
- if ($this->gallery->is_invalid()) {
 
835
  foreach ($this->gallery->get_errors() as $property => $errors) {
836
  foreach ($errors as $error) {
837
  nggGallery::show_error($error);
@@ -844,13 +861,11 @@ class nggManageGallery {
844
  }
845
  }
846
 
847
-
848
- if ($success) {
849
- $this->update_pictures();
850
-
851
- //hook for other plugin to update the fields
852
  do_action('ngg_update_gallery', $this->gid, $_POST);
853
-
854
  nggGallery::show_message(__('Updated successfully', 'nggallery'));
855
  }
856
  }
345
 
346
  function render_recover_action_link($id, $picture)
347
  {
348
+ if (!file_exists($picture->imagePath . '_backup'))
349
+ return FALSE;
350
+
351
+ $url = wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=recoverpic&amp;gid={$picture->galleryid}&amp;pid={$picture->pid}", 'ngg_recoverpicture');
352
+ $title = esc_attr__('Recover image from backup', 'nggallery');
353
+ $label = esc_html__('Recover', 'nggallery');
354
+ $question = __('Recover', 'nggallery');
355
+
356
+ $alttext = empty($picture->alttext) ? $picture->filename : $picture->alttext;
357
+ $alttext = M_NextGen_Data::strip_html(html_entity_decode($alttext), TRUE);
358
+ $alttext = htmlentities($alttext, ENT_QUOTES|ENT_HTML401);
359
+
360
+ // Event handler is found in nextgen_admin_page.js
361
+ return "<a href='{$url}'
362
+ class='confirmrecover'
363
+ data-question='{$question}'
364
+ data-text='{$alttext}'
365
+ title='{$title}'>{$label}</a>";
366
  }
367
 
368
  function render_delete_action_link($id, $picture)
369
  {
370
+ $url = wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid={$picture->galleryid}&amp;pid={$picture->pid}", 'ngg_delpicture');
371
+ $title = esc_attr__('Delete image', 'nggallery');
372
+ $label = esc_html__('Delete', 'nggallery');
373
+ $question = __('Delete', 'nggallery');
374
+
375
+ $alttext = empty($picture->alttext) ? $picture->filename : $picture->alttext;
376
+ $alttext = M_NextGen_Data::strip_html(html_entity_decode($alttext), TRUE);
377
+ $alttext = htmlentities($alttext, ENT_QUOTES|ENT_HTML401);
378
+
379
+ // Event handler is found in nextgen_admin_page.js
380
+ return "<a href='{$url}'
381
+ class='submitdelete delete'
382
+ data-question='{$question}'
383
+ data-text='{$alttext}'
384
+ title='{$title}'>{$label}</a>";
385
  }
386
 
387
  function render_image_row_header()
811
  }
812
  }
813
 
814
+ if (isset($_POST['updatepictures']))
815
+ {
816
+ // Update pictures
817
  $success = FALSE;
818
 
 
819
  check_admin_referer('ngg_updategallery');
820
 
821
+ if (nggGallery::current_user_can('NextGEN Edit gallery options') && !isset($_GET['s']))
822
+ {
823
  $tags = array('<a>', '<abbr>', '<acronym>', '<address>', '<b>', '<base>', '<basefont>', '<big>', '<blockquote>', '<br>', '<br/>', '<caption>', '<center>', '<cite>', '<code>', '<col>', '<colgroup>', '<dd>', '<del>', '<dfn>', '<dir>', '<div>', '<dl>', '<dt>', '<em>', '<fieldset>', '<font>', '<h1>', '<h2>', '<h3>', '<h4>', '<h5>', '<h6>', '<hr>', '<i>', '<img>', '<ins>', '<label>', '<legend>', '<li>', '<menu>', '<noframes>', '<noscript>', '<ol>', '<optgroup>', '<option>', '<p>', '<pre>', '<q>', '<s>', '<samp>', '<select>', '<small>', '<span>', '<strike>', '<strong>', '<sub>', '<sup>', '<table>', '<tbody>', '<td>', '<tfoot>', '<th>', '<thead>', '<tr>', '<tt>', '<u>', '<ul>');
824
  $fields = array('title', 'galdesc');
825
 
835
  $mapper = C_Gallery_Mapper::get_instance();
836
 
837
  // Update the gallery
838
+ if (!$this->gallery)
839
+ {
840
  $this->gallery = $mapper->find($this->gid, TRUE);
841
  }
842
 
843
+ if ($this->gallery)
844
+ {
845
  foreach ($_POST as $key => $value) {
846
  $this->gallery->$key = $value;
847
  }
848
  $mapper->save($this->gallery);
849
 
850
+ if ($this->gallery->is_invalid())
851
+ {
852
  foreach ($this->gallery->get_errors() as $property => $errors) {
853
  foreach ($errors as $error) {
854
  nggGallery::show_error($error);
861
  }
862
  }
863
 
864
+ $pictures_updated = $this->update_pictures();
865
+ if ($success || $pictures_updated >= 1)
866
+ {
867
+ // Hook for other plugin to update the fields
 
868
  do_action('ngg_update_gallery', $this->gid, $_POST);
 
869
  nggGallery::show_message(__('Updated successfully', 'nggallery'));
870
  }
871
  }
products/photocrati_nextgen/modules/ngglegacy/admin/media-upload.php CHANGED
@@ -122,7 +122,7 @@ function media_upload_nextgen_form($errors) {
122
 
123
  // Get the images
124
  if ( $galleryID != 0 )
125
- $picarray = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY {$ngg->options['galSort']} {$ngg->options['galSortDir']} LIMIT $start, 10 ");
126
 
127
  // WP-Core code for Post-thumbnail
128
  $calling_post_id = 0;
122
 
123
  // Get the images
124
  if ( $galleryID != 0 )
125
+ $picarray = $wpdb->get_col("SELECT DISTINCT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY {$ngg->options['galSort']},`pid` {$ngg->options['galSortDir']} LIMIT $start, 10 ");
126
 
127
  // WP-Core code for Post-thumbnail
128
  $calling_post_id = 0;
products/photocrati_nextgen/modules/ngglegacy/lib/core.php CHANGED
@@ -140,7 +140,7 @@ class nggGallery {
140
  /**
141
  * nggGallery::graphic_library() - switch between GD and ImageMagick
142
  *
143
- * @return path to the selected library
144
  */
145
  static function graphic_library() {
146
 
140
  /**
141
  * nggGallery::graphic_library() - switch between GD and ImageMagick
142
  *
143
+ * @return string Path to the selected library
144
  */
145
  static function graphic_library() {
146
 
products/photocrati_nextgen/modules/ngglegacy/lib/gd.thumbnail.inc.php CHANGED
@@ -724,13 +724,14 @@ class ngg_Thumbnail {
724
  /**
725
  * Rotate an image clockwise or counter clockwise
726
  *
727
- * @param string $direction could be CW or CCW
728
  */
729
- function rotateImage( $dir = 'CW' ) {
730
-
731
  $angle = ($dir == 'CW') ? 90 : -90;
732
 
733
- if ( function_exists('imagerotate') ) {
 
734
  $this->workingImage = imagerotate($this->oldImage, 360 - $angle, 0); // imagerotate() rotates CCW
735
  $this->currentDimensions['width'] = imagesx($this->workingImage);
736
  $this->currentDimensions['height'] = imagesy($this->workingImage);
724
  /**
725
  * Rotate an image clockwise or counter clockwise
726
  *
727
+ * @param string $dir Either CW or CCW
728
  */
729
+ function rotateImage($dir = 'CW')
730
+ {
731
  $angle = ($dir == 'CW') ? 90 : -90;
732
 
733
+ if (function_exists('imagerotate'))
734
+ {
735
  $this->workingImage = imagerotate($this->oldImage, 360 - $angle, 0); // imagerotate() rotates CCW
736
  $this->currentDimensions['width'] = imagesx($this->workingImage);
737
  $this->currentDimensions['height'] = imagesy($this->workingImage);
products/photocrati_nextgen/modules/ngglegacy/lib/imagemagick.inc.php CHANGED
@@ -187,8 +187,8 @@ var $imageMagickBefore;
187
  *
188
  * @param string $cmd an ImageMagick command (eg. "convert")
189
  * @param string $args the arguments which should be passed
190
- * @param bool passthru(optional) output the result to the webserver instead
191
- * @return string
192
  */
193
  function execute( $cmd, $args, $passthru = false) {
194
 
@@ -368,10 +368,10 @@ var $imageMagickBefore;
368
  /**
369
  * Rotates image either 90 degrees clockwise or counter-clockwise
370
  *
371
- * @param string $direction
372
  */
373
- function rotateImage($dir = 'CW') {
374
-
375
  $angle = ($dir == 'CW') ? 90 : -90;
376
 
377
  $this->imageMagickExec .= " -rotate $angle ";
187
  *
188
  * @param string $cmd an ImageMagick command (eg. "convert")
189
  * @param string $args the arguments which should be passed
190
+ * @param bool $passthru (optional) Output the result to the webserver instead
191
+ * @return array|string
192
  */
193
  function execute( $cmd, $args, $passthru = false) {
194
 
368
  /**
369
  * Rotates image either 90 degrees clockwise or counter-clockwise
370
  *
371
+ * @param string $dir
372
  */
373
+ function rotateImage($dir = 'CW')
374
+ {
375
  $angle = ($dir == 'CW') ? 90 : -90;
376
 
377
  $this->imageMagickExec .= " -rotate $angle ";
products/photocrati_nextgen/modules/ngglegacy/lib/media-rss.php CHANGED
@@ -43,8 +43,8 @@ class nggMediaRss {
43
  /**
44
  * Get the XML <rss> node corresponding to the last pictures registered
45
  *
46
- * @param page The current page (defaults to 0)
47
- * @param show The number of pictures to include in one field (default 30)
48
  */
49
  function get_last_pictures_mrss($page = 0, $show = 30) {
50
  $images = nggdb::find_last_images($page, $show);
43
  /**
44
  * Get the XML <rss> node corresponding to the last pictures registered
45
  *
46
+ * @param int $page The current page (defaults to 0)
47
+ * @param int $show The number of pictures to include in one field (default 30)
48
  */
49
  function get_last_pictures_mrss($page = 0, $show = 30) {
50
  $images = nggdb::find_last_images($page, $show);
products/photocrati_nextgen/modules/ngglegacy/lib/meta.php CHANGED
@@ -26,9 +26,9 @@ class nggMeta{
26
 
27
  /**
28
  * Parses the nggMeta data only if needed
29
- * @param int $image path to a image
30
- * @param bool $onlyEXIF parse only exif if needed
31
- * @return
32
  */
33
  function __construct($image_or_id, $onlyEXIF = false)
34
  {
@@ -108,7 +108,7 @@ class nggMeta{
108
  * nggMeta::get_EXIF()
109
  * See also http://trac.wordpress.org/changeset/6313
110
  *
111
- * @return structured EXIF data
112
  */
113
  function get_EXIF($object = false) {
114
 
@@ -217,16 +217,17 @@ class nggMeta{
217
  /**
218
  * nggMeta::readIPTC() - IPTC Data Information for EXIF Display
219
  *
220
- * @param mixed $output_tag
221
- * @return IPTC-tags
222
  */
223
- function get_IPTC($object = false) {
 
224
 
225
  if (!$this->iptc_data)
226
  return false;
227
 
228
- if (!is_array($this->iptc_array)){
229
-
230
  // --------- Set up Array Functions --------- //
231
  $iptcTags = array (
232
  "2#005" => 'title',
@@ -253,9 +254,8 @@ class nggMeta{
253
 
254
  $meta = array();
255
  foreach ($iptcTags as $key => $value) {
256
- if (isset ( $this->iptc_data[$key] ) )
257
  $meta[$value] = trim($this->utf8_encode(implode(", ", $this->iptc_data[$key])));
258
-
259
  }
260
  $this->iptc_array = $meta;
261
  }
@@ -277,7 +277,7 @@ class nggMeta{
277
  * code by Pekka Saarinen http://photography-on-the.net
278
  *
279
  * @param mixed $filename
280
- * @return XML data
281
  */
282
  function extract_XMP( $filename ) {
283
 
@@ -305,7 +305,7 @@ class nggMeta{
305
  *
306
  * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
307
  * @author Alf Marius Foss Olsen & Alex Rabe
308
- * @return XML Array or object
309
  *
310
  */
311
  function get_XMP($object = false) {
@@ -453,7 +453,7 @@ class nggMeta{
453
  * nggMeta::i8n_name() - localize the tag name
454
  *
455
  * @param mixed $key
456
- * @return translated $key
457
  */
458
  function i18n_name($key) {
459
 
@@ -505,7 +505,7 @@ class nggMeta{
505
 
506
  /**
507
  * Return the Timestamp from the image , if possible it's read from exif data
508
- * @return int
509
  */
510
  function get_date_time() {
511
 
@@ -531,7 +531,7 @@ class nggMeta{
531
  * Reason : GD manipulation removes that options
532
  *
533
  * @since V1.4.0
534
- * @return array
535
  */
536
  function get_common_meta() {
537
  global $wpdb;
26
 
27
  /**
28
  * Parses the nggMeta data only if needed
29
+ * @param object|int $image_or_id An image object or an image ID
30
+ * @param bool $onlyEXIF Parse only exif if needed
31
+ * @return bool
32
  */
33
  function __construct($image_or_id, $onlyEXIF = false)
34
  {
108
  * nggMeta::get_EXIF()
109
  * See also http://trac.wordpress.org/changeset/6313
110
  *
111
+ * @return bool|array Structured EXIF data
112
  */
113
  function get_EXIF($object = false) {
114
 
217
  /**
218
  * nggMeta::readIPTC() - IPTC Data Information for EXIF Display
219
  *
220
+ * @param mixed $object (optional)
221
+ * @return null|bool|array
222
  */
223
+ function get_IPTC($object = false)
224
+ {
225
 
226
  if (!$this->iptc_data)
227
  return false;
228
 
229
+ if (!is_array($this->iptc_array))
230
+ {
231
  // --------- Set up Array Functions --------- //
232
  $iptcTags = array (
233
  "2#005" => 'title',
254
 
255
  $meta = array();
256
  foreach ($iptcTags as $key => $value) {
257
+ if (isset($this->iptc_data[$key]))
258
  $meta[$value] = trim($this->utf8_encode(implode(", ", $this->iptc_data[$key])));
 
259
  }
260
  $this->iptc_array = $meta;
261
  }
277
  * code by Pekka Saarinen http://photography-on-the.net
278
  *
279
  * @param mixed $filename
280
+ * @return bool|string XML data
281
  */
282
  function extract_XMP( $filename ) {
283
 
305
  *
306
  * @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
307
  * @author Alf Marius Foss Olsen & Alex Rabe
308
+ * @return bool|array|object XML Array or object
309
  *
310
  */
311
  function get_XMP($object = false) {
453
  * nggMeta::i8n_name() - localize the tag name
454
  *
455
  * @param mixed $key
456
+ * @return string Translated $key
457
  */
458
  function i18n_name($key) {
459
 
505
 
506
  /**
507
  * Return the Timestamp from the image , if possible it's read from exif data
508
+ * @return string
509
  */
510
  function get_date_time() {
511
 
531
  * Reason : GD manipulation removes that options
532
  *
533
  * @since V1.4.0
534
+ * @return bool|array
535
  */
536
  function get_common_meta() {
537
  global $wpdb;
products/photocrati_nextgen/modules/ngglegacy/lib/multisite.php CHANGED
@@ -29,13 +29,16 @@ class nggWPMU{
29
  /**
30
  * Check for site admin
31
  *
32
- * @return
33
  */
34
  function wpmu_site_admin() {
35
-
36
- if ( function_exists('is_super_admin') )
37
- if ( is_super_admin() )
38
- return true;
 
 
 
39
 
40
  return false;
41
  }
@@ -44,7 +47,7 @@ class nggWPMU{
44
  * Check for site wide options
45
  *
46
  * @param string $value
47
- * @return value
48
  */
49
  function wpmu_enable_function($value) {
50
  if (is_multisite()) {
29
  /**
30
  * Check for site admin
31
  *
32
+ * @return bool
33
  */
34
  function wpmu_site_admin() {
35
+ if (function_exists('is_super_admin'))
36
+ {
37
+ if (is_super_admin())
38
+ {
39
+ return true;
40
+ }
41
+ }
42
 
43
  return false;
44
  }
47
  * Check for site wide options
48
  *
49
  * @param string $value
50
+ * @return string|bool
51
  */
52
  function wpmu_enable_function($value) {
53
  if (is_multisite()) {
products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php CHANGED
@@ -73,7 +73,7 @@ class nggdb
73
  *
74
  *
75
  * @param int|string $id or $slug
76
- * @return A nggGallery object (null if not found)
77
  * @deprecated Use the C_Gallery_Mapper class instead
78
  */
79
  static function find_gallery( $id )
@@ -121,7 +121,7 @@ class nggdb
121
  *
122
  * @deprecated
123
  * @param string $filename
124
- * @param int (optional) $galleryID
125
  * @return Array Result of the request
126
  */
127
  function search_for_file($filename, $galleryID = false)
@@ -143,9 +143,9 @@ class nggdb
143
  * Get random images from one or more gallery
144
  *
145
  * @deprecated
146
- * @param integer $number of images
147
- * @param integer $galleryID optional a Gallery
148
- * @return A nggImage object representing the image (null if not found)
149
  */
150
  function get_random_images($number = 1, $gallery_id = 0)
151
  {
@@ -174,7 +174,7 @@ class nggdb
174
  * @param int $limit number of paged galleries, 0 shows all galleries
175
  * @param int $start the start index for paged galleries
176
  * @param bool $json remove the key for associative array in json request
177
- * @return An array containing the nggImage objects representing the images in the gallery.
178
  */
179
  static function get_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true, $limit = 0, $start = 0, $json = false)
180
  {
@@ -203,13 +203,14 @@ class nggdb
203
  /**
204
  * This function return all information about the gallery and the images inside
205
  *
206
- * @param int|string $id or $name
207
- * @param string $orderby
208
- * @param string $order (ASC |DESC)
209
  * @param bool $exclude
210
- * @return An array containing the nggImage objects representing the images in the gallery.
211
  */
212
- static function get_ids_from_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true) {
 
213
 
214
  global $wpdb;
215
 
@@ -247,7 +248,7 @@ class nggdb
247
  * Get an album given its ID
248
  *
249
  * @id The album ID or name
250
- * @return A nggGallery object (false if not found)
251
  */
252
  function find_album( $id ) {
253
  global $wpdb;
@@ -306,7 +307,7 @@ class nggdb
306
  /**
307
  * Insert an image in the database
308
  *
309
- * @return the ID of the inserted image
310
  */
311
  function insert_image($gid, $filename, $alttext, $desc, $exclude) {
312
  global $wpdb;
@@ -323,14 +324,14 @@ class nggdb
323
  /**
324
  * nggdb::update_image() - Update an image in the database
325
  *
326
- * @param int $pid id of the image
327
- * @param (optional) string|int $galleryid
328
- * @param (optional) string $filename
329
- * @param (optional) string $description
330
- * @param (optional) string $alttext
331
- * @param (optional) int $exclude (0 or 1)
332
- * @param (optional) int $sortorder
333
- * @return bool result of update query
334
  */
335
  function update_image($pid, $galleryid = false, $filename = false, $description = false, $alttext = false, $exclude = false, $sortorder = false) {
336
 
@@ -368,17 +369,18 @@ class nggdb
368
  }
369
 
370
  /**
371
- * nggdb::update_gallery() - Update an gallery in the database
372
- *
373
- * @since V1.7.0
374
- * @param int $id id of the gallery
375
- * @param (optional) string $title or name of the gallery
376
- * @param (optional) string $path
377
- * @param (optional) string $description
378
- * @param (optional) int $pageid
379
- * @param (optional) int $previewpic
380
- * @param (optional) int $author
381
- * @return bool result of update query
 
382
  */
383
  function update_gallery($id, $name = false, $path = false, $title = false, $description = false, $pageid = false, $previewpic = false, $author = false) {
384
 
@@ -420,13 +422,13 @@ class nggdb
420
  * nggdb::update_album() - Update an album in the database
421
  *
422
  * @since V1.7.0
423
- * @param int $ id id of the album
424
- * @param (optional) string $title
425
- * @param (optional) int $previewpic
426
- * @param (optional) string $description
427
- * @param (optional) serialized array $sortorder
428
- * @param (optional) int $pageid
429
- * @return bool result of update query
430
  */
431
  function update_album($id, $name = false, $previewpic = false, $description = false, $sortorder = false, $pageid = false ) {
432
 
@@ -465,10 +467,11 @@ class nggdb
465
  /**
466
  * Get an image given its ID
467
  *
468
- * @param int|string The image ID or Slug
469
- * @return object A nggImage object representing the image (false if not found)
470
  */
471
- static function find_image( $id ) {
 
472
  global $wpdb;
473
 
474
  if( is_numeric($id) ) {
@@ -493,7 +496,7 @@ class nggdb
493
  * Get images given a list of IDs
494
  *
495
  * @param $pids array of picture_ids
496
- * @return An array of nggImage objects representing the images
497
  */
498
  static function find_images_in_list( $pids, $exclude = false, $order = 'ASC' ) {
499
  global $wpdb;
@@ -525,19 +528,19 @@ class nggdb
525
  * Add an image to the database
526
  *
527
  * @since V1.4.0
528
- * @param int $pid id of the gallery
529
- * @param (optional) string|int $galleryid
530
- * @param (optional) string $filename
531
- * @param (optional) string $description
532
- * @param (optional) string $alttext
533
- * @param (optional) array $meta data
534
- * @param (optional) int $post_id (required for sync with WP media lib)
535
- * @param (optional) string $imagedate
536
- * @param (optional) int $exclude (0 or 1)
537
- * @param (optional) int $sortorder
538
- * @return bool result of the ID of the inserted image
539
  */
540
- function add_image( $id = false, $filename = false, $description = '', $alttext = '', $meta_data = false, $post_id = 0, $imagedate = '0000-00-00 00:00:00', $exclude = 0, $sortorder = 0 ) {
 
541
  global $wpdb;
542
 
543
  if ( is_array($meta_data) )
@@ -565,14 +568,14 @@ class nggdb
565
  * Add an album to the database
566
  *
567
  * @since V1.7.0
568
- * @param (optional) string $title
569
- * @param (optional) int $previewpic
570
- * @param (optional) string $description
571
- * @param (optional) serialized array $sortorder
572
- * @param (optional) int $pageid
573
- * @return bool result of the ID of the inserted album
574
  */
575
- function add_album( $name = false, $previewpic = 0, $description = '', $sortorder = 0, $pageid = 0 ) {
576
  global $wpdb;
577
 
578
  // name must be unique, we use the title for that
@@ -594,13 +597,13 @@ class nggdb
594
  * Add an gallery to the database
595
  *
596
  * @since V1.7.0
597
- * @param (optional) string $title or name of the gallery
598
- * @param (optional) string $path
599
- * @param (optional) string $description
600
- * @param (optional) int $pageid
601
- * @param (optional) int $previewpic
602
- * @param (optional) int $author
603
- * @return bool result of the ID of the inserted gallery
604
  */
605
  static function add_gallery( $title = '', $path = '', $description = '', $pageid = 0, $previewpic = 0, $author = 0 ) {
606
  global $wpdb;
@@ -642,7 +645,7 @@ class nggdb
642
  * @param int $galleryId Only look for images with this gallery id, or in all galleries if id is 0
643
  * @param string $orderby is one of "id" (default, order by pid), "date" (order by exif date), sort (order by user sort order)
644
  * @deprecated
645
- * @return
646
  */
647
  static function find_last_images($page = 0, $limit = 30, $exclude = true, $galleryId = 0, $orderby = "pid") {
648
  // Determine ordering
@@ -689,7 +692,7 @@ class nggdb
689
  * @param string $order_by
690
  * @param string $order_dir
691
  * @param bool $exclude
692
- * @return An array containing the nggImage objects representing the images in the album.
693
  */
694
  function find_images_in_album($album, $order_by = 'galleryid', $order_dir = 'ASC', $exclude = true) {
695
  // TODO: This method is only used by the JSON API. Once it's removed, this method can be removed
@@ -726,7 +729,7 @@ class nggdb
726
  * @since 1.3.0
727
  * @param string $request
728
  * @param int $limit number of results, 0 shows all results
729
- * @return Array Result of the request
730
  */
731
  function search_for_images( $request, $limit = 0 ) {
732
  global $wpdb;
@@ -758,8 +761,9 @@ class nggdb
758
  $search = " AND ({$search}) ";
759
 
760
  $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
761
- } else
762
  return false;
 
763
 
764
  // build the final query
765
  $query = "SELECT `tt`.`pid` FROM `{$wpdb->nggallery}` AS `t` INNER JOIN `{$wpdb->nggpictures}` AS `tt` ON `t`.`gid` = `tt`.`galleryid` WHERE 1=1 {$search} ORDER BY `tt`.`pid` ASC {$limit_by}";
@@ -794,7 +798,7 @@ class nggdb
794
  * @since 1.7.0
795
  * @param string $request
796
  * @param int $limit number of results, 0 shows all results
797
- * @return Array Result of the request
798
  */
799
  function search_for_galleries( $request, $limit = 0 ) {
800
  global $wpdb;
@@ -826,8 +830,9 @@ class nggdb
826
  $search = " AND ({$search}) ";
827
 
828
  $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
829
- } else
830
  return false;
 
831
 
832
  // build the final query
833
  $query = "SELECT * FROM $wpdb->nggallery WHERE 1=1 $search ORDER BY title ASC $limit";
@@ -842,7 +847,7 @@ class nggdb
842
  * @since 1.7.0
843
  * @param string $request
844
  * @param int $limit number of results, 0 shows all results
845
- * @return Array Result of the request
846
  */
847
  function search_for_albums( $request, $limit = 0 ) {
848
  global $wpdb;
@@ -874,8 +879,9 @@ class nggdb
874
  $search = " AND ({$search}) ";
875
 
876
  $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
877
- } else
878
  return false;
 
879
 
880
  // build the final query
881
  $query = "SELECT * FROM $wpdb->nggalbum WHERE 1=1 $search ORDER BY name ASC $limit";
@@ -890,10 +896,11 @@ class nggdb
890
  *
891
  * @since 1.4.0
892
  * @param int $id The image ID
893
- * @param array $values An array with existing or new values
894
  * @return bool result of query
895
  */
896
- static function update_image_meta( $id, $new_values ) {
 
897
  global $wpdb;
898
 
899
  // XXX nggdb is used statically, cannot inherit from Ngg_Serializable
@@ -920,7 +927,7 @@ class nggdb
920
  * @since 1.7.0
921
  * @param string $slug the desired slug (post_name)
922
  * @param string $type ('image', 'album' or 'gallery')
923
- * @param int (optional) $id of the object, so that it's not checked against itself
924
  * @return string unique slug for the object, based on $slug (with a -1, -2, etc. suffix)
925
  */
926
  static function get_unique_slug( $slug, $type, $id = 0 )
73
  *
74
  *
75
  * @param int|string $id or $slug
76
+ * @return object nggGallery object (null if not found)
77
  * @deprecated Use the C_Gallery_Mapper class instead
78
  */
79
  static function find_gallery( $id )
121
  *
122
  * @deprecated
123
  * @param string $filename
124
+ * @param int|bool $galleryID (optional)
125
  * @return Array Result of the request
126
  */
127
  function search_for_file($filename, $galleryID = false)
143
  * Get random images from one or more gallery
144
  *
145
  * @deprecated
146
+ * @param int $number Number of images
147
+ * @param int $gallery_id (optional) Gallery ID
148
+ * @return array Array holding C_Image_Wrapper objects
149
  */
150
  function get_random_images($number = 1, $gallery_id = 0)
151
  {
174
  * @param int $limit number of paged galleries, 0 shows all galleries
175
  * @param int $start the start index for paged galleries
176
  * @param bool $json remove the key for associative array in json request
177
+ * @return array An array containing the C_Image_Wrapper objects representing the images in the gallery.
178
  */
179
  static function get_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true, $limit = 0, $start = 0, $json = false)
180
  {
203
  /**
204
  * This function return all information about the gallery and the images inside
205
  *
206
+ * @param int|string $id Or $name
207
+ * @param string $order_by
208
+ * @param string $order_dir (ASC|DESC)
209
  * @param bool $exclude
210
+ * @return array An array containing the nggImage objects representing the images in the gallery.
211
  */
212
+ static function get_ids_from_gallery($id, $order_by = 'sortorder', $order_dir = 'ASC', $exclude = true)
213
+ {
214
 
215
  global $wpdb;
216
 
248
  * Get an album given its ID
249
  *
250
  * @id The album ID or name
251
+ * @return object|bool A nggGallery object (false if not found)
252
  */
253
  function find_album( $id ) {
254
  global $wpdb;
307
  /**
308
  * Insert an image in the database
309
  *
310
+ * @return int ID of the inserted image
311
  */
312
  function insert_image($gid, $filename, $alttext, $desc, $exclude) {
313
  global $wpdb;
324
  /**
325
  * nggdb::update_image() - Update an image in the database
326
  *
327
+ * @param int $pid ID of the image
328
+ * @param string|int $galleryid (optional)
329
+ * @param string $filename (optional)
330
+ * @param string $description (optional)
331
+ * @param string $alttext (optional)
332
+ * @param int $exclude (0 or 1) (optional)
333
+ * @param int $sortorder (optional)
334
+ * @return null|bool Result of update query
335
  */
336
  function update_image($pid, $galleryid = false, $filename = false, $description = false, $alttext = false, $exclude = false, $sortorder = false) {
337
 
369
  }
370
 
371
  /**
372
+ * nggdb::update_gallery() - Update an gallery in the database
373
+ *
374
+ * @since V1.7.0
375
+ * @param int $id ID of the gallery
376
+ * @param string|bool $name (optional) Name or title of the gallery
377
+ * @param string|bool $path (optional)
378
+ * @param string|bool $title (optional)
379
+ * @param string|bool $description (optional)
380
+ * @param int|bool $pageid (optional)
381
+ * @param int|bool $previewpic (optional)
382
+ * @param int|bool $author (optional)
383
+ * @return null|bool Result of update query
384
  */
385
  function update_gallery($id, $name = false, $path = false, $title = false, $description = false, $pageid = false, $previewpic = false, $author = false) {
386
 
422
  * nggdb::update_album() - Update an album in the database
423
  *
424
  * @since V1.7.0
425
+ * @param int $id ID of the album
426
+ * @param string $title (optional)
427
+ * @param int $previewpic (optional)
428
+ * @param string $description (optional)
429
+ * @param array $sortorder (optional)
430
+ * @param int $pageid (optional)
431
+ * @return null|bool result of update query
432
  */
433
  function update_album($id, $name = false, $previewpic = false, $description = false, $sortorder = false, $pageid = false ) {
434
 
467
  /**
468
  * Get an image given its ID
469
  *
470
+ * @param int|string $id The image ID or Slug
471
+ * @return bool|object A nggImage object representing the image (false if not found)
472
  */
473
+ static function find_image($id)
474
+ {
475
  global $wpdb;
476
 
477
  if( is_numeric($id) ) {
496
  * Get images given a list of IDs
497
  *
498
  * @param $pids array of picture_ids
499
+ * @return array An array of nggImage objects representing the images
500
  */
501
  static function find_images_in_list( $pids, $exclude = false, $order = 'ASC' ) {
502
  global $wpdb;
528
  * Add an image to the database
529
  *
530
  * @since V1.4.0
531
+ * @param int $id ID of the gallery
532
+ * @param string $filename (optional)
533
+ * @param string $description (optional)
534
+ * @param string $alttext (optional)
535
+ * @param array $meta data (optional)
536
+ * @param int $post_id (required for sync with WP media lib) (optional)
537
+ * @param string $imagedate (optional)
538
+ * @param int $exclude (0 or 1) (optional)
539
+ * @param int $sortorder (optional)
540
+ * @return int Result of the ID of the inserted image
 
541
  */
542
+ function add_image( $id = false, $filename = false, $description = '', $alttext = '', $meta_data = false, $post_id = 0, $imagedate = '0000-00-00 00:00:00', $exclude = 0, $sortorder = 0)
543
+ {
544
  global $wpdb;
545
 
546
  if ( is_array($meta_data) )
568
  * Add an album to the database
569
  *
570
  * @since V1.7.0
571
+ * @param string|bool $name (optional)
572
+ * @param int $previewpic (optional)
573
+ * @param string $description (optional)
574
+ * @param string $sortorder Must be in the form of a serialized array (optional)
575
+ * @param int $pageid (optional)
576
+ * @return int Result of the ID of the inserted album
577
  */
578
+ function add_album( $name = false, $previewpic = 0, $description = '', $sortorder = '', $pageid = 0 ) {
579
  global $wpdb;
580
 
581
  // name must be unique, we use the title for that
597
  * Add an gallery to the database
598
  *
599
  * @since V1.7.0
600
+ * @param string $title or name of the gallery (optional)
601
+ * @param string $path (optional)
602
+ * @param string $description (optional)
603
+ * @param int $pageid (optional)
604
+ * @param int $previewpic (optional)
605
+ * @param int $author (optional)
606
+ * @return int result of the ID of the inserted gallery
607
  */
608
  static function add_gallery( $title = '', $path = '', $description = '', $pageid = 0, $previewpic = 0, $author = 0 ) {
609
  global $wpdb;
645
  * @param int $galleryId Only look for images with this gallery id, or in all galleries if id is 0
646
  * @param string $orderby is one of "id" (default, order by pid), "date" (order by exif date), sort (order by user sort order)
647
  * @deprecated
648
+ * @return bool|array
649
  */
650
  static function find_last_images($page = 0, $limit = 30, $exclude = true, $galleryId = 0, $orderby = "pid") {
651
  // Determine ordering
692
  * @param string $order_by
693
  * @param string $order_dir
694
  * @param bool $exclude
695
+ * @return null|array An array containing the nggImage objects representing the images in the album.
696
  */
697
  function find_images_in_album($album, $order_by = 'galleryid', $order_dir = 'ASC', $exclude = true) {
698
  // TODO: This method is only used by the JSON API. Once it's removed, this method can be removed
729
  * @since 1.3.0
730
  * @param string $request
731
  * @param int $limit number of results, 0 shows all results
732
+ * @return array|bool|null Result of the request
733
  */
734
  function search_for_images( $request, $limit = 0 ) {
735
  global $wpdb;
761
  $search = " AND ({$search}) ";
762
 
763
  $limit_by = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
764
+ } else {
765
  return false;
766
+ }
767
 
768
  // build the final query
769
  $query = "SELECT `tt`.`pid` FROM `{$wpdb->nggallery}` AS `t` INNER JOIN `{$wpdb->nggpictures}` AS `tt` ON `t`.`gid` = `tt`.`galleryid` WHERE 1=1 {$search} ORDER BY `tt`.`pid` ASC {$limit_by}";
798
  * @since 1.7.0
799
  * @param string $request
800
  * @param int $limit number of results, 0 shows all results
801
+ * @return bool|array Result of the request
802
  */
803
  function search_for_galleries( $request, $limit = 0 ) {
804
  global $wpdb;
830
  $search = " AND ({$search}) ";
831
 
832
  $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
833
+ } else {
834
  return false;
835
+ }
836
 
837
  // build the final query
838
  $query = "SELECT * FROM $wpdb->nggallery WHERE 1=1 $search ORDER BY title ASC $limit";
847
  * @since 1.7.0
848
  * @param string $request
849
  * @param int $limit number of results, 0 shows all results
850
+ * @return bool|array Result of the request
851
  */
852
  function search_for_albums( $request, $limit = 0 ) {
853
  global $wpdb;
879
  $search = " AND ({$search}) ";
880
 
881
  $limit = ( $limit > 0 ) ? 'LIMIT ' . intval($limit) : '';
882
+ } else {
883
  return false;
884
+ }
885
 
886
  // build the final query
887
  $query = "SELECT * FROM $wpdb->nggalbum WHERE 1=1 $search ORDER BY name ASC $limit";
896
  *
897
  * @since 1.4.0
898
  * @param int $id The image ID
899
+ * @param array $new_values An array with existing or new values
900
  * @return bool result of query
901
  */
902
+ static function update_image_meta($id, $new_values)
903
+ {
904
  global $wpdb;
905
 
906
  // XXX nggdb is used statically, cannot inherit from Ngg_Serializable
927
  * @since 1.7.0
928
  * @param string $slug the desired slug (post_name)
929
  * @param string $type ('image', 'album' or 'gallery')
930
+ * @param int $id ID of the object, so that it's not checked against itself (optional)
931
  * @return string unique slug for the object, based on $slug (with a -1, -2, etc. suffix)
932
  */
933
  static function get_unique_slug( $slug, $type, $id = 0 )
products/photocrati_nextgen/modules/ngglegacy/lib/rewrite.php CHANGED
@@ -243,14 +243,14 @@ class nggRewrite {
243
  * See : http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
244
  *
245
  * @deprecated
246
- * @return string $meta
247
  */
248
  function add_canonical_meta()
249
  {
250
- // create the meta link
251
- $meta = "\n<link rel='canonical' href='" . get_permalink() ."' />";
252
- // add a filter for SEO plugins, so they can remove it
253
- echo apply_filters('ngg_add_canonical_meta', $meta);
254
 
255
  return;
256
  }
243
  * See : http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
244
  *
245
  * @deprecated
246
+ * @return void
247
  */
248
  function add_canonical_meta()
249
  {
250
+ // create the meta link
251
+ $meta = "\n<link rel='canonical' href='" . get_permalink() ."' />";
252
+ // add a filter for SEO plugins, so they can remove it
253
+ echo apply_filters('ngg_add_canonical_meta', $meta);
254
 
255
  return;
256
  }
products/photocrati_nextgen/modules/ngglegacy/lib/sitemap.php CHANGED
@@ -21,7 +21,7 @@ class nggSitemaps {
21
  *
22
  * @since Version 1.8.0
23
  * @param array $images
24
- * @param int $post ID
25
  * @return array $image list of all founded images
26
  */
27
  function add_wpseo_xml_sitemap_images( $images, $post_id ) {
@@ -53,20 +53,23 @@ class nggSitemaps {
53
  /**
54
  * Parse the gallery/imagebrowser/slideshow shortcode and return all images into an array
55
  *
 
56
  * @param string $atts
57
- * @return
58
  */
59
  function add_gallery( $atts ) {
60
 
61
  global $wpdb;
62
 
63
- extract(shortcode_atts(array(
64
- 'id' => 0
65
- ), $atts ));
 
66
 
67
  $gallery_mapper = C_Gallery_Mapper::get_instance();
68
  if (!is_numeric($id)) {
69
- if (($gallery = array_shift($gallery_mapper->select()->where(array('name = %s', $id))->limit(1)->run_query()))) {
 
70
  $id = $gallery->{$gallery->id_field};
71
  }
72
  else $id = NULL;
@@ -95,9 +98,8 @@ class nggSitemaps {
95
  */
96
  function add_images( $atts ) {
97
 
98
- extract(shortcode_atts(array(
99
- 'id' => 0
100
- ), $atts ));
101
 
102
  // make an array out of the ids (for thumbs shortcode))
103
  $pids = explode( ',', $id );
21
  *
22
  * @since Version 1.8.0
23
  * @param array $images
24
+ * @param int $post_id
25
  * @return array $image list of all founded images
26
  */
27
  function add_wpseo_xml_sitemap_images( $images, $post_id ) {
53
  /**
54
  * Parse the gallery/imagebrowser/slideshow shortcode and return all images into an array
55
  *
56
+ * @TODO: replace or remove this function, it's return value isn't even linked to the queries it performs
57
  * @param string $atts
58
+ * @return string
59
  */
60
  function add_gallery( $atts ) {
61
 
62
  global $wpdb;
63
 
64
+ $tmp = shortcode_atts(array(
65
+ 'id' => 0
66
+ ), $atts);
67
+ extract($tmp);
68
 
69
  $gallery_mapper = C_Gallery_Mapper::get_instance();
70
  if (!is_numeric($id)) {
71
+ $tmp = $gallery_mapper->select()->where(array('name = %s', $id))->limit(1)->run_query();
72
+ if (($gallery = array_shift($tmp))) {
73
  $id = $gallery->{$gallery->id_field};
74
  }
75
  else $id = NULL;
98
  */
99
  function add_images( $atts ) {
100
 
101
+ $tmp = shortcode_atts(array('id' => 0), $atts );
102
+ extract($tmp);
 
103
 
104
  // make an array out of the ids (for thumbs shortcode))
105
  $pids = explode( ',', $id );
products/photocrati_nextgen/modules/ngglegacy/lib/tags.php CHANGED
@@ -385,7 +385,7 @@ class nggTags {
385
  * trim and remove empty element
386
  *
387
  * @param string $element
388
- * @return string
389
  */
390
  if (!function_exists('nggtags_delete_empty_element')) {
391
  function nggtags_delete_empty_element( &$element ) {
385
  * trim and remove empty element
386
  *
387
  * @param string $element
388
+ * @return null|string
389
  */
390
  if (!function_exists('nggtags_delete_empty_element')) {
391
  function nggtags_delete_empty_element( &$element ) {
products/photocrati_nextgen/modules/router/package.module.router.php CHANGED
@@ -18,7 +18,12 @@ class A_Routing_App_Factory extends Mixin
18
  */
19
  class C_Http_Response_Controller extends C_Component
20
  {
 
21
  static $_instance = NULL;
 
 
 
 
22
  static function get_instance($context = FALSE)
23
  {
24
  if (!isset(self::$_instance)) {
@@ -103,7 +108,9 @@ class Mixin_Router extends Mixin
103
  }
104
  /**
105
  * Gets url for the router
106
- * @param string $uri
 
 
107
  * @return string
108
  */
109
  function get_url($uri = '/', $with_qs = TRUE, $site_url = FALSE)
@@ -137,7 +144,7 @@ class Mixin_Router extends Mixin
137
  /**
138
  * Returns a static url
139
  * @param string $path
140
- * @param string $module
141
  * @return string
142
  */
143
  function get_static_url($path, $module = FALSE)
@@ -152,7 +159,7 @@ class Mixin_Router extends Mixin
152
  }
153
  /**
154
  * Gets the routed url
155
- * @returns string
156
  */
157
  function get_routed_url()
158
  {
@@ -183,8 +190,6 @@ class Mixin_Router extends Mixin
183
  }
184
  /**
185
  * Serve request using defined Routing Apps
186
- *
187
- * @param string|FALSE $request_uri
188
  */
189
  function serve_request()
190
  {
@@ -199,7 +204,7 @@ class Mixin_Router extends Mixin
199
  }
200
  /**
201
  * Gets the querystring of the current request
202
- * @return string
203
  */
204
  function get_querystring()
205
  {
@@ -211,6 +216,7 @@ class Mixin_Router extends Mixin
211
  }
212
  /**
213
  * Gets the request for the router
 
214
  * @return string
215
  */
216
  function get_request_uri($with_params = TRUE)
@@ -266,8 +272,8 @@ class Mixin_Router extends Mixin
266
  /**
267
  * Sorts apps.This is needed because we want the most specific app to be
268
  * executed first
269
- * @param C_Routed_App $a
270
- * @param C_Routed_App $b
271
  * @return int
272
  */
273
  function _sort_apps($a, $b)
@@ -301,6 +307,10 @@ class C_Router extends C_Component
301
  parent::initialize();
302
  $this->_request_method = !empty($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : null;
303
  }
 
 
 
 
304
  static function &get_instance($context = False)
305
  {
306
  if (!isset(self::$_instances[$context])) {
@@ -342,6 +352,7 @@ class Mixin_Routing_App extends Mixin
342
  * @param string $src Original URL
343
  * @param string $dst Destination URL
344
  * @param bool $redirect FALSE for internal handling, otherwise the HTTP code to send
 
345
  */
346
  function rewrite($src, $dst, $redirect = FALSE, $stop = FALSE)
347
  {
@@ -371,7 +382,7 @@ class Mixin_Routing_App extends Mixin
371
  }
372
  /**
373
  * Gets an instance of the router
374
- * @return type
375
  */
376
  function get_router()
377
  {
@@ -409,7 +420,7 @@ class Mixin_Routing_App extends Mixin
409
  }
410
  /**
411
  * Sets the application request uri
412
- * @param type $uri
413
  */
414
  function set_app_request_uri($uri)
415
  {
@@ -646,7 +657,7 @@ class Mixin_Routing_App extends Mixin
646
  /**
647
  * Adds a placeholder parameter
648
  * @param string $name
649
- * @param stirng $value
650
  * @param string $source
651
  */
652
  function add_placeholder_param($name, $value, $source = NULL)
@@ -808,7 +819,10 @@ class Mixin_Routing_App extends Mixin
808
  * Sets the value of a particular parameter
809
  * @param string $key
810
  * @param mixed $value
811
- * @param mixed $id
 
 
 
812
  */
813
  function set_parameter_value($key, $value, $id = NULL, $use_prefix = FALSE, $url = FALSE)
814
  {
@@ -849,7 +863,7 @@ class Mixin_Routing_App extends Mixin
849
  * and returns the full application URL
850
  * @param string $key
851
  * @param mixed $id
852
- * @return string
853
  */
854
  function remove_parameter($key, $id = NULL, $url = FALSE)
855
  {
@@ -893,7 +907,9 @@ class Mixin_Routing_App extends Mixin
893
  * Adds a parameter to the application's request URI
894
  * @param string $key
895
  * @param mixed $value
896
- * @param mixed $id
 
 
897
  */
898
  function add_parameter_to_app_request_uri($key, $value, $id = NULL, $use_prefix = FALSE)
899
  {
@@ -937,7 +953,10 @@ class Mixin_Routing_App extends Mixin
937
  * Alias for set_parameter_value
938
  * @param string $key
939
  * @param mixed $value
940
- * @param mixed $id
 
 
 
941
  */
942
  function set_parameter($key, $value, $id = NULL, $use_prefix = FALSE, $url = FALSE)
943
  {
@@ -947,7 +966,10 @@ class Mixin_Routing_App extends Mixin
947
  * Alias for set_parameter_value
948
  * @param string $key
949
  * @param mixed $value
950
- * @param mixed $id
 
 
 
951
  */
952
  function set_param($key, $value, $id = NULL, $use_prefix = FALSE, $url = FALSE)
953
  {
@@ -968,7 +990,7 @@ class Mixin_Routing_App extends Mixin
968
  * Gets a parameter's matching URI segment
969
  * @param string $key
970
  * @param mixed $id
971
- * @param mixed $default
972
  * @return mixed
973
  */
974
  function get_parameter_segment($key, $id = NULL, $url = FALSE)
18
  */
19
  class C_Http_Response_Controller extends C_Component
20
  {
21
+ /** @var C_Http_Response_Controller */
22
  static $_instance = NULL;
23
+ /**
24
+ * @param bool|string $context
25
+ * @return C_Http_Response_Controller
26
+ */
27
  static function get_instance($context = FALSE)
28
  {
29
  if (!isset(self::$_instance)) {
108
  }
109
  /**
110
  * Gets url for the router
111
+ * @param string $uri (optional) Default = /
112
+ * @param bool $with_qs (optional) Default = true
113
+ * @param bool $site_url
114
  * @return string
115
  */
116
  function get_url($uri = '/', $with_qs = TRUE, $site_url = FALSE)
144
  /**
145
  * Returns a static url
146
  * @param string $path
147
+ * @param string|false $module (optional)
148
  * @return string
149
  */
150
  function get_static_url($path, $module = FALSE)
159
  }
160
  /**
161
  * Gets the routed url
162
+ * @return string
163
  */
164
  function get_routed_url()
165
  {
190
  }
191
  /**
192
  * Serve request using defined Routing Apps
 
 
193
  */
194
  function serve_request()
195
  {
204
  }
205
  /**
206
  * Gets the querystring of the current request
207
+ * @return null|bool
208
  */
209
  function get_querystring()
210
  {
216
  }
217
  /**
218
  * Gets the request for the router
219
+ * @param bool $with_params (optional) Default = true
220
  * @return string
221
  */
222
  function get_request_uri($with_params = TRUE)
272
  /**
273
  * Sorts apps.This is needed because we want the most specific app to be
274
  * executed first
275
+ * @param C_Routing_App $a
276
+ * @param C_Routing_App $b
277
  * @return int
278
  */
279
  function _sort_apps($a, $b)
307
  parent::initialize();
308
  $this->_request_method = !empty($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : null;
309
  }
310
+ /**
311
+ * @param string|false $context (optional)
312
+ * @return self
313
+ */
314
  static function &get_instance($context = False)
315
  {
316
  if (!isset(self::$_instances[$context])) {
352
  * @param string $src Original URL
353
  * @param string $dst Destination URL
354
  * @param bool $redirect FALSE for internal handling, otherwise the HTTP code to send
355
+ * @param bool $stop
356
  */
357
  function rewrite($src, $dst, $redirect = FALSE, $stop = FALSE)
358
  {
382
  }
383
  /**
384
  * Gets an instance of the router
385
+ * @return C_Router
386
  */
387
  function get_router()
388
  {
420
  }
421
  /**
422
  * Sets the application request uri
423
+ * @param string $uri
424
  */
425
  function set_app_request_uri($uri)
426
  {
657
  /**
658
  * Adds a placeholder parameter
659
  * @param string $name
660
+ * @param string $value
661
  * @param string $source
662
  */
663
  function add_placeholder_param($name, $value, $source = NULL)
819
  * Sets the value of a particular parameter
820
  * @param string $key
821
  * @param mixed $value
822
+ * @param mixed $id (optional)
823
+ * @param bool $use_prefix (optional)
824
+ * @param bool|string $url (optional)
825
+ * @return string
826
  */
827
  function set_parameter_value($key, $value, $id = NULL, $use_prefix = FALSE, $url = FALSE)
828
  {
863
  * and returns the full application URL
864
  * @param string $key
865
  * @param mixed $id
866
+ * @return string|array|float|int
867
  */
868
  function remove_parameter($key, $id = NULL, $url = FALSE)
869
  {
907
  * Adds a parameter to the application's request URI
908
  * @param string $key
909
  * @param mixed $value
910
+ * @param mixed $id (optional)
911
+ * @param bool|string $use_prefix (optional)
912
+ * @return string
913
  */
914
  function add_parameter_to_app_request_uri($key, $value, $id = NULL, $use_prefix = FALSE)
915
  {
953
  * Alias for set_parameter_value
954
  * @param string $key
955
  * @param mixed $value
956
+ * @param mixed $id (optional)
957
+ * @param bool $use_prefix (optional)
958
+ * @param bool|string $url (optional)
959
+ * @return string
960
  */
961
  function set_parameter($key, $value, $id = NULL, $use_prefix = FALSE, $url = FALSE)
962
  {
966
  * Alias for set_parameter_value
967
  * @param string $key
968
  * @param mixed $value
969
+ * @param mixed $id (optional)
970
+ * @param bool $use_prefix (optional)
971
+ * @param bool|string $url (optional)
972
+ * @return string
973
  */
974
  function set_param($key, $value, $id = NULL, $use_prefix = FALSE, $url = FALSE)
975
  {
990
  * Gets a parameter's matching URI segment
991
  * @param string $key
992
  * @param mixed $id
993
+ * @param mixed $url
994
  * @return mixed
995
  */
996
  function get_parameter_segment($key, $id = NULL, $url = FALSE)
products/photocrati_nextgen/modules/security/package.module.security.php CHANGED
@@ -179,6 +179,10 @@ class C_Security_Manager extends C_Component
179
  $this->add_mixin('Mixin_Security_Manager');
180
  $this->add_mixin('Mixin_Security_Manager_Request');
181
  }
 
 
 
 
182
  static function get_instance($context = False)
183
  {
184
  if (!isset(self::$_instances[$context])) {
@@ -421,6 +425,10 @@ class C_WordPress_Security_Manager extends C_Security_Manager
421
  $this->add_mixin('Mixin_WordPress_Security_Manager');
422
  $this->add_mixin('Mixin_WordPress_Security_Manager_Request');
423
  }
 
 
 
 
424
  static function get_instance($context = False)
425
  {
426
  if (!isset(self::$_instances[$context])) {
179
  $this->add_mixin('Mixin_Security_Manager');
180
  $this->add_mixin('Mixin_Security_Manager_Request');
181
  }
182
+ /**
183
+ * @param bool|string $context
184
+ * @return C_Security_Manager
185
+ */
186
  static function get_instance($context = False)
187
  {
188
  if (!isset(self::$_instances[$context])) {
425
  $this->add_mixin('Mixin_WordPress_Security_Manager');
426
  $this->add_mixin('Mixin_WordPress_Security_Manager_Request');
427
  }
428
+ /**
429
+ * @param bool|string $context
430
+ * @return C_WordPress_Security_Manager
431
+ */
432
  static function get_instance($context = False)
433
  {
434
  if (!isset(self::$_instances[$context])) {
products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php CHANGED
@@ -137,6 +137,10 @@ class M_Third_Party_Compat extends C_Base_Module
137
  // TODO: Only needed for NGG Pro 1.0.10 and lower
138
  add_action('the_post', array(&$this, 'add_ngg_pro_page_parameter'));
139
 
 
 
 
 
140
  }
141
 
142
  function is_ngg_page()
@@ -153,7 +157,7 @@ class M_Third_Party_Compat extends C_Base_Module
153
  * Filter support for WordPress SEO
154
  *
155
  * @param array $images Provided by WPSEO Filter
156
- * @param int $post ID Provided by WPSEO Filter
157
  * @return array $image List of a displayed galleries entities
158
  */
159
  function add_wpseo_xml_sitemap_images($images, $post_id)
@@ -359,8 +363,8 @@ class M_Third_Party_Compat extends C_Base_Module
359
  * filters to apply. This checks for WeaverII and enables all NextGEN shortcodes that would otherwise be left
360
  * disabled by our shortcode manager. See https://core.trac.wordpress.org/ticket/17817 for more.
361
  *
362
- * @param $content
363
- * @return $content
364
  */
365
  function check_weaverii($content)
366
  {
137
  // TODO: Only needed for NGG Pro 1.0.10 and lower
138
  add_action('the_post', array(&$this, 'add_ngg_pro_page_parameter'));
139
 
140
+ // Because WPEngine converts "ORDER BY RAND()" to "ORDER BY 1"
141
+ if (function_exists('is_wpe') && is_wpe() && !defined('NGG_DISABLE_ORDER_BY_RAND')) {
142
+ define('ngg_disable_order_by_rand', 'true');
143
+ }
144
  }
145
 
146
  function is_ngg_page()
157
  * Filter support for WordPress SEO
158
  *
159
  * @param array $images Provided by WPSEO Filter
160
+ * @param int $post_id ID Provided by WPSEO Filter
161
  * @return array $image List of a displayed galleries entities
162
  */
163
  function add_wpseo_xml_sitemap_images($images, $post_id)
363
  * filters to apply. This checks for WeaverII and enables all NextGEN shortcodes that would otherwise be left
364
  * disabled by our shortcode manager. See https://core.trac.wordpress.org/ticket/17817 for more.
365
  *
366
+ * @param string $content
367
+ * @return string $content
368
  */
369
  function check_weaverii($content)
370
  {
products/photocrati_nextgen/modules/validation/package.module.validation.php CHANGED
@@ -26,8 +26,8 @@ class Mixin_Validation extends Mixin
26
  }
27
  /**
28
  * Adds an error for a particular property of the object
29
- * @param string $property
30
  * @param string $msg
 
31
  */
32
  function add_error($msg, $property = '*')
33
  {
@@ -78,7 +78,7 @@ class Mixin_Validation extends Mixin
78
  }
79
  /**
80
  * Gets all of the errors for the object
81
- * @return type
82
  */
83
  function get_errors($property = FALSE)
84
  {
@@ -92,7 +92,7 @@ class Mixin_Validation extends Mixin
92
  * Determines if an object, or a particular field for that object, has
93
  * errors
94
  * @param string $property
95
- * @return boolean
96
  */
97
  function is_valid($property = FALSE)
98
  {
@@ -109,8 +109,8 @@ class Mixin_Validation extends Mixin
109
  }
110
  /**
111
  * Determines if the object, or a particular field on the object, has errors
112
- * @param type $property
113
- * @return type
114
  */
115
  function is_invalid($property = FALSE)
116
  {
@@ -147,9 +147,9 @@ class Mixin_Validation extends Mixin
147
  }
148
  /**
149
  * Validates the length of a property's value
150
- * @param type $property
151
- * @param type $length
152
- * @param type $msg
153
  */
154
  function validates_length_of($property, $length, $comparison_operator = '=', $msg = FALSE)
155
  {
@@ -201,9 +201,9 @@ class Mixin_Validation extends Mixin
201
  * Validates that a property contains a numeric value. May optionally be tested against
202
  * other numbers.
203
  * @param string $property
204
- * @param decimal $comparison
205
  * @param string $comparison_operator
206
- * @param type $msg
207
  */
208
  function validates_numericality_of($property, $comparison = FALSE, $comparison_operator = FALSE, $int_only = FALSE, $msg = FALSE)
209
  {
@@ -389,7 +389,8 @@ class Mixin_Validation extends Mixin
389
  }
390
  /**
391
  * Validates the presence of a value for a particular field
392
- * @param string $property
 
393
  * @param string $msg
394
  */
395
  function validates_presence_of($properties, $with = array(), $msg = FALSE)
26
  }
27
  /**
28
  * Adds an error for a particular property of the object
 
29
  * @param string $msg
30
+ * @param string $property
31
  */
32
  function add_error($msg, $property = '*')
33
  {
78
  }
79
  /**
80
  * Gets all of the errors for the object
81
+ * @return array
82
  */
83
  function get_errors($property = FALSE)
84
  {
92
  * Determines if an object, or a particular field for that object, has
93
  * errors
94
  * @param string $property
95
+ * @return bool
96
  */
97
  function is_valid($property = FALSE)
98
  {
109
  }
110
  /**
111
  * Determines if the object, or a particular field on the object, has errors
112
+ * @param string $property
113
+ * @return bool
114
  */
115
  function is_invalid($property = FALSE)
116
  {
147
  }
148
  /**
149
  * Validates the length of a property's value
150
+ * @param string $property
151
+ * @param int $length
152
+ * @param string $msg
153
  */
154
  function validates_length_of($property, $length, $comparison_operator = '=', $msg = FALSE)
155
  {
201
  * Validates that a property contains a numeric value. May optionally be tested against
202
  * other numbers.
203
  * @param string $property
204
+ * @param int|float $comparison
205
  * @param string $comparison_operator
206
+ * @param string $msg
207
  */
208
  function validates_numericality_of($property, $comparison = FALSE, $comparison_operator = FALSE, $int_only = FALSE, $msg = FALSE)
209
  {
389
  }
390
  /**
391
  * Validates the presence of a value for a particular field
392
+ * @param string|array $properties
393
+ * @param array $with
394
  * @param string $msg
395
  */
396
  function validates_presence_of($properties, $with = array(), $msg = FALSE)
products/photocrati_nextgen/modules/widget/package.module.widget.php CHANGED
@@ -13,6 +13,10 @@ class C_Widget extends C_MVC_Controller
13
  $this->add_mixin('Mixin_Widget');
14
  $this->implement('I_Widget');
15
  }
 
 
 
 
16
  public static function get_instance($context = FALSE)
17
  {
18
  if (!isset(self::$_instances[$context])) {
@@ -26,7 +30,7 @@ class Mixin_Widget extends Mixin
26
  /**
27
  * Function for templates without widget support
28
  *
29
- * @return echo the widget content
30
  */
31
  function echo_widget_random($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail')
32
  {
@@ -38,7 +42,7 @@ class Mixin_Widget extends Mixin
38
  /**
39
  * Function for templates without widget support
40
  *
41
- * @return echo the widget content
42
  */
43
  function echo_widget_recent($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail')
44
  {
@@ -53,7 +57,7 @@ class Mixin_Widget extends Mixin
53
  * @param integer $galleryID
54
  * @param string $width
55
  * @param string $height
56
- * @return echo the widget content
57
  */
58
  function echo_widget_slideshow($galleryID, $width = '', $height = '')
59
  {
@@ -75,7 +79,7 @@ class C_Widget_Gallery extends WP_Widget
75
  $parent = C_Widget::get_instance();
76
  // defaults
77
  $instance = wp_parse_args((array) $instance, array('exclude' => 'all', 'height' => '75', 'items' => '4', 'list' => '', 'show' => 'thumbnail', 'title' => 'Gallery', 'type' => 'recent', 'webslice' => TRUE, 'width' => '100'));
78
- $parent->render_partial('photocrati-widget#form_gallery', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'items' => intval($instance['items']), 'height' => esc_attr($instance['height']), 'width' => esc_attr($instance['width'])));
79
  }
80
  function update($new_instance, $old_instance)
81
  {
@@ -118,8 +122,8 @@ class C_Widget_Gallery extends WP_Widget
118
  function widget($args, $instance)
119
  {
120
  $router = C_Router::get_instance();
121
- wp_enqueue_style('nextgen_widgets_style', $router->get_static_url('photocrati-widget#widgets.css'), FALSE, NGG_SCRIPT_VERSION);
122
- wp_enqueue_style('nextgen_basic_thumbnails_style', $router->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails.css'), FALSE, NGG_SCRIPT_VERSION);
123
  // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist
124
  $before_widget = NULL;
125
  $before_title = NULL;
@@ -175,7 +179,7 @@ class C_Widget_MediaRSS extends WP_Widget
175
  $parent = C_Widget::get_instance();
176
  // defaults
177
  $instance = wp_parse_args((array) $instance, array('mrss_text' => __('Media RSS', 'nggallery'), 'mrss_title' => __('Link to the main image feed', 'nggallery'), 'show_global_mrss' => TRUE, 'show_icon' => TRUE, 'title' => 'Media RSS'));
178
- $parent->render_partial('photocrati-widget#form_mediarss', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'mrss_text' => esc_attr($instance['mrss_text']), 'mrss_title' => esc_attr($instance['mrss_title'])));
179
  }
180
  function update($new_instance, $old_instance)
181
  {
@@ -232,7 +236,7 @@ class C_Widget_Slideshow extends WP_Widget
232
  $parent = C_Widget::get_instance();
233
  // defaults
234
  $instance = wp_parse_args((array) $instance, array('galleryid' => '0', 'height' => '120', 'title' => 'Slideshow', 'width' => '160', 'limit' => '10'));
235
- $parent->render_partial('photocrati-widget#form_slideshow', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'height' => esc_attr($instance['height']), 'width' => esc_attr($instance['width']), 'limit' => esc_attr($instance['limit']), 'tables' => $wpdb->get_results("SELECT * FROM {$wpdb->nggallery} ORDER BY 'name' ASC")));
236
  }
237
  function update($new_instance, $old_instance)
238
  {
@@ -258,8 +262,8 @@ class C_Widget_Slideshow extends WP_Widget
258
  function widget($args, $instance)
259
  {
260
  $router = C_Router::get_instance();
261
- wp_enqueue_style('nextgen_widgets_style', $router->get_static_url('photocrati-widget#widgets.css'), FALSE, NGG_SCRIPT_VERSION);
262
- wp_enqueue_style('nextgen_basic_slideshow_style', $router->get_static_url('photocrati-nextgen_basic_gallery#slideshow/nextgen_basic_slideshow.css'), FALSE, NGG_SCRIPT_VERSION);
263
  // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist
264
  $before_widget = NULL;
265
  $before_title = NULL;
13
  $this->add_mixin('Mixin_Widget');
14
  $this->implement('I_Widget');
15
  }
16
+ /**
17
+ * @param bool|string $context
18
+ * @return C_Widget
19
+ */
20
  public static function get_instance($context = FALSE)
21
  {
22
  if (!isset(self::$_instances[$context])) {
30
  /**
31
  * Function for templates without widget support
32
  *
33
+ * @return C_Widget_Gallery
34
  */
35
  function echo_widget_random($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail')
36
  {
42
  /**
43
  * Function for templates without widget support
44
  *
45
+ * @return C_Widget_Gallery
46
  */
47
  function echo_widget_recent($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail')
48
  {
57
  * @param integer $galleryID
58
  * @param string $width
59
  * @param string $height
60
+ * @return C_Widget_Slideshow
61
  */
62
  function echo_widget_slideshow($galleryID, $width = '', $height = '')
63
  {
79
  $parent = C_Widget::get_instance();
80
  // defaults
81
  $instance = wp_parse_args((array) $instance, array('exclude' => 'all', 'height' => '75', 'items' => '4', 'list' => '', 'show' => 'thumbnail', 'title' => 'Gallery', 'type' => 'recent', 'webslice' => TRUE, 'width' => '100'));
82
+ return $parent->render_partial('photocrati-widget#form_gallery', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'items' => intval($instance['items']), 'height' => esc_attr($instance['height']), 'width' => esc_attr($instance['width'])));
83
  }
84
  function update($new_instance, $old_instance)
85
  {
122
  function widget($args, $instance)
123
  {
124
  $router = C_Router::get_instance();
125
+ wp_enqueue_style('nextgen_widgets_style', $router->get_static_url('photocrati-widget#widgets.css'), array(), NGG_SCRIPT_VERSION);
126
+ wp_enqueue_style('nextgen_basic_thumbnails_style', $router->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails.css'), array(), NGG_SCRIPT_VERSION);
127
  // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist
128
  $before_widget = NULL;
129
  $before_title = NULL;
179
  $parent = C_Widget::get_instance();
180
  // defaults
181
  $instance = wp_parse_args((array) $instance, array('mrss_text' => __('Media RSS', 'nggallery'), 'mrss_title' => __('Link to the main image feed', 'nggallery'), 'show_global_mrss' => TRUE, 'show_icon' => TRUE, 'title' => 'Media RSS'));
182
+ return $parent->render_partial('photocrati-widget#form_mediarss', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'mrss_text' => esc_attr($instance['mrss_text']), 'mrss_title' => esc_attr($instance['mrss_title'])));
183
  }
184
  function update($new_instance, $old_instance)
185
  {
236
  $parent = C_Widget::get_instance();
237
  // defaults
238
  $instance = wp_parse_args((array) $instance, array('galleryid' => '0', 'height' => '120', 'title' => 'Slideshow', 'width' => '160', 'limit' => '10'));
239
+ return $parent->render_partial('photocrati-widget#form_slideshow', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'height' => esc_attr($instance['height']), 'width' => esc_attr($instance['width']), 'limit' => esc_attr($instance['limit']), 'tables' => $wpdb->get_results("SELECT * FROM {$wpdb->nggallery} ORDER BY 'name' ASC")));
240
  }
241
  function update($new_instance, $old_instance)
242
  {
262
  function widget($args, $instance)
263
  {
264
  $router = C_Router::get_instance();
265
+ wp_enqueue_style('nextgen_widgets_style', $router->get_static_url('photocrati-widget#widgets.css'), array(), NGG_SCRIPT_VERSION);
266
+ wp_enqueue_style('nextgen_basic_slideshow_style', $router->get_static_url('photocrati-nextgen_basic_gallery#slideshow/nextgen_basic_slideshow.css'), array(), NGG_SCRIPT_VERSION);
267
  // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist
268
  $before_widget = NULL;
269
  $before_title = NULL;
products/photocrati_nextgen/modules/wpcli/module.wpcli.php CHANGED
@@ -43,6 +43,8 @@ if (defined('WP_CLI') && WP_CLI && class_exists('WP_CLI_Command', FALSE)) {
43
  {
44
  /**
45
  * Flushes NextGen Gallery caches
 
 
46
  */
47
  function flush_cache($args, $assoc_args)
48
  {
@@ -52,7 +54,8 @@ if (defined('WP_CLI') && WP_CLI && class_exists('WP_CLI_Command', FALSE)) {
52
 
53
  /**
54
  * Create a new gallery
55
- *
 
56
  * @synopsis <gallery-name> --author=<user_login>
57
  */
58
  function create_gallery($args, $assoc_args)
@@ -75,7 +78,8 @@ if (defined('WP_CLI') && WP_CLI && class_exists('WP_CLI_Command', FALSE)) {
75
 
76
  /**
77
  * Import an image from the filesystem into NextGen
78
- *
 
79
  * @synopsis --filename=<absolute-path> --gallery=<gallery-id>
80
  */
81
  function import_image($args, $assoc_args)
@@ -105,7 +109,8 @@ if (defined('WP_CLI') && WP_CLI && class_exists('WP_CLI_Command', FALSE)) {
105
 
106
  /**
107
  * Clear all dismissed notifications handled by C_Admin_Notification_Manager
108
- *
 
109
  * @synopsis
110
  */
111
  function clear_dismissed_notifications($args, $assoc_args)
43
  {
44
  /**
45
  * Flushes NextGen Gallery caches
46
+ * @param array $args
47
+ * @param array $assoc_args
48
  */
49
  function flush_cache($args, $assoc_args)
50
  {
54
 
55
  /**
56
  * Create a new gallery
57
+ * @param array $args
58
+ * @param array $assoc_args
59
  * @synopsis <gallery-name> --author=<user_login>
60
  */
61
  function create_gallery($args, $assoc_args)
78
 
79
  /**
80
  * Import an image from the filesystem into NextGen
81
+ * @param array $args
82
+ * @param array $assoc_args
83
  * @synopsis --filename=<absolute-path> --gallery=<gallery-id>
84
  */
85
  function import_image($args, $assoc_args)
109
 
110
  /**
111
  * Clear all dismissed notifications handled by C_Admin_Notification_Manager
112
+ * @param array $args
113
+ * @param array $assoc_args
114
  * @synopsis
115
  */
116
  function clear_dismissed_notifications($args, $assoc_args)
readme.txt CHANGED
@@ -2,11 +2,11 @@
2
  Contributors: photocrati, imagely
3
  Tags: wordpress gallery plugin, gallery, nextgen, nextgen gallery, photo gallery, image gallery, photography, slideshow, images, photo, photo album, watermark
4
  Requires at least: 4.0.0
5
- Stable tag: 3.0.13
6
  Tested up to: 4.9.8
7
  License: GPLv2
8
 
9
- The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 22 million downloads.
10
 
11
  == Description ==
12
 
@@ -183,10 +183,27 @@ For more information, feel free to visit the official website for the NextGEN Ga
183
 
184
  == Changelog ==
185
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  = V3.0.13 - 10.11.2018 =
187
  * Changed: Added settings for basic slideshow
188
 
189
- = V3.0.9 - 10.02.2018 =
190
  * NEW: Added 2.0 template mechanism for basic galleries
191
  * NEW: Simple Lightbox is the new default Lightbox
192
  * Changed: Changed Javascript library and styling for basic slideshow
2
  Contributors: photocrati, imagely
3
  Tags: wordpress gallery plugin, gallery, nextgen, nextgen gallery, photo gallery, image gallery, photography, slideshow, images, photo, photo album, watermark
4
  Requires at least: 4.0.0
5
+ Stable tag: 3.0.15
6
  Tested up to: 4.9.8
7
  License: GPLv2
8
 
9
+ The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 23 million downloads.
10
 
11
  == Description ==
12
 
183
 
184
  == Changelog ==
185
 
186
+ = v3.0.15 - 10.23.2018 =
187
+ * NEW: Added requirements notification manager
188
+ * Changed: Basic Thumbnails default setting from "[Show slideshow]" to "Show slideshow"
189
+ * Changed: Fixed order_by=rand and 'variations' system not working by storing random results in a transient for 24h
190
+ * Changed: How gallery directories are removed
191
+ * Changed: Improved memory use during thumbnail generation
192
+ * Changed: Manage Albums page now uses GET for editing navigation
193
+ * Changed: Upgrading FontAwesome to 5.0.13
194
+ * Fixed: Attribute 'target=_blank' not working in lightbox effects
195
+ * Fixed: Conflict with WP Social Widget
196
+ * Fixed: Corrected numerous phpdoc problems found by Phan
197
+ * Fixed: Editing of image attributes from search-galleries page
198
+ * Fixed: Gritter messages with long texts overlapped their close-notification icon
199
+ * Fixed: IGW gallery selections not persisting between edits
200
+ * Fixed: Orphaned entries being created and/or left in wp_postmeta
201
+ * Fixed: Repeated and missing images in featured images list
202
+
203
  = V3.0.13 - 10.11.2018 =
204
  * Changed: Added settings for basic slideshow
205
 
206
+ = V3.0.9 - 09.25.2018 =
207
  * NEW: Added 2.0 template mechanism for basic galleries
208
  * NEW: Simple Lightbox is the new default Lightbox
209
  * Changed: Changed Javascript library and styling for basic slideshow