Image Photo Gallery Final Tiles Grid - Version 3.0.0

Version Description

  • [Add] Removed limit of 20 images per gallery
  • [Add] New masonry layout available
  • [Add] Dozens of improvements
Download this release

Release Info

Developer GreenTreeLabs
Plugin Icon 128x128 Image Photo Gallery Final Tiles Grid
Version 3.0.0
Comparing to
See all releases

Code changes from version 2.0.15 to 3.0.0

FinalTilesGalleryLite.php CHANGED
@@ -4,803 +4,1076 @@ Plugin Name: Final Tiles Grid Gallery Lite
4
  Plugin URI: http://codecanyon.net/item/final-tiles-gallery-for-wordpress/5189351?ref=GreenTreeLabs
5
  Description: Wordpress Plugin for creating responsive image galleries. By: Green Tree Labs
6
  Author: Green Tree Labs
7
- Version: 2.0.15
8
  Author URI: http://codecanyon.net/user/GreenTreeLabs
9
  */
10
 
11
- define("FTGLITEVERSION", "2.0.15");
12
  define("PRO_CALL", "<span class='procall'>(<a href='http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351' target='_blank'>available with PRO version</a>)</span>");
13
  define("PRO_UNLOCK", "<a href='http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351' target='_blank'>Add unlimited images with PRO version</a>");
14
 
 
15
  if (!class_exists("FinalTiles_GalleryLite"))
16
  {
17
- class FinalTiles_GalleryLite
18
  {
19
- //Constructor
20
- public function __construct()
21
- {
22
- $this->plugin_name = plugin_basename(__FILE__);
23
- $this->define_constants();
24
- $this->define_db_tables();
25
- $this->FinalTilesdb = $this->create_db_conn();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
- register_activation_hook( __FILE__, array($this, 'activation'));
 
 
29
 
30
- add_filter('widget_text', 'do_shortcode');
31
 
32
- add_action('init', array($this, 'create_textdomain'));
 
33
 
34
- add_action('wp_enqueue_scripts', array($this, 'add_gallery_scripts'));
 
 
35
 
36
- //add_action( 'admin_init', array($this,'gallery_admin_init') );
37
- add_action( 'admin_menu', array($this, 'add_gallery_admin_menu') );
38
 
39
- add_shortcode( 'FinalTilesGallery', array($this, 'gallery_shortcode_handler') );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
- add_action('wp_ajax_save_gallery', array($this,'save_gallery'));
42
- add_action('wp_ajax_add_new_gallery', array($this,'add_new_gallery'));
43
- add_action('wp_ajax_delete_gallery', array($this,'delete_gallery'));
44
- add_action('wp_ajax_clone_gallery', array($this,'clone_gallery'));
45
- add_action('wp_ajax_save_image', array($this,'save_image'));
46
- add_action('wp_ajax_add_image', array($this,'add_image'));
47
- add_action('wp_ajax_save_video', array($this,'save_video'));
48
- add_action('wp_ajax_sort_images', array($this,'sort_images'));
49
- add_action('wp_ajax_delete_image', array($this,'delete_image'));
50
- add_action('wp_ajax_refresh_gallery', array($this,'refresh_gallery'));
51
 
 
 
52
 
53
- add_filter('mce_buttons', array($this, 'editor_button'));
54
- add_filter('mce_external_plugins', array($this, 'register_editor_plugin'));
55
- add_action('wp_ajax_ftg_shortcode_editor', array($this, 'ftg_shortcode_editor'));
56
 
57
- add_filter( 'plugin_row_meta',array( $this, 'register_links' ),10,2);
 
 
 
58
 
 
 
 
 
 
59
 
 
 
60
 
61
- $this->resetFields();
62
- }
 
 
 
63
 
64
- public function gallery_admin_bar()
65
- {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  global $wp_admin_bar;
67
 
68
  $wp_admin_bar->add_menu( array(
69
  'id' => 'ftg-upgrade-bar',
70
  'href' => 'http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351',
71
  'parent' => 'top-secondary',
72
- 'title' => __('Upgrade to Final Tiles Grid Gallery PRO'),
73
  'meta' => array('class' => 'ftg-upgrade-to-pro', 'target' => '_blank' ),
74
  ) );
75
- }
76
-
77
- private function resetFields()
78
- {
79
- $keys = array('name', 'hiddenFor', 'type', 'description', 'default', 'min', 'max', 'mu', 'excludeFrom');
80
-
81
- foreach ($this->fields as $tab_name => $tab)
82
- {
83
- foreach ($tab["fields"] as $key => $field)
84
- {
85
- //print_r($field);
86
- foreach ($keys as $kk)
87
- {
88
- if(!array_key_exists($kk, $field)) {
89
- $this->fields[$tab_name]["fields"][$key][$kk] = "";
90
- }
91
- }
92
- }
93
 
94
  }
95
  //print_r($this->fields);
96
- }
97
-
98
- public function register_links($links, $file)
99
- {
100
- $base = plugin_basename(__FILE__);
101
- if ($file == $base) {
102
- $links[] = '<a href="admin.php?page=FinalTiles-gallery-admin" title="Final Tiles Grid Gallery Dashboard">Dashboard</a>';
103
- $links[] = '<a href="admin.php?page=support" title="Final Tiles Grid Gallery Support">Support</a>';
104
- $links[] = '<a href="https://twitter.com/greentreelabs" title="@GreenTreeLabs on Twitter">Twitter</a>';
105
- $links[] = '<a href="https://www.facebook.com/greentreelabs" title="GreenTreeLabs on Facebook">Facebook</a>';
106
- $links[] = '<a href="https://www.google.com/+GreentreelabsNetjs" title="GreenTreeLabs on Google+">Google+</a>';
107
- }
108
- return $links;
109
 
110
- }
111
 
112
  public function create_db_tables()
113
  {
114
- include_once (WP_PLUGIN_DIR . '/final-tiles-grid-gallery-lite/lib/install-db.php');
115
- install_db();
116
- //ftg_nullable();
117
  }
118
 
119
  public function activation()
120
  {
121
- $this->add_gallery_options();
122
- $this->FinalTilesdb->updateConfiguration();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  }
124
 
125
- //Define textdomain
126
- public function create_textdomain()
127
- {
128
- $plugin_dir = basename(dirname(__FILE__));
129
- load_plugin_textdomain( 'final-tiles-gallery', false, $plugin_dir.'/lib/languages' );
130
- }
131
-
132
- //Define constants
133
- public function define_constants()
134
- {
135
- if ( ! defined( 'FINALTILESGALLERY_PLUGIN_BASENAME' ) )
136
- define( 'FINALTILESGALLERY_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
137
-
138
- if ( ! defined( 'FINALTILESGALLERY_PLUGIN_NAME' ) )
139
- define( 'FINALTILESGALLERY_PLUGIN_NAME', trim( dirname( FINALTILESGALLERY_PLUGIN_BASENAME ), '/' ) );
140
-
141
- if ( ! defined( 'FINALTILESGALLERY_PLUGIN_DIR' ) )
142
- define( 'FINALTILESGALLERY_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . FINALTILESGALLERY_PLUGIN_NAME );
143
- }
144
-
145
- //Define DB tables
146
- public function define_db_tables()
147
- {
148
- global $wpdb;
149
-
150
- $wpdb->FinalTilesGalleries = $wpdb->prefix . 'FinalTiles_gallery';
151
- $wpdb->FinalTilesImages = $wpdb->prefix . 'FinalTiles_gallery_images';
152
- }
153
-
154
-
155
- public function create_db_conn()
156
- {
157
- require('lib/db-class.php');
158
- $FinalTilesdb = FinalTilesLiteDB::getInstance();
159
- return $FinalTilesdb;
160
- }
161
-
162
- public function editor_button($buttons)
163
- {
164
- array_push($buttons, 'separator', 'ftg_shortcode_editor');
165
- return $buttons;
166
- }
167
-
168
- public function register_editor_plugin($plugin_array)
169
- {
170
- $plugin_array['ftg_shortcode_editor'] = plugins_url('/admin/scripts/editor-plugin.js',__file__);
171
- return $plugin_array;
172
- }
173
-
174
- public function ftg_shortcode_editor()
175
- {
176
- $css_path = plugins_url( 'assets/css/admin.css', __FILE__ );
177
- $admin_url = admin_url();
178
-
179
- $galleries = $this->FinalTilesdb->getGalleries(); //load all galleries
180
-
181
- include 'admin/include/tinymce-galleries.php';
182
- die();
183
- }
184
-
185
  public function attachment_fields_to_edit($form, $post)
186
- {
187
- $form["ftg_link"] = array(
188
- "label" => "Link <small>FTG</small>",
189
- "input" => "text",
190
- "value" => get_post_meta($post->ID, "_ftg_link", true),
191
- "helps" => ""
192
- );
193
- $form["ftg_target"] = array(
194
- "label" => "_blank <small>FTG</small>",
195
- "input" => "html",
196
- "html" =>
197
- "<input type='checkbox' name='attachments[{$post->ID}][ftg_target]' id='attachments[{$post->ID}][ftg_target]' value='_mblank' ".
198
- (get_post_meta($post->ID, "_ftg_target", true) == "_mblank" ? "checked" : "")
199
- ." />"
200
- );
201
- return $form;
202
- }
203
-
204
- public function attachment_fields_to_save($post, $attachment)
205
- {
206
- if(isset($attachment['ftg_link'])){
207
- update_post_meta($post['ID'], '_ftg_link', $attachment['ftg_link']);
208
- }
209
- if(isset($attachment['ftg_target'])){
210
- update_post_meta($post['ID'], '_ftg_target', $attachment['ftg_target']);
211
- }
212
- return $post;
213
- }
214
-
215
- //Add gallery options
216
- public function add_gallery_options()
217
- {
218
- $gallery_options = array(
219
- 'margin' => 10,
220
- 'defaultSize' => 'medium',
221
- 'width' => '100%',
222
- 'minTileWidth' => '100',
223
- 'gridCellSize' => '25',
224
- 'lightbox' => 'lightbox',
225
- 'recentPostsCaption' => 'title',
226
- 'captionIcon' => 'zoom',
227
- 'reverseOrder' => false,
228
- 'captionIconColor' => '#ffffff',
229
- 'captionBackgroundColor' => '#000000',
230
- 'captionColor' => '#ffffff',
231
- 'captionEffectDuration' => 250,
232
- 'captionOpacity' => 80,
233
- 'borderSize' => 0,
234
- 'borderRadius' => 0,
235
- 'shadowSize' => 0,
236
- 'imageSizeFactor' => 90,
237
- 'imageSizeFactorTabletLandscape' => 80,
238
- 'imageSizeFactorTabletPortrait' => 70,
239
- 'imageSizeFactorPhoneLandscape' => 60,
240
- 'imageSizeFactorPhonePortrait' => 50,
241
- 'imageSizeFactorCustom' => '',
242
- 'enlargeImages' => 'T',
243
- 'wp_field_caption' => 'description',
244
- 'captionBehavior' => 'hidden',
245
- 'captionFullHeight' => 'T',
246
- 'captionEmpty' => 'hide',
247
- 'captionEffect' => 'fade',
248
- 'captionEasing' => 'linear',
249
- 'captionMobileBehavior' => "desktop",
250
- 'scrollEffect' => 'none',
251
- 'hoverZoom' => 100,
252
- 'hoverRotation' => 0,
253
- 'source' => 'images',
254
- 'delay' => 0,
255
- 'socialIconColor' => '#ffffff',
256
- 'support' => 'F',
257
- 'loadedScale' => 100,
258
- 'loadedRotate' => 0,
259
- 'loadedHSlide' => 0,
260
- 'loadedVSlide' => 0
261
-
262
- );
263
-
264
- update_option('FinalTiles_gallery_options', $gallery_options);
265
- }
266
-
267
- //Delete gallery
268
- public function delete_gallery()
269
- {
270
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
271
- {
272
- $this->FinalTilesdb->deleteGallery(intval($_POST['id']));
273
- }
274
- exit();
275
- }
276
-
277
- //Clone gallery
278
- public function clone_gallery()
279
- {
280
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
281
- {
282
- $sourceId = intval($_POST['id']);
283
- $g = $this->FinalTilesdb->getGalleryById($sourceId, true);
284
- $g['name'] .= " (copy)";
285
- $this->FinalTilesdb->addGallery($g);
286
- $id = $this->FinalTilesdb->getNewGalleryId();
287
- $images = $this->FinalTilesdb->getImagesByGalleryId($sourceId);
288
- foreach($images as &$image)
289
- {
290
- $image->Id = null;
291
- $image->gid = $id;
292
- }
293
- $this->FinalTilesdb->addImages($id, $images);
294
- }
295
- exit();
296
- }
297
-
298
- //Add gallery scripts
299
- public function add_gallery_scripts()
300
- {
301
- wp_enqueue_script('jquery');
302
-
303
- wp_register_script('finalTilesGallery', plugins_url() . '/final-tiles-grid-gallery-lite/scripts/script.js', array('jquery'), FTGLITEVERSION);
304
- wp_enqueue_script('finalTilesGallery');
305
-
306
-
307
- wp_register_style('finalTilesGallery_stylesheet', plugins_url() . '/final-tiles-grid-gallery-lite/scripts/ftg.css', array(), FTGLITEVERSION);
308
- wp_enqueue_style('finalTilesGallery_stylesheet');
309
-
310
- wp_register_script('lightbox2_script', plugins_url() . '/final-tiles-grid-gallery-lite/lightbox/lightbox2/js/script.js', array('jquery'));
311
- wp_register_style('lightbox2_stylesheet', plugins_url() . '/final-tiles-grid-gallery-lite/lightbox/lightbox2/css/style.css');
312
 
313
- wp_register_style('fontawesome_stylesheet', '//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css');
314
- wp_enqueue_style('fontawesome_stylesheet');
315
 
316
- }
 
 
 
 
 
 
 
 
 
 
 
317
 
318
- //Admin Section - register scripts and styles
319
- public function gallery_admin_init()
320
- {
321
- if(function_exists( 'wp_enqueue_media' ))
322
- {
323
- wp_enqueue_media();
324
- }
325
- //wp_enqueue_script( 'custom-header' );
326
- wp_register_style('google-fonts', '//fonts.googleapis.com/css?family=Roboto:400,700,500,300,900');
327
- wp_enqueue_style('google-fonts');
328
-
329
- wp_register_style('google-icons', '//cdn.materialdesignicons.com/1.1.34/css/materialdesignicons.min.css', array());
330
- wp_enqueue_style('google-icons');
331
 
 
332
 
333
- wp_enqueue_script('jquery');
334
- wp_enqueue_script('jquery-ui-dialog');
335
- wp_enqueue_script('jquery-ui-sortable');
 
336
 
337
- wp_enqueue_script( 'wp-color-picker' );
338
- wp_enqueue_style( 'wp-color-picker' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
339
 
340
- wp_enqueue_script('media-upload');
341
- wp_enqueue_script('thickbox');
 
 
342
 
343
- wp_register_style('final-tiles-gallery-admin', plugins_url() . '/final-tiles-grid-gallery-lite/admin/css/style.css', array('colors'), FTGLITEVERSION);
344
- wp_enqueue_style('final-tiles-gallery-admin');
345
 
346
- wp_register_script('materialize', plugins_url() . '/final-tiles-grid-gallery-lite/admin/scripts/materialize.min.js', array('jquery'));
347
- wp_enqueue_script('materialize');
348
 
349
- wp_register_script('final-tiles-gallery', plugins_url() . '/final-tiles-grid-gallery-lite/admin/scripts/final-tiles-gallery-admin.js', array('jquery','media-upload','thickbox', 'materialize'), FTGLITEVERSION);
350
- wp_enqueue_script('final-tiles-gallery');
351
 
352
- wp_enqueue_style('thickbox');
 
353
 
354
- wp_register_style('fontawesome_stylesheet', '//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css');
355
  wp_enqueue_style('fontawesome_stylesheet');
 
356
 
357
- $ftg_db_version = '3.1';
358
- $installed_ver = get_option( "FinalTiles_gallery_db_version" );
 
 
 
 
 
 
 
 
 
 
 
 
 
359
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
 
361
- if( $installed_ver != $ftg_db_version )
362
- {
363
- $this->create_db_tables();
364
- update_option( "FinalTiles_gallery_db_version", $ftg_db_version );
365
- }
366
- }
367
 
368
- public function FinalTiles_gallery_admin_style_load()
369
- {
370
- wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/ui-darkness/jquery-ui.min.css');
371
- }
372
 
373
- //Create Admin Menu
374
- public function add_gallery_admin_menu()
375
- {
376
- $overview = add_menu_page('Final Tiles Gallery', 'Final Tiles Gallery', 'edit_posts', 'ftg-lite-gallery-admin', array($this, 'add_overview'), plugins_url() . '/final-tiles-grid-gallery-lite/admin/icon.png');
377
- $add_gallery = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Add Gallery','FinalTiles-gallery'), __('Add Gallery','FinalTiles-gallery'), 'edit_posts', 'ftg-lite-add-gallery', array($this, 'add_gallery'));
378
- $plugins = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Other galleries','FinalTiles-gallery'), __('Other galleries','FinalTiles-gallery'), 'edit_posts', 'ftg-lite-gallery-others', array($this, 'other_galleries'));
379
- $tutorial = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Tutorial','FinalTiles-gallery'), __('Tutorial','FinalTiles-gallery'), 'edit_posts', 'ftg-lite-tutorial', array($this, 'tutorial'));
380
- $upgrade = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Upgrade','FinalTiles-gallery'), __('Upgrade','FinalTiles-gallery'), 'edit_posts', 'ftg-lite-gallery-upgrade', array($this, 'upgrade'));
381
 
382
- add_action('admin_print_styles-'.$add_gallery, array($this, 'FinalTiles_gallery_admin_style_load'));
 
383
 
384
- //
 
385
 
 
 
 
 
386
 
387
- add_action('load-'.$tutorial, array($this, 'gallery_admin_init'));
388
- add_action('load-'.$overview, array($this, 'gallery_admin_init'));
389
- add_action('load-'.$plugins, array($this, 'gallery_admin_init'));
390
- add_action('load-'.$add_gallery, array($this, 'gallery_admin_init'));
391
- add_action('load-'.$upgrade, array($this, 'gallery_admin_init'));
392
- // add_action('load-'.$edit_gallery, array($this, 'gallery_admin_init'));
393
- // add_action('load-'.$support, array($this, 'gallery_admin_init'));
394
 
395
- add_action( 'admin_bar_menu', array($this, 'gallery_admin_bar'), 100);
396
- }
397
 
398
- //Create Admin Pages
399
- public function add_overview()
400
- {
401
- global $ftg_fields;
402
- $ftg_fields = $this->fields;
403
 
404
- global $ftg_parent_page;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  $ftg_parent_page = "dashboard";
406
-
407
- if(array_key_exists("id", $_GET))
408
- {
409
- include("admin/edit-gallery.php");
410
- }
411
- else
412
- {
413
- include("admin/overview.php");
414
- }
415
- }
416
-
417
- public function upgrade()
418
- {
419
- include("admin/upgrade.php");
420
- }
421
-
422
- public function other_galleries()
423
- {
424
- include("admin/galleries.php");
425
- }
426
-
427
- public function tutorial()
428
- {
429
- include("admin/tutorial.php");
430
- }
431
-
432
- public function support()
433
- {
434
- include("admin/support.php");
435
- }
436
-
437
-
438
-
439
- public function add_gallery()
440
- {
441
- global $ftg_fields;
442
- $ftg_fields = $this->fields;
443
- $gallery = null;
444
-
445
- include("admin/add-gallery.php");
446
- }
447
-
448
- public function delete_image()
449
- {
450
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
451
- {
452
- foreach (explode(",", $_POST["id"]) as $id) {
453
- $this->FinalTilesdb->deleteImage(intval($id));
454
- }
455
- }
456
- die();
457
- }
458
-
459
-
460
-
461
- public function add_image()
462
- {
463
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
464
- {
465
- $gid = intval($_POST['galleryId']);
466
- $enc_images = stripslashes($_POST["enc_images"]);
467
- $images = json_decode($enc_images);
468
-
469
- $result = $this->FinalTilesdb->addImages($gid, $images);
470
-
471
- header("Content-type: application/json");
472
- if($result === false)
473
- {
474
- print "{\"success\":false}";
475
- }
476
- else
477
- {
478
- print "{\"success\":true}";
479
- }
480
- }
481
- die();
482
- }
483
-
484
- public function list_thumbnail_sizes()
485
- {
486
- global $_wp_additional_image_sizes;
487
- $sizes = array();
488
- foreach( get_intermediate_image_sizes() as $s )
489
- {
490
- $sizes[ $s ] = array( 0, 0 );
491
- if( in_array( $s, array( 'thumbnail', 'medium', 'large' ) ) )
492
- {
493
- $sizes[ $s ][0] = get_option( $s . '_size_w' );
494
- $sizes[ $s ][1] = get_option( $s . '_size_h' );
495
- }
496
- else
497
- {
498
- if( isset( $_wp_additional_image_sizes ) &&
499
- isset( $_wp_additional_image_sizes[ $s ] ))
500
- $sizes[ $s ] = array( $_wp_additional_image_sizes[ $s ]['width'], $_wp_additional_image_sizes[ $s ]['height'], );
501
- }
502
- }
503
-
504
- return $sizes;
505
- }
506
-
507
- public function sort_images()
508
- {
509
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
510
- {
511
- $result = $this->FinalTilesdb->sortImages(explode(',', $_POST['ids']));
512
-
513
- header("Content-type: application/json");
514
- if($result === false)
515
- {
516
- print "{\"success\":false}";
517
- }
518
- else
519
- {
520
- print "{\"success\":true}";
521
- }
522
- }
523
- die();
524
- }
525
-
526
- public function refresh_gallery()
527
- {
528
- if($_POST['source'] == 'images')
529
- $this->list_images();
530
- if($_POST['source'] == 'posts')
531
- $this->list_posts(null);
532
- if($_POST['source'] == 'woocommerce')
533
- $this->list_posts('product');
534
- }
535
 
 
 
 
 
 
 
 
 
 
 
 
536
 
 
 
 
 
 
 
 
 
 
537
 
538
- public function save_image()
539
- {
540
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
541
- {
542
- $result = false;
543
-
544
- $type = $_POST['type'];
545
- $imageUrl = stripslashes($_POST['img_url']);
546
- $imageCaption = stripslashes($_POST['description']);
547
- $target = $_POST['target'];
548
- $link = isset($_POST['link']) ? stripslashes($_POST['link']) : null;
549
- $imageId = intval($_POST['img_id']);
550
- $sortOrder = intval($_POST['sortOrder']);
551
-
552
- $data = array("imagePath" => $imageUrl,
553
- "target" => $target,
554
- "link" => $link,
555
- "imageId" => $imageId,
556
- "description" => $imageCaption,
557
- "sortOrder" => $sortOrder);
558
- if(!empty($_POST["id"]))
559
- {
560
- $imageId = intval($_POST['id']);
561
- $result = $this->FinalTilesdb->editImage($imageId, $data);
562
- }
563
- else
564
- {
565
- $data["gid"] = intval($_POST['galleryId']);
566
- $result = $this->FinalTilesdb->addFullImage($data);
567
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
568
 
569
- header("Content-type: application/json");
570
-
571
- if($result === false)
572
- {
573
- print "{\"success\":false}";
574
- }
575
- else
576
- {
577
- print "{\"success\":true}";
578
- }
579
- }
580
- die();
581
- }
582
-
583
-
584
-
585
- public function list_images()
586
- {
587
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
588
- {
589
-
590
- $gid = intval($_POST["gid"]);
591
- $imageResults = $this->FinalTilesdb->getImagesByGalleryId($gid);
592
-
593
- $list_size = "medium";
594
- $column_size = "s2 m2";
595
-
596
- if(isset($_POST['list_size']) && !empty($_POST['list_size']))
597
- {
598
- $list_size = $_POST['list_size'];
599
- }
600
-
601
- setcookie('ftg_imglist_size', $list_size);
602
- $_COOKIE['ftg_imglist_size'] = $list_size;
603
-
604
- if($list_size == 'small')
605
- $column_size = 's1 m1';
606
- if($list_size == 'medium')
607
- $column_size = 's2 m2';
608
- if($list_size == 'big')
609
- $column_size = 's3 m3';
610
-
611
- include('admin/include/image-list.php');
612
- }
613
- die();
614
- }
615
-
616
- public function add_new_gallery()
617
- {
618
- if(check_admin_referer('add_new_gallery', 'ftg'))
619
- {
620
- $data = get_option('FinalTiles_gallery_options');
621
-
622
- $data["name"] = $_POST['ftg_name'];
623
- $data["description"] = $_POST['ftg_description'];
624
- $data["source"] = $_POST['ftg_source'];
625
- $data["wp_field_caption"] = $_POST['ftg_wp_field_caption'];
626
- $data["captionEffect"] = $_POST['ftg_captionEffect'];
627
-
628
- $result = $this->FinalTilesdb->addGallery($data);
629
- $id = $this->FinalTilesdb->getNewGalleryId();
630
-
631
- if($id > 0 && array_key_exists('enc_images', $_POST) && strlen($_POST['enc_images']))
632
- {
633
- $enc_images = stripslashes($_POST["enc_images"]);
634
- $images = json_decode($enc_images);
635
- $images = array_slice($images, 0, 40/2);
636
- $result = $this->FinalTilesdb->addImages($id, $images);
637
- }
638
-
639
- print $id;
640
- }
641
- else
642
- {
643
- print -1;
644
- }
645
- die();
646
- }
647
-
648
- private function checkboxVal($field)
649
- {
650
- if(isset($_POST[$field]))
651
- return 'T';
652
-
653
- return 'F';
654
- }
655
-
656
- public function save_gallery()
657
- {
658
- if(check_admin_referer('FinalTiles_gallery','FinalTiles_gallery'))
659
- {
660
- $galleryName = stripslashes($_POST['ftg_name']);
661
- $galleryDescription = stripslashes($_POST['ftg_description']);
662
- $slug = strtolower(str_replace(" ", "", $galleryName));
663
- $margin = intval($_POST['ftg_margin']);
664
- $minTileWidth = intval($_POST['ftg_minTileWidth']);
665
- $gridCellSize = intval($_POST['ftg_gridCellSize']);
666
- $imagesOrder = $_POST['ftg_imagesOrder'];
667
  $width = $_POST['ftg_width'];
668
- $enableTwitter = $this->checkboxVal('ftg_enableTwitter');
669
- $enableFacebook = $this->checkboxVal('ftg_enableFacebook');
670
- $enableGplus = $this->checkboxVal('ftg_enableGplus');
671
- $enablePinterest = $this->checkboxVal('ftg_enablePinterest');
672
- $lightbox = $_POST['ftg_lightbox'];
673
- $blank = $this->checkboxVal('ftg_blank');
674
- $imageSizeFactor = intval($_POST['ftg_imageSizeFactor']);
 
 
 
675
  $scrollEffect = $_POST['ftg_scrollEffect'];
676
  $captionBehavior = $_POST['ftg_captionBehavior'];
677
- $captionEffect = $_POST['ftg_captionEffect'];
678
- $captionColor = $_POST['ftg_captionColor'];
679
- $captionBackgroundColor = $_POST['ftg_captionBackgroundColor'];
680
- $captionEasing = $_POST['ftg_captionEasing'];
681
- $captionEmpty = $_POST['ftg_captionEmpty'];
682
- $captionOpacity = intval($_POST['ftg_captionOpacity']);
683
- $borderSize = intval($_POST['ftg_borderSize']);
684
- $borderColor = $_POST['ftg_borderColor'];
685
- $loadingBarColor=$_POST['ftg_loadingBarColor'];
686
- $loadingBarBackgroundColor=$_POST['ftg_loadingBarBackgroundColor'];
687
- $borderRadius = intval($_POST['ftg_borderRadius']);
688
- $shadowColor = $_POST['ftg_shadowColor'];
689
- $shadowSize = intval($_POST['ftg_shadowSize']);
690
- $enlargeImages = $this->checkboxVal('ftg_enlargeImages');
691
- $backgroundColor = $_POST['ftg_backgroundColor'];
692
- $wp_field_caption = $_POST['ftg_wp_field_caption'];
693
- $style = $_POST['ftg_style'];
694
- $script = $_POST['ftg_script'];
695
- $loadedScale=intval($_POST['ftg_loadedScale']);
696
- $loadedRotate=intval($_POST['ftg_loadedRotate']);
697
- $loadedHSlide=intval($_POST['ftg_loadedHSlide']);
698
- $loadedVSlide=intval($_POST['ftg_loadedVSlide']);
699
-
700
- $captionEffectDuration = intval($_POST['ftg_captionEffectDuration']);
701
- $id = isset($_POST['ftg_gallery_edit']) ? intval($_POST['ftg_gallery_edit']) : 0;
702
-
703
- $data = array('name' => $galleryName,
704
- 'slug' => $slug,
705
- 'description' => $galleryDescription,
706
- 'lightbox' => $lightbox,
707
- 'blank' => $blank,
708
- 'margin' => $margin,
709
- 'minTileWidth' => $minTileWidth,
710
- 'gridCellSize' => $gridCellSize,
711
- 'shuffle' => $shuffle,
712
- 'enableTwitter' => $enableTwitter,
713
- 'enableFacebook' => $enableFacebook,
714
- 'enableGplus' => $enableGplus,
715
- 'enablePinterest' => $enablePinterest,
716
- 'imagesOrder' => $imagesOrder,
717
- 'compressHTML' => $this->checkboxVal('ftg_compressHTML'),
718
- 'sequentialImageLoading' =>$this->checkboxVal('ftg_sequentialImageLoading'),
719
- 'socialIconColor' => $_POST['ftg_socialIconColor'],
720
- 'recentPostsCaption' => $_POST['ftg_recentPostsCaption'],
721
- 'recentPostsCaptionAutoExcerptLength' => intval($_POST['ftg_recentPostsCaptionAutoExcerptLength']),
722
- 'captionBehavior' => $captionBehavior,
723
- 'captionEffect' => $captionEffect,
724
- 'captionEmpty' => $captionEmpty,
725
- 'captionFullHeight' => $this->checkboxVal('ftg_captionFullHeight'),
726
- 'captionBackgroundColor' => $captionBackgroundColor,
727
- 'captionColor' => $captionColor,
728
- 'captionFrame' => $_POST['ftg_captionFrame'],
729
- 'captionFrameColor' => $_POST['ftg_captionFrameColor'],
730
- 'captionEffectDuration' => $captionEffectDuration,
731
- 'captionEasing' => $captionEasing,
732
- 'captionOpacity' => $captionOpacity,
733
- 'captionIcon' => $_POST['ftg_captionIcon'],
734
- 'captionFrame' => $this->checkboxVal('ftg_captionFrame'),
735
- 'captionFrameColor' => $_POST['ftg_captionFrameColor'],
736
- 'customCaptionIcon' => $_POST['ftg_customCaptionIcon'],
737
- 'captionIconColor' => $_POST['ftg_captionIconColor'],
738
- 'captionIconSize' => intval($_POST['ftg_captionIconSize']),
739
- 'captionFontSize' => intval($_POST['ftg_captionFontSize']),
740
- 'hoverZoom' => intval($_POST['ftg_hoverZoom']),
741
- 'hoverRotation' => intval($_POST['ftg_hoverRotation']),
742
- 'hoverIconRotation' => $this->checkboxVal('ftg_hoverIconRotation'),
743
- 'wp_field_caption' => $wp_field_caption,
744
- 'borderSize' => $borderSize,
745
- 'borderColor' => $borderColor,
746
- 'loadingBarColor'=>$loadingBarColor,
747
- 'loadingBarBackgroundColor'=>$loadingBarBackgroundColor,
748
- 'enlargeImages' => $enlargeImages,
749
- 'backgroundColor' => $backgroundColor,
750
- 'borderRadius' => $borderRadius,
751
- 'imageSizeFactor' => $imageSizeFactor,
752
- 'imageSizeFactorTabletLandscape' => intval($_POST['ftg_imageSizeFactorTabletLandscape']),
753
- 'imageSizeFactorTabletPortrait' => intval($_POST['ftg_imageSizeFactorTabletPortrait']),
754
- 'imageSizeFactorPhoneLandscape' => intval($_POST['ftg_imageSizeFactorPhoneLandscape']),
755
- 'imageSizeFactorPhonePortrait' => intval($_POST['ftg_imageSizeFactorPhonePortrait']),
756
- 'imageSizeFactorCustom' => $_POST['ftg_imageSizeFactorCustom'],
757
- 'shadowSize' => $shadowSize,
758
- 'shadowColor' => $shadowColor,
759
- 'source' => $_POST['ftg_source'],
760
- 'post_types' => $_POST['ftg_post_types'],
761
- 'post_categories' => $_POST['ftg_post_categories'],
762
- 'post_tags' => $_POST['ftg_post_tags'],
763
- 'woo_categories' => $_POST['ftg_woo_categories'],
764
- 'defaultPostImageSize' => $_POST['ftg_defaultPostImageSize'],
765
- 'defaultWooImageSize' => $_POST['ftg_defaultWooImageSize'],
766
- 'width' => $width,
767
- 'beforeGalleryText' => $_POST['ftg_beforeGalleryText'],
768
- 'afterGalleryText' => $_POST['ftg_afterGalleryText'],
769
- 'aClass' => $_POST['ftg_aClass'],
770
- 'rel' => $_POST['ftg_rel'],
771
- 'style' => $style,
772
- 'delay' => intval($_POST['ftg_delay']),
773
- 'script' => $script,
774
- 'support' => $this->checkboxVal('ftg_support'),
775
- 'supportText' => $_POST['ftg_supportText'],
776
- 'envatoReferral' => $_POST['ftg_envatoReferral'],
777
- 'scrollEffect' => $scrollEffect,
778
- 'loadedScale' => $loadedScale,
779
- 'loadedRotate' => $loadedRotate,
780
- 'loadedHSlide' => $loadedHSlide,
781
- 'loadedVSlide' => $loadedVSlide
782
- );
783
-
784
- header("Content-type: application/json");
785
- if($id > 0)
786
- {
787
- $result = $this->FinalTilesdb->editGallery($id, $data);
788
- }
789
- else
790
- {
791
- $result = $this->FinalTilesdb->addGallery($data);
792
- $id = $this->FinalTilesdb->getNewGalleryId();
793
- }
794
-
795
- if($result)
796
- print "{\"success\":true,\"id\":" . $id ."}";
797
- else
798
- print "{\"success\":false}";
799
- }
800
- die();
801
- }
802
-
803
- public static function get_image_size_links($id)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
804
  {
805
  $result = array();
806
  $sizes = get_intermediate_image_sizes();
@@ -816,482 +1089,619 @@ if (!class_exists("FinalTiles_GalleryLite"))
816
  return $result;
817
  }
818
 
819
- //Create gallery
820
- public function create_gallery($galleryId)
821
- {
822
- require_once('lib/gallery-class.php');
823
- global $FinalTilesGallery;
824
-
825
- if (class_exists('FinalTilesGallery')) {
826
- $FinalTilesGallery = new FinalTilesGallery($galleryId, $this->FinalTilesdb);
827
- $settings = $FinalTilesGallery->getGallery();
828
- switch($settings->lightbox)
829
- {
830
- default:
831
- case "magnific":
832
- wp_enqueue_style('magnific_stylesheet');
833
- wp_enqueue_script('magnific_script');
834
- break;
835
- case "prettyphoto":
836
- wp_enqueue_style('prettyphoto_stylesheet');
837
- wp_enqueue_script('prettyphoto_script');
838
- break;
839
- case "fancybox":
840
- wp_enqueue_style('fancybox_stylesheet');
841
- wp_enqueue_script('fancybox_script');
842
- break;
843
- case "colorbox":
844
- wp_enqueue_style('colorbox_stylesheet');
845
- wp_enqueue_script('colorbox_script');
846
- break;
847
- case "swipebox":
848
- wp_enqueue_style('swipebox_stylesheet');
849
- wp_enqueue_script('swipebox_script');
850
- break;
851
- case "lightbox2":
852
- wp_enqueue_style('lightbox2_stylesheet');
853
- wp_enqueue_script('lightbox2_script');
854
- break;
855
- case "image-lightbox":
856
- wp_enqueue_script('image-lightbox_script');
857
- break;
858
- }
859
- return $FinalTilesGallery->render();
860
- }
861
- else {
862
- return "Gallery not found.";
863
- }
864
- }
865
-
866
- //Create Short Code
867
- public function gallery_shortcode_handler($atts) {
868
- return $this->create_gallery($atts['id']);
869
- }
870
-
871
- static public function slugify($text)
872
- {
873
- $text = preg_replace('~[^\\pL\d]+~u', '-', $text);
874
- $text = trim($text, '-');
875
- $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
876
- $text = strtolower($text);
877
- $text = preg_replace('~[^-\w]+~', '', $text);
878
-
879
- if (empty($text))
880
- {
881
- return 'n-a';
882
- }
883
-
884
- return $text;
885
- }
886
-
887
- var $fields = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
888
 
889
  "General" => array(
890
- "icon" => "mdi mdi-settings",
891
- "fields" => array(
892
- "name" => array(
893
- "name" => "Name",
894
- "hiddenFor" => array("dashboard", "shortcode"),
895
- "type" => "text",
896
- "description" => "Name of the gallery, for internal use.",
897
- "excludeFrom" => array("dashboard", "shortcode")
898
- ),
899
- "description" => array(
900
- "name" => "Description",
901
- "hiddenFor" => array("dashboard", "shortcode"),
902
- "type" => "text",
903
- "description" => "Description of the gallery, for internal use.",
904
- "excludeFrom" => array("dashboard", "shortcode")
905
- ),
906
- "width" => array(
907
- "name" => "Width",
908
- "type" => "text",
909
- "description" => "Width of the gallery in pixels or percentage.",
910
- "excludeFrom" => array()
911
- ),
912
- "margin" => array(
913
- "name" => "Margin",
914
- "type" => "number",
915
- "description" => "Margin between images",
916
- "mu" => "px",
917
- "min" => 0,
918
- "max" => 50,
919
- "excludeFrom" => array()
920
- ),
921
- "imageSizeFactor" => array(
922
- "name" => "Image size factor",
923
- "type" => "slider",
924
- "description" => "Percentage of image size, i.e.: if an image of the gallery is 300x200 and the size factor is 50% then the resulting image will be 150x100.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
925
  90% is a suggested default value, because under some circumstances, the images could be enlarged by the script (to fill gaps and avoid blank spaces between tiles).",
926
- "default" => 90,
927
- "min" => 1,
928
- "max" => 100,
929
- "mu" => "%",
930
- "excludeFrom" => array()
931
- ),
932
  "imageSizeFactorTabletLandscape" => array(
933
- "name" => "Image size factor Tablet Landscape",
934
- "type" => "slider",
935
- "description" => "Image size factor to apply when the viewport is 1024px, typically for tablets with landscape orientation",
936
- "default" => 80,
937
- "min" => 1,
938
- "max" => 100,
939
- "mu" => "%",
940
- "excludeFrom" => array()
941
- ),
942
  "imageSizeFactorTabletPortrait" => array(
943
- "name" => "Image size factor Tablet Portrait",
944
- "type" => "slider",
945
- "description" => "Image size factor to apply when the viewport is 768px, typically for tablets with portrait orientation",
946
- "default" => 70,
947
- "min" => 1,
948
- "max" => 100,
949
- "mu" => "%",
950
- "excludeFrom" => array()
951
- ),
952
  "imageSizeFactorPhoneLandscape" => array(
953
- "name" => "Image size factor Smartphone Landscape",
954
- "type" => "slider",
955
- "description" => "Image size factor to apply when the viewport is 640px, typically for smartphones with landscape orientation",
956
- "default" => 60,
957
- "min" => 1,
958
- "max" => 100,
959
- "mu" => "%",
960
- "excludeFrom" => array()
961
- ),
962
  "imageSizeFactorPhonePortrait" => array(
963
- "name" => "Image size factor Phone Portrait",
964
- "type" => "slider",
965
- "description" => "Image size factor to apply when the viewport is 320px, typically for smartphones with portrait orientation",
966
- "default" => 50,
967
- "min" => 1,
968
- "max" => 100,
969
- "mu" => "%",
970
- "excludeFrom" => array()
971
- ),
972
- "imageSizeFactorCustom" => array(
973
- "name" => "Custom image size factor",
974
- "hiddenFor" => array("dashboard", "shortcode"),
975
- "type" => "custom_isf",
976
- "description" => "Use this field if you need further resolutions.",
977
- "excludeFrom" => array("dashboard", "shortcode")
978
- ),
979
- "minTileWidth" => array(
980
- "name" => "Tile minimum width",
981
- "type" => "number",
982
- "description" => "Minimum width of each tile, <strong>multiply this value for the image size factor to get the real size</strong>.",
983
- "mu" => "px",
984
- "min" => 50,
985
- "max" => 500,
986
- "default" => 200,
987
- "excludeFrom" => array()
988
- ),
989
- "imagesOrder" => array(
990
- "name" => "Images order",
991
- "type" => "PRO_FEATURE",
992
- "description" => "Choose the order of the images",
993
- "default" => "",
994
- "values" => array(
995
- "Images order" => array(
996
- "user|User", "reverse|Reverse", "random|Random"
997
- )
998
- ),
999
- "excludeFrom" => array()
1000
- ),
1001
- "filter" => array(
1002
- "name" => "Filters",
1003
- "type" => "PRO_FEATURE",
1004
- "description" => "Manage here all the filters of this gallery",
1005
- "excludeFrom" => array("dashboard", "shortcode")
1006
- ),
1007
- "gridCellSize" => array(
1008
- "name" => "Size of the grid",
1009
- "type" => "number",
1010
- "default" => 25,
1011
- "min" => 1,
1012
- "max" => 100,
1013
- "mu" => "px",
1014
- "description" => "Tiles are snapped to a virtual grid, <strong>the higher this value the higher the chance to get bottom aligned tiles</strong> (but it needs to crop horizontally).",
1015
- "excludeFrom" => array()
1016
- ),
1017
- "enlargeImages" => array(
1018
- "name" => "Allow image enlargement",
1019
- "type" => "toggle",
1020
- "description" => "Images can be occasionally enlarged to avoid gaps. If you notice a quality loss try to reduce the <strong>Image size factor</strong> parameter.",
1021
- "default" => "T",
1022
- "excludeFrom" => array()
1023
- ),
1024
- "scrollEffect" => array(
1025
- "name" => "Scroll effect",
1026
- "type" => "PRO_FEATURE",
1027
- "description" => "Effect on tiles when scrolling the page",
1028
- "values" => array(
1029
- "Scroll effect" => array(
1030
- "none|None", "slide|Sliding tiles", "zoom|Zoom", "rotate-left|Left rotation", "rotate-right|Right rotation"
1031
- )
1032
- ),
1033
- "excludeFrom" => array()
1034
- ),
1035
- "compressHTML" => array(
1036
- "name" => "Compress HTML",
1037
- "type" => "toggle",
1038
- "description" => "Enable or disable HTML compression, some themes prefer uncompressed, switch it off in case of problems.",
1039
- "default" => "T",
1040
- "excludeFrom" => array()
1041
- ),
1042
- "sequentialImageLoading"=>array(
1043
- "name"=>"Sequential image loading",
1044
- "type"=>"toggle",
1045
- "description"=>"Load images sequentially for higher performances. N.B.: search engines won't index your images if sequential loading is activated.",
1046
- "default"=>"T",
1047
- "excludeFrom"=>array()
1048
- ),
1049
- )
1050
  ),
1051
  "Links & Lightbox" => array(
1052
- "icon" => "mdi mdi-link-variant",
1053
- "fields" => array(
1054
- "lightbox" => array(
1055
- "name" => "Lightbox &amp; Links",
1056
- "type" => "select",
1057
- "description" => "Define here what happens when user click on the images.<br><strong><a href='http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351' target='_blank'>Buy a PRO license</a></strong> to unlock 5 more lightboxes.",
1058
- "values" => array(
1059
- "Link" => array("|No link", "direct|Direct link to image"),
1060
- "Lightboxes" => array("lightbox2|Lightbox")
1061
- ),
1062
- "excludeFrom" => array()
1063
- ),
1064
- "blank" => array(
1065
- "name" => "Links target",
1066
- "type" => "toggle",
1067
- "description" => "Open links in a blank page.",
1068
- "excludeFrom" => array()
1069
- ),
1070
- "enableTwitter" => array(
1071
- "name" => "Enable Twitter icon",
1072
- "type" => "toggle",
1073
- "description" => "Enable Twitter sharing.",
1074
- "default" => "F",
1075
- "excludeFrom" => array()
1076
- ),
1077
- "enableFacebook" => array(
1078
- "name" => "Enable Facebook icon",
1079
- "type" => "toggle",
1080
- "description" => "Enable Facebook sharing.",
1081
- "default" => "F",
1082
- "excludeFrom" => array()
1083
- ),
1084
- "enableGplus" => array(
1085
- "name" => "Enable Google Plus icon",
1086
- "type" => "toggle",
1087
- "description" => "Enable Google Plus sharing",
1088
- "default" => "F",
1089
- "excludeFrom" => array()
1090
- ),
1091
- "enablePinterest" => array(
1092
- "name" => "Enable Pinterest icon",
1093
- "type" => "toggle",
1094
- "description" => "Enable Pinterest sharing",
1095
- "default" => "F",
1096
- "excludeFrom" => array()
1097
- ),
1098
- "socialIconColor" => array(
1099
- "name" => "Color of social sharing icons",
1100
- "type" => "color",
1101
- "description" => "Set the color of the social sharing icons",
1102
- "default" => "#ffffff",
1103
- "excludeFrom" => array()
1104
- )
1105
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1106
  ),
1107
  "Captions" => array(
1108
- "icon" => "mdi mdi-comment-text-outline",
1109
- "fields" => array(
1110
- "captionBehavior" => array(
1111
- "name" => "Caption behavior",
1112
- "type" => "PRO_FEATURE",
1113
- "description" => "Captions can have two different behaviors: start hidden and shown on mouse over or viceversa.",
1114
- "values" => array(
1115
- "Behavior" => array(
1116
- "hidden|Hidden, then show it on mouse over",
1117
- "visible|Visible, then hide it on mouse over",
1118
- "always-visible|Always visible"
1119
- )
1120
- ),
1121
- "excludeFrom" => array()
1122
- ),
1123
- "captionMobileBehavior" => array(
1124
- "name" => "Caption mobile behavior",
1125
- "type" => "PRO_FEATURE",
1126
- "description" => "Caption behavior for mobile devices.",
1127
- "values" => array(
1128
- "Behavior" => array(
1129
- "desktop|Same as desktop",
1130
- "none|Never show captions",
1131
- "hidden|Hidden, then show it on touch",
1132
- "visible|Visible, then hide it on touch",
1133
- "always-visible|Always visible"
1134
- )
1135
- ),
1136
- "excludeFrom" => array()
1137
- ),
1138
- "captionFullHeight" => array(
1139
- "name" => "Caption full height",
1140
- "type" => "PRO_FEATURE",
1141
- "description" => "Enable this option for full height captions. <strong>This is required if you want to use caption icons and caption effects other than <i>fade</i>.</strong>",
1142
- "default" => "T",
1143
- "excludeFrom" => array()
1144
- ),
1145
- "captionEmpty" => array(
1146
- "name" => "Empty captions",
1147
- "type" => "PRO_FEATURE",
1148
- "description" => "Choose if empty caption has to be shown. Consider that empty captions are never shown if <i>Caption full height</i> is switched off.",
1149
- "values" => array(
1150
- "Empty captions" => array(
1151
- "hide|Don't show empty captions",
1152
- "show|Show empty captions"
1153
- )
1154
- ),
1155
- "excludeFrom" => array()
1156
- ),
1157
- "captionIcon" => array(
1158
- "name" => "Caption icon",
1159
- "type" => "select",
1160
- "description" => "Choose the icon for the captions.",
1161
- "values" => array(
1162
- "Icon" => array("|None", "search|Lens", "search-plus|Lens (plus)", "link|Link", "heart|Heart", "heart-o|Heart empty",
1163
- "camera|Camera", "camera-retro|Camera retro", "picture-o|Picture", "star|Star", "star-o|Star empty",
1164
- "sun-o|Sun", "arrows-alt|Arrows", "hand-o-right|Hand")
1165
- ),
1166
- "excludeFrom" => array()
1167
- ),
1168
- "customCaptionIcon" => array(
1169
- "name" => "Custom caption icon",
1170
- "type" => "PRO_FEATURE",
1171
- "description" => "Use this field to insert the class of a FontAwesome icon (i.e.: fa-heart). <a href='http://fontawesome.io/icons/' target='blank'>See all available icons</a>. <strong>This value override the <i>Caption icon</i> value</strong>.",
1172
- "excludeFrom" => array()
1173
- ),
1174
- "captionIconColor" => array(
1175
- "name" => "Caption icon color",
1176
- "type" => "color",
1177
- "description" => "Color of the icon in captions.",
1178
- "default" => "#ffffff",
1179
- "excludeFrom" => array()
1180
- ),
1181
- "captionIconSize" => array(
1182
- "name" => "Caption icon size",
1183
- "type" => "number",
1184
- "description" => "Size of the icon in captions.",
1185
- "default" => 12,
1186
- "min" => 10,
1187
- "max" => 96,
1188
- "mu" => "px",
1189
- "excludeFrom" => array()
1190
- ),
1191
- "captionFontSize" => array(
1192
- "name" => "Caption font size",
1193
- "type" => "number",
1194
- "description" => "Size of the font in captions.",
1195
- "default" => 12,
1196
- "min" => 10,
1197
- "max" => 96,
1198
- "mu" => "px",
1199
- "excludeFrom" => array()
1200
- ),
1201
- "captionEffect" => array(
1202
- "name" => "Caption effect",
1203
- "type" => "PRO_FEATURE",
1204
- "description" => "Effect used to show the captions.",
1205
- "values" => array(
1206
- "Effect" => array("fade|Fade", "slide-top|Slide from top", "slide-bottom|Slide from bottom",
1207
- "slide-left|Slide from left", "slide-right|Slide from right", "rotate-left|Rotate from left",
1208
- "rotate-right|Rotate from right")
1209
- ),
1210
- "excludeFrom" => array()
1211
- ),
1212
- "captionEasing" => array(
1213
- "name" => "Caption effect easing",
1214
- "type" => "PRO_FEATURE",
1215
- "description" => "Easing function for the caption animation, works better with sliding animations.",
1216
- "values" => array(
1217
- "Easing" => array(
1218
- "ease|Ease", "linear|Linear", "ease-in|Ease in", "ease-out|Ease out", "ease-in-out|Ease in and out")
1219
- ),
1220
- "excludeFrom" => array()
1221
- ),
1222
- "captionFrame" => array(
1223
- "name" => "Caption frame",
1224
- "type" => "toggle",
1225
- "description" => "Add a frame around the caption",
1226
- "default" => "F",
1227
- "excludeFrom" => array()
1228
- ),
1229
- "captionFrameColor" => array(
1230
- "name" => "Caption frame color",
1231
- "type" => "color",
1232
- "description" => "Color of the frame around the caption",
1233
- "default" => "#ffffff",
1234
- "excludeFrom" => array()
1235
- ),
1236
- "captionColor" => array(
1237
- "name" => "Caption color",
1238
- "type" => "color",
1239
- "description" => "Text color of the captions.",
1240
- "default" => "#ffffff",
1241
- "excludeFrom" => array()
1242
- ),
1243
- "captionEffectDuration" => array(
1244
- "name" => "Caption effect duration",
1245
- "type" => "text",
1246
- "description" => "Duration of the caption animation.",
1247
- "default" => 250,
1248
- "mu" => "ms",
1249
- "min" => 0,
1250
- "max" => 1000,
1251
- "excludeFrom" => array()
1252
- ),
1253
- "captionBackgroundColor" => array(
1254
- "name" => "Caption background color",
1255
- "type" => "color",
1256
- "description" => "This background is visible only when the parameter '<i>Allow image enlargement</i>' is set to '<i>Off</i>' and only when a tile is wider than the contained image",
1257
- "default" => "#000000",
1258
- "excludeFrom" => array()
1259
- ),
1260
- "captionOpacity" => array(
1261
- "name" => "Caption opacity",
1262
- "type" => "text",
1263
- "description" => "Opacity of the caption, 0% means 'invisible' while 100% is a plain color without opacity.",
1264
- "default" => 80,
1265
- "min" => 0,
1266
- "max" => 100,
1267
- "mu" => "%",
1268
- "excludeFrom" => array()
1269
- )
1270
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1271
  ),
1272
  "Hover effects" => array(
1273
- "icon" => "mdi mdi-file-image",
1274
- "fields" => array(
1275
- "hoverZoom" => array(
1276
- "name" => "Zoom",
1277
- "type" => "PRO_FEATURE",
1278
- "description" => "Scale value.",
1279
- "default" => 100,
1280
- "min" => 0,
1281
- "max" => 600,
1282
  "mu" => "%",
1283
- "excludeFrom" => array()
1284
- ),
1285
- "hoverRotation" => array(
1286
- "name" => "Rotation",
1287
- "type" => "PRO_FEATURE",
1288
- "description" => "Rotation value in degrees.",
1289
- "min" => 0,
1290
- "max" => 360,
1291
  "mu" => "deg",
1292
  "default" => 0,
1293
- "excludeFrom" => array()
1294
- ),
1295
  "hoverIconRotation" => array(
1296
  "name" => "Rotate icon",
1297
  "type" => "toggle",
@@ -1299,150 +1709,157 @@ if (!class_exists("FinalTiles_GalleryLite"))
1299
  "description" => "Enable rotation of the icon.",
1300
  "excludeFrom" => array()
1301
  )
1302
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1303
  ),
1304
- "Image loaded effects" => array(
1305
- "icon" => "mdi mdi-reload",
1306
- "fields" => array(
1307
- "loadedScale" => array(
1308
- "name" => "Scale",
1309
- "description" => "",
1310
- "type" => "slider",
1311
- "min" => 0,
1312
- "max" => 200,
1313
- "mu" => "%",
1314
- "default"=>100,
1315
- "excludeFrom" => array()
1316
- ),
1317
- "loadedRotate" => array(
1318
- "name" => "Rotate",
1319
- "description" => "",
1320
- "type" => "slider",
1321
- "min" => -180,
1322
- "max" => 180,
1323
- "default" => 0,
1324
- "mu" => "deg",
1325
- "excludeFrom" => array()
1326
- ),
1327
- "loadedHSlide" => array(
1328
- "name" => "Horizontal slide",
1329
- "description" => "",
1330
- "type" => "slider",
1331
- "min" => -100,
1332
- "max" => 100,
1333
- "mu" => "px",
1334
- "default" => 0,
1335
- "excludeFrom" => array()
1336
- ),
1337
- "loadedVSlide" => array(
1338
- "name" => "Vertical slide",
1339
- "description" => "",
1340
- "type" => "slider",
1341
- "min" => -100,
1342
- "max" => 100,
1343
- "mu" => "px",
1344
- "default" => 0,
1345
- "excludeFrom" => array()
1346
- )
1347
-
1348
- )
1349
- ),
1350
  "Style" => array(
1351
- "icon" => "mdi mdi-format-paint",
1352
- "fields" => array(
1353
- "borderSize" => array(
1354
- "name" => "Border size",
1355
- "type" => "number",
1356
- "description" => "Size of the border of each image.",
1357
- "default" => 0,
1358
- "min" => 0,
1359
- "max" => 10,
1360
- "mu" => "px",
1361
- "excludeFrom" => array()
1362
- ),
1363
- "borderRadius" => array(
1364
- "name" => "Border radius",
1365
- "type" => "number",
1366
- "description" => "Border radius of the images.",
1367
- "default" => 0,
1368
- "min" => 0,
1369
- "max" => 100,
1370
- "mu" => "px",
1371
- "excludeFrom" => array()
1372
- ),
1373
- "borderColor" => array(
1374
- "name" => "Border color",
1375
- "type" => "color",
1376
- "description" => "Color of the border when size is greater than 0.",
1377
- "default" => "#000000",
1378
- "excludeFrom" => array()
1379
- ),
1380
- "loadingBarColor"=>array(
1381
- "name" => "Loading Bar color",
1382
- "type" => "color",
1383
- "description" => "Color of the loading bar",
1384
- "default" => "#000000",
1385
- "excludeFrom" => array()
1386
- ),
1387
- "loadingBarBackgroundColor"=>array(
1388
- "name" => "Loading Bar background color",
1389
- "type" => "color",
1390
- "description" => "Background color of the loading bar",
1391
- "default" => "#cccccc",
1392
- "excludeFrom" => array()
1393
- ),
1394
- "shadowSize" => array(
1395
- "name" => "Shadow size",
1396
- "type" => "number",
1397
- "description" => "Shadow size of the images.",
1398
- "default" => 0,
1399
- "min" => 0,
1400
- "max" => 20,
1401
- "mu" => "px",
1402
- "excludeFrom" => array()
1403
- ),
1404
- "shadowColor" => array(
1405
- "name" => "Shadow color",
1406
- "type" => "color",
1407
- "description" => "Color of the shadow when size is greater than 0.",
1408
- "default" => "#000000",
1409
- "excludeFrom" => array()
1410
- )
1411
- )
 
 
 
 
 
 
 
1412
  ),
1413
  "Customizations" => array(
1414
- "icon" => "mdi mdi-puzzle",
1415
- "fields" => array(
1416
  "aClass" => array(
1417
- "name" => "Additional CSS class on A tag",
1418
- "type" => "text",
1419
- "description" => "Use this field if you need to add additional CSS classes to the link that contains the image.",
1420
- "default" => "",
1421
- "excludeFrom" => array()
1422
- ),
1423
  "rel" => array(
1424
- "name" => "Value of 'rel' attribute on the link that contains the image.",
1425
- "type" => "text",
1426
- "description" => "Use this field if you need to add additional CSS classes to the link that contains the image. This is useful mostly to integrate the gallery with other lightbox plugins.",
1427
- "default" => "",
1428
- "excludeFrom" => array()
1429
- ),
1430
- "beforeGalleryText" => array(
1431
- "name" => "Text before gallery",
1432
- "type" => "textarea",
1433
- "description" => "Use this field to add text/html to be placed just before your gallery.",
1434
- "excludeFrom" => array("shortcode")
1435
- ),
1436
- "afterGalleryText" => array(
1437
- "name" => "Text after gallery",
1438
- "type" => "textarea",
1439
- "description" => "Use this field to add text/html to be placed just after your gallery.",
1440
- "excludeFrom" => array("shortcode")
1441
- ),
1442
- "style" => array(
1443
- "name" => "Custom CSS",
1444
- "type" => "textarea",
1445
- "description" => "<strong>Write just the code without using the &lt;style&gt; tag.</strong><br>List of useful selectors:<br>
1446
  <br>
1447
  <ul>
1448
  <li>
@@ -1467,57 +1884,57 @@ if (!class_exists("FinalTiles_GalleryLite"))
1467
  <em>.final-tiles-gallery .ftg-filters a.selected</em> : selected filter
1468
  </li>
1469
  </ul>",
1470
- "excludeFrom" => array("shortcode")
1471
- ),
1472
- "script" => array(
1473
- "name" => "Custom scripts",
1474
- "type" => "textarea",
1475
- "description" => "This script will be called after the gallery initialization. Useful for custom lightboxes.
1476
  <br />
1477
  <br />
1478
  <strong>Write just the code without using the &lt;script&gt;&lt;/script&gt; tags</strong>",
1479
- "excludeFrom" => array("shortcode")
1480
- ),
1481
- "delay" => array(
1482
- "name" => "Delay",
1483
- "type" => "text",
1484
- "description" => "Delay (in milliseconds) before firing the gallery. Sometimes it's needed to avoid conflicts with other plugins.",
1485
- "min" => 0,
1486
- "max" => 5000,
1487
  "mu" => "ms",
1488
  "default" => 0,
1489
- "excludeFrom" => array()
1490
- ),
1491
- "support" => array(
1492
- "name" => "Show developer link",
1493
- "type" => "toggle",
1494
- "description" => "I want to support this plugin, show the developer link!",
1495
- "default" => "F",
1496
- "excludeFrom" => array(),
1497
- "excludeFrom" => array()
1498
- ),
1499
- "supportText" => array(
1500
- "name" => "Developer link text",
1501
- "type" => "text",
1502
- "description" => "Text for the developer link",
1503
- "default" => "powered by Final Tiles Grid Gallery",
1504
- "excludeFrom" => array()
1505
- ),
1506
- "envatoReferral" => array(
1507
- "name" => "Envato username for referral",
1508
- "type" => "text",
1509
- "description" => "Enter your Envato username to earn money! Receive 30% of the first purchase or deposit of each referred user. You do not need to activate anything else, you are automatically eligible.",
1510
- "default" => "GreenTreeLabs",
1511
- "excludeFrom" => array()
1512
- )
1513
- )
1514
  )
1515
  );
1516
- }
1517
  }
1518
 
1519
  if (class_exists("FinalTiles_GalleryLite")) {
1520
  global $ob_FinalTiles_GalleryLite;
1521
- $ob_FinalTiles_GalleryLite = new FinalTiles_GalleryLite();
1522
  }
1523
- ?>
4
  Plugin URI: http://codecanyon.net/item/final-tiles-gallery-for-wordpress/5189351?ref=GreenTreeLabs
5
  Description: Wordpress Plugin for creating responsive image galleries. By: Green Tree Labs
6
  Author: Green Tree Labs
7
+ Version: 3.0.0
8
  Author URI: http://codecanyon.net/user/GreenTreeLabs
9
  */
10
 
11
+ define("FTGLITEVERSION", "3.0.0");
12
  define("PRO_CALL", "<span class='procall'>(<a href='http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351' target='_blank'>available with PRO version</a>)</span>");
13
  define("PRO_UNLOCK", "<a href='http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351' target='_blank'>Add unlimited images with PRO version</a>");
14
 
15
+
16
  if (!class_exists("FinalTiles_GalleryLite"))
17
  {
18
+ class FinalTiles_GalleryLite
19
  {
20
+ private $defaultValues = array(
21
+ 'aClass' => '',
22
+ 'afterGalleryText' => '',
23
+ 'allFilterLabel' => 'All',
24
+ 'ajaxLoading' => 'F',
25
+ 'backgroundColor' => 'transparent',
26
+ 'beforeGalleryText' => '',
27
+ 'blank' => 'F',
28
+ 'borderColor' => 'transparent',
29
+ 'borderRadius' => 0,
30
+ 'borderSize' => 0,
31
+ 'captionBackgroundColor' => '#000000',
32
+ 'captionBehavior' => 'hidden',
33
+ 'captionColor' => '#ffffff',
34
+ 'captionEasing' => 'linear',
35
+ 'captionEffect' => 'fade',
36
+ 'captionEffectDuration' => 250,
37
+ 'captionEmpty' => 'hide',
38
+ 'captionFontSize' => 12,
39
+ 'captionFrame' => 'F',
40
+ 'captionFrameColor' => '#ffffff',
41
+ 'captionFullHeight' => 'T',
42
+ 'captionHorizontalAlignment' => 'Center',
43
+ 'captionIcon' => 'zoom',
44
+ 'captionIconColor' => '#ffffff',
45
+ 'captionIconSize' => 12,
46
+ 'captionMobileBehavior' => "desktop",
47
+ 'captionOpacity' => 80,
48
+ 'captionPosition' => 'inside',
49
+ 'captionVerticalAlignment' => 'Middle',
50
+ 'columns' => 4,
51
+ 'columnsPhoneLandscape' => 3,
52
+ 'columnsPhonePortrait' => 2,
53
+ 'columnsTabletLandscape' => 4,
54
+ 'columnsTabletPortrait' => 3,
55
+ 'compressHTML' => 'T',
56
+ 'customCaptionIcon' =>'',
57
+ 'defaultFilter' => '',
58
+ 'defaultSize' => 'medium',
59
+ 'delay' => 0,
60
+ 'disableLightboxGroups' => 'F',
61
+ 'enableFacebook' => 'F',
62
+ 'enableGplus' => 'F',
63
+ 'enablePinterest' => 'F',
64
+ 'enableTwitter' => 'F',
65
+ 'enlargeImages' => 'T',
66
+ 'envatoReferral' => 'GreenTreeLabs',
67
+ 'filterClick' => 'F',
68
+ 'filters' => '',
69
+ 'gridCellSize' => '25',
70
+ 'hoverIconRotation' => 'F',
71
+ 'hoverRotation' => 0,
72
+ 'hoverZoom' => 100,
73
+ 'imageSizeFactor' => 90,
74
+ 'imageSizeFactorCustom' => '',
75
+ 'imageSizeFactorPhoneLandscape' => 60,
76
+ 'imageSizeFactorPhonePortrait' => 50,
77
+ 'imageSizeFactorTabletLandscape' => 80,
78
+ 'imageSizeFactorTabletPortrait' => 70,
79
+ 'imagesOrder' => 'user',
80
+ 'layout' => 'final',
81
+ 'lazyLoad' => false,
82
+ 'lightbox' => 'lightbox2',
83
+ 'lightboxImageSize' => 'large',
84
+ 'loadedHSlide' => 0,
85
+ 'loadedRotate' => 0,
86
+ 'loadedScale' => 100,
87
+ 'loadedVSlide' => 0,
88
+ 'loadingBarBackgroundColor' => "#fff",
89
+ 'loadingBarColor' => "#fff",
90
+ 'loadMethod' => 'sequential',
91
+ 'margin' => 10,
92
+ 'max_posts' => 0,
93
+ 'minTileWidth' => '250',
94
+ 'mobileLightbox' => 'swipebox',
95
+ 'post_types' => '',
96
+ 'recentPostsCaption' => 'title',
97
+ 'recentPostsCaptionAutoExcerptLength' => 20,
98
+ 'rel' => '',
99
+ 'reverseOrder' => false,
100
+ 'script' => '',
101
+ 'scrollEffect' => 'none',
102
+ 'shadowColor' => '#cccccc',
103
+ 'shadowSize' => 0,
104
+ 'socialIconColor' => '#ffffff',
105
+ 'source' => 'images',
106
+ 'style' => '',
107
+ 'support' => 'F',
108
+ 'supportText' => 'Powered by Final Tiles Grid Gallery',
109
+ 'tilesPerPage' => 0,
110
+ 'titleFontSize' => 14,
111
+ 'width' => '100%',
112
+ 'wp_field_caption' => 'description',
113
+ 'wp_field_title' => 'title'
114
+ );
115
+
116
+ //Constructor
117
+ public function __construct()
118
+ {
119
+ $this->plugin_name = plugin_basename(__FILE__);
120
+ $this->define_constants();
121
+ $this->define_db_tables();
122
+ $this->FinalTilesdb = $this->create_db_conn();
123
+
124
+
125
+ register_activation_hook(__FILE__, array($this, 'activation'));
126
+
127
+ add_filter('widget_text', 'do_shortcode');
128
+
129
+ add_action('plugins_loaded', array($this, 'create_textdomain'));
130
+
131
+ add_action('wp_enqueue_scripts', array($this, 'add_gallery_scripts'));
132
+
133
+ //add_action( 'admin_init', array($this,'gallery_admin_init') );
134
+ add_action('admin_menu', array($this, 'add_gallery_admin_menu'));
135
+
136
+ add_shortcode('FinalTilesGallery', array($this, 'gallery_shortcode_handler'));
137
 
138
+ add_action('wp_ajax_save_gallery', array($this, 'save_gallery'));
139
+ add_action('wp_ajax_add_new_gallery', array($this, 'add_new_gallery'));
140
+ add_action('wp_ajax_delete_gallery', array($this, 'delete_gallery'));
141
+ add_action('wp_ajax_clone_gallery', array($this, 'clone_gallery'));
142
+ add_action('wp_ajax_save_image', array($this, 'save_image'));
143
+ add_action('wp_ajax_add_image', array($this, 'add_image'));
144
+ add_action('wp_ajax_save_video', array($this, 'save_video'));
145
+ add_action('wp_ajax_sort_images', array($this, 'sort_images'));
146
+ add_action('wp_ajax_delete_image', array($this, 'delete_image'));
147
+ add_action('wp_ajax_assign_filters', array($this, 'assign_filters'));
148
+ add_action('wp_ajax_assign_group', array($this, 'assign_group'));
149
+ add_action('wp_ajax_toggle_visibility', array($this, 'toggle_visibility'));
150
+ add_action('wp_ajax_refresh_gallery', array($this, 'refresh_gallery'));
151
+ add_action('wp_ajax_get_gallery_configuration', array($this, 'get_configuration'));
152
+ add_action('wp_ajax_update_gallery_configuration', array($this, 'update_configuration'));
153
+ add_action('wp_ajax_get_image_size_url', array($this, 'get_image_size_url'));
154
 
155
+ add_filter('mce_buttons', array($this, 'editor_button'));
156
+ add_filter('mce_external_plugins', array($this, 'register_editor_plugin'));
157
+ add_action('wp_ajax_ftg_shortcode_editor', array($this, 'ftg_shortcode_editor'));
158
 
159
+ add_filter('plugin_row_meta', array($this, 'register_links'), 10, 2);
160
 
161
+ add_action( 'wp_ajax_load_chunk', array($this, 'load_chunk') );
162
+ add_action( 'wp_ajax_nopriv_load_chunk', array($this, 'load_chunk') );
163
 
164
+ add_action( 'admin_notices', array( $this, 'review' ) );
165
+ add_action( 'wp_ajax_ftg_dismiss_review', array( $this, 'dismiss_review' ) );
166
+ add_filter( 'admin_footer_text', array( $this, 'admin_footer' ), 1, 2 );
167
 
168
+ $this->resetFields();
169
+ }
170
 
171
+ public function review()
172
+ {
173
+ // Verify that we can do a check for reviews.
174
+ $review = get_option( 'ftg_review' );
175
+ $time = time();
176
+ $load = false;
177
+ $there_was_review = false;
178
+
179
+ if ( ! $review ) {
180
+ $review = array(
181
+ 'time' => $time,
182
+ 'dismissed' => false
183
+ );
184
+ $load = true;
185
+ $there_was_review = false;
186
+ } else {
187
+ // Check if it has been dismissed or not.
188
+ if ( (isset( $review['dismissed'] ) && ! $review['dismissed']) && (isset( $review['time'] ) && (($review['time'] + DAY_IN_SECONDS) <= $time)) ) {
189
+ $load = true;
190
+ }
191
+ }
192
 
193
+ // If we cannot load, return early.
194
+ if ( ! $load ) {
195
+ return;
196
+ }
 
 
 
 
 
 
197
 
198
+ // Update the review option now.
199
+ update_option( 'ftg_review', $review );
200
 
201
+ // Run through optins on the site to see if any have been loaded for more than a week.
202
+ $valid = false;
203
+ $galleries = $this->FinalTilesdb->getGalleries();
204
 
205
+ if ( ! $galleries )
206
+ {
207
+ return;
208
+ }
209
 
210
+ $with_date = false;
211
+ foreach ( $galleries as $gallery )
212
+ {
213
+ if(! isset($gallery->date))
214
+ continue;
215
 
216
+ $with_date = true;
217
+ $data = $gallery->date;
218
 
219
+ // Check the creation date of the local optin. It must be at least one week after.
220
+ $created = isset( $data ) ? strtotime( $data ) + (7 * DAY_IN_SECONDS) : false;
221
+ if ( ! $created ) {
222
+ continue;
223
+ }
224
 
225
+ if ( $created <= $time ) {
226
+ $valid = true;
227
+ break;
228
+ }
229
+ }
230
+
231
+ if(! $with_date && count($galleries) > 0 && ! $there_was_review)
232
+ {
233
+ $valid = true;
234
+ }
235
+
236
+ // If we don't have a valid optin yet, return.
237
+ if ( ! $valid )
238
+ {
239
+ return;
240
+ }
241
+
242
+ // We have a candidate! Output a review message.
243
+ ?>
244
+ <div class="notice notice-info is-dismissible ftg-review-notice">
245
+ <p><?php _e( 'Hey, I noticed you created a photo gallery with Final Tiles - that’s awesome! Would you mind give it a 5-star rating on WordPress to help us spread the word and boost our motivation for new featrues?', 'final-tiles-gallery-lite' ); ?></p>
246
+ <p><strong><?php _e( 'Diego Imbriani<br>Founder of GreenTreeLabs', 'final-tiles-gallery' ); ?></strong></p>
247
+ <p>
248
+ <a href="https://wordpress.org/support/plugin/final-tiles-grid-gallery-lite/reviews/?filter=5#new-post" class="ftg-dismiss-review-notice ftg-review-out" target="_blank" rel="noopener"><?php _e( 'Ok, you deserve it', 'final-tiles-gallery-lite' ); ?></a><br>
249
+ <a href="#" class="ftg-dismiss-review-notice" rel="noopener"><?php _e( 'Nope, maybe later', 'final-tiles-gallery' ); ?></a><br>
250
+ <a href="#" class="ftg-dismiss-review-notice" rel="noopener"><?php _e( 'I already did', 'final-tiles-gallery' ); ?></a><br>
251
+ </p>
252
+ </div>
253
+ <script type="text/javascript">
254
+ jQuery(document).ready( function($) {
255
+ $(document).on('click', '.ftg-dismiss-review-notice, .ftg-review-notice button', function( event ) {
256
+ if ( ! $(this).hasClass('ftg-review-out') ) {
257
+ event.preventDefault();
258
+ }
259
+
260
+ $.post( ajaxurl, {
261
+ action: 'ftg_dismiss_review'
262
+ });
263
+
264
+ $('.ftg-review-notice').remove();
265
+ });
266
+ });
267
+ </script>
268
+ <?php
269
+ }
270
+
271
+ public function dismiss_review() {
272
+
273
+ $review = get_option( 'ftg_review' );
274
+ if ( ! $review ) {
275
+ $review = array();
276
+ }
277
+
278
+ $review['time'] = time();
279
+ $review['dismissed'] = true;
280
+
281
+ update_option( 'ftg_review', $review );
282
+ die;
283
+ }
284
+
285
+ public function admin_footer( $text )
286
+ {
287
+ global $current_screen;
288
+ if ( !empty( $current_screen->id ) && strpos( $current_screen->id, 'ftg' ) !== false ) {
289
+ $url = 'https://wordpress.org/support/plugin/final-tiles-grid-gallery-lite/reviews/?filter=5#new-post';
290
+ $text = sprintf( __( 'Please rate <strong>Final Tiles Gallery</strong> <a href="%s" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href="%s" target="_blank">WordPress.org</a> to help us spread the word. Thank you from the Final Tiles Gallery team!', 'wpforms' ), $url, $url );
291
+ }
292
+ return $text;
293
+ }
294
+
295
+ public function gallery_admin_bar()
296
+ {
297
  global $wp_admin_bar;
298
 
299
  $wp_admin_bar->add_menu( array(
300
  'id' => 'ftg-upgrade-bar',
301
  'href' => 'http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351',
302
  'parent' => 'top-secondary',
303
+ 'title' => __('Upgrade to Final Tiles Grid Gallery PRO'),
304
  'meta' => array('class' => 'ftg-upgrade-to-pro', 'target' => '_blank' ),
305
  ) );
306
+ }
307
+
308
+
309
+ private function resetFields()
310
+ {
311
+ $keys = array('name', 'hiddenFor', 'type', 'description', 'default', 'min', 'max', 'mu', 'excludeFrom');
312
+
313
+ foreach ($this->fields as $tab_name => $tab) {
314
+ foreach ($tab["fields"] as $key => $field) {
315
+ //print_r($field);
316
+ foreach ($keys as $kk) {
317
+ if (!array_key_exists($kk, $field)) {
318
+ $this->fields[$tab_name]["fields"][$key][$kk] = "";
319
+ }
320
+ }
321
+ }
 
 
322
 
323
  }
324
  //print_r($this->fields);
325
+ }
326
+
327
+ public function register_links($links, $file)
328
+ {
329
+ $base = plugin_basename(__FILE__);
330
+ if ($file == $base) {
331
+ $links[] = '<a href="admin.php?page=ftg-lite-gallery-admin" title="Final Tiles Grid Gallery Dashboard">Dashboard</a>';
332
+ $links[] = '<a href="admin.php?page=support" title="Final Tiles Grid Gallery Support">Support</a>';
333
+ $links[] = '<a href="https://twitter.com/greentreelabs" title="@GreenTreeLabs on Twitter">Twitter</a>';
334
+ $links[] = '<a href="https://www.facebook.com/greentreelabs" title="GreenTreeLabs on Facebook">Facebook</a>';
335
+ $links[] = '<a href="https://www.google.com/+GreentreelabsNetjs" title="GreenTreeLabs on Google+">Google+</a>';
336
+ }
337
+ return $links;
338
 
339
+ }
340
 
341
  public function create_db_tables()
342
  {
343
+ include_once(WP_PLUGIN_DIR . '/final-tiles-grid-gallery-lite/lib/install-db.php');
344
+ install_db();
 
345
  }
346
 
347
  public function activation()
348
  {
349
+
350
+ }
351
+
352
+ //Define textdomain
353
+ public function create_textdomain()
354
+ {
355
+ $plugin_dir = basename(dirname(__FILE__));
356
+ load_plugin_textdomain('final-tiles-gallery', false, dirname(plugin_basename(__FILE__)) . '/lib/languages/');
357
+ }
358
+
359
+ //Define constants
360
+ public function define_constants()
361
+ {
362
+ if (!defined('FINALTILESGALLERYLITE_PLUGIN_BASENAME'))
363
+ define('FINALTILESGALLERYLITE_PLUGIN_BASENAME', plugin_basename(__FILE__));
364
+
365
+ if (!defined('FINALTILESGALLERYLITE_PLUGIN_NAME'))
366
+ define('FINALTILESGALLERYLITE_PLUGIN_NAME', trim(dirname(FINALTILESGALLERYLITE_PLUGIN_BASENAME), '/'));
367
+
368
+ if (!defined('FINALTILESGALLERYLITE_PLUGIN_DIR'))
369
+ define('FINALTILESGALLERYLITE_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . FINALTILESGALLERYLITE_PLUGIN_NAME);
370
+ }
371
+
372
+ //Define DB tables
373
+ public function define_db_tables()
374
+ {
375
+ global $wpdb;
376
+
377
+ $wpdb->FinalTilesGalleries = $wpdb->prefix . 'FinalTiles_gallery';
378
+ $wpdb->FinalTilesImages = $wpdb->prefix . 'FinalTiles_gallery_images';
379
+ }
380
+
381
+
382
+ public function create_db_conn()
383
+ {
384
+ require('lib/db-class.php');
385
+ $FinalTilesdb = FinalTilesDB::getInstance();
386
+ return $FinalTilesdb;
387
+ }
388
+
389
+ public function editor_button($buttons)
390
+ {
391
+ array_push($buttons, 'separator', 'ftg_shortcode_editor');
392
+ return $buttons;
393
+ }
394
+
395
+ public function register_editor_plugin($plugin_array)
396
+ {
397
+ $plugin_array['ftg_shortcode_editor'] = plugins_url('/admin/scripts/editor-plugin.js', __file__);
398
+ return $plugin_array;
399
+ }
400
+
401
+ public function ftg_shortcode_editor()
402
+ {
403
+ $css_path = plugins_url('assets/css/admin.css', __FILE__);
404
+ $admin_url = admin_url();
405
+
406
+ $galleries = $this->FinalTilesdb->getGalleries(); //load all galleries
407
+
408
+ include 'admin/include/tinymce-galleries.php';
409
+ wp_die();
410
  }
411
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  public function attachment_fields_to_edit($form, $post)
413
+ {
414
+ $form["ftg_link"] = array(
415
+ "label" => "Link <small>FTG</small>",
416
+ "input" => "text",
417
+ "value" => get_post_meta($post->ID, "_ftg_link", true),
418
+ "helps" => ""
419
+ );
420
+ $form["ftg_target"] = array(
421
+ "label" => "_blank <small>FTG</small>",
422
+ "input" => "html",
423
+ "html" =>
424
+ "<input type='checkbox' name='attachments[{$post->ID}][ftg_target]' id='attachments[{$post->ID}][ftg_target]' value='_mblank' " .
425
+ (get_post_meta($post->ID, "_ftg_target", true) == "_mblank" ? "checked" : "")
426
+ . " />"
427
+ );
428
+ return $form;
429
+ }
430
+
431
+ public function attachment_fields_to_save($post, $attachment)
432
+ {
433
+ if (isset($attachment['ftg_link'])) {
434
+ update_post_meta($post['ID'], '_ftg_link', $attachment['ftg_link']);
435
+ }
436
+ if (isset($attachment['ftg_target'])) {
437
+ update_post_meta($post['ID'], '_ftg_target', $attachment['ftg_target']);
438
+ }
439
+ return $post;
440
+ }
441
+
442
+ //Delete gallery
443
+ public function delete_gallery()
444
+ {
445
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
446
+ $this->FinalTilesdb->deleteGallery(intval($_POST['id']));
447
+ }
448
+ exit();
449
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
450
 
 
 
451
 
452
+ public function update_configuration()
453
+ {
454
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery'))
455
+ {
456
+ $id = $_POST['galleryId'];
457
+
458
+ $config = stripslashes($_POST['config']);
459
+
460
+ $this->FinalTilesdb->update_config($id, $config);
461
+ }
462
+ exit();
463
+ }
464
 
465
+ public function get_configuration()
466
+ {
467
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery'))
468
+ {
469
+ $id = $_POST['galleryId'];
 
 
 
 
 
 
 
 
470
 
471
+ $gallery = $this->FinalTilesdb->getGalleryConfig($id);
472
 
473
+ echo $gallery;
474
+ }
475
+ exit();
476
+ }
477
 
478
+ public function get_image_size_url()
479
+ {
480
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery'))
481
+ {
482
+ echo wp_get_attachment_image_url($_POST['id'], $_POST['size'], false);
483
+ }
484
+ exit();
485
+ }
486
+
487
+ //Clone gallery
488
+ public function clone_gallery()
489
+ {
490
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery'))
491
+ {
492
+ $sourceId = intval($_POST['id']);
493
+ $g = $this->FinalTilesdb->getGalleryById($sourceId, true);
494
+ $g['name'] .= " (copy)";
495
+ $this->FinalTilesdb->addGallery($g);
496
+ $id = $this->FinalTilesdb->getNewGalleryId();
497
+ $images = $this->FinalTilesdb->getImagesByGalleryId($sourceId);
498
+ foreach ($images as &$image) {
499
+ $image->Id = null;
500
+ $image->gid = $id;
501
+ }
502
+ $this->FinalTilesdb->addImages($id, $images);
503
+ }
504
+ exit();
505
+ }
506
 
507
+ //Add gallery scripts
508
+ public function add_gallery_scripts()
509
+ {
510
+ wp_enqueue_script('jquery');
511
 
512
+ wp_register_script('finalTilesGallery', plugins_url() . '/final-tiles-grid-gallery-lite/scripts/script.js', array('jquery'), FTGLITEVERSION);
513
+ wp_enqueue_script('finalTilesGallery');
514
 
 
 
515
 
516
+ wp_register_style('finalTilesGallery_stylesheet', plugins_url() . '/final-tiles-grid-gallery-lite/scripts/ftg.css', array(), FTGLITEVERSION);
517
+ wp_enqueue_style('finalTilesGallery_stylesheet');
518
 
519
+ wp_register_script('lightbox2_script', plugins_url() . '/final-tiles-grid-gallery-lite/lightbox/lightbox2/js/script.js', array('jquery'));
520
+ wp_register_style('lightbox2_stylesheet', plugins_url() . '/final-tiles-grid-gallery-lite/lightbox/lightbox2/css/style.css');
521
 
522
+ wp_register_style('fontawesome_stylesheet', '//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css');
523
  wp_enqueue_style('fontawesome_stylesheet');
524
+ }
525
 
526
+ //Admin Section - register scripts and styles
527
+ public function gallery_admin_init()
528
+ {
529
+ if (function_exists('wp_enqueue_media')) {
530
+ wp_enqueue_media();
531
+ }
532
+
533
+ $ftg_db_version = '5.0';
534
+ $installed_ver = get_option("FinalTiles_gallery_db_version");
535
+
536
+ if (!$installed_ver) {
537
+ update_option("FinalTiles_gallery_db_version", $ftg_db_version);
538
+ }
539
+
540
+ $this->FinalTilesdb->updateConfiguration();
541
 
542
+ if ($installed_ver != $ftg_db_version) {
543
+ $this->create_db_tables();
544
+ update_option("FinalTiles_gallery_db_version", $ftg_db_version);
545
+ }
546
+
547
+ function ftg_lite_get_image_sizes()
548
+ {
549
+ global $_wp_additional_image_sizes;
550
+
551
+ $sizes = array();
552
+
553
+ foreach ( get_intermediate_image_sizes() as $_size ) {
554
+ if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) {
555
+ $sizes[ $_size ]['width'] = get_option( "{$_size}_size_w" );
556
+ $sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" );
557
+ $sizes[ $_size ]['crop'] = (bool) get_option( "{$_size}_crop" );
558
+ } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
559
+ $sizes[ $_size ] = array(
560
+ 'width' => $_wp_additional_image_sizes[ $_size ]['width'],
561
+ 'height' => $_wp_additional_image_sizes[ $_size ]['height'],
562
+ 'crop' => $_wp_additional_image_sizes[ $_size ]['crop'],
563
+ );
564
+ }
565
+ }
566
+
567
+ return $sizes;
568
+ }
569
 
570
+ foreach(ftg_lite_get_image_sizes() as $name => $size)
571
+ $this->fields["Links & Lightbox"]["fields"]["lightboxImageSize"]["values"]["Size"] []= $name . "|" . $name . " (" . $size['width'].'x'.$size['height'] . ($size['crop'] ? ' cropped)':')');
 
 
 
 
572
 
573
+ $this->fields["Links & Lightbox"]["fields"]["lightboxImageSize"]["values"]["Size"] []= "full|Original (full)";
 
 
 
574
 
575
+ wp_enqueue_script('jquery');
576
+ wp_enqueue_script('jquery-ui-dialog');
577
+ wp_enqueue_script('jquery-ui-sortable');
 
 
 
 
 
578
 
579
+ wp_enqueue_script('wp-color-picker');
580
+ wp_enqueue_style('wp-color-picker');
581
 
582
+ wp_enqueue_script('media-upload');
583
+ wp_enqueue_script('thickbox');
584
 
585
+ wp_register_style('google-fonts', '//fonts.googleapis.com/css?family=Roboto:400,700,500,300,900');
586
+ wp_enqueue_style('google-fonts');
587
+ wp_register_style('google-icons', '//cdn.materialdesignicons.com/1.1.34/css/materialdesignicons.min.css', array());
588
+ wp_enqueue_style('google-icons');
589
 
590
+ wp_register_style('final-tiles-grid-gallery-lite-admin', plugins_url() . '/final-tiles-grid-gallery-lite/admin/css/style.css', array('colors'));
591
+ wp_enqueue_style('final-tiles-grid-gallery-lite-admin');
 
 
 
 
 
592
 
593
+ wp_register_script('materialize', plugins_url() . '/final-tiles-grid-gallery-lite/admin/scripts/materialize.min.js', array('jquery'));
594
+ wp_enqueue_script('materialize');
595
 
596
+ wp_register_script('final-tiles-grid-gallery-lite', plugins_url() . '/final-tiles-grid-gallery-lite/admin/scripts/final-tiles-grid-gallery-lite-admin.js', array('jquery', 'media-upload', 'thickbox', 'materialize'));
597
+ wp_enqueue_script('final-tiles-grid-gallery-lite');
 
 
 
598
 
599
+ wp_enqueue_style('thickbox');
600
+
601
+ wp_register_style('fontawesome_stylesheet', '//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css');
602
+ wp_enqueue_style('fontawesome_stylesheet');
603
+ }
604
+
605
+ //Create Admin Menu
606
+ public function add_gallery_admin_menu()
607
+ {
608
+ $overview = add_menu_page('Final Tiles Gallery', 'Final Tiles Gallery', 'edit_posts', 'ftg-lite-gallery-admin', array($this, 'add_overview'), plugins_url() . '/final-tiles-grid-gallery-lite/admin/icon.png');
609
+ $add_gallery = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Add Gallery', 'FinalTiles-gallery'), __('Add Gallery', 'FinalTiles-gallery'), 'edit_posts', 'ftg-lite-add-gallery', array($this, 'add_gallery'));
610
+ $tutorial = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Tutorial', 'FinalTiles-gallery'), __('Tutorial', 'FinalTiles-gallery'), 'edit_posts', 'ftg-lite-tutorial', array($this, 'tutorial'));
611
+ $plugins = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Other galleries','FinalTiles-gallery'), __('Other galleries','FinalTiles-gallery'), 'edit_posts', 'ftg-lite-gallery-others', array($this, 'other_galleries'));
612
+ $support = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Support', 'FinalTiles-gallery'), __('Support', 'FinalTiles-gallery'), 'edit_posts', 'ftg-lite-support', array($this, 'support'));
613
+ $upgrade = add_submenu_page('ftg-lite-gallery-admin', __('FinalTiles Gallery >> Upgrade','FinalTiles-gallery'), __('<span style="color:#7cc048">Upgrade</span>','FinalTiles-gallery'), 'edit_posts', 'ftg-lite-gallery-upgrade', array($this, 'upgrade'));
614
+
615
+ add_action('load-' . $tutorial, array($this, 'gallery_admin_init'));
616
+ add_action('load-' . $overview, array($this, 'gallery_admin_init'));
617
+ add_action('load-' . $add_gallery, array($this, 'gallery_admin_init'));
618
+ add_action('load-' . $support, array($this, 'gallery_admin_init'));
619
+ add_action('load-'.$plugins, array($this, 'gallery_admin_init'));
620
+ add_action('load-'.$upgrade, array($this, 'gallery_admin_init'));
621
+
622
+ add_action( 'admin_bar_menu', array($this, 'gallery_admin_bar'), 100);
623
+ }
624
+
625
+ //Create Admin Pages
626
+ public function add_overview()
627
+ {
628
+ global $ftg_fields;
629
+ $ftg_fields = $this->fields;
630
+
631
+ global $ftg_parent_page;
632
  $ftg_parent_page = "dashboard";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
633
 
634
+ if (array_key_exists("id", $_GET)) {
635
+ include("admin/edit-gallery.php");
636
+ } else {
637
+ include("admin/overview.php");
638
+ }
639
+ }
640
+
641
+ public function upgrade()
642
+ {
643
+ include("admin/upgrade.php");
644
+ }
645
 
646
+ public function other_galleries()
647
+ {
648
+ include("admin/galleries.php");
649
+ }
650
+
651
+ public function tutorial()
652
+ {
653
+ include("admin/tutorial.php");
654
+ }
655
 
656
+ public function support()
657
+ {
658
+ include("admin/support.php");
659
+ }
660
+
661
+ public function add_gallery()
662
+ {
663
+ global $ftg_fields;
664
+ $ftg_fields = $this->fields;
665
+ $gallery = null;
666
+
667
+ include("admin/add-gallery.php");
668
+ }
669
+
670
+ public function delete_image()
671
+ {
672
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
673
+ foreach (explode(",", $_POST["id"]) as $id) {
674
+ $this->FinalTilesdb->deleteImage(intval($id));
675
+ }
676
+ }
677
+ wp_die();
678
+ }
679
+
680
+ public function toggle_visibility()
681
+ {
682
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery'))
683
+ {
684
+ foreach (explode(",", $_POST["id"]) as $id)
685
+ {
686
+ $image = $this->FinalTilesdb->getImage($id);
687
+ $this->FinalTilesdb->editImage($id, array("hidden" => $image->hidden == 'T' ? 'F' : 'T'));
688
+ }
689
+ }
690
+ wp_die();
691
+ }
692
+
693
+ public function add_image()
694
+ {
695
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
696
+ $gid = intval($_POST['galleryId']);
697
+ $enc_images = stripslashes($_POST["enc_images"]);
698
+ $images = json_decode($enc_images);
699
+
700
+ $result = $this->FinalTilesdb->addImages($gid, $images);
701
+
702
+ header("Content-type: application/json");
703
+ if ($result === false) {
704
+ echo "{\"success\":false}";
705
+ } else {
706
+ echo "{\"success\":true}";
707
+ }
708
+ }
709
+ wp_die();
710
+ }
711
+
712
+ public function list_thumbnail_sizes()
713
+ {
714
+ global $_wp_additional_image_sizes;
715
+ $sizes = array();
716
+ foreach (get_intermediate_image_sizes() as $s)
717
+ {
718
+ if (in_array($s, array('thumbnail', 'medium', 'large'))) {
719
+ $sizes[$s][0] = get_option($s . '_size_w');
720
+ $sizes[$s][1] = get_option($s . '_size_h');
721
+ }
722
+ else
723
+ {
724
+ if (isset($_wp_additional_image_sizes) &&
725
+ isset($_wp_additional_image_sizes[$s]) &&
726
+ $_wp_additional_image_sizes[$s]['width'] > 0 &&
727
+ $_wp_additional_image_sizes[$s]['height'] > 0
728
+ )
729
+ {
730
+ $sizes[$s] = array($_wp_additional_image_sizes[$s]['width'], $_wp_additional_image_sizes[$s]['height']);
731
+ }
732
+ }
733
+ }
734
+
735
+ return $sizes;
736
+ }
737
+
738
+ public function sort_images()
739
+ {
740
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
741
+ $result = $this->FinalTilesdb->sortImages(explode(',', $_POST['ids']));
742
+
743
+ header("Content-type: application/json");
744
+ if ($result === false) {
745
+ echo "{\"success\":false}";
746
+ } else {
747
+ echo "{\"success\":true}";
748
+ }
749
+ }
750
+ wp_die();
751
+ }
752
+
753
+ public function load_chunk()
754
+ {
755
+ require_once('lib/gallery-class.php');
756
+
757
+ if (check_admin_referer('finaltilesgallery', 'finaltilesgallery'))
758
+ {
759
+ $gid = intval($_POST["gallery"]);
760
+ $images = $this->FinalTilesdb->getImagesByGalleryId($gid);
761
+
762
+ $FinalTilesGallery = new FinalTilesGalleryLite($gid, $this->FinalTilesdb, $this->defaultValues);
763
+ echo $FinalTilesGallery->images_markup();
764
+ }
765
+ wp_die();
766
+ }
767
+
768
+ public function refresh_gallery()
769
+ {
770
+ $this->list_images();
771
+ }
772
+
773
+ public function save_image()
774
+ {
775
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
776
+ $result = false;
777
+
778
+ if ($_POST['source'] == 'posts') {
779
+ $result = true;
780
+ $postId = intval($_POST['post_id']);
781
+ $img_url = stripslashes($_POST['img_url']);
782
+ update_post_meta($postId, 'ftg_image_url', $img_url);
783
+ if (array_key_exists("filters", $_POST) && strlen($_POST['filters'])) {
784
+ update_post_meta($postId, 'ftg_filters', $_POST['filters']);
785
+ }
786
+ } else {
787
+ $type = $_POST['type'];
788
+ $imageUrl = stripslashes($_POST['img_url']);
789
+ $imageCaption = stripslashes($_POST['description']);
790
+ $filters = stripslashes($_POST['filters']);
791
+ $title = stripslashes($_POST['imageTitle']);
792
+ $target = $_POST['target'];
793
+ $group = $_POST['group'];
794
+ $hidden = $_POST['hidden'];
795
+ $link = isset($_POST['link']) ? stripslashes($_POST['link']) : null;
796
+ $imageId = intval($_POST['img_id']);
797
+ $sortOrder = intval($_POST['sortOrder']);
798
+
799
+ $data = array("imagePath" => $imageUrl,
800
+ "target" => $target,
801
+ "link" => $link,
802
+ "imageId" => $imageId,
803
+ "description" => $imageCaption,
804
+ "filters" => $filters,
805
+ "title" => $title,
806
+ "group" => $group,
807
+ "hidden" => $hidden,
808
+ "sortOrder" => $sortOrder);
809
+
810
+ if (!empty($_POST["id"])) {
811
+ $imageId = intval($_POST['id']);
812
+ $result = $this->FinalTilesdb->editImage($imageId, $data);
813
+ } else {
814
+ $data["gid"] = intval($_POST['galleryId']);
815
+ $result = $this->FinalTilesdb->addFullImage($data);
816
+ }
817
+ }
818
+ header("Content-type: application/json");
819
+
820
+ if ($result === false) {
821
+ echo "{\"success\":false}";
822
+ } else {
823
+ echo "{\"success\":true}";
824
+ }
825
+ }
826
+ wp_die();
827
+ }
828
+
829
+ public function list_images()
830
+ {
831
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
832
+ $gid = intval($_POST["gid"]);
833
+ $imageResults = $this->FinalTilesdb->getImagesByGalleryId($gid);
834
+ $gallery = $this->FinalTilesdb->getGalleryById($gid);
835
+
836
+ $list_size = "medium";
837
+ $column_size = "s6 m3 l3";
838
+
839
+ if (isset($_POST['list_size']) && !empty($_POST['list_size'])) {
840
+ $list_size = $_POST['list_size'];
841
+ }
842
 
843
+ setcookie('ftg_imglist_size', $list_size);
844
+ $_COOKIE['ftg_imglist_size'] = $list_size;
845
+
846
+ if ($list_size == 'small')
847
+ $column_size = 's4 m2 l2';
848
+ if ($list_size == 'medium')
849
+ $column_size = 's6 m3 l3';
850
+ if ($list_size == 'big')
851
+ $column_size = 's12 m4 l4';
852
+
853
+ include('admin/include/image-list.php');
854
+ }
855
+ wp_die();
856
+ }
857
+
858
+ public function add_new_gallery()
859
+ {
860
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
861
+ $data = $this->defaultValues;
862
+
863
+ $data["date"] = date("Y-m-d");
864
+ $data["name"] = $_POST['ftg_name'];
865
+ $data["description"] = $_POST['ftg_description'];
866
+ $data["source"] = $_POST['ftg_source'];
867
+ $data["wp_field_caption"] = $_POST['ftg_wp_field_caption'];
868
+ $data["wp_field_title"] = $_POST['ftg_wp_field_title'];
869
+ $data["captionEffect"] = $_POST['ftg_captionEffect'];
870
+ $data["post_categories"] = $_POST["post_categories"];
871
+ $data["post_tags"] = $_POST["post_tags"];
872
+ $data["layout"] = $_POST["layout"];
873
+ $data["defaultWooImageSize"] = $_POST['def_imgsize'];
874
+ $data["defaultPostImageSize"] = $_POST['def_imgsize'];
875
+ $data["woo_categories"] = $_POST["woo_categories"];
876
+
877
+ $result = $this->FinalTilesdb->addGallery($data);
878
+ $id = $this->FinalTilesdb->getNewGalleryId();
879
+
880
+ if ($id > 0 && array_key_exists('enc_images', $_POST) && strlen($_POST['enc_images'])) {
881
+ $enc_images = stripslashes($_POST["enc_images"]);
882
+ $images = json_decode($enc_images);
883
+ $result = $this->FinalTilesdb->addImages($id, $images);
884
+ }
885
+
886
+ echo $id;
887
+ } else {
888
+ echo -1;
889
+ }
890
+ wp_die();
891
+ }
892
+
893
+ private function checkboxVal($field)
894
+ {
895
+ if (isset($_POST[$field]))
896
+ return 'T';
897
+
898
+ return 'F';
899
+ }
900
+
901
+ public function save_gallery()
902
+ {
903
+ if (check_admin_referer('FinalTiles_gallery', 'FinalTiles_gallery')) {
904
+ $galleryName = stripslashes($_POST['ftg_name']);
905
+ $galleryDescription = stripslashes($_POST['ftg_description']);
906
+ $slug = strtolower(str_replace(" ", "", $galleryName));
907
+ $margin = intval($_POST['ftg_margin']);
908
+ $minTileWidth = intval($_POST['ftg_minTileWidth']);
909
+ $gridCellSize = intval($_POST['ftg_gridCellSize']);
910
+ $imagesOrder = $_POST['ftg_imagesOrder'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
911
  $width = $_POST['ftg_width'];
912
+ $enableTwitter = $this->checkboxVal('ftg_enableTwitter');
913
+ $filterClick = $this->checkboxVal('ftg_filterClick');
914
+ $enableFacebook = $this->checkboxVal('ftg_enableFacebook');
915
+ $enableGplus = $this->checkboxVal('ftg_enableGplus');
916
+ $enablePinterest = $this->checkboxVal('ftg_enablePinterest');
917
+ $lightbox = $_POST['ftg_lightbox'];
918
+ $mobileLightbox = $_POST['ftg_mobileLightbox'];
919
+ $blank = $this->checkboxVal('ftg_blank');
920
+ $filters = $_POST['ftg_filters'];
921
+
922
  $scrollEffect = $_POST['ftg_scrollEffect'];
923
  $captionBehavior = $_POST['ftg_captionBehavior'];
924
+ $captionMobileBehavior = $_POST['ftg_captionMobileBehavior'];
925
+ $captionEffect = $_POST['ftg_captionEffect'];
926
+ $captionColor = $_POST['ftg_captionColor'];
927
+ $captionBackgroundColor = $_POST['ftg_captionBackgroundColor'];
928
+ $captionEasing = $_POST['ftg_captionEasing'];
929
+ $captionHorizontalAlignment = $_POST['ftg_captionHorizontalAlignment'];
930
+ $captionVerticalAlignment = $_POST['ftg_captionVerticalAlignment'];
931
+ $captionEmpty = $_POST['ftg_captionEmpty'];
932
+ $captionOpacity = intval($_POST['ftg_captionOpacity']);
933
+ $borderSize = intval($_POST['ftg_borderSize']);
934
+ $borderColor = $_POST['ftg_borderColor'];
935
+ $titleFontSize = intval($_POST['ftg_titleFontSize']);
936
+ $loadingBarColor = $_POST['ftg_loadingBarColor'];
937
+ $loadingBarBackgroundColor = $_POST['ftg_loadingBarBackgroundColor'];
938
+ $borderRadius = intval($_POST['ftg_borderRadius']);
939
+ $allFilterLabel = $_POST['ftg_allFilterLabel'];
940
+ $shadowColor = $_POST['ftg_shadowColor'];
941
+ $shadowSize = intval($_POST['ftg_shadowSize']);
942
+ $enlargeImages = $this->checkboxVal('ftg_enlargeImages');
943
+ $wp_field_caption = $_POST['ftg_wp_field_caption'];
944
+ $wp_field_title = $_POST['ftg_wp_field_title'];
945
+ $style = $_POST['ftg_style'];
946
+ $script = $_POST['ftg_script'];
947
+ $loadedScale = intval($_POST['ftg_loadedScale']);
948
+ $loadedRotate = intval($_POST['ftg_loadedRotate']);
949
+ $loadedHSlide = intval($_POST['ftg_loadedHSlide']);
950
+ $loadedVSlide = intval($_POST['ftg_loadedVSlide']);
951
+
952
+ $captionEffectDuration = intval($_POST['ftg_captionEffectDuration']);
953
+ $id = isset($_POST['ftg_gallery_edit']) ? intval($_POST['ftg_gallery_edit']) : 0;
954
+
955
+ $data = array(
956
+ 'ajaxLoading' => $_POST['ftg_ajaxLoading'],
957
+ 'layout' => $_POST['ftg_layout'],
958
+ 'name' => $galleryName,
959
+ 'slug' => $slug,
960
+ 'description' => $galleryDescription,
961
+ 'lightbox' => $lightbox,
962
+ 'mobileLightbox' => $mobileLightbox,
963
+ 'lightboxImageSize' => $_POST['ftg_lightboxImageSize'],
964
+ 'blank' => $blank,
965
+ 'margin' => $margin,
966
+ 'allFilterLabel' => $allFilterLabel,
967
+ 'minTileWidth' => $minTileWidth,
968
+ 'gridCellSize' => $gridCellSize,
969
+ 'enableTwitter' => $enableTwitter,
970
+ 'backgroundColor' => $_POST['ftg_backgroundColor'],
971
+ 'filterClick' => $filterClick,
972
+ 'disableLightboxGroups' => $this->checkboxVal('ftg_disableLightboxGroups'),
973
+ 'defaultFilter' => $_POST['ftg_filterDef'],
974
+ 'enableFacebook' => $enableFacebook,
975
+ 'enableGplus' => $enableGplus,
976
+ 'enablePinterest' => $enablePinterest,
977
+ 'imagesOrder' => $imagesOrder,
978
+ 'compressHTML' => $this->checkboxVal('ftg_compressHTML'),
979
+ 'loadMethod' => $_POST['ftg_loadMethod'],
980
+ 'socialIconColor' => $_POST['ftg_socialIconColor'],
981
+ 'recentPostsCaption' => $_POST['ftg_recentPostsCaption'],
982
+ 'recentPostsCaptionAutoExcerptLength' => intval($_POST['ftg_recentPostsCaptionAutoExcerptLength']),
983
+ 'captionBehavior' => $captionBehavior,
984
+ 'captionEffect' => $captionEffect,
985
+ 'captionEmpty' => $captionEmpty,
986
+ 'captionFullHeight' => $this->checkboxVal('ftg_captionFullHeight'),
987
+ 'captionBackgroundColor' => $captionBackgroundColor,
988
+ 'captionColor' => $captionColor,
989
+ 'captionFrameColor' => $_POST['ftg_captionFrameColor'],
990
+ 'captionEffectDuration' => $captionEffectDuration,
991
+ 'captionEasing' => $captionEasing,
992
+ 'captionVerticalAlignment' => $captionVerticalAlignment,
993
+ 'captionHorizontalAlignment' => $captionHorizontalAlignment,
994
+ 'captionMobileBehavior' => $captionMobileBehavior,
995
+ 'captionOpacity' => $captionOpacity,
996
+ 'captionIcon' => $_POST['ftg_captionIcon'],
997
+ 'captionFrame' => $this->checkboxVal('ftg_captionFrame'),
998
+ 'customCaptionIcon' => $_POST['ftg_customCaptionIcon'],
999
+ 'captionIconColor' => $_POST['ftg_captionIconColor'],
1000
+ 'captionIconSize' => intval($_POST['ftg_captionIconSize']),
1001
+ 'captionFontSize' => intval($_POST['ftg_captionFontSize']),
1002
+ 'captionPosition' => $_POST['ftg_captionPosition'],
1003
+ 'titleFontSize' => intval($_POST['ftg_titleFontSize']),
1004
+ 'hoverZoom' => intval($_POST['ftg_hoverZoom']),
1005
+ 'hoverRotation' => intval($_POST['ftg_hoverRotation']),
1006
+ 'hoverIconRotation' => $this->checkboxVal('ftg_hoverIconRotation'),
1007
+ 'filters' => $filters,
1008
+ 'wp_field_caption' => $wp_field_caption,
1009
+ 'wp_field_title' => $wp_field_title,
1010
+ 'borderSize' => $borderSize,
1011
+ 'borderColor' => $borderColor,
1012
+ 'loadingBarColor' => $loadingBarColor,
1013
+ 'loadingBarBackgroundColor' => $loadingBarBackgroundColor,
1014
+ 'enlargeImages' => $enlargeImages,
1015
+ 'borderRadius' => $borderRadius,
1016
+ 'imageSizeFactor' => intval($_POST['ftg_imageSizeFactor']),
1017
+ 'imageSizeFactorTabletLandscape' => intval($_POST['ftg_imageSizeFactorTabletLandscape']),
1018
+ 'imageSizeFactorTabletPortrait' => intval($_POST['ftg_imageSizeFactorTabletPortrait']),
1019
+ 'imageSizeFactorPhoneLandscape' => intval($_POST['ftg_imageSizeFactorPhoneLandscape']),
1020
+ 'imageSizeFactorPhonePortrait' => intval($_POST['ftg_imageSizeFactorPhonePortrait']),
1021
+ 'imageSizeFactorCustom' => $_POST['ftg_imageSizeFactorCustom'],
1022
+
1023
+ 'columns' => intval($_POST['ftg_columns']),
1024
+ 'columnsTabletLandscape' => intval($_POST['ftg_columnsTabletLandscape']),
1025
+ 'columnsTabletPortrait' => intval($_POST['ftg_columnsTabletPortrait']),
1026
+ 'columnsPhoneLandscape' => intval($_POST['ftg_columnsPhoneLandscape']),
1027
+ 'columnsPhonePortrait' => intval($_POST['ftg_columnsPhonePortrait']),
1028
+
1029
+ 'max_posts' => intval($_POST['ftg_max_posts']),
1030
+
1031
+ 'shadowSize' => $shadowSize,
1032
+ 'shadowColor' => $shadowColor,
1033
+ 'source' => $_POST['ftg_source'],
1034
+ 'post_types' => $_POST['ftg_post_types'],
1035
+ 'post_categories' => $_POST['ftg_post_categories'],
1036
+ 'post_tags' => $_POST['ftg_post_tags'],
1037
+ 'tilesPerPage' => intval($_POST['ftg_tilesPerPage']),
1038
+ 'woo_categories' => isset($_POST['ftg_woo_categories']) ? $_POST['ftg_woo_categories'] : '',
1039
+ 'defaultPostImageSize' => $_POST['ftg_defaultPostImageSize'],
1040
+ 'defaultWooImageSize' => isset($_POST['ftg_defaultWooImageSize']) ? $_POST['ftg_defaultWooImageSize'] : '',
1041
+ 'width' => $width,
1042
+ 'beforeGalleryText' => $_POST['ftg_beforeGalleryText'],
1043
+ 'afterGalleryText' => $_POST['ftg_afterGalleryText'],
1044
+ 'aClass' => $_POST['ftg_aClass'],
1045
+ 'rel' => $_POST['ftg_rel'],
1046
+ 'style' => $style,
1047
+ 'delay' => intval($_POST['ftg_delay']),
1048
+ 'script' => $script,
1049
+ 'support' => $this->checkboxVal('ftg_support'),
1050
+ 'supportText' => $_POST['ftg_supportText'],
1051
+ 'envatoReferral' => $_POST['ftg_envatoReferral'],
1052
+ 'scrollEffect' => $scrollEffect,
1053
+ 'loadedScale' => $loadedScale,
1054
+ 'loadedRotate' => $loadedRotate,
1055
+ 'loadedHSlide' => $loadedHSlide,
1056
+ 'loadedVSlide' => $loadedVSlide
1057
+ );
1058
+
1059
+ header("Content-type: application/json");
1060
+ if ($id > 0) {
1061
+ $result = $this->FinalTilesdb->editGallery($id, $data);
1062
+ } else {
1063
+ $result = $this->FinalTilesdb->addGallery($data);
1064
+ $id = $this->FinalTilesdb->getNewGalleryId();
1065
+ }
1066
+
1067
+ if ($result)
1068
+ echo "{\"success\":true,\"id\":" . $id . "}";
1069
+ else
1070
+ echo "{\"success\":false}";
1071
+ }
1072
+
1073
+ wp_die();
1074
+ }
1075
+
1076
+ public static function get_image_size_links($id)
1077
  {
1078
  $result = array();
1079
  $sizes = get_intermediate_image_sizes();
1089
  return $result;
1090
  }
1091
 
1092
+ //Create gallery
1093
+ public function create_gallery($galleryId)
1094
+ {
1095
+ require_once('lib/gallery-class.php');
1096
+ global $FinalTilesGallery;
1097
+
1098
+ if (class_exists('FinalTilesGalleryLite')) {
1099
+ $FinalTilesGallery = new FinalTilesGalleryLite($galleryId, $this->FinalTilesdb, $this->defaultValues);
1100
+ $settings = $FinalTilesGallery->getGallery();
1101
+
1102
+ switch ($settings->lightbox) {
1103
+ case "magnific":
1104
+ wp_enqueue_style('magnific_stylesheet');
1105
+ wp_enqueue_script('magnific_script');
1106
+ break;
1107
+ case "prettyphoto":
1108
+ wp_enqueue_style('prettyphoto_stylesheet');
1109
+ wp_enqueue_script('prettyphoto_script');
1110
+ break;
1111
+ case "fancybox":
1112
+ wp_enqueue_style('fancybox_stylesheet');
1113
+ wp_enqueue_script('fancybox_script');
1114
+ break;
1115
+ case "colorbox":
1116
+ wp_enqueue_style('colorbox_stylesheet');
1117
+ wp_enqueue_script('colorbox_script');
1118
+ break;
1119
+ case "swipebox":
1120
+ wp_enqueue_style('swipebox_stylesheet');
1121
+ wp_enqueue_script('swipebox_script');
1122
+ break;
1123
+ case "lightbox2":
1124
+ wp_enqueue_style('lightbox2_stylesheet');
1125
+ wp_enqueue_script('lightbox2_script');
1126
+ break;
1127
+ case "image-lightbox":
1128
+ wp_enqueue_script('image-lightbox_script');
1129
+ case "lightgallery":
1130
+ wp_enqueue_style('lightgallery_stylesheet');
1131
+ wp_enqueue_script('lightgallery_script');
1132
+ break;
1133
+ }
1134
+
1135
+ switch ($settings->mobileLightbox) {
1136
+ default:
1137
+ case "magnific":
1138
+ wp_enqueue_style('magnific_stylesheet');
1139
+ wp_enqueue_script('magnific_script');
1140
+ break;
1141
+ case "prettyphoto":
1142
+ wp_enqueue_style('prettyphoto_stylesheet');
1143
+ wp_enqueue_script('prettyphoto_script');
1144
+ break;
1145
+ case "fancybox":
1146
+ wp_enqueue_style('fancybox_stylesheet');
1147
+ wp_enqueue_script('fancybox_script');
1148
+ break;
1149
+ case "colorbox":
1150
+ wp_enqueue_style('colorbox_stylesheet');
1151
+ wp_enqueue_script('colorbox_script');
1152
+ break;
1153
+ case "swipebox":
1154
+ wp_enqueue_style('swipebox_stylesheet');
1155
+ wp_enqueue_script('swipebox_script');
1156
+ break;
1157
+ case "lightbox2":
1158
+ wp_enqueue_style('lightbox2_stylesheet');
1159
+ wp_enqueue_script('lightbox2_script');
1160
+ break;
1161
+ case "image-lightbox":
1162
+ wp_enqueue_script('image-lightbox_script');
1163
+ case "lightgallery":
1164
+ wp_enqueue_style('lightgallery_stylesheet');
1165
+ wp_enqueue_script('lightgallery_script');
1166
+ break;
1167
+ }
1168
+
1169
+ return $FinalTilesGallery->render();
1170
+ } else {
1171
+ return "Gallery not found.";
1172
+ }
1173
+ }
1174
+
1175
+ //Create Short Code
1176
+ public function gallery_shortcode_handler($atts)
1177
+ {
1178
+ return $this->create_gallery($atts['id']);
1179
+ }
1180
+
1181
+ static public function slugify($text)
1182
+ {
1183
+ $text = preg_replace('~[^\\pL\d]+~u', '-', $text);
1184
+ $text = trim($text, '-');
1185
+ $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
1186
+ $text = strtolower($text);
1187
+ $text = preg_replace('~[^-\w]+~', '', $text);
1188
+
1189
+ if (empty($text)) {
1190
+ return 'n-a';
1191
+ }
1192
+
1193
+ return $text;
1194
+ }
1195
+
1196
+ var $fields = array(
1197
 
1198
  "General" => array(
1199
+ "icon" => "mdi-settings",
1200
+ "fields" => array(
1201
+ "name" => array(
1202
+ "name" => "Name",
1203
+ "hiddenFor" => array("dashboard", "shortcode"),
1204
+ "type" => "text",
1205
+ "description" => "Name of the gallery, for internal use.",
1206
+ "excludeFrom" => array("dashboard", "shortcode")
1207
+ ),
1208
+ "description" => array(
1209
+ "name" => "Description",
1210
+ "hiddenFor" => array("dashboard", "shortcode"),
1211
+ "type" => "text",
1212
+ "description" => "Description of the gallery, for internal use.",
1213
+ "excludeFrom" => array("dashboard", "shortcode")
1214
+ ),
1215
+ "layout" => array(
1216
+ "name" => "Layout",
1217
+ "type" => "select",
1218
+ "description" => "<strong>Final Tiles</strong>: use images with different sizes<br><strong>Masonry</strong>: multi-column layout, use this one if you need images of the same size.",
1219
+ "values" => array(
1220
+ "Layout" => array(
1221
+ "final|Final Tiles", "columns|Masonry"
1222
+ )
1223
+ ),
1224
+ "excludeFrom" => array()
1225
+ ),
1226
+ "width" => array(
1227
+ "name" => "Width",
1228
+ "type" => "text",
1229
+ "description" => "Width of the gallery in pixels or percentage.",
1230
+ "excludeFrom" => array()
1231
+ ),
1232
+ "margin" => array(
1233
+ "name" => "Margin",
1234
+ "type" => "number",
1235
+ "description" => "Margin between images",
1236
+ "mu" => "px",
1237
+ "min" => 0,
1238
+ "max" => 50,
1239
+ "excludeFrom" => array()
1240
+ ),
1241
+ "columns" => array(
1242
+ "name" => "Number of columns",
1243
+ "type" => "number",
1244
+ "description" => "",
1245
+ "mu" => "",
1246
+ "min" => 1,
1247
+ "max" => 50,
1248
+ "excludeFrom" => array()
1249
+ ),
1250
+ "columnsTabletLandscape" => array(
1251
+ "name" => "Number of columns (Tablet landscape)",
1252
+ "type" => "number",
1253
+ "description" => "",
1254
+ "mu" => "",
1255
+ "min" => 1,
1256
+ "max" => 50,
1257
+ "excludeFrom" => array()
1258
+ ),
1259
+ "columnsTabletPortrait" => array(
1260
+ "name" => "Number of columns (Tablet portrait)",
1261
+ "type" => "number",
1262
+ "description" => "",
1263
+ "mu" => "",
1264
+ "min" => 1,
1265
+ "max" => 50,
1266
+ "excludeFrom" => array()
1267
+ ),
1268
+ "columnsPhoneLandscape" => array(
1269
+ "name" => "Number of columns (Phone landscape)",
1270
+ "type" => "number",
1271
+ "description" => "",
1272
+ "mu" => "",
1273
+ "min" => 1,
1274
+ "max" => 50,
1275
+ "excludeFrom" => array()
1276
+ ),
1277
+ "columnsPhonePortrait" => array(
1278
+ "name" => "Number of columns (Phone portrait)",
1279
+ "type" => "number",
1280
+ "description" => "",
1281
+ "mu" => "",
1282
+ "min" => 1,
1283
+ "max" => 50,
1284
+ "excludeFrom" => array()
1285
+ ),
1286
+ "imageSizeFactor" => array(
1287
+ "name" => "Image size factor",
1288
+ "type" => "slider",
1289
+ "description" => "Percentage of image size, i.e.: if an image of the gallery is 300x200 and the size factor is 50% then the resulting image will be 150x100.
1290
  90% is a suggested default value, because under some circumstances, the images could be enlarged by the script (to fill gaps and avoid blank spaces between tiles).",
1291
+ "default" => 90,
1292
+ "min" => 1,
1293
+ "max" => 100,
1294
+ "mu" => "%",
1295
+ "excludeFrom" => array()
1296
+ ),
1297
  "imageSizeFactorTabletLandscape" => array(
1298
+ "name" => "Image size factor (Tablet Landscape)",
1299
+ "type" => "slider",
1300
+ "description" => "Image size factor to apply when the viewport is 1024px, typically for tablets with landscape orientation",
1301
+ "default" => 80,
1302
+ "min" => 1,
1303
+ "max" => 100,
1304
+ "mu" => "%",
1305
+ "excludeFrom" => array()
1306
+ ),
1307
  "imageSizeFactorTabletPortrait" => array(
1308
+ "name" => "Image size factor Tablet Portrait",
1309
+ "type" => "slider",
1310
+ "description" => "Image size factor to apply when the viewport is 768px, typically for tablets with portrait orientation",
1311
+ "default" => 70,
1312
+ "min" => 1,
1313
+ "max" => 100,
1314
+ "mu" => "%",
1315
+ "excludeFrom" => array()
1316
+ ),
1317
  "imageSizeFactorPhoneLandscape" => array(
1318
+ "name" => "Image size factor Smartphone Landscape",
1319
+ "type" => "slider",
1320
+ "description" => "Image size factor to apply when the viewport is 640px, typically for smartphones with landscape orientation",
1321
+ "default" => 60,
1322
+ "min" => 1,
1323
+ "max" => 100,
1324
+ "mu" => "%",
1325
+ "excludeFrom" => array()
1326
+ ),
1327
  "imageSizeFactorPhonePortrait" => array(
1328
+ "name" => "Image size factor Phone Portrait",
1329
+ "type" => "slider",
1330
+ "description" => "Image size factor to apply when the viewport is 320px, typically for smartphones with portrait orientation",
1331
+ "default" => 50,
1332
+ "min" => 1,
1333
+ "max" => 100,
1334
+ "mu" => "%",
1335
+ "excludeFrom" => array()
1336
+ ),
1337
+ "imageSizeFactorCustom" => array(
1338
+ "name" => "Custom image size factor",
1339
+ "hiddenFor" => array("dashboard", "shortcode"),
1340
+ "type" => "PRO_FEATURE",
1341
+ "description" => "Use this field if you need further resolutions.",
1342
+ "excludeFrom" => array("dashboard", "shortcode")
1343
+ ),
1344
+ "minTileWidth" => array(
1345
+ "name" => "Tile minimum width",
1346
+ "type" => "number",
1347
+ "description" => "Minimum width of each tile, <strong>multiply this value for the image size factor to get the real size</strong>.",
1348
+ "mu" => "px",
1349
+ "min" => 50,
1350
+ "max" => 500,
1351
+ "default" => 200,
1352
+ "excludeFrom" => array()
1353
+ ),
1354
+ "imagesOrder" => array(
1355
+ "name" => "Images order",
1356
+ "type" => "select",
1357
+ "description" => "Choose the order of the images",
1358
+ "default" => "",
1359
+ "values" => array(
1360
+ "Images order" => array(
1361
+ "user|User", "reverse|Reverse", "random|Random"
1362
+ )
1363
+ ),
1364
+ "excludeFrom" => array()
1365
+ ),
1366
+ "filter" => array(
1367
+ "name" => "Filters",
1368
+ "type" => "PRO_FEATURE",
1369
+ "description" => "Manage here all the filters of this gallery",
1370
+ "excludeFrom" => array("dashboard", "shortcode")
1371
+ ),
1372
+ "filterClick" => array(
1373
+ "name" => "Reload Page on filter click",
1374
+ "type" => "PRO_FEATURE",
1375
+ "description" => "Turn this feature ON if you want to use filters with most lightboxes",
1376
+ "excludeFrom" => array()
1377
+ ),
1378
+
1379
+ "allFilterLabel" => array(
1380
+ "name" => "Text for 'All' filter",
1381
+ "type" => "PRO_FEATURE",
1382
+ "description" => "Write here the label for the 'All' filter",
1383
+ "excludeFrom" => array()
1384
+ ),
1385
+ "gridCellSize" => array(
1386
+ "name" => "Size of the grid",
1387
+ "type" => "number",
1388
+ "default" => 25,
1389
+ "min" => 1,
1390
+ "max" => 100,
1391
+ "mu" => "px",
1392
+ "description" => "Tiles are snapped to a virtual grid, <strong>the higher this value the higher the chance to get bottom aligned tiles</strong> (but it needs to crop horizontally).",
1393
+ "excludeFrom" => array()
1394
+ ),
1395
+ "enlargeImages" => array(
1396
+ "name" => "Allow image enlargement",
1397
+ "type" => "toggle",
1398
+ "description" => "Images can be occasionally enlarged to avoid gaps. If you notice a quality loss try to reduce the <strong>Image size factor</strong> parameter.",
1399
+ "default" => "T",
1400
+ "excludeFrom" => array()
1401
+ ),
1402
+ "compressHTML" => array(
1403
+ "name" => "Compress HTML",
1404
+ "type" => "toggle",
1405
+ "description" => "Enable or disable HTML compression, some themes prefer uncompressed, switch it off in case of problems.",
1406
+ "default" => "T",
1407
+ "excludeFrom" => array()
1408
+ )
1409
+ )
 
 
 
 
 
1410
  ),
1411
  "Links & Lightbox" => array(
1412
+ "icon" => "mdi-link-variant",
1413
+ "fields" => array(
1414
+ "lightbox" => array(
1415
+ "name" => "Lightbox &amp; Links",
1416
+ "type" => "select",
1417
+ "description" => "Define here what happens when user click on the images.<br><strong><a href='http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351' target='_blank'>Buy a PRO license</a></strong> to unlock 5 more lightboxes.",
1418
+ "values" => array(
1419
+ "Link" => array("|No link", "direct|Direct link to image"),
1420
+ "Lightboxes" => array("lightbox2|Lightbox", "everlightbox|EverlightBox")
1421
+ ),
1422
+ "excludeFrom" => array()
1423
+ ),
1424
+ "mobileLightbox" => array(
1425
+ "name" => "Mobile Lightbox &amp; Links",
1426
+ "type" => "PRO_FEATURE",
1427
+ "description" => "Define here what happens when user click on the images.",
1428
+ "excludeFrom" => array()
1429
+ ),
1430
+ "lightboxImageSize" => array(
1431
+ "name" => "Image size for the lightbox",
1432
+ "type" => "select",
1433
+ "description" => "",
1434
+ "values" => array(
1435
+ "Size" => array()
1436
+ ),
1437
+ "excludeFrom" => array()
1438
+ ),
1439
+ "disableLightboxGroups" => array(
1440
+ "name" => "Disable lightbox grouping",
1441
+ "type" => "toggle",
1442
+ "description" => "Flag this option if you don't want to group images when opened in a lightbox.",
1443
+ "default" => "F",
1444
+ "excludeFrom" => array()
1445
+ ),
1446
+ "blank" => array(
1447
+ "name" => "Links target",
1448
+ "type" => "toggle",
1449
+ "description" => "Open links in a blank page.",
1450
+ "excludeFrom" => array()
1451
+ ),
1452
+ "enableTwitter" => array(
1453
+ "name" => "Enable Twitter icon",
1454
+ "type" => "toggle",
1455
+ "description" => "Enable Twitter sharing.",
1456
+ "default" => "F",
1457
+ "excludeFrom" => array()
1458
+ ),
1459
+ "enableFacebook" => array(
1460
+ "name" => "Enable Facebook icon",
1461
+ "type" => "toggle",
1462
+ "description" => "Enable Facebook sharing.",
1463
+ "default" => "F",
1464
+ "excludeFrom" => array()
1465
+ ),
1466
+ "enableGplus" => array(
1467
+ "name" => "Enable Google Plus icon",
1468
+ "type" => "toggle",
1469
+ "description" => "Enable Google Plus sharing",
1470
+ "default" => "F",
1471
+ "excludeFrom" => array()
1472
+ ),
1473
+ "enablePinterest" => array(
1474
+ "name" => "Enable Pinterest icon",
1475
+ "type" => "toggle",
1476
+ "description" => "Enable Pinterest sharing",
1477
+ "default" => "F",
1478
+ "excludeFrom" => array()
1479
+ ),
1480
+ "socialIconColor" => array(
1481
+ "name" => "Color of social sharing icons",
1482
+ "type" => "color",
1483
+ "description" => "Set the color of the social sharing icons",
1484
+ "default" => "#ffffff",
1485
+ "excludeFrom" => array()
1486
+ )
1487
+ )
1488
  ),
1489
  "Captions" => array(
1490
+ "icon" => "mdi-comment-text-outline",
1491
+ "fields" => array(
1492
+ "captionBehavior" => array(
1493
+ "name" => "Caption behavior",
1494
+ "type" => "PRO_FEATURE",
1495
+ "description" => "Captions can have two different behaviors: start hidden and shown on mouse over or viceversa.",
1496
+ "excludeFrom" => array()
1497
+ ),
1498
+ "captionMobileBehavior" => array(
1499
+ "name" => "Caption mobile behavior",
1500
+ "type" => "PRO_FEATURE",
1501
+ "description" => "Caption behavior for mobile devices.",
1502
+ "excludeFrom" => array()
1503
+ ),
1504
+ "captionFullHeight" => array(
1505
+ "name" => "Caption full height",
1506
+ "type" => "PRO_FEATURE",
1507
+ "description" => "Enable this option for full height captions. <strong>This is required if you want to use caption icons and caption effects other than <i>fade</i>.</strong>",
1508
+ "default" => "T",
1509
+ "excludeFrom" => array()
1510
+ ),
1511
+ "captionEmpty" => array(
1512
+ "name" => "Empty captions",
1513
+ "type" => "PRO_FEATURE",
1514
+ "description" => "Choose if empty caption has to be shown. Consider that empty captions are never shown if <i>Caption full height</i> is switched off.",
1515
+ "excludeFrom" => array()
1516
+ ),
1517
+ "captionIcon" => array(
1518
+ "name" => "Caption icon",
1519
+ "type" => "select",
1520
+ "description" => "Choose the icon for the captions.",
1521
+ "values" => array(
1522
+ "Icon" => array("|None", "search|Lens", "search-plus|Lens (plus)", "link|Link", "heart|Heart", "heart-o|Heart empty",
1523
+ "camera|Camera", "camera-retro|Camera retro", "picture-o|Picture", "star|Star", "star-o|Star empty",
1524
+ "sun-o|Sun", "arrows-alt|Arrows", "hand-o-right|Hand")
1525
+ ),
1526
+ "excludeFrom" => array()
1527
+ ),
1528
+ "customCaptionIcon" => array(
1529
+ "name" => "Custom caption icon",
1530
+ "type" => "PRO_FEATURE",
1531
+ "description" => "Use this field to insert the class of a FontAwesome icon (i.e.: fa-heart). <a href='http://fontawesome.io/icons/' target='blank'>See all available icons</a>. <strong>This value override the <i>Caption icon</i> value</strong>.",
1532
+ "excludeFrom" => array()
1533
+ ),
1534
+ "captionIconColor" => array(
1535
+ "name" => "Caption icon color",
1536
+ "type" => "color",
1537
+ "description" => "Color of the icon in captions.",
1538
+ "default" => "#ffffff",
1539
+ "excludeFrom" => array()
1540
+ ),
1541
+ "captionIconSize" => array(
1542
+ "name" => "Caption icon size",
1543
+ "type" => "number",
1544
+ "description" => "Size of the icon in captions.",
1545
+ "default" => 12,
1546
+ "min" => 10,
1547
+ "max" => 96,
1548
+ "mu" => "px",
1549
+ "excludeFrom" => array()
1550
+ ),
1551
+ "captionFontSize" => array(
1552
+ "name" => "Caption font size",
1553
+ "type" => "number",
1554
+ "description" => "Size of the font in captions.",
1555
+ "default" => 12,
1556
+ "min" => 10,
1557
+ "max" => 96,
1558
+ "mu" => "px",
1559
+ "excludeFrom" => array()
1560
+ ),
1561
+ "captionEffect" => array(
1562
+ "name" => "Caption effect",
1563
+ "type" => "PRO_FEATURE",
1564
+ "description" => "Effect used to show the captions.",
1565
+ "excludeFrom" => array()
1566
+ ),
1567
+ "captionEasing" => array(
1568
+ "name" => "Caption effect easing",
1569
+ "type" => "PRO_FEATURE",
1570
+ "description" => "Easing function for the caption animation, works better with sliding animations.",
1571
+ "excludeFrom" => array()
1572
+ ),
1573
+ "captionFrame" => array(
1574
+ "name" => "Caption frame",
1575
+ "type" => "toggle",
1576
+ "description" => "Add a frame around the caption",
1577
+ "default" => "F",
1578
+ "excludeFrom" => array()
1579
+ ),
1580
+ "captionFrameColor" => array(
1581
+ "name" => "Caption frame color",
1582
+ "type" => "color",
1583
+ "description" => "Color of the frame around the caption",
1584
+ "default" => "#ffffff",
1585
+ "excludeFrom" => array()
1586
+ ),
1587
+ "captionColor" => array(
1588
+ "name" => "Caption color",
1589
+ "type" => "color",
1590
+ "description" => "Text color of the captions.",
1591
+ "default" => "#ffffff",
1592
+ "excludeFrom" => array()
1593
+ ),
1594
+ "captionEffectDuration" => array(
1595
+ "name" => "Caption effect duration",
1596
+ "type" => "text",
1597
+ "description" => "Duration of the caption animation.",
1598
+ "default" => 250,
1599
+ "mu" => "ms",
1600
+ "min" => 0,
1601
+ "max" => 1000,
1602
+ "excludeFrom" => array()
1603
+ ),
1604
+ "captionBackgroundColor" => array(
1605
+ "name" => "Caption background color",
1606
+ "type" => "color",
1607
+ "description" => "Caption background color",
1608
+ "default" => "#000000",
1609
+ "excludeFrom" => array()
1610
+ ),
1611
+ "captionOpacity" => array(
1612
+ "name" => "Caption opacity",
1613
+ "type" => "text",
1614
+ "description" => "Opacity of the caption, 0% means 'invisible' while 100% is a plain color without opacity.",
1615
+ "default" => 80,
1616
+ "min" => 0,
1617
+ "max" => 100,
1618
+ "mu" => "%",
1619
+ "excludeFrom" => array()
1620
+ ),
1621
+ "wp_field_caption" => array(
1622
+ "name" => "WordPress caption field",
1623
+ "type" => "select",
1624
+ "description" => "WordPress field used for captions. <strong>This field is used ONLY when images are added to the gallery, </strong> however, if you want to ignore captions just set it to '<i>Don't use captions</i>'.",
1625
+ "values" => array(
1626
+ "Field" => array("none|Don't use captions", "title|Title", "caption|Caption", "description|Description")
1627
+ ),
1628
+ "excludeFrom" => array("shortcode")
1629
+ ),
1630
+ "wp_field_title" => array(
1631
+ "name" => "WordPress title field",
1632
+ "type" => "select",
1633
+ "description" => "WordPress field used for titles. <strong>This field is used ONLY when images are added to the gallery, </strong> however, if you want to ignore titles just set it to '<i>Don't use titles</i>'.",
1634
+ "values" => array(
1635
+ "Field" => array("none|Don't use titles", "title|Title", "description|Description")
1636
+ ),
1637
+ "excludeFrom" => array("shortcode")
1638
+ ),
1639
+ "recentPostsCaption" => array(
1640
+ "name" => "Recent posts caption",
1641
+ "type" => "select",
1642
+ "description" => "Field of the post used for captions when using \"Recent posts\" as source.",
1643
+ "values" => array(
1644
+ "Field" => array("none|Don't use captions", "title|Title", "excerpt|Excerpt", "auto-excerpt|Auto excerpt")
1645
+ ),
1646
+ "excludeFrom" => array("shortcode")
1647
+ ),
1648
+ "recentPostsCaptionAutoExcerptLength" => array(
1649
+ "name" => "Max number of words for 'Auto excerpt'",
1650
+ "type" => "text",
1651
+ "description" => "Define the max number of words of the caption when <i>Recent posts caption</i> is set to <i>Auto excerpt</i>.",
1652
+ "default" => "20",
1653
+ "excludeFrom" => array()
1654
+ ),
1655
+ "captionVerticalAlignment" => array(
1656
+ "name" => "Caption Vertical Alignment",
1657
+ "type" => "select",
1658
+ "description" => "Choose the vertical alignment of the caption",
1659
+ "values" => array("Caption vertical alignment" => array("Top|Top", "Middle|Middle", "Bottom|Bottom")),
1660
+ "excludeFrom" => array()
1661
+ ),
1662
+ "captionHorizontalAlignment" => array(
1663
+ "name" => "Caption Horizontal Alignment",
1664
+ "type" => "select",
1665
+ "description" => "Choose the horizontal alignment of the caption",
1666
+ "values" => array("Caption horizontal alignment" => array("Left|Left", "Center|Center", "Right|Right")),
1667
+ "excludeFrom" => array()
1668
+ ),
1669
+ "titleFontSize" => array(
1670
+ "name" => "Title font size",
1671
+ "type" => "number",
1672
+ "description" => "Size of the font in captions.",
1673
+ "min" => 10,
1674
+ "max" => 96,
1675
+ "mu" => "px",
1676
+ "excludeFrom" => array()
1677
+ ),
1678
+
1679
+
1680
+ )
1681
  ),
1682
  "Hover effects" => array(
1683
+ "icon" => "mdi-file-image",
1684
+ "fields" => array(
1685
+ "hoverZoom" => array(
1686
+ "name" => "Zoom",
1687
+ "type" => "PRO_FEATURE",
1688
+ "description" => "Scale value.",
1689
+ "default" => 100,
1690
+ "min" => 0,
1691
+ "max" => 600,
1692
  "mu" => "%",
1693
+ "excludeFrom" => array()
1694
+ ),
1695
+ "hoverRotation" => array(
1696
+ "name" => "Rotation",
1697
+ "type" => "PRO_FEATURE",
1698
+ "description" => "Rotation value in degrees.",
1699
+ "min" => 0,
1700
+ "max" => 360,
1701
  "mu" => "deg",
1702
  "default" => 0,
1703
+ "excludeFrom" => array()
1704
+ ),
1705
  "hoverIconRotation" => array(
1706
  "name" => "Rotate icon",
1707
  "type" => "toggle",
1709
  "description" => "Enable rotation of the icon.",
1710
  "excludeFrom" => array()
1711
  )
1712
+ )
1713
+ ),
1714
+ "Image loaded effects" => array(
1715
+ "icon" => "mdi-reload",
1716
+ "fields" => array(
1717
+ "loadedScale" => array(
1718
+ "name" => "Scale",
1719
+ "description" => "",
1720
+ "type" => "slider",
1721
+ "min" => 0,
1722
+ "max" => 200,
1723
+ "mu" => "%",
1724
+ "default" => 100,
1725
+ "excludeFrom" => array()
1726
+ ),
1727
+ "loadedRotate" => array(
1728
+ "name" => "Rotate",
1729
+ "description" => "",
1730
+ "type" => "slider",
1731
+ "min" => -180,
1732
+ "max" => 180,
1733
+ "default" => 0,
1734
+ "mu" => "deg",
1735
+ "excludeFrom" => array()
1736
+ ),
1737
+ "loadedHSlide" => array(
1738
+ "name" => "Horizontal slide",
1739
+ "description" => "",
1740
+ "type" => "slider",
1741
+ "min" => -100,
1742
+ "max" => 100,
1743
+ "mu" => "px",
1744
+ "default" => 0,
1745
+ "excludeFrom" => array()
1746
+ ),
1747
+ "loadedVSlide" => array(
1748
+ "name" => "Vertical slide",
1749
+ "description" => "",
1750
+ "type" => "slider",
1751
+ "min" => -100,
1752
+ "max" => 100,
1753
+ "mu" => "px",
1754
+ "default" => 0,
1755
+ "excludeFrom" => array()
1756
+ )
1757
+
1758
+ )
1759
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1760
  "Style" => array(
1761
+ "icon" => "mdi-format-paint",
1762
+ "fields" => array(
1763
+ "borderSize" => array(
1764
+ "name" => "Border size",
1765
+ "type" => "number",
1766
+ "description" => "Size of the border of each image.",
1767
+ "default" => 0,
1768
+ "min" => 0,
1769
+ "max" => 10,
1770
+ "mu" => "px",
1771
+ "excludeFrom" => array()
1772
+ ),
1773
+ "borderRadius" => array(
1774
+ "name" => "Border radius",
1775
+ "type" => "number",
1776
+ "description" => "Border radius of the images.",
1777
+ "default" => 0,
1778
+ "min" => 0,
1779
+ "max" => 100,
1780
+ "mu" => "px",
1781
+ "excludeFrom" => array()
1782
+ ),
1783
+ "borderColor" => array(
1784
+ "name" => "Border color",
1785
+ "type" => "color",
1786
+ "description" => "Color of the border when size is greater than 0.",
1787
+ "default" => "#000000",
1788
+ "excludeFrom" => array()
1789
+ ),
1790
+ "loadingBarColor" => array(
1791
+ "name" => "Loading Bar color",
1792
+ "type" => "color",
1793
+ "description" => "Color of the loading bar",
1794
+ "default" => "#000000",
1795
+ "excludeFrom" => array()
1796
+ ),
1797
+ "loadingBarBackgroundColor" => array(
1798
+ "name" => "Loading Bar background color",
1799
+ "type" => "color",
1800
+ "description" => "Background color of the loading bar",
1801
+ "default" => "#cccccc",
1802
+ "excludeFrom" => array()
1803
+ ),
1804
+ "shadowSize" => array(
1805
+ "name" => "Shadow size",
1806
+ "type" => "number",
1807
+ "description" => "Shadow size of the images.",
1808
+ "default" => 0,
1809
+ "min" => 0,
1810
+ "max" => 20,
1811
+ "mu" => "px",
1812
+ "excludeFrom" => array()
1813
+ ),
1814
+ "shadowColor" => array(
1815
+ "name" => "Shadow color",
1816
+ "type" => "color",
1817
+ "description" => "Color of the shadow when size is greater than 0.",
1818
+ "default" => "#000000",
1819
+ "excludeFrom" => array()
1820
+ ),
1821
+ "backgroundColor" => array(
1822
+ "name" => "Tile background color",
1823
+ "type" => "color",
1824
+ "description" => "Background color of tiles",
1825
+ "default" => "#fafafa",
1826
+ "excludeFrom" => array()
1827
+ )
1828
+ )
1829
  ),
1830
  "Customizations" => array(
1831
+ "icon" => "mdi-puzzle",
1832
+ "fields" => array(
1833
  "aClass" => array(
1834
+ "name" => "Additional CSS class on A tag",
1835
+ "type" => "text",
1836
+ "description" => "Use this field if you need to add additional CSS classes to the link that contains the image.",
1837
+ "default" => "",
1838
+ "excludeFrom" => array()
1839
+ ),
1840
  "rel" => array(
1841
+ "name" => "Value of 'rel' attribute on the link that contains the image.",
1842
+ "type" => "text",
1843
+ "description" => "Use this field if you need to add additional CSS classes to the link that contains the image. This is useful mostly to integrate the gallery with other lightbox plugins.",
1844
+ "default" => "",
1845
+ "excludeFrom" => array()
1846
+ ),
1847
+ "beforeGalleryText" => array(
1848
+ "name" => "Text before gallery",
1849
+ "type" => "textarea",
1850
+ "description" => "Use this field to add text/html to be placed just before your gallery.",
1851
+ "excludeFrom" => array("shortcode")
1852
+ ),
1853
+ "afterGalleryText" => array(
1854
+ "name" => "Text after gallery",
1855
+ "type" => "textarea",
1856
+ "description" => "Use this field to add text/html to be placed just after your gallery.",
1857
+ "excludeFrom" => array("shortcode")
1858
+ ),
1859
+ "style" => array(
1860
+ "name" => "Custom CSS",
1861
+ "type" => "textarea",
1862
+ "description" => "<strong>Write just the code without using the &lt;style&gt; tag.</strong><br>List of useful selectors:<br>
1863
  <br>
1864
  <ul>
1865
  <li>
1884
  <em>.final-tiles-gallery .ftg-filters a.selected</em> : selected filter
1885
  </li>
1886
  </ul>",
1887
+ "excludeFrom" => array("shortcode")
1888
+ ),
1889
+ "script" => array(
1890
+ "name" => "Custom scripts",
1891
+ "type" => "textarea",
1892
+ "description" => "This script will be called after the gallery initialization. Useful for custom lightboxes.
1893
  <br />
1894
  <br />
1895
  <strong>Write just the code without using the &lt;script&gt;&lt;/script&gt; tags</strong>",
1896
+ "excludeFrom" => array("shortcode")
1897
+ ),
1898
+ "delay" => array(
1899
+ "name" => "Delay",
1900
+ "type" => "text",
1901
+ "description" => "Delay (in milliseconds) before firing the gallery. Sometimes it's needed to avoid conflicts with other plugins.",
1902
+ "min" => 0,
1903
+ "max" => 5000,
1904
  "mu" => "ms",
1905
  "default" => 0,
1906
+ "excludeFrom" => array()
1907
+ ),
1908
+ "support" => array(
1909
+ "name" => "Show developer link",
1910
+ "type" => "toggle",
1911
+ "description" => "I want to support this plugin, show the developer link!",
1912
+ "default" => "F",
1913
+ "excludeFrom" => array(),
1914
+ "excludeFrom" => array()
1915
+ ),
1916
+ "supportText" => array(
1917
+ "name" => "Developer link text",
1918
+ "type" => "text",
1919
+ "description" => "Text for the developer link",
1920
+ "default" => "powered by Final Tiles Grid Gallery",
1921
+ "excludeFrom" => array()
1922
+ ),
1923
+ "envatoReferral" => array(
1924
+ "name" => "Envato username for referral",
1925
+ "type" => "text",
1926
+ "description" => "Enter your Envato username to earn money! Receive 30% of the first purchase or deposit of each referred user. You do not need to activate anything else, you are automatically eligible.",
1927
+ "default" => "GreenTreeLabs",
1928
+ "excludeFrom" => array()
1929
+ )
1930
+ )
1931
  )
1932
  );
1933
+ }
1934
  }
1935
 
1936
  if (class_exists("FinalTiles_GalleryLite")) {
1937
  global $ob_FinalTiles_GalleryLite;
1938
+ $ob_FinalTiles_GalleryLite = new FinalTiles_GalleryLite();
1939
  }
1940
+ ?>
admin/add-gallery.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); } ?>
2
 
3
  <?php $ftg_subtitle = "New gallery" ?>
4
  <?php include "header.php" ?>
@@ -7,30 +7,33 @@
7
  <div class="bd">
8
 
9
  <div id="ftg-wizard">
10
- <h2>Add new gallery wizard</h2>
11
 
12
  <form action="#" method="post">
13
- <?php wp_nonce_field( 'add_new_gallery','ftg' ); ?>
14
  <input type="hidden" name="action" value="add_new_gallery" />
15
  <input type="hidden" name="enc_images" value="" />
16
  <input type="hidden" name="post_categories" value="" />
 
 
 
17
  <fieldset data-step="1">
18
  <div class="row">
19
  <div class="input-field">
20
  <input name="ftg_name" id="name" type="text" class="validate" required="required">
21
- <label for="name">Name of the gallery</label>
22
  </div>
23
  </div>
24
  <div class="input-field">
25
  <textarea name="ftg_description" class="materialize-textarea" id="description"></textarea>
26
- <label for="description">Description of the gallery</label>
27
  </div>
28
  </fieldset>
29
  <fieldset data-step="2">
30
- <h5>Choose the source of the images</h5>
31
  <p>
32
  <input class="with-gap" type="radio" checked="checked" name="ftg_source" id="source1" value="images" />
33
- <label for="source1">Media library</label>
34
  </p>
35
  <p>
36
  <input class="with-gap" disabled type="radio" name="ftg_source" value="posts" id="source2" />
@@ -43,23 +46,22 @@
43
  </fieldset>
44
  <fieldset data-step="3" data-branch="images">
45
  <div class="field">
46
- <h5>WordPress field for captions:</h5>
47
- <p>
48
- <input class="with-gap" type="radio" name="ftg_wp_field_caption" value="none" id="caption1" />
49
- <label for="caption1">Don't use captions</label>
50
- </p>
51
- <p>
52
- <input class="with-gap" type="radio" name="ftg_wp_field_caption" value="title" checked="checked" id="caption2" />
53
- <label for="caption2">Title</label>
54
- </p>
55
- <p>
56
- <input class="with-gap" type="radio" name="ftg_wp_field_caption" value="caption" id="caption3" />
57
- <label for="caption3">Caption</label>
58
- </p>
59
- <p>
60
- <input class="with-gap" type="radio" name="ftg_wp_field_caption" value="description" id="caption4" />
61
- <label for="caption4">Description</label>
62
- </p>
63
  </div>
64
  <!--
65
  <div class="field">
@@ -79,21 +81,63 @@
79
  </div>
80
  -->
81
  <div class="field">
82
- <h5>Caption effect:</h5>
83
  <select class="browser-default" name="ftg_captionEffect">
84
- <option value="fade">Fade</option>
85
- <option value="slide-top">Slide from top</option>
86
- <option value="slide-bottom">Slide from bottom</option>
87
- <option value="slide-left">Slide from left</option>
88
- <option value="slide-right">Slide from right</option>
89
- <option value="rotate-left">Rotate from left</option>
90
- <option value="rotate-right">Rotate from right</option>
91
  </select>
92
  </div>
93
- </fieldset>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  <fieldset data-step="4" data-save="true">
95
  <div class="field">
96
- <h5>Choose a default image size</h5>
 
 
 
 
 
 
 
97
  <select class="browser-default" name="def_imgsize">
98
  <?php
99
  foreach ($this->list_thumbnail_sizes() as $size => $atts)
@@ -102,17 +146,17 @@
102
  }
103
  ?>
104
  </select>
105
- <label>You can customize each image later</label>
106
  </div>
107
  <div class="field select-images">
108
  <a class="waves-effect waves-light btn add-images">
109
- <i class="mdi-content-add-circle-outline left"></i> Add max 20 images</a>
110
  <br>
111
  <label>You can add images now or later.</label>
 
112
  <label class="shortpixel">
113
  <img src="<?php echo plugins_url('',__file__) ?>/images/icon-shortpixel.png" alt="ShortPixel">
114
- <a target="_blank" href="https://shortpixel.com/wp/af/J4PFT4Z72393"><?php _e('We suggest you to use ShortPixel image optimization plugin for best SEO results.','modula-gallery')?></a></label>
115
- <label class="tip"><img src="<?php echo plugins_url('',__file__) ?>/images/tip.png" alt="unlock"> <?php _e(PRO_UNLOCK) ?></label>
116
  <div class="images list-group"></div>
117
  </div>
118
  </fieldset>
@@ -120,31 +164,31 @@
120
  <div class="progress loading">
121
  <div class="indeterminate"></div>
122
  </div>
123
- <a class="waves-effect waves-yellow btn-flat prev">Previous</a>
124
- <a class="waves-effect waves-green btn-flat next">Next</a>
125
  </footer>
126
  </form>
127
  <div id="success" class="modal">
128
  <div class="modal-content">
129
- <h4>Success!</h4>
130
- <p>Your gallery "<span class="gallery-name"></span>" has been created. Copy the following shortcode:<br>
131
- <code></code><br>
132
- and paste it inside a post or a page. Otherwise click <a class='customize'>here</a> to customize
133
- the gallery.
134
  </p>
135
  </div>
136
- <div class="modal-footer">
137
- <a href="?page=ftg-lite-gallery-admin" class="waves-effect waves-green btn-flat modal-action">Close</a>
138
  </div>
139
  </div>
140
  <div id="error" class="modal">
141
  <div class="modal-content">
142
- <h4>Error!</h4>
143
- <p>For some reason it was not possible to save your gallery, please contact <a href="?page=ftg-lite-support">support</a>.</p>
144
  </div>
145
  <div class="modal-footer">
146
- <a href="?page=ftg-lite-gallery-admin" class="waves-effect waves-green btn-flat modal-action">Close</a>
147
  </div>
148
- </div>
149
  </div>
150
  </div>
1
+ <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die(_e('You are not allowed to call this page directly.','final-tiles-gallery')); } ?>
2
 
3
  <?php $ftg_subtitle = "New gallery" ?>
4
  <?php include "header.php" ?>
7
  <div class="bd">
8
 
9
  <div id="ftg-wizard">
10
+ <h2><?php _e('Add new gallery wizard','final-tiles-gallery')?></h2>
11
 
12
  <form action="#" method="post">
13
+ <?php wp_nonce_field('FinalTiles_gallery', 'FinalTiles_gallery'); ?>
14
  <input type="hidden" name="action" value="add_new_gallery" />
15
  <input type="hidden" name="enc_images" value="" />
16
  <input type="hidden" name="post_categories" value="" />
17
+ <input type="hidden" name="post_tags" value="" />
18
+ <input type="hidden" name="woo_categories" value="" />
19
+ <input type="hidden" name="gridSize" value="5" />
20
  <fieldset data-step="1">
21
  <div class="row">
22
  <div class="input-field">
23
  <input name="ftg_name" id="name" type="text" class="validate" required="required">
24
+ <label for="name"><?php _e('Name of the gallery','final-tiles-gallery')?></label>
25
  </div>
26
  </div>
27
  <div class="input-field">
28
  <textarea name="ftg_description" class="materialize-textarea" id="description"></textarea>
29
+ <label for="description"><?php _e('Description of the gallery','final-tiles-gallery')?></label>
30
  </div>
31
  </fieldset>
32
  <fieldset data-step="2">
33
+ <h5><?php _e('Choose the source of the images','final-tiles-gallery')?></h5>
34
  <p>
35
  <input class="with-gap" type="radio" checked="checked" name="ftg_source" id="source1" value="images" />
36
+ <label for="source1"><?php _e('Media library','final-tiles-gallery')?></label>
37
  </p>
38
  <p>
39
  <input class="with-gap" disabled type="radio" name="ftg_source" value="posts" id="source2" />
46
  </fieldset>
47
  <fieldset data-step="3" data-branch="images">
48
  <div class="field">
49
+ <h5><?php _e('WordPress field for captions:','final-tiles-gallery')?></h5>
50
+ <select class="browser-default" name="ftg_wp_field_caption">
51
+ <option value="none"> Don't use captions </option>
52
+ <option value="title"> Title </option>
53
+ <option value="caption"> Caption </option>
54
+ <option value="description"> Description </option>
55
+ </select>
56
+ </div>
57
+
58
+ <div class="field">
59
+ <h5><?php _e('WordPress field for titles:','final-tiles-gallery')?></h5>
60
+ <select class="browser-default" name="ftg_wp_field_title">
61
+ <option value="none"> Don't use titles </option>
62
+ <option value="title"> Title </option>
63
+ <option value="description"> Description </option>
64
+ </select>
 
65
  </div>
66
  <!--
67
  <div class="field">
81
  </div>
82
  -->
83
  <div class="field">
84
+ <h5><?php _e('Caption effect:','final-tiles-gallery')?></h5>
85
  <select class="browser-default" name="ftg_captionEffect">
86
+ <option value="fade"><?php _e('Fade','final-tiles-gallery')?></option>
87
+ <option value="slide-top"><?php _e('Slide from top','final-tiles-gallery')?></option>
88
+ <option value="slide-bottom"><?php _e('Slide from bottom','final-tiles-gallery')?></option>
89
+ <option value="slide-left"><?php _e('Slide from left','final-tiles-gallery')?></option>
90
+ <option value="slide-right"><?php _e('Slide from right','final-tiles-gallery')?></option>
91
+ <option value="rotate-left"><?php _e('Rotate from left','final-tiles-gallery')?></option>
92
+ <option value="rotate-right"><?php _e('Rotate from right','final-tiles-gallery')?></option>
93
  </select>
94
  </div>
95
+ </fieldset>
96
+ <fieldset data-step="3" data-branch="posts">
97
+ <div class="field">
98
+ <h5><?php _e('Categories:','final-tiles-gallery')?></h5>
99
+ <?php foreach(get_categories() as $c) : ?>
100
+ <p>
101
+ <input type="checkbox" name="_post_categories" value="<?php _e($c->cat_ID) ?>" id="c<?php _e($c->cat_ID) ?>">
102
+ <label for="c<?php _e($c->cat_ID) ?>"><?php _e($c->name) ?></label>
103
+ </p>
104
+ <?php endforeach ?>
105
+ </div>
106
+ <div class="field">
107
+ <h5><?php _e('Tags:','final-tiles-gallery')?></h5>
108
+ <?php $tags = get_tags(); ?>
109
+ <?php foreach($tags as $c) : ?>
110
+ <p>
111
+ <input type="checkbox" name="_post_tags" value="<?php _e($c->term_id) ?>" id="t<?php _e($c->term_id) ?>">
112
+ <label for="t<?php _e($c->term_id) ?>"><?php _e($c->name) ?></label>
113
+ </p>
114
+ <?php endforeach ?>
115
+ <?php if(count($tags) == 0) : ?>
116
+ <p><?php _e('No tags found','final-tiles-gallery')?></p>
117
+ <?php endif ?>
118
+ </div>
119
+ </fieldset>
120
+ <fieldset data-step="3" data-branch="woocommerce">
121
+ <div class="field">
122
+ <h5><?php _e('Categories:','final-tiles-gallery')?></h5>
123
+ <?php foreach($woo_categories as $c) : ?>
124
+ <p>
125
+ <input type="checkbox" name="_woo_categories" value="<?php _e($c->cat_ID) ?>" id="wooc<?php _e($c->cat_ID) ?>">
126
+ <label for="wooc<?php _e($c->cat_ID) ?>"><?php _e($c->name) ?></label>
127
+ </p>
128
+ <?php endforeach ?>
129
+ </div>
130
+ </fieldset>
131
  <fieldset data-step="4" data-save="true">
132
  <div class="field">
133
+ <h5><?php _e('Choose the layout','final-tiles-gallery')?></h5>
134
+ <select class="browser-default" name="layout">
135
+ <option value="final">Final Tiles Gallery</option>
136
+ <option value="columns">Masonry</option>
137
+ </select>
138
+ </div>
139
+ <div class="field">
140
+ <h5><?php _e('Choose a default image size','final-tiles-gallery')?></h5>
141
  <select class="browser-default" name="def_imgsize">
142
  <?php
143
  foreach ($this->list_thumbnail_sizes() as $size => $atts)
146
  }
147
  ?>
148
  </select>
149
+ <label><?php _e('You can customize each image later','final-tiles-gallery')?></label>
150
  </div>
151
  <div class="field select-images">
152
  <a class="waves-effect waves-light btn add-images">
153
+ <i class="mdi-content-add-circle-outline left"></i> Add images</a>
154
  <br>
155
  <label>You can add images now or later.</label>
156
+ <br>
157
  <label class="shortpixel">
158
  <img src="<?php echo plugins_url('',__file__) ?>/images/icon-shortpixel.png" alt="ShortPixel">
159
+ <a target="_blank" href="https://shortpixel.com/wp/af/J4PFT4Z72393"><?php _e('We suggest you to use ShortPixel image optimization plugin for best SEO results.','modula-gallery')?></a></label>
 
160
  <div class="images list-group"></div>
161
  </div>
162
  </fieldset>
164
  <div class="progress loading">
165
  <div class="indeterminate"></div>
166
  </div>
167
+ <a class="waves-effect waves-yellow btn-flat prev"><?php _e('Previous','final-tiles-gallery')?></a>
168
+ <a class="waves-effect waves-green btn-flat next"><?php _e('Next','final-tiles-gallery')?></a>
169
  </footer>
170
  </form>
171
  <div id="success" class="modal">
172
  <div class="modal-content">
173
+ <h4><?php _e('Success!','final-tiles-gallery')?></h4>
174
+ <p><?php _e('Your gallery','final-tiles-gallery')?> "<span class="gallery-name"></span>" <?php _e('has been created. Copy the following shortcode:','final-tiles-gallery')?><br>
175
+ <input type="text" readonly class="code"><br>
176
+ <?php _e('and paste it inside a post or a page. Otherwise click','final-tiles-gallery')?> <a class='customize'><?php _e('here','final-tiles-gallery')?></a> <?php _e('to customize
177
+ the gallery.','final-tiles-gallery')?>
178
  </p>
179
  </div>
180
+ <div class="modal-'footer">
181
+ <a href="?page=ftg-lite-gallery-admin" id="modal-close" class="waves-effect waves-green btn-flat modal-action"><?php _e('Close','final-tiles-gallery')?></a>
182
  </div>
183
  </div>
184
  <div id="error" class="modal">
185
  <div class="modal-content">
186
+ <h4><?php _e('Error!','final-tiles-gallery')?></h4>
187
+ <p><?php _e('For some reason it was not possible to save your gallery, please contact','final-tiles-gallery')?><a href="?page=ftg-lite-support"><?php _e('support','final-tiles-gallery')?></a>.</p>
188
  </div>
189
  <div class="modal-footer">
190
+ <a href="?page=ftg-lite-gallery-admin" class="waves-effect waves-green btn-flat modal-action modal-close"><?php _e('Close','final-tiles-gallery')?></a>
191
  </div>
192
+ </div>
193
  </div>
194
  </div>
admin/adv.php CHANGED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!class_exists("AviaryWP") && empty($_COOKIE["__gtl_av"]) ) : ?>
2
+ <div class="updated fade" id="aviary-adv">
3
+ <p>
4
+ Hey, do you already know
5
+ <strong>
6
+ <a target="_blank" href="http://codecanyon.net/item/aviary-for-wordpress/5224791">Aviary Advanced Image Editor for WordPress</a></strong>?
7
+ It's the best image editing tool for WordPress, you can resize, crop, adjust colors, add Instagram like
8
+ effects and much more!
9
+ <br />
10
+ <br />
11
+ <strong><a target="_blank" href="http://codecanyon.net/item/aviary-for-wordpress/5224791">Go to Aviary for WordPress</a></strong>
12
+ or <a href="#" class="close">Dismiss this notice</a>
13
+ </p>
14
+ </div>
15
+ <script>
16
+ (function(e){if(typeof define==="function"&&define.amd){define(["jquery"],e)}else{e(jQuery)}})(function(e){function n(e){return e}function r(e){return decodeURIComponent(e.replace(t," "))}function i(e){if(e.indexOf('"')===0){e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\")}try{return s.json?JSON.parse(e):e}catch(t){}}var t=/\+/g;var s=e.cookie=function(t,o,u){if(o!==undefined){u=e.extend({},s.defaults,u);if(typeof u.expires==="number"){var a=u.expires,f=u.expires=new Date;f.setDate(f.getDate()+a)}o=s.json?JSON.stringify(o):String(o);return document.cookie=[s.raw?t:encodeURIComponent(t),"=",s.raw?o:encodeURIComponent(o),u.expires?"; expires="+u.expires.toUTCString():"",u.path?"; path="+u.path:"",u.domain?"; domain="+u.domain:"",u.secure?"; secure":""].join("")}var l=s.raw?n:r;var c=document.cookie.split("; ");var h=t?undefined:{};for(var p=0,d=c.length;p<d;p++){var v=c[p].split("=");var m=l(v.shift());var g=l(v.join("="));if(t&&t===m){h=i(g);break}if(!t){h[m]=i(g)}}return h};s.defaults={};e.removeCookie=function(t,n){if(e.cookie(t)!==undefined){e.cookie(t,"",e.extend({},n,{expires:-1}));return true}return false}});
17
+ jQuery("#aviary-adv .close").click(function (e) {
18
+ e.preventDefault();
19
+ jQuery("#aviary-adv").fadeOut(function () {
20
+ jQuery.cookie("__gtl_av", "1", { expires: 365 });
21
+ });
22
+ });
23
+ </script>
24
+ <?php endif ?>
admin/bundle.css ADDED
@@ -0,0 +1,2032 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ui-dialog.noTitle .ui-dialog-titlebar {
2
+ display: none;
3
+ }
4
+ .ui-dialog .loading {
5
+ background: url(loading.gif) no-repeat;
6
+ width: 220px;
7
+ height: 19px;
8
+ margin:50px auto 0 auto;
9
+ }
10
+ .text-page {
11
+ margin: 40px;
12
+ background:#fff;
13
+ border:1px solid #ccc;
14
+ padding:20px;
15
+ max-width:960px;
16
+ }
17
+ .text-page ul {
18
+ padding: 10px;
19
+ margin-left: 20px;
20
+ }
21
+ .text-page ul li {
22
+ list-style-type: circle;
23
+ font-style: italic;
24
+ }
25
+ .text-page .tip {
26
+ margin: 20px 0;
27
+ display: block;
28
+ background: #fdffac;
29
+ border: 1px solid #dade2c;
30
+ padding: 10px 20px;
31
+ }
32
+ .text-page .tip i {
33
+ margin-right: 10px;
34
+ font-size: 16px;
35
+ color: #807900;
36
+ }
37
+ .text-page .img {
38
+ display: inline-block;
39
+ padding: 10px;
40
+ background: #fff;
41
+ border: 1px solid #ccc;
42
+ }
43
+ #imageResults .frame {
44
+ display: inline-block;
45
+ padding: 2px;
46
+ /*border: 1px solid #111;*/
47
+ border-radius: 4px;
48
+ line-height: 0;
49
+ font-size: 0;
50
+ background: #222;
51
+ }
52
+
53
+ .widefat .edit_image_form td {
54
+ border-bottom: 0;
55
+ border-top: 0;
56
+ }
57
+
58
+ .widefat th, .widefat td {
59
+ overflow: visible;
60
+ padding: 20px;
61
+ }
62
+
63
+ .widefat tfoot th:first-of-type {
64
+ -webkit-border-bottom-left-radius: 0;
65
+ border-bottom-left-radius: 0;
66
+ }
67
+ .widefat tfoot th:last-of-type {
68
+ -webkit-border-bottom-right-radius: 0;
69
+ border-bottom-rigth-radius: 0;
70
+ }
71
+ .widefat thead th:first-of-type {
72
+ -webkit-border-top-left-radius: 0;
73
+ border-bottom-top-radius: 0;
74
+ }
75
+ .widefat thead th:last-of-type {
76
+ -webkit-border-top-rigth-radius: 0;
77
+ border-top-right-radius: 0;
78
+ }
79
+
80
+ #wpcontent {
81
+ margin-left: 146px;
82
+ padding-left: 20px;
83
+ }
84
+ .widefat * {
85
+ word-wrap:normal;
86
+ }
87
+ .scrollbox {
88
+ float: left;
89
+ margin-right: 10px;
90
+ margin-top: 3px;
91
+ }
92
+ /*#region edit gallery*/
93
+ #settings textarea {
94
+ width:90%;
95
+ height: 200px;
96
+ }
97
+ #settings select {
98
+ width: 90%;
99
+ }
100
+ #settings .current-image-size {
101
+ width: auto;
102
+ }
103
+ #settings .instructions ul {
104
+ color: #444;
105
+ }
106
+ #settings .instructions ul li {
107
+ border-bottom: 1px dashed #666;
108
+ padding: 0 0 5px 0;
109
+ margin-bottom: 5px;
110
+ }
111
+ #settings .instructions ul em {
112
+ font-weight: bold;
113
+ font-family: courier,monospace;
114
+ font-size: 12px;
115
+ font-style: normal;
116
+ color: #333;
117
+ }
118
+ #settings .custom_isf .del,
119
+ #settings .filters .del {
120
+ background: #f00;
121
+ float: left;
122
+ margin-right: 10px;
123
+ }
124
+ #settings .filters .add,
125
+ #settings .custom_isf .add {
126
+ display: block;
127
+ width: 100%;
128
+ margin-top: 10px;
129
+ text-align: center;
130
+ }
131
+ #settings .filters input[type=text] {
132
+ display: block;
133
+ }
134
+ #settings .custom_isf input {
135
+ width:100%;
136
+ }
137
+ #settings .custom_isf table td {
138
+ padding: 2px 8px;
139
+ }
140
+ #settings .sections {
141
+ margin:0 0 20px;
142
+ padding: 10px 0 0 10px;
143
+ border-bottom: 1px solid #666;
144
+ }
145
+ #settings .form-buttons {
146
+ margin-top: 20px;
147
+ }
148
+ #settings .form-buttons input,
149
+ #settings .sections a {
150
+ display: inline-block;
151
+ background: #f0f0f0;
152
+ color: #333;
153
+ padding: 10px;
154
+ margin:0 1px 0 0;
155
+ text-decoration: none;
156
+ font-weight: bold;
157
+ text-transform: uppercase;
158
+ height: auto;
159
+ -moz-transition:background .3s, color .3s;
160
+ -webkit-transition:background .3s, color .3s;
161
+ transition:background .3s, color .3s;
162
+ position: relative;
163
+ top:4px;
164
+ border: 1px solid #666;
165
+ }
166
+ #settings .sections a i {
167
+ margin-right:5px;
168
+ color: #333;
169
+ }
170
+ #settings .sections a {
171
+ background: #ccc;
172
+ border-bottom: 0;
173
+ }
174
+ #settings .sections a.selected:hover,
175
+ #settings .sections a.selected {
176
+ background: #f1f1f1;
177
+ color:#000;
178
+ top:1px;
179
+ height: 26px;
180
+ line-height: 26px;
181
+ outline: 0;
182
+ box-shadow: none;
183
+ }
184
+ #settings .sections a:hover {
185
+ background: #555;
186
+ }
187
+ #settings .sections a.selected:hover i,
188
+ #settings .sections a.selected i {
189
+ color: #000;
190
+ }
191
+ #settings .sections a:hover i,
192
+ #settings .sections a:hover {
193
+ color:#fff;
194
+ }
195
+ #settings table.section {
196
+ display: none;
197
+ }
198
+ #images {
199
+ display:none;
200
+ }
201
+ #images .actions {
202
+ padding: 10px 10px 10px 10px;
203
+ background: #ccc;
204
+ color: #242521;
205
+ border:1px solid #111;
206
+ margin-bottom:2px;
207
+ }
208
+ #images .actions .row {
209
+ padding: 10px 0;
210
+ border-bottom: 1px solid #bbb;
211
+ }
212
+ #images .actions .row:last-of-type {
213
+ border:0;
214
+ }
215
+ #images .actions .label {
216
+ display: inline-block;
217
+ width: 100px;
218
+ }
219
+ #images .actions select {
220
+ width:auto;
221
+ }
222
+ #images .source-panel {
223
+ display:none;
224
+ }
225
+ #images .bulk {
226
+ padding: 10px 10px 10px 10px;
227
+ background: #eee;
228
+ color: #242521;
229
+ border:1px solid #111;
230
+ margin-top: 2px;
231
+ }
232
+ #images .bulk h4 {
233
+ margin:0 0 4px 0;
234
+ color: #000;
235
+ }
236
+ #images .bulk .checkbox {
237
+ display: inline-block;
238
+ padding-left: 20px;
239
+ margin-right: 15px;
240
+ }
241
+ #images .bulk .options a {
242
+ display: inline-block;
243
+ margin-right: 10px;
244
+ color: #444;
245
+ text-decoration: none;
246
+ }
247
+ #images .bulk .options a:hover {
248
+ color: #666;
249
+ }
250
+ #images .bulk .panel {
251
+ display: none;
252
+ padding: 12px;
253
+ background: #555444;
254
+ margin-top: 5px;
255
+ border: 1px solid #333222;
256
+ }
257
+ #images .bulk .panel strong {
258
+ color: #fff;
259
+ display: block;
260
+ margin-bottom: 4px;
261
+ }
262
+ #images .bulk .panel p {
263
+ margin-bottom: 0;
264
+ color: yellow;
265
+ }
266
+ #images .tips {
267
+ padding: 10px;
268
+ background: #ddd;
269
+ border:1px solid #111;
270
+ margin-top: 2px;
271
+ color: #242521;
272
+ }
273
+ #images .actions .tip {
274
+ margin-left: 14px;
275
+ background: url('images/tip.png') no-repeat;
276
+ text-indent: 18px;
277
+ display: inline-block;
278
+ color: #000;
279
+ }
280
+ #images .item {
281
+ width:160px;
282
+ padding:0 5px;
283
+ border:1px solid #111;
284
+ float:left;
285
+ height:195px;
286
+ margin:10px 10px 0 0;
287
+ position: relative;
288
+ background: #fff;
289
+ }
290
+ #images .item.selected {
291
+ background: #dadada;
292
+ }
293
+ #images .item .filters li,
294
+ #images .item .size {
295
+ position: absolute;
296
+ top: 5px;
297
+ left: 55px;
298
+ color: #333;
299
+ padding: 0 4px;
300
+ display: block;
301
+ font-size: 10px;
302
+ font-family: monaco,courier, monospace;
303
+ }
304
+ #images .item .filters {
305
+ top: 32px;
306
+ left: 10px;
307
+ z-index: 10;
308
+ position: absolute;
309
+ }
310
+ #images .item .filters li {
311
+ display: block;
312
+ position: static;
313
+ text-align: left;
314
+ background: #1707a5;
315
+ color: #fff;
316
+ }
317
+ #images .item .del {
318
+ position: absolute;
319
+ top:4px;
320
+ right:4px;
321
+ width: 20px;
322
+ height: 20px;
323
+ text-decoration: none;
324
+ color: #000;
325
+ display: none;
326
+ background:#111;
327
+ }
328
+ #images .item .icons {
329
+ border-bottom: 1px solid #222;
330
+ margin-bottom: 9px;
331
+ padding-bottom: 4px;
332
+ }
333
+ #images .item .selection {
334
+ float: right;
335
+ margin-top: 5px;
336
+ height: 12px;
337
+ padding-left: 18px;
338
+ }
339
+ #images .item .remove,
340
+ #images .item .edit {
341
+ text-decoration: none;
342
+ color: #000;
343
+ display:inline-block;
344
+ margin-top: 5px;
345
+ }
346
+ #images .item .remove i,
347
+ #images .item .edit i {
348
+ font-size: 14px;
349
+ }
350
+ #images .item .remove {
351
+
352
+ }
353
+ #images .figure {
354
+ margin:0;
355
+ padding: 0;
356
+ height: 150px;
357
+ overflow: hidden;
358
+ display: block;
359
+ text-align: center;
360
+ }
361
+ #images .figure img {
362
+ width:150px;
363
+ cursor: pointer;
364
+ }
365
+ #images .item .data {
366
+ display: none;
367
+ }
368
+ /*#endregion*/
369
+
370
+ /*#region image panel*/
371
+ .overlay {
372
+ position: fixed;
373
+ z-index: 1000;
374
+ top:0;
375
+ left:0;
376
+ width:100%;
377
+ height: 100%;
378
+ background: #000;
379
+ opacity: .8;
380
+ }
381
+ #image-panel,
382
+ #video-panel {
383
+ background: #343531;
384
+ width:600px;
385
+ height:340px;
386
+ position: absolute;
387
+ top: 50%;
388
+ left: 50%;
389
+ z-index: 1001;
390
+ box-shadow: #000 0px 0px 20px;
391
+ border:4px solid #111;
392
+ padding: 10px;
393
+ }
394
+ #video-panel p {
395
+ color:#fff;
396
+ }
397
+ #video-panel textarea {
398
+ height: 240px;
399
+ width:100%;
400
+ }
401
+ #image-panel .filters {
402
+ clear: both;
403
+ margin-top: 10px;
404
+ }
405
+ #image-panel .filters .checkbox {
406
+ float: left;
407
+ margin-right: 20px;
408
+ padding-left: 20px;
409
+ }
410
+ #image-panel .left {
411
+ float:left;
412
+ }
413
+ #image-panel .figure {
414
+ width:200px;
415
+ height:200px;
416
+ overflow:hidden;
417
+ padding: 0;
418
+ margin: 0 0 10px 0;
419
+ padding: 2px;
420
+ border: 1px solid #999;
421
+ background: #222;
422
+ }
423
+ #image-panel .figure img {
424
+ width:100%;
425
+ }
426
+ #image-panel .right {
427
+ float:left;
428
+ margin-left:20px;
429
+ }
430
+ #image-panel .field {
431
+ padding-bottom: 5px;
432
+ color: #aaa;
433
+ border-bottom: 1px solid #555;
434
+ margin-bottom: 5px;
435
+ }
436
+ #image-panel .field:last-of-type {
437
+ border-bottom: 0;
438
+ }
439
+ #image-panel .field label {
440
+ margin-bottom: 5px;
441
+ display: block;
442
+ font-weight: bold;
443
+ color: #fff;
444
+ }
445
+ #image-panel .field textarea {
446
+ width: 280px;
447
+ height: 117px;
448
+ }
449
+ #image-panel .actions li {
450
+ height: 22px;
451
+ margin:0;
452
+ }
453
+ #video-panel .close,
454
+ #image-panel .close {
455
+ position: absolute;
456
+ top:0;
457
+ right:0;
458
+ display: block;
459
+ background: #111;
460
+ border-bottom-left-radius: 30px;
461
+ width: 30px;
462
+ height: 30px;
463
+ line-height: 24px;
464
+ text-indent: 15px;
465
+ text-decoration: none;
466
+ color: #fff;
467
+ font-family: arial;
468
+ font-weight: bold;
469
+ }
470
+ .clearfix:after {
471
+ content: ".";
472
+ display: block;
473
+ clear: both;
474
+ visibility: hidden;
475
+ line-height: 0;
476
+ height: 0;
477
+ }
478
+ #image-panel .buttons {
479
+ text-align: right;
480
+ margin-top: 10px;
481
+ clear: both;
482
+ }
483
+ #image-panel .buttons a {
484
+ margin-left: 10px;
485
+ }
486
+ /*#endregion*/
487
+
488
+ /***/
489
+ .wrapper {
490
+ clear: both;
491
+ margin: auto;
492
+ padding: 3px 0;
493
+ }
494
+ .scrollbox,
495
+ .chzn-single {
496
+ width:200px;
497
+ }
498
+ .scrollbox .ui-widget-content {
499
+ border: 0;
500
+ background: none;
501
+ }
502
+ .scrollbox .ui-state-default,
503
+ .scrollbox .ui-widget-content .ui-state-default,
504
+ .scrollbox .ui-state-hover,
505
+ .scrollbox .ui-widget-content .ui-state-hover {
506
+ border: 0;
507
+ }
508
+
509
+ /***/
510
+ .crosslink {
511
+ background-color: #303137;
512
+ border-radius: 100px;
513
+ color: #9f9f9f;
514
+ display: inline-block;
515
+ font-size: 20px;
516
+ font-weight: bold;
517
+ margin-bottom: 40px;
518
+ padding: 40px 60px;
519
+ text-decoration: none;
520
+ -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.4), 1px 1px 0 rgba(255, 255, 255, 0.15);
521
+ -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.4), 1px 1px 0 rgba(255, 255, 255, 0.15);
522
+ box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.4), 1px 1px 0 rgba(255, 255, 255, 0.15);
523
+ behavior: url("javascripts/vendor/PIE.htc"); }
524
+ .crosslink:hover {
525
+ background-color: #292a2e;
526
+ color: #bbbbbb; }
527
+ .crosslink:active {
528
+ color: white; }
529
+
530
+ .button-huge {
531
+ height: 26px;
532
+ padding: 6px 16px;
533
+ position: relative;
534
+ text-decoration: none;
535
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
536
+ -webkit-box-sizing: border-box;
537
+ -moz-box-sizing: border-box;
538
+ box-sizing: border-box;
539
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), inset 1px 1px 1px rgba(255, 255, 255, 0.5);
540
+ -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), inset 1px 1px 1px rgba(255, 255, 255, 0.5);
541
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), inset 1px 1px 1px rgba(255, 255, 255, 0.5);
542
+ display: -moz-inline-stack;
543
+ display: inline-block;
544
+ zoom: 1;
545
+ _overflow: hidden;
546
+ *display: inline;
547
+ background: #8c8c8c;
548
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dbd7d7), color-stop(100%, #8c8c8c));
549
+ background-image: -webkit-linear-gradient(top, #dbd7d7, #8c8c8c);
550
+ background-image: -moz-linear-gradient(top, #dbd7d7, #8c8c8c);
551
+ background-image: -ms-linear-gradient(top, #dbd7d7, #8c8c8c);
552
+ background-image: -o-linear-gradient(top, #dbd7d7, #8c8c8c);
553
+ background-image: linear-gradient(top, #dbd7d7, #8c8c8c);
554
+ -pie-background: linear-gradient(#dbd7d7, #8c8c8c);
555
+ -webkit-user-select: none;
556
+ -moz-user-select: none;
557
+ -ms-user-select: none;
558
+ user-select: none;
559
+ behavior: url("javascripts/vendor/PIE.htc"); }
560
+
561
+ .button-huge {
562
+ border-radius: 60px;
563
+ font-size: 20px;
564
+ font-weight: bold;
565
+ height: 56px;
566
+ padding: 9px 38px 11px;
567
+ text-align: center; }
568
+ .button-huge .button-description {
569
+ color: rgba(0, 0, 0, 0.6);
570
+ display: block;
571
+ font: italic 12px Georgia, serif; }
572
+
573
+ .checkbox, .checkbox-light, .radio, .radio-light {
574
+ background: url("images/checkbox/square.png") 0 0 no-repeat;
575
+ color: #dddddd;
576
+ cursor: pointer;
577
+ padding: 1px 0 3px 25px;
578
+ position: relative; }
579
+ .checkbox:hover, .checkbox-light:hover, .radio:hover, .radio-light:hover {
580
+ background-position: 0 -26px;
581
+ color: white; }
582
+ .checkbox.checked, .checked.checkbox-light, .checked.radio, .checked.radio-light {
583
+ background-position: 0 -53px; }
584
+ .checkbox.checked:hover, .checked.checkbox-light:hover, .checked.radio:hover, .checked.radio-light:hover {
585
+ background-position: 0 -80px; }
586
+
587
+ .checkbox-light {
588
+ background-image: url("images/checkbox/square-light.png"); }
589
+
590
+ .radio {
591
+ background-image: url("images/checkbox/disk.png"); }
592
+
593
+ .radio-light {
594
+ background-image: url("images/checkbox/disk-light.png"); }
595
+
596
+ .form-row {
597
+ background: url("images/checkbox/form-row.png") 0 100% repeat-x;
598
+ margin-bottom: 7px;
599
+ padding-bottom: 7px; }
600
+ .form-row.last {
601
+ background: none;
602
+ margin-bottom: 0;
603
+ padding-bottom: 0; }
604
+
605
+ .select, .select-arrowed {
606
+ position: relative;
607
+ -webkit-user-select: none;
608
+ -moz-user-select: none;
609
+ -ms-user-select: none;
610
+ user-select: none; }
611
+ .select.opened, .opened.select-arrowed {
612
+ z-index: 999; }
613
+ .select.opened .options, .opened.select-arrowed .options {
614
+ display: block;
615
+ box-shadow: #000 0px 2px 20px;
616
+ }
617
+ .select.idle .selected, .idle.select-arrowed .selected {
618
+ color: #9da0ab; }
619
+ .select.negative:hover .selected, .negative.select-arrowed:hover .selected {
620
+ background-color: #400000; }
621
+ .select.negative .selected, .negative.select-arrowed .selected {
622
+ background-color: #4c0000;
623
+ color: #ffe3e3;
624
+ -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.06);
625
+ -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.06);
626
+ box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 rgba(255, 255, 255, 0.06);
627
+ behavior: url("javascripts/vendor/PIE.htc"); }
628
+ .select .selected, .select-arrowed .selected {
629
+ background-color: #141517;
630
+ border-radius: 30px;
631
+ color: white;
632
+ cursor: pointer;
633
+ display: block;
634
+ height: 26px;
635
+ line-height: 18px;
636
+ padding: 4px 16px 6px;
637
+ position: relative;
638
+ text-decoration: none;
639
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
640
+ z-index: 5;
641
+ -webkit-box-sizing: border-box;
642
+ -moz-box-sizing: border-box;
643
+ box-sizing: border-box;
644
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
645
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
646
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
647
+ line-height: 16px \9;
648
+ behavior: url("javascripts/vendor/PIE.htc"); }
649
+ .select .selected:hover, .select-arrowed .selected:hover {
650
+ background-color: black; }
651
+ .select .selected:hover .icon, .select-arrowed .selected:hover .icon {
652
+ background-position: 0 -30px; }
653
+ .select .selected .icon, .select-arrowed .selected .icon {
654
+ background: url("images/select/selected-icon.png") 0 0 no-repeat;
655
+ border-radius: 50%;
656
+ height: 19px;
657
+ position: absolute;
658
+ right: 3px;
659
+ top: 3px;
660
+ width: 19px; }
661
+ .select .options, .select-arrowed .options {
662
+ background-color: #41444c;
663
+ border-bottom-left-radius: 10px;
664
+ border-bottom-right-radius: 10px;
665
+ display: none;
666
+ padding: 20px 0 8px;
667
+ position: absolute;
668
+ top: 50%;
669
+ width: 200px;
670
+ z-index: 4;
671
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
672
+ -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
673
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25); }
674
+ .select .stack, .select-arrowed .stack {
675
+ padding-bottom: 2px;
676
+ max-height: 140px;
677
+ overflow: auto; }
678
+ .select .stack li, .select-arrowed .stack li {
679
+ color: #9da0ab;
680
+ cursor: pointer;
681
+ height: 26px;
682
+ padding: 6px 16px;
683
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
684
+ -webkit-box-sizing: border-box;
685
+ -moz-box-sizing: border-box;
686
+ box-sizing: border-box; }
687
+ .select .stack li:hover, .select-arrowed .stack li:hover, .select .stack li:focus, .select-arrowed .stack li:focus, .select .stack li.highlighted, .select-arrowed .stack li.highlighted {
688
+ color: white;
689
+ -webkit-box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.3);
690
+ -moz-box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.3);
691
+ box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.3);
692
+ background: #6c901b;
693
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #a2ca4c), color-stop(100%, #6c901b));
694
+ background-image: -webkit-linear-gradient(top, #a2ca4c, #6c901b);
695
+ background-image: -moz-linear-gradient(top, #a2ca4c, #6c901b);
696
+ background-image: -ms-linear-gradient(top, #a2ca4c, #6c901b);
697
+ background-image: -o-linear-gradient(top, #a2ca4c, #6c901b);
698
+ background-image: linear-gradient(top, #a2ca4c, #6c901b);
699
+ -pie-background: linear-gradient(#a2ca4c, #6c901b); }
700
+ .select .stack li.inactive-result, .select-arrowed .stack li.inactive-result {
701
+ display: none; }
702
+ .select .select-search, .select-arrowed .select-search {
703
+ margin-bottom: 5px;
704
+ padding: 1px 9px 3px;
705
+ display: none;
706
+ }
707
+ .select .select-search input, .select-arrowed .select-search input {
708
+ background-color: #30333b;
709
+ border: 1px solid #252525;
710
+ border-radius: 2px;
711
+ color: white;
712
+ padding: 4px 9px;
713
+ width: 100%;
714
+ -webkit-box-sizing: border-box;
715
+ -moz-box-sizing: border-box;
716
+ box-sizing: border-box;
717
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
718
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
719
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06); }
720
+
721
+ .select-arrowed .selected .icon {
722
+ background-image: url("images/select/selected-icon-arrowed.png"); }
723
+
724
+ input[type='text'],
725
+ input[type='password'] {
726
+ border-radius: 2px;
727
+ font-family: Arial, sans-serif;
728
+ font-size: 12px;
729
+ height: 26px;
730
+ padding: 0 10px;
731
+ position: relative;
732
+ vertical-align: middle;
733
+ width: 200px;
734
+ -webkit-box-sizing: border-box;
735
+ -moz-box-sizing: border-box;
736
+ box-sizing: border-box; }
737
+ input[type='text'].w50 {
738
+ width:50px ;
739
+ }
740
+ .text, .text-rounded {
741
+ position: relative; }
742
+ .text.dark textarea,
743
+ .text.dark input[type='text'], .dark.text-rounded input[type='text'],
744
+ .text.dark input[type='password'],
745
+ .dark.text-rounded input[type='password'] {
746
+ background: #141517;
747
+ color: white;
748
+ border: 1px solid black;
749
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);
750
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);
751
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);
752
+ padding-top: 4px \9;
753
+ behavior: url("javascripts/vendor/PIE.htc"); }
754
+ .text.dark input[type='text']:-moz-placeholder, .dark.text-rounded input[type='text']:-moz-placeholder,
755
+ .text.dark input[type='password']:-moz-placeholder,
756
+ .dark.text-rounded input[type='password']:-moz-placeholder {
757
+ color: #777777; }
758
+ .text.dark input[type='text']::-webkit-input-placeholder, .dark.text-rounded input[type='text']::-webkit-input-placeholder,
759
+ .text.dark input[type='password']::-webkit-input-placeholder,
760
+ .dark.text-rounded input[type='password']::-webkit-input-placeholder {
761
+ color: #777777; }
762
+ .text.dark input[type='text'].placeholder, .dark.text-rounded input[type='text'].placeholder,
763
+ .text.dark input[type='password'].placeholder,
764
+ .dark.text-rounded input[type='password'].placeholder {
765
+ color: #777777; }
766
+ .text.dark input[type='text']:hover, .dark.text-rounded input[type='text']:hover,
767
+ .text.dark input[type='password']:hover,
768
+ .dark.text-rounded input[type='password']:hover {
769
+ -webkit-box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
770
+ -moz-box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
771
+ box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1); }
772
+ .text.dark input[type='text']:focus, .dark.text-rounded input[type='text']:focus,
773
+ .text.dark input[type='password']:focus,
774
+ .dark.text-rounded input[type='password']:focus {
775
+ -webkit-box-shadow: 0 0 0 3px #80a62d;
776
+ -moz-box-shadow: 0 0 0 3px #80a62d;
777
+ box-shadow: 0 0 0 3px #80a62d; }
778
+ .text.light input[type='text'], .light.text-rounded input[type='text'],
779
+ .text.light input[type='password'],
780
+ .light.text-rounded input[type='password'] {
781
+ background: #fdfdfd;
782
+ border: none;
783
+ color: black;
784
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
785
+ background: #9a9a9a;
786
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd), color-stop(100%, #9a9a9a));
787
+ background-image: -webkit-linear-gradient(top, #fdfdfd, #9a9a9a);
788
+ background-image: -moz-linear-gradient(top, #fdfdfd, #9a9a9a);
789
+ background-image: -ms-linear-gradient(top, #fdfdfd, #9a9a9a);
790
+ background-image: -o-linear-gradient(top, #fdfdfd, #9a9a9a);
791
+ background-image: linear-gradient(top, #fdfdfd, #9a9a9a);
792
+ -pie-background: linear-gradient(#fdfdfd, #9a9a9a);
793
+ padding-top: 5px \9;
794
+ behavior: url("javascripts/vendor/PIE.htc"); }
795
+ .text.light input[type='text']:-moz-placeholder, .light.text-rounded input[type='text']:-moz-placeholder,
796
+ .text.light input[type='password']:-moz-placeholder,
797
+ .light.text-rounded input[type='password']:-moz-placeholder {
798
+ color: #666666; }
799
+ .text.light input[type='text']::-webkit-input-placeholder, .light.text-rounded input[type='text']::-webkit-input-placeholder,
800
+ .text.light input[type='password']::-webkit-input-placeholder,
801
+ .light.text-rounded input[type='password']::-webkit-input-placeholder {
802
+ color: #666666; }
803
+ .text.light input[type='text'].placeholder, .light.text-rounded input[type='text'].placeholder,
804
+ .text.light input[type='password'].placeholder,
805
+ .light.text-rounded input[type='password'].placeholder {
806
+ color: #666666; }
807
+ .text.light input[type='text']:hover, .light.text-rounded input[type='text']:hover,
808
+ .text.light input[type='password']:hover,
809
+ .light.text-rounded input[type='password']:hover {
810
+ -webkit-box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25);
811
+ -moz-box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25);
812
+ box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25); }
813
+ .text.light input[type='text']:focus, .light.text-rounded input[type='text']:focus,
814
+ .text.light input[type='password']:focus,
815
+ .light.text-rounded input[type='password']:focus {
816
+ background: white;
817
+ -webkit-box-shadow: 0 0 0 3px #80a62d;
818
+ -moz-box-shadow: 0 0 0 3px #80a62d;
819
+ box-shadow: 0 0 0 3px #80a62d; }
820
+ .text.light input[type='text']:focus:-moz-placeholder, .light.text-rounded input[type='text']:focus:-moz-placeholder,
821
+ .text.light input[type='password']:focus:-moz-placeholder,
822
+ .light.text-rounded input[type='password']:focus:-moz-placeholder {
823
+ color: #cccccc; }
824
+ .text.light input[type='text']:focus::-webkit-input-placeholder, .light.text-rounded input[type='text']:focus::-webkit-input-placeholder,
825
+ .text.light input[type='password']:focus::-webkit-input-placeholder,
826
+ .light.text-rounded input[type='password']:focus::-webkit-input-placeholder {
827
+ color: #cccccc; }
828
+ .text.light input[type='text']:focus.placeholder, .light.text-rounded input[type='text']:focus.placeholder,
829
+ .text.light input[type='password']:focus.placeholder,
830
+ .light.text-rounded input[type='password']:focus.placeholder {
831
+ color: #cccccc; }
832
+ .text.light input[type='submit'], .light.text-rounded input[type='submit'] {
833
+ background-position: center -30px; }
834
+ .text input[type='submit'], .text-rounded input[type='submit'] {
835
+ background-color: transparent;
836
+ background-position: center 0;
837
+ background-repeat: no-repeat;
838
+ border: none;
839
+ cursor: pointer;
840
+ font-family: Arial, sans-serif;
841
+ font-size: 12px;
842
+ height: 19px;
843
+ position: absolute;
844
+ right: 3px;
845
+ top: 3px;
846
+ width: 19px; }
847
+ .text input[type='submit']:hover, .text-rounded input[type='submit']:hover, .text input[type='submit']:focus, .text-rounded input[type='submit']:focus {
848
+ background-position: center -30px; }
849
+
850
+ .text-rounded input[type='text'],
851
+ .text-rounded input[type='password'] {
852
+ border-radius: 30px;
853
+ padding-left: 16px;
854
+ padding-right: 16px;
855
+ behavior: url("javascripts/vendor/PIE.htc"); }
856
+
857
+ .text input.search-button, .text-rounded input.search-button {
858
+ background-image: url("images/text-input/search-button.png"); }
859
+
860
+ .appreciate {
861
+ background: url("images/appreciate/splash.png") 0 0 no-repeat;
862
+ display: block;
863
+ cursor: pointer;
864
+ font-size: 13px;
865
+ height: 97px;
866
+ position: relative;
867
+ text-align: center;
868
+ text-transform: uppercase;
869
+ width: 97px; }
870
+ .appreciate:hover {
871
+ background-position: 0 -110px; }
872
+ .appreciate.firm {
873
+ background-image: url("images/appreciate/splash-firm.png"); }
874
+ .appreciate.tnx {
875
+ background: url("images/appreciate/tnx.png") 0 0 no-repeat; }
876
+
877
+ .circle-banner {
878
+ background-color: #141517;
879
+ border-radius: 50%;
880
+ color: white;
881
+ font: italic 11px Georgia, serif;
882
+ height: 165px;
883
+ line-height: 1.5;
884
+ padding: 20px;
885
+ position: relative;
886
+ text-align: center;
887
+ width: 165px;
888
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
889
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
890
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
891
+ behavior: url("javascripts/vendor/PIE.htc"); }
892
+ .circle-banner .banner-inner {
893
+ padding-top: 20px; }
894
+ .circle-banner .banner-description {
895
+ border-top: 1px solid #88bebe;
896
+ color: #88bebe;
897
+ margin-top: 15px;
898
+ padding-top: 10px; }
899
+ .circle-banner .ear {
900
+ background: url("images/circle-banner/ear.png") 0 0 no-repeat;
901
+ height: 22px;
902
+ left: 27px;
903
+ position: absolute;
904
+ top: 8px;
905
+ width: 22px; }
906
+ .circle-banner .banner-pull-l, .circle-banner .banner-pull-r {
907
+ clear: both;
908
+ float: left;
909
+ height: 20px;
910
+ width: 30%; }
911
+ .circle-banner .banner-pull-l.pull2, .circle-banner .pull2.banner-pull-r {
912
+ width: 17%; }
913
+ .circle-banner .banner-pull-r {
914
+ clear: none;
915
+ float: right; }
916
+
917
+ .comments {
918
+ background-color: #141517;
919
+ border-radius: 2px;
920
+ color: white;
921
+ display: inline-block;
922
+ font: italic 11px Georgia, serif;
923
+ padding: 4px 7px 6px;
924
+ position: relative;
925
+ -webkit-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
926
+ -moz-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
927
+ box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06); }
928
+ .comments .ear {
929
+ background: url("images/comments/ear.png") 0 0 no-repeat;
930
+ height: 6px;
931
+ left: 6px;
932
+ position: absolute;
933
+ top: -5px;
934
+ width: 9px; }
935
+
936
+ .commutator {
937
+ border-radius: 20px;
938
+ cursor: pointer;
939
+ display: inline-block;
940
+ height: 26px;
941
+ overflow: hidden;
942
+ position: relative;
943
+ -webkit-user-select: none;
944
+ -moz-user-select: none;
945
+ -ms-user-select: none;
946
+ user-select: none;
947
+ behavior: url("javascripts/vendor/PIE.htc"); }
948
+ .commutator.on {
949
+ color: #3e5706;
950
+ text-shadow: 0 1px rgba(255, 255, 255, 0.2);
951
+ -webkit-box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.4), 1px 1px 1px rgba(0, 0, 0, 0.3);
952
+ -moz-box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.4), 1px 1px 1px rgba(0, 0, 0, 0.3);
953
+ box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.4), 1px 1px 1px rgba(0, 0, 0, 0.3);
954
+ background: #6c901b;
955
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #aed160), color-stop(100%, #6c901b));
956
+ background-image: -webkit-linear-gradient(top, #aed160, #6c901b);
957
+ background-image: -moz-linear-gradient(top, #aed160, #6c901b);
958
+ background-image: -ms-linear-gradient(top, #aed160, #6c901b);
959
+ background-image: -o-linear-gradient(top, #aed160, #6c901b);
960
+ background-image: linear-gradient(top, #aed160, #6c901b);
961
+ -pie-background: linear-gradient(#aed160, #6c901b); }
962
+ .commutator.on .is.on {
963
+ left: 0; }
964
+ .commutator.on .is.off {
965
+ margin-right: 24px; }
966
+ .commutator.off {
967
+ background-color: black;
968
+ color: white;
969
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
970
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
971
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06); }
972
+ .commutator.off .is.on {
973
+ left: -100%; }
974
+ .commutator.off .is.off {
975
+ margin-right: -3px; }
976
+ .commutator .is {
977
+ margin: 0 2px;
978
+ padding: 6px 30px 3px 10px;
979
+ position: relative;
980
+ width: 100%;
981
+ -webkit-box-sizing: border-box;
982
+ -moz-box-sizing: border-box;
983
+ box-sizing: border-box;
984
+ -webkit-transition: left 0.2s linear, margin 0.2s linear;
985
+ -moz-transition: left 0.2s linear, margin 0.2s linear;
986
+ -ms-transition: left 0.2s linear, margin 0.2s linear;
987
+ -o-transition: left 0.2s linear, margin 0.2s linear;
988
+ transition: left 0.2s linear, margin 0.2s linear; }
989
+ .commutator .is.off {
990
+ background: url("images/commutator/slider.png") left 3px no-repeat;
991
+ right: -100%;
992
+ padding-left: 24px;
993
+ position: absolute;
994
+ top: 1px; }
995
+
996
+ .crossbar {
997
+ background: url("images/crossbar/center.png") center no-repeat;
998
+ height: 62px;
999
+ position: relative;
1000
+ width: 62px; }
1001
+ .crossbar [class^='to-'] {
1002
+ background: url("images/crossbar/button.png") 0 0 no-repeat;
1003
+ border-radius: 50%;
1004
+ display: block;
1005
+ height: 24px;
1006
+ position: absolute;
1007
+ width: 24px; }
1008
+ .crossbar [class^='to-']:hover, .crossbar [class^='to-']:focus {
1009
+ background-position: 0 -30px; }
1010
+ .crossbar [class^='to-']:active {
1011
+ -webkit-box-shadow: inset 0 1px 5px rgba(55, 79, 0, 0.9);
1012
+ -moz-box-shadow: inset 0 1px 5px rgba(55, 79, 0, 0.9);
1013
+ box-shadow: inset 0 1px 5px rgba(55, 79, 0, 0.9); }
1014
+ .crossbar .arrow {
1015
+ background-position: center;
1016
+ background-repeat: no-repeat;
1017
+ height: 11px;
1018
+ left: 6px;
1019
+ position: absolute;
1020
+ top: 6px;
1021
+ width: 11px; }
1022
+ .crossbar [class$='top'] {
1023
+ left: 19px;
1024
+ top: 0; }
1025
+ .crossbar [class$='top'] .arrow {
1026
+ background-image: url("images/crossbar/to-top.png"); }
1027
+ .crossbar [class$='right'] {
1028
+ right: 0;
1029
+ top: 19px; }
1030
+ .crossbar [class$='right'] .arrow {
1031
+ background-image: url("images/crossbar/to-right.png"); }
1032
+ .crossbar [class$='bottom'] {
1033
+ left: 19px;
1034
+ bottom: 0; }
1035
+ .crossbar [class$='bottom'] .arrow {
1036
+ background-image: url("images/crossbar/to-bottom.png"); }
1037
+ .crossbar [class$='left'] {
1038
+ left: 0;
1039
+ top: 19px; }
1040
+ .crossbar [class$='left'] .arrow {
1041
+ background-image: url("images/crossbar/to-left.png"); }
1042
+
1043
+ .currently-playing {
1044
+ border-radius: 8px;
1045
+ color: #717342;
1046
+ padding: 10px 14px 14px;
1047
+ position: relative;
1048
+ text-align: center;
1049
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
1050
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5), 0 -1px 0 black;
1051
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5), 0 -1px 0 black;
1052
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5), 0 -1px 0 black;
1053
+ background: #d1d395;
1054
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dfe2ad), color-stop(100%, #d1d395));
1055
+ background-image: -webkit-linear-gradient(top, #dfe2ad, #d1d395);
1056
+ background-image: -moz-linear-gradient(top, #dfe2ad, #d1d395);
1057
+ background-image: -ms-linear-gradient(top, #dfe2ad, #d1d395);
1058
+ background-image: -o-linear-gradient(top, #dfe2ad, #d1d395);
1059
+ background-image: linear-gradient(top, #dfe2ad, #d1d395);
1060
+ -pie-background: linear-gradient(#dfe2ad, #d1d395);
1061
+ behavior: url("javascripts/vendor/PIE.htc"); }
1062
+ .currently-playing:after {
1063
+ background-color: rgba(255, 255, 255, 0.4);
1064
+ border-radius: 10px;
1065
+ content: "";
1066
+ height: 40%;
1067
+ left: 0;
1068
+ position: absolute;
1069
+ top: 0;
1070
+ width: 100%;
1071
+ z-index: 1; }
1072
+ .currently-playing .playing {
1073
+ height: 15px;
1074
+ overflow: hidden;
1075
+ position: relative;
1076
+ white-space: nowrap;
1077
+ z-index: 2; }
1078
+ .currently-playing .playing.artist {
1079
+ font-weight: bold;
1080
+ margin-bottom: 2px; }
1081
+ .currently-playing .song-info {
1082
+ padding-top: 8px;
1083
+ position: relative;
1084
+ font-size: 10px; }
1085
+ .currently-playing .scrollbox.dot {
1086
+ background-color: #787878;
1087
+ margin: 0 50px;
1088
+ top: 2px;
1089
+ z-index: 2;
1090
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.6), 0 1px 0 rgba(255, 255, 255, 0.5);
1091
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.6), 0 1px 0 rgba(255, 255, 255, 0.5);
1092
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.6), 0 1px 0 rgba(255, 255, 255, 0.5); }
1093
+ .currently-playing .scrollbox.dot .scale {
1094
+ border: none;
1095
+ height: 7px;
1096
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4);
1097
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4);
1098
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4); }
1099
+ .currently-playing .scrollbox.dot .slider {
1100
+ background: white;
1101
+ top: -1px; }
1102
+ .currently-playing .song-time {
1103
+ line-height: 13px;
1104
+ position: absolute;
1105
+ top: 7px;
1106
+ width: 50px; }
1107
+ .currently-playing .song-time.start {
1108
+ left: -8px;
1109
+ text-align: right; }
1110
+ .currently-playing .song-time.end {
1111
+ right: -7px;
1112
+ text-align: left; }
1113
+
1114
+ .dataset table {
1115
+ width: 100%; }
1116
+ .dataset td {
1117
+ padding-bottom: 5px;
1118
+ padding-top: 5px; }
1119
+
1120
+ .dataset-entity {
1121
+ color: #9da0ab; }
1122
+
1123
+ .dataset-number {
1124
+ color: #686868;
1125
+ padding-right: 10px;
1126
+ text-align: right; }
1127
+
1128
+ .dataset-bar {
1129
+ background-color: #9cc346;
1130
+ border-radius: 10px;
1131
+ height: 5px;
1132
+ margin-top: 4px; }
1133
+
1134
+ .datepicker-placeholder {
1135
+ min-height: 250px;
1136
+ min-width: 210px;
1137
+ position: relative; }
1138
+
1139
+ .ui-datepicker {
1140
+ background-color: #141517;
1141
+ border-radius: 2px;
1142
+ color: #a8a8a8;
1143
+ display: none;
1144
+ padding: 30px;
1145
+ position: absolute;
1146
+ -webkit-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1147
+ -moz-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1148
+ box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1149
+ -webkit-user-select: none;
1150
+ -moz-user-select: none;
1151
+ -ms-user-select: none;
1152
+ user-select: none; }
1153
+
1154
+ .ui-datepicker-calendar {
1155
+ border-collapse: separate; }
1156
+ .ui-datepicker-calendar td {
1157
+ border: 1px solid transparent;
1158
+ cursor: pointer;
1159
+ padding: 5px 7px;
1160
+ text-align: center; }
1161
+ .ui-datepicker-calendar td:hover, .ui-datepicker-calendar td.ui-datepicker-current-day {
1162
+ border-color: #759827; }
1163
+ .ui-datepicker-calendar td.ui-state-disabled {
1164
+ border-color: transparent;
1165
+ cursor: default;
1166
+ color: #565656; }
1167
+ .ui-datepicker-calendar td.ui-datepicker-today {
1168
+ background-color: #243205;
1169
+ color: #759827; }
1170
+ .ui-datepicker-calendar a {
1171
+ text-decoration: none; }
1172
+ .ui-datepicker-calendar th {
1173
+ cursor: default;
1174
+ padding: 5px 7px;
1175
+ text-align: center;
1176
+ text-transform: uppercase; }
1177
+
1178
+ .ui-datepicker-header {
1179
+ border-bottom: 1px solid #d6d6d6;
1180
+ cursor: default;
1181
+ margin: 0 6px 10px;
1182
+ padding-bottom: 10px;
1183
+ position: relative;
1184
+ text-align: center;
1185
+ text-transform: uppercase; }
1186
+ .ui-datepicker-header .year {
1187
+ color: #565656;
1188
+ padding-left: 19px;
1189
+ position: relative; }
1190
+ .ui-datepicker-header .year:before {
1191
+ background: #99c043;
1192
+ border-radius: 50%;
1193
+ content: "";
1194
+ height: 4px;
1195
+ left: 6px;
1196
+ position: absolute;
1197
+ top: 5px;
1198
+ width: 4px; }
1199
+ .ui-datepicker-header .ui-datepicker-prev, .ui-datepicker-header .ui-datepicker-next {
1200
+ background: url("images/datepicker/back.png") 5px 3px no-repeat;
1201
+ bottom: 9px;
1202
+ cursor: pointer;
1203
+ font-size: 1px;
1204
+ height: 16px;
1205
+ left: -4px;
1206
+ overflow: hidden;
1207
+ position: absolute;
1208
+ text-indent: -999em;
1209
+ width: 16px; }
1210
+ .ui-datepicker-header .ui-datepicker-prev:hover, .ui-datepicker-header .ui-datepicker-next:hover, .ui-datepicker-header .ui-datepicker-prev:focus, .ui-datepicker-header .ui-datepicker-next:focus {
1211
+ background-position: 5px -13px; }
1212
+ .ui-datepicker-header .ui-datepicker-prev.ui-state-disabled, .ui-datepicker-header .ui-state-disabled.ui-datepicker-next {
1213
+ background-position: 5px -29px;
1214
+ cursor: default; }
1215
+ .ui-datepicker-header .ui-datepicker-next {
1216
+ background-image: url("images/datepicker/forward.png");
1217
+ left: auto;
1218
+ right: -5px; }
1219
+
1220
+ .ui-datepicker-buttonpane {
1221
+ position: absolute;
1222
+ right: 0;
1223
+ top: 0;
1224
+ width: 100%; }
1225
+ .ui-datepicker-buttonpane .ui-datepicker-current {
1226
+ background: none;
1227
+ border: none;
1228
+ color: #565656;
1229
+ cursor: pointer;
1230
+ font: italic 12px Georgia, serif;
1231
+ margin: 8px -15px 0 0;
1232
+ position: absolute;
1233
+ right: 50%; }
1234
+ .ui-datepicker-buttonpane .ui-datepicker-current:hover {
1235
+ color: #999999; }
1236
+
1237
+ .ui-datepicker-close {
1238
+ background: url("images/datepicker/close.png") 8px 9px no-repeat;
1239
+ border: none;
1240
+ cursor: pointer;
1241
+ font-size: 1px;
1242
+ height: 27px;
1243
+ overflow: hidden;
1244
+ position: absolute;
1245
+ text-indent: -999em;
1246
+ right: 0;
1247
+ top: 0;
1248
+ width: 27px; }
1249
+ .ui-datepicker-close:hover, .ui-datepicker-close:focus {
1250
+ background-position: 8px -11px; }
1251
+
1252
+ .equalizer-bar {
1253
+ background-color: #1e1f22;
1254
+ border-radius: 10px;
1255
+ float: left;
1256
+ height: 114px;
1257
+ margin-right: 6px;
1258
+ position: relative;
1259
+ width: 5px;
1260
+ -webkit-box-shadow: inset 0 1px 0 black, 1px 1px 0 rgba(255, 255, 255, 0.06);
1261
+ -moz-box-shadow: inset 0 1px 0 black, 1px 1px 0 rgba(255, 255, 255, 0.06);
1262
+ box-shadow: inset 0 1px 0 black, 1px 1px 0 rgba(255, 255, 255, 0.06);
1263
+ -webkit-user-select: none;
1264
+ -moz-user-select: none;
1265
+ -ms-user-select: none;
1266
+ user-select: none; }
1267
+ .equalizer-bar.minimal .equalizer-scale {
1268
+ background: #141517;
1269
+ -webkit-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.06);
1270
+ -moz-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.06);
1271
+ box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.06); }
1272
+ .equalizer-bar.elastic .equalizer-scale {
1273
+ background: #a4a4a4;
1274
+ background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, #e1e1e1), color-stop(100%, #a4a4a4));
1275
+ background-image: -webkit-linear-gradient(left, #e1e1e1, #a4a4a4);
1276
+ background-image: -moz-linear-gradient(left, #e1e1e1, #a4a4a4);
1277
+ background-image: -ms-linear-gradient(left, #e1e1e1, #a4a4a4);
1278
+ background-image: -o-linear-gradient(left, #e1e1e1, #a4a4a4);
1279
+ background-image: linear-gradient(left, #e1e1e1, #a4a4a4); }
1280
+
1281
+ .equalizer-delimiter {
1282
+ background: url("images/equalizer/bar-delimiter.png") 0 0 no-repeat;
1283
+ float: left;
1284
+ margin-right: 6px;
1285
+ height: 114px;
1286
+ width: 5px; }
1287
+
1288
+ .equalizer-scale {
1289
+ border-radius: 10px;
1290
+ bottom: 0;
1291
+ left: 0;
1292
+ position: absolute;
1293
+ width: 100%;
1294
+ -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), 1px 1px 1px rgba(0, 0, 0, 0.4);
1295
+ -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), 1px 1px 1px rgba(0, 0, 0, 0.4);
1296
+ box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), 1px 1px 1px rgba(0, 0, 0, 0.4);
1297
+ background: #91b73c;
1298
+ background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, #6c901b), color-stop(100%, #91b73c));
1299
+ background-image: -webkit-linear-gradient(left, #6c901b, #91b73c);
1300
+ background-image: -moz-linear-gradient(left, #6c901b, #91b73c);
1301
+ background-image: -ms-linear-gradient(left, #6c901b, #91b73c);
1302
+ background-image: -o-linear-gradient(left, #6c901b, #91b73c);
1303
+ background-image: linear-gradient(left, #6c901b, #91b73c); }
1304
+
1305
+ .equalizer .ui-slider-handle {
1306
+ background: url("images/equalizer/slider.png") 5px 0 no-repeat;
1307
+ cursor: pointer;
1308
+ height: 16px;
1309
+ left: -6px;
1310
+ margin-bottom: -8px;
1311
+ position: absolute;
1312
+ width: 17px; }
1313
+ .equalizer .ui-slider-handle:hover, .equalizer .ui-slider-handle:focus {
1314
+ background-position: 5px -33px; }
1315
+
1316
+ .header {
1317
+ background: #141517;
1318
+ border-bottom: 1px solid rgba(255, 255, 255, 0.15);
1319
+ color: white; }
1320
+
1321
+ .header-controls {
1322
+ color: #8d8d8d;
1323
+ font-size: 11px; }
1324
+ .header-controls a {
1325
+ color: #dddddd;
1326
+ text-decoration: none; }
1327
+ .header-controls a:hover {
1328
+ color: white; }
1329
+ .header-controls .delimiter {
1330
+ font-family: Georgia, serif;
1331
+ font-style: italic; }
1332
+ .header-controls .fb-signup {
1333
+ background: url("images/header/fb-signup.png") 0 0 no-repeat;
1334
+ display: inline-block;
1335
+ height: 21px;
1336
+ margin: -7px 0;
1337
+ width: 89px; }
1338
+
1339
+ .header-navigation {
1340
+ font-family: "Helvetica Neue", Arial, sans-serif;
1341
+ font-size: 13px;
1342
+ text-transform: uppercase; }
1343
+ .header-navigation li {
1344
+ display: inline-block;
1345
+ height: 16px;
1346
+ position: relative;
1347
+ top: 2px; }
1348
+ .header-navigation li:after {
1349
+ background: #84aa30;
1350
+ border-radius: 50%;
1351
+ content: "";
1352
+ height: 4px;
1353
+ margin-top: -2px;
1354
+ position: absolute;
1355
+ right: -4px;
1356
+ top: 50%;
1357
+ width: 4px; }
1358
+ .header-navigation li:last-child:after {
1359
+ display: none; }
1360
+ .header-navigation li.current:before {
1361
+ background: url("images/header/ear.png") 0 0 no-repeat;
1362
+ bottom: -20px;
1363
+ content: "";
1364
+ height: 8px;
1365
+ left: 50%;
1366
+ margin-left: -7px;
1367
+ position: absolute;
1368
+ width: 14px; }
1369
+ .header-navigation li.current a {
1370
+ color: #94be38; }
1371
+ .header-navigation a {
1372
+ margin: 0 13px;
1373
+ text-decoration: none; }
1374
+ .header-navigation a:hover {
1375
+ color: #d0deb2; }
1376
+
1377
+ .header-search {
1378
+ float: right;
1379
+ margin: -5px 0 -9px;
1380
+ width: 66%; }
1381
+
1382
+ .login-block {
1383
+ background-color: #141517;
1384
+ border-radius: 8px;
1385
+ color: white;
1386
+ padding: 23px 30px 30px;
1387
+ position: relative;
1388
+ -webkit-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1389
+ -moz-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1390
+ box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1391
+ behavior: url("javascripts/vendor/PIE.htc"); }
1392
+ .login-block .login-ear {
1393
+ background: url("images/login-block/ear.png") 0 0 no-repeat;
1394
+ height: 13px;
1395
+ left: 23px;
1396
+ position: absolute;
1397
+ top: -12px;
1398
+ width: 12px; }
1399
+ .login-block .login-buttons {
1400
+ padding-top: 40px; }
1401
+
1402
+ .pagination {
1403
+ -webkit-user-select: none;
1404
+ -moz-user-select: none;
1405
+ -ms-user-select: none;
1406
+ user-select: none; }
1407
+ .pagination li {
1408
+ float: left;
1409
+ font-weight: bold;
1410
+ margin-right: 7px;
1411
+ text-align: center; }
1412
+ .pagination li.active a {
1413
+ color: #3e5706;
1414
+ text-shadow: 0 1px 0 white;
1415
+ -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
1416
+ -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
1417
+ box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
1418
+ background: #9e9e9e;
1419
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd), color-stop(100%, #9e9e9e));
1420
+ background-image: -webkit-linear-gradient(top, #fdfdfd, #9e9e9e);
1421
+ background-image: -moz-linear-gradient(top, #fdfdfd, #9e9e9e);
1422
+ background-image: -ms-linear-gradient(top, #fdfdfd, #9e9e9e);
1423
+ background-image: -o-linear-gradient(top, #fdfdfd, #9e9e9e);
1424
+ background-image: linear-gradient(top, #fdfdfd, #9e9e9e);
1425
+ -pie-background: linear-gradient(#fdfdfd, #9e9e9e); }
1426
+ .pagination a {
1427
+ border-radius: 20px;
1428
+ color: white;
1429
+ display: block;
1430
+ height: 17px;
1431
+ padding: 4px 7px 0;
1432
+ text-decoration: none;
1433
+ text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
1434
+ -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.3), 1px 1px 0 rgba(255, 255, 255, 0.1);
1435
+ -moz-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.3), 1px 1px 0 rgba(255, 255, 255, 0.1);
1436
+ box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.3), 1px 1px 0 rgba(255, 255, 255, 0.1);
1437
+ behavior: url("javascripts/vendor/PIE.htc"); }
1438
+ .pagination a:hover {
1439
+ background-color: #3f4147; }
1440
+ .pagination .pagination-up, .pagination .pagination-down, .pagination .pagination-left, .pagination .pagination-right {
1441
+ background: url("images/pagination/up.png") 0 0 no-repeat;
1442
+ cursor: pointer;
1443
+ float: left;
1444
+ height: 11px;
1445
+ margin-right: 3px;
1446
+ width: 11px;
1447
+ -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
1448
+ -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
1449
+ box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); }
1450
+ .pagination .pagination-down {
1451
+ background-image: url("images/pagination/down.png"); }
1452
+ .pagination .pagination-left {
1453
+ background-image: url("images/pagination/left.png"); }
1454
+ .pagination .pagination-right {
1455
+ background-image: url("images/pagination/right.png"); }
1456
+
1457
+ .player-control-wrapper {
1458
+ float: left;
1459
+ position: relative; }
1460
+ .player-control-wrapper.opened .player-scale {
1461
+ left: 13px; }
1462
+
1463
+ .player-control, .player-control-huge {
1464
+ background: url("images/player/control.png") 0 0 no-repeat;
1465
+ cursor: pointer;
1466
+ float: left;
1467
+ height: 35px;
1468
+ margin-right: 8px;
1469
+ position: relative;
1470
+ width: 35px;
1471
+ z-index: 5; }
1472
+ .player-control:hover, .player-control-huge:hover {
1473
+ background-position: 0 bottom; }
1474
+ .player-control:hover .player-icon, .player-control-huge:hover .player-icon {
1475
+ background-position: center bottom; }
1476
+
1477
+ .player-control-huge {
1478
+ background-image: url("images/player/control-big.png");
1479
+ height: 54px;
1480
+ margin-top: -10px;
1481
+ width: 54px; }
1482
+ .player-control-huge .player-icon {
1483
+ height: 24px;
1484
+ margin: 15px 0 0 17px;
1485
+ width: 24px; }
1486
+
1487
+ .player-icon {
1488
+ background-position: center 0;
1489
+ background-repeat: no-repeat;
1490
+ height: 16px;
1491
+ margin: 10px 0 0 7px;
1492
+ width: 20px; }
1493
+ .player-icon.p-back {
1494
+ background-image: url("images/player/icon-back.png"); }
1495
+ .player-icon.p-next {
1496
+ background-image: url("images/player/icon-next.png"); }
1497
+ .player-icon.p-play {
1498
+ background-image: url("images/player/icon-play.png"); }
1499
+ .player-icon.p-volume {
1500
+ background-image: url("images/player/icon-volume.png"); }
1501
+
1502
+ .player-scale-holder {
1503
+ overflow: hidden;
1504
+ position: absolute;
1505
+ left: 10px;
1506
+ top: 7px;
1507
+ width: 106px;
1508
+ z-index: 4; }
1509
+
1510
+ .player-scale {
1511
+ background-color: #141517;
1512
+ border-radius: 20px;
1513
+ left: -75px;
1514
+ padding: 4px 4px 4px 13px;
1515
+ position: relative;
1516
+ width: 65px;
1517
+ -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
1518
+ -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
1519
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
1520
+ -webkit-transition: left 0.2s;
1521
+ -moz-transition: left 0.2s;
1522
+ -ms-transition: left 0.2s;
1523
+ -o-transition: left 0.2s;
1524
+ transition: left 0.2s; }
1525
+
1526
+ .player-scale-filler {
1527
+ border-radius: 20px;
1528
+ height: 12px;
1529
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
1530
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
1531
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
1532
+ background: #6e921d;
1533
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #acd05f), color-stop(100%, #6e921d));
1534
+ background-image: -webkit-linear-gradient(top, #acd05f, #6e921d);
1535
+ background-image: -moz-linear-gradient(top, #acd05f, #6e921d);
1536
+ background-image: -ms-linear-gradient(top, #acd05f, #6e921d);
1537
+ background-image: -o-linear-gradient(top, #acd05f, #6e921d);
1538
+ background-image: linear-gradient(top, #acd05f, #6e921d);
1539
+ -pie-background: linear-gradient(#acd05f, #6e921d); }
1540
+
1541
+ .progressbar-label {
1542
+ color: white;
1543
+ margin-bottom: 6px;
1544
+ text-align: right;
1545
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); }
1546
+
1547
+ .scrollbox {
1548
+ background-color: #1e1f22;
1549
+ border-radius: 10px;
1550
+ height: 7px;
1551
+ position: relative;
1552
+ -webkit-box-sizing: border-box;
1553
+ -moz-box-sizing: border-box;
1554
+ box-sizing: border-box;
1555
+ -webkit-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.1);
1556
+ -moz-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.1);
1557
+ box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.1);
1558
+ -webkit-user-select: none;
1559
+ -moz-user-select: none;
1560
+ -ms-user-select: none;
1561
+ user-select: none;
1562
+ behavior: url("javascripts/vendor/PIE.htc"); }
1563
+ .scrollbox.dot .hitbox {
1564
+ height: 11px;
1565
+ top: -2px; }
1566
+ .scrollbox.dot .ui-slider-handle {
1567
+ top: 1px;
1568
+ height: 7px;
1569
+ margin-left: -3px;
1570
+ right: -3px;
1571
+ width: 7px;
1572
+ background: #9f9f9f;
1573
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f7f7f7), color-stop(100%, #9f9f9f));
1574
+ background-image: -webkit-linear-gradient(top, #f7f7f7, #9f9f9f);
1575
+ background-image: -moz-linear-gradient(top, #f7f7f7, #9f9f9f);
1576
+ background-image: -ms-linear-gradient(top, #f7f7f7, #9f9f9f);
1577
+ background-image: -o-linear-gradient(top, #f7f7f7, #9f9f9f);
1578
+ background-image: linear-gradient(top, #f7f7f7, #9f9f9f);
1579
+ -pie-background: linear-gradient(#f7f7f7, #9f9f9f);
1580
+ behavior: url("javascripts/vendor/PIE.htc"); }
1581
+ .scrollbox.disk .hitbox {
1582
+ height: 19px;
1583
+ top: -6px; }
1584
+ .scrollbox.disk .ui-slider-handle {
1585
+ background: url("images/scrollbox/sliders.png") 0 0 no-repeat;
1586
+ top: -2px;
1587
+ height: 19px;
1588
+ margin-left: -9px;
1589
+ right: -9px;
1590
+ width: 19px; }
1591
+ .scrollbox.fat .hitbox {
1592
+ height: 19px;
1593
+ top: -6px; }
1594
+ .scrollbox.fat .scale {
1595
+ border: none;
1596
+ height: 7px;
1597
+ -webkit-box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.4);
1598
+ -moz-box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.4);
1599
+ box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.4);
1600
+ background: #71951f;
1601
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #afd067), color-stop(100%, #71951f));
1602
+ background-image: -webkit-linear-gradient(top, #afd067, #71951f);
1603
+ background-image: -moz-linear-gradient(top, #afd067, #71951f);
1604
+ background-image: -ms-linear-gradient(top, #afd067, #71951f);
1605
+ background-image: -o-linear-gradient(top, #afd067, #71951f);
1606
+ background-image: linear-gradient(top, #afd067, #71951f);
1607
+ -pie-background: linear-gradient(#afd067, #71951f);
1608
+ behavior: url("javascripts/vendor/PIE.htc"); }
1609
+ .scrollbox.fat .ui-slider-handle {
1610
+ background: url("images/scrollbox/sliders.png") 0 0 no-repeat;
1611
+ top: -2px;
1612
+ height: 19px;
1613
+ margin-left: -9px;
1614
+ right: -9px;
1615
+ width: 19px; }
1616
+ .scrollbox.range .hitbox {
1617
+ height: 19px;
1618
+ top: -6px; }
1619
+ .scrollbox.range .ui-slider-handle {
1620
+ background: url("images/scrollbox/sliders.png") center -30px no-repeat;
1621
+ top: -2px;
1622
+ height: 19px;
1623
+ margin-left: -9px;
1624
+ right: -9px;
1625
+ width: 19px; }
1626
+ .scrollbox.range .ui-slider-handle:hover, .scrollbox.range .ui-slider-handle:active {
1627
+ background-position: center -61px;
1628
+ -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
1629
+ -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
1630
+ box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); }
1631
+ .scrollbox .scale {
1632
+ background-color: #84aa31;
1633
+ border: 2px solid #212227;
1634
+ border-radius: 10px;
1635
+ height: 3px;
1636
+ position: relative;
1637
+ background: #8db439;
1638
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #7ba129), color-stop(100%, #8db439));
1639
+ background-image: -webkit-linear-gradient(top, #7ba129, #8db439);
1640
+ background-image: -moz-linear-gradient(top, #7ba129, #8db439);
1641
+ background-image: -ms-linear-gradient(top, #7ba129, #8db439);
1642
+ background-image: -o-linear-gradient(top, #7ba129, #8db439);
1643
+ background-image: linear-gradient(top, #7ba129, #8db439);
1644
+ -pie-background: linear-gradient(#7ba129, #8db439); }
1645
+ .scrollbox .ui-slider-handle {
1646
+ border-radius: 50%;
1647
+ cursor: pointer;
1648
+ margin-top: 1px;
1649
+ position: absolute;
1650
+ z-index: 3;
1651
+ -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
1652
+ -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
1653
+ box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
1654
+ -webkit-user-select: none;
1655
+ -moz-user-select: none;
1656
+ -ms-user-select: none;
1657
+ user-select: none; }
1658
+ .scrollbox .ui-slider-handle:hover {
1659
+ -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 7px rgba(0, 0, 0, 0.5);
1660
+ -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 7px rgba(0, 0, 0, 0.5);
1661
+ box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 7px rgba(0, 0, 0, 0.5); }
1662
+ .scrollbox .ui-slider-handle:active {
1663
+ -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 7px rgba(0, 0, 0, 0.8);
1664
+ -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 7px rgba(0, 0, 0, 0.8);
1665
+ box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 7px rgba(0, 0, 0, 0.8); }
1666
+ .scrollbox .hitbox {
1667
+ position: absolute;
1668
+ width: 100%;
1669
+ z-index: 2; }
1670
+
1671
+ .site-info {
1672
+ padding: 70px 0 40px;
1673
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.06); }
1674
+ .site-info .sitename {
1675
+ font-weight: bold;
1676
+ margin-bottom: 5px;
1677
+ text-transform: uppercase; }
1678
+ .site-info .about {
1679
+ font-family: Georgia, serif;
1680
+ font-style: italic;
1681
+ overflow: hidden;
1682
+ position: relative;
1683
+ text-align: center;
1684
+ width: 311px; }
1685
+ .site-info .version {
1686
+ font-family: Georgia, serif;
1687
+ font-size: 11px;
1688
+ margin-left: 3px;
1689
+ position: relative;
1690
+ top: -5px; }
1691
+ .site-info .legend-center {
1692
+ display: inline-block;
1693
+ padding: 0 5px 2px;
1694
+ vertical-align: middle; }
1695
+ .site-info .legend-left,
1696
+ .site-info .legend-right {
1697
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06);
1698
+ border-top: 1px solid black;
1699
+ display: inline-block;
1700
+ margin: 0 0 0 -999px;
1701
+ vertical-align: middle;
1702
+ width: 999px; }
1703
+ .site-info .legend-right {
1704
+ margin: 0 -999px 0 0; }
1705
+
1706
+ .site-info-credentials {
1707
+ color: #999999;
1708
+ padding-top: 50px;
1709
+ text-align: center; }
1710
+
1711
+ .site-info-links {
1712
+ padding-top: 35px; }
1713
+
1714
+ .slideshow,
1715
+ .slideshow .slideshow-slides-wrapper,
1716
+ .slideshow .each-slide {
1717
+ height: 174px;
1718
+ width: 272px; }
1719
+
1720
+ .slideshow {
1721
+ background: #141517;
1722
+ border-radius: 8px;
1723
+ display: inline-block;
1724
+ margin: 0 20px;
1725
+ padding: 4px;
1726
+ position: relative;
1727
+ -webkit-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1728
+ -moz-box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06);
1729
+ box-shadow: inset 0 1px 0 black, 0 1px 0 rgba(255, 255, 255, 0.06); }
1730
+ .slideshow .slideshow-slides-wrapper {
1731
+ overflow: hidden;
1732
+ position: relative; }
1733
+ .slideshow .slideshow-slides {
1734
+ position: absolute;
1735
+ -webkit-transition: all 0.2s;
1736
+ -moz-transition: all 0.2s;
1737
+ -ms-transition: all 0.2s;
1738
+ -o-transition: all 0.2s;
1739
+ transition: all 0.2s; }
1740
+ .slideshow .each-slide {
1741
+ background-position: center;
1742
+ background-repeat: no-repeat;
1743
+ border-radius: 5px;
1744
+ float: left;
1745
+ position: relative; }
1746
+ .slideshow .show-slide {
1747
+ background: url("images/slideshow/prev.png") 0 0 no-repeat;
1748
+ cursor: pointer;
1749
+ height: 22px;
1750
+ margin-top: -13px;
1751
+ position: absolute;
1752
+ top: 50%;
1753
+ left: -30px;
1754
+ width: 14px; }
1755
+ .slideshow .show-slide:hover {
1756
+ background-position: 0 bottom; }
1757
+ .slideshow .show-slide.next {
1758
+ background-image: url("images/slideshow/next.png");
1759
+ left: auto;
1760
+ right: -30px; }
1761
+ .slideshow .slide-description {
1762
+ background-color: black;
1763
+ border-radius: 0 0 5px 5px;
1764
+ bottom: 0;
1765
+ color: white;
1766
+ padding: 11px 13px;
1767
+ position: absolute;
1768
+ width: 100%;
1769
+ -webkit-box-sizing: border-box;
1770
+ -moz-box-sizing: border-box;
1771
+ box-sizing: border-box; }
1772
+
1773
+ .starbar {
1774
+ background: #94eaf3 url("images/starbar/background.png") 0 0 repeat-x;
1775
+ border-radius: 8px;
1776
+ display: inline-block;
1777
+ height: 16px;
1778
+ padding: 10px;
1779
+ -webkit-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 1px 1px rgba(0, 0, 0, 0.4);
1780
+ -moz-box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 1px 1px rgba(0, 0, 0, 0.4);
1781
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3), 0 1px 1px rgba(0, 0, 0, 0.4);
1782
+ behavior: url("javascripts/vendor/PIE.htc"); }
1783
+ .starbar .star {
1784
+ background: url("images/starbar/star.png") 0 0 no-repeat;
1785
+ float: left;
1786
+ height: 16px;
1787
+ width: 17px; }
1788
+ .starbar .star.half {
1789
+ background-position: 0 -22px; }
1790
+ .starbar .star.full {
1791
+ background-position: 0 -45px; }
1792
+ .starbar .star.focus {
1793
+ cursor: pointer; }
1794
+ .starbar .starbar-rating {
1795
+ color: #216a72;
1796
+ float: right;
1797
+ font-weight: bold;
1798
+ padding: 2px 5px 0 11px;
1799
+ -webkit-user-select: text;
1800
+ -moz-user-select: text;
1801
+ -ms-user-select: text;
1802
+ user-select: text;
1803
+ line-height: 1.1 \9; }
1804
+
1805
+ .sticker {
1806
+ color: white;
1807
+ position: relative;
1808
+ text-align: center;
1809
+ text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.15); }
1810
+ .sticker.percent {
1811
+ background: url("images/sticker/percent.png") 0 0 no-repeat;
1812
+ font: bold 42px "Helvetica Neue", Arial, sans-serif;
1813
+ height: 100px;
1814
+ letter-spacing: 1px;
1815
+ padding-top: 24px;
1816
+ width: 124px; }
1817
+ .sticker.pack {
1818
+ background: url("images/sticker/pack.png") 0 0 no-repeat;
1819
+ font: bold 38px "Helvetica Neue", Arial, sans-serif;
1820
+ height: 84px;
1821
+ padding-top: 13px;
1822
+ width: 97px; }
1823
+ .sticker.pack .sticker-label {
1824
+ background-color: #18657b;
1825
+ border-radius: 20px;
1826
+ font: bold 9px Arial, sans-serif;
1827
+ display: inline-block;
1828
+ letter-spacing: 1px;
1829
+ padding: 3px 10px;
1830
+ position: relative;
1831
+ text-transform: uppercase;
1832
+ top: -26px;
1833
+ -webkit-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1);
1834
+ -moz-box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1);
1835
+ box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1);
1836
+ behavior: url("javascripts/vendor/PIE.htc"); }
1837
+
1838
+ .tabbox .ui-tabs-hide {
1839
+ display: none; }
1840
+
1841
+ .tabbox-tabs {
1842
+ color: #a8a8a8;
1843
+ font-size: 13px;
1844
+ overflow: hidden;
1845
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); }
1846
+ .tabbox-tabs li {
1847
+ border-radius: 10px 10px 0 0;
1848
+ cursor: pointer;
1849
+ float: left;
1850
+ margin-right: 3px;
1851
+ padding: 12px 60px 9px;
1852
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
1853
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
1854
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
1855
+ background: #4b4d51;
1856
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5b5d62), color-stop(100%, #4b4d51));
1857
+ background-image: -webkit-linear-gradient(top, #5b5d62, #4b4d51);
1858
+ background-image: -moz-linear-gradient(top, #5b5d62, #4b4d51);
1859
+ background-image: -ms-linear-gradient(top, #5b5d62, #4b4d51);
1860
+ background-image: -o-linear-gradient(top, #5b5d62, #4b4d51);
1861
+ background-image: linear-gradient(top, #5b5d62, #4b4d51);
1862
+ -pie-background: linear-gradient(#5b5d62, #4b4d51);
1863
+ -webkit-user-select: none;
1864
+ -moz-user-select: none;
1865
+ -ms-user-select: none;
1866
+ user-select: none;
1867
+ behavior: url("javascripts/vendor/PIE.htc"); }
1868
+ .tabbox-tabs li:hover {
1869
+ background: #595a5f;
1870
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #64656b), color-stop(100%, #595a5f));
1871
+ background-image: -webkit-linear-gradient(top, #64656b, #595a5f);
1872
+ background-image: -moz-linear-gradient(top, #64656b, #595a5f);
1873
+ background-image: -ms-linear-gradient(top, #64656b, #595a5f);
1874
+ background-image: -o-linear-gradient(top, #64656b, #595a5f);
1875
+ background-image: linear-gradient(top, #64656b, #595a5f);
1876
+ -pie-background: linear-gradient(#64656b, #595a5f); }
1877
+ .tabbox-tabs li:active {
1878
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 1px 5px rgba(0, 0, 0, 0.4);
1879
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 1px 5px rgba(0, 0, 0, 0.4);
1880
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 1px 5px rgba(0, 0, 0, 0.4);
1881
+ background: #4b4d51;
1882
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5b5d62), color-stop(100%, #4b4d51));
1883
+ background-image: -webkit-linear-gradient(top, #5b5d62, #4b4d51);
1884
+ background-image: -moz-linear-gradient(top, #5b5d62, #4b4d51);
1885
+ background-image: -ms-linear-gradient(top, #5b5d62, #4b4d51);
1886
+ background-image: -o-linear-gradient(top, #5b5d62, #4b4d51);
1887
+ background-image: linear-gradient(top, #5b5d62, #4b4d51);
1888
+ -pie-background: linear-gradient(#5b5d62, #4b4d51); }
1889
+ .tabbox-tabs li.active {
1890
+ color: #404040;
1891
+ padding-bottom: 12px;
1892
+ text-shadow: 0 1px 0 white;
1893
+ -webkit-box-shadow: inset 0 1px white;
1894
+ -moz-box-shadow: inset 0 1px white;
1895
+ box-shadow: inset 0 1px white;
1896
+ background: #e5e5e5;
1897
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e7e7e7), color-stop(100%, #e5e5e5));
1898
+ background-image: -webkit-linear-gradient(top, #e7e7e7, #e5e5e5);
1899
+ background-image: -moz-linear-gradient(top, #e7e7e7, #e5e5e5);
1900
+ background-image: -ms-linear-gradient(top, #e7e7e7, #e5e5e5);
1901
+ background-image: -o-linear-gradient(top, #e7e7e7, #e5e5e5);
1902
+ background-image: linear-gradient(top, #e7e7e7, #e5e5e5);
1903
+ -pie-background: linear-gradient(#e7e7e7, #e5e5e5); }
1904
+
1905
+ .tabbox-stuff {
1906
+ background-color: #e5e5e5;
1907
+ border-radius: 0 10px 10px;
1908
+ padding: 14px;
1909
+ position: relative;
1910
+ behavior: url("javascripts/vendor/PIE.htc"); }
1911
+
1912
+ .tabbox-navigation {
1913
+ float: left;
1914
+ position: relative;
1915
+ width: 93px;
1916
+ z-index: 2; }
1917
+ .tabbox-navigation li {
1918
+ background-position: center center;
1919
+ background-repeat: no-repeat;
1920
+ cursor: pointer;
1921
+ height: 64px;
1922
+ position: relative;
1923
+ -webkit-user-select: none;
1924
+ -moz-user-select: none;
1925
+ -ms-user-select: none;
1926
+ user-select: none; }
1927
+ .tabbox-navigation li:hover {
1928
+ background-color: #f0f0f0;
1929
+ -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
1930
+ -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
1931
+ box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2); }
1932
+ .tabbox-navigation li:active {
1933
+ background-color: #dddddd; }
1934
+ .tabbox-navigation li.ui-state-active {
1935
+ background-color: white;
1936
+ -webkit-box-shadow: 8px 3px 5px -3px rgba(0, 0, 0, 0.4);
1937
+ -moz-box-shadow: 8px 3px 5px -3px rgba(0, 0, 0, 0.4);
1938
+ box-shadow: 8px 3px 5px -3px rgba(0, 0, 0, 0.4); }
1939
+ .tabbox-navigation li.archive {
1940
+ background-image: url("images/tabbox/navigation-archive.png"); }
1941
+ .tabbox-navigation li.messages {
1942
+ background-image: url("images/tabbox/navigation-messages.png"); }
1943
+ .tabbox-navigation li.cloud {
1944
+ background-image: url("images/tabbox/navigation-cloud.png"); }
1945
+ .tabbox-navigation li > a {
1946
+ display: block;
1947
+ height: 100%;
1948
+ position: absolute;
1949
+ width: 100%; }
1950
+
1951
+ .tabbox-content {
1952
+ background-color: white;
1953
+ min-height: 144px;
1954
+ padding: 24px 29px;
1955
+ position: relative;
1956
+ z-index: 3;
1957
+ -webkit-box-shadow: 3px 3px 5px -3px rgba(0, 0, 0, 0.4);
1958
+ -moz-box-shadow: 3px 3px 5px -3px rgba(0, 0, 0, 0.4);
1959
+ box-shadow: 3px 3px 5px -3px rgba(0, 0, 0, 0.4);
1960
+ -webkit-user-select: text;
1961
+ -moz-user-select: text;
1962
+ -ms-user-select: text;
1963
+ user-select: text; }
1964
+ .tabbox-content .heading {
1965
+ border-bottom: 1px solid #e9e9e9;
1966
+ color: #686868;
1967
+ margin-bottom: 17px;
1968
+ padding-bottom: 15px;
1969
+ position: relative; }
1970
+ .tabbox-content .heading-col {
1971
+ display: inline-block;
1972
+ margin-right: 15px;
1973
+ vertical-align: baseline; }
1974
+ .tabbox-content .status-message {
1975
+ color: #999999;
1976
+ font: italic 11px Georgia, serif;
1977
+ padding-left: 10px; }
1978
+ .tabbox-content .status-message.positive {
1979
+ color: #9cc346; }
1980
+ .tabbox-content .status-message.negative {
1981
+ color: #c34646; }
1982
+ .tabbox-content .preloader {
1983
+ background: url("images/tabbox/preloader.gif") 0 0 no-repeat;
1984
+ height: 16px;
1985
+ margin-top: -13px;
1986
+ position: absolute;
1987
+ right: 0;
1988
+ top: 50%;
1989
+ width: 16px; }
1990
+
1991
+ .user-slug .slug-avatar {
1992
+ border: 4px solid #141517;
1993
+ border-radius: 2px;
1994
+ float: left;
1995
+ height: 29px;
1996
+ margin-right: 16px;
1997
+ -webkit-box-shadow: inset 0 1px 0 #0a0a0b, 0 1px 0 rgba(255, 255, 255, 0.06);
1998
+ -moz-box-shadow: inset 0 1px 0 #0a0a0b, 0 1px 0 rgba(255, 255, 255, 0.06);
1999
+ box-shadow: inset 0 1px 0 #0a0a0b, 0 1px 0 rgba(255, 255, 255, 0.06);
2000
+ -webkit-user-select: text;
2001
+ -moz-user-select: text;
2002
+ -ms-user-select: text;
2003
+ user-select: text; }
2004
+ .user-slug .slug-name {
2005
+ color: white;
2006
+ font-size: 12px;
2007
+ margin: 4px 0 3px; }
2008
+ .user-slug .slug-status {
2009
+ font: italic 11px Georgia, serif;
2010
+ padding-left: 16px;
2011
+ position: relative; }
2012
+ .user-slug .slug-status:before {
2013
+ border-radius: 50%;
2014
+ content: "";
2015
+ height: 4px;
2016
+ left: 3px;
2017
+ position: absolute;
2018
+ top: 4px;
2019
+ width: 4px; }
2020
+ .user-slug .slug-status.online {
2021
+ color: #96bd40; }
2022
+ .user-slug .slug-status.online:before {
2023
+ background-color: #98bf43; }
2024
+ .user-slug .slug-status.away {
2025
+ color: #999999; }
2026
+ .user-slug .slug-status.away:before {
2027
+ background-color: #999999; }
2028
+
2029
+
2030
+
2031
+
2032
+
admin/css/materialize.css CHANGED
@@ -2642,7 +2642,7 @@ span.badge {
2642
  margin-left: 91.66667%; }
2643
  .row .col.offset-s12 {
2644
  margin-left: 100%; }
2645
- @media only screen and (min-width : 601px) {
2646
  .row .col.m1 {
2647
  width: 8.33333%;
2648
  margin-left: 0; }
@@ -2727,7 +2727,7 @@ span.badge {
2727
  .row .col.offset-m12 {
2728
  margin-left: 100%; }
2729
  }
2730
- @media only screen and (min-width : 993px) {
2731
  .row .col.l1 {
2732
  width: 8.33333%;
2733
  margin-left: 0; }
@@ -2936,31 +2936,6 @@ nav {
2936
  height: 64px; }
2937
  }
2938
 
2939
- @font-face {
2940
- font-family: "Roboto";
2941
- src: url("../font/roboto/Roboto-Thin.ttf");
2942
- font-weight: 200; }
2943
-
2944
- @font-face {
2945
- font-family: "Roboto";
2946
- src: url("../font/roboto/Roboto-Light.ttf");
2947
- font-weight: 300; }
2948
-
2949
- @font-face {
2950
- font-family: "Roboto";
2951
- src: url("../font/roboto/Roboto-Regular.ttf");
2952
- font-weight: 400; }
2953
-
2954
- @font-face {
2955
- font-family: "Roboto";
2956
- src: url("../font/roboto/Roboto-Medium.ttf");
2957
- font-weight: 500; }
2958
-
2959
- @font-face {
2960
- font-family: "Roboto";
2961
- src: url("../font/roboto/Roboto-Bold.ttf");
2962
- font-weight: 700; }
2963
-
2964
  a {
2965
  text-decoration: none; }
2966
 
@@ -3665,12 +3640,13 @@ ul.tabs li.tab {
3665
  a.waves-effect .waves-ripple {
3666
  z-index: -1; }
3667
 
 
3668
  .modal {
3669
  display: none;
3670
  position: fixed;
3671
  left: 0;
3672
  right: 0;
3673
- background-color: #eee;
3674
  padding: 0;
3675
  max-height: 70%;
3676
  width: 55%;
@@ -4284,7 +4260,6 @@ input[type=checkbox]:not(:disabled) ~ .lever:active:after {
4284
  top: 0;
4285
  font-size: 23px; }
4286
 
4287
-
4288
  select.browser-default {
4289
  display: block; }
4290
 
@@ -5717,8 +5692,3 @@ button.picker__today:focus, button.picker__clear:focus, button.picker__close:foc
5717
  .picker--time .picker__box {
5718
  margin-bottom: 5em; }
5719
  }
5720
-
5721
- .active_menu
5722
- {
5723
- color:red;
5724
- }
2642
  margin-left: 91.66667%; }
2643
  .row .col.offset-s12 {
2644
  margin-left: 100%; }
2645
+ @media only screen and (min-width : 801px) {
2646
  .row .col.m1 {
2647
  width: 8.33333%;
2648
  margin-left: 0; }
2727
  .row .col.offset-m12 {
2728
  margin-left: 100%; }
2729
  }
2730
+ @media only screen and (min-width : 1200px) {
2731
  .row .col.l1 {
2732
  width: 8.33333%;
2733
  margin-left: 0; }
2936
  height: 64px; }
2937
  }
2938
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2939
  a {
2940
  text-decoration: none; }
2941
 
3640
  a.waves-effect .waves-ripple {
3641
  z-index: -1; }
3642
 
3643
+
3644
  .modal {
3645
  display: none;
3646
  position: fixed;
3647
  left: 0;
3648
  right: 0;
3649
+ background-color: inherit;
3650
  padding: 0;
3651
  max-height: 70%;
3652
  width: 55%;
4260
  top: 0;
4261
  font-size: 23px; }
4262
 
 
4263
  select.browser-default {
4264
  display: block; }
4265
 
5692
  .picker--time .picker__box {
5693
  margin-bottom: 5em; }
5694
  }
 
 
 
 
 
admin/css/style.css CHANGED
@@ -2,77 +2,77 @@
2
  #wpcontent {
3
  padding-left: 0;
4
  }
 
 
 
 
 
 
 
5
  #gallery-list {
6
  margin-top: 2rem;
7
  }
8
  #gallery-list .card {
9
  padding: 0;
10
  }
11
- .waves-light.btn {
12
- color: #fff;
13
- }
14
- .waves-light.btn:hover {
15
- color: #fff;
16
- }
17
- #adv {
18
- margin-top:20px;
19
- position: relative;
20
  }
21
- #adv img {
22
- width:100%;
 
23
  }
24
- #adv .close {
25
- position: absolute;
26
- z-index: 10;
27
- color:#fff;
28
- right: 1rem;
29
- bottom: 5px;
30
  }
31
-
32
- #adv i {
33
- font-size: 18px;
34
  }
35
- #adv a {
36
- text-decoration: underline;
37
- font-weight: bold;
38
  }
39
- #other-galleries .cta {
40
- width:170px;
41
- text-align: right;
42
  }
43
- #other-galleries .text {
44
- font-size: 17px;
45
- width:calc(100% - 180px);
46
- padding-right: 20px;
47
- height: 150px;
48
  }
49
- #other-galleries .text h4 {
50
- font-size: 19px;
51
- font-weight: bold;
 
 
 
 
52
  }
53
- #other-galleries .text,
54
- #other-galleries .cta {
55
- display: inline-block;
56
- vertical-align: top;
57
  }
58
- #other-galleries .cta a {
59
- margin-right: 0;
60
- margin-top: 69px;
61
  }
62
- .shortpixel {
63
- display: block;
 
 
 
 
64
  }
65
- .shortpixel img {
66
- position:relative;
67
- top:5px;
 
 
 
68
  }
69
- #images .tips {
70
- margin-bottom: 15px;
71
  }
72
-
73
- .tip img {
74
- position: relative;
75
- top:3px;
76
  }
77
  .card {
78
  padding: 0;
@@ -81,7 +81,7 @@
81
  }
82
  #top {
83
  padding: 1rem 0 3rem 40px;
84
- /*background-image: url('../images/colors.jpg');*/
85
  background-repeat: repeat-x;
86
  background-position: left bottom;
87
  font-family: Roboto, 'sans-serif';
@@ -234,29 +234,13 @@
234
  .modal .modal-footer {
235
  background: #fff;
236
  }
237
- #gallery-list .card .data {
238
- background-size: cover;
239
- background-position: 50% 50%;
240
- }
241
- #gallery-list .card .card-action,
242
- #gallery-list .card .card-content {
243
- background: rgba(0, 0, 0, .5);
244
- transition:all .2s;
245
- }
246
- #gallery-list .card .card-content {
247
- cursor: pointer;
248
- }
249
- #gallery-list .card:hover .card-content {
250
- background: rgba(0, 0, 0, 0);
251
- }
252
  #gallery-list .card p {
253
  height: 40px;
254
  overflow: hidden;
255
  }
256
  #gallery-list .card .card-action {
257
  padding: 10px 20px;
258
- text-align: right;
259
- border:0;
260
  }
261
  #gallery-list .card .card-action a {
262
  margin: 0 10px;
@@ -391,6 +375,9 @@
391
  padding: 10px;
392
  color: #666;
393
  }
 
 
 
394
  .collapsible li .custom_isf td th {
395
  background: #333;
396
  color: #fff;
@@ -416,6 +403,9 @@
416
  padding-left: 10px;
417
  padding-top: 18px;
418
  }
 
 
 
419
  .collapsible li td .filters .text p {
420
  padding: 0;
421
  }
@@ -426,6 +416,19 @@
426
  .collapsible li td .filters .text p input[type=text] {
427
  width: 77%;
428
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  #tutorial h5 {
430
  margin: 60px 0 20px;
431
  }
@@ -434,6 +437,25 @@
434
  padding: 10px;
435
  margin: 10px;
436
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
437
  #images .actions label {
438
  font-weight: bold;
439
  cursor: default;
@@ -468,6 +490,9 @@
468
  #images .actions .tips strong {
469
  font-weight: 700;
470
  }
 
 
 
471
  #image-panel-model[data-source=posts] {
472
  width: 300px;
473
  }
@@ -477,12 +502,25 @@
477
  #image-panel-model .right-side {
478
  margin-left: 170px;
479
  }
 
 
 
480
  #image-panel-model .right-side textarea {
481
  height: 3.75rem;
482
  }
 
 
 
 
 
483
  #image-panel-model .right-side input[type=text],
484
  #image-panel-model .right-side textarea {
485
- border: 1px solid #9E9E9E;
 
 
 
 
 
486
  }
487
  #image-panel-model .right-side .filters {
488
  margin-top: 15px;
@@ -497,8 +535,35 @@
497
  #image-list .card.selected {
498
  border: 2px solid #000;
499
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
500
  #image-list .card .card-image {
501
  cursor: move;
 
502
  }
503
  #image-list .card .card-image iframe {
504
  width: 100%;
@@ -507,10 +572,17 @@
507
  padding: 0;
508
  min-height: 20px;
509
  }
 
 
 
 
 
 
510
  #image-list .card .filters {
511
  position: absolute;
512
  top: 10px;
513
  left: 0px;
 
514
  }
515
  #image-list .card .filters li {
516
  background: #fff;
@@ -532,23 +604,31 @@
532
  #spinner.shown {
533
  display: block;
534
  }
535
- .pro-cell {
536
- background: #039BE5;
537
- font-size: 18px;
538
- border-top-left-radius: 6px;
539
- border-top-right-radius: 6px;
540
- padding: 10px;
541
- transition: all .3s;
542
  }
543
- .pro-cell:hover {
544
- background: #038Bc5;
 
 
 
 
545
  }
546
- .pro-cell a {
547
- transition: all .3s;
548
- color: #fff;
 
 
 
549
  }
550
- .pro-cell a:hover {
551
- color: yellow;
 
 
 
 
552
  }
553
  /**
554
  * For modern browsers
@@ -576,87 +656,3 @@
576
  .cf {
577
  *zoom: 1;
578
  }
579
-
580
- .li
581
- {
582
- cursor:pointer;
583
- font-size:16px;
584
- display:inline;
585
- float:left;
586
- margin-left:7px;
587
- }
588
-
589
- .listview
590
- {
591
- font-size:16px;
592
- display:inline;
593
- float:left;
594
- margin-left:7px;
595
- }
596
-
597
- .menu_activ
598
- {
599
- cursor: pointer;
600
- font-size:16px;
601
- display:inline;
602
- float:left;
603
- margin-left:7px;
604
- color:red;
605
- }
606
- /*.hide
607
- {
608
- display:none;
609
- }
610
- .padd
611
- {
612
- padding:2px;
613
- }*/
614
-
615
- #image-list .small .card-title
616
- {
617
- display: none;
618
- }
619
-
620
- #image-list .small .card-content
621
- {
622
- display: none;
623
- }
624
-
625
- #image-list .small .card-action
626
- {
627
- background-color:#402723;
628
- padding:5px;
629
- text-align: center;
630
- }
631
-
632
-
633
- #image-list .medium .card-action i
634
- {
635
- text-align: center;
636
- display: none;
637
- }
638
-
639
- #image-list .big .card-action i
640
- {
641
- text-align: center;
642
-
643
- display: none;
644
- }
645
-
646
-
647
- #image-list .small .card-action a span
648
- {
649
- display:none;
650
- }
651
- #image-list .small .card-action .remove span
652
- {
653
- display: none;
654
- }
655
-
656
- {
657
- display:none;
658
- }
659
- #image-list .small .card-action a i
660
- {
661
- color:white;
662
- }
2
  #wpcontent {
3
  padding-left: 0;
4
  }
5
+ #media-attachment-media_category-filters,
6
+ #media-attachment-date-filters {
7
+ display: inline;
8
+ }
9
+ .list-view-control .selected {
10
+ border-bottom: 2px solid;
11
+ }
12
  #gallery-list {
13
  margin-top: 2rem;
14
  }
15
  #gallery-list .card {
16
  padding: 0;
17
  }
18
+ #gallery-list .card .card-content {
19
+ cursor: pointer;
 
 
 
 
 
 
 
20
  }
21
+ #gallery-list .card .data {
22
+ background-size: cover;
23
+ background-position: 50% 50%;
24
  }
25
+ #gallery-list .card .card-action,
26
+ #gallery-list .card .card-content {
27
+ background: rgba(0, 0, 0, 0.5);
28
+ transition: all .2s;
 
 
29
  }
30
+ #gallery-list .card:hover .card-content {
31
+ background: rgba(0, 0, 0, 0);
 
32
  }
33
+ #adv {
34
+ margin:20px 0;
 
35
  }
36
+ #adv img {
37
+ width: 100%;
 
38
  }
39
+ .ftg-everlightbox-settings {
40
+ display: none;
 
 
 
41
  }
42
+ .pro-cell {
43
+ background: #039BE5;
44
+ font-size: 18px;
45
+ border-top-left-radius: 6px;
46
+ border-top-right-radius: 6px;
47
+ padding: 10px;
48
+ transition: all .3s;
49
  }
50
+ .pro-cell a {
51
+ transition: all .3s;
52
+ color: #fff;
 
53
  }
54
+ .bulk .options {
55
+ margin-bottom: 20px;
 
56
  }
57
+ .bulk .options > span {
58
+ display: inline-block;
59
+ padding: 4px;
60
+ border: 1px solid #666;
61
+ margin: 0 2px;
62
+ background: #fff;
63
  }
64
+ .bulk .options > span .btn {
65
+ font-size: 11px;
66
+ line-height: 28px;
67
+ height: auto;
68
+ padding: 0 1em;
69
+ margin-bottom: 0;
70
  }
71
+ .waves-light.btn {
72
+ color: #fff;
73
  }
74
+ .waves-light.btn:hover {
75
+ color: #fff;
 
 
76
  }
77
  .card {
78
  padding: 0;
81
  }
82
  #top {
83
  padding: 1rem 0 3rem 40px;
84
+ background-image: url('../images/colors.jpg');
85
  background-repeat: repeat-x;
86
  background-position: left bottom;
87
  font-family: Roboto, 'sans-serif';
234
  .modal .modal-footer {
235
  background: #fff;
236
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  #gallery-list .card p {
238
  height: 40px;
239
  overflow: hidden;
240
  }
241
  #gallery-list .card .card-action {
242
  padding: 10px 20px;
243
+ text-align: center;
 
244
  }
245
  #gallery-list .card .card-action a {
246
  margin: 0 10px;
375
  padding: 10px;
376
  color: #666;
377
  }
378
+ .collapsible li div.help strong {
379
+ font-weight: 700;
380
+ }
381
  .collapsible li .custom_isf td th {
382
  background: #333;
383
  color: #fff;
403
  padding-left: 10px;
404
  padding-top: 18px;
405
  }
406
+ .collapsible li td .filters .add {
407
+ margin: 0;
408
+ }
409
  .collapsible li td .filters .text p {
410
  padding: 0;
411
  }
416
  .collapsible li td .filters .text p input[type=text] {
417
  width: 77%;
418
  }
419
+ .collapsible li td .filters .text p input[type=radio] {
420
+ position: static;
421
+ }
422
+ .collapsible li td .filters .reset {
423
+ background-color: #fff;
424
+ text-align: right;
425
+ }
426
+ .collapsible li td .filters .reset button {
427
+ color: #333;
428
+ }
429
+ .collapsible li td .filters .reset button:hover {
430
+ color: #000;
431
+ }
432
  #tutorial h5 {
433
  margin: 60px 0 20px;
434
  }
437
  padding: 10px;
438
  margin: 10px;
439
  }
440
+ #images .actions.source-posts .checkboxes strong,
441
+ #images .actions.source-woocommerce .checkboxes strong {
442
+ font-weight: bold;
443
+ width: 90px;
444
+ display: inline-block;
445
+ }
446
+ #images .actions.source-posts .checkboxes label,
447
+ #images .actions.source-woocommerce .checkboxes label {
448
+ display: inline-block;
449
+ margin-right: 20px;
450
+ }
451
+ #images .actions.source-posts .checkboxes [type="checkbox"] + label:before,
452
+ #images .actions.source-woocommerce .checkboxes [type="checkbox"] + label:before {
453
+ left: 6px;
454
+ }
455
+ #images .actions.source-posts .checkboxes [type=text],
456
+ #images .actions.source-woocommerce .checkboxes [type=text] {
457
+ max-width: 200px;
458
+ }
459
  #images .actions label {
460
  font-weight: bold;
461
  cursor: default;
490
  #images .actions .tips strong {
491
  font-weight: 700;
492
  }
493
+ #images .source-panel {
494
+ display: none;
495
+ }
496
  #image-panel-model[data-source=posts] {
497
  width: 300px;
498
  }
502
  #image-panel-model .right-side {
503
  margin-left: 170px;
504
  }
505
+ #image-panel-model .right-side .field {
506
+ margin-bottom: 14px;
507
+ }
508
  #image-panel-model .right-side textarea {
509
  height: 3.75rem;
510
  }
511
+ #image-panel-model .right-side input[type=text] {
512
+ height: 2em;
513
+ padding: 0 6px;
514
+ width: 96%;
515
+ }
516
  #image-panel-model .right-side input[type=text],
517
  #image-panel-model .right-side textarea {
518
+ border: 1px solid #ccc;
519
+ margin-bottom: 0;
520
+ }
521
+ #image-panel-model .right-side .info {
522
+ font-size: 11px;
523
+ margin: 0;
524
  }
525
  #image-panel-model .right-side .filters {
526
  margin-top: 15px;
535
  #image-list .card.selected {
536
  border: 2px solid #000;
537
  }
538
+ #image-list .card.hidden-T .card-image {
539
+ /*&:after {
540
+ display: block;
541
+ content:"";
542
+ position: absolute;
543
+ top:0;
544
+ right:0;
545
+ left:0;
546
+ bottom:0;
547
+ z-index: 1;
548
+ }*/
549
+ }
550
+ #image-list .card.hidden-T .card-image .card-title {
551
+ display: none;
552
+ }
553
+ #image-list .card .card-hidden {
554
+ position: absolute;
555
+ top: 10px;
556
+ right: 10px;
557
+ background: #fff;
558
+ width: 18px;
559
+ height: 18px;
560
+ border-radius: 4px;
561
+ text-align: center;
562
+ color: #ff8000;
563
+ }
564
  #image-list .card .card-image {
565
  cursor: move;
566
+ background-size: cover;
567
  }
568
  #image-list .card .card-image iframe {
569
  width: 100%;
572
  padding: 0;
573
  min-height: 20px;
574
  }
575
+ #image-list .card a {
576
+ color: #388E3C;
577
+ }
578
+ #image-list .card a.remove {
579
+ color: #f00;
580
+ }
581
  #image-list .card .filters {
582
  position: absolute;
583
  top: 10px;
584
  left: 0px;
585
+ z-index: 10;
586
  }
587
  #image-list .card .filters li {
588
  background: #fff;
604
  #spinner.shown {
605
  display: block;
606
  }
607
+ .listview {
608
+ font-size: 16px;
609
+ display: inline;
610
+ float: left;
 
 
 
611
  }
612
+ .li {
613
+ cursor: pointer;
614
+ font-size: 16px;
615
+ display: inline;
616
+ float: left;
617
+ margin-left: 7px;
618
  }
619
+ .filter-item {
620
+ cursor: pointer;
621
+ display: inline;
622
+ float: left;
623
+ font-size: 16px;
624
+ margin-left: 10px;
625
  }
626
+ .filter-list {
627
+ border-radius: 5px;
628
+ margin-left: 10px;
629
+ margin-right: 10px;
630
+ padding: 12px;
631
+ background-color: #FDF4F3;
632
  }
633
  /**
634
  * For modern browsers
656
  .cf {
657
  *zoom: 1;
658
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/css/style.less CHANGED
@@ -2,726 +2,765 @@
2
  @import "materialize.css";
3
 
4
  #wpcontent {
5
- padding-left: 0;
6
  }
7
 
8
- #gallery-list {
9
- margin-top: 2rem;
10
-
11
- .card {
12
- padding:0;
13
- }
14
  }
15
 
16
- .waves-light.btn {
17
- color:#fff;
18
-
19
- &:hover {
20
- color:#fff;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  }
 
22
  }
23
 
24
- .card {
25
- padding: 0;
26
- min-width: 0;
27
- max-width: 999em;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
29
 
 
 
30
 
 
 
 
 
 
 
 
 
 
 
31
 
32
  #top {
33
- padding: 1rem 0 3rem 40px;
34
- background-repeat: repeat-x;
35
- background-position: left bottom;
36
- font-family: Roboto, 'sans-serif';
37
-
38
- h1 {
39
- color: #fff;
40
- font-size: 3.4rem;
41
- margin: 16px 0 25px 0;
42
- font-weight: 300;
43
-
44
- small {
45
- font-size:1rem;
46
- }
47
- }
48
- h4 {
49
- margin:17px 0 13px 0;
50
  }
 
 
 
 
51
  }
 
52
  #support-page {
53
- background: #fff;
54
- font-family: Roboto, 'sans-serif';
55
- padding: 40px;
56
-
57
- p {
58
- font-size: 16px;
59
- color:#666;
60
- }
61
- ul {
62
- margin:40px 20px;
63
-
64
- li {
65
- list-style-type: circle;
66
- font-size: 18px;
67
- line-height: 1.5;
68
- }
69
- }
70
- .buttons {
71
- margin-top: 40px;
72
- }
73
  }
 
74
  .bd {
75
- padding: 0px 40px;
76
-
77
- .gallery-hd {
78
- margin:60px 0;
79
-
80
- code {
81
-
82
- font-size: 1rem;
83
- }
84
- }
85
  }
86
 
87
  .input-field {
88
- margin-bottom:20px;
89
-
90
- label {
91
- left:0;
92
- }
93
  }
94
 
95
  #ftg-wizard {
96
- margin: 40px auto;
97
- padding: 20px;
98
- max-width: 600px;
99
- box-shadow: #ccc 0px 0px 40px;
100
- border-radius: 4px;
101
- background: #fff;
102
-
103
- fieldset {
104
- border:0;
105
- display: none;
106
-
107
- &:first-of-type {
108
- display: block;
109
- }
110
-
111
- select {
112
- height:3rem;
113
- }
114
  }
115
-
116
- h1 {
117
- font-size: 32px;
118
- text-transform: uppercase;
119
- text-align: center;
120
- margin:0;
121
-
122
- small {
123
- font-size:12px;
124
- }
125
  }
126
-
127
- h2 {
128
- font-size: 16px;
129
- text-transform: uppercase;
130
- text-align: center;
131
- margin:0;
132
- margin-bottom:50px;
133
- line-height:1;
134
- }
135
-
136
- h5 {
137
- margin-bottom:20px;
138
- }
139
-
140
-
141
-
142
- .field {
143
- margin-bottom:40px;
144
- }
145
- .images {
146
- padding:10px;
147
- max-height:300px;
148
- overflow:auto;
149
-
150
- .tile {
151
- margin:0 10px 10px 0;
152
- width:23%;
153
- display:inline-block;
154
- position:relative;
155
-
156
- img {
157
- width:100%;
158
- }
159
-
160
- a {
161
- position:absolute;
162
- top:-5px;
163
- right:-5px;
164
- z-index:10;
165
- display:none;
166
- width:26px;
167
- height:26px;
168
- line-height:26px;
169
-
170
- i {
171
- line-height:26px;
172
- font-size:1.2rem;
173
- }
174
- }
175
-
176
- &:hover {
177
- a {
178
- display:block;
179
- }
180
- }
181
-
182
- &:nth-child(4n) {
183
- margin-right:0;
184
- }
185
  }
186
- }
187
- footer {
188
- background:transparent;
189
- text-align:right;
190
-
191
- .prev {
192
- visibility:hidden;
193
  }
 
 
 
 
 
194
  }
195
- .loading {
196
- display:none;
 
 
 
 
 
197
  }
 
 
 
 
198
  }
199
 
200
  .modal {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  p {
202
- font-size: 16px;
 
203
  }
204
- code {
205
- display: block;
206
- margin:20px;
207
- padding: 10px;
208
- font-size: 16px;
 
 
 
 
209
  }
210
- a {
211
- outline: 0;
 
 
 
212
  }
213
- .modal-content,
214
- .modal-footer {
215
- background:#fff;
216
  }
217
- }
218
-
219
- #gallery-list {
220
- .card {
221
- p {
222
- height: 40px;
223
- overflow: hidden;
224
- }
225
- .card-action {
226
- padding: 10px 20px;
227
- text-align: right;
228
-
229
- a {
230
- margin:0 10px;
231
- font-size: 20px;
232
- color: #fff;
233
- }
234
- }
235
- .card-image {
236
- display:inline-block;
237
- width: 150px;
238
- height: 150px;
239
- overflow: hidden;
240
- }
241
- .card-content {
242
- height: 180px;
243
- }
244
- .card-title {
245
- line-height: 32px;
246
- margin-bottom: 18px;
247
- display: block;
248
- }
249
  }
 
250
  }
251
 
252
  #edit-gallery {
253
- .tab {
254
- padding: 20px;
255
- }
256
- label {
257
- color:#333;
258
- font-size: 1rem;
259
- top:0.1rem;
260
- height: auto;
261
- }
262
- .input-field {
263
-
264
- margin-bottom: 0;
265
-
266
- input[type=text], input[type=password], input[type=email],
267
- input[type=url], input[type=date], input[type=tel],
268
- input[type=number], input[type=search], textarea.materialize-textarea {
269
- font-size: 2rem;
270
- }
271
  }
 
 
 
 
 
 
 
 
 
272
  select {
273
- font-size: 1rem;
274
- background: #fff;
275
  }
276
- .jump-head {
277
- border-bottom: 2px solid rgba(0,0,0,.3);
278
- padding: 20px 0;
279
-
280
- select {
281
- height: 2rem;
282
- display: inline;
283
- }
284
- }
285
-
286
- .jump {
287
- width: auto;
288
- }
289
-
290
  }
291
 
292
  .bullet-menu {
293
- position: fixed;
294
- bottom: 20px;
295
- right: 50px;
296
  }
 
297
  .update-gallery {
298
- position: fixed;
299
- bottom: 20px;
300
- right: 120px;
301
  }
302
 
303
  .collapsible {
304
- li {
305
- margin-bottom: 0;
306
-
307
- .alternate {
308
- background: transparent;
309
- }
310
-
311
- .collapsible-header {
312
- font-size: 2rem;
313
- height: 5rem;
314
- line-height: 5rem;
315
-
316
- i {
317
- line-height: 5rem;
318
- }
319
- }
320
-
321
-
322
- .field {
323
- .text {
324
- background: #fff;
325
- padding: 20px;
326
-
327
- .pickColor {
328
- height:auto;
329
- }
330
-
331
- .wp-color-result {
332
- border-radius: 0;
333
- -webkit-border-radius: 0;
334
- height: 24px;
335
-
336
- &::after {
337
- border-radius: 0;
338
- -webkit-border-radius: 0;
339
- }
340
- }
341
- }
342
- }
343
- textarea {
344
- height: 100px;
345
- }
346
- th, td {
347
- vertical-align: top;
348
  }
349
- th {
 
 
 
 
 
 
350
  border-radius: 0;
 
 
351
  }
352
- th[scope=row] {
353
- width: 200px;
354
- padding-top: 30px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
355
  }
356
- tr.slider {
357
- height: auto;
 
 
358
  }
359
- tr.filter {
360
- float: none;
361
- margin: 0;
 
 
 
 
 
 
 
 
 
362
  }
363
- .toggle {
364
- div.help {
365
- display: none;
366
- }
367
- [type="checkbox"]:not(:checked) + label:before {
368
- top:4px;
369
- }
370
  }
371
- div.help {
372
- background: rgba(255, 255, 255, .5);
373
- border-top-left-radius: 0;
374
- border-top-right-radius: 0;
375
- border-bottom-left-radius: 6px;
376
- border-bottom-right-radius: 6px;
377
- padding: 10px;
378
- color:#666;
379
- }
380
- .custom_isf {
381
- td {
382
- th {
383
- background: #333;
384
- color: #fff;
385
- }
386
- td {
387
- input[type=text] {
388
- background: #fff;
389
- }
390
- }
391
- }
392
  }
393
- .dynamic-table {
394
- tr {
395
- background: #fff;
396
- }
397
- .btn {
398
- outline: 0;
399
- color:#fff;
400
-
401
- &:hover {
402
- color:#fff;
403
- }
404
- &.add {
405
- width:100%;
406
- }
407
  }
408
- .del {
409
- width:50px;
410
- padding-left: 10px;
411
- padding-top: 18px;
412
  }
 
 
 
 
 
413
  }
414
- td {
415
- .filters {
416
- .text {
417
- p {
418
- padding: 0;
419
-
420
- a {
421
- display: inline-block;
422
- margin-right: 20px;
423
- }
424
-
425
- input[type=text] {
426
- width: 77%;
427
- }
428
- }
429
-
430
- }
431
- }
432
  }
 
433
  }
 
434
  }
435
 
436
  #tutorial {
437
- h5 {
438
- margin:60px 0 20px;
439
- }
440
  }
441
 
442
  #images {
443
- .actions {
444
- background: rgba(255, 255, 255, .5);
445
- padding: 10px;
446
- margin: 10px;
447
-
448
- label {
449
- font-weight: bold;
450
- cursor: default;
451
- display: block;
452
- margin-bottom: 10px;
453
-
454
- span {
455
- font-weight: normal;
456
- padding-left: 10px;
457
- }
458
- }
459
-
460
- .row {
461
- margin: 0 0 10px 0;
462
- }
463
-
464
- .bulk {
465
- .panel {
466
- display: none;
467
-
468
- label {
469
- display: inline-block;
470
- margin-right: 30px;
471
- padding-left: 28px;
472
- }
473
-
474
- p {
475
- padding: 1rem 0;
476
- }
477
- }
478
- }
479
-
480
- .tips {
481
- font-style: italic;
482
- color: #777;
483
- padding: 5px 10px;
484
- background: rgba(255, 255, 255, .7);
485
- border-radius: 4px;
486
-
487
- strong {
488
- font-weight:700;
489
- }
490
- }
491
- }
492
- }
493
- #image-panel-model {
494
-
495
- &[data-source=posts] {
496
- width:300px;
497
-
498
- .right-side {
499
- display: none;
500
- }
501
- }
502
-
503
- .right-side {
504
- margin-left: 170px;
505
-
506
- textarea {
507
- height: 3.75rem;
508
- }
509
- input[type=text],
510
- textarea {
511
- border:1px solid #9E9E9E;
512
- }
513
- .filters {
514
- margin-top: 15px;
515
-
516
- label {
517
- margin-right: 30px;
518
- padding-left: 28px;
519
- }
520
- }
521
- }
522
- }
523
- #video-panel-model {
524
- textarea {
525
- height: 160px;
526
- }
527
- }
528
- #image-list {
529
- .card {
530
- &.selected {
531
- border:2px solid #000;
532
- }
533
- .card-image {
534
- cursor: move;
535
-
536
-
537
- iframe {
538
- width: 100%;
539
- }
540
-
541
- }
542
- p {
543
- padding: 0;
544
- min-height: 20px;
545
- }
546
- .filters {
547
- position:absolute;
548
- top:10px;
549
- left:0px;
550
-
551
- li {
552
- background: #fff;
553
- color: #666;
554
- padding: 2px 10px;
555
- margin:0 0 2px 0;
556
- border-top-right-radius: 4px;
557
- }
558
- }
559
- }
560
- }
561
- #delete-gallery-modal {
562
- span {
563
- color: #ff8a0b;
564
- font-weight: bold;
565
- }
566
- }
567
- #spinner {
568
- display: none;
569
- position: fixed;
570
- top:50px;
571
- right:50px;
572
-
573
- &.shown {
574
- display: block;
575
- }
576
- }
577
- .pro-cell {
578
- background:#039BE5;
579
- font-size:18px;
580
- border-top-left-radius:6px;
581
- border-top-right-radius:6px;
582
- padding:10px;
583
- transition: all .3s;
584
-
585
- &:hover {
586
- background:#038Bc5;
587
- }
588
-
589
- a {
590
- transition: all .3s;
591
- color:#fff;
592
-
593
- &:hover {
594
- color:yellow;
595
- }
596
  }
597
- }
598
 
 
 
 
 
 
 
 
 
 
 
 
599
 
 
 
 
600
 
 
 
 
601
 
602
- #image-list
603
- {
604
- .small
605
- {
606
- .card-title
607
- {
608
- display:none;
609
  }
610
- }
611
- }
612
 
613
- #image-list
614
- {
615
- .small
616
- {
617
- .card-content
618
- {
619
- display:none;
620
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  }
 
 
 
 
622
  }
623
 
 
624
 
625
- #image-list
626
- {
627
- .small
628
- {
629
- .card-action
630
- {
631
- background-color:#402723;
632
- padding:5px;
633
- text-align: center;
634
- }
635
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
636
  }
637
 
638
- #image-list
639
- {
640
- .medium
641
- {
642
- .card-action
643
- {
644
- i
645
- {
646
- text-align: center;
647
- display: none;
648
- }
649
- }
650
- }
651
  }
652
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
653
 
654
- #image-list
655
- {
656
- .big
657
- {
658
- .card-action
659
- {
660
- i
661
- {
662
- text-align: center;
663
- display: none;
664
- }
665
  }
666
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
667
  }
668
 
 
 
 
 
 
 
669
 
 
 
 
 
 
670
 
671
- #image-list
672
- {
673
- .small
674
- {
675
- .card-action
676
- {
677
- a
678
- {
679
- span
680
- {
681
- display: none;
682
- }
683
- }
684
- }
685
- }
686
  }
687
 
688
- #image-list
689
- {
690
- .small
691
- {
692
- .card-action
693
- {
694
- .remove
695
- {
696
- span
697
- {
698
- display: none;
699
- }
700
- }
701
- }
702
- }
703
  }
704
 
705
-
706
- #image-list
707
- {
708
- .small
709
- {
710
- .card-action
711
- {
712
- a
713
- {
714
- i
715
- {
716
- color:white;
717
-
718
- }
719
- }
720
- }
721
- }
722
  }
723
 
 
 
 
 
 
 
 
724
 
 
 
 
 
 
 
 
725
 
726
  /**
727
  * For modern browsers
@@ -734,12 +773,12 @@
734
  */
735
  .cf:before,
736
  .cf:after {
737
- content: " "; /* 1 */
738
- display: table; /* 2 */
739
  }
740
 
741
  .cf:after {
742
- clear: both;
743
  }
744
 
745
  /**
@@ -747,5 +786,5 @@
747
  * Include this rule to trigger hasLayout and contain floats.
748
  */
749
  .cf {
750
- *zoom: 1;
751
  }
2
  @import "materialize.css";
3
 
4
  #wpcontent {
5
+ padding-left: 0;
6
  }
7
 
8
+ #media-attachment-media_category-filters,
9
+ #media-attachment-date-filters {
10
+ display: inline;
 
 
 
11
  }
12
 
13
+ .list-view-control {
14
+
15
+ .selected {
16
+ border-bottom:2px solid;
17
+ }
18
+ }
19
+
20
+ #gallery-list {
21
+ margin-top: 2rem;
22
+
23
+ .card {
24
+ padding: 0;
25
+
26
+ .card-content {
27
+ cursor: pointer;
28
+ }
29
+
30
+ .data {
31
+ background-size: cover;
32
+ background-position: 50% 50%;
33
+ }
34
+
35
+ .card-action,
36
+ .card-content {
37
+ background: rgba(0, 0, 0, .5);
38
+ transition: all .2s;
39
+ }
40
+
41
+ &:hover .card-content {
42
+ background: rgba(0, 0, 0, 0);
43
  }
44
+ }
45
  }
46
 
47
+ .bulk {
48
+ .options {
49
+ margin-bottom:20px;
50
+
51
+ > span {
52
+
53
+ display: inline-block;
54
+ padding:4px;
55
+ border:1px solid #666;
56
+ margin:0 2px;
57
+ background: #fff;
58
+
59
+ .btn {
60
+ font-size:11px;
61
+ line-height: 28px;
62
+ height:auto;
63
+ padding:0 1em;
64
+ margin-bottom:0;
65
+ }
66
+ }
67
+ }
68
  }
69
 
70
+ .waves-light.btn {
71
+ color: #fff;
72
 
73
+ &:hover {
74
+ color: #fff;
75
+ }
76
+ }
77
+
78
+ .card {
79
+ padding: 0;
80
+ min-width: 0;
81
+ max-width: 999em;
82
+ }
83
 
84
  #top {
85
+ padding: 1rem 0 3rem 40px;
86
+ background-image: url('../images/colors.jpg');
87
+ background-repeat: repeat-x;
88
+ background-position: left bottom;
89
+ font-family: Roboto, 'sans-serif';
90
+
91
+ h1 {
92
+ color: #fff;
93
+ font-size: 3.4rem;
94
+ margin: 16px 0 25px 0;
95
+ font-weight: 300;
96
+
97
+ small {
98
+ font-size: 1rem;
 
 
 
99
  }
100
+ }
101
+ h4 {
102
+ margin: 17px 0 13px 0;
103
+ }
104
  }
105
+
106
  #support-page {
107
+ background: #fff;
108
+ font-family: Roboto, 'sans-serif';
109
+ padding: 40px;
110
+
111
+ p {
112
+ font-size: 16px;
113
+ color: #666;
114
+ }
115
+ ul {
116
+ margin: 40px 20px;
117
+
118
+ li {
119
+ list-style-type: circle;
120
+ font-size: 18px;
121
+ line-height: 1.5;
122
+ }
123
+ }
124
+ .buttons {
125
+ margin-top: 40px;
126
+ }
127
  }
128
+
129
  .bd {
130
+ padding: 0px 40px;
131
+
132
+ .gallery-hd {
133
+ margin: 60px 0;
134
+
135
+ code {
136
+
137
+ font-size: 1rem;
138
+ }
139
+ }
140
  }
141
 
142
  .input-field {
143
+ margin-bottom: 20px;
144
+
145
+ label {
146
+ left: 0;
147
+ }
148
  }
149
 
150
  #ftg-wizard {
151
+ margin: 40px auto;
152
+ padding: 20px;
153
+ max-width: 600px;
154
+ box-shadow: #ccc 0px 0px 40px;
155
+ border-radius: 4px;
156
+ background: #fff;
157
+
158
+ fieldset {
159
+ border: 0;
160
+ display: none;
161
+
162
+ &:first-of-type {
163
+ display: block;
 
 
 
 
 
164
  }
165
+
166
+ select {
167
+ height: 3rem;
 
 
 
 
 
 
 
168
  }
169
+ }
170
+
171
+ h1 {
172
+ font-size: 32px;
173
+ text-transform: uppercase;
174
+ text-align: center;
175
+ margin: 0;
176
+
177
+ small {
178
+ font-size: 12px;
179
+ }
180
+ }
181
+
182
+ h2 {
183
+ font-size: 16px;
184
+ text-transform: uppercase;
185
+ text-align: center;
186
+ margin: 0;
187
+ margin-bottom: 50px;
188
+ line-height: 1;
189
+ }
190
+
191
+ h5 {
192
+ margin-bottom: 20px;
193
+ }
194
+
195
+ .field {
196
+ margin-bottom: 40px;
197
+ }
198
+ .images {
199
+ padding: 10px;
200
+ max-height: 300px;
201
+ overflow: auto;
202
+
203
+ .tile {
204
+ margin: 0 10px 10px 0;
205
+ width: 23%;
206
+ display: inline-block;
207
+ position: relative;
208
+
209
+ img {
210
+ width: 100%;
211
+ }
212
+
213
+ a {
214
+ position: absolute;
215
+ top: -5px;
216
+ right: -5px;
217
+ z-index: 10;
218
+ display: none;
219
+ width: 26px;
220
+ height: 26px;
221
+ line-height: 26px;
222
+
223
+ i {
224
+ line-height: 26px;
225
+ font-size: 1.2rem;
 
 
226
  }
227
+ }
228
+
229
+ &:hover {
230
+ a {
231
+ display: block;
 
 
232
  }
233
+ }
234
+
235
+ &:nth-child(4n) {
236
+ margin-right: 0;
237
+ }
238
  }
239
+ }
240
+ footer {
241
+ background: transparent;
242
+ text-align: right;
243
+
244
+ .prev {
245
+ visibility: hidden;
246
  }
247
+ }
248
+ .loading {
249
+ display: none;
250
+ }
251
  }
252
 
253
  .modal {
254
+ p {
255
+ font-size: 16px;
256
+ }
257
+ code {
258
+ display: block;
259
+ margin: 20px;
260
+ padding: 10px;
261
+ font-size: 16px;
262
+ }
263
+ a {
264
+ outline: 0;
265
+ }
266
+ .modal-content,
267
+ .modal-footer {
268
+ background: #fff;
269
+ }
270
+ }
271
+
272
+ #gallery-list {
273
+ .card {
274
  p {
275
+ height: 40px;
276
+ overflow: hidden;
277
  }
278
+ .card-action {
279
+ padding: 10px 20px;
280
+ text-align: center;
281
+
282
+ a {
283
+ margin: 0 10px;
284
+ font-size: 20px;
285
+ color: #fff;
286
+ }
287
  }
288
+ .card-image {
289
+ display: inline-block;
290
+ width: 150px;
291
+ height: 150px;
292
+ overflow: hidden;
293
  }
294
+ .card-content {
295
+ height: 180px;
 
296
  }
297
+ .card-title {
298
+ line-height: 32px;
299
+ margin-bottom: 18px;
300
+ display: block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  }
302
+ }
303
  }
304
 
305
  #edit-gallery {
306
+ .tab {
307
+ padding: 20px;
308
+ }
309
+ label {
310
+ color: #333;
311
+ font-size: 1rem;
312
+ top: 0.1rem;
313
+ height: auto;
314
+ }
315
+ .input-field {
316
+
317
+ margin-bottom: 0;
318
+
319
+ input[type=text], input[type=password], input[type=email],
320
+ input[type=url], input[type=date], input[type=tel],
321
+ input[type=number], input[type=search], textarea.materialize-textarea {
322
+ font-size: 2rem;
 
323
  }
324
+ }
325
+ select {
326
+ font-size: 1rem;
327
+ background: #fff;
328
+ }
329
+ .jump-head {
330
+ border-bottom: 2px solid rgba(0, 0, 0, .3);
331
+ padding: 20px 0;
332
+
333
  select {
334
+ height: 2rem;
335
+ display: inline;
336
  }
337
+ }
338
+
339
+ .jump {
340
+ width: auto;
341
+ }
342
+
 
 
 
 
 
 
 
 
343
  }
344
 
345
  .bullet-menu {
346
+ position: fixed;
347
+ bottom: 20px;
348
+ right: 50px;
349
  }
350
+
351
  .update-gallery {
352
+ position: fixed;
353
+ bottom: 20px;
354
+ right: 120px;
355
  }
356
 
357
  .collapsible {
358
+ li {
359
+ margin-bottom: 0;
360
+
361
+ .alternate {
362
+ background: transparent;
363
+ }
364
+
365
+ .collapsible-header {
366
+ font-size: 2rem;
367
+ height: 5rem;
368
+ line-height: 5rem;
369
+
370
+ i {
371
+ line-height: 5rem;
372
+ }
373
+ }
374
+
375
+ .field {
376
+ .text {
377
+ background: #fff;
378
+ padding: 20px;
379
+
380
+ .pickColor {
381
+ height: auto;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
  }
383
+
384
+ .wp-color-result {
385
+ border-radius: 0;
386
+ -webkit-border-radius: 0;
387
+ height: 24px;
388
+
389
+ &::after {
390
  border-radius: 0;
391
+ -webkit-border-radius: 0;
392
+ }
393
  }
394
+ }
395
+ }
396
+ textarea {
397
+ height: 100px;
398
+ }
399
+ th, td {
400
+ vertical-align: top;
401
+ }
402
+ th {
403
+ border-radius: 0;
404
+ }
405
+ th[scope=row] {
406
+ width: 200px;
407
+ padding-top: 30px;
408
+ }
409
+ tr.slider {
410
+ height: auto;
411
+ }
412
+ tr.filter {
413
+ float: none;
414
+ margin: 0;
415
+ }
416
+ .toggle {
417
+ div.help {
418
+ display: none;
419
+ }
420
+ [type="checkbox"]:not(:checked) + label:before {
421
+ top: 4px;
422
+ }
423
+ }
424
+ div.help {
425
+ background: rgba(255, 255, 255, .5);
426
+ border-top-left-radius: 0;
427
+ border-top-right-radius: 0;
428
+ border-bottom-left-radius: 6px;
429
+ border-bottom-right-radius: 6px;
430
+ padding: 10px;
431
+ color: #666;
432
+
433
+ strong {
434
+ font-weight: 700;
435
+ }
436
+ }
437
+ .custom_isf {
438
+ td {
439
+ th {
440
+ background: #333;
441
+ color: #fff;
442
  }
443
+ td {
444
+ input[type=text] {
445
+ background: #fff;
446
+ }
447
  }
448
+ }
449
+ }
450
+ .dynamic-table {
451
+ tr {
452
+ background: #fff;
453
+ }
454
+ .btn {
455
+ outline: 0;
456
+ color: #fff;
457
+
458
+ &:hover {
459
+ color: #fff;
460
  }
461
+ &.add {
462
+ width: 100%;
 
 
 
 
 
463
  }
464
+ }
465
+ .del {
466
+ width: 50px;
467
+ padding-left: 10px;
468
+ padding-top: 18px;
469
+ }
470
+ }
471
+ td {
472
+ .filters {
473
+ .add {
474
+ margin: 0;
 
 
 
 
 
 
 
 
 
 
475
  }
476
+ .text {
477
+ p {
478
+ padding: 0;
479
+
480
+ a {
481
+ display: inline-block;
482
+ margin-right: 20px;
 
 
 
 
 
 
 
483
  }
484
+
485
+ input[type=text] {
486
+ width: 77%;
 
487
  }
488
+
489
+ input[type=radio] {
490
+ position: static;
491
+ }
492
+ }
493
  }
494
+ .reset {
495
+ background-color: #fff;
496
+ text-align: right;
497
+
498
+ button {
499
+ color: #333;
500
+
501
+ &:hover {
502
+ color: #000;
503
+ }
504
+ }
 
 
 
 
 
 
 
505
  }
506
+ }
507
  }
508
+ }
509
  }
510
 
511
  #tutorial {
512
+ h5 {
513
+ margin: 60px 0 20px;
514
+ }
515
  }
516
 
517
  #images {
518
+ .actions {
519
+ background: rgba(255, 255, 255, .5);
520
+ padding: 10px;
521
+ margin: 10px;
522
+
523
+ &.source-posts,
524
+ &.source-woocommerce, {
525
+ .checkboxes {
526
+ strong {
527
+ font-weight: bold;
528
+ width: 90px;
529
+ display: inline-block;
530
+ }
531
+ label {
532
+ display: inline-block;
533
+ margin-right: 20px;
534
+ }
535
+ [type="checkbox"] + label:before {
536
+ left: 6px;
537
+ }
538
+ [type=text] {
539
+ max-width: 200px;
540
+ }
541
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
542
  }
 
543
 
544
+ label {
545
+ font-weight: bold;
546
+ cursor: default;
547
+ display: block;
548
+ margin-bottom: 10px;
549
+
550
+ span {
551
+ font-weight: normal;
552
+ padding-left: 10px;
553
+ }
554
+ }
555
 
556
+ .row {
557
+ margin: 0 0 10px 0;
558
+ }
559
 
560
+ .bulk {
561
+ .panel {
562
+ display: none;
563
 
564
+ label {
565
+ display: inline-block;
566
+ margin-right: 30px;
567
+ padding-left: 28px;
 
 
 
568
  }
 
 
569
 
570
+ p {
571
+ padding: 1rem 0;
 
 
 
 
 
572
  }
573
+ }
574
+ }
575
+
576
+ .tips {
577
+ font-style: italic;
578
+ color: #777;
579
+ padding: 5px 10px;
580
+ background: rgba(255, 255, 255, .7);
581
+ border-radius: 4px;
582
+
583
+ strong {
584
+ font-weight: 700;
585
+ }
586
  }
587
+ }
588
+ .source-panel {
589
+ display: none;
590
+ }
591
  }
592
 
593
+ #image-panel-model {
594
 
595
+ &[data-source=posts] {
596
+ width: 300px;
597
+
598
+ .right-side {
599
+ display: none;
 
 
 
 
 
600
  }
601
+ }
602
+
603
+ .right-side {
604
+ margin-left: 170px;
605
+
606
+ .field {
607
+ margin-bottom: 14px;
608
+ }
609
+ textarea {
610
+ height: 3.75rem;
611
+ }
612
+ input[type=text] {
613
+ height: 2em;
614
+ padding: 0 6px;
615
+ width: 96%;
616
+ }
617
+ input[type=text],
618
+ textarea {
619
+ border: 1px solid #ccc;
620
+ margin-bottom: 0;
621
+ }
622
+
623
+ .info {
624
+ font-size: 11px;
625
+ margin: 0;
626
+ }
627
+ .filters {
628
+ margin-top: 15px;
629
+
630
+ label {
631
+ margin-right: 30px;
632
+ padding-left: 28px;
633
+ }
634
+ }
635
+ }
636
  }
637
 
638
+ #video-panel-model {
639
+ textarea {
640
+ height: 160px;
641
+ }
 
 
 
 
 
 
 
 
 
642
  }
643
 
644
+ #image-list {
645
+ .card {
646
+ &.selected {
647
+ border: 2px solid #000;
648
+ }
649
+ &.hidden-T {
650
+ .card-image {
651
+
652
+ /*&:after {
653
+ display: block;
654
+ content:"";
655
+ position: absolute;
656
+ top:0;
657
+ right:0;
658
+ left:0;
659
+ bottom:0;
660
+ z-index: 1;
661
+ }*/
662
 
663
+ .card-title {
664
+ display: none;
 
 
 
 
 
 
 
 
 
665
  }
666
+ }
667
+ }
668
+ .card-hidden {
669
+ position: absolute;
670
+ top: 10px;
671
+ right: 10px;
672
+ background: #fff;
673
+ width: 18px;
674
+ height: 18px;
675
+ border-radius: 4px;
676
+ text-align: center;
677
+ color: #ff8000;
678
+ }
679
+ .card-image {
680
+ cursor: move;
681
+ background-size: cover;
682
+
683
+ iframe {
684
+ width: 100%;
685
+ }
686
+
687
+ }
688
+
689
+ p {
690
+ padding: 0;
691
+ min-height: 20px;
692
+ }
693
+ a {
694
+ color:#388E3C;
695
+ }
696
+ a.remove {
697
+ color:#f00;
698
+ }
699
+ .filters {
700
+ position: absolute;
701
+ top: 10px;
702
+ left: 0px;
703
+ z-index: 10;
704
+
705
+ li {
706
+ background: #fff;
707
+ color: #666;
708
+ padding: 2px 10px;
709
+ margin: 0 0 2px 0;
710
+ border-top-right-radius: 4px;
711
+ }
712
+ }
713
+ }
714
  }
715
 
716
+ #delete-gallery-modal {
717
+ span {
718
+ color: #ff8a0b;
719
+ font-weight: bold;
720
+ }
721
+ }
722
 
723
+ #spinner {
724
+ display: none;
725
+ position: fixed;
726
+ top: 50px;
727
+ right: 50px;
728
 
729
+ &.shown {
730
+ display: block;
731
+ }
 
 
 
 
 
 
 
 
 
 
 
 
732
  }
733
 
734
+
735
+ .listview {
736
+ font-size: 16px;
737
+ display: inline;
738
+ float: left;
 
 
 
 
 
 
 
 
 
 
739
  }
740
 
741
+ .li {
742
+ cursor: pointer;
743
+ font-size: 16px;
744
+ display: inline;
745
+ float: left;
746
+ margin-left: 7px;
 
 
 
 
 
 
 
 
 
 
 
747
  }
748
 
749
+ .filter-item {
750
+ cursor: pointer;
751
+ display: inline;
752
+ float: left;
753
+ font-size: 16px;
754
+ margin-left: 10px;
755
+ }
756
 
757
+ .filter-list {
758
+ border-radius: 5px;
759
+ margin-left: 10px;
760
+ margin-right: 10px;
761
+ padding: 12px;
762
+ background-color: #FDF4F3;
763
+ }
764
 
765
  /**
766
  * For modern browsers
773
  */
774
  .cf:before,
775
  .cf:after {
776
+ content: " "; /* 1 */
777
+ display: table; /* 2 */
778
  }
779
 
780
  .cf:after {
781
+ clear: both;
782
  }
783
 
784
  /**
786
  * Include this rule to trigger hasLayout and contain floats.
787
  */
788
  .cf {
789
+ *zoom: 1;
790
  }
admin/edit-gallery.php CHANGED
@@ -1,13 +1,17 @@
1
  <?php
2
- if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die(_e('You are not allowed to call this page directly.','final-tiles-gallery')); }
3
 
4
  $galleryResults = $this->FinalTilesdb->getGalleries();
5
- $default_options = get_option('FinalTiles_gallery_options');
6
  $gallery = null;
7
 
8
  $gid = intval($_GET['id']);
9
- $imageResults = $this->FinalTilesdb->getImagesByGalleryId($gid);
10
  $gallery = $this->FinalTilesdb->getGalleryById($gid);
 
 
 
 
 
11
 
12
  global $ftg_parent_page;
13
  $ftg_parent_page = "edit-gallery";
@@ -17,31 +21,23 @@
17
  <?php include "header.php" ?>
18
 
19
  <div class='bd'>
20
- <?php if(! isset($_COOKIE['gtl'])) : ?>
21
- <div class="row">
22
- <div id="adv" class="col s12">
23
- <a href="http://modula.greentreelabs.net/?utm_source=ftglite&utm_medium=banner&utm_campaign=Final%20Tiles%20Gallery%20Lite" target="_blank">
24
- <img src="<?php print plugins_url('/images/modula-strip.jpg',__file__) ?>" alt="Modula Grid Gallery">
25
- </a>
26
- <a href="#close" class="close">Dismiss</a>
27
- </div>
28
- </div>
29
- <?php endif ?>
30
-
31
- <header class="gallery-hd">
32
- <input type="text" readonly style="font-family: Courier, monospace;" value="[FinalTilesGallery id='<?php print $gid ?>']">
33
  <ul>
34
  <li>
35
- <a target="_blank" href="http://issuu.com/greentreelabs/docs/finaltilesgridgallery-documentation?e=17859916/13243836">Documentation</a> <a target="_blank" href="http://final-tiles-gallery.com/FinalTilesGridGallery-documentation.pdf">(download)</a>
36
  </li>
37
  <li>
38
  <a target="_blank" href="https://www.youtube.com/watch?v=RNT4JGjtyrs"><?php _e('Video tutorial: Tutorial: better grids with Final Tiles Grid Gallery for WordPress','final-tiles-gallery')?></a>
39
  </li>
40
  </ul>
41
- </header>
42
-
43
-
44
-
45
  <div id="settings">
46
  <form name="gallery_form" id="edit-gallery" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>" method="post">
47
  <?php wp_nonce_field('FinalTiles_gallery', 'FinalTiles_gallery'); ?>
@@ -51,7 +47,6 @@
51
  </div>
52
 
53
  <script>
54
-
55
  (function ($) {
56
  window.onload = function () {
57
 
@@ -88,4 +83,27 @@
88
  })(jQuery);
89
  </script>
90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  </div>
1
  <?php
2
+ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
3
 
4
  $galleryResults = $this->FinalTilesdb->getGalleries();
 
5
  $gallery = null;
6
 
7
  $gid = intval($_GET['id']);
8
+ $imageResults = $this->FinalTilesdb->getImagesByGalleryId($gid, 0, 0);
9
  $gallery = $this->FinalTilesdb->getGalleryById($gid);
10
+ foreach ( $this->defaultValues as $k => $v )
11
+ {
12
+ if(! isset($gallery->$k))
13
+ $gallery->$k = $v;
14
+ }
15
 
16
  global $ftg_parent_page;
17
  $ftg_parent_page = "edit-gallery";
21
  <?php include "header.php" ?>
22
 
23
  <div class='bd'>
24
+ <div class="row ">
25
+ <div class="col s12">
26
+ <div class="card-panel light-green lighten-4">
27
+ <p><input readonly="" style="font-family: Courier, monospace;" type="text" value="[FinalTilesGallery id='<?php print $gid ?>']"></p>
28
+
 
 
 
 
 
 
 
 
29
  <ul>
30
  <li>
31
+ <a target="_blank" href="http://issuu.com/greentreelabs/docs/finaltilesgridgallery-documentation?e=17859916/13243836"><?php _e('Documentation','final-tiles-gallery')?></a> <a target="_blank" href="http://final-tiles-gallery.com/FinalTilesGridGallery-documentation.pdf"><?php _e('(download)','final-tiles-gallery')?></a>
32
  </li>
33
  <li>
34
  <a target="_blank" href="https://www.youtube.com/watch?v=RNT4JGjtyrs"><?php _e('Video tutorial: Tutorial: better grids with Final Tiles Grid Gallery for WordPress','final-tiles-gallery')?></a>
35
  </li>
36
  </ul>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <p class="import-export"> <a id='import-settings' href="#"> Import </a> / <a id='export-settings' href="#"> Export </a> </p>
41
  <div id="settings">
42
  <form name="gallery_form" id="edit-gallery" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>" method="post">
43
  <?php wp_nonce_field('FinalTiles_gallery', 'FinalTiles_gallery'); ?>
47
  </div>
48
 
49
  <script>
 
50
  (function ($) {
51
  window.onload = function () {
52
 
83
  })(jQuery);
84
  </script>
85
 
86
+ </div>
87
+
88
+ <div id="import-modal" class="modal">
89
+ <div class="modal-content">
90
+ <h3> Import Configuration </h3>
91
+ <p> Paste Here the configuration code </p>
92
+ <textarea class="import"> </textarea>
93
+ </div>
94
+ <div class="modal-footer">
95
+ <a href="#" data-action="save" class="action modal-action modal-close waves-effect waves-green btn-flat"><i class="fa fa-save"></i> <?php _e('Import','final-tiles-gallery')?></a>
96
+ <a href="#" data-action="cancel" class="action modal-action modal-close waves-effect waves-yellow btn-flat"><i class="mdi-content-reply"></i> <?php _e('Cancel','final-tiles-gallery')?></a>
97
+ </div>
98
+ </div>
99
+
100
+ <div id="export-modal" class="modal">
101
+ <div class="modal-content">
102
+ <h3> Export Configuration </h3>
103
+ <p> Copy the configuration code </p>
104
+ <textarea class="export"> </textarea>
105
+ </div>
106
+ <div class="modal-footer">
107
+ <a href="#" data-action="cancel" class="action modal-action modal-close waves-effect waves-yellow btn-flat"><i class="mdi-content-reply"></i> <?php _e('OK','final-tiles-gallery')?></a>
108
+ </div>
109
  </div>
admin/font/material-design-icons/LICENSE.txt DELETED
@@ -1,428 +0,0 @@
1
- https://github.com/google/material-design-icons/blob/master/LICENSE
2
- https://github.com/FezVrasta/bootstrap-material-design/blob/master/fonts/LICENSE.txt
3
-
4
- Attribution-ShareAlike 4.0 International
5
-
6
- =======================================================================
7
-
8
- Creative Commons Corporation ("Creative Commons") is not a law firm and
9
- does not provide legal services or legal advice. Distribution of
10
- Creative Commons public licenses does not create a lawyer-client or
11
- other relationship. Creative Commons makes its licenses and related
12
- information available on an "as-is" basis. Creative Commons gives no
13
- warranties regarding its licenses, any material licensed under their
14
- terms and conditions, or any related information. Creative Commons
15
- disclaims all liability for damages resulting from their use to the
16
- fullest extent possible.
17
-
18
- Using Creative Commons Public Licenses
19
-
20
- Creative Commons public licenses provide a standard set of terms and
21
- conditions that creators and other rights holders may use to share
22
- original works of authorship and other material subject to copyright
23
- and certain other rights specified in the public license below. The
24
- following considerations are for informational purposes only, are not
25
- exhaustive, and do not form part of our licenses.
26
-
27
- Considerations for licensors: Our public licenses are
28
- intended for use by those authorized to give the public
29
- permission to use material in ways otherwise restricted by
30
- copyright and certain other rights. Our licenses are
31
- irrevocable. Licensors should read and understand the terms
32
- and conditions of the license they choose before applying it.
33
- Licensors should also secure all rights necessary before
34
- applying our licenses so that the public can reuse the
35
- material as expected. Licensors should clearly mark any
36
- material not subject to the license. This includes other CC-
37
- licensed material, or material used under an exception or
38
- limitation to copyright. More considerations for licensors:
39
- wiki.creativecommons.org/Considerations_for_licensors
40
-
41
- Considerations for the public: By using one of our public
42
- licenses, a licensor grants the public permission to use the
43
- licensed material under specified terms and conditions. If
44
- the licensor's permission is not necessary for any reason--for
45
- example, because of any applicable exception or limitation to
46
- copyright--then that use is not regulated by the license. Our
47
- licenses grant only permissions under copyright and certain
48
- other rights that a licensor has authority to grant. Use of
49
- the licensed material may still be restricted for other
50
- reasons, including because others have copyright or other
51
- rights in the material. A licensor may make special requests,
52
- such as asking that all changes be marked or described.
53
- Although not required by our licenses, you are encouraged to
54
- respect those requests where reasonable. More_considerations
55
- for the public:
56
- wiki.creativecommons.org/Considerations_for_licensees
57
-
58
- =======================================================================
59
-
60
- Creative Commons Attribution-ShareAlike 4.0 International Public
61
- License
62
-
63
- By exercising the Licensed Rights (defined below), You accept and agree
64
- to be bound by the terms and conditions of this Creative Commons
65
- Attribution-ShareAlike 4.0 International Public License ("Public
66
- License"). To the extent this Public License may be interpreted as a
67
- contract, You are granted the Licensed Rights in consideration of Your
68
- acceptance of these terms and conditions, and the Licensor grants You
69
- such rights in consideration of benefits the Licensor receives from
70
- making the Licensed Material available under these terms and
71
- conditions.
72
-
73
-
74
- Section 1 -- Definitions.
75
-
76
- a. Adapted Material means material subject to Copyright and Similar
77
- Rights that is derived from or based upon the Licensed Material
78
- and in which the Licensed Material is translated, altered,
79
- arranged, transformed, or otherwise modified in a manner requiring
80
- permission under the Copyright and Similar Rights held by the
81
- Licensor. For purposes of this Public License, where the Licensed
82
- Material is a musical work, performance, or sound recording,
83
- Adapted Material is always produced where the Licensed Material is
84
- synched in timed relation with a moving image.
85
-
86
- b. Adapter's License means the license You apply to Your Copyright
87
- and Similar Rights in Your contributions to Adapted Material in
88
- accordance with the terms and conditions of this Public License.
89
-
90
- c. BY-SA Compatible License means a license listed at
91
- creativecommons.org/compatiblelicenses, approved by Creative
92
- Commons as essentially the equivalent of this Public License.
93
-
94
- d. Copyright and Similar Rights means copyright and/or similar rights
95
- closely related to copyright including, without limitation,
96
- performance, broadcast, sound recording, and Sui Generis Database
97
- Rights, without regard to how the rights are labeled or
98
- categorized. For purposes of this Public License, the rights
99
- specified in Section 2(b)(1)-(2) are not Copyright and Similar
100
- Rights.
101
-
102
- e. Effective Technological Measures means those measures that, in the
103
- absence of proper authority, may not be circumvented under laws
104
- fulfilling obligations under Article 11 of the WIPO Copyright
105
- Treaty adopted on December 20, 1996, and/or similar international
106
- agreements.
107
-
108
- f. Exceptions and Limitations means fair use, fair dealing, and/or
109
- any other exception or limitation to Copyright and Similar Rights
110
- that applies to Your use of the Licensed Material.
111
-
112
- g. License Elements means the license attributes listed in the name
113
- of a Creative Commons Public License. The License Elements of this
114
- Public License are Attribution and ShareAlike.
115
-
116
- h. Licensed Material means the artistic or literary work, database,
117
- or other material to which the Licensor applied this Public
118
- License.
119
-
120
- i. Licensed Rights means the rights granted to You subject to the
121
- terms and conditions of this Public License, which are limited to
122
- all Copyright and Similar Rights that apply to Your use of the
123
- Licensed Material and that the Licensor has authority to license.
124
-
125
- j. Licensor means the individual(s) or entity(ies) granting rights
126
- under this Public License.
127
-
128
- k. Share means to provide material to the public by any means or
129
- process that requires permission under the Licensed Rights, such
130
- as reproduction, public display, public performance, distribution,
131
- dissemination, communication, or importation, and to make material
132
- available to the public including in ways that members of the
133
- public may access the material from a place and at a time
134
- individually chosen by them.
135
-
136
- l. Sui Generis Database Rights means rights other than copyright
137
- resulting from Directive 96/9/EC of the European Parliament and of
138
- the Council of 11 March 1996 on the legal protection of databases,
139
- as amended and/or succeeded, as well as other essentially
140
- equivalent rights anywhere in the world.
141
-
142
- m. You means the individual or entity exercising the Licensed Rights
143
- under this Public License. Your has a corresponding meaning.
144
-
145
-
146
- Section 2 -- Scope.
147
-
148
- a. License grant.
149
-
150
- 1. Subject to the terms and conditions of this Public License,
151
- the Licensor hereby grants You a worldwide, royalty-free,
152
- non-sublicensable, non-exclusive, irrevocable license to
153
- exercise the Licensed Rights in the Licensed Material to:
154
-
155
- a. reproduce and Share the Licensed Material, in whole or
156
- in part; and
157
-
158
- b. produce, reproduce, and Share Adapted Material.
159
-
160
- 2. Exceptions and Limitations. For the avoidance of doubt, where
161
- Exceptions and Limitations apply to Your use, this Public
162
- License does not apply, and You do not need to comply with
163
- its terms and conditions.
164
-
165
- 3. Term. The term of this Public License is specified in Section
166
- 6(a).
167
-
168
- 4. Media and formats; technical modifications allowed. The
169
- Licensor authorizes You to exercise the Licensed Rights in
170
- all media and formats whether now known or hereafter created,
171
- and to make technical modifications necessary to do so. The
172
- Licensor waives and/or agrees not to assert any right or
173
- authority to forbid You from making technical modifications
174
- necessary to exercise the Licensed Rights, including
175
- technical modifications necessary to circumvent Effective
176
- Technological Measures. For purposes of this Public License,
177
- simply making modifications authorized by this Section 2(a)
178
- (4) never produces Adapted Material.
179
-
180
- 5. Downstream recipients.
181
-
182
- a. Offer from the Licensor -- Licensed Material. Every
183
- recipient of the Licensed Material automatically
184
- receives an offer from the Licensor to exercise the
185
- Licensed Rights under the terms and conditions of this
186
- Public License.
187
-
188
- b. Additional offer from the Licensor -- Adapted Material.
189
- Every recipient of Adapted Material from You
190
- automatically receives an offer from the Licensor to
191
- exercise the Licensed Rights in the Adapted Material
192
- under the conditions of the Adapter's License You apply.
193
-
194
- c. No downstream restrictions. You may not offer or impose
195
- any additional or different terms or conditions on, or
196
- apply any Effective Technological Measures to, the
197
- Licensed Material if doing so restricts exercise of the
198
- Licensed Rights by any recipient of the Licensed
199
- Material.
200
-
201
- 6. No endorsement. Nothing in this Public License constitutes or
202
- may be construed as permission to assert or imply that You
203
- are, or that Your use of the Licensed Material is, connected
204
- with, or sponsored, endorsed, or granted official status by,
205
- the Licensor or others designated to receive attribution as
206
- provided in Section 3(a)(1)(A)(i).
207
-
208
- b. Other rights.
209
-
210
- 1. Moral rights, such as the right of integrity, are not
211
- licensed under this Public License, nor are publicity,
212
- privacy, and/or other similar personality rights; however, to
213
- the extent possible, the Licensor waives and/or agrees not to
214
- assert any such rights held by the Licensor to the limited
215
- extent necessary to allow You to exercise the Licensed
216
- Rights, but not otherwise.
217
-
218
- 2. Patent and trademark rights are not licensed under this
219
- Public License.
220
-
221
- 3. To the extent possible, the Licensor waives any right to
222
- collect royalties from You for the exercise of the Licensed
223
- Rights, whether directly or through a collecting society
224
- under any voluntary or waivable statutory or compulsory
225
- licensing scheme. In all other cases the Licensor expressly
226
- reserves any right to collect such royalties.
227
-
228
-
229
- Section 3 -- License Conditions.
230
-
231
- Your exercise of the Licensed Rights is expressly made subject to the
232
- following conditions.
233
-
234
- a. Attribution.
235
-
236
- 1. If You Share the Licensed Material (including in modified
237
- form), You must:
238
-
239
- a. retain the following if it is supplied by the Licensor
240
- with the Licensed Material:
241
-
242
- i. identification of the creator(s) of the Licensed
243
- Material and any others designated to receive
244
- attribution, in any reasonable manner requested by
245
- the Licensor (including by pseudonym if
246
- designated);
247
-
248
- ii. a copyright notice;
249
-
250
- iii. a notice that refers to this Public License;
251
-
252
- iv. a notice that refers to the disclaimer of
253
- warranties;
254
-
255
- v. a URI or hyperlink to the Licensed Material to the
256
- extent reasonably practicable;
257
-
258
- b. indicate if You modified the Licensed Material and
259
- retain an indication of any previous modifications; and
260
-
261
- c. indicate the Licensed Material is licensed under this
262
- Public License, and include the text of, or the URI or
263
- hyperlink to, this Public License.
264
-
265
- 2. You may satisfy the conditions in Section 3(a)(1) in any
266
- reasonable manner based on the medium, means, and context in
267
- which You Share the Licensed Material. For example, it may be
268
- reasonable to satisfy the conditions by providing a URI or
269
- hyperlink to a resource that includes the required
270
- information.
271
-
272
- 3. If requested by the Licensor, You must remove any of the
273
- information required by Section 3(a)(1)(A) to the extent
274
- reasonably practicable.
275
-
276
- b. ShareAlike.
277
-
278
- In addition to the conditions in Section 3(a), if You Share
279
- Adapted Material You produce, the following conditions also apply.
280
-
281
- 1. The Adapter's License You apply must be a Creative Commons
282
- license with the same License Elements, this version or
283
- later, or a BY-SA Compatible License.
284
-
285
- 2. You must include the text of, or the URI or hyperlink to, the
286
- Adapter's License You apply. You may satisfy this condition
287
- in any reasonable manner based on the medium, means, and
288
- context in which You Share Adapted Material.
289
-
290
- 3. You may not offer or impose any additional or different terms
291
- or conditions on, or apply any Effective Technological
292
- Measures to, Adapted Material that restrict exercise of the
293
- rights granted under the Adapter's License You apply.
294
-
295
-
296
- Section 4 -- Sui Generis Database Rights.
297
-
298
- Where the Licensed Rights include Sui Generis Database Rights that
299
- apply to Your use of the Licensed Material:
300
-
301
- a. for the avoidance of doubt, Section 2(a)(1) grants You the right
302
- to extract, reuse, reproduce, and Share all or a substantial
303
- portion of the contents of the database;
304
-
305
- b. if You include all or a substantial portion of the database
306
- contents in a database in which You have Sui Generis Database
307
- Rights, then the database in which You have Sui Generis Database
308
- Rights (but not its individual contents) is Adapted Material,
309
-
310
- including for purposes of Section 3(b); and
311
- c. You must comply with the conditions in Section 3(a) if You Share
312
- all or a substantial portion of the contents of the database.
313
-
314
- For the avoidance of doubt, this Section 4 supplements and does not
315
- replace Your obligations under this Public License where the Licensed
316
- Rights include other Copyright and Similar Rights.
317
-
318
-
319
- Section 5 -- Disclaimer of Warranties and Limitation of Liability.
320
-
321
- a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
322
- EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
323
- AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
324
- ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
325
- IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
326
- WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
327
- PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
328
- ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
329
- KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
330
- ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
331
-
332
- b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
333
- TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
334
- NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
335
- INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
336
- COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
337
- USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
338
- ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
339
- DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
340
- IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
341
-
342
- c. The disclaimer of warranties and limitation of liability provided
343
- above shall be interpreted in a manner that, to the extent
344
- possible, most closely approximates an absolute disclaimer and
345
- waiver of all liability.
346
-
347
-
348
- Section 6 -- Term and Termination.
349
-
350
- a. This Public License applies for the term of the Copyright and
351
- Similar Rights licensed here. However, if You fail to comply with
352
- this Public License, then Your rights under this Public License
353
- terminate automatically.
354
-
355
- b. Where Your right to use the Licensed Material has terminated under
356
- Section 6(a), it reinstates:
357
-
358
- 1. automatically as of the date the violation is cured, provided
359
- it is cured within 30 days of Your discovery of the
360
- violation; or
361
-
362
- 2. upon express reinstatement by the Licensor.
363
-
364
- For the avoidance of doubt, this Section 6(b) does not affect any
365
- right the Licensor may have to seek remedies for Your violations
366
- of this Public License.
367
-
368
- c. For the avoidance of doubt, the Licensor may also offer the
369
- Licensed Material under separate terms or conditions or stop
370
- distributing the Licensed Material at any time; however, doing so
371
- will not terminate this Public License.
372
-
373
- d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
374
- License.
375
-
376
-
377
- Section 7 -- Other Terms and Conditions.
378
-
379
- a. The Licensor shall not be bound by any additional or different
380
- terms or conditions communicated by You unless expressly agreed.
381
-
382
- b. Any arrangements, understandings, or agreements regarding the
383
- Licensed Material not stated herein are separate from and
384
- independent of the terms and conditions of this Public License.
385
-
386
-
387
- Section 8 -- Interpretation.
388
-
389
- a. For the avoidance of doubt, this Public License does not, and
390
- shall not be interpreted to, reduce, limit, restrict, or impose
391
- conditions on any use of the Licensed Material that could lawfully
392
- be made without permission under this Public License.
393
-
394
- b. To the extent possible, if any provision of this Public License is
395
- deemed unenforceable, it shall be automatically reformed to the
396
- minimum extent necessary to make it enforceable. If the provision
397
- cannot be reformed, it shall be severed from this Public License
398
- without affecting the enforceability of the remaining terms and
399
- conditions.
400
-
401
- c. No term or condition of this Public License will be waived and no
402
- failure to comply consented to unless expressly agreed to by the
403
- Licensor.
404
-
405
- d. Nothing in this Public License constitutes or may be interpreted
406
- as a limitation upon, or waiver of, any privileges and immunities
407
- that apply to the Licensor or You, including from the legal
408
- processes of any jurisdiction or authority.
409
-
410
-
411
- =======================================================================
412
-
413
- Creative Commons is not a party to its public licenses.
414
- Notwithstanding, Creative Commons may elect to apply one of its public
415
- licenses to material it publishes and in those instances will be
416
- considered the "Licensor." Except for the limited purpose of indicating
417
- that material is shared under a Creative Commons public license or as
418
- otherwise permitted by the Creative Commons policies published at
419
- creativecommons.org/policies, Creative Commons does not authorize the
420
- use of the trademark "Creative Commons" or any other trademark or logo
421
- of Creative Commons without its prior written consent including,
422
- without limitation, in connection with any unauthorized modifications
423
- to any of its public licenses or any other arrangements,
424
- understandings, or agreements concerning use of licensed material. For
425
- the avoidance of doubt, this paragraph does not form part of the public
426
- licenses.
427
-
428
- Creative Commons may be contacted at creativecommons.org.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/font/material-design-icons/Material-Design-Icons.eot DELETED
Binary file
admin/font/material-design-icons/Material-Design-Icons.svg DELETED
@@ -1,751 +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>Generated by IcoMoon</metadata>
5
- <defs>
6
- <font id="Material-Design-Icons" horiz-adv-x="1024">
7
- <font-face units-per-em="1024" ascent="960" descent="-64" />
8
- <missing-glyph horiz-adv-x="1024" />
9
- <glyph unicode="&#x20;" d="" horiz-adv-x="512" />
10
- <glyph unicode="&#xe600;" d="M320.64 43.307c-139.307 66.133-239.36 201.6-254.507 362.027h-64c21.76-262.827 241.493-469.333 509.867-469.333 9.6 0 18.773 0.853 28.16 1.493l-162.56 162.773-56.96-56.96zM358.613 321.707c-8.107 0-15.573 1.067-22.4 3.627-6.613 2.347-12.373 5.76-17.067 10.027s-8.32 9.6-10.88 15.573c-2.56 6.187-3.84 12.8-3.84 20.053h-55.467c0-15.36 2.987-28.8 8.96-40.533s13.867-21.547 23.893-29.227c10.027-7.893 21.547-13.653 34.773-17.707 13.227-4.267 26.88-6.187 41.387-6.187 15.787 0 30.507 2.133 44.16 6.4s25.387 10.667 35.413 18.987 17.707 18.56 23.467 30.72c5.547 12.16 8.533 26.027 8.533 41.6 0 8.32-1.067 16.213-2.987 23.893-2.133 7.68-5.333 14.933-9.6 21.76-4.48 6.827-10.24 12.8-17.28 18.347-7.040 5.333-15.787 9.813-25.813 13.44 8.533 3.84 16 8.533 22.4 14.080s11.733 11.52 16 17.707c4.267 6.4 7.467 12.8 9.6 19.627s3.2 13.653 3.2 20.267c0 15.573-2.56 29.227-7.68 40.96s-12.373 21.547-21.76 29.44c-9.387 7.893-20.48 13.867-33.707 17.92-13.653 4.267-28.16 6.187-43.947 6.187-15.36 0-29.653-2.347-42.667-6.827s-24.107-10.88-33.493-18.987c-9.387-8.107-16.64-17.707-21.973-28.8s-7.893-23.253-7.893-36.267h55.467c0 7.253 1.28 13.653 3.84 19.2 2.56 5.76 6.187 10.667 10.667 14.507 4.48 4.053 10.027 7.253 16.213 9.387s13.013 3.413 20.267 3.413c17.067 0 29.653-4.48 37.973-13.227s12.373-21.12 12.373-36.907c0-7.68-1.067-14.507-3.413-20.693s-5.76-11.52-10.453-16c-4.693-4.48-10.667-7.893-17.493-10.453-7.040-2.56-15.36-3.84-24.747-3.84h-32.853v-43.733h32.853c9.387 0 17.92-1.067 25.387-3.2s13.867-5.333 19.2-10.027c5.333-4.48 9.387-10.24 12.373-17.067 2.773-6.827 4.267-14.933 4.267-24.32 0-17.28-4.907-30.507-14.933-39.68-9.6-8.96-23.040-13.44-40.32-13.44zM723.84 574.507c-13.44 14.080-29.653 24.96-48.427 32.64-18.987 7.68-39.68 11.52-62.507 11.52h-100.907v-341.333h97.92c23.68 0 45.013 3.84 64.427 11.52s35.84 18.56 49.493 32.64c13.653 14.080 24.32 31.147 31.573 50.987 7.467 19.84 11.093 42.24 11.093 66.987v16.853c0 24.747-3.84 46.933-11.307 66.987s-17.92 37.12-31.36 51.2zM706.987 439.253c0-17.707-1.92-33.92-6.187-48-4.053-14.293-10.027-26.24-18.133-36.053s-18.133-17.28-30.293-22.613c-12.16-5.12-26.24-7.893-42.453-7.893h-38.613v246.187h41.6c30.72 0 53.973-9.813 70.187-29.227 16-19.627 24.107-47.787 24.107-84.907v-17.493zM512 960c-9.6 0-18.773-0.853-28.16-1.493l162.56-162.773 56.747 56.747c139.52-65.92 239.573-201.387 254.72-361.813h64c-21.76 262.827-241.493 469.333-509.867 469.333z" />
11
- <glyph unicode="&#xe601;" d="M512 874.667c47.147 0 85.333-38.187 85.333-85.333s-38.187-85.333-85.333-85.333-85.333 38.187-85.333 85.333 38.187 85.333 85.333 85.333zM896 576h-256v-554.667h-85.333v256h-85.333v-256h-85.333v554.667h-256v85.333h768v-85.333z" />
12
- <glyph unicode="&#xe602;" d="M170.667 533.333v-298.667h128v298.667h-128zM426.667 533.333v-298.667h128v298.667h-128zM85.333 21.333h810.667v128h-810.667v-128zM682.667 533.333v-298.667h128v298.667h-128zM490.667 917.333l-405.333-213.333v-85.333h810.667v85.333l-405.333 213.333z" />
13
- <glyph unicode="&#xe603;" d="M896 192v-42.667c0-47.147-38.187-85.333-85.333-85.333h-597.333c-47.147 0-85.333 38.187-85.333 85.333v597.333c0 47.147 38.187 85.333 85.333 85.333h597.333c47.147 0 85.333-38.187 85.333-85.333v-42.667h-384c-47.147 0-85.333-38.187-85.333-85.333v-341.333c0-47.147 38.187-85.333 85.333-85.333h384zM512 277.333h426.667v341.333h-426.667v-341.333zM682.667 384c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64z" />
14
- <glyph unicode="&#xe604;" d="M128 746.667v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333zM640 576c0-70.827-57.387-128-128-128s-128 57.173-128 128c0 70.613 57.387 128 128 128s128-57.387 128-128zM256 234.667c0 85.333 170.667 132.267 256 132.267s256-46.933 256-132.267v-42.667h-512v42.667z" />
15
- <glyph unicode="&#xe605;" d="M704 448c58.88 0 106.24 47.787 106.24 106.667s-47.36 106.667-106.24 106.667c-58.88 0-106.667-47.787-106.667-106.667s47.787-106.667 106.667-106.667zM384 490.667c70.613 0 127.573 57.387 127.573 128s-56.96 128-127.573 128c-70.613 0-128-57.387-128-128s57.387-128 128-128zM704 362.667c-78.293 0-234.667-39.253-234.667-117.333v-96h469.333v96c0 78.080-156.373 117.333-234.667 117.333zM384 405.333c-99.627 0-298.667-49.92-298.667-149.333v-106.667h298.667v96c0 36.267 14.293 99.627 101.12 148.053-37.12 7.893-73.173 11.947-101.12 11.947z" />
16
- <glyph unicode="&#xe606;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 746.667c70.613 0 128-57.387 128-128 0-70.827-57.387-128-128-128s-128 57.173-128 128c0 70.613 57.387 128 128 128zM512 140.8c-106.88 0-200.747 54.613-256 137.387 1.067 84.693 170.88 131.413 256 131.413s254.72-46.72 256-131.413c-55.253-82.773-149.12-137.387-256-137.387z" />
17
- <glyph unicode="&#xe607;" d="M469.333 576h85.333v128h128v85.333h-128v128h-85.333v-128h-128v-85.333h128v-128zM298.667 192c-47.147 0-84.907-38.187-84.907-85.333s37.76-85.333 84.907-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM725.333 192c-47.147 0-84.907-38.187-84.907-85.333s37.76-85.333 84.907-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM306.133 330.667c0 1.92 0.427 3.627 1.28 5.12l38.4 69.547h317.867c32 0 59.947 17.707 74.667 43.947l164.693 299.093-74.667 40.96h-0.213l-47.147-85.333-117.547-213.333h-299.307l-5.547 11.52-136.32 287.147-40.32 85.333h-139.307v-85.333h85.333l153.6-323.627-57.813-104.533c-6.613-12.373-10.453-26.24-10.453-41.173 0-47.147 38.187-85.333 85.333-85.333h512v85.333h-493.867c-5.973 0-10.667 4.693-10.667 10.667z" />
18
- <glyph unicode="&#xe608;" d="M938.667 715.947l-196.053 164.48-54.827-65.28 196.053-164.48 54.827 65.28zM336.213 815.36l-54.827 65.28-196.053-164.48 54.827-65.28 196.053 164.48zM533.333 618.667h-64v-256l202.453-121.813 32.213 52.693-170.667 101.12v224zM511.787 789.333c-212.267 0-383.787-171.947-383.787-384s171.52-384 383.787-384 384.213 171.947 384.213 384-171.947 384-384.213 384zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.547-298.667-298.667-298.667z" />
19
- <glyph unicode="&#xe609;" d="M336.213 815.36l-54.827 65.28-196.053-164.48 54.827-65.28 196.053 164.48zM938.667 715.947l-196.053 164.48-54.827-65.28 196.053-164.48 54.827 65.28zM511.787 789.333c-212.267 0-383.787-171.947-383.787-384s171.52-384 383.787-384 384.213 171.947 384.213 384-171.947 384-384.213 384zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.547-298.667-298.667-298.667zM554.667 576h-85.333v-128h-128v-85.333h128v-128h85.333v128h128v85.333h-128v128z" />
20
- <glyph unicode="&#xe60a;" d="M512 704c164.907 0 298.667-133.76 298.667-298.667 0-36.053-6.613-70.4-18.347-102.4l64.853-64.853c24.747 50.56 38.827 107.307 38.827 167.253 0 212.053-171.947 384-384.213 384-59.947 0-116.48-14.080-167.253-38.613l65.067-65.067c32 11.733 66.347 18.347 102.4 18.347zM938.667 715.947l-196.053 164.48-54.827-65.28 196.053-164.48 54.827 65.28zM124.587 862.080l-54.4-54.187 56.747-56.747-47.36-39.68 60.587-60.587 47.36 39.68 34.133-34.133c-58.24-67.413-93.653-155.093-93.653-251.093 0-212.053 171.52-384 383.787-384 96.213 0 183.893 35.627 251.093 93.867l93.867-93.867 54.187 54.4-786.347 786.347zM702.72 175.36c-51.84-42.88-118.187-68.693-190.72-68.693-164.907 0-298.667 133.76-298.667 298.667 0 72.533 25.813 138.88 68.693 190.72l420.693-420.693zM341.973 820.267l-60.587 60.587-36.267-30.507 60.587-60.587 36.267 30.507z" />
21
- <glyph unicode="&#xe60b;" d="M938.667 715.947l-196.053 164.48-54.827-65.28 196.053-164.48 54.827 65.28zM336.213 815.36l-54.827 65.28-196.053-164.48 54.827-65.28 196.053 164.48zM511.787 789.333c-212.267 0-383.787-171.947-383.787-384s171.52-384 383.787-384 384.213 171.947 384.213 384-171.947 384-384.213 384zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.547-298.667-298.667-298.667zM449.493 340.267l-90.453 90.453-45.227-45.227 135.68-135.68 256.213 256.213-45.227 45.227-210.987-210.987z" />
22
- <glyph unicode="&#xe60c;" d="M256 192c0-23.467 19.2-42.667 42.667-42.667h42.667v-149.333c0-35.413 28.587-64 64-64s64 28.587 64 64v149.333h85.333v-149.333c0-35.413 28.587-64 64-64s64 28.587 64 64v149.333h42.667c23.467 0 42.667 19.2 42.667 42.667v426.667h-512v-426.667zM149.333 618.667c-35.413 0-64-28.587-64-64v-298.667c0-35.413 28.587-64 64-64s64 28.587 64 64v298.667c0 35.413-28.587 64-64 64zM874.667 618.667c-35.413 0-64-28.587-64-64v-298.667c0-35.413 28.587-64 64-64s64 28.587 64 64v298.667c0 35.413-28.587 64-64 64zM662.613 867.84l55.68 55.68c8.32 8.32 8.32 21.76 0 30.080s-21.76 8.32-30.080 0l-63.147-62.933c-34.133 16.853-72.32 26.667-113.067 26.667-40.96 0-79.36-9.813-113.707-26.88l-63.36 63.36c-8.32 8.32-21.76 8.32-30.080 0s-8.32-21.76 0-30.080l55.893-55.893c-63.36-46.72-104.747-121.813-104.747-206.507h512c0 84.907-41.6 160-105.387 206.507zM426.667 746.667h-42.667v42.667h42.667v-42.667zM640 746.667h-42.667v42.667h42.667v-42.667z" />
23
- <glyph unicode="&#xe60d;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM554.667 490.667h-85.333v256h85.333v-256zM554.667 320h-85.333v85.333h85.333v-85.333z" />
24
- <glyph unicode="&#xe60e;" d="M810.667 448h-85.333v-128h-128v-85.333h213.333v213.333zM298.667 576h128v85.333h-213.333v-213.333h85.333v128zM896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 148.693h-768v598.613h768v-598.613z" />
25
- <glyph unicode="&#xe60f;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM384 234.667h-85.333v298.667h85.333v-298.667zM554.667 234.667h-85.333v426.667h85.333v-426.667zM725.333 234.667h-85.333v170.667h85.333v-170.667z" />
26
- <glyph unicode="&#xe610;" d="M810.667 832h-178.56c-17.493 49.493-64.427 85.333-120.107 85.333s-102.613-35.84-120.107-85.333h-178.56c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM512 832c23.467 0 42.667-18.987 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 18.987-42.667 42.667 19.2 42.667 42.667 42.667zM597.333 234.667h-298.667v85.333h298.667v-85.333zM725.333 405.333h-426.667v85.333h426.667v-85.333zM725.333 576h-426.667v85.333h426.667v-85.333z" />
27
- <glyph unicode="&#xe611;" d="M810.667 832h-178.56c-17.493 49.493-64.427 85.333-120.107 85.333s-102.613-35.84-120.107-85.333h-178.56c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM512 832c23.467 0 42.667-18.987 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 18.987-42.667 42.667 19.2 42.667 42.667 42.667zM512 661.333c70.613 0 128-57.387 128-128 0-70.827-57.387-128-128-128s-128 57.173-128 128c0 70.613 57.387 128 128 128zM768 149.333h-512v59.733c0 85.333 170.667 132.267 256 132.267s256-46.933 256-132.267v-59.733z" />
28
- <glyph unicode="&#xe612;" d="M810.667 832h-178.56c-17.493 49.493-64.427 85.333-120.107 85.333s-102.613-35.84-120.107-85.333h-178.56c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM554.667 192h-85.333v85.333h85.333v-85.333zM554.667 362.667h-85.333v256h85.333v-256zM512 746.667c-23.467 0-42.667 18.987-42.667 42.667s19.2 42.667 42.667 42.667 42.667-18.987 42.667-42.667-19.2-42.667-42.667-42.667z" />
29
- <glyph unicode="&#xe613;" d="M810.667 832h-178.56c-17.493 49.493-64.427 85.333-120.107 85.333s-102.613-35.84-120.107-85.333h-178.56c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM512 832c23.467 0 42.667-18.987 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 18.987-42.667 42.667 19.2 42.667 42.667 42.667zM682.667 320h-170.667v-128l-213.333 213.333 213.333 213.333v-128h170.667v-170.667z" />
30
- <glyph unicode="&#xe614;" d="M810.667 832h-178.56c-17.493 49.493-64.427 85.333-120.107 85.333s-102.613-35.84-120.107-85.333h-178.56c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM512 832c23.467 0 42.667-18.987 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 18.987-42.667 42.667 19.2 42.667 42.667 42.667zM512 192l-213.333 213.333h128v170.667h170.667v-170.667h128l-213.333-213.333z" />
31
- <glyph unicode="&#xe615;" d="M810.667 832h-178.56c-17.493 49.493-64.427 85.333-120.107 85.333s-102.613-35.84-120.107-85.333h-178.56c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM512 832c23.467 0 42.667-18.987 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 18.987-42.667 42.667 19.2 42.667 42.667 42.667zM426.667 234.667l-170.667 170.667 60.373 60.373 110.293-110.293 280.96 280.96 60.373-60.373-341.333-341.333z" />
32
- <glyph unicode="&#xe616;" d="M512 704v-128l170.667 170.667-170.667 170.667v-128c-188.587 0-341.333-152.747-341.333-341.333 0-66.987 19.627-129.067 52.907-181.76l62.293 62.293c-18.987 35.627-29.867 76.16-29.867 119.467 0 141.44 114.56 256 256 256zM800.427 629.76l-62.293-62.293c18.987-35.627 29.867-76.16 29.867-119.467 0-141.44-114.56-256-256-256v128l-170.667-170.667 170.667-170.667v128c188.587 0 341.333 152.747 341.333 341.333 0 66.987-19.627 129.067-52.907 181.76z" />
33
- <glyph unicode="&#xe617;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-230.187-69.973-283.733-172.16-128.213-13.867-228.267-122.453-228.267-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.68 203.947-198.187 211.84zM597.333 405.333v-170.667h-170.667v170.667h-128l213.333 213.333 213.333-213.333h-128z" />
34
- <glyph unicode="&#xe618;" d="M768 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM256 789.333h213.333v-341.333l-106.667 64-106.667-64v341.333z" />
35
- <glyph unicode="&#xe619;" d="M725.333 832h-426.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667 298.667 128 298.667-128v682.667c0 47.147-38.187 85.333-85.333 85.333z" />
36
- <glyph unicode="&#xe61a;" d="M725.333 832h-426.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667 298.667 128 298.667-128v682.667c0 47.147-38.187 85.333-85.333 85.333zM725.333 192l-213.333 92.8-213.333-92.8v554.667h426.667v-554.667z" />
37
- <glyph unicode="&#xe61b;" d="M853.333 618.667h-119.893c-19.2 33.28-45.653 62.080-77.44 83.627l69.333 69.333-60.373 60.373-92.8-92.8c-19.2 4.693-39.467 7.467-60.16 7.467s-40.96-2.773-60.16-7.467l-92.8 92.8-60.373-60.373 69.333-69.333c-31.787-21.547-58.24-50.347-77.44-83.627h-119.893v-85.333h89.173c-2.347-13.867-3.84-28.16-3.84-42.667v-42.667h-85.333v-85.333h85.333v-42.667c0-14.507 1.493-28.8 3.84-42.667h-89.173v-85.333h119.893c44.16-76.373 126.72-128 221.44-128s177.28 51.627 221.44 128h119.893v85.333h-89.173c2.347 13.867 3.84 28.16 3.84 42.667v42.667h85.333v85.333h-85.333v42.667c0 14.507-1.493 28.8-3.84 42.667h89.173v85.333zM597.333 277.333h-170.667v85.333h170.667v-85.333zM597.333 448h-170.667v85.333h170.667v-85.333z" />
38
- <glyph unicode="&#xe61c;" d="M810.667 618.667l-170.667-170.667h128c0-141.44-114.56-256-256-256-43.307 0-83.84 10.88-119.68 29.653l-62.293-62.293c52.907-33.067 114.987-52.693 181.973-52.693 188.587 0 341.333 152.747 341.333 341.333h128l-170.667 170.667zM256 448c0 141.44 114.56 256 256 256 43.307 0 83.84-10.88 119.68-29.653l62.293 62.293c-52.907 33.067-114.987 52.693-181.973 52.693-188.587 0-341.333-152.747-341.333-341.333h-128l170.667-170.667 170.667 170.667h-128z" />
39
- <glyph unicode="&#xe61d;" d="M768 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM256 789.333h213.333v-341.333l-106.667 64-106.667-64v341.333z" />
40
- <glyph unicode="&#xe61e;" d="M170.667 448h682.667v-256h-682.667zM853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 192h-682.667v256h682.667v-256zM853.333 618.667h-682.667v85.333h682.667v-85.333z" />
41
- <glyph unicode="&#xe61f;" d="M128 405.333h341.333v426.667h-341.333v-426.667zM128 64h341.333v256h-341.333v-256zM554.667 64h341.333v426.667h-341.333v-426.667zM554.667 832v-256h341.333v256h-341.333z" />
42
- <glyph unicode="&#xe620;" d="M256 149.333c0-47.147 38.187-85.333 85.333-85.333h341.333c47.147 0 85.333 38.187 85.333 85.333v512h-512v-512zM810.667 789.333h-149.333l-42.667 42.667h-213.333l-42.667-42.667h-149.333v-85.333h597.333v85.333z" />
43
- <glyph unicode="&#xe621;" d="M597.333 874.667h-341.333c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667c0-47.147 37.76-85.333 84.907-85.333h512.427c47.147 0 85.333 38.187 85.333 85.333v512l-256 256zM682.667 192h-341.333v85.333h341.333v-85.333zM682.667 362.667h-341.333v85.333h341.333v-85.333zM554.667 576v234.667l234.667-234.667h-234.667z" />
44
- <glyph unicode="&#xe622;" d="M853.333 405.333h-682.667c-23.467 0-42.667-19.2-42.667-42.667v-256c0-23.467 19.2-42.667 42.667-42.667h682.667c23.467 0 42.667 19.2 42.667 42.667v256c0 23.467-19.2 42.667-42.667 42.667zM298.667 149.333c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM853.333 832h-682.667c-23.467 0-42.667-19.2-42.667-42.667v-256c0-23.467 19.2-42.667 42.667-42.667h682.667c23.467 0 42.667 19.2 42.667 42.667v256c0 23.467-19.2 42.667-42.667 42.667zM298.667 576c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
45
- <glyph unicode="&#xe623;" d="M384 270.080l-177.92 177.92-60.373-60.373 238.293-238.293 512 512-60.373 60.373z" />
46
- <glyph unicode="&#xe624;" d="M768 661.333l-60.373 60.373-270.507-270.72 60.373-60.373 270.507 270.72zM949.12 721.707l-451.84-451.627-177.92 177.92-60.373-60.373 238.293-238.293 512 512-60.16 60.373zM17.707 387.627l238.293-238.293 60.373 60.373-238.293 238.293-60.373-60.373z" />
47
- <glyph unicode="&#xe625;" d="M725.333 448h-213.333v-213.333h213.333v213.333zM682.667 917.333v-85.333h-341.333v85.333h-85.333v-85.333h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333h-42.667v85.333h-85.333zM810.667 149.333h-597.333v469.333h597.333v-469.333z" />
48
- <glyph unicode="&#xe626;" d="M430.293 295.040l60.373-60.373 213.333 213.333-213.333 213.333-60.373-60.373 110.293-110.293h-412.587v-85.333h412.587l-110.293-110.293zM810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-170.667h85.333v170.667h597.333v-597.333h-597.333v170.667h-85.333v-170.667c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333z" />
49
- <glyph unicode="&#xe627;" d="M512 494.933c-25.813 0-46.933-21.12-46.933-46.933s21.12-46.933 46.933-46.933c26.027 0 46.933 21.12 46.933 46.933s-20.907 46.933-46.933 46.933zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667 0-235.52 190.933-426.667 426.667-426.667s426.667 191.147 426.667 426.667c0 235.733-190.933 426.667-426.667 426.667zM605.44 354.56l-349.44-162.56 162.56 349.44 349.44 162.56-162.56-349.44z" />
50
- <glyph unicode="&#xe628;" d="M874.667 490.667h-64v170.667c0 47.147-38.187 85.333-85.333 85.333h-170.667v64c0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667v-64h-170.667c-47.147 0-84.907-38.187-84.907-85.333l-0.213-162.133h63.787c63.573 0 115.2-51.627 115.2-115.2s-51.627-115.2-115.2-115.2h-63.787l-0.213-162.133c0-47.147 38.187-85.333 85.333-85.333h162.133v64c0 63.573 51.627 115.2 115.2 115.2s115.2-51.627 115.2-115.2v-64h162.133c47.147 0 85.333 38.187 85.333 85.333v170.667h64c58.88 0 106.667 47.787 106.667 106.667s-47.787 106.667-106.667 106.667z" />
51
- <glyph unicode="&#xe629;" d="M626.987 230.187c-31.787-24.533-72.533-38.187-114.987-38.187s-83.2 13.653-114.987 38.187c-9.173 7.253-22.613 5.547-29.867-3.84s-5.547-22.613 3.84-29.867c39.040-30.293 89.173-47.147 141.013-47.147s101.973 16.853 141.013 47.147c9.387 7.253 11.093 20.693 3.84 29.867-7.253 9.387-20.693 11.093-29.867 3.84zM405.333 426.667c0-23.564-19.103-42.667-42.667-42.667s-42.667 19.103-42.667 42.667c0 23.564 19.103 42.667 42.667 42.667s42.667-19.103 42.667-42.667zM512 960c-282.667 0-512-229.333-512-512s229.333-512 512-512 512 229.333 512 512-229.333 512-512 512zM851.627 327.68c-46.507-159.573-182.187-275.413-343.040-275.413-161.067 0-296.96 116.267-343.253 276.267-50.773 4.267-90.667 50.347-90.667 107.093 0 54.187 36.48 98.773 83.84 106.453v0.213c89.173 62.507 162.347 148.907 174.72 215.467l0.213-0.213v0.64c57.813-112 268.8-221.44 504.533-215.893 4.267 0.64 8.32 1.493 12.587 1.493 54.4 0 98.56-48.427 98.56-108.16 0.213-59.307-43.52-107.52-97.493-107.947zM704 426.667c0-23.564-19.103-42.667-42.667-42.667s-42.667 19.103-42.667 42.667c0 23.564 19.103 42.667 42.667 42.667s42.667-19.103 42.667-42.667z" />
52
- <glyph unicode="&#xe62a;" d="M512 49.067l-61.867 56.107c-219.733 199.467-364.8 331.093-364.8 492.16 0 131.627 103.040 234.667 234.667 234.667 74.24 0 145.493-34.56 192-88.96 46.507 54.4 117.76 88.96 192 88.96 131.627 0 234.667-103.040 234.667-234.667 0-161.067-145.067-292.693-364.8-492.16l-61.867-56.107z" />
53
- <glyph unicode="&#xe62b;" d="M704 832c-74.24 0-145.493-34.56-192-88.96-46.507 54.4-117.76 88.96-192 88.96-131.627 0-234.667-103.040-234.667-234.667 0-161.067 145.067-292.693 364.8-492.16l61.867-56.107 61.867 56.107c219.733 199.467 364.8 331.093 364.8 492.16 0 131.627-103.040 234.667-234.667 234.667zM516.48 168.32l-4.48-4.053-4.48 4.053c-202.88 184.107-336.853 305.707-336.853 429.013 0 85.12 64.213 149.333 149.333 149.333 65.707 0 129.707-42.453 152.107-100.693h79.573c22.613 58.24 86.613 100.693 152.32 100.693 85.12 0 149.333-64.213 149.333-149.333 0-123.307-133.973-244.907-336.853-429.013z" />
54
- <glyph unicode="&#xe62c;" d="M853.333 124.373v494.293l-256 256h-341.333c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667c0-47.147 37.76-85.333 84.907-85.333h512.427c18.987 0 36.48 6.4 50.56 17.067l-189.227 189.227c-33.493-22.4-73.813-35.627-117.333-35.627-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333c0-43.52-13.227-83.84-35.413-117.547l163.413-163.413zM384 405.333c0-70.613 57.387-128 128-128s128 57.387 128 128-57.387 128-128 128-128-57.387-128-128z" />
55
- <glyph unicode="&#xe62d;" d="M469.333 704c58.88 0 112.213-23.893 150.827-62.507l-108.16-108.16h256v256l-87.467-87.467c-53.973 53.973-128.64 87.467-211.2 87.467-150.4 0-274.56-111.36-295.253-256h86.187c19.84 97.28 105.813 170.667 209.067 170.667zM709.973 314.24c28.373 38.613 47.573 84.267 54.613 133.76h-86.187c-19.84-97.28-105.813-170.667-209.067-170.667-58.88 0-112.213 23.893-150.827 62.507l108.16 108.16h-256v-256l87.467 87.467c53.973-53.973 128.64-87.467 211.2-87.467 66.133 0 127.147 21.76 176.64 58.24l207.36-207.147 63.573 63.573-206.933 207.573z" />
56
- <glyph unicode="&#xe62e;" d="M384 661.333h-85.333v-85.333h85.333v85.333zM384 490.667h-85.333v-85.333h85.333v85.333zM384 832c-47.147 0-85.333-38.187-85.333-85.333h85.333v85.333zM554.667 320h-85.333v-85.333h85.333v85.333zM810.667 832v-85.333h85.333c0 47.147-38.187 85.333-85.333 85.333zM554.667 832h-85.333v-85.333h85.333v85.333zM384 234.667v85.333h-85.333c0-47.147 38.187-85.333 85.333-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM810.667 234.667c47.147 0 85.333 38.187 85.333 85.333h-85.333v-85.333zM213.333 661.333h-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512v85.333h-512v512zM640 746.667h85.333v85.333h-85.333v-85.333zM640 234.667h85.333v85.333h-85.333v-85.333z" />
57
- <glyph unicode="&#xe62f;" d="M128 405.333h85.333v85.333h-85.333v-85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM213.333 64v85.333h-85.333c0-47.147 38.187-85.333 85.333-85.333zM128 576h85.333v85.333h-85.333v-85.333zM640 64h85.333v85.333h-85.333v-85.333zM810.667 832h-426.667c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 320h-426.667v426.667h426.667v-426.667zM469.333 64h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333z" />
58
- <glyph unicode="&#xe630;" d="M810.667 576h-170.667v256h-256v-256h-170.667l298.667-298.667 298.667 298.667zM213.333 192v-85.333h597.333v85.333h-597.333z" />
59
- <glyph unicode="&#xe631;" d="M512 223.147l263.68-159.147-69.76 299.947 232.747 201.6-306.773 26.453-119.893 282.667-119.893-282.667-306.773-26.453 232.747-201.6-69.76-299.947z" />
60
- <glyph unicode="&#xe632;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667 0-235.52 190.933-426.667 426.667-426.667s426.667 191.147 426.667 426.667c0 235.733-190.933 426.667-426.667 426.667zM341.333 213.333c-58.88 0-106.667 47.787-106.667 106.667s47.787 106.667 106.667 106.667 106.667-47.787 106.667-106.667-47.787-106.667-106.667-106.667zM405.333 618.667c0 58.88 47.787 106.667 106.667 106.667s106.667-47.787 106.667-106.667-47.787-106.667-106.667-106.667-106.667 47.787-106.667 106.667zM682.667 213.333c-58.88 0-106.667 47.787-106.667 106.667s47.787 106.667 106.667 106.667 106.667-47.787 106.667-106.667-47.787-106.667-106.667-106.667z" />
61
- <glyph unicode="&#xe633;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM554.667 149.333h-85.333v85.333h85.333v-85.333zM642.773 479.787l-38.187-39.253c-30.72-30.72-49.92-56.533-49.92-120.533h-85.333v21.333c0 47.147 19.2 89.813 49.92 120.747l53.12 53.76c15.36 15.36 24.96 36.693 24.96 60.16 0 47.147-38.187 85.333-85.333 85.333s-85.333-38.187-85.333-85.333h-85.333c0 94.293 76.373 170.667 170.667 170.667s170.667-76.373 170.667-170.667c0-37.547-15.147-71.467-39.893-96.213z" />
62
- <glyph unicode="&#xe634;" d="M622.293 618.667l-110.293-110.293-110.293 110.293-60.373-60.373 110.293-110.293-110.293-110.293 60.373-60.373 110.293 110.293 110.293-110.293 60.373 60.373-110.293 110.293 110.293 110.293-60.373 60.373zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333z" />
63
- <glyph unicode="&#xe635;" d="M554.453 832c-212.267 0-383.787-171.947-383.787-384h-128l166.187-166.187 2.987-6.187 172.16 172.373h-128c0 164.907 133.76 298.667 298.667 298.667s298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667c-82.56 0-157.013 33.707-210.987 87.68l-60.373-60.373c69.333-69.547 165.12-112.64 271.147-112.64 212.267 0 384.213 171.947 384.213 384s-171.947 384-384.213 384zM512 618.667v-213.333l182.613-108.373 30.72 51.84-149.333 88.533v181.333h-64z" />
64
- <glyph unicode="&#xe636;" d="M426.667 106.667v256h170.667v-256h213.333v341.333h128l-426.667 384-426.667-384h128v-341.333z" />
65
- <glyph unicode="&#xe637;" d="M768 618.667h-42.667v85.333c0 117.76-95.573 213.333-213.333 213.333s-213.333-95.573-213.333-213.333v-85.333h-42.667c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM512 234.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM644.267 618.667h-264.533v85.333c0 72.96 59.307 132.267 132.267 132.267s132.267-59.307 132.267-132.267v-85.333z" />
66
- <glyph unicode="&#xe638;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM554.667 234.667h-85.333v256h85.333v-256zM554.667 576h-85.333v85.333h85.333v-85.333z" />
67
- <glyph unicode="&#xe639;" d="M469.333 234.667h85.333v256h-85.333v-256zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333zM469.333 576h85.333v85.333h-85.333v-85.333z" />
68
- <glyph unicode="&#xe63a;" d="M896 831.573h-768c-47.147 0-85.333-38.187-85.333-85.333v-170.24h85.333v171.093h768v-598.613h-768v171.52h-85.333v-171.093c0-47.147 38.187-84.48 85.333-84.48h768c47.147 0 85.333 37.547 85.333 84.48v597.333c0 47.147-38.187 85.333-85.333 85.333zM469.333 277.333l170.667 170.667-170.667 170.667v-128h-426.667v-85.333h426.667v-128z" />
69
- <glyph unicode="&#xe63b;" d="M753.28 621.653l-241.28 241.493-241.28-241.493c-133.333-133.333-133.333-349.44 0-482.773 66.56-66.56 154.027-100.053 241.28-100.053s174.72 33.28 241.28 100.053c133.333 133.333 133.333 349.44 0 482.773zM512 124.373c-68.48 0-132.693 26.667-180.907 75.093-48.427 48.213-75.093 112.427-75.093 180.907s26.667 132.693 75.093 181.12l180.907 180.907v-618.027z" />
70
- <glyph unicode="&#xe63c;" d="M752.427 710.613c-15.573 21.76-40.96 36.053-69.76 36.053l-469.333-0.427c-47.147 0-85.333-37.76-85.333-84.907v-426.667c0-47.147 38.187-84.907 85.333-84.907l469.333-0.427c28.8 0 54.187 14.293 69.76 36.053l186.24 262.613-186.24 262.613z" />
71
- <glyph unicode="&#xe63d;" d="M752.427 710.613c-15.573 21.76-40.96 36.053-69.76 36.053l-469.333-0.427c-47.147 0-85.333-37.76-85.333-84.907v-426.667c0-47.147 38.187-84.907 85.333-84.907l469.333-0.427c28.8 0 54.187 14.293 69.76 36.053l186.24 262.613-186.24 262.613zM682.667 234.667h-469.333v426.667h469.333l151.253-213.333-151.253-213.333z" />
72
- <glyph unicode="&#xe63e;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM807.253 618.667h-125.867c-13.867 53.333-33.28 104.533-58.88 151.893 78.507-26.88 143.787-81.28 184.747-151.893zM512 787.84c35.627-51.2 63.36-108.16 81.493-169.173h-162.987c18.133 61.013 45.867 117.973 81.493 169.173zM181.76 362.667c-7.040 27.307-11.093 55.893-11.093 85.333s4.053 58.027 11.093 85.333h144c-3.413-27.947-5.76-56.32-5.76-85.333s2.347-57.387 5.973-85.333h-144.213zM216.533 277.333h125.867c13.867-53.333 33.28-104.533 58.88-152.107-78.507 26.88-143.787 81.493-184.747 152.107zM342.4 618.667h-125.867c40.96 70.613 106.24 125.227 184.747 152.107-25.6-47.573-45.013-98.773-58.88-152.107zM512 108.16c-35.413 51.2-63.147 108.16-81.493 169.173h162.987c-18.347-61.013-46.080-117.973-81.493-169.173zM611.84 362.667h-199.68c-4.053 27.947-6.827 56.32-6.827 85.333s2.773 57.387 6.827 85.333h199.68c4.053-27.947 6.827-56.32 6.827-85.333s-2.773-57.387-6.827-85.333zM622.72 125.44c25.6 47.573 45.013 98.56 58.88 151.893h125.867c-41.173-70.613-106.453-125.013-184.747-151.893zM698.027 362.667c3.413 27.947 5.973 56.32 5.973 85.333s-2.347 57.387-5.973 85.333h144c7.040-27.307 11.307-55.893 11.307-85.333s-4.053-58.027-11.307-85.333h-144z" />
73
- <glyph unicode="&#xe63f;" d="M810.667 149.333h-597.333v597.333h298.667v85.333h-298.667c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v298.667h-85.333v-298.667zM597.333 832v-85.333h152.96l-419.413-419.413 60.373-60.373 419.413 419.413v-152.96h85.333v298.667h-298.667z" />
74
- <glyph unicode="&#xe640;" d="M128 405.333h85.333v85.333h-85.333v-85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM128 576h85.333v85.333h-85.333v-85.333zM298.667 405.333h597.333v85.333h-597.333v-85.333zM298.667 234.667h597.333v85.333h-597.333v-85.333zM298.667 661.333v-85.333h597.333v85.333h-597.333z" />
75
- <glyph unicode="&#xe641;" d="M768 618.667h-42.667v85.333c0 117.76-95.573 213.333-213.333 213.333s-213.333-95.573-213.333-213.333v-85.333h-42.667c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM512 234.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM644.267 618.667h-264.533v85.333c0 72.96 59.307 132.267 132.267 132.267s132.267-59.307 132.267-132.267v-85.333z" />
76
- <glyph unicode="&#xe642;" d="M512 234.667c47.147 0 85.333 38.187 85.333 85.333s-38.187 85.333-85.333 85.333-85.333-38.187-85.333-85.333 38.187-85.333 85.333-85.333zM768 618.667h-42.667v85.333c0 117.76-95.573 213.333-213.333 213.333s-213.333-95.573-213.333-213.333h81.067c0 72.96 59.307 132.267 132.267 132.267s132.267-59.307 132.267-132.267v-85.333h-388.267c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM768 106.667h-512v426.667h512v-426.667z" />
77
- <glyph unicode="&#xe643;" d="M768 618.667h-42.667v85.333c0 117.76-95.573 213.333-213.333 213.333s-213.333-95.573-213.333-213.333v-85.333h-42.667c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM512 836.267c72.96 0 132.267-59.307 132.267-132.267v-85.333h-260.267v85.333h-4.267c0 72.96 59.307 132.267 132.267 132.267zM768 106.667h-512v426.667h512v-426.667zM512 234.667c47.147 0 85.333 38.187 85.333 85.333s-38.187 85.333-85.333 85.333-85.333-38.187-85.333-85.333 38.187-85.333 85.333-85.333z" />
78
- <glyph unicode="&#xe644;" d="M913.493 465.92l-383.787 383.787c-15.36 15.36-36.693 24.96-60.373 24.96h-298.667c-47.147 0-85.333-38.187-85.333-85.333v-298.667c0-23.68 9.6-45.013 25.173-60.373l384-384c15.36-15.36 36.693-24.96 60.16-24.96 23.68 0 45.013 9.6 60.373 24.96l298.667 298.667c15.36 15.573 24.96 36.907 24.96 60.373 0 23.68-9.6 45.013-25.173 60.587zM234.667 661.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM736.853 308.48l-182.187-182.187-182.187 182.187c-19.2 19.413-31.147 46.080-31.147 75.52 0 58.88 47.787 106.667 106.667 106.667 29.44 0 56.32-11.947 75.52-31.36l31.147-31.147 31.147 31.147c19.413 19.413 46.080 31.36 75.52 31.36 58.88 0 106.667-47.787 106.667-106.667 0-29.44-11.947-56.107-31.147-75.52z" />
79
- <glyph unicode="&#xe645;" d="M853.333 704h-426.667v-256h-85.333v341.333h256v170.667h-341.333v-256h-85.333c-46.933 0-85.333-38.4-85.333-85.333v-512c0-46.933 38.4-85.333 85.333-85.333h682.667c46.933 0 85.333 38.4 85.333 85.333v512c0 46.933-38.4 85.333-85.333 85.333z" />
80
- <glyph unicode="&#xe646;" d="M597.333 874.667h-341.333c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667c0-47.147 37.76-85.333 84.907-85.333h512.427c47.147 0 85.333 38.187 85.333 85.333v512l-256 256zM682.667 277.333h-128v-128h-85.333v128h-128v85.333h128v128h85.333v-128h128v-85.333zM554.667 576v234.667l234.667-234.667h-234.667z" />
81
- <glyph unicode="&#xe647;" d="M810.667 789.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h170.667v85.333h-170.667v426.667h597.333v-426.667h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM512 533.333l-170.667-170.667h128v-256h85.333v256h128l-170.667 170.667z" />
82
- <glyph unicode="&#xe648;" d="M810.667 149.333h-597.333v597.333h298.667v85.333h-298.667c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v298.667h-85.333v-298.667zM597.333 832v-85.333h152.96l-419.413-419.413 60.373-60.373 419.413 419.413v-152.96h85.333v298.667h-298.667z" />
83
- <glyph unicode="&#xe649;" d="M426.667 576h170.667v128h128l-213.333 213.333-213.333-213.333h128v-128zM384 533.333h-128v128l-213.333-213.333 213.333-213.333v128h128v170.667zM981.333 448l-213.333 213.333v-128h-128v-170.667h128v-128l213.333 213.333zM597.333 320h-170.667v-128h-128l213.333-213.333 213.333 213.333h-128v128z" />
84
- <glyph unicode="&#xe64a;" d="M469.333 618.667c-70.613 0-128-57.387-128-128s57.387-128 128-128 128 57.387 128 128-57.387 128-128 128zM810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM750.293 149.333l-163.413 163.413c-33.707-22.187-74.027-35.413-117.547-35.413-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333c0-43.52-13.227-83.84-35.413-117.547l163.413-163.413-60.373-60.373z" />
85
- <glyph unicode="&#xe64b;" d="M853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 192h-682.667v256h682.667v-256zM853.333 618.667h-682.667v85.333h682.667v-85.333z" />
86
- <glyph unicode="&#xe64c;" d="M853.333 746.667h-135.253l-78.080 85.333h-256l-78.080-85.333h-135.253c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h298.667v89.173c-120.96 20.48-213.333 125.653-213.333 252.16h85.333c0-94.080 76.587-170.667 170.667-170.667s170.667 76.587 170.667 170.667h85.333c0-126.507-92.373-231.68-213.333-252.16v-89.173h298.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM597.333 405.333c0-47.147-38.187-85.333-85.333-85.333s-85.333 38.187-85.333 85.333v170.667c0 47.147 38.187 85.333 85.333 85.333s85.333-38.187 85.333-85.333v-170.667z" />
87
- <glyph unicode="&#xe64d;" d="M810.667 832h-42.667v85.333h-85.333v-85.333h-341.333v85.333h-85.333v-85.333h-42.667c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM512 704c70.613 0 128-57.387 128-128 0-70.827-57.387-128-128-128s-128 57.173-128 128c0 70.613 57.387 128 128 128zM768 192h-512v42.667c0 85.333 170.667 132.267 256 132.267s256-46.933 256-132.267v-42.667z" />
88
- <glyph unicode="&#xe64e;" d="M810.24 469.333c14.507 0 29.013-1.28 43.093-3.2v493.867l-853.333-853.333h493.44c-1.92 14.080-3.2 28.16-3.2 42.667 0 176.64 143.36 320 320 320zM968.747 128.427c0.853 6.827 1.493 13.653 1.493 20.907 0 7.040-0.64 14.080-1.493 20.907l45.013 35.2c4.053 3.2 5.12 8.96 2.56 13.653l-42.667 73.813c-2.56 4.693-8.32 6.4-13.013 4.693l-53.12-21.333c-11.093 8.533-23.040 15.573-36.053 20.907l-7.893 56.533c-0.853 5.12-5.333 8.96-10.667 8.96h-85.333c-5.333 0-9.813-3.84-10.453-8.96l-7.893-56.533c-13.013-5.333-24.96-12.587-36.053-20.907l-53.12 21.333c-4.907 1.92-10.453 0-13.013-4.693l-42.667-73.813c-2.773-4.693-1.493-10.453 2.56-13.653l45.013-35.2c-0.853-6.827-1.493-13.867-1.493-20.907s0.64-14.080 1.493-20.907l-45.013-35.2c-4.053-3.2-5.12-8.96-2.56-13.653l42.667-73.813c2.773-4.693 8.32-6.4 13.013-4.693l53.12 21.333c11.093-8.533 23.040-15.573 36.053-20.907l7.893-56.533c0.853-5.12 5.333-8.96 10.453-8.96h85.333c5.333 0 9.6 3.84 10.453 8.96l7.893 56.533c13.013 5.333 24.96 12.587 36.053 20.907l53.12-21.333c4.907-1.92 10.453 0 13.013 4.693l42.667 73.813c2.773 4.693 1.493 10.453-2.56 13.653l-44.8 35.2zM810.24 85.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64z" />
89
- <glyph unicode="&#xe64f;" d="M554.667 661.333h-85.333v-85.333h85.333v85.333zM554.667 490.667h-85.333v-256h85.333v256zM725.333 916.907l-426.667 0.427c-47.147 0-85.333-38.187-85.333-85.333v-768c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v768c0 47.147-38.187 84.907-85.333 84.907zM725.333 149.333h-426.667v597.333h426.667v-597.333z" />
90
- <glyph unicode="&#xe650;" d="M512 708.267c49.493 0 89.6-40.107 89.6-89.6s-40.107-89.6-89.6-89.6-89.6 40.107-89.6 89.6 40.107 89.6 89.6 89.6zM512 324.267c126.933 0 260.267-62.080 260.267-89.6v-46.933h-520.533v46.933c0 27.52 133.333 89.6 260.267 89.6zM512 789.333c-94.293 0-170.667-76.373-170.667-170.667 0-94.080 76.373-170.667 170.667-170.667s170.667 76.587 170.667 170.667c0 94.293-76.373 170.667-170.667 170.667zM512 405.333c-113.707 0-341.333-56.96-341.333-170.667v-128h682.667v128c0 113.707-227.627 170.667-341.333 170.667z" />
91
- <glyph unicode="&#xe651;" d="M85.333 704h-85.333v-213.333h0.427l-0.427-384c0-47.147 38.187-85.333 85.333-85.333h768v85.333h-768v597.333zM938.667 789.333h-341.333l-85.333 85.333h-256c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM298.667 320l192 256 149.333-192.213 106.667 128.213 149.333-192h-597.333z" />
92
- <glyph unicode="&#xe652;" d="M853.333 298.667c-53.12 0-104.533 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.96 61.44-219.52 160.213-281.173 280.96l93.867 94.293c11.733 11.733 15.147 28.587 10.453 43.307-15.787 47.787-24.32 99.2-24.32 152.32 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.467 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667zM512 832v-426.667l128 128h256v298.667h-384z" />
93
- <glyph unicode="&#xe653;" d="M512 832c-215.253 0-377.813-78.933-512-180.693l512-629.973 512 629.333c-134.187 101.547-296.747 181.333-512 181.333zM554.667 277.333h-85.333v256h85.333v-256zM469.333 618.667v85.333h85.333v-85.333h-85.333z" />
94
- <glyph unicode="&#xe654;" d="M810.667 661.333h-341.333v-256h341.333v256zM896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-84.48 85.333-84.48h768c47.147 0 85.333 37.547 85.333 84.48v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 148.693h-768v598.613h768v-598.613z" />
95
- <glyph unicode="&#xe655;" d="M810.667 789.333h-170.667l-336.853-538.88-111.147 197.547 192 341.333h-170.667l-192-341.333 192-341.333h170.667l336.853 538.88 111.147-197.547-192-341.333h170.667l192 341.333z" />
96
- <glyph unicode="&#xe656;" d="M810.667 618.667h-597.333c-70.613 0-128-57.387-128-128v-256h170.667v-170.667h512v170.667h170.667v256c0 70.613-57.387 128-128 128zM682.667 149.333h-341.333v213.333h341.333v-213.333zM810.667 448c-23.68 0-42.667 18.987-42.667 42.667s18.987 42.667 42.667 42.667c23.68 0 42.667-18.987 42.667-42.667s-18.987-42.667-42.667-42.667zM768 832h-512v-170.667h512v170.667z" />
97
- <glyph unicode="&#xe657;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333zM533.333 661.333h-64v-256l223.787-134.4 32.213 52.48-192 113.92z" />
98
- <glyph unicode="&#xe658;" d="M896 704h-85.333v-384h-554.667v-85.333c0-23.467 19.2-42.667 42.667-42.667h469.333l170.667-170.667v640c0 23.467-19.2 42.667-42.667 42.667zM725.333 448v384c0 23.467-19.2 42.667-42.667 42.667h-554.667c-23.467 0-42.667-19.2-42.667-42.667v-597.333l170.667 170.667h426.667c23.467 0 42.667 19.2 42.667 42.667z" />
99
- <glyph unicode="&#xe659;" d="M768 234.667h-512v85.333h512v-85.333zM768 405.333h-512v85.333h512v-85.333zM768 576h-512v85.333h512v-85.333zM128 21.333l64 64 64-64 64 64 64-64 64 64 64-64 64 64 64-64 64 64 64-64 64 64 64-64v853.333l-64-64-64 64-64-64-64 64-64-64-64 64-64-64-64 64-64-64-64 64-64-64-64 64v-853.333z" />
100
- <glyph unicode="&#xe65a;" d="M853.333 704h-93.227c4.693 13.44 7.893 27.52 7.893 42.667 0 70.613-57.387 128-128 128-44.587 0-83.84-22.827-106.667-57.387l-21.333-29.013-21.333 29.013c-22.827 34.56-62.080 57.387-106.667 57.387-70.613 0-128-57.387-128-128 0-15.147 2.987-29.227 7.893-42.667h-93.227c-47.147 0-84.907-38.187-84.907-85.333l-0.427-469.333c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v469.333c0 47.147-38.187 85.333-85.333 85.333zM640 789.333c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM384 789.333c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM853.333 149.333h-682.667v85.333h682.667v-85.333zM853.333 362.667h-682.667v256h216.747l-88.747-120.96 69.333-49.707 144 196.053 42.667-58.027 101.333-138.027 69.333 49.707-88.747 120.96h216.747v-256z" />
101
- <glyph unicode="&#xe65b;" d="M42.667 64h938.667l-469.333 810.667-469.333-810.667zM554.667 192h-85.333v85.333h85.333v-85.333zM554.667 362.667h-85.333v170.667h85.333v-170.667z" />
102
- <glyph unicode="&#xe65c;" d="M554.453 832c-212.267 0-383.787-171.947-383.787-384h-128l166.187-166.187 2.987-6.187 172.16 172.373h-128c0 164.907 133.76 298.667 298.667 298.667s298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667c-82.56 0-157.013 33.707-210.987 87.68l-60.373-60.373c69.333-69.547 165.12-112.64 271.147-112.64 212.267 0 384.213 171.947 384.213 384s-171.947 384-384.213 384zM512 618.667v-213.333l182.613-108.373 30.72 51.84-149.333 88.533v181.333h-64z" />
103
- <glyph unicode="&#xe65d;" d="M512 874.667c-164.907 0-298.667-133.76-298.667-298.667 0-224 298.667-554.667 298.667-554.667s298.667 330.667 298.667 554.667c0 164.907-133.76 298.667-298.667 298.667zM512 469.333c-58.88 0-106.667 47.787-106.667 106.667s47.787 106.667 106.667 106.667 106.667-47.787 106.667-106.667-47.787-106.667-106.667-106.667z" />
104
- <glyph unicode="&#xe65e;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333zM533.333 661.333h-64v-256l223.787-134.4 32.213 52.48-192 113.92z" />
105
- <glyph unicode="&#xe65f;" d="M661.333 362.667h-33.92l-11.733 11.733c41.813 48.427 66.987 111.36 66.987 180.267 0 153.173-124.16 277.333-277.333 277.333s-277.333-124.16-277.333-277.333 124.16-277.333 277.333-277.333c68.907 0 131.84 25.173 180.267 66.773l11.733-11.733v-33.707l213.333-212.907 63.573 63.573-212.907 213.333zM405.333 362.667c-106.027 0-192 85.973-192 192s85.973 192 192 192 192-85.973 192-192-85.973-192-192-192z" />
106
- <glyph unicode="&#xe660;" d="M829.013 406.4c1.707 13.653 2.987 27.52 2.987 41.6s-1.28 27.947-2.987 41.6l90.24 70.613c8.107 6.4 10.453 17.92 5.12 27.307l-85.333 147.84c-5.333 9.173-16.427 13.013-26.027 9.173l-106.24-42.88c-21.973 16.853-46.080 31.147-72.107 42.027l-16 113.067c-1.92 10.027-10.667 17.92-21.333 17.92h-170.667c-10.667 0-19.413-7.893-21.12-17.92l-16-113.067c-26.027-10.88-50.133-24.96-72.107-42.027l-106.24 42.88c-9.6 3.627-20.693 0-26.027-9.173l-85.333-147.84c-5.333-9.173-2.987-20.693 5.12-27.307l90.027-70.613c-1.707-13.653-2.987-27.52-2.987-41.6s1.28-27.947 2.987-41.6l-90.027-70.613c-8.107-6.4-10.453-17.92-5.12-27.307l85.333-147.84c5.333-9.173 16.427-13.013 26.027-9.173l106.24 42.88c21.973-16.853 46.080-31.147 72.107-42.027l16-113.067c1.707-10.027 10.453-17.92 21.12-17.92h170.667c10.667 0 19.413 7.893 21.12 17.92l16 113.067c26.027 10.88 50.133 24.96 72.107 42.027l106.24-42.88c9.6-3.627 20.693 0 26.027 9.173l85.333 147.84c5.333 9.173 2.987 20.693-5.12 27.307l-90.027 70.613zM512 298.667c-82.56 0-149.333 66.773-149.333 149.333s66.773 149.333 149.333 149.333 149.333-66.773 149.333-149.333-66.773-149.333-149.333-149.333z" />
107
- <glyph unicode="&#xe661;" d="M512 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM736 448c0-9.813-0.853-19.627-2.133-29.227l63.147-49.493c5.547-4.48 7.253-12.587 3.413-18.987l-59.733-103.467c-3.627-6.4-11.52-8.96-18.347-6.4l-74.453 30.080c-15.36-11.947-32.213-21.76-50.56-29.44l-11.093-79.147c-0.853-7.040-7.040-12.587-14.507-12.587h-119.467c-7.467 0-13.653 5.547-14.72 12.587l-11.093 79.147c-18.133 7.467-34.987 17.493-50.56 29.44l-74.24-29.867c-6.827-2.56-14.507 0-18.347 6.4l-59.733 103.467c-3.84 6.4-2.133 14.507 3.413 18.987l63.147 49.28c-1.28 9.6-2.133 19.2-2.133 29.227 0 9.813 0.853 19.627 2.133 29.227l-63.147 49.28c-5.547 4.48-7.253 12.587-3.413 18.987l59.733 103.467c3.84 6.4 11.52 8.96 18.347 6.4l74.24-29.867c15.36 11.733 32.213 21.76 50.56 29.44l11.093 79.147c1.067 7.040 7.253 12.587 14.72 12.587h119.467c7.467 0 13.653-5.547 14.72-12.587l11.093-79.147c18.133-7.467 34.987-17.493 50.56-29.44l74.24 29.867c6.827 2.56 14.507 0 18.347-6.4l59.733-103.467c3.84-6.4 2.133-14.507-3.413-18.987l-63.147-49.493c1.28-9.387 2.133-19.2 2.133-29.013z" />
108
- <glyph unicode="&#xe662;" d="M597.333 448c0 47.147-38.187 85.333-85.333 85.333s-85.333-38.187-85.333-85.333 38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333zM512 832c-212.053 0-384-171.947-384-384h-128l170.667-170.667 170.667 170.667h-128c0 164.907 133.76 298.667 298.667 298.667s298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667c-64.64 0-124.16 20.693-173.227 55.68l-60.373-61.227c64.853-49.92 145.707-79.787 233.6-79.787 212.053 0 384 171.947 384 384s-171.947 384-384 384z" />
109
- <glyph unicode="&#xe663;" d="M469.333-64h85.333v85.333h-85.333v-85.333zM298.667-64h85.333v85.333h-85.333v-85.333zM640-64h85.333v85.333h-85.333v-85.333zM755.413 716.587l-243.413 243.413h-42.667v-323.627l-195.627 195.627-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 195.627 195.627v-323.627h42.667l243.413 243.413-183.040 183.253 183.040 183.253zM554.667 796.587l80.213-80.213-80.213-80v160.213zM634.88 350.080l-80.213-80v160.213l80.213-80.213z" />
110
- <glyph unicode="&#xe664;" d="M298.667-64h85.333v85.333h-85.333v-85.333zM469.333-64h85.333v85.333h-85.333v-85.333zM640-64h85.333v85.333h-85.333v-85.333zM682.667 959.573l-341.333 0.427c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h341.333c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 84.907-85.333 84.907zM682.667 277.333h-341.333v512h341.333v-512z" />
111
- <glyph unicode="&#xe665;" d="M896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 148.693h-768v598.613h768v-598.613zM341.333 277.333h106.667l64-64 64 64h106.667v106.667l64 64-64 64v106.667h-106.667l-64 64-64-64h-106.667v-106.667l-64-64 64-64v-106.667zM512 576c70.613 0 128-57.387 128-128s-57.387-128-128-128v256z" />
112
- <glyph unicode="&#xe666;" d="M331.52 671.573l-65.707 54.4-230.827-277.973 230.827-278.187 65.707 54.4-185.6 223.787 185.6 223.573zM298.667 405.333h85.333v85.333h-85.333v-85.333zM725.333 490.667h-85.333v-85.333h85.333v85.333zM469.333 405.333h85.333v85.333h-85.333v-85.333zM758.187 726.187l-65.707-54.4 185.6-223.787-185.6-223.573 65.707-54.4 230.827 277.973-230.827 278.187z" />
113
- <glyph unicode="&#xe667;" d="M512 746.667c-164.907 0-298.667-133.76-298.667-298.667h85.333c0 117.76 95.573 213.333 213.333 213.333s213.333-95.573 213.333-213.333h85.333c0 164.907-133.76 298.667-298.667 298.667zM554.667 350.293c37.547 16.427 64 53.973 64 97.707 0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667c0-43.733 26.453-81.28 64-97.707v-140.587l-145.707-145.707 60.373-60.373 128 128 128-128 60.373 60.373-145.707 145.707v140.587zM512 917.333c-259.2 0-469.333-210.133-469.333-469.333h85.333c0 212.053 171.947 384 384 384s384-171.947 384-384h85.333c0 259.2-210.133 469.333-469.333 469.333z" />
114
- <glyph unicode="&#xe668;" d="M213.333 874.667c0 23.467-18.987 42.667-42.667 42.667s-42.667-19.2-42.667-42.667v-170.667h-85.333v-256h256v256h-85.333v170.667zM384 277.333c0-55.68 35.84-102.613 85.333-120.107v-178.56h85.333v178.56c49.493 17.707 85.333 64.427 85.333 120.107v85.333h-256v-85.333zM42.667 277.333c0-55.68 35.84-102.613 85.333-120.107v-178.56h85.333v178.56c49.493 17.707 85.333 64.427 85.333 120.107v85.333h-256v-85.333zM896 704v170.667c0 23.467-18.987 42.667-42.667 42.667s-42.667-19.2-42.667-42.667v-170.667h-85.333v-256h256v256h-85.333zM554.667 874.667c0 23.467-18.987 42.667-42.667 42.667s-42.667-19.2-42.667-42.667v-170.667h-85.333v-256h256v256h-85.333v170.667zM725.333 277.333c0-55.68 35.84-102.613 85.333-120.107v-178.56h85.333v178.56c49.493 17.707 85.333 64.427 85.333 120.107v85.333h-256v-85.333z" />
115
- <glyph unicode="&#xe669;" d="M213.333 874.667c0 23.467-18.987 42.667-42.667 42.667s-42.667-19.2-42.667-42.667v-170.667h-85.333v-256h256v256h-85.333v170.667zM384 277.333c0-55.68 35.84-102.613 85.333-120.107v-178.56h85.333v178.56c49.493 17.707 85.333 64.427 85.333 120.107v85.333h-256v-85.333zM42.667 277.333c0-55.68 35.84-102.613 85.333-120.107v-178.56h85.333v178.56c49.493 17.707 85.333 64.427 85.333 120.107v85.333h-256v-85.333zM896 704v170.667c0 23.467-18.987 42.667-42.667 42.667s-42.667-19.2-42.667-42.667v-170.667h-85.333v-256h256v256h-85.333zM554.667 874.667c0 23.467-18.987 42.667-42.667 42.667s-42.667-19.2-42.667-42.667v-170.667h-85.333v-256h256v256h-85.333v170.667zM725.333 277.333c0-55.68 35.84-102.613 85.333-120.107v-178.56h85.333v178.56c49.493 17.707 85.333 64.427 85.333 120.107v85.333h-256v-85.333z" />
116
- <glyph unicode="&#xe66a;" d="M768 661.333v128c0 47.147-38.187 85.333-85.333 85.333h-341.333c-47.147 0-85.333-38.187-85.333-85.333v-128h-42.667v-256l128-256v-128h341.333v128l128 256v256h-42.667zM341.333 789.333h341.333v-128h-85.333v85.333h-42.667v-85.333h-85.333v85.333h-42.667v-85.333h-85.333v128z" />
117
- <glyph unicode="&#xe66b;" d="M341.333 469.333c0 35.413-28.587 64-64 64s-64-28.587-64-64 28.587-64 64-64 64 28.587 64 64zM640 682.667c0 35.413-28.587 64-64 64h-128c-35.413 0-64-28.587-64-64s28.587-64 64-64h128c35.413 0 64 28.587 64 64zM362.667 320c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64zM512 917.333c-258.773 0-469.333-210.56-469.333-469.333s210.56-469.333 469.333-469.333 469.333 210.56 469.333 469.333-210.56 469.333-469.333 469.333zM512 64c-211.84 0-384 172.373-384 384s172.16 384 384 384 384-172.373 384-384-172.16-384-384-384zM746.667 533.333c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64zM661.333 320c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64z" />
118
- <glyph unicode="&#xe66c;" d="M512.213 725.333l-85.547-106.667h170.667l-85.12 106.667zM768 533.333v-170.667l106.667 85.12-106.667 85.547zM256 533.333l-106.667-85.547 106.667-85.12v170.667zM597.333 277.333h-170.667l85.547-106.667 85.12 106.667zM896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 148.693h-768v598.613h768v-598.613z" />
119
- <glyph unicode="&#xe66d;" d="M554.667 576h-85.333v-85.333h85.333v85.333zM725.333 576h-85.333v-85.333h85.333v85.333zM853.333 298.667c-53.12 0-104.32 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.96 61.44-219.52 160.213-281.173 280.96l93.867 94.080c11.733 11.733 15.147 28.587 10.453 43.307-15.787 48-24.32 99.413-24.32 152.533 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.68 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667zM810.667 576v-85.333h85.333v85.333h-85.333z" />
120
- <glyph unicode="&#xe66e;" d="M298.667-64h85.333v85.333h-85.333v-85.333zM469.333-64h85.333v85.333h-85.333v-85.333zM554.667 874.667h-85.333v-426.667h85.333v426.667zM706.773 770.773l-61.653-61.653c73.6-45.013 122.88-125.867 122.88-218.453 0-141.44-114.56-256-256-256s-256 114.56-256 256c0 92.587 49.28 173.44 122.88 218.453l-61.653 61.653c-88.533-61.653-146.56-164.053-146.56-280.107 0-188.587 152.747-341.333 341.333-341.333s341.333 152.747 341.333 341.333c0 116.053-58.027 218.453-146.56 280.107zM640-64h85.333v85.333h-85.333v-85.333z" />
121
- <glyph unicode="&#xe66f;" d="M640 576h-256c-23.68 0-42.667-19.2-42.667-42.667v-512c0-23.467 18.987-42.667 42.667-42.667h256c23.68 0 42.667 19.2 42.667 42.667v512c0 23.467-18.987 42.667-42.667 42.667zM512 320c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM300.8 701.867l60.373-60.373c38.613 38.613 91.947 62.507 150.827 62.507s112.213-23.893 150.827-62.507l60.373 60.373c-53.973 53.973-128.64 87.467-211.2 87.467s-157.227-33.493-211.2-87.467zM512 960c-129.493 0-246.827-52.48-331.947-137.387l60.373-60.373c69.547 69.547 165.547 112.427 271.573 112.427s202.027-42.88 271.573-112.427l60.373 60.373c-85.12 84.907-202.453 137.387-331.947 137.387z" />
122
- <glyph unicode="&#xe670;" d="M298.667-64h85.333v85.333h-85.333v-85.333zM512 405.333c70.613 0 127.573 57.387 127.573 128l0.427 256c0 70.827-57.173 128-128 128-70.613 0-128-57.173-128-128v-256c0-70.613 57.387-128 128-128zM469.333-64h85.333v85.333h-85.333v-85.333zM640-64h85.333v85.333h-85.333v-85.333zM810.667 533.333h-72.533c0-128-108.16-217.6-226.133-217.6-117.76 0-226.133 89.6-226.133 217.6h-72.533c0-145.707 116.053-266.027 256-286.72v-139.947h85.333v139.947c139.947 20.693 256 141.013 256 286.72z" />
123
- <glyph unicode="&#xe671;" d="M682.667 704v85.333c0 47.147-38.187 85.333-85.333 85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-85.333h-256v-554.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v554.667h-256zM426.667 789.333h170.667v-85.333h-170.667v85.333zM384 192v384l320-170.667-320-213.333z" />
124
- <glyph unicode="&#xe672;" d="M734.293 576l-186.88 279.68c-8.107 12.373-21.76 18.133-35.413 18.133s-27.307-5.973-35.413-18.133l-186.88-279.68h-204.373c-23.467 0-42.667-19.2-42.667-42.667 0-4.053 0.64-7.893 1.493-11.52l108.16-395.52c10.027-35.84 43.093-62.293 82.347-62.293h554.667c39.253 0 72.32 26.453 82.133 62.507l108.16 395.52c1.067 3.413 1.707 7.253 1.707 11.307 0 23.467-19.2 42.667-42.667 42.667h-204.373zM384 576l128 187.733 128-187.733h-256zM512 234.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
125
- <glyph unicode="&#xe673;" d="M298.667 192c-47.147 0-84.907-38.187-84.907-85.333s37.76-85.333 84.907-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM42.667 874.667v-85.333h85.333l153.387-323.627-57.6-104.533c-6.613-12.373-10.453-26.24-10.453-41.173 0-47.147 38.187-85.333 85.333-85.333h512v85.333h-493.867c-5.973 0-10.667 4.693-10.667 10.667 0 1.92 0.427 3.627 1.28 5.12l38.187 69.547h317.867c32 0 59.947 17.707 74.667 43.947l152.533 276.907c3.413 5.973 5.333 13.013 5.333 20.48 0 23.68-19.2 42.667-42.667 42.667h-630.827l-40.533 85.333h-139.307zM725.333 192c-47.147 0-84.907-38.187-84.907-85.333s37.76-85.333 84.907-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
126
- <glyph unicode="&#xe674;" d="M768 746.667v85.333c0 47.147-38.187 85.333-85.333 85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-85.333h-213.333v-469.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v469.333h-213.333zM512 832h170.667v-85.333h-170.667v85.333zM512 320v298.667l234.667-128-234.667-170.667zM128 576h-85.333v-469.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333h-682.667v469.333z" />
127
- <glyph unicode="&#xe675;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM341.333 362.667h-85.333v85.333h85.333v-85.333zM341.333 490.667h-85.333v85.333h85.333v-85.333zM341.333 618.667h-85.333v85.333h85.333v-85.333zM640 362.667h-213.333v85.333h213.333v-85.333zM768 490.667h-341.333v85.333h341.333v-85.333zM768 618.667h-341.333v85.333h341.333v-85.333z" />
128
- <glyph unicode="&#xe676;" d="M530.987 277.333h89.173l-217.813 554.667h-79.147l-218.027-554.667h89.173l48 128h240.853l47.787-128zM274.347 490.667l88.32 235.733 88.32-235.733h-176.64zM920.96 465.707l-344.96-344.96-156.587 156.587-60.373-60.373 216.96-216.96 405.333 405.333-60.373 60.373z" />
129
- <glyph unicode="&#xe677;" d="M512 349.867l158.293-115.2-60.587 186.027 158.293 112.64h-194.133l-61.867 192-61.867-192h-194.133l158.293-112.64-60.373-186.027z" />
130
- <glyph unicode="&#xe678;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM692.48 192l-180.48 108.8-180.48-108.8 47.787 205.227-159.147 138.027 209.92 17.92 81.92 193.493 81.92-193.493 209.92-17.92-159.147-138.027 47.787-205.227z" />
131
- <glyph unicode="&#xe679;" d="M853.333 789.333h-682.667v-85.333h682.667v85.333zM896 362.667v85.333l-42.667 213.333h-682.667l-42.667-213.333v-85.333h42.667v-256h426.667v256h170.667v-256h85.333v256h42.667zM512 192h-256v170.667h256v-170.667z" />
132
- <glyph unicode="&#xe67a;" d="M597.333 234.667h-426.667v-85.333h426.667v85.333zM853.333 576h-682.667v-85.333h682.667v85.333zM170.667 320h682.667v85.333h-682.667v-85.333zM170.667 746.667v-85.333h682.667v85.333h-682.667z" />
133
- <glyph unicode="&#xe67b;" d="M298.24 490.667l-170.24-170.667 170.24-170.667v128h299.093v85.333h-299.093v128zM896 576l-170.24 170.667v-128h-299.093v-85.333h299.093v-128l170.24 170.667z" />
134
- <glyph unicode="&#xe67c;" d="M682.667 234.24v299.093h-85.333v-299.093h-128l170.667-170.24 170.667 170.24h-128zM384 832l-170.667-170.24h128v-299.093h85.333v299.093h128l-170.667 170.24z" />
135
- <glyph unicode="&#xe67d;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM277.333 576l149.333 149.333 149.333-149.333h-106.667v-170.667h-85.333v170.667h-106.667zM746.667 320l-149.333-149.333-149.333 149.333h106.667v170.667h85.333v-170.667h106.667z" />
136
- <glyph unicode="&#xe67e;" d="M512 266.667l170.667 170.667h-128v384h-85.333v-384h-128l170.667-170.667zM896 821.333h-256v-84.693h256v-598.613h-768v598.613h256v84.693h-256c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333z" />
137
- <glyph unicode="&#xe67f;" d="M896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 149.333h-768v597.333h426.667v-170.667h341.333v-426.667z" />
138
- <glyph unicode="&#xe680;" d="M42.667 576h85.333v85.333h-85.333v-85.333zM42.667 405.333h85.333v85.333h-85.333v-85.333zM42.667 746.667h85.333v85.333c-47.147 0-85.333-38.187-85.333-85.333zM384 64h85.333v85.333h-85.333v-85.333zM42.667 234.667h85.333v85.333h-85.333v-85.333zM128 64v85.333h-85.333c0-47.147 38.187-85.333 85.333-85.333zM896 832h-341.333v-256h426.667v170.667c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h85.333v85.333h-85.333v-85.333zM384 746.667h85.333v85.333h-85.333v-85.333zM213.333 64h85.333v85.333h-85.333v-85.333zM213.333 746.667h85.333v85.333h-85.333v-85.333zM896 64c47.147 0 85.333 38.187 85.333 85.333h-85.333v-85.333zM896 405.333h85.333v85.333h-85.333v-85.333zM554.667 64h85.333v85.333h-85.333v-85.333zM725.333 64h85.333v85.333h-85.333v-85.333z" />
139
- <glyph unicode="&#xe681;" d="M768 832v-85.333h-85.333v85.333h-341.333v-85.333h-85.333v85.333h-85.333v-768h85.333v85.333h85.333v-85.333h341.333v85.333h85.333v-85.333h85.333v768h-85.333zM341.333 234.667h-85.333v85.333h85.333v-85.333zM341.333 405.333h-85.333v85.333h85.333v-85.333zM341.333 576h-85.333v85.333h85.333v-85.333zM768 234.667h-85.333v85.333h85.333v-85.333zM768 405.333h-85.333v85.333h85.333v-85.333zM768 576h-85.333v85.333h85.333v-85.333z" />
140
- <glyph unicode="&#xe682;" d="M640 832h-384c-35.413 0-65.707-21.547-78.507-52.053l-128.64-300.8c-3.84-9.813-6.187-20.267-6.187-31.147v-81.707l0.427-0.427-0.427-3.2c0-47.147 38.187-85.333 85.333-85.333h269.44l-40.747-194.987c-0.853-4.267-1.493-8.747-1.493-13.44 0-17.707 7.253-33.707 18.773-45.227l45.44-45.013 280.96 280.96c15.36 15.573 24.96 36.907 24.96 60.373v426.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 832v-512h170.667v512h-170.667z" />
141
- <glyph unicode="&#xe683;" d="M512 704c0 23.467-19.2 42.667-42.667 42.667h-221.227l28.373 135.467c0.64 3.2 1.067 6.613 1.067 10.027 0 13.227-5.333 25.173-14.080 33.92l-33.92 33.92-210.773-210.773c-11.52-11.52-18.773-27.52-18.773-45.227v-277.333c0-35.413 28.587-64 64-64h288c26.453 0 49.28 16 58.88 39.040l96.64 225.707c2.773 7.253 4.48 14.933 4.48 23.253v53.333zM960 533.333h-288c-26.453 0-49.28-16-58.88-39.040l-96.64-225.707c-2.773-7.253-4.48-14.933-4.48-23.253v-53.333c0-23.467 19.2-42.667 42.667-42.667h221.227l-28.373-135.467c-0.64-3.2-1.067-6.613-1.067-10.027 0-13.227 5.333-25.173 14.080-33.92l33.92-33.92 210.773 210.773c11.52 11.52 18.773 27.52 18.773 45.227v277.333c0 35.413-28.587 64-64 64z" />
142
- <glyph unicode="&#xe684;" d="M42.667 64h170.667v512h-170.667v-512zM981.333 533.333c0 47.147-38.187 85.333-85.333 85.333h-269.44l40.747 194.987c0.853 4.267 1.493 8.747 1.493 13.44 0 17.707-7.253 33.707-18.773 45.227l-45.44 45.013-280.96-280.96c-15.36-15.573-24.96-36.907-24.96-60.373v-426.667c0-47.147 38.187-85.333 85.333-85.333h384c35.413 0 65.707 21.547 78.507 52.053l128.64 300.8c3.84 9.813 6.187 20.267 6.187 31.147v81.707l-0.427 0.427 0.427 3.2z" />
143
- <glyph unicode="&#xe685;" d="M128 576h597.333v85.333h-597.333v-85.333zM128 405.333h597.333v85.333h-597.333v-85.333zM128 234.667h597.333v85.333h-597.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM810.667 661.333v-85.333h85.333v85.333h-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333z" />
144
- <glyph unicode="&#xe686;" d="M810.667 832h-42.667v85.333h-85.333v-85.333h-341.333v85.333h-85.333v-85.333h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v469.333h597.333v-469.333zM298.667 533.333h213.333v-213.333h-213.333z" />
145
- <glyph unicode="&#xe687;" d="M813.653 749.653l-60.373-60.373c61.867-61.653 100.053-146.987 100.053-241.28 0-188.587-152.747-341.333-341.333-341.333s-341.333 152.747-341.333 341.333c0 174.080 130.347 317.44 298.667 338.347v-86.187c-120.96-20.267-213.333-125.44-213.333-252.16 0-141.44 114.56-256 256-256s256 114.56 256 256c0 70.613-28.587 134.613-74.88 181.12l-60.373-60.373c30.72-30.933 49.92-73.6 49.92-120.747 0-94.293-76.373-170.667-170.667-170.667s-170.667 76.373-170.667 170.667c0 79.36 54.613 145.707 128 164.693v-91.093c-25.387-14.72-42.667-42.027-42.667-73.6 0-47.147 38.187-85.333 85.333-85.333s85.333 38.187 85.333 85.333c0 31.573-17.28 58.667-42.667 73.6v353.067h-42.667c-235.733 0-426.667-190.933-426.667-426.667 0-235.52 190.933-426.667 426.667-426.667 235.52 0 426.667 191.147 426.667 426.667 0 117.76-47.787 224.427-125.013 301.653z" />
146
- <glyph unicode="&#xe688;" d="M549.12 316.8l-108.373 107.093 1.28 1.28c74.24 82.773 127.147 177.92 158.293 278.613h125.013v85.547h-298.667v85.333h-85.333v-85.333h-298.667v-84.907h476.587c-28.8-82.347-73.813-160.427-135.253-228.693-39.68 44.16-72.533 92.16-98.56 142.933h-85.333c31.147-69.547 73.813-135.253 127.147-194.56l-216.96-214.4 60.373-60.373 213.333 213.333 132.693-132.693 32.427 86.827zM789.333 533.333h-85.333l-192-512h85.333l48 128h202.667l48-128h85.333l-192 512zM677.333 234.667l69.333 184.96 69.333-184.96h-138.667z" />
147
- <glyph unicode="&#xe689;" d="M682.667 192l97.92 97.92-208.213 208-170.667-170.667-316.373 316.373 60.373 60.373 256-256 170.667 170.667 268.373-268.587 97.92 97.92v-256z" />
148
- <glyph unicode="&#xe68a;" d="M938.667 448l-170.667 170.667v-128h-640v-85.333h640v-128z" />
149
- <glyph unicode="&#xe68b;" d="M682.667 704l97.92-97.92-208.213-208-170.667 170.667-316.373-316.373 60.373-60.373 256 256 170.667-170.667 268.373 268.587 97.92-97.92v256z" />
150
- <glyph unicode="&#xe68c;" d="M725.333 832h-426.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667 298.667 128 298.667-128v682.667c0 47.147-38.187 85.333-85.333 85.333z" />
151
- <glyph unicode="&#xe68d;" d="M725.333 832h-426.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667 298.667 128 298.667-128v682.667c0 47.147-38.187 85.333-85.333 85.333zM725.333 192l-213.333 92.8-213.333-92.8v554.667h426.667v-554.667z" />
152
- <glyph unicode="&#xe68e;" d="M512 917.333l-384-170.667v-256c0-237.013 163.627-458.027 384-512 220.373 53.973 384 274.987 384 512v256l-384 170.667zM426.667 234.667l-170.667 170.667 60.373 60.373 110.293-110.293 280.96 280.96 60.373-60.373-341.333-341.333z" />
153
- <glyph unicode="&#xe68f;" d="M853.333 405.333h-725.333c-23.467 0-42.667-19.2-42.667-42.667v-256c0-23.467 19.2-42.667 42.667-42.667h725.333c23.467 0 42.667 19.2 42.667 42.667v256c0 23.467-19.2 42.667-42.667 42.667zM853.333 832h-725.333c-23.467 0-42.667-19.2-42.667-42.667v-256c0-23.467 19.2-42.667 42.667-42.667h725.333c23.467 0 42.667 19.2 42.667 42.667v256c0 23.467-19.2 42.667-42.667 42.667z" />
154
- <glyph unicode="&#xe690;" d="M170.667 192h128v554.667h-128v-554.667zM768 746.667v-554.667h128v554.667h-128zM341.333 192h384v554.667h-384v-554.667z" />
155
- <glyph unicode="&#xe691;" d="M298.667 149.333h426.667v640h-426.667v-640zM85.333 234.667h170.667v469.333h-170.667v-469.333zM768 704v-469.333h170.667v469.333h-170.667z" />
156
- <glyph unicode="&#xe692;" d="M426.667 192h213.333v554.667h-213.333v-554.667zM170.667 192h213.333v554.667h-213.333v-554.667zM682.667 746.667v-554.667h213.333v554.667h-213.333z" />
157
- <glyph unicode="&#xe693;" d="M85.333 64h810.667v128h-810.667v-128zM853.333 618.667h-725.333c-23.467 0-42.667-19.2-42.667-42.667v-256c0-23.467 19.2-42.667 42.667-42.667h725.333c23.467 0 42.667 19.2 42.667 42.667v256c0 23.467-19.2 42.667-42.667 42.667zM85.333 832v-128h810.667v128h-810.667z" />
158
- <glyph unicode="&#xe694;" d="M170.667 320h725.333v85.333h-725.333v-85.333zM170.667 149.333h725.333v85.333h-725.333v-85.333zM170.667 490.667h725.333v85.333h-725.333v-85.333zM170.667 746.667v-85.333h725.333v85.333h-725.333z" />
159
- <glyph unicode="&#xe695;" d="M170.667 362.667h170.667v170.667h-170.667v-170.667zM170.667 149.333h170.667v170.667h-170.667v-170.667zM170.667 576h170.667v170.667h-170.667v-170.667zM384 362.667h512v170.667h-512v-170.667zM384 149.333h512v170.667h-512v-170.667zM384 746.667v-170.667h512v170.667h-512z" />
160
- <glyph unicode="&#xe696;" d="M170.667 490.667h213.333v256h-213.333v-256zM170.667 192h213.333v256h-213.333v-256zM426.667 192h213.333v256h-213.333v-256zM682.667 192h213.333v256h-213.333v-256zM426.667 490.667h213.333v256h-213.333v-256zM682.667 746.667v-256h213.333v256h-213.333z" />
161
- <glyph unicode="&#xe697;" d="M426.667 192h213.333v256h-213.333v-256zM170.667 192h213.333v554.667h-213.333v-554.667zM682.667 192h213.333v256h-213.333v-256zM426.667 746.667v-256h469.333v256h-469.333z" />
162
- <glyph unicode="&#xe698;" d="M170.667 192h725.333v256h-725.333v-256zM170.667 746.667v-256h725.333v256h-725.333z" />
163
- <glyph unicode="&#xe699;" d="M256 746.667h-128c-23.467 0-42.667-19.2-42.667-42.667v-512c0-23.467 19.2-42.667 42.667-42.667h128c23.467 0 42.667 19.2 42.667 42.667v512c0 23.467-19.2 42.667-42.667 42.667zM853.333 746.667h-128c-23.467 0-42.667-19.2-42.667-42.667v-512c0-23.467 19.2-42.667 42.667-42.667h128c23.467 0 42.667 19.2 42.667 42.667v512c0 23.467-19.2 42.667-42.667 42.667zM554.667 746.667h-128c-23.467 0-42.667-19.2-42.667-42.667v-512c0-23.467 19.2-42.667 42.667-42.667h128c23.467 0 42.667 19.2 42.667 42.667v512c0 23.467-19.2 42.667-42.667 42.667z" />
164
- <glyph unicode="&#xe69a;" d="M512 768c-213.333 0-395.52-132.693-469.333-320 73.813-187.307 256-320 469.333-320 213.547 0 395.52 132.693 469.333 320-73.813 187.307-255.787 320-469.333 320zM512 234.667c-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333-95.573-213.333-213.333-213.333zM512 576c-70.613 0-128-57.387-128-128s57.387-128 128-128 128 57.387 128 128-57.387 128-128 128z" />
165
- <glyph unicode="&#xe69b;" d="M512 661.333c117.76 0 213.333-95.573 213.333-213.333 0-27.52-5.547-53.76-15.147-77.867l124.8-124.8c64.427 53.76 115.2 123.307 146.56 202.667-74.027 187.307-256 320-469.547 320-59.733 0-116.907-10.667-170.027-29.867l92.16-91.947c24.107 9.387 50.347 15.147 77.867 15.147zM85.333 777.6l116.693-116.693c-70.4-55.040-126.080-128.213-159.36-212.907 73.813-187.307 256-320 469.333-320 66.133 0 129.28 12.8 187.093 36.053l18.133-18.133 124.373-124.587 54.4 54.187-756.267 756.48-54.4-54.4zM321.28 541.867l65.92-65.92c-1.92-9.173-3.2-18.347-3.2-27.947 0-70.613 57.387-128 128-128 9.6 0 18.773 1.28 27.733 3.2l65.92-65.92c-28.373-14.080-59.947-22.613-93.653-22.613-117.76 0-213.333 95.573-213.333 213.333 0 33.707 8.533 65.28 22.613 93.867zM504.96 575.36l134.4-134.4 0.64 7.040c0 70.613-57.387 128-128 128l-7.040-0.64z" />
166
- <glyph unicode="&#xe69c;" d="M853.333 704h-93.227c4.693 13.44 7.893 27.733 7.893 42.667 0 70.613-57.387 128-128 128-44.587 0-83.84-22.827-106.667-57.387l-21.333-29.013-21.333 29.013c-22.827 34.56-62.080 57.387-106.667 57.387-70.613 0-128-57.387-128-128 0-14.933 2.987-29.227 7.893-42.667h-93.227c-47.147 0-84.907-38.187-84.907-85.333l-0.427-469.333c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v469.333c0 47.147-38.187 85.333-85.333 85.333zM640 789.333c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM384 789.333c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM853.333 149.333h-682.667v85.333h682.667v-85.333zM853.333 362.667h-682.667v256h216.747l-88.747-120.96 69.333-49.707 144 196.053 42.667-58.027 101.333-138.027 69.333 49.707-88.747 120.96h216.747v-256z" />
167
- <glyph unicode="&#xe69d;" d="M853.333 874.667h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-469.333c0-47.147 38.187-85.333 85.333-85.333h170.667v-213.333l170.667 85.333 170.667-85.333v213.333h170.667c47.147 0 85.333 38.187 85.333 85.333v469.333c0 47.147-38.187 85.333-85.333 85.333zM853.333 320h-682.667v85.333h682.667v-85.333zM853.333 533.333h-682.667v256h682.667v-256z" />
168
- <glyph unicode="&#xe69e;" d="M853.333 704h-128v85.333c0 47.147-38.187 85.333-85.333 85.333h-256c-47.147 0-85.333-38.187-85.333-85.333v-85.333h-128c-47.147 0-85.333-38.187-85.333-85.333v-469.333c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v469.333c0 47.147-38.187 85.333-85.333 85.333zM384 789.333h256v-85.333h-256v85.333zM853.333 149.333h-682.667v85.333h682.667v-85.333zM853.333 362.667h-682.667v256h128v-85.333h85.333v85.333h256v-85.333h85.333v85.333h128v-256z" />
169
- <glyph unicode="&#xe69f;" d="M1024 960v-1024h-1024v1024h1024zM1045.333 981.333h-1066.667v-1066.667h1066.667v1066.667zM853.333 704h-170.667v85.333c0 47.147-38.187 85.333-85.333 85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-85.333h-170.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-469.333c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v469.333c0 47.147-38.187 85.333-85.333 85.333zM597.333 704h-170.667v85.333h170.667v-85.333z" />
170
- <glyph unicode="&#xe6a0;" d="M512 874.667c-235.52 0-426.667-190.933-426.667-426.667s191.147-426.667 426.667-426.667 426.667 190.933 426.667 426.667-191.147 426.667-426.667 426.667zM554.667 234.667h-85.333v85.333h85.333v-85.333zM554.667 405.333h-85.333v256h85.333v-256z" />
171
- <glyph unicode="&#xe6a1;" d="M42.667 64h938.667l-469.333 810.667-469.333-810.667zM554.667 192h-85.333v85.333h85.333v-85.333zM554.667 362.667h-85.333v170.667h85.333v-170.667z" />
172
- <glyph unicode="&#xe6a2;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 256c-106.027 0-192 85.973-192 192s85.973 192 192 192 192-85.973 192-192-85.973-192-192-192zM512 490.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667z" />
173
- <glyph unicode="&#xe6a3;" d="M469.333 234.667c0-23.467 19.2-42.667 42.667-42.667s42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667zM469.333 832v-170.667h85.333v81.92c144.64-20.693 256-144.853 256-295.253 0-164.907-133.76-298.667-298.667-298.667s-298.667 133.76-298.667 298.667c0 71.68 25.173 137.173 67.2 188.8l231.467-231.467 60.373 60.373-290.133 290.133-0.427-0.853c-93.227-69.973-153.813-181.333-153.813-306.987 0-212.053 171.52-384 383.787-384s384.213 171.947 384.213 384-171.947 384-384.213 384h-42.453zM768 448c0 23.467-19.2 42.667-42.667 42.667s-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667zM256 448c0-23.467 19.2-42.667 42.667-42.667s42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667z" />
174
- <glyph unicode="&#xe6a4;" d="M810.667 789.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM469.333 490.667h-64v21.333h-85.333v-128h85.333v21.333h64v-42.667c0-23.467-18.987-42.667-42.667-42.667h-128c-23.68 0-42.667 19.2-42.667 42.667v170.667c0 23.467 18.987 42.667 42.667 42.667h128c23.68 0 42.667-19.2 42.667-42.667v-42.667zM768 490.667h-64v21.333h-85.333v-128h85.333v21.333h64v-42.667c0-23.467-18.987-42.667-42.667-42.667h-128c-23.68 0-42.667 19.2-42.667 42.667v170.667c0 23.467 18.987 42.667 42.667 42.667h128c23.68 0 42.667-19.2 42.667-42.667v-42.667z" />
175
- <glyph unicode="&#xe6a5;" d="M426.667 106.667h170.667v682.667h-170.667v-682.667zM170.667 106.667h170.667v341.333h-170.667v-341.333zM682.667 576v-469.333h170.667v469.333h-170.667z" />
176
- <glyph unicode="&#xe6a6;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM640 576h-170.667v-85.333h170.667v-85.333h-170.667v-85.333h170.667v-85.333h-256v426.667h256v-85.333z" />
177
- <glyph unicode="&#xe6a7;" d="M170.667 192l362.667 256-362.667 256v-512zM554.667 704v-512l362.667 256-362.667 256z" />
178
- <glyph unicode="&#xe6a8;" d="M469.333 192v512l-362.667-256 362.667-256zM490.667 448l362.667-256v512l-362.667-256z" />
179
- <glyph unicode="&#xe6a9;" d="M640 640v234.667h-256v-234.667l128-128 128 128zM320 576h-234.667v-256h234.667l128 128-128 128zM384 256v-234.667h256v234.667l-128 128-128-128zM704 576l-128-128 128-128h234.667v256h-234.667z" />
180
- <glyph unicode="&#xe6aa;" d="M725.333 106.667c-12.16 0-24.107 2.56-32.64 6.4-30.080 16-51.84 37.76-72.96 101.76-21.973 66.347-62.72 97.707-102.187 128.213-33.707 26.027-68.693 52.907-98.773 107.733-22.4 40.96-34.773 85.547-34.773 125.227 0 119.68 93.653 213.333 213.333 213.333s213.333-93.653 213.333-213.333h85.333c0 167.467-131.2 298.667-298.667 298.667s-298.667-131.2-298.667-298.667c0-53.973 16.213-113.067 45.44-166.4 38.827-70.613 84.693-105.813 121.6-134.4 34.56-26.667 59.52-45.867 73.173-87.253 25.6-77.44 58.667-121.173 116.267-151.467 22.187-10.027 45.653-15.147 70.187-15.147 94.080 0 170.667 76.587 170.667 170.667h-85.333c0-47.147-38.187-85.333-85.333-85.333zM325.76 847.573l-60.373 60.373c-84.907-84.907-137.387-202.24-137.387-331.947s52.48-247.040 137.387-331.947l60.373 60.373c-69.547 69.547-112.427 165.547-112.427 271.573s42.88 202.027 112.427 271.573zM490.667 576c0-58.88 47.787-106.667 106.667-106.667s106.667 47.787 106.667 106.667-47.787 106.667-106.667 106.667-106.667-47.787-106.667-106.667z" />
181
- <glyph unicode="&#xe6ab;" d="M810.667 789.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM469.333 320h-64v85.333h-85.333v-85.333h-64v256h64v-106.667h85.333v106.667h64v-256zM768 362.667c0-23.467-18.987-42.667-42.667-42.667h-32v-64h-64v64h-32c-23.68 0-42.667 19.2-42.667 42.667v170.667c0 23.467 18.987 42.667 42.667 42.667h128c23.68 0 42.667-19.2 42.667-42.667v-170.667zM618.667 384h85.333v128h-85.333v-128z" />
182
- <glyph unicode="&#xe6ac;" d="M512 789.333v128l-170.667-170.667 170.667-170.667v128c141.44 0 256-114.56 256-256 0-43.307-10.88-83.84-29.653-119.68l62.293-62.293c33.067 52.907 52.693 114.987 52.693 181.973 0 188.587-152.747 341.333-341.333 341.333zM512 192c-141.44 0-256 114.56-256 256 0 43.307 10.88 83.84 29.653 119.68l-62.293 62.293c-33.067-52.907-52.693-114.987-52.693-181.973 0-188.587 152.747-341.333 341.333-341.333v-128l170.667 170.667-170.667 170.667v-128z" />
183
- <glyph unicode="&#xe6ad;" d="M512 362.667c70.613 0 127.573 57.387 127.573 128l0.427 256c0 70.827-57.173 128-128 128-70.613 0-128-57.173-128-128v-256c0-70.613 57.387-128 128-128zM738.133 490.667c0-128-108.16-217.6-226.133-217.6-117.76 0-226.133 89.6-226.133 217.6h-72.533c0-145.707 116.053-266.027 256-286.72v-139.947h85.333v139.947c139.947 20.693 256 141.013 256 286.72h-72.533z" />
184
- <glyph unicode="&#xe6ae;" d="M512 362.667c70.613 0 127.573 57.387 127.573 128l0.427 256c0 70.827-57.173 128-128 128-70.613 0-128-57.173-128-128v-256c0-70.613 57.387-128 128-128zM460.8 750.933c0 28.16 23.040 51.2 51.2 51.2s51.2-23.040 51.2-51.2l-0.427-264.533c0-28.16-22.827-51.2-50.773-51.2-28.16 0-51.2 23.040-51.2 51.2v264.533zM738.133 490.667c0-128-108.16-217.6-226.133-217.6-117.76 0-226.133 89.6-226.133 217.6h-72.533c0-145.707 116.053-266.027 256-286.72v-139.947h85.333v139.947c139.947 20.693 256 141.013 256 286.72h-72.533z" />
185
- <glyph unicode="&#xe6af;" d="M810.667 490.667h-72.533c0-31.787-6.613-61.227-18.56-87.467l52.48-52.48c24.32 41.6 38.613 89.173 38.613 139.947zM639.36 483.627c0 2.347 0.64 4.693 0.64 7.040v256c0 70.827-57.387 128-128 128s-128-57.173-128-128v-7.893l255.36-255.147zM182.4 832l-54.4-54.4 256.427-256.427v-30.72c0-70.613 56.96-128 127.573-128 9.6 0 18.773 1.28 27.733 3.2l70.827-70.827c-30.507-14.080-64-21.973-98.56-21.973-117.76 0-226.133 89.6-226.133 217.6h-72.533c0-145.707 116.053-266.027 256-286.72v-139.733h85.333v139.947c38.613 5.76 75.307 19.2 108.373 38.613l178.56-178.56 54.4 54.187-713.6 713.813z" />
186
- <glyph unicode="&#xe6b0;" d="M768 789.333l85.333-170.667h-128l-85.333 170.667h-85.333l85.333-170.667h-128l-85.333 170.667h-85.333l85.333-170.667h-128l-85.333 170.667h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v597.333h-170.667z" />
187
- <glyph unicode="&#xe6b1;" d="M170.667 704h-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333zM853.333 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM810.667 490.667h-170.667v-170.667h-85.333v170.667h-170.667v85.333h170.667v170.667h85.333v-170.667h170.667v-85.333z" />
188
- <glyph unicode="&#xe6b2;" d="M170.667 704h-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333zM853.333 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM810.667 490.667h-426.667v85.333h426.667v-85.333zM640 320h-256v85.333h256v-85.333zM810.667 661.333h-426.667v85.333h426.667v-85.333z" />
189
- <glyph unicode="&#xe6b3;" d="M853.333 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM768 661.333h-128v-234.667c0-58.88-47.787-106.667-106.667-106.667s-106.667 47.787-106.667 106.667 47.787 106.667 106.667 106.667c24.107 0 46.080-8.32 64-21.76v235.093h170.667v-85.333zM170.667 704h-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333z" />
190
- <glyph unicode="&#xe6b4;" d="M981.333 448l-104.107 118.613 14.507 157.227-154.027 34.773-80.64 135.68-145.067-62.293-145.067 62.293-80.64-135.68-154.027-34.773 14.507-157.227-104.107-118.613 104.107-118.613-14.507-157.227 154.027-34.773 80.64-135.68 145.067 62.293 145.067-62.293 80.64 135.68 154.027 34.773-14.507 157.227 104.107 118.613zM554.667 234.667h-85.333v85.333h85.333v-85.333zM554.667 405.333h-85.333v256h85.333v-256z" />
191
- <glyph unicode="&#xe6b5;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333 0 78.933 27.093 151.253 71.893 209.067l478.507-478.507c-57.813-44.8-130.133-71.893-209.067-71.893zM781.44 238.933l-478.507 478.507c57.813 44.8 130.133 71.893 209.067 71.893 188.587 0 341.333-152.747 341.333-341.333 0-78.933-27.093-151.253-71.893-209.067z" />
192
- <glyph unicode="&#xe6b6;" d="M256 149.333h170.667v597.333h-170.667v-597.333zM597.333 746.667v-597.333h170.667v597.333h-170.667z" />
193
- <glyph unicode="&#xe6b7;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM469.333 277.333h-85.333v341.333h85.333v-341.333zM640 277.333h-85.333v341.333h85.333v-341.333z" />
194
- <glyph unicode="&#xe6b8;" d="M384 277.333h85.333v341.333h-85.333v-341.333zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333zM554.667 277.333h85.333v341.333h-85.333v-341.333z" />
195
- <glyph unicode="&#xe6b9;" d="M341.333 746.667v-597.333l469.333 298.667z" />
196
- <glyph unicode="&#xe6ba;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM426.667 256v384l256-192-256-192z" />
197
- <glyph unicode="&#xe6bb;" d="M426.667 256l256 192-256 192v-384zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333z" />
198
- <glyph unicode="&#xe6bc;" d="M597.333 533.333h-512v-85.333h512v85.333zM597.333 704h-512v-85.333h512v85.333zM768 362.667v170.667h-85.333v-170.667h-170.667v-85.333h170.667v-170.667h85.333v170.667h170.667v85.333h-170.667zM85.333 277.333h341.333v85.333h-341.333v-85.333z" />
199
- <glyph unicode="&#xe6bd;" d="M682.667 704v85.333c0 47.147-38.187 85.333-85.333 85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-85.333h-256v-554.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v554.667h-256zM426.667 789.333h170.667v-85.333h-170.667v85.333zM384 192v384l320-170.667-320-213.333z" />
200
- <glyph unicode="&#xe6be;" d="M170.667 704h-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333zM853.333 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM810.667 490.667h-170.667v-170.667h-85.333v170.667h-170.667v85.333h170.667v170.667h85.333v-170.667h170.667v-85.333z" />
201
- <glyph unicode="&#xe6bf;" d="M640 704h-512v-85.333h512v85.333zM640 533.333h-512v-85.333h512v85.333zM128 277.333h341.333v85.333h-341.333v-85.333zM725.333 704v-349.227c-13.44 4.907-27.52 7.893-42.667 7.893-70.613 0-128-57.387-128-128s57.387-128 128-128 128 57.387 128 128v384h128v85.333h-213.333z" />
202
- <glyph unicode="&#xe6c0;" d="M138.027 697.6c-30.933-12.16-52.693-43.307-52.693-78.933v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333h-498.987l352.64 142.293-29.44 71.040-539.52-219.733zM298.667 106.667c-70.613 0-128 57.387-128 128s57.387 128 128 128 128-57.387 128-128-57.387-128-128-128zM853.333 448h-85.333v85.333h-85.333v-85.333h-512v170.667h682.667v-170.667z" />
203
- <glyph unicode="&#xe6c1;" d="M896 746.667v-597.333h85.333v597.333h-85.333zM725.333 149.333h85.333v597.333h-85.333v-597.333zM597.333 746.667h-512c-23.467 0-42.667-19.2-42.667-42.667v-512c0-23.467 19.2-42.667 42.667-42.667h512c23.467 0 42.667 19.2 42.667 42.667v512c0 23.467-19.2 42.667-42.667 42.667zM341.333 629.333c52.907 0 96-43.093 96-96 0-53.12-43.093-96-96-96s-96 42.88-96 96c0 52.907 43.093 96 96 96zM533.333 234.667h-384v32c0 64 128 96 192 96s192-32 192-96v-32z" />
204
- <glyph unicode="&#xe6c2;" d="M298.667 661.333h426.667v-128l170.667 170.667-170.667 170.667v-128h-512v-256h85.333v170.667zM725.333 234.667h-426.667v128l-170.667-170.667 170.667-170.667v128h512v256h-85.333v-170.667z" />
205
- <glyph unicode="&#xe6c3;" d="M298.667 661.333h426.667v-128l170.667 170.667-170.667 170.667v-128h-512v-256h85.333v170.667zM725.333 234.667h-426.667v128l-170.667-170.667 170.667-170.667v128h512v256h-85.333v-170.667zM554.667 320v256h-42.667l-85.333-42.667v-42.667h64v-170.667h64z" />
206
- <glyph unicode="&#xe6c4;" d="M512 746.667v170.667l-213.333-213.333 213.333-213.333v170.667c141.44 0 256-114.56 256-256s-114.56-256-256-256-256 114.56-256 256h-85.333c0-188.587 152.747-341.333 341.333-341.333s341.333 152.747 341.333 341.333-152.747 341.333-341.333 341.333z" />
207
- <glyph unicode="&#xe6c5;" d="M451.627 568.747l-220.587 220.587-60.373-60.373 220.587-220.587 60.373 60.373zM618.667 789.333l87.253-87.253-535.253-535.040 60.373-60.373 535.253 535.253 87.040-87.253v234.667h-234.667zM632.747 387.627l-60.373-60.373 133.547-133.547-87.253-87.040h234.667v234.667l-87.253-87.253-133.333 133.547z" />
208
- <glyph unicode="&#xe6c6;" d="M256 192l362.667 256-362.667 256v-512zM682.667 704v-512h85.333v512h-85.333z" />
209
- <glyph unicode="&#xe6c7;" d="M256 704h85.333v-512h-85.333zM405.333 448l362.667-256v512z" />
210
- <glyph unicode="&#xe6c8;" d="M336.213 815.36l-54.827 65.28-196.053-164.48 54.827-65.28 196.053 164.48zM938.667 715.947l-196.053 164.48-54.827-65.28 196.053-164.48 54.827 65.28zM511.787 789.333c-212.267 0-383.787-171.947-383.787-384s171.52-384 383.787-384 384.213 171.947 384.213 384-171.947 384-384.213 384zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.547-298.667-298.667-298.667zM384 490.667h154.667l-154.667-179.2v-76.8h256v85.333h-154.667l154.667 179.2v76.8h-256v-85.333z" />
211
- <glyph unicode="&#xe6c9;" d="M256 704h512v-512h-512z" />
212
- <glyph unicode="&#xe6ca;" d="M853.333 789.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM170.667 448h170.667v-85.333h-170.667v85.333zM597.333 192h-426.667v85.333h426.667v-85.333zM853.333 192h-170.667v85.333h170.667v-85.333zM853.333 362.667h-426.667v85.333h426.667v-85.333z" />
213
- <glyph unicode="&#xe6cb;" d="M853.333 789.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM330.88 266.88l-60.373-60.373c-66.347 66.773-99.84 154.027-99.84 241.493s33.493 174.72 100.053 241.28l60.373-60.373c-49.92-49.707-75.093-115.413-75.093-180.907s24.96-131.2 74.88-181.12zM512 277.333c-94.293 0-170.667 76.373-170.667 170.667s76.373 170.667 170.667 170.667 170.667-76.373 170.667-170.667-76.373-170.667-170.667-170.667zM753.28 206.72l-60.373 60.373c50.133 49.707 75.093 115.413 75.093 180.907s-25.173 131.2-74.88 181.12l60.373 60.373c66.347-66.773 99.84-154.027 99.84-241.493s-33.493-174.72-100.053-241.28zM512 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
214
- <glyph unicode="&#xe6cc;" d="M725.333 512v149.333c0 23.467-19.2 42.667-42.667 42.667h-512c-23.467 0-42.667-19.2-42.667-42.667v-426.667c0-23.467 19.2-42.667 42.667-42.667h512c23.467 0 42.667 19.2 42.667 42.667v149.333l170.667-170.667v469.333l-170.667-170.667z" />
215
- <glyph unicode="&#xe6cd;" d="M896 682.667l-170.667-170.667v149.333c0 23.467-19.2 42.667-42.667 42.667h-263.68l477.013-477.013v455.68zM139.733 874.667l-54.4-54.4 116.267-116.267h-30.933c-23.467 0-42.667-19.2-42.667-42.667v-426.667c0-23.467 19.2-42.667 42.667-42.667h512c8.747 0 16.427 3.2 23.253 7.893l135.893-135.893 54.187 54.4-756.267 756.267z" />
216
- <glyph unicode="&#xe6ce;" d="M170.667 704h-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333zM853.333 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM512 341.333v384l256-192-256-192z" />
217
- <glyph unicode="&#xe6cf;" d="M789.333 448c0 75.307-43.52 140.373-106.667 171.733v-343.68c63.147 31.573 106.667 96.64 106.667 171.947zM213.333 576v-256h170.667l213.333-213.333v682.667l-213.333-213.333h-170.667z" />
218
- <glyph unicode="&#xe6d0;" d="M298.667 576v-256h170.667l213.333-213.333v682.667l-213.333-213.333h-170.667z" />
219
- <glyph unicode="&#xe6d1;" d="M704 448c0 75.307-43.52 140.373-106.667 171.733v-94.293l104.747-104.747c1.28 8.96 1.92 18.133 1.92 27.307zM810.667 448c0-40.107-8.747-77.867-23.040-112.64l64.64-64.64c27.733 53.12 43.733 113.28 43.733 177.28 0 182.613-127.787 335.36-298.667 374.187v-88.107c123.307-36.693 213.333-150.827 213.333-286.080zM182.4 832l-54.4-54.4 201.6-201.6h-201.6v-256h170.667l213.333-213.333v286.933l181.547-181.547c-28.587-21.973-60.8-39.68-96.213-50.347v-88.107c58.667 13.44 112.213 40.32 157.227 77.227l87.040-86.827 54.4 54.4-713.6 713.6zM512 789.333l-89.173-89.173 89.173-89.173v178.347z" />
220
- <glyph unicode="&#xe6d2;" d="M128 576v-256h170.667l213.333-213.333v682.667l-213.333-213.333h-170.667zM704 448c0 75.307-43.52 140.373-106.667 171.733v-343.68c63.147 31.573 106.667 96.64 106.667 171.947zM597.333 822.187v-88.107c123.307-36.693 213.333-150.827 213.333-286.080s-90.027-249.387-213.333-286.080v-88.107c170.88 38.827 298.667 191.36 298.667 374.187s-127.787 335.36-298.667 374.187z" />
221
- <glyph unicode="&#xe6d3;" d="M853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM640 192h-469.333v170.667h469.333v-170.667zM640 405.333h-469.333v170.667h469.333v-170.667zM853.333 192h-170.667v384h170.667v-384z" />
222
- <glyph unicode="&#xe6d4;" d="M512 661.333v170.667h-426.667v-768h853.333v597.333h-426.667zM256 149.333h-85.333v85.333h85.333v-85.333zM256 320h-85.333v85.333h85.333v-85.333zM256 490.667h-85.333v85.333h85.333v-85.333zM256 661.333h-85.333v85.333h85.333v-85.333zM426.667 149.333h-85.333v85.333h85.333v-85.333zM426.667 320h-85.333v85.333h85.333v-85.333zM426.667 490.667h-85.333v85.333h85.333v-85.333zM426.667 661.333h-85.333v85.333h85.333v-85.333zM853.333 149.333h-341.333v85.333h85.333v85.333h-85.333v85.333h85.333v85.333h-85.333v85.333h341.333v-426.667zM768 490.667h-85.333v-85.333h85.333v85.333zM768 320h-85.333v-85.333h85.333v85.333z" />
223
- <glyph unicode="&#xe6d5;" d="M282.667 499.413c61.44-120.747 160.213-219.52 281.173-280.96l93.867 94.080c11.733 11.733 28.587 15.147 43.307 10.453 47.787-15.787 99.2-24.32 152.32-24.32 23.68 0 42.667-18.987 42.667-42.667v-149.333c0-23.68-18.987-42.667-42.667-42.667-400.64 0-725.333 324.693-725.333 725.333 0 23.68 19.2 42.667 42.667 42.667h149.333c23.68 0 42.667-18.987 42.667-42.667 0-53.12 8.533-104.533 24.32-152.32 4.693-14.72 1.28-31.573-10.453-43.307l-93.867-94.293z" />
224
- <glyph unicode="&#xe6d6;" d="M512 576c-68.48 0-134.4-10.667-196.267-30.72v-132.48c0-16.853-9.813-31.36-23.893-38.4-41.6-20.907-79.787-47.573-113.707-78.933-7.68-7.467-18.133-12.16-29.867-12.16s-22.4 4.693-30.080 12.587l-105.6 105.6c-7.893 7.893-12.587 18.56-12.587 30.293s4.693 22.4 12.587 30.293c129.92 123.52 305.92 199.253 499.413 199.253s369.493-75.733 499.413-199.253c7.893-7.68 12.587-18.56 12.587-30.293s-4.693-22.4-12.587-30.080l-105.6-105.6c-7.68-7.68-18.347-12.587-30.080-12.587-11.52 0-22.187 4.693-29.867 12.16-33.92 31.36-72.107 58.027-113.707 78.933-14.080 7.040-23.893 21.547-23.893 38.4v132.48c-61.867 19.84-127.787 30.507-196.267 30.507z" />
225
- <glyph unicode="&#xe6d7;" d="M384 746.667v-85.333h280.96l-494.293-494.293 60.373-60.373 494.293 494.293v-280.96h85.333v426.667z" />
226
- <glyph unicode="&#xe6d8;" d="M725.333 88.96l60.373 60.373-145.707 145.707-60.373-60.373 145.707-145.707zM320 618.667h149.333v-238.293l-231.040-231.040 60.373-60.373 256 256v273.707h149.333l-192 192-192-192z" />
227
- <glyph unicode="&#xe6d9;" d="M835.627 661.333l-323.627-323.627-238.293 238.293h195.627v85.333h-341.333v-341.333h85.333v195.627l298.667-298.667 384 384z" />
228
- <glyph unicode="&#xe6da;" d="M853.333 728.96l-60.373 60.373-494.293-494.293v280.96h-85.333v-426.667h426.667v85.333h-280.96z" />
229
- <glyph unicode="&#xe6db;" d="M597.333 789.333l97.92-97.92-122.88-122.667 60.373-60.373 122.667 122.88 97.92-97.92v256zM426.667 789.333h-256v-256l97.92 97.92 200.747-200.96v-323.627h85.333v359.040l-225.92 225.707z" />
230
- <glyph unicode="&#xe6dc;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM256 576h512v-85.333h-512v85.333zM597.333 362.667h-341.333v85.333h341.333v-85.333zM768 618.667h-512v85.333h512v-85.333z" />
231
- <glyph unicode="&#xe6dd;" d="M213.333 405.333h597.333v85.333h-597.333v-85.333zM128 234.667h597.333v85.333h-597.333v-85.333zM298.667 661.333v-85.333h597.333v85.333h-597.333z" />
232
- <glyph unicode="&#xe6de;" d="M938.24 789.333c0 47.147-37.76 85.333-84.907 85.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h597.333l170.667-170.667-0.427 768zM768 362.667h-512v85.333h512v-85.333zM768 490.667h-512v85.333h512v-85.333zM768 618.667h-512v85.333h512v-85.333z" />
233
- <glyph unicode="&#xe6df;" d="M853.333 960h-682.667v-85.333h682.667v85.333zM170.667-64h682.667v85.333h-682.667v-85.333zM853.333 789.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM512 672c52.907 0 96-43.093 96-96 0-53.12-43.093-96-96-96s-96 42.88-96 96c0 52.907 43.093 96 96 96zM725.333 234.667h-426.667v64c0 71.040 142.293 106.667 213.333 106.667s213.333-35.627 213.333-106.667v-64z" />
234
- <glyph unicode="&#xe6e0;" d="M725.333 832h-42.667v-213.333h42.667v213.333zM640 746.667h-85.333v42.667h85.333v42.667h-128v-128h85.333v-42.667h-85.333v-42.667h128v128zM768 832v-213.333h42.667v85.333h85.333v128h-128zM853.333 746.667h-42.667v42.667h42.667v-42.667zM853.333 298.667c-53.12 0-104.32 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.747 61.44-219.52 160.213-281.173 280.96l93.867 94.080c11.733 11.733 15.147 28.587 10.453 43.307-15.787 48-24.32 99.413-24.32 152.533 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.68 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667z" />
235
- <glyph unicode="&#xe6e1;" d="M512 149.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM256 917.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM256 661.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM256 405.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 746.667c47.147 0 85.333 38.187 85.333 85.333s-38.187 85.333-85.333 85.333-85.333-38.187-85.333-85.333 38.187-85.333 85.333-85.333zM512 405.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 405.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 661.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM512 661.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM512 917.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
236
- <glyph unicode="&#xe6e2;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333 0 78.933 27.093 151.253 71.893 209.067l478.507-478.507c-57.813-44.8-130.133-71.893-209.067-71.893zM781.44 238.933l-478.507 478.507c57.813 44.8 130.133 71.893 209.067 71.893 188.587 0 341.333-152.747 341.333-341.333 0-78.933-27.093-151.253-71.893-209.067z" />
237
- <glyph unicode="&#xe6e3;" d="M853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 618.667l-341.333-213.333-341.333 213.333v85.333l341.333-213.333 341.333 213.333v-85.333z" />
238
- <glyph unicode="&#xe6e4;" d="M896 704h-85.333v-384h-554.667v-85.333c0-23.467 19.2-42.667 42.667-42.667h469.333l170.667-170.667v640c0 23.467-19.2 42.667-42.667 42.667zM725.333 448v384c0 23.467-19.2 42.667-42.667 42.667h-554.667c-23.467 0-42.667-19.2-42.667-42.667v-597.333l170.667 170.667h426.667c23.467 0 42.667 19.2 42.667 42.667z" />
239
- <glyph unicode="&#xe6e5;" d="M384 832l-170.667-170.24h128v-299.093h85.333v299.093h128l-170.667 170.24zM682.667 234.24v299.093h-85.333v-299.093h-128l170.667-170.24 170.667 170.24h-128z" />
240
- <glyph unicode="&#xe6e6;" d="M880.853 69.333l-698.667 698.667-54.187-54.4 118.613-118.613c-108.8-133.973-100.693-331.307 23.893-456.107 66.56-66.56 154.027-100.053 241.28-100.053 76.16 0 152.32 25.387 214.613 75.947l115.2-114.773 54.4 54.4-15.147 14.933zM512 124.373c-68.48 0-132.693 26.667-180.907 74.88-48.427 48.427-75.093 112.64-75.093 181.12 0 56.32 18.347 109.653 51.627 153.813l204.373-204.587v-205.227zM512 742.4v-195.413l309.547-309.547c58.24 126.080 35.84 280.32-68.267 384.427l-241.28 241.28-158.080-158.080 60.373-60.373 97.707 97.707z" />
241
- <glyph unicode="&#xe6e7;" d="M753.28 621.653l-241.28 241.493-241.28-241.493c-133.333-133.333-133.333-349.44 0-482.773 66.56-66.56 154.027-100.053 241.28-100.053s174.72 33.28 241.28 100.053c133.333 133.333 133.333 349.44 0 482.773zM512 124.373c-68.48 0-132.693 26.667-180.907 75.093-48.427 48.213-75.093 112.427-75.093 180.907s26.667 132.693 75.093 181.12l180.907 180.907v-618.027z" />
242
- <glyph unicode="&#xe6e8;" d="M810.667 874.667h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h170.667l128-128 128 128h170.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM554.667 192h-85.333v85.333h85.333v-85.333zM642.773 522.453l-38.187-39.253c-30.72-30.72-49.92-56.533-49.92-120.533h-85.333v21.333c0 47.147 19.2 89.813 49.92 120.747l53.12 53.76c15.36 15.36 24.96 36.693 24.96 60.16 0 47.147-38.187 85.333-85.333 85.333s-85.333-38.187-85.333-85.333h-85.333c0 94.293 76.373 170.667 170.667 170.667s170.667-76.373 170.667-170.667c0-37.547-15.147-71.467-39.893-96.213z" />
243
- <glyph unicode="&#xe6e9;" d="M512 682.667c58.88 0 106.667-47.787 106.667-106.667 0-31.36-13.867-59.307-35.413-78.933l154.88-154.88c41.6 79.36 72.533 161.92 72.533 233.813 0 164.907-133.76 298.667-298.667 298.667-84.48 0-160.64-35.2-214.827-91.52l135.893-135.893c19.413 21.547 47.573 35.413 78.933 35.413zM698.667 273.067l-559.147 558.933-54.187-54.4 135.68-135.68c-4.907-21.12-7.68-43.093-7.68-65.92 0-224 298.667-554.667 298.667-554.667s71.253 78.933 144 185.6l142.933-142.933 54.4 54.4-154.667 154.667z" />
244
- <glyph unicode="&#xe6ea;" d="M512 874.667c-164.907 0-298.667-133.76-298.667-298.667 0-224 298.667-554.667 298.667-554.667s298.667 330.667 298.667 554.667c0 164.907-133.76 298.667-298.667 298.667zM512 469.333c-58.88 0-106.667 47.787-106.667 106.667s47.787 106.667 106.667 106.667 106.667-47.787 106.667-106.667-47.787-106.667-106.667-106.667z" />
245
- <glyph unicode="&#xe6eb;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM768 362.667h-512v85.333h512v-85.333zM768 490.667h-512v85.333h512v-85.333zM768 618.667h-512v85.333h512v-85.333z" />
246
- <glyph unicode="&#xe6ec;" d="M853.333 874.667h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-768l170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333z" />
247
- <glyph unicode="&#xe6ed;" d="M810.24 746.667c0 47.147-37.76 85.333-84.907 85.333h-298.667l-99.84-99.84 483.84-483.84-0.427 498.347zM155.733 794.453l-54.187-54.187 111.787-112v-478.933c0-47.147 38.187-85.333 85.333-85.333h427.093c14.933 0 28.8 4.267 40.96 10.88l80.213-80.213 54.187 54.4-745.387 745.387z" />
248
- <glyph unicode="&#xe6ee;" d="M282.667 499.413c61.44-120.747 160.213-219.52 281.173-280.96l93.867 94.080c11.733 11.733 28.587 15.147 43.307 10.453 47.787-15.787 99.2-24.32 152.32-24.32 23.68 0 42.667-18.987 42.667-42.667v-149.333c0-23.68-18.987-42.667-42.667-42.667-400.64 0-725.333 324.693-725.333 725.333 0 23.68 19.2 42.667 42.667 42.667h149.333c23.68 0 42.667-18.987 42.667-42.667 0-53.12 8.533-104.533 24.32-152.32 4.693-14.72 1.28-31.573-10.453-43.307l-93.867-94.293z" />
249
- <glyph unicode="&#xe6ef;" d="M749.227 352.427c11.947 29.44 18.773 61.653 18.773 95.573 0 141.44-114.56 256-256 256-33.92 0-66.133-6.827-95.787-18.773l69.333-69.333c8.747 1.493 17.493 2.773 26.453 2.773 94.293 0 170.667-76.373 170.667-170.667 0-9.173-0.853-18.133-2.347-26.667l68.907-68.907zM512 789.333c188.587 0 341.333-152.747 341.333-341.333 0-57.813-14.933-111.787-40.32-159.36l62.72-62.72c39.68 64.64 62.933 140.587 62.933 222.080 0 235.733-191.147 426.667-426.667 426.667-81.493 0-157.44-23.253-222.080-62.933l62.293-62.293c47.573 25.387 101.973 39.893 159.787 39.893zM139.52 853.333l-54.187-54.4 89.813-89.813c-56.107-72.107-89.813-162.56-89.813-261.12 0-157.653 85.76-295.040 213.12-368.853l42.667 73.813c-101.76 58.88-170.453 168.96-170.453 295.040 0 74.88 24.32 144 65.28 200.32l61.227-61.227c-26.027-40.107-41.173-87.68-41.173-139.093 0-94.72 51.413-177.067 127.787-221.44l43.093 74.24c-50.987 29.653-85.547 84.053-85.547 147.2 0 27.52 7.253 53.12 18.773 76.16l67.413-67.413-0.853-8.747c0-47.147 38.187-85.333 85.333-85.333l8.747 0.853 320.853-320.853 54.4 54.4-756.48 756.267z" />
250
- <glyph unicode="&#xe6f0;" d="M938.667 832h-853.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h853.333c47.147 0 84.907 38.187 84.907 85.333l0.427 597.333c0 47.147-38.187 85.333-85.333 85.333zM341.333 704c70.613 0 128-57.387 128-128 0-70.827-57.387-128-128-128s-128 57.173-128 128c0 70.613 57.387 128 128 128zM597.333 192h-512v42.667c0 85.333 170.667 132.267 256 132.267s256-46.933 256-132.267v-42.667zM761.6 362.667h69.973l64.427-85.333-85.12-85.12c-55.68 41.813-97.28 101.333-116.48 170.453-7.467 27.307-11.733 55.68-11.733 85.333s4.267 58.027 11.947 85.333c18.987 69.12 60.587 128.64 116.48 170.453l84.907-85.12-64.427-85.333h-69.973c-9.387-26.667-14.933-55.467-14.933-85.333s5.333-58.667 14.933-85.333z" />
251
- <glyph unicode="&#xe6f1;" d="M896 618.667v42.667l-128-85.333-128 85.333v-42.667l128-85.333 128 85.333zM938.667 832h-853.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h853.333c47.147 0 84.907 38.187 84.907 85.333l0.427 597.333c0 47.147-38.187 85.333-85.333 85.333zM341.333 704c70.613 0 128-57.387 128-128 0-70.827-57.387-128-128-128s-128 57.173-128 128c0 70.613 57.387 128 128 128zM597.333 192h-512v42.667c0 85.333 170.667 132.267 256 132.267s256-46.933 256-132.267v-42.667zM938.667 448h-341.333v256h341.333v-256z" />
252
- <glyph unicode="&#xe6f2;" d="M1011.413 248.747c-129.92 123.52-305.92 199.253-499.413 199.253s-369.493-75.733-499.413-199.253c-7.893-7.68-12.587-18.56-12.587-30.293s4.693-22.4 12.587-30.080l105.6-105.6c7.68-7.68 18.347-12.587 30.080-12.587 11.52 0 22.187 4.693 29.867 12.16 33.92 31.36 72.107 58.027 113.707 78.933 14.080 7.040 23.893 21.547 23.893 38.4v132.48c61.867 19.84 127.787 30.507 196.267 30.507s134.4-10.667 196.267-30.72v-132.48c0-16.853 9.813-31.36 23.893-38.4 41.6-20.907 80-47.573 113.707-78.933 7.68-7.467 18.133-12.16 29.867-12.16s22.4 4.693 30.293 12.587l105.6 105.6c7.68 7.68 12.587 18.347 12.587 30.080-0.213 11.947-4.907 22.827-12.8 30.507zM902.827 693.12l-60.373 60.373-151.893-151.893 60.373-60.373s147.2 150.187 151.893 151.893zM554.667 874.667h-85.333v-213.333h85.333v213.333zM273.067 541.227l60.373 60.373-151.893 151.893-60.373-60.373c4.693-1.707 151.893-151.893 151.893-151.893z" />
253
- <glyph unicode="&#xe6f3;" d="M43.093 661.333l-0.427-426.667c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333h-768c-47.147 0-84.907-38.187-84.907-85.333zM810.667 661.333v-426.667h-597.333v426.667h597.333z" />
254
- <glyph unicode="&#xe6f4;" d="M725.333 916.907l-426.667 0.427c-47.147 0-84.907-38.187-84.907-85.333v-768c0-47.147 37.76-85.333 84.907-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v768c0 47.147-38.187 84.907-85.333 84.907zM725.333 149.333h-426.667v597.333h426.667v-597.333z" />
255
- <glyph unicode="&#xe6f5;" d="M43.093 661.333l-0.427-426.667c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333h-768c-47.147 0-84.907-38.187-84.907-85.333zM810.667 661.333v-426.667h-597.333v426.667h597.333z" />
256
- <glyph unicode="&#xe6f6;" d="M725.333 916.907l-426.667 0.427c-47.147 0-84.907-38.187-84.907-85.333v-768c0-47.147 37.76-85.333 84.907-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v768c0 47.147-38.187 84.907-85.333 84.907zM725.333 149.333h-426.667v597.333h426.667v-597.333z" />
257
- <glyph unicode="&#xe6f7;" d="M768 789.333l-170.667-170.667h128v-298.667c0-47.147-38.187-85.333-85.333-85.333s-85.333 38.187-85.333 85.333v298.667c0 94.080-76.587 170.667-170.667 170.667s-170.667-76.587-170.667-170.667v-298.667h-128l170.667-170.667 170.667 170.667h-128v298.667c0 47.147 38.187 85.333 85.333 85.333s85.333-38.187 85.333-85.333v-298.667c0-94.080 76.587-170.667 170.667-170.667s170.667 76.587 170.667 170.667v298.667h128l-170.667 170.667z" />
258
- <glyph unicode="&#xe6f8;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM384 490.667h-85.333v85.333h85.333v-85.333zM554.667 490.667h-85.333v85.333h85.333v-85.333zM725.333 490.667h-85.333v85.333h85.333v-85.333z" />
259
- <glyph unicode="&#xe6f9;" d="M789.333 704c-129.707 0-234.667-104.96-234.667-234.667 0-56.747 20.053-108.8 53.547-149.333h-192.64c33.493 40.533 53.547 92.587 53.547 149.333 0 129.707-104.96 234.667-234.667 234.667s-234.453-104.96-234.453-234.667 104.96-234.667 234.667-234.667h554.667c129.707 0 234.667 104.96 234.667 234.667s-104.96 234.667-234.667 234.667zM234.667 320c-82.56 0-149.333 66.773-149.333 149.333s66.773 149.333 149.333 149.333 149.333-66.773 149.333-149.333-66.773-149.333-149.333-149.333zM789.333 320c-82.56 0-149.333 66.773-149.333 149.333s66.773 149.333 149.333 149.333 149.333-66.773 149.333-149.333-66.773-149.333-149.333-149.333z" />
260
- <glyph unicode="&#xe6fa;" d="M539.733 533.333c-35.2 99.413-129.707 170.667-241.067 170.667-141.44 0-256-114.56-256-256s114.56-256 256-256c111.36 0 205.867 71.253 241.067 170.667h185.6v-170.667h170.667v170.667h85.333v170.667h-441.6zM298.667 362.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
261
- <glyph unicode="&#xe6fb;" d="M810.667 405.333h-256v-256h-85.333v256h-256v85.333h256v256h85.333v-256h256v-85.333z" />
262
- <glyph unicode="&#xe6fc;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM725.333 405.333h-170.667v-170.667h-85.333v170.667h-170.667v85.333h170.667v170.667h85.333v-170.667h170.667v-85.333z" />
263
- <glyph unicode="&#xe6fd;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM725.333 405.333h-170.667v-170.667h-85.333v170.667h-170.667v85.333h170.667v170.667h85.333v-170.667h170.667v-85.333z" />
264
- <glyph unicode="&#xe6fe;" d="M554.667 661.333h-85.333v-170.667h-170.667v-85.333h170.667v-170.667h85.333v170.667h170.667v85.333h-170.667v170.667zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333z" />
265
- <glyph unicode="&#xe6ff;" d="M876.587 737.067l-59.093 71.68c-11.947 14.080-29.653 23.253-49.493 23.253h-512c-19.84 0-37.547-9.173-49.28-23.253l-59.093-71.68c-12.373-14.933-19.627-33.707-19.627-54.4v-533.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v533.333c0 20.693-7.253 39.467-19.413 54.4zM512 213.333l-234.667 234.667h149.333v85.333h170.667v-85.333h149.333l-234.667-234.667zM218.667 746.667l34.773 42.667h512l39.893-42.667h-586.667z" />
266
- <glyph unicode="&#xe700;" d="M938.667 832h-640c-29.44 0-52.693-14.933-68.053-37.547l-230.613-346.24 230.613-346.24c15.36-22.613 38.613-37.973 68.053-37.973h640c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 295.040l-60.373-60.373-152.96 152.96-152.96-152.96-60.373 60.373 152.96 152.96-152.96 152.96 60.373 60.373 152.96-152.96 152.96 152.96 60.373-60.373-152.96-152.96 152.96-152.96z" />
267
- <glyph unicode="&#xe701;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM170.667 448c0 188.587 152.747 341.333 341.333 341.333 78.933 0 151.253-27.093 209.067-71.893l-478.507-478.507c-44.8 57.813-71.893 130.133-71.893 209.067zM512 106.667c-78.933 0-151.253 27.093-209.067 71.893l478.507 478.507c44.8-57.813 71.893-130.133 71.893-209.067 0-188.587-152.747-341.333-341.333-341.333z" />
268
- <glyph unicode="&#xe702;" d="M810.667 686.293l-60.373 60.373-238.293-238.293-238.293 238.293-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 238.293 238.293 238.293-238.293 60.373 60.373-238.293 238.293z" />
269
- <glyph unicode="&#xe703;" d="M682.667 917.333h-512c-47.147 0-85.333-38.187-85.333-85.333v-597.333h85.333v597.333h512v85.333zM810.667 746.667h-469.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h469.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 64h-469.333v597.333h469.333v-597.333z" />
270
- <glyph unicode="&#xe704;" d="M411.307 634.027c9.6 21.333 15.36 45.013 15.36 69.973 0 94.293-76.373 170.667-170.667 170.667s-170.667-76.373-170.667-170.667 76.373-170.667 170.667-170.667c24.96 0 48.64 5.76 69.973 15.36l100.693-100.693-100.693-100.693c-21.333 9.6-45.013 15.36-69.973 15.36-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667c0 24.96-5.76 48.64-15.36 69.973l100.693 100.693 298.667-298.667h128v42.667l-527.36 527.36zM256 618.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM256 106.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM512 426.667c-11.733 0-21.333 9.6-21.333 21.333s9.6 21.333 21.333 21.333 21.333-9.6 21.333-21.333-9.6-21.333-21.333-21.333zM810.667 832l-256-256 85.333-85.333 298.667 298.667v42.667z" />
271
- <glyph unicode="&#xe705;" d="M810.667 874.667h-178.56c-17.493 49.493-64.427 85.333-120.107 85.333s-102.613-35.84-120.107-85.333h-178.56c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM512 874.667c23.467 0 42.667-18.987 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 18.987-42.667 42.667 19.2 42.667 42.667 42.667zM810.667 106.667h-597.333v682.667h85.333v-128h426.667v128h85.333v-682.667z" />
272
- <glyph unicode="&#xe706;" d="M128 224v-160h160l472.107 472.107-160 160-472.107-472.107zM883.413 659.413c16.64 16.64 16.64 43.733 0 60.373l-99.627 99.627c-16.64 16.64-43.733 16.64-60.373 0l-78.080-78.080 160-160 78.080 78.080z" />
273
- <glyph unicode="&#xe707;" d="M938.24 618.667c0 30.72-16 57.387-40.107 72.533l-386.133 226.133-386.133-226.133c-24.107-15.147-40.533-41.813-40.533-72.533v-426.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333l-0.427 426.667zM512 405.333l-352.427 220.373 352.427 206.293 352.427-206.293-352.427-220.373z" />
274
- <glyph unicode="&#xe708;" d="M426.667 192h170.667v85.333h-170.667v-85.333zM128 704v-85.333h768v85.333h-768zM256 405.333h512v85.333h-512v-85.333z" />
275
- <glyph unicode="&#xe709;" d="M614.4 704l-17.067 85.333h-384v-725.333h85.333v298.667h238.933l17.067-85.333h298.667v426.667z" />
276
- <glyph unicode="&#xe70a;" d="M512 618.667v170.667l341.333-341.333-341.333-341.333v170.667h-341.333v341.333z" />
277
- <glyph unicode="&#xe70b;" d="M196.053 666.24c29.867 30.507 59.733 57.813 73.173 52.267 21.12-8.747-0.427-44.373-12.8-65.067-10.667-17.92-122.027-165.76-122.027-269.227 0-54.613 20.267-99.84 57.387-127.147 32-23.68 74.027-30.933 112.64-19.627 45.653 13.44 83.2 59.52 130.56 117.973 51.627 63.573 120.747 146.773 174.080 146.773 69.547 0 70.4-43.093 75.093-76.587-161.707-27.733-229.76-156.8-229.76-229.547s61.44-132.053 136.747-132.053c69.333 0 183.253 56.747 200.107 260.267h104.747v106.667h-105.387c-6.4 70.4-46.507 178.987-171.947 178.987-96 0-178.56-81.493-210.56-121.387-24.747-30.933-87.68-105.6-97.493-116.267-10.88-12.587-28.8-35.84-47.573-35.84-18.987 0-30.507 35.627-15.573 82.133 14.933 46.72 59.733 122.027 78.933 149.973 33.493 48.64 55.253 82.133 55.253 139.947 0 93.867-69.973 123.307-107.093 123.307-56.32 0-105.387-42.667-116.267-53.547-15.147-15.36-27.947-27.947-37.333-39.467l75.093-72.533zM592.427 168.32c-13.227 0-31.36 11.093-31.36 30.933 0 25.6 30.933 93.867 122.667 117.973-13.227-114.987-61.44-148.907-91.307-148.907z" />
278
- <glyph unicode="&#xe70c;" d="M810.667 832h-597.76c-47.147 0-84.48-38.187-84.48-85.333l-0.427-597.333c0-47.147 37.76-85.333 84.907-85.333h597.76c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 320h-170.667c0-70.613-57.387-128-128-128s-128 57.387-128 128h-171.093v426.667h597.76v-426.667zM682.667 533.333h-85.333v128h-170.667v-128h-85.333l170.667-170.667 170.667 170.667z" />
279
- <glyph unicode="&#xe70d;" d="M166.4 448c0 72.96 59.307 132.267 132.267 132.267h170.667v81.067h-170.667c-117.76 0-213.333-95.573-213.333-213.333s95.573-213.333 213.333-213.333h170.667v81.067h-170.667c-72.96 0-132.267 59.307-132.267 132.267zM341.333 405.333h341.333v85.333h-341.333v-85.333zM725.333 661.333h-170.667v-81.067h170.667c72.96 0 132.267-59.307 132.267-132.267s-59.307-132.267-132.267-132.267h-170.667v-81.067h170.667c117.76 0 213.333 95.573 213.333 213.333s-95.573 213.333-213.333 213.333z" />
280
- <glyph unicode="&#xe70e;" d="M853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 618.667l-341.333-213.333-341.333 213.333v85.333l341.333-213.333 341.333 213.333v-85.333z" />
281
- <glyph unicode="&#xe70f;" d="M853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 618.667l-341.333-213.333-341.333 213.333v85.333l341.333-213.333 341.333 213.333v-85.333z" />
282
- <glyph unicode="&#xe710;" d="M784.853 507.733c-78.507 68.907-181.333 110.933-294.187 110.933-198.4 0-366.293-129.28-424.96-308.053l100.907-33.28c44.8 136.32 172.8 234.667 324.053 234.667 83.413 0 159.147-30.72 218.24-80.427l-154.24-154.24h384v384l-153.813-153.6z" />
283
- <glyph unicode="&#xe711;" d="M810.667 405.333h-597.333v85.333h597.333v-85.333z" />
284
- <glyph unicode="&#xe712;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM725.333 405.333h-426.667v85.333h426.667v-85.333z" />
285
- <glyph unicode="&#xe713;" d="M298.667 490.667v-85.333h426.667v85.333h-426.667zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333z" />
286
- <glyph unicode="&#xe714;" d="M426.667 576v170.667l-298.667-298.667 298.667-298.667v174.933c213.333 0 362.667-68.267 469.333-217.6-42.667 213.333-170.667 426.667-469.333 469.333z" />
287
- <glyph unicode="&#xe715;" d="M298.667 618.667v128l-298.667-298.667 298.667-298.667v128l-170.667 170.667 170.667 170.667zM554.667 576v170.667l-298.667-298.667 298.667-298.667v174.933c213.333 0 362.667-68.267 469.333-217.6-42.667 213.333-170.667 426.667-469.333 469.333z" />
288
- <glyph unicode="&#xe716;" d="M671.147 832h-318.293l-224.853-224.853v-318.080l224.853-225.067h318.080l225.067 224.853v318.293l-224.853 224.853zM512 221.867c-30.507 0-55.467 24.747-55.467 55.467 0 30.507 24.96 55.467 55.467 55.467s55.467-24.747 55.467-55.467c0-30.72-24.96-55.467-55.467-55.467zM554.667 405.333h-85.333v256h85.333v-256z" />
289
- <glyph unicode="&#xe717;" d="M725.333 832h-512c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v512l-170.667 170.667zM512 149.333c-70.613 0-128 57.387-128 128s57.387 128 128 128 128-57.387 128-128-57.387-128-128-128zM640 576h-426.667v170.667h426.667v-170.667z" />
290
- <glyph unicode="&#xe718;" d="M128 746.667h85.333v85.333c-47.147 0-85.333-38.187-85.333-85.333zM128 405.333h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333zM128 576h85.333v85.333h-85.333v-85.333zM554.667 832h-85.333v-85.333h85.333v85.333zM810.667 832v-85.333h85.333c0 47.147-38.187 85.333-85.333 85.333zM213.333 64v85.333h-85.333c0-47.147 38.187-85.333 85.333-85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM384 832h-85.333v-85.333h85.333v85.333zM469.333 64h85.333v85.333h-85.333v-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM810.667 64c47.147 0 85.333 38.187 85.333 85.333h-85.333v-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM640 64h85.333v85.333h-85.333v-85.333zM640 746.667h85.333v85.333h-85.333v-85.333zM298.667 234.667h426.667v426.667h-426.667v-426.667zM384 576h256v-256h-256v256z" />
291
- <glyph unicode="&#xe719;" d="M85.76 64l895.573 384-895.573 384-0.427-298.667 640-85.333-640-85.333z" />
292
- <glyph unicode="&#xe71a;" d="M128 192h256v85.333h-256v-85.333zM128 704v-85.333h768v85.333h-768zM128 405.333h512v85.333h-512v-85.333z" />
293
- <glyph unicode="&#xe71b;" d="M213.333 234.667v-85.333h597.333v85.333h-597.333zM405.333 413.867h213.333l38.4-93.867h89.6l-202.667 469.333h-64l-202.667-469.333h89.6l38.4 93.867zM512 704.853l79.787-214.187h-159.573l79.787 214.187z" />
294
- <glyph unicode="&#xe71c;" d="M533.333 618.667c-112.853 0-215.68-42.027-294.4-110.933l-153.6 153.6v-384h384l-154.24 154.24c59.093 49.707 134.827 80.427 218.24 80.427 151.253 0 279.253-98.347 324.053-234.667l100.907 33.28c-58.667 178.773-226.56 308.053-424.96 308.053z" />
295
- <glyph unicode="&#xe71d;" d="M938.667 715.947l-196.053 164.48-54.827-65.28 196.053-164.48 54.827 65.28zM336.213 815.36l-54.827 65.28-196.053-164.48 54.827-65.28 196.053 164.48zM533.333 618.667h-64v-256l202.453-121.813 32.213 52.693-170.667 101.12v224zM511.787 789.333c-212.267 0-383.787-171.947-383.787-384s171.52-384 383.787-384 384.213 171.947 384.213 384-171.947 384-384.213 384zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.547-298.667-298.667-298.667z" />
296
- <glyph unicode="&#xe71e;" d="M938.667 714.667l-196.267 164.267-55.467-66.133 196.267-164.267 55.467 66.133zM334.933 814.933l-55.467 66.133-194.133-166.4 55.467-66.133 194.133 166.4zM533.333 618.667h-64v-256l202.667-121.6 32 53.333-170.667 100.267v224zM512 789.333c-213.333 0-384-172.8-384-384s170.667-384 384-384c211.2 0 384 172.8 384 384s-172.8 384-384 384zM512 106.667c-164.267 0-298.667 134.4-298.667 298.667s134.4 298.667 298.667 298.667 298.667-134.4 298.667-298.667c0-166.4-134.4-298.667-298.667-298.667z" />
297
- <glyph unicode="&#xe71f;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333zM533.333 661.333h-64v-256l223.787-134.4 32.213 52.48-192 113.92z" />
298
- <glyph unicode="&#xe720;" d="M336.213 815.36l-54.827 65.28-196.053-164.48 54.827-65.28 196.053 164.48zM938.667 715.947l-196.053 164.48-54.827-65.28 196.053-164.48 54.827 65.28zM511.787 789.333c-212.267 0-383.787-171.947-383.787-384s171.52-384 383.787-384 384.213 171.947 384.213 384-171.947 384-384.213 384zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.547-298.667-298.667-298.667zM554.667 576h-85.333v-128h-128v-85.333h128v-128h85.333v128h128v85.333h-128v128z" />
299
- <glyph unicode="&#xe721;" d="M554.667 576v234.667c0 35.413-28.587 64-64 64s-64-28.587-64-64v-157.013l333.867-333.867 135.467-42.453v85.333l-341.333 213.333zM128 734.933l212.693-212.693-255.36-159.573v-85.333l341.333 106.667v-234.667l-85.333-64v-64l149.333 42.667 149.333-42.667v64l-85.333 64v158.933l244.267-244.267 54.4 54.4-670.933 670.933-54.4-54.4z" />
300
- <glyph unicode="&#xe722;" d="M896 277.333v85.333l-341.333 213.333v234.667c0 35.413-28.587 64-64 64s-64-28.587-64-64v-234.667l-341.333-213.333v-85.333l341.333 106.667v-234.667l-85.333-64v-64l149.333 42.667 149.333-42.667v64l-85.333 64v234.667l341.333-106.667z" />
301
- <glyph unicode="&#xe723;" d="M298.667 234.667v-156.373c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v156.373h-426.88zM725.333 732.373c0 31.573-25.387 56.96-56.96 56.96h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-497.707h426.667v497.707z" />
302
- <glyph unicode="&#xe724;" d="M725.333 732.373c0 31.573-25.387 56.96-56.96 56.96h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-412.373h426.667v412.373zM298.667 320v-241.707c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v241.707h-426.88z" />
303
- <glyph unicode="&#xe725;" d="M725.333 732.373c0 31.573-25.387 56.96-56.96 56.96h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-327.040h426.667v327.040zM298.667 405.333v-327.040c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v327.040h-426.88z" />
304
- <glyph unicode="&#xe726;" d="M725.333 732.373c0 31.573-25.387 56.96-56.96 56.96h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-241.707h426.667v241.707zM298.667 490.667v-412.373c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v412.373h-426.88z" />
305
- <glyph unicode="&#xe727;" d="M725.333 732.373c0 31.573-25.387 56.96-56.96 56.96h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-156.373h426.667v156.373zM298.667 576v-497.707c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v497.707h-426.88z" />
306
- <glyph unicode="&#xe728;" d="M725.333 732.373c0 31.573-25.387 56.96-56.96 56.96h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-113.707h426.667v113.707zM298.667 618.667v-540.373c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v540.373h-426.88z" />
307
- <glyph unicode="&#xe729;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-654.293c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v654.293c-0.213 31.573-25.6 56.96-57.173 56.96zM554.667 192h-85.333v85.333h85.333v-85.333zM554.667 362.667h-85.333v213.333h85.333v-213.333z" />
308
- <glyph unicode="&#xe72a;" d="M469.333 106.667v128h-170.667v-156.373c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v156.373h-187.733l-68.48-128zM668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-497.707h170.667v106.667h-85.333l170.667 320v-234.667h85.333l-102.4-192h187.733v497.707c0 31.573-25.387 56.96-56.96 56.96z" />
309
- <glyph unicode="&#xe72b;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-391.040h85.333l170.667 320v-234.667h85.333l-45.44-85.333h130.773v391.040c0 31.573-25.387 56.96-56.96 56.96zM469.333 106.667v234.667h-170.667v-263.040c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v263.040h-130.773l-125.44-234.667z" />
310
- <glyph unicode="&#xe72c;" d="M617.173 384l-147.84-277.333v234.667h-85.333l22.827 42.667h-108.16v-305.707c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v305.707h-108.373zM668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-348.373h108.16l147.84 277.333v-234.667h85.333l-22.827-42.667h108.16v348.373c0 31.573-25.387 56.96-56.96 56.96z" />
311
- <glyph unicode="&#xe72d;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-241.707h164.907l91.093 170.667v-170.667h170.667v241.707c0 31.573-25.387 56.96-56.96 56.96zM554.667 426.667h85.333l-170.667-320v234.667h-85.333l79.573 149.333h-164.907v-412.373c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v412.373h-170.667v-64z" />
312
- <glyph unicode="&#xe72e;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-156.373h210.56l45.44 85.333v-85.333h170.667v156.373c0 31.573-25.387 56.96-56.96 56.96zM554.667 426.667h85.333l-170.667-320v234.667h-85.333l125.227 234.667h-210.56v-497.707c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v497.707h-170.667v-149.333z" />
313
- <glyph unicode="&#xe72f;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-113.707h233.173l22.827 42.667v-42.667h170.667v113.707c0 31.573-25.387 56.96-56.96 56.96zM554.667 426.667h85.333l-170.667-320v234.667h-85.333l147.84 277.333h-233.173v-540.373c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v540.373h-170.667v-192z" />
314
- <glyph unicode="&#xe730;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-654.293c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v654.293c-0.213 31.573-25.6 56.96-57.173 56.96zM469.333 106.667v234.667h-85.333l170.667 320v-234.667h85.333l-170.667-320z" />
315
- <glyph unicode="&#xe731;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-654.293c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v654.293c-0.213 31.573-25.6 56.96-57.173 56.96z" />
316
- <glyph unicode="&#xe732;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-654.293c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v654.293c-0.213 31.573-25.6 56.96-57.173 56.96z" />
317
- <glyph unicode="&#xe733;" d="M668.373 789.333h-71.040v85.333h-170.667v-85.333h-71.040c-31.573 0-56.96-25.387-56.96-56.96v-654.293c0-31.36 25.387-56.96 56.96-56.96h312.96c31.36 0 56.96 25.387 56.96 56.96v654.293c-0.213 31.573-25.6 56.96-57.173 56.96zM552.533 194.133h-81.067v81.067h81.067v-81.067zM610.133 418.56s-16.213-17.92-28.587-30.293c-20.693-20.693-35.413-48.853-35.413-68.267h-68.267c0 35.413 19.627 65.067 39.68 85.12l39.68 40.32c11.52 11.52 18.773 27.52 18.773 45.227 0 35.413-28.587 64-64 64s-64-28.587-64-64h-64c0 70.613 57.387 128 128 128s128-57.387 128-128c0-28.16-11.307-53.76-29.867-72.107z" />
318
- <glyph unicode="&#xe734;" d="M755.413 631.253l-243.413 243.413h-42.667v-323.627l-195.627 195.627-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 195.627 195.627v-323.627h42.667l243.413 243.413-183.040 183.253 183.040 183.253zM554.667 711.253l80.213-80.213-80.213-80v160.213zM634.88 264.747l-80.213-80v160.427l80.213-80.427z" />
319
- <glyph unicode="&#xe735;" d="M298.667 448l-85.333 85.333-85.333-85.333 85.333-85.333 85.333 85.333zM755.413 631.253l-243.413 243.413h-42.667v-323.627l-195.627 195.627-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 195.627 195.627v-323.627h42.667l243.413 243.413-183.040 183.253 183.040 183.253zM554.667 711.253l80.213-80.213-80.213-80v160.213zM634.88 264.747l-80.213-80v160.427l80.213-80.427zM810.667 533.333l-85.333-85.333 85.333-85.333 85.333 85.333-85.333 85.333z" />
320
- <glyph unicode="&#xe736;" d="M554.667 707.627l80.213-80.213-68.267-68.267 60.373-60.373 128.64 128.64-243.627 243.627h-42.667v-214.613l85.333-85.333v136.533zM231.040 785.707l-60.373-60.373 280.96-280.96-238.293-238.293 60.373-60.373 195.627 195.627v-323.627h42.667l183.253 183.253 97.92-97.92 60.16 60.373-622.293 622.293zM554.667 181.12v160.213l80.213-80.213-80.213-80z" />
321
- <glyph unicode="&#xe737;" d="M607.573 447.573l98.987-98.987c11.947 30.933 18.773 64.427 18.773 99.413 0 34.773-6.613 68.053-18.347 98.773l-99.413-99.2zM833.28 673.493l-53.973-53.973c26.667-51.413 42.027-109.653 42.027-171.733s-15.36-120.107-42.027-171.733l51.2-51.2c41.173 66.133 65.493 143.573 65.493 226.773 0 81.493-23.253 157.227-62.72 221.867zM670.080 631.253l-243.413 243.413h-42.667v-323.627l-195.627 195.627-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 195.627 195.627v-323.627h42.667l243.413 243.413-183.040 183.253 183.040 183.253zM469.333 711.253l80.213-80.213-80.213-80v160.213zM549.547 264.747l-80.213-80v160.427l80.213-80.427z" />
322
- <glyph unicode="&#xe738;" d="M462.933 420.267h98.133l-49.067 155.733-49.067-155.733zM853.333 589.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893l141.44 141.44-141.44 141.44zM610.133 277.333l-29.867 85.333h-136.533l-29.867-85.333h-81.067l136.533 384h85.333l136.533-384h-81.067z" />
323
- <glyph unicode="&#xe739;" d="M853.333 589.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893l141.44 141.44-141.44 141.44zM512 192c-141.44 0-256 114.56-256 256s114.56 256 256 256 256-114.56 256-256-114.56-256-256-256zM512 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667z" />
324
- <glyph unicode="&#xe73a;" d="M853.333 306.56l141.44 141.44-141.44 141.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893zM512 192c-141.44 0-256 114.56-256 256s114.56 256 256 256 256-114.56 256-256-114.56-256-256-256z" />
325
- <glyph unicode="&#xe73b;" d="M853.333 306.56l141.44 141.44-141.44 141.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893zM512 192v512c141.44 0 256-114.56 256-256s-114.56-256-256-256z" />
326
- <glyph unicode="&#xe73c;" d="M554.667 872.533v-129.28c144.64-20.693 256-144.853 256-295.253 0-38.187-7.467-74.667-20.48-108.16l110.933-65.493c23.68 53.12 37.547 111.573 37.547 173.653 0 221.227-168.32 402.987-384 424.533zM512 149.333c-164.907 0-298.667 133.76-298.667 298.667 0 150.4 111.36 274.56 256 295.253v129.28c-215.893-21.333-384-203.307-384-424.533 0-235.733 190.72-426.667 426.453-426.667 141.227 0 266.027 68.907 343.68 174.507l-110.72 65.28c-54.613-68.053-138.453-111.787-232.747-111.787z" />
327
- <glyph unicode="&#xe73d;" d="M298.667 743.040h426.667v-85.333h85.333v170.667c0 47.147-38.187 84.907-85.333 84.907l-426.667 0.427c-47.147 0-85.333-38.187-85.333-85.333v-170.667h85.333v85.333zM657.707 248.747l195.627 195.627-195.627 195.627-60.373-60.373 135.253-135.253-135.253-135.467 60.373-60.16zM426.667 308.907l-135.253 135.253 135.253 135.467-60.373 60.373-195.627-195.627 195.627-195.627 60.373 60.16zM725.333 145.707h-426.667v85.333h-85.333v-170.667c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v170.667h-85.333v-85.333z" />
328
- <glyph unicode="&#xe73e;" d="M170.667 704h768v85.333h-768c-47.147 0-85.333-38.187-85.333-85.333v-469.333h-85.333v-128h597.333v128h-426.667v469.333zM981.333 618.667h-256c-23.467 0-42.667-19.2-42.667-42.667v-426.667c0-23.467 19.2-42.667 42.667-42.667h256c23.467 0 42.667 19.2 42.667 42.667v426.667c0 23.467-19.2 42.667-42.667 42.667zM938.667 234.667h-170.667v298.667h170.667v-298.667z" />
329
- <glyph unicode="&#xe73f;" d="M896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h213.333v-85.333h341.333v85.333h213.333c47.147 0 84.907 38.187 84.907 85.333l0.427 512c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-768v512h768v-512zM810.667 618.667h-469.333v-85.333h469.333v85.333zM810.667 448h-469.333v-85.333h469.333v85.333zM298.667 618.667h-85.333v-85.333h85.333v85.333zM298.667 448h-85.333v-85.333h85.333v85.333z" />
330
- <glyph unicode="&#xe740;" d="M512 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667zM893.44 490.667c-19.627 177.92-160.853 319.147-338.773 338.773v87.893h-85.333v-87.893c-177.92-19.627-319.147-160.853-338.773-338.773h-87.893v-85.333h87.893c19.627-177.92 160.853-319.147 338.773-338.773v-87.893h85.333v87.893c177.92 19.627 319.147 160.853 338.773 338.773h87.893v85.333h-87.893zM512 149.333c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667z" />
331
- <glyph unicode="&#xe741;" d="M893.44 490.667c-19.627 177.92-160.853 319.147-338.773 338.773v87.893h-85.333v-87.893c-177.92-19.627-319.147-160.853-338.773-338.773h-87.893v-85.333h87.893c19.627-177.92 160.853-319.147 338.773-338.773v-87.893h85.333v87.893c177.92 19.627 319.147 160.853 338.773 338.773h87.893v85.333h-87.893zM512 149.333c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667z" />
332
- <glyph unicode="&#xe742;" d="M893.44 490.667c-19.627 177.92-160.853 319.147-338.773 338.773v87.893h-85.333v-87.893c-48.213-5.333-93.44-19.84-134.613-41.387l64-64c34.987 14.507 73.173 22.613 113.28 22.613 164.907 0 298.667-133.76 298.667-298.667 0-40.107-8.107-78.293-22.4-113.28l64-64c21.547 41.173 35.84 86.4 41.173 134.613h87.893v85.333h-87.893zM128 777.6l86.827-86.827c-45.653-55.893-75.947-124.587-84.267-200.107h-87.893v-85.333h87.893c19.627-177.92 160.853-319.147 338.773-338.773v-87.893h85.333v87.893c75.52 8.32 144.213 38.827 200.107 84.48l86.827-87.040 54.4 54.187-713.6 713.813-54.4-54.4zM693.973 211.627c-50.347-38.827-113.28-62.293-181.973-62.293-164.907 0-298.667 133.76-298.667 298.667 0 68.693 23.467 131.627 62.293 181.973l418.347-418.347z" />
333
- <glyph unicode="&#xe743;" d="M893.44 487.040c-19.627 177.92-160.853 319.147-338.773 338.773v87.893h-85.333v-87.893c-48.213-5.333-93.44-19.84-134.613-41.387l64-64c34.987 14.293 73.173 22.4 113.28 22.4 164.907 0 298.667-133.76 298.667-298.667 0-40.107-8.107-78.293-22.4-113.28l64-64c21.547 41.173 35.84 86.4 41.173 134.613h87.893v85.333h-87.893zM128 773.973l86.827-86.827c-45.653-55.893-76.16-124.587-84.48-200.107h-87.68v-85.333h87.893c19.627-177.92 160.853-319.147 338.773-338.773v-87.893h85.333v87.893c75.52 8.32 144.213 38.827 200.107 84.48l87.040-87.040 54.187 54.187-713.6 713.813-54.4-54.4zM693.973 208c-50.347-38.827-113.493-62.293-181.973-62.293-164.907 0-298.667 133.76-298.667 298.667 0 68.693 23.467 131.627 62.293 181.973l418.347-418.347z" />
334
- <glyph unicode="&#xe744;" d="M893.44 487.040c-19.627 177.92-160.853 319.147-338.773 338.773v87.893h-85.333v-87.893c-177.92-19.627-319.147-160.853-338.773-338.773h-87.893v-85.333h87.893c19.627-177.92 160.853-319.147 338.773-338.773v-87.893h85.333v87.893c177.92 19.627 319.147 160.853 338.773 338.773h87.893v85.333h-87.893zM512 145.707c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667z" />
335
- <glyph unicode="&#xe745;" d="M298.667 192h85.333v512h-85.333v-512zM469.333 21.333h85.333v853.333h-85.333v-853.333zM128 362.667h85.333v170.667h-85.333v-170.667zM640 192h85.333v512h-85.333v-512zM810.667 533.333v-170.667h85.333v170.667h-85.333z" />
336
- <glyph unicode="&#xe746;" d="M85.333 21.333h853.333v853.333zM725.333 661.333l-640-640h640z" />
337
- <glyph unicode="&#xe747;" d="M512.427 43.093l496.213 618.24c-19.2 14.507-210.133 170.667-496.64 170.667s-477.44-156.16-496.64-170.667l496.64-618.667 0.427 0.427zM150.827 492.587l361.173-449.92 0.427 0.427 360.96 449.493c-18.347 14.080-156.16 126.080-361.387 126.080-205.44 0-343.040-112-361.173-126.080z" />
338
- <glyph unicode="&#xe748;" d="M853.333 871.040h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM853.333 103.040h-682.667v682.667h682.667v-682.667zM768 700.373h-213.333c-47.147 0-85.333-38.187-85.333-85.333v-97.067c-25.387-14.72-42.667-42.027-42.667-73.6 0-47.147 38.187-85.333 85.333-85.333s85.333 38.187 85.333 85.333c0 31.573-17.28 58.667-42.667 73.6v97.067h128v-341.333h-341.333v341.333h85.333v85.333h-170.667v-512h512v512z" />
339
- <glyph unicode="&#xe749;" d="M170.667 789.333h298.667v85.333h-298.667c-47.147 0-85.333-38.187-85.333-85.333v-298.667h85.333v298.667zM426.667 405.333l-170.667-213.333h512l-128 170.667-86.613-115.627-126.72 158.293zM725.333 597.333c0 35.413-28.587 64-64 64s-64-28.587-64-64 28.587-64 64-64 64 28.587 64 64zM853.333 874.667h-298.667v-85.333h298.667v-298.667h85.333v298.667c0 47.147-38.187 85.333-85.333 85.333zM853.333 106.667h-298.667v-85.333h298.667c47.147 0 85.333 38.187 85.333 85.333v298.667h-85.333v-298.667zM170.667 405.333h-85.333v-298.667c0-47.147 38.187-85.333 85.333-85.333h298.667v85.333h-298.667v298.667z" />
340
- <glyph unicode="&#xe74a;" d="M554.667 405.333v-341.333h341.333v341.333h-341.333zM128 64h341.333v341.333h-341.333v-341.333zM128 832v-341.333h341.333v341.333h-341.333zM710.613 888.107l-241.28-241.493 241.28-241.28 241.28 241.28-241.28 241.493z" />
341
- <glyph unicode="&#xe74b;" d="M896 746.667h-768c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 234.667h-597.333v426.667h597.333v-426.667zM426.667 277.333h170.667c23.68 0 42.667 19.2 42.667 42.667v128c0 23.467-18.987 42.667-42.667 42.667v42.667c0 47.147-38.187 85.333-85.333 85.333s-85.333-38.187-85.333-85.333v-42.667c-23.68 0-42.667-19.2-42.667-42.667v-128c0-23.467 18.987-42.667 42.667-42.667zM460.8 533.333c0 28.373 22.827 51.2 51.2 51.2s51.2-23.040 51.2-51.2v-42.667h-102.4v42.667z" />
342
- <glyph unicode="&#xe74c;" d="M426.667 277.333h170.667c23.68 0 42.667 19.2 42.667 42.667v128c0 23.467-18.987 42.667-42.667 42.667v42.667c0 47.147-38.187 85.333-85.333 85.333s-85.333-38.187-85.333-85.333v-42.667c-23.68 0-42.667-19.2-42.667-42.667v-128c0-23.467 18.987-42.667 42.667-42.667zM460.8 533.333c0 28.373 22.827 51.2 51.2 51.2s51.2-23.040 51.2-51.2v-42.667h-102.4v42.667zM725.333 917.333h-426.667c-47.147 0-85.333-38.187-85.333-85.333v-768c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v768c0 47.147-38.187 85.333-85.333 85.333zM725.333 149.333h-426.667v597.333h426.667v-597.333z" />
343
- <glyph unicode="&#xe74d;" d="M992.213 415.147l-109.653 109.653-60.373-60.373 94.507-94.507-241.28-241.28-482.773 482.773 241.28 241.28 89.387-89.387 60.373 60.373-104.533 104.533c-24.96 24.96-65.493 24.96-90.453 0l-271.573-271.573c-24.96-24.96-24.96-65.493 0-90.453l512.853-512.853c24.96-24.96 65.493-24.96 90.453 0l271.573 271.573c25.173 24.747 25.173 65.28 0.213 90.24zM361.173 85.973c-139.307 66.133-239.36 201.6-254.507 362.027h-64c21.76-262.827 241.493-469.333 509.867-469.333 9.6 0 18.773 0.853 28.373 1.493l-162.773 162.773-56.96-56.96zM682.667 576h213.333c23.68 0 42.667 19.2 42.667 42.667v170.667c0 23.467-18.987 42.667-42.667 42.667v21.333c0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667v-21.333c-23.68 0-42.667-19.2-42.667-42.667v-170.667c0-23.467 18.987-42.667 42.667-42.667zM716.8 853.333c0 40.107 32.427 72.533 72.533 72.533s72.533-32.427 72.533-72.533v-21.333h-145.067v21.333z" />
344
- <glyph unicode="&#xe74e;" d="M703.36 852.693c139.307-66.133 239.36-201.6 254.507-362.027h64c-21.76 262.827-241.493 469.333-509.867 469.333-9.6 0-18.773-0.853-28.373-1.493l162.773-162.773 56.96 56.96zM436.48 885.547c-24.96 24.96-65.493 24.96-90.453 0l-271.573-271.573c-24.96-24.96-24.96-65.493 0-90.453l512.853-512.853c24.96-24.96 65.493-24.96 90.453 0l271.573 271.573c24.96 24.96 24.96 65.493 0 90.453l-512.853 512.853zM632.747 55.893l-513.067 512.853 271.573 271.573 512.853-512.853-271.36-271.573zM320.64 43.307c-139.307 66.133-239.36 201.6-254.507 362.027h-64c21.76-262.827 241.493-469.333 509.867-469.333 9.6 0 18.773 0.853 28.373 1.493l-162.773 162.773-56.96-56.96z" />
345
- <glyph unicode="&#xe74f;" d="M768 874.667h-341.333l-255.147-256-0.853-512c0-46.933 38.4-85.333 85.333-85.333h512c46.933 0 85.333 38.4 85.333 85.333v682.667c0 46.933-38.4 85.333-85.333 85.333zM512 618.667h-85.333v170.667h85.333v-170.667zM640 618.667h-85.333v170.667h85.333v-170.667zM768 618.667h-85.333v170.667h85.333v-170.667z" />
346
- <glyph unicode="&#xe750;" d="M384 277.333h277.333c58.88 0 106.667 47.787 106.667 106.667s-47.787 106.667-106.667 106.667h-2.133c-10.453 72.32-72.107 128-147.2 128-59.733 0-110.933-35.413-134.827-86.187h-7.040c-64.213-6.827-114.133-61.227-114.133-127.147 0-70.613 57.387-128 128-128zM896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 148.693h-768v598.613h768v-598.613z" />
347
- <glyph unicode="&#xe751;" d="M85.333 21.333h853.333v853.333z" />
348
- <glyph unicode="&#xe752;" d="M85.333 21.333h853.333v853.333zM512 448l-426.667-426.667h426.667z" />
349
- <glyph unicode="&#xe753;" d="M85.333 21.333h853.333v853.333zM597.333 533.333l-512-512h512z" />
350
- <glyph unicode="&#xe754;" d="M85.333 21.333h853.333v853.333zM725.333 661.333l-640-640h640z" />
351
- <glyph unicode="&#xe755;" d="M85.333 21.333h853.333v853.333z" />
352
- <glyph unicode="&#xe756;" d="M938.667 618.667v256l-853.333-853.333h682.667v597.333zM853.333 21.333h85.333v85.333h-85.333v-85.333zM853.333 533.333v-341.333h85.333v341.333h-85.333z" />
353
- <glyph unicode="&#xe757;" d="M938.667 618.667v256l-853.333-853.333h682.667v597.333zM853.333 533.333v-341.333h85.333v341.333h-85.333zM512 21.333v426.667l-426.667-426.667h426.667zM853.333 21.333h85.333v85.333h-85.333v-85.333z" />
354
- <glyph unicode="&#xe758;" d="M938.667 618.667v256l-853.333-853.333h682.667v597.333zM597.333 21.333v512l-512-512h512zM853.333 533.333v-341.333h85.333v341.333h-85.333zM853.333 21.333h85.333v85.333h-85.333v-85.333z" />
355
- <glyph unicode="&#xe759;" d="M938.667 618.667v256l-853.333-853.333h682.667v597.333zM725.333 21.333v640l-640-640h640zM853.333 533.333v-341.333h85.333v341.333h-85.333zM853.333 21.333h85.333v85.333h-85.333v-85.333z" />
356
- <glyph unicode="&#xe75a;" d="M853.333 192h85.333v341.333h-85.333v-341.333zM853.333 21.333h85.333v85.333h-85.333v-85.333zM85.333 21.333h682.667v597.333h170.667v256l-853.333-853.333z" />
357
- <glyph unicode="&#xe75b;" d="M810.24 746.667c0 47.147-37.76 85.333-84.907 85.333h-298.667l-99.84-99.84 483.84-483.84-0.427 498.347zM155.733 794.453l-54.187-54.187 111.787-112v-478.933c0-47.147 38.187-85.333 85.333-85.333h427.093c14.933 0 28.8 4.267 40.96 10.88l80.213-80.213 54.187 54.4-745.387 745.387z" />
358
- <glyph unicode="&#xe75c;" d="M853.333 668.587v-561.92h-561.92l561.92 561.92zM938.667 874.667l-853.333-853.333h853.333v853.333z" />
359
- <glyph unicode="&#xe75d;" d="M896 917.333l-366.507-366.507 366.507-366.507v733.013zM203.733 768l-54.4-54.187 271.573-271.573-378.24-378.24h756.267l85.333-85.333 54.4 54.4-734.933 734.933z" />
360
- <glyph unicode="&#xe75e;" d="M512.427 43.093l496.213 618.24c-19.2 14.507-210.133 170.667-496.64 170.667s-477.44-156.16-496.64-170.667l496.64-618.667 0.427 0.427z" />
361
- <glyph unicode="&#xe75f;" d="M512.427 43.093l496.213 618.24c-19.2 14.507-210.133 170.667-496.64 170.667s-477.44-156.16-496.64-170.667l496.64-618.667 0.427 0.427zM284.587 325.973l227.413-283.307 0.213 0.213 227.2 283.093c-11.307 8.747-98.133 79.36-227.413 79.36s-216.107-70.613-227.413-79.36z" />
362
- <glyph unicode="&#xe760;" d="M512.427 43.093l496.213 618.24c-19.2 14.507-210.133 170.667-496.64 170.667s-477.44-156.16-496.64-170.667l496.64-618.667 0.427 0.427zM204.373 426.027l307.627-383.36 0.213 0.427 307.413 382.933c-15.36 11.947-132.693 107.307-307.627 107.307s-292.267-95.36-307.627-107.307z" />
363
- <glyph unicode="&#xe761;" d="M512.427 43.093l496.213 618.24c-19.2 14.507-210.133 170.667-496.64 170.667s-477.44-156.16-496.64-170.667l496.64-618.667 0.427 0.427zM150.827 492.587l361.173-449.92 0.427 0.427 360.96 449.493c-18.347 14.080-156.16 126.080-361.387 126.080-205.44 0-343.040-112-361.173-126.080z" />
364
- <glyph unicode="&#xe762;" d="M512.427 43.093l496.213 618.24c-19.2 14.507-210.133 170.667-496.64 170.667s-477.44-156.16-496.64-170.667l496.64-618.667 0.427 0.427z" />
365
- <glyph unicode="&#xe763;" d="M1008.64 661.333c-19.2 14.507-210.133 170.667-496.64 170.667-64.213 0-123.307-8.107-177.067-20.48l440.747-440.32 232.96 290.133zM139.733 898.347l-54.4-54.4 87.68-87.68c-91.307-42.027-147.627-87.467-157.653-95.147l496.64-618.453 0.427 0.427 166.4 207.36 141.44-141.44 54.4 54.4-734.933 734.933z" />
366
- <glyph unicode="&#xe764;" d="M85.333 106.667h853.333v170.667h-853.333v-170.667zM170.667 234.667h85.333v-85.333h-85.333v85.333zM85.333 789.333v-170.667h853.333v170.667h-853.333zM256 661.333h-85.333v85.333h85.333v-85.333zM85.333 362.667h853.333v170.667h-853.333v-170.667zM170.667 490.667h85.333v-85.333h-85.333v85.333z" />
367
- <glyph unicode="&#xe765;" d="M640 661.333v-170.667h42.667v-85.333h-128v341.333h85.333l-128 170.667-128-170.667h85.333v-341.333h-128v88.32c30.080 15.573 51.2 46.080 51.2 82.347 0 51.84-42.027 93.867-93.867 93.867s-93.867-42.027-93.867-93.867c0-36.267 21.12-66.773 51.2-82.347v-88.32c0-47.147 38.187-85.333 85.333-85.333h128v-130.133c-30.293-15.573-51.2-46.72-51.2-83.2 0-51.84 42.027-93.867 93.867-93.867s93.867 42.027 93.867 93.867c0 36.48-20.907 67.627-51.2 83.2v130.133h128c47.147 0 85.333 38.187 85.333 85.333v85.333h42.667v170.667h-170.667z" />
368
- <glyph unicode="&#xe766;" d="M874.667 554.667c11.947 0 23.253-1.707 34.773-3.413l114.56 152.747c-142.72 107.093-320 170.667-512 170.667s-369.28-63.573-512-170.667l512-682.667 149.333 199.040v120.96c0 117.76 95.573 213.333 213.333 213.333zM981.333 277.333v64c0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667v-64c-23.467 0-42.667-19.2-42.667-42.667v-170.667c0-23.467 19.2-42.667 42.667-42.667h213.333c23.467 0 42.667 19.2 42.667 42.667v170.667c0 23.467-19.2 42.667-42.667 42.667zM938.667 277.333h-128v64c0 35.413 28.587 64 64 64s64-28.587 64-64v-64z" />
369
- <glyph unicode="&#xe767;" d="M512 490.667c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 405.333c0 141.44-114.56 256-256 256s-256-114.56-256-256c0-94.72 51.413-177.067 127.787-221.44l43.093 74.24c-50.987 29.653-85.547 84.053-85.547 147.2 0 94.293 76.373 170.667 170.667 170.667s170.667-76.373 170.667-170.667c0-63.147-34.56-117.547-85.547-146.987l43.093-74.24c76.373 44.16 127.787 126.507 127.787 221.227zM512 832c-235.733 0-426.667-190.933-426.667-426.667 0-157.653 85.76-295.040 213.12-368.853l42.667 73.813c-101.76 58.88-170.453 168.96-170.453 295.040 0 188.587 152.747 341.333 341.333 341.333s341.333-152.747 341.333-341.333c0-126.080-68.693-236.16-170.453-295.253l42.667-73.813c127.36 74.027 213.12 211.413 213.12 369.067 0 235.733-191.147 426.667-426.667 426.667z" />
370
- <glyph unicode="&#xe768;" d="M704 704v-490.667c0-94.293-76.373-170.667-170.667-170.667s-170.667 76.373-170.667 170.667v533.333c0 58.88 47.787 106.667 106.667 106.667s106.667-47.787 106.667-106.667v-448c0-23.467-18.987-42.667-42.667-42.667s-42.667 19.2-42.667 42.667v405.333h-64v-405.333c0-58.88 47.787-106.667 106.667-106.667s106.667 47.787 106.667 106.667v448c0 94.293-76.373 170.667-170.667 170.667s-170.667-76.373-170.667-170.667v-533.333c0-129.707 105.173-234.667 234.667-234.667s234.667 104.96 234.667 234.667v490.667h-64z" />
371
- <glyph unicode="&#xe769;" d="M503.467 494.933c-96.853 25.173-128 50.987-128 91.52 0 46.507 42.88 79.147 115.2 79.147 75.947 0 104.107-36.267 106.667-89.6h94.293c-2.773 73.6-47.787 140.587-136.96 162.56v93.44h-128v-92.16c-82.773-18.133-149.333-71.467-149.333-154.027 0-98.56 81.707-147.627 200.533-176.213 106.88-25.6 128-62.933 128-103.040 0-29.227-20.693-76.16-115.2-76.16-87.893 0-122.667 39.467-127.147 89.6h-94.080c5.333-93.44 75.093-145.707 157.227-163.413v-92.587h128v91.733c82.987 16 149.333 64 149.333 151.68 0 120.747-103.68 162.133-200.533 187.52z" />
372
- <glyph unicode="&#xe76a;" d="M128 832v-768h768v768h-768zM469.333 149.333h-256v256h256v-256zM469.333 490.667h-256v256h256v-256zM810.667 149.333h-256v256h256v-256zM810.667 490.667h-256v256h256v-256z" />
373
- <glyph unicode="&#xe76b;" d="M384 490.667h-85.333v-85.333h85.333v85.333zM554.667 320h-85.333v-85.333h85.333v85.333zM384 832h-85.333v-85.333h85.333v85.333zM554.667 490.667h-85.333v-85.333h85.333v85.333zM213.333 832h-85.333v-85.333h85.333v85.333zM554.667 661.333h-85.333v-85.333h85.333v85.333zM725.333 490.667h-85.333v-85.333h85.333v85.333zM554.667 832h-85.333v-85.333h85.333v85.333zM725.333 832h-85.333v-85.333h85.333v85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM213.333 661.333h-85.333v-85.333h85.333v85.333zM810.667 832v-85.333h85.333v85.333h-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM213.333 490.667h-85.333v-85.333h85.333v85.333zM128 64h768v85.333h-768v-85.333zM213.333 320h-85.333v-85.333h85.333v85.333z" />
374
- <glyph unicode="&#xe76c;" d="M298.667 746.667h85.333v85.333h-85.333v-85.333zM298.667 405.333h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333zM469.333 234.667h85.333v85.333h-85.333v-85.333zM469.333 64h85.333v85.333h-85.333v-85.333zM128 64h85.333v85.333h-85.333v-85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM128 405.333h85.333v85.333h-85.333v-85.333zM128 576h85.333v85.333h-85.333v-85.333zM128 746.667h85.333v85.333h-85.333v-85.333zM469.333 405.333h85.333v85.333h-85.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM810.667 64h85.333v85.333h-85.333v-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM469.333 576h85.333v85.333h-85.333v-85.333zM810.667 832v-85.333h85.333v85.333h-85.333zM469.333 746.667h85.333v85.333h-85.333v-85.333zM640 64h85.333v85.333h-85.333v-85.333zM640 405.333h85.333v85.333h-85.333v-85.333zM640 746.667h85.333v85.333h-85.333v-85.333z" />
375
- <glyph unicode="&#xe76d;" d="M757.333 661.333l-160 160-426.667-426.667v-160h160l426.667 426.667zM883.413 787.413c16.64 16.64 16.64 43.733 0 60.373l-99.627 99.627c-16.64 16.64-43.733 16.64-60.373 0l-83.413-83.413 160-160 83.413 83.413zM0 106.667h1024v-170.667h-1024z" />
376
- <glyph unicode="&#xe76e;" d="M128 64h85.333v85.333h-85.333v-85.333zM213.333 661.333h-85.333v-85.333h85.333v85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333zM213.333 832h-85.333v-85.333h85.333v85.333zM384 832h-85.333v-85.333h85.333v85.333zM725.333 832h-85.333v-85.333h85.333v85.333zM554.667 661.333h-85.333v-85.333h85.333v85.333zM554.667 832h-85.333v-85.333h85.333v85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM469.333 64h85.333v85.333h-85.333v-85.333zM128 405.333h768v85.333h-768v-85.333zM810.667 832v-85.333h85.333v85.333h-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM469.333 234.667h85.333v85.333h-85.333v-85.333zM640 64h85.333v85.333h-85.333v-85.333zM810.667 64h85.333v85.333h-85.333v-85.333z" />
377
- <glyph unicode="&#xe76f;" d="M128 64h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333zM213.333 661.333h-85.333v-85.333h85.333v85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM384 832h-85.333v-85.333h85.333v85.333zM213.333 832h-85.333v-85.333h85.333v85.333zM725.333 832h-85.333v-85.333h85.333v85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM810.667 832v-85.333h85.333v85.333h-85.333zM640 64h85.333v85.333h-85.333v-85.333zM554.667 832h-85.333v-341.333h-341.333v-85.333h341.333v-341.333h85.333v341.333h341.333v85.333h-341.333v341.333zM810.667 64h85.333v85.333h-85.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333z" />
378
- <glyph unicode="&#xe770;" d="M469.333 64h85.333v85.333h-85.333v-85.333zM469.333 234.667h85.333v85.333h-85.333v-85.333zM469.333 746.667h85.333v85.333h-85.333v-85.333zM469.333 576h85.333v85.333h-85.333v-85.333zM469.333 405.333h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333zM298.667 746.667h85.333v85.333h-85.333v-85.333zM298.667 405.333h85.333v85.333h-85.333v-85.333zM128 64h85.333v768h-85.333v-768zM810.667 576h85.333v85.333h-85.333v-85.333zM640 64h85.333v85.333h-85.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM810.667 832v-85.333h85.333v85.333h-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM810.667 64h85.333v85.333h-85.333v-85.333zM640 405.333h85.333v85.333h-85.333v-85.333zM640 746.667h85.333v85.333h-85.333v-85.333z" />
379
- <glyph unicode="&#xe771;" d="M554.667 661.333h-85.333v-85.333h85.333v85.333zM554.667 490.667h-85.333v-85.333h85.333v85.333zM725.333 490.667h-85.333v-85.333h85.333v85.333zM128 832v-768h768v768h-768zM810.667 149.333h-597.333v597.333h597.333v-597.333zM554.667 320h-85.333v-85.333h85.333v85.333zM384 490.667h-85.333v-85.333h85.333v85.333z" />
380
- <glyph unicode="&#xe772;" d="M298.667 64h85.333v85.333h-85.333v-85.333zM128 746.667h85.333v85.333h-85.333v-85.333zM298.667 746.667h85.333v85.333h-85.333v-85.333zM298.667 405.333h85.333v85.333h-85.333v-85.333zM128 64h85.333v85.333h-85.333v-85.333zM469.333 64h85.333v85.333h-85.333v-85.333zM128 405.333h85.333v85.333h-85.333v-85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM128 576h85.333v85.333h-85.333v-85.333zM469.333 234.667h85.333v85.333h-85.333v-85.333zM640 405.333h85.333v85.333h-85.333v-85.333zM810.667 832v-768h85.333v768h-85.333zM640 64h85.333v85.333h-85.333v-85.333zM640 746.667h85.333v85.333h-85.333v-85.333zM469.333 405.333h85.333v85.333h-85.333v-85.333zM469.333 746.667h85.333v85.333h-85.333v-85.333zM469.333 576h85.333v85.333h-85.333v-85.333z" />
381
- <glyph unicode="&#xe773;" d="M640 64h85.333v85.333h-85.333v-85.333zM810.667 64h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333zM469.333 64h85.333v85.333h-85.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM128 832v-768h85.333v682.667h682.667v85.333h-768zM810.667 576h85.333v85.333h-85.333v-85.333z" />
382
- <glyph unicode="&#xe774;" d="M298.667 64h85.333v85.333h-85.333v-85.333zM298.667 405.333h85.333v85.333h-85.333v-85.333zM469.333 405.333h85.333v85.333h-85.333v-85.333zM469.333 64h85.333v85.333h-85.333v-85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM128 64h85.333v85.333h-85.333v-85.333zM128 405.333h85.333v85.333h-85.333v-85.333zM128 576h85.333v85.333h-85.333v-85.333zM469.333 234.667h85.333v85.333h-85.333v-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM128 832v-85.333h768v85.333h-768zM810.667 234.667h85.333v85.333h-85.333v-85.333zM640 64h85.333v85.333h-85.333v-85.333zM469.333 576h85.333v85.333h-85.333v-85.333zM810.667 64h85.333v85.333h-85.333v-85.333zM640 405.333h85.333v85.333h-85.333v-85.333z" />
383
- <glyph unicode="&#xe775;" d="M128 576h85.333v85.333h-85.333v-85.333zM128 746.667h85.333v85.333h-85.333v-85.333zM298.667 64h85.333v85.333h-85.333v-85.333zM298.667 405.333h85.333v85.333h-85.333v-85.333zM128 405.333h85.333v85.333h-85.333v-85.333zM128 64h85.333v85.333h-85.333v-85.333zM128 234.667h85.333v85.333h-85.333v-85.333zM298.667 746.667h85.333v85.333h-85.333v-85.333zM810.667 234.667h85.333v85.333h-85.333v-85.333zM469.333 64h85.333v768h-85.333v-768zM810.667 64h85.333v85.333h-85.333v-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM810.667 832v-85.333h85.333v85.333h-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM640 746.667h85.333v85.333h-85.333v-85.333zM640 64h85.333v85.333h-85.333v-85.333zM640 405.333h85.333v85.333h-85.333v-85.333z" />
384
- <glyph unicode="&#xe776;" d="M298.667 320v-85.333h426.667v85.333h-426.667zM128 64h768v85.333h-768v-85.333zM128 405.333h768v85.333h-768v-85.333zM298.667 661.333v-85.333h426.667v85.333h-426.667zM128 832v-85.333h768v85.333h-768z" />
385
- <glyph unicode="&#xe777;" d="M128 64h768v85.333h-768v-85.333zM128 234.667h768v85.333h-768v-85.333zM128 405.333h768v85.333h-768v-85.333zM128 576h768v85.333h-768v-85.333zM128 832v-85.333h768v85.333h-768z" />
386
- <glyph unicode="&#xe778;" d="M640 320h-512v-85.333h512v85.333zM640 661.333h-512v-85.333h512v85.333zM128 405.333h768v85.333h-768v-85.333zM128 64h768v85.333h-768v-85.333zM128 832v-85.333h768v85.333h-768z" />
387
- <glyph unicode="&#xe779;" d="M128 64h768v85.333h-768v-85.333zM384 234.667h512v85.333h-512v-85.333zM128 405.333h768v85.333h-768v-85.333zM384 576h512v85.333h-512v-85.333zM128 832v-85.333h768v85.333h-768z" />
388
- <glyph unicode="&#xe77a;" d="M665.6 499.627c41.173 28.8 70.4 75.307 70.4 119.040 0 96.213-74.453 170.667-170.667 170.667h-266.667v-597.333h300.373c89.387 0 158.293 72.533 158.293 161.707 0 64.853-36.907 120.107-91.733 145.92zM426.667 682.667h128c35.413 0 64-28.587 64-64s-28.587-64-64-64h-128v128zM576 298.667h-149.333v128h149.333c35.413 0 64-28.587 64-64s-28.587-64-64-64z" />
389
- <glyph unicode="&#xe77b;" d="M139.52 746.667l-54.187-54.4 297.387-297.387-105.387-245.547h128l66.987 156.16 241.493-241.493 54.187 54.4-628.48 628.267zM256 746.667v-7.68l120.32-120.32h102.187l-30.72-71.467 89.6-89.6 69.12 161.067h246.827v128h-597.333z" />
390
- <glyph unicode="&#xe77c;" d="M706.56 578.56l-381.44 381.44-60.373-60.373 101.547-101.547-219.52-219.52c-24.96-24.96-24.96-65.493 0-90.453l234.667-234.667c12.373-12.587 28.8-18.773 45.227-18.773s32.853 6.187 45.227 18.773l234.667 234.667c24.96 24.96 24.96 65.493 0 90.453zM222.080 533.333l204.587 204.373 204.587-204.373h-409.173zM810.667 469.333s-85.333-92.373-85.333-149.333c0-47.147 38.187-85.333 85.333-85.333s85.333 38.187 85.333 85.333c0 56.96-85.333 149.333-85.333 149.333zM0 106.667h1024v-170.667h-1024z" />
391
- <glyph unicode="&#xe77d;" d="M768 362.667c0 170.667-256 460.8-256 460.8s-56.747-64.427-116.693-150.187l366.293-366.293c4.053 17.92 6.4 36.48 6.4 55.68zM730.453 229.547l-505.6 505.6-54.187-54.4 141.653-141.653c-32.64-62.293-56.32-124.8-56.32-176.427 0-141.44 114.56-256 256-256 64.853 0 123.733 24.32 168.747 64l112.427-112.427 54.187 54.4-116.907 116.907z" />
392
- <glyph unicode="&#xe77e;" d="M0 106.667h1024v-170.667h-1024zM469.333 832l-234.667-597.333h96l48 128h266.667l48-128h96l-234.667 597.333h-85.333zM410.667 448l101.333 270.293 101.333-270.293h-202.667z" />
393
- <glyph unicode="&#xe77f;" d="M469.333 234.667h426.667v85.333h-426.667v-85.333zM128 448l170.667-170.667v341.333l-170.667-170.667zM128 64h768v85.333h-768v-85.333zM128 832v-85.333h768v85.333h-768zM469.333 576h426.667v85.333h-426.667v-85.333zM469.333 405.333h426.667v85.333h-426.667v-85.333z" />
394
- <glyph unicode="&#xe780;" d="M128 64h768v85.333h-768v-85.333zM128 618.667v-341.333l170.667 170.667-170.667 170.667zM469.333 234.667h426.667v85.333h-426.667v-85.333zM128 832v-85.333h768v85.333h-768zM469.333 576h426.667v85.333h-426.667v-85.333zM469.333 405.333h426.667v85.333h-426.667v-85.333z" />
395
- <glyph unicode="&#xe781;" d="M426.667 789.333v-128h94.507l-146.347-341.333h-118.827v-128h341.333v128h-94.507l146.347 341.333h118.827v128z" />
396
- <glyph unicode="&#xe782;" d="M256 661.333h106.667l-149.333 149.333-149.333-149.333h106.667v-426.667h-106.667l149.333-149.333 149.333 149.333h-106.667v426.667zM426.667 746.667v-85.333h512v85.333h-512zM426.667 149.333h512v85.333h-512v-85.333zM426.667 405.333h512v85.333h-512v-85.333z" />
397
- <glyph unicode="&#xe783;" d="M170.667 512c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64zM170.667 768c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64zM170.667 248.96c-31.36 0-56.96-25.387-56.96-56.96s25.6-56.96 56.96-56.96 56.96 25.387 56.96 56.96-25.6 56.96-56.96 56.96zM298.667 149.333h597.333v85.333h-597.333v-85.333zM298.667 405.333h597.333v85.333h-597.333v-85.333zM298.667 746.667v-85.333h597.333v85.333h-597.333z" />
398
- <glyph unicode="&#xe784;" d="M85.333 234.667h85.333v-21.333h-42.667v-42.667h42.667v-21.333h-85.333v-42.667h128v170.667h-128v-42.667zM128 618.667h42.667v170.667h-85.333v-42.667h42.667v-128zM85.333 490.667h76.8l-76.8-89.6v-38.4h128v42.667h-76.8l76.8 89.6v38.4h-128v-42.667zM298.667 746.667v-85.333h597.333v85.333h-597.333zM298.667 149.333h597.333v85.333h-597.333v-85.333zM298.667 405.333h597.333v85.333h-597.333v-85.333z" />
399
- <glyph unicode="&#xe785;" d="M768 789.333v42.667c0 23.467-19.2 42.667-42.667 42.667h-512c-23.467 0-42.667-19.2-42.667-42.667v-170.667c0-23.467 19.2-42.667 42.667-42.667h512c23.467 0 42.667 19.2 42.667 42.667v42.667h42.667v-170.667h-426.667v-469.333c0-23.467 19.2-42.667 42.667-42.667h85.333c23.467 0 42.667 19.2 42.667 42.667v384h341.333v341.333h-128z" />
400
- <glyph unicode="&#xe786;" d="M256 234.667h128l85.333 170.667v256h-256v-256h128zM597.333 234.667h128l85.333 170.667v256h-256v-256h128z" />
401
- <glyph unicode="&#xe787;" d="M384 789.333v-128h213.333v-512h128v512h213.333v128h-554.667zM128 448h128v-298.667h128v298.667h128v128h-384v-128z" />
402
- <glyph unicode="&#xe788;" d="M426.667 149.333h170.667v128h-170.667v-128zM213.333 789.333v-128h213.333v-128h170.667v128h213.333v128h-597.333zM128 362.667h768v85.333h-768v-85.333z" />
403
- <glyph unicode="&#xe789;" d="M768 789.333h-512v-85.333l277.333-256-277.333-256v-85.333h512v128h-298.667l213.333 213.333-213.333 213.333h298.667z" />
404
- <glyph unicode="&#xe78a;" d="M384 533.333v-213.333h85.333v469.333h85.333v-469.333h85.333v469.333h85.333v85.333h-341.333c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667zM896 192l-170.667 170.667v-128h-512v-85.333h512v-128l170.667 170.667z" />
405
- <glyph unicode="&#xe78b;" d="M512 234.667c141.44 0 256 114.56 256 256v341.333h-106.667v-341.333c0-82.56-66.773-149.333-149.333-149.333s-149.333 66.773-149.333 149.333v341.333h-106.667v-341.333c0-141.44 114.56-256 256-256zM213.333 149.333v-85.333h597.333v85.333h-597.333z" />
406
- <glyph unicode="&#xe78c;" d="M426.667 533.333v-213.333h85.333v469.333h85.333v-469.333h85.333v469.333h85.333v85.333h-341.333c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667zM341.333 234.667v128l-170.667-170.667 170.667-170.667v128h512v85.333h-512z" />
407
- <glyph unicode="&#xe78d;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM384 234.667h-85.333v298.667h85.333v-298.667zM554.667 234.667h-85.333v426.667h85.333v-426.667zM725.333 234.667h-85.333v170.667h85.333v-170.667z" />
408
- <glyph unicode="&#xe78e;" d="M853.333 874.667h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h597.333l170.667-170.667v768c0 47.147-38.187 85.333-85.333 85.333zM768 362.667h-512v85.333h512v-85.333zM768 490.667h-512v85.333h512v-85.333zM768 618.667h-512v85.333h512v-85.333z" />
409
- <glyph unicode="&#xe78f;" d="M256 874.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-682.667c0-47.147 37.76-85.333 84.907-85.333h512.427c47.147 0 85.333 38.187 85.333 85.333v512l-256 256h-341.333zM554.667 576v234.667l234.667-234.667h-234.667z" />
410
- <glyph unicode="&#xe790;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333zM661.333 490.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM362.667 490.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM512 213.333c99.413 0 183.68 62.080 217.813 149.333h-435.627c34.133-87.253 118.4-149.333 217.813-149.333z" />
411
- <glyph unicode="&#xe791;" d="M725.333 448h-213.333v-213.333h213.333v213.333zM682.667 917.333v-85.333h-341.333v85.333h-85.333v-85.333h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333h-42.667v85.333h-85.333zM810.667 149.333h-597.333v469.333h597.333v-469.333z" />
412
- <glyph unicode="&#xe792;" d="M166.4 448c0 72.96 59.307 132.267 132.267 132.267h170.667v81.067h-170.667c-117.76 0-213.333-95.573-213.333-213.333s95.573-213.333 213.333-213.333h170.667v81.067h-170.667c-72.96 0-132.267 59.307-132.267 132.267zM341.333 405.333h341.333v85.333h-341.333v-85.333zM725.333 661.333h-170.667v-81.067h170.667c72.96 0 132.267-59.307 132.267-132.267s-59.307-132.267-132.267-132.267h-170.667v-81.067h170.667c117.76 0 213.333 95.573 213.333 213.333s-95.573 213.333-213.333 213.333z" />
413
- <glyph unicode="&#xe793;" d="M896 149.333v597.333c0 47.147-38.187 85.333-85.333 85.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333zM362.667 384l106.667-128.213 149.333 192.213 192-256h-597.333l149.333 192z" />
414
- <glyph unicode="&#xe794;" d="M725.333 88.96l60.373 60.373-145.707 145.707-60.373-60.373 145.707-145.707zM320 618.667h149.333v-238.293l-231.040-231.040 60.373-60.373 256 256v273.707h149.333l-192 192-192-192z" />
415
- <glyph unicode="&#xe795;" d="M938.24 789.333c0 47.147-37.76 85.333-84.907 85.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h597.333l170.667-170.667-0.427 768z" />
416
- <glyph unicode="&#xe796;" d="M128 224v-160h160l472.107 472.107-160 160-472.107-472.107zM883.413 659.413c16.64 16.64 16.64 43.733 0 60.373l-99.627 99.627c-16.64 16.64-43.733 16.64-60.373 0l-78.080-78.080 160-160 78.080 78.080z" />
417
- <glyph unicode="&#xe797;" d="M213.333 789.333v-85.333h597.333v85.333h-597.333zM213.333 362.667h170.667v-256h256v256h170.667l-298.667 298.667-298.667-298.667z" />
418
- <glyph unicode="&#xe798;" d="M682.667 405.333h-128v426.667h-85.333v-426.667h-128l170.667-170.667 170.667 170.667zM170.667 149.333v-85.333h682.667v85.333h-682.667z" />
419
- <glyph unicode="&#xe799;" d="M341.333 149.333h128v-170.667h85.333v170.667h128l-170.667 170.667-170.667-170.667zM682.667 746.667h-128v170.667h-85.333v-170.667h-128l170.667-170.667 170.667 170.667zM170.667 490.667v-85.333h682.667v85.333h-682.667z" />
420
- <glyph unicode="&#xe79a;" d="M341.333 490.667h128v-426.667h85.333v426.667h128l-170.667 170.667-170.667-170.667zM170.667 832v-85.333h682.667v85.333h-682.667z" />
421
- <glyph unicode="&#xe79b;" d="M170.667 149.333h256v85.333h-256v-85.333zM853.333 746.667h-682.667v-85.333h682.667v85.333zM725.333 490.667h-554.667v-85.333h565.333c47.147 0 85.333-38.187 85.333-85.333s-38.187-85.333-85.333-85.333h-96v85.333l-128-128 128-128v85.333h85.333c94.080 0 170.667 76.587 170.667 170.667s-76.587 170.667-170.667 170.667z" />
422
- <glyph unicode="&#xe79c;" d="M320 192c-129.707 0-234.667 105.173-234.667 234.667s104.96 234.667 234.667 234.667h448c94.293 0 170.667-76.373 170.667-170.667s-76.373-170.667-170.667-170.667h-362.667c-58.88 0-106.667 47.787-106.667 106.667s47.787 106.667 106.667 106.667h320v-64h-320c-23.467 0-42.667-18.987-42.667-42.667s19.2-42.667 42.667-42.667h362.667c58.88 0 106.667 47.787 106.667 106.667s-47.787 106.667-106.667 106.667h-448c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667h405.333v-64h-405.333z" />
423
- <glyph unicode="&#xe79d;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-230.187-69.973-283.733-172.16-128.213-13.867-228.267-122.453-228.267-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.68 203.947-198.187 211.84z" />
424
- <glyph unicode="&#xe79e;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM704 277.333h-362.667c-70.613 0-128 57.387-128 128s57.387 128 128 128l5.76-0.64c18.987 73.813 85.333 128.64 164.907 128.64 94.293 0 170.667-76.373 170.667-170.667h21.333c58.88 0 106.667-47.787 106.667-106.667s-47.787-106.667-106.667-106.667z" />
425
- <glyph unicode="&#xe79f;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-230.187-69.973-283.733-172.16-128.213-13.867-228.267-122.453-228.267-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.68 203.947-198.187 211.84zM426.667 234.667l-149.333 149.333 60.373 60.373 88.96-88.96 220.8 220.8 60.373-60.373-281.173-281.173z" />
426
- <glyph unicode="&#xe7a0;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-230.187-69.973-283.733-172.16-128.213-13.867-228.267-122.453-228.267-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.68 203.947-198.187 211.84zM725.333 405.333l-213.333-213.333-213.333 213.333h128v170.667h170.667v-170.667h128z" />
427
- <glyph unicode="&#xe7a1;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-62.933 0-121.6-18.56-171.093-49.92l62.293-62.293c32.64 16.853 69.547 26.88 108.8 26.88 129.707 0 234.667-104.96 234.667-234.667v-21.333h64c70.613 0 128-57.387 128-128 0-48.427-27.093-90.027-66.773-111.787l61.867-61.867c54.4 38.613 90.24 101.76 90.24 173.653 0 112.64-87.68 203.947-198.187 211.84zM128 734.933l117.333-116.907c-136.107-5.76-245.333-117.76-245.333-255.36 0-141.44 114.56-256 256-256h500.267l85.333-85.333 54.4 54.187-713.6 713.813-54.4-54.4zM329.6 533.333l341.333-341.333h-414.933c-94.293 0-170.667 76.373-170.667 170.667s76.373 170.667 170.667 170.667h73.6z" />
428
- <glyph unicode="&#xe7a2;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-230.187-69.973-283.733-172.16-128.213-13.867-228.267-122.453-228.267-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.68 203.947-198.187 211.84zM810.667 192h-554.667c-94.293 0-170.667 76.373-170.667 170.667s76.373 170.667 170.667 170.667h30.293c27.947 98.347 118.187 170.667 225.707 170.667 129.707 0 234.667-104.96 234.667-234.667v-21.333h64c70.613 0 128-57.387 128-128s-57.387-128-128-128z" />
429
- <glyph unicode="&#xe7a3;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-230.187-69.973-283.733-172.16-128.213-13.867-228.267-122.453-228.267-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.68 203.947-198.187 211.84zM597.333 405.333v-170.667h-170.667v170.667h-128l213.333 213.333 213.333-213.333h-128z" />
430
- <glyph unicode="&#xe7a4;" d="M810.667 576h-170.667v256h-256v-256h-170.667l298.667-298.667 298.667 298.667zM213.333 192v-85.333h597.333v85.333h-597.333z" />
431
- <glyph unicode="&#xe7a5;" d="M384 277.333h256v256h170.667l-298.667 298.667-298.667-298.667h170.667zM213.333 192h597.333v-85.333h-597.333z" />
432
- <glyph unicode="&#xe7a6;" d="M426.667 789.333h-256c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333h-341.333l-85.333 85.333z" />
433
- <glyph unicode="&#xe7a7;" d="M853.333 704h-341.333l-85.333 85.333h-256c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM853.333 192h-682.667v426.667h682.667v-426.667z" />
434
- <glyph unicode="&#xe7a8;" d="M853.333 704h-341.333l-85.333 85.333h-256c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM640 576c47.147 0 85.333-38.187 85.333-85.333s-38.187-85.333-85.333-85.333-85.333 38.187-85.333 85.333 38.187 85.333 85.333 85.333zM810.667 234.667h-341.333v42.667c0 56.96 113.707 85.333 170.667 85.333s170.667-28.373 170.667-85.333v-42.667z" />
435
- <glyph unicode="&#xe7a9;" d="M896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-128h85.333v128h768v-597.333h-298.667v-85.333h298.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM42.667 192v-128h128c0 70.613-57.387 128-128 128zM42.667 362.667v-85.333c117.76 0 213.333-95.573 213.333-213.333h85.333c0 164.907-133.76 298.667-298.667 298.667zM42.667 533.333v-85.333c212.053 0 384-171.947 384-384h85.333c0 259.2-210.133 469.333-469.333 469.333z" />
436
- <glyph unicode="&#xe7aa;" d="M42.667 192v-128h128c0 70.613-57.387 128-128 128zM42.667 362.667v-85.333c117.76 0 213.333-95.573 213.333-213.333h85.333c0 164.907-133.76 298.667-298.667 298.667zM810.667 661.333h-597.333v-69.76c168.96-54.613 302.293-187.947 356.907-356.907h240.427v426.667zM42.667 533.333v-85.333c212.053 0 384-171.947 384-384h85.333c0 259.2-210.133 469.333-469.333 469.333zM896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-128h85.333v128h768v-597.333h-298.667v-85.333h298.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333z" />
437
- <glyph unicode="&#xe7ab;" d="M853.333 192c47.147 0 84.907 38.187 84.907 85.333l0.427 426.667c0 47.147-38.187 85.333-85.333 85.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h-170.667v-85.333h1024v85.333h-170.667zM170.667 704h682.667v-426.667h-682.667v426.667z" />
438
- <glyph unicode="&#xe7ac;" d="M896 874.667h-768c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h298.667l-85.333-128v-42.667h341.333v42.667l-85.333 128h298.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM896 362.667h-768v426.667h768v-426.667z" />
439
- <glyph unicode="&#xe7ad;" d="M896 874.667h-768c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h298.667v-85.333h-85.333v-85.333h341.333v85.333h-85.333v85.333h298.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM896 277.333h-768v512h768v-512z" />
440
- <glyph unicode="&#xe7ae;" d="M341.333-21.333h341.333v85.333h-341.333v-85.333zM682.667 916.907l-341.333 0.427c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h341.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 84.907-85.333 84.907zM682.667 320h-341.333v426.667h341.333v-426.667z" />
441
- <glyph unicode="&#xe7af;" d="M640 640v234.667h-256v-234.667l128-128 128 128zM320 576h-234.667v-256h234.667l128 128-128 128zM384 256v-234.667h256v234.667l-128 128-128-128zM704 576l-128-128 128-128h234.667v256h-234.667z" />
442
- <glyph unicode="&#xe7b0;" d="M512 917.333c-212.053 0-384-171.947-384-384v-298.667c0-70.613 57.387-128 128-128h128v341.333h-170.667v85.333c0 164.907 133.76 298.667 298.667 298.667s298.667-133.76 298.667-298.667v-85.333h-170.667v-341.333h128c70.613 0 128 57.387 128 128v298.667c0 212.053-171.947 384-384 384z" />
443
- <glyph unicode="&#xe7b1;" d="M512 917.333c-212.053 0-384-171.947-384-384v-298.667c0-70.613 57.387-128 128-128h128v341.333h-170.667v85.333c0 164.907 133.76 298.667 298.667 298.667s298.667-133.76 298.667-298.667v-85.333h-170.667v-341.333h170.667v-42.667h-298.667v-85.333h256c70.613 0 128 57.387 128 128v426.667c0 212.053-171.947 384-384 384z" />
444
- <glyph unicode="&#xe7b2;" d="M853.333 746.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-426.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM469.333 618.667h85.333v-85.333h-85.333v85.333zM469.333 490.667h85.333v-85.333h-85.333v85.333zM341.333 618.667h85.333v-85.333h-85.333v85.333zM341.333 490.667h85.333v-85.333h-85.333v85.333zM298.667 405.333h-85.333v85.333h85.333v-85.333zM298.667 533.333h-85.333v85.333h85.333v-85.333zM682.667 234.667h-341.333v85.333h341.333v-85.333zM682.667 405.333h-85.333v85.333h85.333v-85.333zM682.667 533.333h-85.333v85.333h85.333v-85.333zM810.667 405.333h-85.333v85.333h85.333v-85.333zM810.667 533.333h-85.333v85.333h85.333v-85.333z" />
445
- <glyph unicode="&#xe7b3;" d="M661.333 512c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM362.667 512c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM512 213.333c111.36 0 205.867 71.253 241.067 170.667h-482.133c35.2-99.413 129.707-170.667 241.067-170.667zM511.787 896c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM512 128c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333z" />
446
- <glyph unicode="&#xe7b4;" d="M316.373 609.707l195.627-195.627 195.627 195.627 60.373-60.373-256-256-256 256z" />
447
- <glyph unicode="&#xe7b5;" d="M657.707 263.040l-195.627 195.627 195.627 195.627-60.373 60.373-256-256 256-256z" />
448
- <glyph unicode="&#xe7b6;" d="M366.293 257.707l195.627 195.627-195.627 195.627 60.373 60.373 256-256-256-256z" />
449
- <glyph unicode="&#xe7b7;" d="M316.373 302.293l195.627 195.627 195.627-195.627 60.373 60.373-256 256-256-256z" />
450
- <glyph unicode="&#xe7b8;" d="M896 490.667h-604.587l152.96 152.96-60.373 60.373-256-256 256-256 60.373 60.373-152.96 152.96h604.587z" />
451
- <glyph unicode="&#xe7b9;" d="M512 600.96l195.627-195.627 60.373 60.373-256 256-256-256 60.373-60.373 195.627 195.627zM256 192h512v85.333h-512v-85.333z" />
452
- <glyph unicode="&#xe7ba;" d="M256 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM512 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
453
- <glyph unicode="&#xe7bb;" d="M853.333 832h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-426.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM469.333 704h85.333v-85.333h-85.333v85.333zM469.333 576h85.333v-85.333h-85.333v85.333zM341.333 704h85.333v-85.333h-85.333v85.333zM341.333 576h85.333v-85.333h-85.333v85.333zM298.667 490.667h-85.333v85.333h85.333v-85.333zM298.667 618.667h-85.333v85.333h85.333v-85.333zM682.667 320h-341.333v85.333h341.333v-85.333zM682.667 490.667h-85.333v85.333h85.333v-85.333zM682.667 618.667h-85.333v85.333h85.333v-85.333zM810.667 490.667h-85.333v85.333h85.333v-85.333zM810.667 618.667h-85.333v85.333h85.333v-85.333zM512-21.333l170.667 170.667h-341.333l170.667-170.667z" />
454
- <glyph unicode="&#xe7bc;" d="M810.667 661.333v-170.667h-561.92l152.96 152.96-60.373 60.373-256-256 256-256 60.373 60.373-152.96 152.96h647.253v256z" />
455
- <glyph unicode="&#xe7bd;" d="M494.293 643.627l152.96-152.96h-604.587v-85.333h604.587l-152.96-152.96 60.373-60.373 256 256-256 256-60.373-60.373zM853.333 704v-512h85.333v512h-85.333z" />
456
- <glyph unicode="&#xe7be;" d="M512 320c70.613 0 127.573 57.387 127.573 128l0.427 256c0 70.827-57.173 128-128 128-70.613 0-128-57.173-128-128v-256c0-70.613 57.387-128 128-128zM738.133 448c0-128-108.16-217.6-226.133-217.6-117.76 0-226.133 89.6-226.133 217.6h-72.533c0-145.707 116.053-266.027 256-286.72v-139.947h85.333v139.947c139.947 20.693 256 141.013 256 286.72h-72.533z" />
457
- <glyph unicode="&#xe7bf;" d="M853.333 192c46.933 0 85.333 38.4 85.333 85.333v426.667c0 46.933-38.4 85.333-85.333 85.333h-682.667c-46.933 0-85.333-38.4-85.333-85.333v-426.667c0-46.933 38.4-85.333 85.333-85.333h-170.667v-85.333h1024v85.333h-170.667zM170.667 704h682.667v-426.667h-682.667v426.667z" />
458
- <glyph unicode="&#xe7c0;" d="M938.667 192v640h-853.333v-640h-85.333v-85.333h1024v85.333h-85.333zM597.333 192h-170.667v42.667h170.667v-42.667zM853.333 320h-682.667v426.667h682.667v-426.667z" />
459
- <glyph unicode="&#xe7c1;" d="M853.333 192c47.147 0 84.907 38.187 84.907 85.333l0.427 469.333c0 47.147-38.187 85.333-85.333 85.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-469.333c0-47.147 38.187-85.333 85.333-85.333h-170.667c0-47.147 38.187-85.333 85.333-85.333h853.333c47.147 0 85.333 38.187 85.333 85.333h-170.667zM170.667 746.667h682.667v-469.333h-682.667v469.333zM512 149.333c-23.467 0-42.667 19.2-42.667 42.667s19.2 42.667 42.667 42.667 42.667-19.2 42.667-42.667-19.2-42.667-42.667-42.667z" />
460
- <glyph unicode="&#xe7c2;" d="M853.333 192v42.667c47.147 0 84.907 38.187 84.907 85.333l0.427 426.667c0 47.147-38.187 85.333-85.333 85.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333v-42.667h-170.667v-85.333h1024v85.333h-170.667zM170.667 746.667h682.667v-426.667h-682.667v426.667z" />
461
- <glyph unicode="&#xe7c3;" d="M640 576h-256v-256h256v256zM554.667 405.333h-85.333v85.333h85.333v-85.333zM896 490.667v85.333h-85.333v85.333c0 47.147-38.187 85.333-85.333 85.333h-85.333v85.333h-85.333v-85.333h-85.333v85.333h-85.333v-85.333h-85.333c-47.147 0-85.333-38.187-85.333-85.333v-85.333h-85.333v-85.333h85.333v-85.333h-85.333v-85.333h85.333v-85.333c0-47.147 38.187-85.333 85.333-85.333h85.333v-85.333h85.333v85.333h85.333v-85.333h85.333v85.333h85.333c47.147 0 85.333 38.187 85.333 85.333v85.333h85.333v85.333h-85.333v85.333h85.333zM725.333 234.667h-426.667v426.667h426.667v-426.667z" />
462
- <glyph unicode="&#xe7c4;" d="M554.667 914.347v-338.347h298.667c0 174.080-130.347 317.44-298.667 338.347zM170.667 320c0-188.587 152.747-341.333 341.333-341.333s341.333 152.747 341.333 341.333v170.667h-682.667v-170.667zM469.333 914.347c-168.32-20.907-298.667-164.267-298.667-338.347h298.667v338.347z" />
463
- <glyph unicode="&#xe7c5;" d="M682.667 917.333h-341.333c-70.613 0-128-57.387-128-128v-682.667c0-70.613 57.387-128 128-128h341.333c70.613 0 128 57.387 128 128v682.667c0 70.613-57.387 128-128 128zM597.333 64h-170.667v42.667h170.667v-42.667zM736 192h-448v597.333h448v-597.333z" />
464
- <glyph unicode="&#xe7c6;" d="M661.333 917.333h-341.333c-58.88 0-106.667-47.787-106.667-106.667v-725.333c0-58.88 47.787-106.667 106.667-106.667h341.333c58.88 0 106.667 47.787 106.667 106.667v725.333c0 58.88-47.787 106.667-106.667 106.667zM490.667 21.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM682.667 192h-384v597.333h384v-597.333z" />
465
- <glyph unicode="&#xe7c7;" d="M170.667 704h768v85.333h-768c-47.147 0-85.333-38.187-85.333-85.333v-469.333h-85.333v-128h597.333v128h-426.667v469.333zM981.333 618.667h-256c-23.467 0-42.667-19.2-42.667-42.667v-426.667c0-23.467 19.2-42.667 42.667-42.667h256c23.467 0 42.667 19.2 42.667 42.667v426.667c0 23.467-19.2 42.667-42.667 42.667zM938.667 234.667h-170.667v298.667h170.667v-298.667z" />
466
- <glyph unicode="&#xe7c8;" d="M938.667 704v85.333h-647.68l85.333-85.333h562.347zM81.92 889.813l-54.4-54.4 77.44-77.44c-11.947-14.72-19.627-33.493-19.627-53.973v-469.333h-85.333v-128h756.48l100.48-100.48 54.187 54.4-829.227 829.227zM170.667 692.267l457.813-457.6h-457.813v457.6zM981.333 618.667h-256c-23.467 0-42.667-19.2-42.667-42.667v-178.347l85.333-85.333v221.013h170.667v-298.667h-93.013l128-128h7.68c23.467 0 42.667 19.2 42.667 42.667v426.667c0 23.467-19.2 42.667-42.667 42.667z" />
467
- <glyph unicode="&#xe7c9;" d="M512 917.333l-384-170.667v-256c0-237.013 163.627-458.027 384-512 220.373 53.973 384 274.987 384 512v256l-384 170.667zM512 448.427h298.667c-22.613-175.787-139.733-332.373-298.667-381.227v380.8h-298.667v243.2l298.667 132.693v-375.467z" />
468
- <glyph unicode="&#xe7ca;" d="M852.907 789.333c0 47.147-37.76 85.333-84.907 85.333h-341.333l-256-256v-512c0-47.147 38.187-85.333 85.333-85.333h512.427c47.147 0 84.907 38.187 84.907 85.333l-0.427 682.667zM384 149.333h-85.333v85.333h85.333v-85.333zM725.333 149.333h-85.333v85.333h85.333v-85.333zM384 320h-85.333v170.667h85.333v-170.667zM554.667 149.333h-85.333v170.667h85.333v-170.667zM554.667 405.333h-85.333v85.333h85.333v-85.333zM725.333 320h-85.333v170.667h85.333v-170.667z" />
469
- <glyph unicode="&#xe7cb;" d="M725.333 916.907l-426.667 0.427c-47.147 0-85.333-38.187-85.333-85.333v-768c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v768c0 47.147-38.187 84.907-85.333 84.907zM725.333 149.333h-426.667v597.333h426.667v-597.333z" />
470
- <glyph unicode="&#xe7cc;" d="M725.333 874.667h-426.667c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-84.907 85.333-84.907l426.667-0.427c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM512 789.333c47.147 0 85.333-38.187 85.333-85.333s-38.187-85.333-85.333-85.333-85.333 38.187-85.333 85.333 38.187 85.333 85.333 85.333zM512 106.667c-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333-95.573-213.333-213.333-213.333zM512 448c-70.613 0-128-57.387-128-128s57.387-128 128-128 128 57.387 128 128-57.387 128-128 128z" />
471
- <glyph unicode="&#xe7cd;" d="M896 789.333h-768c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 84.907 38.187 84.907 85.333l0.427 512c0 47.147-38.187 85.333-85.333 85.333zM810.667 192h-597.333v512h597.333v-512z" />
472
- <glyph unicode="&#xe7ce;" d="M768 960h-512c-70.613 0-128-57.387-128-128v-768c0-70.613 57.387-128 128-128h512c70.613 0 128 57.387 128 128v768c0 70.613-57.387 128-128 128zM597.333 21.333h-170.667v42.667h170.667v-42.667zM821.333 149.333h-618.667v682.667h618.667v-682.667z" />
473
- <glyph unicode="&#xe7cf;" d="M789.333 960h-597.333c-58.88 0-106.667-47.787-106.667-106.667v-810.667c0-58.88 47.787-106.667 106.667-106.667h597.333c58.88 0 106.667 47.787 106.667 106.667v810.667c0 58.88-47.787 106.667-106.667 106.667zM490.667-21.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM810.667 149.333h-640v682.667h640v-682.667z" />
474
- <glyph unicode="&#xe7d0;" d="M896 832h-768c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h213.333v-85.333h341.333v85.333h213.333c47.147 0 84.907 38.187 84.907 85.333l0.427 512c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-768v512h768v-512z" />
475
- <glyph unicode="&#xe7d1;" d="M853.333 448c0 108.587-50.773 205.227-129.92 267.733l-40.747 244.267h-341.333l-40.747-244.267c-79.147-62.507-129.92-159.147-129.92-267.733s50.773-205.227 129.92-267.733l40.747-244.267h341.333l40.747 244.267c79.147 62.507 129.92 159.147 129.92 267.733zM256 448c0 141.44 114.56 256 256 256s256-114.56 256-256-114.56-256-256-256-256 114.56-256 256z" />
476
- <glyph unicode="&#xe7d2;" d="M170.667 704h-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333zM853.333 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM810.667 490.667h-170.667v-170.667h-85.333v170.667h-170.667v85.333h170.667v170.667h85.333v-170.667h170.667v-85.333z" />
477
- <glyph unicode="&#xe7d3;" d="M512 874.667c-235.307 0-426.667-191.36-426.667-426.667s191.36-426.667 426.667-426.667 426.667 191.36 426.667 426.667-191.36 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333zM640 448c0-70.613-57.387-128-128-128s-128 57.387-128 128 57.387 128 128 128 128-57.387 128-128z" />
478
- <glyph unicode="&#xe7d4;" d="M614.4 704l-17.067 85.333h-384v-725.333h85.333v298.667h238.933l17.067-85.333h298.667v426.667z" />
479
- <glyph unicode="&#xe7d5;" d="M512 832v-395.733c-20.053 7.040-41.387 11.733-64 11.733-106.027 0-192-85.973-192-192s85.973-192 192-192c98.773 0 179.2 74.88 189.867 170.667h2.133v469.333h170.667v128h-298.667z" />
480
- <glyph unicode="&#xe7d6;" d="M426.667 576c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM426.667 405.333c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM298.667 554.667c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM426.667 256c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM298.667 384c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM426.667 640c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM597.333 576c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM597.333 640c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM725.333 384c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM725.333 554.667c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333zM597.333 256c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM597.333 405.333c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667z" />
481
- <glyph unicode="&#xe7d7;" d="M213.333 213.333c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM384 405.333c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM384 576c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM128 64h768v85.333h-768v-85.333zM213.333 554.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM213.333 384c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM384 234.667c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM725.333 256c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM128 832v-85.333h768v85.333h-768zM725.333 597.333c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM725.333 426.667c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM554.667 576c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM554.667 405.333c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM554.667 234.667c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667z" />
482
- <glyph unicode="&#xe7d8;" d="M597.333 661.333c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM588.8 470.187c2.773-0.427 5.547-0.853 8.533-0.853 35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64c0-2.987 0.427-5.76 0.853-8.747 3.84-28.16 26.24-50.56 54.613-54.4zM597.333 810.667c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM426.667 810.667c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM896 512c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM426.667 661.333c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM768 320c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM768 490.667c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM768 661.333c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM597.333 85.333c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM106.667 734.933l161.493-161.493c-4.053 1.28-7.893 2.56-12.16 2.56-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667c0 4.267-1.28 8.107-2.347 12.16l119.893-119.893c-30.507-5.12-53.547-31.147-53.547-62.933 0-35.413 28.587-64 64-64 31.787 0 57.813 23.040 62.933 53.333l119.893-119.893c-3.84 1.28-7.893 2.56-12.16 2.56-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667c0 4.267-1.28 8.107-2.347 12.16l161.28-161.493 54.4 54.4-692.267 692.267-54.4-54.4zM426.667 234.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM896 384c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM256 405.333c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM128 554.667c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM426.667 85.333c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM256 234.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM128 384c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333z" />
483
- <glyph unicode="&#xe7d9;" d="M256 405.333c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM256 234.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM256 576c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM128 554.667c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM256 746.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM896 512c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM597.333 661.333c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM597.333 810.667c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM128 384c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM426.667 85.333c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM426.667 810.667c11.733 0 21.333 9.6 21.333 21.333s-9.6 21.333-21.333 21.333-21.333-9.6-21.333-21.333 9.6-21.333 21.333-21.333zM426.667 661.333c23.467 0 42.667 19.2 42.667 42.667s-19.2 42.667-42.667 42.667-42.667-19.2-42.667-42.667 19.2-42.667 42.667-42.667zM426.667 426.667c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64zM768 405.333c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM768 234.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM768 576c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM768 746.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM896 384c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM597.333 234.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM597.333 85.333c-11.733 0-21.333-9.6-21.333-21.333s9.6-21.333 21.333-21.333 21.333 9.6 21.333 21.333-9.6 21.333-21.333 21.333zM426.667 597.333c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64zM426.667 234.667c-23.467 0-42.667-19.2-42.667-42.667s19.2-42.667 42.667-42.667 42.667 19.2 42.667 42.667-19.2 42.667-42.667 42.667zM597.333 426.667c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64zM597.333 597.333c-35.413 0-64-28.587-64-64s28.587-64 64-64 64 28.587 64 64-28.587 64-64 64z" />
484
- <glyph unicode="&#xe7da;" d="M938.667 448c0-235.641-191.025-426.667-426.667-426.667s-426.667 191.025-426.667 426.667c0 235.641 191.025 426.667 426.667 426.667s426.667-191.025 426.667-426.667z" />
485
- <glyph unicode="&#xe7db;" d="M426.667 874.667c-77.867 0-150.613-21.12-213.333-57.6 127.36-73.813 213.333-211.2 213.333-369.067s-85.973-295.253-213.333-369.067c62.72-36.48 135.467-57.6 213.333-57.6 235.733 0 426.667 190.933 426.667 426.667s-190.933 426.667-426.667 426.667z" />
486
- <glyph unicode="&#xe7dc;" d="M384 874.667c-44.587 0-87.68-6.827-128-19.627 173.013-54.4 298.667-216.107 298.667-407.040s-125.653-352.64-298.667-407.040c40.32-12.587 83.413-19.627 128-19.627 235.733 0 426.667 190.933 426.667 426.667s-190.933 426.667-426.667 426.667z" />
487
- <glyph unicode="&#xe7dd;" d="M853.333 589.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893l141.44 141.44-141.44 141.44zM512 192c-38.187 0-74.24 8.533-106.667 23.467 88.107 40.533 149.333 129.28 149.333 232.533s-61.227 192-149.333 232.533c32.427 14.933 68.48 23.467 106.667 23.467 141.44 0 256-114.56 256-256s-114.56-256-256-256z" />
488
- <glyph unicode="&#xe7de;" d="M853.333 306.56l141.44 141.44-141.44 141.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893zM512 192c-141.44 0-256 114.56-256 256s114.56 256 256 256 256-114.56 256-256-114.56-256-256-256z" />
489
- <glyph unicode="&#xe7df;" d="M853.333 306.56l141.44 141.44-141.44 141.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893zM512 192v512c141.44 0 256-114.56 256-256s-114.56-256-256-256z" />
490
- <glyph unicode="&#xe7e0;" d="M853.333 589.44v199.893h-199.893l-141.44 141.44-141.44-141.44h-199.893v-199.893l-141.44-141.44 141.44-141.44v-199.893h199.893l141.44-141.44 141.44 141.44h199.893v199.893l141.44 141.44-141.44 141.44zM512 192c-141.44 0-256 114.56-256 256s114.56 256 256 256 256-114.56 256-256-114.56-256-256-256zM512 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667z" />
491
- <glyph unicode="&#xe7e1;" d="M298.667 362.667c-70.613 0-128-57.387-128-128 0-55.893-49.28-85.333-85.333-85.333 39.253-52.053 106.453-85.333 170.667-85.333 94.293 0 170.667 76.373 170.667 170.667 0 70.613-57.387 128-128 128zM883.413 762.453l-56.96 56.96c-16.64 16.64-43.733 16.64-60.373 0l-382.080-382.080 117.333-117.333 382.080 382.080c16.853 16.853 16.853 43.733 0 60.373z" />
492
- <glyph unicode="&#xe7e2;" d="M401.067 512l203.307 352.213c-29.653 6.613-60.587 10.453-92.373 10.453-102.4 0-196.053-36.053-269.653-96.213l156.373-270.72 2.347 4.267zM919.040 576c-39.253 124.8-134.4 224.427-255.787 270.507l-156.16-270.507h411.947zM930.133 533.333h-319.573l12.373-21.333 203.307-352c69.547 75.947 112.427 176.853 112.427 288 0 29.227-2.987 57.813-8.533 85.333zM364.16 448l-166.4 288c-69.547-75.947-112.427-176.853-112.427-288 0-29.227 2.987-57.813 8.533-85.333h319.573l-49.28 85.333zM104.96 320c39.253-124.8 134.4-224.427 255.787-270.507l156.16 270.507h-411.947zM585.813 320l-166.4-288.213c29.867-6.613 60.8-10.453 92.587-10.453 102.4 0 196.053 36.053 269.653 96.213l-156.373 270.72-39.467-68.267z" />
493
- <glyph unicode="&#xe7e3;" d="M648.533 448c0-75.405-61.128-136.533-136.533-136.533s-136.533 61.128-136.533 136.533c0 75.405 61.128 136.533 136.533 136.533s136.533-61.128 136.533-136.533zM384 874.667l-78.080-85.333h-135.253c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333h-135.253l-78.080 85.333h-256zM512 234.667c-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333-95.573-213.333-213.333-213.333z" />
494
- <glyph unicode="&#xe7e4;" d="M426.667 106.667h-213.333v-85.333h213.333v-85.333l128 128-128 128v-85.333zM597.333 106.667v-85.333h213.333v85.333h-213.333zM512 618.667c47.147 0 85.333 38.187 85.333 85.333s-38.187 85.333-85.333 85.333-85.12-38.187-85.12-85.333c0.213-47.147 37.973-85.333 85.12-85.333zM725.333 960h-426.667c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM298.667 874.667h426.667v-448c0 71.040-142.293 106.667-213.333 106.667s-213.333-35.627-213.333-106.667v448z" />
495
- <glyph unicode="&#xe7e5;" d="M426.667 106.667h-213.333v-85.333h213.333v-85.333l128 128-128 128v-85.333zM597.333 106.667v-85.333h213.333v85.333h-213.333zM725.333 960h-426.667c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM511.787 704c-47.147 0-85.12 38.187-85.12 85.333s37.973 85.333 85.12 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
496
- <glyph unicode="&#xe7e6;" d="M597.333 746.667c0 47.147-38.187 85.333-85.333 85.333h-42.667v42.667c0 23.467-19.2 42.667-42.667 42.667h-170.667c-23.467 0-42.667-19.2-42.667-42.667v-42.667h-42.667c-47.147 0-85.333-38.187-85.333-85.333v-640c0-47.147 38.187-85.333 85.333-85.333h341.333c47.147 0 85.333 38.187 85.333 85.333h341.333v640h-341.333zM512 192h-85.333v85.333h85.333v-85.333zM512 576h-85.333v85.333h85.333v-85.333zM682.667 192h-85.333v85.333h85.333v-85.333zM682.667 576h-85.333v85.333h85.333v-85.333zM853.333 192h-85.333v85.333h85.333v-85.333zM853.333 576h-85.333v85.333h85.333v-85.333z" />
497
- <glyph unicode="&#xe7e7;" d="M512 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667zM213.333 320h-85.333v-170.667c0-47.147 38.187-85.333 85.333-85.333h170.667v85.333h-170.667v170.667zM213.333 746.667h170.667v85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-170.667h85.333v170.667zM810.667 832h-170.667v-85.333h170.667v-170.667h85.333v170.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333v170.667h-85.333v-170.667z" />
498
- <glyph unicode="&#xe7e8;" d="M213.333 320h-85.333v-170.667c0-47.147 38.187-85.333 85.333-85.333h170.667v85.333h-170.667v170.667zM213.333 746.667h170.667v85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-170.667h85.333v170.667zM810.667 832h-170.667v-85.333h170.667v-170.667h85.333v170.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333v170.667h-85.333v-170.667zM512 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667zM512 362.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
499
- <glyph unicode="&#xe7e9;" d="M938.667 277.333v512c0 47.147-38.187 85.333-85.333 85.333h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333zM469.333 448l86.613-115.627 126.72 158.293 170.667-213.333h-512l128 170.667zM85.333 704v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333h-85.333z" />
500
- <glyph unicode="&#xe7ea;" d="M883.413 719.787l-99.627 99.627c-16.64 16.64-43.733 16.64-60.373 0l-133.333-133.333-81.707 81.92-60.373-60.373 60.587-60.587-380.587-380.373v-202.667h202.667l380.587 380.587 60.373-60.587 60.373 60.373-81.92 81.92 133.333 133.333c16.853 16.64 16.853 43.52 0 60.16zM295.253 149.333l-81.92 81.92 344.107 344.107 81.92-81.92-344.107-344.107z" />
501
- <glyph unicode="&#xe7eb;" d="M512 832c-212.053 0-384-171.947-384-384s171.947-384 384-384c35.413 0 64 28.587 64 64 0 16.64-6.187 31.573-16.64 42.88-10.027 11.307-16 26.027-16 42.453 0 35.413 28.587 64 64 64h75.307c117.76 0 213.333 95.573 213.333 213.333 0 188.587-171.947 341.333-384 341.333zM277.333 448c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM405.333 618.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM618.667 618.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM746.667 448c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64z" />
502
- <glyph unicode="&#xe7ec;" d="M426.667 832h-213.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h213.333v-85.333h85.333v938.667h-85.333v-85.333zM426.667 192h-213.333l213.333 256v-256zM810.667 832h-213.333v-85.333h213.333v-554.667l-213.333 256v-384h213.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333z" />
503
- <glyph unicode="&#xe7ed;" d="M554.667 661.333h-85.333v-170.667h-170.667v-85.333h170.667v-170.667h85.333v170.667h170.667v85.333h-170.667v170.667zM512 874.667c-235.307 0-426.667-191.36-426.667-426.667s191.36-426.667 426.667-426.667 426.667 191.36 426.667 426.667-191.36 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333z" />
504
- <glyph unicode="&#xe7ee;" d="M682.667 618.667h-85.333v-128h-128v-85.333h128v-128h85.333v128h128v85.333h-128zM85.333 448c0 119.040 70.187 221.653 171.093 269.653v91.947c-149.12-52.48-256.427-194.56-256.427-361.6s107.307-309.12 256.427-361.6v91.947c-100.907 48-171.093 150.613-171.093 269.653zM640 832c-211.84 0-384-172.16-384-384s172.16-384 384-384 384 172.16 384 384-172.16 384-384 384zM640 149.333c-164.693 0-298.667 133.973-298.667 298.667s133.973 298.667 298.667 298.667 298.667-133.973 298.667-298.667-133.973-298.667-298.667-298.667z" />
505
- <glyph unicode="&#xe7ef;" d="M725.333 320h85.333v341.333c0 47.147-38.187 85.333-85.333 85.333h-341.333v-85.333h341.333v-341.333zM298.667 234.667v682.667h-85.333v-170.667h-170.667v-85.333h170.667v-426.667c0-47.147 38.187-85.333 85.333-85.333h426.667v-170.667h85.333v170.667h170.667v85.333h-682.667z" />
506
- <glyph unicode="&#xe7f0;" d="M810.667 789.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM810.667 192h-597.333v512h597.333v-512z" />
507
- <glyph unicode="&#xe7f1;" d="M810.667 746.667h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 234.667h-597.333v426.667h597.333v-426.667z" />
508
- <glyph unicode="&#xe7f2;" d="M810.667 661.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-256c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v256c0 47.147-38.187 85.333-85.333 85.333zM810.667 320h-597.333v256h597.333v-256z" />
509
- <glyph unicode="&#xe7f3;" d="M810.667 704h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-341.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v341.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 277.333h-597.333v341.333h597.333v-341.333z" />
510
- <glyph unicode="&#xe7f4;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v597.333h597.333v-597.333z" />
511
- <glyph unicode="&#xe7f5;" d="M128 746.667v-170.667h85.333v170.667h170.667v85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333zM213.333 320h-85.333v-170.667c0-47.147 38.187-85.333 85.333-85.333h170.667v85.333h-170.667v170.667zM810.667 149.333h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333v170.667h-85.333v-170.667zM810.667 832h-170.667v-85.333h170.667v-170.667h85.333v170.667c0 47.147-38.187 85.333-85.333 85.333z" />
512
- <glyph unicode="&#xe7f6;" d="M810.667 746.667h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-426.667c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 234.667h-597.333v426.667h597.333v-426.667z" />
513
- <glyph unicode="&#xe7f7;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v597.333h597.333v-597.333zM595.84 435.84l-117.333-151.040-83.84 100.693-117.333-150.827h469.333l-150.827 201.173z" />
514
- <glyph unicode="&#xe7f8;" d="M725.333 832h-426.667c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM725.333 149.333h-426.667v597.333h426.667v-597.333z" />
515
- <glyph unicode="&#xe7f9;" d="M768 789.333h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM768 192h-512v512h512v-512z" />
516
- <glyph unicode="&#xe7fa;" d="M85.333 298.667v-85.333h853.333v85.333h-853.333zM85.333 512v-85.333h853.333v85.333h-853.333zM85.333 725.333v-85.333h853.333v85.333h-853.333z" />
517
- <glyph unicode="&#xe7fb;" d="M128 789.333l384-682.667 384 682.667h-768zM272 704h480l-240-426.667-240 426.667z" />
518
- <glyph unicode="&#xe7fc;" d="M128 224v-160h160l472.107 472.107-160 160-472.107-472.107zM883.413 659.413c16.64 16.64 16.64 43.733 0 60.373l-99.627 99.627c-16.64 16.64-43.733 16.64-60.373 0l-78.080-78.080 160-160 78.080 78.080z" />
519
- <glyph unicode="&#xe7fd;" d="M640 234.667v-85.333h85.333v85.333h85.333v85.333h-85.333v85.333h-85.333v-85.333h-85.333v-85.333h85.333zM853.333 874.667h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM213.333 746.667h256v-85.333h-256v85.333zM853.333 106.667h-682.667l682.667 682.667v-682.667z" />
520
- <glyph unicode="&#xe7fe;" d="M170.667 490.667v-85.333h341.333v85.333h-341.333zM810.667 192h-85.333v453.333l-128-43.733v72.533l200.533 72.533h12.8v-554.667z" />
521
- <glyph unicode="&#xe7ff;" d="M641.92 264.96l122.24 130.773c16 16.853 30.72 33.493 44.373 50.133 13.44 16.64 25.173 33.28 34.987 49.707 9.813 16.64 17.493 33.067 22.827 49.707 5.547 16.64 8.32 33.493 8.32 50.56 0 22.827-3.84 43.52-11.52 62.293-7.68 18.56-18.773 34.56-33.493 47.573s-32.64 23.040-53.973 30.293c-21.333 7.040-45.653 10.667-72.96 10.667-29.44 0-55.893-4.48-78.933-13.653s-42.453-21.547-58.24-37.333-27.733-34.347-35.84-55.467c-7.68-20.053-11.52-41.6-11.947-64.213h91.307c0.213 13.227 1.92 25.813 5.547 37.12 3.84 12.373 9.6 23.040 17.28 32s17.28 15.787 28.8 20.907c11.733 4.907 25.387 7.467 41.173 7.467 13.013 0 24.533-2.133 34.56-6.613s18.56-10.453 25.387-18.133c6.827-7.68 12.16-17.067 15.787-27.52 3.627-10.667 5.333-22.187 5.333-34.773 0-9.173-1.28-18.56-3.627-27.733s-6.4-19.2-12.373-29.867c-5.973-10.667-13.867-22.4-23.68-35.413-9.813-12.8-22.4-27.52-37.333-44.16l-178.133-194.347v-62.933h368.213v72.96h-254.080zM85.333 490.667v-85.333h341.333v85.333h-341.333z" />
522
- <glyph unicode="&#xe800;" d="M426.667 661.333h-85.333v-170.667h-170.667v-85.333h170.667v-170.667h85.333v170.667h170.667v85.333h-170.667v170.667zM853.333 192h-85.333v453.333l-128-43.733v72.533l200.533 72.533h12.8v-554.667z" />
523
- <glyph unicode="&#xe801;" d="M684.587 264.96l122.24 130.773c16 16.853 30.72 33.493 44.373 50.133 13.44 16.64 25.173 33.28 34.987 49.707 9.813 16.64 17.493 33.067 22.827 49.707 5.547 16.64 8.32 33.493 8.32 50.56 0 22.827-3.84 43.52-11.52 62.293-7.68 18.56-18.773 34.56-33.493 47.573s-32.64 23.040-53.973 30.293c-21.333 7.040-45.653 10.667-72.96 10.667-29.44 0-55.893-4.48-78.933-13.653s-42.453-21.547-58.24-37.333-27.733-34.347-35.84-55.467c-7.68-20.053-11.52-41.6-11.947-64.213h91.307c0.213 13.227 1.92 25.813 5.547 37.12 3.84 12.373 9.6 23.040 17.28 32s17.28 15.787 28.8 20.907c11.733 4.907 25.387 7.467 41.173 7.467 13.013 0 24.533-2.133 34.56-6.613s18.56-10.453 25.387-18.133c6.827-7.68 12.16-17.067 15.787-27.52 3.627-10.667 5.333-22.187 5.333-34.773 0-9.173-1.28-18.56-3.627-27.733s-6.4-19.2-12.373-29.867c-5.973-10.667-13.867-22.4-23.68-35.413-9.813-12.8-22.4-27.52-37.333-44.16l-178.133-194.347v-62.933h368.213v72.96h-254.080zM341.333 661.333h-85.333v-170.667h-170.667v-85.333h170.667v-170.667h85.333v170.667h170.667v85.333h-170.667v170.667z" />
524
- <glyph unicode="&#xe802;" d="M688.64 426.667c0-42.667-4.267-78.933-12.587-108.8s-20.267-53.973-35.627-72.747c-15.36-18.56-33.92-32.213-55.467-40.533s-45.653-12.587-72.32-12.587c-26.453 0-50.56 4.267-72.32 12.587s-40.32 21.973-55.893 40.533c-15.573 18.56-27.733 42.88-36.053 72.747-8.533 29.867-12.8 66.133-12.8 108.8v87.040c0 42.667 4.267 78.933 12.587 108.587s20.267 53.76 35.84 72.107c15.36 18.347 33.92 31.787 55.68 39.893s45.867 12.16 72.32 12.16c26.667 0 50.987-4.053 72.747-12.16s40.32-21.547 55.893-39.893c15.36-18.347 27.307-42.453 35.84-72.107 8.32-29.653 12.587-65.92 12.587-108.587v-87.040zM598.613 527.573c0 27.52-1.92 50.56-5.76 69.12s-9.387 33.707-16.853 45.227c-7.467 11.52-16.427 19.84-27.307 24.747-10.667 5.12-23.040 7.68-36.907 7.68s-26.24-2.56-36.907-7.68c-10.88-5.12-19.84-13.44-27.307-24.747-7.467-11.52-13.013-26.667-16.853-45.227s-5.76-41.813-5.76-69.12v-113.92c0-27.093 1.92-50.347 5.973-69.333s9.6-34.56 17.067-46.293c7.467-11.947 16.64-20.48 27.52-26.027 10.88-5.333 23.253-8.107 37.12-8.107 14.080 0 26.453 2.773 37.12 8.107s19.627 14.080 26.88 26.027c7.253 11.947 12.8 27.307 16.427 46.293s5.547 42.24 5.547 69.333v113.92z" />
525
- <glyph unicode="&#xe803;" d="M681.173 521.173l-117.333-151.040-83.84 100.693-117.333-150.827h469.333l-150.827 201.173zM128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333z" />
526
- <glyph unicode="&#xe804;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM597.333 320h85.333v426.667h-170.667v-85.333h85.333v-341.333zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333z" />
527
- <glyph unicode="&#xe805;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333zM725.333 405.333h-170.667v85.333h85.333c47.147 0 85.333 38.187 85.333 85.333v85.333c0 47.147-38.187 85.333-85.333 85.333h-170.667v-85.333h170.667v-85.333h-85.333c-47.147 0-85.333-38.187-85.333-85.333v-170.667h256v85.333z" />
528
- <glyph unicode="&#xe806;" d="M896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333zM128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM725.333 405.333v64c0 35.413-28.587 64-64 64 35.413 0 64 28.587 64 64v64c0 47.147-38.187 85.333-85.333 85.333h-170.667v-85.333h170.667v-85.333h-85.333v-85.333h85.333v-85.333h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333z" />
529
- <glyph unicode="&#xe807;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM640 320h85.333v426.667h-85.333v-170.667h-85.333v170.667h-85.333v-256h170.667v-170.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333z" />
530
- <glyph unicode="&#xe808;" d="M896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333zM128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM725.333 405.333v85.333c0 47.147-38.187 85.333-85.333 85.333h-85.333v85.333h170.667v85.333h-256v-256h170.667v-85.333h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333z" />
531
- <glyph unicode="&#xe809;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333zM554.667 320h85.333c47.147 0 85.333 38.187 85.333 85.333v85.333c0 47.147-38.187 85.333-85.333 85.333h-85.333v85.333h170.667v85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-256c0-47.147 38.187-85.333 85.333-85.333zM554.667 490.667h85.333v-85.333h-85.333v85.333z" />
532
- <glyph unicode="&#xe80a;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333zM554.667 320l170.667 341.333v85.333h-256v-85.333h170.667l-170.667-341.333h85.333z" />
533
- <glyph unicode="&#xe80b;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333zM554.667 320h85.333c47.147 0 85.333 38.187 85.333 85.333v64c0 35.413-28.587 64-64 64 35.413 0 64 28.587 64 64v64c0 47.147-38.187 85.333-85.333 85.333h-85.333c-47.147 0-85.333-38.187-85.333-85.333v-64c0-35.413 28.587-64 64-64-35.413 0-64-28.587-64-64v-64c0-47.147 38.187-85.333 85.333-85.333zM554.667 661.333h85.333v-85.333h-85.333v85.333zM554.667 490.667h85.333v-85.333h-85.333v85.333z" />
534
- <glyph unicode="&#xe80c;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333zM640 746.667h-85.333c-47.147 0-85.333-38.187-85.333-85.333v-85.333c0-47.147 38.187-85.333 85.333-85.333h85.333v-85.333h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333v256c0 47.147-38.187 85.333-85.333 85.333zM640 576h-85.333v85.333h85.333v-85.333z" />
535
- <glyph unicode="&#xe80d;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM597.333 448v170.667c0 47.147-38.187 85.333-85.333 85.333h-42.667c-47.147 0-85.333-38.187-85.333-85.333v-42.667c0-47.147 38.187-85.333 85.333-85.333h42.667v-42.667h-128v-85.333h128c47.147 0 85.333 38.187 85.333 85.333zM469.333 576v42.667h42.667v-42.667h-42.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 576h-85.333v85.333h-85.333v-85.333h-85.333v-85.333h85.333v-85.333h85.333v85.333h85.333v-256h-597.333v597.333h597.333v-256z" />
536
- <glyph unicode="&#xe80e;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333l-298.667 341.333v-341.333h-298.667l298.667 341.333v256h298.667v-597.333z" />
537
- <glyph unicode="&#xe80f;" d="M213.333 320h-85.333v-170.667c0-47.147 38.187-85.333 85.333-85.333h170.667v85.333h-170.667v170.667zM213.333 746.667h170.667v85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-170.667h85.333v170.667zM810.667 832h-170.667v-85.333h170.667v-170.667h85.333v170.667c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-170.667v-85.333h170.667c47.147 0 85.333 38.187 85.333 85.333v170.667h-85.333v-170.667zM512 576c-70.613 0-128-57.387-128-128s57.387-128 128-128 128 57.387 128 128-57.387 128-128 128z" />
538
- <glyph unicode="&#xe810;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-229.973-69.973-283.52-172.16-128.427-13.653-228.48-122.453-228.48-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.467 203.947-198.187 211.84zM810.667 192h-554.667c-94.080 0-170.667 76.587-170.667 170.667s76.587 170.667 170.667 170.667 170.667-76.587 170.667-170.667h85.333c0 117.76-79.573 216.533-187.733 246.4 42.88 57.387 110.933 94.933 187.733 94.933 129.493 0 234.667-105.173 234.667-234.667v-21.333h64c70.613 0 128-57.387 128-128s-57.387-128-128-128z" />
539
- <glyph unicode="&#xe811;" d="M853.333 789.333h-170.667l-170.667 170.667-170.667-170.667h-170.667c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM853.333 106.667h-682.667v597.333h192.64l150.187 149.333 148.48-149.333h191.36v-597.333zM768 618.667h-512v-426.667h512z" />
540
- <glyph unicode="&#xe812;" d="M597.333 704l-160-213.333 121.6-162.133-68.267-51.2c-72.107 96-192 256-192 256l-256-341.333h938.667l-384 512z" />
541
- <glyph unicode="&#xe813;" d="M128 746.667h-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667v85.333h-682.667v682.667zM896 917.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM896 234.667h-597.333v597.333h597.333v-597.333z" />
542
- <glyph unicode="&#xe814;" d="M469.333 786.347v86.187c-85.76-8.533-163.84-42.667-227.2-94.293l60.8-60.8c47.36 36.48 104.107 61.227 166.4 68.907zM781.867 778.24c-63.147 51.627-141.44 85.76-227.2 94.293v-86.187c62.293-7.893 119.040-32.427 166.4-69.12l60.8 61.013zM850.347 490.667h86.187c-8.533 85.76-42.667 163.84-94.293 227.2l-60.8-60.8c36.48-47.36 61.227-104.107 68.907-166.4zM242.773 657.067l-60.8 60.8c-51.84-63.36-85.973-141.44-94.507-227.2h86.187c7.893 62.293 32.427 119.040 69.12 166.4zM173.653 405.333h-86.187c8.533-85.76 42.667-163.84 94.293-227.2l60.8 60.8c-36.48 47.36-61.013 104.32-68.907 166.4zM640 448c0 70.613-57.387 128-128 128s-128-57.387-128-128 57.387-128 128-128 128 57.387 128 128zM781.227 239.147l60.8-60.8c51.84 63.147 85.973 141.227 94.507 226.987h-86.187c-7.68-62.080-32.427-119.040-69.12-166.187zM554.667 109.653v-86.187c85.76 8.533 163.84 42.667 227.2 94.293l-60.8 60.8c-47.36-36.48-104.107-61.013-166.4-68.907zM242.133 117.76c63.36-51.627 141.44-85.76 227.2-94.293v86.187c-62.293 7.893-119.040 32.427-166.4 69.12l-60.8-61.013z" />
543
- <glyph unicode="&#xe815;" d="M797.653 430.933c-11.947 6.827-24.32 12.373-36.693 17.067 12.373 4.693 24.747 10.24 36.693 17.067 81.92 47.36 127.573 133.333 127.787 221.653-76.587 43.947-173.867 47.36-255.787 0-11.947-6.827-22.827-14.72-33.28-23.253 2.133 13.44 3.627 26.667 3.627 40.533 0 94.72-51.627 177.28-128 221.44-76.373-44.16-128-126.72-128-221.44 0-13.867 1.28-27.093 3.413-40.32-10.453 8.32-21.333 16.213-33.28 23.253-81.92 47.36-179.2 43.947-255.787 0 0.213-88.32 45.867-174.293 127.787-221.653 11.947-6.827 24.32-12.373 36.693-17.067-12.373-4.693-24.747-10.24-36.693-17.067-81.92-47.36-127.573-133.333-127.787-221.653 76.587-43.947 173.867-47.36 255.787 0 11.947 6.827 22.827 14.72 33.28 23.253-1.92-13.653-3.413-26.88-3.413-40.747 0-94.72 51.627-177.28 128-221.44 76.373 44.373 128 126.72 128 221.44 0 13.867-1.493 27.093-3.413 40.32 10.453-8.32 21.333-16.213 33.28-23.253 81.92-47.36 179.2-43.947 255.787 0-0.213 88.533-45.867 174.507-128 221.867zM512 277.333c-94.293 0-170.667 76.373-170.667 170.667s76.373 170.667 170.667 170.667 170.667-76.373 170.667-170.667-76.373-170.667-170.667-170.667z" />
544
- <glyph unicode="&#xe816;" d="M298.667 490.667h-256v-85.333h256v85.333zM391.253 629.12l-90.453 90.453-60.373-60.373 90.453-90.453 60.373 60.373zM554.667 917.333h-85.333v-256h85.333v256zM783.573 659.2l-60.373 60.373-90.453-90.453 60.373-60.373 90.453 90.453zM725.333 490.667v-85.333h256v85.333h-256zM512 576c-70.613 0-128-57.387-128-128s57.387-128 128-128 128 57.387 128 128-57.387 128-128 128zM632.747 266.88l90.453-90.453 60.373 60.373-90.453 90.453-60.373-60.373zM240.427 236.8l60.373-60.373 90.453 90.453-60.373 60.373-90.453-90.453zM469.333-21.333h85.333v256h-85.333v-256z" />
545
- <glyph unicode="&#xe817;" d="M128 874.667v-512h128v-384l298.667 512h-170.667l170.667 384h-426.667zM810.667 874.667h-85.333l-136.533-384h81.067l29.867 85.333h136.533l29.867-85.333h81.067l-136.533 384zM718.933 633.6l49.067 155.733 49.067-155.733h-98.133z" />
546
- <glyph unicode="&#xe818;" d="M139.733 832l-54.4-54.4 213.333-213.333v-158.933h128v-384l152.96 262.187 176.64-176.853 54.4 54.187-670.933 671.147zM725.333 533.333h-170.667l170.667 341.333h-426.667v-93.013l360.96-360.96 65.707 112.64z" />
547
- <glyph unicode="&#xe819;" d="M298.667 874.667v-469.333h128v-384l298.667 512h-170.667l170.667 341.333z" />
548
- <glyph unicode="&#xe81a;" d="M640 64h85.333v85.333h-85.333v-85.333zM810.667 576h85.333v85.333h-85.333v-85.333zM128 746.667v-597.333c0-47.147 38.187-85.333 85.333-85.333h170.667v85.333h-170.667v597.333h170.667v85.333h-170.667c-47.147 0-85.333-38.187-85.333-85.333zM810.667 832v-85.333h85.333c0 47.147-38.187 85.333-85.333 85.333zM469.333-21.333h85.333v938.667h-85.333v-938.667zM810.667 234.667h85.333v85.333h-85.333v-85.333zM640 746.667h85.333v85.333h-85.333v-85.333zM810.667 405.333h85.333v85.333h-85.333v-85.333zM810.667 64c47.147 0 85.333 38.187 85.333 85.333h-85.333v-85.333z" />
549
- <glyph unicode="&#xe81b;" d="M469.333 576h85.333v-85.333h-85.333zM384 490.667h85.333v-85.333h-85.333zM554.667 490.667h85.333v-85.333h-85.333zM640 576h85.333v-85.333h-85.333zM298.667 576h85.333v-85.333h-85.333zM810.667 832h-597.333c-46.933 0-85.333-38.4-85.333-85.333v-597.333c0-46.933 38.4-85.333 85.333-85.333h597.333c46.933 0 85.333 38.4 85.333 85.333v597.333c0 46.933-38.4 85.333-85.333 85.333zM384 192h-85.333v85.333h85.333v-85.333zM554.667 192h-85.333v85.333h85.333v-85.333zM725.333 192h-85.333v85.333h85.333v-85.333zM810.667 490.667h-85.333v-85.333h85.333v-85.333h-85.333v85.333h-85.333v-85.333h-85.333v85.333h-85.333v-85.333h-85.333v85.333h-85.333v-85.333h-85.333v85.333h85.333v85.333h-85.333v256h597.333v-256z" />
550
- <glyph unicode="&#xe81c;" d="M426.667 448c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM256 618.667c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM256 277.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 618.667c47.147 0 85.333 38.187 85.333 85.333s-38.187 85.333-85.333 85.333-85.333-38.187-85.333-85.333 38.187-85.333 85.333-85.333zM597.333 277.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 448c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM597.333 618.667c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM426.667 789.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
551
- <glyph unicode="&#xe81d;" d="M341.333 789.333v-62.080l85.333-85.333v147.413h170.667v-170.667h-147.413l85.333-85.333h62.080v-62.080l85.333-85.333v147.413h170.667v-170.667h-147.413l85.333-85.333h62.080v-62.080l85.333-85.333v659.413c0 47.147-38.187 85.333-85.333 85.333h-659.413l85.333-85.333h62.080zM682.667 789.333h170.667v-170.667h-170.667v170.667zM54.4 905.6l-54.4-54.187 85.333-85.333v-659.413c0-47.147 38.187-85.333 85.333-85.333h659.413l85.333-85.333 54.187 54.4-915.2 915.2zM426.667 424.747l62.080-62.080h-62.080v62.080zM170.667 680.747l62.080-62.080h-62.080v62.080zM341.333 106.667h-170.667v170.667h170.667v-170.667zM341.333 362.667h-170.667v170.667h147.413l23.253-23.253v-147.413zM597.333 106.667h-170.667v170.667h147.413l23.253-23.253v-147.413zM682.667 106.667v62.080l62.080-62.080h-62.080z" />
552
- <glyph unicode="&#xe81e;" d="M853.333 874.667h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM341.333 106.667h-170.667v170.667h170.667v-170.667zM341.333 362.667h-170.667v170.667h170.667v-170.667zM341.333 618.667h-170.667v170.667h170.667v-170.667zM597.333 106.667h-170.667v170.667h170.667v-170.667zM597.333 362.667h-170.667v170.667h170.667v-170.667zM597.333 618.667h-170.667v170.667h170.667v-170.667zM853.333 106.667h-170.667v170.667h170.667v-170.667zM853.333 362.667h-170.667v170.667h170.667v-170.667zM853.333 618.667h-170.667v170.667h170.667v-170.667z" />
553
- <glyph unicode="&#xe81f;" d="M768 234.667l-628.48 628.267-54.187-54.187 170.667-170.667v-147.413h-85.333v170.667h-85.333v-426.667h85.333v170.667h85.333v-170.667h85.333v318.080l42.667-42.667v-275.413h170.667c28.587 0 53.547 14.080 69.12 35.627l270.293-270.293 54.187 54.4-180.267 180.267zM554.667 320h-85.333v104.747l85.333-85.333v-19.413zM768 405.333h42.667l34.987-139.52 30.933-31.147h62.080l-50.773 178.133c29.867 13.227 50.773 43.093 50.773 77.867v85.333c0 47.147-38.187 85.333-85.333 85.333h-170.667v-232.747l85.333-85.333v62.080zM768 576h85.333v-85.333h-85.333v85.333zM640 471.253v104.747c0 47.147-38.187 85.333-85.333 85.333h-104.747l190.080-190.080z" />
554
- <glyph unicode="&#xe820;" d="M256 490.667h-85.333v170.667h-85.333v-426.667h85.333v170.667h85.333v-170.667h85.333v426.667h-85.333v-170.667zM554.667 661.333h-170.667v-426.667h170.667c47.147 0 85.333 38.187 85.333 85.333v256c0 47.147-38.187 85.333-85.333 85.333zM554.667 320h-85.333v256h85.333v-256zM938.667 490.667v85.333c0 47.147-38.187 85.333-85.333 85.333h-170.667v-426.667h85.333v170.667h42.667l42.667-170.667h85.333l-50.773 178.133c29.867 13.227 50.773 43.093 50.773 77.867zM853.333 490.667h-85.333v85.333h85.333v-85.333z" />
555
- <glyph unicode="&#xe821;" d="M725.333 704c-141.44 0-256-114.56-256-256s114.56-256 256-256 256 114.56 256 256-114.56 256-256 256zM213.333 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667zM213.333 362.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
556
- <glyph unicode="&#xe822;" d="M213.333 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667zM725.333 704c-141.44 0-256-114.56-256-256s114.56-256 256-256 256 114.56 256 256-114.56 256-256 256zM725.333 277.333c-94.293 0-170.667 76.373-170.667 170.667s76.373 170.667 170.667 170.667 170.667-76.373 170.667-170.667-76.373-170.667-170.667-170.667z" />
557
- <glyph unicode="&#xe823;" d="M756.48 447.147l169.813 169.813c16.64 16.64 16.64 43.733 0 60.373l-184.96 184.96c-16.64 16.64-43.733 16.64-60.373 0l-169.813-169.813-169.813 169.6c-8.32 8.32-19.2 12.587-30.080 12.587s-21.76-4.267-30.080-12.587l-185.173-184.96c-16.64-16.64-16.64-43.733 0-60.373l169.813-169.813-169.813-169.6c-16.64-16.64-16.64-43.733 0-60.373l184.96-184.96c16.64-16.64 43.733-16.64 60.373 0l169.813 169.813 169.813-169.813c8.32-8.32 19.2-12.587 30.080-12.587s21.76 4.267 30.080 12.587l184.96 184.96c16.64 16.64 16.64 43.733 0 60.373l-169.6 169.813zM512 576c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM311.040 492.373l-154.667 154.667 154.88 154.88 154.667-154.667-154.88-154.88zM426.667 405.333c-23.467 0-42.667 19.2-42.667 42.667s19.2 42.667 42.667 42.667 42.667-19.2 42.667-42.667-19.2-42.667-42.667-42.667zM512 320c-23.467 0-42.667 19.2-42.667 42.667s19.2 42.667 42.667 42.667 42.667-19.2 42.667-42.667-19.2-42.667-42.667-42.667zM597.333 490.667c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM711.040 92.373l-154.667 154.667 154.88 154.88 154.667-154.667-154.88-154.88z" />
558
- <glyph unicode="&#xe824;" d="M896 149.333v597.333c0 47.147-38.187 85.333-85.333 85.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333zM362.667 384l106.667-128.213 149.333 192.213 192-256h-597.333l149.333 192z" />
559
- <glyph unicode="&#xe825;" d="M682.667 533.333h-85.333v-85.333h85.333v85.333zM682.667 362.667h-85.333v-85.333h85.333v85.333zM341.333 533.333h-85.333v-85.333h85.333v85.333zM512 533.333h-85.333v-85.333h85.333v85.333zM853.333 789.333h-682.667c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 192h-682.667v512h682.667v-512z" />
560
- <glyph unicode="&#xe826;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM234.667 640h85.333v85.333h64v-85.333h85.333v-64h-85.333v-85.333h-64v85.333h-85.333v64zM810.667 149.333h-597.333l597.333 597.333v-597.333zM725.333 234.667v64h-213.333v-64h213.333z" />
561
- <glyph unicode="&#xe827;" d="M597.333 704l-160-213.333 121.6-162.133-68.267-51.2c-72.107 96-192 256-192 256l-256-341.333h938.667l-384 512z" />
562
- <glyph unicode="&#xe828;" d="M256 832h-128v-128c70.613 0 128 57.387 128 128zM597.333 832h-85.333c0-212.053-171.947-384-384-384v-85.333c259.2 0 469.333 210.133 469.333 469.333zM426.667 832h-85.333c0-117.76-95.573-213.333-213.333-213.333v-85.333c164.907 0 298.667 133.76 298.667 298.667zM426.667 64h85.333c0 212.053 171.947 384 384 384v85.333c-259.2 0-469.333-210.133-469.333-469.333zM768 64h128v128c-70.613 0-128-57.387-128-128zM597.333 64h85.333c0 117.76 95.573 213.333 213.333 213.333v85.333c-164.907 0-298.667-133.76-298.667-298.667z" />
563
- <glyph unicode="&#xe829;" d="M426.667 832h-85.333c0-15.573-1.92-30.72-5.12-45.44l68.053-68.053c14.293 35.2 22.4 73.387 22.4 113.493zM128 777.6l121.173-121.173c-34.56-23.68-76.16-37.76-121.173-37.76v-85.333c68.693 0 131.627 23.467 181.973 62.293l60.8-60.8c-65.92-54.187-150.613-86.827-242.773-86.827v-85.333c115.84 0 221.653 42.027 303.36 111.573l106.88-106.88c-69.547-81.707-111.573-187.52-111.573-303.36h85.333c0 92.16 32.64 176.853 86.827 242.987l60.8-60.8c-38.827-50.56-62.293-113.493-62.293-182.187h85.333c0 45.013 14.080 86.613 37.973 121.173l121.173-121.173 54.187 54.4-713.6 713.6-54.4-54.4zM597.333 832h-85.333c0-64-16-124.373-43.733-177.493l62.507-62.507c42.027 70.4 66.56 152.107 66.56 240zM850.56 272.213c14.72 3.2 29.867 5.12 45.44 5.12v85.333c-40.107 0-78.293-8.107-113.28-22.4l67.84-68.053zM656 466.773l62.507-62.507c53.12 27.733 113.493 43.733 177.493 43.733v85.333c-87.893 0-169.6-24.533-240-66.56z" />
564
- <glyph unicode="&#xe82a;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667z" />
565
- <glyph unicode="&#xe82b;" d="M512 533.333c-164.693 0-298.667-133.973-298.667-298.667h85.333c0 117.547 95.787 213.333 213.333 213.333s213.333-95.787 213.333-213.333h85.333c0 164.693-133.973 298.667-298.667 298.667zM512 704c-258.773 0-469.333-210.56-469.333-469.333h85.333c0 211.627 172.373 384 384 384s384-172.373 384-384h85.333c0 258.773-210.56 469.333-469.333 469.333z" />
566
- <glyph unicode="&#xe82c;" d="M810.88 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM640.213 512c0-35.413-28.587-64-64-64 35.413 0 64-28.587 64-64v-64c0-47.147-38.187-85.333-85.333-85.333h-170.667v85.333h170.667v85.333h-85.333v85.333h85.333v85.333h-170.667v85.333h170.667c47.147 0 85.333-38.187 85.333-85.333v-64z" />
567
- <glyph unicode="&#xe82d;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM640 234.667h-85.333v170.667h-170.667v256h85.333v-170.667h85.333v170.667h85.333v-426.667z" />
568
- <glyph unicode="&#xe82e;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM640 576h-170.667v-85.333h85.333c47.147 0 85.333-38.187 85.333-85.333v-85.333c0-47.147-38.187-85.333-85.333-85.333h-170.667v85.333h170.667v85.333h-170.667v256h256v-85.333z" />
569
- <glyph unicode="&#xe82f;" d="M469.333 320h85.333v85.333h-85.333v-85.333zM810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM640 576h-170.667v-85.333h85.333c47.147 0 85.333-38.187 85.333-85.333v-85.333c0-47.147-38.187-85.333-85.333-85.333h-85.333c-47.147 0-85.333 38.187-85.333 85.333v256c0 47.147 38.187 85.333 85.333 85.333h170.667v-85.333z" />
570
- <glyph unicode="&#xe830;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM597.333 234.667h-85.333v341.333h-85.333v85.333h170.667v-426.667z" />
571
- <glyph unicode="&#xe831;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM640 490.667c0-47.147-38.187-85.333-85.333-85.333h-85.333v-85.333h170.667v-85.333h-256v170.667c0 47.147 38.187 85.333 85.333 85.333h85.333v85.333h-170.667v85.333h170.667c47.147 0 85.333-38.187 85.333-85.333v-85.333z" />
572
- <glyph unicode="&#xe832;" d="M554.667 661.333h-85.333v-170.667h-170.667v-85.333h170.667v-170.667h85.333v170.667h170.667v85.333h-170.667v170.667zM512 874.667c-235.307 0-426.667-191.36-426.667-426.667s191.36-426.667 426.667-426.667h341.333c47.147 0 85.333 38.187 85.333 85.333v341.333c0 235.307-191.36 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333z" />
573
- <glyph unicode="&#xe833;" d="M768 789.333l85.333-170.667h-128l-85.333 170.667h-85.333l85.333-170.667h-128l-85.333 170.667h-85.333l85.333-170.667h-128l-85.333 170.667h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v597.333h-170.667z" />
574
- <glyph unicode="&#xe834;" d="M554.667 272.213c148.267 17.493 263.253 143.36 263.253 296.32 0 164.907-133.76 298.667-298.667 298.667s-298.667-133.76-298.667-298.667c0-147.84 107.52-270.293 248.747-294.187v-167.68h-256v-85.333h597.333v85.333h-256v165.547z" />
575
- <glyph unicode="&#xe835;" d="M945.92 568.747c0 164.907-133.76 298.667-298.667 298.667s-298.667-133.76-298.667-298.667c0-147.84 107.52-270.293 248.747-294.187v-167.893h-341.333v128h42.667v170.667c0 23.467-19.2 42.667-42.667 42.667h-128c-23.467 0-42.667-19.2-42.667-42.667v-170.667h42.667v-213.333h682.667v85.333h-128v165.547c148.267 17.493 263.253 143.573 263.253 296.533zM192 490.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64z" />
576
- <glyph unicode="&#xe836;" d="M657.707 643.627l-60.373 60.373-256-256 256-256 60.373 60.373-195.627 195.627z" />
577
- <glyph unicode="&#xe837;" d="M426.667 704l-60.373-60.373 195.627-195.627-195.627-195.627 60.373-60.373 256 256z" />
578
- <glyph unicode="&#xe838;" d="M512 832c-212.053 0-384-171.947-384-384s171.947-384 384-384c35.413 0 64 28.587 64 64 0 16.64-6.187 31.573-16.64 42.88-10.027 11.307-16 26.027-16 42.453 0 35.413 28.587 64 64 64h75.307c117.76 0 213.333 95.573 213.333 213.333 0 188.587-171.947 341.333-384 341.333zM277.333 448c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM405.333 618.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM618.667 618.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM746.667 448c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64z" />
579
- <glyph unicode="&#xe839;" d="M981.333 192v512c0 47.147-38.187 85.333-85.333 85.333h-768c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333zM362.667 426.667l106.667-128.213 149.333 192.213 192-256h-597.333l149.333 192z" />
580
- <glyph unicode="&#xe83a;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.16 0-341.333 153.173-341.333 341.333s153.173 341.333 341.333 341.333 341.333-153.173 341.333-341.333-153.173-341.333-341.333-341.333z" />
581
- <glyph unicode="&#xe83b;" d="M853.333 680.747v-465.493c-110.72 32.853-225.28 49.493-341.333 49.493s-230.4-16.64-341.333-49.493v465.493c110.72-32.853 225.28-49.493 341.333-49.493s230.4 16.64 341.333 49.493zM914.347 789.333c-4.053 0-8.533-0.853-13.227-2.56-125.44-46.72-257.28-70.187-389.12-70.187s-263.68 23.467-389.12 70.187c-4.693 1.707-9.173 2.56-13.44 2.56-14.080 0-24.107-10.027-24.107-26.667v-629.333c0.213-16.64 10.027-26.667 24.107-26.667 4.053 0 8.533 0.853 13.227 2.56 125.44 46.72 257.28 70.187 389.12 70.187s263.68-23.467 389.12-70.187c4.693-1.707 9.173-2.56 13.227-2.56 14.080 0 24.32 10.027 24.107 26.667v629.333c0.427 16.64-9.813 26.667-23.893 26.667z" />
582
- <glyph unicode="&#xe83c;" d="M850.773 58.88c-46.72 125.44-70.187 257.28-70.187 389.12s23.467 263.68 70.187 389.12c1.707 4.693 2.56 9.173 2.56 13.44 0 14.080-10.027 24.107-26.667 24.107h-629.333c-16.64-0.213-26.667-10.027-26.667-24.107 0-4.053 0.853-8.533 2.56-13.227 46.72-125.44 70.187-257.28 70.187-389.12s-23.467-263.68-70.187-389.12c-1.707-4.907-2.56-9.387-2.56-13.653 0-14.080 10.027-24.107 26.667-24.107h629.333c16.64 0 26.667 10.24 26.667 24.32 0 4.053-0.853 8.533-2.56 13.227zM279.253 106.667c32.853 110.72 49.493 225.28 49.493 341.333s-16.64 230.4-49.493 341.333h465.493c-32.853-110.72-49.493-225.28-49.493-341.333s16.64-230.4 49.493-341.333h-465.493z" />
583
- <glyph unicode="&#xe83d;" d="M512 704c104.533 0 200.96-8.32 311.040-27.093 20.053-76.16 30.293-153.173 30.293-228.907s-10.24-152.747-30.293-228.907c-110.080-18.773-206.507-27.093-311.040-27.093s-200.96 8.32-311.040 27.093c-20.053 76.16-30.293 153.173-30.293 228.907s10.24 152.747 30.293 228.907c110.080 18.773 206.507 27.093 311.040 27.093zM512 789.333c-116.48 0-222.933-10.24-339.413-30.72l-39.467-7.040-10.667-38.187c-24.747-88.32-37.12-176.853-37.12-265.387s12.373-177.067 37.12-265.387l10.667-38.187 39.467-7.040c116.48-20.48 222.933-30.72 339.413-30.72s222.933 10.24 339.413 30.72l39.467 7.040 10.667 38.187c24.747 88.32 37.12 176.853 37.12 265.387s-12.373 177.067-37.12 265.387l-10.667 38.187-39.467 7.040c-116.48 20.48-222.933 30.72-339.413 30.72z" />
584
- <glyph unicode="&#xe83e;" d="M896 149.333v597.333c0 47.147-38.187 85.333-85.333 85.333h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333zM362.667 384l106.667-128.213 149.333 192.213 192-256h-597.333l149.333 192z" />
585
- <glyph unicode="&#xe83f;" d="M768 874.667h-512c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 85.333-85.333 85.333zM256 789.333h213.333v-341.333l-106.667 64-106.667-64v341.333zM256 149.333l128 164.48 91.52-109.867 128 164.907 164.48-219.52h-512z" />
586
- <glyph unicode="&#xe840;" d="M648.533 448c0-75.405-61.128-136.533-136.533-136.533s-136.533 61.128-136.533 136.533c0 75.405 61.128 136.533 136.533 136.533s136.533-61.128 136.533-136.533zM384 874.667l-78.080-85.333h-135.253c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333h-135.253l-78.080 85.333h-256zM512 234.667c-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333-95.573-213.333-213.333-213.333z" />
587
- <glyph unicode="&#xe841;" d="M938.667 277.333v512c0 47.147-38.187 85.333-85.333 85.333h-512c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333zM469.333 448l86.613-115.627 126.72 158.293 170.667-213.333h-512l128 170.667zM85.333 704v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333v85.333h-597.333v597.333h-85.333z" />
588
- <glyph unicode="&#xe842;" d="M512 437.333c52.907 0 96 42.88 96 96 0 52.907-43.093 96-96 96s-96-43.093-96-96c0-53.12 43.093-96 96-96zM704 266.667c0 64-128 96-192 96s-192-32-192-96v-32h384v32zM810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v597.333h597.333v-597.333z" />
589
- <glyph unicode="&#xe843;" d="M512 768c-213.333 0-395.52-132.693-469.333-320 73.813-187.307 256-320 469.333-320s395.52 132.693 469.333 320c-73.813 187.307-255.787 320-469.333 320zM512 234.667c-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333-95.573-213.333-213.333-213.333zM512 576c-70.613 0-128-57.387-128-128s57.387-128 128-128 128 57.387 128 128-57.387 128-128 128z" />
590
- <glyph unicode="&#xe844;" d="M303.36 596.267l-60.373 60.373c-38.4-49.493-62.080-106.667-69.333-165.973h86.187c6.187 37.333 20.693 73.387 43.52 105.6zM259.84 405.333h-86.187c7.253-59.307 30.933-116.48 69.333-165.973l60.373 60.373c-22.827 32.213-37.333 68.267-43.52 105.6zM302.933 178.56c49.493-38.613 107.093-61.44 166.4-68.693v86.187c-37.333 6.187-73.173 20.907-105.173 43.733l-61.227-61.227zM554.667 786.347v130.987l-194.133-194.133 194.133-189.867v166.827c120.96-20.267 213.333-125.44 213.333-252.16s-92.373-231.893-213.333-252.16v-86.187c168.32 21.12 298.667 164.267 298.667 338.347s-130.347 317.227-298.667 338.347z" />
591
- <glyph unicode="&#xe845;" d="M663.467 723.2l-194.133 194.133v-130.987c-168.32-20.907-298.667-164.267-298.667-338.347s130.347-317.44 298.667-338.347v86.187c-120.96 20.267-213.333 125.44-213.333 252.16s92.373 231.893 213.333 252.16v-166.827l194.133 189.867zM850.347 490.667c-7.253 59.307-30.933 116.48-69.333 165.973l-60.373-60.373c22.827-32.213 37.333-68.267 43.52-105.6h86.187zM554.667 196.053v-86.4c59.307 7.253 116.907 30.293 166.4 68.693l-61.227 61.227c-32-22.613-67.84-37.12-105.173-43.52zM720.64 299.733l60.373-60.373c38.4 49.493 62.080 106.667 69.333 165.973h-86.187c-6.187-37.333-20.693-73.387-43.52-105.6z" />
592
- <glyph unicode="&#xe846;" d="M426.667 618.667v-341.333l213.333 170.667-213.333 170.667zM810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v597.333h597.333v-597.333z" />
593
- <glyph unicode="&#xe847;" d="M896 704h-768c-47.147 0-85.333-38.187-85.333-85.333v-341.333c0-47.147 38.187-85.333 85.333-85.333h768c47.147 0 85.333 38.187 85.333 85.333v341.333c0 47.147-38.187 85.333-85.333 85.333zM896 277.333h-768v341.333h85.333v-170.667h85.333v170.667h85.333v-170.667h85.333v170.667h85.333v-170.667h85.333v170.667h85.333v-170.667h85.333v170.667h85.333v-341.333z" />
594
- <glyph unicode="&#xe848;" d="M107.947 121.387l57.387-23.68v385.067l-103.467-249.813c-17.92-43.307 2.773-93.44 46.080-111.573zM939.947 279.68l-211.627 510.507c-13.227 32-44.373 51.84-77.013 52.48-11.307 0.213-22.827-1.92-34.133-6.4l-314.24-130.133c-32-13.227-51.627-44.16-52.48-76.8-0.213-11.52 1.707-23.040 6.4-34.347l211.413-510.507c13.44-32.427 44.8-52.053 78.080-52.48 11.093 0 22.187 1.92 33.067 6.4l314.24 130.133c43.307 17.92 64.213 67.84 46.293 111.147zM336 586.667c-23.467 0-42.667 19.2-42.667 42.667s19.2 42.667 42.667 42.667 42.667-19.2 42.667-42.667-19.2-42.667-42.667-42.667zM250.667 117.333c0-46.933 38.4-85.333 85.333-85.333h62.080l-147.413 355.84v-270.507z" />
595
- <glyph unicode="&#xe849;" d="M853.333 789.333h-135.253l-78.080 85.333h-256l-78.080-85.333h-135.253c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM640 298.667v106.667h-256v-106.667l-149.333 149.333 149.333 149.333v-106.667h256v106.667l149.333-149.333-149.333-149.333z" />
596
- <glyph unicode="&#xe84a;" d="M768 554.667v149.333c0 23.467-18.987 42.667-42.667 42.667h-597.333c-23.68 0-42.667-19.2-42.667-42.667v-512c0-23.467 18.987-42.667 42.667-42.667h597.333c23.68 0 42.667 19.2 42.667 42.667v149.333l170.667-170.667v554.667l-170.667-170.667zM554.667 298.667v106.667h-256v-106.667l-149.333 149.333 149.333 149.333v-106.667h256v106.667l149.333-149.333-149.333-149.333z" />
597
- <glyph unicode="&#xe84b;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333zM661.333 490.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM362.667 490.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM512 213.333c99.413 0 183.68 62.080 217.813 149.333h-435.627c34.133-87.253 118.4-149.333 217.813-149.333z" />
598
- <glyph unicode="&#xe84c;" d="M832.427 828.8l-701.227-701.227c3.84-14.72 11.307-27.947 21.76-38.4l0.213-0.213c10.453-10.453 23.68-17.92 38.4-21.76l701.227 701.227c-7.893 29.44-30.933 52.48-60.373 60.373zM506.88 832l-378.88-378.88v-120.747l499.627 499.627h-120.747zM213.333 832c-46.933 0-85.333-38.4-85.333-85.333v-85.547l170.88 170.88h-85.547zM810.667 64c23.467 0 44.8 9.6 60.16 24.96 15.573 15.573 25.173 36.907 25.173 60.373v85.547l-170.88-170.88h85.547zM396.373 64h120.747l378.88 378.88v120.747l-499.627-499.627z" />
599
- <glyph unicode="&#xe84d;" d="M693.12 629.12c-50.133 49.92-115.627 74.88-181.12 74.88v-256l-181.12-181.12c100.053-100.053 261.973-100.053 362.027 0s100.053 262.187 0.213 362.24zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 191.147 426.667 426.667c0 235.733-190.933 426.667-426.667 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333z" />
600
- <glyph unicode="&#xe84e;" d="M640 917.333h-256v-85.333h256v85.333zM469.333 362.667h85.333v256h-85.333v-256zM811.733 644.907l60.8 60.8c-18.347 21.973-38.4 42.027-60.373 60.373l-60.8-60.8c-65.493 52.48-148.907 84.053-239.573 84.053-212.267 0-383.787-171.947-383.787-384s171.52-384 383.787-384 384.213 171.947 384.213 384c0 90.667-31.573 173.867-84.267 239.573zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667z" />
601
- <glyph unicode="&#xe84f;" d="M495.36 406.4c-6.827 10.24-15.573 19.627-26.24 27.947-10.88 8.32-23.893 14.933-39.467 20.267 13.013 5.76 24.32 13.013 34.133 21.333 9.813 8.533 17.92 17.493 24.32 27.093s11.307 19.627 14.72 30.080c3.2 10.453 4.907 20.693 4.907 30.933 0 23.68-4.053 44.373-11.733 62.507-7.893 17.92-18.987 33.067-33.28 45.013s-31.36 21.12-51.413 27.307c-20.053 6.187-42.027 9.173-66.133 9.173-23.467 0-45.013-3.413-64.853-10.453s-36.907-16.64-51.2-29.013c-14.293-12.373-25.387-27.093-33.493-43.947s-11.947-35.413-11.947-55.253h84.48c0 10.88 1.92 20.693 5.973 29.44s9.387 16.213 16.427 22.187c7.040 6.187 15.147 10.88 24.747 14.293s19.84 5.12 30.933 5.12c26.027 0 45.227-6.613 58.027-20.053 12.587-13.44 18.987-32 18.987-56.107 0-11.52-1.707-22.187-5.12-31.573-3.413-9.6-8.747-17.707-16-24.32-7.253-6.827-16.213-11.947-26.88-15.787s-23.253-5.76-37.973-5.76h-50.133v-66.773h50.133c14.293 0 27.307-1.707 38.827-4.907s21.333-8.32 29.44-15.147c8.107-6.827 14.293-15.573 18.773-26.027s6.613-22.827 6.613-37.333c0-26.453-7.467-46.72-22.613-60.587s-35.627-20.907-61.867-20.907c-12.587 0-23.893 1.707-34.133 5.333s-18.987 8.747-26.027 15.36c-7.253 6.613-12.8 14.507-16.64 23.893-4.053 9.173-5.973 19.413-5.973 30.72h-85.12c0-23.467 4.48-44.16 13.653-61.867 8.96-17.92 21.12-32.853 36.48-44.8s33.067-20.907 53.12-26.88c20.053-5.973 41.173-8.96 63.147-8.96 24.107 0 46.507 3.413 67.413 9.813 20.693 6.613 38.827 16.213 53.973 28.8s27.093 28.16 35.627 46.72c8.533 18.56 12.8 39.68 12.8 63.36 0 12.587-1.493 24.747-4.693 36.48-3.2 11.947-8.107 23.040-14.72 33.28zM890.667 347.093c-6.187 12.16-15.147 22.613-26.88 31.573s-26.24 16.427-43.093 22.613c-17.067 6.187-36.267 11.52-57.6 16-14.933 3.2-27.093 6.4-36.907 9.813-9.813 3.2-17.707 6.827-23.467 10.667s-9.813 8.32-12.16 13.013c-2.347 4.693-3.413 10.24-3.413 16.427s1.28 11.947 3.84 17.707c2.56 5.547 6.4 10.453 11.52 14.72s11.52 7.68 19.413 10.24c7.68 2.56 16.853 3.84 27.307 3.84 10.667 0 20.053-1.493 28.16-4.693 8.107-2.987 14.933-7.253 20.267-12.587 5.547-5.333 9.6-11.307 12.373-17.92 2.773-6.827 4.053-13.653 4.053-20.693h83.2c0 16.64-3.413 32.213-10.027 46.507-6.827 14.293-16.427 26.88-29.227 37.547s-28.373 18.987-46.72 24.96c-18.56 6.187-39.253 9.173-62.507 9.173-21.973 0-41.813-2.987-59.307-8.96-17.707-5.973-32.64-14.293-45.227-24.533-12.373-10.24-21.973-22.187-28.587-35.84s-10.027-27.947-10.027-42.88c0-15.573 3.2-29.227 9.813-41.173 6.4-11.947 15.573-22.187 27.307-30.933s25.6-16.213 42.027-22.4c16.213-6.187 34.347-11.307 54.187-15.36 16.64-3.413 30.080-7.040 40.533-10.88s18.347-8.107 24.107-12.587c5.76-4.48 9.6-9.173 11.52-14.293s2.987-10.667 2.987-16.64c0-13.44-5.76-24.32-17.067-32.64-11.52-8.32-28.16-12.587-49.92-12.587-9.387 0-18.56 1.067-27.307 3.2-8.96 2.133-16.853 5.547-23.893 10.453-7.040 4.693-12.8 11.093-17.493 18.773-4.48 7.68-7.253 17.28-7.893 28.8h-80.853c0-15.36 3.413-30.293 10.027-45.013s16.64-27.947 29.867-39.467c13.227-11.733 29.653-21.12 49.067-28.16 19.413-7.253 42.027-10.88 67.2-10.88 22.613 0 43.093 2.773 61.653 8.107 18.56 5.547 34.347 13.227 47.36 23.040 13.227 10.027 23.253 21.76 30.293 35.413s10.667 28.8 10.667 45.227c0 16.853-3.2 31.147-9.173 43.307z" />
602
- <glyph unicode="&#xe850;" d="M0 630.827v-71.893l128 42.667v-409.6h85.333v512h-10.88l-202.453-73.173zM1014.827 347.093c-6.187 12.16-15.147 22.613-26.88 31.573s-26.24 16.427-43.093 22.613c-17.067 6.187-36.267 11.52-57.6 16-14.933 3.2-27.093 6.4-36.907 9.813-9.813 3.2-17.707 6.827-23.467 10.667s-9.813 8.32-12.16 13.013c-2.347 4.693-3.413 10.24-3.413 16.427s1.28 11.947 3.84 17.707c2.56 5.547 6.4 10.453 11.52 14.72s11.52 7.68 19.413 10.24c7.68 2.56 16.853 3.84 27.307 3.84 10.667 0 20.053-1.493 28.16-4.693 8.107-2.987 14.933-7.253 20.267-12.587 5.547-5.333 9.6-11.307 12.373-17.92 2.773-6.827 4.053-13.653 4.053-20.693h83.2c0 16.64-3.413 32.213-10.027 46.507s-16.427 26.88-29.227 37.547c-12.8 10.667-28.373 18.987-46.72 24.96-18.56 6.187-39.253 9.173-62.293 9.173-21.973 0-41.813-2.987-59.307-8.96-17.707-5.973-32.64-14.293-45.227-24.533-12.373-10.24-21.973-22.187-28.587-35.84s-10.027-27.947-10.027-42.88c0-15.573 3.2-29.227 9.813-41.173 6.4-11.947 15.573-22.187 27.307-30.933s25.6-16.213 42.027-22.4c16.213-6.187 34.347-11.307 54.187-15.36 16.64-3.413 30.080-7.040 40.533-10.88s18.347-8.107 24.107-12.587c5.76-4.48 9.6-9.173 11.52-14.293s2.987-10.667 2.987-16.64c0-13.44-5.76-24.32-17.067-32.64-11.52-8.32-28.16-12.587-49.92-12.587-9.387 0-18.56 1.067-27.307 3.2-8.96 2.133-16.853 5.547-23.893 10.453-7.040 4.693-12.8 11.093-17.493 18.773-4.48 7.68-7.253 17.28-7.893 28.8h-80.853c0-15.36 3.413-30.293 10.027-45.013s16.64-27.947 29.867-39.467c13.227-11.733 29.653-21.12 49.067-28.16 19.413-7.253 42.027-10.88 67.2-10.88 22.613 0 43.093 2.773 61.653 8.107 18.56 5.547 34.347 13.227 47.36 23.040 13.227 10.027 23.253 21.76 30.293 35.413s10.667 28.8 10.667 45.227c-0.213 16.853-3.2 31.147-9.387 43.307zM589.653 659.413c-14.507 17.28-32 29.653-52.267 37.333-20.48 7.68-43.093 11.52-68.267 11.52-24.747 0-47.36-3.84-67.84-11.52s-37.973-20.053-52.267-37.333c-14.507-17.28-25.6-39.893-33.493-67.627-7.893-27.947-11.733-61.867-11.733-101.973v-81.707c0-40.107 4.053-74.24 11.947-102.187 8.107-27.947 19.413-50.773 33.92-68.267 14.72-17.493 32.213-30.293 52.48-38.187 20.48-7.893 43.093-11.733 67.84-11.733 24.96 0 47.787 4.053 68.053 11.733 20.267 7.893 37.547 20.48 52.053 38.187 14.293 17.493 25.6 40.32 33.493 68.267s11.733 62.080 11.733 102.187v81.707c0 40.107-4.053 74.027-11.733 101.973-8.107 27.733-19.413 50.347-33.92 67.627zM550.613 395.733c0-25.6-1.707-47.147-5.12-65.067s-8.747-32.427-15.573-43.52-15.36-19.2-25.173-24.32c-10.027-5.12-21.547-7.68-34.773-7.68-13.013 0-24.533 2.56-34.773 7.68s-18.773 13.227-25.813 24.32c-7.040 11.093-12.373 25.6-16 43.52s-5.547 39.467-5.547 65.067v106.88c0 25.813 1.707 47.36 5.333 64.853s8.96 31.573 15.787 42.453c7.040 10.88 15.573 18.56 25.6 23.253s21.547 7.040 34.56 7.040c13.013 0 24.533-2.347 34.56-7.040s18.56-12.587 25.6-23.253c7.040-10.88 12.16-24.96 15.787-42.453s5.333-39.253 5.333-64.853v-106.88z" />
603
- <glyph unicode="&#xe851;" d="M512 789.333c-94.293 0-170.667-76.373-170.667-170.667 0-94.080 76.373-170.667 170.667-170.667s170.667 76.587 170.667 170.667c0 94.293-76.373 170.667-170.667 170.667zM512 362.667c-113.707 0-341.333-56.96-341.333-170.667v-85.333h682.667v85.333c0 113.707-227.627 170.667-341.333 170.667z" />
604
- <glyph unicode="&#xe852;" d="M812.16 765.867l-60.8-60.8c-65.493 52.693-148.907 84.267-239.573 84.267-78.080 0-150.4-23.467-210.987-63.36l62.080-62.080c43.947 25.387 94.72 40.107 149.12 40.107 164.907 0 298.667-133.76 298.667-298.667 0-54.4-14.72-105.173-40.107-149.12l62.080-62.080c39.893 60.587 63.36 133.12 63.36 211.2 0 90.667-31.573 173.867-84.267 239.573l60.8 60.8-60.373 60.16zM640 917.333h-256v-85.333h256v85.333zM469.333 557.44l85.333-85.333v146.56h-85.333v-61.227zM128.853 789.333l-54.4-54.187 117.547-117.547c-40.32-60.8-64-133.76-64-212.267 0-212.053 171.52-384 383.787-384 78.507 0 151.467 23.68 212.267 64l106.667-106.667 54.187 54.4-756.053 756.267zM512 106.667c-164.907 0-298.667 133.76-298.667 298.667 0 54.827 14.933 106.027 40.747 150.187l408.107-408.107c-44.16-25.813-95.36-40.747-150.187-40.747z" />
605
- <glyph unicode="&#xe853;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM469.333 109.653c-168.32 20.907-298.667 164.267-298.667 338.347s130.347 317.44 298.667 338.347v-676.693zM554.667 786.347c43.947-5.547 85.333-19.2 122.453-39.68h-122.453v39.68zM554.667 661.333h223.573c10.667-13.44 20.48-27.733 29.013-42.667h-252.587v42.667zM554.667 533.333h287.573c3.627-13.867 6.4-28.16 8.32-42.667h-295.893v42.667zM554.667 109.653v39.68h122.453c-37.12-20.48-78.507-34.133-122.453-39.68zM778.24 234.667h-223.573v42.667h252.587c-8.533-14.933-18.347-29.227-29.013-42.667zM842.24 362.667h-287.573v42.667h295.68c-1.707-14.507-4.693-28.8-8.107-42.667z" />
606
- <glyph unicode="&#xe854;" d="M938.667 192v85.333h-597.333v512h85.333l-128 128-128-128h85.333v-85.333h-170.667v-85.333h170.667v-341.333c0-47.147 38.187-85.333 85.333-85.333h341.333v-85.333h-85.333l128-128 128 128h-85.333v85.333h170.667zM426.667 618.667h256v-256h85.333v256c0 47.147-38.187 85.333-85.333 85.333h-256v-85.333z" />
607
- <glyph unicode="&#xe855;" d="M128 234.667v-85.333h256v85.333h-256zM128 746.667v-85.333h426.667v85.333h-426.667zM554.667 64v85.333h341.333v85.333h-341.333v85.333h-85.333v-256h85.333zM298.667 576v-85.333h-170.667v-85.333h170.667v-85.333h85.333v256h-85.333zM896 405.333v85.333h-426.667v-85.333h426.667zM640 576h85.333v85.333h170.667v85.333h-170.667v85.333h-85.333v-256z" />
608
- <glyph unicode="&#xe856;" d="M292.267 420.267h98.133l-49.067 155.733-49.067-155.733zM938.667 661.333l-51.413-268.373-63.787 268.373h-68.267l-63.573-268.373-51.627 268.373h-32.427c-62.507 77.867-158.507 128-266.24 128-188.587 0-341.333-152.747-341.333-341.333s152.747-341.333 341.333-341.333c133.76 0 249.173 77.013 305.28 189.013l4.053-18.347h74.667l64 260.267 64-260.267h74.667l87.467 384h-76.8zM439.467 277.333l-29.867 85.333h-136.533l-29.867-85.333h-81.067l136.533 384h85.333l136.533-384h-81.067z" />
609
- <glyph unicode="&#xe857;" d="M825.813 531.84c-29.013 146.773-158.507 257.493-313.813 257.493-123.307 0-230.187-69.973-283.733-172.16-128.213-13.867-228.267-122.453-228.267-254.507 0-141.44 114.56-256 256-256h554.667c117.76 0 213.333 95.573 213.333 213.333 0 112.64-87.68 203.947-198.187 211.84z" />
610
- <glyph unicode="&#xe858;" d="M151.467 169.173l60.373-60.373 76.587 76.587-60.373 60.373-76.587-76.587zM469.333 2.133h85.333v125.867h-85.333v-125.867zM170.667 512h-128v-85.333h128v85.333zM640 690.773v205.227h-256v-205.227c-76.373-44.373-128-126.72-128-221.44 0-141.44 114.56-256 256-256s256 114.56 256 256c0 94.72-51.627 177.28-128 221.44zM853.333 512v-85.333h128v85.333h-128zM735.787 185.387l76.587-76.587 60.373 60.373-76.587 76.587-60.373-60.373z" />
611
- <glyph unicode="&#xe859;" d="M213.333 341.333h597.333v256h-597.333v-256zM469.333 936.533v-125.867h85.333v125.867h-85.333zM812.16 829.867l-76.587-76.587 60.373-60.373 76.587 76.587-60.373 60.373zM554.667 2.133v125.867h-85.333v-125.867h85.333zM872.533 169.173l-76.587 76.587-60.373-60.373 76.587-76.587 60.373 60.373zM151.467 769.493l76.587-76.587 60.373 60.373-76.587 76.587-60.373-60.373zM211.84 108.8l76.587 76.587-60.373 60.373-76.587-76.587 60.373-60.373z" />
612
- <glyph unicode="&#xe85a;" d="M288.213 753.28l-76.373 76.587-60.373-60.373 76.587-76.587 60.16 60.373zM170.667 512h-128v-85.333h128v85.333zM554.667 936.533h-85.333v-125.867h85.333v125.867zM872.533 769.493l-60.373 60.373-76.587-76.587 60.373-60.373 76.587 76.587zM735.787 185.387l76.587-76.587 60.373 60.373-76.587 76.587-60.373-60.373zM853.333 512v-85.333h128v85.333h-128zM512 725.333c-141.44 0-256-114.56-256-256s114.56-256 256-256 256 114.56 256 256-114.56 256-256 256zM469.333 2.133h85.333v125.867h-85.333v-125.867zM151.467 169.173l60.373-60.373 76.587 76.587-60.373 60.373-76.587-76.587z" />
613
- <glyph unicode="&#xe85b;" d="M810.667 917.333h-597.333c-47.147 0-84.907-38.187-84.907-85.333l-0.427-551.893c0-29.44 14.933-55.467 37.547-70.827l346.24-230.613 346.24 230.613c22.613 15.36 37.547 41.387 37.547 70.827l0.427 551.893c0 47.147-38.187 85.333-85.333 85.333zM426.667 277.333l-213.333 213.333 60.373 60.373 152.96-152.96 323.627 323.627 60.373-60.373-384-384z" />
614
- <glyph unicode="&#xe85c;" d="M926.080 478.080l-384 384c-16.64 16.64-43.733 16.64-60.16 0l-384-384c-16.64-16.64-16.64-43.733 0-60.373l384-384c16.64-16.64 43.733-16.64 60.373 0l384 384c16.64 16.853 16.64 43.733-0.213 60.373zM597.333 341.333v106.667h-170.667v-128h-85.333v170.667c0 23.68 18.987 42.667 42.667 42.667h213.333v106.667l149.333-149.333-149.333-149.333z" />
615
- <glyph unicode="&#xe85d;" d="M682.667 755.2c42.24 0 76.8 34.347 76.8 76.8s-34.56 76.8-76.8 76.8c-42.453 0-76.8-34.347-76.8-76.8s34.347-76.8 76.8-76.8zM810.667 448c-117.76 0-213.333-95.573-213.333-213.333s95.573-213.333 213.333-213.333 213.333 95.573 213.333 213.333-95.573 213.333-213.333 213.333zM810.667 85.333c-82.56 0-149.333 66.773-149.333 149.333s66.773 149.333 149.333 149.333 149.333-66.773 149.333-149.333-66.773-149.333-149.333-149.333zM631.467 533.333h179.2v76.8h-136.533l-82.56 139.307c-12.587 21.333-35.84 35.627-62.507 35.627-20.053 0-38.187-8.107-51.2-21.333l-157.867-157.653c-13.227-13.227-21.333-31.36-21.333-51.413 0-26.88 14.293-49.493 36.267-62.72l142.933-86.613v-213.333h76.8v276.48l-96 71.253 98.987 99.413 73.813-105.813zM213.333 448c-117.76 0-213.333-95.573-213.333-213.333s95.573-213.333 213.333-213.333 213.333 95.573 213.333 213.333-95.573 213.333-213.333 213.333zM213.333 85.333c-82.56 0-149.333 66.773-149.333 149.333s66.773 149.333 149.333 149.333 149.333-66.773 149.333-149.333-66.773-149.333-149.333-149.333z" />
616
- <glyph unicode="&#xe85e;" d="M170.667 277.333c0-37.76 16.64-71.253 42.667-94.72v-75.947c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v42.667h341.333v-42.667c0-23.467 18.987-42.667 42.667-42.667h42.667c23.467 0 42.667 19.2 42.667 42.667v75.947c26.027 23.467 42.667 56.96 42.667 94.72v426.667c0 149.333-152.747 170.667-341.333 170.667s-341.333-21.333-341.333-170.667v-426.667zM320 234.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM704 234.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM768 490.667h-512v213.333h512v-213.333z" />
617
- <glyph unicode="&#xe85f;" d="M807.253 703.573c-8.747 25.173-32.64 43.093-60.587 43.093h-469.333c-27.947 0-51.84-17.92-60.587-43.093l-88.747-255.573v-341.333c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v42.667h512v-42.667c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v341.333l-88.747 255.573zM277.333 277.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM746.667 277.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM213.333 490.667l64 192h469.333l64-192h-597.333z" />
618
- <glyph unicode="&#xe860;" d="M853.333 64c-59.307 0-118.613 20.053-170.667 56.533-104.107-72.96-237.227-72.96-341.333 0-52.053-36.48-111.36-56.533-170.667-56.533h-85.333v-85.333h85.333c58.667 0 116.907 14.72 170.667 42.453 107.52-55.253 233.813-55.253 341.333 0 53.76-27.52 112-42.453 170.667-42.453h85.333v85.333h-85.333zM168.32 149.333h2.347c68.267 0 129.067 37.547 170.667 85.333 41.6-47.787 102.4-85.333 170.667-85.333s129.067 37.547 170.667 85.333c41.813-47.787 102.187-85.333 170.667-85.333h2.347l80.853 285.227c3.627 10.88 2.56 22.827-2.56 33.067-5.333 10.24-14.507 17.92-25.6 21.12l-55.040 18.133v197.12c0 47.147-38.187 85.333-85.333 85.333h-128v128h-256v-128h-128c-47.147 0-85.333-38.187-85.333-85.333v-197.12l-54.827-17.92c-11.093-3.413-20.267-10.88-25.6-21.12s-6.187-22.187-2.56-33.067l80.64-285.44zM256 704h512v-169.173l-256 83.84-256-83.84v169.173z" />
619
- <glyph unicode="&#xe861;" d="M512 874.667c-188.587 0-341.333-21.333-341.333-170.667v-405.333c0-82.56 66.987-149.333 149.333-149.333l-64-64v-21.333h512v21.333l-64 64c82.56 0 149.333 66.773 149.333 149.333v405.333c0 149.333-152.747 170.667-341.333 170.667zM320 234.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM469.333 490.667h-213.333v213.333h213.333v-213.333zM704 234.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM768 490.667h-213.333v213.333h213.333v-213.333z" />
620
- <glyph unicode="&#xe862;" d="M170.667 298.667c0-82.56 66.987-149.333 149.333-149.333l-64-64v-21.333h512v21.333l-64 64c82.56 0 149.333 66.773 149.333 149.333v448c0 149.333-152.747 170.667-341.333 170.667s-341.333-21.333-341.333-170.667v-448zM512 234.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM768 533.333h-512v213.333h512v-213.333z" />
621
- <glyph unicode="&#xe863;" d="M512 874.667c-188.587 0-341.333-21.333-341.333-170.667v-405.333c0-82.56 66.987-149.333 149.333-149.333l-64-64v-21.333h512v21.333l-64 64c82.56 0 149.333 66.773 149.333 149.333v405.333c0 149.333-152.747 170.667-341.333 170.667zM320 234.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM469.333 490.667h-213.333v213.333h213.333v-213.333zM704 234.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM768 490.667h-213.333v213.333h213.333v-213.333z" />
622
- <glyph unicode="&#xe864;" d="M597.333 797.867c42.24 0 76.8 34.347 76.8 76.8s-34.56 76.8-76.8 76.8c-42.453 0-76.8-34.347-76.8-76.8s34.347-76.8 76.8-76.8zM602.453 533.333h208.213v76.8h-154.667l-85.333 142.080c-12.587 21.333-35.84 35.413-62.293 35.413-7.253 0-14.293-1.067-20.907-2.987l-231.467-72.107v-221.867h76.8v156.373l89.813 27.947-166.613-653.653h76.8l122.453 346.027 99.413-132.693v-213.333h76.8v273.28l-106.24 193.707 31.36 122.453 45.867-77.44z" />
623
- <glyph unicode="&#xe865;" d="M896 277.333v85.333l-341.333 213.333v234.667c0 35.413-28.587 64-64 64s-64-28.587-64-64v-234.667l-341.333-213.333v-85.333l341.333 106.667v-234.667l-85.333-64v-64l149.333 42.667 149.333-42.667v64l-85.333 64v234.667l341.333-106.667z" />
624
- <glyph unicode="&#xe866;" d="M298.667 405.333c70.613 0 128 57.387 128 128s-57.387 128-128 128-128-57.387-128-128 57.387-128 128-128zM810.667 661.333h-341.333v-298.667h-341.333v384h-85.333v-640h85.333v128h768v-128h85.333v384c0 94.293-76.373 170.667-170.667 170.667z" />
625
- <glyph unicode="&#xe867;" d="M511.787 168.96l-314.667 244.693-69.12-53.76 384-298.667 384 298.667-69.547 53.973-314.667-244.907zM512 277.333l384 298.667-384 298.667-384-298.667 69.547-53.973 314.453-244.693z" />
626
- <glyph unicode="&#xe868;" d="M845.227 320.427l50.773 39.467-60.8 60.8-50.773-39.467 60.8-60.8zM826.24 521.6l69.76 54.4-384 298.667-124.373-96.64 336-336 102.613 79.573zM139.733 917.333l-54.4-54.4 180.053-180.053-137.387-106.88 69.547-53.973 314.453-244.693 89.387 69.547 60.8-60.8-150.613-117.12-314.453 244.693-69.12-53.76 384-298.667 210.987 164.267 161.493-161.493 54.187 54.4-798.933 798.933z" />
627
- <glyph unicode="&#xe869;" d="M896 277.333v85.333l-341.333 213.333v234.667c0 35.413-28.587 64-64 64s-64-28.587-64-64v-234.667l-341.333-213.333v-85.333l341.333 106.667v-234.667l-85.333-64v-64l149.333 42.667 149.333-42.667v64l-85.333 64v234.667l341.333-106.667z" />
628
- <glyph unicode="&#xe86a;" d="M469.333 234.667h85.333v42.667h42.667c23.467 0 42.667 19.2 42.667 42.667v128c0 23.467-19.2 42.667-42.667 42.667h-128v42.667h170.667v85.333h-85.333v42.667h-85.333v-42.667h-42.667c-23.467 0-42.667-19.2-42.667-42.667v-128c0-23.467 19.2-42.667 42.667-42.667h128v-42.667h-170.667v-85.333h85.333v-42.667zM853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 192h-682.667v512h682.667v-512z" />
629
- <glyph unicode="&#xe86b;" d="M853.333 448c0 47.147 38.187 85.333 85.333 85.333v170.667c0 47.147-38.187 85.333-85.333 85.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.213-170.667c47.147-0.213 85.12-38.4 85.12-85.333 0-47.147-38.187-85.333-85.12-85.333l-0.213-170.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v170.667c-47.147 0-85.333 38.187-85.333 85.333zM664.747 243.2l-152.747 98.133-152.747-98.133 46.080 175.573-140.373 114.773 181.12 10.667 65.92 168.32 65.92-168.32 181.12-10.667-140.373-114.773 46.080-175.573z" />
630
- <glyph unicode="&#xe86c;" d="M469.333 405.333v-256h-213.333v-85.333h512v85.333h-213.333v256l341.333 341.333v85.333h-768v-85.333l341.333-341.333zM320 661.333l-85.333 85.333h554.667l-85.333-85.333h-384z" />
631
- <glyph unicode="&#xe86d;" d="M853.333 832h-682.667v-426.667c0-94.293 76.373-170.667 170.667-170.667h256c94.293 0 170.667 76.373 170.667 170.667v128h85.333c47.147 0 85.333 38.187 85.333 85.333v128c0 47.147-38.187 85.333-85.333 85.333zM853.333 618.667h-85.333v128h85.333v-128zM85.333 64h768v85.333h-768v-85.333z" />
632
- <glyph unicode="&#xe86e;" d="M725.333 746.667c35.413 0 64 28.587 64 64 0 42.667-64 115.2-64 115.2s-64-72.533-64-115.2c0-35.413 28.587-64 64-64zM512 746.667c35.413 0 64 28.587 64 64 0 42.667-64 115.2-64 115.2s-64-72.533-64-115.2c0-35.413 28.587-64 64-64zM298.667 746.667c35.413 0 64 28.587 64 64 0 42.667-64 115.2-64 115.2s-64-72.533-64-115.2c0-35.413 28.587-64 64-64zM807.253 618.24c-8.747 25.173-32.64 43.093-60.587 43.093h-469.333c-27.947 0-51.84-17.92-60.587-43.093l-88.747-255.573v-341.333c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v42.667h512v-42.667c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v341.333l-88.747 255.573zM277.333 192c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM746.667 192c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM213.333 405.333l64 192h469.333l64-192h-597.333z" />
633
- <glyph unicode="&#xe86f;" d="M810.667 661.333v128h-597.333v-128h-128v-554.667h341.333v170.667h170.667v-170.667h341.333v554.667h-128zM469.333 533.333h-85.333v-42.667h85.333v-42.667h-128v128h85.333v42.667h-85.333v42.667h128v-128zM682.667 448h-42.667v85.333h-85.333v128h42.667v-85.333h42.667v85.333h42.667v-213.333z" />
634
- <glyph unicode="&#xe870;" d="M128 874.667l85.973-778.027c4.907-42.453 40.96-75.307 84.693-75.307h426.667c43.733 0 79.787 32.853 84.693 75.307l85.973 778.027h-768zM512 149.333c-70.613 0-128 57.387-128 128 0 85.333 128 230.4 128 230.4s128-145.067 128-230.4c0-70.613-57.387-128-128-128zM781.867 618.667h-539.733l-18.773 170.667h577.493l-18.987-170.667z" />
635
- <glyph unicode="&#xe871;" d="M512 21.333c212.053 0 384 171.947 384 384-212.053 0-384-171.947-384-384zM239.147 522.667c0-58.88 47.787-106.667 106.667-106.667 22.4 0 43.307 7.040 60.373 18.773l-0.853-8.107c0-58.88 47.787-106.667 106.667-106.667s106.667 47.787 106.667 106.667l-0.853 8.107c17.28-11.947 37.973-18.773 60.373-18.773 58.88 0 106.667 47.787 106.667 106.667 0 42.453-24.96 78.933-61.013 96 35.84 17.067 61.013 53.547 61.013 96 0 58.88-47.787 106.667-106.667 106.667-22.4 0-43.307-7.040-60.373-18.773l0.853 8.107c0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667l0.853-8.107c-17.28 11.947-37.973 18.773-60.373 18.773-58.88 0-106.667-47.787-106.667-106.667 0-42.453 24.96-78.933 61.013-96-36.053-17.067-61.013-53.547-61.013-96zM512 725.333c58.88 0 106.667-47.787 106.667-106.667s-47.787-106.667-106.667-106.667-106.667 47.787-106.667 106.667 47.787 106.667 106.667 106.667zM128 405.333c0-212.053 171.947-384 384-384 0 212.053-171.947 384-384 384z" />
636
- <glyph unicode="&#xe872;" d="M843.52 651.52l0.64 0.64-158.933 158.507-45.227-45.227 90.027-90.027c-40.107-15.36-68.693-53.973-68.693-99.413 0-58.88 47.787-106.667 106.667-106.667 15.147 0 29.653 3.2 42.667 8.96v-307.627c0-23.467-19.2-42.667-42.667-42.667s-42.667 19.2-42.667 42.667v192c0 47.147-38.187 85.333-85.333 85.333h-42.667v298.667c0 47.147-38.187 85.333-85.333 85.333h-256c-47.147 0-85.333-38.187-85.333-85.333v-682.667h426.667v320h64v-213.333c0-58.88 47.787-106.667 106.667-106.667s106.667 47.787 106.667 106.667v405.333c0 29.44-11.947 56.107-31.147 75.52zM512 533.333h-256v213.333h256v-213.333zM768 533.333c-23.467 0-42.667 19.2-42.667 42.667s19.2 42.667 42.667 42.667 42.667-19.2 42.667-42.667-19.2-42.667-42.667-42.667z" />
637
- <glyph unicode="&#xe873;" d="M298.667 192c-47.147 0-84.907-38.187-84.907-85.333s37.76-85.333 84.907-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM42.667 874.667v-85.333h85.333l153.387-323.627-57.6-104.533c-6.613-12.373-10.453-26.24-10.453-41.173 0-47.147 38.187-85.333 85.333-85.333h512v85.333h-493.867c-5.973 0-10.667 4.693-10.667 10.667 0 1.92 0.427 3.627 1.28 5.12l38.187 69.547h317.867c32 0 59.947 17.707 74.667 43.947l152.533 276.907c3.413 5.973 5.333 13.013 5.333 20.48 0 23.68-19.2 42.667-42.667 42.667h-630.827l-40.533 85.333h-139.307zM725.333 192c-47.147 0-84.907-38.187-84.907-85.333s37.76-85.333 84.907-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
638
- <glyph unicode="&#xe874;" d="M810.667 832h-597.333c-47.147 0-84.907-38.187-84.907-85.333l-0.427-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM768 362.667h-170.667v-170.667h-170.667v170.667h-170.667v170.667h170.667v170.667h170.667v-170.667h170.667v-170.667z" />
639
- <glyph unicode="&#xe875;" d="M298.667 405.333c70.613 0 128 57.387 128 128s-57.387 128-128 128-128-57.387-128-128 57.387-128 128-128zM810.667 661.333h-341.333v-298.667h-341.333v384h-85.333v-640h85.333v128h768v-128h85.333v384c0 94.293-76.373 170.667-170.667 170.667z" />
640
- <glyph unicode="&#xe876;" d="M391.253 241.92c66.56-66.56 174.72-66.56 241.28 0s66.56 174.72 0 241.28l-241.28-241.28zM768 874.24l-512 0.427c-47.147 0-85.333-38.187-85.333-85.333v-682.667c0-47.147 38.187-85.333 85.333-85.333h512c47.147 0 85.333 38.187 85.333 85.333v682.667c0 47.147-38.187 84.907-85.333 84.907zM426.667 789.333c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM298.667 789.333c23.467 0 42.667-19.2 42.667-42.667s-19.2-42.667-42.667-42.667-42.667 19.2-42.667 42.667 19.2 42.667 42.667 42.667zM512 106.667c-141.44 0-256 114.56-256 256s114.56 256 256 256 256-114.56 256-256-114.56-256-256-256z" />
641
- <glyph unicode="&#xe877;" d="M512 467.413c-100.907 93.653-235.52 151.253-384 151.253v-469.333c148.48 0 283.093-57.6 384-151.253 100.907 93.653 235.52 151.253 384 151.253v469.333c-148.48 0-283.093-57.6-384-151.253zM512 618.667c70.613 0 128 57.387 128 128s-57.387 128-128 128-128-57.387-128-128 57.387-128 128-128z" />
642
- <glyph unicode="&#xe878;" d="M810.667 704h-85.333c0 117.76-95.573 213.333-213.333 213.333s-213.333-95.573-213.333-213.333h-85.333c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM512 832c70.613 0 128-57.387 128-128h-256c0 70.613 57.387 128 128 128zM512 405.333c-117.76 0-213.333 95.573-213.333 213.333h85.333c0-70.613 57.387-128 128-128s128 57.387 128 128h85.333c0-117.76-95.573-213.333-213.333-213.333z" />
643
- <glyph unicode="&#xe879;" d="M768 832v-85.333h-85.333v85.333h-341.333v-85.333h-85.333v85.333h-85.333v-768h85.333v85.333h85.333v-85.333h341.333v85.333h85.333v-85.333h85.333v768h-85.333zM341.333 234.667h-85.333v85.333h85.333v-85.333zM341.333 405.333h-85.333v85.333h85.333v-85.333zM341.333 576h-85.333v85.333h85.333v-85.333zM768 234.667h-85.333v85.333h85.333v-85.333zM768 405.333h-85.333v85.333h85.333v-85.333zM768 576h-85.333v85.333h85.333v-85.333z" />
644
- <glyph unicode="&#xe87a;" d="M913.493 465.92l-383.787 383.787c-15.573 15.36-36.907 24.96-60.373 24.96h-298.667c-47.147 0-85.333-38.187-85.333-85.333v-298.667c0-23.68 9.6-45.013 25.173-60.373l384-384c15.36-15.36 36.693-24.96 60.16-24.96s45.013 9.6 60.373 24.96l298.667 298.667c15.36 15.573 24.96 36.907 24.96 60.373 0 23.68-9.6 45.013-25.173 60.587zM234.667 661.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64z" />
645
- <glyph unicode="&#xe87b;" d="M554.667 832h-298.667v-768h170.667v256h128c141.44 0 256 114.56 256 256s-114.56 256-256 256zM563.2 490.667h-136.533v170.667h136.533c47.147 0 85.333-38.187 85.333-85.333s-38.187-85.333-85.333-85.333z" />
646
- <glyph unicode="&#xe87c;" d="M896 746.667h-112.853l48.853 134.187-100.267 36.48-62.080-170.667h-541.653v-85.333l85.333-256-85.333-256v-85.333h768v85.333l-85.333 256 85.333 256v85.333zM682.667 362.667h-128v-128h-85.333v128h-128v85.333h128v128h85.333v-128h128v-85.333z" />
647
- <glyph unicode="&#xe87d;" d="M282.667 499.413c61.44-120.747 160.213-219.52 281.173-280.96l93.867 94.080c11.733 11.733 28.587 15.147 43.307 10.453 47.787-15.787 99.2-24.32 152.32-24.32 23.68 0 42.667-18.987 42.667-42.667v-149.333c0-23.68-18.987-42.667-42.667-42.667-400.64 0-725.333 324.693-725.333 725.333 0 23.68 19.2 42.667 42.667 42.667h149.333c23.68 0 42.667-18.987 42.667-42.667 0-53.12 8.533-104.533 24.32-152.32 4.693-14.72 1.28-31.573-10.453-43.307l-93.867-94.293z" />
648
- <glyph unicode="&#xe87e;" d="M512 874.667c-152.107 0-289.067-65.92-383.573-170.667l383.573-682.667 383.787 682.453c-94.507 104.96-231.467 170.88-383.787 170.88zM298.667 661.333c0 47.147 38.187 85.333 85.333 85.333s85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333-85.333 38.187-85.333 85.333zM512 320c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
649
- <glyph unicode="&#xe87f;" d="M853.333 448c0 47.147 38.187 85.333 85.333 85.333v170.667c0 47.147-38.187 85.333-85.333 85.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.213-170.667c47.147-0.213 85.12-38.4 85.12-85.333 0-47.147-38.187-85.333-85.12-85.333l-0.213-170.667c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v170.667c-47.147 0-85.333 38.187-85.333 85.333zM664.747 243.2l-152.747 98.133-152.747-98.133 46.080 175.573-140.373 114.773 181.12 10.667 65.92 168.32 65.92-168.32 181.12-10.667-140.373-114.773 46.080-175.573z" />
650
- <glyph unicode="&#xe880;" d="M853.333 789.333h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM853.333 618.667l-341.333-213.333-341.333 213.333v85.333l341.333-213.333 341.333 213.333v-85.333z" />
651
- <glyph unicode="&#xe881;" d="M810.667 618.667h-597.333c-70.613 0-128-57.387-128-128v-256h170.667v-170.667h512v170.667h170.667v256c0 70.613-57.387 128-128 128zM682.667 149.333h-341.333v213.333h341.333v-213.333zM810.667 448c-23.68 0-42.667 18.987-42.667 42.667s18.987 42.667 42.667 42.667c23.68 0 42.667-18.987 42.667-42.667s-18.987-42.667-42.667-42.667zM768 832h-512v-170.667h512v170.667z" />
652
- <glyph unicode="&#xe882;" d="M345.6 390.613l120.747 120.747-299.307 299.307c-66.56-66.56-66.56-174.72 0-241.28l178.56-178.773zM635.093 468.053c65.067-30.507 157.013-8.96 224.853 58.88 81.707 81.707 97.28 198.4 34.773 260.907-62.72 62.507-179.627 46.933-261.12-34.773-67.84-67.84-89.173-159.787-58.88-224.853-94.933-94.72-416.64-416.427-416.64-416.427l60.373-60.373 293.547 293.547 293.547-293.547 60.373 60.373-293.547 293.547 62.72 62.72z" />
653
- <glyph unicode="&#xe883;" d="M648.533 448c0-75.405-61.128-136.533-136.533-136.533s-136.533 61.128-136.533 136.533c0 75.405 61.128 136.533 136.533 136.533s136.533-61.128 136.533-136.533zM384 874.667l-78.080-85.333h-135.253c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333h-135.253l-78.080 85.333h-256zM512 234.667c-117.76 0-213.333 95.573-213.333 213.333s95.573 213.333 213.333 213.333 213.333-95.573 213.333-213.333-95.573-213.333-213.333-213.333z" />
654
- <glyph unicode="&#xe884;" d="M853.333 618.667h-128v170.667h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-469.333h85.333c0-70.613 57.387-128 128-128s128 57.387 128 128h256c0-70.613 57.387-128 128-128s128 57.387 128 128h85.333v213.333l-128 170.667zM256 170.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM832 554.667l83.84-106.667h-190.507v106.667h106.667zM768 170.667c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64z" />
655
- <glyph unicode="&#xe885;" d="M807.253 703.573c-8.747 25.173-32.64 43.093-60.587 43.093h-106.667v85.333h-256v-85.333h-106.667c-27.947 0-51.84-17.92-60.587-43.093l-88.747-255.573v-341.333c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v42.667h512v-42.667c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v341.333l-88.747 255.573zM277.333 277.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM746.667 277.333c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM213.333 490.667l64 192h469.333l64-192h-597.333z" />
656
- <glyph unicode="&#xe886;" d="M810.667 874.667h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h170.667l128-128 128 128h170.667c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM512 733.867c63.573 0 115.2-51.627 115.2-115.2s-51.627-115.2-115.2-115.2c-63.573 0-115.2 51.627-115.2 115.2s51.627 115.2 115.2 115.2zM768 277.333h-512v38.4c0 85.333 170.667 132.267 256 132.267s256-46.933 256-132.267v-38.4z" />
657
- <glyph unicode="&#xe887;" d="M874.667 832c-2.347 0-4.48-0.213-6.613-1.067l-228.053-88.533-256 89.6-240.427-81.067c-8.96-2.987-15.573-10.667-15.573-20.48v-645.12c0-11.733 9.6-21.333 21.333-21.333 2.347 0 4.48 0.213 6.613 1.067l228.053 88.533 256-89.6 240.64 80.853c8.96 3.2 15.36 10.88 15.36 20.693v645.12c0 11.733-9.6 21.333-21.333 21.333zM640 149.333l-256 89.813v507.52l256-89.813v-507.52z" />
658
- <glyph unicode="&#xe888;" d="M512 618.667c-94.293 0-170.667-76.373-170.667-170.667s76.373-170.667 170.667-170.667 170.667 76.373 170.667 170.667-76.373 170.667-170.667 170.667zM893.44 490.667c-19.627 177.92-160.853 319.147-338.773 338.773v87.893h-85.333v-87.893c-177.92-19.627-319.147-160.853-338.773-338.773h-87.893v-85.333h87.893c19.627-177.92 160.853-319.147 338.773-338.773v-87.893h85.333v87.893c177.92 19.627 319.147 160.853 338.773 338.773h87.893v85.333h-87.893zM512 149.333c-164.907 0-298.667 133.76-298.667 298.667s133.76 298.667 298.667 298.667 298.667-133.76 298.667-298.667-133.76-298.667-298.667-298.667z" />
659
- <glyph unicode="&#xe889;" d="M512 874.667l-320-780.587 30.080-30.080 289.92 128 289.92-128 30.080 30.080z" />
660
- <glyph unicode="&#xe88a;" d="M768 618.667c0 141.44-114.56 256-256 256s-256-114.56-256-256c0-192 256-469.333 256-469.333s256 277.333 256 469.333zM426.667 618.667c0 47.147 38.187 85.333 85.333 85.333s85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333-85.333 38.187-85.333 85.333zM213.333 106.667v-85.333h597.333v85.333h-597.333z" />
661
- <glyph unicode="&#xe88b;" d="M512 874.667c-164.907 0-298.667-133.76-298.667-298.667 0-224 298.667-554.667 298.667-554.667s298.667 330.667 298.667 554.667c0 164.907-133.76 298.667-298.667 298.667zM512 469.333c-58.88 0-106.667 47.787-106.667 106.667s47.787 106.667 106.667 106.667 106.667-47.787 106.667-106.667-47.787-106.667-106.667-106.667z" />
662
- <glyph unicode="&#xe88c;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM256 362.667v105.6l293.547 293.547c8.32 8.32 21.76 8.32 30.080 0l75.52-75.52c8.32-8.32 8.32-21.76 0-30.080l-293.547-293.547h-105.6zM768 362.667h-320l85.333 85.333h234.667v-85.333z" />
663
- <glyph unicode="&#xe88d;" d="M345.6 390.613l120.747 120.747-299.307 299.307c-66.56-66.56-66.56-174.72 0-241.28l178.56-178.773zM635.093 468.053c65.067-30.507 157.013-8.96 224.853 58.88 81.707 81.707 97.28 198.4 34.773 260.907-62.72 62.507-179.627 46.933-261.12-34.773-67.84-67.84-89.173-159.787-58.88-224.853-94.933-94.72-416.64-416.427-416.64-416.427l60.373-60.373 293.547 293.547 293.547-293.547 60.373 60.373-293.547 293.547 62.72 62.72z" />
664
- <glyph unicode="&#xe88e;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM213.333 747.093h128c0-70.613-57.387-128.427-128-128.427v128.427zM213.333 448v85.333c117.76 0 213.333 96 213.333 213.76h85.333c0-164.907-133.76-299.093-298.667-299.093zM213.333 192l149.333 192 106.667-128.213 149.333 192.213 192-256h-597.333z" />
665
- <glyph unicode="&#xe88f;" d="M853.333 789.333h-682.667v-85.333h682.667v85.333zM896 362.667v85.333l-42.667 213.333h-682.667l-42.667-213.333v-85.333h42.667v-256h426.667v256h170.667v-256h85.333v256h42.667zM512 192h-256v170.667h256v-170.667z" />
666
- <glyph unicode="&#xe890;" d="M597.333 704l-160-213.333 121.6-162.133-68.267-51.2c-72.107 96-192 256-192 256l-256-341.333h938.667l-384 512z" />
667
- <glyph unicode="&#xe891;" d="M853.333 533.333h-128v48.64c73.6 18.987 128 85.12 128 164.693h-128v42.667c0 23.467-18.987 42.667-42.667 42.667h-341.333c-23.467 0-42.667-19.2-42.667-42.667v-42.667h-128c0-79.36 54.613-145.707 128-164.693v-48.64h-128c0-79.36 54.613-145.707 128-164.693v-48.64h-128c0-79.36 54.613-145.707 128-164.693v-48.64c0-23.467 19.2-42.667 42.667-42.667h341.333c23.68 0 42.667 19.2 42.667 42.667v48.64c73.6 18.987 128 85.12 128 164.693h-128v48.64c73.6 18.987 128 85.333 128 164.693zM512 149.333c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM512 362.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333zM512 576c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
668
- <glyph unicode="&#xe892;" d="M170.667 618.667h170.667v170.667h-170.667v-170.667zM426.667 106.667h170.667v170.667h-170.667v-170.667zM170.667 106.667h170.667v170.667h-170.667v-170.667zM170.667 362.667h170.667v170.667h-170.667v-170.667zM426.667 362.667h170.667v170.667h-170.667v-170.667zM682.667 789.333v-170.667h170.667v170.667h-170.667zM426.667 618.667h170.667v170.667h-170.667v-170.667zM682.667 362.667h170.667v170.667h-170.667v-170.667zM682.667 106.667h170.667v170.667h-170.667v-170.667z" />
669
- <glyph unicode="&#xe893;" d="M853.333 490.667h-519.253l238.293 238.293-60.373 60.373-341.333-341.333 341.333-341.333 60.373 60.373-238.293 238.293h519.253v85.333z" />
670
- <glyph unicode="&#xe894;" d="M298.667 533.333l213.333-213.333 213.333 213.333z" />
671
- <glyph unicode="&#xe895;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 362.667l-170.667 170.667h341.333l-170.667-170.667z" />
672
- <glyph unicode="&#xe896;" d="M298.667 362.667l213.333 213.333 213.333-213.333z" />
673
- <glyph unicode="&#xe897;" d="M512 789.333l-60.373-60.373 238.293-238.293h-519.253v-85.333h519.253l-238.293-238.293 60.373-60.373 341.333 341.333z" />
674
- <glyph unicode="&#xe898;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM725.333 295.040l-60.373-60.373-152.96 152.96-152.96-152.96-60.373 60.373 152.96 152.96-152.96 152.96 60.373 60.373 152.96-152.96 152.96 152.96 60.373-60.373-152.96-152.96 152.96-152.96z" />
675
- <glyph unicode="&#xe899;" d="M384 270.080l-177.92 177.92-60.373-60.373 238.293-238.293 512 512-60.373 60.373z" />
676
- <glyph unicode="&#xe89a;" d="M657.707 643.627l-60.373 60.373-256-256 256-256 60.373 60.373-195.627 195.627z" />
677
- <glyph unicode="&#xe89b;" d="M426.667 704l-60.373-60.373 195.627-195.627-195.627-195.627 60.373-60.373 256 256z" />
678
- <glyph unicode="&#xe89c;" d="M810.667 686.293l-60.373 60.373-238.293-238.293-238.293 238.293-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 238.293 238.293 238.293-238.293 60.373 60.373-238.293 238.293z" />
679
- <glyph unicode="&#xe89d;" d="M512 618.667l-256-256 60.373-60.373 195.627 195.627 195.627-195.627 60.373 60.373z" />
680
- <glyph unicode="&#xe89e;" d="M707.627 593.707l-195.627-195.627-195.627 195.627-60.373-60.373 256-256 256 256z" />
681
- <glyph unicode="&#xe89f;" d="M298.667 362.667h-85.333v-213.333h213.333v85.333h-128v128zM213.333 533.333h85.333v128h128v85.333h-213.333v-213.333zM725.333 234.667h-128v-85.333h213.333v213.333h-85.333v-128zM597.333 746.667v-85.333h128v-128h85.333v213.333h-213.333z" />
682
- <glyph unicode="&#xe8a0;" d="M213.333 277.333h128v-128h85.333v213.333h-213.333v-85.333zM341.333 618.667h-128v-85.333h213.333v213.333h-85.333v-128zM597.333 149.333h85.333v128h128v85.333h-213.333v-213.333zM682.667 618.667v128h-85.333v-213.333h213.333v85.333h-128z" />
683
- <glyph unicode="&#xe8a1;" d="M128 192h768v85.333h-768v-85.333zM128 405.333h768v85.333h-768v-85.333zM128 704v-85.333h768v85.333h-768z" />
684
- <glyph unicode="&#xe8a2;" d="M256 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM768 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM512 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
685
- <glyph unicode="&#xe8a3;" d="M512 618.667c47.147 0 85.333 38.187 85.333 85.333s-38.187 85.333-85.333 85.333-85.333-38.187-85.333-85.333 38.187-85.333 85.333-85.333zM512 533.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333zM512 277.333c-47.147 0-85.333-38.187-85.333-85.333s38.187-85.333 85.333-85.333 85.333 38.187 85.333 85.333-38.187 85.333-85.333 85.333z" />
686
- <glyph unicode="&#xe8a4;" d="M753.067 689.067c-61.653 61.867-146.773 100.267-241.067 100.267-188.587 0-340.907-152.747-340.907-341.333s152.32-341.333 340.907-341.333c158.933 0 292.053 108.8 329.813 256h-88.747c-35.2-99.413-129.493-170.667-241.067-170.667-141.44 0-256 114.56-256 256s114.56 256 256 256c70.613 0 133.973-29.44 180.267-75.733l-137.6-137.6h298.667v298.667l-100.267-100.267z" />
687
- <glyph unicode="&#xe8a5;" d="M316.373 167.040l60.373-60.373 135.253 135.253 135.253-135.253 60.373 60.373-195.627 195.627-195.627-195.627zM707.627 728.96l-60.373 60.373-135.253-135.253-135.253 135.253-60.373-60.373 195.627-195.627 195.627 195.627z" />
688
- <glyph unicode="&#xe8a6;" d="M512 711.253l135.253-135.253 60.373 60.373-195.627 195.627-195.627-195.627 60.373-60.373 135.253 135.253zM512 184.747l-135.253 135.253-60.373-60.373 195.627-195.627 195.627 195.627-60.373 60.373-135.253-135.253z" />
689
- <glyph unicode="&#xe8a7;" d="M213.333 277.333c0-164.907 133.76-298.667 298.667-298.667s298.667 133.76 298.667 298.667v170.667h-597.333v-170.667zM688 773.547l89.6 89.6-35.2 35.2-98.347-98.347c-40.107 19.84-84.48 32-132.053 32s-91.947-12.16-132.053-32l-98.347 98.347-35.2-35.2 89.6-89.6c-74.027-54.187-122.667-141.227-122.667-240.213v-42.667h597.333v42.667c0 98.987-48.64 186.027-122.667 240.213zM384 576c-23.68 0-42.667 19.2-42.667 42.667s18.987 42.667 42.667 42.667c23.68 0 42.667-19.2 42.667-42.667s-18.987-42.667-42.667-42.667zM640 576c-23.68 0-42.667 19.2-42.667 42.667s18.987 42.667 42.667 42.667c23.68 0 42.667-19.2 42.667-42.667s-18.987-42.667-42.667-42.667z" />
690
- <glyph unicode="&#xe8a8;" d="M607.573 447.573l98.987-98.987c11.947 30.933 18.773 64.427 18.773 99.413 0 34.773-6.613 68.053-18.347 98.773l-99.413-99.2zM833.28 673.493l-53.973-53.973c26.667-51.413 42.027-109.653 42.027-171.733s-15.36-120.107-42.027-171.733l51.2-51.2c41.173 66.133 65.493 143.573 65.493 226.773 0 81.493-23.253 157.227-62.72 221.867zM670.080 631.253l-243.413 243.413h-42.667v-323.627l-195.627 195.627-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 195.627 195.627v-323.627h42.667l243.413 243.413-183.040 183.253 183.040 183.253zM469.333 711.253l80.213-80.213-80.213-80v160.213zM549.547 264.747l-80.213-80v160.427l80.213-80.427z" />
691
- <glyph unicode="&#xe8a9;" d="M853.333 277.333h85.333v85.333h-85.333v-85.333zM853.333 661.333v-213.333h85.333v213.333h-85.333zM426.667 789.333c-188.587 0-341.333-152.747-341.333-341.333s152.747-341.333 341.333-341.333 341.333 152.747 341.333 341.333-152.747 341.333-341.333 341.333zM426.667 362.667c-47.147 0-85.333 38.187-85.333 85.333s38.187 85.333 85.333 85.333 85.333-38.187 85.333-85.333-38.187-85.333-85.333-85.333z" />
692
- <glyph unicode="&#xe8aa;" d="M512 874.667c-234.667 0-426.667-192-426.667-426.667s192-426.667 426.667-426.667 426.667 192 426.667 426.667-192 426.667-426.667 426.667zM170.667 448c0 187.733 153.6 341.333 341.333 341.333 78.933 0 151.467-27.733 209.067-72.533l-477.867-477.867c-44.8 57.6-72.533 130.133-72.533 209.067zM512 106.667c-78.933 0-151.467 27.733-209.067 72.533l477.867 477.867c44.8-57.6 72.533-130.133 72.533-209.067 0-187.733-153.6-341.333-341.333-341.333z" />
693
- <glyph unicode="&#xe8ab;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333 0 78.933 27.093 151.253 71.893 209.067l478.507-478.507c-57.813-44.8-130.133-71.893-209.067-71.893zM781.44 238.933l-478.507 478.507c57.813 44.8 130.133 71.893 209.067 71.893 188.587 0 341.333-152.747 341.333-341.333 0-78.933-27.093-151.253-71.893-209.067z" />
694
- <glyph unicode="&#xe8ac;" d="M807.253 746.24c-8.747 25.173-32.64 43.093-60.587 43.093h-469.333c-27.947 0-51.84-17.92-60.587-43.093l-88.747-255.573v-341.333c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v42.667h512v-42.667c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v341.333l-88.747 255.573zM277.333 320c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM746.667 320c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM213.333 533.333l64 192h469.333l64-192h-597.333z" />
695
- <glyph unicode="&#xe8ad;" d="M705.28 488.107l-45.227 45.227-208.213-208.213-90.453 90.453-45.227-45.227 135.68-135.68 253.44 253.44zM810.667 832h-42.667v85.333h-85.333v-85.333h-341.333v85.333h-85.333v-85.333h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v469.333h597.333v-469.333z" />
696
- <glyph unicode="&#xe8ae;" d="M397.227 234.667l104.107 104.107 104.107-104.107 45.227 45.227-104.107 104.107 104.107 104.107-45.227 45.227-104.107-104.107-104.107 104.107-45.227-45.227 104.107-104.107-104.107-104.107 45.227-45.227zM810.667 832h-42.667v85.333h-85.333v-85.333h-341.333v85.333h-85.333v-85.333h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v469.333h597.333v-469.333z" />
697
- <glyph unicode="&#xe8af;" d="M725.333 533.333h-426.667v-85.333h426.667v85.333zM810.667 832h-42.667v85.333h-85.333v-85.333h-341.333v85.333h-85.333v-85.333h-42.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM810.667 149.333h-597.333v469.333h597.333v-469.333zM597.333 362.667h-298.667v-85.333h298.667v85.333z" />
698
- <glyph unicode="&#xe8b0;" d="M853.333 704h-341.333l-85.333 85.333h-256c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v426.667c0 47.147-38.187 85.333-85.333 85.333zM579.413 192l-152.747 89.387-152.747-89.387 40.32 173.653-134.827 116.693 177.707 15.36 69.547 163.627 69.333-163.627 177.707-15.36-134.827-116.693 40.533-173.653z" />
699
- <glyph unicode="&#xe8b1;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM213.333 362.667l149.333 192 106.667-128.213 149.333 192.213 192-256h-597.333z" />
700
- <glyph unicode="&#xe8b2;" d="M938.667 832h-640c-29.44 0-52.693-14.933-68.053-37.547l-230.613-346.24 230.613-346.24c15.36-22.613 41.387-37.973 70.827-37.973h637.227c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM384 384c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM597.333 384c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM810.667 384c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64z" />
701
- <glyph unicode="&#xe8b3;" d="M832 533.333c7.253 0 14.293-1.28 21.333-2.133v386.133l-810.667-810.667h554.667v128c0 37.76 16.427 71.893 42.667 95.36v11.307c0 105.813 86.187 192 192 192zM938.667 277.333v64c0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667v-64c-23.467 0-42.667-19.2-42.667-42.667v-170.667c0-23.467 19.2-42.667 42.667-42.667h213.333c23.467 0 42.667 19.2 42.667 42.667v170.667c0 23.467-19.2 42.667-42.667 42.667zM896 277.333h-128v64c0 35.413 28.587 64 64 64s64-28.587 64-64v-64z" />
702
- <glyph unicode="&#xe8b4;" d="M627.413 554.667l97.92 97.92v-161.92h21.333l121.813 121.813-91.733 91.52 91.52 91.52-121.6 121.813h-21.333v-161.92l-97.92 97.92-30.080-30.080 119.253-119.253-119.253-119.253 30.080-30.080zM768 835.627l40.107-40.107-40.107-40.107v80.213zM768 652.587l40.107-40.107-40.107-40.107v80.213zM853.333 298.667c-53.12 0-104.32 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.96 61.44-219.52 160.213-281.173 280.96l93.867 94.080c11.733 11.733 15.147 28.587 10.453 43.307-15.787 48-24.32 99.413-24.32 152.533 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.68 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667z" />
703
- <glyph unicode="&#xe8b5;" d="M768 490.667l213.333 213.333-213.333 213.333v-128h-170.667v-170.667h170.667v-128zM853.333 298.667c-53.12 0-104.32 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.96 61.44-219.52 160.213-281.173 280.96l93.867 94.080c11.733 11.733 15.147 28.587 10.453 43.307-15.787 48.213-24.32 99.413-24.32 152.533 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.68 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667z" />
704
- <glyph unicode="&#xe8b6;" d="M853.333 298.667c-53.12 0-104.32 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.96 61.44-219.52 160.213-281.173 280.96l93.867 94.080c11.733 11.733 15.147 28.587 10.453 43.307-15.787 48-24.32 99.413-24.32 152.533 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.68 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667zM810.667 448h85.333c0 212.053-171.947 384-384 384v-85.333c164.907 0 298.667-133.76 298.667-298.667zM640 448h85.333c0 117.76-95.573 213.333-213.333 213.333v-85.333c70.613 0 128-57.387 128-128z" />
705
- <glyph unicode="&#xe8b7;" d="M853.333 298.667c-53.12 0-104.533 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.96 61.44-219.52 160.213-281.173 280.96l93.867 94.080c11.733 11.733 15.147 28.587 10.453 43.307-15.787 48-24.32 99.413-24.32 152.533 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.467 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667zM853.333 789.333v21.333c0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667v-21.333c-23.68 0-42.667-19.2-42.667-42.667v-170.667c0-23.467 18.987-42.667 42.667-42.667h213.333c23.68 0 42.667 19.2 42.667 42.667v170.667c0 23.467-18.987 42.667-42.667 42.667zM819.2 789.333h-145.067v21.333c0 40.107 32.427 72.533 72.533 72.533s72.533-32.427 72.533-72.533v-21.333z" />
706
- <glyph unicode="&#xe8b8;" d="M277.333 725.333l234.667-234.667 298.667 298.667-42.667 42.667-256-256-192 192h149.333v64h-256v-256h64v149.333zM1011.413 248.747c-129.92 123.52-305.92 199.253-499.413 199.253s-369.493-75.733-499.413-199.253c-7.893-7.893-12.587-18.56-12.587-30.293s4.693-22.4 12.587-30.080l105.6-105.813c7.68-7.68 18.347-12.587 30.293-12.587 11.52 0 22.187 4.693 29.867 12.16 33.707 31.36 72.107 58.027 113.707 79.147 14.080 7.040 23.893 21.547 23.893 38.4v132.48c61.653 19.84 127.573 30.507 196.053 30.507s134.4-10.667 196.267-30.72v-132.48c0-16.853 9.813-31.36 23.893-38.4 41.6-20.907 80-47.573 113.707-79.147 7.68-7.467 18.133-12.16 29.867-12.16s22.4 4.693 30.293 12.587l105.6 105.813c7.68 7.68 12.587 18.347 12.587 30.080s-4.907 22.613-12.8 30.507z" />
707
- <glyph unicode="&#xe8b9;" d="M725.333 832h-85.333v-298.667h85.333v298.667zM853.333 298.667c-53.12 0-104.32 8.533-152.32 24.32-14.72 4.693-31.573 1.28-43.307-10.453l-93.867-94.080c-120.96 61.44-219.52 160.213-281.173 280.96l93.867 94.080c11.733 11.733 15.147 28.587 10.453 43.307-15.787 48-24.32 99.413-24.32 152.533 0 23.68-18.987 42.667-42.667 42.667h-149.333c-23.68 0-42.667-18.987-42.667-42.667 0-400.64 324.693-725.333 725.333-725.333 23.68 0 42.667 18.987 42.667 42.667v149.333c0 23.68-18.987 42.667-42.667 42.667zM810.667 832v-298.667h85.333v298.667h-85.333z" />
708
- <glyph unicode="&#xe8ba;" d="M853.333 704h-170.667v85.333l-85.333 85.333h-170.667l-85.333-85.333v-85.333h-170.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-469.333c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v469.333c0 47.147-38.187 85.333-85.333 85.333zM426.667 789.333h170.667v-85.333h-170.667v85.333zM512 149.333l-213.333 213.333h128v170.667h170.667v-170.667h128l-213.333-213.333z" />
709
- <glyph unicode="&#xe8bb;" d="M853.333 704h-170.667v85.333l-85.333 85.333h-170.667l-85.333-85.333v-85.333h-170.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-469.333c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v469.333c0 47.147-38.187 85.333-85.333 85.333zM426.667 789.333h170.667v-85.333h-170.667v85.333zM448 213.333l-149.333 149.333 60.373 60.373 88.96-88.96 220.8 220.8 60.373-60.373-281.173-281.173z" />
710
- <glyph unicode="&#xe8bc;" d="M768 874.667h-341.333l-255.147-256-0.853-512c0-46.933 38.4-85.333 85.333-85.333h512c46.933 0 85.333 38.4 85.333 85.333v682.667c0 46.933-38.4 85.333-85.333 85.333zM512 618.667h-85.333v170.667h85.333v-170.667zM640 618.667h-85.333v170.667h85.333v-170.667zM768 618.667h-85.333v170.667h85.333v-170.667z" />
711
- <glyph unicode="&#xe8bd;" d="M768 874.667h-341.333l-254.933-256-1.067-512c0-46.933 38.4-85.333 85.333-85.333h512c46.933 0 85.333 38.4 85.333 85.333v682.667c0 46.933-38.4 85.333-85.333 85.333zM554.667 234.667h-85.333v85.333h85.333v-85.333zM554.667 405.333h-85.333v213.333h85.333v-213.333z" />
712
- <glyph unicode="&#xe8be;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM384 490.667h-85.333v85.333h85.333v-85.333zM554.667 490.667h-85.333v85.333h85.333v-85.333zM725.333 490.667h-85.333v85.333h85.333v-85.333z" />
713
- <glyph unicode="&#xe8bf;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM554.667 362.667h-85.333v85.333h85.333v-85.333zM554.667 533.333h-85.333v170.667h85.333v-170.667z" />
714
- <glyph unicode="&#xe8c0;" d="M512 789.333v128l-170.667-170.667 170.667-170.667v128c141.44 0 256-114.56 256-256 0-43.307-10.88-83.84-29.653-119.68l62.293-62.293c33.067 52.907 52.693 114.987 52.693 181.973 0 188.587-152.747 341.333-341.333 341.333zM512 192c-141.44 0-256 114.56-256 256 0 43.307 10.88 83.84 29.653 119.68l-62.293 62.293c-33.067-52.907-52.693-114.987-52.693-181.973 0-188.587 152.747-341.333 341.333-341.333v-128l170.667 170.667-170.667 170.667v-128z" />
715
- <glyph unicode="&#xe8c1;" d="M426.667 689.067v89.173c-34.133-8.747-65.92-22.827-95.147-40.96l62.507-62.507c10.453 5.333 21.333 10.453 32.64 14.293zM122.24 729.173l100.48-100.48c-32.853-52.48-52.053-114.133-52.053-180.693 0-94.293 38.613-179.2 100.48-240.853l-100.48-100.48h256v256l-95.36-95.36c-46.507 46.293-75.307 110.080-75.307 180.693 0 42.667 10.667 82.773 29.227 118.187l344.96-344.96c-10.453-5.547-21.333-10.453-32.64-14.507v-88.96c34.133 8.747 65.92 22.827 95.147 40.96l100.693-100.693 54.4 54.4-671.36 671.147-54.187-54.4zM853.333 789.333h-256v-256l95.36 95.36c46.507-46.293 75.307-110.080 75.307-180.693 0-42.667-10.667-82.773-29.227-118.187l62.507-62.507c32.853 52.48 52.053 114.133 52.053 180.693 0 94.293-38.613 179.2-100.48 240.853l100.48 100.48z" />
716
- <glyph unicode="&#xe8c2;" d="M128 448c0-94.293 38.827-179.2 100.48-240.853l-100.48-100.48h256v256l-95.36-95.36c-46.507 46.293-75.307 110.080-75.307 180.693 0 111.36 71.253 205.867 170.667 241.067v89.173c-147.2-37.973-256-171.307-256-330.24zM469.333 234.667h85.333v85.333h-85.333v-85.333zM896 789.333h-256v-256l95.36 95.36c46.507-46.293 75.307-110.080 75.307-180.693 0-111.36-71.253-205.867-170.667-241.067v-88.96c147.2 37.76 256 171.093 256 330.027 0 94.293-38.827 179.2-100.48 240.853l100.48 100.48zM469.333 405.333h85.333v256h-85.333v-256z" />
717
- <glyph unicode="&#xe8c3;" d="M725.333 916.907l-426.667 0.427c-47.147 0-85.333-38.187-85.333-85.333v-768c0-47.147 38.187-85.333 85.333-85.333h426.667c47.147 0 85.333 38.187 85.333 85.333v768c0 47.147-38.187 84.907-85.333 84.907zM725.333 149.333h-426.667v597.333h426.667v-597.333zM682.667 405.333h-128v213.333h-85.333v-213.333h-128l170.667-170.667 170.667 170.667z" />
718
- <glyph unicode="&#xe8c4;" d="M85.333 277.333v-85.333c117.76 0 213.333-95.573 213.333-213.333h85.333c0 164.907-133.76 298.667-298.667 298.667zM85.333 106.667v-128h128c0 70.613-57.387 128-128 128zM85.333 448v-85.333c212.053 0 384-171.947 384-384h85.333c0 259.2-210.133 469.333-469.333 469.333zM725.333 916.907l-426.667 0.427c-47.147 0-85.333-38.187-85.333-85.333v-314.453c29.44-7.040 58.027-15.787 85.333-27.307v256.427h426.667v-554.667h-129.28c22.187-53.12 35.84-110.72 40.533-170.667h88.747c47.147 0 85.333 38.187 85.333 85.333v725.333c0 47.147-38.187 84.907-85.333 84.907z" />
719
- <glyph unicode="&#xe8c5;" d="M807.253 746.24c-8.747 25.173-32.64 43.093-60.587 43.093h-469.333c-27.947 0-51.84-17.92-60.587-43.093l-88.747-255.573v-341.333c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v42.667h512v-42.667c0-23.467 19.2-42.667 42.667-42.667h42.667c23.68 0 42.667 19.2 42.667 42.667v341.333l-88.747 255.573zM277.333 320c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM746.667 320c-35.413 0-64 28.587-64 64s28.587 64 64 64 64-28.587 64-64-28.587-64-64-64zM213.333 533.333l64 192h469.333l64-192h-597.333z" />
720
- <glyph unicode="&#xe8c6;" d="M0 320h85.333v256h-85.333v-256zM128 234.667h85.333v426.667h-85.333v-426.667zM938.667 576v-256h85.333v256h-85.333zM810.667 234.667h85.333v426.667h-85.333v-426.667zM704 832h-384c-35.413 0-64-28.587-64-64v-640c0-35.413 28.587-64 64-64h384c35.413 0 64 28.587 64 64v640c0 35.413-28.587 64-64 64zM682.667 149.333h-341.333v597.333h341.333v-597.333z" />
721
- <glyph unicode="&#xe8c7;" d="M853.333 874.667h-682.667c-47.147 0-84.907-38.187-84.907-85.333l-0.427-768 170.667 170.667h597.333c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM768 362.667l-170.667 136.533v-136.533h-341.333v341.333h341.333v-136.533l170.667 136.533v-341.333z" />
722
- <glyph unicode="&#xe8c8;" d="M938.667 789.333v21.333c0 58.88-47.787 106.667-106.667 106.667s-106.667-47.787-106.667-106.667v-21.333c-23.68 0-42.667-19.2-42.667-42.667v-170.667c0-23.467 18.987-42.667 42.667-42.667h213.333c23.68 0 42.667 19.2 42.667 42.667v170.667c0 23.467-18.987 42.667-42.667 42.667zM904.533 789.333h-145.067v21.333c0 40.107 32.427 72.533 72.533 72.533s72.533-32.427 72.533-72.533v-21.333zM807.467 448c1.707-14.080 3.2-28.16 3.2-42.667 0-88.747-34.133-169.387-89.813-230.187-10.88 34.56-42.88 59.52-80.853 59.52h-42.667v128c0 23.467-19.2 42.667-42.667 42.667h-256v85.333h85.333c23.467 0 42.667 19.2 42.667 42.667v85.333h85.333c47.147 0 85.333 38.187 85.333 85.333v108.373c-40.32 12.8-83.413 19.627-128 19.627-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667c0 14.507-0.853 28.587-2.133 42.667h-86.4zM426.667 66.987c-168.32 20.907-298.667 164.267-298.667 338.347 0 26.24 3.2 51.84 8.96 76.373l204.373-204.373v-42.667c0-47.147 38.187-85.333 85.333-85.333v-82.347z" />
723
- <glyph unicode="&#xe8c9;" d="M512 661.333c47.147 0 85.333 38.187 85.333 85.333 0 16-4.48 31.147-12.16 43.947l-73.173 126.72-73.173-126.72c-7.68-12.8-12.16-27.947-12.16-43.947 0-47.147 38.187-85.333 85.333-85.333zM896 64v170.667c0 47.147-38.187 85.333-85.333 85.333h-42.667v128c0 47.147-38.187 85.333-85.333 85.333h-128v85.333h-85.333v-85.333h-128c-47.147 0-85.333-38.187-85.333-85.333v-128h-42.667c-47.147 0-85.333-38.187-85.333-85.333v-170.667h-85.333v-85.333h938.667v85.333h-85.333z" />
724
- <glyph unicode="&#xe8ca;" d="M512 661.333v170.667h-426.667v-768h853.333v597.333h-426.667zM256 149.333h-85.333v85.333h85.333v-85.333zM256 320h-85.333v85.333h85.333v-85.333zM256 490.667h-85.333v85.333h85.333v-85.333zM256 661.333h-85.333v85.333h85.333v-85.333zM426.667 149.333h-85.333v85.333h85.333v-85.333zM426.667 320h-85.333v85.333h85.333v-85.333zM426.667 490.667h-85.333v85.333h85.333v-85.333zM426.667 661.333h-85.333v85.333h85.333v-85.333zM853.333 149.333h-341.333v85.333h85.333v85.333h-85.333v85.333h85.333v85.333h-85.333v85.333h341.333v-426.667zM768 490.667h-85.333v-85.333h85.333v85.333zM768 320h-85.333v-85.333h85.333v85.333z" />
725
- <glyph unicode="&#xe8cb;" d="M682.667 490.667c70.613 0 127.573 57.387 127.573 128s-56.96 128-127.573 128c-70.613 0-128-57.387-128-128s57.387-128 128-128zM341.333 490.667c70.613 0 127.573 57.387 127.573 128s-56.96 128-127.573 128c-70.613 0-128-57.387-128-128s57.387-128 128-128zM341.333 405.333c-99.627 0-298.667-49.92-298.667-149.333v-106.667h597.333v106.667c0 99.413-199.040 149.333-298.667 149.333zM682.667 405.333c-12.373 0-26.24-0.853-41.173-2.347 49.493-35.627 83.84-83.627 83.84-146.987v-106.667h256v106.667c0 99.413-199.040 149.333-298.667 149.333z" />
726
- <glyph unicode="&#xe8cc;" d="M341.333 533.333h-128v128h-85.333v-128h-128v-85.333h128v-128h85.333v128h128v85.333zM768 490.667c70.613 0 127.573 57.387 127.573 128s-56.96 128-127.573 128c-13.653 0-26.667-2.133-39.040-6.187 24.107-34.56 38.613-76.587 38.613-121.813s-14.507-87.253-38.613-121.813c12.373-4.053 25.387-6.187 39.040-6.187zM554.667 490.667c70.613 0 127.573 57.387 127.573 128s-56.96 128-127.573 128c-70.613 0-128-57.387-128-128s57.387-128 128-128zM837.12 398.507c35.413-30.933 58.88-70.827 58.88-121.173v-85.333h128v85.333c0 65.707-101.333 106.027-186.88 121.173zM554.667 405.333c-85.333 0-256-42.667-256-128v-85.333h512v85.333c0 85.333-170.667 128-256 128z" />
727
- <glyph unicode="&#xe8cd;" d="M640 490.667v256l-128 128-128-128v-85.333h-256v-597.333h768v426.667h-256zM298.667 149.333h-85.333v85.333h85.333v-85.333zM298.667 320h-85.333v85.333h85.333v-85.333zM298.667 490.667h-85.333v85.333h85.333v-85.333zM554.667 149.333h-85.333v85.333h85.333v-85.333zM554.667 320h-85.333v85.333h85.333v-85.333zM554.667 490.667h-85.333v85.333h85.333v-85.333zM554.667 661.333h-85.333v85.333h85.333v-85.333zM810.667 149.333h-85.333v85.333h85.333v-85.333zM810.667 320h-85.333v85.333h85.333v-85.333z" />
728
- <glyph unicode="&#xe8ce;" d="M511.787 874.667c-235.733 0-426.453-190.933-426.453-426.667s190.72-426.667 426.453-426.667c235.733 0 426.88 190.933 426.88 426.667s-191.147 426.667-426.88 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333zM661.333 490.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM362.667 490.667c35.413 0 64 28.587 64 64s-28.587 64-64 64-64-28.587-64-64 28.587-64 64-64zM512 213.333c99.413 0 183.68 62.080 217.813 149.333h-435.627c34.133-87.253 118.4-149.333 217.813-149.333z" />
729
- <glyph unicode="&#xe8cf;" d="M490.667 21.333c47.147 0 85.333 38.187 85.333 85.333h-170.667c0-47.147 38.187-85.333 85.333-85.333zM768 277.333v234.667c0 131.2-91.093 240.64-213.333 269.653v29.013c0 35.413-28.587 64-64 64s-64-28.587-64-64v-29.013c-122.24-29.013-213.333-138.453-213.333-269.653v-234.667l-85.333-85.333v-42.667h725.333v42.667l-85.333 85.333z" />
730
- <glyph unicode="&#xe8d0;" d="M490.667 21.333c47.147 0 85.333 38.187 85.333 85.333h-170.667c0-47.147 38.187-85.333 85.333-85.333zM768 277.333v234.667c0 131.2-91.093 240.64-213.333 269.653v29.013c0 35.413-28.587 64-64 64s-64-28.587-64-64v-29.013c-122.24-29.013-213.333-138.453-213.333-269.653v-234.667l-85.333-85.333v-42.667h725.333v42.667l-85.333 85.333zM682.667 234.667h-384v277.333c0 106.027 85.973 192 192 192s192-85.973 192-192v-277.333z" />
731
- <glyph unicode="&#xe8d1;" d="M490.667 21.333c47.147 0 85.333 38.187 85.333 85.333h-170.667c0-47.147 38.187-85.333 85.333-85.333zM768 512c0 131.2-91.093 240.64-213.333 269.653v29.013c0 35.413-28.587 64-64 64s-64-28.587-64-64v-29.013c-21.76-5.12-42.24-13.653-61.653-23.68l402.987-402.987v157.013zM756.48 149.333l85.333-85.333 54.187 54.4-713.6 713.6-54.4-54.4 124.587-124.587c-24.747-41.173-39.253-89.387-39.253-141.013v-234.667l-85.333-85.333v-42.667h628.48z" />
732
- <glyph unicode="&#xe8d2;" d="M280.747 807.253l-61.013 61.013c-102.187-77.867-169.6-198.187-176-334.933h85.333c6.613 113.067 64.853 212.053 151.68 273.92zM852.267 533.333h85.333c-6.4 136.747-73.813 257.067-176 334.933l-60.8-60.8c86.613-62.080 144.853-161.067 151.467-274.133zM768 512c0 131.2-91.093 240.64-213.333 269.653v29.013c0 35.413-28.587 64-64 64s-64-28.587-64-64v-29.013c-122.24-29.013-213.333-138.453-213.333-269.653v-234.667l-85.333-85.333v-42.667h725.333v42.667l-85.333 85.333v234.667zM490.667 21.333c5.973 0 11.733 0.64 17.28 1.707 27.733 5.76 50.56 24.96 61.44 50.347 4.267 10.24 6.613 21.333 6.613 33.28h-170.667c0-47.147 38.187-85.333 85.333-85.333z" />
733
- <glyph unicode="&#xe8d3;" d="M490.667 21.333c47.147 0 85.333 38.187 85.333 85.333h-170.667c0-47.147 38.187-85.333 85.333-85.333zM768 277.333v234.667c0 131.2-91.093 240.64-213.333 269.653v29.013c0 35.413-28.587 64-64 64s-64-28.587-64-64v-29.013c-122.24-29.013-213.333-138.453-213.333-269.653v-234.667l-85.333-85.333v-42.667h725.333v42.667l-85.333 85.333zM597.333 541.867l-119.467-145.067h119.467v-76.8h-213.333v76.8l119.467 145.067h-119.467v76.8h213.333v-76.8z" />
734
- <glyph unicode="&#xe8d4;" d="M128 746.667v-256h213.333l-42.667 170.667 170.667-42.667v213.333h-256c-47.147 0-85.333-38.187-85.333-85.333zM341.333 405.333h-213.333v-256c0-47.147 38.187-85.333 85.333-85.333h256v213.333l-170.667-42.667 42.667 170.667zM725.333 234.667l-170.667 42.667v-213.333h256c47.147 0 85.333 38.187 85.333 85.333v256h-213.333l42.667-170.667zM810.667 832h-256v-213.333l170.667 42.667-42.667-170.667h213.333v256c0 47.147-38.187 85.333-85.333 85.333z" />
735
- <glyph unicode="&#xe8d5;" d="M853.333 789.333h-135.253l-78.080 85.333h-256l-78.080-85.333h-135.253c-47.147 0-85.333-38.187-85.333-85.333v-512c0-47.147 38.187-85.333 85.333-85.333h682.667c47.147 0 85.333 38.187 85.333 85.333v512c0 47.147-38.187 85.333-85.333 85.333zM512 661.333c69.547 0 130.773-33.92 169.813-85.333h-169.813c-70.613 0-128-57.387-128-128 0-15.147 2.987-29.227 7.893-42.667h-88.96c-2.773 13.867-4.267 27.947-4.267 42.667 0 117.76 95.573 213.333 213.333 213.333zM512 234.667c-69.547 0-130.773 33.707-169.6 85.333h169.6c70.613 0 128 57.387 128 128 0 14.933-2.987 29.227-7.893 42.667h88.96c2.773-13.867 4.267-27.947 4.267-42.667 0-117.76-95.573-213.333-213.333-213.333z" />
736
- <glyph unicode="&#xe8d6;" d="M682.667 490.667c70.613 0 127.573 57.387 127.573 128s-56.96 128-127.573 128c-70.613 0-128-57.387-128-128s57.387-128 128-128zM341.333 490.667c70.613 0 127.573 57.387 127.573 128s-56.96 128-127.573 128c-70.613 0-128-57.387-128-128s57.387-128 128-128zM341.333 405.333c-99.627 0-298.667-49.92-298.667-149.333v-106.667h597.333v106.667c0 99.413-199.040 149.333-298.667 149.333zM682.667 405.333c-12.373 0-26.24-0.853-41.173-2.347 49.493-35.627 83.84-83.627 83.84-146.987v-106.667h256v106.667c0 99.413-199.040 149.333-298.667 149.333z" />
737
- <glyph unicode="&#xe8d7;" d="M704 405.333c-51.413 0-131.2-14.293-192-42.88-60.8 28.587-140.587 42.88-192 42.88-92.373 0-277.333-46.293-277.333-138.667v-117.333h938.667v117.333c0 92.373-184.96 138.667-277.333 138.667zM533.333 213.333h-426.667v53.333c0 22.827 109.227 74.667 213.333 74.667s213.333-51.84 213.333-74.667v-53.333zM917.333 213.333h-320v53.333c0 19.413-8.533 36.693-22.187 52.053 37.76 12.8 83.84 22.613 128.853 22.613 104.107 0 213.333-51.84 213.333-74.667v-53.333zM320 448c82.56 0 149.333 66.987 149.333 149.333s-66.773 149.333-149.333 149.333c-82.347 0-149.333-66.987-149.333-149.333s66.987-149.333 149.333-149.333zM320 682.667c47.147 0 85.333-38.187 85.333-85.333s-38.187-85.333-85.333-85.333-85.333 38.187-85.333 85.333 38.187 85.333 85.333 85.333zM704 448c82.56 0 149.333 66.987 149.333 149.333s-66.773 149.333-149.333 149.333c-82.347 0-149.333-66.987-149.333-149.333s66.987-149.333 149.333-149.333zM704 682.667c47.147 0 85.333-38.187 85.333-85.333s-38.187-85.333-85.333-85.333-85.333 38.187-85.333 85.333 38.187 85.333 85.333 85.333z" />
738
- <glyph unicode="&#xe8d8;" d="M512 448c94.293 0 170.667 76.587 170.667 170.667 0 94.293-76.373 170.667-170.667 170.667s-170.667-76.373-170.667-170.667c0-94.080 76.373-170.667 170.667-170.667zM512 362.667c-113.707 0-341.333-56.96-341.333-170.667v-85.333h682.667v85.333c0 113.707-227.627 170.667-341.333 170.667z" />
739
- <glyph unicode="&#xe8d9;" d="M640 448c94.293 0 170.667 76.587 170.667 170.667 0 94.293-76.373 170.667-170.667 170.667s-170.667-76.373-170.667-170.667c0-94.080 76.373-170.667 170.667-170.667zM256 533.333v128h-85.333v-128h-128v-85.333h128v-128h85.333v128h128v85.333h-128zM640 362.667c-113.707 0-341.333-56.96-341.333-170.667v-85.333h682.667v85.333c0 113.707-227.627 170.667-341.333 170.667z" />
740
- <glyph unicode="&#xe8da;" d="M512 708.267c49.493 0 89.6-40.107 89.6-89.6s-40.107-89.6-89.6-89.6-89.6 40.107-89.6 89.6 40.107 89.6 89.6 89.6zM512 324.267c126.933 0 260.267-62.080 260.267-89.6v-46.933h-520.533v46.933c0 27.52 133.333 89.6 260.267 89.6zM512 789.333c-94.293 0-170.667-76.373-170.667-170.667 0-94.080 76.373-170.667 170.667-170.667s170.667 76.587 170.667 170.667c0 94.293-76.373 170.667-170.667 170.667zM512 405.333c-113.707 0-341.333-56.96-341.333-170.667v-128h682.667v128c0 113.707-227.627 170.667-341.333 170.667z" />
741
- <glyph unicode="&#xe8db;" d="M426.667 618.667h-85.333v-170.667h-170.667v-85.333h170.667v-170.667h85.333v170.667h170.667v85.333h-170.667zM618.667 700.587v-77.653l106.667 21.333v-452.267h85.333v554.667z" />
742
- <glyph unicode="&#xe8dc;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM384 234.667h-85.333v298.667h85.333v-298.667zM554.667 234.667h-85.333v426.667h85.333v-426.667zM725.333 234.667h-85.333v170.667h85.333v-170.667z" />
743
- <glyph unicode="&#xe8dd;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM469.333 109.653c-168.32 20.907-298.667 164.267-298.667 338.347 0 26.24 3.2 51.84 8.96 76.373l204.373-204.373v-42.667c0-47.147 38.187-85.333 85.333-85.333v-82.347zM763.52 217.813c-10.88 34.56-42.88 59.52-80.853 59.52h-42.667v128c0 23.467-19.2 42.667-42.667 42.667h-256v85.333h85.333c23.467 0 42.667 19.2 42.667 42.667v85.333h85.333c47.147 0 85.333 38.187 85.333 85.333v17.707c125.013-50.56 213.333-173.013 213.333-316.373 0-88.747-34.133-169.387-89.813-230.187z" />
744
- <glyph unicode="&#xe8de;" d="M213.333 397.653v-170.667l298.667-162.987 298.667 162.987v170.667l-298.667-162.987-298.667 162.987zM512 832l-469.333-256 469.333-256 384 209.493v-294.827h85.333v341.333l-469.333 256z" />
745
- <glyph unicode="&#xe8df;" d="M768 273.707c-32.427 0-61.653-12.587-83.84-32.853l-304 177.28c2.347 9.6 3.84 19.627 3.84 29.867s-1.493 20.267-3.84 29.867l300.8 175.573c22.827-21.333 53.333-34.56 87.040-34.56 70.613 0 128 57.387 128 128s-57.387 128-128 128-128-57.387-128-128c0-10.24 1.493-20.267 3.84-29.867l-300.8-175.573c-22.827 21.333-53.333 34.56-87.040 34.56-70.613 0-128-57.387-128-128s57.387-128 128-128c33.707 0 64.213 13.227 87.040 34.56l304-177.28c-2.133-8.96-3.413-18.347-3.413-27.947 0-68.693 55.68-124.373 124.373-124.373s124.373 55.68 124.373 124.373-55.68 124.373-124.373 124.373z" />
746
- <glyph unicode="&#xe8e0;" d="M576 931.413s31.573-113.067 31.573-204.8c0-87.893-57.6-159.36-145.707-159.36s-154.667 71.253-154.667 159.36l1.067 15.36c-85.76-102.613-137.6-234.88-137.6-379.307 0-188.587 152.747-341.333 341.333-341.333s341.333 152.747 341.333 341.333c0 230.187-110.72 435.413-277.333 568.747zM499.627 149.333c-75.947 0-137.6 59.947-137.6 133.973 0 69.333 44.587 117.973 120.107 133.12s153.6 51.413 196.907 109.867c16.64-55.040 25.387-113.067 25.387-172.16 0-112.853-91.733-204.8-204.8-204.8z" />
747
- <glyph unicode="&#xe8e1;" d="M810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333zM426.667 234.667l-213.333 213.333 60.373 60.373 152.96-152.96 323.627 323.627 60.373-60.373-384-384z" />
748
- <glyph unicode="&#xe8e2;" d="M810.667 746.667v-597.333h-597.333v597.333h597.333zM810.667 832h-597.333c-47.147 0-85.333-38.187-85.333-85.333v-597.333c0-47.147 38.187-85.333 85.333-85.333h597.333c47.147 0 85.333 38.187 85.333 85.333v597.333c0 47.147-38.187 85.333-85.333 85.333z" />
749
- <glyph unicode="&#xe8e3;" d="M512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333z" />
750
- <glyph unicode="&#xe8e4;" d="M512 661.333c-117.76 0-213.333-95.573-213.333-213.333s95.573-213.333 213.333-213.333 213.333 95.573 213.333 213.333-95.573 213.333-213.333 213.333zM512 874.667c-235.733 0-426.667-190.933-426.667-426.667s190.933-426.667 426.667-426.667 426.667 190.933 426.667 426.667-190.933 426.667-426.667 426.667zM512 106.667c-188.587 0-341.333 152.747-341.333 341.333s152.747 341.333 341.333 341.333 341.333-152.747 341.333-341.333-152.747-341.333-341.333-341.333z" />
751
- </font></defs></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/font/material-design-icons/Material-Design-Icons.ttf DELETED
Binary file
admin/font/material-design-icons/Material-Design-Icons.woff DELETED
Binary file
admin/font/roboto/Roboto-Bold.ttf DELETED
Binary file
admin/font/roboto/Roboto-Light.ttf DELETED
Binary file
admin/font/roboto/Roboto-Medium.ttf DELETED
Binary file
admin/font/roboto/Roboto-Regular.ttf DELETED
Binary file
admin/font/roboto/Roboto-Thin.ttf DELETED
Binary file
admin/header.php CHANGED
@@ -1,4 +1,4 @@
1
  <header id="top" class="cyan darken-1">
2
- <h1 class="header center-on-small-only">Final Tiles Grid Gallery Lite<small><?php print FTGLITEVERSION ?></small></h1>
3
  <h4 class="light cyan-text text-lighten-4 center-on-small-only"><?php print $ftg_subtitle ?></h4>
4
  </header>
1
  <header id="top" class="cyan darken-1">
2
+ <h1 class="header center-on-small-only">Final Tiles Grid Gallery Lite <small><?php print FTGLITEVERSION ?></small></h1>
3
  <h4 class="light cyan-text text-lighten-4 center-on-small-only"><?php print $ftg_subtitle ?></h4>
4
  </header>
admin/images/square.gif ADDED
Binary file
admin/include/edit-gallery.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
-
3
  function ftg_p($gallery, $field, $default = NULL)
4
  {
5
  global $ftg_options;
@@ -50,10 +50,12 @@ function ftg_sel($gallery, $field, $value, $type="selected")
50
  global $ftg_parent_page;
51
  global $ftg_fields;
52
 
 
 
53
  //print_r($gallery);
54
 
55
  $idx = 0;
56
- $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'deep-orange');
57
  ?>
58
 
59
  <?php
@@ -78,7 +80,7 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
78
  <?php foreach($ftg_fields as $section => $s) : ?>
79
  <li id="<?php _e(FinalTiles_GalleryLite::slugify($section)) ?>">
80
  <div class="collapsible-header white-text <?php print $colors[$idx] ?> darken-2">
81
- <i class="<?php _e($s["icon"]) ?>"></i> <?php _e($section) ?>
82
  </div>
83
  <div class="collapsible-body <?php print $colors[$idx] ?> lighten-5 tab form-fields">
84
  <div class="jump-head">
@@ -121,7 +123,6 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
121
  </th>
122
  <td>
123
  <div class="field">
124
-
125
  <?php if($data["type"] == "text") : ?>
126
  <div class="text">
127
  <input type="text" size="30" name="ftg_<?php print $f ?>" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" />
@@ -135,11 +136,24 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
135
 
136
  <?php $v = explode("|", $option); ?>
137
 
138
- <option <?php ftg_sel($gallery, $f, $v[0]) ?> value="<?php print $v[0] ?>"><?php print $v[1] ?></option>
139
  <?php endforeach ?>
140
  </optgroup>
141
  <?php endforeach ?>
142
  </select>
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  </div>
144
  <?php elseif($data["type"] == "toggle") : ?>
145
  <div class="text">
@@ -153,31 +167,28 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
153
  <p class="range-field">
154
  <input name="ftg_<?php print $f ?>" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" type="range" min="<?php print $data["min"] ?>" max="<?php print $data["max"] ?>" />
155
  </p>
156
- </div>
157
-
158
-
159
- <?php elseif($data["type"] == "color") : ?>
160
- <div class="text">
161
- <input type="text" size="6" data-default-color="<?php print $data["default"] ?>" name="ftg_<?php print $f ?>" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" class='pickColor' /> </div>
162
-
163
  <?php elseif($data["type"] == "number") : ?>
164
  <div class="text">
165
  <input type="text" name="ftg_<?php print $f ?>" class="integer-only" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" >
166
  </div>
 
 
 
 
 
167
  <?php elseif($data["type"] == "PRO_FEATURE") : ?>
168
 
169
  <div class="pro-cell">
170
- <a href="http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351" target="_blank">Unlock this feature with a PRO license</a>
 
 
171
  </div>
172
-
173
  <?php elseif($data["type"] == "textarea") : ?>
174
  <div class="text">
175
  <textarea name="ftg_<?php print $f ?>"><?php ftg_p($gallery, $f) ?></textarea>
176
- </div>
177
- <?php elseif($data["type"] == "custom_isf") : ?>
178
- <div class="pro-cell">
179
- <a href="http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351" target="_blank"><i class="fa fa-graduation-cap"></i> Unlock this feature with a PRO license</a>
180
- </div>
181
  <?php endif ?>
182
  <div class="help">
183
  <?php _e($data["description"]); ?>
@@ -209,6 +220,28 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
209
  <input class="with-gap" disabled type="radio" name="ftg_source" value="woocommerce" id="source3" />
210
  <label for="source3"><?php _e('WooCommerce products','final-tiles-gallery')?> <?php _e(PRO_CALL) ?></label>
211
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  <div class="actions source-images source-panel">
213
  <div class="row">
214
  <div class="tips">
@@ -228,44 +261,56 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
228
  </select>
229
  <p class="tips"><?php _e('Want to add more images sizes?','final-tiles-gallery')?> <a href="http://www.wpbeginner.com/wp-tutorials/how-to-create-additional-image-sizes-in-wordpress/" target="_blank"><?php _e('Read a simple tutorial.','final-tiles-gallery')?></a></p>
230
  <div class="tips">
231
- <strong><?php _e('About choosing a proper image size:','final-tiles-gallery')?></strong> <?php _e("Final Tiles Gallery doesn't scale down the images when there's enough space, it gives you the freedom to choose your favourite size for each image. So you should use images that are smaller than the container, choose the",'final-tiles-gallery')?> <strong> <?php _e('thumbnail','final-tiles-gallery')?></strong> <?php _e('or','final-tiles-gallery')?> <strong><?php _e('medium','final-tiles-gallery')?></strong> <?php _e('size, for example.','final-tiles-gallery')?><br>
232
  <br>
233
  <?php _e('How to get a better grid? Watch the','final-tiles-gallery')?> <a href="https://www.youtube.com/watch?v=RNT4JGjtyrs" target="_blank"><?php _e('video tutorial','final-tiles-gallery')?></a>.
234
  </div>
235
  </div>
236
  <div class="row">
237
- <a href="#" class="open-media-panel waves-effect waves-light btn action"> <?php _e('Add images','final-tiles-gallery')?></a>
238
- <a onclick="alert('Video are available with PRO version')" class="waves-effect waves-light btn action grey lighten-1"> Add video</a>
239
  </div>
240
  <div class="row">
241
- <p class="tips"><?php _e('For multiple selections: Click+CTRL.','final-tiles-gallery')?>
242
- <?php _e('Drag images to change order.','final-tiles-gallery')?></p>
243
  </div>
244
- </div>
245
  </div>
246
  <div class="actions">
247
  <div class="bulk row">
248
  <label><?php _e('Bulk Actions','final-tiles-gallery')?></label>
249
  <div class="options">
250
- <a class="btn blue darken-4 waves-effect waves-light" href="#" data-action="select"><?php _e('Select all','final-tiles-gallery')?></a>
251
- <a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="deselect"><?php _e('Deselect all','final-tiles-gallery')?></a>
252
- <a class="btn lime darken-2 waves-effect waves-light" href="#" data-action="toggle"><?php _e('Toggle selection','final-tiles-gallery')?></a>
253
- <a class="btn grey lighten-1 waves-effect waves-light" onclick="alert('Filters are available with PRO version')" data-action="filter"><?php _e('Assign filters','final-tiles-gallery')?></a>
254
- <a class="btn deep-orange darken-1 waves-effect waves-light" href="#" data-action="remove"> <?php _e('Remove','final-tiles-gallery')?></a>
 
 
 
 
 
 
 
 
255
  </div>
256
 
257
  <div class="row">
258
- <b class="listview"><?php _e('List View:','final-tiles-gallery')?> </b>
259
  <ul class="list-view-control">
260
- <li data-size="big" id="listview-big" class="li"> <?php _e('Big','final-tiles-gallery')?> </li>
261
- <li data-size="medium" id="listview-medium" class="li" > <?php _e('Medium','final-tiles-gallery')?> </li>
262
  <li data-size="small" id="listview-small" class="li"> <?php _e('Small','final-tiles-gallery')?> </li>
 
 
263
  </ul>
264
- </div>
265
 
266
  <div class="panel">
267
  <strong></strong>
268
  <p class="text"></p>
 
 
 
 
269
  <p class="buttons">
270
  <a class="btn orange cancel" href="#"><?php _e('Cancel','final-tiles-gallery')?></a>
271
  <a class="btn green proceed" href="#"><?php _e('Proceed','final-tiles-gallery')?></a>
@@ -273,6 +318,19 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
273
  </div>
274
  </div>
275
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
276
  <div id="image-list" class="row"></div>
277
  </div>
278
  </li>
@@ -287,13 +345,12 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
287
  <ul>
288
  <?php $idx = 0; ?>
289
  <?php foreach($ftg_fields as $section => $s) : ?>
290
- <li><a class="btn-floating <?php _e($colors[$idx++]) ?>" rel="<?php _e(FinalTiles_GalleryLite::slugify($section)) ?>"><i class="large <?php _e($s["icon"]) ?>"></i></a></li>
291
  <?php endforeach ?>
292
- <li><a class="btn-floating <?php _e($colors[$idx++]) ?>" rel="images"><i class="mdi mdi-image-filter"></i></a></li>
293
  </ul>
294
  </div>
295
 
296
-
297
  <!-- image panel -->
298
  <div id="image-panel-model" class="modal">
299
  <div class="modal-content cf">
@@ -303,6 +360,12 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
303
  <div class="field sizes"></div>
304
  </div>
305
  <div class="right-side">
 
 
 
 
 
 
306
  <div class="field">
307
  <label><?php _e('Caption','final-tiles-gallery')?></label>
308
  <div class="text">
@@ -310,25 +373,33 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
310
  </div>
311
  </div>
312
  <div class="field">
 
 
 
 
 
 
313
  <label><?php _e('Link','final-tiles-gallery')?></label>
314
  <div class="text dark">
315
  <input type="text" size="20" value="" name="link" />
316
  </div>
 
 
317
  <label><?php _e('Link target','final-tiles-gallery')?></label>
318
  <div class="text">
319
  <select name="target" class="browser-default">
320
  <option value="default"><?php _e('Default target','final-tiles-gallery')?></option>
321
  <option value="_self"><?php _e('Open in same page','final-tiles-gallery')?></option>
322
  <option value="_blank"><?php _e('Open in _blank','final-tiles-gallery')?></option>
 
323
  </select>
324
  </div>
325
  </div>
326
- <div class="field filters clearfix"></div>
327
  </div>
328
  </div>
329
  <div class="field buttons modal-footer">
330
  <a href="#" data-action="save" class="action modal-action modal-close waves-effect waves-green btn-flat"><i class="fa fa-save"></i> <?php _e('Save','final-tiles-gallery')?></a>
331
- <a href="#" data-action="cancel" class="action modal-action modal-close waves-effect waves-yellow btn-flat"><i class="mdi-content-reply"></i><?php _e('Cancel','final-tiles-gallery')?></a>
332
  </div>
333
  </div>
334
 
@@ -360,5 +431,6 @@ $colors = array('indigo', 'blue', 'cyan', 'teal', 'purple' , 'green', 'lime', 'd
360
  alert("Cannot set this effect if 'Caption full height' is switched off.");
361
  }
362
  });
 
363
  })(jQuery);
364
  </script>
1
  <?php
2
+
3
  function ftg_p($gallery, $field, $default = NULL)
4
  {
5
  global $ftg_options;
50
  global $ftg_parent_page;
51
  global $ftg_fields;
52
 
53
+ $filters = explode('|', $gallery->filters);
54
+
55
  //print_r($gallery);
56
 
57
  $idx = 0;
58
+ $colors = array('indigo', 'blue', 'cyan', 'teal' ,'green', 'lime', 'amber', 'deep-orange');
59
  ?>
60
 
61
  <?php
80
  <?php foreach($ftg_fields as $section => $s) : ?>
81
  <li id="<?php _e(FinalTiles_GalleryLite::slugify($section)) ?>">
82
  <div class="collapsible-header white-text <?php print $colors[$idx] ?> darken-2">
83
+ <i class="mdi <?php _e($s["icon"]) ?>"></i> <?php _e($section) ?>
84
  </div>
85
  <div class="collapsible-body <?php print $colors[$idx] ?> lighten-5 tab form-fields">
86
  <div class="jump-head">
123
  </th>
124
  <td>
125
  <div class="field">
 
126
  <?php if($data["type"] == "text") : ?>
127
  <div class="text">
128
  <input type="text" size="30" name="ftg_<?php print $f ?>" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" />
136
 
137
  <?php $v = explode("|", $option); ?>
138
 
139
+ <option <?php ftg_sel($gallery, $f, $v[0]) ?> value="<?php print $v[0] ?>"><?php print $v[1] ?></option>
140
  <?php endforeach ?>
141
  </optgroup>
142
  <?php endforeach ?>
143
  </select>
144
+ <?php if($f == "lightbox") : ?>
145
+ <div class="col s12 ftg-everlightbox-settings">
146
+ <?php if(class_exists('Everlightbox_Public')) : ?>
147
+ <div class="card-panel light-green lighten-4">
148
+ <a href="?page=everlightbox_options" target="_blank">EverlightBox settings</a>
149
+ </div>
150
+ <?php else : ?>
151
+ <div class="card-panel yellow lighten-3">
152
+ EverlightBox not installed. <a target="_blank" href="plugin-install.php?s=everlightbox&tab=search&type=term">Install</a>
153
+ </div>
154
+ <?php endif ?>
155
+ <div class="col s12">
156
+ <?php endif ?>
157
  </div>
158
  <?php elseif($data["type"] == "toggle") : ?>
159
  <div class="text">
167
  <p class="range-field">
168
  <input name="ftg_<?php print $f ?>" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" type="range" min="<?php print $data["min"] ?>" max="<?php print $data["max"] ?>" />
169
  </p>
170
+ </div>
171
+
 
 
 
 
 
172
  <?php elseif($data["type"] == "number") : ?>
173
  <div class="text">
174
  <input type="text" name="ftg_<?php print $f ?>" class="integer-only" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" >
175
  </div>
176
+
177
+ <?php elseif($data["type"] == "color") : ?>
178
+ <div class="text">
179
+ <input type="text" size="6" data-default-color="<?php print $data["default"] ?>" name="ftg_<?php print $f ?>" value="<?php ftg_p($gallery, $f, $data["default"]) ?>" class='pickColor' /> </div>
180
+
181
  <?php elseif($data["type"] == "PRO_FEATURE") : ?>
182
 
183
  <div class="pro-cell">
184
+ <a href="http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351" target="_blank">
185
+ <i class="fa fa-graduation-cap"></i>
186
+ Unlock this feature with a PRO license</a>
187
  </div>
 
188
  <?php elseif($data["type"] == "textarea") : ?>
189
  <div class="text">
190
  <textarea name="ftg_<?php print $f ?>"><?php ftg_p($gallery, $f) ?></textarea>
191
+ </div>
 
 
 
 
192
  <?php endif ?>
193
  <div class="help">
194
  <?php _e($data["description"]); ?>
220
  <input class="with-gap" disabled type="radio" name="ftg_source" value="woocommerce" id="source3" />
221
  <label for="source3"><?php _e('WooCommerce products','final-tiles-gallery')?> <?php _e(PRO_CALL) ?></label>
222
  </div>
223
+ <div class="actions">
224
+ <div class="row">
225
+ <label>Loading method</label>
226
+ <select name="ftg_loadMethod" class="browser-default">
227
+ <option <?php ftg_sel($gallery, "loadMethod", "sequential") ?> value="sequential">Sequential</option>
228
+ <option <?php ftg_sel($gallery, "loadMethod", "lazy") ?> value="lazy">Lazy</option>
229
+ </select>
230
+ </div>
231
+ </div>
232
+ <div class="actions">
233
+ <div class="row">
234
+ <label>Ajax loading</label>
235
+ <select name="ftg_ajaxLoading" class="browser-default js-ajax-loading-control">
236
+ <option <?php ftg_sel($gallery, "ajaxLoading", "F") ?> value="F">Complete markup on page</option>
237
+ <option <?php ftg_sel($gallery, "ajaxLoading", "T") ?> value="T">Enable ajax loading (still in beta!)</option>
238
+ </select>
239
+ </div>
240
+ <div class="row js-ajax-loading" style="display:none;">
241
+ <label>Number of images to load via ajax</label>
242
+ <input class="browser-default" type="text" value="<?php echo $gallery->tilesPerPage ?>" name="ftg_tilesPerPage">
243
+ </div>
244
+ </div>
245
  <div class="actions source-images source-panel">
246
  <div class="row">
247
  <div class="tips">
261
  </select>
262
  <p class="tips"><?php _e('Want to add more images sizes?','final-tiles-gallery')?> <a href="http://www.wpbeginner.com/wp-tutorials/how-to-create-additional-image-sizes-in-wordpress/" target="_blank"><?php _e('Read a simple tutorial.','final-tiles-gallery')?></a></p>
263
  <div class="tips">
264
+ <strong><?php _e('About choosing a proper image size:','final-tiles-gallery')?></strong> <?php _e("Final Tiles Gallery doesn't scale down the images when there's enough space, it gives you the freedom to choose your favourite size for each image. So you should use images that are smaller than the container, choose the",'final-tiles-gallery')?> <strong><?php _e('thumbnail','final-tiles-gallery')?></strong> <?php _e('or','final-tiles-gallery')?> <strong><?php _e('medium','final-tiles-gallery')?></strong> <?php _e('size, for example.','final-tiles-gallery')?><br>
265
  <br>
266
  <?php _e('How to get a better grid? Watch the','final-tiles-gallery')?> <a href="https://www.youtube.com/watch?v=RNT4JGjtyrs" target="_blank"><?php _e('video tutorial','final-tiles-gallery')?></a>.
267
  </div>
268
  </div>
269
  <div class="row">
270
+ <a href="#" class="open-media-panel waves-effect waves-light btn action"><i class="mdi mdi-image-area"></i> <?php _e('Add images','final-tiles-gallery')?></a>
271
+ <a onclick="alert('Video are available with PRO version')" class="waves-effect waves-light btn action grey lighten-1"><i class="mdi mdi-video"></i> Add video</a>
272
  </div>
273
  <div class="row">
274
+ <p class="tips"><?php _e('For multiple selections: Click+CTRL.
275
+ Drag images to change order.','final-tiles-gallery')?></p>
276
  </div>
277
+ </div>
278
  </div>
279
  <div class="actions">
280
  <div class="bulk row">
281
  <label><?php _e('Bulk Actions','final-tiles-gallery')?></label>
282
  <div class="options">
283
+ <span class="indigo lighten-4">
284
+ <a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="select"><?php _e('Select all','final-tiles-gallery')?></a>
285
+ <a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="deselect"><?php _e('Deselect all','final-tiles-gallery')?></a>
286
+ <a class="btn indigo darken-4 waves-effect waves-light" href="#" data-action="toggle"><?php _e('Toggle selection','final-tiles-gallery')?></a>
287
+ </span>
288
+ <span class="green lighten-4">
289
+ <a class="btn green darken-2 waves-effect waves-light" href="#" onclick="alert('Filters are available with PRO version')"><?php _e('Assign filters','final-tiles-gallery')?></a>
290
+ <a class="btn green darken-2 waves-effect waves-light" href="#" onclick="alert('Groups are available with PRO version')"><?php _e('Assign group','final-tiles-gallery')?></a>
291
+ </span>
292
+ <span class="orange lighten-4">
293
+ <a class="btn lime darken-3 waves-effect waves-light" href="#" data-action="show-hide"><?php _e('Toggle visibility','final-tiles-gallery')?></a>
294
+ <a class="btn deep-orange darken-1 waves-effect waves-light" href="#" data-action="remove"><?php _e('Remove','final-tiles-gallery')?></a>
295
+ </span>
296
  </div>
297
 
298
  <div class="row">
299
+ <b class="listview"> <?php _e('List View:','final-tiles-gallery')?> </b>
300
  <ul class="list-view-control">
 
 
301
  <li data-size="small" id="listview-small" class="li"> <?php _e('Small','final-tiles-gallery')?> </li>
302
+ <li data-size="medium" id="listview-medium" class="li" > <?php _e('Medium','final-tiles-gallery','final-tiles-gallery')?> </li>
303
+ <li data-size="big" id="listview-big" class="li"> <?php _e('Big','final-tiles-gallery')?> </li>
304
  </ul>
305
+ </div>
306
 
307
  <div class="panel">
308
  <strong></strong>
309
  <p class="text"></p>
310
+ <p class="input">
311
+ <input type="text" placeholder="<?php _e('Group name','final-tiles-gallery')?>">
312
+ <span><?php _e('avoid space and special characters','final-tiles-gallery')?></span>
313
+ </p>
314
  <p class="buttons">
315
  <a class="btn orange cancel" href="#"><?php _e('Cancel','final-tiles-gallery')?></a>
316
  <a class="btn green proceed" href="#"><?php _e('Proceed','final-tiles-gallery')?></a>
318
  </div>
319
  </div>
320
  </div>
321
+
322
+ <?php if(is_array($filters) && count($filters) > 1): ?>
323
+ <div class="row filter-list">
324
+ <b class="listview"> <?php _e('Filters:','final-tiles-gallery')?> </b>
325
+ <ul class="filter-select-control">
326
+ <?php foreach($filters as $filter): ?>
327
+ <li class='filter-item' >
328
+ <?php print $filter; ?>
329
+ </li>
330
+ <?php endforeach; ?>
331
+ </ul>
332
+ </div>
333
+ <?php endif; ?>
334
  <div id="image-list" class="row"></div>
335
  </div>
336
  </li>
345
  <ul>
346
  <?php $idx = 0; ?>
347
  <?php foreach($ftg_fields as $section => $s) : ?>
348
+ <li><a class="btn-floating <?php _e($colors[$idx++]) ?>" rel="<?php _e(FinalTiles_GalleryLite::slugify($section)) ?>"><i class="large mdi <?php _e($s["icon"]) ?>"></i></a></li>
349
  <?php endforeach ?>
350
+ <li><a class="btn-floating <?php _e($colors[$idx++]) ?>" rel="images"><i class="large mdi mdi-image-filter"></i></a></li>
351
  </ul>
352
  </div>
353
 
 
354
  <!-- image panel -->
355
  <div id="image-panel-model" class="modal">
356
  <div class="modal-content cf">
360
  <div class="field sizes"></div>
361
  </div>
362
  <div class="right-side">
363
+ <div class="field">
364
+ <label><?php _e('Title','final-tiles-gallery')?></label>
365
+ <div class="text">
366
+ <textarea name="imageTitle"></textarea>
367
+ </div>
368
+ </div>
369
  <div class="field">
370
  <label><?php _e('Caption','final-tiles-gallery')?></label>
371
  <div class="text">
373
  </div>
374
  </div>
375
  <div class="field">
376
+ <input id="hidden-image" type="checkbox" name="hidden" value="T" />
377
+ <label for="hidden-image">
378
+ <?php _e('Hidden, visible only with lightbox','final-tiles-gallery')?>
379
+ </label>
380
+ </div>
381
+ <div class="field js-no-hidden">
382
  <label><?php _e('Link','final-tiles-gallery')?></label>
383
  <div class="text dark">
384
  <input type="text" size="20" value="" name="link" />
385
  </div>
386
+ </div>
387
+ <div class="field js-no-hidden">
388
  <label><?php _e('Link target','final-tiles-gallery')?></label>
389
  <div class="text">
390
  <select name="target" class="browser-default">
391
  <option value="default"><?php _e('Default target','final-tiles-gallery')?></option>
392
  <option value="_self"><?php _e('Open in same page','final-tiles-gallery')?></option>
393
  <option value="_blank"><?php _e('Open in _blank','final-tiles-gallery')?></option>
394
+ <option value="_lightbox"><?php _e('Open in lightbox (when using a lightbox)','final-tiles-gallery')?></option>
395
  </select>
396
  </div>
397
  </div>
 
398
  </div>
399
  </div>
400
  <div class="field buttons modal-footer">
401
  <a href="#" data-action="save" class="action modal-action modal-close waves-effect waves-green btn-flat"><i class="fa fa-save"></i> <?php _e('Save','final-tiles-gallery')?></a>
402
+ <a href="#" data-action="cancel" class="action modal-action modal-close waves-effect waves-yellow btn-flat"><i class="mdi-content-reply"></i> <?php _e('Cancel','final-tiles-gallery')?></a>
403
  </div>
404
  </div>
405
 
431
  alert("Cannot set this effect if 'Caption full height' is switched off.");
432
  }
433
  });
434
+
435
  })(jQuery);
436
  </script>
admin/include/image-list.php CHANGED
@@ -1,89 +1,104 @@
1
  <?php
2
- $default_options = get_option('FinalTiles_gallery_options');
3
- $defSize = isset($default_options[1]['imageSize']) ? $default_options[1]['imageSize'] : "medium";
4
 
5
- function get_image_size_links($id) {
6
- $result = array();
7
- $sizes = get_intermediate_image_sizes();
8
- $sizes[] = 'full';
9
 
10
- foreach ( $sizes as $size )
11
- {
12
- $image = wp_get_attachment_image_src( $id, $size );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- if ( !empty( $image ) && ( true == $image[3] || 'full' == $size ) )
15
- $result["$image[1]x$image[2]"] = $image[0];
16
- }
17
- ksort($result);
18
- return $result;
19
- }
20
- ?>
21
-
22
- <?php foreach($imageResults as $image) {
23
- $sizes = get_image_size_links($image->imageId);
24
- $thumb = "";
25
- if($image->type == 'image')
26
- $thumb = array_key_exists("150x150", $sizes) ? $sizes["150x150"] : $image->imagePath;
27
- else
28
- $thumb = plugins_url('../images/video.jpg', __FILE__);
29
- ?>
30
- <div class="col <?php print $list_size ." ". $column_size ?>">
31
- <div class='item card' data-type='<?php _e($image->type) ?>' data-image-id="<?php _e($image->imageId) ?>" data-id="<?php _e($image->Id) ?>">
32
- <div class="figure card-image">
33
- <?php if($image->type == 'image') : ?>
34
- <img class="thumb" src="<?php _e($thumb) ?>" />
35
- <?php else : ?>
36
- <div class="aspect-ratio">
37
- <?php print $image->imagePath ?>
38
- </div>
39
- <?php endif ?>
40
-
41
- <?php if(in_array($image->imagePath, $sizes)) : ?>
42
 
43
- <span class='card-title'><?php print array_search($image->imagePath, $sizes) ?></span>
44
- <?php endif ?>
45
- </div>
46
- <div class="card-content">
47
- <p class="truncate">
48
 
49
- <?php _e(htmlentities($image->description)) ?>
50
- </p>
51
-
52
- <input class="copy" type="hidden" name="id" value="<?php _e($image->Id); ?>" />
53
- <input class="copy" type="hidden" name="type" value="<?php _e($image->type); ?>" />
54
- <input class="copy" type="hidden" name="img_id" value="<?php _e($image->imageId); ?>" />
55
- <input class="copy" type="hidden" name="sortOrder" value="<?php _e($image->sortOrder); ?>" />
56
- <input class="copy" type="hidden" name="filters" value="<?php _e($image->filters); ?>" />
57
- <input class="copy" type="hidden" name="post_id" value="<?php _e($image->postId) ?>" />
58
- <select name="img_url" class="select hidden">
59
- <?php foreach($sizes as $k => $v) : ?>
60
- <option <?php print $v == $image->imagePath ? "selected" : "" ?> value="<?php print $v ?>"><?php print $k ?></option>
61
- <?php endforeach ?>
62
- </select>
63
- <input type="hidden" name="target" value="<?php _e($image->target) ?>" />
64
- <input type="hidden" name="zoom" value="<?php _e($image->zoom) ?>" />
65
- <input type="hidden" name="link" value="<?php _e($image->link) ?>" />
66
- <input type="hidden" name="blank" value="<?php _e($image->blank) ?>" />
67
- <input type="hidden" name="sortOrder" value="<?php _e($image->sortOrder) ?>" />
68
- <pre class="hidden description"><?php _e($image->description) ?></pre>
69
- <pre class="hidden imagepath"><?php _e(htmlentities($image->imagePath)) ?></pre>
70
- </div>
71
 
72
- <div class="card-action">
73
- <a href="#image-panel-model" class="edit modal-trigger">
74
- <i class="mdi mdi-pencil"> </i>
75
- <span>Edit</span>
76
- </a>
77
 
78
- <?php if($image->source == "gallery") : ?>
79
- <a href="#" class="remove">
80
- <span> Remove </span>
81
- <i class="mdi mdi-delete"> </i>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
 
83
- </a>
84
- <?php endif ?>
 
 
85
 
86
- </div>
87
- </div>
 
 
 
 
88
  </div>
89
- <?php } ?>
 
 
1
  <?php
 
 
2
 
3
+ if(isset($gallery))
4
+ {
5
+ $active_filters = explode('|', $gallery->filters);
6
+ }
7
 
8
+ ?>
9
+ <?php foreach($imageResults as $image) {
10
+ $sizes = FinalTiles_GalleryLite::get_image_size_links($image->imageId);
11
+ $thumb = "";
12
+ if($image->type == 'image')
13
+ $thumb = array_key_exists("150x150", $sizes) ? $sizes["150x150"] : $image->imagePath;
14
+ else
15
+ $thumb = plugins_url('../images/video.jpg', __FILE__);
16
+ ?>
17
+ <div class="col <?php echo $list_size ." ". $column_size ?>">
18
+ <div class='item card hidden-<?php echo $image->hidden ?>' data-type='<?php _e($image->type) ?>' data-image-id="<?php _e($image->imageId) ?>" data-id="<?php _e($image->Id) ?>">
19
+ <div class="figure card-image" style="background-image: url('<?php _e($thumb) ?>');">
20
+ <?php if($image->type == 'image') : ?>
21
+ <img class="thumb" src="<?php echo plugins_url('../images/square.gif', __FILE__) ?>" />
22
+ <?php else : ?>
23
+ <div class="aspect-ratio">
24
+ <?php print $image->imagePath ?>
25
+ </div>
26
+ <?php endif ?>
27
 
28
+ <?php if(in_array($image->imagePath, $sizes)) : ?>
29
+ <span class='card-title'><?php echo array_search($image->imagePath, $sizes) ?></span>
30
+ <?php endif ?>
31
+ <?php if($image->hidden == "T") : ?>
32
+ <span class='card-hidden'><i class="mdi mdi-eye-off" title="Hidden image"></i></span>
33
+ <?php endif ?>
34
+ <?php
35
+ if(! empty($image->filters) || isset($image->group))
36
+ {
37
+ echo "<ul class='filters'>";
38
+
39
+ if(isset($image->group) && trim($image->group))
40
+ {
41
+ echo "<li><i class=\"mdi mdi-folder-outline\"></i> $image->group</li>";
42
+ }
43
+
44
+ if(! empty($image->filters))
45
+ {
46
+ foreach ( explode( '|', $image->filters ) as $f ) {
47
+ if ( in_array( $f, $active_filters ) ) {
48
+ echo "<li><i class='mdi mdi-tag-outline'></i> $f</li>";
49
+ }
50
+ }
51
+ }
 
 
 
 
52
 
53
+ echo "</ul>";
 
 
 
 
54
 
55
+ echo "<input type='hidden' class ='current_image_filter' value=$image->filters>";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
 
57
+ }
 
 
 
 
58
 
59
+ ?>
60
+ </div>
61
+ <div class="card-content">
62
+ <p class="truncate">
63
+ <?php echo (isset($image->title) && !empty($image->title)) ? $image->title : $image->description ?>
64
+ </p>
65
+
66
+ <input class="copy" type="hidden" name="id" value="<?php _e($image->Id); ?>" />
67
+ <input class="copy" type="hidden" name="type" value="<?php _e($image->type); ?>" />
68
+ <input class="copy" type="hidden" name="img_id" value="<?php _e($image->imageId); ?>" />
69
+ <input class="copy" type="hidden" name="sortOrder" value="<?php _e($image->sortOrder); ?>" />
70
+ <input class="copy" type="hidden" name="filters" value="<?php _e($image->filters); ?>" />
71
+ <input class="copy" type="hidden" name="post_id" value="<?php _e(isset($image->postId) ? $image->postId : 0) ?>" />
72
+ <select name="img_url" class="select hidden">
73
+ <?php foreach($sizes as $k => $v) : ?>
74
+ <option <?php echo $v == $image->imagePath ? "selected" : "" ?> value="<?php print $v ?>"><?php print $k ?></option>
75
+ <?php endforeach ?>
76
+ </select>
77
+ <input type="hidden" name="target" value="<?php _e($image->target) ?>" />
78
+ <input type="hidden" name="group" value="<?php _e($image->group); ?>" />
79
+ <input type="hidden" name="zoom" value="<?php _e($image->zoom) ?>" />
80
+ <input type="hidden" name="link" value="<?php _e($image->link) ?>" />
81
+ <input type="hidden" name="blank" value="<?php _e($image->blank) ?>" />
82
+ <input type="hidden" name="hidden" value="<?php _e($image->hidden) ?>" />
83
+ <input type="hidden" name="sortOrder" value="<?php _e($image->sortOrder) ?>" />
84
+ <pre class="hidden description"><?php _e($image->description) ?></pre>
85
+ <pre class="hidden imagepath"><?php _e(htmlentities($image->imagePath)) ?></pre>
86
+ <input type="hidden" id="img-title" value="<?php _e($image->title); ?>">
87
+ </div>
88
+ <div class="card-action">
89
 
90
+ <a href="#image-panel-model" class="edit modal-trigger">
91
+ <i class="mdi mdi-pencil"></i>
92
+ <span>Edit</span>
93
+ </a>
94
 
95
+ <?php if($image->source == "gallery") : ?>
96
+ <a href="#" class="remove">
97
+ <i class="mdi mdi-delete"></i>
98
+ <span>Remove</span>
99
+ </a>
100
+ <?php endif ?>
101
  </div>
102
+ </div>
103
+ </div>
104
+ <?php } ?>
admin/include/tinymce-galleries.php CHANGED
@@ -66,7 +66,7 @@
66
  </td>
67
 
68
  <td>
69
- <?php print $gallery->source; ?>
70
  </td>
71
 
72
  <td>
66
  </td>
67
 
68
  <td>
69
+ <?php print !empty($gallery->source) ? $gallery->source : "images"; ?>
70
  </td>
71
 
72
  <td>
admin/loading.gif ADDED
Binary file
admin/overview.php CHANGED
@@ -1,9 +1,8 @@
1
  <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die(_e('You are not allowed to call this page directly.','final-tiles-gallery')); } ?>
2
 
3
- <?php $ftg_subtitle = "Dashboard"; ?>
4
  <?php include "header.php" ?>
5
 
6
-
7
  <?php
8
  $colors = array('pink', 'purple', 'indigo', 'blue',
9
  'light-blue', 'cyan', 'teal', 'green',
@@ -23,30 +22,35 @@
23
  </div>
24
  </div>
25
  <?php endif ?>
26
-
27
  <?php if(count($galleries) == 0) : ?>
28
- <h5 class="cyan-text text-darken-3"> <?php _e('Welcome to Final Tiles Grid Gallery!','final-tiles-gallery')?></h5>
29
- <p>
30
- <?php _e('Create your first awesome gallery, click','final-tiles-gallery') ?> <a href="?page=ftg-lite-add-gallery"><?php _e('here','final-tiles-gallery')?></a>.
31
- </p>
 
 
 
 
 
 
32
  <?php else : ?>
33
  <div id="gallery-list" class="row">
34
- <?php foreach($galleries as $gallery) : ?>
35
  <?php
36
  $gid = $gallery->Id;
37
- $images = $this->FinalTilesdb->getImagesByGalleryId($gid);
38
  $bg = count($images) && $images[0]->type == "image" ? "url('" . $images[0]->imagePath . "')" : "none";
39
  $withImage = count($images) && $images[0]->type == "image";
40
  ?>
41
  <?php wp_nonce_field('FinalTiles_gallery', 'FinalTiles_gallery'); ?>
42
  <div class="col s12 m3">
43
- <div class="card <?php print $withImage ? "with-image" : "" ?> <?php print $colors[$idx % count($colors)] ?> darken-2" id="gallery-<?php print $gallery->Id ?>" data-gid="<?php print $gallery->Id ?>">
44
  <div class="data" style="background-image:<?php print $bg ?>">
45
  <div class="card-content white-text">
46
  <span class="card-title"><?php print $gallery->name ?></span>
47
  <p><?php print $gallery->description ?></p>
48
  </div>
49
- <div class="card-action">
50
 
51
  <a href="#" data-tooltip="Show shortcode" data-position="top" data-delay="10" class="tooltipped waves-effect waves-<?php print $colors[$idx % count($colors)] ?> show-shortcode" data-gid="<?php print $gallery->Id ?>"><i class="mdi mdi-code-array"></i></a>
52
  <a href="?page=ftg-lite-gallery-admin&id=<?php print $gallery->Id ?>" data-tooltip="Edit gallery" data-position="top" data-delay="10" class="tooltipped waves-effect waves-<?php print $colors[$idx % count($colors)] ?>"><i class="mdi mdi-pencil"></i></a>
@@ -71,7 +75,7 @@
71
  <!-- Delete gallery modal -->
72
  <div id="delete-gallery-modal" class="modal">
73
  <div class="modal-content">
74
- <h4><?php _e('Confirmation','final-tiles-gallery') ?></h4>
75
  <p><?php _e('Do you really want to delete the gallery','final-tiles-gallery')?> <span></span> ?</p>
76
  </div>
77
  <div class="modal-footer">
@@ -83,7 +87,7 @@
83
  <div id="shortcode-gallery-modal" class="modal">
84
  <div class="modal-content">
85
  <h4></h4>
86
- <p> <?php _e('Copy and paste the following shortcode inside a post, page or widget:','final-tiles-gallery')?></p>
87
  <code></code>
88
  </div>
89
  <div class="modal-footer">
@@ -169,10 +173,6 @@
169
  }
170
  });
171
  });
172
- $("body").on("click", "#adv [href=\"#close\"]", function () {
173
- docCookies.setItem('gtl', '1', Infinity);
174
- $(this).parents("#adv").remove();
175
- });
176
  $("body").on("click", ".card-content", function () {
177
  var gid = $(this).parents(".card").data("gid");
178
  location.href = "?page=ftg-lite-gallery-admin&id=" + gid;
1
  <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die(_e('You are not allowed to call this page directly.','final-tiles-gallery')); } ?>
2
 
3
+ <?php $ftg_subtitle = "Dashboard" ?>
4
  <?php include "header.php" ?>
5
 
 
6
  <?php
7
  $colors = array('pink', 'purple', 'indigo', 'blue',
8
  'light-blue', 'cyan', 'teal', 'green',
22
  </div>
23
  </div>
24
  <?php endif ?>
 
25
  <?php if(count($galleries) == 0) : ?>
26
+ <div class="row ">
27
+ <div class="col s12">
28
+ <div class="card-panel light-green lighten-4">
29
+ <h5 class="cyan-text text-darken-3"><?php _e('Welcome to Final Tiles Grid Gallery!','final-tiles-gallery')?></h5>
30
+ <p>
31
+ <?php _e('Create your first awesome gallery, click','final-tiles-gallery')?> <a href="?page=ftg-lite-add-gallery"><?php _e('here','final-tiles-gallery')?></a>.
32
+ </p>
33
+ </div>
34
+ </div>
35
+ </div>
36
  <?php else : ?>
37
  <div id="gallery-list" class="row">
38
+ <?php foreach($galleries as $gallery) : ?>
39
  <?php
40
  $gid = $gallery->Id;
41
+ $images = $this->FinalTilesdb->getImagesByGalleryId($gid, 0, 1);
42
  $bg = count($images) && $images[0]->type == "image" ? "url('" . $images[0]->imagePath . "')" : "none";
43
  $withImage = count($images) && $images[0]->type == "image";
44
  ?>
45
  <?php wp_nonce_field('FinalTiles_gallery', 'FinalTiles_gallery'); ?>
46
  <div class="col s12 m3">
47
+ <div class="card <?php print $withImage ? "with-image" : "" ?> <?php print $colors[$idx % count($colors)] ?> darken-2" id="gallery-<?php print $gallery->Id ?>" data-gid="<?php print $gallery->Id ?>">
48
  <div class="data" style="background-image:<?php print $bg ?>">
49
  <div class="card-content white-text">
50
  <span class="card-title"><?php print $gallery->name ?></span>
51
  <p><?php print $gallery->description ?></p>
52
  </div>
53
+ <div class="card-action <?php print $colors[$idx % count($colors)] ?> darken-4">
54
 
55
  <a href="#" data-tooltip="Show shortcode" data-position="top" data-delay="10" class="tooltipped waves-effect waves-<?php print $colors[$idx % count($colors)] ?> show-shortcode" data-gid="<?php print $gallery->Id ?>"><i class="mdi mdi-code-array"></i></a>
56
  <a href="?page=ftg-lite-gallery-admin&id=<?php print $gallery->Id ?>" data-tooltip="Edit gallery" data-position="top" data-delay="10" class="tooltipped waves-effect waves-<?php print $colors[$idx % count($colors)] ?>"><i class="mdi mdi-pencil"></i></a>
75
  <!-- Delete gallery modal -->
76
  <div id="delete-gallery-modal" class="modal">
77
  <div class="modal-content">
78
+ <h4><?php _e('Confirmation','final-tiles-gallery')?></h4>
79
  <p><?php _e('Do you really want to delete the gallery','final-tiles-gallery')?> <span></span> ?</p>
80
  </div>
81
  <div class="modal-footer">
87
  <div id="shortcode-gallery-modal" class="modal">
88
  <div class="modal-content">
89
  <h4></h4>
90
+ <p><?php _e('Copy and paste the following shortcode inside a post, page or widget:','final-tiles-gallery')?></p>
91
  <code></code>
92
  </div>
93
  <div class="modal-footer">
173
  }
174
  });
175
  });
 
 
 
 
176
  $("body").on("click", ".card-content", function () {
177
  var gid = $(this).parents(".card").data("gid");
178
  location.href = "?page=ftg-lite-gallery-admin&id=" + gid;
admin/scripts/{final-tiles-gallery-admin.js → final-tiles-grid-gallery-lite-admin.js} RENAMED
@@ -1,88 +1,21 @@
1
  /*! Sortable 1.1.1 - MIT | git://github.com/rubaxa/Sortable.git */
2
  !function(a){"use strict";"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){"use strict";function a(a,b){this.el=a,this.options=b=b||{};var d={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1};for(var e in d)!(e in b)&&(b[e]=d[e]);var g=b.group;g&&"object"==typeof g||(g=b.group={name:g}),["pull","put"].forEach(function(a){a in g||(g[a]=!0)}),M.forEach(function(d){b[d]=c(this,b[d]||N),f(a,d.substr(2).toLowerCase(),b[d])},this),b.groups=" "+g.name+(g.put.join?" "+g.put.join(" "):"")+" ",a[F]=b;for(var h in this)"_"===h.charAt(0)&&(this[h]=c(this,this[h]));f(a,"mousedown",this._onTapStart),f(a,"touchstart",this._onTapStart),f(a,"dragover",this),f(a,"dragenter",this),Q.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){s&&s.state!==a&&(i(s,"display",a?"none":""),!a&&s.state&&t.insertBefore(s,q),s.state=a)}function c(a,b){var c=P.call(arguments,2);return b.bind?b.bind.apply(b,[a].concat(c)):function(){return b.apply(a,c.concat(P.call(arguments)))}}function d(a,b,c){if(a){c=c||H,b=b.split(".");var d=b.shift().toUpperCase(),e=new RegExp("\\s("+b.join("|")+")\\s","g");do if(">*"===d&&a.parentNode===c||(""===d||a.nodeName.toUpperCase()==d)&&(!b.length||((" "+a.className+" ").match(e)||[]).length==b.length))return a;while(a!==c&&(a=a.parentNode))}return null}function e(a){a.dataTransfer.dropEffect="move",a.preventDefault()}function f(a,b,c){a.addEventListener(b,c,!1)}function g(a,b,c){a.removeEventListener(b,c,!1)}function h(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(/\s+/g," ").replace(" "+b+" ","");a.className=d+(c?" "+b:"")}}function i(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return H.defaultView&&H.defaultView.getComputedStyle?c=H.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function j(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;f>e;e++)c(d[e],e);return d}return[]}function k(a){a.draggable=!1}function l(){K=!1}function m(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return b.clientY-(d.top+d.height)>5&&c}function n(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function o(a){for(var b=0;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&b++;return b}function p(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E={},F="Sortable"+(new Date).getTime(),G=window,H=G.document,I=G.parseInt,J=!!("draggable"in H.createElement("div")),K=!1,L=function(a,b,c,d,e,f){var g=H.createEvent("Event");g.initEvent(b,!0,!0),g.item=c||a,g.from=d||a,g.clone=s,g.oldIndex=e,g.newIndex=f,a.dispatchEvent(g)},M="onAdd onUpdate onRemove onStart onEnd onFilter onSort".split(" "),N=function(){},O=Math.abs,P=[].slice,Q=[],R=p(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(w!==c&&(v=b.scroll,w=c,v===!0)){v=c;do if(v.offsetWidth<v.scrollWidth||v.offsetHeight<v.scrollHeight)break;while(v=v.parentNode)}v&&(d=v,e=v.getBoundingClientRect(),f=(O(e.right-j)<=h)-(O(e.left-j)<=h),g=(O(e.bottom-k)<=h)-(O(e.top-k)<=h)),f||g||(f=(h>=l-j)-(h>=j),g=(h>=m-k)-(h>=k),(f||g)&&(d=G)),(E.vx!==f||E.vy!==g||E.el!==d)&&(E.el=d,E.vx=f,E.vy=g,clearInterval(E.pid),d&&(E.pid=setInterval(function(){d===G?G.scrollTo(G.scrollX+f*i,G.scrollY+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30);return a.prototype={constructor:a,_dragStarted:function(){t&&q&&(h(q,this.options.ghostClass,!0),a.active=this,L(t,"start",q,t,z))},_onTapStart:function(a){var b=a.type,c=a.touches&&a.touches[0],e=(c||a).target,g=e,h=this.options,i=this.el,l=h.filter;if(!("mousedown"===b&&0!==a.button||h.disabled)&&(e=d(e,h.draggable,i))){if(z=o(e),"function"==typeof l){if(l.call(this,a,e,this))return L(g,"filter",e,i,z),void a.preventDefault()}else if(l&&(l=l.split(",").some(function(a){return a=d(g,a.trim(),i),a?(L(a,"filter",e,i,z),!0):void 0})))return void a.preventDefault();if((!h.handle||d(g,h.handle,i))&&e&&!q&&e.parentNode===i){C=a,t=this.el,q=e,u=q.nextSibling,B=this.options.group,q.draggable=!0,h.ignore.split(",").forEach(function(a){j(e,a.trim(),k)}),c&&(C={target:e,clientX:c.clientX,clientY:c.clientY},this._onDragStart(C,"touch"),a.preventDefault()),f(H,"mouseup",this._onDrop),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop),f(q,"dragend",this),f(t,"dragstart",this._onDragStart),J||this._onDragStart(C,!0);try{H.selection?H.selection.empty():window.getSelection().removeAllRanges()}catch(m){}}}},_emulateDragOver:function(){if(D){i(r,"display","none");var a=H.elementFromPoint(D.clientX,D.clientY),b=a,c=" "+this.options.group.name,d=Q.length;if(b)do{if(b[F]&&b[F].groups.indexOf(c)>-1){for(;d--;)Q[d]({clientX:D.clientX,clientY:D.clientY,target:a,rootEl:b});break}a=b}while(b=b.parentNode);i(r,"display","")}},_onTouchMove:function(a){if(C){var b=a.touches?a.touches[0]:a,c=b.clientX-C.clientX,d=b.clientY-C.clientY,e=a.touches?"translate3d("+c+"px,"+d+"px,0)":"translate("+c+"px,"+d+"px)";D=b,i(r,"webkitTransform",e),i(r,"mozTransform",e),i(r,"msTransform",e),i(r,"transform",e),a.preventDefault()}},_onDragStart:function(a,b){var c=a.dataTransfer,d=this.options;if(this._offUpEvents(),"clone"==B.pull&&(s=q.cloneNode(!0),i(s,"display","none"),t.insertBefore(s,q)),b){var e,g=q.getBoundingClientRect(),h=i(q);r=q.cloneNode(!0),i(r,"top",g.top-I(h.marginTop,10)),i(r,"left",g.left-I(h.marginLeft,10)),i(r,"width",g.width),i(r,"height",g.height),i(r,"opacity","0.8"),i(r,"position","fixed"),i(r,"zIndex","100000"),t.appendChild(r),e=r.getBoundingClientRect(),i(r,"width",2*g.width-e.width),i(r,"height",2*g.height-e.height),"touch"===b?(f(H,"touchmove",this._onTouchMove),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop)):(f(H,"mousemove",this._onTouchMove),f(H,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,150)}else c&&(c.effectAllowed="move",d.setData&&d.setData.call(this,c,q)),f(H,"drop",this);setTimeout(this._dragStarted,0)},_onDragOver:function(a){var c,e,f,g=this.el,h=this.options,j=h.group,k=j.put,n=B===j,o=h.sort;if(q&&(void 0!==a.preventDefault&&(a.preventDefault(),!h.dragoverBubble&&a.stopPropagation()),B&&!h.disabled&&(n?o||(f=!t.contains(q)):B.pull&&k&&(B.name===j.name||k.indexOf&&~k.indexOf(B.name)))&&(void 0===a.rootEl||a.rootEl===this.el))){if(R(a,h,this.el),K)return;if(c=d(a.target,h.draggable,g),e=q.getBoundingClientRect(),f)return b(!0),void(s||u?t.insertBefore(q,s||u):o||t.appendChild(q));if(0===g.children.length||g.children[0]===r||g===a.target&&(c=m(g,a))){if(c){if(c.animated)return;v=c.getBoundingClientRect()}b(n),g.appendChild(q),this._animate(e,q),c&&this._animate(v,c)}else if(c&&!c.animated&&c!==q&&void 0!==c.parentNode[F]){x!==c&&(x=c,y=i(c));var p,v=c.getBoundingClientRect(),w=v.right-v.left,z=v.bottom-v.top,A=/left|right|inline/.test(y.cssFloat+y.display),C=c.offsetWidth>q.offsetWidth,D=c.offsetHeight>q.offsetHeight,E=(A?(a.clientX-v.left)/w:(a.clientY-v.top)/z)>.5,G=c.nextElementSibling;K=!0,setTimeout(l,30),b(n),p=A?c.previousElementSibling===q&&!C||E&&C:G!==q&&!D||E&&D,p&&!G?g.appendChild(q):c.parentNode.insertBefore(q,p?G:c),this._animate(e,q),this._animate(v,c)}}},_animate:function(a,b){var c=this.options.animation;if(c){var d=b.getBoundingClientRect();i(b,"transition","none"),i(b,"transform","translate3d("+(a.left-d.left)+"px,"+(a.top-d.top)+"px,0)"),b.offsetWidth,i(b,"transition","all "+c+"ms"),i(b,"transform","translate3d(0,0,0)"),clearTimeout(b.animated),b.animated=setTimeout(function(){i(b,"transition",""),i(b,"transform",""),b.animated=!1},c)}},_offUpEvents:function(){g(H,"mouseup",this._onDrop),g(H,"touchmove",this._onTouchMove),g(H,"touchend",this._onDrop),g(H,"touchcancel",this._onDrop)},_onDrop:function(b){var c=this.el,d=this.options;clearInterval(this._loopId),clearInterval(E.pid),g(H,"drop",this),g(H,"mousemove",this._onTouchMove),g(c,"dragstart",this._onDragStart),this._offUpEvents(),b&&(b.preventDefault(),!d.dropBubble&&b.stopPropagation(),r&&r.parentNode.removeChild(r),q&&(g(q,"dragend",this),k(q),h(q,this.options.ghostClass,!1),t!==q.parentNode?(A=o(q),L(q.parentNode,"sort",q,t,z,A),L(t,"sort",q,t,z,A),L(q,"add",q,t,z,A),L(t,"remove",q,t,z,A)):(s&&s.parentNode.removeChild(s),q.nextSibling!==u&&(A=o(q),L(t,"update",q,t,z,A),L(t,"sort",q,t,z,A))),a.active&&L(t,"end",q,t,z,A)),t=q=r=u=s=v=w=C=D=x=y=B=a.active=null,this.save())},handleEvent:function(a){var b=a.type;"dragover"===b||"dragenter"===b?(this._onDragOver(a),e(a)):("drop"===b||"dragend"===b)&&this._onDrop(a)},toArray:function(){for(var a,b=[],c=this.el.children,e=0,f=c.length;f>e;e++)a=c[e],d(a,this.options.draggable,this.el)&&b.push(a.getAttribute("data-id")||n(a));return b},sort:function(a){var b={},c=this.el;this.toArray().forEach(function(a,e){var f=c.children[e];d(f,this.options.draggable,c)&&(b[a]=f)},this),a.forEach(function(a){b[a]&&(c.removeChild(b[a]),c.appendChild(b[a]))})},save:function(){var a=this.options.store;a&&a.set(this)},closest:function(a,b){return d(a,b||this.options.draggable,this.el)},option:function(a,b){var c=this.options;return void 0===b?c[a]:void(c[a]=b)},destroy:function(){var a=this.el,b=this.options;M.forEach(function(c){g(a,c.substr(2).toLowerCase(),b[c])}),g(a,"mousedown",this._onTapStart),g(a,"touchstart",this._onTapStart),g(a,"dragover",this),g(a,"dragenter",this),Array.prototype.forEach.call(a.querySelectorAll("[draggable]"),function(a){a.removeAttribute("draggable")}),Q.splice(Q.indexOf(this._onDragOver),1),this._onDrop(),this.el=null}},a.utils={on:f,off:g,css:i,find:j,bind:c,is:function(a,b){return!!d(a,b,a)},throttle:p,closest:d,toggleClass:h,dispatchEvent:L,index:o},a.version="1.1.1",a.create=function(b,c){return new a(b,c)},a});
3
 
4
- /*\
5
- |*|
6
- |*| :: cookies.js ::
7
- |*|
8
- |*| A complete cookies reader/writer framework with full unicode support.
9
- |*|
10
- |*| Revision #1 - September 4, 2014
11
- |*|
12
- |*| https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
13
- |*| https://developer.mozilla.org/User:fusionchess
14
- |*|
15
- |*| This framework is released under the GNU Public License, version 3 or later.
16
- |*| http://www.gnu.org/licenses/gpl-3.0-standalone.html
17
- |*|
18
- |*| Syntaxes:
19
- |*|
20
- |*| * docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])
21
- |*| * docCookies.getItem(name)
22
- |*| * docCookies.removeItem(name[, path[, domain]])
23
- |*| * docCookies.hasItem(name)
24
- |*| * docCookies.keys()
25
- |*|
26
- \*/
27
-
28
- var docCookies = {
29
- getItem: function (sKey) {
30
- if (!sKey) { return null; }
31
- return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null;
32
- },
33
- setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {
34
- if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)) { return false; }
35
- var sExpires = "";
36
- if (vEnd) {
37
- switch (vEnd.constructor) {
38
- case Number:
39
- sExpires = vEnd === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : "; max-age=" + vEnd;
40
- break;
41
- case String:
42
- sExpires = "; expires=" + vEnd;
43
- break;
44
- case Date:
45
- sExpires = "; expires=" + vEnd.toUTCString();
46
- break;
47
- }
48
- }
49
- document.cookie = encodeURIComponent(sKey) + "=" + encodeURIComponent(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");
50
- return true;
51
- },
52
- removeItem: function (sKey, sPath, sDomain) {
53
- if (!this.hasItem(sKey)) { return false; }
54
- document.cookie = encodeURIComponent(sKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "");
55
- return true;
56
- },
57
- hasItem: function (sKey) {
58
- if (!sKey) { return false; }
59
- return (new RegExp("(?:^|;\\s*)" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie);
60
- },
61
- keys: function () {
62
- var aKeys = document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, "").split(/\s*(?:\=[^;]*)?;\s*/);
63
- for (var nLen = aKeys.length, nIdx = 0; nIdx < nLen; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }
64
- return aKeys;
65
- }
66
- };
67
-
68
  function getCookie(cname) {
69
  var name = cname + "=";
70
  var ca = document.cookie.split(';');
71
- for(var i=0; i<ca.length; i++) {
72
  var c = ca[i];
73
- while (c.charAt(0)==' ') c = c.substring(1);
74
- if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
75
  }
76
  return "";
77
  }
78
 
79
-
80
  var FTG = function($) {
81
  var _loading = null;
82
  var $backToTop = null;
83
 
84
- var currentListSize = 'medium';
85
-
86
  return {
87
  show_loading: function() {
88
  $("#spinner").addClass('shown');
@@ -103,21 +36,43 @@ var FTG = function($) {
103
  load_images: function() {
104
  if (!_loading)
105
  FTG.show_loading();
 
106
  var source = $("[name=ftg_source]").val();
107
  var post_type = '';
108
-
109
- var data = {
110
- action: 'refresh_gallery',
111
  source: source,
112
  list_size: currentListSize,
113
  FinalTiles_gallery: $('#FinalTiles_gallery').val(),
114
  gid: $("#gallery-id").val()
115
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
 
117
  $.post(ajaxurl, data, function(html) {
118
  $("#image-list").empty().append(html);
119
  if (source == 'images') {
120
  $("#image-list").sortable({
 
121
  update: function() {
122
  FTG.show_loading();
123
  var ids = [];
@@ -191,16 +146,75 @@ var FTG = function($) {
191
  }
192
  }
193
  });
194
- },
195
- init_gallery: function() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
 
197
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  save_gallery: function() {
199
  // !gallery save
200
  var data = {};
201
  data.action = 'save_gallery';
202
- // FTG.update_filters();
203
- // FTG.update_custom_isf();
204
 
205
  $(".form-fields").find("input[type=text], input[type=range], select, input:checked, input[type=hidden], textarea").each(function() {
206
  var name = $(this).attr("name");
@@ -242,24 +256,22 @@ var FTG = function($) {
242
  FTG.hide_loading();
243
  },
244
  success: function(r) {
245
- if (data.ftg_gallery_edit)
246
- {
247
  FTG.hide_loading();
248
  toast("Gallery saved", 2000);
249
- }
250
- else
251
  location.href = "?page=edit-gallery";
252
  }
253
  });
254
  },
255
-
256
  /*! FTG Choose images */
257
- choose_images: function(currentImageSize, caption_field, callback) {
258
  tgm_media_frame = wp.media.frames.tgm_media_frame = wp.media({
259
  multiple: true,
260
  library: {
261
  type: 'image'
262
  },
 
263
  title: 'Add image(s)',
264
  button: {
265
  text: 'Add image(s)'
@@ -278,7 +290,7 @@ var FTG = function($) {
278
 
279
  tgm_media_frame.on('select', function() {
280
  var selection = tgm_media_frame.state().get('selection');
281
- var images = [];
282
 
283
  var errors = 0;
284
  selection.map(function(attachment) {
@@ -296,51 +308,200 @@ var FTG = function($) {
296
  if (caption_field != 'none')
297
  obj.description = attachment[caption_field];
298
 
299
- if (attachment.sizes[currentImageSize])
300
- obj.imagePath = attachment.sizes[currentImageSize].url
301
- else
302
- obj.imagePath = attachment.url;
303
 
304
  if (attachment.sizes.thumbnail)
305
  obj.thumbnail = attachment.sizes.thumbnail.url;
306
 
307
- if (attachment.sizes.full)
308
- obj.altImagePath = attachment.sizes.full.url;
309
 
310
- images.push(obj);
311
- });
 
 
 
 
 
 
 
 
 
 
312
 
313
- if (errors) {
314
- alert(errors + " images could not be added because the selected size is not available");
315
- }
316
 
317
- callback(images);
 
 
 
 
 
 
 
 
 
 
318
  });
319
 
320
  tgm_media_frame.open();
321
  },
322
-
323
  bind: function() {
324
 
325
  currentListSize = 'medium';
326
- if(getCookie('ftg_imglist_size'))
327
  currentListSize = getCookie('ftg_imglist_size');
328
- $("#listview-" + currentListSize).addClass("menu_activ");
329
-
330
- $(".list-view-control li").click(function () {
331
- currentListSize = $(this).data('size');
332
- FTG.load_images();
333
- $(".list-view-control li").removeClass("menu_activ");
334
- $(this).addClass("menu_activ");
 
 
 
 
 
 
 
 
 
 
 
 
 
335
 
336
- });
337
 
338
- $(".field .text .integer-only").keypress(function(e){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
339
  var charCode = (e.which) ? e.which : e.keyCode;
340
 
341
- if (charCode != 46 && charCode > 31
342
- && (charCode < 48 || charCode > 57))
343
- return false;
344
 
345
  return true;
346
  });
@@ -352,48 +513,91 @@ var FTG = function($) {
352
  $("#add-gallery, .update-gallery").click(function(e) {
353
  e.preventDefault();
354
  FTG.save_gallery();
355
- });
 
 
 
 
 
 
 
 
356
  $("#image-list").on("click", ".item .thumb", function() {
357
  $(this).parents(".item").toggleClass("selected");
358
  $(this).parents(".item").find(".checkbox").toggleClass("checked");
359
  });
 
 
 
 
 
 
360
  $("#image-list").on("click", ".edit", function(e) {
361
  e.preventDefault();
362
  var source = $("[name=ftg_source]").val();
363
 
364
  var $item = $(this).parents(".item");
365
- if ($item.data("type") == "video") {
 
366
  // !video edit
367
  var embed = $("pre.imagepath", $item).html();
368
  embed = String(embed).replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '"');
369
 
 
370
  var $panel = $("#video-panel-model");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
371
  $("textarea", $panel).val(embed);
372
  $("input[type=hidden]", $item).each(function() {
373
  if ($(this).attr("name"))
374
  $(this).clone().appendTo($panel);
375
  });
376
  $(".save", $panel).text("Update");
377
- $panel.openModal();
 
378
  return;
379
  }
380
 
381
  var panel = $("#image-panel-model"); //.clone().attr("id", "image-panel");
382
  panel.attr("data-source", $("[name=ftg_source]").val());
383
  panel.openModal();
384
-
385
  panel.find(".copy").remove();
386
 
387
  $("[name=target]", panel).val($("[name=target]", $item).val());
388
  $("[name=link]", panel).val($("[name=link]", $item).val());
 
389
  $(".figure", panel).empty().append($("img", $item).clone());
 
390
  $(".sizes", panel).empty().append($("select", $item).clone().addClass("browser-default"));
391
- $("textarea", panel).val($("pre.description", $item).html());
392
  $(".copy", $item).clone().appendTo(panel);
 
 
 
 
 
 
 
393
 
394
  if (source == 'posts') {
395
  panel.find("[name=link], textarea").hide();
396
- }
397
 
398
  var link = $item.find("[name=link]").val();
399
 
@@ -408,16 +612,11 @@ var FTG = function($) {
408
  FinalTiles_gallery: $('#FinalTiles_gallery').val()
409
  };
410
  $("input[type=text], input[type=hidden], input[type=radio]:checked, input[type=checkbox]:checked, textarea, select", panel).each(function() {
 
411
  if ($(this).attr("name"))
412
  data[$(this).attr("name")] = $(this).val();
413
  });
414
-
415
- var savFilters = [];
416
-
417
- $(".filters input:checked", panel).each(function(i, o) {
418
- savFilters.push($(o).val());
419
- });
420
- data.filters = savFilters.join("|");
421
 
422
  $("#image-panel .close").trigger("click");
423
  FTG.show_loading();
@@ -438,8 +637,58 @@ var FTG = function($) {
438
  break;
439
  }
440
  });
441
- });
442
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
443
  $("body").on("click", "[name=click_action]", function() {
444
  if ($(this).val() == "url") {
445
  $(this).siblings("[name=url]").get(0).disabled = false;
@@ -465,8 +714,96 @@ var FTG = function($) {
465
  case "toggle":
466
  $("#images .item").toggleClass("selected");
467
  $("#images .item .checkbox").toggleClass("checked");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
468
  break;
469
  case "remove":
 
 
 
 
 
 
470
  var selected = [];
471
  $("#images .item.selected").each(function(i, o) {
472
  selected.push($(o).data("id"));
@@ -505,23 +842,26 @@ var FTG = function($) {
505
  break;
506
  }
507
  });
508
- $("body").on("click", ".lever", function () {
509
- if($(this).siblings("input").attr("checked"))
510
- $(this).siblings("input").removeAttr("checked");
511
- else
512
- $(this).siblings("input").attr("checked", "checked");
513
  });
514
  $("body").on("click", ".show-help", function(e) {
515
- e.preventDefault();
516
- $(this).parents(".field:first").find(".help").show();
517
- });
 
518
  $(".open-media-panel").on("click", function(e) {
519
  e.preventDefault();
520
-
521
  var currentImageSize = $(".current-image-size").val();
522
  var caption_field = $("[name=ftg_wp_field_caption]").val();
523
- FTG.choose_images(currentImageSize, caption_field, function(images) {
524
- images = images.slice(0, 33-13);
 
 
 
525
  var data = {
526
  action: 'add_image',
527
  enc_images: JSON.stringify(images),
@@ -537,6 +877,7 @@ var FTG = function($) {
537
  type: "post",
538
  error: function(a, b, c) {
539
  FTG.hide_loading();
 
540
  alert("error adding images");
541
  },
542
  success: function(r) {
@@ -548,51 +889,60 @@ var FTG = function($) {
548
  });
549
  });
550
  });
551
- $(".jump").on("change", function () {
552
- var field = $(this).val();
553
- $('html, body').animate({
554
- scrollTop: $(".row-" + field).offset().top - 20
555
- }, 1000);
556
- $(this).get(0).selectedIndex = 0;
557
- });
558
- $backToTop.on("click", function (e) {
559
- e.preventDefault();
560
-
561
- var to = $(".collapsible .active").length ?
562
- $(".collapsible .active").offset().top - 28:
563
- 0;
564
-
565
- $('html, body').animate({
566
- scrollTop: to
567
- }, 1000);
568
- });
569
- $(".collapsible-header").click(function () {
570
- var el = this;
571
- setTimeout(function () {
572
- if($(el).parent().hasClass("active")) {
573
- $('html, body').animate({
574
- scrollTop: $(el).offset().top - 28
575
- }, 500);
576
- }
577
- }, 500);
578
- });
579
- $(".bullet-menu li a").click(function (e) {
580
- e.preventDefault();
581
-
582
- var target = $(this).attr("rel");
583
- $("#" + target + " .collapsible-header").click();
584
- setTimeout(function () {
585
- $('html, body').animate({
586
- scrollTop: $("#" + target).offset().top - 28
587
- }, 1000);
588
- }, 500);
 
 
589
  });
590
  },
591
- init: function () {
592
- $backToTop = $(".back-to-top");
593
- FTG.bind();
594
- FTG.load_images();
595
- $imageList = $("#image-list");
 
 
 
 
 
 
 
596
  }
597
  }
598
  }(jQuery);
@@ -647,7 +997,32 @@ var FTGWizard = function($) {
647
  $("[name=post_categories]").val("");
648
  $("[name=woo_categories]").val("");
649
  $("[name=post_tags]").val("");
650
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
651
  } else {
652
  $(this).text("Next");
653
  }
@@ -683,15 +1058,20 @@ var FTGWizard = function($) {
683
  }).text("Next");
684
  });
685
 
686
-
687
  /*! Wizard add images */
688
  $_wizard.find(".add-images").click(function(e) {
689
  e.preventDefault();
690
  var size = $_wizard.find("[name=def_imgsize]").val();
691
- var caption_field = $("[name=ftg_wp_field_caption]:checked").val();
692
- FTG.choose_images(size, caption_field, function(images) {
693
- images = images.slice(0, 20);
694
- $("[name=enc_images]").val(JSON.stringify(images));
 
 
 
 
 
 
695
 
696
  $.each(images, function() {
697
 
@@ -713,8 +1093,8 @@ var FTGWizard = function($) {
713
  });
714
  },
715
  save: function() {
716
-
717
  var data = $_wizard.find("form").serialize();
 
718
  $_wizard.find("footer a").addClass("disabled");
719
  $_wizard.find(".loading").show();
720
 
@@ -731,7 +1111,7 @@ var FTGWizard = function($) {
731
  $_wizard.find(".loading").hide();
732
 
733
  $_success = $('#success');
734
- $_success.find("code").text("[FinalTilesGallery id='" + id + "']");
735
  $_success.find(".gallery-name").text($("[name=ftg_name]").val());
736
  $_success.find(".customize").attr("href", "?page=ftg-lite-gallery-admin&id=" + id);
737
 
@@ -742,7 +1122,7 @@ var FTGWizard = function($) {
742
  }
743
  }(jQuery);
744
  jQuery(function() {
745
- jQuery(".pickColor").wpColorPicker();
746
  FTG.init();
747
  FTGWizard.init();
748
  });
1
  /*! Sortable 1.1.1 - MIT | git://github.com/rubaxa/Sortable.git */
2
  !function(a){"use strict";"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){"use strict";function a(a,b){this.el=a,this.options=b=b||{};var d={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1};for(var e in d)!(e in b)&&(b[e]=d[e]);var g=b.group;g&&"object"==typeof g||(g=b.group={name:g}),["pull","put"].forEach(function(a){a in g||(g[a]=!0)}),M.forEach(function(d){b[d]=c(this,b[d]||N),f(a,d.substr(2).toLowerCase(),b[d])},this),b.groups=" "+g.name+(g.put.join?" "+g.put.join(" "):"")+" ",a[F]=b;for(var h in this)"_"===h.charAt(0)&&(this[h]=c(this,this[h]));f(a,"mousedown",this._onTapStart),f(a,"touchstart",this._onTapStart),f(a,"dragover",this),f(a,"dragenter",this),Q.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){s&&s.state!==a&&(i(s,"display",a?"none":""),!a&&s.state&&t.insertBefore(s,q),s.state=a)}function c(a,b){var c=P.call(arguments,2);return b.bind?b.bind.apply(b,[a].concat(c)):function(){return b.apply(a,c.concat(P.call(arguments)))}}function d(a,b,c){if(a){c=c||H,b=b.split(".");var d=b.shift().toUpperCase(),e=new RegExp("\\s("+b.join("|")+")\\s","g");do if(">*"===d&&a.parentNode===c||(""===d||a.nodeName.toUpperCase()==d)&&(!b.length||((" "+a.className+" ").match(e)||[]).length==b.length))return a;while(a!==c&&(a=a.parentNode))}return null}function e(a){a.dataTransfer.dropEffect="move",a.preventDefault()}function f(a,b,c){a.addEventListener(b,c,!1)}function g(a,b,c){a.removeEventListener(b,c,!1)}function h(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(/\s+/g," ").replace(" "+b+" ","");a.className=d+(c?" "+b:"")}}function i(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return H.defaultView&&H.defaultView.getComputedStyle?c=H.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function j(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;f>e;e++)c(d[e],e);return d}return[]}function k(a){a.draggable=!1}function l(){K=!1}function m(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return b.clientY-(d.top+d.height)>5&&c}function n(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function o(a){for(var b=0;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&b++;return b}function p(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E={},F="Sortable"+(new Date).getTime(),G=window,H=G.document,I=G.parseInt,J=!!("draggable"in H.createElement("div")),K=!1,L=function(a,b,c,d,e,f){var g=H.createEvent("Event");g.initEvent(b,!0,!0),g.item=c||a,g.from=d||a,g.clone=s,g.oldIndex=e,g.newIndex=f,a.dispatchEvent(g)},M="onAdd onUpdate onRemove onStart onEnd onFilter onSort".split(" "),N=function(){},O=Math.abs,P=[].slice,Q=[],R=p(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(w!==c&&(v=b.scroll,w=c,v===!0)){v=c;do if(v.offsetWidth<v.scrollWidth||v.offsetHeight<v.scrollHeight)break;while(v=v.parentNode)}v&&(d=v,e=v.getBoundingClientRect(),f=(O(e.right-j)<=h)-(O(e.left-j)<=h),g=(O(e.bottom-k)<=h)-(O(e.top-k)<=h)),f||g||(f=(h>=l-j)-(h>=j),g=(h>=m-k)-(h>=k),(f||g)&&(d=G)),(E.vx!==f||E.vy!==g||E.el!==d)&&(E.el=d,E.vx=f,E.vy=g,clearInterval(E.pid),d&&(E.pid=setInterval(function(){d===G?G.scrollTo(G.scrollX+f*i,G.scrollY+g*i):(g&&(d.scrollTop+=g*i),f&&(d.scrollLeft+=f*i))},24)))}},30);return a.prototype={constructor:a,_dragStarted:function(){t&&q&&(h(q,this.options.ghostClass,!0),a.active=this,L(t,"start",q,t,z))},_onTapStart:function(a){var b=a.type,c=a.touches&&a.touches[0],e=(c||a).target,g=e,h=this.options,i=this.el,l=h.filter;if(!("mousedown"===b&&0!==a.button||h.disabled)&&(e=d(e,h.draggable,i))){if(z=o(e),"function"==typeof l){if(l.call(this,a,e,this))return L(g,"filter",e,i,z),void a.preventDefault()}else if(l&&(l=l.split(",").some(function(a){return a=d(g,a.trim(),i),a?(L(a,"filter",e,i,z),!0):void 0})))return void a.preventDefault();if((!h.handle||d(g,h.handle,i))&&e&&!q&&e.parentNode===i){C=a,t=this.el,q=e,u=q.nextSibling,B=this.options.group,q.draggable=!0,h.ignore.split(",").forEach(function(a){j(e,a.trim(),k)}),c&&(C={target:e,clientX:c.clientX,clientY:c.clientY},this._onDragStart(C,"touch"),a.preventDefault()),f(H,"mouseup",this._onDrop),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop),f(q,"dragend",this),f(t,"dragstart",this._onDragStart),J||this._onDragStart(C,!0);try{H.selection?H.selection.empty():window.getSelection().removeAllRanges()}catch(m){}}}},_emulateDragOver:function(){if(D){i(r,"display","none");var a=H.elementFromPoint(D.clientX,D.clientY),b=a,c=" "+this.options.group.name,d=Q.length;if(b)do{if(b[F]&&b[F].groups.indexOf(c)>-1){for(;d--;)Q[d]({clientX:D.clientX,clientY:D.clientY,target:a,rootEl:b});break}a=b}while(b=b.parentNode);i(r,"display","")}},_onTouchMove:function(a){if(C){var b=a.touches?a.touches[0]:a,c=b.clientX-C.clientX,d=b.clientY-C.clientY,e=a.touches?"translate3d("+c+"px,"+d+"px,0)":"translate("+c+"px,"+d+"px)";D=b,i(r,"webkitTransform",e),i(r,"mozTransform",e),i(r,"msTransform",e),i(r,"transform",e),a.preventDefault()}},_onDragStart:function(a,b){var c=a.dataTransfer,d=this.options;if(this._offUpEvents(),"clone"==B.pull&&(s=q.cloneNode(!0),i(s,"display","none"),t.insertBefore(s,q)),b){var e,g=q.getBoundingClientRect(),h=i(q);r=q.cloneNode(!0),i(r,"top",g.top-I(h.marginTop,10)),i(r,"left",g.left-I(h.marginLeft,10)),i(r,"width",g.width),i(r,"height",g.height),i(r,"opacity","0.8"),i(r,"position","fixed"),i(r,"zIndex","100000"),t.appendChild(r),e=r.getBoundingClientRect(),i(r,"width",2*g.width-e.width),i(r,"height",2*g.height-e.height),"touch"===b?(f(H,"touchmove",this._onTouchMove),f(H,"touchend",this._onDrop),f(H,"touchcancel",this._onDrop)):(f(H,"mousemove",this._onTouchMove),f(H,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,150)}else c&&(c.effectAllowed="move",d.setData&&d.setData.call(this,c,q)),f(H,"drop",this);setTimeout(this._dragStarted,0)},_onDragOver:function(a){var c,e,f,g=this.el,h=this.options,j=h.group,k=j.put,n=B===j,o=h.sort;if(q&&(void 0!==a.preventDefault&&(a.preventDefault(),!h.dragoverBubble&&a.stopPropagation()),B&&!h.disabled&&(n?o||(f=!t.contains(q)):B.pull&&k&&(B.name===j.name||k.indexOf&&~k.indexOf(B.name)))&&(void 0===a.rootEl||a.rootEl===this.el))){if(R(a,h,this.el),K)return;if(c=d(a.target,h.draggable,g),e=q.getBoundingClientRect(),f)return b(!0),void(s||u?t.insertBefore(q,s||u):o||t.appendChild(q));if(0===g.children.length||g.children[0]===r||g===a.target&&(c=m(g,a))){if(c){if(c.animated)return;v=c.getBoundingClientRect()}b(n),g.appendChild(q),this._animate(e,q),c&&this._animate(v,c)}else if(c&&!c.animated&&c!==q&&void 0!==c.parentNode[F]){x!==c&&(x=c,y=i(c));var p,v=c.getBoundingClientRect(),w=v.right-v.left,z=v.bottom-v.top,A=/left|right|inline/.test(y.cssFloat+y.display),C=c.offsetWidth>q.offsetWidth,D=c.offsetHeight>q.offsetHeight,E=(A?(a.clientX-v.left)/w:(a.clientY-v.top)/z)>.5,G=c.nextElementSibling;K=!0,setTimeout(l,30),b(n),p=A?c.previousElementSibling===q&&!C||E&&C:G!==q&&!D||E&&D,p&&!G?g.appendChild(q):c.parentNode.insertBefore(q,p?G:c),this._animate(e,q),this._animate(v,c)}}},_animate:function(a,b){var c=this.options.animation;if(c){var d=b.getBoundingClientRect();i(b,"transition","none"),i(b,"transform","translate3d("+(a.left-d.left)+"px,"+(a.top-d.top)+"px,0)"),b.offsetWidth,i(b,"transition","all "+c+"ms"),i(b,"transform","translate3d(0,0,0)"),clearTimeout(b.animated),b.animated=setTimeout(function(){i(b,"transition",""),i(b,"transform",""),b.animated=!1},c)}},_offUpEvents:function(){g(H,"mouseup",this._onDrop),g(H,"touchmove",this._onTouchMove),g(H,"touchend",this._onDrop),g(H,"touchcancel",this._onDrop)},_onDrop:function(b){var c=this.el,d=this.options;clearInterval(this._loopId),clearInterval(E.pid),g(H,"drop",this),g(H,"mousemove",this._onTouchMove),g(c,"dragstart",this._onDragStart),this._offUpEvents(),b&&(b.preventDefault(),!d.dropBubble&&b.stopPropagation(),r&&r.parentNode.removeChild(r),q&&(g(q,"dragend",this),k(q),h(q,this.options.ghostClass,!1),t!==q.parentNode?(A=o(q),L(q.parentNode,"sort",q,t,z,A),L(t,"sort",q,t,z,A),L(q,"add",q,t,z,A),L(t,"remove",q,t,z,A)):(s&&s.parentNode.removeChild(s),q.nextSibling!==u&&(A=o(q),L(t,"update",q,t,z,A),L(t,"sort",q,t,z,A))),a.active&&L(t,"end",q,t,z,A)),t=q=r=u=s=v=w=C=D=x=y=B=a.active=null,this.save())},handleEvent:function(a){var b=a.type;"dragover"===b||"dragenter"===b?(this._onDragOver(a),e(a)):("drop"===b||"dragend"===b)&&this._onDrop(a)},toArray:function(){for(var a,b=[],c=this.el.children,e=0,f=c.length;f>e;e++)a=c[e],d(a,this.options.draggable,this.el)&&b.push(a.getAttribute("data-id")||n(a));return b},sort:function(a){var b={},c=this.el;this.toArray().forEach(function(a,e){var f=c.children[e];d(f,this.options.draggable,c)&&(b[a]=f)},this),a.forEach(function(a){b[a]&&(c.removeChild(b[a]),c.appendChild(b[a]))})},save:function(){var a=this.options.store;a&&a.set(this)},closest:function(a,b){return d(a,b||this.options.draggable,this.el)},option:function(a,b){var c=this.options;return void 0===b?c[a]:void(c[a]=b)},destroy:function(){var a=this.el,b=this.options;M.forEach(function(c){g(a,c.substr(2).toLowerCase(),b[c])}),g(a,"mousedown",this._onTapStart),g(a,"touchstart",this._onTapStart),g(a,"dragover",this),g(a,"dragenter",this),Array.prototype.forEach.call(a.querySelectorAll("[draggable]"),function(a){a.removeAttribute("draggable")}),Q.splice(Q.indexOf(this._onDragOver),1),this._onDrop(),this.el=null}},a.utils={on:f,off:g,css:i,find:j,bind:c,is:function(a,b){return!!d(a,b,a)},throttle:p,closest:d,toggleClass:h,dispatchEvent:L,index:o},a.version="1.1.1",a.create=function(b,c){return new a(b,c)},a});
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  function getCookie(cname) {
5
  var name = cname + "=";
6
  var ca = document.cookie.split(';');
7
+ for (var i = 0; i < ca.length; i++) {
8
  var c = ca[i];
9
+ while (c.charAt(0) == ' ') c = c.substring(1);
10
+ if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
11
  }
12
  return "";
13
  }
14
 
 
15
  var FTG = function($) {
16
  var _loading = null;
17
  var $backToTop = null;
18
 
 
 
19
  return {
20
  show_loading: function() {
21
  $("#spinner").addClass('shown');
36
  load_images: function() {
37
  if (!_loading)
38
  FTG.show_loading();
39
+
40
  var source = $("[name=ftg_source]").val();
41
  var post_type = '';
42
+ var data = {
43
+ action: 'refresh_gallery',
 
44
  source: source,
45
  list_size: currentListSize,
46
  FinalTiles_gallery: $('#FinalTiles_gallery').val(),
47
  gid: $("#gallery-id").val()
48
+ };
49
+
50
+ if (source == "woocommerce") {
51
+ data.woo_categories = $("[name=woo_cat]:checked").map(function() {
52
+ return this.value;
53
+ }).get().join();
54
+ }
55
+ if (source == "posts") {
56
+ data.post_categories = $("[name=post_categories]:checked").map(function() {
57
+ return this.value;
58
+ }).get().join();
59
+
60
+ data.post_types = $("[name=post_types]:checked").map(function() {
61
+ return this.value;
62
+ }).get().join();
63
+
64
+ data.post_tags = $("[name=post_tags]:checked").map(function() {
65
+ return this.value;
66
+ }).get().join();
67
+
68
+ data.ftg_max_posts = $("[name=ftg_max_posts]").val();
69
+ }
70
 
71
  $.post(ajaxurl, data, function(html) {
72
  $("#image-list").empty().append(html);
73
  if (source == 'images') {
74
  $("#image-list").sortable({
75
+ cancel: ".nosort",
76
  update: function() {
77
  FTG.show_loading();
78
  var ids = [];
146
  }
147
  }
148
  });
149
+ },
150
+ init_gallery: function() {
151
+
152
+ var source = $('[name=ftg_source').val();
153
+ },
154
+ refresh_woocommerce: function() {
155
+ FTG.show_loading();
156
+ var data = {
157
+ action: 'refresh_gallery',
158
+ source: 'woocommerce',
159
+ FinalTiles_gallery: $('#FinalTiles_gallery').val()
160
+ };
161
+ data.woo_categories = $("[name=woo_cat]:checked").map(function() {
162
+ return this.value;
163
+ }).get().join();
164
+
165
+ $.ajax({
166
+ url: ajaxurl,
167
+ type: 'post',
168
+ data: data,
169
+ error: function(a, b, c) {
170
+ console.log(a, b, c);
171
+ FTG.hide_loading();
172
+ },
173
+ success: function(html) {
174
+ $("#image-list").empty().append(html)
175
+ FTG.hide_loading();
176
+ }
177
+ });
178
+ },
179
+ refresh_posts: function() {
180
+ FTG.show_loading();
181
+ var data = {
182
+ action: 'refresh_gallery',
183
+ source: 'posts',
184
+ FinalTiles_gallery: $('#FinalTiles_gallery').val()
185
+ };
186
+ data.post_categories = $("[name=post_categories]:checked").map(function() {
187
+ return this.value;
188
+ }).get().join();
189
+
190
+ data.post_types = $("[name=post_types]:checked").map(function() {
191
+ return this.value;
192
+ }).get().join();
193
 
194
+ data.post_tags = $("[name=post_tags]:checked").map(function() {
195
+ return this.value;
196
+ }).get().join();
197
+
198
+ data.ftg_max_posts = $("[name=ftg_max_posts]").val();
199
+
200
+ $.ajax({
201
+ url: ajaxurl,
202
+ data: data,
203
+ type: "post",
204
+ error: function(a, b, c) {
205
+ console.log(a, b, c);
206
+ FTG.hide_loading();
207
+ },
208
+ success: function(html) {
209
+ $("#image-list").empty().append(html)
210
+ FTG.hide_loading();
211
+ }
212
+ });
213
+ },
214
  save_gallery: function() {
215
  // !gallery save
216
  var data = {};
217
  data.action = 'save_gallery';
 
 
218
 
219
  $(".form-fields").find("input[type=text], input[type=range], select, input:checked, input[type=hidden], textarea").each(function() {
220
  var name = $(this).attr("name");
256
  FTG.hide_loading();
257
  },
258
  success: function(r) {
259
+ if (data.ftg_gallery_edit) {
 
260
  FTG.hide_loading();
261
  toast("Gallery saved", 2000);
262
+ } else
 
263
  location.href = "?page=edit-gallery";
264
  }
265
  });
266
  },
 
267
  /*! FTG Choose images */
268
+ choose_images: function(currentImageSize, caption_field, title_field, callback) {
269
  tgm_media_frame = wp.media.frames.tgm_media_frame = wp.media({
270
  multiple: true,
271
  library: {
272
  type: 'image'
273
  },
274
+ date: true,
275
  title: 'Add image(s)',
276
  button: {
277
  text: 'Add image(s)'
290
 
291
  tgm_media_frame.on('select', function() {
292
  var selection = tgm_media_frame.state().get('selection');
293
+ //var images = [];
294
 
295
  var errors = 0;
296
  selection.map(function(attachment) {
308
  if (caption_field != 'none')
309
  obj.description = attachment[caption_field];
310
 
311
+ if (title_field != 'none')
312
+ obj.title = attachment[title_field];
 
 
313
 
314
  if (attachment.sizes.thumbnail)
315
  obj.thumbnail = attachment.sizes.thumbnail.url;
316
 
317
+ if (attachment.sizes.large)
318
+ obj.altImagePath = attachment.sizes.large.url;
319
 
320
+ $.ajax({
321
+ url: ajaxurl,
322
+ async: false,
323
+ type: 'POST',
324
+ data: {
325
+ action: 'get_image_size_url',
326
+ FinalTiles_gallery: $('#FinalTiles_gallery').val(),
327
+ id: attachment.id,
328
+ size: currentImageSize
329
+ },
330
+ success: function(url) {
331
+ obj.imagePath = url;
332
 
333
+ //images.push(obj);
 
 
334
 
335
+ if (errors) {
336
+ alert(errors + " images could not be added because the selected size is not available");
337
+ }
338
+ callback([obj]);
339
+ },
340
+ error: function () {
341
+ alert("Error adding image");
342
+ callback([obj]);
343
+ }
344
+ });
345
+ });
346
  });
347
 
348
  tgm_media_frame.open();
349
  },
 
350
  bind: function() {
351
 
352
  currentListSize = 'medium';
353
+ if (getCookie('ftg_imglist_size'))
354
  currentListSize = getCookie('ftg_imglist_size');
355
+ $("#listview-" + currentListSize).addClass("selected");
356
+ $(".list-view-control li").click(function() {
357
+ currentListSize = $(this).data('size');
358
+ FTG.load_images();
359
+ $(".list-view-control li").removeClass("selected");
360
+ $(this).addClass("selected");
361
+
362
+ });
363
+
364
+ $(".reset-default-filter").click(function(e) {
365
+ e.preventDefault();
366
+
367
+ $("[name='ftg_filterDef']").each(function() {
368
+ this.checked = false;
369
+ });
370
+ });
371
+
372
+ $("body").on("keyup", ".filters .f", function() {
373
+ $(this).siblings("input").val(this.value);
374
+ });
375
 
376
+ $('.import-export a').click(function() {
377
 
378
+ if ($(this).attr('id') == 'export-settings') {
379
+
380
+ var data = {
381
+ action: 'get_gallery_configuration',
382
+ galleryId: $("#gallery-id").val(),
383
+ FinalTiles_gallery: $('#FinalTiles_gallery').val()
384
+ };
385
+ $.ajax({
386
+ url: ajaxurl,
387
+ type: 'POST',
388
+ data: data,
389
+ success: function(r) {
390
+ $('#export-modal .modal-content textarea').val(r);
391
+ $('#export-modal .modal-content textarea').attr('readonly', 'readonly');
392
+ $('#export-modal').openModal();
393
+ }
394
+
395
+ });
396
+ } else if ($(this).attr('id') == 'import-settings') {
397
+ $('#import-modal').openModal();
398
+ }
399
+ });
400
+
401
+ $('#import-modal .modal-footer a[data-action=save]').click(function() {
402
+ var config = $('#import-modal .modal-content textarea').val();
403
+
404
+ var data = {
405
+ action: 'update_gallery_configuration',
406
+ config: config,
407
+ galleryId: $("#gallery-id").val(),
408
+ FinalTiles_gallery: $('#FinalTiles_gallery').val()
409
+ };
410
+
411
+ if (config != "") {
412
+ $.ajax({
413
+ url: ajaxurl,
414
+ type: 'POST',
415
+ data: data,
416
+ success: function(r) {
417
+ alert("Gallery configuration has been updated successfully");
418
+ }
419
+ });
420
+ }
421
+ });
422
+
423
+ $("[name=ftg_layout]").change(function() {
424
+
425
+ var bp = ['', 'TabletLandscape', 'TabletPortrait', 'PhoneLandscape', 'PhonePortrait', 'Custom'];
426
+ if ($(this).val() == "final") {
427
+ $.each(bp, function() {
428
+ $(".row-imageSizeFactor" + this).show();
429
+ $(".row-columns" + this).hide();
430
+ });
431
+ } else {
432
+ $.each(bp, function() {
433
+ $(".row-imageSizeFactor" + this).hide();
434
+ $(".row-columns" + this).show();
435
+ });
436
+ $("[name=ftg_gridCellSize]").val(0);
437
+ }
438
+ }).change();
439
+
440
+ $(".filter-select-control li").click(function() {
441
+ $('#image-list .item').removeClass('selected');
442
+ var currentFilter = $(this).html().trim();
443
+ $(".filter-select-control li").removeClass('selected');
444
+ $(this).addClass('selected');
445
+ $('[data-type=image]').each(function() {
446
+
447
+ var img = $(this);
448
+ var filters = $(this).find('.current_image_filter').val().split('|');
449
+
450
+ if ($.inArray(currentFilter, filters) >= 0) {
451
+ img.addClass('selected');
452
+ }
453
+ })
454
+ });
455
+
456
+ $('[name="ftg_lightbox"]').change(function () {
457
+ if($(this).val() == "everlightbox")
458
+ $(".ftg-everlightbox-settings").show();
459
+ else
460
+ $(".ftg-everlightbox-settings").hide();
461
+ }).change();
462
+
463
+ $("#image-list").on("mouseenter", ".item .filters li", function() {
464
+ $(this).css('cursor', 'pointer');
465
+ });
466
+
467
+ $("#image-list").on("click", ".item .filters li", function() {
468
+ var filter = $(this).html().trim();
469
+
470
+ $('.filter-select-control li').removeClass('selected');
471
+ $('.filter-select-control li:contains(' + filter + ')').addClass('selected');
472
+ $('#image-list .item').removeClass('selected');
473
+ $('[data-type=image]').each(function() {
474
+
475
+ var img = $(this);
476
+ var filters = $(this).find('.current_image_filter').val().split('|');
477
+
478
+ if ($.inArray(filter, filters) >= 0) {
479
+ img.addClass('selected');
480
+ }
481
+ })
482
+
483
+ });
484
+
485
+ $('.js-ajax-loading-control').change(function () {
486
+ if($(this).val() == "F")
487
+ {
488
+ $(".js-ajax-loading").hide();
489
+ }
490
+ else
491
+ {
492
+ var val = parseInt($('[name="ftg_tilesPerPage"]').val());
493
+ if(val == 0)
494
+ $('[name="ftg_tilesPerPage"]').val(20);
495
+ $(".js-ajax-loading").show();
496
+ }
497
+ }).change();
498
+
499
+ $(".field .text .integer-only").keypress(function(e) {
500
  var charCode = (e.which) ? e.which : e.keyCode;
501
 
502
+ if (charCode != 46 && charCode > 31 &&
503
+ (charCode < 48 || charCode > 57))
504
+ return false;
505
 
506
  return true;
507
  });
513
  $("#add-gallery, .update-gallery").click(function(e) {
514
  e.preventDefault();
515
  FTG.save_gallery();
516
+ });
517
+ $(".filters a").click(function(e) {
518
+ e.preventDefault();
519
+ FTG.add_filter();
520
+ });
521
+ $(".custom_isf a").click(function(e) {
522
+ e.preventDefault();
523
+ FTG.add_isf();
524
+ });
525
  $("#image-list").on("click", ".item .thumb", function() {
526
  $(this).parents(".item").toggleClass("selected");
527
  $(this).parents(".item").find(".checkbox").toggleClass("checked");
528
  });
529
+ $("#image-panel-model input[name=hidden]").click(function () {
530
+ if(this.checked)
531
+ $(".js-no-hidden").hide();
532
+ else
533
+ $(".js-no-hidden").show();
534
+ });
535
  $("#image-list").on("click", ".edit", function(e) {
536
  e.preventDefault();
537
  var source = $("[name=ftg_source]").val();
538
 
539
  var $item = $(this).parents(".item");
540
+ if ($item.data("type") == "video")
541
+ {
542
  // !video edit
543
  var embed = $("pre.imagepath", $item).html();
544
  embed = String(embed).replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '"');
545
 
546
+ var selFilters = $item.find("[name=filters]").val().split('|');
547
  var $panel = $("#video-panel-model");
548
+ $('#video-panel-action').val('edit');
549
+
550
+ var filters = $(".gallery-filters [name=ftg_filters]").val().split('|');
551
+ $(".video-filters", $panel).empty();
552
+ for (var i = 0; i < filters.length; i++) {
553
+ if ($.trim(filters[i]).length > 0) {
554
+ var ft = $("<input type='checkbox' />");
555
+ ft.val($.trim(filters[i]));
556
+ ft.attr("id", "vidft" + i);
557
+ $(".video-filters", $panel).append(ft);
558
+
559
+ ft.after("<label for='vidft" + i + "'>" + $.trim(filters[i]) + "</label>");
560
+ if ($.inArray(filters[i], selFilters) > -1)
561
+ ft.attr("checked", "checked");
562
+ }
563
+ }
564
+
565
  $("textarea", $panel).val(embed);
566
  $("input[type=hidden]", $item).each(function() {
567
  if ($(this).attr("name"))
568
  $(this).clone().appendTo($panel);
569
  });
570
  $(".save", $panel).text("Update");
571
+
572
+ $panel.openModal();
573
  return;
574
  }
575
 
576
  var panel = $("#image-panel-model"); //.clone().attr("id", "image-panel");
577
  panel.attr("data-source", $("[name=ftg_source]").val());
578
  panel.openModal();
579
+
580
  panel.find(".copy").remove();
581
 
582
  $("[name=target]", panel).val($("[name=target]", $item).val());
583
  $("[name=link]", panel).val($("[name=link]", $item).val());
584
+ $("[name=group]", panel).val($("[name=group]", $item).val());
585
  $(".figure", panel).empty().append($("img", $item).clone());
586
+ $(".figure", panel).css("background", $item.find(".figure").css("background"));
587
  $(".sizes", panel).empty().append($("select", $item).clone().addClass("browser-default"));
588
+ $("[name=description]", panel).val($("pre.description", $item).html());
589
  $(".copy", $item).clone().appendTo(panel);
590
+ $('[name=imageTitle]', panel).val($('#img-title', $item).val());
591
+ $("[name=hidden]", panel).get(0).checked = $("[name=hidden]", $item).val() == 'T';
592
+
593
+ if($("[name=hidden]", panel).get(0).checked)
594
+ $(".js-no-hidden").hide();
595
+ else
596
+ $(".js-no-hidden").show();
597
 
598
  if (source == 'posts') {
599
  panel.find("[name=link], textarea").hide();
600
+ }
601
 
602
  var link = $item.find("[name=link]").val();
603
 
612
  FinalTiles_gallery: $('#FinalTiles_gallery').val()
613
  };
614
  $("input[type=text], input[type=hidden], input[type=radio]:checked, input[type=checkbox]:checked, textarea, select", panel).each(function() {
615
+
616
  if ($(this).attr("name"))
617
  data[$(this).attr("name")] = $(this).val();
618
  });
619
+
 
 
 
 
 
 
620
 
621
  $("#image-panel .close").trigger("click");
622
  FTG.show_loading();
637
  break;
638
  }
639
  });
640
+ });
641
+
642
+ $("body").on("change", "[name=ftg_source]", function() {
643
+ $("#images .source-panel").hide();
644
+ $("#images .source-" + $(this).val()).show();
645
+
646
+ var source = $(this).val();
647
+
648
+ $(".bulk [data-action='remove']").hide();
649
+ if (source == 'images') {
650
+ FTG.load_images();
651
+ $(".bulk [data-action='remove']").show();
652
+ }
653
+ if (source == 'posts') {
654
+
655
+ FTG.refresh_posts();
656
+ }
657
+ if (source == 'woocommerce') {
658
+ FTG.refresh_woocommerce();
659
+ }
660
+
661
+ });
662
+
663
+ var refreshPostsTO = 0;
664
+ $("body").on("click", "[name=post_types],[name=post_categories],[name=post_tags]", function() {
665
+ $("[name=ftg_post_categories]").val($("[name=post_categories]:checked").map(function() {
666
+ return this.value;
667
+ }).get().join());
668
+
669
+ $("[name=ftg_post_types]").val($("[name=post_types]:checked").map(function() {
670
+ return this.value;
671
+ }).get().join());
672
+
673
+ $("[name=ftg_post_tags]").val($("[name=post_tags]:checked").map(function() {
674
+ return this.value;
675
+ }).get().join());
676
+
677
+ FTG.refresh_posts();
678
+ });
679
+ $("body").on("keyup", "[name=ftg_max_posts]", function() {
680
+ var delay = setTimeout(function() {
681
+ clearTimeout(delay);
682
+ FTG.refresh_posts();
683
+ }, 500);
684
+ });
685
+ $("body").on("click", "[name=woo_cat]", function() {
686
+ $("[name=ftg_woo_categories]").val($("[name=woo_cat]:checked").map(function() {
687
+ return this.value;
688
+ }).get().join());
689
+
690
+ FTG.refresh_woocommerce();
691
+ });
692
  $("body").on("click", "[name=click_action]", function() {
693
  if ($(this).val() == "url") {
694
  $(this).siblings("[name=url]").get(0).disabled = false;
714
  case "toggle":
715
  $("#images .item").toggleClass("selected");
716
  $("#images .item .checkbox").toggleClass("checked");
717
+ break;
718
+ case "show-hide":
719
+ var selected = [];
720
+ $("#images .item.selected").each(function(i, o) {
721
+ selected.push($(o).data("id"));
722
+ });
723
+ if (selected.length == 0) {
724
+ alert("No images selected");
725
+ } else {
726
+ $(".panel", $bulk).hide();
727
+ $(".panel strong", $bulk).text("");
728
+ $(".panel .text", $bulk).text("Toggle visibility on selected images?");
729
+ $(".panel .input", $bulk).hide();
730
+ $(".panel input", $bulk).val("");
731
+
732
+ $(".cancel", $bulk).unbind("click").click(function(e) {
733
+ e.preventDefault();
734
+ $(".panel", $bulk).slideUp();
735
+ });
736
+
737
+ $(".proceed", $bulk).unbind("click").click(function(e) {
738
+ e.preventDefault();
739
+
740
+ $(".panel", $bulk).slideUp();
741
+
742
+ var data = {
743
+ action: 'toggle_visibility',
744
+ FinalTiles_gallery: $('#FinalTiles_gallery').val(),
745
+ id: selected.join(",")
746
+ };
747
+
748
+ FTG.show_loading();
749
+ $.post(ajaxurl, data, function() {
750
+ FTG.hide_loading();
751
+ FTG.load_images();
752
+ });
753
+ });
754
+
755
+ $(".panel", $bulk).slideDown();
756
+ }
757
+ break;
758
+ break;
759
+ case "group":
760
+ var selected = [];
761
+ $("#images .item.selected").each(function(i, o) {
762
+ selected.push($(o).data("id"));
763
+ });
764
+ if (selected.length == 0) {
765
+ alert("No images selected");
766
+ } else {
767
+ $(".panel", $bulk).hide();
768
+ $(".panel strong", $bulk).text("");
769
+ $(".panel .text", $bulk).text("");
770
+ $(".panel .input", $bulk).show();
771
+ $(".panel input", $bulk).val("");
772
+
773
+ $(".cancel", $bulk).unbind("click").click(function(e) {
774
+ e.preventDefault();
775
+ $(".panel", $bulk).slideUp();
776
+ });
777
+
778
+ $(".proceed", $bulk).unbind("click").click(function(e) {
779
+ e.preventDefault();
780
+
781
+ $(".panel", $bulk).slideUp();
782
+
783
+ var data = {
784
+ action: 'assign_group',
785
+ FinalTiles_gallery: $('#FinalTiles_gallery').val(),
786
+ group: $(".panel input", $bulk).val(),
787
+ id: selected.join(",")
788
+ };
789
+
790
+ FTG.show_loading();
791
+ $.post(ajaxurl, data, function() {
792
+ FTG.hide_loading();
793
+ FTG.load_images();
794
+ });
795
+ });
796
+
797
+ $(".panel", $bulk).slideDown();
798
+ }
799
  break;
800
  case "remove":
801
+ $(".panel", $bulk).hide();
802
+ $(".panel strong", $bulk).text("");
803
+ $(".panel .text", $bulk).text("");
804
+ $(".panel .input", $bulk).hide();
805
+ $(".panel input", $bulk).val("");
806
+
807
  var selected = [];
808
  $("#images .item.selected").each(function(i, o) {
809
  selected.push($(o).data("id"));
842
  break;
843
  }
844
  });
845
+ $("body").on("click", ".lever", function() {
846
+ if ($(this).siblings("input").attr("checked"))
847
+ $(this).siblings("input").removeAttr("checked");
848
+ else
849
+ $(this).siblings("input").attr("checked", "checked");
850
  });
851
  $("body").on("click", ".show-help", function(e) {
852
+ e.preventDefault();
853
+ $(this).parents(".field:first").find(".help").show();
854
+ });
855
+
856
  $(".open-media-panel").on("click", function(e) {
857
  e.preventDefault();
 
858
  var currentImageSize = $(".current-image-size").val();
859
  var caption_field = $("[name=ftg_wp_field_caption]").val();
860
+
861
+ var title_field = $("[name=ftg_wp_field_title]").val();
862
+ FTG.choose_images(currentImageSize, caption_field, title_field, function(images) {
863
+
864
+
865
  var data = {
866
  action: 'add_image',
867
  enc_images: JSON.stringify(images),
877
  type: "post",
878
  error: function(a, b, c) {
879
  FTG.hide_loading();
880
+ console.log(a, b, c);
881
  alert("error adding images");
882
  },
883
  success: function(r) {
889
  });
890
  });
891
  });
892
+ $(".jump").on("change", function() {
893
+ var field = $(this).val();
894
+ $('html, body').animate({
895
+ scrollTop: $(".row-" + field).offset().top - 20
896
+ }, 1000);
897
+ $(this).get(0).selectedIndex = 0;
898
+ });
899
+ $backToTop.on("click", function(e) {
900
+ e.preventDefault();
901
+
902
+ var to = $(".collapsible .active").length ?
903
+ $(".collapsible .active").offset().top - 28 :
904
+ 0;
905
+
906
+ $('html, body').animate({
907
+ scrollTop: to
908
+ }, 1000);
909
+ });
910
+ $(".collapsible-header").click(function() {
911
+ var el = this;
912
+ setTimeout(function() {
913
+ if ($(el).parent().hasClass("active")) {
914
+ $('html, body').animate({
915
+ scrollTop: $(el).offset().top - 28
916
+ }, 500);
917
+ }
918
+ }, 500);
919
+ });
920
+ $(".bullet-menu li a").click(function(e) {
921
+ e.preventDefault();
922
+
923
+ var target = $(this).attr("rel");
924
+ $("#" + target + " .collapsible-header").click();
925
+ setTimeout(function() {
926
+ $('html, body').animate({
927
+ scrollTop: $("#" + target).offset().top - 28
928
+ }, 1000);
929
+ }, 500);
930
+
931
+
932
  });
933
  },
934
+ init: function() {
935
+ $backToTop = $(".back-to-top");
936
+ FTG.bind();
937
+ // $("[name=ftg_source]").change();
938
+ $imageList = $("#image-list");
939
+ setInterval(function() {
940
+ $("iframe", $imageList).each(function(i, o) {
941
+ $(o).height($(o).width());
942
+ });
943
+ }, 1000);
944
+
945
+
946
  }
947
  }
948
  }(jQuery);
997
  $("[name=post_categories]").val("");
998
  $("[name=woo_categories]").val("");
999
  $("[name=post_tags]").val("");
1000
+ //$("[name=ftg_max_posts]").val(0);
1001
+ } else if (branch == 'posts') {
1002
+ $(".select-images").hide();
1003
+ $("[name=enc_images]").val("");
1004
+
1005
+ var categories = [];
1006
+ $("[name=_post_categories]:checked").each(function() {
1007
+ categories.push(this.value);
1008
+ });
1009
+ $("[name=post_categories]").val(categories.join(','));
1010
+
1011
+ var tags = [];
1012
+ $("[name=_post_tags]:checked").each(function() {
1013
+ tags.push(this.value);
1014
+ });
1015
+ $("[name=post_tags]").val(tags.join(','));
1016
+ } else {
1017
+ $(".select-images").hide();
1018
+ $("[name=enc_images]").val("");
1019
+
1020
+ var categories = [];
1021
+ $("[name=_woo_categories]:checked").each(function() {
1022
+ categories.push(this.value);
1023
+ });
1024
+ $("[name=woo_categories]").val(categories.join(','));
1025
+ }
1026
  } else {
1027
  $(this).text("Next");
1028
  }
1058
  }).text("Next");
1059
  });
1060
 
 
1061
  /*! Wizard add images */
1062
  $_wizard.find(".add-images").click(function(e) {
1063
  e.preventDefault();
1064
  var size = $_wizard.find("[name=def_imgsize]").val();
1065
+ var caption_field = $("[name=ftg_wp_field_caption]").val();
1066
+ var title_field = $("[name=ftg_wp_field_title]").val();
1067
+ FTG.choose_images(size, caption_field, title_field, function(images) {
1068
+
1069
+ var addImages = [];
1070
+ if($("[name=enc_images]").val())
1071
+ addImages = JSON.parse($("[name=enc_images]").val());
1072
+ addImages.push(images[0]);
1073
+
1074
+ $("[name=enc_images]").val(JSON.stringify(addImages));
1075
 
1076
  $.each(images, function() {
1077
 
1093
  });
1094
  },
1095
  save: function() {
 
1096
  var data = $_wizard.find("form").serialize();
1097
+
1098
  $_wizard.find("footer a").addClass("disabled");
1099
  $_wizard.find(".loading").show();
1100
 
1111
  $_wizard.find(".loading").hide();
1112
 
1113
  $_success = $('#success');
1114
+ $_success.find(".code").val("[FinalTilesGallery id='" + id + "']");
1115
  $_success.find(".gallery-name").text($("[name=ftg_name]").val());
1116
  $_success.find(".customize").attr("href", "?page=ftg-lite-gallery-admin&id=" + id);
1117
 
1122
  }
1123
  }(jQuery);
1124
  jQuery(function() {
1125
+ jQuery(".pickColor").wpColorPicker();
1126
  FTG.init();
1127
  FTGWizard.init();
1128
  });
admin/support.php CHANGED
@@ -1,24 +1,13 @@
1
  <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die(_e('You are not allowed to call this page directly.','final-tiles-gallery')); } ?>
2
- <?php $ftg_subtitle = "Support"; ?>
3
  <?php include "header.php" ?>
4
 
5
 
6
  <div class="container">
7
  <div class="row">
8
- <div class="section s12 m12 l12 col" id="support-page">
9
  <p>
10
- <strong><?php _e('Having problems with the plugin? No panic, you have two roads:','final-tiles-gallery'); ?></strong><br>
11
- <br>
12
- 1) <?php _e('write on','final-tiles-gallery')?> <a href="https://wordpress.org/support/plugin/final-tiles-grid-gallery-lite" target="_blank"><?php _e('support forum.','final-tiles-gallery')?></a> <?php _e("We'll try to answer as soon as we can;",'final-tiles-gallery')?><br>
13
- <br>
14
- - <?php _e('or','final-tiles-gallery')?> -<br>
15
- <br>
16
- 2) <?php _e('buy the PRO version and get fast and guaranteed help on our','final-tiles-gallery')?> <a href="http://greentreelabs.ticksy.com" target="_blank"><?php _e('support platform','final-tiles-gallery') ?></a>.
17
- </p>
18
-
19
- <p>
20
- <?php _e('In both cases, remember:','final-tiles-gallery') ?><br>
21
- <?php _e('to get a fast solution you should gather these basic but important informations','final-tiles-gallery')?></strong>:
22
  </p>
23
  <ul>
24
  <li><?php _e('URL of the page with the gallery;','final-tiles-gallery')?> </li>
@@ -33,6 +22,19 @@
33
  <li><?php _e('See if the problem is repeatable, also on another computers.','final-tiles-gallery')?></li>
34
  </ul>
35
  <p><strong><?php _e("The more complete these informations are, the faster we'll be our response",'final-tiles-gallery')?></strong> <?php _e("(aware out time zome, we're +1 GMT), thanks!",'final-tiles-gallery')?></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  </div>
37
  </div>
38
  </div>
1
  <?php if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die(_e('You are not allowed to call this page directly.','final-tiles-gallery')); } ?>
2
+ <?php $ftg_subtitle = "Support" ?>
3
  <?php include "header.php" ?>
4
 
5
 
6
  <div class="container">
7
  <div class="row">
8
+ <div class="section s12 m12 l12 col" id="support-page">
9
  <p>
10
+ Collect the following informations before opening a new support thread:
 
 
 
 
 
 
 
 
 
 
 
11
  </p>
12
  <ul>
13
  <li><?php _e('URL of the page with the gallery;','final-tiles-gallery')?> </li>
22
  <li><?php _e('See if the problem is repeatable, also on another computers.','final-tiles-gallery')?></li>
23
  </ul>
24
  <p><strong><?php _e("The more complete these informations are, the faster we'll be our response",'final-tiles-gallery')?></strong> <?php _e("(aware out time zome, we're +1 GMT), thanks!",'final-tiles-gallery')?></p>
25
+ <p>
26
+ Write on our support <a href="https://wordpress.org/support/plugin/final-tiles-grid-gallery-lite" target="_bloank">forum</a>.<br>
27
+ We'll try to give you an answer as soon as we can.
28
+ </p>
29
+ <p>
30
+ If you're in a rush and need a priority and dedicated support then
31
+ please consider <a href="http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351" target="_blank">buying a license</a>. That will also extend your plugin
32
+ with a lot of new features.
33
+ </p>
34
+ <p class="buttons">
35
+ <a class="waves-effect waves-light btn" href="https://wordpress.org/support/plugin/final-tiles-grid-gallery-lite" target="_blank"><i class="mdi-content-send right"></i> <?php _e('Go to support forum','final-tiles-gallery')?> </a>
36
+ <a class="waves-effect waves-light btn" href="http://1.envato.market/c/288541/275988/4415?u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Ffinal-tiles-wordpress-gallery%2F5189351" target="_blank"><i class="mdi-content-send right"></i> <?php _e('Buy dedicated support + unlock features','final-tiles-gallery')?> </a>
37
+ </p>
38
  </div>
39
  </div>
40
  </div>
admin/tutorial.php CHANGED
@@ -1,14 +1,14 @@
1
- <?php $ftg_subtitle = "Tutorial"; ?>
2
  <?php include "header.php" ?>
3
 
4
  <div class="container" id="tutorial">
5
- <h5><?php _e('Documentation','final-tiles-gallery')?></h5>
6
  <p>
7
- <a href="http://final-tiles-gallery.com/FinalTilesGridGallery-documentation.pdf" target="_blank"><?php _e('Download','final-tiles-gallery')?></a> <?php _e('the documentation or:','final-tiles-gallery')?>
8
- <a target="_blank" href="http://issuu.com/greentreelabs/docs/finaltilesgridgallery-documentation?e=17859916/13243836">read it online</a>
9
  </p>
10
-
11
- <h5> <?php _e('Watch a video tutorial: how to get better grids','final-tiles-gallery') ?></h5>
12
  <p><?php _e('Learn how to make better grids with this video:','final-tiles-gallery')?> <a target="_blank" href="https://www.youtube.com/watch?v=RNT4JGjtyrs">https://www.youtube.com/watch?v=RNT4JGjtyrs</a></p>
13
  <iframe class="fit" width="640" height="360" src="https://www.youtube.com/embed/RNT4JGjtyrs?rel=0" frameborder="0" allowfullscreen></iframe>
14
 
1
+ <?php $ftg_subtitle = "Tutorial" ?>
2
  <?php include "header.php" ?>
3
 
4
  <div class="container" id="tutorial">
5
+ <h5><?php _e('Documentation','final-tiles-gallery') ?></h5>
6
  <p>
7
+ <a href="http://final-tiles-gallery.com/FinalTilesGridGallery-documentation.pdf" target="_blank"><?php _e('Download','final-tiles-gallery')?></a> <?php _e('the documentation or:','final-tiles-gallery') ?>
8
+ <a target="_blank" href="http://issuu.com/greentreelabs/docs/finaltilesgridgallery-documentation?e=17859916/13243836"><?php _e('read it online','final-tiles-gallery')?></a>
9
  </p>
10
+
11
+ <h5><?php _e('Watch a video tutorial: how to get better grids','final-tiles-gallery')?></h5>
12
  <p><?php _e('Learn how to make better grids with this video:','final-tiles-gallery')?> <a target="_blank" href="https://www.youtube.com/watch?v=RNT4JGjtyrs">https://www.youtube.com/watch?v=RNT4JGjtyrs</a></p>
13
  <iframe class="fit" width="640" height="360" src="https://www.youtube.com/embed/RNT4JGjtyrs?rel=0" frameborder="0" allowfullscreen></iframe>
14
 
assets/banner-772x250.jpg DELETED
Binary file
icon.png DELETED
Binary file
lib/db-class.php CHANGED
@@ -1,309 +1,238 @@
1
  <?php
2
- class FinalTilesLiteDB {
3
-
4
- private static $pInstance;
5
-
6
- private function __construct() {}
7
-
8
- public static function getInstance()
9
- {
10
- if(!self::$pInstance) {
11
- self::$pInstance = new FinalTilesLiteDB();
 
 
 
 
 
 
 
 
 
 
12
  }
13
 
14
- return self::$pInstance;
15
- }
16
-
17
- public function query()
18
- {
19
- return "Test";
20
- }
21
-
22
- public function updateConfiguration()
23
- {
24
- global $wpdb;
25
 
26
- $galleries = $wpdb->get_results($wpdb->prepare("SELECT %s FROM $wpdb->FinalTilesGalleries", "*"));
27
- foreach($galleries as $gallery)
28
  {
29
- if(isset($gallery->configuration))
 
 
 
 
 
 
 
 
 
30
  {
31
- unset($gallery->configuration);
32
- $configuration = json_encode($gallery);
33
- $wpdb->update($wpdb->FinalTilesGalleries,
34
- array('configuration' => $configuration),
35
- array('Id' => $gallery->Id));
 
 
 
36
  }
37
  }
38
- }
39
-
40
- public function addGallery($data)
41
- {
42
- global $wpdb;
43
- $configuration = json_encode($data);
44
 
45
- $data = array('configuration' => $configuration);
46
- $galleryAdded = $wpdb->insert( $wpdb->FinalTilesGalleries, $data);
47
- return $galleryAdded;
48
- }
49
-
50
- public function getNewGalleryId()
51
- {
52
- global $wpdb;
53
- return $wpdb->insert_id;
54
- }
55
-
56
- public function deleteGallery($gid)
57
- {
58
- global $wpdb;
59
- $wpdb->query($wpdb->prepare("DELETE FROM $wpdb->FinalTilesImages WHERE gid = %d", $gid));
60
- $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->FinalTilesGalleries WHERE Id = %d", $gid));
61
- }
62
-
63
- public function editGallery($gid, $data)
64
- {
65
- global $wpdb;
66
- $configuration = json_encode($data);
67
-
68
- $g = $wpdb->update($wpdb->FinalTilesGalleries,
69
- array('configuration' => $configuration),
70
- array('Id' => $gid));
71
-
72
- //exit( var_dump( $wpdb->last_query ) );
73
- return $g;
74
- }
75
-
76
- public function getGalleryById($id, $array=false)
77
- {
78
- global $wpdb;
79
- $gallery = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->FinalTilesGalleries WHERE Id = %d", $id));
80
 
81
- if($array)
82
  {
83
- return get_object_vars(json_decode($gallery->configuration));
 
 
 
 
84
  }
85
-
86
- $data = json_decode($gallery->configuration);
87
 
 
 
 
 
 
88
 
89
- // compatibility checks
 
 
 
 
 
90
 
 
 
 
 
 
 
 
 
 
 
 
91
 
92
- if(empty($data->enableTwitter))
93
- $data->enableTwitter = 'F';
94
- if(empty($data->enableFacebook))
95
- $data->enableFacebook = 'F';
96
- if(empty($data->enableGplus))
97
- $data->enableGplus = 'F';
98
- if(empty($data->enablePinterest))
99
- $data->enablePinterest = 'F';
100
- if(empty($data->captionFrame))
101
- $data->captionFrame = "F";
102
- if(empty($data->hoverIconRotation))
103
- $data->hoverIconRotation = "F";
104
- if(empty($data->blank))
105
- $data->blank = "F";
106
- if(empty($data->aClass))
107
- $data->aClass = "";
108
- if(empty($data->rel))
109
- $data->rel = "";
110
- if(empty($data->style))
111
- $data->style = "";
112
- if(empty($data->script))
113
- $data->script = "";
114
- if(empty($data->loadingBarColor))
115
- $data->loadingBarColor = "#fff";
116
- if(empty($data->loadingBarBackgroundColor))
117
- $data->loadingBarBackgroundColor = "#fff";
118
- if(empty($data->backgroundColor))
119
- $data->backgroundColor = "#fff";
120
 
121
- if(empty($data->wp_field_caption))
122
- $data->wp_field_caption = "description";
123
- if(empty($data->captionBehavior))
124
- $data->captionBehavior = "hidden";
 
 
 
 
 
 
 
 
 
 
 
125
 
126
- if(empty($data->imageSizeFactor))
127
- $data->imageSizeFactor = 90;
128
- if(empty($data->imageSizeFactorTabletLandscape))
129
- $data->imageSizeFactorTabletLandscape = 80;
130
- if(empty($data->imageSizeFactorTabletPortrait))
131
- $data->imageSizeFactorTabletPortrait = 70;
132
- if(empty($data->imageSizeFactorPhoneLandscape))
133
- $data->imageSizeFactorPhoneLandscape = 60;
134
- if(empty($data->imageSizeFactorPhonePortrait))
135
- $data->imageSizeFactorPhonePortrait = 50;
136
-
137
- if(empty($data->compressHTML))
138
- $data->compressHTML = 'T';
139
 
140
- if(empty($data->sequentialImageLoading))
141
- $data->sequentialImageLoading = 'T';
 
 
 
 
142
 
143
- if(empty($data->delay))
144
- $data->delay = 0;
 
145
 
 
 
 
146
 
147
- if(empty($data->captionFullHeight))
148
- $data->captionFullHeight = "T";
149
- if(empty($data->captionEmpty))
150
- $data->captionEmpty = "hide";
151
- if(empty($data->captionEffect))
152
- // $data->captionEffect = $gallery->hoverEffect;
153
- if(empty($data->captionBackgroundColor))
154
- $data->captionBackgroundColor = $gallery->hoverColor;
155
- if(empty($data->captionOpacity))
156
- $data->captionOpacity = 80;
157
- if(empty($data->captionEasing))
158
- //$data->captionEasing = $gallery->hoverEasing;
159
- if(empty($data->captionFrame))
160
- $data->captionFrame = "F";
161
- if(empty($data->captionFrameColor))
162
- $data->captionFrameColor = "#ffffff";
163
- if(empty($data->captionEffectDuration))
164
- $data->captionEffectDuration = $gallery->hoverEffectDuration;
165
- if(empty($data->hoverZoom))
166
- $data->hoverZoom = 100;
167
- if(empty($data->hoverRotation))
168
- $data->hoverRotation = 0;
169
- if(empty($data->socialIconColor))
170
- $data->socialIconColor = '#ffffff';
171
- if(empty($data->captionIconSize))
172
- $data->captionIconSize = 12;
173
- if(empty($data->captionFontSize))
174
- $data->captionFontSize = 12;
175
- if(empty($data->source))
176
- $data->source = 'images';
177
- if(empty($data->recentPostsCaption))
178
- $data->recentPostsCaption = 'title';
179
- if(empty($data->recentPostsCaptionAutoExcerptLength))
180
- $data->recentPostsCaptionAutoExcerptLength = 20;
181
- if(empty($data->captionMobileBehavior))
182
- $data->captionMobileBehavior = "desktop";
183
- if(empty($data->imagesOrder))
184
- $data->imagesOrder = "user";
185
- if(empty($data->beforeGalleryText))
186
- $data->beforeGalleryText = "";
187
- if(empty($data->afterGalleryText))
188
- $data->afterGalleryText = "";
189
- if(empty($data->imagesOrder) && !empty($data->shuffle))
190
- $data->imagesOrder = $data->shuffle == 'T' ? "random" : "user";
191
- if(empty($data->support))
192
- $data->support = 'F';
193
- if(empty($data->supportText))
194
- $data->supportText = 'Powered by Final Tiles Grid Gallery';
195
- if(empty($data->envatoReferral))
196
- $data->envatoReferral = "GreenTreeLabs";
197
-
198
- $easings = array("ease", "linear", "ease-in", "ease-out", "ease-in-out");
199
- if(! in_array($data->captionEasing, $easings))
200
- $data->captionEasing = "linear";
201
 
202
- return $data;
203
- }
204
-
205
- public function getGalleries()
206
- {
207
- global $wpdb;
208
- $query = "SELECT Id, configuration FROM $wpdb->FinalTilesGalleries order by id";
209
- $galleryResults = $wpdb->get_results($query);
210
-
211
- $result = array();
212
- foreach($galleryResults as $gallery)
213
- {
214
- $data = json_decode($gallery->configuration);
215
- $data->Id = $gallery->Id;
216
- $result[] = $data;
217
- }
218
- return $result;
219
- }
220
-
221
- public function addVideo($data)
222
- {
223
- global $wpdb;
224
- $videoAdded = $wpdb->insert( $wpdb->FinalTilesImages,
225
- array( 'gid' => $data['gid'], 'imagePath' => $data['imagePath'], 'type' => 'video', 'sortOrder' => 0, 'imageId' => rand(100000, 1000000) ));
226
- $id = $wpdb->insert_id;
227
- $wpdb->update($wpdb->FinalTilesImages, array('sortOrder' => $id), array('id' => $id));
228
- return $videoAdded;
229
- }
230
-
231
- public function editVideo($id, $data)
232
- {
233
- global $wpdb;
234
- $result = $wpdb->update( $wpdb->FinalTilesImages, $data, array( 'Id' => $id ) );
235
- return $result;
236
- }
237
 
238
- public function addImages($gid, $images)
239
- {
240
- global $wpdb;
241
 
242
- foreach ($images as $image) {
243
- $data = array( 'gid' => $gid, 'imagePath' => $image->imagePath,
244
- 'description' => isset($image->description) ? $image->description : "",
245
- 'imageId' => $image->imageId, 'sortOrder' => 0 );
246
- $data['type'] = isset($image->type) ? $image->type : 'image';
247
 
248
-
 
 
 
 
249
  $imageAdded = $wpdb->insert( $wpdb->FinalTilesImages, $data );
250
- $id = $wpdb->insert_id;
251
- $wpdb->update($wpdb->FinalTilesImages, array('sortOrder' => $id), array('id' => $id));
252
  }
253
 
254
- return true;
255
- }
256
-
257
- public function addFullImage($data) {
258
- global $wpdb;
259
- $imageAdded = $wpdb->insert( $wpdb->FinalTilesImages, $data );
260
- return $imageAdded;
261
- }
262
-
263
- public function deleteImage($id) {
264
- global $wpdb;
265
- if($wpdb->query($wpdb->prepare("DELETE FROM $wpdb->FinalTilesImages WHERE Id = %d", $id)) === FALSE) {
266
- return false;
267
  }
268
- else {
269
- return true;
 
 
 
 
270
  }
271
- }
272
-
273
- public function editImage($id, $data)
274
- {
275
- global $wpdb;
276
- $imageEdited = $wpdb->update( $wpdb->FinalTilesImages, $data, array( 'Id' => $id ) );
277
- return $imageEdited;
278
- }
279
 
280
- public function sortImages($ids)
281
- {
282
- global $wpdb;
283
- $index = 1;
284
- foreach($ids as $id)
285
  {
286
- $data = array('sortOrder' => $index++);
287
- $wpdb->update( $wpdb->FinalTilesImages, $data, array( 'Id' => $id ) );
288
  }
289
- return true;
290
- }
291
-
292
- public function getImagesByGalleryId($gid)
293
- {
294
- global $wpdb;
295
- $imageResults = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->FinalTilesImages WHERE gid = %d ORDER BY sortOrder ASC", $gid) );
296
 
297
- foreach($imageResults as &$image)
298
- $image->source = "gallery";
 
 
 
 
 
 
 
 
 
299
 
300
- return $imageResults;
301
- }
302
-
303
- public function getGalleryByGalleryId($gid) {
304
- global $wpdb;
305
- $gallery = $wpdb->get_results( $wpdb->prepare("SELECT $wpdb->FinalTilesGalleries.*, $wpdb->FinalTilesImages.* FROM $wpdb->FinalTilesGalleries INNER JOIN $wpdb->FinalTilesImages ON ($wpdb->FinalTilesGalleries.Id = $wpdb->FinalTilesImages.gid) WHERE $wpdb->FinalTilesGalleries.Id = %d ORDER BY sortOrder ASC", $gid) );
306
- return $gallery;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
  }
308
  }
309
  ?>
1
  <?php
2
+
3
+ if (!class_exists("FinalTilesDB")) {
4
+ class FinalTilesDB {
5
+
6
+ private static $pInstance;
7
+
8
+ private function __construct() {}
9
+
10
+ public static function getInstance()
11
+ {
12
+ if(!self::$pInstance) {
13
+ self::$pInstance = new FinalTilesDB();
14
+ }
15
+
16
+ return self::$pInstance;
17
+ }
18
+
19
+ public function query()
20
+ {
21
+ return "Test";
22
  }
23
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
+ public function update_config($id, $data)
 
26
  {
27
+ global $wpdb;
28
+
29
+ $wpdb->update($wpdb->FinalTilesGalleries, array('configuration' => $data), array('Id' => $id));
30
+ }
31
+
32
+ public function updateConfiguration()
33
+ {
34
+ global $wpdb;
35
+ $galleries = $wpdb->get_results("SELECT * FROM $wpdb->FinalTilesGalleries");
36
+ foreach($galleries as $gallery)
37
  {
38
+ if($gallery->configuration == NULL)
39
+ {
40
+ unset($gallery->configuration);
41
+ $configuration = json_encode($gallery);
42
+ $wpdb->update($wpdb->FinalTilesGalleries,
43
+ array('configuration' => $configuration),
44
+ array('Id' => $gallery->Id));
45
+ }
46
  }
47
  }
 
 
 
 
 
 
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
+ public function addGallery($data)
51
  {
52
+ global $wpdb;
53
+ $configuration = json_encode($data);
54
+ $data = array('configuration' => $configuration);
55
+ $galleryAdded = $wpdb->insert( $wpdb->FinalTilesGalleries, $data);
56
+ return $galleryAdded;
57
  }
 
 
58
 
59
+ public function getNewGalleryId()
60
+ {
61
+ global $wpdb;
62
+ return $wpdb->insert_id;
63
+ }
64
 
65
+ public function deleteGallery($gid)
66
+ {
67
+ global $wpdb;
68
+ $wpdb->query($wpdb->prepare("DELETE FROM $wpdb->FinalTilesImages WHERE gid = %d", $gid));
69
+ $wpdb->query($wpdb->prepare("DELETE FROM $wpdb->FinalTilesGalleries WHERE Id = %d", $gid));
70
+ }
71
 
72
+ public function editGallery($gid, $data)
73
+ {
74
+ global $wpdb;
75
+ $configuration = json_encode($data);
76
+ $g = $wpdb->update($wpdb->FinalTilesGalleries,
77
+ array('configuration' => $configuration),
78
+ array('Id' => $gid));
79
+
80
+ //exit( var_dump( $wpdb->last_query ) );
81
+ return $g;
82
+ }
83
 
84
+ public function getGalleryConfig($id)
85
+ {
86
+ global $wpdb;
87
+ $gallery = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->FinalTilesGalleries WHERE Id = %d", $id));
88
+
89
+ return $gallery->configuration;
90
+ }
91
+ public function getGalleryById($id, $array=false)
92
+ {
93
+ global $wpdb;
94
+ $gallery = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->FinalTilesGalleries WHERE Id = %d", $id));
95
+
96
+ if($array)
97
+ {
98
+ return get_object_vars(json_decode($gallery->configuration));
99
+ }
100
+
101
+ $data = json_decode($gallery->configuration);
102
+
103
+ return $data;
104
+ }
 
 
 
 
 
 
 
105
 
106
+ public function getGalleries()
107
+ {
108
+ global $wpdb;
109
+ $query = "SELECT Id, configuration FROM $wpdb->FinalTilesGalleries order by id";
110
+ $galleryResults = $wpdb->get_results( $query );
111
+
112
+ $result = array();
113
+ foreach($galleryResults as $gallery)
114
+ {
115
+ $data = json_decode($gallery->configuration);
116
+ $data->Id = $gallery->Id;
117
+ $result[] = $data;
118
+ }
119
+ return $result;
120
+ }
121
 
122
+ public function addVideo($data)
123
+ {
124
+ global $wpdb;
125
+ $videoAdded = $wpdb->insert( $wpdb->FinalTilesImages,
126
+ array( 'gid' => $data['gid'], 'imagePath' => $data['imagePath'], 'type' => 'video', 'sortOrder' => 0, 'imageId' => rand(100000, 1000000) ));
127
+ $id = $wpdb->insert_id;
128
+ $wpdb->update($wpdb->FinalTilesImages, array('sortOrder' => $id), array('id' => $id));
129
+ return $videoAdded;
130
+ }
 
 
 
 
131
 
132
+ public function editVideo($id, $data)
133
+ {
134
+ global $wpdb;
135
+ $result = $wpdb->update( $wpdb->FinalTilesImages, $data, array( 'Id' => $id ) );
136
+ return $result;
137
+ }
138
 
139
+ public function addImages($gid, $images)
140
+ {
141
+ global $wpdb;
142
 
143
+ foreach ($images as $image) {
144
+ if(! isset($image->group))
145
+ $image->group = "";
146
 
147
+ $data = array( 'gid' => $gid,
148
+ 'imagePath' => $image->imagePath,
149
+ 'description' => isset($image->description) ? $image->description : "",
150
+ 'imageId' => $image->imageId,
151
+ 'group' => $image->group,
152
+ 'title' => isset($image->title) ? $image->title : "", 'sortOrder' => 0 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
 
154
+ if(isset($image->filters))
155
+ $data['filters'] = $image->filters;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
 
157
+ $data['type'] = isset($image->type) ? $image->type : 'image';
 
 
158
 
159
+ $imageAdded = $wpdb->insert( $wpdb->FinalTilesImages, $data );
160
+ $id = $wpdb->insert_id;
161
+ $wpdb->update($wpdb->FinalTilesImages, array('sortOrder' => $id), array('id' => $id));
162
+ }
 
163
 
164
+ return true;
165
+ }
166
+
167
+ public function addFullImage($data) {
168
+ global $wpdb;
169
  $imageAdded = $wpdb->insert( $wpdb->FinalTilesImages, $data );
170
+ return $imageAdded;
 
171
  }
172
 
173
+ public function deleteImage($id) {
174
+ global $wpdb;
175
+ $query = "DELETE FROM $wpdb->FinalTilesImages WHERE Id = '$id'";
176
+ if($wpdb->query($wpdb->prepare("DELETE FROM $wpdb->FinalTilesImages WHERE Id = %d", $id)) === FALSE) {
177
+ return false;
178
+ }
179
+ else {
180
+ return true;
181
+ }
 
 
 
 
182
  }
183
+
184
+ public function editImage($id, $data)
185
+ {
186
+ global $wpdb;
187
+ $imageEdited = $wpdb->update( $wpdb->FinalTilesImages, $data, array( 'Id' => $id ) );
188
+ return $imageEdited;
189
  }
 
 
 
 
 
 
 
 
190
 
191
+ public function getImage($id)
 
 
 
 
192
  {
193
+ global $wpdb;
194
+ return $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->FinalTilesImages WHERE id = %d", $id));
195
  }
 
 
 
 
 
 
 
196
 
197
+ public function sortImages($ids)
198
+ {
199
+ global $wpdb;
200
+ $index = 1;
201
+ foreach($ids as $id)
202
+ {
203
+ $data = array('sortOrder' => $index++);
204
+ $wpdb->update( $wpdb->FinalTilesImages, $data, array( 'Id' => $id ) );
205
+ }
206
+ return true;
207
+ }
208
 
209
+ public function getImagesByGalleryId($gid, $skip, $size)
210
+ {
211
+ global $wpdb;
212
+
213
+ $limit = "";
214
+ if($size > 0)
215
+ $limit = "LIMIT %d, %d";
216
+
217
+ $imageResults = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->FinalTilesImages WHERE gid = %d ORDER BY sortOrder ASC " . $limit, $gid, $skip, $size));
218
+
219
+ foreach($imageResults as &$image)
220
+ {
221
+ $image->source = "gallery";
222
+ if(! isset($image->group))
223
+ $image->group = null;
224
+ if(! isset($image->hidden))
225
+ $image->hidden = 'F';
226
+ }
227
+
228
+ return $imageResults;
229
+ }
230
+
231
+ public function getGalleryByGalleryId($gid) {
232
+ global $wpdb;
233
+ $gallery = $wpdb->get_results("SELECT $wpdb->FinalTilesGalleries.*, $wpdb->FinalTilesImages.* FROM $wpdb->FinalTilesGalleries INNER JOIN $wpdb->FinalTilesImages ON ($wpdb->FinalTilesGalleries.Id = $wpdb->FinalTilesImages.gid) WHERE $wpdb->FinalTilesGalleries.Id = '$gid' ORDER BY sortOrder ASC");
234
+ return $gallery;
235
+ }
236
  }
237
  }
238
  ?>
lib/gallery-class.php CHANGED
@@ -1,466 +1,676 @@
1
  <?php
2
 
3
 
4
- if (!class_exists("FinalTilesGallery"))
5
  {
6
- class FinalTilesGallery
7
  {
8
- public function __construct($galleryId, $db)
 
 
9
  {
10
  $this->id = $galleryId;
 
11
  $this->gallery = null;
12
  $this->db = $db;
13
- $this->images = array();
14
-
15
  $this->getGallery();
16
-
17
  switch($this->gallery->source)
18
  {
19
  default:
20
  case "images":
21
  $this->getImages();
22
- break;
23
  }
24
-
25
  $attIDs = array();
26
  foreach($this->images as $image)
27
  $attIDs []= $image->attID;
28
-
29
- $args = array(
30
  'post_type' => 'attachment',
31
  'posts_per_page' => -1,
32
  'include' => $attIDs
33
  );
34
-
35
  $atts = get_posts($args);
36
 
37
- $upload_dir = wp_upload_dir();
38
- $metaData = array();
39
- foreach($atts as $att)
40
- {
41
- $file = get_post_custom($att->ID);
42
- $metaData["att" . $att->ID] = array(
43
- 'alt' => get_post_meta( $att->ID, '_wp_attachment_image_alt', true ),
44
- 'caption' => $att->post_excerpt,
45
- 'description' => $att->post_content,
46
- 'href' => get_permalink( $att->ID ),
47
- 'src' => $att->guid,
48
- 'title' => $att->post_title,
49
- 'file' => $file['_wp_attached_file'][0]
 
 
 
 
 
50
  );
51
  }
52
-
53
- foreach($this->images as &$image)
54
- {
55
- $meta = $metaData['att' . $image->imageId];
56
- $sizes = FinalTiles_GalleryLite::get_image_size_links($image->imageId);
57
- $size = explode("x", array_search($image->imagePath, $sizes));
58
- $image->width = $size[0];
59
- $image->height = $size[1];
60
- $image->url = $meta['src'];
61
- $image->alt = $meta['alt'];
62
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  }
64
-
65
  var $cssPrefixes = array("-moz-", "-webkit-", "-o-", "-ms-", "");
66
-
67
  private function getLink($image)
68
  {
69
  if(! empty($image->link))
70
  return "href='" . $image->link . "'";
71
-
72
- if(empty($this->gallery->lightbox))
73
- return '';
74
-
75
- if($this->gallery->lightbox == 'attachment-page')
76
- return "href='" . $image->url . "'";
77
-
78
- return "href='" . $image->url . "'";
79
- }
80
-
81
- private function getBigImage($image)
82
- {
83
- if(! empty($image->link))
84
- return "";
85
-
86
- if(empty($this->gallery->lightbox))
87
- return "";
88
-
89
- if($this->gallery->lightbox == 'attachment-page')
90
- return "";
91
-
92
- return $image->url;
93
  }
94
-
 
95
  private function getTarget($image)
96
  {
 
 
 
97
  if(! empty($image->target))
98
  return "target='" . $image->target . "'";
99
-
100
  if($this->gallery->blank == 'T')
101
  return "target='_blank'";
102
-
103
  return '';
104
  }
105
-
106
  private function getLightboxClass($image)
107
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  if(! empty($image->link))
109
  return '';
110
-
111
  if(empty($this->gallery->lightbox))
112
  return '';
113
-
 
 
 
114
  return 'ftg-lightbox';
115
  }
116
-
117
  private function getdef($value, $default)
118
  {
119
  if($value == NULL || empty($value))
120
  return $default;
121
-
122
  return $value;
123
  }
124
-
125
- private function toRGB($Hex)
126
- {
127
- if (substr($Hex,0,1) == "#")
128
- $Hex = substr($Hex,1);
129
-
130
- $R = substr($Hex,0,2);
131
- $G = substr($Hex,2,2);
132
- $B = substr($Hex,4,2);
133
-
134
- $R = hexdec($R);
135
- $G = hexdec($G);
136
- $B = hexdec($B);
137
-
138
- $RGB['R'] = $R;
139
- $RGB['G'] = $G;
140
- $RGB['B'] = $B;
141
-
142
- $RGB[0] = $R;
143
- $RGB[1] = $G;
144
- $RGB[2] = $B;
145
-
146
- return $RGB;
147
-
148
- }
149
 
150
  static public function slugify($text)
151
- {
152
- $text = preg_replace('~[^\\pL\d]+~u', '-', $text);
153
- $text = trim($text, '-');
154
- $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
155
- $text = strtolower($text);
156
- $text = preg_replace('~[^-\w]+~', '', $text);
157
-
158
- if (empty($text))
159
- {
160
- return 'n-a';
161
- }
162
-
163
- return $text;
164
  }
165
-
 
166
  public function useCaptions()
167
- {
 
 
 
 
 
168
  if($this->gallery->source == "images")
169
  {
170
  if(empty($this->gallery->wp_field_caption))
171
  return true;
172
-
173
- return $this->gallery->wp_field_caption != 'none';
 
 
 
 
 
 
 
 
 
174
  }
175
  return false;
176
  }
177
 
178
- public function cssRuleRotation()
179
- {
180
- if($this->gallery->hoverRotation == 0)
181
- return "";
182
-
183
- return $prefix."rotate(".$this->gallery->hoverRotation."deg) ";
184
- }
185
-
186
- public function cssRuleZoom()
187
- {
188
- if($this->gallery->hoverZoom == 100)
189
- return "";
190
-
191
- return $prefix."scale(".($this->gallery->hoverZoom/100).") ";
192
- }
193
-
194
  private function hasCaptionIcon()
195
- {
196
- return !(empty($this->gallery->captionIcon) &&
197
- empty($this->gallery->customCaptionIcon));
198
  }
199
-
200
  private function getCaptionIcon()
201
  {
202
  if(! empty($this->gallery->customCaptionIcon))
203
  return substr($this->gallery->customCaptionIcon, 3);
204
-
205
  return $this->gallery->captionIcon;
206
  }
207
 
208
- public function render()
209
  {
210
- $rid = rand(1, 1000);
211
-
212
  $gallery = $this->gallery;
213
-
214
- if($gallery->imagesOrder == 'random')
215
- shuffle($this->images);
216
-
217
- if($gallery->imagesOrder == 'reverse')
218
- $this->images = array_reverse($this->images);
219
-
220
- $bgCaption = $this->toRGB($gallery->captionBackgroundColor);
221
-
222
- $html = "<!-- Final Tiles Grid Gallery for WordPress v".FTGLITEVERSION." -->\n\n";
223
- $html .= stripslashes($this->gallery->beforeGalleryText);
224
-
225
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  $html .= "<style>\n";
227
-
228
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  if($gallery->borderSize)
230
  $html .= "#ftg-$this->id$rid .tile { border: " . $gallery->borderSize . "px solid " . $gallery->borderColor . "; }\n";
231
- if($gallery->loadingBarColor)
 
 
 
 
232
  $html .= "#ftg-$this->id$rid .ftg-items .loading-bar i { background:" . $gallery->loadingBarColor . "; }\n";
233
 
234
  if($gallery->loadingBarBackgroundColor)
235
  $html .= "#ftg-$this->id$rid .ftg-items .loading-bar { background:" . $gallery->loadingBarBackgroundColor . "; }\n";
236
-
237
- if($gallery->captionIconColor)
238
- $html .= "#ftg-$this->id$rid .tile .icon { color:".$gallery->captionIconColor."; }\n";
239
-
240
- if($gallery->captionIconSize)
241
- {
242
- $html .= "#ftg-$this->id$rid .tile .icon { font-size:".$gallery->captionIconSize."px; }\n";
243
- $html .= "#ftg-$this->id$rid .tile .icon { margin: -".($gallery->captionIconSize / 2)."px 0 0 -".($gallery->captionIconSize / 2)."px; }\n";
244
- }
245
-
246
- if($gallery->captionFontSize)
247
- {
248
- $html .= "#ftg-$this->id$rid .tile .caption { font-size:".$gallery->captionFontSize."px; }\n";
249
- }
250
-
251
  if($gallery->backgroundColor)
252
- $html .= "#ftg-$this->id$rid .tile .tile-inner { background-color: " . $gallery->backgroundColor . "; }\n";
253
-
254
- if($gallery->captionColor)
 
255
  $html .= "#ftg-$this->id$rid .tile .tile-inner .text { color: " . $gallery->captionColor . "; }\n";
256
-
 
 
257
  if($gallery->socialIconColor)
258
  $html .= "#ftg-$this->id$rid .tile .ftg-social a { color: " . $gallery->socialIconColor . "; }\n";
259
-
260
  if($gallery->borderRadius)
261
  $html .= "#ftg-$this->id$rid .tile { border-radius: " . $gallery->borderRadius . "px; }\n";
262
 
263
  if($gallery->shadowSize)
264
  $html .= "#ftg-$this->id$rid .tile { box-shadow: " . $gallery->shadowColor ." 0px 0px " . $gallery->shadowSize . "px; }\n";
265
-
266
- if($gallery->captionEasing)
267
- $html .= "#ftg-$this->id$rid .tile .caption { transition-timing-function:".$gallery->captionEasing."; }\n";
268
-
269
- if($gallery->captionEffectDuration)
270
- $html .= "#ftg-$this->id$rid .tile .caption { transition-duration:".($gallery->captionEffectDuration/1000)."s; }\n";
271
-
272
- $html .= "#ftg-$this->id$rid .tile .caption { background-color: $gallery->captionBackgroundColor; }\n";
273
-
274
- $html .= "#ftg-$this->id$rid .tile .caption { background-color: rgba($bgCaption[0], $bgCaption[1], $bgCaption[2], ". ($gallery->captionOpacity/100) . "); }\n";
275
-
276
- if($gallery->captionFrame == 'T' && $gallery->captionFrameColor)
277
- $html .= "#ftg-$this->id$rid .tile .caption.frame .text { border-color: ". $gallery->captionFrameColor ."; }\n";
278
-
279
- // $html .= "#ftg-$this->id$rid { transform: scale(" .$gallery->loadedScale/100 .") translate(" . $gallery->loadedHSlide . 'px,' . $gallery->loadedVSlide . "px) rotate(" . $gallery->loadedRotate . "deg); }\n";
280
  $html .= "#ftg-$this->id$rid .tile { transform: scale(" .$gallery->loadedScale/100 .") translate(" . $gallery->loadedHSlide . 'px,' . $gallery->loadedVSlide . "px) rotate(" . $gallery->loadedRotate . "deg); }\n";
281
 
282
-
283
- if($gallery->hoverZoom != 100 || $gallery->hoverRotation != 0)
284
- {
285
- $html .= "#ftg-$this->id$rid .tile:hover img {\n";
286
-
287
  foreach($this->cssPrefixes as $prefix)
288
- {
289
- $html .= "\t" . $prefix."transform: "
290
- . $this->cssRuleRotation()
291
- . $this->cssRuleZoom()
292
- .";\n";
293
- }
294
-
295
- $html .="}\n";
296
- }
297
-
298
- if($gallery->hoverIconRotation == 'T')
299
- {
300
- $html .= "#ftg-$this->id$rid .tile .icon {\n";
301
-
302
- foreach($this->cssPrefixes as $prefix)
303
  {
304
  $html .= "\t" . $prefix."transition: all .5s;\n";
305
  }
306
-
307
- $html .="}\n";
308
-
309
- $html .= "#ftg-$this->id$rid .tile:hover .icon {\n";
310
-
311
  foreach($this->cssPrefixes as $prefix)
312
  {
313
  $html .= "\t" . $prefix."transform: rotate(360deg);\n";
314
- }
315
-
316
- $html .="}\n";
317
- }
318
-
319
  if(! empty($gallery->style))
320
- $html .= $gallery->style;
321
 
322
  $html .= "</style>\n";
323
-
324
- $html .= "<div class='final-tiles-gallery captions-$gallery->captionBehavior hover-$gallery->captionEffect ". ($gallery->captionFullHeight == 'T' ? "caption-full-height" : "caption-auto-height") ."' id='ftg-$this->id$rid' style='width:$gallery->width'>\n";
325
- $html .= "<div class='ftg-items'>\n";
326
- $html .= "\t<div class='loading-bar'><i></i></div>\n";
327
 
328
- foreach($this->images as $image)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
  {
330
- $title = in_array($gallery->lightbox, array('prettyphoto', 'fancybox', 'swipebox', 'lightbox2')) ? "title" : "data-title";
331
- $rel = $gallery->lightbox == "prettyphoto" ? "prettyPhoto[ftg-$this->id$rid]" : "ftg-$this->id$rid";
332
- if($gallery->rel)
333
- $rel = $gallery->rel;
334
-
335
- $data_keep_aspect_ratio = "";
336
- if(property_exists($image, "type") && $image->type == "video")
337
- $data_keep_aspect_ratio = 'data-ftg-keep-aspect-ratio="true"';
338
-
339
- $html .= "<div $data_keep_aspect_ratio class='tile'>\n";
340
-
341
- if(property_exists($image, "type") && $image->type == "video")
342
- {
343
- $html .= $image->imagePath;
344
- }
345
- else
346
- {
347
- $html .= "<a $title=\"".htmlspecialchars($image->description, ENT_QUOTES)."\" ". ($gallery->lightbox == "lightbox2" && empty($image->link) ? "data-lightbox='gallery-$rid'" : "") ." rel='$rel' " . ($this->getTarget($image)) . " class='tile-inner " . $gallery->aClass . " " . ($this->getLightboxClass($image)) . "' " . $this->getLink($image) . " data-big='".$this->getBigImage($image)."'>\n";
348
-
349
- $src= $gallery->sequentialImageLoading == "T" ? "" : $image->imagePath;
350
-
351
- $html .= "<img alt='$image->alt' class='item' data-ftg-src='$image->imagePath' src='$src' />\n";
352
-
353
-
354
- if((! empty($image->description) && $this->useCaptions()) || $gallery->captionEmpty == "show" || $this->hasCaptionIcon())
355
- {
356
- $html .= "<span class='caption ".($gallery->captionFrame == 'T' ? "frame" : null)."'>\n";
357
- if($this->hasCaptionIcon())
358
- $html .= "\t<span class='icon fa fa-".$this->getCaptionIcon()."'></span>\n";
359
- if($gallery->source == "images")
360
- {
361
- if(! empty($image->description) && $this->useCaptions())
362
- $html .= "\t<span class='text'>$image->description</span>\n";
363
- }
364
- $html .= "</span>\n";
365
- }
366
- $html .= "</a>\n";
367
- $html .= "<div class='ftg-social'>\n";
368
-
369
- if($gallery->enableFacebook == "T")
370
- {
371
- $html .= "<a href='#' data-social='facebook' class='ftg-facebook'><i class='fa fa-facebook'></i></a>\n";
372
- }
373
- if($gallery->enableTwitter == "T")
374
- {
375
- $html .= "<a href='#' data-social='twitter' class='ftg-twitter'><i class='fa fa-twitter'></i></a>\n";
376
- }
377
- if($gallery->enablePinterest == "T")
378
- {
379
- $html .= "<a href='#' data-social='pinterest' class='ftg-pinterest'><i class='fa fa-pinterest'></i></a>\n";
380
- }
381
- if($gallery->enableGplus == "T")
382
- {
383
- $html .= "<a href='#' data-social='google-plus' class='ftg-google-plus'><i class='fa fa-google-plus'></i></a>\n";
384
- }
385
- $html .= "</div>\n";
386
- }
387
-
388
- $html .= "</div>\n";
389
- }
390
- $html .= "</div>\n";
391
- if($gallery->support == 'T')
392
- {
393
- $html .= "<div class='support-text'><a target='_blank' href='http://codecanyon.net/item/final-tiles-grid-gallery-for-wordpress/5189351?ref=".$gallery->envatoReferral."'>".$gallery->supportText."</a></div>";
394
- }
395
- $html .= "</div>\n";
396
-
397
- $html .= "<script type='text/javascript'>\n";
398
- $html .= "setTimeout(function () {\n";
399
- $html .= "\tjQuery('#ftg-$this->id$rid').finalTilesGallery({\n";
400
- $html .= "\t\tminTileWidth: $gallery->minTileWidth,\n";
401
- if(strlen($gallery->script))
402
- {
403
- $html .= "\t\tonComplete: function () { " . stripslashes($gallery->script) . "},\n";
404
- }
405
- $html .= "\t\tmargin: $gallery->margin,\n";
406
- $html .= "\t\tdebug: ".(empty($_GET['debug']) ? "false" : "true").",\n";
407
- $html .= "\t\tgridSize: $gallery->gridCellSize,\n";
408
  $html .= "\t\tallowEnlargement: " . ($gallery->enlargeImages == "T" ? "true" : "false") . ",\n";
409
- $html .= "\t\timageSizeFactor: [\n" .
410
- "\t\t\t [4000, " . ($gallery->imageSizeFactor / 100) . "]\n" .
411
- "\t\t\t,[1024, " . ($gallery->imageSizeFactorTabletLandscape / 100) . "]\n" .
412
- "\t\t\t,[768, " . ($gallery->imageSizeFactorTabletPortrait / 100) . "]\n" .
413
- "\t\t\t,[640, " . ($gallery->imageSizeFactorPhoneLandscape / 100) . "]\n" .
414
- "\t\t\t,[320, " . ($gallery->imageSizeFactorPhonePortrait / 100) . "]\n";
415
- foreach(explode("|", $gallery->imageSizeFactorCustom) as $isf)
416
- {
417
- $_ = explode(",", $isf);
418
- if(! empty($_[0]))
419
- $html .= "\t\t\t,[".$_[0].", " . ($_[1] / 100) . "]\n";
420
- }
421
- $html .= "\t\t],\n";
 
 
 
 
 
 
 
 
422
  $html .= "\t\tscrollEffect: '" . ($gallery->scrollEffect) . "',\n";
423
- $html .= "\t});\n";
424
-
 
425
  $html .= "\tjQuery(function () {\n";
426
- //$html .= "\t\tjQuery('#ftg-$this->id$rid .tile > a').unbind('click');\n";
427
- switch ($gallery->lightbox) {
428
- case 'magnific':
429
- $html .= "\t\tjQuery('#ftg-$this->id$rid').magnificPopup({type:'image', zoom: { enabled: true, duration: 300, easing: 'ease-in-out' }, image: { titleSrc: 'data-title' }, gallery: { enabled: true }, delegate: '.tile:not(.ftg-hidden) .ftg-lightbox ' });\n";
430
- break;
431
- case 'prettyphoto':
432
- $html .= "\t\tjQuery('#ftg-$this->id$rid .tile a.ftg-lightbox').prettyPhoto({});\n";
433
- break;
434
- case 'colorbox':
435
- $html .= "\t\tjQuery('#ftg-$this->id$rid .tile a.ftg-lightbox').colorbox({rel: 'gallery', title: function () { return jQuery(this).data('title'); }});\n";
436
- break;
437
- case 'fancybox':
438
- $html .= "\t\tjQuery('#ftg-$this->id$rid .tile a.ftg-lightbox').fancybox({});\n";
439
- break;
440
- case 'swipebox':
441
- $html .= "\t\tjQuery('#ftg-$this->id$rid .tile a.ftg-lightbox').swipebox({});\n";
442
- break;
 
 
 
 
 
 
 
 
 
 
443
  case 'lightbox2':
 
444
  break;
445
  }
 
446
  $html .= "\n";
447
  $html .= "\t});\n";
448
  $html .= "\t}, ". $gallery->delay .");\n";
449
-
 
450
  $html .= "</script>";
451
-
452
  $html .= stripslashes($this->gallery->afterGalleryText);
453
-
454
  if(! empty($_GET["debug"]))
455
  return $html;
456
-
457
  if($gallery->compressHTML == 'T')
458
  return str_replace(array("\n", "\t"), "", $html);
459
  else
460
  return $html;
461
  }
462
-
463
- private function auto_excerpt($post, $length, $excerpt_ending)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
464
  {
465
  $text = strip_shortcodes($post->post_content);
466
  $text = apply_filters('the_content', $text);
@@ -469,14 +679,14 @@ if (!class_exists("FinalTilesGallery"))
469
  $text = strip_tags($text);
470
  $words = explode(' ', $text, $length + 1);
471
 
472
- if (count($words) > $length)
473
  {
474
- array_pop($words);
475
- $text = implode(' ', $words);
476
- if($excerpt_ending !== 'none')
477
- {
478
- $text .= strtr($excerpt_ending, array("(" => "[", ")" => "]"));
479
- }
480
  }
481
  $text = trim($text);
482
  if(strlen($text) !== strlen($excerpt_ending))
@@ -488,11 +698,85 @@ if (!class_exists("FinalTilesGallery"))
488
  return '';
489
  }
490
  }
491
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
492
 
493
- public function getImages()
494
  {
495
- $images = $this->db->getImagesByGalleryId($this->id);
 
 
 
 
 
 
 
 
 
 
 
496
  $this->images = array();
497
  foreach($images as $image)
498
  {
@@ -502,21 +786,29 @@ if (!class_exists("FinalTilesGallery"))
502
  }
503
  return $this->images;
504
  }
505
-
506
- public function getGallery()
507
  {
508
- if($this->gallery == null)
509
  {
510
  $this->gallery = $this->db->getGalleryById($this->id);
511
 
512
- $this->gallery->captionEffectDuration = $this->getdef($this->gallery->captionEffectDuration, 250);
513
- $this->gallery->captionEffect = $this->getdef($this->gallery->captionEffect, 'fade');
514
- $this->gallery->captionEasing = $this->getdef($this->gallery->captionEasing, 'easeInQuad');
515
-
 
 
516
  if(! empty($_GET["debug"]))
517
  {
 
 
 
518
  print "\n<!-- \n";
519
- print_r($this->gallery);
 
 
 
520
  print "\n -->\n";
521
  }
522
  }
1
  <?php
2
 
3
 
4
+ if (!class_exists("FinalTilesGalleryLite"))
5
  {
6
+ class FinalTilesGalleryLite
7
  {
8
+ private $defaultValues;
9
+
10
+ public function __construct($galleryId, $db, $defaultValues)
11
  {
12
  $this->id = $galleryId;
13
+ $this->defaultValues = $defaultValues;
14
  $this->gallery = null;
15
  $this->db = $db;
16
+ $this->images = array();
17
+
18
  $this->getGallery();
19
+
20
  switch($this->gallery->source)
21
  {
22
  default:
23
  case "images":
24
  $this->getImages();
25
+ break;
26
  }
27
+
28
  $attIDs = array();
29
  foreach($this->images as $image)
30
  $attIDs []= $image->attID;
31
+
32
+ $args = array(
33
  'post_type' => 'attachment',
34
  'posts_per_page' => -1,
35
  'include' => $attIDs
36
  );
37
+
38
  $atts = get_posts($args);
39
 
40
+ $upload_dir = wp_upload_dir();
41
+ $metaData = array();
42
+ foreach($atts as $att)
43
+ {
44
+ $file = get_post_custom($att->ID);
45
+
46
+ $metaData["att" . $att->ID] = array(
47
+ 'alt' => get_post_meta( $att->ID, '_wp_attachment_image_alt', true ),
48
+ 'caption' => $att->post_excerpt,
49
+ 'description' => $att->post_content,
50
+ 'href' => get_permalink( $att->ID ),
51
+ 'url' => $this->gallery->lightboxImageSize == 'full' ?
52
+ $att->guid :
53
+ wp_get_attachment_image_url($att->ID, $this->gallery->lightboxImageSize, false),
54
+ 'original' => $att->guid,
55
+ 'title' => $att->post_title,
56
+ 'page' => wp_get_attachment_url($att->ID),
57
+ 'file' => $file['_wp_attached_file'][0]
58
  );
59
  }
60
+
61
+ foreach($this->images as &$image)
62
+ {
63
+ if(isset($image->imageId) && isset($metaData['att' . $image->imageId]))
64
+ {
65
+ $meta = $metaData[ 'att' . $image->imageId ];
66
+ $sizes = FinalTiles_GalleryLite::get_image_size_links( $image->imageId );
67
+ $search = array_search( $image->imagePath, $sizes );
68
+ if($search)
69
+ {
70
+ $size = explode( "x", $search );
71
+ }
72
+ else
73
+ {
74
+ $md = wp_get_attachment_metadata($image->imageId);
75
+ $size = array($md["width"], $md["height"]);
76
+ }
77
+ $image->width = $size[0];
78
+ $image->height = $size[1];
79
+ $image->url = $meta['url'];
80
+ $image->page = $meta['page'];
81
+ $image->original = $meta['original'];
82
+ $image->alt = $meta['alt'];
83
+ }
84
+ }
85
+
86
  }
87
+
88
  var $cssPrefixes = array("-moz-", "-webkit-", "-o-", "-ms-", "");
89
+
90
  private function getLink($image)
91
  {
92
  if(! empty($image->link))
93
  return "href='" . $image->link . "'";
94
+
95
+ switch (trim($this->gallery->lightbox)) {
96
+ case 'attachment-page':
97
+ return "href='" . $image->page . "'";
98
+ case '':
99
+ case 'nolink':
100
+ return '';
101
+ }
102
+
103
+
104
+ $url = isset($image->url) ? $image->url : "";
105
+ return "href='" . $url . "'";
 
 
 
 
 
 
 
 
 
 
106
  }
107
+
108
+
109
  private function getTarget($image)
110
  {
111
+ if(! empty($image->target) && $image->target == '_lightbox')
112
+ return '';
113
+
114
  if(! empty($image->target))
115
  return "target='" . $image->target . "'";
116
+
117
  if($this->gallery->blank == 'T')
118
  return "target='_blank'";
119
+
120
  return '';
121
  }
122
+
123
  private function getLightboxClass($image)
124
  {
125
+ if(! empty($image->target) && $image->target == '_lightbox' && ! empty($image->link))
126
+ {
127
+ if($this->gallery->lightbox == 'magnific' ||
128
+ $this->gallery->lightbox == 'colorbox')
129
+ return "ftg-lightbox-iframe";
130
+ if($this->gallery->lightbox == 'fancybox')
131
+ return "ftg-lightbox iframe";
132
+
133
+ if($this->gallery->lightbox == 'lightgallery' ||
134
+ $this->gallery->lightbox == 'prettyphoto')
135
+ return 'ftg-lightbox';
136
+
137
+ if($this->gallery->lightbox == 'everlightbox')
138
+ return 'ftg-lightbox everlightbox-trigger';
139
+ }
140
+
141
  if(! empty($image->link))
142
  return '';
143
+
144
  if(empty($this->gallery->lightbox))
145
  return '';
146
+
147
+ if($this->gallery->lightbox == 'nolink')
148
+ return '';
149
+
150
  return 'ftg-lightbox';
151
  }
152
+
153
  private function getdef($value, $default)
154
  {
155
  if($value == NULL || empty($value))
156
  return $default;
157
+
158
  return $value;
159
  }
160
+
161
+ private function toRGB($Hex)
162
+ {
163
+ if (substr($Hex,0,1) == "#")
164
+ $Hex = substr($Hex,1);
165
+
166
+ $R = substr($Hex,0,2);
167
+ $G = substr($Hex,2,2);
168
+ $B = substr($Hex,4,2);
169
+
170
+ $R = hexdec($R);
171
+ $G = hexdec($G);
172
+ $B = hexdec($B);
173
+
174
+ $RGB['R'] = $R;
175
+ $RGB['G'] = $G;
176
+ $RGB['B'] = $B;
177
+
178
+ $RGB[0] = $R;
179
+ $RGB[1] = $G;
180
+ $RGB[2] = $B;
181
+
182
+ return $RGB;
183
+
184
+ }
185
 
186
  static public function slugify($text)
187
+ {
188
+ $text = preg_replace('~[^\\pL\d]+~u', '-', $text);
189
+ $text = trim($text, '-');
190
+ $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
191
+ $text = strtolower($text);
192
+ $text = preg_replace('~[^-\w]+~', '', $text);
193
+
194
+ if (empty($text))
195
+ {
196
+ return 'n-a';
197
+ }
198
+
199
+ return $text;
200
  }
201
+
202
+
203
  public function useCaptions()
204
+ {
205
+ if(wp_is_mobile() && $this->gallery->captionMobileBehavior == 'none')
206
+ return false;
207
+ if(wp_is_mobile() && $this->gallery->captionMobileBehavior == 'always-visible')
208
+ return true;
209
+
210
  if($this->gallery->source == "images")
211
  {
212
  if(empty($this->gallery->wp_field_caption))
213
  return true;
214
+
215
+ return $this->gallery->wp_field_caption != 'none' ||
216
+ $this->gallery->wp_field_title != 'none';
217
+ }
218
+ if($this->gallery->source == "posts")
219
+ {
220
+ return $this->gallery->recentPostsCaption != 'none';
221
+ }
222
+ if($this->gallery->source == "woocommerce")
223
+ {
224
+ return true;
225
  }
226
  return false;
227
  }
228
 
229
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  private function hasCaptionIcon()
231
+ {
232
+ return !(empty($this->gallery->captionIcon) &&
233
+ empty($this->gallery->customCaptionIcon));
234
  }
235
+
236
  private function getCaptionIcon()
237
  {
238
  if(! empty($this->gallery->customCaptionIcon))
239
  return substr($this->gallery->customCaptionIcon, 3);
240
+
241
  return $this->gallery->captionIcon;
242
  }
243
 
244
+ public function render()
245
  {
246
+ $rid = $this->id;
247
+
248
  $gallery = $this->gallery;
249
+
250
+ //shuffle enabled?
251
+ if($gallery->imagesOrder == 'random')
252
+ shuffle($this->images);
253
+
254
+ //images order
255
+ if($gallery->imagesOrder == 'reverse')
256
+ $this->images = array_reverse($this->images);
257
+
258
+ //style
259
+ $bgCaption = $this->toRGB($gallery->captionBackgroundColor);
260
+
261
+ $html = "<!-- Final Tiles Grid Gallery Lite for WordPress v".FTGLITEVERSION." -->\n\n";
262
+ $html .= stripslashes($this->gallery->beforeGalleryText);
263
+
264
+ $captionVertical = null;
265
+ $captionHorizontal = null;
266
+
267
+ switch ($gallery->captionVerticalAlignment)
268
+ {
269
+ case 'Top':
270
+ $captionVertical = " display: flex; align-items: flex-start;";
271
+ break;
272
+ case 'Middle':
273
+ $captionVertical = " display: flex; align-items: center;";
274
+ break;
275
+ case 'Bottom':
276
+ $captionVertical = " display: flex; align-items: flex-end;";
277
+ break;
278
+ }
279
+
280
+ switch ($gallery->captionHorizontalAlignment)
281
+ {
282
+ case 'Left':
283
+ $captionHorizontal = " justify-content: flex-start";
284
+ break;
285
+ case 'Center':
286
+ $captionHorizontal = " justify-content: center";
287
+ break;
288
+ case 'Right':
289
+ $captionHorizontal = " justify-content: flex-end";
290
+ break;
291
+ }
292
+
293
+
294
  $html .= "<style>\n";
295
+
296
+ if($gallery->captionHorizontalAlignment)
297
+ {
298
+ $html .= "#ftg-$this->id$rid .tile .tile-inner .caption { display: flex; }\n";
299
+ $html .= "#ftg-$this->id$rid .tile .tile-inner .caption { $captionHorizontal }\n";
300
+ $html .= "#ftg-$this->id$rid .tile .tile-inner .caption .text { $captionHorizontal }\n";
301
+ }
302
+
303
+
304
+ if($gallery->captionVerticalAlignment)
305
+ {
306
+ $html .= "#ftg-$this->id$rid .tile .tile-inner .caption{ display: flex; }\n";
307
+ $html .= "#ftg-$this->id$rid .tile .tile-inner .caption { $captionVertical }\n";
308
+ $html .= "#ftg-$this->id$rid .tile .tile-inner .caption .text { $captionVertical }\n";
309
+ }
310
+
311
  if($gallery->borderSize)
312
  $html .= "#ftg-$this->id$rid .tile { border: " . $gallery->borderSize . "px solid " . $gallery->borderColor . "; }\n";
313
+
314
+ if($gallery->captionIconColor)
315
+ $html .= "#ftg-$this->id$rid .tile .icon { color:".$gallery->captionIconColor."; }\n";
316
+
317
+ if($gallery->loadingBarColor)
318
  $html .= "#ftg-$this->id$rid .ftg-items .loading-bar i { background:" . $gallery->loadingBarColor . "; }\n";
319
 
320
  if($gallery->loadingBarBackgroundColor)
321
  $html .= "#ftg-$this->id$rid .ftg-items .loading-bar { background:" . $gallery->loadingBarBackgroundColor . "; }\n";
322
+
323
+ if($gallery->captionIconSize)
324
+ {
325
+ $html .= "#ftg-$this->id$rid .tile .icon { font-size:".$gallery->captionIconSize."px; }\n";
326
+ $html .= "#ftg-$this->id$rid .tile .icon { margin: -".($gallery->captionIconSize / 2)."px 0 0 -".($gallery->captionIconSize / 2)."px; }\n";
327
+ }
328
+
329
+ if($gallery->captionFontSize)
330
+ {
331
+ $html .= "#ftg-$this->id$rid .tile .caption { font-size:".$gallery->captionFontSize."px; }\n";
332
+ $html .= "#ftg-$this->id$rid .tile .caption .title { font-size:".$gallery->titleFontSize."px; }\n";
333
+
334
+ }
335
+
 
336
  if($gallery->backgroundColor)
337
+ $html .= "#ftg-$this->id$rid .tile { background-color: " . $gallery->backgroundColor . "; }\n";
338
+
339
+ if($gallery->captionColor)
340
+ {
341
  $html .= "#ftg-$this->id$rid .tile .tile-inner .text { color: " . $gallery->captionColor . "; }\n";
342
+ $html .= "#ftg-$this->id$rid .tile .tile-inner .title { color: " . $gallery->captionColor . "; }\n";
343
+ }
344
+
345
  if($gallery->socialIconColor)
346
  $html .= "#ftg-$this->id$rid .tile .ftg-social a { color: " . $gallery->socialIconColor . "; }\n";
347
+
348
  if($gallery->borderRadius)
349
  $html .= "#ftg-$this->id$rid .tile { border-radius: " . $gallery->borderRadius . "px; }\n";
350
 
351
  if($gallery->shadowSize)
352
  $html .= "#ftg-$this->id$rid .tile { box-shadow: " . $gallery->shadowColor ." 0px 0px " . $gallery->shadowSize . "px; }\n";
353
+
354
+ if($gallery->captionEasing)
355
+ $html .= "#ftg-$this->id$rid .tile .caption { transition-timing-function:".$gallery->captionEasing."; }\n";
356
+
357
+ if($gallery->captionEffectDuration)
358
+ $html .= "#ftg-$this->id$rid .tile .caption { transition-duration:".($gallery->captionEffectDuration/1000)."s; }\n";
359
+
360
+ $html .= "#ftg-$this->id$rid .tile .caption { background-color: $gallery->captionBackgroundColor; }\n";
361
+
362
+ $html .= "#ftg-$this->id$rid .tile .caption { background-color: rgba($bgCaption[0], $bgCaption[1], $bgCaption[2], ". ($gallery->captionOpacity/100) . "); }\n";
363
+
364
+ if($gallery->captionFrame == 'T' && $gallery->captionFrameColor)
365
+ $html .= "#ftg-$this->id$rid .tile .caption.frame .text { border-color: ". $gallery->captionFrameColor ."; }\n";
366
+
 
367
  $html .= "#ftg-$this->id$rid .tile { transform: scale(" .$gallery->loadedScale/100 .") translate(" . $gallery->loadedHSlide . 'px,' . $gallery->loadedVSlide . "px) rotate(" . $gallery->loadedRotate . "deg); }\n";
368
 
369
+
370
+ if($gallery->hoverIconRotation == 'T')
371
+ {
372
+ $html .= "#ftg-$this->id$rid .tile .icon {\n";
373
+
374
  foreach($this->cssPrefixes as $prefix)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
375
  {
376
  $html .= "\t" . $prefix."transition: all .5s;\n";
377
  }
378
+
379
+ $html .="}\n";
380
+
381
+ $html .= "#ftg-$this->id$rid .tile:hover .icon {\n";
382
+
383
  foreach($this->cssPrefixes as $prefix)
384
  {
385
  $html .= "\t" . $prefix."transform: rotate(360deg);\n";
386
+ }
387
+
388
+ $html .="}\n";
389
+ }
 
390
  if(! empty($gallery->style))
391
+ $html .= stripslashes($gallery->style);
392
 
393
  $html .= "</style>\n";
 
 
 
 
394
 
395
+ $filtersSlugs = array_map("FinalTilesGalleryLite::slugify", explode('|', $gallery->filters));
396
+ $current_filter = isset($_GET['ftg-set']) ? $_GET['ftg-set'] : null;
397
+
398
+ if($gallery->captionMobileBehavior == "desktop")
399
+ $gallery->captionMobileBehavior = $gallery->captionBehavior;
400
+
401
+ $captionBehavior = wp_is_mobile() ? $gallery->captionMobileBehavior : $gallery->captionBehavior;
402
+
403
+ $html .= "<a name='$this->id'></a>";
404
+ $html .= "<div class='final-tiles-gallery captions-$captionBehavior hover-$gallery->captionEffect caption-full-height' id='ftg-$this->id$rid' style='width:$gallery->width'>\n";
405
+
406
+ $html .= "<div class='ftg-items'>\n";
407
+
408
+ if($gallery->loadMethod == "sequential")
409
+ $html .= "\t<div class='loading-bar'><i></i></div>\n";
410
+
411
+ $lightbox = $gallery->lightbox;
412
+
413
+ $groups = array();
414
+
415
+ $html .= $this->images_markup();
416
+
417
+ $html .= "</div>\n";
418
+
419
+ if($gallery->support == 'T')
420
  {
421
+ $html .= "<div class='support-text'><a target='_blank' href='http://codecanyon.net/item/final-tiles-grid-gallery-for-wordpress/5189351?ref=".$gallery->envatoReferral."'>".$gallery->supportText."</a></div>";
422
+ }
423
+ $html .= "</div>\n";
424
+
425
+ $html .= "<script type='text/javascript'>\n";
426
+ if($this->gallery->lightbox != 'lightgallery')
427
+ $html .= "jQuery('#ftg-$this->id$rid img.item').removeAttr('src');\n";
428
+ $html .= "jQuery(document).ready(function () {\n";
429
+ $html .= "setTimeout(function () {\n";
430
+ $html .= "\tjQuery('#ftg-$this->id$rid').finalTilesGallery({\n";
431
+ $html .= "\t\tminTileWidth: $gallery->minTileWidth,\n";
432
+ if(strlen($gallery->script))
433
+ {
434
+ $html .= "\t\tonComplete: function () { " . stripslashes($gallery->script) . "},\n";
435
+ }
436
+ $html .= "\t\tmargin: $gallery->margin,\n";
437
+
438
+ $jsLoadMethod = $gallery->loadMethod;
439
+ if($gallery->loadMethod == 'trueLazy')
440
+ $jsLoadMethod = 'lazy';
441
+
442
+ $html .= "\t\tloadMethod: '$jsLoadMethod',\n";
443
+
444
+ if($gallery->ajaxLoading == 'T')
445
+ {
446
+ $html .= "\t\tautoLoadURL: '" . admin_url( 'admin-ajax.php' ) . "',\n";
447
+ $html .= "\t\tpageSize: $gallery->tilesPerPage,\n";
448
+ }
449
+ $html .= "\t\tnonce: '".wp_create_nonce('finaltilesgallery')."',\n";
450
+ $html .= "\t\tgalleryId: '{$this->id}',\n";
451
+ $html .= "\t\tlayout: '$gallery->layout',\n";
452
+ $html .= "\t\tdebug: ".(empty($_GET['debug']) ? "false" : "true").",\n";
453
+ $html .= "\t\tgridSize: $gallery->gridCellSize,\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
454
  $html .= "\t\tallowEnlargement: " . ($gallery->enlargeImages == "T" ? "true" : "false") . ",\n";
455
+ if($gallery->layout == "columns")
456
+ {
457
+ $html .= "\t\tcolumns: [\n" .
458
+ "\t\t\t[4000, $gallery->columns],\n" .
459
+ "\t\t\t[1024, $gallery->columnsTabletLandscape],\n" .
460
+ "\t\t\t[800, $gallery->columnsTabletPortrait],\n" .
461
+ "\t\t\t[480, $gallery->columnsPhoneLandscape],\n" .
462
+ "\t\t\t[320, $gallery->columnsPhonePortrait]\n" .
463
+ "\t\t],";
464
+ }
465
+ else
466
+ {
467
+ $html .= "\t\timageSizeFactor: [\n" .
468
+ "\t\t\t [4000, " . ($gallery->imageSizeFactor / 100) . "]\n" .
469
+ "\t\t\t,[1024, " . ($gallery->imageSizeFactorTabletLandscape / 100) . "]\n" .
470
+ "\t\t\t,[768, " . ($gallery->imageSizeFactorTabletPortrait / 100) . "]\n" .
471
+ "\t\t\t,[640, " . ($gallery->imageSizeFactorPhoneLandscape / 100) . "]\n" .
472
+ "\t\t\t,[320, " . ($gallery->imageSizeFactorPhonePortrait / 100) . "]\n";
473
+
474
+ $html .= "\t\t],\n";
475
+ }
476
  $html .= "\t\tscrollEffect: '" . ($gallery->scrollEffect) . "',\n";
477
+ $html .= "\t\tselectedFilter: '" . $this->slugify($gallery->defaultFilter) . "'\n";
478
+ $html .= "\t});\n";
479
+
480
  $html .= "\tjQuery(function () {\n";
481
+
482
+ //$html .= "\t\tjQuery('#ftg-$this->id$rid .tile > a').unbind('click');\n";
483
+
484
+
485
+ if($gallery->disableLightboxGroups == 'T')
486
+ {
487
+ if($lightbox == "prettyphoto" || $lightbox == "fancybox" || $lightbox == "swipebox" || $lightbox == "lightbox2")
488
+ {
489
+ $html .= "jQuery('#ftg-$this->id$rid .tile a.ftg-lightbox').each(function (i) { jQuery(this).attr('rel', 'no-group-' + i);});\n";
490
+ }
491
+ if($lightbox == "lightbox2")
492
+ {
493
+ $html .= "jQuery('#ftg-$this->id$rid .tile a.ftg-lightbox').each(function (i) { jQuery(this).attr('data-lightbox', 'no-group-' + i);});\n";
494
+ }
495
+ }
496
+
497
+ $html .= "\t(function () {\n";
498
+ $html .= "\t\tvar rel = '';\n";
499
+ $html .= "\t\tjQuery('#ftg-$this->id$rid .ftg-lightbox').click(function (e) {\n";
500
+ $html .= "\t\t\trel = jQuery(this).attr('rel');\n";
501
+ $html .= "\t\t\tjQuery('#ftg-$this->id$rid .ftg-current').removeClass('ftg-current');\n";
502
+ $html .= "\t\t\tjQuery('#ftg-$this->id$rid [rel=\"'+rel+'\"]').addClass('ftg-current');\n";
503
+ $html .= "\t\t});\n";
504
+ $html .= "\t})();\n";
505
+
506
+ switch ($lightbox)
507
+ {
508
  case 'lightbox2':
509
+ case 'everlightbox':
510
  break;
511
  }
512
+
513
  $html .= "\n";
514
  $html .= "\t});\n";
515
  $html .= "\t}, ". $gallery->delay .");\n";
516
+ $html .= "\t});\n";
517
+
518
  $html .= "</script>";
519
+
520
  $html .= stripslashes($this->gallery->afterGalleryText);
521
+
522
  if(! empty($_GET["debug"]))
523
  return $html;
524
+
525
  if($gallery->compressHTML == 'T')
526
  return str_replace(array("\n", "\t"), "", $html);
527
  else
528
  return $html;
529
  }
530
+
531
+ public function images_markup()
532
+ {
533
+ $rid = $this->id;
534
+
535
+ $gallery = $this->gallery;
536
+
537
+ $html = "";
538
+
539
+ $lightbox = $gallery->lightbox;
540
+
541
+ $groups = array();
542
+ foreach($this->images as $image)
543
+ {
544
+
545
+ $title = in_array($gallery->lightbox, array('prettyphoto', 'fancybox', 'swipebox', 'lightbox2')) ? "title" : "data-title";
546
+
547
+ $rel = $lightbox == "prettyphoto" ? "prettyPhoto[ftg-$this->id$rid]" : "ftg-$this->id$rid";
548
+
549
+ if($gallery->rel)
550
+ $rel = $gallery->rel;
551
+
552
+ $groups["ftg-$this->id$rid"] = 1;
553
+
554
+ $hiddenClass = isset($image->hidden) && $image->hidden == "T" ? "ftg-hidden-tile" : "";
555
+ $html .= "<div class='tile $hiddenClass'>\n";
556
+
557
+ if(property_exists($image, "type") && $image->type == "video")
558
+ {
559
+ $html .= "<div>";
560
+ $html .= $image->imagePath;
561
+ $html .= "</div>";
562
+ }
563
+ else
564
+ {
565
+ //$src = $gallery->sequentialImageLoading == "T" ? "" : $image->imagePath;
566
+ $src = $image->imagePath;
567
+ if(wp_is_mobile())
568
+ $src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
569
+ $description = (isset($image->title) && !empty($image->title)) ? $image->title : $image->description;
570
+
571
+ $html .= "<a $title=\"".htmlspecialchars($description, ENT_QUOTES)."\" ". (($gallery->lightbox == "lightbox2" ) && empty($image->link) ? "data-lightbox='$rel'" : "") ." rel='$rel' " . ($this->getTarget($image)) . " class='tile-inner " . $gallery->aClass . " " . ($this->getLightboxClass($image)) . "' " . $this->getLink($image) . " " . ($lightbox == "lightgallery" ? "data-download-url='$image->original'" : '') . ">\n";
572
+
573
+ if(! isset($image->width))
574
+ $image->width = "auto";
575
+ if(! isset($image->height))
576
+ $image->height = "auto";
577
+ if(! isset($image->alt))
578
+ $image->alt = $description;
579
+
580
+ $html .= "<img alt='$image->alt' class='item' data-class='item' data-ftg-src='$image->imagePath' src='$src' width='$image->width' height='$image->height' />\n";
581
+
582
+ if($gallery->captionPosition == 'inside')
583
+ {
584
+ if(
585
+ (! (empty($image->description) && empty($image->title) ) &&
586
+ $this->useCaptions()
587
+ ) ||
588
+ $gallery->captionEmpty == "show" ||
589
+ $this->hasCaptionIcon()
590
+ )
591
+ {
592
+ $html .= "<span class='caption ".($gallery->captionFrame == 'T' ? "frame" : null)."'>\n";
593
+ if($this->hasCaptionIcon())
594
+ $html .= "\t<span class='icon fa fa-".$this->getCaptionIcon()."'></span>\n";
595
+
596
+ if($gallery->source == "images" && $this->useCaptions())
597
+ {
598
+ $html .= "\t<span>\n";
599
+ if( ! empty($image->title) && $gallery->wp_field_title != "none")
600
+ $html .= "<span class='title'>".$image->title."</span>\n";
601
+
602
+ if( ! empty($image->description) && $gallery->wp_field_caption != "none")
603
+ $html .= "\t<span class='text'>$image->description</span>\n";
604
+ $html .= "\t</span>\n";
605
+ }
606
+
607
+ if(($gallery->source == "posts" || $gallery->source == "woocommerce") && $this->useCaptions())
608
+ {
609
+ $html .= "\t<span class='text'>$image->description</span>\n";
610
+ }
611
+ $html .= "</span>\n";
612
+ }
613
+ }
614
+ $html .= "</a>\n";
615
+ if($gallery->captionPosition == 'outside')
616
+ {
617
+ if((! (empty($image->description) && empty($image->title) ) && $this->useCaptions()))
618
+ {
619
+ $html .= "<span class='caption-outside'>\n";
620
+
621
+ if($gallery->source == "images")
622
+ {
623
+ $html .= "\t<span>\n";
624
+ if( ! empty($image->title) && $this->useCaptions())
625
+ $html .= "<span class='title'>".$image->title."</span>\n";
626
+
627
+ if( ! empty($image->description) && $this->useCaptions())
628
+ $html .= "\t<span class='text'>$image->description</span>\n";
629
+ $html .= "\t</span>\n";
630
+ }
631
+
632
+ if(($gallery->source == "posts" || $gallery->source == "woocommerce") && $this->useCaptions())
633
+ {
634
+ $html .= "\t<span class='text'>$image->description</span>\n";
635
+ }
636
+ $html .= "</span>\n";
637
+ }
638
+ }
639
+ if($gallery->source == "woocommerce")
640
+ {
641
+ $html .= "<div class='woo'>";
642
+ $html .= "\t<span class='price'>". $image->price . get_woocommerce_currency_symbol() . "</span>\n";
643
+ $html .= "\t<a href='".get_site_url()."/cart/?add-to-cart=".$image->postID ."'><i class='fa fa-shopping-cart add-to-cart'></i></a>";
644
+ $html .= "</div>";
645
+ }
646
+ $html .= "<div class='ftg-social'>\n";
647
+
648
+ if($gallery->enableFacebook == "T")
649
+ {
650
+ $html .= "<a href='#' data-social='facebook' class='ftg-facebook'><i class='fa fa-facebook'></i></a>\n";
651
+ }
652
+ if($gallery->enableTwitter == "T")
653
+ {
654
+ $html .= "<a href='#' data-social='twitter' class='ftg-twitter'><i class='fa fa-twitter'></i></a>\n";
655
+ }
656
+ if($gallery->enablePinterest == "T")
657
+ {
658
+ $html .= "<a href='#' data-social='pinterest' class='ftg-pinterest'><i class='fa fa-pinterest'></i></a>\n";
659
+ }
660
+ if($gallery->enableGplus == "T")
661
+ {
662
+ $html .= "<a href='#' data-social='google-plus' class='ftg-google-plus'><i class='fa fa-google-plus'></i></a>\n";
663
+ }
664
+ $html .= "</div>\n";
665
+ }
666
+
667
+ $html .= "</div>\n";
668
+ }
669
+
670
+ return $html;
671
+ }
672
+
673
+ private function auto_excerpt($post, $length, $excerpt_ending)
674
  {
675
  $text = strip_shortcodes($post->post_content);
676
  $text = apply_filters('the_content', $text);
679
  $text = strip_tags($text);
680
  $words = explode(' ', $text, $length + 1);
681
 
682
+ if (count($words) > $length)
683
  {
684
+ array_pop($words);
685
+ $text = implode(' ', $words);
686
+ if($excerpt_ending !== 'none')
687
+ {
688
+ $text .= strtr($excerpt_ending, array("(" => "[", ")" => "]"));
689
+ }
690
  }
691
  $text = trim($text);
692
  if(strlen($text) !== strlen($excerpt_ending))
698
  return '';
699
  }
700
  }
701
+
702
+ public function getWooProducts()
703
+ {
704
+ $args = array(
705
+ 'order' => 'DESC',
706
+ 'orderby' => 'date',
707
+ 'post_status' => array('publish'),
708
+ 'meta_query' => '_thumbnail_id',
709
+ 'ignore_sticky_posts' => 1,
710
+ 'nopaging' => true,
711
+ 'post_type' => 'product',
712
+ 'meta_query' => array(
713
+ array(
714
+ 'key' => '_visibility',
715
+ 'value' => array('catalog', 'visible'),
716
+ 'compare' => 'IN'
717
+ )
718
+ )
719
+ );
720
+
721
+ if($this->gallery->woo_categories)
722
+ {
723
+ $args['tax_query'] = array(
724
+ array(
725
+ 'taxonomy' => 'product_cat',
726
+ 'field' => 'term_id',
727
+ 'terms' => explode(",", $this->gallery->woo_categories),
728
+ 'operator' => 'IN'
729
+ )
730
+ );
731
+ }
732
+
733
+ $posts = get_posts($args);
734
+
735
+ $imageResults = array();
736
+ // print_r($posts);
737
+ foreach ($posts as &$post)
738
+ {
739
+ $post_thumbnail_id = get_post_thumbnail_id($post->ID);
740
+ if($post_thumbnail_id)
741
+ {
742
+ $item = new stdClass;
743
+ $item->attID = $post_thumbnail_id;
744
+ $item->imageId = $item->attID;
745
+ $item->imagePath = get_post_meta( $post->ID, 'ftg_image_url', true);
746
+ $item->filters = get_post_meta( $post->ID, 'ftg_filters', true);
747
+ $item->price = get_post_meta( $post->ID, '_price', true);
748
+ $item->description = $post->post_title;
749
+ $item->postID = $post->ID;
750
+
751
+ if(empty($item->imagePath))
752
+ {
753
+ $attr = wp_get_attachment_image_src( $post_thumbnail_id, $this->gallery->defaultWooImageSize);
754
+ $item->imagePath = $attr[0];
755
+ }
756
+
757
+ if(empty($this->gallery->lightbox))
758
+ $item->link = get_permalink($post->ID);
759
+
760
+ $this->images[] = $item;
761
+ //unset($post, $post_thumbnail_id);
762
+ }
763
+ }
764
+ }
765
 
766
+ public function getImages()
767
  {
768
+ $skip = 0;
769
+ $size = 0;
770
+
771
+ if($this->gallery->ajaxLoading == "T")
772
+ {
773
+ $size = $this->gallery->tilesPerPage;
774
+ $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
775
+ $skip = ($page - 1) * $size;
776
+ }
777
+
778
+ $images = $this->db->getImagesByGalleryId($this->id, $skip, $size);
779
+
780
  $this->images = array();
781
  foreach($images as $image)
782
  {
786
  }
787
  return $this->images;
788
  }
789
+
790
+ public function getGallery()
791
  {
792
+ if($this->gallery == null)
793
  {
794
  $this->gallery = $this->db->getGalleryById($this->id);
795
 
796
+ foreach ( $this->defaultValues as $k => $v )
797
+ {
798
+ if(! isset($this->gallery->$k))
799
+ $this->gallery->$k = $v;
800
+ }
801
+
802
  if(! empty($_GET["debug"]))
803
  {
804
+ $debug = (array) $this->gallery;
805
+ $fields = array_keys($debug);
806
+ sort($fields);
807
  print "\n<!-- \n";
808
+ foreach ($fields as $item )
809
+ {
810
+ echo "\t[$item] : $debug[$item]\n";
811
+ }
812
  print "\n -->\n";
813
  }
814
  }
lib/install-db.php CHANGED
@@ -43,10 +43,11 @@ function install_db()
43
  $sql = "CREATE TABLE $FinalTilesGalleries (
44
  Id INT NOT NULL AUTO_INCREMENT,
45
  configuration VARCHAR( 5000 ) NULL,
46
- UNIQUE KEY id (id)
47
  ) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci;";
48
-
49
- dbDelta( $sql );
 
50
 
51
  $sql = "CREATE TABLE $FinalTilesImages (
52
  Id INT NOT NULL AUTO_INCREMENT,
@@ -56,10 +57,13 @@ function install_db()
56
  imagePath LONGTEXT NOT NULL,
57
  filters VARCHAR( 1500 ) NULL,
58
  link LONGTEXT NULL,
 
59
  target VARCHAR(50) NULL,
60
  blank ENUM('T','F') DEFAULT \"F\" NOT NULL,
61
  description LONGTEXT NOT NULL,
62
- sortOrder INT NOT NULL,
 
 
63
  UNIQUE KEY id (Id)
64
  ) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci";
65
 
43
  $sql = "CREATE TABLE $FinalTilesGalleries (
44
  Id INT NOT NULL AUTO_INCREMENT,
45
  configuration VARCHAR( 5000 ) NULL,
46
+ UNIQUE KEY Id (Id)
47
  ) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci;";
48
+
49
+ dbDelta( $sql );
50
+
51
 
52
  $sql = "CREATE TABLE $FinalTilesImages (
53
  Id INT NOT NULL AUTO_INCREMENT,
57
  imagePath LONGTEXT NOT NULL,
58
  filters VARCHAR( 1500 ) NULL,
59
  link LONGTEXT NULL,
60
+ title LONGTEXT NULL,
61
  target VARCHAR(50) NULL,
62
  blank ENUM('T','F') DEFAULT \"F\" NOT NULL,
63
  description LONGTEXT NOT NULL,
64
+ sortOrder INT NOT NULL,
65
+ `group` text,
66
+ hidden ENUM('T','F') DEFAULT \"F\" NOT NULL,
67
  UNIQUE KEY id (Id)
68
  ) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci";
69
 
lib/languages/final-tiles-gallery.pot CHANGED
@@ -8,7 +8,7 @@ msgid ""
8
  msgstr ""
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2015-06-30 14:47+0400\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,196 +17,208 @@ msgstr ""
17
  "Content-Type: text/plain; charset=CHARSET\n"
18
  "Content-Transfer-Encoding: 8bit\n"
19
 
20
- #: FinalTilesGalleryLite.php:65
21
- msgid "Upgrade to Final Tiles Grid Gallery PRO"
22
- msgstr ""
23
-
24
- #: FinalTilesGalleryLite.php:336
25
  msgid "FinalTiles Gallery >> Add Gallery"
26
  msgstr ""
27
 
28
- #: FinalTilesGalleryLite.php:336
29
  msgid "Add Gallery"
30
  msgstr ""
31
 
32
- #: FinalTilesGalleryLite.php:337
33
  msgid "FinalTiles Gallery >> Tutorial"
34
  msgstr ""
35
 
36
- #: FinalTilesGalleryLite.php:337 admin/tutorial.php:1
37
  msgid "Tutorial"
38
  msgstr ""
39
 
40
- #: FinalTilesGalleryLite.php:338
41
  msgid "FinalTiles Gallery >> Support"
42
  msgstr ""
43
 
44
- #: FinalTilesGalleryLite.php:338 admin/support.php:2
45
  msgid "Support"
46
  msgstr ""
47
 
48
- #: admin/add-gallery.php:1 admin/edit-gallery.php:2 admin/overview.php:1
49
- #: admin/support.php:1
50
  msgid "You are not allowed to call this page directly."
51
  msgstr ""
52
 
53
- #: admin/add-gallery.php:3
54
- msgid "New gallery"
55
- msgstr ""
56
-
57
  #: admin/add-gallery.php:10
58
  msgid "Add new gallery wizard"
59
  msgstr ""
60
 
61
- #: admin/add-gallery.php:21
62
  msgid "Name of the gallery"
63
  msgstr ""
64
 
65
- #: admin/add-gallery.php:26
66
  msgid "Description of the gallery"
67
  msgstr ""
68
 
69
- #: admin/add-gallery.php:30
70
  msgid "Choose the source of the images"
71
  msgstr ""
72
 
73
- #: admin/add-gallery.php:33
74
  msgid "Media library"
75
  msgstr ""
76
 
77
- #: admin/add-gallery.php:37 admin/include/edit-gallery.php:208
78
  msgid "Recent posts with featured image"
79
  msgstr ""
80
 
81
- #: admin/add-gallery.php:41 admin/include/edit-gallery.php:210
82
  msgid "WooCommerce products"
83
  msgstr ""
84
 
85
- #: admin/add-gallery.php:46
86
  msgid "WordPress field for captions:"
87
  msgstr ""
88
 
89
- #: admin/add-gallery.php:49
90
  msgid "Don't use captions"
91
  msgstr ""
92
 
93
- #: admin/add-gallery.php:53
94
  msgid "Title"
95
  msgstr ""
96
 
97
- #: admin/add-gallery.php:57 admin/include/edit-gallery.php:302
98
  msgid "Caption"
99
  msgstr ""
100
 
101
- #: admin/add-gallery.php:61
102
  msgid "Description"
103
  msgstr ""
104
 
105
- #: admin/add-gallery.php:82
106
  msgid "Caption effect:"
107
  msgstr ""
108
 
109
- #: admin/add-gallery.php:84
110
  msgid "Fade"
111
  msgstr ""
112
 
113
- #: admin/add-gallery.php:85
114
  msgid "Slide from top"
115
  msgstr ""
116
 
117
- #: admin/add-gallery.php:86
118
  msgid "Slide from bottom"
119
  msgstr ""
120
 
121
- #: admin/add-gallery.php:87
122
  msgid "Slide from left"
123
  msgstr ""
124
 
125
- #: admin/add-gallery.php:88
126
  msgid "Slide from right"
127
  msgstr ""
128
 
129
- #: admin/add-gallery.php:89
130
  msgid "Rotate from left"
131
  msgstr ""
132
 
133
- #: admin/add-gallery.php:90
134
  msgid "Rotate from right"
135
  msgstr ""
136
 
137
- #: admin/add-gallery.php:96
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  msgid "Choose a default image size"
139
  msgstr ""
140
 
141
- #: admin/add-gallery.php:105
142
  msgid "You can customize each image later"
143
  msgstr ""
144
 
145
- #: admin/add-gallery.php:109
146
- msgid "Add max 20 images"
147
  msgstr ""
148
 
149
- #: admin/add-gallery.php:111
150
  msgid "You can add images now or later."
151
  msgstr ""
152
 
153
- #: admin/add-gallery.php:120
154
  msgid "Previous"
155
  msgstr ""
156
 
157
- #: admin/add-gallery.php:121
158
  msgid "Next"
159
  msgstr ""
160
 
161
- #: admin/add-gallery.php:126
162
  msgid "Success!"
163
  msgstr ""
164
 
165
- #: admin/add-gallery.php:127
166
  msgid "Your gallery"
167
  msgstr ""
168
 
169
- #: admin/add-gallery.php:127
170
  msgid "has been created. Copy the following shortcode:"
171
  msgstr ""
172
 
173
- #: admin/add-gallery.php:129
174
  msgid "and paste it inside a post or a page. Otherwise click"
175
  msgstr ""
176
 
177
- #: admin/add-gallery.php:129 admin/overview.php:18
178
  msgid "here"
179
  msgstr ""
180
 
181
- #: admin/add-gallery.php:129
182
  msgid ""
183
  "to customize\n"
184
  "\t\t\t the gallery."
185
  msgstr ""
186
 
187
- #: admin/add-gallery.php:134 admin/add-gallery.php:143 admin/overview.php:92
188
  msgid "Close"
189
  msgstr ""
190
 
191
- #: admin/add-gallery.php:140
 
 
 
 
192
  msgid ""
193
  "For some reason it was not possible to save your gallery, please contact"
194
  msgstr ""
195
 
196
- #: admin/add-gallery.php:140
197
  msgid "support"
198
  msgstr ""
199
 
 
 
 
 
 
 
 
 
200
  #: admin/edit-gallery.php:29
201
  msgid ""
202
  "Video tutorial: Tutorial: better grids with Final Tiles Grid Gallery for "
203
  "WordPress"
204
  msgstr ""
205
 
206
- #: admin/overview.php:3
207
- msgid "Dashboard"
208
- msgstr ""
209
-
210
  #: admin/overview.php:16
211
  msgid "Welcome to Final Tiles Grid Gallery!"
212
  msgstr ""
@@ -236,83 +248,61 @@ msgid "Copy and paste the following shortcode inside a post, page or widget:"
236
  msgstr ""
237
 
238
  #: admin/support.php:10
239
- msgid "Having problems with the plugin? No panic, you have two roads:"
240
- msgstr ""
241
-
242
- #: admin/support.php:12
243
- msgid "write on"
244
- msgstr ""
245
-
246
- #: admin/support.php:12
247
- msgid "support forum."
248
- msgstr ""
249
-
250
- #: admin/support.php:12
251
- msgid "We'll try to answer as soon as we can;"
252
  msgstr ""
253
 
254
- #: admin/support.php:14 admin/include/edit-gallery.php:226
255
- msgid "or"
 
 
256
  msgstr ""
257
 
258
- #: admin/support.php:16
259
- msgid "buy the PRO version and get fast and guaranteed help on our"
260
  msgstr ""
261
 
262
  #: admin/support.php:16
263
- msgid "support platform"
264
- msgstr ""
265
-
266
- #: admin/support.php:20
267
- msgid "In both cases, remember:"
268
- msgstr ""
269
-
270
- #: admin/support.php:21
271
- msgid ""
272
- "to get a fast solution you should gather these basic but important "
273
- "informations"
274
- msgstr ""
275
-
276
- #: admin/support.php:24
277
  msgid "URL of the page with the gallery;"
278
  msgstr ""
279
 
280
- #: admin/support.php:25
281
  msgid "describe the problem you are experiencing;"
282
  msgstr ""
283
 
284
- #: admin/support.php:26
285
  msgid "browser and operating system used."
286
  msgstr ""
287
 
288
- #: admin/support.php:29
289
  msgid ""
290
  "Another great help from you would be doing a couple of tests, try these "
291
  "simple operations and let us know the results:"
292
  msgstr ""
293
 
294
- #: admin/support.php:32
295
  msgid ""
296
  "Switch to the default WordPress theme and look if the problem is still "
297
  "there, if not we'll already know that the problem is related to your theme "
298
  "and we can be faster solving the issue;"
299
  msgstr ""
300
 
301
- #: admin/support.php:35
302
- msgid ""
303
- "The more complete these informations are, the faster we'll be our response"
304
  msgstr ""
305
 
306
- #: admin/support.php:35
307
- msgid "(aware out time zome, we're +1 GMT), thanks!"
 
308
  msgstr ""
309
 
310
- #: admin/support.php:33
311
- msgid "See if the problem is repeatable, also on another computers."
312
  msgstr ""
313
 
314
- #: admin/tutorial.php:5
315
- msgid "Documentation"
316
  msgstr ""
317
 
318
  #: admin/tutorial.php:7
@@ -323,6 +313,10 @@ msgstr ""
323
  msgid "the documentation or:"
324
  msgstr ""
325
 
 
 
 
 
326
  #: admin/tutorial.php:11
327
  msgid "Watch a video tutorial: how to get better grids"
328
  msgstr ""
@@ -331,145 +325,211 @@ msgstr ""
331
  msgid "Learn how to make better grids with this video:"
332
  msgstr ""
333
 
334
- #: admin/include/edit-gallery.php:99
335
  msgid "Jump to setting"
336
  msgstr ""
337
 
338
- #: admin/include/edit-gallery.php:199 admin/include/edit-gallery.php:206
 
 
 
 
 
 
 
 
 
 
 
 
339
  msgid "Images"
340
  msgstr ""
341
 
342
- #: admin/include/edit-gallery.php:204
343
  msgid "Source:"
344
  msgstr ""
345
 
346
- #: admin/include/edit-gallery.php:214
 
 
 
 
 
347
  msgid "Image size"
348
  msgstr ""
349
 
350
- #: admin/include/edit-gallery.php:224
 
351
  msgid "Want to add more images sizes?"
352
  msgstr ""
353
 
354
- #: admin/include/edit-gallery.php:224
 
355
  msgid "Read a simple tutorial."
356
  msgstr ""
357
 
358
- #: admin/include/edit-gallery.php:226
 
359
  msgid "About choosing a proper image size:"
360
  msgstr ""
361
 
362
- #: admin/include/edit-gallery.php:226
363
  msgid ""
364
  "Final Tiles Gallery doesn't scale down the images when there's enough space, "
365
  "it gives you the freedom to choose your favourite size for each image. So "
366
  "you should use images that are smaller than the container, choose the"
367
  msgstr ""
368
 
369
- #: admin/include/edit-gallery.php:226
 
370
  msgid "thumbnail"
371
  msgstr ""
372
 
373
- #: admin/include/edit-gallery.php:226
 
 
 
 
 
 
374
  msgid "medium"
375
  msgstr ""
376
 
377
- #: admin/include/edit-gallery.php:226
 
378
  msgid "size, for example."
379
  msgstr ""
380
 
381
- #: admin/include/edit-gallery.php:228
 
382
  msgid "How to get a better grid? Watch the"
383
  msgstr ""
384
 
385
- #: admin/include/edit-gallery.php:228
 
386
  msgid "video tutorial"
387
  msgstr ""
388
 
389
- #: admin/include/edit-gallery.php:232
390
- msgid "Add images"
 
 
 
 
 
 
391
  msgstr ""
392
 
393
- #: admin/include/edit-gallery.php:236
394
- msgid "For multiple selections: Click+CTRL."
 
 
 
 
 
395
  msgstr ""
396
 
397
- #: admin/include/edit-gallery.php:237
398
- msgid "Drag images to change order."
399
  msgstr ""
400
 
401
- #: admin/include/edit-gallery.php:243
402
  msgid "Bulk Actions"
403
  msgstr ""
404
 
405
- #: admin/include/edit-gallery.php:245
406
  msgid "Select all"
407
  msgstr ""
408
 
409
- #: admin/include/edit-gallery.php:246
410
  msgid "Deselect all"
411
  msgstr ""
412
 
413
- #: admin/include/edit-gallery.php:247
414
  msgid "Toggle selection"
415
  msgstr ""
416
 
417
- #: admin/include/edit-gallery.php:248
418
  msgid "Assign filters"
419
  msgstr ""
420
 
421
- #: admin/include/edit-gallery.php:249
422
  msgid "Remove"
423
  msgstr ""
424
 
425
- #: admin/include/edit-gallery.php:253
426
- msgid "List View:"
427
  msgstr ""
428
 
429
- #: admin/include/edit-gallery.php:255
430
  msgid "Big"
431
  msgstr ""
432
 
433
- #: admin/include/edit-gallery.php:256
434
  msgid "Medium"
435
  msgstr ""
436
 
437
- #: admin/include/edit-gallery.php:257
438
  msgid "Small"
439
  msgstr ""
440
 
441
- #: admin/include/edit-gallery.php:265 admin/include/edit-gallery.php:326
 
442
  msgid "Cancel"
443
  msgstr ""
444
 
445
- #: admin/include/edit-gallery.php:266
446
  msgid "Proceed"
447
  msgstr ""
448
 
449
- #: admin/include/edit-gallery.php:295
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
450
  msgid "Edit image"
451
  msgstr ""
452
 
453
- #: admin/include/edit-gallery.php:308
454
  msgid "Link"
455
  msgstr ""
456
 
457
- #: admin/include/edit-gallery.php:312
458
  msgid "Link target"
459
  msgstr ""
460
 
461
- #: admin/include/edit-gallery.php:315
462
  msgid "Default target"
463
  msgstr ""
464
 
465
- #: admin/include/edit-gallery.php:316
466
  msgid "Open in same page"
467
  msgstr ""
468
 
469
- #: admin/include/edit-gallery.php:317
470
  msgid "Open in _blank"
471
  msgstr ""
472
-
473
- #: admin/include/edit-gallery.php:325
474
- msgid "Save"
475
- msgstr ""
8
  msgstr ""
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
  "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2015-07-01 14:02+0400\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
17
  "Content-Type: text/plain; charset=CHARSET\n"
18
  "Content-Transfer-Encoding: 8bit\n"
19
 
20
+ #: FinalTiles_gallery.php:432
 
 
 
 
21
  msgid "FinalTiles Gallery >> Add Gallery"
22
  msgstr ""
23
 
24
+ #: FinalTiles_gallery.php:432
25
  msgid "Add Gallery"
26
  msgstr ""
27
 
28
+ #: FinalTiles_gallery.php:433
29
  msgid "FinalTiles Gallery >> Tutorial"
30
  msgstr ""
31
 
32
+ #: FinalTiles_gallery.php:433
33
  msgid "Tutorial"
34
  msgstr ""
35
 
36
+ #: FinalTiles_gallery.php:434
37
  msgid "FinalTiles Gallery >> Support"
38
  msgstr ""
39
 
40
+ #: FinalTiles_gallery.php:434
41
  msgid "Support"
42
  msgstr ""
43
 
44
+ #: admin/add-gallery.php:1 admin/overview.php:1 admin/support.php:1
 
45
  msgid "You are not allowed to call this page directly."
46
  msgstr ""
47
 
 
 
 
 
48
  #: admin/add-gallery.php:10
49
  msgid "Add new gallery wizard"
50
  msgstr ""
51
 
52
+ #: admin/add-gallery.php:23
53
  msgid "Name of the gallery"
54
  msgstr ""
55
 
56
+ #: admin/add-gallery.php:28
57
  msgid "Description of the gallery"
58
  msgstr ""
59
 
60
+ #: admin/add-gallery.php:32
61
  msgid "Choose the source of the images"
62
  msgstr ""
63
 
64
+ #: admin/add-gallery.php:35
65
  msgid "Media library"
66
  msgstr ""
67
 
68
+ #: admin/add-gallery.php:39 admin/include/edit-gallery.php:224
69
  msgid "Recent posts with featured image"
70
  msgstr ""
71
 
72
+ #: admin/add-gallery.php:49 admin/include/edit-gallery.php:228
73
  msgid "WooCommerce products"
74
  msgstr ""
75
 
76
+ #: admin/add-gallery.php:54
77
  msgid "WordPress field for captions:"
78
  msgstr ""
79
 
80
+ #: admin/add-gallery.php:57
81
  msgid "Don't use captions"
82
  msgstr ""
83
 
84
+ #: admin/add-gallery.php:61
85
  msgid "Title"
86
  msgstr ""
87
 
88
+ #: admin/add-gallery.php:65 admin/include/edit-gallery.php:439
89
  msgid "Caption"
90
  msgstr ""
91
 
92
+ #: admin/add-gallery.php:69
93
  msgid "Description"
94
  msgstr ""
95
 
96
+ #: admin/add-gallery.php:90
97
  msgid "Caption effect:"
98
  msgstr ""
99
 
100
+ #: admin/add-gallery.php:92
101
  msgid "Fade"
102
  msgstr ""
103
 
104
+ #: admin/add-gallery.php:93
105
  msgid "Slide from top"
106
  msgstr ""
107
 
108
+ #: admin/add-gallery.php:94
109
  msgid "Slide from bottom"
110
  msgstr ""
111
 
112
+ #: admin/add-gallery.php:95
113
  msgid "Slide from left"
114
  msgstr ""
115
 
116
+ #: admin/add-gallery.php:96
117
  msgid "Slide from right"
118
  msgstr ""
119
 
120
+ #: admin/add-gallery.php:97
121
  msgid "Rotate from left"
122
  msgstr ""
123
 
124
+ #: admin/add-gallery.php:98
125
  msgid "Rotate from right"
126
  msgstr ""
127
 
128
+ #: admin/add-gallery.php:104 admin/add-gallery.php:128
129
+ #: admin/include/edit-gallery.php:296 admin/include/edit-gallery.php:349
130
+ msgid "Categories:"
131
+ msgstr ""
132
+
133
+ #: admin/add-gallery.php:113 admin/include/edit-gallery.php:308
134
+ msgid "Tags:"
135
+ msgstr ""
136
+
137
+ #: admin/add-gallery.php:122 admin/include/edit-gallery.php:319
138
+ msgid "No tags found"
139
+ msgstr ""
140
+
141
+ #: admin/add-gallery.php:139
142
  msgid "Choose a default image size"
143
  msgstr ""
144
 
145
+ #: admin/add-gallery.php:148
146
  msgid "You can customize each image later"
147
  msgstr ""
148
 
149
+ #: admin/add-gallery.php:152 admin/include/edit-gallery.php:252
150
+ msgid "Add images"
151
  msgstr ""
152
 
153
+ #: admin/add-gallery.php:154
154
  msgid "You can add images now or later."
155
  msgstr ""
156
 
157
+ #: admin/add-gallery.php:162
158
  msgid "Previous"
159
  msgstr ""
160
 
161
+ #: admin/add-gallery.php:163
162
  msgid "Next"
163
  msgstr ""
164
 
165
+ #: admin/add-gallery.php:168
166
  msgid "Success!"
167
  msgstr ""
168
 
169
+ #: admin/add-gallery.php:169
170
  msgid "Your gallery"
171
  msgstr ""
172
 
173
+ #: admin/add-gallery.php:169
174
  msgid "has been created. Copy the following shortcode:"
175
  msgstr ""
176
 
177
+ #: admin/add-gallery.php:171
178
  msgid "and paste it inside a post or a page. Otherwise click"
179
  msgstr ""
180
 
181
+ #: admin/add-gallery.php:171 admin/overview.php:18
182
  msgid "here"
183
  msgstr ""
184
 
185
+ #: admin/add-gallery.php:171
186
  msgid ""
187
  "to customize\n"
188
  "\t\t\t the gallery."
189
  msgstr ""
190
 
191
+ #: admin/add-gallery.php:176 admin/add-gallery.php:185 admin/overview.php:92
192
  msgid "Close"
193
  msgstr ""
194
 
195
+ #: admin/add-gallery.php:181
196
+ msgid "Error!"
197
+ msgstr ""
198
+
199
+ #: admin/add-gallery.php:182
200
  msgid ""
201
  "For some reason it was not possible to save your gallery, please contact"
202
  msgstr ""
203
 
204
+ #: admin/add-gallery.php:182
205
  msgid "support"
206
  msgstr ""
207
 
208
+ #: admin/edit-gallery.php:26 admin/tutorial.php:5
209
+ msgid "Documentation"
210
+ msgstr ""
211
+
212
+ #: admin/edit-gallery.php:26
213
+ msgid "(download)"
214
+ msgstr ""
215
+
216
  #: admin/edit-gallery.php:29
217
  msgid ""
218
  "Video tutorial: Tutorial: better grids with Final Tiles Grid Gallery for "
219
  "WordPress"
220
  msgstr ""
221
 
 
 
 
 
222
  #: admin/overview.php:16
223
  msgid "Welcome to Final Tiles Grid Gallery!"
224
  msgstr ""
248
  msgstr ""
249
 
250
  #: admin/support.php:10
251
+ msgid ""
252
+ "Having problems with the plugin? No panic, our support is quite fast and "
253
+ "reliable!"
 
 
 
 
 
 
 
 
 
 
254
  msgstr ""
255
 
256
+ #: admin/support.php:13
257
+ msgid ""
258
+ "To get a fast solution you should fill a support ticket on our platform, "
259
+ "before that"
260
  msgstr ""
261
 
262
+ #: admin/support.php:13
263
+ msgid "prepare these basic but important informations"
264
  msgstr ""
265
 
266
  #: admin/support.php:16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267
  msgid "URL of the page with the gallery;"
268
  msgstr ""
269
 
270
+ #: admin/support.php:17
271
  msgid "describe the problem you are experiencing;"
272
  msgstr ""
273
 
274
+ #: admin/support.php:18
275
  msgid "browser and operating system used."
276
  msgstr ""
277
 
278
+ #: admin/support.php:21
279
  msgid ""
280
  "Another great help from you would be doing a couple of tests, try these "
281
  "simple operations and let us know the results:"
282
  msgstr ""
283
 
284
+ #: admin/support.php:24
285
  msgid ""
286
  "Switch to the default WordPress theme and look if the problem is still "
287
  "there, if not we'll already know that the problem is related to your theme "
288
  "and we can be faster solving the issue;"
289
  msgstr ""
290
 
291
+ #: admin/support.php:25
292
+ msgid "See if the problem is repeatable, also on another computers."
 
293
  msgstr ""
294
 
295
+ #: admin/support.php:27
296
+ msgid ""
297
+ "The more complete these informations are, the faster we'll be our response"
298
  msgstr ""
299
 
300
+ #: admin/support.php:27
301
+ msgid "(time zone permitting), thanks!"
302
  msgstr ""
303
 
304
+ #: admin/support.php:29
305
+ msgid "Go to GreenTreeLabs support platform"
306
  msgstr ""
307
 
308
  #: admin/tutorial.php:7
313
  msgid "the documentation or:"
314
  msgstr ""
315
 
316
+ #: admin/tutorial.php:8
317
+ msgid "read it online"
318
+ msgstr ""
319
+
320
  #: admin/tutorial.php:11
321
  msgid "Watch a video tutorial: how to get better grids"
322
  msgstr ""
325
  msgid "Learn how to make better grids with this video:"
326
  msgstr ""
327
 
328
+ #: admin/include/edit-gallery.php:98
329
  msgid "Jump to setting"
330
  msgstr ""
331
 
332
+ #: admin/include/edit-gallery.php:184
333
+ msgid "Resolution"
334
+ msgstr ""
335
+
336
+ #: admin/include/edit-gallery.php:185
337
+ msgid "Size factor"
338
+ msgstr ""
339
+
340
+ #: admin/include/edit-gallery.php:196
341
+ msgid "Add resolution"
342
+ msgstr ""
343
+
344
+ #: admin/include/edit-gallery.php:216
345
  msgid "Images"
346
  msgstr ""
347
 
348
+ #: admin/include/edit-gallery.php:221
349
  msgid "Source:"
350
  msgstr ""
351
 
352
+ #: admin/include/edit-gallery.php:223
353
+ msgid "User images"
354
+ msgstr ""
355
+
356
+ #: admin/include/edit-gallery.php:234 admin/include/edit-gallery.php:262
357
+ #: admin/include/edit-gallery.php:329
358
  msgid "Image size"
359
  msgstr ""
360
 
361
+ #: admin/include/edit-gallery.php:244 admin/include/edit-gallery.php:272
362
+ #: admin/include/edit-gallery.php:339
363
  msgid "Want to add more images sizes?"
364
  msgstr ""
365
 
366
+ #: admin/include/edit-gallery.php:244 admin/include/edit-gallery.php:272
367
+ #: admin/include/edit-gallery.php:339
368
  msgid "Read a simple tutorial."
369
  msgstr ""
370
 
371
+ #: admin/include/edit-gallery.php:246 admin/include/edit-gallery.php:274
372
+ #: admin/include/edit-gallery.php:341
373
  msgid "About choosing a proper image size:"
374
  msgstr ""
375
 
376
+ #: admin/include/edit-gallery.php:246
377
  msgid ""
378
  "Final Tiles Gallery doesn't scale down the images when there's enough space, "
379
  "it gives you the freedom to choose your favourite size for each image. So "
380
  "you should use images that are smaller than the container, choose the"
381
  msgstr ""
382
 
383
+ #: admin/include/edit-gallery.php:246 admin/include/edit-gallery.php:276
384
+ #: admin/include/edit-gallery.php:343
385
  msgid "thumbnail"
386
  msgstr ""
387
 
388
+ #: admin/include/edit-gallery.php:246 admin/include/edit-gallery.php:276
389
+ #: admin/include/edit-gallery.php:343
390
+ msgid "or"
391
+ msgstr ""
392
+
393
+ #: admin/include/edit-gallery.php:246 admin/include/edit-gallery.php:277
394
+ #: admin/include/edit-gallery.php:344
395
  msgid "medium"
396
  msgstr ""
397
 
398
+ #: admin/include/edit-gallery.php:246 admin/include/edit-gallery.php:277
399
+ #: admin/include/edit-gallery.php:344
400
  msgid "size, for example."
401
  msgstr ""
402
 
403
+ #: admin/include/edit-gallery.php:248 admin/include/edit-gallery.php:279
404
+ #: admin/include/edit-gallery.php:346
405
  msgid "How to get a better grid? Watch the"
406
  msgstr ""
407
 
408
+ #: admin/include/edit-gallery.php:248 admin/include/edit-gallery.php:279
409
+ #: admin/include/edit-gallery.php:346
410
  msgid "video tutorial"
411
  msgstr ""
412
 
413
+ #: admin/include/edit-gallery.php:253
414
+ msgid "Add video"
415
+ msgstr ""
416
+
417
+ #: admin/include/edit-gallery.php:256
418
+ msgid ""
419
+ "For multiple selections: Click+CTRL.\n"
420
+ "\t\t\t\t\t\tDrag images to change order."
421
  msgstr ""
422
 
423
+ #: admin/include/edit-gallery.php:274 admin/include/edit-gallery.php:341
424
+ msgid ""
425
+ "Final Tiles Gallery doesn't scale down the images\n"
426
+ "\t\t\t\t\t\twhen there's enough space, it gives you the freedom to choose "
427
+ "your favourite size for each image.\n"
428
+ "\t\t\t\t\t\tSo you should use images that are smaller than the container, "
429
+ "choose the"
430
  msgstr ""
431
 
432
+ #: admin/include/edit-gallery.php:282
433
+ msgid "Post type:"
434
  msgstr ""
435
 
436
+ #: admin/include/edit-gallery.php:365
437
  msgid "Bulk Actions"
438
  msgstr ""
439
 
440
+ #: admin/include/edit-gallery.php:367
441
  msgid "Select all"
442
  msgstr ""
443
 
444
+ #: admin/include/edit-gallery.php:368
445
  msgid "Deselect all"
446
  msgstr ""
447
 
448
+ #: admin/include/edit-gallery.php:369
449
  msgid "Toggle selection"
450
  msgstr ""
451
 
452
+ #: admin/include/edit-gallery.php:370
453
  msgid "Assign filters"
454
  msgstr ""
455
 
456
+ #: admin/include/edit-gallery.php:371
457
  msgid "Remove"
458
  msgstr ""
459
 
460
+ #: admin/include/edit-gallery.php:375
461
+ msgid "List View"
462
  msgstr ""
463
 
464
+ #: admin/include/edit-gallery.php:377
465
  msgid "Big"
466
  msgstr ""
467
 
468
+ #: admin/include/edit-gallery.php:378
469
  msgid "Medium"
470
  msgstr ""
471
 
472
+ #: admin/include/edit-gallery.php:379
473
  msgid "Small"
474
  msgstr ""
475
 
476
+ #: admin/include/edit-gallery.php:387 admin/include/edit-gallery.php:425
477
+ #: admin/include/edit-gallery.php:463
478
  msgid "Cancel"
479
  msgstr ""
480
 
481
+ #: admin/include/edit-gallery.php:388
482
  msgid "Proceed"
483
  msgstr ""
484
 
485
+ #: admin/include/edit-gallery.php:417
486
+ msgid "Paste here the embed code (it must be an "
487
+ msgstr ""
488
+
489
+ #: admin/include/edit-gallery.php:417
490
+ msgid "iframe"
491
+ msgstr ""
492
+
493
+ #: admin/include/edit-gallery.php:418
494
+ msgid "and it must contains the attributes"
495
+ msgstr ""
496
+
497
+ #: admin/include/edit-gallery.php:418
498
+ msgid "width"
499
+ msgstr ""
500
+
501
+ #: admin/include/edit-gallery.php:418
502
+ msgid "and"
503
+ msgstr ""
504
+
505
+ #: admin/include/edit-gallery.php:418
506
+ msgid "height"
507
+ msgstr ""
508
+
509
+ #: admin/include/edit-gallery.php:424 admin/include/edit-gallery.php:462
510
+ msgid "Save"
511
+ msgstr ""
512
+
513
+ #: admin/include/edit-gallery.php:432
514
  msgid "Edit image"
515
  msgstr ""
516
 
517
+ #: admin/include/edit-gallery.php:445
518
  msgid "Link"
519
  msgstr ""
520
 
521
+ #: admin/include/edit-gallery.php:449
522
  msgid "Link target"
523
  msgstr ""
524
 
525
+ #: admin/include/edit-gallery.php:452
526
  msgid "Default target"
527
  msgstr ""
528
 
529
+ #: admin/include/edit-gallery.php:453
530
  msgid "Open in same page"
531
  msgstr ""
532
 
533
+ #: admin/include/edit-gallery.php:454
534
  msgid "Open in _blank"
535
  msgstr ""
 
 
 
 
readme.txt CHANGED
@@ -1,19 +1,18 @@
1
  === Gallery Final Tiles Grid ===
2
  Contributors: GreenTreeLabs
3
  Donate link: http://greentreelabs.net/blog/donate/
4
- Tags: gallery, grid gallery, thumbnail, slider, best gallery, free gallery, best grid gallery, gallery plugin, gallery grid plugin, best grid gallery plugin, social, share
5
  Requires at least: 3.8.0
6
- Tested up to: 4.6.1
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- Gallery. Probably the best gallery around. Unique gallery layout, you have to try it! Highly customizable, easy and fast.
12
 
13
  == Description ==
14
 
15
- Build galleries like a puzzle, not only you get awesome layouts, but it's also funny!
16
- [Image credits Freepik](http://www.freepik.com/free-psd/imac-mockup_800761.htm)
17
 
18
  = A Brand New Algorithm =
19
 
@@ -85,12 +84,13 @@ The PRO license bundles 7 different lightboxes. However you can use any other li
85
 
86
  = How can I get support? =
87
 
88
- * Free support is included only with a PRO license: http://www.final-tiles-gallery.com/wordpress/pro.html
89
 
90
  = How can I say thanks? =
91
 
92
  * Just recommend our plugin to your friends! or
93
  * Like and share our [Facebook page](https://www.facebook.com/greentreelabs "Facebook fan page")
 
94
 
95
 
96
  == Screenshots ==
@@ -104,6 +104,11 @@ The PRO license bundles 7 different lightboxes. However you can use any other li
104
 
105
  == Changelog ==
106
 
 
 
 
 
 
107
  = 2.0.15 =
108
  * Enhanced support for filters in WordPress media panel
109
 
1
  === Gallery Final Tiles Grid ===
2
  Contributors: GreenTreeLabs
3
  Donate link: http://greentreelabs.net/blog/donate/
4
+ Tags: gallery, grid gallery, thumbnail, slider, best gallery, free gallery, best grid gallery, gallery plugin, gallery grid plugin, best grid gallery plugin, social, masonry
5
  Requires at least: 3.8.0
6
+ Tested up to: 4.7.1
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ Gallery. Probably the best gallery around. Unique gallery layouts: Final Tiles + Masonry, you have to try it! Highly customizable, include a lightbox. Easy and fast!
12
 
13
  == Description ==
14
 
15
+ Build a WordPress gallery with lightbox in 4 easy steps! Use the common masonry layout or create complex and smart grids using the Final Tiles Gallery layout.
 
16
 
17
  = A Brand New Algorithm =
18
 
84
 
85
  = How can I get support? =
86
 
87
+ * Get priority support with a PRO license: http://www.final-tiles-gallery.com/wordpress/pro.html
88
 
89
  = How can I say thanks? =
90
 
91
  * Just recommend our plugin to your friends! or
92
  * Like and share our [Facebook page](https://www.facebook.com/greentreelabs "Facebook fan page")
93
+ * Or buy me a [present](http://amzn.eu/5SP6qpj)
94
 
95
 
96
  == Screenshots ==
104
 
105
  == Changelog ==
106
 
107
+ = 3.0.0 =
108
+ * [Add] Removed limit of 20 images per gallery
109
+ * [Add] New masonry layout available
110
+ * [Add] Dozens of improvements
111
+
112
  = 2.0.15 =
113
  * Enhanced support for filters in WordPress media panel
114
 
scripts/ftg.css CHANGED
@@ -17,8 +17,6 @@
17
  height:2px;
18
  background:#ccc;
19
  }
20
-
21
-
22
  .final-tiles-gallery .ftg-items .loading-bar i {
23
  display: block;
24
  padding: 0;
@@ -64,6 +62,12 @@
64
  transition: all .25s;
65
  width: 100%;
66
  }
 
 
 
 
 
 
67
  .final-tiles-gallery .caption.frame .text {
68
  border:1px solid #fff;
69
  position:absolute;
@@ -266,8 +270,9 @@
266
  .final-tiles-gallery .caption .text {
267
  color: #fff;
268
  text-align: center;
269
- padding: 3px;
270
  display: block;
 
271
  }
272
  .final-tiles-gallery .woo {
273
  position:absolute;
@@ -315,21 +320,7 @@
315
  transform: none;
316
  opacity: 1;
317
  }
318
- .final-tiles-gallery .tile img.item {
319
- -moz-transition: -moz-transform .2s, opacity .2s linear;
320
- -o-transition: -o-transform .2s, opacity .2s linear;
321
- -webkit-transition: -webkit-transform .2s, opacity .2s linear;
322
- transition: transform .2s linear;
323
- display:block;
324
- position:relative;
325
- width: 100%;
326
-
327
- .final-tiles-gallery .tile.ftg-enlarged img {
328
- display:block;
329
- margin:auto;
330
- }
331
-
332
- }
333
  .final-tiles-gallery .ftg-come-in {
334
  -moz-transform: translateY(50px);
335
  -ms-transform: translateY(50px);
@@ -370,29 +361,70 @@
370
  animation: none;
371
  }
372
  .final-tiles-gallery .tile {
373
- float:left;
374
- overflow: hidden;
375
  margin:0;
376
- /*height:0;*/
377
  position:relative;
378
  opacity: 0;
379
- transform: scale(0);
380
- transition:all .3s;
 
381
  }
382
- .final-tiles-gallery .tile.ftg-eff-grow {
383
- height:0;
 
 
 
 
 
384
  }
385
- .final-tiles-gallery .tile.ftg-eff-zoom {
386
- transform: scale(0);
 
387
  }
 
388
  .final-tiles-gallery .tile.ftg-loaded {
389
- /*display: block;*/
390
  opacity: 1;
391
- transform: scale(1);
392
  }
393
 
394
- .final-tiles-gallery .tile.ftg-hidden {
 
 
 
 
 
 
 
 
395
  opacity: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
396
  }
397
  .final-tiles-gallery .ftg-filters {
398
  padding-bottom: 5px;
@@ -558,4 +590,6 @@
558
  @keyframes effect-rotate-right {
559
  to { transform: rotate(0deg); }
560
  }
561
- .lightbox .lb-image { max-width:999em; }
 
 
17
  height:2px;
18
  background:#ccc;
19
  }
 
 
20
  .final-tiles-gallery .ftg-items .loading-bar i {
21
  display: block;
22
  padding: 0;
62
  transition: all .25s;
63
  width: 100%;
64
  }
65
+
66
+ .final-tiles-gallery .caption .title{
67
+ font-size:14px;
68
+ font-weight: bold;
69
+ color: white;
70
+ }
71
  .final-tiles-gallery .caption.frame .text {
72
  border:1px solid #fff;
73
  position:absolute;
270
  .final-tiles-gallery .caption .text {
271
  color: #fff;
272
  text-align: center;
273
+ padding: 10px;
274
  display: block;
275
+ line-height: 1.2;
276
  }
277
  .final-tiles-gallery .woo {
278
  position:absolute;
320
  transform: none;
321
  opacity: 1;
322
  }
323
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
324
  .final-tiles-gallery .ftg-come-in {
325
  -moz-transform: translateY(50px);
326
  -ms-transform: translateY(50px);
361
  animation: none;
362
  }
363
  .final-tiles-gallery .tile {
364
+ float:left;
 
365
  margin:0;
 
366
  position:relative;
367
  opacity: 0;
368
+ transform: scale(1) translate(0, 0) rotate(0deg);
369
+ transition:top .2s, left .5s;
370
+ overflow: hidden;
371
  }
372
+ .final-tiles-gallery .tile .tile-inner {
373
+ overflow: hidden;
374
+ display: block;
375
+ border: 0;
376
+ }
377
+ .final-tiles-gallery .tile .caption-outside {
378
+ display: block;
379
  }
380
+ .final-tiles-gallery .tile .caption-outside .title {
381
+ display: block;
382
+ font-weight: bold;
383
  }
384
+
385
  .final-tiles-gallery .tile.ftg-loaded {
386
+ transform: scale(1) translate(0, 0) rotate(0deg) !important;
387
  opacity: 1;
 
388
  }
389
 
390
+ .final-tiles-gallery .tile img[data-class="item"],
391
+ .final-tiles-gallery .tile img.item {
392
+ -moz-transition: -moz-transform .2s, opacity .2s linear;
393
+ -o-transition: -o-transform .2s, opacity .2s linear;
394
+ -webkit-transition: -webkit-transform .2s, opacity .2s linear;
395
+ transition: transform .2s linear, opacity .2s linear;
396
+ display:block;
397
+ position:relative;
398
+ width: 100%;
399
  opacity: 0;
400
+
401
+ .final-tiles-gallery .tile.ftg-enlarged img {
402
+ display:block;
403
+ margin:auto;
404
+ }
405
+
406
+ }
407
+
408
+ .final-tiles-gallery .tile.ftg-img-loaded img[data-class="item"],
409
+ .final-tiles-gallery .tile.ftg-img-loaded img.item,
410
+ .final-tiles-gallery .tile.ftg-loaded img[data-class="item"],
411
+ .final-tiles-gallery .tile.ftg-loaded img.item {
412
+ opacity: 1;
413
+ }
414
+ .final-tiles-gallery .tile.ftg-img-loaded img[data-class="item"],
415
+ .final-tiles-gallery .tile.ftg-img-loaded img.item {
416
+ opacity: 1 !important;
417
+ }
418
+
419
+
420
+ .final-tiles-gallery .tile.ftg-loaded .tile-inner {
421
+ visibility: visible;
422
+ }
423
+
424
+ .final-tiles-gallery .tile.ftg-hidden-tile,
425
+ .final-tiles-gallery .tile.ftg-hidden {
426
+ opacity: 0 !important;
427
+ transform: scale(0) translate(0, 0) rotate(0deg) !important;
428
  }
429
  .final-tiles-gallery .ftg-filters {
430
  padding-bottom: 5px;
590
  @keyframes effect-rotate-right {
591
  to { transform: rotate(0deg); }
592
  }
593
+
594
+ .lightbox .lb-image { max-width: 999em; }
595
+ .pp_social .facebook { width:75px !important; }
scripts/script.js CHANGED
@@ -1,4 +1,9 @@
1
  //credits James Padolsey http://james.padolsey.com/
 
 
 
 
 
2
  var qualifyURL = function (url) {
3
  var img = document.createElement('img');
4
  img.src = url; // set string url
@@ -30,6 +35,15 @@ var qualifyURL = function (url) {
30
  var pluginName = "finalTilesGallery",
31
  defaults = {
32
  margin: 10,
 
 
 
 
 
 
 
 
 
33
  minTileWidth: 200,
34
  ignoreImageAttributes: true,
35
  imageSizeFactor: [
@@ -39,13 +53,17 @@ var qualifyURL = function (url) {
39
  [600, .6],
40
  [480, .5],
41
  [320, .3]
42
- ],
43
  gridSize: 10,
44
  allowEnlargement: true,
45
  autoLoadURL: null,
46
  autoLoadOffset: 50,
 
 
47
  onComplete: function () {},
48
  onUpdate: function () {},
 
 
49
  debug: false
50
  };
51
 
@@ -54,8 +72,6 @@ var qualifyURL = function (url) {
54
  this.element = element;
55
  this.$element = $(element);
56
  this.settings = $.extend({}, defaults, options);
57
- if(!this.settings.gridSize)
58
- this.settings.gridSize = 5;
59
  this._defaults = defaults;
60
  this._name = pluginName;
61
  this.tiles = [];
@@ -67,6 +83,8 @@ var qualifyURL = function (url) {
67
  this.isLoading = false;
68
  this.$loadingBar = null;
69
  this.currentPage = 1;
 
 
70
  this.init();
71
  }
72
 
@@ -76,6 +94,9 @@ var qualifyURL = function (url) {
76
  if(this.settings.debug)
77
  console.log(text);
78
  },
 
 
 
79
  setCurrentImageSizeFactor : function () {
80
  this.currentImageSizeFactor = 1;
81
  var ww = $(window).width();
@@ -85,32 +106,115 @@ var qualifyURL = function (url) {
85
  }
86
  if(!this.currentImageSizeFactor)
87
  this.currentImageSizeFactor = 1;
88
- this.print("current image size factor: " + this.currentImageSizeFactor + " (" + ww + ")");
 
 
 
 
 
 
 
 
 
 
 
 
89
  },
90
  init: function () {
91
- var instance = this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  this.$element.find(".ftg-items").css({
93
  position: 'relative',
94
  minWidth: instance.settings.minTileWidth
95
  });
96
- this.tiles = this.$element.find('.tile').not('.ftg-hidden');
97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  this.tiles.css({
99
  transition: 'all .3s'
100
  });
101
  this.currentWidth = this.$element.width();
102
- this.print("this.currentWidth: " + this.currentWidth);
103
 
104
-
105
  this.$loadingBar = this.$element.find(".ftg-items .loading-bar i");
106
 
107
  if(instance.$element.filter(":visible").length == 0) {
108
- instance.print('cannot initialize the gallery, container is hidden. Retrying in 500ms.');
109
  setTimeout(function () {
110
  instance.init();
111
  }, 500);
112
  return;
113
  }
 
 
 
 
 
 
 
 
 
114
 
115
  var _resizeTo = 0;
116
  this.setCurrentImageSizeFactor();
@@ -120,6 +224,7 @@ var qualifyURL = function (url) {
120
  clearTimeout(_resizeTo);
121
  instance.print("this.currentWidth", this.currentWidth);
122
  instance.currentWidth = instance.$element.width();
 
123
  instance.setCurrentImageSizeFactor();
124
  instance.refresh();
125
  }
@@ -127,12 +232,21 @@ var qualifyURL = function (url) {
127
  });
128
 
129
  instance.isLoading = true;
130
- if(instance.settings.autoLoadURL) {
131
  $(window).scroll(function () {
132
  if(!instance.ajaxComplete && !instance.isLoading) {
133
- if ($(window).scrollTop() >= $(document).height() - $(window).height() - instance.settings.autoLoadOffset) {
 
134
  instance.isLoading = true;
135
- $.get(instance.settings.autoLoadURL, { page: ++instance.currentPage }, function (html) {
 
 
 
 
 
 
 
 
136
  if ($.trim(html).length == 0) {
137
  instance.ajaxComplete = true;
138
  } else {
@@ -148,13 +262,25 @@ var qualifyURL = function (url) {
148
 
149
  this.setupFilters();
150
  this.edges.push({ left: 0, top: 0, width: this.currentWidth, index: 0 });
151
- this.loadImage();
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  },
153
  setupFilters: function() {
 
154
  var instance = this;
155
- instance.$element.find(".ftg-filters a").click(function(e) {
156
- e.preventDefault();
157
-
158
  instance.$element.find(".ftg-filters a").removeClass("selected");
159
  $(this).addClass("selected");
160
 
@@ -191,7 +317,7 @@ var qualifyURL = function (url) {
191
  },
192
  printEdge: function (edge) {
193
  var $e = $("<div class='edge enlarged-"+edge.enlarged+"' />");
194
- $e.append("<b>"+ edge.index + " " + edge.case + "</b><br>");
195
  $e.append("t: " + Math.round(edge.top) + " l: " + edge.left + "<br>");
196
  $e.append("width: " + edge.width + "<br>");
197
  $e.append("idx: " + edge.tileIndex + "<br>");
@@ -205,17 +331,20 @@ var qualifyURL = function (url) {
205
  this.$element.append($e);
206
  },
207
  refresh: function () {
 
208
  this.$element.find(".edge").remove();
209
  this.edges = [
210
  { left: 0, top: 0, width: this.currentWidth }
211
  ];
 
 
 
212
  this.tiles.removeClass("ftg-loaded ftg-enlarged");
213
- this.tiles = this.$element.find('.tile').not('.ftg-hidden');
214
  this._loadedImages = 0;
215
  this.loadImage();
216
  },
217
- increaseLoadingProgress: function() {
218
- this.print("loaded " + this._loadedImages + " / " + this.tiles.length);
219
  var perc = ( this._loadedImages + 1 ) / this.tiles.length * 100;
220
  this.$loadingBar.css({
221
  width: perc + "%",
@@ -226,18 +355,33 @@ var qualifyURL = function (url) {
226
  },
227
  loadImage: function () {
228
  var instance = this;
229
- var $tile = this.tiles.eq(this._loadedImages);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
 
231
  if($tile.find("iframe").length)
232
- $tile.find("iframe:first").addClass("item");
233
 
234
- var $item = $tile.find('.item');
235
 
236
- function next() {
237
  instance.add(instance._loadedImages);
238
-
239
  if (++instance._loadedImages < instance.tiles.length) {
240
- instance.loadImage();
241
  } else {
242
  var height = instance.lowerEdgeTop();
243
  instance.print("lower edge top: " + height);
@@ -249,44 +393,110 @@ var qualifyURL = function (url) {
249
 
250
  switch ($item.get(0).tagName.toLowerCase()) {
251
  case "img":
252
- var img = new Image();
253
- img.onload = function () {
254
- var iFactor = instance.currentImageSizeFactor;
255
- if ($tile.data("ftg-ignore-size-factor"))
256
- iFactor = 1;
257
-
258
- $item.attr("src", this.src);
259
- $item.data("width", img.width * iFactor );
260
- $item.data("height", img.height * iFactor);
261
- $item.data("owidth", img.width);
262
- $item.data("oheight", img.height);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
263
  instance.increaseLoadingProgress();
264
  next();
265
- }
266
- img.onerror = function() {
267
- instance.print("error loading image: " + img.src);
268
- instance.increaseLoadingProgress();
269
- next();
270
- }
271
- img.src = $item.data("ftg-src");
272
  $item.removeAttr("width");
273
  $item.removeAttr("height");
274
  $tile.data("ftg-type", "image");
275
- break;
276
  case "iframe":
277
- $item.data("width", $item.attr("width"));
278
- $item.data("height", $item.attr("height"));
279
- $item.data("owidth", $item.attr("width"));
280
- $item.data("oheight", $item.attr("height"));
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  $tile.data("ftg-type", "iframe");
282
  instance.increaseLoadingProgress();
283
  next();
284
  break;
285
  default:
286
- $item.data("width", $item.data("width"));
287
- $item.data("height", $item.data("height"));
288
- $item.data("owidth", $item.data("width"));
289
- $item.data("oheight", $item.data("height"));
 
 
290
  $tile.data("ftg-type", "generic");
291
  instance.increaseLoadingProgress();
292
  next();
@@ -353,17 +563,20 @@ var qualifyURL = function (url) {
353
  this.edges = tmp;
354
  },
355
  add: function (tileIndex) {
 
 
356
  var $t = this.tiles.eq(tileIndex);
357
 
358
- var $item = $t.find('.item');
359
- var w = $item.data('width');
360
- var h = $item.data('height');
 
361
 
362
  var hEdge = this.higherEdge();
363
  this.print(hEdge);
364
  hEdge.tileIndex = tileIndex;
365
 
366
- this.print(tileIndex + " [" + $t.data("ftg-type") + "] (" + w + "x" + h + ")");
367
 
368
  if (hEdge.top > 0) {
369
  hEdge.top += this.settings.margin;
@@ -379,7 +592,7 @@ var qualifyURL = function (url) {
379
 
380
  //is the tile wider than the current edge?
381
  if (hEdge.width < w + this.settings.margin) {
382
- hEdge.case = 'Te';
383
  this.print('Te', hEdge.width);
384
  //edge smaller than the image
385
  var w2 = hEdge.width;
@@ -397,8 +610,8 @@ var qualifyURL = function (url) {
397
  this.print('tE');
398
  //break the edge
399
  //is the new edge wider than minTileWidth?
400
- if (hEdge.width - w >= this.settings.minTileWidth) {
401
- hEdge.case = 'tE';
402
  this.print('tE1', hEdge.width, hEdge.left, this.currentWidth);
403
 
404
  var newEdge = {
@@ -406,15 +619,15 @@ var qualifyURL = function (url) {
406
  top: hEdge.top - (hEdge.top > 0 ? this.settings.margin : 0),
407
  width: hEdge.width - w - this.settings.margin,
408
  marginLeft: true,
409
- case: 'NEW',
410
  index: hEdge.index + 1
411
  }
412
-
413
  //console.log("newEdge", newEdge);
414
  this.edges.push(newEdge);
415
  //this.printEdge(newEdge);
416
  } else {
417
- hEdge.case = 'tE2';
418
  this.print('tE2');
419
  //not enough space for the next tile
420
  //enlargement
@@ -428,7 +641,7 @@ var qualifyURL = function (url) {
428
  $t.addClass("ftg-enlarged");
429
  hEdge.enlarged = true;
430
  } else {
431
- $t.find(".item").css({
432
  width: w,
433
  height: h
434
  });
@@ -438,9 +651,11 @@ var qualifyURL = function (url) {
438
  h = h2;
439
  }
440
  }
441
-
442
  hEdge.top += h;
443
- var diff = hEdge.top % this.settings.gridSize;
 
 
444
  hEdge.top -= diff;
445
  h -= diff;
446
 
@@ -480,11 +695,38 @@ var qualifyURL = function (url) {
480
 
481
  this.print(w + "x" + h);
482
  this.print("----");
483
-
 
484
  $t.css({
485
  width: w,
486
- height: h
 
 
 
 
 
487
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
488
 
489
  var ratio = w / $item.data("width");
490
 
@@ -495,6 +737,9 @@ var qualifyURL = function (url) {
495
  });
496
  }
497
  $t.addClass("ftg-loaded");
 
 
 
498
  }
499
  });
500
 
@@ -517,7 +762,7 @@ var qualifyURL = function (url) {
517
  var $tile = $(this).parents(".tile").first();
518
  var image = $tile.data("big");
519
  if(! image)
520
- image = $tile.find(".item").attr("src");
521
 
522
  var text = $.trim($tile.find(".caption").text());
523
  if(! text.length)
1
  //credits James Padolsey http://james.padolsey.com/
2
+
3
+ function ftg_getURLParameter(name) {
4
+ return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
5
+ }
6
+
7
  var qualifyURL = function (url) {
8
  var img = document.createElement('img');
9
  img.src = url; // set string url
35
  var pluginName = "finalTilesGallery",
36
  defaults = {
37
  margin: 10,
38
+ layout: 'final', // final | columns
39
+ loadMethod: 'sequential', // sequential | lazy
40
+ columns: [
41
+ [4000, 5],
42
+ [1024, 4],
43
+ [800, 3],
44
+ [480, 2],
45
+ [320, 1]
46
+ ],
47
  minTileWidth: 200,
48
  ignoreImageAttributes: true,
49
  imageSizeFactor: [
53
  [600, .6],
54
  [480, .5],
55
  [320, .3]
56
+ ],
57
  gridSize: 10,
58
  allowEnlargement: true,
59
  autoLoadURL: null,
60
  autoLoadOffset: 50,
61
+ pageSize: 20,
62
+ selectedFilter: '',
63
  onComplete: function () {},
64
  onUpdate: function () {},
65
+ nonce: null,
66
+ galleryId: 0,
67
  debug: false
68
  };
69
 
72
  this.element = element;
73
  this.$element = $(element);
74
  this.settings = $.extend({}, defaults, options);
 
 
75
  this._defaults = defaults;
76
  this._name = pluginName;
77
  this.tiles = [];
83
  this.isLoading = false;
84
  this.$loadingBar = null;
85
  this.currentPage = 1;
86
+ this.currentColumnsCount = 0;
87
+ this.imagesData = {};
88
  this.init();
89
  }
90
 
94
  if(this.settings.debug)
95
  console.log(text);
96
  },
97
+ warn : function (text) {
98
+ console.warn(text);
99
+ },
100
  setCurrentImageSizeFactor : function () {
101
  this.currentImageSizeFactor = 1;
102
  var ww = $(window).width();
106
  }
107
  if(!this.currentImageSizeFactor)
108
  this.currentImageSizeFactor = 1;
109
+ this.print(".. current image size factor: " + this.currentImageSizeFactor + " (" + ww + ")");
110
+ },
111
+ setCurrentColumnSize: function () {
112
+
113
+ var ww = $(window).width();
114
+ for (var i = 0; i < this.settings.columns.length; i++) {
115
+ if (this.settings.columns[i][0] >= ww)
116
+ this.currentColumnsCount = this.settings.columns[i][1];
117
+ }
118
+
119
+ this._columnSize = Math.floor((this.currentWidth - (this.settings.margin * (this.currentColumnsCount - 1))) / this.currentColumnsCount);
120
+
121
+ this.print(this.currentWidth + " | " + this._columnSize + " | " + this.currentColumnsCount);
122
  },
123
  init: function () {
124
+ this.print("== initializing plugin ==");
125
+ var current_filter = this.settings.selectedFilter;
126
+ var filter_url = ftg_getURLParameter('ftg-set');
127
+ if(filter_url)
128
+ current_filter = filter_url;
129
+
130
+ var instance = this;
131
+
132
+ if(current_filter != null)
133
+ {
134
+ instance.print(".. found filter (" + current_filter + ")");
135
+ instance.$element.find(".ftg-filters a").removeClass('selected');
136
+ instance.$element.find(".ftg-filters a").each(function(){
137
+
138
+ if($(this).data('filter') == current_filter)
139
+ {
140
+ instance.print(".. selecting filter");
141
+ $(this).addClass('selected');
142
+ }
143
+ })
144
+ }
145
+
146
+ var hash = window.location.hash;
147
+
148
  this.$element.find(".ftg-items").css({
149
  position: 'relative',
150
  minWidth: instance.settings.minTileWidth
151
  });
 
152
 
153
+ if((hash && hash != "#ftg-set-ftgall" && hash.substr(0, 8) == '#ftg-set') ||
154
+ instance.settings.selectedFilter)
155
+ {
156
+ var ft = '#ftg-set-' + instance.settings.selectedFilter;
157
+ if(hash)
158
+ ft = hash;
159
+
160
+ var hash_class = ft.replace('#','.');
161
+ var filters = [];
162
+
163
+ instance.$element.find(".ftg-filters a").each(function(){
164
+ filters.push($(this).attr('href'));
165
+ });
166
+
167
+ if($.inArray(ft, filters) >= 0)
168
+ {
169
+ hash_class = hash_class.substring(1);
170
+
171
+ instance.$element.find(".ftg-filters a").each(function(){
172
+
173
+ if($(this).attr('href') != ft){
174
+
175
+ instance.$element.find('[data-class="item"]').each(function(){
176
+ var img = $(this).parent().parent();
177
+
178
+ if(img.hasClass(hash_class) == false)
179
+ {
180
+ img.addClass('ftg-hidden');
181
+ }
182
+ })
183
+
184
+
185
+ $(this).removeClass('selected');
186
+ };
187
+ });
188
+
189
+ $('a[href="' + ft + '"]').addClass('selected');
190
+ }
191
+ }
192
+
193
+ this.tiles = this.$element.find('.tile').not('.ftg-hidden').not(".ftg-hidden-tile");
194
  this.tiles.css({
195
  transition: 'all .3s'
196
  });
197
  this.currentWidth = this.$element.width();
198
+ this.print(".. gallery width: " + this.currentWidth);
199
 
 
200
  this.$loadingBar = this.$element.find(".ftg-items .loading-bar i");
201
 
202
  if(instance.$element.filter(":visible").length == 0) {
203
+ instance.warn('cannot initialize the gallery, container is hidden. Retrying in 500ms.');
204
  setTimeout(function () {
205
  instance.init();
206
  }, 500);
207
  return;
208
  }
209
+
210
+ if(this.settings.layout != 'columns' && this.settings.layout != 'rows' &&
211
+ this.settings.layout != 'final') {
212
+ instance.warn("unknown layout, falling back to 'final'.")
213
+ }
214
+
215
+ if(this.settings.layout == 'columns') {
216
+ this.setCurrentColumnSize();
217
+ }
218
 
219
  var _resizeTo = 0;
220
  this.setCurrentImageSizeFactor();
224
  clearTimeout(_resizeTo);
225
  instance.print("this.currentWidth", this.currentWidth);
226
  instance.currentWidth = instance.$element.width();
227
+ instance.setCurrentColumnSize();
228
  instance.setCurrentImageSizeFactor();
229
  instance.refresh();
230
  }
232
  });
233
 
234
  instance.isLoading = true;
235
+ if(instance.settings.autoLoadURL && instance.settings.pageSize > 0) {
236
  $(window).scroll(function () {
237
  if(!instance.ajaxComplete && !instance.isLoading) {
238
+ console.log(instance.tiles.last().visible());
239
+ if (instance.tiles.last().visible()) {
240
  instance.isLoading = true;
241
+ $.post(
242
+ instance.settings.autoLoadURL,
243
+ {
244
+ page: ++instance.currentPage,
245
+ action: 'load_chunk',
246
+ pageSize: instance.settings.pageSize,
247
+ finaltilesgallery: instance.settings.nonce,
248
+ gallery: instance.settings.galleryId
249
+ }, function (html) {
250
  if ($.trim(html).length == 0) {
251
  instance.ajaxComplete = true;
252
  } else {
262
 
263
  this.setupFilters();
264
  this.edges.push({ left: 0, top: 0, width: this.currentWidth, index: 0 });
265
+
266
+ if(this.settings.layout == 'columns')
267
+ this.edges[0].width = this._columnSize * this.currentColumnsCount +
268
+ (this.settings.margin * (this.currentColumnsCount - 1));
269
+
270
+ this.isImageLoading = false;
271
+
272
+ /*! init lazyLoad */
273
+ if(instance.settings.loadMethod == 'lazy') {
274
+ $(window).scroll(function(event) {
275
+ instance.loadImage();
276
+ });
277
+ }
278
+ this.loadImage();
279
  },
280
  setupFilters: function() {
281
+ this.print("== setup filters ==");
282
  var instance = this;
283
+ instance.$element.find(".ftg-filters a").click(function(e) {
 
 
284
  instance.$element.find(".ftg-filters a").removeClass("selected");
285
  $(this).addClass("selected");
286
 
317
  },
318
  printEdge: function (edge) {
319
  var $e = $("<div class='edge enlarged-"+edge.enlarged+"' />");
320
+ $e.append("<b>"+ edge.index + " " + edge.ecase + "</b><br>");
321
  $e.append("t: " + Math.round(edge.top) + " l: " + edge.left + "<br>");
322
  $e.append("width: " + edge.width + "<br>");
323
  $e.append("idx: " + edge.tileIndex + "<br>");
331
  this.$element.append($e);
332
  },
333
  refresh: function () {
334
+ this.print("-- refreshing gallery --");
335
  this.$element.find(".edge").remove();
336
  this.edges = [
337
  { left: 0, top: 0, width: this.currentWidth }
338
  ];
339
+ if(this.settings.layout == 'columns')
340
+ this.edges[0].width = this._columnSize * this.currentColumnsCount +
341
+ (this.settings.margin * (this.currentColumnsCount - 1));
342
  this.tiles.removeClass("ftg-loaded ftg-enlarged");
343
+ this.tiles = this.$element.find('.tile').not('.ftg-hidden').not(".ftg-hidden-tile");
344
  this._loadedImages = 0;
345
  this.loadImage();
346
  },
347
+ increaseLoadingProgress: function() {
 
348
  var perc = ( this._loadedImages + 1 ) / this.tiles.length * 100;
349
  this.$loadingBar.css({
350
  width: perc + "%",
355
  },
356
  loadImage: function () {
357
  var instance = this;
358
+
359
+ if(instance.isImageLoading || this.tiles.not(".ftg-loaded").length == 0) {
360
+ return;
361
+ }
362
+
363
+ instance.isImageLoading = true;
364
+ var $tile = this.tiles.not(".ftg-loaded").first();
365
+
366
+ if(instance._loadedImages > 0) {
367
+ var $last = this.tiles.filter(".ftg-loaded").last();
368
+
369
+ if(instance.settings.loadMethod == 'lazy' && !$last.visible(true)) {
370
+ instance.isImageLoading = false;
371
+ return;
372
+ }
373
+ }
374
 
375
  if($tile.find("iframe").length)
376
+ $tile.find("iframe:first").addClass("item").attr("data-class", "item");
377
 
378
+ var $item = $tile.find('[data-class="item"]');
379
 
380
+ function next() {
381
  instance.add(instance._loadedImages);
382
+ instance.isImageLoading = false;
383
  if (++instance._loadedImages < instance.tiles.length) {
384
+ instance.loadImage();
385
  } else {
386
  var height = instance.lowerEdgeTop();
387
  instance.print("lower edge top: " + height);
393
 
394
  switch ($item.get(0).tagName.toLowerCase()) {
395
  case "img":
396
+ var iFactor = instance.currentImageSizeFactor;
397
+ if(instance.settings.ignoreImageAttributes || (!$item.attr("width") || !$item.attr("height"))) {
398
+ var img = new Image();
399
+ img.onload = function () {
400
+ if ($tile.data("ftg-ignore-size-factor"))
401
+ iFactor = 1;
402
+
403
+ var size = {};
404
+ var addImage = true;
405
+ if(instance.settings.layout == "final") {
406
+ size.width = img.width * iFactor;
407
+ size.height = img.height * iFactor;
408
+ }
409
+ if(instance.settings.layout == "columns") {
410
+ size.width = instance._columnSize;
411
+ size.height = (size.width * img.height) / img.width;
412
+ }
413
+
414
+ $item.attr("src", this.src);
415
+ instance.imagesData["tile" + instance._loadedImages] = {
416
+ width: size.width,
417
+ height: size.height,
418
+ owidth: img.width,
419
+ oheight: img.height,
420
+ src: img.src
421
+ };
422
+ //$tile.addClass("ftg-loaded");
423
+ instance.increaseLoadingProgress();
424
+ instance.print("loaded image + " + instance._loadedImages);
425
+ next();
426
+ }
427
+ img.onerror = function() {
428
+ instance.warn("error loading image: " + img.src);
429
+ instance.increaseLoadingProgress();
430
+ next();
431
+ }
432
+ img.src = $item.data("ftg-src");
433
+ } else {
434
+ $item.attr("src", $item.data("ftg-src"));
435
+
436
+ var size = {};
437
+ var addImage = true;
438
+ if(instance.settings.layout == "final") {
439
+ size.width = parseInt($item.attr("width")) * iFactor;
440
+ size.height = parseInt($item.attr("height")) * iFactor;
441
+ }
442
+ if(instance.settings.layout == "columns") {
443
+ size.width = instance._columnSize;
444
+ size.height = (size.width * parseInt($item.attr("height"))) / parseInt($item.attr("width"));
445
+ }
446
+
447
+ instance.imagesData["tile" + instance._loadedImages] = {
448
+ width: size.width,
449
+ height: size.height,
450
+ owidth: parseInt($item.attr("width")),
451
+ oheight: parseInt($item.attr("height")),
452
+ src: $item.data("ftg-src")
453
+ };
454
+
455
+ var img = new Image();
456
+ img.onload = function () {
457
+ $tile.addClass("ftg-img-loaded");
458
+ }
459
+ img.src = $item.data("ftg-src");
460
+
461
+ $tile.addClass("ftg-loaded");
462
+ $item.css("opacity", 0);
463
  instance.increaseLoadingProgress();
464
  next();
465
+ }
466
+
 
 
 
 
 
467
  $item.removeAttr("width");
468
  $item.removeAttr("height");
469
  $tile.data("ftg-type", "image");
470
+ break;
471
  case "iframe":
472
+ var w = $item.attr("width") ? parseInt($item.attr("width")) : $item.data('width');
473
+ var h = $item.attr("height") ? parseInt($item.attr("height")) : $item.data('height');
474
+
475
+ var size = {};
476
+ if(instance.settings.layout == "columns") {
477
+ size.width = instance._columnSize;
478
+ size.height = (size.width * h) / w;
479
+ } else {
480
+ size.width = w;
481
+ size.height = h;
482
+ }
483
+ instance.imagesData["tile" + instance._loadedImages] = {
484
+ width: size.width,
485
+ height: size.height,
486
+ owidth: size.width,
487
+ oheight: size.height
488
+ };
489
  $tile.data("ftg-type", "iframe");
490
  instance.increaseLoadingProgress();
491
  next();
492
  break;
493
  default:
494
+ instance.imagesData["tile" + instance._loadedImages] = {
495
+ width: parseInt($item.data("width")),
496
+ height: parseInt($item.data("height")),
497
+ owidth: parseInt($item.data("width")),
498
+ oheight: parseInt($item.data("height"))
499
+ };
500
  $tile.data("ftg-type", "generic");
501
  instance.increaseLoadingProgress();
502
  next();
563
  this.edges = tmp;
564
  },
565
  add: function (tileIndex) {
566
+ this.print("== adding new tile ==");
567
+ var instance = this;
568
  var $t = this.tiles.eq(tileIndex);
569
 
570
+ var $item = $t.find('[data-class="item"]');
571
+ var key = "tile" + tileIndex;
572
+ var w = this.imagesData[key].width;
573
+ var h = this.imagesData[key].height;
574
 
575
  var hEdge = this.higherEdge();
576
  this.print(hEdge);
577
  hEdge.tileIndex = tileIndex;
578
 
579
+ this.print("Index: " + tileIndex + " [" + $t.data("ftg-type") + "] (" + w + "x" + h + ")");
580
 
581
  if (hEdge.top > 0) {
582
  hEdge.top += this.settings.margin;
592
 
593
  //is the tile wider than the current edge?
594
  if (hEdge.width < w + this.settings.margin) {
595
+ hEdge.ecase = 'Te';
596
  this.print('Te', hEdge.width);
597
  //edge smaller than the image
598
  var w2 = hEdge.width;
610
  this.print('tE');
611
  //break the edge
612
  //is the new edge wider than minTileWidth?
613
+ if (this.settings.layout == 'columns' || hEdge.width - w >= this.settings.minTileWidth) {
614
+ hEdge.ecase = 'tE';
615
  this.print('tE1', hEdge.width, hEdge.left, this.currentWidth);
616
 
617
  var newEdge = {
619
  top: hEdge.top - (hEdge.top > 0 ? this.settings.margin : 0),
620
  width: hEdge.width - w - this.settings.margin,
621
  marginLeft: true,
622
+ ecase: 'NEW',
623
  index: hEdge.index + 1
624
  }
625
+
626
  //console.log("newEdge", newEdge);
627
  this.edges.push(newEdge);
628
  //this.printEdge(newEdge);
629
  } else {
630
+ hEdge.ecase = 'tE2';
631
  this.print('tE2');
632
  //not enough space for the next tile
633
  //enlargement
641
  $t.addClass("ftg-enlarged");
642
  hEdge.enlarged = true;
643
  } else {
644
+ $t.find('[data-class="item"]').css({
645
  width: w,
646
  height: h
647
  });
651
  h = h2;
652
  }
653
  }
654
+
655
  hEdge.top += h;
656
+ var diff = 0;
657
+ if(this.settings.gridSize)
658
+ diff = hEdge.top % this.settings.gridSize;
659
  hEdge.top -= diff;
660
  h -= diff;
661
 
695
 
696
  this.print(w + "x" + h);
697
  this.print("----");
698
+
699
+ /*! outside captions */
700
  $t.css({
701
  width: w,
702
+ height: h// + 1000
703
+ });
704
+ $t.find(".tile-inner").css({
705
+ width: w,
706
+ height: h,
707
+ visibility: 'hidden'
708
  });
709
+ var transition = $t.css('transition');
710
+ $t.css({
711
+ display: 'block',
712
+ opacity: 1,
713
+ transform: 'scale(1)'
714
+ //transition: 'none'
715
+ });
716
+
717
+ var captionHeight = $t.find(".caption-outside").height();
718
+ var pt = $t.find(".caption-outside").css('padding-top');
719
+ if(pt)
720
+ captionHeight += parseInt(pt.replace(/px/, ''));
721
+ var pb = $t.find(".caption-outside").css('padding-bottom');
722
+ if(pb)
723
+ captionHeight += parseInt(pb.replace(/px/, ''));
724
+
725
+ $t.css({
726
+ height: h + captionHeight,
727
+ transition: transition
728
+ });
729
+ hEdge.top += captionHeight;
730
 
731
  var ratio = w / $item.data("width");
732
 
737
  });
738
  }
739
  $t.addClass("ftg-loaded");
740
+ $t.find(".tile-inner").css({
741
+ visibility: 'visible'
742
+ });
743
  }
744
  });
745
 
762
  var $tile = $(this).parents(".tile").first();
763
  var image = $tile.data("big");
764
  if(! image)
765
+ image = $tile.find('[data-class="item"]').attr("src");
766
 
767
  var text = $.trim($tile.find(".caption").text());
768
  if(! text.length)