Admin Columns - Version 2.3.5

Version Description

  • [Added] Added a width indicator to the column settings header
Download this release

Release Info

Developer codepress
Plugin Icon 128x128 Admin Columns
Version 2.3.5
Comparing to
See all releases

Code changes from version 2.3.3 to 2.3.5

README.md ADDED
File without changes
api.php CHANGED
@@ -1,4 +1,13 @@
1
  <?php
 
 
 
 
 
 
 
 
 
2
  /**
3
  * Manually set the columns for a storage model
4
  * This overrides the database settings and thus renders the settings screen for this storage model useless
@@ -8,24 +17,21 @@
8
  * @param string $storage_model Storage model key
9
  * @param array $columns List of columns ([column_name] => [column_options])
10
  */
11
- function cpac_set_storage_model_columns( $storage_model, $columns ) {
12
  global $_cac_exported_columns;
13
- $_cac_exported_columns[ $storage_model ] = $columns;
14
- }
15
 
16
- /**
17
- * Set exported columns
18
- *
19
- * @since 3.2
20
- */
21
- function cpac_set_exported_columns( $cpac ) {
22
- global $_cac_exported_columns;
23
- if ( $_cac_exported_columns ) {
24
- foreach( $_cac_exported_columns as $model => $columns ) {
25
- if ( $storage_model = $cpac->get_storage_model( $model ) ) {
26
- $storage_model->set_stored_columns( $columns );
27
- }
28
  }
29
  }
30
  }
31
- add_action( 'cac/loaded', 'cpac_set_exported_columns', 5 );
 
 
 
1
  <?php
2
+ /**
3
+ * If you like to register a column of your own please have a look at our documentation.
4
+ * We also have a free start-kit available, which contains all the necessary files.
5
+ *
6
+ * Documentation: https://www.admincolumns.com/documentation/developer-docs/creating-new-column-type/
7
+ * Starter-kit: https://github.com/codepress/cac-column-template/
8
+ *
9
+ */
10
+
11
  /**
12
  * Manually set the columns for a storage model
13
  * This overrides the database settings and thus renders the settings screen for this storage model useless
17
  * @param string $storage_model Storage model key
18
  * @param array $columns List of columns ([column_name] => [column_options])
19
  */
20
+ function ac_register_columns( $storage_model, $columns ) {
21
  global $_cac_exported_columns;
 
 
22
 
23
+ $storage_models = (array) $storage_model;
24
+
25
+ foreach ( $storage_models as $storage_model ) {
26
+ if ( isset( $_cac_exported_columns[ $storage_model ] ) ) {
27
+ $_cac_exported_columns[ $storage_model ] = array_merge( $_cac_exported_columns[ $storage_model ], $columns );
28
+ }
29
+ else {
30
+ $_cac_exported_columns[ $storage_model ] = $columns;
 
 
 
 
31
  }
32
  }
33
  }
34
+
35
+ function cpac_set_storage_model_columns( $storage_model, $columns ) {
36
+ ac_register_columns( $storage_model, $columns );
37
+ }
assets/css/admin-column.css CHANGED
@@ -1,1024 +1 @@
1
- #cpac a:focus,
2
- #cpac a:active {
3
- outline: none;
4
- }
5
- /**
6
- * General
7
- * ----------------------------------------------------------------------------
8
- */
9
- #icon-codepress-admin-columns {
10
- background: transparent url('../images/icon.png') no-repeat 0 0;
11
- }
12
- .cpac-settings-link {
13
- float: right;
14
- margin: 12px 14px 5px 0;
15
- background: transparent url('../images/settings.png') no-repeat 0 0;
16
- padding-left: 20px;
17
- text-decoration: none;
18
- display: inline-block;
19
- line-height: 16px;
20
- }
21
- .cpac-settings-link.current {
22
- font-weight: bold;
23
- }
24
- .rtl .cpac-settings-link {
25
- float: left;
26
- margin: 12px 0 5px 14px;
27
- padding-right: 20px;
28
- padding-left: 0;
29
- }
30
- a.help {
31
- background: transparent url('../images/help.png') no-repeat 0 0;
32
- display: inline-block;
33
- width: 16px;
34
- height: 16px;
35
- }
36
- .button.loading {
37
- padding-right: 25px;
38
- position: relative;
39
- }
40
- .rtl .button.loading {
41
- padding-left: 25px;
42
- padding-right: 0;
43
- }
44
- .button.loading span {
45
- position: absolute;
46
- top: 2px;
47
- right: 6px;
48
- background: transparent url('../images/loading.gif') no-repeat right 50%;
49
- width: 16px;
50
- height: 16px;
51
- display: inline-block;
52
- }
53
- .rtl .button.loading span {
54
- left: 6px;
55
- right: auto;
56
- }
57
- /**
58
- * Icons
59
- * ----------------------------------------------------------------------------
60
- */
61
- .icon-yes {
62
- background: transparent url(../images/yes.png) no-repeat 0 0;
63
- width: 16px;
64
- height: 16px;
65
- display: inline-block;
66
- position: relative;
67
- top: 2px;
68
- }
69
- .icon-no {
70
- background: transparent url(../images/no.png) no-repeat 0 0;
71
- width: 16px;
72
- height: 16px;
73
- display: inline-block;
74
- position: relative;
75
- top: 2px;
76
- }
77
- /**
78
- * Header
79
- * ----------------------------------------------------------------------------
80
- */
81
- h2.cpac-nav-tab-wrapper {
82
- margin-bottom: 10px;
83
- }
84
- /**
85
- * Menu
86
- * ----------------------------------------------------------------------------
87
- */
88
- .cpac-menu {
89
- clear: both;
90
- overflow: hidden;
91
- margin-bottom: 10px;
92
- }
93
- .cpac-menu .subsubsub {
94
- white-space: normal;
95
- margin-right: 14px;
96
- width: 100%;
97
- margin: 0 14px 0 0;
98
- }
99
- .cpac-menu .subsubsub li.first {
100
- font-weight: bold;
101
- min-width: 90px;
102
- }
103
- /**
104
- * Structure
105
- * ----------------------------------------------------------------------------
106
- */
107
- .columns-container {
108
- margin-right: 300px;
109
- max-width: 700px;
110
- }
111
- .columns-container .columns-left {
112
- float: left;
113
- width: 100%;
114
- }
115
- .columns-container .columns-right {
116
- float: right;
117
- margin-right: -300px;
118
- width: 280px;
119
- }
120
- .columns-container .columns-right .columns-right-inside.fixed {
121
- position: fixed;
122
- top: 40px;
123
- width: 280px;
124
- }
125
- /**
126
- * UI Sortable Plugin
127
- * ----------------------------------------------------------------------------
128
- */
129
- .ui-sortable-helper {
130
- -webkit-box-shadow: 1px 3px 6px 0px rgba(1, 1, 1, 0.4);
131
- box-shadow: 1px 3px 6px 0px rgba(1, 1, 1, 0.4);
132
- }
133
- .ui-sortable-helper .column-meta {
134
- border-width: 1px;
135
- }
136
- .cpac-placeholder {
137
- visibility: visible !important;
138
- border-top: 1px solid #dfdfdf;
139
- padding: 5px 4px 7px 0;
140
- }
141
- .cpac-placeholder .inner-placeholder {
142
- border: 1px dashed #808080;
143
- background: #eee;
144
- width: 100%;
145
- height: 100%;
146
- }
147
- .cpac-placeholder :first-child {
148
- border: none;
149
- }
150
- /**
151
- * Columns
152
- * ----------------------------------------------------------------------------
153
- */
154
- .columns-left .cpac-boxes .cpac-columns form {
155
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
156
- }
157
- /**
158
- * Column
159
- * ----------------------------------------------------------------------------
160
- */
161
- .cpac-column .column-meta {
162
- border-style: solid;
163
- border-color: #dfdfdf;
164
- border-width: 1px 1px 0;
165
- background: #fcfcfc;
166
- }
167
- .cpac-column .column-meta:nth-child(2n) .column-meta {
168
- background: #f9f9f9;
169
- }
170
- .cpac-column .column-meta img {
171
- margin-right: 3px;
172
- }
173
- .cpac-column .column-meta table {
174
- border: none;
175
- background: transparent;
176
- border-radius: 0;
177
- }
178
- .cpac-column .column-meta table tr td {
179
- vertical-align: top;
180
- height: 18px;
181
- border: none;
182
- padding: 11px 8px;
183
- border-width: 1px 0 0;
184
- border-style: solid;
185
- border-color: transparent;
186
- }
187
- .cpac-column .column-meta table tr td.column_sort {
188
- width: 10px;
189
- background: transparent url('../images/drag.png') no-repeat 8px 8px;
190
- cursor: move;
191
- }
192
- .cpac-column .column-meta table tr td.column_label {
193
- width: 70%;
194
- font-weight: bold;
195
- vertical-align: middle;
196
- position: relative;
197
- }
198
- .cpac-column .column-meta table tr td.column_label .inner {
199
- position: relative;
200
- overflow: hidden;
201
- height: 18px;
202
- }
203
- .cpac-column .column-meta table tr td.column_label .inner > a {
204
- color: #5a5a5a;
205
- padding: 0 4px;
206
- }
207
- .cpac-column .column-meta table tr td.column_label .inner > a:hover {
208
- color: #333333;
209
- }
210
- .cpac-column .column-meta table tr td.column_label .inner > a.edit-button,
211
- .cpac-column .column-meta table tr td.column_label .inner > a.remove-button,
212
- .cpac-column .column-meta table tr td.column_label .inner > a.clone-button {
213
- display: none;
214
- color: #a00;
215
- text-decoration: none;
216
- text-shadow: none;
217
- font-weight: normal;
218
- margin-left: 5px;
219
- font-size: 12px;
220
- }
221
- .cpac-column .column-meta table tr td.column_label .inner > a.edit-button:hover,
222
- .cpac-column .column-meta table tr td.column_label .inner > a.remove-button:hover,
223
- .cpac-column .column-meta table tr td.column_label .inner > a.clone-button:hover {
224
- color: #f00;
225
- }
226
- .cpac-column .column-meta table tr td.column_label .inner > a.edit-button,
227
- .cpac-column .column-meta table tr td.column_label .inner > a.clone-button {
228
- color: #0074a2;
229
- }
230
- .cpac-column .column-meta table tr td.column_label .inner > a.edit-button:hover,
231
- .cpac-column .column-meta table tr td.column_label .inner > a.clone-button:hover {
232
- color: #2ea2cc;
233
- }
234
- .cpac-column .column-meta table tr td.column_label .inner .meta {
235
- display: inline-block;
236
- float: right;
237
- font-weight: normal;
238
- color: #b2b2b2;
239
- font-size: 12px;
240
- }
241
- .cpac-column .column-meta table tr td.column_label .inner .meta span {
242
- cursor: pointer;
243
- /*background: #ccc;
244
- border-radius: 2px;
245
- padding: 0 4px;
246
- color: #fff;
247
- display: inline-block;
248
- height: 15px;
249
- line-height: 15px;
250
-
251
- &.on {
252
- background: #1e8cbe;
253
- }*/
254
- }
255
- .cpac-column .column-meta table tr td.column_label span.vers {
256
- float: left;
257
- }
258
- .cpac-column .column-meta table tr td.column_type {
259
- width: auto;
260
- min-width: 120px;
261
- text-align: right;
262
- vertical-align: middle;
263
- color: #999999;
264
- padding-right: 0;
265
- }
266
- .cpac-column .column-meta table tr td.column_type .inner {
267
- height: 18px;
268
- overflow: hidden;
269
- }
270
- .cpac-column .column-meta table tr td.column_type .inner a {
271
- color: #999999;
272
- }
273
- .cpac-column .column-meta table tr td.column_edit {
274
- width: 38px;
275
- min-width: 38px;
276
- background: transparent url('../images/arrow.png') no-repeat 23px 18px;
277
- cursor: pointer;
278
- }
279
- .cpac-column .column-meta:hover .column_label .inner > a.remove-button,
280
- .cpac-column .column-meta:hover .column_label .inner > a.edit-button,
281
- .cpac-column .column-meta:hover .column_label .inner > a.clone-button {
282
- display: inline-block;
283
- }
284
- .cpac-column .column-meta span.vers {
285
- padding-top: 2px;
286
- }
287
- .cpac-column .column-meta span.vers .comment-grey-bubble {
288
- background: transparent url("../images/comment-grey-bubble.png") no-repeat 0 0;
289
- height: 12px;
290
- width: 12px;
291
- float: right;
292
- }
293
- .cpac-column .column-form {
294
- display: none;
295
- border-width: 1px 1px 0;
296
- border-style: solid;
297
- border-color: #dfdfdf;
298
- position: relative;
299
- }
300
- .cpac-column .column-form table {
301
- border: none;
302
- background: #fcfcfc;
303
- }
304
- .cpac-column .column-form table tr td {
305
- vertical-align: top;
306
- border: none;
307
- padding: 8px;
308
- background: #ffffff;
309
- border-top: 1px solid #F5F5F5;
310
- }
311
- .cpac-column .column-form table tr td select,
312
- .cpac-column .column-form table tr td input[type=text] {
313
- width: 99.95%;
314
- }
315
- .cpac-column .column-form table tr td select optgroup:nth-child(2n) {
316
- background: #F9F9F9;
317
- }
318
- .cpac-column .column-form table tr td.label {
319
- position: relative;
320
- overflow: visible;
321
- background: #F9F9F9;
322
- background: #f5f5f5;
323
- border-right: 1px solid #E1E1E1;
324
- vertical-align: top;
325
- width: 34%;
326
- border-top: 1px solid #F0F0F0;
327
- }
328
- .cpac-column .column-form table tr td.label label {
329
- font-weight: bold;
330
- color: #333333;
331
- display: block;
332
- position: relative;
333
- }
334
- .cpac-column .column-form table tr td.label p {
335
- color: #666666;
336
- display: block;
337
- font-size: 12px;
338
- font-style: normal;
339
- line-height: 16px;
340
- margin: 0 !important;
341
- }
342
- .cpac-column .column-form table tr td.label p.description {
343
- display: none;
344
- position: absolute;
345
- z-index: 99;
346
- top: 30px;
347
- left: 0;
348
- background: #eaf2fa;
349
- border-radius: 5px;
350
- border: 1px solid #c7d7e2;
351
- padding: 5px 8px !important;
352
- font-weight: normal;
353
- }
354
- .cpac-column .column-form table tr td.label p.description em {
355
- display: block;
356
- color: #999;
357
- }
358
- .cpac-column .column-form table tr td.input label {
359
- padding-left: 10px;
360
- padding-right: 0;
361
- }
362
- .cpac-column .column-form table tr td.input div.msg {
363
- margin-top: 5px;
364
- display: none;
365
- color: #333;
366
- padding: 6px 8px;
367
- background-color: #ffebe8;
368
- border: 1px solid #fff;
369
- -moz-border-radius: 3px;
370
- -webkit-border-radius: 3px;
371
- border-radius: 3px;
372
- }
373
- .cpac-column .column-form table tr td.input .section {
374
- padding: 12px;
375
- }
376
- .cpac-column .column-form table tr.column_width div.description {
377
- font-size: 11px;
378
- width: 12%;
379
- float: left;
380
- text-align: middle;
381
- }
382
- .cpac-column .column-form table tr.column_width div.input-width-range {
383
- float: left;
384
- position: relative;
385
- width: 87%;
386
- margin-top: 4px;
387
- }
388
- .cpac-column .column-form table tr.column_width div.input-width-range .ui-slider-handle {
389
- cursor: ew-resize;
390
- }
391
- .cpac-column .column-form table tr.column_image_size {
392
- border: 10px solid red;
393
- }
394
- .cpac-column .column-form table tr.column_image_size td.input label.custom-size {
395
- display: inline-block;
396
- margin-top: 4px;
397
- margin-bottom: 4px;
398
- }
399
- .cpac-column .column-form table tr.column_image_size td.input label.custom-size input {
400
- margin-right: 3px;
401
- }
402
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size {
403
- display: inline-block;
404
- }
405
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size .hidden {
406
- display: none;
407
- }
408
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-w,
409
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-h {
410
- margin: 0;
411
- }
412
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-w.hidden,
413
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-h.hidden {
414
- display: none;
415
- }
416
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-w input[type="text"],
417
- .cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-h input[type="text"] {
418
- margin-right: 3px;
419
- width: 40px !important;
420
- }
421
- .cpac-column .column-form table tr.column_action td {
422
- background: #f9f9f9;
423
- }
424
- .cpac-column .column-form table tr.column_action td p {
425
- margin: 0;
426
- }
427
- .cpac-column .column-form table tr.column_action td p a.remove-button {
428
- color: #a00;
429
- text-decoration: none;
430
- text-shadow: none;
431
- font-weight: normal;
432
- margin-left: 5px;
433
- font-size: 12px;
434
- padding: 0 5px;
435
- }
436
- .cpac-column .column-form table tr.column_action td p a.remove-button:hover {
437
- color: #fff;
438
- background: #f00;
439
- }
440
- .cpac-column .column-form table tr:first-child td {
441
- border-top: none;
442
- }
443
- .cpac-column.loading .column-form > .spinner {
444
- position: absolute;
445
- left: 50%;
446
- top: 50%;
447
- z-index: 200;
448
- margin-left: -10px;
449
- margin-top: -10px;
450
- display: block;
451
- }
452
- .cpac-column.loading .column-form:before {
453
- content: '';
454
- position: absolute;
455
- width: 100%;
456
- height: 100%;
457
- background: #FFF;
458
- z-index: 100;
459
- opacity: 0.5;
460
- }
461
- .cpac-column.opened .column-meta {
462
- background-color: #c7c7c7;
463
- background-image: -ms-linear-gradient(top, #e9e9e9, #c7c7c7);
464
- background-image: -moz-linear-gradient(top, #e9e9e9, #c7c7c7);
465
- background-image: -o-linear-gradient(top, #e9e9e9, #c7c7c7);
466
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e9e9e9), to(#c7c7c7));
467
- background-image: -webkit-linear-gradient(top, #e9e9e9, #c7c7c7);
468
- background-image: linear-gradient(top, #e9e9e9, #c7c7c7);
469
- border-color: #aeaeae;
470
- }
471
- .cpac-column.opened .column-meta table {
472
- background: transparent;
473
- }
474
- .cpac-column.opened .column-meta table td {
475
- border-color: #f8f8f8;
476
- color: #333;
477
- text-shadow: 0 1px 0 #FFFFFF;
478
- }
479
- .cpac-column.opened .column-meta table td a {
480
- color: #333;
481
- text-shadow: 0 1px 0 #FFFFFF;
482
- }
483
- .cpac-column.opened .column-meta table td.column_sort {
484
- background-position: 8px -39px;
485
- }
486
- .cpac-column.opened .column-meta table td.column_label .inner .meta span {
487
- color: #808080;
488
- text-shadow: none;
489
- }
490
- .cpac-column.opened .column-meta table td.column_type {
491
- color: #5C5C5C;
492
- }
493
- /**
494
- * Column: Footer
495
- * ----------------------------------------------------------------------------
496
- */
497
- .column-footer {
498
- background: #EAF2FA;
499
- border: 1px solid #c7d7e2;
500
- min-height: 26px;
501
- padding: 8px;
502
- overflow: hidden;
503
- }
504
- .column-footer .order-message {
505
- background: transparent url('../images/order_arrow.png') no-repeat 0 0;
506
- color: #7A9BBE;
507
- float: left;
508
- font-family: Comic Sans MS, sans-serif;
509
- font-size: 11px;
510
- height: 13px;
511
- line-height: 1em;
512
- margin-left: 4px;
513
- padding: 7px 0 0 22px;
514
- text-shadow: 0 1px 0 #FFFFFF;
515
- display: inline-block;
516
- }
517
- .column-footer .button-container {
518
- float: right;
519
- display: inline-block;
520
- margin-top: -5px;
521
- }
522
- .column-footer .button-container a {
523
- display: inline-block;
524
- margin-top: 5px;
525
- }
526
- /**
527
- * Welcome Screen
528
- * ----------------------------------------------------------------------------
529
- */
530
- .cpac-content-body hr {
531
- -moz-border-bottom-colors: none;
532
- -moz-border-left-colors: none;
533
- -moz-border-right-colors: none;
534
- -moz-border-top-colors: none;
535
- background: none repeat scroll 0 0 transparent;
536
- border-color: #dfdfdf -moz-use-text-color -moz-use-text-color;
537
- border-image: none;
538
- border-right: 0 none;
539
- border-style: solid none none;
540
- border-width: 1px 0 0;
541
- clear: both;
542
- margin: 30px 0;
543
- opacity: 0.2;
544
- }
545
- #cpac-welcome.about-wrap div.error {
546
- display: block !important;
547
- }
548
- .cpac-alert {
549
- display: inline-block;
550
- background: none repeat scroll 0 0 #FCF8E3;
551
- border: 1px solid #FBEED5;
552
- border-radius: 4px 4px 4px 4px;
553
- color: #C09853;
554
- margin: 20px 0;
555
- padding: 16px 14px;
556
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
557
- }
558
- .cpac-alert p {
559
- margin: 0;
560
- }
561
- .cpac-alert.cpac-alert-success {
562
- background-color: #DFF0D8;
563
- border-color: #D6E9C6;
564
- color: #468847;
565
- }
566
- .cpac-alert.cpac-alert-error {
567
- background-color: #F2DEDE;
568
- border-color: #EED3D7;
569
- color: #B94A48;
570
- }
571
- .cpac-alert a.button-primary {
572
- height: 28px;
573
- line-height: 28px;
574
- display: inline-block;
575
- }
576
- #cpac-download-add-ons-table {
577
- max-width: 600px;
578
- }
579
- .wp-core-ui .button-large {
580
- height: 40px;
581
- line-height: 40px;
582
- font-size: 16px;
583
- padding: 0 15px;
584
- text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
585
- }
586
- /**
587
- * Notifications
588
- * ----------------------------------------------------------------------------
589
- */
590
- .cac-notification.updated {
591
- border-left-color: #0071aa;
592
- }
593
- .cac-notification.updated .learnmore {
594
- float: right;
595
- }
596
- .cac-notification.updated .learnmore:after {
597
- content: "\f139";
598
- font: normal 20px/1 'dashicons';
599
- float: right;
600
- }
601
- /**
602
- * Sidebar
603
- * ----------------------------------------------------------------------------
604
- */
605
- .columns-right {
606
- margin-top: 54px;
607
- }
608
- .columns-right .sidebox {
609
- background: none repeat scroll 0 0 #FFFFFF;
610
- border: 1px solid #E1E1E1;
611
- border-radius: 0 0 0 0;
612
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
613
- position: relative;
614
- margin-bottom: 14px;
615
- }
616
- .columns-right .sidebox h3 {
617
- padding: 10px;
618
- margin: 0;
619
- }
620
- .columns-right .sidebox h3.title {
621
- font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
622
- font-size: 15px;
623
- font-weight: normal;
624
- line-height: 1;
625
- margin: 0;
626
- padding: 7px 10px;
627
- background: #f1f1f1;
628
- background-image: -webkit-gradient(linear, left bottom, left top, from(#ececec), to(#f9f9f9));
629
- background-image: -webkit-linear-gradient(bottom, #ececec, #f9f9f9);
630
- background-image: -moz-linear-gradient(bottom, #ececec, #f9f9f9);
631
- background-image: -o-linear-gradient(bottom, #ececec, #f9f9f9);
632
- background-image: linear-gradient(to top, #ececec, #f9f9f9);
633
- border-bottom-color: #dfdfdf;
634
- text-shadow: #fff 0 1px 0;
635
- -webkit-box-shadow: 0 1px 0 #fff;
636
- box-shadow: 0 1px 0 #fff;
637
- border-bottom-style: solid;
638
- border-bottom-width: 1px;
639
- }
640
- .columns-right .sidebox .inside {
641
- padding: 10px;
642
- }
643
- .columns-right .sidebox .inside p {
644
- margin-top: 0;
645
- }
646
- .columns-right .sidebox#form-actions .form-reset {
647
- border-bottom: 1px solid #F5F5F5;
648
- padding: 8px;
649
- }
650
- .columns-right .sidebox#form-actions .reset-column-type {
651
- text-decoration: none;
652
- color: #BC0B0B;
653
- line-height: 25px;
654
- display: inline-block;
655
- }
656
- .columns-right .sidebox#form-actions .form-update {
657
- padding: 8px;
658
- overflow: hidden;
659
- }
660
- .columns-right .sidebox#form-actions .submit-update {
661
- display: block;
662
- width: 100%;
663
- height: 28px;
664
- line-height: 28px;
665
- text-align: center;
666
- }
667
- .columns-right .sidebox#pro-version .cta {
668
- background: transparent url(../images/get_the_addon.png) no-repeat 0 0;
669
- background-size: cover;
670
- }
671
- .columns-right .sidebox#pro-version .padding-box {
672
- padding: 8px 15px 0;
673
- }
674
- .columns-right .sidebox#pro-version h3 a {
675
- color: #fff;
676
- font-size: 19px;
677
- text-decoration: none;
678
- font-weight: normal;
679
- margin-top: 6px;
680
- }
681
- .columns-right .sidebox#pro-version .inside ul {
682
- margin: 0 0 10px 0;
683
- }
684
- .columns-right .sidebox#pro-version .inside ul li {
685
- margin: 0;
686
- padding: 0;
687
- }
688
- .columns-right .sidebox#pro-version .inside ul li a {
689
- display: inline-block;
690
- min-height: 24px;
691
- font-size: 19px;
692
- line-height: 24px;
693
- margin-bottom: 1px;
694
- padding: 0 5px;
695
- background: #000;
696
- color: #fff;
697
- text-decoration: none;
698
- }
699
- .columns-right .sidebox#pro-version .inside p {
700
- color: #fff;
701
- font-size: 12px;
702
- }
703
- .columns-right .sidebox#pro-version .inside p a {
704
- color: #fff;
705
- display: inline-block;
706
- background: #a4c518;
707
- padding: 0 2px;
708
- font-size: 15px;
709
- text-decoration: none;
710
- }
711
- .columns-right .sidebox#direct-feedback #feedback-support,
712
- .columns-right .sidebox#direct-feedback #feedback-rate {
713
- display: none;
714
- }
715
- .columns-right .sidebox#direct-feedback .inside > a {
716
- border-radius: 4px;
717
- border: 1px solid #CCC;
718
- width: 48%;
719
- height: 64px;
720
- text-align: center;
721
- line-height: 64px;
722
- font-weight: bold;
723
- color: #222;
724
- display: inline-block;
725
- text-decoration: none;
726
- }
727
- .columns-right .sidebox#direct-feedback .inside > a:hover {
728
- background: #FAFAFA;
729
- }
730
- .columns-right .sidebox#direct-feedback .inside form textarea {
731
- width: 100%;
732
- height: 120px;
733
- }
734
- .columns-right .sidebox#direct-feedback .inside form input[type="submit"] {
735
- float: right;
736
- border-radius: 4px;
737
- border: 1px solid #CCC;
738
- height: 32px;
739
- text-align: center;
740
- line-height: 32px;
741
- font-weight: bold;
742
- font-size: 12px;
743
- padding: 0 32px;
744
- color: #CCC;
745
- display: inline-block;
746
- background: none;
747
- text-decoration: none;
748
- cursor: pointer;
749
- }
750
- .columns-right .sidebox#direct-feedback .inside form input[type="submit"]:hover {
751
- background: #FAFAFA;
752
- }
753
- .columns-right .sidebox#direct-feedback .inside form p.description {
754
- float: left;
755
- font-size: 10px;
756
- }
757
- .columns-right .sidebox#direct-feedback .inside ul {
758
- margin: 0;
759
- }
760
- .columns-right .sidebox#direct-feedback .inside ul.share li {
761
- margin: 0;
762
- display: block;
763
- float: left;
764
- margin-left: 9px;
765
- width: 30%;
766
- }
767
- .columns-right .sidebox#direct-feedback .inside ul.share li a {
768
- text-decoration: none;
769
- vertical-align: middle;
770
- line-height: 20px;
771
- padding: 16px 0;
772
- width: 100%;
773
- text-align: center;
774
- border: 1px solid #CCC;
775
- border-radius: 4px;
776
- display: block;
777
- }
778
- .columns-right .sidebox#direct-feedback .inside ul.share li a:hover {
779
- background: #FAFAFA;
780
- }
781
- .columns-right .sidebox#direct-feedback .inside ul.share li:first-child {
782
- margin-left: 0;
783
- }
784
- .columns-right .sidebox#direct-feedback #feedback-support .inside ul.share li {
785
- width: 48%;
786
- }
787
- /**
788
- * Setting Tab
789
- * ----------------------------------------------------------------------------
790
- */
791
- table.cpac-form-table {
792
- max-width: 1100px;
793
- margin-top: 20px;
794
- }
795
- table.cpac-form-table > tbody > tr > td,
796
- table.cpac-form-table > tbody > tr > th {
797
- vertical-align: top;
798
- }
799
- table.cpac-form-table td.padding-22 {
800
- padding-top: 22px;
801
- }
802
- table.cpac-form-table td .cpac_export .ms-container {
803
- background: transparent url('../images/switch_bw.png') no-repeat 50% 50%;
804
- }
805
- table.cpac-form-table td .cpac_export .ms-container .ms-selectable {
806
- width: 48%;
807
- margin-right: 0;
808
- }
809
- table.cpac-form-table td .cpac_export .ms-container .ms-selection {
810
- float: right;
811
- width: 48%;
812
- }
813
- table.cpac-form-table td .cpac_export .ms-container ul.ms-list {
814
- width: 100%;
815
- }
816
- table.cpac-form-table td .cpac_export .ms-container ul.ms-list li {
817
- margin: 0;
818
- padding-top: 5px;
819
- padding-bottom: 5px;
820
- }
821
- table.cpac-form-table.settings tr td {
822
- padding-top: 74px;
823
- }
824
- table.cpac-form-table.settings tr:first-child th {
825
- padding-top: 0;
826
- }
827
- table.cpac-form-table.settings tr:first-child td {
828
- padding-top: 54px;
829
- }
830
- /**
831
- * WP Pointer
832
- * ----------------------------------------------------------------------------
833
- */
834
- .wp-pointer-content {
835
- overflow: hidden;
836
- }
837
- .wp-pointer-content ol {
838
- margin-left: 1.5em;
839
- padding: 0 15px;
840
- }
841
- .wp-pointer-right {
842
- margin-right: 15px;
843
- }
844
- /* =RTL language
845
- -------------------------------------------------------------- */
846
- body.rtl .wp-pointer-right {
847
- margin-left: 15px;
848
- margin-right: 0;
849
- }
850
- body.rtl .wp-pointer-right ol {
851
- margin-right: 1.5em;
852
- margin-left: 0;
853
- }
854
- body.rtl .cpac-menu .subsubsub {
855
- margin-left: 14px;
856
- margin-right: 0;
857
- }
858
- body.rtl .columns-container {
859
- margin-left: 300px;
860
- margin-right: 0;
861
- }
862
- body.rtl .columns-left {
863
- float: right;
864
- }
865
- body.rtl .columns-left .cpac-columns .cpac-column .column-meta img {
866
- margin-left: 3px;
867
- margin-right: 0;
868
- }
869
- body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_label .inner > a.remove-button {
870
- margin-right: 12px;
871
- margin-left: 0;
872
- }
873
- body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_label .inner .meta {
874
- float: left;
875
- }
876
- body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_label span.vers {
877
- float: right;
878
- }
879
- body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_type {
880
- text-align: left;
881
- padding-left: 0;
882
- padding-right: auto;
883
- }
884
- body.rtl .columns-left .cpac-columns .cpac-column .column-meta span.vers .comment-grey-bubble {
885
- float: left;
886
- }
887
- body.rtl .columns-left .cpac-columns .cpac-column .column-form table tr.column_image_size td.input label input {
888
- margin-left: 3px;
889
- margin-right: 0;
890
- }
891
- body.rtl .columns-left .cpac-columns .cpac-column .column-form table tr td.label p.description {
892
- right: 0;
893
- left: auto;
894
- }
895
- body.rtl .columns-left .cpac-columns .cpac-column .column-form table tr td.label a.more-info {
896
- float: left;
897
- }
898
- body.rtl .columns-left .cpac-columns .cpac-column .column-form div.description {
899
- float: right;
900
- }
901
- body.rtl .columns-left .cpac-columns .cpac-column .column-form div.input-width-range {
902
- float: right;
903
- }
904
- body.rtl .columns-left .cpac-columns .cpac-column .column-form tr td.input label {
905
- padding-left: 10px;
906
- padding-right: 0;
907
- }
908
- body.rtl .columns-left .cpac-columns .cpac-column .column-form a.help {
909
- float: left;
910
- }
911
- body.rtl .columns-left .column-footer .order-message {
912
- float: right;
913
- padding-right: 22px;
914
- padding-left: 0;
915
- background: transparent url('../images/order_arrow-rtl.png') no-repeat right top;
916
- }
917
- body.rtl .columns-left .column-footer .button-container {
918
- float: left;
919
- }
920
- body.rtl .columns-right {
921
- float: left;
922
- margin-left: -300px;
923
- margin-right: 0;
924
- }
925
- body.rtl .cpac-placeholder {
926
- padding: 5px 0 7px 4px;
927
- }
928
- body.rtl .cpac_export .ms-container .ms-selection {
929
- float: left;
930
- }
931
- /* =Responsive
932
- -------------------------------------------------------------- */
933
- @media only screen and (max-width: 900px) {
934
- .columns-container {
935
- margin-right: 0;
936
- }
937
- .columns-container .columns-left {
938
- float: none;
939
- }
940
- .columns-container .columns-right {
941
- float: none;
942
- margin-top: 0;
943
- margin-right: 0;
944
- width: 100%;
945
- }
946
- .columns-container .columns-right .columns-right-inside.fixed {
947
- position: relative;
948
- top: 0;
949
- width: 100%;
950
- }
951
- }
952
- /* =Addons
953
- -------------------------------------------------------------- */
954
- .cpac-addons li {
955
- width: 200px;
956
- background: #FFF;
957
- float: left;
958
- margin-right: 16px;
959
- margin-bottom: 16px;
960
- border: 1px solid #DDD;
961
- -webkit-box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
962
- -moz-box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
963
- box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
964
- }
965
- .cpac-addons li:hover {
966
- -webkit-box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.25);
967
- -moz-box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.25);
968
- box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.25);
969
- }
970
- .cpac-addons li a {
971
- color: #444;
972
- }
973
- .cpac-addons li .cpac-addon-content {
974
- display: table;
975
- width: 100%;
976
- height: 125px;
977
- text-align: center;
978
- vertical-align: middle;
979
- border-top: 1px solid #DDD;
980
- background: #0069a4;
981
- background: -moz-radial-gradient(center, ellipse cover, #0069a4 0%, #085079 100%);
982
- background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #0069a4), color-stop(100%, #085079));
983
- background: -webkit-radial-gradient(center, ellipse cover, #0069a4 0%, #085079 100%);
984
- background: -o-radial-gradient(center, ellipse cover, #0069a4 0%, #085079 100%);
985
- background: -ms-radial-gradient(center, ellipse cover, #0069a4 0%, #085079 100%);
986
- background: radial-gradient(ellipse at center, #0069a4 0%, #085079 100%);
987
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0069a4', endColorstr='#085079', GradientType=1);
988
- }
989
- .cpac-addons li .cpac-addon-content > * {
990
- display: table-cell;
991
- vertical-align: middle;
992
- }
993
- .cpac-addons li .cpac-addon-content h3 {
994
- padding: 0 16px;
995
- color: #FFF;
996
- line-height: 150%;
997
- }
998
- .cpac-addons li .cpac-addon-content img {
999
- width: 100%;
1000
- }
1001
- .cpac-addons li .cpac-addon-header {
1002
- width: 100%;
1003
- padding: 25px 15px;
1004
- -moz-box-sizing: border-box;
1005
- box-sizing: border-box;
1006
- }
1007
- .cpac-addons li .cpac-addon-header > *:first-child {
1008
- margin-top: 0;
1009
- }
1010
- .cpac-addons li .cpac-addon-header > *:last-child {
1011
- margin-bottom: 0;
1012
- }
1013
- .cpac-addons li .cpac-addon-actions {
1014
- background: #EEE;
1015
- border-top: 1px solid #DDD;
1016
- padding: 8px;
1017
- }
1018
- .cpac-addons li .cpac-addon-actions .cpac-installed:before {
1019
- content: "\f147";
1020
- font-family: 'dashicons';
1021
- vertical-align: middle;
1022
- margin-left: -5px;
1023
- margin-right: 3px;
1024
- }
1
+ #cpac a:focus,#cpac a:active{outline:none}#icon-codepress-admin-columns{background:transparent url('../images/icon.png') no-repeat 0 0}.cpac-settings-link{float:right;margin:12px 14px 5px 0;background:transparent url('../images/settings.png') no-repeat 0 0;padding-left:20px;text-decoration:none;display:inline-block;line-height:16px}.cpac-settings-link.current{font-weight:bold}.rtl .cpac-settings-link{float:left;margin:12px 0 5px 14px;padding-right:20px;padding-left:0}a.help{background:transparent url('../images/help.png') no-repeat 0 0;display:inline-block;width:16px;height:16px}.button.loading{padding-right:25px;position:relative}.rtl .button.loading{padding-left:25px;padding-right:0}.button.loading span{position:absolute;top:2px;right:6px;background:transparent url('../images/loading.gif') no-repeat right 50%;width:16px;height:16px;display:inline-block}.rtl .button.loading span{left:6px;right:auto}.icon-yes{background:transparent url(../images/yes.png) no-repeat 0 0;width:16px;height:16px;display:inline-block;position:relative;top:2px}.icon-no{background:transparent url(../images/no.png) no-repeat 0 0;width:16px;height:16px;display:inline-block;position:relative;top:2px}h2.cpac-nav-tab-wrapper{margin-bottom:10px}.cpac-menu{clear:both;overflow:hidden;margin-bottom:10px}.cpac-menu .subsubsub{white-space:normal;margin-right:14px;width:100%;margin:0 14px 0 0}.cpac-menu .subsubsub li.first{font-weight:bold;min-width:90px}.columns-container{margin-right:300px;max-width:700px}.columns-container .columns-left{float:left;width:100%}.columns-container .columns-right{float:right;margin-right:-300px;width:280px}.columns-container .columns-right .columns-right-inside.fixed{position:fixed;top:40px;width:280px}.ui-sortable-helper{-webkit-box-shadow:1px 3px 6px 0 rgba(1,1,1,0.4);box-shadow:1px 3px 6px 0 rgba(1,1,1,0.4)}.ui-sortable-helper .column-meta{border-width:1px}.cpac-placeholder{visibility:visible !important;border-top:1px solid #dfdfdf;padding:5px 4px 7px 0}.cpac-placeholder .inner-placeholder{border:1px dashed #808080;background:#eee;width:100%;height:100%}.cpac-placeholder :first-child{border:none}.columns-left .cpac-boxes .cpac-columns form{box-shadow:0 1px 3px rgba(0,0,0,0.1)}.cpac-column .column-meta{border-style:solid;border-color:#dfdfdf;border-width:1px 1px 0;background:#fcfcfc}.cpac-column .column-meta:nth-child(2n) .column-meta{background:#f9f9f9}.cpac-column .column-meta img{margin-right:3px}.cpac-column .column-meta table{border:none;background:transparent;border-radius:0}.cpac-column .column-meta table tr td{vertical-align:top;height:18px;border:none;padding:11px 8px;border-width:1px 0 0;border-style:solid;border-color:transparent}.cpac-column .column-meta table tr td.column_sort{width:10px;background:transparent url('../images/drag.png') no-repeat 8px 8px;cursor:move}.cpac-column .column-meta table tr td.column_label{width:70%;font-weight:bold;vertical-align:middle;position:relative}.cpac-column .column-meta table tr td.column_label .inner{position:relative;overflow:hidden;height:18px}.cpac-column .column-meta table tr td.column_label .inner>a{color:#5a5a5a;padding:0 4px}.cpac-column .column-meta table tr td.column_label .inner>a:hover{color:#333}.cpac-column .column-meta table tr td.column_label .inner>a.edit-button,.cpac-column .column-meta table tr td.column_label .inner>a.remove-button,.cpac-column .column-meta table tr td.column_label .inner>a.clone-button{display:none;color:#a00;text-decoration:none;text-shadow:none;font-weight:normal;margin-left:5px;font-size:12px}.cpac-column .column-meta table tr td.column_label .inner>a.edit-button:hover,.cpac-column .column-meta table tr td.column_label .inner>a.remove-button:hover,.cpac-column .column-meta table tr td.column_label .inner>a.clone-button:hover{color:#f00}.cpac-column .column-meta table tr td.column_label .inner>a.edit-button,.cpac-column .column-meta table tr td.column_label .inner>a.clone-button{color:#0074a2}.cpac-column .column-meta table tr td.column_label .inner>a.edit-button:hover,.cpac-column .column-meta table tr td.column_label .inner>a.clone-button:hover{color:#2ea2cc}.cpac-column .column-meta table tr td.column_label .inner .meta{display:inline-block;float:right;font-weight:normal;color:#b2b2b2;font-size:12px}.cpac-column .column-meta table tr td.column_label .inner .meta span{cursor:pointer}.cpac-column .column-meta table tr td.column_label .inner .meta span.width{margin-right:5px;cursor:auto}.cpac-column .column-meta table tr td.column_label span.vers{float:left}.cpac-column .column-meta table tr td.column_type{width:auto;min-width:120px;text-align:right;vertical-align:middle;color:#999;padding-right:0}.cpac-column .column-meta table tr td.column_type .inner{height:18px;overflow:hidden}.cpac-column .column-meta table tr td.column_type .inner a{color:#999}.cpac-column .column-meta table tr td.column_edit{width:38px;min-width:38px;background:transparent url('../images/arrow.png') no-repeat 23px 18px;cursor:pointer}.cpac-column .column-meta:hover .column_label .inner>a.remove-button,.cpac-column .column-meta:hover .column_label .inner>a.edit-button,.cpac-column .column-meta:hover .column_label .inner>a.clone-button{display:inline-block}.cpac-column .column-meta span.vers{padding-top:2px}.cpac-column .column-meta span.vers .comment-grey-bubble{background:transparent url("../images/comment-grey-bubble.png") no-repeat 0 0;height:12px;width:12px;float:right}.cpac-column .column-form{display:none;border-width:1px 1px 0;border-style:solid;border-color:#dfdfdf;position:relative}.cpac-column .column-form table{border:none;background:#fcfcfc}.cpac-column .column-form table tr td{vertical-align:top;border:none;padding:8px;background:#fff;border-top:1px solid #f5f5f5}.cpac-column .column-form table tr td select,.cpac-column .column-form table tr td input[type=text]{width:99.95%}.cpac-column .column-form table tr td select.small,.cpac-column .column-form table tr td input[type=text].small{width:100px}.cpac-column .column-form table tr td span.suffix{line-height:40px;color:#808080}.cpac-column .column-form table tr td select optgroup:nth-child(2n){background:#f9f9f9}.cpac-column .column-form table tr td.label{position:relative;overflow:visible;background:#f9f9f9;background:#f5f5f5;border-right:1px solid #e1e1e1;vertical-align:top;width:34%;border-top:1px solid #f0f0f0}.cpac-column .column-form table tr td.label label{font-weight:bold;color:#333;display:block;position:relative}.cpac-column .column-form table tr td.label p{color:#666;display:block;font-size:12px;font-style:normal;line-height:16px;margin:0 !important}.cpac-column .column-form table tr td.label p.description{display:none;position:absolute;z-index:99;top:30px;left:0;background:#eaf2fa;border-radius:5px;border:1px solid #c7d7e2;padding:5px 8px !important;font-weight:normal}.cpac-column .column-form table tr td.label p.description em{display:block;color:#999}.cpac-column .column-form table tr td.input label{padding-left:10px;padding-right:0}.cpac-column .column-form table tr td.input div.msg{margin-top:5px;display:none;color:#333;padding:6px 8px;background-color:#ffebe8;border:1px solid #fff;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.cpac-column .column-form table tr td.input .section{padding:12px}.cpac-column .column-form table tr.column_width div.description{font-size:11px;width:12%;float:left;text-align:middle}.cpac-column .column-form table tr.column_width div.input-width-range{float:left;position:relative;width:87%;margin-top:4px}.cpac-column .column-form table tr.column_width div.input-width-range .ui-slider-handle{cursor:ew-resize}.cpac-column .column-form table tr.column_image_size{border:10px solid #f00}.cpac-column .column-form table tr.column_image_size td.input label.custom-size{display:inline-block;margin-top:4px;margin-bottom:4px}.cpac-column .column-form table tr.column_image_size td.input label.custom-size input{margin-right:3px}.cpac-column .column-form table tr.column_image_size td.input .custom_image_size{display:inline-block}.cpac-column .column-form table tr.column_image_size td.input .custom_image_size .hidden{display:none}.cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-w,.cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-h{margin:0}.cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-w.hidden,.cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-h.hidden{display:none}.cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-w input[type="text"],.cpac-column .column-form table tr.column_image_size td.input .custom_image_size .custom-size-h input[type="text"]{margin-right:3px;width:40px !important}.cpac-column .column-form table tr.column_action td{background:#f9f9f9}.cpac-column .column-form table tr.column_action td p{margin:0}.cpac-column .column-form table tr.column_action td p a.remove-button{color:#a00;text-decoration:none;text-shadow:none;font-weight:normal;margin-left:5px;font-size:12px;padding:0 5px}.cpac-column .column-form table tr.column_action td p a.remove-button:hover{color:#fff;background:#f00}.cpac-column .column-form table tr:first-child td{border-top:none}.cpac-column.loading .column-form>.spinner{position:absolute;left:50%;top:50%;z-index:200;margin-left:-10px;margin-top:-10px;display:block}.cpac-column.loading .column-form:before{content:'';position:absolute;width:100%;height:100%;background:#fff;z-index:100;opacity:.5}.cpac-column.opened .column-meta{background-color:#c7c7c7;background-image:-ms-linear-gradient(top, #e9e9e9, #c7c7c7);background-image:-moz-linear-gradient(top, #e9e9e9, #c7c7c7);background-image:-o-linear-gradient(top, #e9e9e9, #c7c7c7);background-image:-webkit-gradient(linear, left top, left bottom, from(#e9e9e9), to(#c7c7c7));background-image:-webkit-linear-gradient(top, #e9e9e9, #c7c7c7);background-image:linear-gradient(top, #e9e9e9, #c7c7c7);border-color:#aeaeae}.cpac-column.opened .column-meta table{background:transparent}.cpac-column.opened .column-meta table td{border-color:#f8f8f8;color:#333;text-shadow:0 1px 0 #fff}.cpac-column.opened .column-meta table td a{color:#333;text-shadow:0 1px 0 #fff}.cpac-column.opened .column-meta table td.column_sort{background-position:8px -39px}.cpac-column.opened .column-meta table td.column_label .inner .meta span{color:#808080;text-shadow:none}.cpac-column.opened .column-meta table td.column_type{color:#5c5c5c}.column-footer{background:#eaf2fa;border:1px solid #c7d7e2;min-height:26px;padding:8px;overflow:hidden}.column-footer .order-message{background:transparent url('../images/order_arrow.png') no-repeat 0 0;color:#7a9bbe;float:left;font-family:Comic Sans MS,sans-serif;font-size:11px;height:13px;line-height:1em;margin-left:4px;padding:7px 0 0 22px;text-shadow:0 1px 0 #fff;display:inline-block}.column-footer .button-container{float:right;display:inline-block;margin-top:-5px}.column-footer .button-container a{display:inline-block;margin-top:5px}.cpac-content-body hr{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background:none repeat scroll 0 0 transparent;border-color:#dfdfdf -moz-use-text-color -moz-use-text-color;border-image:none;border-right:0 none;border-style:solid none none;border-width:1px 0 0;clear:both;margin:30px 0;opacity:.2}#cpac-welcome.about-wrap div.error{display:block !important}.cpac-alert{display:inline-block;background:none repeat scroll 0 0 #fcf8e3;border:1px solid #fbeed5;border-radius:4px 4px 4px 4px;color:#c09853;margin:20px 0;padding:16px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.cpac-alert p{margin:0}.cpac-alert.cpac-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.cpac-alert.cpac-alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.cpac-alert a.button-primary{height:28px;line-height:28px;display:inline-block}#cpac-download-add-ons-table{max-width:600px}.wp-core-ui .button-large{height:40px;line-height:40px;font-size:16px;padding:0 15px;text-shadow:0 1px 0 rgba(0,0,0,0.5)}.cac-notification.updated{border-left-color:#0071aa}.cac-notification.updated .learnmore{float:right}.cac-notification.updated .learnmore:after{content:"\f139";font:normal 20px/1 'dashicons';float:right}.columns-right{margin-top:54px}.columns-right .sidebox{background:none repeat scroll 0 0 #fff;border:1px solid #e1e1e1;border-radius:0 0 0 0;box-shadow:0 1px 3px rgba(0,0,0,0.1);position:relative;margin-bottom:14px}.columns-right .sidebox h3{padding:10px;margin:0}.columns-right .sidebox h3.title{font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;font-size:15px;font-weight:normal;line-height:1;margin:0;padding:7px 10px;background:#f1f1f1;background-image:-webkit-gradient(linear, left bottom, left top, from(#ececec), to(#f9f9f9));background-image:-webkit-linear-gradient(bottom, #ececec, #f9f9f9);background-image:-moz-linear-gradient(bottom, #ececec, #f9f9f9);background-image:-o-linear-gradient(bottom, #ececec, #f9f9f9);background-image:linear-gradient(to top, #ececec, #f9f9f9);border-bottom-color:#dfdfdf;text-shadow:#fff 0 1px 0;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff;border-bottom-style:solid;border-bottom-width:1px}.columns-right .sidebox .inside{padding:10px}.columns-right .sidebox .inside p{margin-top:0}.columns-right .sidebox#form-actions .form-reset{border-bottom:1px solid #f5f5f5;padding:8px}.columns-right .sidebox#form-actions .reset-column-type{text-decoration:none;color:#bc0b0b;line-height:25px;display:inline-block}.columns-right .sidebox#form-actions .form-update{padding:8px;overflow:hidden}.columns-right .sidebox#form-actions .submit-update{display:block;width:100%;height:28px;line-height:28px;text-align:center}.columns-right .sidebox#pro-version .cta{background:transparent url(../images/get_the_addon.png) no-repeat 0 0;background-size:cover}.columns-right .sidebox#pro-version .padding-box{padding:8px 15px 0}.columns-right .sidebox#pro-version h3 a{color:#fff;font-size:19px;text-decoration:none;font-weight:normal;margin-top:6px}.columns-right .sidebox#pro-version .inside ul{margin:0 0 10px 0}.columns-right .sidebox#pro-version .inside ul li{margin:0;padding:0}.columns-right .sidebox#pro-version .inside ul li a{display:inline-block;min-height:24px;font-size:19px;line-height:24px;margin-bottom:1px;padding:0 5px;background:#000;color:#fff;text-decoration:none}.columns-right .sidebox#pro-version .inside p{color:#fff;font-size:12px}.columns-right .sidebox#pro-version .inside p a{color:#fff;display:inline-block;background:#a4c518;padding:0 2px;font-size:15px;text-decoration:none}.columns-right .sidebox#direct-feedback #feedback-support,.columns-right .sidebox#direct-feedback #feedback-rate{display:none}.columns-right .sidebox#direct-feedback .inside>a{border-radius:4px;border:1px solid #ccc;width:48%;height:64px;text-align:center;line-height:64px;font-weight:bold;color:#222;display:inline-block;text-decoration:none}.columns-right .sidebox#direct-feedback .inside>a:hover{background:#fafafa}.columns-right .sidebox#direct-feedback .inside form textarea{width:100%;height:120px}.columns-right .sidebox#direct-feedback .inside form input[type="submit"]{float:right;border-radius:4px;border:1px solid #ccc;height:32px;text-align:center;line-height:32px;font-weight:bold;font-size:12px;padding:0 32px;color:#ccc;display:inline-block;background:none;text-decoration:none;cursor:pointer}.columns-right .sidebox#direct-feedback .inside form input[type="submit"]:hover{background:#fafafa}.columns-right .sidebox#direct-feedback .inside form p.description{float:left;font-size:10px}.columns-right .sidebox#direct-feedback .inside ul{margin:0}.columns-right .sidebox#direct-feedback .inside ul.share li{margin:0;display:block;float:left;margin-left:9px;width:30%}.columns-right .sidebox#direct-feedback .inside ul.share li a{text-decoration:none;vertical-align:middle;line-height:20px;padding:16px 0;width:100%;text-align:center;border:1px solid #ccc;border-radius:4px;display:block}.columns-right .sidebox#direct-feedback .inside ul.share li a:hover{background:#fafafa}.columns-right .sidebox#direct-feedback .inside ul.share li:first-child{margin-left:0}.columns-right .sidebox#direct-feedback #feedback-support .inside ul.share li{width:48%}table.cpac-form-table{max-width:1100px;margin-top:20px}table.cpac-form-table>tbody>tr>td,table.cpac-form-table>tbody>tr>th{vertical-align:top}table.cpac-form-table td.padding-22{padding-top:22px}table.cpac-form-table td .cpac_export .ms-container{background:transparent url('../images/switch_bw.png') no-repeat 50% 50%}table.cpac-form-table td .cpac_export .ms-container .ms-selectable{width:48%;margin-right:0}table.cpac-form-table td .cpac_export .ms-container .ms-selection{float:right;width:48%}table.cpac-form-table td .cpac_export .ms-container ul.ms-list{width:100%}table.cpac-form-table td .cpac_export .ms-container ul.ms-list li{margin:0;padding-top:5px;padding-bottom:5px}table.cpac-form-table.settings tr td{padding-top:74px}table.cpac-form-table.settings tr:first-child th{padding-top:0}table.cpac-form-table.settings tr:first-child td{padding-top:54px}.wp-pointer-content{overflow:hidden}.wp-pointer-content ol{margin-left:1.5em;padding:0 15px}.wp-pointer-right{margin-right:15px}body.rtl .wp-pointer-right{margin-left:15px;margin-right:0}body.rtl .wp-pointer-right ol{margin-right:1.5em;margin-left:0}body.rtl .cpac-menu .subsubsub{margin-left:14px;margin-right:0}body.rtl .columns-container{margin-left:300px;margin-right:0}body.rtl .columns-left{float:right}body.rtl .columns-left .cpac-columns .cpac-column .column-meta img{margin-left:3px;margin-right:0}body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_label .inner>a.remove-button{margin-right:12px;margin-left:0}body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_label .inner .meta{float:left}body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_label span.vers{float:right}body.rtl .columns-left .cpac-columns .cpac-column .column-meta .column_type{text-align:left;padding-left:0;padding-right:auto}body.rtl .columns-left .cpac-columns .cpac-column .column-meta span.vers .comment-grey-bubble{float:left}body.rtl .columns-left .cpac-columns .cpac-column .column-form table tr.column_image_size td.input label input{margin-left:3px;margin-right:0}body.rtl .columns-left .cpac-columns .cpac-column .column-form table tr td.label p.description{right:0;left:auto}body.rtl .columns-left .cpac-columns .cpac-column .column-form table tr td.label a.more-info{float:left}body.rtl .columns-left .cpac-columns .cpac-column .column-form div.description{float:right}body.rtl .columns-left .cpac-columns .cpac-column .column-form div.input-width-range{float:right}body.rtl .columns-left .cpac-columns .cpac-column .column-form tr td.input label{padding-left:10px;padding-right:0}body.rtl .columns-left .cpac-columns .cpac-column .column-form a.help{float:left}body.rtl .columns-left .column-footer .order-message{float:right;padding-right:22px;padding-left:0;background:transparent url('../images/order_arrow-rtl.png') no-repeat right top}body.rtl .columns-left .column-footer .button-container{float:left}body.rtl .columns-right{float:left;margin-left:-300px;margin-right:0}body.rtl .cpac-placeholder{padding:5px 0 7px 4px}body.rtl .cpac_export .ms-container .ms-selection{float:left}@media only screen and (max-width:900px){.columns-container{margin-right:0}.columns-container .columns-left{float:none}.columns-container .columns-right{float:none;margin-top:0;margin-right:0;width:100%}.columns-container .columns-right .columns-right-inside.fixed{position:relative;top:0;width:100%}}.cpac-addons li{width:200px;background:#fff;float:left;margin-right:16px;margin-bottom:16px;border:1px solid #ddd;-webkit-box-shadow:0 3px 10px 0 rgba(0,0,0,0.15);-moz-box-shadow:0 3px 10px 0 rgba(0,0,0,0.15);box-shadow:0 3px 10px 0 rgba(0,0,0,0.15)}.cpac-addons li:hover{-webkit-box-shadow:0 3px 10px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 3px 10px 0 rgba(0,0,0,0.25);box-shadow:0 3px 10px 0 rgba(0,0,0,0.25)}.cpac-addons li a{color:#444}.cpac-addons li .cpac-addon-content{display:table;width:100%;height:125px;text-align:center;vertical-align:middle;border-top:1px solid #ddd;background:#0069a4;background:-moz-radial-gradient(center, ellipse cover, #0069a4 0, #085079 100%);background:-webkit-gradient(radial, center center, 0, center center, 100%, color-stop(0, #0069a4), color-stop(100%, #085079));background:-webkit-radial-gradient(center, ellipse cover, #0069a4 0, #085079 100%);background:-o-radial-gradient(center, ellipse cover, #0069a4 0, #085079 100%);background:-ms-radial-gradient(center, ellipse cover, #0069a4 0, #085079 100%);background:radial-gradient(ellipse at center, #0069a4 0, #085079 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0069a4', endColorstr='#085079', GradientType=1)}.cpac-addons li .cpac-addon-content>*{display:table-cell;vertical-align:middle}.cpac-addons li .cpac-addon-content h3{padding:0 16px;color:#fff;line-height:150%}.cpac-addons li .cpac-addon-content img{width:100%}.cpac-addons li .cpac-addon-header{width:100%;padding:25px 15px;-moz-box-sizing:border-box;box-sizing:border-box}.cpac-addons li .cpac-addon-header>*:first-child{margin-top:0}.cpac-addons li .cpac-addon-header>*:last-child{margin-bottom:0}.cpac-addons li .cpac-addon-actions{background:#eee;border-top:1px solid #ddd;padding:8px}.cpac-addons li .cpac-addon-actions .cpac-installed:before{content:"\f147";font-family:'dashicons';vertical-align:middle;margin-left:-5px;margin-right:3px}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/admin-columns.js CHANGED
@@ -7,7 +7,7 @@ jQuery( document ).ready( function( $ ) {
7
  */
8
  function cpac_tooltips() {
9
 
10
- if ( typeof qtip === 'undefined' || ! jQuery.isFunction( qtip ) ) {
11
  return;
12
  }
13
 
7
  */
8
  function cpac_tooltips() {
9
 
10
+ if ( typeof jQuery.fn.qtip === 'undefined' ) {
11
  return;
12
  }
13
 
assets/js/admin-columns.min.js CHANGED
@@ -1 +1 @@
1
- function cpac_tooltips(){if(typeof qtip=="undefined"||!jQuery.isFunction(qtip))return;jQuery(".cpac-tip").qtip({content:{attr:"data-tip"},position:{my:"top center",at:"bottom center"},style:{tip:!0,classes:"qtip-tipsy"}})}jQuery(document).ready(function(e){cpac_tooltips()});
1
+ function cpac_tooltips(){if(typeof jQuery.fn.qtip=="undefined")return;jQuery(".cpac-tip").qtip({content:{attr:"data-tip"},position:{my:"top center",at:"bottom center"},style:{tip:!0,classes:"qtip-tipsy"}})}jQuery(document).ready(function(e){cpac_tooltips()});
assets/js/admin-settings.js CHANGED
@@ -96,7 +96,7 @@ jQuery.fn.column_bind_remove = function() {
96
  /**
97
  * Column: bind clone events
98
  *
99
- * @since NEWVERSION
100
  */
101
  jQuery.fn.column_bind_clone = function() {
102
 
@@ -220,6 +220,7 @@ jQuery.fn.column_bind_events = function() {
220
 
221
  var input = jQuery(this).closest('td').find('.input-width');
222
  var descr = jQuery(this).closest('td').find('.width-decription');
 
223
  var input_default = jQuery(input)[0].defaultValue;
224
  var translation_default = descr.attr('title');
225
 
@@ -233,12 +234,14 @@ jQuery.fn.column_bind_events = function() {
233
 
234
  // set default
235
  var descr_value = ui.value > 0 ? ui.value + '%' : translation_default;
 
236
 
237
  // set input value
238
  jQuery(input).val( ui.value );
239
 
240
  // set description
241
- jQuery(descr).text( descr_value );
 
242
  }
243
  });
244
  });
@@ -287,7 +290,7 @@ jQuery.fn.column_remove = function() {
287
  /*
288
  * Column: clone
289
  *
290
- * @since NEWVERSION
291
  */
292
  jQuery.fn.column_clone = function() {
293
 
@@ -370,6 +373,14 @@ jQuery.fn.cpac_update_clone_id = function( storage_model ) {
370
  if ( 0 === id )
371
  return;
372
 
 
 
 
 
 
 
 
 
373
  // set clone ID
374
  el.attr( 'data-clone', id );
375
  el.find( 'input.clone' ).val( id );
@@ -383,17 +394,17 @@ jQuery.fn.cpac_update_clone_id = function( storage_model ) {
383
 
384
  // name
385
  if( jQuery(v).attr( 'name' ) ) {
386
- jQuery(v).attr( 'name', jQuery(v).attr( 'name' ).replace( type, new_name) );
387
  }
388
 
389
  // for
390
  if( jQuery(v).attr( 'for' ) ) {
391
- jQuery(v).attr( 'for', jQuery(v).attr( 'for' ).replace( type, new_name ) );
392
  }
393
 
394
  // id
395
  if( jQuery(v).attr( 'id' ) ) {
396
- jQuery(v).attr( 'id', jQuery(v).attr( 'id' ).replace( type, new_name ) );
397
  }
398
  });
399
  };
96
  /**
97
  * Column: bind clone events
98
  *
99
+ * @since 2.3.4
100
  */
101
  jQuery.fn.column_bind_clone = function() {
102
 
220
 
221
  var input = jQuery(this).closest('td').find('.input-width');
222
  var descr = jQuery(this).closest('td').find('.width-decription');
223
+ var indicator = jQuery(this).closest('.cpac-column').find('.column-meta span.width');
224
  var input_default = jQuery(input)[0].defaultValue;
225
  var translation_default = descr.attr('title');
226
 
234
 
235
  // set default
236
  var descr_value = ui.value > 0 ? ui.value + '%' : translation_default;
237
+ var indicator_value = ui.value > 0 ? ui.value + '%' : '';
238
 
239
  // set input value
240
  jQuery(input).val( ui.value );
241
 
242
  // set description
243
+ descr.text( descr_value );
244
+ indicator.text( indicator_value );
245
  }
246
  });
247
  });
290
  /*
291
  * Column: clone
292
  *
293
+ * @since 2.3.4
294
  */
295
  jQuery.fn.column_clone = function() {
296
 
373
  if ( 0 === id )
374
  return;
375
 
376
+ // get original clone ID
377
+ var clone_id = el.attr( 'data-clone' );
378
+ var clone_suffix = '';
379
+
380
+ if ( clone_id ) {
381
+ clone_suffix = '-' + clone_id;
382
+ }
383
+
384
  // set clone ID
385
  el.attr( 'data-clone', id );
386
  el.find( 'input.clone' ).val( id );
394
 
395
  // name
396
  if( jQuery(v).attr( 'name' ) ) {
397
+ jQuery(v).attr( 'name', jQuery(v).attr( 'name' ).replace( type + clone_suffix, new_name) );
398
  }
399
 
400
  // for
401
  if( jQuery(v).attr( 'for' ) ) {
402
+ jQuery(v).attr( 'for', jQuery(v).attr( 'for' ).replace( type + clone_suffix, new_name ) );
403
  }
404
 
405
  // id
406
  if( jQuery(v).attr( 'id' ) ) {
407
+ jQuery(v).attr( 'id', jQuery(v).attr( 'id' ).replace( type + clone_suffix, new_name ) );
408
  }
409
  });
410
  };
assets/js/admin-settings.min.js CHANGED
@@ -1,4 +1,4 @@
1
  /*
2
  * Fires when the dom is ready
3
  *
4
- */function cpac_importexport(){jQuery("#php-export-results textarea").on("focus, mouseup",function(){jQuery(this).select()}).select().focus()}function cpac_submit_form(){jQuery(".form-update a.submit-update").click(function(e){e.preventDefault();jQuery(this).closest(".columns-container").find(".cpac-columns form").submit()})}function cpac_create_column(e){var t=jQuery(".for-cloning-only .cpac-column",e).first().clone(),n=e.attr("data-type");if(t.length>0){t.cpac_update_clone_id(n);jQuery(".cpac-columns form",e).append(t);t.column_bind_toggle();t.column_bind_remove();t.column_bind_clone();t.column_bind_events();cpac_sortable();jQuery(document).trigger("column_add",t)}return t}function cpac_add_column(){jQuery("#cpac .add_column").click(function(e){var t=jQuery(this).closest(".columns-container"),n=cpac_create_column(t);n.addClass("opened").find(".column-form").slideDown(150,function(){jQuery("html, body").animate({scrollTop:n.offset().top-58},300)});e.preventDefault()})}function cpac_sidebar_feedback(){jQuery(function(e){var t=e(".sidebox#direct-feedback");t.find("#feedback-choice a.no").click(function(e){e.preventDefault();t.find("#feedback-choice").slideUp();t.find("#feedback-support").slideDown()});t.find("#feedback-choice a.yes").click(function(e){e.preventDefault();t.find("#feedback-choice").slideUp();t.find("#feedback-rate").slideDown()})})}function cpac_clear_input_defaults(){jQuery.fn.cleardefault=function(){return this.focus(function(){this.value==this.defaultValue&&(this.value="")}).blur(function(){this.value.length||(this.value=this.defaultValue)})};jQuery("#cpac-box-plugin_settings .addons input").cleardefault()}function cpac_help(){jQuery("#cpac a.help").click(function(e){e.preventDefault();var t=jQuery("#contextual-help-wrap");t.parent().show();jQuery('a[href="#tab-panel-cpac-'+jQuery(this).attr("data-help")+'"]',t).trigger("click");t.slideDown("fast",function(){t.focus()})})}function cpac_pointer(){jQuery(".cpac-pointer").each(function(){var e=jQuery(this),t=e.attr("rel"),n=e.attr("data-pos"),r={at:"left top",my:"right top",edge:"right",offset:"0 0"};"right"==n&&(r={at:"right middle",my:"left middle",edge:"left"});e.pointer({content:jQuery("#"+t).html(),position:r,pointerWidth:250,close:function(){e.removeClass("open")},pointerClass:"wp-pointer wp-pointer-"+r.edge});e.click(function(){e.hasClass("open")?e.removeClass("open"):e.addClass("open")});e.hover(function(){jQuery(this).pointer("open")},function(){e.hasClass("open")||jQuery(this).pointer("close")})})}function cpac_sortable(){jQuery("div.cpac-columns").each(function(){jQuery(this).hasClass("ui-sortable")?jQuery(this).sortable("refresh"):jQuery(this).sortable({items:".cpac-column"})})}function cpac_menu(){var e=jQuery("#cpac div.cpac-menu");e.find("a").click(function(e,t){var n=jQuery(this).attr("href");if(n){var r=n.replace("#cpac-box-","");jQuery(".cpac-menu a").removeClass("current");jQuery(".columns-container").hide();jQuery(this).addClass("current");var i=jQuery('.columns-container[data-type="'+r+'"]').show(),s=i.find(".cpac-columns");jQuery(document).trigger("cac_menu_change",s)}e.preventDefault()});e.find("a.current").trigger("click")}jQuery(document).ready(function(){if(jQuery("#cpac").length===0)return!1;cpac_pointer();cpac_submit_form();cpac_clear_input_defaults();cpac_sortable();cpac_menu();cpac_help();cpac_add_column();cpac_importexport();cpac_sidebar_feedback();jQuery(".cpac-column").each(function(e,t){jQuery(t).column_bind_toggle();jQuery(t).column_bind_remove();jQuery(t).column_bind_clone();jQuery(t).cpac_bind_container_addon_events()})});jQuery.fn.column_bind_toggle=function(){var e=jQuery(this);e.find("td.column_type a, td.column_edit, td.column_label a.toggle, td.column_label .edit-button").click(function(t){t.preventDefault();e.toggleClass("opened").find(".column-form").slideToggle(150);e.hasClass("events-binded")||e.column_bind_events();e.addClass("events-binded");jQuery(document).trigger("column_init",e)})};jQuery.fn.column_bind_remove=function(){jQuery(this).find(".remove-button").click(function(e){jQuery(this).closest(".cpac-column").column_remove();e.preventDefault()})};jQuery.fn.column_bind_clone=function(){jQuery(this).find(".clone-button").click(function(e){var t,n;e.preventDefault();t=jQuery(this).closest(".cpac-column");n=t.column_clone();typeof n!="undefined"&&n.removeClass("loading").hide().slideDown()})};jQuery.fn.cpac_column_refresh=function(){var e=jQuery(this);e.addClass("loading");e.find(".column-form").prepend('<span class="spinner" />');jQuery.post(ajaxurl,{plugin_id:"cpac",action:"cpac_column_refresh",column:jQuery(this).find("input.column-name").val(),formdata:jQuery(this).parents("form").serialize()},function(t){var n=jQuery("<div>"+t+"</div>").children();e.replaceWith(n);e=n;e.column_bind_toggle();e.column_bind_remove();e.column_bind_clone();e.column_bind_events();e.removeClass("loading").addClass("opened").find(".column-form").show();jQuery(document).trigger("column_change",e)})};jQuery.fn.column_bind_events=function(){var e=jQuery(this),t=e.closest(".columns-container "),n=t.attr("data-type"),r=e.find(".column_type select option:selected").val();e.find(".column_type select").change(function(){var i=jQuery("optgroup",this).children(":selected"),s=i.val(),o=i.text(),u=jQuery(this).next(".msg").hide(),a=t.find('.for-cloning-only .cpac-column[data-type="'+s+'"]');if(a.length)if(a.find(".is-disabled").length){u.html(a.find(".is-disabled").html()).show();jQuery(this).find("option").removeAttr("selected");jQuery(this).find('option[value="'+r+'"]').attr("selected","selected")}else{if(typeof a.attr("data-clone")=="undefined"&&jQuery(".cpac-columns",t).find('[data-type="'+s+'"]').length){u.html(cpac_i18n.clone.replace("%s","<strong>"+o+"</strong>")).show();jQuery(this).find("option").removeAttr("selected");jQuery(this).find('option[value="'+r+'"]').attr("selected","selected");return}var f=a.clone();f.addClass("opened").find(".column-form").show();f.find(".column-meta").replaceWith(e.find(".column-meta"));f.find(".column-form").replaceWith(e.find(".column-form"));f.cpac_update_clone_id(n);e.replaceWith(f);f.cpac_column_refresh()}});e.find(".column_label .input input").bind("keyup change",function(){var e=jQuery(this).val();jQuery(this).closest(".cpac-column").find("td.column_label .inner > a.toggle").text(e)});e.find(".input-width-range").each(function(){var e=jQuery(this).closest("td").find(".input-width"),t=jQuery(this).closest("td").find(".width-decription"),n=jQuery(e)[0].defaultValue,r=t.attr("title");jQuery(this).slider({range:"min",min:0,max:100,value:n,slide:function(n,i){var s=i.value>0?i.value+"%":r;jQuery(e).val(i.value);jQuery(t).text(s)}})});e.find(".column_image_size label.custom-size").click(function(){var e=jQuery(this).closest(".input");if(jQuery(this).hasClass("image-size-custom")){jQuery(".custom-size-w",e).removeClass("hidden");jQuery(".custom-size-h",e).removeClass("hidden")}else{jQuery(".custom-size-w",e).addClass("hidden");jQuery(".custom-size-h",e).addClass("hidden")}});e.find(".column-form .label label").hover(function(){jQuery(this).find("p.description").show()},function(){jQuery(this).find("p.description").hide()});e.find(".column_type select").val()=="column-meta"&&e.find(".column_field_type select").change(function(){e.cpac_column_refresh()})};jQuery.fn.column_remove=function(){jQuery(this).addClass("deleting").animate({opacity:0,height:0},350,function(e){jQuery(this).remove()})};jQuery.fn.column_clone=function(){var e=jQuery(this).closest(".columns-container"),t=jQuery(this);if(typeof t.attr("data-clone")=="undefined"){var n=cpac_i18n.clone.replace("%s","<strong>"+t.find(".column_label .toggle").text()+"</strong>");t.addClass("opened").find(".column-form").slideDown(150);t.find(".msg").html(n).show();return}var r=jQuery(this).clone();r.cpac_update_clone_id(e.attr("data-type"));jQuery(this).after(r);r.column_bind_toggle();r.column_bind_remove();r.column_bind_clone();r.column_bind_events();cpac_sortable();jQuery(document).trigger("column_add",r);return r};jQuery.fn.cpac_update_clone_id=function(e){var t=jQuery(this),n=t.attr("data-type"),r=jQuery('.columns-container[data-type="'+e+'"]').find(".cpac-columns"),i=jQuery(r).find('*[data-type="'+n+'"]').not(t),s=jQuery.map(i,function(e,t){return jQuery(e).attr("data-clone")?parseInt(jQuery(e).attr("data-clone"),10):0});s.sort();var o=Math.max.apply(null,s)+1;for(var u=0;u<=o;u++)if(-1===jQuery.inArray(u,s))break;if(0===u)return;t.attr("data-clone",u);t.find("input.clone").val(u);t.find("input.column-name").val(n+"-"+u);var a=t.find("input, select, label");jQuery(a).each(function(e,t){var r=n+"-"+u;jQuery(t).attr("name")&&jQuery(t).attr("name",jQuery(t).attr("name").replace(n,r));jQuery(t).attr("for")&&jQuery(t).attr("for",jQuery(t).attr("for").replace(n,r));jQuery(t).attr("id")&&jQuery(t).attr("id",jQuery(t).attr("id").replace(n,r))})};jQuery(document).bind("column_init column_change column_add",function(e,t){jQuery(t).cpac_bind_column_addon_events();jQuery(t).cpac_bind_container_addon_events()});jQuery.fn.cpac_bind_column_addon_events=function(){var e=jQuery(this),t=e.find("[data-toggle-id] label");t.click(function(){var t=jQuery(this).closest("td.input").data("toggle-id"),n=e.find('[data-indicator-id="'+t+'"]').removeClass("on"),r=jQuery("input",this).val();"on"==r&&n.addClass("on")})};jQuery.fn.cpac_bind_container_addon_events=function(){var e=jQuery(this),t=e.find("[data-indicator-id]");t.unbind("click").click(function(){var t=jQuery(this).data("indicator-id"),n=e.find('[data-toggle-id="'+t+'"] input');if(jQuery(this).hasClass("on")){jQuery(this).removeClass("on").addClass("off");n.filter("[value=off]").prop("checked",!0)}else{jQuery(this).removeClass("off").addClass("on");n.filter("[value=on]").prop("checked",!0)}})};
1
  /*
2
  * Fires when the dom is ready
3
  *
4
+ */function cpac_importexport(){jQuery("#php-export-results textarea").on("focus, mouseup",function(){jQuery(this).select()}).select().focus()}function cpac_submit_form(){jQuery(".form-update a.submit-update").click(function(e){e.preventDefault();jQuery(this).closest(".columns-container").find(".cpac-columns form").submit()})}function cpac_create_column(e){var t=jQuery(".for-cloning-only .cpac-column",e).first().clone(),n=e.attr("data-type");if(t.length>0){t.cpac_update_clone_id(n);jQuery(".cpac-columns form",e).append(t);t.column_bind_toggle();t.column_bind_remove();t.column_bind_clone();t.column_bind_events();cpac_sortable();jQuery(document).trigger("column_add",t)}return t}function cpac_add_column(){jQuery("#cpac .add_column").click(function(e){var t=jQuery(this).closest(".columns-container"),n=cpac_create_column(t);n.addClass("opened").find(".column-form").slideDown(150,function(){jQuery("html, body").animate({scrollTop:n.offset().top-58},300)});e.preventDefault()})}function cpac_sidebar_feedback(){jQuery(function(e){var t=e(".sidebox#direct-feedback");t.find("#feedback-choice a.no").click(function(e){e.preventDefault();t.find("#feedback-choice").slideUp();t.find("#feedback-support").slideDown()});t.find("#feedback-choice a.yes").click(function(e){e.preventDefault();t.find("#feedback-choice").slideUp();t.find("#feedback-rate").slideDown()})})}function cpac_clear_input_defaults(){jQuery.fn.cleardefault=function(){return this.focus(function(){this.value==this.defaultValue&&(this.value="")}).blur(function(){this.value.length||(this.value=this.defaultValue)})};jQuery("#cpac-box-plugin_settings .addons input").cleardefault()}function cpac_help(){jQuery("#cpac a.help").click(function(e){e.preventDefault();var t=jQuery("#contextual-help-wrap");t.parent().show();jQuery('a[href="#tab-panel-cpac-'+jQuery(this).attr("data-help")+'"]',t).trigger("click");t.slideDown("fast",function(){t.focus()})})}function cpac_pointer(){jQuery(".cpac-pointer").each(function(){var e=jQuery(this),t=e.attr("rel"),n=e.attr("data-pos"),r={at:"left top",my:"right top",edge:"right",offset:"0 0"};"right"==n&&(r={at:"right middle",my:"left middle",edge:"left"});e.pointer({content:jQuery("#"+t).html(),position:r,pointerWidth:250,close:function(){e.removeClass("open")},pointerClass:"wp-pointer wp-pointer-"+r.edge});e.click(function(){e.hasClass("open")?e.removeClass("open"):e.addClass("open")});e.hover(function(){jQuery(this).pointer("open")},function(){e.hasClass("open")||jQuery(this).pointer("close")})})}function cpac_sortable(){jQuery("div.cpac-columns").each(function(){jQuery(this).hasClass("ui-sortable")?jQuery(this).sortable("refresh"):jQuery(this).sortable({items:".cpac-column"})})}function cpac_menu(){var e=jQuery("#cpac div.cpac-menu");e.find("a").click(function(e,t){var n=jQuery(this).attr("href");if(n){var r=n.replace("#cpac-box-","");jQuery(".cpac-menu a").removeClass("current");jQuery(".columns-container").hide();jQuery(this).addClass("current");var i=jQuery('.columns-container[data-type="'+r+'"]').show(),s=i.find(".cpac-columns");jQuery(document).trigger("cac_menu_change",s)}e.preventDefault()});e.find("a.current").trigger("click")}jQuery(document).ready(function(){if(jQuery("#cpac").length===0)return!1;cpac_pointer();cpac_submit_form();cpac_clear_input_defaults();cpac_sortable();cpac_menu();cpac_help();cpac_add_column();cpac_importexport();cpac_sidebar_feedback();jQuery(".cpac-column").each(function(e,t){jQuery(t).column_bind_toggle();jQuery(t).column_bind_remove();jQuery(t).column_bind_clone();jQuery(t).cpac_bind_container_addon_events()})});jQuery.fn.column_bind_toggle=function(){var e=jQuery(this);e.find("td.column_type a, td.column_edit, td.column_label a.toggle, td.column_label .edit-button").click(function(t){t.preventDefault();e.toggleClass("opened").find(".column-form").slideToggle(150);e.hasClass("events-binded")||e.column_bind_events();e.addClass("events-binded");jQuery(document).trigger("column_init",e)})};jQuery.fn.column_bind_remove=function(){jQuery(this).find(".remove-button").click(function(e){jQuery(this).closest(".cpac-column").column_remove();e.preventDefault()})};jQuery.fn.column_bind_clone=function(){jQuery(this).find(".clone-button").click(function(e){var t,n;e.preventDefault();t=jQuery(this).closest(".cpac-column");n=t.column_clone();typeof n!="undefined"&&n.removeClass("loading").hide().slideDown()})};jQuery.fn.cpac_column_refresh=function(){var e=jQuery(this);e.addClass("loading");e.find(".column-form").prepend('<span class="spinner" />');jQuery.post(ajaxurl,{plugin_id:"cpac",action:"cpac_column_refresh",column:jQuery(this).find("input.column-name").val(),formdata:jQuery(this).parents("form").serialize()},function(t){var n=jQuery("<div>"+t+"</div>").children();e.replaceWith(n);e=n;e.column_bind_toggle();e.column_bind_remove();e.column_bind_clone();e.column_bind_events();e.removeClass("loading").addClass("opened").find(".column-form").show();jQuery(document).trigger("column_change",e)})};jQuery.fn.column_bind_events=function(){var e=jQuery(this),t=e.closest(".columns-container "),n=t.attr("data-type"),r=e.find(".column_type select option:selected").val();e.find(".column_type select").change(function(){var i=jQuery("optgroup",this).children(":selected"),s=i.val(),o=i.text(),u=jQuery(this).next(".msg").hide(),a=t.find('.for-cloning-only .cpac-column[data-type="'+s+'"]');if(a.length)if(a.find(".is-disabled").length){u.html(a.find(".is-disabled").html()).show();jQuery(this).find("option").removeAttr("selected");jQuery(this).find('option[value="'+r+'"]').attr("selected","selected")}else{if(typeof a.attr("data-clone")=="undefined"&&jQuery(".cpac-columns",t).find('[data-type="'+s+'"]').length){u.html(cpac_i18n.clone.replace("%s","<strong>"+o+"</strong>")).show();jQuery(this).find("option").removeAttr("selected");jQuery(this).find('option[value="'+r+'"]').attr("selected","selected");return}var f=a.clone();f.addClass("opened").find(".column-form").show();f.find(".column-meta").replaceWith(e.find(".column-meta"));f.find(".column-form").replaceWith(e.find(".column-form"));f.cpac_update_clone_id(n);e.replaceWith(f);f.cpac_column_refresh()}});e.find(".column_label .input input").bind("keyup change",function(){var e=jQuery(this).val();jQuery(this).closest(".cpac-column").find("td.column_label .inner > a.toggle").text(e)});e.find(".input-width-range").each(function(){var e=jQuery(this).closest("td").find(".input-width"),t=jQuery(this).closest("td").find(".width-decription"),n=jQuery(this).closest(".cpac-column").find(".column-meta span.width"),r=jQuery(e)[0].defaultValue,i=t.attr("title");jQuery(this).slider({range:"min",min:0,max:100,value:r,slide:function(r,s){var o=s.value>0?s.value+"%":i,u=s.value>0?s.value+"%":"";jQuery(e).val(s.value);t.text(o);n.text(u)}})});e.find(".column_image_size label.custom-size").click(function(){var e=jQuery(this).closest(".input");if(jQuery(this).hasClass("image-size-custom")){jQuery(".custom-size-w",e).removeClass("hidden");jQuery(".custom-size-h",e).removeClass("hidden")}else{jQuery(".custom-size-w",e).addClass("hidden");jQuery(".custom-size-h",e).addClass("hidden")}});e.find(".column-form .label label").hover(function(){jQuery(this).find("p.description").show()},function(){jQuery(this).find("p.description").hide()});e.find(".column_type select").val()=="column-meta"&&e.find(".column_field_type select").change(function(){e.cpac_column_refresh()})};jQuery.fn.column_remove=function(){jQuery(this).addClass("deleting").animate({opacity:0,height:0},350,function(e){jQuery(this).remove()})};jQuery.fn.column_clone=function(){var e=jQuery(this).closest(".columns-container"),t=jQuery(this);if(typeof t.attr("data-clone")=="undefined"){var n=cpac_i18n.clone.replace("%s","<strong>"+t.find(".column_label .toggle").text()+"</strong>");t.addClass("opened").find(".column-form").slideDown(150);t.find(".msg").html(n).show();return}var r=jQuery(this).clone();r.cpac_update_clone_id(e.attr("data-type"));jQuery(this).after(r);r.column_bind_toggle();r.column_bind_remove();r.column_bind_clone();r.column_bind_events();cpac_sortable();jQuery(document).trigger("column_add",r);return r};jQuery.fn.cpac_update_clone_id=function(e){var t=jQuery(this),n=t.attr("data-type"),r=jQuery('.columns-container[data-type="'+e+'"]').find(".cpac-columns"),i=jQuery(r).find('*[data-type="'+n+'"]').not(t),s=jQuery.map(i,function(e,t){return jQuery(e).attr("data-clone")?parseInt(jQuery(e).attr("data-clone"),10):0});s.sort();var o=Math.max.apply(null,s)+1;for(var u=0;u<=o;u++)if(-1===jQuery.inArray(u,s))break;if(0===u)return;var a=t.attr("data-clone"),f="";a&&(f="-"+a);t.attr("data-clone",u);t.find("input.clone").val(u);t.find("input.column-name").val(n+"-"+u);var l=t.find("input, select, label");jQuery(l).each(function(e,t){var r=n+"-"+u;jQuery(t).attr("name")&&jQuery(t).attr("name",jQuery(t).attr("name").replace(n+f,r));jQuery(t).attr("for")&&jQuery(t).attr("for",jQuery(t).attr("for").replace(n+f,r));jQuery(t).attr("id")&&jQuery(t).attr("id",jQuery(t).attr("id").replace(n+f,r))})};jQuery(document).bind("column_init column_change column_add",function(e,t){jQuery(t).cpac_bind_column_addon_events();jQuery(t).cpac_bind_container_addon_events()});jQuery.fn.cpac_bind_column_addon_events=function(){var e=jQuery(this),t=e.find("[data-toggle-id] label");t.click(function(){var t=jQuery(this).closest("td.input").data("toggle-id"),n=e.find('[data-indicator-id="'+t+'"]').removeClass("on"),r=jQuery("input",this).val();"on"==r&&n.addClass("on")})};jQuery.fn.cpac_bind_container_addon_events=function(){var e=jQuery(this),t=e.find("[data-indicator-id]");t.unbind("click").click(function(){var t=jQuery(this).data("indicator-id"),n=e.find('[data-toggle-id="'+t+'"] input');if(jQuery(this).hasClass("on")){jQuery(this).removeClass("on").addClass("off");n.filter("[value=off]").prop("checked",!0)}else{jQuery(this).removeClass("off").addClass("on");n.filter("[value=on]").prop("checked",!0)}})};
assets/js/jquery.qtip.min.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * qTip2 - Pretty powerful tooltips - v2.2.1
3
+ * http://qtip2.com
4
+ *
5
+ * Copyright (c) 2014
6
+ * Released under the MIT licenses
7
+ * http://jquery.org/license
8
+ *
9
+ * Date: Mon Sep 8 2014 05:43 EDT-0400
10
+ * Plugins: tips
11
+ * Styles: core css3
12
+ *//*global window: false, jQuery: false, console: false, define: false *//* Cache window, document, undefined */(function(e,t,n){(function(e){"use strict";typeof define=="function"&&define.amd?define(["jquery"],e):jQuery&&!jQuery.fn.qtip&&e(jQuery)})(function(r){"use strict";function I(e,t,n,i){this.id=n;this.target=e;this.tooltip=o;this.elements={target:e};this._id=T+"-"+n;this.timers={img:{}};this.options=t;this.plugins={};this.cache={event:{},target:r(),disabled:s,attr:i,onTooltip:s,lastClass:""};this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=s}function q(e){return e===o||r.type(e)!=="object"}function R(e){return!(r.isFunction(e)||e&&e.attr||e.length||r.type(e)==="object"&&(e.jquery||e.then))}function U(e){var t,n,u,a;if(q(e))return s;q(e.metadata)&&(e.metadata={type:e.metadata});if("content"in e){t=e.content;q(t)||t.jquery||t.done?t=e.content={text:n=R(t)?s:t}:n=t.text;if("ajax"in t){u=t.ajax;a=u&&u.once!==s;delete t.ajax;t.text=function(e,t){var i=n||r(this).attr(t.options.content.attr)||"Loading...",s=r.ajax(r.extend({},u,{context:t})).then(u.success,o,u.error).then(function(e){e&&a&&t.set("content.text",e);return e},function(e,n,r){if(t.destroyed||e.status===0)return;t.set("content.text",n+": "+r)});return a?i:(t.set("content.text",i),s)}}if("title"in t){if(r.isPlainObject(t.title)){t.button=t.title.button;t.title=t.title.text}R(t.title||s)&&(t.title=s)}}"position"in e&&q(e.position)&&(e.position={my:e.position,at:e.position});"show"in e&&q(e.show)&&(e.show=e.show.jquery?{target:e.show}:e.show===i?{ready:i}:{event:e.show});"hide"in e&&q(e.hide)&&(e.hide=e.hide.jquery?{target:e.hide}:{event:e.hide});"style"in e&&q(e.style)&&(e.style={classes:e.style});r.each(x,function(){this.sanitize&&this.sanitize(e)});return e}function z(e,t){var n=0,r,i=e,s=t.split(".");while(i=i[s[n++]])n<s.length&&(r=i);return[r||e,s.pop()]}function W(e,t){var n,r,i;for(n in this.checks)for(r in this.checks[n])if(i=(new RegExp(r,"i")).exec(e)){t.push(i);(n==="builtin"||this.plugins[n])&&this.checks[n][r].apply(this.plugins[n]||this,t)}}function J(e){return k.concat("").join(e?"-"+e+" ":" ")}function K(e,t){if(t>0)return setTimeout(r.proxy(e,this),t);e.call(this)}function Q(e){if(this.tooltip.hasClass(P))return;clearTimeout(this.timers.show);clearTimeout(this.timers.hide);this.timers.show=K.call(this,function(){this.toggle(i,e)},this.options.show.delay)}function G(e){if(this.tooltip.hasClass(P)||this.destroyed)return;var t=r(e.relatedTarget),n=t.closest(L)[0]===this.tooltip[0],i=t[0]===this.options.show.target[0];clearTimeout(this.timers.show);clearTimeout(this.timers.hide);if(this!==t[0]&&this.options.position.target==="mouse"&&n||this.options.hide.fixed&&/mouse(out|leave|move)/.test(e.type)&&(n||i)){try{e.preventDefault();e.stopImmediatePropagation()}catch(o){}return}this.timers.hide=K.call(this,function(){this.toggle(s,e)},this.options.hide.delay,this)}function Y(e){if(this.tooltip.hasClass(P)||!this.options.hide.inactive)return;clearTimeout(this.timers.inactive);this.timers.inactive=K.call(this,function(){this.hide(e)},this.options.hide.inactive)}function Z(e){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(e)}function et(e,n,i){r(t.body).delegate(e,(n.split?n:n.join("."+T+" "))+"."+T,function(){var e=b.api[r.attr(this,C)];e&&!e.disabled&&i.apply(e,arguments)})}function tt(e,n,u){var a,f,l,c,h,p=r(t.body),d=e[0]===t?p:e,v=e.metadata?e.metadata(u.metadata):o,m=u.metadata.type==="html5"&&v?v[u.metadata.name]:o,g=e.data(u.metadata.name||"qtipopts");try{g=typeof g=="string"?r.parseJSON(g):g}catch(y){}c=r.extend(i,{},b.defaults,u,typeof g=="object"?U(g):o,U(m||v));f=c.position;c.id=n;if("boolean"==typeof c.content.text){l=e.attr(c.content.attr);if(c.content.attr===s||!l)return s;c.content.text=l}f.container.length||(f.container=p);f.target===s&&(f.target=d);c.show.target===s&&(c.show.target=d);c.show.solo===i&&(c.show.solo=f.container.closest("body"));c.hide.target===s&&(c.hide.target=d);c.position.viewport===i&&(c.position.viewport=f.container);f.container=f.container.eq(0);f.at=new E(f.at,i);f.my=new E(f.my);if(e.data(T))if(c.overwrite)e.qtip("destroy",!0);else if(c.overwrite===s)return s;e.attr(N,n);c.suppress&&(h=e.attr("title"))&&e.removeAttr("title").attr(B,h).attr("title","");a=new I(e,c,n,!!l);e.data(T,a);return a}function ht(e){return e.charAt(0).toUpperCase()+e.slice(1)}function vt(e,t){var r=t.charAt(0).toUpperCase()+t.slice(1),i=(t+" "+dt.join(r+" ")+r).split(" "),s,o,u=0;if(pt[t])return e.css(pt[t]);while(s=i[u++])if((o=e.css(s))!==n)return pt[t]=s,o}function mt(e,t){return Math.ceil(parseFloat(vt(e,t)))}function Et(e,t){this._ns="tip";this.options=t;this.offset=t.offset;this.size=[t.width,t.height];this.init(this.qtip=e)}var i=!0,s=!1,o=null,u="x",a="y",f="width",l="height",c="top",h="left",p="bottom",d="right",v="center",m="flip",g="flipinvert",y="shift",b,w,E,S,x={},T="qtip",N="data-hasqtip",C="data-qtip-id",k=["ui-widget","ui-tooltip"],L="."+T,A="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),O=T+"-fixed",M=T+"-default",_=T+"-focus",D=T+"-hover",P=T+"-disabled",H="_replacedByqTip",B="oldtitle",j,F={ie:function(){for(var e=4,n=t.createElement("div");(n.innerHTML="<!--[if gt IE "+e+"]><i></i><![endif]-->")&&n.getElementsByTagName("i")[0];e+=1);return e>4?e:NaN}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||s};w=I.prototype;w._when=function(e){return r.when.apply(r,e)};w.render=function(e){if(this.rendered||this.destroyed)return this;var t=this,n=this.options,o=this.cache,u=this.elements,a=n.content.text,f=n.content.title,l=n.content.button,c=n.position,h="."+this._id+" ",p=[],d;r.attr(this.target[0],"aria-describedby",this._id);o.posClass=this._createPosClass((this.position={my:c.my,at:c.at}).my);this.tooltip=u.tooltip=d=r("<div/>",{id:this._id,"class":[T,M,n.style.classes,o.posClass].join(" "),width:n.style.width||"",height:n.style.height||"",tracking:c.target==="mouse"&&c.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":s,"aria-describedby":this._id+"-content","aria-hidden":i}).toggleClass(P,this.disabled).attr(C,this.id).data(T,this).appendTo(c.container).append(u.content=r("<div />",{"class":T+"-content",id:this._id+"-content","aria-atomic":i}));this.rendered=-1;this.positioning=i;if(f){this._createTitle();r.isFunction(f)||p.push(this._updateTitle(f,s))}l&&this._createButton();r.isFunction(a)||p.push(this._updateContent(a,s));this.rendered=i;this._setWidget();r.each(x,function(e){var n;this.initialize==="render"&&(n=this(t))&&(t.plugins[e]=n)});this._unassignEvents();this._assignEvents();this._when(p).then(function(){t._trigger("render");t.positioning=s;!t.hiddenDuringWait&&(n.show.ready||e)&&t.toggle(i,o.event,s);t.hiddenDuringWait=s});b.api[this.id]=this;return this};w.destroy=function(e){function t(){if(this.destroyed)return;this.destroyed=i;var e=this.target,t=e.attr(B),n;this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove();r.each(this.plugins,function(e){this.destroy&&this.destroy()});for(n in this.timers)clearTimeout(this.timers[n]);e.removeData(T).removeAttr(C).removeAttr(N).removeAttr("aria-describedby");this.options.suppress&&t&&e.attr("title",t).removeAttr(B);this._unassignEvents();this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=o;delete b.api[this.id]}if(this.destroyed)return this.target;if(e===i&&this.triggering!=="hide"||!this.rendered)t.call(this);else{this.tooltip.one("tooltiphidden",r.proxy(t,this));!this.triggering&&this.hide()}return this.target};S=w.checks={builtin:{"^id$":function(e,t,n,o){var u=n===i?b.nextid:n,a=T+"-"+u;if(u!==s&&u.length>0&&!r("#"+a).length){this._id=a;if(this.rendered){this.tooltip[0].id=this._id;this.elements.content[0].id=this._id+"-content";this.elements.title[0].id=this._id+"-title"}}else e[t]=o},"^prerender":function(e,t,n){n&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(e,t,n){this._updateContent(n)},"^content.attr$":function(e,t,n,r){this.options.content.text===this.target.attr(r)&&this._updateContent(this.target.attr(n))},"^content.title$":function(e,t,n){if(!n)return this._removeTitle();n&&!this.elements.title&&this._createTitle();this._updateTitle(n)},"^content.button$":function(e,t,n){this._updateButton(n)},"^content.title.(text|button)$":function(e,t,n){this.set("content."+t,n)},"^position.(my|at)$":function(e,t,n){"string"==typeof n&&(this.position[t]=e[t]=new E(n,t==="at"))},"^position.container$":function(e,t,n){this.rendered&&this.tooltip.appendTo(n)},"^show.ready$":function(e,t,n){n&&(!this.rendered&&this.render(i)||this.toggle(i))},"^style.classes$":function(e,t,n,r){this.rendered&&this.tooltip.removeClass(r).addClass(n)},"^style.(width|height)":function(e,t,n){this.rendered&&this.tooltip.css(t,n)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(e,t,n){this.rendered&&this.tooltip.toggleClass(M,!!n)},"^events.(render|show|move|hide|focus|blur)$":function(e,t,n){this.rendered&&this.tooltip[(r.isFunction(n)?"":"un")+"bind"]("tooltip"+t,n)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(!this.rendered)return;var e=this.options.position;this.tooltip.attr("tracking",e.target==="mouse"&&e.adjust.mouse);this._unassignEvents();this._assignEvents()}}};w.get=function(e){if(this.destroyed)return this;var t=z(this.options,e.toLowerCase()),n=t[0][t[1]];return n.precedance?n.string():n};var X=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,V=/^prerender|show\.ready/i;w.set=function(e,t){if(this.destroyed)return this;var n=this.rendered,u=s,a=this.options,f=this.checks,l;if("string"==typeof e){l=e;e={};e[l]=t}else e=r.extend({},e);r.each(e,function(t,i){if(n&&V.test(t)){delete e[t];return}var s=z(a,t.toLowerCase()),o;o=s[0][s[1]];s[0][s[1]]=i&&i.nodeType?r(i):i;u=X.test(t)||u;e[t]=[s[0],s[1],i,o]});U(a);this.positioning=i;r.each(e,r.proxy(W,this));this.positioning=s;this.rendered&&this.tooltip[0].offsetWidth>0&&u&&this.reposition(a.position.target==="mouse"?o:this.cache.event);return this};w._update=function(e,t,n){var u=this,a=this.cache;if(!this.rendered||!e)return s;r.isFunction(e)&&(e=e.call(this.elements.target,a.event,this)||"");if(r.isFunction(e.then)){a.waiting=i;return e.then(function(e){a.waiting=s;return u._update(e,t)},o,function(e){return u._update(e,t)})}if(e===s||!e&&e!=="")return s;e.jquery&&e.length>0?t.empty().append(e.css({display:"block",visibility:"visible"})):t.html(e);return this._waitForContent(t).then(function(e){u.rendered&&u.tooltip[0].offsetWidth>0&&u.reposition(a.event,!e.length)})};w._waitForContent=function(e){var t=this.cache;t.waiting=i;return(r.fn.imagesLoaded?e.imagesLoaded():r.Deferred().resolve([])).done(function(){t.waiting=s}).promise()};w._updateContent=function(e,t){this._update(e,this.elements.content,t)};w._updateTitle=function(e,t){this._update(e,this.elements.title,t)===s&&this._removeTitle(s)};w._createTitle=function(){var e=this.elements,t=this._id+"-title";e.titlebar&&this._removeTitle();e.titlebar=r("<div />",{"class":T+"-titlebar "+(this.options.style.widget?J("header"):"")}).append(e.title=r("<div />",{id:t,"class":T+"-title","aria-atomic":i})).insertBefore(e.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(e){r(this).toggleClass("ui-state-active ui-state-focus",e.type.substr(-4)==="down")}).delegate(".qtip-close","mouseover mouseout",function(e){r(this).toggleClass("ui-state-hover",e.type==="mouseover")});this.options.content.button&&this._createButton()};w._removeTitle=function(e){var t=this.elements;if(t.title){t.titlebar.remove();t.titlebar=t.title=t.button=o;e!==s&&this.reposition()}};w._createPosClass=function(e){return T+"-pos-"+(e||this.options.position.my).abbrev()};w.reposition=function(n,o){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=i;var u=this.cache,a=this.tooltip,f=this.options.position,l=f.target,m=f.my,g=f.at,y=f.viewport,b=f.container,w=f.adjust,E=w.method.split(" "),S=a.outerWidth(s),T=a.outerHeight(s),N=0,C=0,k=a.css("position"),L={left:0,top:0},A=a[0].offsetWidth>0,O=n&&n.type==="scroll",M=r(e),_=b[0].ownerDocument,D=this.mouse,P,H,B,j;if(r.isArray(l)&&l.length===2){g={x:h,y:c};L={left:l[0],top:l[1]}}else if(l==="mouse"){g={x:h,y:c};(!w.mouse||this.options.hide.distance)&&u.origin&&u.origin.pageX?n=u.origin:!n||n&&(n.type==="resize"||n.type==="scroll")?n=u.event:D&&D.pageX&&(n=D);k!=="static"&&(L=b.offset());_.body.offsetWidth!==(e.innerWidth||_.documentElement.clientWidth)&&(H=r(t.body).offset());L={left:n.pageX-L.left+(H&&H.left||0),top:n.pageY-L.top+(H&&H.top||0)};if(w.mouse&&O&&D){L.left-=(D.scrollX||0)-M.scrollLeft();L.top-=(D.scrollY||0)-M.scrollTop()}}else{l==="event"?n&&n.target&&n.type!=="scroll"&&n.type!=="resize"?u.target=r(n.target):n.target||(u.target=this.elements.target):l!=="event"&&(u.target=r(l.jquery?l:this.elements.target));l=u.target;l=r(l).eq(0);if(l.length===0)return this;if(l[0]===t||l[0]===e){N=F.iOS?e.innerWidth:l.width();C=F.iOS?e.innerHeight:l.height();l[0]===e&&(L={top:(y||l).scrollTop(),left:(y||l).scrollLeft()})}else if(x.imagemap&&l.is("area"))P=x.imagemap(this,l,g,x.viewport?E:s);else if(x.svg&&l&&l[0].ownerSVGElement)P=x.svg(this,l,g,x.viewport?E:s);else{N=l.outerWidth(s);C=l.outerHeight(s);L=l.offset()}if(P){N=P.width;C=P.height;H=P.offset;L=P.position}L=this.reposition.offset(l,L,b);if(F.iOS>3.1&&F.iOS<4.1||F.iOS>=4.3&&F.iOS<4.33||!F.iOS&&k==="fixed"){L.left-=M.scrollLeft();L.top-=M.scrollTop()}if(!P||P&&P.adjustable!==s){L.left+=g.x===d?N:g.x===v?N/2:0;L.top+=g.y===p?C:g.y===v?C/2:0}}L.left+=w.x+(m.x===d?-S:m.x===v?-S/2:0);L.top+=w.y+(m.y===p?-T:m.y===v?-T/2:0);if(x.viewport){B=L.adjusted=x.viewport(this,L,f,N,C,S,T);H&&B.left&&(L.left+=H.left);H&&B.top&&(L.top+=H.top);B.my&&(this.position.my=B.my)}else L.adjusted={left:0,top:0};u.posClass!==(j=this._createPosClass(this.position.my))&&a.removeClass(u.posClass).addClass(u.posClass=j);if(!this._trigger("move",[L,y.elem||y],n))return this;delete L.adjusted;if(o===s||!A||isNaN(L.left)||isNaN(L.top)||l==="mouse"||!r.isFunction(f.effect))a.css(L);else if(r.isFunction(f.effect)){f.effect.call(a,this,r.extend({},L));a.queue(function(e){r(this).css({opacity:"",height:""});F.ie&&this.style.removeAttribute("filter");e()})}this.positioning=s;return this};w.reposition.offset=function(e,n,i){function h(e,t){n.left+=t*e.scrollLeft();n.top+=t*e.scrollTop()}if(!i[0])return n;var s=r(e[0].ownerDocument),o=!!F.ie&&t.compatMode!=="CSS1Compat",u=i[0],a,f,l,c;do if((f=r.css(u,"position"))!=="static"){if(f==="fixed"){l=u.getBoundingClientRect();h(s,-1)}else{l=r(u).position();l.left+=parseFloat(r.css(u,"borderLeftWidth"))||0;l.top+=parseFloat(r.css(u,"borderTopWidth"))||0}n.left-=l.left+(parseFloat(r.css(u,"marginLeft"))||0);n.top-=l.top+(parseFloat(r.css(u,"marginTop"))||0);!a&&(c=r.css(u,"overflow"))!=="hidden"&&c!=="visible"&&(a=r(u))}while(u=u.offsetParent);a&&(a[0]!==s[0]||o)&&h(a,1);return n};var $=(E=w.reposition.Corner=function(e,t){e=(""+e).replace(/([A-Z])/," $1").replace(/middle/gi,v).toLowerCase();this.x=(e.match(/left|right/i)||e.match(/center/)||["inherit"])[0].toLowerCase();this.y=(e.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase();this.forceY=!!t;var n=e.charAt(0);this.precedance=n==="t"||n==="b"?a:u}).prototype;$.invert=function(e,t){this[e]=this[e]===h?d:this[e]===d?h:t||this[e]};$.string=function(e){var t=this.x,n=this.y,r=t!==n?t==="center"||n!=="center"&&(this.precedance===a||this.forceY)?[n,t]:[t,n]:[t];return e!==!1?r.join(" "):r};$.abbrev=function(){var e=this.string(!1);return e[0].charAt(0)+(e[1]&&e[1].charAt(0)||"")};$.clone=function(){return new E(this.string(),this.forceY)};w.toggle=function(e,n){var u=this.cache,a=this.options,f=this.tooltip;if(n){if(/over|enter/.test(n.type)&&u.event&&/out|leave/.test(u.event.type)&&a.show.target.add(n.target).length===a.show.target.length&&f.has(n.relatedTarget).length)return this;u.event=r.event.fix(n)}this.waiting&&!e&&(this.hiddenDuringWait=i);if(!this.rendered)return e?this.render(1):this;if(this.destroyed||this.disabled)return this;var l=e?"show":"hide",c=this.options[l],h=this.options[e?"hide":"show"],p=this.options.position,d=this.options.content,v=this.tooltip.css("width"),m=this.tooltip.is(":visible"),g=e||c.target.length===1,y=!n||c.target.length<2||u.target[0]===n.target,b,w,E,S,x;(typeof e).search("boolean|number")&&(e=!m);b=!f.is(":animated")&&m===e&&y;w=b?o:!!this._trigger(l,[90]);if(this.destroyed)return this;w!==s&&e&&this.focus(n);if(!w||b)return this;r.attr(f[0],"aria-hidden",!e);if(e){this.mouse&&(u.origin=r.event.fix(this.mouse));r.isFunction(d.text)&&this._updateContent(d.text,s);r.isFunction(d.title)&&this._updateTitle(d.title,s);if(!j&&p.target==="mouse"&&p.adjust.mouse){r(t).bind("mousemove."+T,this._storeMouse);j=i}v||f.css("width",f.outerWidth(s));this.reposition(n,arguments[2]);v||f.css("width","");!c.solo||(typeof c.solo=="string"?r(c.solo):r(L,c.solo)).not(f).not(c.target).qtip("hide",r.Event("tooltipsolo"))}else{clearTimeout(this.timers.show);delete u.origin;if(j&&!r(L+'[tracking="true"]:visible',c.solo).not(f).length){r(t).unbind("mousemove."+T);j=s}this.blur(n)}x=r.proxy(function(){if(e){F.ie&&f[0].style.removeAttribute("filter");f.css("overflow","");"string"==typeof c.autofocus&&r(this.options.show.autofocus,f).focus();this.options.show.target.trigger("qtip-"+this.id+"-inactive")}else f.css({display:"",visibility:"",opacity:"",left:"",top:""});this._trigger(e?"visible":"hidden")},this);if(c.effect===s||g===s){f[l]();x()}else if(r.isFunction(c.effect)){f.stop(1,1);c.effect.call(f,this);f.queue("fx",function(e){x();e()})}else f.fadeTo(90,e?1:0,x);e&&c.target.trigger("qtip-"+this.id+"-inactive");return this};w.show=function(e){return this.toggle(i,e)};w.hide=function(e){return this.toggle(s,e)};w.focus=function(e){if(!this.rendered||this.destroyed)return this;var t=r(L),n=this.tooltip,i=parseInt(n[0].style.zIndex,10),s=b.zindex+t.length,o;if(!n.hasClass(_)&&this._trigger("focus",[s],e)){if(i!==s){t.each(function(){this.style.zIndex>i&&(this.style.zIndex=this.style.zIndex-1)});t.filter("."+_).qtip("blur",e)}n.addClass(_)[0].style.zIndex=s}return this};w.blur=function(e){if(!this.rendered||this.destroyed)return this;this.tooltip.removeClass(_);this._trigger("blur",[this.tooltip.css("zIndex")],e);return this};w.disable=function(e){if(this.destroyed)return this;e==="toggle"?e=this.rendered?!this.tooltip.hasClass(P):!this.disabled:"boolean"!=typeof e&&(e=i);this.rendered&&this.tooltip.toggleClass(P,e).attr("aria-disabled",e);this.disabled=!!e;return this};w.enable=function(){return this.disable(s)};w._createButton=function(){var e=this,t=this.elements,n=t.tooltip,i=this.options.content.button,o=typeof i=="string",u=o?i:"Close tooltip";t.button&&t.button.remove();i.jquery?t.button=i:t.button=r("<a />",{"class":"qtip-close "+(this.options.style.widget?"":T+"-icon"),title:u,"aria-label":u}).prepend(r("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"}));t.button.appendTo(t.titlebar||n).attr("role","button").click(function(t){n.hasClass(P)||e.hide(t);return s})};w._updateButton=function(e){if(!this.rendered)return s;var t=this.elements.button;e?this._createButton():t.remove()};w._setWidget=function(){var e=this.options.style.widget,t=this.elements,n=t.tooltip,r=n.hasClass(P);n.removeClass(P);P=e?"ui-state-disabled":"qtip-disabled";n.toggleClass(P,r);n.toggleClass("ui-helper-reset "+J(),e).toggleClass(M,this.options.style.def&&!e);t.content&&t.content.toggleClass(J("content"),e);t.titlebar&&t.titlebar.toggleClass(J("header"),e);t.button&&t.button.toggleClass(T+"-icon",!e)};w._storeMouse=function(e){(this.mouse=r.event.fix(e)).type="mousemove";return this};w._bind=function(e,t,n,i,s){if(!e||!n||!t.length)return;var o="."+this._id+(i?"-"+i:"");r(e).bind((t.split?t:t.join(o+" "))+o,r.proxy(n,s||this));return this};w._unbind=function(e,t){e&&r(e).unbind("."+this._id+(t?"-"+t:""));return this};w._trigger=function(e,t,n){var i=r.Event("tooltip"+e);i.originalEvent=n&&r.extend({},n)||this.cache.event||o;this.triggering=e;this.tooltip.trigger(i,[this].concat(t||[]));this.triggering=s;return!i.isDefaultPrevented()};w._bindEvents=function(e,t,n,i,s,o){var u=n.filter(i).add(i.filter(n)),a=[];if(u.length){r.each(t,function(t,n){var i=r.inArray(n,e);i>-1&&a.push(e.splice(i,1)[0])});if(a.length){this._bind(u,a,function(e){var t=this.rendered?this.tooltip[0].offsetWidth>0:!1;(t?o:s).call(this,e)});n=n.not(u);i=i.not(u)}}this._bind(n,e,s);this._bind(i,t,o)};w._assignInitialEvents=function(e){function f(e){if(this.disabled||this.destroyed)return s;this.cache.event=e&&r.event.fix(e);this.cache.target=e&&r(e.target);clearTimeout(this.timers.show);this.timers.show=K.call(this,function(){this.render(typeof e=="object"||t.show.ready)},t.prerender?0:t.show.delay)}var t=this.options,n=t.show.target,o=t.hide.target,u=t.show.event?r.trim(""+t.show.event).split(" "):[],a=t.hide.event?r.trim(""+t.hide.event).split(" "):[];this._bind(this.elements.target,["remove","removeqtip"],function(e){this.destroy(!0)},"destroy");/mouse(over|enter)/i.test(t.show.event)&&!/mouse(out|leave)/i.test(t.hide.event)&&a.push("mouseleave");this._bind(n,"mousemove",function(e){this._storeMouse(e);this.cache.onTarget=i});this._bindEvents(u,a,n,o,f,function(){if(!this.timers)return s;clearTimeout(this.timers.show)});(t.show.ready||t.prerender)&&f.call(this,e)};w._assignEvents=function(){var n=this,i=this.options,o=i.position,u=this.tooltip,a=i.show.target,f=i.hide.target,l=o.container,c=o.viewport,h=r(t),p=r(t.body),d=r(e),v=i.show.event?r.trim(""+i.show.event).split(" "):[],m=i.hide.event?r.trim(""+i.hide.event).split(" "):[];r.each(i.events,function(e,t){n._bind(u,e==="toggle"?["tooltipshow","tooltiphide"]:["tooltip"+e],t,null,u)});/mouse(out|leave)/i.test(i.hide.event)&&i.hide.leave==="window"&&this._bind(h,["mouseout","blur"],function(e){!/select|option/.test(e.target.nodeName)&&!e.relatedTarget&&this.hide(e)});i.hide.fixed?f=f.add(u.addClass(O)):/mouse(over|enter)/i.test(i.show.event)&&this._bind(f,"mouseleave",function(){clearTimeout(this.timers.show)});(""+i.hide.event).indexOf("unfocus")>-1&&this._bind(l.closest("html"),["mousedown","touchstart"],function(e){var t=r(e.target),n=this.rendered&&!this.tooltip.hasClass(P)&&this.tooltip[0].offsetWidth>0,i=t.parents(L).filter(this.tooltip[0]).length>0;t[0]!==this.target[0]&&t[0]!==this.tooltip[0]&&!i&&!this.target.has(t[0]).length&&n&&this.hide(e)});if("number"==typeof i.hide.inactive){this._bind(a,"qtip-"+this.id+"-inactive",Y,"inactive");this._bind(f.add(u),b.inactiveEvents,Y)}this._bindEvents(v,m,a,f,Q,G);this._bind(a.add(u),"mousemove",function(e){if("number"==typeof i.hide.distance){var t=this.cache.origin||{},n=this.options.hide.distance,r=Math.abs;(r(e.pageX-t.pageX)>=n||r(e.pageY-t.pageY)>=n)&&this.hide(e)}this._storeMouse(e)});if(o.target==="mouse"&&o.adjust.mouse){i.hide.event&&this._bind(a,["mouseenter","mouseleave"],function(e){if(!this.cache)return s;this.cache.onTarget=e.type==="mouseenter"});this._bind(h,"mousemove",function(e){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(P)&&this.tooltip[0].offsetWidth>0&&this.reposition(e)})}(o.adjust.resize||c.length)&&this._bind(r.event.special.resize?c:d,"resize",Z);o.adjust.scroll&&this._bind(d.add(o.container),"scroll",Z)};w._unassignEvents=function(){var n=this.options,i=n.show.target,s=n.hide.target,o=r.grep([this.elements.target[0],this.rendered&&this.tooltip[0],n.position.container[0],n.position.viewport[0],n.position.container.closest("html")[0],e,t],function(e){return typeof e=="object"});i&&i.toArray&&(o=o.concat(i.toArray()));s&&s.toArray&&(o=o.concat(s.toArray()));this._unbind(o)._unbind(o,"destroy")._unbind(o,"inactive")};r(function(){et(L,["mouseenter","mouseleave"],function(e){var t=e.type==="mouseenter",n=r(e.currentTarget),i=r(e.relatedTarget||e.target),s=this.options;if(t){this.focus(e);n.hasClass(O)&&!n.hasClass(P)&&clearTimeout(this.timers.hide)}else s.position.target==="mouse"&&s.position.adjust.mouse&&s.hide.event&&s.show.target&&!i.closest(s.show.target[0]).length&&this.hide(e);n.toggleClass(D,t)});et("["+C+"]",A,Y)});b=r.fn.qtip=function(e,t,u){var a=(""+e).toLowerCase(),f=o,l=r.makeArray(arguments).slice(1),c=l[l.length-1],h=this[0]?r.data(this[0],T):o;if(!arguments.length&&h||a==="api")return h;if("string"==typeof e){this.each(function(){var e=r.data(this,T);if(!e)return i;c&&c.timeStamp&&(e.cache.event=c);if(!t||a!=="option"&&a!=="options")e[a]&&e[a].apply(e,l);else{if(u===n&&!r.isPlainObject(t)){f=e.get(t);return s}e.set(t,u)}});return f!==o?f:this}if("object"==typeof e||!arguments.length){h=U(r.extend(i,{},e));return this.each(function(e){var t,n;n=r.isArray(h.id)?h.id[e]:h.id;n=!n||n===s||n.length<1||b.api[n]?b.nextid++:n;t=tt(r(this),n,h);if(t===s)return i;b.api[n]=t;r.each(x,function(){this.initialize==="initialize"&&this(t)});t._assignInitialEvents(c)})}};r.qtip=I;b.api={};r.each({attr:function(e,t){if(this.length){var n=this[0],i="title",s=r.data(n,"qtip");if(e===i&&s&&"object"==typeof s&&s.options.suppress){if(arguments.length<2)return r.attr(n,B);s&&s.options.content.attr===i&&s.cache.attr&&s.set("content.text",t);return this.attr(B,t)}}return r.fn["attr"+H].apply(this,arguments)},clone:function(e){var t=r([]),n="title",i=r.fn["clone"+H].apply(this,arguments);e||i.filter("["+B+"]").attr("title",function(){return r.attr(this,B)}).removeAttr(B);return i}},function(e,t){if(!t||r.fn[e+H])return i;var n=r.fn[e+H]=r.fn[e];r.fn[e]=function(){return t.apply(this,arguments)||n.apply(this,arguments)}});if(!r.ui){r["cleanData"+H]=r.cleanData;r.cleanData=function(e){for(var t=0,n;(n=r(e[t])).length;t++)if(n.attr(N))try{n.triggerHandler("removeqtip")}catch(i){}r["cleanData"+H].apply(this,arguments)}}b.version="2.2.1";b.nextid=0;b.inactiveEvents=A;b.zindex=15e3;b.defaults={prerender:s,id:s,overwrite:i,suppress:i,content:{text:i,attr:"title",title:s,button:s},position:{my:"top left",at:"bottom right",target:s,container:s,viewport:s,adjust:{x:0,y:0,mouse:i,scroll:i,resize:i,method:"flipinvert flipinvert"},effect:function(e,t,n){r(this).animate(t,{duration:200,queue:s})}},show:{target:s,event:"mouseenter",effect:i,delay:90,solo:s,ready:s,autofocus:s},hide:{target:s,event:"mouseleave",effect:i,delay:0,fixed:s,inactive:s,leave:"window",distance:s},style:{classes:"",widget:s,width:s,height:s,def:i},events:{render:o,move:o,show:o,hide:o,toggle:o,visible:o,hidden:o,focus:o,blur:o}};var nt,rt=".qtip-tip",it="margin",st="border",ot="color",ut="background-color",at="transparent",ft=" !important",lt=!!t.createElement("canvas").getContext,ct=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,pt={},dt=["Webkit","O","Moz","ms"];if(!lt)var gt=function(e,t,n){return"<qtipvml:"+e+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(t||"")+' style="behavior: url(#default#VML); '+(n||"")+'" />'};else var yt=e.devicePixelRatio||1,bt=function(){var e=t.createElement("canvas").getContext("2d");return e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||1}(),wt=yt/bt;r.extend(Et.prototype,{init:function(e){var t,n;n=this.element=e.elements.tip=r("<div />",{"class":T+"-tip"}).prependTo(e.tooltip);if(lt){t=r("<canvas />").appendTo(this.element)[0].getContext("2d");t.lineJoin="miter";t.miterLimit=1e5;t.save()}else{t=gt("shape",'coordorigin="0,0"',"position:absolute;");this.element.html(t+t);e._bind(r("*",n).add(n),["click","mousedown"],function(e){e.stopPropagation()},this._ns)}e._bind(e.tooltip,"tooltipmove",this.reposition,this._ns,this);this.create()},_swapDimensions:function(){this.size[0]=this.options.height;this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width;this.size[1]=this.options.height},_useTitle:function(e){var t=this.qtip.elements.titlebar;return t&&(e.y===c||e.y===v&&this.element.position().top+this.size[1]/2+this.options.offset<t.outerHeight(i))},_parseCorner:function(e){var t=this.qtip.options.position.my;if(e===s||t===s)e=s;else if(e===i)e=new E(t.string());else if(!e.string){e=new E(e);e.fixed=i}return e},_parseWidth:function(e,t,n){var r=this.qtip.elements,i=st+ht(t)+"Width";return(n?mt(n,i):mt(r.content,i)||mt(this._useTitle(e)&&r.titlebar||r.content,i)||mt(r.tooltip,i))||0},_parseRadius:function(e){var t=this.qtip.elements,n=st+ht(e.y)+ht(e.x)+"Radius";return F.ie<9?0:mt(this._useTitle(e)&&t.titlebar||t.content,n)||mt(t.tooltip,n)||0},_invalidColour:function(e,t,n){var r=e.css(t);return!r||n&&r===e.css(n)||ct.test(r)?s:r},_parseColours:function(e){var t=this.qtip.elements,n=this.element.css("cssText",""),i=st+ht(e[e.precedance])+ht(ot),s=this._useTitle(e)&&t.titlebar||t.content,o=this._invalidColour,u=[];u[0]=o(n,ut)||o(s,ut)||o(t.content,ut)||o(t.tooltip,ut)||n.css(ut);u[1]=o(n,i,ot)||o(s,i,ot)||o(t.content,i,ot)||o(t.tooltip,i,ot)||t.tooltip.css(i);r("*",n).add(n).css("cssText",ut+":"+at+ft+";"+st+":0"+ft+";");return u},_calculateSize:function(e){var t=e.precedance===a,n=this.options.width,r=this.options.height,i=e.abbrev()==="c",s=(t?n:r)*(i?.5:1),o=Math.pow,u=Math.round,f,l,c,h=Math.sqrt(o(s,2)+o(r,2)),p=[this.border/s*h,this.border/r*h];p[2]=Math.sqrt(o(p[0],2)-o(this.border,2));p[3]=Math.sqrt(o(p[1],2)-o(this.border,2));f=h+p[2]+p[3]+(i?0:p[0]);l=f/h;c=[u(l*n),u(l*r)];return t?c:c.reverse()},_calculateTip:function(e,t,n){n=n||1;t=t||this.size;var r=t[0]*n,i=t[1]*n,s=Math.ceil(r/2),o=Math.ceil(i/2),u={br:[0,0,r,i,r,0],bl:[0,0,r,0,0,i],tr:[0,i,r,0,r,i],tl:[0,0,0,i,r,i],tc:[0,i,s,0,r,i],bc:[0,0,r,0,s,i],rc:[0,0,r,o,0,i],lc:[r,0,r,i,0,o]};u.lt=u.br;u.rt=u.bl;u.lb=u.tr;u.rb=u.tl;return u[e.abbrev()]},_drawCoords:function(e,t){e.beginPath();e.moveTo(t[0],t[1]);e.lineTo(t[2],t[3]);e.lineTo(t[4],t[5]);e.closePath()},create:function(){var e=this.corner=(lt||F.ie)&&this._parseCorner(this.options.corner);if(this.enabled=!!this.corner&&this.corner.abbrev()!=="c"){this.qtip.cache.corner=e.clone();this.update()}this.element.toggle(this.enabled);return this.corner},update:function(t,n){if(!this.enabled)return this;var o=this.qtip.elements,m=this.element,g=m.children(),y=this.options,b=this.size,w=y.mimic,S=Math.round,x,T,N,C,k,L,A,O,M;t||(t=this.qtip.cache.corner||this.corner);if(w===s)w=t;else{w=new E(w);w.precedance=t.precedance;w.x==="inherit"?w.x=t.x:w.y==="inherit"?w.y=t.y:w.x===w.y&&(w[t.precedance]=t[t.precedance])}T=w.precedance;t.precedance===u?this._swapDimensions():this._resetDimensions();x=this.color=this._parseColours(t);if(x[1]!==at){O=this.border=this._parseWidth(t,t[t.precedance]);y.border&&O<1&&!ct.test(x[1])&&(x[0]=x[1]);this.border=O=y.border!==i?y.border:O}else this.border=O=0;A=this.size=this._calculateSize(t);m.css({width:A[0],height:A[1],lineHeight:A[1]+"px"});t.precedance===a?L=[S(w.x===h?O:w.x===d?A[0]-b[0]-O:(A[0]-b[0])/2),S(w.y===c?A[1]-b[1]:0)]:L=[S(w.x===h?A[0]-b[0]:0),S(w.y===c?O:w.y===p?A[1]-b[1]-O:(A[1]-b[1])/2)];if(lt){N=g[0].getContext("2d");N.restore();N.save();N.clearRect(0,0,6e3,6e3);C=this._calculateTip(w,b,wt);k=this._calculateTip(w,this.size,wt);g.attr(f,A[0]*wt).attr(l,A[1]*wt);g.css(f,A[0]).css(l,A[1]);this._drawCoords(N,k);N.fillStyle=x[1];N.fill();N.translate(L[0]*wt,L[1]*wt);this._drawCoords(N,C);N.fillStyle=x[0];N.fill()}else{C=this._calculateTip(w);C="m"+C[0]+","+C[1]+" l"+C[2]+","+C[3]+" "+C[4]+","+C[5]+" xe";L[2]=O&&/^(r|b)/i.test(t.string())?F.ie===8?2:1:0;g.css({coordsize:A[0]+O+" "+(A[1]+O),antialias:""+(w.string().indexOf(v)>-1),left:L[0]-L[2]*Number(T===u),top:L[1]-L[2]*Number(T===a),width:A[0]+O,height:A[1]+O}).each(function(e){var t=r(this);t[t.prop?"prop":"attr"]({coordsize:A[0]+O+" "+(A[1]+O),path:C,fillcolor:x[0],filled:!!e,stroked:!e}).toggle(!!O||!!e);!e&&t.html(gt("stroke",'weight="'+O*2+'px" color="'+x[1]+'" miterlimit="1000" joinstyle="miter"'))})}e.opera&&setTimeout(function(){o.tip.css({display:"inline-block",visibility:"visible"})},1);n!==s&&this.calculate(t,A)},calculate:function(e,t){if(!this.enabled)return s;var n=this,i=this.qtip.elements,o=this.element,f=this.options.offset,l=i.tooltip.hasClass("ui-widget"),p={},d,m;e=e||this.corner;d=e.precedance;t=t||this._calculateSize(e);m=[e.x,e.y];d===u&&m.reverse();r.each(m,function(r,s){var o,u,l;if(s===v){o=d===a?h:c;p[o]="50%";p[it+"-"+o]=-Math.round(t[d===a?0:1]/2)+f}else{o=n._parseWidth
13
+ (e,s,i.tooltip);u=n._parseWidth(e,s,i.content);l=n._parseRadius(e);p[s]=Math.max(-n.border,r?u:f+(l>o?l:-o))}});p[e[d]]-=t[d===u?0:1];o.css({margin:"",top:"",bottom:"",left:"",right:""}).css(p);return p},reposition:function(e,t,r,o){function N(e,t,n,r,i){e===y&&l.precedance===t&&m[r]&&l[n]!==v?l.precedance=l.precedance===u?a:u:e!==y&&m[r]&&(l[t]=l[t]===v?m[r]>0?r:i:l[t]===r?i:r)}function C(e,t,i){if(l[e]===v)x[it+"-"+t]=E[e]=S[it+"-"+t]-m[t];else{T=S[i]!==n?[m[t],-S[t]]:[-m[t],S[t]];if((E[e]=Math.max(T[0],T[1]))>T[0]){r[t]-=m[t];E[t]=s}x[S[i]!==n?i:t]=E[e]}}if(!this.enabled)return;var f=t.cache,l=this.corner.clone(),m=r.adjusted,g=t.options.position.adjust.method.split(" "),b=g[0],w=g[1]||g[0],E={left:s,top:s,x:0,y:0},S,x={},T;if(this.corner.fixed!==i){N(b,u,a,h,d);N(w,a,u,c,p);(l.string()!==f.corner.string()||f.cornerTop!==m.top||f.cornerLeft!==m.left)&&this.update(l,s)}S=this.calculate(l);S.right!==n&&(S.left=-S.right);S.bottom!==n&&(S.top=-S.bottom);S.user=this.offset;(E.left=b===y&&!!m.left)&&C(u,h,d);(E.top=w===y&&!!m.top)&&C(a,c,p);this.element.css(x).toggle(!(E.x&&E.y||l.x===v&&E.y||l.y===v&&E.x));r.left-=S.left.charAt?S.user:b!==y||E.top||!E.left&&!E.top?S.left+this.border:0;r.top-=S.top.charAt?S.user:w!==y||E.left||!E.left&&!E.top?S.top+this.border:0;f.cornerLeft=m.left;f.cornerTop=m.top;f.corner=l.clone()},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns);this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}});nt=x.tip=function(e){return new Et(e,e.options.style.tip)};nt.initialize="render";nt.sanitize=function(e){if(e.style&&"tip"in e.style){var t=e.style.tip;typeof t!="object"&&(t=e.style.tip={corner:t});/string|boolean/i.test(typeof t.corner)||(t.corner=i)}};S.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create();this.qtip.reposition()},"^style.tip.(height|width)$":function(e){this.size=[e.width,e.height];this.update();this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}};r.extend(i,b.defaults,{style:{tip:{corner:i,mimic:s,width:6,height:6,border:i,offset:0}}})})})(window,document);
assets/js/jquery.qtip.min.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /* qTip2 v2.2.1 | Plugins: tips | Styles: core css3 | qtip2.com | Licensed MIT | Mon Sep 08 2014 17:43:49 */!function(e,t,n){!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):jQuery&&!jQuery.fn.qtip&&e(jQuery)}(function(r){"use strict";function i(e,t,n,i){this.id=n,this.target=e,this.tooltip=_,this.elements={target:e},this._id=W+"-"+n,this.timers={img:{}},this.options=t,this.plugins={},this.cache={event:{},target:r(),disabled:M,attr:i,onTooltip:M,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=M}function s(e){return e===_||"object"!==r.type(e)}function o(e){return!(r.isFunction(e)||e&&e.attr||e.length||"object"===r.type(e)&&(e.jquery||e.then))}function u(e){var t,n,i,u;return s(e)?M:(s(e.metadata)&&(e.metadata={type:e.metadata}),"content"in e&&(t=e.content,s(t)||t.jquery||t.done?t=e.content={text:n=o(t)?M:t}:n=t.text,"ajax"in t&&(i=t.ajax,u=i&&i.once!==M,delete t.ajax,t.text=function(e,t){var s=n||r(this).attr(t.options.content.attr)||"Loading...",o=r.ajax(r.extend({},i,{context:t})).then(i.success,_,i.error).then(function(e){return e&&u&&t.set("content.text",e),e},function(e,n,r){t.destroyed||0===e.status||t.set("content.text",n+": "+r)});return u?s:(t.set("content.text",s),o)}),"title"in t&&(r.isPlainObject(t.title)&&(t.button=t.title.button,t.title=t.title.text),o(t.title||M)&&(t.title=M))),"position"in e&&s(e.position)&&(e.position={my:e.position,at:e.position}),"show"in e&&s(e.show)&&(e.show=e.show.jquery?{target:e.show}:e.show===O?{ready:O}:{event:e.show}),"hide"in e&&s(e.hide)&&(e.hide=e.hide.jquery?{target:e.hide}:{event:e.hide}),"style"in e&&s(e.style)&&(e.style={classes:e.style}),r.each(z,function(){this.sanitize&&this.sanitize(e)}),e)}function f(e,t){for(var n,r=0,i=e,s=t.split(".");i=i[s[r++]];)r<s.length&&(n=i);return[n||e,s.pop()]}function l(e,t){var n,r,i;for(n in this.checks)for(r in this.checks[n])(i=(new RegExp(r,"i")).exec(e))&&(t.push(i),("builtin"===n||this.plugins[n])&&this.checks[n][r].apply(this.plugins[n]||this,t))}function h(e){return $.concat("").join(e?"-"+e+" ":" ")}function p(e,t){return t>0?setTimeout(r.proxy(e,this),t):void e.call(this)}function d(e){this.tooltip.hasClass(et)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=p.call(this,function(){this.toggle(O,e)},this.options.show.delay))}function v(e){if(!this.tooltip.hasClass(et)&&!this.destroyed){var t=r(e.relatedTarget),n=t.closest(J)[0]===this.tooltip[0],i=t[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==t[0]&&"mouse"===this.options.position.target&&n||this.options.hide.fixed&&/mouse(out|leave|move)/.test(e.type)&&(n||i))try{e.preventDefault(),e.stopImmediatePropagation()}catch(s){}else this.timers.hide=p.call(this,function(){this.toggle(M,e)},this.options.hide.delay,this)}}function m(e){!this.tooltip.hasClass(et)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=p.call(this,function(){this.hide(e)},this.options.hide.inactive))}function g(e){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(e)}function y(e,n,i){r(t.body).delegate(e,(n.split?n:n.join("."+W+" "))+"."+W,function(){var e=N.api[r.attr(this,V)];e&&!e.disabled&&i.apply(e,arguments)})}function w(e,n,s){var o,a,f,l,c,h=r(t.body),p=e[0]===t?h:e,d=e.metadata?e.metadata(s.metadata):_,v="html5"===s.metadata.type&&d?d[s.metadata.name]:_,m=e.data(s.metadata.name||"qtipopts");try{m="string"==typeof m?r.parseJSON(m):m}catch(g){}if(l=r.extend(O,{},N.defaults,s,"object"==typeof m?u(m):_,u(v||d)),a=l.position,l.id=n,"boolean"==typeof l.content.text){if(f=e.attr(l.content.attr),l.content.attr===M||!f)return M;l.content.text=f}if(a.container.length||(a.container=h),a.target===M&&(a.target=p),l.show.target===M&&(l.show.target=p),l.show.solo===O&&(l.show.solo=a.container.closest("body")),l.hide.target===M&&(l.hide.target=p),l.position.viewport===O&&(l.position.viewport=a.container),a.container=a.container.eq(0),a.at=new k(a.at,O),a.my=new k(a.my),e.data(W))if(l.overwrite)e.qtip("destroy",!0);else if(l.overwrite===M)return M;return e.attr(X,n),l.suppress&&(c=e.attr("title"))&&e.removeAttr("title").attr(nt,c).attr("title",""),o=new i(e,l,n,!!f),e.data(W,o),o}function E(e){return e.charAt(0).toUpperCase()+e.slice(1)}function S(e,t){var r,i,s=t.charAt(0).toUpperCase()+t.slice(1),o=(t+" "+gt.join(s+" ")+s).split(" "),u=0;if(mt[t])return e.css(mt[t]);for(;r=o[u++];)if((i=e.css(r))!==n)return mt[t]=r,i}function x(e,t){return Math.ceil(parseFloat(S(e,t)))}function T(e,t){this._ns="tip",this.options=t,this.offset=t.offset,this.size=[t.width,t.height],this.init(this.qtip=e)}var N,C,k,L,A,O=!0,M=!1,_=null,D="x",P="y",H="width",B="height",j="top",F="left",I="bottom",q="right",R="center",U="shift",z={},W="qtip",X="data-hasqtip",V="data-qtip-id",$=["ui-widget","ui-tooltip"],J="."+W,K="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),Q=W+"-fixed",G=W+"-default",Y=W+"-focus",Z=W+"-hover",et=W+"-disabled",tt="_replacedByqTip",nt="oldtitle",rt={ie:function(){for(var e=4,n=t.createElement("div");(n.innerHTML="<!--[if gt IE "+e+"]><i></i><![endif]-->")&&n.getElementsByTagName("i")[0];e+=1);return e>4?e:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||M};C=i.prototype,C._when=function(e){return r.when.apply(r,e)},C.render=function(e){if(this.rendered||this.destroyed)return this;var t,n=this,i=this.options,s=this.cache,o=this.elements,u=i.content.text,a=i.content.title,f=i.content.button,l=i.position,c=("."+this._id+" ",[]);return r.attr(this.target[0],"aria-describedby",this._id),s.posClass=this._createPosClass((this.position={my:l.my,at:l.at}).my),this.tooltip=o.tooltip=t=r("<div/>",{id:this._id,"class":[W,G,i.style.classes,s.posClass].join(" "),width:i.style.width||"",height:i.style.height||"",tracking:"mouse"===l.target&&l.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":M,"aria-describedby":this._id+"-content","aria-hidden":O}).toggleClass(et,this.disabled).attr(V,this.id).data(W,this).appendTo(l.container).append(o.content=r("<div />",{"class":W+"-content",id:this._id+"-content","aria-atomic":O})),this.rendered=-1,this.positioning=O,a&&(this._createTitle(),r.isFunction(a)||c.push(this._updateTitle(a,M))),f&&this._createButton(),r.isFunction(u)||c.push(this._updateContent(u,M)),this.rendered=O,this._setWidget(),r.each(z,function(e){var t;"render"===this.initialize&&(t=this(n))&&(n.plugins[e]=t)}),this._unassignEvents(),this._assignEvents(),this._when(c).then(function(){n._trigger("render"),n.positioning=M,n.hiddenDuringWait||!i.show.ready&&!e||n.toggle(O,s.event,M),n.hiddenDuringWait=M}),N.api[this.id]=this,this},C.destroy=function(e){function t(){if(!this.destroyed){this.destroyed=O;var e,t=this.target,n=t.attr(nt);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),r.each(this.plugins,function(){this.destroy&&this.destroy()});for(e in this.timers)clearTimeout(this.timers[e]);t.removeData(W).removeAttr(V).removeAttr(X).removeAttr("aria-describedby"),this.options.suppress&&n&&t.attr("title",n).removeAttr(nt),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=_,delete N.api[this.id]}}return this.destroyed?this.target:(e===O&&"hide"!==this.triggering||!this.rendered?t.call(this):(this.tooltip.one("tooltiphidden",r.proxy(t,this)),!this.triggering&&this.hide()),this.target)},L=C.checks={builtin:{"^id$":function(e,t,n,i){var s=n===O?N.nextid:n,o=W+"-"+s;s!==M&&s.length>0&&!r("#"+o).length?(this._id=o,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):e[t]=i},"^prerender":function(e,t,n){n&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(e,t,n){this._updateContent(n)},"^content.attr$":function(e,t,n,r){this.options.content.text===this.target.attr(r)&&this._updateContent(this.target.attr(n))},"^content.title$":function(e,t,n){return n?(n&&!this.elements.title&&this._createTitle(),void this._updateTitle(n)):this._removeTitle()},"^content.button$":function(e,t,n){this._updateButton(n)},"^content.title.(text|button)$":function(e,t,n){this.set("content."+t,n)},"^position.(my|at)$":function(e,t,n){"string"==typeof n&&(this.position[t]=e[t]=new k(n,"at"===t))},"^position.container$":function(e,t,n){this.rendered&&this.tooltip.appendTo(n)},"^show.ready$":function(e,t,n){n&&(!this.rendered&&this.render(O)||this.toggle(O))},"^style.classes$":function(e,t,n,r){this.rendered&&this.tooltip.removeClass(r).addClass(n)},"^style.(width|height)":function(e,t,n){this.rendered&&this.tooltip.css(t,n)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(e,t,n){this.rendered&&this.tooltip.toggleClass(G,!!n)},"^events.(render|show|move|hide|focus|blur)$":function(e,t,n){this.rendered&&this.tooltip[(r.isFunction(n)?"":"un")+"bind"]("tooltip"+t,n)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var e=this.options.position;this.tooltip.attr("tracking","mouse"===e.target&&e.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},C.get=function(e){if(this.destroyed)return this;var t=f(this.options,e.toLowerCase()),n=t[0][t[1]];return n.precedance?n.string():n};var it=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,st=/^prerender|show\.ready/i;C.set=function(e,t){if(this.destroyed)return this;var n,i=this.rendered,s=M,o=this.options;this.checks;return"string"==typeof e?(n=e,e={},e[n]=t):e=r.extend({},e),r.each(e,function(t,n){if(i&&st.test(t))return void delete e[t];var u,l=f(o,t.toLowerCase());u=l[0][l[1]],l[0][l[1]]=n&&n.nodeType?r(n):n,s=it.test(t)||s,e[t]=[l[0],l[1],n,u]}),u(o),this.positioning=O,r.each(e,r.proxy(l,this)),this.positioning=M,this.rendered&&this.tooltip[0].offsetWidth>0&&s&&this.reposition("mouse"===o.position.target?_:this.cache.event),this},C._update=function(e,t){var n=this,i=this.cache;return this.rendered&&e?(r.isFunction(e)&&(e=e.call(this.elements.target,i.event,this)||""),r.isFunction(e.then)?(i.waiting=O,e.then(function(e){return i.waiting=M,n._update(e,t)},_,function(e){return n._update(e,t)})):e===M||!e&&""!==e?M:(e.jquery&&e.length>0?t.empty().append(e.css({display:"block",visibility:"visible"})):t.html(e),this._waitForContent(t).then(function(e){n.rendered&&n.tooltip[0].offsetWidth>0&&n.reposition(i.event,!e.length)}))):M},C._waitForContent=function(e){var t=this.cache;return t.waiting=O,(r.fn.imagesLoaded?e.imagesLoaded():r.Deferred().resolve([])).done(function(){t.waiting=M}).promise()},C._updateContent=function(e,t){this._update(e,this.elements.content,t)},C._updateTitle=function(e,t){this._update(e,this.elements.title,t)===M&&this._removeTitle(M)},C._createTitle=function(){var e=this.elements,t=this._id+"-title";e.titlebar&&this._removeTitle(),e.titlebar=r("<div />",{"class":W+"-titlebar "+(this.options.style.widget?h("header"):"")}).append(e.title=r("<div />",{id:t,"class":W+"-title","aria-atomic":O})).insertBefore(e.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(e){r(this).toggleClass("ui-state-active ui-state-focus","down"===e.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(e){r(this).toggleClass("ui-state-hover","mouseover"===e.type)}),this.options.content.button&&this._createButton()},C._removeTitle=function(e){var t=this.elements;t.title&&(t.titlebar.remove(),t.titlebar=t.title=t.button=_,e!==M&&this.reposition())},C._createPosClass=function(e){return W+"-pos-"+(e||this.options.position.my).abbrev()},C.reposition=function(n,i){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=O;var s,o,u,f,l=this.cache,c=this.tooltip,h=this.options.position,p=h.target,d=h.my,v=h.at,m=h.viewport,g=h.container,y=h.adjust,w=y.method.split(" "),E=c.outerWidth(M),S=c.outerHeight(M),x=0,T=0,N=c.css("position"),C={left:0,top:0},k=c[0].offsetWidth>0,L=n&&"scroll"===n.type,A=r(e),_=g[0].ownerDocument,D=this.mouse;if(r.isArray(p)&&2===p.length)v={x:F,y:j},C={left:p[0],top:p[1]};else if("mouse"===p)v={x:F,y:j},(!y.mouse||this.options.hide.distance)&&l.origin&&l.origin.pageX?n=l.origin:!n||n&&("resize"===n.type||"scroll"===n.type)?n=l.event:D&&D.pageX&&(n=D),"static"!==N&&(C=g.offset()),_.body.offsetWidth!==(e.innerWidth||_.documentElement.clientWidth)&&(o=r(t.body).offset()),C={left:n.pageX-C.left+(o&&o.left||0),top:n.pageY-C.top+(o&&o.top||0)},y.mouse&&L&&D&&(C.left-=(D.scrollX||0)-A.scrollLeft(),C.top-=(D.scrollY||0)-A.scrollTop());else{if("event"===p?n&&n.target&&"scroll"!==n.type&&"resize"!==n.type?l.target=r(n.target):n.target||(l.target=this.elements.target):"event"!==p&&(l.target=r(p.jquery?p:this.elements.target)),p=l.target,p=r(p).eq(0),0===p.length)return this;p[0]===t||p[0]===e?(x=rt.iOS?e.innerWidth:p.width(),T=rt.iOS?e.innerHeight:p.height(),p[0]===e&&(C={top:(m||p).scrollTop(),left:(m||p).scrollLeft()})):z.imagemap&&p.is("area")?s=z.imagemap(this,p,v,z.viewport?w:M):z.svg&&p&&p[0].ownerSVGElement?s=z.svg(this,p,v,z.viewport?w:M):(x=p.outerWidth(M),T=p.outerHeight(M),C=p.offset()),s&&(x=s.width,T=s.height,o=s.offset,C=s.position),C=this.reposition.offset(p,C,g),(rt.iOS>3.1&&rt.iOS<4.1||rt.iOS>=4.3&&rt.iOS<4.33||!rt.iOS&&"fixed"===N)&&(C.left-=A.scrollLeft(),C.top-=A.scrollTop()),(!s||s&&s.adjustable!==M)&&(C.left+=v.x===q?x:v.x===R?x/2:0,C.top+=v.y===I?T:v.y===R?T/2:0)}return C.left+=y.x+(d.x===q?-E:d.x===R?-E/2:0),C.top+=y.y+(d.y===I?-S:d.y===R?-S/2:0),z.viewport?(u=C.adjusted=z.viewport(this,C,h,x,T,E,S),o&&u.left&&(C.left+=o.left),o&&u.top&&(C.top+=o.top),u.my&&(this.position.my=u.my)):C.adjusted={left:0,top:0},l.posClass!==(f=this._createPosClass(this.position.my))&&c.removeClass(l.posClass).addClass(l.posClass=f),this._trigger("move",[C,m.elem||m],n)?(delete C.adjusted,i===M||!k||isNaN(C.left)||isNaN(C.top)||"mouse"===p||!r.isFunction(h.effect)?c.css(C):r.isFunction(h.effect)&&(h.effect.call(c,this,r.extend({},C)),c.queue(function(e){r(this).css({opacity:"",height:""}),rt.ie&&this.style.removeAttribute("filter"),e()})),this.positioning=M,this):this},C.reposition.offset=function(e,n,i){function s(e,t){n.left+=t*e.scrollLeft(),n.top+=t*e.scrollTop()}if(!i[0])return n;var o,u,a,f,l=r(e[0].ownerDocument),c=!!rt.ie&&"CSS1Compat"!==t.compatMode,h=i[0];do"static"!==(u=r.css(h,"position"))&&("fixed"===u?(a=h.getBoundingClientRect(),s(l,-1)):(a=r(h).position(),a.left+=parseFloat(r.css(h,"borderLeftWidth"))||0,a.top+=parseFloat(r.css(h,"borderTopWidth"))||0),n.left-=a.left+(parseFloat(r.css(h,"marginLeft"))||0),n.top-=a.top+(parseFloat(r.css(h,"marginTop"))||0),o||"hidden"===(f=r.css(h,"overflow"))||"visible"===f||(o=r(h)));while(h=h.offsetParent);return o&&(o[0]!==l[0]||c)&&s(o,1),n};var ot=(k=C.reposition.Corner=function(e,t){e=(""+e).replace(/([A-Z])/," $1").replace(/middle/gi,R).toLowerCase(),this.x=(e.match(/left|right/i)||e.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(e.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!t;var n=e.charAt(0);this.precedance="t"===n||"b"===n?P:D}).prototype;ot.invert=function(e,t){this[e]=this[e]===F?q:this[e]===q?F:t||this[e]},ot.string=function(e){var t=this.x,n=this.y,r=t!==n?"center"===t||"center"!==n&&(this.precedance===P||this.forceY)?[n,t]:[t,n]:[t];return e!==!1?r.join(" "):r},ot.abbrev=function(){var e=this.string(!1);return e[0].charAt(0)+(e[1]&&e[1].charAt(0)||"")},ot.clone=function(){return new k(this.string(),this.forceY)},C.toggle=function(e,n){var i=this.cache,s=this.options,o=this.tooltip;if(n){if(/over|enter/.test(n.type)&&i.event&&/out|leave/.test(i.event.type)&&s.show.target.add(n.target).length===s.show.target.length&&o.has(n.relatedTarget).length)return this;i.event=r.event.fix(n)}if(this.waiting&&!e&&(this.hiddenDuringWait=O),!this.rendered)return e?this.render(1):this;if(this.destroyed||this.disabled)return this;var u,a,f,l=e?"show":"hide",c=this.options[l],h=(this.options[e?"hide":"show"],this.options.position),p=this.options.content,d=this.tooltip.css("width"),v=this.tooltip.is(":visible"),m=e||1===c.target.length,g=!n||c.target.length<2||i.target[0]===n.target;return(typeof e).search("boolean|number")&&(e=!v),u=!o.is(":animated")&&v===e&&g,a=u?_:!!this._trigger(l,[90]),this.destroyed?this:(a!==M&&e&&this.focus(n),!a||u?this:(r.attr(o[0],"aria-hidden",!e),e?(this.mouse&&(i.origin=r.event.fix(this.mouse)),r.isFunction(p.text)&&this._updateContent(p.text,M),r.isFunction(p.title)&&this._updateTitle(p.title,M),!A&&"mouse"===h.target&&h.adjust.mouse&&(r(t).bind("mousemove."+W,this._storeMouse),A=O),d||o.css("width",o.outerWidth(M)),this.reposition(n,arguments[2]),d||o.css("width",""),c.solo&&("string"==typeof c.solo?r(c.solo):r(J,c.solo)).not(o).not(c.target).qtip("hide",r.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete i.origin,A&&!r(J+'[tracking="true"]:visible',c.solo).not(o).length&&(r(t).unbind("mousemove."+W),A=M),this.blur(n)),f=r.proxy(function(){e?(rt.ie&&o[0].style.removeAttribute("filter"),o.css("overflow",""),"string"==typeof c.autofocus&&r(this.options.show.autofocus,o).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):o.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(e?"visible":"hidden")},this),c.effect===M||m===M?(o[l](),f()):r.isFunction(c.effect)?(o.stop(1,1),c.effect.call(o,this),o.queue("fx",function(e){f(),e()})):o.fadeTo(90,e?1:0,f),e&&c.target.trigger("qtip-"+this.id+"-inactive"),this))},C.show=function(e){return this.toggle(O,e)},C.hide=function(e){return this.toggle(M,e)},C.focus=function(e){if(!this.rendered||this.destroyed)return this;var t=r(J),n=this.tooltip,i=parseInt(n[0].style.zIndex,10),s=N.zindex+t.length;return n.hasClass(Y)||this._trigger("focus",[s],e)&&(i!==s&&(t.each(function(){this.style.zIndex>i&&(this.style.zIndex=this.style.zIndex-1)}),t.filter("."+Y).qtip("blur",e)),n.addClass(Y)[0].style.zIndex=s),this},C.blur=function(e){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass(Y),this._trigger("blur",[this.tooltip.css("zIndex")],e),this)},C.disable=function(e){return this.destroyed?this:("toggle"===e?e=this.rendered?!this.tooltip.hasClass(et):!this.disabled:"boolean"!=typeof e&&(e=O),this.rendered&&this.tooltip.toggleClass(et,e).attr("aria-disabled",e),this.disabled=!!e,this)},C.enable=function(){return this.disable(M)},C._createButton=function(){var e=this,t=this.elements,n=t.tooltip,i=this.options.content.button,s="string"==typeof i,o=s?i:"Close tooltip";t.button&&t.button.remove(),t.button=i.jquery?i:r("<a />",{"class":"qtip-close "+(this.options.style.widget?"":W+"-icon"),title:o,"aria-label":o}).prepend(r("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"})),t.button.appendTo(t.titlebar||n).attr("role","button").click(function(t){return n.hasClass(et)||e.hide(t),M})},C._updateButton=function(e){if(!this.rendered)return M;var t=this.elements.button;e?this._createButton():t.remove()},C._setWidget=function(){var e=this.options.style.widget,t=this.elements,n=t.tooltip,r=n.hasClass(et);n.removeClass(et),et=e?"ui-state-disabled":"qtip-disabled",n.toggleClass(et,r),n.toggleClass("ui-helper-reset "+h(),e).toggleClass(G,this.options.style.def&&!e),t.content&&t.content.toggleClass(h("content"),e),t.titlebar&&t.titlebar.toggleClass(h("header"),e),t.button&&t.button.toggleClass(W+"-icon",!e)},C._storeMouse=function(e){return(this.mouse=r.event.fix(e)).type="mousemove",this},C._bind=function(e,t,n,i,s){if(e&&n&&t.length){var o="."+this._id+(i?"-"+i:"");return r(e).bind((t.split?t:t.join(o+" "))+o,r.proxy(n,s||this)),this}},C._unbind=function(e,t){return e&&r(e).unbind("."+this._id+(t?"-"+t:"")),this},C._trigger=function(e,t,n){var i=r.Event("tooltip"+e);return i.originalEvent=n&&r.extend({},n)||this.cache.event||_,this.triggering=e,this.tooltip.trigger(i,[this].concat(t||[])),this.triggering=M,!i.isDefaultPrevented()},C._bindEvents=function(e,t,n,i,s,o){var u=n.filter(i).add(i.filter(n)),a=[];u.length&&(r.each(t,function(t,n){var i=r.inArray(n,e);i>-1&&a.push(e.splice(i,1)[0])}),a.length&&(this._bind(u,a,function(e){var t=this.rendered?this.tooltip[0].offsetWidth>0:!1;(t?o:s).call(this,e)}),n=n.not(u),i=i.not(u))),this._bind(n,e,s),this._bind(i,t,o)},C._assignInitialEvents=function(e){function t(e){return this.disabled||this.destroyed?M:(this.cache.event=e&&r.event.fix(e),this.cache.target=e&&r(e.target),clearTimeout(this.timers.show),void (this.timers.show=p.call(this,function(){this.render("object"==typeof e||n.show.ready)},n.prerender?0:n.show.delay)))}var n=this.options,i=n.show.target,s=n.hide.target,o=n.show.event?r.trim(""+n.show.event).split(" "):[],u=n.hide.event?r.trim(""+n.hide.event).split(" "):[];this._bind(this.elements.target,["remove","removeqtip"],function(){this.destroy(!0)},"destroy"),/mouse(over|enter)/i.test(n.show.event)&&!/mouse(out|leave)/i.test(n.hide.event)&&u.push("mouseleave"),this._bind(i,"mousemove",function(e){this._storeMouse(e),this.cache.onTarget=O}),this._bindEvents(o,u,i,s,t,function(){return this.timers?void clearTimeout(this.timers.show):M}),(n.show.ready||n.prerender)&&t.call(this,e)},C._assignEvents=function(){var n=this,i=this.options,s=i.position,o=this.tooltip,u=i.show.target,f=i.hide.target,l=s.container,c=s.viewport,h=r(t),p=(r(t.body),r(e)),y=i.show.event?r.trim(""+i.show.event).split(" "):[],w=i.hide.event?r.trim(""+i.hide.event).split(" "):[];r.each(i.events,function(e,t){n._bind(o,"toggle"===e?["tooltipshow","tooltiphide"]:["tooltip"+e],t,null,o)}),/mouse(out|leave)/i.test(i.hide.event)&&"window"===i.hide.leave&&this._bind(h,["mouseout","blur"],function(e){/select|option/.test(e.target.nodeName)||e.relatedTarget||this.hide(e)}),i.hide.fixed?f=f.add(o.addClass(Q)):/mouse(over|enter)/i.test(i.show.event)&&this._bind(f,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+i.hide.event).indexOf("unfocus")>-1&&this._bind(l.closest("html"),["mousedown","touchstart"],function(e){var t=r(e.target),n=this.rendered&&!this.tooltip.hasClass(et)&&this.tooltip[0].offsetWidth>0,i=t.parents(J).filter(this.tooltip[0]).length>0;t[0]===this.target[0]||t[0]===this.tooltip[0]||i||this.target.has(t[0]).length||!n||this.hide(e)}),"number"==typeof i.hide.inactive&&(this._bind(u,"qtip-"+this.id+"-inactive",m,"inactive"),this._bind(f.add(o),N.inactiveEvents,m)),this._bindEvents(y,w,u,f,d,v),this._bind(u.add(o),"mousemove",function(e){if("number"==typeof i.hide.distance){var t=this.cache.origin||{},n=this.options.hide.distance,r=Math.abs;(r(e.pageX-t.pageX)>=n||r(e.pageY-t.pageY)>=n)&&this.hide(e)}this._storeMouse(e)}),"mouse"===s.target&&s.adjust.mouse&&(i.hide.event&&this._bind(u,["mouseenter","mouseleave"],function(e){return this.cache?void (this.cache.onTarget="mouseenter"===e.type):M}),this._bind(h,"mousemove",function(e){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(et)&&this.tooltip[0].offsetWidth>0&&this.reposition(e)})),(s.adjust.resize||c.length)&&this._bind(r.event.special.resize?c:p,"resize",g),s.adjust.scroll&&this._bind(p.add(s.container),"scroll",g)},C._unassignEvents=function(){var n=this.options,i=n.show.target,s=n.hide.target,o=r.grep([this.elements.target[0],this.rendered&&this.tooltip[0],n.position.container[0],n.position.viewport[0],n.position.container.closest("html")[0],e,t],function(e){return"object"==typeof e});i&&i.toArray&&(o=o.concat(i.toArray())),s&&s.toArray&&(o=o.concat(s.toArray())),this._unbind(o)._unbind(o,"destroy")._unbind(o,"inactive")},r(function(){y(J,["mouseenter","mouseleave"],function(e){var t="mouseenter"===e.type,n=r(e.currentTarget),i=r(e.relatedTarget||e.target),s=this.options;t?(this.focus(e),n.hasClass(Q)&&!n.hasClass(et)&&clearTimeout(this.timers.hide)):"mouse"===s.position.target&&s.position.adjust.mouse&&s.hide.event&&s.show.target&&!i.closest(s.show.target[0]).length&&this.hide(e),n.toggleClass(Z,t)}),y("["+V+"]",K,m)}),N=r.fn.qtip=function(e,t,i){var s=(""+e).toLowerCase(),o=_,a=r.makeArray(arguments).slice(1),f=a[a.length-1],l=this[0]?r.data(this[0],W):_;return!arguments.length&&l||"api"===s?l:"string"==typeof e?(this.each(function(){var e=r.data(this,W);if(!e)return O;if(f&&f.timeStamp&&(e.cache.event=f),!t||"option"!==s&&"options"!==s)e[s]&&e[s].apply(e,a);else{if(i===n&&!r.isPlainObject(t))return o=e.get(t),M;e.set(t,i)}}),o!==_?o:this):"object"!=typeof e&&arguments.length?void 0:(l=u(r.extend(O,{},e)),this.each(function(e){var t,n;return n=r.isArray(l.id)?l.id[e]:l.id,n=!n||n===M||n.length<1||N.api[n]?N.nextid++:n,t=w(r(this),n,l),t===M?O:(N.api[n]=t,r.each(z,function(){"initialize"===this.initialize&&this(t)}),void t._assignInitialEvents(f))}))},r.qtip=i,N.api={},r.each({attr:function(e,t){if(this.length){var n=this[0],i="title",s=r.data(n,"qtip");if(e===i&&s&&"object"==typeof s&&s.options.suppress)return arguments.length<2?r.attr(n,nt):(s&&s.options.content.attr===i&&s.cache.attr&&s.set("content.text",t),this.attr(nt,t))}return r.fn["attr"+tt].apply(this,arguments)},clone:function(e){var t=(r([]),r.fn["clone"+tt].apply(this,arguments));return e||t.filter("["+nt+"]").attr("title",function(){return r.attr(this,nt)}).removeAttr(nt),t}},function(e,t){if(!t||r.fn[e+tt])return O;var n=r.fn[e+tt]=r.fn[e];r.fn[e]=function(){return t.apply(this,arguments)||n.apply(this,arguments)}}),r.ui||(r["cleanData"+tt]=r.cleanData,r.cleanData=function(e){for(var t,n=0;(t=r(e[n])).length;n++)if(t.attr(X))try{t.triggerHandler("removeqtip")}catch(i){}r["cleanData"+tt].apply(this,arguments)}),N.version="2.2.1",N.nextid=0,N.inactiveEvents=K,N.zindex=15e3,N.defaults={prerender:M,id:M,overwrite:O,suppress:O,content:{text:O,attr:"title",title:M,button:M},position:{my:"top left",at:"bottom right",target:M,container:M,viewport:M,adjust:{x:0,y:0,mouse:O,scroll:O,resize:O,method:"flipinvert flipinvert"},effect:function(e,t){r(this).animate(t,{duration:200,queue:M})}},show:{target:M,event:"mouseenter",effect:O,delay:90,solo:M,ready:M,autofocus:M},hide:{target:M,event:"mouseleave",effect:O,delay:0,fixed:M,inactive:M,leave:"window",distance:M},style:{classes:"",widget:M,width:M,height:M,def:O},events:{render:_,move:_,show:_,hide:_,toggle:_,visible:_,hidden:_,focus:_,blur:_}};var ut,at="margin",ft="border",lt="color",ct="background-color",ht="transparent",pt=" !important",dt=!!t.createElement("canvas").getContext,vt=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,mt={},gt=["Webkit","O","Moz","ms"];if(dt)var yt=e.devicePixelRatio||1,bt=function(){var e=t.createElement("canvas").getContext("2d");return e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||1}(),wt=yt/bt;else var Et=function(e,t,n){return"<qtipvml:"+e+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(t||"")+' style="behavior: url(#default#VML); '+(n||"")+'" />'};r.extend(T.prototype,{init:function(e){var t,n;n=this.element=e.elements.tip=r("<div />",{"class":W+"-tip"}).prependTo(e.tooltip),dt?(t=r("<canvas />").appendTo(this.element)[0].getContext("2d"),t.lineJoin="miter",t.miterLimit=1e5,t.save()):(t=Et("shape",'coordorigin="0,0"',"position:absolute;"),this.element.html(t+t),e._bind(r("*",n).add(n),["click","mousedown"],function(e){e.stopPropagation()},this._ns)),e._bind(e.tooltip,"tooltipmove",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(e){var t=this.qtip.elements.titlebar;return t&&(e.y===j||e.y===R&&this.element.position().top+this.size[1]/2+this.options.offset<t.outerHeight(O))},_parseCorner:function(e){var t=this.qtip.options.position.my;return e===M||t===M?e=M:e===O?e=new k(t.string()):e.string||(e=new k(e),e.fixed=O),e},_parseWidth:function(e,t,n){var r=this.qtip.elements,i=ft+E(t)+"Width";return(n?x(n,i):x(r.content,i)||x(this._useTitle(e)&&r.titlebar||r.content,i)||x(r.tooltip,i))||0},_parseRadius:function(e){var t=this.qtip.elements,n=ft+E(e.y)+E(e.x)+"Radius";return rt.ie<9?0:x(this._useTitle(e)&&t.titlebar||t.content,n)||x(t.tooltip,n)||0},_invalidColour:function(e,t,n){var r=e.css(t);return!r||n&&r===e.css(n)||vt.test(r)?M:r},_parseColours:function(e){var t=this.qtip.elements,n=this.element.css("cssText",""),i=ft+E(e[e.precedance])+E(lt),s=this._useTitle(e)&&t.titlebar||t.content,o=this._invalidColour,u=[];return u[0]=o(n,ct)||o(s,ct)||o(t.content,ct)||o(t.tooltip,ct)||n.css(ct),u[1]=o(n,i,lt)||o(s,i,lt)||o(t.content,i,lt)||o(t.tooltip,i,lt)||t.tooltip.css(i),r("*",n).add(n).css("cssText",ct+":"+ht+pt+";"+ft+":0"+pt+";"),u},_calculateSize:function(e){var t,n,r,i=e.precedance===P,s=this.options.width,o=this.options.height,u="c"===e.abbrev(),a=(i?s:o)*(u?.5:1),f=Math.pow,l=Math.round,c=Math.sqrt(f(a,2)+f(o,2)),h=[this.border/a*c,this.border/o*c];return h[2]=Math.sqrt(f(h[0],2)-f(this.border,2)),h[3]=Math.sqrt(f(h[1],2)-f(this.border,2)),t=c+h[2]+h[3]+(u?0:h[0]),n=t/c,r=[l(n*s),l(n*o)],i?r:r.reverse()},_calculateTip:function(e,t,n){n=n||1,t=t||this.size;var r=t[0]*n,i=t[1]*n,s=Math.ceil(r/2),o=Math.ceil(i/2),u={br:[0,0,r,i,r,0],bl:[0,0,r,0,0,i],tr:[0,i,r,0,r,i],tl:[0,0,0,i,r,i],tc:[0,i,s,0,r,i],bc:[0,0,r,0,s,i],rc:[0,0,r,o,0,i],lc:[r,0,r,i,0,o]};return u.lt=u.br,u.rt=u.bl,u.lb=u.tr,u.rb=u.tl,u[e.abbrev()]},_drawCoords:function(e,t){e.beginPath(),e.moveTo(t[0],t[1]),e.lineTo(t[2],t[3]),e.lineTo(t[4],t[5]),e.closePath()},create:function(){var e=this.corner=(dt||rt.ie)&&this._parseCorner(this.options.corner);return(this.enabled=!!this.corner&&"c"!==this.corner.abbrev())&&(this.qtip.cache.corner=e.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(t,n){if(!this.enabled)return this;var i,s,o,u,f,l,c,h,p=this.qtip.elements,d=this.element,v=d.children(),m=this.options,g=this.size,y=m.mimic,b=Math.round;t||(t=this.qtip.cache.corner||this.corner),y===M?y=t:(y=new k(y),y.precedance=t.precedance,"inherit"===y.x?y.x=t.x:"inherit"===y.y?y.y=t.y:y.x===y.y&&(y[t.precedance]=t[t.precedance])),s=y.precedance,t.precedance===D?this._swapDimensions():this._resetDimensions(),i=this.color=this._parseColours(t),i[1]!==ht?(h=this.border=this._parseWidth(t,t[t.precedance]),m.border&&1>h&&!vt.test(i[1])&&(i[0]=i[1]),this.border=h=m.border!==O?m.border:h):this.border=h=0,c=this.size=this._calculateSize(t),d.css({width:c[0],height:c[1],lineHeight:c[1]+"px"}),l=t.precedance===P?[b(y.x===F?h:y.x===q?c[0]-g[0]-h:(c[0]-g[0])/2),b(y.y===j?c[1]-g[1]:0)]:[b(y.x===F?c[0]-g[0]:0),b(y.y===j?h:y.y===I?c[1]-g[1]-h:(c[1]-g[1])/2)],dt?(o=v[0].getContext("2d"),o.restore(),o.save(),o.clearRect(0,0,6e3,6e3),u=this._calculateTip(y,g,wt),f=this._calculateTip(y,this.size,wt),v.attr(H,c[0]*wt).attr(B,c[1]*wt),v.css(H,c[0]).css(B,c[1]),this._drawCoords(o,f),o.fillStyle=i[1],o.fill(),o.translate(l[0]*wt,l[1]*wt),this._drawCoords(o,u),o.fillStyle=i[0],o.fill()):(u=this._calculateTip(y),u="m"+u[0]+","+u[1]+" l"+u[2]+","+u[3]+" "+u[4]+","+u[5]+" xe",l[2]=h&&/^(r|b)/i.test(t.string())?8===rt.ie?2:1:0,v.css({coordsize:c[0]+h+" "+(c[1]+h),antialias:""+(y.string().indexOf(R)>-1),left:l[0]-l[2]*Number(s===D),top:l[1]-l[2]*Number(s===P),width:c[0]+h,height:c[1]+h}).each(function(e){var t=r(this);t[t.prop?"prop":"attr"]({coordsize:c[0]+h+" "+(c[1]+h),path:u,fillcolor:i[0],filled:!!e,stroked:!e}).toggle(!!h||!!e),!e&&t.html(Et("stroke",'weight="'+2*h+'px" color="'+i[1]+'" miterlimit="1000" joinstyle="miter"'))})),e.opera&&setTimeout(function(){p.tip.css({display:"inline-block",visibility:"visible"})},1),n!==M&&this.calculate(t,c)},calculate:function(e,t){if(!this.enabled)return M;var n,i,s=this,o=this.qtip.elements,u=this.element,a=this.options.offset,f=(o.tooltip.hasClass("ui-widget"),{});return e=e||this.corner,n=e.precedance,t=t||this._calculateSize(e),i=[e.x,e.y],n===D&&i.reverse(),r.each(i,function(r,i){var u,l,h;i===R?(u=n===P?F:j,f[u]="50%",f[at+"-"+u]=-Math.round(t[n===P?0:1]/2)+a):(u=s._parseWidth(e,i,o.tooltip),l=s._parseWidth(e,i,o.content),h=s._parseRadius(e),f[i]=Math.max(-s.border,r?l:a+(h>u?h:-u)))}),f[e[n]]-=t[n===D?0:1],u.css({margin:"",top:"",bottom:"",left:"",right:""}).css(f),f},reposition:function(e,t,r){function i(e,t,n,r,i){e===U&&f.precedance===t&&l[r]&&f[n]!==R?f.precedance=f.precedance===D?P:D:e!==U&&l[r]&&(f[t]=f[t]===R?l[r]>0?r:i:f[t]===r?i:r)}function s(e,t,i){f[e]===R?m[at+"-"+t]=v[e]=o[at+"-"+t]-l[t]:(u=o[i]!==n?[l[t],-o[t]]:[-l[t],o[t]],(v[e]=Math.max(u[0],u[1]))>u[0]&&(r[t]-=l[t],v[t]=M),m[o[i]!==n?i:t]=v[e])}if(this.enabled){var o,u,a=t.cache,f=this.corner
2
+ .clone(),l=r.adjusted,h=t.options.position.adjust.method.split(" "),p=h[0],d=h[1]||h[0],v={left:M,top:M,x:0,y:0},m={};this.corner.fixed!==O&&(i(p,D,P,F,q),i(d,P,D,j,I),(f.string()!==a.corner.string()||a.cornerTop!==l.top||a.cornerLeft!==l.left)&&this.update(f,M)),o=this.calculate(f),o.right!==n&&(o.left=-o.right),o.bottom!==n&&(o.top=-o.bottom),o.user=this.offset,(v.left=p===U&&!!l.left)&&s(D,F,q),(v.top=d===U&&!!l.top)&&s(P,j,I),this.element.css(m).toggle(!(v.x&&v.y||f.x===R&&v.y||f.y===R&&v.x)),r.left-=o.left.charAt?o.user:p!==U||v.top||!v.left&&!v.top?o.left+this.border:0,r.top-=o.top.charAt?o.user:d!==U||v.left||!v.left&&!v.top?o.top+this.border:0,a.cornerLeft=l.left,a.cornerTop=l.top,a.corner=f.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),ut=z.tip=function(e){return new T(e,e.options.style.tip)},ut.initialize="render",ut.sanitize=function(e){if(e.style&&"tip"in e.style){var t=e.style.tip;"object"!=typeof t&&(t=e.style.tip={corner:t}),/string|boolean/i.test(typeof t.corner)||(t.corner=O)}},L.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(e){this.size=[e.width,e.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},r.extend(O,N.defaults,{style:{tip:{corner:O,mimic:M,width:6,height:6,border:O,offset:0}}})})}(window,document);
assets/less/admin-column.less CHANGED
@@ -281,17 +281,10 @@ h2.cpac-nav-tab-wrapper {
281
  span {
282
  cursor: pointer;
283
 
284
- /*background: #ccc;
285
- border-radius: 2px;
286
- padding: 0 4px;
287
- color: #fff;
288
- display: inline-block;
289
- height: 15px;
290
- line-height: 15px;
291
-
292
- &.on {
293
- background: #1e8cbe;
294
- }*/
295
  }
296
  }
297
  }
@@ -378,6 +371,15 @@ h2.cpac-nav-tab-wrapper {
378
  select,
379
  input[type=text] {
380
  width: 99.95%; // excl padding
 
 
 
 
 
 
 
 
 
381
  }
382
 
383
  select optgroup:nth-child(2n) {
281
  span {
282
  cursor: pointer;
283
 
284
+ &.width {
285
+ margin-right: 5px;
286
+ cursor: auto;
287
+ }
 
 
 
 
 
 
 
288
  }
289
  }
290
  }
371
  select,
372
  input[type=text] {
373
  width: 99.95%; // excl padding
374
+
375
+ &.small {
376
+ width: 100px;
377
+ }
378
+ }
379
+
380
+ span.suffix {
381
+ line-height: 40px;
382
+ color: #808080;
383
  }
384
 
385
  select optgroup:nth-child(2n) {
classes/addons.php CHANGED
@@ -107,7 +107,7 @@ class CPAC_Addons {
107
  public function get_addon_groups() {
108
 
109
  $addon_groups = array(
110
- 'integration' => __( 'Third party plugin integration', 'cpac' )
111
  );
112
 
113
  /**
107
  public function get_addon_groups() {
108
 
109
  $addon_groups = array(
110
+ 'integration' => __( 'Plugins', 'cpac' )
111
  );
112
 
113
  /**
classes/column.php CHANGED
@@ -86,6 +86,7 @@ class CPAC_Column {
86
  }
87
 
88
  /**
 
89
  * Determine whether this column type should be available
90
  *
91
  * @since 2.2
@@ -97,6 +98,14 @@ class CPAC_Column {
97
  return true;
98
  }
99
 
 
 
 
 
 
 
 
 
100
  /**
101
  * An object copy (clone) is created for creating multiple column instances.
102
  *
@@ -159,15 +168,19 @@ class CPAC_Column {
159
  *
160
  * @since 2.2
161
  * @param array $default_options Default column options
162
- * @param CPAC_Column $column_instance Column class instance
163
  */
164
- $default_options = apply_filters( 'cac/column/default_options', $default_options, $this );
165
 
166
  foreach ( $default_options as $option => $value ) {
167
  $this->options[ $option ] = $value;
168
  }
169
  }
170
 
 
 
 
 
171
  public function after_setup() {
172
 
173
  // Column name defaults to column type
@@ -184,9 +197,9 @@ class CPAC_Column {
184
  *
185
  * @since 2.0
186
  * @param array $properties Column properties
187
- * @param CPAC_Column $column_instance Column class instance
188
  */
189
- $this->properties = apply_filters( 'cac/column/properties', $this->properties, $this );
190
 
191
  /**
192
  * Filter the properties of a column type for a specific storage model
@@ -195,7 +208,7 @@ class CPAC_Column {
195
  * @since 2.0
196
  * @see Filter cac/column/properties
197
  */
198
- $this->properties = apply_filters( "cac/column/properties/storage_key={$this->storage_model->key}", $this->properties, $this );
199
 
200
  // Column label defaults to column type label
201
  if ( ! isset( $this->options['label'] ) ) {
@@ -272,16 +285,47 @@ class CPAC_Column {
272
  }
273
 
274
  /**
275
- * @since 3.2.1
 
 
276
  */
277
  public function get_type() {
278
  return $this->properties->type;
279
  }
280
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
  /**
282
  * Checks column type
283
  *
284
- * @since 3.2.1
285
  * @param string $type Column type. Also work without the 'column-' prefix. Example 'column-meta' or 'meta'.
286
  * @return bool Matches column type
287
  */
@@ -296,6 +340,27 @@ class CPAC_Column {
296
  return $this->storage_model->get_post_type();
297
  }
298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  /**
300
  * @param string $field_key
301
  * @return void
@@ -317,7 +382,7 @@ class CPAC_Column {
317
  * @return array Column options
318
  */
319
  public function read() {
320
- $options = (array) get_option( "cpac_options_{$this->storage_model->key}" );
321
 
322
  if ( empty( $options[ $this->properties->name ] ) ) {
323
  return array();
@@ -525,6 +590,10 @@ class CPAC_Column {
525
  * @since 2.2.6
526
  */
527
  public function get_terms_for_display( $term_ids, $taxonomy ) {
 
 
 
 
528
  $values = array();
529
  $term_ids = (array) $term_ids;
530
  if ( $term_ids && ! is_wp_error( $term_ids ) ) {
@@ -925,7 +994,6 @@ class CPAC_Column {
925
  <td class="label">
926
  <label for="<?php $this->attr_id( $pointer ); ?>">
927
  <?php echo stripslashes( $label ); ?>
928
-
929
  <?php if( $description ) : ?><p class="description"><?php echo $description; ?></p><?php endif; ?>
930
  </label>
931
  </td>
@@ -1016,20 +1084,8 @@ class CPAC_Column {
1016
  * @since 2.1.1
1017
  */
1018
  public function display_field_before_after() {
1019
- ?>
1020
- <tr class="column_before">
1021
- <?php $this->label_view( __( "Before", 'cpac' ), __( 'This text will appear before the custom field value.', 'cpac' ), 'before' ); ?>
1022
- <td class="input">
1023
- <input type="text" class="cpac-before" name="<?php $this->attr_name( 'before' ); ?>" id="<?php $this->attr_id( 'before' ); ?>" value="<?php echo esc_attr( stripslashes( $this->options->before ) ); ?>"/>
1024
- </td>
1025
- </tr>
1026
- <tr class="column_after">
1027
- <?php $this->label_view( __( "After", 'cpac' ), __( 'This text will appear after the custom field value.', 'cpac' ), 'after' ); ?>
1028
- <td class="input">
1029
- <input type="text" class="cpac-after" name="<?php $this->attr_name( 'after' ); ?>" id="<?php $this->attr_id( 'after' ); ?>" value="<?php echo esc_attr( stripslashes( $this->options->after ) ); ?>"/>
1030
- </td>
1031
- </tr>
1032
- <?php
1033
  }
1034
 
1035
  /**
@@ -1048,13 +1104,25 @@ class CPAC_Column {
1048
  'first_last_name' => __( 'First and Last Name', 'cpac' ),
1049
  );
1050
 
 
 
 
 
 
 
 
 
 
 
 
 
1051
  ?>
1052
- <tr class="column-author-name">
1053
- <?php $this->label_view( __( 'Display format', 'cpac' ), __( 'This is the format of the author name.', 'cpac' ), 'display_author_as' ); ?>
1054
  <td class="input">
1055
- <select name="<?php $this->attr_name( 'display_author_as' ); ?>" id="<?php $this->attr_id( 'display_author_as' ); ?>">
1056
- <?php foreach ( $nametypes as $key => $label ) : ?>
1057
- <option value="<?php echo $key; ?>"<?php selected( $key, $this->options->display_author_as ) ?>><?php echo $label; ?></option>
1058
  <?php endforeach; ?>
1059
  </select>
1060
  </td>
@@ -1062,6 +1130,24 @@ class CPAC_Column {
1062
  <?php
1063
  }
1064
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1065
  /**
1066
  * @since 2.0
1067
  * @param array Column Objects
@@ -1130,6 +1216,10 @@ class CPAC_Column {
1130
  <div class="inner">
1131
  <div class="meta">
1132
 
 
 
 
 
1133
  <?php
1134
  /**
1135
  * Fires in the meta-element for column options, which is displayed right after the column label
@@ -1170,7 +1260,7 @@ class CPAC_Column {
1170
  <table class="widefat">
1171
  <tbody>
1172
  <tr class="column_type">
1173
- <?php $this->label_view( __( 'Type', 'cpac' ), __( 'Choose a column type.', 'cpac' ) . '<em>' . __('ID','cpac') . ': ' . $this->properties->type . '</em>', 'type' ); ?>
1174
  <td class="input">
1175
  <select name="<?php $this->attr_name( 'type' ); ?>" id="<?php $this->attr_id( 'type' ); ?>">
1176
  <?php echo $column_list; ?>
86
  }
87
 
88
  /**
89
+ * Overwrite this function in child class.
90
  * Determine whether this column type should be available
91
  *
92
  * @since 2.2
98
  return true;
99
  }
100
 
101
+ /**
102
+ * Overwrite this function in child class.
103
+ * Adds (optional) scripts to the listings screen.
104
+ *
105
+ * @since 2.3.4
106
+ */
107
+ public function scripts() {}
108
+
109
  /**
110
  * An object copy (clone) is created for creating multiple column instances.
111
  *
168
  *
169
  * @since 2.2
170
  * @param array $default_options Default column options
171
+ * @param CPAC_Storage_Model $storage_model Storage Model class instance
172
  */
173
+ $default_options = apply_filters( 'cac/column/default_options', $default_options ); // do not pass $this because object is not ready
174
 
175
  foreach ( $default_options as $option => $value ) {
176
  $this->options[ $option ] = $value;
177
  }
178
  }
179
 
180
+ /**
181
+ * After Setup
182
+ *
183
+ */
184
  public function after_setup() {
185
 
186
  // Column name defaults to column type
197
  *
198
  * @since 2.0
199
  * @param array $properties Column properties
200
+ * @param CPAC_Storage_Model $storage_model Storage Model class instance
201
  */
202
+ $this->properties = apply_filters( 'cac/column/properties', $this->properties ); // do not pass $this because object is not ready
203
 
204
  /**
205
  * Filter the properties of a column type for a specific storage model
208
  * @since 2.0
209
  * @see Filter cac/column/properties
210
  */
211
+ $this->properties = apply_filters( "cac/column/properties/storage_key={$this->storage_model->key}", $this->properties ); // do not pass $this because object is not ready
212
 
213
  // Column label defaults to column type label
214
  if ( ! isset( $this->options['label'] ) ) {
285
  }
286
 
287
  /**
288
+ * Get the type of the column.
289
+ *
290
+ * @since 2.3.4
291
  */
292
  public function get_type() {
293
  return $this->properties->type;
294
  }
295
 
296
+ /**
297
+ * Get the name of the column.
298
+ *
299
+ * @since 2.3.4
300
+ */
301
+ public function get_name() {
302
+ return $this->properties->name;
303
+ }
304
+
305
+ /**
306
+ * Get the column options set by the user
307
+ *
308
+ * @since 2.3.4
309
+ * @return object Column options set by user
310
+ */
311
+ public function get_options() {
312
+ return $this->options;
313
+ }
314
+
315
+ /**
316
+ * Get a single column option
317
+ *
318
+ * @since 2.3.4
319
+ * @return array Column options set by user
320
+ */
321
+ public function get_option( $name ) {
322
+ return isset( $this->options->{$name} ) ? $this->options->{$name} : false;
323
+ }
324
+
325
  /**
326
  * Checks column type
327
  *
328
+ * @since 2.3.4
329
  * @param string $type Column type. Also work without the 'column-' prefix. Example 'column-meta' or 'meta'.
330
  * @return bool Matches column type
331
  */
340
  return $this->storage_model->get_post_type();
341
  }
342
 
343
+ /**
344
+ * @since 2.3.4
345
+ */
346
+ public function get_storage_model() {
347
+ return $this->storage_model;
348
+ }
349
+
350
+ /**
351
+ * @since 2.3.4
352
+ */
353
+ public function get_storage_model_type() {
354
+ return $this->storage_model->get_type();
355
+ }
356
+
357
+ /**
358
+ * @since 2.3.4
359
+ */
360
+ public function get_storage_model_meta_type() {
361
+ return $this->storage_model->get_meta_type();
362
+ }
363
+
364
  /**
365
  * @param string $field_key
366
  * @return void
382
  * @return array Column options
383
  */
384
  public function read() {
385
+ $options = (array) $this->storage_model->get_database_columns();
386
 
387
  if ( empty( $options[ $this->properties->name ] ) ) {
388
  return array();
590
  * @since 2.2.6
591
  */
592
  public function get_terms_for_display( $term_ids, $taxonomy ) {
593
+ if ( empty( $term_ids ) ) {
594
+ return false;
595
+ }
596
+
597
  $values = array();
598
  $term_ids = (array) $term_ids;
599
  if ( $term_ids && ! is_wp_error( $term_ids ) ) {
994
  <td class="label">
995
  <label for="<?php $this->attr_id( $pointer ); ?>">
996
  <?php echo stripslashes( $label ); ?>
 
997
  <?php if( $description ) : ?><p class="description"><?php echo $description; ?></p><?php endif; ?>
998
  </label>
999
  </td>
1084
  * @since 2.1.1
1085
  */
1086
  public function display_field_before_after() {
1087
+ $this->display_field_text( 'before', __( "Before", 'cpac' ), __( 'This text will appear before the custom field value.', 'cpac' ) );
1088
+ $this->display_field_text( 'after', __( "After", 'cpac' ), __( 'This text will appear after the custom field value.', 'cpac' ) );
 
 
 
 
 
 
 
 
 
 
 
 
1089
  }
1090
 
1091
  /**
1104
  'first_last_name' => __( 'First and Last Name', 'cpac' ),
1105
  );
1106
 
1107
+ $this->display_field_select( 'display_author_as', __( 'Display format', 'cpac' ), $nametypes, __( 'This is the format of the author name.', 'cpac' ) );
1108
+ }
1109
+
1110
+ /**
1111
+ * @since 2.3.4
1112
+ * @param string $name Name of the column option
1113
+ * @return string $label Label
1114
+ * @return array $options Select options
1115
+ * @return strong $description (optional) Description below the label
1116
+ */
1117
+ public function display_field_select( $name, $label, $options = array(), $description = '' ) {
1118
+ $current = $this->get_option( $name );
1119
  ?>
1120
+ <tr class="column-<?php echo $name; ?>">
1121
+ <?php $this->label_view( $label, $description, $name ); ?>
1122
  <td class="input">
1123
+ <select name="<?php $this->attr_name( $name ); ?>" id="<?php $this->attr_id( $name ); ?>">
1124
+ <?php foreach ( $options as $key => $label ) : ?>
1125
+ <option value="<?php echo $key; ?>"<?php selected( $key, $current ); ?>><?php echo $label; ?></option>
1126
  <?php endforeach; ?>
1127
  </select>
1128
  </td>
1130
  <?php
1131
  }
1132
 
1133
+ /**
1134
+ * @since 2.3.4
1135
+ * @param string $name Name of the column option
1136
+ * @return string $label Label
1137
+ * @return array $options Select options
1138
+ * @return strong $description (optional) Description below the label
1139
+ */
1140
+ public function display_field_text( $name, $label, $description = '' ) {
1141
+ ?>
1142
+ <tr class="column-<?php echo $name; ?>">
1143
+ <?php $this->label_view( $label, $description, $name ); ?>
1144
+ <td class="input">
1145
+ <input type="text" name="<?php $this->attr_name( $name ); ?>" id="<?php $this->attr_id( $name ); ?>" value="<?php echo esc_attr( stripslashes( $this->get_option( $name ) ) ); ?>"/>
1146
+ </td>
1147
+ </tr>
1148
+ <?php
1149
+ }
1150
+
1151
  /**
1152
  * @since 2.0
1153
  * @param array Column Objects
1216
  <div class="inner">
1217
  <div class="meta">
1218
 
1219
+ <span title="<?php echo esc_attr( __( 'width', 'cpac' ) ); ?>" class="width" data-indicator-id="">
1220
+ <?php echo ! empty( $this->options->width ) ? $this->options->width . '%' : ''; ?>
1221
+ </span>
1222
+
1223
  <?php
1224
  /**
1225
  * Fires in the meta-element for column options, which is displayed right after the column label
1260
  <table class="widefat">
1261
  <tbody>
1262
  <tr class="column_type">
1263
+ <?php $this->label_view( __( 'Type', 'cpac' ), __( 'Choose a column type.', 'cpac' ) . '<em>' . __( 'Type', 'cpac' ) . ': ' . $this->properties->type . '</em><em>' . __( 'Name', 'cpac' ) . ': ' . $this->properties->name . '</em>', 'type' ); ?>
1264
  <td class="input">
1265
  <select name="<?php $this->attr_name( 'type' ); ?>" id="<?php $this->attr_id( 'type' ); ?>">
1266
  <?php echo $column_list; ?>
classes/column/actions.php CHANGED
@@ -11,10 +11,10 @@ abstract class CPAC_Column_Actions extends CPAC_Column {
11
  *
12
  * @since 2.2.6
13
  *
14
- * @param int $item_id Item ID to get the list of actions for.
15
  * @return array List of actions ([action name] => [action link]).
16
  */
17
- abstract public function get_actions( $item_id );
18
 
19
  /**
20
  * @see CPAC_Column::init()
@@ -36,9 +36,9 @@ abstract class CPAC_Column_Actions extends CPAC_Column {
36
  * @see CPAC_Column::get_value()
37
  * @since 2.2.6
38
  */
39
- public function get_value( $post_id ) {
40
 
41
- $actions = $this->get_raw_value( $post_id );
42
 
43
  if ( ! empty( $this->options->use_icons ) ) {
44
  return implode( '', $this->convert_actions_to_icons( $actions ) );
@@ -59,7 +59,7 @@ abstract class CPAC_Column_Actions extends CPAC_Column {
59
  * @see CPAC_Column::get_value()
60
  * @since 2.2.6
61
  */
62
- public function get_raw_value( $post_id ) {
63
 
64
  /**
65
  * Filter the action links for the actions column
@@ -68,8 +68,9 @@ abstract class CPAC_Column_Actions extends CPAC_Column {
68
  *
69
  * @param array $actions List of actions ([action name] => [action link]).
70
  * @param CPAC_Column_Actions $column_instance Column object.
 
71
  */
72
- return apply_filters( 'cac/column/actions/action_links', $this->get_actions( $post_id ), $this );
73
  }
74
 
75
  /**
@@ -120,14 +121,21 @@ abstract class CPAC_Column_Actions extends CPAC_Column {
120
  $icons = $this->get_actions_icons();
121
 
122
  foreach ( $actions as $action => $link ) {
123
- if ( isset( $icons[ $action ] ) ) {
 
 
 
 
 
 
 
124
  // Add mandatory "class" HTML attribute
125
  if ( strpos( $link, 'class=' ) === false ) {
126
  $link = str_replace( '<a ', '<a class="" ', $link );
127
  }
128
 
129
  // Add icon and tooltip classes
130
- $link = preg_replace( '/class=["\'](.*?)["\']/', 'class="$1 cpac-tip button cpac-button-action dashicons hide-content dashicons-' . $icons[ $action ] . '"', $link, 1 );
131
 
132
  // Add tooltip title
133
  $link = preg_replace_callback( '/>(.*?)<\/a>/', array( $this, 'add_link_tooltip' ), $link );
@@ -166,8 +174,15 @@ abstract class CPAC_Column_Actions extends CPAC_Column {
166
  'trash' => 'trash',
167
  'delete' => 'trash',
168
  'untrash' => 'undo',
 
169
  'view' => 'visibility',
170
- 'inline hide-if-no-js' => 'welcome-write-blog'
 
 
 
 
 
 
171
  );
172
  }
173
 
11
  *
12
  * @since 2.2.6
13
  *
14
+ * @param int $id Item ID to get the list of actions for.
15
  * @return array List of actions ([action name] => [action link]).
16
  */
17
+ abstract public function get_actions( $id );
18
 
19
  /**
20
  * @see CPAC_Column::init()
36
  * @see CPAC_Column::get_value()
37
  * @since 2.2.6
38
  */
39
+ public function get_value( $id ) {
40
 
41
+ $actions = $this->get_raw_value( $id );
42
 
43
  if ( ! empty( $this->options->use_icons ) ) {
44
  return implode( '', $this->convert_actions_to_icons( $actions ) );
59
  * @see CPAC_Column::get_value()
60
  * @since 2.2.6
61
  */
62
+ public function get_raw_value( $id ) {
63
 
64
  /**
65
  * Filter the action links for the actions column
68
  *
69
  * @param array $actions List of actions ([action name] => [action link]).
70
  * @param CPAC_Column_Actions $column_instance Column object.
71
+ * @param int $id Post/User/Comment ID
72
  */
73
+ return apply_filters( 'cac/column/actions/action_links', $this->get_actions( $id ), $this, $id );
74
  }
75
 
76
  /**
121
  $icons = $this->get_actions_icons();
122
 
123
  foreach ( $actions as $action => $link ) {
124
+ $action1 = $action;
125
+ $spacepos = $spacepos = strpos( $action1, ' ' );
126
+
127
+ if ( $spacepos !== false ) {
128
+ $action1 = substr( $action1, 0, $spacepos );
129
+ }
130
+
131
+ if ( isset( $icons[ $action1 ] ) ) {
132
  // Add mandatory "class" HTML attribute
133
  if ( strpos( $link, 'class=' ) === false ) {
134
  $link = str_replace( '<a ', '<a class="" ', $link );
135
  }
136
 
137
  // Add icon and tooltip classes
138
+ $link = preg_replace( '/class=["\'](.*?)["\']/', 'class="$1 cpac-tip button cpac-button-action dashicons hide-content dashicons-' . $icons[ $action1 ] . '"', $link, 1 );
139
 
140
  // Add tooltip title
141
  $link = preg_replace_callback( '/>(.*?)<\/a>/', array( $this, 'add_link_tooltip' ), $link );
174
  'trash' => 'trash',
175
  'delete' => 'trash',
176
  'untrash' => 'undo',
177
+ 'unspam' => 'undo',
178
  'view' => 'visibility',
179
+ 'inline' => 'welcome-write-blog',
180
+ 'quickedit' => 'welcome-write-blog',
181
+ 'approve' => 'yes',
182
+ 'unapprove' => 'no',
183
+ 'reply' => 'testimonial',
184
+ 'trash' => 'trash',
185
+ 'spam' => 'welcome-comments'
186
  );
187
  }
188
 
classes/column/comment/actions.php CHANGED
@@ -4,42 +4,18 @@
4
  *
5
  * @since 2.0
6
  */
7
- class CPAC_Column_Comment_Actions extends CPAC_Column {
8
 
9
  /**
10
- * @see CPAC_Column::init()
11
- * @since 2.2.1
12
  */
13
- public function init() {
14
 
15
- parent::init();
16
-
17
- // Properties
18
- $this->properties['type'] = 'column-actions';
19
- $this->properties['label'] = __( 'Actions', 'cpac' );
20
- }
21
-
22
- /**
23
- * @see CPAC_Column::get_value()
24
- * @since 2.0
25
- */
26
- function get_value( $id ) {
27
 
28
  $comment = get_comment( $id );
29
 
30
- return $this->get_column_value_actions( $comment );
31
- }
32
-
33
- /**
34
- * Get column value of comments actions
35
- *
36
- * This part is copied from the Comments List Table class
37
- *
38
- * @since 1.4.2
39
- */
40
- private function get_column_value_actions( $comment ) {
41
- global $post, $comment_status;
42
-
43
  // set uased vars
44
  $user_can = current_user_can( 'edit_comment', $comment->comment_ID );
45
  $the_comment_status = wp_get_comment_status( $comment->comment_ID );
@@ -102,28 +78,31 @@ class CPAC_Column_Comment_Actions extends CPAC_Column {
102
  }
103
 
104
  $actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment );
 
 
105
 
106
- $i = 0;
107
- $result = '<div class="cp-row-actions">';
108
- foreach ( $actions as $action => $link ) {
109
- ++$i;
110
- ( ( ( 'approve' == $action || 'unapprove' == $action ) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
111
 
112
  // Reply and quickedit need a hide-if-no-js span when not added with ajax
113
- if ( ( 'reply' == $action || 'quickedit' == $action ) && ! defined('DOING_AJAX') )
114
- $action .= ' hide-if-no-js';
 
115
  elseif ( ( $action == 'untrash' && $the_comment_status == 'trash' ) || ( $action == 'unspam' && $the_comment_status == 'spam' ) ) {
116
- if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) )
117
- $action .= ' approve';
118
- else
119
- $action .= ' unapprove';
 
 
120
  }
121
 
122
- $result .= "<span class='$action'>$sep$link</span>";
 
123
  }
124
- $result .= '</div>';
125
  }
126
- return $result;
127
- // end copied
128
  }
 
129
  }
4
  *
5
  * @since 2.0
6
  */
7
+ class CPAC_Column_Comment_Actions extends CPAC_Column_Actions {
8
 
9
  /**
10
+ * @see CPAC_Column_Actions::get_actions()
11
+ * @since 2.3.4
12
  */
13
+ public function get_actions( $id ) {
14
 
15
+ global $post, $comment_status;
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  $comment = get_comment( $id );
18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  // set uased vars
20
  $user_can = current_user_can( 'edit_comment', $comment->comment_ID );
21
  $the_comment_status = wp_get_comment_status( $comment->comment_ID );
78
  }
79
 
80
  $actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment );
81
+ $actions_copy = $actions;
82
+ $actions = array();
83
 
84
+ foreach ( $actions_copy as $action => $link ) {
85
+ $action_append = '';
 
 
 
86
 
87
  // Reply and quickedit need a hide-if-no-js span when not added with ajax
88
+ if ( ( 'reply' == $action || 'quickedit' == $action ) && ! defined('DOING_AJAX') ) {
89
+ $action_append .= ' hide-if-no-js';
90
+ }
91
  elseif ( ( $action == 'untrash' && $the_comment_status == 'trash' ) || ( $action == 'unspam' && $the_comment_status == 'spam' ) ) {
92
+ if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) ) {
93
+ $action_append .= ' approve';
94
+ }
95
+ else {
96
+ $action_append .= ' unapprove';
97
+ }
98
  }
99
 
100
+ $action .= $action_append;
101
+ $actions[ $action ] = $link;
102
  }
 
103
  }
104
+
105
+ return $actions;
106
  }
107
+
108
  }
classes/column/custom-field.php CHANGED
@@ -51,7 +51,7 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
51
  * @since 3.2.1
52
  */
53
  public function is_field( $field ) {
54
- return $type === $this->get_field();
55
  }
56
 
57
  /**
@@ -91,7 +91,7 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
91
  public function get_custom_field_types() {
92
 
93
  $custom_field_types = array(
94
- '' => __( 'Default'),
95
  'checkmark' => __( 'Checkmark (true/false)', 'cpac' ),
96
  'color' => __( 'Color', 'cpac' ),
97
  'count' => __( 'Counter', 'cpac' ),
@@ -213,6 +213,7 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
213
  * @return string Terms
214
  */
215
  public function get_terms_by_id( $meta_value ) {
 
216
  if ( ! is_array( $meta_value) || ! isset( $meta_value['term_id'] ) || ! isset( $meta_value['taxonomy'] ) ) {
217
  return false;
218
  }
@@ -331,9 +332,11 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
331
  */
332
  public function get_raw_value( $id, $single = true ) {
333
 
334
- $field_key = $this->get_field_key();
335
 
336
- $raw_value = get_metadata( $this->storage_model->meta_type, $id, $field_key, $single );
 
 
337
 
338
  return apply_filters( 'cac/column/meta/raw_value', $raw_value, $id, $field_key, $this );
339
  }
@@ -352,6 +355,13 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
352
  $value = $this->get_value_by_meta( $meta, $id );
353
  }
354
 
 
 
 
 
 
 
 
355
  $value = apply_filters( 'cac/column/meta/value', $value, $id, $this );
356
 
357
  $before = $this->get_before();
51
  * @since 3.2.1
52
  */
53
  public function is_field( $field ) {
54
+ return $field === $this->get_field();
55
  }
56
 
57
  /**
91
  public function get_custom_field_types() {
92
 
93
  $custom_field_types = array(
94
+ '' => __( 'Default', 'cpac' ),
95
  'checkmark' => __( 'Checkmark (true/false)', 'cpac' ),
96
  'color' => __( 'Color', 'cpac' ),
97
  'count' => __( 'Counter', 'cpac' ),
213
  * @return string Terms
214
  */
215
  public function get_terms_by_id( $meta_value ) {
216
+ // as used by Pods, @todo
217
  if ( ! is_array( $meta_value) || ! isset( $meta_value['term_id'] ) || ! isset( $meta_value['taxonomy'] ) ) {
218
  return false;
219
  }
332
  */
333
  public function get_raw_value( $id, $single = true ) {
334
 
335
+ $raw_value = '';
336
 
337
+ if ( $field_key = $this->get_field_key() ) {
338
+ $raw_value = get_metadata( $this->storage_model->meta_type, $id, $field_key, $single );
339
+ }
340
 
341
  return apply_filters( 'cac/column/meta/raw_value', $raw_value, $id, $field_key, $this );
342
  }
355
  $value = $this->get_value_by_meta( $meta, $id );
356
  }
357
 
358
+ /**
359
+ * Filter the display value for Custom Field columns
360
+ *
361
+ * @param mixed $value Custom field value
362
+ * @param int $id Object ID
363
+ * @param object $this Column instance
364
+ */
365
  $value = apply_filters( 'cac/column/meta/value', $value, $id, $this );
366
 
367
  $before = $this->get_before();
classes/column/default.php CHANGED
@@ -28,7 +28,7 @@ class CPAC_Column_Default extends CPAC_Column {
28
  public function get_value( $post_id ) {
29
 
30
  if ( ! empty( $this->properties->handle ) ) {
31
- echo $this->storage_model->get_original_column_value( $this->properties->handle, $post_id );
32
  }
33
 
34
  return '';
28
  public function get_value( $post_id ) {
29
 
30
  if ( ! empty( $this->properties->handle ) ) {
31
+ return $this->storage_model->get_original_column_value( $this->properties->handle, $post_id );
32
  }
33
 
34
  return '';
classes/column/media/actions.php CHANGED
@@ -9,15 +9,15 @@ class CPAC_Column_Media_Actions extends CPAC_Column_Actions {
9
 
10
  /**
11
  * @see CPAC_Column_Actions::get_actions()
12
- * @since NEWVERSION
13
  */
14
- public function get_actions( $item_id ) {
15
 
16
  global $wp_list_table;
17
 
18
- $post = get_post( $item_id );
19
- $att_title = _draft_or_post_title( $item_id );
20
-
21
  $actions = array();
22
 
23
  if ( $wp_list_table->detached ) {
9
 
10
  /**
11
  * @see CPAC_Column_Actions::get_actions()
12
+ * @since 2.3.4
13
  */
14
+ public function get_actions( $id ) {
15
 
16
  global $wp_list_table;
17
 
18
+ $post = get_post( $id );
19
+ $att_title = _draft_or_post_title( $id );
20
+
21
  $actions = array();
22
 
23
  if ( $wp_list_table->detached ) {
classes/column/media/file-name.php CHANGED
@@ -23,11 +23,22 @@ class CPAC_Column_Media_File_Name extends CPAC_Column {
23
  * @see CPAC_Column::get_value()
24
  * @since 2.0
25
  */
26
- function get_value( $id ) {
27
 
28
- $file = wp_get_attachment_url( $id );
29
- $filename = basename( $file );
30
 
31
  return "<a title='{$filename}' href='{$file}'>{$filename}</a>";
32
  }
 
 
 
 
 
 
 
 
 
 
 
33
  }
23
  * @see CPAC_Column::get_value()
24
  * @since 2.0
25
  */
26
+ public function get_value( $id ) {
27
 
28
+ $file = wp_get_attachment_url( $id );
29
+ $filename = $this->get_raw_value( $id );
30
 
31
  return "<a title='{$filename}' href='{$file}'>{$filename}</a>";
32
  }
33
+
34
+ /**
35
+ * @see CPAC_Column::get_value()
36
+ * @since 2.0
37
+ */
38
+ public function get_raw_value( $id ) {
39
+
40
+ $file = wp_get_attachment_url( $id );
41
+
42
+ return basename( $file );
43
+ }
44
  }
classes/column/media/full-path.php CHANGED
@@ -17,6 +17,9 @@ class CPAC_Column_Media_Full_Path extends CPAC_Column {
17
  // Properties
18
  $this->properties['type'] = 'column-full_path';
19
  $this->properties['label'] = __( 'Full path', 'cpac' );
 
 
 
20
  }
21
 
22
  /**
@@ -30,9 +33,77 @@ class CPAC_Column_Media_Full_Path extends CPAC_Column {
30
  $file = wp_get_attachment_url( $id );
31
 
32
  if ( $file ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  $value = $file;
34
  }
35
 
36
  return $value;
37
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
17
  // Properties
18
  $this->properties['type'] = 'column-full_path';
19
  $this->properties['label'] = __( 'Full path', 'cpac' );
20
+
21
+ // Options
22
+ $this->options['path_scope'] = 'full';
23
  }
24
 
25
  /**
33
  $file = wp_get_attachment_url( $id );
34
 
35
  if ( $file ) {
36
+ switch ( $this->options->path_scope ) {
37
+ case 'relative-domain':
38
+ $file = str_replace( 'https://', 'http://', $file );
39
+ $url = str_replace( 'https://', 'http://', home_url( '/' ) );
40
+
41
+ if ( strpos( $file, $url ) === 0 ) {
42
+ $file = '/' . substr( $file, strlen( $url ) );
43
+ }
44
+
45
+ break;
46
+ case 'relative-uploads':
47
+ $uploaddir = wp_upload_dir();
48
+ $file = str_replace( 'https://', 'http://', $file );
49
+ $url = str_replace( 'https://', 'http://', $uploaddir['baseurl'] );
50
+
51
+ if ( strpos( $file, $url ) === 0 ) {
52
+ $file = substr( $file, strlen( $url ) );
53
+ }
54
+
55
+ break;
56
+ }
57
+
58
  $value = $file;
59
  }
60
 
61
  return $value;
62
  }
63
+
64
+ /**
65
+ *
66
+ *
67
+ * @see CPAC_Column::display_settings()
68
+ * @since 2.3.4
69
+ */
70
+ public function display_settings() {
71
+
72
+ $this->display_field_path_scope();
73
+ }
74
+
75
+ /**
76
+ *
77
+ *
78
+ * @since 2.3.4
79
+ */
80
+ public function display_field_path_scope() {
81
+
82
+ $field_key = 'path_scope';
83
+ $label = __( 'Path scope', 'cpac' );
84
+ $description = __( 'Part of the file path to display', 'cpac' );
85
+
86
+ ?>
87
+ <tr class="column_<?php echo $field_key; ?>">
88
+ <?php $this->label_view( $label, $description, $field_key ); ?>
89
+ <td class="input">
90
+ <label for="<?php $this->attr_id( $field_key ); ?>-full">
91
+ <input type="radio" value="full" name="<?php $this->attr_name( $field_key ); ?>" id="<?php $this->attr_id( $field_key ); ?>-full"<?php checked( $this->options->path_scope, 'full' ); ?> />
92
+ <?php _e( 'Full path', 'cpac' ); ?>
93
+ </label>
94
+ <br/>
95
+ <label for="<?php $this->attr_id( $field_key ); ?>-relative-domain">
96
+ <input type="radio" value="relative-domain" name="<?php $this->attr_name( $field_key ); ?>" id="<?php $this->attr_id( $field_key ); ?>-relative-domain"<?php checked( $this->options->path_scope, 'relative-domain' ); ?> />
97
+ <?php _e( 'Relative to domain', 'cpac' ); ?>
98
+ </label>
99
+ <br/>
100
+ <label for="<?php $this->attr_id( $field_key ); ?>-relative-uploads">
101
+ <input type="radio" value="relative-uploads" name="<?php $this->attr_name( $field_key ); ?>" id="<?php $this->attr_id( $field_key ); ?>-relative-uploads"<?php checked( $this->options->path_scope, 'relative-uploads' ); ?> />
102
+ <?php _e( 'Relative to main uploads folder ', 'cpac' ); ?>
103
+ </label>
104
+ </td>
105
+ </tr>
106
+ <?php
107
+ }
108
+
109
  }
classes/column/post/depth.php CHANGED
@@ -2,38 +2,47 @@
2
  /**
3
  * Depth of the current page (number of ancestors + 1)
4
  *
5
- * @since NEWVERSION
6
  */
7
  class CPAC_Column_Post_Depth extends CPAC_Column {
8
 
9
  /**
10
  * @see CPAC_Column::init()
11
- * @since NEWVERSION
12
  */
13
  public function init() {
14
 
15
  parent::init();
16
 
17
  // Properties
18
- $this->properties['type'] = 'column-depth';
19
- $this->properties['label'] = __( 'Depth', 'cpac' );
20
  }
21
 
22
  /**
23
  * @see CPAC_Column::get_value()
24
- * @since NEWVERSION
25
  */
26
- function get_value( $post_id ) {
27
 
28
  return $this->get_raw_value( $post_id );
29
  }
30
 
31
  /**
32
  * @see CPAC_Column::get_raw_value()
33
- * @since NEWVERSION
34
  */
35
- function get_raw_value( $post_id ) {
36
 
37
  return count( get_post_ancestors( $post_id ) ) + 1;
38
  }
 
 
 
 
 
 
 
 
 
39
  }
2
  /**
3
  * Depth of the current page (number of ancestors + 1)
4
  *
5
+ * @since 2.3.4
6
  */
7
  class CPAC_Column_Post_Depth extends CPAC_Column {
8
 
9
  /**
10
  * @see CPAC_Column::init()
11
+ * @since 2.3.4
12
  */
13
  public function init() {
14
 
15
  parent::init();
16
 
17
  // Properties
18
+ $this->properties['type'] = 'column-depth';
19
+ $this->properties['label'] = __( 'Depth', 'cpac' );
20
  }
21
 
22
  /**
23
  * @see CPAC_Column::get_value()
24
+ * @since 2.3.4
25
  */
26
+ public function get_value( $post_id ) {
27
 
28
  return $this->get_raw_value( $post_id );
29
  }
30
 
31
  /**
32
  * @see CPAC_Column::get_raw_value()
33
+ * @since 2.3.4
34
  */
35
+ public function get_raw_value( $post_id ) {
36
 
37
  return count( get_post_ancestors( $post_id ) ) + 1;
38
  }
39
+
40
+ /**
41
+ * @see CPAC_Column::apply_conditional()
42
+ * @since 2.0
43
+ */
44
+ public function apply_conditional() {
45
+
46
+ return is_post_type_hierarchical( $this->storage_model->get_post_type() );
47
+ }
48
  }
classes/column/post/parent.php CHANGED
@@ -24,7 +24,7 @@ class CPAC_Column_Post_Parent extends CPAC_Column {
24
  * @see CPAC_Column::get_value()
25
  * @since 2.0
26
  */
27
- function get_value( $post_id ) {
28
 
29
  if ( !( $parent_id = $this->get_raw_value( $post_id ) ) ) {
30
  return false;
@@ -40,12 +40,13 @@ class CPAC_Column_Post_Parent extends CPAC_Column {
40
  * @see CPAC_Column::get_raw_value()
41
  * @since 2.0.3
42
  */
43
- function get_raw_value( $post_id ) {
44
 
45
  $parent_id = get_post_field( 'post_parent', $post_id );
46
 
47
- if ( !$parent_id || !is_numeric( $parent_id ) )
48
  return false;
 
49
 
50
  return $parent_id;
51
  }
@@ -54,11 +55,8 @@ class CPAC_Column_Post_Parent extends CPAC_Column {
54
  * @see CPAC_Column::apply_conditional()
55
  * @since 2.0
56
  */
57
- function apply_conditional() {
58
-
59
- if ( post_type_supports( $this->storage_model->key, 'page-attributes' ) )
60
- return true;
61
 
62
- return false;
63
  }
64
  }
24
  * @see CPAC_Column::get_value()
25
  * @since 2.0
26
  */
27
+ public function get_value( $post_id ) {
28
 
29
  if ( !( $parent_id = $this->get_raw_value( $post_id ) ) ) {
30
  return false;
40
  * @see CPAC_Column::get_raw_value()
41
  * @since 2.0.3
42
  */
43
+ public function get_raw_value( $post_id ) {
44
 
45
  $parent_id = get_post_field( 'post_parent', $post_id );
46
 
47
+ if ( ! $parent_id || ! is_numeric( $parent_id ) ) {
48
  return false;
49
+ }
50
 
51
  return $parent_id;
52
  }
55
  * @see CPAC_Column::apply_conditional()
56
  * @since 2.0
57
  */
58
+ public function apply_conditional() {
 
 
 
59
 
60
+ return is_post_type_hierarchical( $this->storage_model->get_post_type() );
61
  }
62
  }
classes/column/post/slug.php CHANGED
@@ -34,6 +34,6 @@ class CPAC_Column_Post_Slug extends CPAC_Column {
34
  */
35
  function get_raw_value( $post_id ) {
36
 
37
- return get_post_field( 'post_name', $post_id );
38
  }
39
  }
34
  */
35
  function get_raw_value( $post_id ) {
36
 
37
+ return get_post_field( 'post_name', $post_id, 'raw' );
38
  }
39
  }
classes/column/taxonomy.php CHANGED
@@ -28,7 +28,7 @@ class CPAC_Column_Taxonomy extends CPAC_Column {
28
  * @see CPAC_Column::get_value()
29
  * @since 2.0
30
  */
31
- function get_value( $post_id ) {
32
  $term_ids = $this->get_raw_value( $post_id );
33
 
34
  return $this->get_terms_for_display( $term_ids, $this->options->taxonomy );
@@ -38,16 +38,24 @@ class CPAC_Column_Taxonomy extends CPAC_Column {
38
  * @see CPAC_Column::get_raw_value()
39
  * @since 2.0.3
40
  */
41
- function get_raw_value( $post_id ) {
42
 
43
  return wp_get_post_terms( $post_id, $this->options->taxonomy, array( 'fields' => 'ids' ) );
44
  }
45
 
 
 
 
 
 
 
 
 
46
  /**
47
  * @see CPAC_Column::apply_conditional()
48
  * @since 2.0
49
  */
50
- function apply_conditional() {
51
 
52
  $post_type = $this->get_post_type();
53
 
@@ -64,7 +72,7 @@ class CPAC_Column_Taxonomy extends CPAC_Column {
64
  * @see CPAC_Column::display_settings()
65
  * @since 2.0
66
  */
67
- function display_settings() {
68
 
69
  $taxonomies = get_object_taxonomies( $this->get_post_type(), 'objects' );
70
 
28
  * @see CPAC_Column::get_value()
29
  * @since 2.0
30
  */
31
+ public function get_value( $post_id ) {
32
  $term_ids = $this->get_raw_value( $post_id );
33
 
34
  return $this->get_terms_for_display( $term_ids, $this->options->taxonomy );
38
  * @see CPAC_Column::get_raw_value()
39
  * @since 2.0.3
40
  */
41
+ public function get_raw_value( $post_id ) {
42
 
43
  return wp_get_post_terms( $post_id, $this->options->taxonomy, array( 'fields' => 'ids' ) );
44
  }
45
 
46
+ /**
47
+ * @see CPAC_Column::get_value()
48
+ * @since 2.3.4
49
+ */
50
+ public function get_taxonomy() {
51
+ return $this->options->taxonomy;
52
+ }
53
+
54
  /**
55
  * @see CPAC_Column::apply_conditional()
56
  * @since 2.0
57
  */
58
+ public function apply_conditional() {
59
 
60
  $post_type = $this->get_post_type();
61
 
72
  * @see CPAC_Column::display_settings()
73
  * @since 2.0
74
  */
75
+ public function display_settings() {
76
 
77
  $taxonomies = get_object_taxonomies( $this->get_post_type(), 'objects' );
78
 
classes/column/user/comment-count.php CHANGED
@@ -15,8 +15,8 @@ class CPAC_Column_User_Comment_Count extends CPAC_Column {
15
  parent::init();
16
 
17
  // Properties
18
- $this->properties['type'] = 'column-user_commentcount';
19
- $this->properties['label'] = __( 'Comment Count' );
20
  }
21
 
22
  /**
@@ -36,7 +36,8 @@ class CPAC_Column_User_Comment_Count extends CPAC_Column {
36
 
37
  return get_comments( array(
38
  'user_id' => $user_id,
39
- 'count' => true
 
40
  ));
41
  }
42
  }
15
  parent::init();
16
 
17
  // Properties
18
+ $this->properties['type'] = 'column-user_commentcount';
19
+ $this->properties['label'] = __( 'Comment Count' );
20
  }
21
 
22
  /**
36
 
37
  return get_comments( array(
38
  'user_id' => $user_id,
39
+ 'count' => true,
40
+ 'orderby' => false
41
  ));
42
  }
43
  }
classes/settings.php CHANGED
@@ -600,6 +600,11 @@ class CPAC_Settings {
600
  'addons' => __( 'Add-ons', 'cpac' )
601
  );
602
 
 
 
 
 
 
603
  $tabs = apply_filters( 'cac/settings/tabs', $tabs );
604
 
605
  $current_tab = ( empty( $_GET['tab'] ) ) ? 'general' : sanitize_text_field( urldecode( $_GET['tab'] ) );
@@ -641,7 +646,7 @@ class CPAC_Settings {
641
  </h2>
642
  </div>
643
 
644
- <?php if ( $storage_model->stored_columns !== NULL ) : ?>
645
  <div class="error below-h2">
646
  <p><?php printf( __( 'The columns for %s are set up via PHP and can therefore not be edited in the admin panel.', 'cpac' ), '<strong>' . $storage_model->label . '</strong>' ); ?></p>
647
  </div>
@@ -650,7 +655,7 @@ class CPAC_Settings {
650
 
651
  <div class="columns-right">
652
  <div class="columns-right-inside">
653
- <?php if ( $storage_model->stored_columns === NULL ) : ?>
654
  <div class="sidebox" id="form-actions">
655
  <h3>
656
  <?php _e( 'Store settings', 'cpac' ) ?>
@@ -807,7 +812,7 @@ class CPAC_Settings {
807
 
808
  <div class="columns-left">
809
  <div class="cpac-boxes">
810
- <?php if ( $storage_model->stored_columns === NULL ) : ?>
811
  <div class="cpac-columns">
812
 
813
  <form method="post" action="">
@@ -861,8 +866,13 @@ class CPAC_Settings {
861
  //$this->tab_addons();
862
  break;
863
  default:
864
- echo apply_filters( 'cac/settings/tab_contents/tab=' . $current_tab, apply_filters( 'cac/settings/tab_contents', '', $current_tab ) );
865
- break;
 
 
 
 
 
866
  endswitch;
867
  ?>
868
  </div><!--.wrap-->
600
  'addons' => __( 'Add-ons', 'cpac' )
601
  );
602
 
603
+ /**
604
+ * Filter the tabs on the settings screen
605
+ *
606
+ * @param array $tabs Available tabs
607
+ */
608
  $tabs = apply_filters( 'cac/settings/tabs', $tabs );
609
 
610
  $current_tab = ( empty( $_GET['tab'] ) ) ? 'general' : sanitize_text_field( urldecode( $_GET['tab'] ) );
646
  </h2>
647
  </div>
648
 
649
+ <?php if ( $storage_model->is_using_php_export() ) : ?>
650
  <div class="error below-h2">
651
  <p><?php printf( __( 'The columns for %s are set up via PHP and can therefore not be edited in the admin panel.', 'cpac' ), '<strong>' . $storage_model->label . '</strong>' ); ?></p>
652
  </div>
655
 
656
  <div class="columns-right">
657
  <div class="columns-right-inside">
658
+ <?php if ( ! $storage_model->is_using_php_export() ) : ?>
659
  <div class="sidebox" id="form-actions">
660
  <h3>
661
  <?php _e( 'Store settings', 'cpac' ) ?>
812
 
813
  <div class="columns-left">
814
  <div class="cpac-boxes">
815
+ <?php if ( ! $storage_model->is_using_php_export() ) : ?>
816
  <div class="cpac-columns">
817
 
818
  <form method="post" action="">
866
  //$this->tab_addons();
867
  break;
868
  default:
869
+
870
+ /**
871
+ * Action to add tab contents
872
+ *
873
+ */
874
+ do_action( 'cac/settings/tab_contents/tab=' . $current_tab );
875
+
876
  endswitch;
877
  ?>
878
  </div><!--.wrap-->
classes/storage_model.php CHANGED
@@ -46,6 +46,14 @@ abstract class CPAC_Storage_Model {
46
  */
47
  public $page;
48
 
 
 
 
 
 
 
 
 
49
  /**
50
  * @since 2.0.1
51
  * @var array
@@ -134,8 +142,9 @@ abstract class CPAC_Storage_Model {
134
 
135
  $fields = $this->get_meta();
136
 
137
- if ( is_wp_error( $fields ) || empty( $fields ) )
138
  $keys = false;
 
139
 
140
  if ( $fields ) {
141
  foreach ( $fields as $field ) {
@@ -473,8 +482,25 @@ abstract class CPAC_Storage_Model {
473
  return get_option( "cpac_options_{$this->key}" );
474
  }
475
 
 
 
 
 
 
476
  public function set_stored_columns( $columns ) {
477
  $this->stored_columns = $columns;
 
 
 
 
 
 
 
 
 
 
 
 
478
  }
479
 
480
  /**
@@ -484,6 +510,20 @@ abstract class CPAC_Storage_Model {
484
  return isset( $this->post_type ) ? $this->post_type : false;
485
  }
486
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
487
  /**
488
  * Only set columns on current screens
489
  *
@@ -500,7 +540,6 @@ abstract class CPAC_Storage_Model {
500
 
501
  /**
502
  * @since 2.0.2
503
- * @param bool $ignore_check This will allow (3rd party plugins) to populate columns outside the approved screens.
504
  */
505
  public function set_columns() {
506
 
@@ -563,16 +602,22 @@ abstract class CPAC_Storage_Model {
563
  * @since 2.0.2
564
  */
565
  public function get_registered_columns() {
566
-
567
  $types = array();
568
-
569
  foreach ( $this->column_types as $grouptypes ) {
570
  $types = array_merge( $types, $grouptypes );
571
  }
572
-
573
  return $types;
574
  }
575
 
 
 
 
 
 
 
 
 
 
576
  /**
577
  * @since 2.0
578
  */
@@ -608,8 +653,12 @@ abstract class CPAC_Storage_Model {
608
  $column = clone $registered_columns[ $options['type'] ];
609
  $column->set_clone( $options['clone'] );
610
 
 
 
 
611
  // repopulate the options, so they contains the right stored options
612
- $column->populate_options();
 
613
  $column->sanitize_label();
614
 
615
  $columns[ $name ] = $column;
@@ -677,7 +726,7 @@ abstract class CPAC_Storage_Model {
677
  */
678
  public function add_headings( $columns ) {
679
 
680
- // only add headings on overview screens, to prevent deactivating columns in the Storage Model.
681
  if ( ! $this->is_columns_screen() ) {
682
  return $columns;
683
  }
@@ -696,8 +745,11 @@ abstract class CPAC_Storage_Model {
696
  // add active stored headings
697
  foreach ( $stored_columns as $column_name => $options ) {
698
 
 
 
 
699
  /**
700
- * Filter the column headers label for use in a WP_List_Table
701
  * Label needs stripslashes() for HTML tagged labels, like icons and checkboxes
702
  *
703
  * @since 2.0
@@ -706,7 +758,7 @@ abstract class CPAC_Storage_Model {
706
  * @param array $options Column options
707
  * @param CPAC_Storage_Model $storage_model Storage model class instance
708
  */
709
- $label = apply_filters( 'cac/headings/label', stripslashes( $options['label'] ), $column_name, $options, $this );
710
  $label = str_replace( '[cpac_site_url]', site_url(), $label );
711
 
712
  $column_headings[ $column_name ] = $label;
@@ -715,24 +767,12 @@ abstract class CPAC_Storage_Model {
715
  // Add 3rd party columns that have ( or could ) not been stored.
716
  // For example when a plugin has been activated after storing column settings.
717
  // When $diff contains items, it means an available column has not been stored.
718
- if ( $diff = array_diff( array_keys( $columns ), $this->get_default_stored_columns() ) ) {
719
  foreach ( $diff as $column_name ) {
720
  $column_headings[ $column_name ] = $columns[ $column_name ];
721
  }
722
  }
723
 
724
- // Remove 3rd party columns that have been deactivated.
725
- // While the column settings have not been stored yet.
726
- // When $diff contains items, it means the default stored columns are not available anymore.
727
- // @todo: check if working properly. cuurently issues with woocommerce columns
728
- /*
729
- if ( $diff = array_diff( $this->get_default_stored_columns(), array_keys( $columns ) ) ) {
730
- foreach ( $diff as $column_name ) {
731
- if( isset( $column_headings[ $column_name ] ) )
732
- unset( $column_headings[ $column_name ] );
733
- }
734
- }*/
735
-
736
  return $column_headings;
737
  }
738
 
@@ -742,7 +782,7 @@ abstract class CPAC_Storage_Model {
742
  */
743
  protected function get_screen_link() {
744
 
745
- return admin_url( $this->page . '.php' );
746
  }
747
 
748
  /**
@@ -750,7 +790,9 @@ abstract class CPAC_Storage_Model {
750
  */
751
  public function screen_link() {
752
 
753
- echo '<a href="' . $this->get_screen_link() . '" class="add-new-h2">' . __('View', 'cpac') . '</a>';
 
 
754
  }
755
 
756
  /**
@@ -769,15 +811,8 @@ abstract class CPAC_Storage_Model {
769
  * @return boolean
770
  */
771
  public function is_doing_ajax() {
772
- if ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) {
773
- return false;
774
- }
775
 
776
- if ( ( isset( $_POST['plugin_id'] ) && 'cpac' == $_POST['plugin_id'] ) || ( isset( $_GET['plugin_id'] ) && 'cpac' == $_GET['plugin_id'] ) ) {
777
- return true;
778
- }
779
-
780
- return false;
781
  }
782
 
783
  /**
@@ -812,6 +847,11 @@ abstract class CPAC_Storage_Model {
812
  }
813
  }
814
 
 
 
 
 
 
815
  return true;
816
  }
817
 
46
  */
47
  public $page;
48
 
49
+ /**
50
+ * Uses PHP export to display settings
51
+ *
52
+ * @since 2.0
53
+ * @var string
54
+ */
55
+ private $php_export = false;
56
+
57
  /**
58
  * @since 2.0.1
59
  * @var array
142
 
143
  $fields = $this->get_meta();
144
 
145
+ if ( is_wp_error( $fields ) || empty( $fields ) ) {
146
  $keys = false;
147
+ }
148
 
149
  if ( $fields ) {
150
  foreach ( $fields as $field ) {
482
  return get_option( "cpac_options_{$this->key}" );
483
  }
484
 
485
+ /**
486
+ * Set stopred column by 3rd party plugins
487
+ *
488
+ * @since 2.3
489
+ */
490
  public function set_stored_columns( $columns ) {
491
  $this->stored_columns = $columns;
492
+
493
+ // columns settings are set by external plugin
494
+ $this->php_export = true;
495
+ }
496
+
497
+ /**
498
+ * Are column set by third party plugin
499
+ *
500
+ * @since 2.3.4
501
+ */
502
+ public function is_using_php_export() {
503
+ return $this->php_export;
504
  }
505
 
506
  /**
510
  return isset( $this->post_type ) ? $this->post_type : false;
511
  }
512
 
513
+ /**
514
+ * @since 2.3.4
515
+ */
516
+ public function get_type() {
517
+ return $this->type;
518
+ }
519
+
520
+ /**
521
+ * @since 2.3.4
522
+ */
523
+ public function get_meta_type() {
524
+ return $this->meta_type;
525
+ }
526
+
527
  /**
528
  * Only set columns on current screens
529
  *
540
 
541
  /**
542
  * @since 2.0.2
 
543
  */
544
  public function set_columns() {
545
 
602
  * @since 2.0.2
603
  */
604
  public function get_registered_columns() {
 
605
  $types = array();
 
606
  foreach ( $this->column_types as $grouptypes ) {
607
  $types = array_merge( $types, $grouptypes );
608
  }
 
609
  return $types;
610
  }
611
 
612
+ /**
613
+ * @since 2.3.4
614
+ * @param string Column Type
615
+ */
616
+ public function get_registered_column( $column_type ) {
617
+ $columns = $this->get_registered_columns();
618
+ return isset( $columns[ $column_type ] ) ? $columns[ $column_type ] : false;
619
+ }
620
+
621
  /**
622
  * @since 2.0
623
  */
653
  $column = clone $registered_columns[ $options['type'] ];
654
  $column->set_clone( $options['clone'] );
655
 
656
+ // preload options when php export is being used
657
+ $preload = $this->is_using_php_export() ? $options : false;
658
+
659
  // repopulate the options, so they contains the right stored options
660
+ $column->populate_options( $preload );
661
+
662
  $column->sanitize_label();
663
 
664
  $columns[ $name ] = $column;
726
  */
727
  public function add_headings( $columns ) {
728
 
729
+ // only add headings on overview screens, to prevent deactivating columns on the column settings screen
730
  if ( ! $this->is_columns_screen() ) {
731
  return $columns;
732
  }
745
  // add active stored headings
746
  foreach ( $stored_columns as $column_name => $options ) {
747
 
748
+ // Label needs stripslashes() for HTML tagged labels, like icons and checkboxes
749
+ $label = stripslashes( $options['label'] );
750
+
751
  /**
752
+ * Filter the stored column headers label for use in a WP_List_Table
753
  * Label needs stripslashes() for HTML tagged labels, like icons and checkboxes
754
  *
755
  * @since 2.0
758
  * @param array $options Column options
759
  * @param CPAC_Storage_Model $storage_model Storage model class instance
760
  */
761
+ $label = apply_filters( 'cac/headings/label', $label, $column_name, $options, $this );
762
  $label = str_replace( '[cpac_site_url]', site_url(), $label );
763
 
764
  $column_headings[ $column_name ] = $label;
767
  // Add 3rd party columns that have ( or could ) not been stored.
768
  // For example when a plugin has been activated after storing column settings.
769
  // When $diff contains items, it means an available column has not been stored.
770
+ if ( ! $this->is_using_php_export() && ( $diff = array_diff( array_keys( $columns ), $this->get_default_stored_columns() ) ) ) {
771
  foreach ( $diff as $column_name ) {
772
  $column_headings[ $column_name ] = $columns[ $column_name ];
773
  }
774
  }
775
 
 
 
 
 
 
 
 
 
 
 
 
 
776
  return $column_headings;
777
  }
778
 
782
  */
783
  protected function get_screen_link() {
784
 
785
+ return is_network_admin() ? network_admin_url( $this->page . '.php' ) : admin_url( $this->page . '.php' );
786
  }
787
 
788
  /**
790
  */
791
  public function screen_link() {
792
 
793
+ if ( $link = $this->get_screen_link() ) {
794
+ echo '<a href="' . $link . '" class="add-new-h2">' . __('View', 'cpac') . '</a>';
795
+ }
796
  }
797
 
798
  /**
811
  * @return boolean
812
  */
813
  public function is_doing_ajax() {
 
 
 
814
 
815
+ return cac_is_doing_ajax();
 
 
 
 
816
  }
817
 
818
  /**
847
  }
848
  }
849
 
850
+ // users
851
+ if ( 'wp-users' == $this->key && is_network_admin() ) {
852
+ return false;
853
+ }
854
+
855
  return true;
856
  }
857
 
classes/storage_model/comment.php CHANGED
@@ -17,7 +17,7 @@ class CPAC_Storage_Model_Comment extends CPAC_Storage_Model {
17
  $this->menu_type = 'other';
18
 
19
  // headings
20
- add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ), 100 );
21
 
22
  // values
23
  add_action( 'manage_comments_custom_column', array( $this, 'manage_value' ), 100, 2 );
@@ -25,6 +25,23 @@ class CPAC_Storage_Model_Comment extends CPAC_Storage_Model {
25
  parent::__construct();
26
  }
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  /**
29
  * Get WP default supported admin columns per post type.
30
  *
@@ -35,7 +52,9 @@ class CPAC_Storage_Model_Comment extends CPAC_Storage_Model {
35
  */
36
  public function get_default_columns() {
37
 
38
- if ( ! function_exists('_get_list_table') ) return array();
 
 
39
 
40
  // You can use this filter to add thirdparty columns by hooking into this.
41
  // See classes/third_party.php for an example.
17
  $this->menu_type = 'other';
18
 
19
  // headings
20
+ add_filter( "manage_{$this->page}_columns", array( $this, 'add_headings' ), 100 ); // Filter is located in get_column_headers().
21
 
22
  // values
23
  add_action( 'manage_comments_custom_column', array( $this, 'manage_value' ), 100, 2 );
25
  parent::__construct();
26
  }
27
 
28
+ /**
29
+ * @since 2.3.4
30
+ * @see CPAC_Storage_Model::is_columns_screen()
31
+ */
32
+ public function is_columns_screen() {
33
+
34
+ $is_columns_screen = parent::is_columns_screen();
35
+
36
+ if ( ! $is_columns_screen ) {
37
+ if ( ! empty( $_REQUEST['_ajax_nonce-replyto-comment'] ) && wp_verify_nonce( $_REQUEST['_ajax_nonce-replyto-comment'], 'replyto-comment' ) ) {
38
+ $is_columns_screen = true;
39
+ }
40
+ }
41
+
42
+ return $is_columns_screen;
43
+ }
44
+
45
  /**
46
  * Get WP default supported admin columns per post type.
47
  *
52
  */
53
  public function get_default_columns() {
54
 
55
+ if ( ! function_exists('_get_list_table') ) {
56
+ return array();
57
+ }
58
 
59
  // You can use this filter to add thirdparty columns by hooking into this.
60
  // See classes/third_party.php for an example.
classes/storage_model/post.php CHANGED
@@ -23,12 +23,13 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
23
  add_filter( "manage_{$post_type}_posts_columns", array( $this, 'add_headings' ), 100, 1 );
24
 
25
  // Deprecated ( as of 3.1 ) Note: This one is still used by woocommerce.
26
- // Priority set to 11 top make sure the WooCommerce headings are overwritten by CAC
 
27
  // @todo_minor check compatibility issues for this deprecated filter
28
  add_filter( "manage_{$this->page}-{$post_type}_columns", array( $this, 'add_headings' ), 100, 1 );
29
 
30
  // values
31
- add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value' ), 100, 2 );
32
 
33
  // @todo: description
34
  add_action( 'load-edit.php', array( $this, 'set_columns_on_current_screen' ), 1000 );
@@ -49,7 +50,7 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
49
  setup_postdata( $post );
50
 
51
  // Remove Admin Columns action for this column's value
52
- remove_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value' ), 100, 2 );
53
 
54
  ob_start();
55
 
@@ -66,7 +67,7 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
66
  $contents = ob_get_clean();
67
 
68
  // Add removed Admin Columns action for this column's value
69
- add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value' ), 100, 2 );
70
 
71
  // Restore original post object
72
  $post = $post_old;
@@ -189,8 +190,9 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
189
  $post = get_post( $post_id );
190
  setup_postdata( $post );
191
 
192
- // Column value
193
  $value = '';
 
 
194
  if ( $column = $this->get_column_by_name( $column_name ) ) {
195
  $value = $column->get_value( $post_id );
196
  }
@@ -208,4 +210,24 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
208
 
209
  echo $value;
210
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  }
23
  add_filter( "manage_{$post_type}_posts_columns", array( $this, 'add_headings' ), 100, 1 );
24
 
25
  // Deprecated ( as of 3.1 ) Note: This one is still used by woocommerce.
26
+ // Priority set to 100 top make sure the WooCommerce headings are overwritten by CAC
27
+ // Filter is located in get_column_headers().
28
  // @todo_minor check compatibility issues for this deprecated filter
29
  add_filter( "manage_{$this->page}-{$post_type}_columns", array( $this, 'add_headings' ), 100, 1 );
30
 
31
  // values
32
+ add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value_callback' ), 100, 2 );
33
 
34
  // @todo: description
35
  add_action( 'load-edit.php', array( $this, 'set_columns_on_current_screen' ), 1000 );
50
  setup_postdata( $post );
51
 
52
  // Remove Admin Columns action for this column's value
53
+ remove_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value_callback' ), 100, 2 );
54
 
55
  ob_start();
56
 
67
  $contents = ob_get_clean();
68
 
69
  // Add removed Admin Columns action for this column's value
70
+ add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value_callback' ), 100, 2 );
71
 
72
  // Restore original post object
73
  $post = $post_old;
190
  $post = get_post( $post_id );
191
  setup_postdata( $post );
192
 
 
193
  $value = '';
194
+
195
+ // Set column value
196
  if ( $column = $this->get_column_by_name( $column_name ) ) {
197
  $value = $column->get_value( $post_id );
198
  }
210
 
211
  echo $value;
212
  }
213
+
214
+ /**
215
+ * Manage value callback
216
+ *
217
+ * @since ?
218
+ */
219
+ public function manage_value_callback( $column_name, $post_id ) {
220
+
221
+ $column = $this->get_column_by_name( $column_name );
222
+
223
+ if ( $column && ! empty( $column->properties->handle ) ) {
224
+ ob_start();
225
+ $this->manage_value( $column_name, $post_id );
226
+ ob_end_clean();
227
+ }
228
+ else {
229
+ $this->manage_value( $column_name, $post_id );
230
+ }
231
+ }
232
+
233
  }
classes/third_party.php CHANGED
@@ -30,7 +30,7 @@ function cpac_pre_load_wordpress_seo_class_metabox() {
30
  ) {
31
 
32
  require_once WPSEO_PATH . 'admin/class-metabox.php';
33
- if ( class_exists( 'WPSEO_Metabox' ) ) {
34
  new WPSEO_Metabox;
35
  }
36
  }
@@ -45,7 +45,7 @@ add_action( 'plugins_loaded', 'cpac_pre_load_wordpress_seo_class_metabox', 0 );
45
  */
46
  function cac_add_wpml_columns( $storage_model ) {
47
 
48
- if ( ! class_exists('SitePress') ) {
49
  return;
50
  }
51
 
@@ -81,7 +81,7 @@ add_action( 'cac/set_columns', 'cac_add_wpml_columns' );
81
  * @return array Posttypes
82
  */
83
  function cpac_remove_acf_from_cpac_post_types( $post_types ) {
84
- if ( class_exists('Acf') ) {
85
  if ( isset( $post_types['acf'] ) ) {
86
  unset( $post_types['acf'] );
87
  }
@@ -97,12 +97,14 @@ add_filter( 'cac/post_types', 'cpac_remove_acf_from_cpac_post_types' );
97
  /**
98
  * bbPress - remove posttypes: forum, reply and topic
99
  *
100
- * @since 2.0
 
 
101
  *
102
  * @return array Posttypes
103
  */
104
  function cpac_posttypes_remove_bbpress( $post_types ) {
105
- if ( class_exists( 'bbPress' ) ) {
106
  unset( $post_types['topic'] );
107
  unset( $post_types['reply'] );
108
  unset( $post_types['forum'] );
@@ -120,7 +122,7 @@ add_filter( 'cac/post_types', 'cpac_posttypes_remove_bbpress' );
120
  * @return array Posttypes
121
  */
122
  function cpac_remove_ninja_forms_from_cpac_post_types( $post_types ) {
123
- if ( class_exists('Ninja_Forms') ) {
124
  if ( isset( $post_types['nf_sub'] ) ) {
125
  unset( $post_types['nf_sub'] );
126
  }
30
  ) {
31
 
32
  require_once WPSEO_PATH . 'admin/class-metabox.php';
33
+ if ( class_exists( 'WPSEO_Metabox', false ) ) {
34
  new WPSEO_Metabox;
35
  }
36
  }
45
  */
46
  function cac_add_wpml_columns( $storage_model ) {
47
 
48
+ if ( ! class_exists( 'SitePress', false ) ) {
49
  return;
50
  }
51
 
81
  * @return array Posttypes
82
  */
83
  function cpac_remove_acf_from_cpac_post_types( $post_types ) {
84
+ if ( class_exists( 'Acf', false ) ) {
85
  if ( isset( $post_types['acf'] ) ) {
86
  unset( $post_types['acf'] );
87
  }
97
  /**
98
  * bbPress - remove posttypes: forum, reply and topic
99
  *
100
+ * The default columns of bbPress are not recognised by Admin Columns as of yet.
101
+ *
102
+ * @since 2.0
103
  *
104
  * @return array Posttypes
105
  */
106
  function cpac_posttypes_remove_bbpress( $post_types ) {
107
+ if ( class_exists( 'bbPress', false ) ) {
108
  unset( $post_types['topic'] );
109
  unset( $post_types['reply'] );
110
  unset( $post_types['forum'] );
122
  * @return array Posttypes
123
  */
124
  function cpac_remove_ninja_forms_from_cpac_post_types( $post_types ) {
125
+ if ( class_exists( 'Ninja_Forms', false ) ) {
126
  if ( isset( $post_types['nf_sub'] ) ) {
127
  unset( $post_types['nf_sub'] );
128
  }
classes/utility.php CHANGED
@@ -29,3 +29,42 @@ function cpac_admin_notice() {
29
  echo implode( $GLOBALS['cpac_messages'] );
30
  }
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  echo implode( $GLOBALS['cpac_messages'] );
30
  }
31
 
32
+ /**
33
+ * Is doing ajax
34
+ *
35
+ * @since 2.3.4
36
+ */
37
+ function cac_is_doing_ajax() {
38
+ if ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) {
39
+ return false;
40
+ }
41
+
42
+ if ( ( isset( $_POST['action'] ) && 'inline-save' === $_POST['action'] ) ) {
43
+ return true;
44
+ }
45
+
46
+ if ( ( isset( $_POST['action'] ) && 'edit-comment' === $_POST['action'] ) ) {
47
+ return true;
48
+ }
49
+
50
+ if ( ( isset( $_POST['action'] ) && 'replyto-comment' === $_POST['action'] ) ) {
51
+ return true;
52
+ }
53
+
54
+ if ( ( isset( $_POST['plugin_id'] ) && 'cpac' == $_POST['plugin_id'] ) || ( isset( $_GET['plugin_id'] ) && 'cpac' == $_GET['plugin_id'] ) ) {
55
+ return true;
56
+ }
57
+
58
+ return false;
59
+ }
60
+
61
+ /**
62
+ * Returns true if the installed version of WooCommerce is version X or greater
63
+ *
64
+ * @since 2.3.4
65
+ * @return boolean true if the installed version of WooCommerce is version X or greater
66
+ */
67
+ function cpac_is_wc_version_gte( $version = '1.0' ) {
68
+ $wc_version = defined( 'WC_VERSION' ) && WC_VERSION ? WC_VERSION : null;
69
+ return $wc_version && version_compare( $wc_version, $version, '>=' );
70
+ }
codepress-admin-columns.php CHANGED
@@ -1,16 +1,16 @@
1
  <?php
2
  /*
3
- Plugin Name: Admin Columns
4
- Version: 2.3.3
5
- Description: Customize columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
6
- Author: AdminColumns.com
7
- Author URI: http://www.admincolumns.com
8
- Plugin URI: http://www.admincolumns.com
9
- Text Domain: cpac
10
- Domain Path: /languages
11
- License: GPLv2
12
-
13
- Copyright 2011-2014 AdminColumns.com info@admincolumns.com
14
 
15
  This program is free software; you can redistribute it and/or modify
16
  it under the terms of the GNU General Public License version 2 as published by
@@ -32,7 +32,7 @@ if ( ! defined( 'ABSPATH' ) ) {
32
  }
33
 
34
  // Plugin information
35
- define( 'CPAC_VERSION', '2.3.3' ); // Current plugin version
36
  define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // Latest version which requires an upgrade
37
  define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
38
  define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
@@ -105,6 +105,7 @@ class CPAC {
105
  // Hooks
106
  add_action( 'init', array( $this, 'localize' ) );
107
  add_action( 'wp_loaded', array( $this, 'maybe_set_storage_models' ), 5 );
 
108
  add_action( 'wp_loaded', array( $this, 'after_setup' ) ); // Setup callback, important to load after set_storage_models
109
  add_action( 'admin_enqueue_scripts', array( $this, 'scripts' ) );
110
  add_filter( 'plugin_action_links', array( $this, 'add_settings_link' ), 1, 2 );
@@ -176,8 +177,8 @@ class CPAC {
176
  */
177
  public function set_capabilities() {
178
  if ( $role = get_role( 'administrator' ) ) {
179
- $role->add_cap( 'manage_admin_columns' );
180
- }
181
  }
182
 
183
  /**
@@ -194,6 +195,22 @@ class CPAC {
194
  $this->set_storage_models();
195
  }
196
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  /**
198
  * Load the storage models, storing them in the storage_models property of this object
199
  *
@@ -241,8 +258,9 @@ class CPAC {
241
  *
242
  * @since 2.0
243
  * @param array $storage_models List of storage model class instances ( [key] => [CPAC_Storage_Model object], where [key] is the storage key, such as "user", "post" or "my_custom_post_type")
 
244
  */
245
- $this->storage_models = apply_filters( 'cac/storage_models', $storage_models );
246
  }
247
 
248
  /**
@@ -314,13 +332,37 @@ class CPAC {
314
  return apply_filters( 'cac/post_types', $post_types );
315
  }
316
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
317
  /**
318
  * Add a settings link to the Admin Columns entry in the plugin overview screen
319
  *
320
  * @since 1.0
321
  * @see filter:plugin_action_links
322
  */
323
- function add_settings_link( $links, $file ) {
324
 
325
  if ( $file != plugin_basename( __FILE__ ) ) {
326
  return $links;
@@ -339,7 +381,7 @@ class CPAC {
339
  * @param string $classes body classes
340
  * @return string
341
  */
342
- function admin_class( $classes ) {
343
 
344
  if ( $storage_model = $this->get_current_storage_model() ) {
345
  $classes .= " cp-{$storage_model->key}";
@@ -353,7 +395,7 @@ class CPAC {
353
  *
354
  * @since 1.4.0
355
  */
356
- function admin_scripts() {
357
 
358
  $css_column_width = '';
359
  $edit_link = '';
@@ -361,8 +403,9 @@ class CPAC {
361
  if ( $this->storage_models ) {
362
  foreach ( $this->storage_models as $storage_model ) {
363
 
364
- if ( ! $storage_model->is_columns_screen() )
365
  continue;
 
366
 
367
  // CSS: columns width
368
  if ( $columns = $storage_model->get_stored_columns() ) {
@@ -371,6 +414,11 @@ class CPAC {
371
  if ( ! empty( $options['width'] ) && is_numeric( $options['width'] ) && $options['width'] > 0 ) {
372
  $css_column_width .= ".cp-{$storage_model->key} .wrap table th.column-{$name} { width: {$options['width']}% !important; }";
373
  }
 
 
 
 
 
374
  }
375
  }
376
 
@@ -402,32 +450,20 @@ class CPAC {
402
  * Whether this request is an AJAX request and marked as admin-column-ajax or inline-save request.
403
  *
404
  * @since 2.2
405
- * @return bool Returns true if in an AJAX request, false otherwise
406
  */
407
- function is_doing_ajax() {
408
 
409
- if ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) {
410
- return false;
411
- }
412
-
413
- if ( ( isset( $_POST['action'] ) && 'inline-save' === $_POST['action'] ) ) {
414
- return true;
415
- }
416
-
417
- if ( ( isset( $_POST['plugin_id'] ) && 'cpac' == $_POST['plugin_id'] ) || ( isset( $_GET['plugin_id'] ) && 'cpac' == $_GET['plugin_id'] ) ) {
418
- return true;
419
- }
420
-
421
- return false;
422
  }
423
 
424
  /**
425
  * Whether this request is a columns screen (i.e. a content overview page)
426
  *
427
  * @since 2.2
428
- * @return bool Returns true if the current screen is a columns screen, false otherwise
429
  */
430
- function is_columns_screen() {
431
 
432
  global $pagenow;
433
 
@@ -451,7 +487,7 @@ class CPAC {
451
  * @since 2.2
452
  * @return bool True if the current screen is the settings screen, false otherwise
453
  */
454
- function is_settings_screen() {
455
 
456
  global $pagenow;
457
 
@@ -469,7 +505,7 @@ class CPAC {
469
  * @since 2.2
470
  * @return bool Whether the current screen is an Admin Columns screen
471
  */
472
- function is_cac_screen() {
473
 
474
  /**
475
  * Filter whether the current screen is a screen in which Admin Columns is active
1
  <?php
2
  /*
3
+ Plugin Name: Admin Columns
4
+ Version: 2.3.5
5
+ Description: Customize columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
6
+ Author: AdminColumns.com
7
+ Author URI: http://www.admincolumns.com
8
+ Plugin URI: http://www.admincolumns.com
9
+ Text Domain: cpac
10
+ Domain Path: /languages
11
+ License: GPLv2
12
+
13
+ Copyright 2011-2015 AdminColumns.com info@admincolumns.com
14
 
15
  This program is free software; you can redistribute it and/or modify
16
  it under the terms of the GNU General Public License version 2 as published by
32
  }
33
 
34
  // Plugin information
35
+ define( 'CPAC_VERSION', '2.3.5' ); // Current plugin version
36
  define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // Latest version which requires an upgrade
37
  define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
38
  define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
105
  // Hooks
106
  add_action( 'init', array( $this, 'localize' ) );
107
  add_action( 'wp_loaded', array( $this, 'maybe_set_storage_models' ), 5 );
108
+ add_action( 'wp_loaded', array( $this, 'maybe_load_php_export' ) );
109
  add_action( 'wp_loaded', array( $this, 'after_setup' ) ); // Setup callback, important to load after set_storage_models
110
  add_action( 'admin_enqueue_scripts', array( $this, 'scripts' ) );
111
  add_filter( 'plugin_action_links', array( $this, 'add_settings_link' ), 1, 2 );
177
  */
178
  public function set_capabilities() {
179
  if ( $role = get_role( 'administrator' ) ) {
180
+ $role->add_cap( 'manage_admin_columns' );
181
+ }
182
  }
183
 
184
  /**
195
  $this->set_storage_models();
196
  }
197
 
198
+ /**
199
+ * Load the php exported settings
200
+ *
201
+ * @since 2.3.5
202
+ */
203
+ public function maybe_load_php_export() {
204
+ global $_cac_exported_columns;
205
+ if ( $_cac_exported_columns ) {
206
+ foreach( $_cac_exported_columns as $model => $columns ) {
207
+ if ( $storage_model = $this->get_storage_model( $model ) ) {
208
+ $storage_model->set_stored_columns( $columns );
209
+ }
210
+ }
211
+ }
212
+ }
213
+
214
  /**
215
  * Load the storage models, storing them in the storage_models property of this object
216
  *
258
  *
259
  * @since 2.0
260
  * @param array $storage_models List of storage model class instances ( [key] => [CPAC_Storage_Model object], where [key] is the storage key, such as "user", "post" or "my_custom_post_type")
261
+ * @param object $this CPAC
262
  */
263
+ $this->storage_models = apply_filters( 'cac/storage_models', $storage_models, $this );
264
  }
265
 
266
  /**
332
  return apply_filters( 'cac/post_types', $post_types );
333
  }
334
 
335
+ /**
336
+ * Get a list of taxonomies supported by Admin Columns
337
+ *
338
+ * @since 1.0
339
+ *
340
+ * @return array List of taxonomies
341
+ */
342
+ public function get_taxonomies() {
343
+
344
+ $taxonomies = get_taxonomies( array( 'public' => true ) );
345
+
346
+ if ( isset( $taxonomies['post_format'] ) ) {
347
+ unset( $taxonomies['post_format'] );
348
+ }
349
+
350
+ /**
351
+ * Filter the post types for which Admin Columns is active
352
+ *
353
+ * @since 2.0
354
+ * @param array $post_types List of active post type names
355
+ */
356
+ return apply_filters( 'cac/taxonomies', $taxonomies );
357
+ }
358
+
359
  /**
360
  * Add a settings link to the Admin Columns entry in the plugin overview screen
361
  *
362
  * @since 1.0
363
  * @see filter:plugin_action_links
364
  */
365
+ public function add_settings_link( $links, $file ) {
366
 
367
  if ( $file != plugin_basename( __FILE__ ) ) {
368
  return $links;
381
  * @param string $classes body classes
382
  * @return string
383
  */
384
+ public function admin_class( $classes ) {
385
 
386
  if ( $storage_model = $this->get_current_storage_model() ) {
387
  $classes .= " cp-{$storage_model->key}";
395
  *
396
  * @since 1.4.0
397
  */
398
+ public function admin_scripts() {
399
 
400
  $css_column_width = '';
401
  $edit_link = '';
403
  if ( $this->storage_models ) {
404
  foreach ( $this->storage_models as $storage_model ) {
405
 
406
+ if ( ! $storage_model->is_columns_screen() ) {
407
  continue;
408
+ }
409
 
410
  // CSS: columns width
411
  if ( $columns = $storage_model->get_stored_columns() ) {
414
  if ( ! empty( $options['width'] ) && is_numeric( $options['width'] ) && $options['width'] > 0 ) {
415
  $css_column_width .= ".cp-{$storage_model->key} .wrap table th.column-{$name} { width: {$options['width']}% !important; }";
416
  }
417
+
418
+ // Load custom column scripts, used by 3rd party columns
419
+ if ( $column = $storage_model->get_column_by_name( $name ) ) {
420
+ $column->scripts();
421
+ }
422
  }
423
  }
424
 
450
  * Whether this request is an AJAX request and marked as admin-column-ajax or inline-save request.
451
  *
452
  * @since 2.2
453
+ * @return bool Returns true if in an AJAX request, false otherwise
454
  */
455
+ public function is_doing_ajax() {
456
 
457
+ return cac_is_doing_ajax();
 
 
 
 
 
 
 
 
 
 
 
 
458
  }
459
 
460
  /**
461
  * Whether this request is a columns screen (i.e. a content overview page)
462
  *
463
  * @since 2.2
464
+ * @return bool Returns true if the current screen is a columns screen, false otherwise
465
  */
466
+ public function is_columns_screen() {
467
 
468
  global $pagenow;
469
 
487
  * @since 2.2
488
  * @return bool True if the current screen is the settings screen, false otherwise
489
  */
490
+ public function is_settings_screen() {
491
 
492
  global $pagenow;
493
 
505
  * @since 2.2
506
  * @return bool Whether the current screen is an Admin Columns screen
507
  */
508
+ public function is_cac_screen() {
509
 
510
  /**
511
  * Filter whether the current screen is a screen in which Admin Columns is active
external/qtip2/jquery.qtip.css CHANGED
@@ -6,8 +6,8 @@
6
  * Released under the MIT licenses
7
  * http://jquery.org/license
8
  *
9
- * Date: Sun Sep 7 2014 10:41 EDT-0400
10
- * Plugins: viewport
11
  * Styles: core css3
12
  */
13
  .qtip{
@@ -451,3 +451,35 @@
451
  filter: none;
452
  -ms-filter: none;
453
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  * Released under the MIT licenses
7
  * http://jquery.org/license
8
  *
9
+ * Date: Mon Sep 8 2014 05:43 EDT-0400
10
+ * Plugins: tips
11
  * Styles: core css3
12
  */
13
  .qtip{
451
  filter: none;
452
  -ms-filter: none;
453
  }
454
+
455
+
456
+ .qtip .qtip-tip{
457
+ margin: 0 auto;
458
+ overflow: hidden;
459
+ z-index: 10;
460
+
461
+ }
462
+
463
+ /* Opera bug #357 - Incorrect tip position
464
+ https://github.com/Craga89/qTip2/issues/367 */
465
+ x:-o-prefocus, .qtip .qtip-tip{
466
+ visibility: hidden;
467
+ }
468
+
469
+ .qtip .qtip-tip,
470
+ .qtip .qtip-tip .qtip-vml,
471
+ .qtip .qtip-tip canvas{
472
+ position: absolute;
473
+
474
+ color: #123456;
475
+ background: transparent;
476
+ border: 0 dashed transparent;
477
+ }
478
+
479
+ .qtip .qtip-tip canvas{ top: 0; left: 0; }
480
+
481
+ .qtip .qtip-tip .qtip-vml{
482
+ behavior: url(#default#VML);
483
+ display: inline-block;
484
+ visibility: visible;
485
+ }
external/qtip2/jquery.qtip.js CHANGED
@@ -6,8 +6,8 @@
6
  * Released under the MIT licenses
7
  * http://jquery.org/license
8
  *
9
- * Date: Sun Sep 7 2014 10:41 EDT-0400
10
- * Plugins: viewport
11
  * Styles: core css3
12
  */
13
  /*global window: false, jQuery: false, console: false, define: false */
@@ -1997,112 +1997,628 @@ QTIP.defaults = {
1997
  blur: NULL
1998
  }
1999
  };
2000
- ;PLUGINS.viewport = function(api, position, posOptions, targetWidth, targetHeight, elemWidth, elemHeight)
2001
- {
2002
- var target = posOptions.target,
2003
- tooltip = api.elements.tooltip,
2004
- my = posOptions.my,
2005
- at = posOptions.at,
2006
- adjust = posOptions.adjust,
2007
- method = adjust.method.split(' '),
2008
- methodX = method[0],
2009
- methodY = method[1] || method[0],
2010
- viewport = posOptions.viewport,
2011
- container = posOptions.container,
2012
- cache = api.cache,
2013
- adjusted = { left: 0, top: 0 },
2014
- fixed, newMy, containerOffset, containerStatic,
2015
- viewportWidth, viewportHeight, viewportScroll, viewportOffset;
2016
-
2017
- // If viewport is not a jQuery element, or it's the window/document, or no adjustment method is used... return
2018
- if(!viewport.jquery || target[0] === window || target[0] === document.body || adjust.method === 'none') {
2019
- return adjusted;
2020
- }
2021
-
2022
- // Cach container details
2023
- containerOffset = container.offset() || adjusted;
2024
- containerStatic = container.css('position') === 'static';
2025
-
2026
- // Cache our viewport details
2027
- fixed = tooltip.css('position') === 'fixed';
2028
- viewportWidth = viewport[0] === window ? viewport.width() : viewport.outerWidth(FALSE);
2029
- viewportHeight = viewport[0] === window ? viewport.height() : viewport.outerHeight(FALSE);
2030
- viewportScroll = { left: fixed ? 0 : viewport.scrollLeft(), top: fixed ? 0 : viewport.scrollTop() };
2031
- viewportOffset = viewport.offset() || adjusted;
2032
-
2033
- // Generic calculation method
2034
- function calculate(side, otherSide, type, adjust, side1, side2, lengthName, targetLength, elemLength) {
2035
- var initialPos = position[side1],
2036
- mySide = my[side],
2037
- atSide = at[side],
2038
- isShift = type === SHIFT,
2039
- myLength = mySide === side1 ? elemLength : mySide === side2 ? -elemLength : -elemLength / 2,
2040
- atLength = atSide === side1 ? targetLength : atSide === side2 ? -targetLength : -targetLength / 2,
2041
- sideOffset = viewportScroll[side1] + viewportOffset[side1] - (containerStatic ? 0 : containerOffset[side1]),
2042
- overflow1 = sideOffset - initialPos,
2043
- overflow2 = initialPos + elemLength - (lengthName === WIDTH ? viewportWidth : viewportHeight) - sideOffset,
2044
- offset = myLength - (my.precedance === side || mySide === my[otherSide] ? atLength : 0) - (atSide === CENTER ? targetLength / 2 : 0);
2045
-
2046
- // shift
2047
- if(isShift) {
2048
- offset = (mySide === side1 ? 1 : -1) * myLength;
2049
-
2050
- // Adjust position but keep it within viewport dimensions
2051
- position[side1] += overflow1 > 0 ? overflow1 : overflow2 > 0 ? -overflow2 : 0;
2052
- position[side1] = Math.max(
2053
- -containerOffset[side1] + viewportOffset[side1],
2054
- initialPos - offset,
2055
- Math.min(
2056
- Math.max(
2057
- -containerOffset[side1] + viewportOffset[side1] + (lengthName === WIDTH ? viewportWidth : viewportHeight),
2058
- initialPos + offset
2059
- ),
2060
- position[side1],
2061
-
2062
- // Make sure we don't adjust complete off the element when using 'center'
2063
- mySide === 'center' ? initialPos - myLength : 1E9
2064
- )
2065
- );
2066
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2067
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2068
 
2069
- // flip/flipinvert
 
 
 
 
2070
  else {
2071
- // Update adjustment amount depending on if using flipinvert or flip
2072
- adjust *= (type === FLIPINVERT ? 2 : 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2073
 
2074
- // Check for overflow on the left/top
2075
- if(overflow1 > 0 && (mySide !== side1 || overflow2 > 0)) {
2076
- position[side1] -= offset + adjust;
2077
- newMy.invert(side, side1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2078
  }
 
 
 
 
2079
 
2080
- // Check for overflow on the bottom/right
2081
- else if(overflow2 > 0 && (mySide !== side2 || overflow1 > 0) ) {
2082
- position[side1] -= (mySide === CENTER ? -offset : offset) + adjust;
2083
- newMy.invert(side, side2);
2084
  }
 
 
 
 
2085
 
2086
- // Make sure we haven't made things worse with the adjustment and reset if so
2087
- if(position[side1] < viewportScroll && -position[side1] > overflow2) {
2088
- position[side1] = initialPos; newMy = my.clone();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2089
  }
2090
  }
2091
 
2092
- return position[side1] - initialPos;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2093
  }
 
2094
 
2095
- // Set newMy if using flip or flipinvert methods
2096
- if(methodX !== 'shift' || methodY !== 'shift') { newMy = my.clone(); }
 
2097
 
2098
- // Adjust position based onviewport and adjustment options
2099
- adjusted = {
2100
- left: methodX !== 'none' ? calculate( X, Y, methodX, adjust.x, LEFT, RIGHT, WIDTH, targetWidth, elemWidth ) : 0,
2101
- top: methodY !== 'none' ? calculate( Y, X, methodY, adjust.y, TOP, BOTTOM, HEIGHT, targetHeight, elemHeight ) : 0,
2102
- my: newMy
2103
- };
 
 
 
 
 
2104
 
2105
- return adjusted;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2106
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2107
  ;}));
2108
  }( window, document ));
6
  * Released under the MIT licenses
7
  * http://jquery.org/license
8
  *
9
+ * Date: Mon Sep 8 2014 05:43 EDT-0400
10
+ * Plugins: tips
11
  * Styles: core css3
12
  */
13
  /*global window: false, jQuery: false, console: false, define: false */
1997
  blur: NULL
1998
  }
1999
  };
2000
+ ;var TIP,
2001
+
2002
+ // .bind()/.on() namespace
2003
+ TIPNS = '.qtip-tip',
2004
+
2005
+ // Common CSS strings
2006
+ MARGIN = 'margin',
2007
+ BORDER = 'border',
2008
+ COLOR = 'color',
2009
+ BG_COLOR = 'background-color',
2010
+ TRANSPARENT = 'transparent',
2011
+ IMPORTANT = ' !important',
2012
+
2013
+ // Check if the browser supports <canvas/> elements
2014
+ HASCANVAS = !!document.createElement('canvas').getContext,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2015
 
2016
+ // Invalid colour values used in parseColours()
2017
+ INVALID = /rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i;
2018
+
2019
+ // Camel-case method, taken from jQuery source
2020
+ // http://code.jquery.com/jquery-1.8.0.js
2021
+ function camel(s) { return s.charAt(0).toUpperCase() + s.slice(1); }
2022
+
2023
+ /*
2024
+ * Modified from Modernizr's testPropsAll()
2025
+ * http://modernizr.com/downloads/modernizr-latest.js
2026
+ */
2027
+ var cssProps = {}, cssPrefixes = ["Webkit", "O", "Moz", "ms"];
2028
+ function vendorCss(elem, prop) {
2029
+ var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
2030
+ props = (prop + ' ' + cssPrefixes.join(ucProp + ' ') + ucProp).split(' '),
2031
+ cur, val, i = 0;
2032
+
2033
+ // If the property has already been mapped...
2034
+ if(cssProps[prop]) { return elem.css(cssProps[prop]); }
2035
+
2036
+ while((cur = props[i++])) {
2037
+ if((val = elem.css(cur)) !== undefined) {
2038
+ return cssProps[prop] = cur, val;
2039
  }
2040
+ }
2041
+ }
2042
+
2043
+ // Parse a given elements CSS property into an int
2044
+ function intCss(elem, prop) {
2045
+ return Math.ceil(parseFloat(vendorCss(elem, prop)));
2046
+ }
2047
+
2048
+
2049
+ // VML creation (for IE only)
2050
+ if(!HASCANVAS) {
2051
+ var createVML = function(tag, props, style) {
2052
+ return '<qtipvml:'+tag+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(props||'')+
2053
+ ' style="behavior: url(#default#VML); '+(style||'')+ '" />';
2054
+ };
2055
+ }
2056
+
2057
+ // Canvas only definitions
2058
+ else {
2059
+ var PIXEL_RATIO = window.devicePixelRatio || 1,
2060
+ BACKING_STORE_RATIO = (function() {
2061
+ var context = document.createElement('canvas').getContext('2d');
2062
+ return context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio ||
2063
+ context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || 1;
2064
+ }()),
2065
+ SCALE = PIXEL_RATIO / BACKING_STORE_RATIO;
2066
+ }
2067
+
2068
+
2069
+ function Tip(qtip, options) {
2070
+ this._ns = 'tip';
2071
+ this.options = options;
2072
+ this.offset = options.offset;
2073
+ this.size = [ options.width, options.height ];
2074
+
2075
+ // Initialize
2076
+ this.init( (this.qtip = qtip) );
2077
+ }
2078
+
2079
+ $.extend(Tip.prototype, {
2080
+ init: function(qtip) {
2081
+ var context, tip;
2082
+
2083
+ // Create tip element and prepend to the tooltip
2084
+ tip = this.element = qtip.elements.tip = $('<div />', { 'class': NAMESPACE+'-tip' }).prependTo(qtip.tooltip);
2085
+
2086
+ // Create tip drawing element(s)
2087
+ if(HASCANVAS) {
2088
+ // save() as soon as we create the canvas element so FF2 doesn't bork on our first restore()!
2089
+ context = $('<canvas />').appendTo(this.element)[0].getContext('2d');
2090
 
2091
+ // Setup constant parameters
2092
+ context.lineJoin = 'miter';
2093
+ context.miterLimit = 100000;
2094
+ context.save();
2095
+ }
2096
  else {
2097
+ context = createVML('shape', 'coordorigin="0,0"', 'position:absolute;');
2098
+ this.element.html(context + context);
2099
+
2100
+ // Prevent mousing down on the tip since it causes problems with .live() handling in IE due to VML
2101
+ qtip._bind( $('*', tip).add(tip), ['click', 'mousedown'], function(event) { event.stopPropagation(); }, this._ns);
2102
+ }
2103
+
2104
+ // Bind update events
2105
+ qtip._bind(qtip.tooltip, 'tooltipmove', this.reposition, this._ns, this);
2106
+
2107
+ // Create it
2108
+ this.create();
2109
+ },
2110
+
2111
+ _swapDimensions: function() {
2112
+ this.size[0] = this.options.height;
2113
+ this.size[1] = this.options.width;
2114
+ },
2115
+ _resetDimensions: function() {
2116
+ this.size[0] = this.options.width;
2117
+ this.size[1] = this.options.height;
2118
+ },
2119
+
2120
+ _useTitle: function(corner) {
2121
+ var titlebar = this.qtip.elements.titlebar;
2122
+ return titlebar && (
2123
+ corner.y === TOP || (corner.y === CENTER && this.element.position().top + (this.size[1] / 2) + this.options.offset < titlebar.outerHeight(TRUE))
2124
+ );
2125
+ },
2126
+
2127
+ _parseCorner: function(corner) {
2128
+ var my = this.qtip.options.position.my;
2129
+
2130
+ // Detect corner and mimic properties
2131
+ if(corner === FALSE || my === FALSE) {
2132
+ corner = FALSE;
2133
+ }
2134
+ else if(corner === TRUE) {
2135
+ corner = new CORNER( my.string() );
2136
+ }
2137
+ else if(!corner.string) {
2138
+ corner = new CORNER(corner);
2139
+ corner.fixed = TRUE;
2140
+ }
2141
+
2142
+ return corner;
2143
+ },
2144
+
2145
+ _parseWidth: function(corner, side, use) {
2146
+ var elements = this.qtip.elements,
2147
+ prop = BORDER + camel(side) + 'Width';
2148
+
2149
+ return (use ? intCss(use, prop) : (
2150
+ intCss(elements.content, prop) ||
2151
+ intCss(this._useTitle(corner) && elements.titlebar || elements.content, prop) ||
2152
+ intCss(elements.tooltip, prop)
2153
+ )) || 0;
2154
+ },
2155
+
2156
+ _parseRadius: function(corner) {
2157
+ var elements = this.qtip.elements,
2158
+ prop = BORDER + camel(corner.y) + camel(corner.x) + 'Radius';
2159
+
2160
+ return BROWSER.ie < 9 ? 0 :
2161
+ intCss(this._useTitle(corner) && elements.titlebar || elements.content, prop) ||
2162
+ intCss(elements.tooltip, prop) || 0;
2163
+ },
2164
+
2165
+ _invalidColour: function(elem, prop, compare) {
2166
+ var val = elem.css(prop);
2167
+ return !val || (compare && val === elem.css(compare)) || INVALID.test(val) ? FALSE : val;
2168
+ },
2169
+
2170
+ _parseColours: function(corner) {
2171
+ var elements = this.qtip.elements,
2172
+ tip = this.element.css('cssText', ''),
2173
+ borderSide = BORDER + camel(corner[ corner.precedance ]) + camel(COLOR),
2174
+ colorElem = this._useTitle(corner) && elements.titlebar || elements.content,
2175
+ css = this._invalidColour, color = [];
2176
+
2177
+ // Attempt to detect the background colour from various elements, left-to-right precedance
2178
+ color[0] = css(tip, BG_COLOR) || css(colorElem, BG_COLOR) || css(elements.content, BG_COLOR) ||
2179
+ css(elements.tooltip, BG_COLOR) || tip.css(BG_COLOR);
2180
+
2181
+ // Attempt to detect the correct border side colour from various elements, left-to-right precedance
2182
+ color[1] = css(tip, borderSide, COLOR) || css(colorElem, borderSide, COLOR) ||
2183
+ css(elements.content, borderSide, COLOR) || css(elements.tooltip, borderSide, COLOR) || elements.tooltip.css(borderSide);
2184
+
2185
+ // Reset background and border colours
2186
+ $('*', tip).add(tip).css('cssText', BG_COLOR+':'+TRANSPARENT+IMPORTANT+';'+BORDER+':0'+IMPORTANT+';');
2187
+
2188
+ return color;
2189
+ },
2190
+
2191
+ _calculateSize: function(corner) {
2192
+ var y = corner.precedance === Y,
2193
+ width = this.options['width'],
2194
+ height = this.options['height'],
2195
+ isCenter = corner.abbrev() === 'c',
2196
+ base = (y ? width: height) * (isCenter ? 0.5 : 1),
2197
+ pow = Math.pow,
2198
+ round = Math.round,
2199
+ bigHyp, ratio, result,
2200
+
2201
+ smallHyp = Math.sqrt( pow(base, 2) + pow(height, 2) ),
2202
+ hyp = [ (this.border / base) * smallHyp, (this.border / height) * smallHyp ];
2203
+
2204
+ hyp[2] = Math.sqrt( pow(hyp[0], 2) - pow(this.border, 2) );
2205
+ hyp[3] = Math.sqrt( pow(hyp[1], 2) - pow(this.border, 2) );
2206
+
2207
+ bigHyp = smallHyp + hyp[2] + hyp[3] + (isCenter ? 0 : hyp[0]);
2208
+ ratio = bigHyp / smallHyp;
2209
+
2210
+ result = [ round(ratio * width), round(ratio * height) ];
2211
+ return y ? result : result.reverse();
2212
+ },
2213
+
2214
+ // Tip coordinates calculator
2215
+ _calculateTip: function(corner, size, scale) {
2216
+ scale = scale || 1;
2217
+ size = size || this.size;
2218
+
2219
+ var width = size[0] * scale,
2220
+ height = size[1] * scale,
2221
+ width2 = Math.ceil(width / 2), height2 = Math.ceil(height / 2),
2222
+
2223
+ // Define tip coordinates in terms of height and width values
2224
+ tips = {
2225
+ br: [0,0, width,height, width,0],
2226
+ bl: [0,0, width,0, 0,height],
2227
+ tr: [0,height, width,0, width,height],
2228
+ tl: [0,0, 0,height, width,height],
2229
+ tc: [0,height, width2,0, width,height],
2230
+ bc: [0,0, width,0, width2,height],
2231
+ rc: [0,0, width,height2, 0,height],
2232
+ lc: [width,0, width,height, 0,height2]
2233
+ };
2234
+
2235
+ // Set common side shapes
2236
+ tips.lt = tips.br; tips.rt = tips.bl;
2237
+ tips.lb = tips.tr; tips.rb = tips.tl;
2238
+
2239
+ return tips[ corner.abbrev() ];
2240
+ },
2241
+
2242
+ // Tip coordinates drawer (canvas)
2243
+ _drawCoords: function(context, coords) {
2244
+ context.beginPath();
2245
+ context.moveTo(coords[0], coords[1]);
2246
+ context.lineTo(coords[2], coords[3]);
2247
+ context.lineTo(coords[4], coords[5]);
2248
+ context.closePath();
2249
+ },
2250
+
2251
+ create: function() {
2252
+ // Determine tip corner
2253
+ var c = this.corner = (HASCANVAS || BROWSER.ie) && this._parseCorner(this.options.corner);
2254
+
2255
+ // If we have a tip corner...
2256
+ if( (this.enabled = !!this.corner && this.corner.abbrev() !== 'c') ) {
2257
+ // Cache it
2258
+ this.qtip.cache.corner = c.clone();
2259
+
2260
+ // Create it
2261
+ this.update();
2262
+ }
2263
+
2264
+ // Toggle tip element
2265
+ this.element.toggle(this.enabled);
2266
 
2267
+ return this.corner;
2268
+ },
2269
+
2270
+ update: function(corner, position) {
2271
+ if(!this.enabled) { return this; }
2272
+
2273
+ var elements = this.qtip.elements,
2274
+ tip = this.element,
2275
+ inner = tip.children(),
2276
+ options = this.options,
2277
+ curSize = this.size,
2278
+ mimic = options.mimic,
2279
+ round = Math.round,
2280
+ color, precedance, context,
2281
+ coords, bigCoords, translate, newSize, border, BACKING_STORE_RATIO;
2282
+
2283
+ // Re-determine tip if not already set
2284
+ if(!corner) { corner = this.qtip.cache.corner || this.corner; }
2285
+
2286
+ // Use corner property if we detect an invalid mimic value
2287
+ if(mimic === FALSE) { mimic = corner; }
2288
+
2289
+ // Otherwise inherit mimic properties from the corner object as necessary
2290
+ else {
2291
+ mimic = new CORNER(mimic);
2292
+ mimic.precedance = corner.precedance;
2293
+
2294
+ if(mimic.x === 'inherit') { mimic.x = corner.x; }
2295
+ else if(mimic.y === 'inherit') { mimic.y = corner.y; }
2296
+ else if(mimic.x === mimic.y) {
2297
+ mimic[ corner.precedance ] = corner[ corner.precedance ];
2298
+ }
2299
+ }
2300
+ precedance = mimic.precedance;
2301
+
2302
+ // Ensure the tip width.height are relative to the tip position
2303
+ if(corner.precedance === X) { this._swapDimensions(); }
2304
+ else { this._resetDimensions(); }
2305
+
2306
+ // Update our colours
2307
+ color = this.color = this._parseColours(corner);
2308
+
2309
+ // Detect border width, taking into account colours
2310
+ if(color[1] !== TRANSPARENT) {
2311
+ // Grab border width
2312
+ border = this.border = this._parseWidth(corner, corner[corner.precedance]);
2313
+
2314
+ // If border width isn't zero, use border color as fill if it's not invalid (1.0 style tips)
2315
+ if(options.border && border < 1 && !INVALID.test(color[1])) { color[0] = color[1]; }
2316
+
2317
+ // Set border width (use detected border width if options.border is true)
2318
+ this.border = border = options.border !== TRUE ? options.border : border;
2319
+ }
2320
+
2321
+ // Border colour was invalid, set border to zero
2322
+ else { this.border = border = 0; }
2323
+
2324
+ // Determine tip size
2325
+ newSize = this.size = this._calculateSize(corner);
2326
+ tip.css({
2327
+ width: newSize[0],
2328
+ height: newSize[1],
2329
+ lineHeight: newSize[1]+'px'
2330
+ });
2331
+
2332
+ // Calculate tip translation
2333
+ if(corner.precedance === Y) {
2334
+ translate = [
2335
+ round(mimic.x === LEFT ? border : mimic.x === RIGHT ? newSize[0] - curSize[0] - border : (newSize[0] - curSize[0]) / 2),
2336
+ round(mimic.y === TOP ? newSize[1] - curSize[1] : 0)
2337
+ ];
2338
+ }
2339
+ else {
2340
+ translate = [
2341
+ round(mimic.x === LEFT ? newSize[0] - curSize[0] : 0),
2342
+ round(mimic.y === TOP ? border : mimic.y === BOTTOM ? newSize[1] - curSize[1] - border : (newSize[1] - curSize[1]) / 2)
2343
+ ];
2344
+ }
2345
+
2346
+ // Canvas drawing implementation
2347
+ if(HASCANVAS) {
2348
+ // Grab canvas context and clear/save it
2349
+ context = inner[0].getContext('2d');
2350
+ context.restore(); context.save();
2351
+ context.clearRect(0,0,6000,6000);
2352
+
2353
+ // Calculate coordinates
2354
+ coords = this._calculateTip(mimic, curSize, SCALE);
2355
+ bigCoords = this._calculateTip(mimic, this.size, SCALE);
2356
+
2357
+ // Set the canvas size using calculated size
2358
+ inner.attr(WIDTH, newSize[0] * SCALE).attr(HEIGHT, newSize[1] * SCALE);
2359
+ inner.css(WIDTH, newSize[0]).css(HEIGHT, newSize[1]);
2360
+
2361
+ // Draw the outer-stroke tip
2362
+ this._drawCoords(context, bigCoords);
2363
+ context.fillStyle = color[1];
2364
+ context.fill();
2365
+
2366
+ // Draw the actual tip
2367
+ context.translate(translate[0] * SCALE, translate[1] * SCALE);
2368
+ this._drawCoords(context, coords);
2369
+ context.fillStyle = color[0];
2370
+ context.fill();
2371
+ }
2372
+
2373
+ // VML (IE Proprietary implementation)
2374
+ else {
2375
+ // Calculate coordinates
2376
+ coords = this._calculateTip(mimic);
2377
+
2378
+ // Setup coordinates string
2379
+ coords = 'm' + coords[0] + ',' + coords[1] + ' l' + coords[2] +
2380
+ ',' + coords[3] + ' ' + coords[4] + ',' + coords[5] + ' xe';
2381
+
2382
+ // Setup VML-specific offset for pixel-perfection
2383
+ translate[2] = border && /^(r|b)/i.test(corner.string()) ?
2384
+ BROWSER.ie === 8 ? 2 : 1 : 0;
2385
+
2386
+ // Set initial CSS
2387
+ inner.css({
2388
+ coordsize: (newSize[0]+border) + ' ' + (newSize[1]+border),
2389
+ antialias: ''+(mimic.string().indexOf(CENTER) > -1),
2390
+ left: translate[0] - (translate[2] * Number(precedance === X)),
2391
+ top: translate[1] - (translate[2] * Number(precedance === Y)),
2392
+ width: newSize[0] + border,
2393
+ height: newSize[1] + border
2394
+ })
2395
+ .each(function(i) {
2396
+ var $this = $(this);
2397
+
2398
+ // Set shape specific attributes
2399
+ $this[ $this.prop ? 'prop' : 'attr' ]({
2400
+ coordsize: (newSize[0]+border) + ' ' + (newSize[1]+border),
2401
+ path: coords,
2402
+ fillcolor: color[0],
2403
+ filled: !!i,
2404
+ stroked: !i
2405
+ })
2406
+ .toggle(!!(border || i));
2407
+
2408
+ // Check if border is enabled and add stroke element
2409
+ !i && $this.html( createVML(
2410
+ 'stroke', 'weight="'+(border*2)+'px" color="'+color[1]+'" miterlimit="1000" joinstyle="miter"'
2411
+ ) );
2412
+ });
2413
+ }
2414
+
2415
+ // Opera bug #357 - Incorrect tip position
2416
+ // https://github.com/Craga89/qTip2/issues/367
2417
+ window.opera && setTimeout(function() {
2418
+ elements.tip.css({
2419
+ display: 'inline-block',
2420
+ visibility: 'visible'
2421
+ });
2422
+ }, 1);
2423
+
2424
+ // Position if needed
2425
+ if(position !== FALSE) { this.calculate(corner, newSize); }
2426
+ },
2427
+
2428
+ calculate: function(corner, size) {
2429
+ if(!this.enabled) { return FALSE; }
2430
+
2431
+ var self = this,
2432
+ elements = this.qtip.elements,
2433
+ tip = this.element,
2434
+ userOffset = this.options.offset,
2435
+ isWidget = elements.tooltip.hasClass('ui-widget'),
2436
+ position = { },
2437
+ precedance, corners;
2438
+
2439
+ // Inherit corner if not provided
2440
+ corner = corner || this.corner;
2441
+ precedance = corner.precedance;
2442
+
2443
+ // Determine which tip dimension to use for adjustment
2444
+ size = size || this._calculateSize(corner);
2445
+
2446
+ // Setup corners and offset array
2447
+ corners = [ corner.x, corner.y ];
2448
+ if(precedance === X) { corners.reverse(); }
2449
+
2450
+ // Calculate tip position
2451
+ $.each(corners, function(i, side) {
2452
+ var b, bc, br;
2453
+
2454
+ if(side === CENTER) {
2455
+ b = precedance === Y ? LEFT : TOP;
2456
+ position[ b ] = '50%';
2457
+ position[MARGIN+'-' + b] = -Math.round(size[ precedance === Y ? 0 : 1 ] / 2) + userOffset;
2458
  }
2459
+ else {
2460
+ b = self._parseWidth(corner, side, elements.tooltip);
2461
+ bc = self._parseWidth(corner, side, elements.content);
2462
+ br = self._parseRadius(corner);
2463
 
2464
+ position[ side ] = Math.max(-self.border, i ? bc : (userOffset + (br > b ? br : -b)));
 
 
 
2465
  }
2466
+ });
2467
+
2468
+ // Adjust for tip size
2469
+ position[ corner[precedance] ] -= size[ precedance === X ? 0 : 1 ];
2470
 
2471
+ // Set and return new position
2472
+ tip.css({ margin: '', top: '', bottom: '', left: '', right: '' }).css(position);
2473
+ return position;
2474
+ },
2475
+
2476
+ reposition: function(event, api, pos, viewport) {
2477
+ if(!this.enabled) { return; }
2478
+
2479
+ var cache = api.cache,
2480
+ newCorner = this.corner.clone(),
2481
+ adjust = pos.adjusted,
2482
+ method = api.options.position.adjust.method.split(' '),
2483
+ horizontal = method[0],
2484
+ vertical = method[1] || method[0],
2485
+ shift = { left: FALSE, top: FALSE, x: 0, y: 0 },
2486
+ offset, css = {}, props;
2487
+
2488
+ function shiftflip(direction, precedance, popposite, side, opposite) {
2489
+ // Horizontal - Shift or flip method
2490
+ if(direction === SHIFT && newCorner.precedance === precedance && adjust[side] && newCorner[popposite] !== CENTER) {
2491
+ newCorner.precedance = newCorner.precedance === X ? Y : X;
2492
+ }
2493
+ else if(direction !== SHIFT && adjust[side]){
2494
+ newCorner[precedance] = newCorner[precedance] === CENTER ?
2495
+ (adjust[side] > 0 ? side : opposite) : (newCorner[precedance] === side ? opposite : side);
2496
  }
2497
  }
2498
 
2499
+ function shiftonly(xy, side, opposite) {
2500
+ if(newCorner[xy] === CENTER) {
2501
+ css[MARGIN+'-'+side] = shift[xy] = offset[MARGIN+'-'+side] - adjust[side];
2502
+ }
2503
+ else {
2504
+ props = offset[opposite] !== undefined ?
2505
+ [ adjust[side], -offset[side] ] : [ -adjust[side], offset[side] ];
2506
+
2507
+ if( (shift[xy] = Math.max(props[0], props[1])) > props[0] ) {
2508
+ pos[side] -= adjust[side];
2509
+ shift[side] = FALSE;
2510
+ }
2511
+
2512
+ css[ offset[opposite] !== undefined ? opposite : side ] = shift[xy];
2513
+ }
2514
+ }
2515
+
2516
+ // If our tip position isn't fixed e.g. doesn't adjust with viewport...
2517
+ if(this.corner.fixed !== TRUE) {
2518
+ // Perform shift/flip adjustments
2519
+ shiftflip(horizontal, X, Y, LEFT, RIGHT);
2520
+ shiftflip(vertical, Y, X, TOP, BOTTOM);
2521
+
2522
+ // Update and redraw the tip if needed (check cached details of last drawn tip)
2523
+ if(newCorner.string() !== cache.corner.string() || cache.cornerTop !== adjust.top || cache.cornerLeft !== adjust.left) {
2524
+ this.update(newCorner, FALSE);
2525
+ }
2526
+ }
2527
+
2528
+ // Setup tip offset properties
2529
+ offset = this.calculate(newCorner);
2530
+
2531
+ // Readjust offset object to make it left/top
2532
+ if(offset.right !== undefined) { offset.left = -offset.right; }
2533
+ if(offset.bottom !== undefined) { offset.top = -offset.bottom; }
2534
+ offset.user = this.offset;
2535
+
2536
+ // Perform shift adjustments
2537
+ if(shift.left = (horizontal === SHIFT && !!adjust.left)) { shiftonly(X, LEFT, RIGHT); }
2538
+ if(shift.top = (vertical === SHIFT && !!adjust.top)) { shiftonly(Y, TOP, BOTTOM); }
2539
+
2540
+ /*
2541
+ * If the tip is adjusted in both dimensions, or in a
2542
+ * direction that would cause it to be anywhere but the
2543
+ * outer border, hide it!
2544
+ */
2545
+ this.element.css(css).toggle(
2546
+ !((shift.x && shift.y) || (newCorner.x === CENTER && shift.y) || (newCorner.y === CENTER && shift.x))
2547
+ );
2548
+
2549
+ // Adjust position to accomodate tip dimensions
2550
+ pos.left -= offset.left.charAt ? offset.user :
2551
+ horizontal !== SHIFT || shift.top || !shift.left && !shift.top ? offset.left + this.border : 0;
2552
+ pos.top -= offset.top.charAt ? offset.user :
2553
+ vertical !== SHIFT || shift.left || !shift.left && !shift.top ? offset.top + this.border : 0;
2554
+
2555
+ // Cache details
2556
+ cache.cornerLeft = adjust.left; cache.cornerTop = adjust.top;
2557
+ cache.corner = newCorner.clone();
2558
+ },
2559
+
2560
+ destroy: function() {
2561
+ // Unbind events
2562
+ this.qtip._unbind(this.qtip.tooltip, this._ns);
2563
+
2564
+ // Remove the tip element(s)
2565
+ if(this.qtip.elements.tip) {
2566
+ this.qtip.elements.tip.find('*')
2567
+ .remove().end().remove();
2568
+ }
2569
  }
2570
+ });
2571
 
2572
+ TIP = PLUGINS.tip = function(api) {
2573
+ return new Tip(api, api.options.style.tip);
2574
+ };
2575
 
2576
+ // Initialize tip on render
2577
+ TIP.initialize = 'render';
2578
+
2579
+ // Setup plugin sanitization options
2580
+ TIP.sanitize = function(options) {
2581
+ if(options.style && 'tip' in options.style) {
2582
+ var opts = options.style.tip;
2583
+ if(typeof opts !== 'object') { opts = options.style.tip = { corner: opts }; }
2584
+ if(!(/string|boolean/i).test(typeof opts.corner)) { opts.corner = TRUE; }
2585
+ }
2586
+ };
2587
 
2588
+ // Add new option checks for the plugin
2589
+ CHECKS.tip = {
2590
+ '^position.my|style.tip.(corner|mimic|border)$': function() {
2591
+ // Make sure a tip can be drawn
2592
+ this.create();
2593
+
2594
+ // Reposition the tooltip
2595
+ this.qtip.reposition();
2596
+ },
2597
+ '^style.tip.(height|width)$': function(obj) {
2598
+ // Re-set dimensions and redraw the tip
2599
+ this.size = [ obj.width, obj.height ];
2600
+ this.update();
2601
+
2602
+ // Reposition the tooltip
2603
+ this.qtip.reposition();
2604
+ },
2605
+ '^content.title|style.(classes|widget)$': function() {
2606
+ this.update();
2607
+ }
2608
  };
2609
+
2610
+ // Extend original qTip defaults
2611
+ $.extend(TRUE, QTIP.defaults, {
2612
+ style: {
2613
+ tip: {
2614
+ corner: TRUE,
2615
+ mimic: FALSE,
2616
+ width: 6,
2617
+ height: 6,
2618
+ border: TRUE,
2619
+ offset: 0
2620
+ }
2621
+ }
2622
+ });
2623
  ;}));
2624
  }( window, document ));
external/qtip2/jquery.qtip.min.css CHANGED
@@ -1,3 +1,3 @@
1
- /* qTip2 v2.2.1 | Plugins: viewport | Styles: core css3 | qtip2.com | Licensed MIT | Sun Sep 07 2014 10:41:41 */
2
 
3
- .qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.qtip-titlebar{position:relative;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;cursor:pointer;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 bold 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}
1
+ /* qTip2 v2.2.1 | Plugins: tips | Styles: core css3 | qtip2.com | Licensed MIT | Mon Sep 08 2014 17:43:50 */
2
 
3
+ .qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.qtip-titlebar{position:relative;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;cursor:pointer;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 bold 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}
external/qtip2/jquery.qtip.min.js CHANGED
@@ -1,3 +1,5 @@
1
- /* qTip2 v2.2.1 | Plugins: viewport | Styles: core css3 | qtip2.com | Licensed MIT | Sun Sep 07 2014 10:41:40 */
2
 
3
- !function(a,b,c){!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){"use strict";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=z,this.elements={target:a},this._id=M+"-"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:y,attr:e,onTooltip:y,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=y}function f(a){return a===z||"object"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||"object"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?y:(f(a.metadata)&&(a.metadata={type:a.metadata}),"content"in a&&(b=a.content,f(b)||b.jquery||b.done?b=a.content={text:c=g(b)?y:b}:c=b.text,"ajax"in b&&(e=b.ajax,h=e&&e.once!==y,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||"Loading...",g=d.ajax(d.extend({},e,{context:b})).then(e.success,z,e.error).then(function(a){return a&&h&&b.set("content.text",a),a},function(a,c,d){b.destroyed||0===a.status||b.set("content.text",c+": "+d)});return h?f:(b.set("content.text",f),g)}),"title"in b&&(d.isPlainObject(b.title)&&(b.button=b.title.button,b.title=b.title.text),g(b.title||y)&&(b.title=y))),"position"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===x?{ready:x}:{event:a.show}),"hide"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(L,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(".");e=e[f[d++]];)d<f.length&&(c=e);return[c||a,f.pop()]}function j(a,b){var c,d,e;for(c in this.checks)for(d in this.checks[c])(e=new RegExp(d,"i").exec(a))&&(b.push(e),("builtin"===c||this.plugins[c])&&this.checks[c][d].apply(this.plugins[c]||this,b))}function k(a){return P.concat("").join(a?"-"+a+" ":" ")}function l(a,b){return b>0?setTimeout(d.proxy(a,this),b):void a.call(this)}function m(a){this.tooltip.hasClass(W)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=l.call(this,function(){this.toggle(x,a)},this.options.show.delay))}function n(a){if(!this.tooltip.hasClass(W)&&!this.destroyed){var b=d(a.relatedTarget),c=b.closest(Q)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&"mouse"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=l.call(this,function(){this.toggle(y,a)},this.options.hide.delay,this)}}function o(a){!this.tooltip.hasClass(W)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=l.call(this,function(){this.hide(a)},this.options.hide.inactive))}function p(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function q(a,c,e){d(b.body).delegate(a,(c.split?c:c.join("."+M+" "))+"."+M,function(){var a=s.api[d.attr(this,O)];a&&!a.disabled&&e.apply(a,arguments)})}function r(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):z,p="html5"===f.metadata.type&&o?o[f.metadata.name]:z,q=a.data(f.metadata.name||"qtipopts");try{q="string"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(x,{},s.defaults,f,"object"==typeof q?h(q):z,h(p||o)),i=k.position,k.id=c,"boolean"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===y||!j)return y;k.content.text=j}if(i.container.length||(i.container=m),i.target===y&&(i.target=n),k.show.target===y&&(k.show.target=n),k.show.solo===x&&(k.show.solo=i.container.closest("body")),k.hide.target===y&&(k.hide.target=n),k.position.viewport===x&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new u(i.at,x),i.my=new u(i.my),a.data(M))if(k.overwrite)a.qtip("destroy",!0);else if(k.overwrite===y)return y;return a.attr(N,c),k.suppress&&(l=a.attr("title"))&&a.removeAttr("title").attr(Y,l).attr("title",""),g=new e(a,k,c,!!j),a.data(M,g),g}var s,t,u,v,w,x=!0,y=!1,z=null,A="x",B="y",C="width",D="height",E="top",F="left",G="bottom",H="right",I="center",J="flipinvert",K="shift",L={},M="qtip",N="data-hasqtip",O="data-qtip-id",P=["ui-widget","ui-tooltip"],Q="."+M,R="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),S=M+"-fixed",T=M+"-default",U=M+"-focus",V=M+"-hover",W=M+"-disabled",X="_replacedByqTip",Y="oldtitle",Z={ie:function(){for(var a=4,c=b.createElement("div");(c.innerHTML="<!--[if gt IE "+a+"]><i></i><![endif]-->")&&c.getElementsByTagName("i")[0];a+=1);return a>4?a:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||y};t=e.prototype,t._when=function(a){return d.when.apply(d,a)},t.render=function(a){if(this.rendered||this.destroyed)return this;var b,c=this,e=this.options,f=this.cache,g=this.elements,h=e.content.text,i=e.content.title,j=e.content.button,k=e.position,l=("."+this._id+" ",[]);return d.attr(this.target[0],"aria-describedby",this._id),f.posClass=this._createPosClass((this.position={my:k.my,at:k.at}).my),this.tooltip=g.tooltip=b=d("<div/>",{id:this._id,"class":[M,T,e.style.classes,f.posClass].join(" "),width:e.style.width||"",height:e.style.height||"",tracking:"mouse"===k.target&&k.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":y,"aria-describedby":this._id+"-content","aria-hidden":x}).toggleClass(W,this.disabled).attr(O,this.id).data(M,this).appendTo(k.container).append(g.content=d("<div />",{"class":M+"-content",id:this._id+"-content","aria-atomic":x})),this.rendered=-1,this.positioning=x,i&&(this._createTitle(),d.isFunction(i)||l.push(this._updateTitle(i,y))),j&&this._createButton(),d.isFunction(h)||l.push(this._updateContent(h,y)),this.rendered=x,this._setWidget(),d.each(L,function(a){var b;"render"===this.initialize&&(b=this(c))&&(c.plugins[a]=b)}),this._unassignEvents(),this._assignEvents(),this._when(l).then(function(){c._trigger("render"),c.positioning=y,c.hiddenDuringWait||!e.show.ready&&!a||c.toggle(x,f.event,y),c.hiddenDuringWait=y}),s.api[this.id]=this,this},t.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=x;var a,b=this.target,c=b.attr(Y);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()});for(a in this.timers)clearTimeout(this.timers[a]);b.removeData(M).removeAttr(O).removeAttr(N).removeAttr("aria-describedby"),this.options.suppress&&c&&b.attr("title",c).removeAttr(Y),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=z,delete s.api[this.id]}}return this.destroyed?this.target:(a===x&&"hide"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one("tooltiphidden",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},v=t.checks={builtin:{"^id$":function(a,b,c,e){var f=c===x?s.nextid:c,g=M+"-"+f;f!==y&&f.length>0&&!d("#"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):a[b]=e},"^prerender":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(a,b,c){this._updateContent(c)},"^content.attr$":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},"^content.title$":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},"^content.button$":function(a,b,c){this._updateButton(c)},"^content.title.(text|button)$":function(a,b,c){this.set("content."+b,c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(this.position[b]=a[b]=new u(c,"at"===b))},"^position.container$":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},"^show.ready$":function(a,b,c){c&&(!this.rendered&&this.render(x)||this.toggle(x))},"^style.classes$":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},"^style.(width|height)":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(a,b,c){this.rendered&&this.tooltip.toggleClass(T,!!c)},"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr("tracking","mouse"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},t.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var $=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,_=/^prerender|show\.ready/i;t.set=function(a,b){if(this.destroyed)return this;{var c,e=this.rendered,f=y,g=this.options;this.checks}return"string"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&_.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=$.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=x,d.each(a,d.proxy(j,this)),this.positioning=y,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition("mouse"===g.position.target?z:this.cache.event),this},t._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||""),d.isFunction(a.then)?(e.waiting=x,a.then(function(a){return e.waiting=y,c._update(a,b)},z,function(a){return c._update(a,b)})):a===y||!a&&""!==a?y:(a.jquery&&a.length>0?b.empty().append(a.css({display:"block",visibility:"visible"})):b.html(a),this._waitForContent(b).then(function(a){c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):y},t._waitForContent=function(a){var b=this.cache;return b.waiting=x,(d.fn.imagesLoaded?a.imagesLoaded():d.Deferred().resolve([])).done(function(){b.waiting=y}).promise()},t._updateContent=function(a,b){this._update(a,this.elements.content,b)},t._updateTitle=function(a,b){this._update(a,this.elements.title,b)===y&&this._removeTitle(y)},t._createTitle=function(){var a=this.elements,b=this._id+"-title";a.titlebar&&this._removeTitle(),a.titlebar=d("<div />",{"class":M+"-titlebar "+(this.options.style.widget?k("header"):"")}).append(a.title=d("<div />",{id:b,"class":M+"-title","aria-atomic":x})).insertBefore(a.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus","down"===a.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover","mouseover"===a.type)}),this.options.content.button&&this._createButton()},t._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=z,a!==y&&this.reposition())},t._createPosClass=function(a){return M+"-pos-"+(a||this.options.position.my).abbrev()},t.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=x;var f,g,h,i,j=this.cache,k=this.tooltip,l=this.options.position,m=l.target,n=l.my,o=l.at,p=l.viewport,q=l.container,r=l.adjust,s=r.method.split(" "),t=k.outerWidth(y),u=k.outerHeight(y),v=0,w=0,z=k.css("position"),A={left:0,top:0},B=k[0].offsetWidth>0,C=c&&"scroll"===c.type,D=d(a),J=q[0].ownerDocument,K=this.mouse;if(d.isArray(m)&&2===m.length)o={x:F,y:E},A={left:m[0],top:m[1]};else if("mouse"===m)o={x:F,y:E},(!r.mouse||this.options.hide.distance)&&j.origin&&j.origin.pageX?c=j.origin:!c||c&&("resize"===c.type||"scroll"===c.type)?c=j.event:K&&K.pageX&&(c=K),"static"!==z&&(A=q.offset()),J.body.offsetWidth!==(a.innerWidth||J.documentElement.clientWidth)&&(g=d(b.body).offset()),A={left:c.pageX-A.left+(g&&g.left||0),top:c.pageY-A.top+(g&&g.top||0)},r.mouse&&C&&K&&(A.left-=(K.scrollX||0)-D.scrollLeft(),A.top-=(K.scrollY||0)-D.scrollTop());else{if("event"===m?c&&c.target&&"scroll"!==c.type&&"resize"!==c.type?j.target=d(c.target):c.target||(j.target=this.elements.target):"event"!==m&&(j.target=d(m.jquery?m:this.elements.target)),m=j.target,m=d(m).eq(0),0===m.length)return this;m[0]===b||m[0]===a?(v=Z.iOS?a.innerWidth:m.width(),w=Z.iOS?a.innerHeight:m.height(),m[0]===a&&(A={top:(p||m).scrollTop(),left:(p||m).scrollLeft()})):L.imagemap&&m.is("area")?f=L.imagemap(this,m,o,L.viewport?s:y):L.svg&&m&&m[0].ownerSVGElement?f=L.svg(this,m,o,L.viewport?s:y):(v=m.outerWidth(y),w=m.outerHeight(y),A=m.offset()),f&&(v=f.width,w=f.height,g=f.offset,A=f.position),A=this.reposition.offset(m,A,q),(Z.iOS>3.1&&Z.iOS<4.1||Z.iOS>=4.3&&Z.iOS<4.33||!Z.iOS&&"fixed"===z)&&(A.left-=D.scrollLeft(),A.top-=D.scrollTop()),(!f||f&&f.adjustable!==y)&&(A.left+=o.x===H?v:o.x===I?v/2:0,A.top+=o.y===G?w:o.y===I?w/2:0)}return A.left+=r.x+(n.x===H?-t:n.x===I?-t/2:0),A.top+=r.y+(n.y===G?-u:n.y===I?-u/2:0),L.viewport?(h=A.adjusted=L.viewport(this,A,l,v,w,t,u),g&&h.left&&(A.left+=g.left),g&&h.top&&(A.top+=g.top),h.my&&(this.position.my=h.my)):A.adjusted={left:0,top:0},j.posClass!==(i=this._createPosClass(this.position.my))&&k.removeClass(j.posClass).addClass(j.posClass=i),this._trigger("move",[A,p.elem||p],c)?(delete A.adjusted,e===y||!B||isNaN(A.left)||isNaN(A.top)||"mouse"===m||!d.isFunction(l.effect)?k.css(A):d.isFunction(l.effect)&&(l.effect.call(k,this,d.extend({},A)),k.queue(function(a){d(this).css({opacity:"",height:""}),Z.ie&&this.style.removeAttribute("filter"),a()})),this.positioning=y,this):this},t.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!Z.ie&&"CSS1Compat"!==b.compatMode,m=e[0];do"static"!==(h=d.css(m,"position"))&&("fixed"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,"borderLeftWidth"))||0,i.top+=parseFloat(d.css(m,"borderTopWidth"))||0),c.left-=i.left+(parseFloat(d.css(m,"marginLeft"))||0),c.top-=i.top+(parseFloat(d.css(m,"marginTop"))||0),g||"hidden"===(j=d.css(m,"overflow"))||"visible"===j||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var ab=(u=t.reposition.Corner=function(a,b){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,I).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance="t"===c||"b"===c?B:A}).prototype;ab.invert=function(a,b){this[a]=this[a]===F?H:this[a]===H?F:b||this[a]},ab.string=function(a){var b=this.x,c=this.y,d=b!==c?"center"===b||"center"!==c&&(this.precedance===B||this.forceY)?[c,b]:[b,c]:[b];return a!==!1?d.join(" "):d},ab.abbrev=function(){var a=this.string(!1);return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||"")},ab.clone=function(){return new u(this.string(),this.forceY)},t.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&e.event&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=d.event.fix(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=x),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?"show":"hide",l=this.options[k],m=(this.options[a?"hide":"show"],this.options.position),n=this.options.content,o=this.tooltip.css("width"),p=this.tooltip.is(":visible"),q=a||1===l.target.length,r=!c||l.target.length<2||e.target[0]===c.target;return(typeof a).search("boolean|number")&&(a=!p),h=!g.is(":animated")&&p===a&&r,i=h?z:!!this._trigger(k,[90]),this.destroyed?this:(i!==y&&a&&this.focus(c),!i||h?this:(d.attr(g[0],"aria-hidden",!a),a?(this.mouse&&(e.origin=d.event.fix(this.mouse)),d.isFunction(n.text)&&this._updateContent(n.text,y),d.isFunction(n.title)&&this._updateTitle(n.title,y),!w&&"mouse"===m.target&&m.adjust.mouse&&(d(b).bind("mousemove."+M,this._storeMouse),w=x),o||g.css("width",g.outerWidth(y)),this.reposition(c,arguments[2]),o||g.css("width",""),l.solo&&("string"==typeof l.solo?d(l.solo):d(Q,l.solo)).not(g).not(l.target).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete e.origin,w&&!d(Q+'[tracking="true"]:visible',l.solo).not(g).length&&(d(b).unbind("mousemove."+M),w=y),this.blur(c)),j=d.proxy(function(){a?(Z.ie&&g[0].style.removeAttribute("filter"),g.css("overflow",""),"string"==typeof l.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):g.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(a?"visible":"hidden")},this),l.effect===y||q===y?(g[k](),j()):d.isFunction(l.effect)?(g.stop(1,1),l.effect.call(g,this),g.queue("fx",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&l.target.trigger("qtip-"+this.id+"-inactive"),this))},t.show=function(a){return this.toggle(x,a)},t.hide=function(a){return this.toggle(y,a)},t.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(Q),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=s.zindex+b.length;return c.hasClass(U)||this._trigger("focus",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+U).qtip("blur",a)),c.addClass(U)[0].style.zIndex=f),this},t.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass(U),this._trigger("blur",[this.tooltip.css("zIndex")],a),this)},t.disable=function(a){return this.destroyed?this:("toggle"===a?a=!(this.rendered?this.tooltip.hasClass(W):this.disabled):"boolean"!=typeof a&&(a=x),this.rendered&&this.tooltip.toggleClass(W,a).attr("aria-disabled",a),this.disabled=!!a,this)},t.enable=function(){return this.disable(y)},t._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f="string"==typeof e,g=f?e:"Close tooltip";b.button&&b.button.remove(),b.button=e.jquery?e:d("<a />",{"class":"qtip-close "+(this.options.style.widget?"":M+"-icon"),title:g,"aria-label":g}).prepend(d("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"})),b.button.appendTo(b.titlebar||c).attr("role","button").click(function(b){return c.hasClass(W)||a.hide(b),y})},t._updateButton=function(a){if(!this.rendered)return y;var b=this.elements.button;a?this._createButton():b.remove()},t._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(W);c.removeClass(W),W=a?"ui-state-disabled":"qtip-disabled",c.toggleClass(W,d),c.toggleClass("ui-helper-reset "+k(),a).toggleClass(T,this.options.style.def&&!a),b.content&&b.content.toggleClass(k("content"),a),b.titlebar&&b.titlebar.toggleClass(k("header"),a),b.button&&b.button.toggleClass(M+"-icon",!a)},t._storeMouse=function(a){return(this.mouse=d.event.fix(a)).type="mousemove",this},t._bind=function(a,b,c,e,f){if(a&&c&&b.length){var g="."+this._id+(e?"-"+e:"");return d(a).bind((b.split?b:b.join(g+" "))+g,d.proxy(c,f||this)),this}},t._unbind=function(a,b){return a&&d(a).unbind("."+this._id+(b?"-"+b:"")),this},t._trigger=function(a,b,c){var e=d.Event("tooltip"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||z,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=y,!e.isDefaultPrevented()},t._bindEvents=function(a,b,c,e,f,g){var h=c.filter(e).add(e.filter(c)),i=[];h.length&&(d.each(b,function(b,c){var e=d.inArray(c,a);e>-1&&i.push(a.splice(e,1)[0])}),i.length&&(this._bind(h,i,function(a){var b=this.rendered?this.tooltip[0].offsetWidth>0:!1;(b?g:f).call(this,a)}),c=c.not(h),e=e.not(h))),this._bind(c,a,f),this._bind(e,b,g)},t._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?y:(this.cache.event=a&&d.event.fix(a),this.cache.target=a&&d(a.target),clearTimeout(this.timers.show),void(this.timers.show=l.call(this,function(){this.render("object"==typeof a||c.show.ready)},c.prerender?0:c.show.delay)))}var c=this.options,e=c.show.target,f=c.hide.target,g=c.show.event?d.trim(""+c.show.event).split(" "):[],h=c.hide.event?d.trim(""+c.hide.event).split(" "):[];this._bind(this.elements.target,["remove","removeqtip"],function(){this.destroy(!0)},"destroy"),/mouse(over|enter)/i.test(c.show.event)&&!/mouse(out|leave)/i.test(c.hide.event)&&h.push("mouseleave"),this._bind(e,"mousemove",function(a){this._storeMouse(a),this.cache.onTarget=x}),this._bindEvents(g,h,e,f,b,function(){return this.timers?void clearTimeout(this.timers.show):y}),(c.show.ready||c.prerender)&&b.call(this,a)},t._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),q=(d(b.body),d(a)),r=e.show.event?d.trim(""+e.show.event).split(" "):[],t=e.hide.event?d.trim(""+e.hide.event).split(" "):[];d.each(e.events,function(a,b){c._bind(g,"toggle"===a?["tooltipshow","tooltiphide"]:["tooltip"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&"window"===e.hide.leave&&this._bind(l,["mouseout","blur"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(S)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+e.hide.event).indexOf("unfocus")>-1&&this._bind(j.closest("html"),["mousedown","touchstart"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(W)&&this.tooltip[0].offsetWidth>0,e=b.parents(Q).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),"number"==typeof e.hide.inactive&&(this._bind(h,"qtip-"+this.id+"-inactive",o,"inactive"),this._bind(i.add(g),s.inactiveEvents,o)),this._bindEvents(r,t,h,i,m,n),this._bind(h.add(g),"mousemove",function(a){if("number"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),"mouse"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,["mouseenter","mouseleave"],function(a){return this.cache?void(this.cache.onTarget="mouseenter"===a.type):y}),this._bind(l,"mousemove",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(W)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:q,"resize",p),f.adjust.scroll&&this._bind(q.add(f.container),"scroll",p)},t._unassignEvents=function(){var c=this.options,e=c.show.target,f=c.hide.target,g=d.grep([this.elements.target[0],this.rendered&&this.tooltip[0],c.position.container[0],c.position.viewport[0],c.position.container.closest("html")[0],a,b],function(a){return"object"==typeof a});e&&e.toArray&&(g=g.concat(e.toArray())),f&&f.toArray&&(g=g.concat(f.toArray())),this._unbind(g)._unbind(g,"destroy")._unbind(g,"inactive")},d(function(){q(Q,["mouseenter","mouseleave"],function(a){var b="mouseenter"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(S)&&!c.hasClass(W)&&clearTimeout(this.timers.hide)):"mouse"===f.position.target&&f.position.adjust.mouse&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(V,b)}),q("["+O+"]",R,o)}),s=d.fn.qtip=function(a,b,e){var f=(""+a).toLowerCase(),g=z,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],M):z;return!arguments.length&&k||"api"===f?k:"string"==typeof a?(this.each(function(){var a=d.data(this,M);if(!a)return x;if(j&&j.timeStamp&&(a.cache.event=j),!b||"option"!==f&&"options"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),y;a.set(b,e)}}),g!==z?g:this):"object"!=typeof a&&arguments.length?void 0:(k=h(d.extend(x,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===y||c.length<1||s.api[c]?s.nextid++:c,b=r(d(this),c,k),b===y?x:(s.api[c]=b,d.each(L,function(){"initialize"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,s.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,Y):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(Y,b))}return d.fn["attr"+X].apply(this,arguments)},clone:function(a){var b=(d([]),d.fn["clone"+X].apply(this,arguments));return a||b.filter("["+Y+"]").attr("title",function(){return d.attr(this,Y)}).removeAttr(Y),b}},function(a,b){if(!b||d.fn[a+X])return x;var c=d.fn[a+X]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+X]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(N))try{b.triggerHandler("removeqtip")}catch(e){}d["cleanData"+X].apply(this,arguments)}),s.version="2.2.1",s.nextid=0,s.inactiveEvents=R,s.zindex=15e3,s.defaults={prerender:y,id:y,overwrite:x,suppress:x,content:{text:x,attr:"title",title:y,button:y},position:{my:"top left",at:"bottom right",target:y,container:y,viewport:y,adjust:{x:0,y:0,mouse:x,scroll:x,resize:x,method:"flipinvert flipinvert"},effect:function(a,b){d(this).animate(b,{duration:200,queue:y})}},show:{target:y,event:"mouseenter",effect:x,delay:90,solo:y,ready:y,autofocus:y},hide:{target:y,event:"mouseleave",effect:x,delay:0,fixed:y,inactive:y,leave:"window",distance:y},style:{classes:"",widget:y,width:y,height:y,def:x},events:{render:z,move:z,show:z,hide:z,toggle:z,visible:z,hidden:z,focus:z,blur:z}},L.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],s=u[a],t=v[a],w=c===K,x=s===f?j:s===g?-j:-j/2,y=t===f?i:t===g?-i:-i/2,z=q[f]+r[f]-(n?0:m[f]),A=z-k,B=k+j-(h===C?o:p)-z,D=x-(u.precedance===a||s===u[b]?y:0)-(t===I?i/2:0);return w?(D=(s===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-m[f]+r[f],k-D,Math.min(Math.max(-m[f]+r[f]+(h===C?o:p),k+D),d[f],"center"===s?k-x:1e9))):(e*=c===J?2:0,A>0&&(s!==f||B>0)?(d[f]-=D+e,l.invert(a,f)):B>0&&(s!==g||A>0)&&(d[f]-=(s===I?-D:D)+e,l.invert(a,g)),d[f]<q&&-d[f]>B&&(d[f]=k,l=u.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s=e.target,t=c.elements.tooltip,u=e.my,v=e.at,w=e.adjust,x=w.method.split(" "),z=x[0],L=x[1]||x[0],M=e.viewport,N=e.container,O=(c.cache,{left:0,top:0});return M.jquery&&s[0]!==a&&s[0]!==b.body&&"none"!==w.method?(m=N.offset()||O,n="static"===N.css("position"),k="fixed"===t.css("position"),o=M[0]===a?M.width():M.outerWidth(y),p=M[0]===a?M.height():M.outerHeight(y),q={left:k?0:M.scrollLeft(),top:k?0:M.scrollTop()},r=M.offset()||O,("shift"!==z||"shift"!==L)&&(l=u.clone()),O={left:"none"!==z?j(A,B,z,w.x,F,H,C,f,h):0,top:"none"!==L?j(B,A,L,w.y,E,G,D,g,i):0,my:l}):O}})}(window,document);
 
 
1
+ /* qTip2 v2.2.1 | Plugins: tips | Styles: core css3 | qtip2.com | Licensed MIT | Mon Sep 08 2014 17:43:49 */
2
 
3
+ !function(a,b,c){!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){"use strict";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=D,this.elements={target:a},this._id=P+"-"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:C,attr:e,onTooltip:C,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=C}function f(a){return a===D||"object"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||"object"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?C:(f(a.metadata)&&(a.metadata={type:a.metadata}),"content"in a&&(b=a.content,f(b)||b.jquery||b.done?b=a.content={text:c=g(b)?C:b}:c=b.text,"ajax"in b&&(e=b.ajax,h=e&&e.once!==C,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||"Loading...",g=d.ajax(d.extend({},e,{context:b})).then(e.success,D,e.error).then(function(a){return a&&h&&b.set("content.text",a),a},function(a,c,d){b.destroyed||0===a.status||b.set("content.text",c+": "+d)});return h?f:(b.set("content.text",f),g)}),"title"in b&&(d.isPlainObject(b.title)&&(b.button=b.title.button,b.title=b.title.text),g(b.title||C)&&(b.title=C))),"position"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===B?{ready:B}:{event:a.show}),"hide"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(O,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(".");e=e[f[d++]];)d<f.length&&(c=e);return[c||a,f.pop()]}function j(a,b){var c,d,e;for(c in this.checks)for(d in this.checks[c])(e=new RegExp(d,"i").exec(a))&&(b.push(e),("builtin"===c||this.plugins[c])&&this.checks[c][d].apply(this.plugins[c]||this,b))}function k(a){return S.concat("").join(a?"-"+a+" ":" ")}function l(a,b){return b>0?setTimeout(d.proxy(a,this),b):void a.call(this)}function m(a){this.tooltip.hasClass(Z)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=l.call(this,function(){this.toggle(B,a)},this.options.show.delay))}function n(a){if(!this.tooltip.hasClass(Z)&&!this.destroyed){var b=d(a.relatedTarget),c=b.closest(T)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&"mouse"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=l.call(this,function(){this.toggle(C,a)},this.options.hide.delay,this)}}function o(a){!this.tooltip.hasClass(Z)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=l.call(this,function(){this.hide(a)},this.options.hide.inactive))}function p(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function q(a,c,e){d(b.body).delegate(a,(c.split?c:c.join("."+P+" "))+"."+P,function(){var a=w.api[d.attr(this,R)];a&&!a.disabled&&e.apply(a,arguments)})}function r(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):D,p="html5"===f.metadata.type&&o?o[f.metadata.name]:D,q=a.data(f.metadata.name||"qtipopts");try{q="string"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(B,{},w.defaults,f,"object"==typeof q?h(q):D,h(p||o)),i=k.position,k.id=c,"boolean"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===C||!j)return C;k.content.text=j}if(i.container.length||(i.container=m),i.target===C&&(i.target=n),k.show.target===C&&(k.show.target=n),k.show.solo===B&&(k.show.solo=i.container.closest("body")),k.hide.target===C&&(k.hide.target=n),k.position.viewport===B&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new y(i.at,B),i.my=new y(i.my),a.data(P))if(k.overwrite)a.qtip("destroy",!0);else if(k.overwrite===C)return C;return a.attr(Q,c),k.suppress&&(l=a.attr("title"))&&a.removeAttr("title").attr(_,l).attr("title",""),g=new e(a,k,c,!!j),a.data(P,g),g}function s(a){return a.charAt(0).toUpperCase()+a.slice(1)}function t(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+" "+ob.join(f+" ")+f).split(" "),h=0;if(nb[b])return a.css(nb[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return nb[b]=d,e}function u(a,b){return Math.ceil(parseFloat(t(a,b)))}function v(a,b){this._ns="tip",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.init(this.qtip=a)}var w,x,y,z,A,B=!0,C=!1,D=null,E="x",F="y",G="width",H="height",I="top",J="left",K="bottom",L="right",M="center",N="shift",O={},P="qtip",Q="data-hasqtip",R="data-qtip-id",S=["ui-widget","ui-tooltip"],T="."+P,U="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),V=P+"-fixed",W=P+"-default",X=P+"-focus",Y=P+"-hover",Z=P+"-disabled",$="_replacedByqTip",_="oldtitle",ab={ie:function(){for(var a=4,c=b.createElement("div");(c.innerHTML="<!--[if gt IE "+a+"]><i></i><![endif]-->")&&c.getElementsByTagName("i")[0];a+=1);return a>4?a:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||C};x=e.prototype,x._when=function(a){return d.when.apply(d,a)},x.render=function(a){if(this.rendered||this.destroyed)return this;var b,c=this,e=this.options,f=this.cache,g=this.elements,h=e.content.text,i=e.content.title,j=e.content.button,k=e.position,l=("."+this._id+" ",[]);return d.attr(this.target[0],"aria-describedby",this._id),f.posClass=this._createPosClass((this.position={my:k.my,at:k.at}).my),this.tooltip=g.tooltip=b=d("<div/>",{id:this._id,"class":[P,W,e.style.classes,f.posClass].join(" "),width:e.style.width||"",height:e.style.height||"",tracking:"mouse"===k.target&&k.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":C,"aria-describedby":this._id+"-content","aria-hidden":B}).toggleClass(Z,this.disabled).attr(R,this.id).data(P,this).appendTo(k.container).append(g.content=d("<div />",{"class":P+"-content",id:this._id+"-content","aria-atomic":B})),this.rendered=-1,this.positioning=B,i&&(this._createTitle(),d.isFunction(i)||l.push(this._updateTitle(i,C))),j&&this._createButton(),d.isFunction(h)||l.push(this._updateContent(h,C)),this.rendered=B,this._setWidget(),d.each(O,function(a){var b;"render"===this.initialize&&(b=this(c))&&(c.plugins[a]=b)}),this._unassignEvents(),this._assignEvents(),this._when(l).then(function(){c._trigger("render"),c.positioning=C,c.hiddenDuringWait||!e.show.ready&&!a||c.toggle(B,f.event,C),c.hiddenDuringWait=C}),w.api[this.id]=this,this},x.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=B;var a,b=this.target,c=b.attr(_);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()});for(a in this.timers)clearTimeout(this.timers[a]);b.removeData(P).removeAttr(R).removeAttr(Q).removeAttr("aria-describedby"),this.options.suppress&&c&&b.attr("title",c).removeAttr(_),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=D,delete w.api[this.id]}}return this.destroyed?this.target:(a===B&&"hide"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one("tooltiphidden",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},z=x.checks={builtin:{"^id$":function(a,b,c,e){var f=c===B?w.nextid:c,g=P+"-"+f;f!==C&&f.length>0&&!d("#"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):a[b]=e},"^prerender":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(a,b,c){this._updateContent(c)},"^content.attr$":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},"^content.title$":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},"^content.button$":function(a,b,c){this._updateButton(c)},"^content.title.(text|button)$":function(a,b,c){this.set("content."+b,c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(this.position[b]=a[b]=new y(c,"at"===b))},"^position.container$":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},"^show.ready$":function(a,b,c){c&&(!this.rendered&&this.render(B)||this.toggle(B))},"^style.classes$":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},"^style.(width|height)":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(a,b,c){this.rendered&&this.tooltip.toggleClass(W,!!c)},"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr("tracking","mouse"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},x.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var bb=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,cb=/^prerender|show\.ready/i;x.set=function(a,b){if(this.destroyed)return this;{var c,e=this.rendered,f=C,g=this.options;this.checks}return"string"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&cb.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=bb.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=B,d.each(a,d.proxy(j,this)),this.positioning=C,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition("mouse"===g.position.target?D:this.cache.event),this},x._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||""),d.isFunction(a.then)?(e.waiting=B,a.then(function(a){return e.waiting=C,c._update(a,b)},D,function(a){return c._update(a,b)})):a===C||!a&&""!==a?C:(a.jquery&&a.length>0?b.empty().append(a.css({display:"block",visibility:"visible"})):b.html(a),this._waitForContent(b).then(function(a){c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):C},x._waitForContent=function(a){var b=this.cache;return b.waiting=B,(d.fn.imagesLoaded?a.imagesLoaded():d.Deferred().resolve([])).done(function(){b.waiting=C}).promise()},x._updateContent=function(a,b){this._update(a,this.elements.content,b)},x._updateTitle=function(a,b){this._update(a,this.elements.title,b)===C&&this._removeTitle(C)},x._createTitle=function(){var a=this.elements,b=this._id+"-title";a.titlebar&&this._removeTitle(),a.titlebar=d("<div />",{"class":P+"-titlebar "+(this.options.style.widget?k("header"):"")}).append(a.title=d("<div />",{id:b,"class":P+"-title","aria-atomic":B})).insertBefore(a.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus","down"===a.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover","mouseover"===a.type)}),this.options.content.button&&this._createButton()},x._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=D,a!==C&&this.reposition())},x._createPosClass=function(a){return P+"-pos-"+(a||this.options.position.my).abbrev()},x.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=B;var f,g,h,i,j=this.cache,k=this.tooltip,l=this.options.position,m=l.target,n=l.my,o=l.at,p=l.viewport,q=l.container,r=l.adjust,s=r.method.split(" "),t=k.outerWidth(C),u=k.outerHeight(C),v=0,w=0,x=k.css("position"),y={left:0,top:0},z=k[0].offsetWidth>0,A=c&&"scroll"===c.type,D=d(a),E=q[0].ownerDocument,F=this.mouse;if(d.isArray(m)&&2===m.length)o={x:J,y:I},y={left:m[0],top:m[1]};else if("mouse"===m)o={x:J,y:I},(!r.mouse||this.options.hide.distance)&&j.origin&&j.origin.pageX?c=j.origin:!c||c&&("resize"===c.type||"scroll"===c.type)?c=j.event:F&&F.pageX&&(c=F),"static"!==x&&(y=q.offset()),E.body.offsetWidth!==(a.innerWidth||E.documentElement.clientWidth)&&(g=d(b.body).offset()),y={left:c.pageX-y.left+(g&&g.left||0),top:c.pageY-y.top+(g&&g.top||0)},r.mouse&&A&&F&&(y.left-=(F.scrollX||0)-D.scrollLeft(),y.top-=(F.scrollY||0)-D.scrollTop());else{if("event"===m?c&&c.target&&"scroll"!==c.type&&"resize"!==c.type?j.target=d(c.target):c.target||(j.target=this.elements.target):"event"!==m&&(j.target=d(m.jquery?m:this.elements.target)),m=j.target,m=d(m).eq(0),0===m.length)return this;m[0]===b||m[0]===a?(v=ab.iOS?a.innerWidth:m.width(),w=ab.iOS?a.innerHeight:m.height(),m[0]===a&&(y={top:(p||m).scrollTop(),left:(p||m).scrollLeft()})):O.imagemap&&m.is("area")?f=O.imagemap(this,m,o,O.viewport?s:C):O.svg&&m&&m[0].ownerSVGElement?f=O.svg(this,m,o,O.viewport?s:C):(v=m.outerWidth(C),w=m.outerHeight(C),y=m.offset()),f&&(v=f.width,w=f.height,g=f.offset,y=f.position),y=this.reposition.offset(m,y,q),(ab.iOS>3.1&&ab.iOS<4.1||ab.iOS>=4.3&&ab.iOS<4.33||!ab.iOS&&"fixed"===x)&&(y.left-=D.scrollLeft(),y.top-=D.scrollTop()),(!f||f&&f.adjustable!==C)&&(y.left+=o.x===L?v:o.x===M?v/2:0,y.top+=o.y===K?w:o.y===M?w/2:0)}return y.left+=r.x+(n.x===L?-t:n.x===M?-t/2:0),y.top+=r.y+(n.y===K?-u:n.y===M?-u/2:0),O.viewport?(h=y.adjusted=O.viewport(this,y,l,v,w,t,u),g&&h.left&&(y.left+=g.left),g&&h.top&&(y.top+=g.top),h.my&&(this.position.my=h.my)):y.adjusted={left:0,top:0},j.posClass!==(i=this._createPosClass(this.position.my))&&k.removeClass(j.posClass).addClass(j.posClass=i),this._trigger("move",[y,p.elem||p],c)?(delete y.adjusted,e===C||!z||isNaN(y.left)||isNaN(y.top)||"mouse"===m||!d.isFunction(l.effect)?k.css(y):d.isFunction(l.effect)&&(l.effect.call(k,this,d.extend({},y)),k.queue(function(a){d(this).css({opacity:"",height:""}),ab.ie&&this.style.removeAttribute("filter"),a()})),this.positioning=C,this):this},x.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!ab.ie&&"CSS1Compat"!==b.compatMode,m=e[0];do"static"!==(h=d.css(m,"position"))&&("fixed"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,"borderLeftWidth"))||0,i.top+=parseFloat(d.css(m,"borderTopWidth"))||0),c.left-=i.left+(parseFloat(d.css(m,"marginLeft"))||0),c.top-=i.top+(parseFloat(d.css(m,"marginTop"))||0),g||"hidden"===(j=d.css(m,"overflow"))||"visible"===j||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var db=(y=x.reposition.Corner=function(a,b){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,M).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance="t"===c||"b"===c?F:E}).prototype;db.invert=function(a,b){this[a]=this[a]===J?L:this[a]===L?J:b||this[a]},db.string=function(a){var b=this.x,c=this.y,d=b!==c?"center"===b||"center"!==c&&(this.precedance===F||this.forceY)?[c,b]:[b,c]:[b];return a!==!1?d.join(" "):d},db.abbrev=function(){var a=this.string(!1);return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||"")},db.clone=function(){return new y(this.string(),this.forceY)},x.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&e.event&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=d.event.fix(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=B),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?"show":"hide",l=this.options[k],m=(this.options[a?"hide":"show"],this.options.position),n=this.options.content,o=this.tooltip.css("width"),p=this.tooltip.is(":visible"),q=a||1===l.target.length,r=!c||l.target.length<2||e.target[0]===c.target;return(typeof a).search("boolean|number")&&(a=!p),h=!g.is(":animated")&&p===a&&r,i=h?D:!!this._trigger(k,[90]),this.destroyed?this:(i!==C&&a&&this.focus(c),!i||h?this:(d.attr(g[0],"aria-hidden",!a),a?(this.mouse&&(e.origin=d.event.fix(this.mouse)),d.isFunction(n.text)&&this._updateContent(n.text,C),d.isFunction(n.title)&&this._updateTitle(n.title,C),!A&&"mouse"===m.target&&m.adjust.mouse&&(d(b).bind("mousemove."+P,this._storeMouse),A=B),o||g.css("width",g.outerWidth(C)),this.reposition(c,arguments[2]),o||g.css("width",""),l.solo&&("string"==typeof l.solo?d(l.solo):d(T,l.solo)).not(g).not(l.target).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete e.origin,A&&!d(T+'[tracking="true"]:visible',l.solo).not(g).length&&(d(b).unbind("mousemove."+P),A=C),this.blur(c)),j=d.proxy(function(){a?(ab.ie&&g[0].style.removeAttribute("filter"),g.css("overflow",""),"string"==typeof l.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):g.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(a?"visible":"hidden")},this),l.effect===C||q===C?(g[k](),j()):d.isFunction(l.effect)?(g.stop(1,1),l.effect.call(g,this),g.queue("fx",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&l.target.trigger("qtip-"+this.id+"-inactive"),this))},x.show=function(a){return this.toggle(B,a)},x.hide=function(a){return this.toggle(C,a)},x.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(T),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=w.zindex+b.length;return c.hasClass(X)||this._trigger("focus",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+X).qtip("blur",a)),c.addClass(X)[0].style.zIndex=f),this},x.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass(X),this._trigger("blur",[this.tooltip.css("zIndex")],a),this)},x.disable=function(a){return this.destroyed?this:("toggle"===a?a=!(this.rendered?this.tooltip.hasClass(Z):this.disabled):"boolean"!=typeof a&&(a=B),this.rendered&&this.tooltip.toggleClass(Z,a).attr("aria-disabled",a),this.disabled=!!a,this)},x.enable=function(){return this.disable(C)},x._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f="string"==typeof e,g=f?e:"Close tooltip";b.button&&b.button.remove(),b.button=e.jquery?e:d("<a />",{"class":"qtip-close "+(this.options.style.widget?"":P+"-icon"),title:g,"aria-label":g}).prepend(d("<span />",{"class":"ui-icon ui-icon-close",html:"&times;"})),b.button.appendTo(b.titlebar||c).attr("role","button").click(function(b){return c.hasClass(Z)||a.hide(b),C})},x._updateButton=function(a){if(!this.rendered)return C;var b=this.elements.button;a?this._createButton():b.remove()},x._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(Z);c.removeClass(Z),Z=a?"ui-state-disabled":"qtip-disabled",c.toggleClass(Z,d),c.toggleClass("ui-helper-reset "+k(),a).toggleClass(W,this.options.style.def&&!a),b.content&&b.content.toggleClass(k("content"),a),b.titlebar&&b.titlebar.toggleClass(k("header"),a),b.button&&b.button.toggleClass(P+"-icon",!a)},x._storeMouse=function(a){return(this.mouse=d.event.fix(a)).type="mousemove",this},x._bind=function(a,b,c,e,f){if(a&&c&&b.length){var g="."+this._id+(e?"-"+e:"");return d(a).bind((b.split?b:b.join(g+" "))+g,d.proxy(c,f||this)),this}},x._unbind=function(a,b){return a&&d(a).unbind("."+this._id+(b?"-"+b:"")),this},x._trigger=function(a,b,c){var e=d.Event("tooltip"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||D,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=C,!e.isDefaultPrevented()},x._bindEvents=function(a,b,c,e,f,g){var h=c.filter(e).add(e.filter(c)),i=[];h.length&&(d.each(b,function(b,c){var e=d.inArray(c,a);e>-1&&i.push(a.splice(e,1)[0])}),i.length&&(this._bind(h,i,function(a){var b=this.rendered?this.tooltip[0].offsetWidth>0:!1;(b?g:f).call(this,a)}),c=c.not(h),e=e.not(h))),this._bind(c,a,f),this._bind(e,b,g)},x._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?C:(this.cache.event=a&&d.event.fix(a),this.cache.target=a&&d(a.target),clearTimeout(this.timers.show),void(this.timers.show=l.call(this,function(){this.render("object"==typeof a||c.show.ready)},c.prerender?0:c.show.delay)))}var c=this.options,e=c.show.target,f=c.hide.target,g=c.show.event?d.trim(""+c.show.event).split(" "):[],h=c.hide.event?d.trim(""+c.hide.event).split(" "):[];this._bind(this.elements.target,["remove","removeqtip"],function(){this.destroy(!0)},"destroy"),/mouse(over|enter)/i.test(c.show.event)&&!/mouse(out|leave)/i.test(c.hide.event)&&h.push("mouseleave"),this._bind(e,"mousemove",function(a){this._storeMouse(a),this.cache.onTarget=B}),this._bindEvents(g,h,e,f,b,function(){return this.timers?void clearTimeout(this.timers.show):C}),(c.show.ready||c.prerender)&&b.call(this,a)},x._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),q=(d(b.body),d(a)),r=e.show.event?d.trim(""+e.show.event).split(" "):[],s=e.hide.event?d.trim(""+e.hide.event).split(" "):[];d.each(e.events,function(a,b){c._bind(g,"toggle"===a?["tooltipshow","tooltiphide"]:["tooltip"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&"window"===e.hide.leave&&this._bind(l,["mouseout","blur"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(V)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+e.hide.event).indexOf("unfocus")>-1&&this._bind(j.closest("html"),["mousedown","touchstart"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(Z)&&this.tooltip[0].offsetWidth>0,e=b.parents(T).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),"number"==typeof e.hide.inactive&&(this._bind(h,"qtip-"+this.id+"-inactive",o,"inactive"),this._bind(i.add(g),w.inactiveEvents,o)),this._bindEvents(r,s,h,i,m,n),this._bind(h.add(g),"mousemove",function(a){if("number"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),"mouse"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,["mouseenter","mouseleave"],function(a){return this.cache?void(this.cache.onTarget="mouseenter"===a.type):C}),this._bind(l,"mousemove",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(Z)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:q,"resize",p),f.adjust.scroll&&this._bind(q.add(f.container),"scroll",p)},x._unassignEvents=function(){var c=this.options,e=c.show.target,f=c.hide.target,g=d.grep([this.elements.target[0],this.rendered&&this.tooltip[0],c.position.container[0],c.position.viewport[0],c.position.container.closest("html")[0],a,b],function(a){return"object"==typeof a});e&&e.toArray&&(g=g.concat(e.toArray())),f&&f.toArray&&(g=g.concat(f.toArray())),this._unbind(g)._unbind(g,"destroy")._unbind(g,"inactive")},d(function(){q(T,["mouseenter","mouseleave"],function(a){var b="mouseenter"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(V)&&!c.hasClass(Z)&&clearTimeout(this.timers.hide)):"mouse"===f.position.target&&f.position.adjust.mouse&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(Y,b)}),q("["+R+"]",U,o)}),w=d.fn.qtip=function(a,b,e){var f=(""+a).toLowerCase(),g=D,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],P):D;return!arguments.length&&k||"api"===f?k:"string"==typeof a?(this.each(function(){var a=d.data(this,P);if(!a)return B;if(j&&j.timeStamp&&(a.cache.event=j),!b||"option"!==f&&"options"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),C;a.set(b,e)}}),g!==D?g:this):"object"!=typeof a&&arguments.length?void 0:(k=h(d.extend(B,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===C||c.length<1||w.api[c]?w.nextid++:c,b=r(d(this),c,k),b===C?B:(w.api[c]=b,d.each(O,function(){"initialize"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,w.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,_):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(_,b))}return d.fn["attr"+$].apply(this,arguments)},clone:function(a){var b=(d([]),d.fn["clone"+$].apply(this,arguments));return a||b.filter("["+_+"]").attr("title",function(){return d.attr(this,_)}).removeAttr(_),b}},function(a,b){if(!b||d.fn[a+$])return B;var c=d.fn[a+$]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+$]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(Q))try{b.triggerHandler("removeqtip")}catch(e){}d["cleanData"+$].apply(this,arguments)}),w.version="2.2.1",w.nextid=0,w.inactiveEvents=U,w.zindex=15e3,w.defaults={prerender:C,id:C,overwrite:B,suppress:B,content:{text:B,attr:"title",title:C,button:C},position:{my:"top left",at:"bottom right",target:C,container:C,viewport:C,adjust:{x:0,y:0,mouse:B,scroll:B,resize:B,method:"flipinvert flipinvert"},effect:function(a,b){d(this).animate(b,{duration:200,queue:C})}},show:{target:C,event:"mouseenter",effect:B,delay:90,solo:C,ready:C,autofocus:C},hide:{target:C,event:"mouseleave",effect:B,delay:0,fixed:C,inactive:C,leave:"window",distance:C},style:{classes:"",widget:C,width:C,height:C,def:B},events:{render:D,move:D,show:D,hide:D,toggle:D,visible:D,hidden:D,focus:D,blur:D}};var eb,fb="margin",gb="border",hb="color",ib="background-color",jb="transparent",kb=" !important",lb=!!b.createElement("canvas").getContext,mb=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,nb={},ob=["Webkit","O","Moz","ms"];if(lb)var pb=a.devicePixelRatio||1,qb=function(){var a=b.createElement("canvas").getContext("2d");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),rb=pb/qb;else var sb=function(a,b,c){return"<qtipvml:"+a+' xmlns="urn:schemas-microsoft.com:vml" class="qtip-vml" '+(b||"")+' style="behavior: url(#default#VML); '+(c||"")+'" />'};d.extend(v.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d("<div />",{"class":P+"-tip"}).prependTo(a.tooltip),lb?(b=d("<canvas />").appendTo(this.element)[0].getContext("2d"),b.lineJoin="miter",b.miterLimit=1e5,b.save()):(b=sb("shape",'coordorigin="0,0"',"position:absolute;"),this.element.html(b+b),a._bind(d("*",c).add(c),["click","mousedown"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,"tooltipmove",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===I||a.y===M&&this.element.position().top+this.size[1]/2+this.options.offset<b.outerHeight(B))},_parseCorner:function(a){var b=this.qtip.options.position.my;return a===C||b===C?a=C:a===B?a=new y(b.string()):a.string||(a=new y(a),a.fixed=B),a},_parseWidth:function(a,b,c){var d=this.qtip.elements,e=gb+s(b)+"Width";return(c?u(c,e):u(d.content,e)||u(this._useTitle(a)&&d.titlebar||d.content,e)||u(d.tooltip,e))||0},_parseRadius:function(a){var b=this.qtip.elements,c=gb+s(a.y)+s(a.x)+"Radius";return ab.ie<9?0:u(this._useTitle(a)&&b.titlebar||b.content,c)||u(b.tooltip,c)||0},_invalidColour:function(a,b,c){var d=a.css(b);return!d||c&&d===a.css(c)||mb.test(d)?C:d},_parseColours:function(a){var b=this.qtip.elements,c=this.element.css("cssText",""),e=gb+s(a[a.precedance])+s(hb),f=this._useTitle(a)&&b.titlebar||b.content,g=this._invalidColour,h=[];return h[0]=g(c,ib)||g(f,ib)||g(b.content,ib)||g(b.tooltip,ib)||c.css(ib),h[1]=g(c,e,hb)||g(f,e,hb)||g(b.content,e,hb)||g(b.tooltip,e,hb)||b.tooltip.css(e),d("*",c).add(c).css("cssText",ib+":"+jb+kb+";"+gb+":0"+kb+";"),h},_calculateSize:function(a){var b,c,d,e=a.precedance===F,f=this.options.width,g=this.options.height,h="c"===a.abbrev(),i=(e?f:g)*(h?.5:1),j=Math.pow,k=Math.round,l=Math.sqrt(j(i,2)+j(g,2)),m=[this.border/i*l,this.border/g*l];return m[2]=Math.sqrt(j(m[0],2)-j(this.border,2)),m[3]=Math.sqrt(j(m[1],2)-j(this.border,2)),b=l+m[2]+m[3]+(h?0:m[0]),c=b/l,d=[k(c*f),k(c*g)],e?d:d.reverse()},_calculateTip:function(a,b,c){c=c||1,b=b||this.size;var d=b[0]*c,e=b[1]*c,f=Math.ceil(d/2),g=Math.ceil(e/2),h={br:[0,0,d,e,d,0],bl:[0,0,d,0,0,e],tr:[0,e,d,0,d,e],tl:[0,0,0,e,d,e],tc:[0,e,f,0,d,e],bc:[0,0,d,0,f,e],rc:[0,0,d,g,0,e],lc:[d,0,d,e,0,g]};return h.lt=h.br,h.rt=h.bl,h.lb=h.tr,h.rb=h.tl,h[a.abbrev()]},_drawCoords:function(a,b){a.beginPath(),a.moveTo(b[0],b[1]),a.lineTo(b[2],b[3]),a.lineTo(b[4],b[5]),a.closePath()},create:function(){var a=this.corner=(lb||ab.ie)&&this._parseCorner(this.options.corner);return(this.enabled=!!this.corner&&"c"!==this.corner.abbrev())&&(this.qtip.cache.corner=a.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(b,c){if(!this.enabled)return this;var e,f,g,h,i,j,k,l,m=this.qtip.elements,n=this.element,o=n.children(),p=this.options,q=this.size,r=p.mimic,s=Math.round;b||(b=this.qtip.cache.corner||this.corner),r===C?r=b:(r=new y(r),r.precedance=b.precedance,"inherit"===r.x?r.x=b.x:"inherit"===r.y?r.y=b.y:r.x===r.y&&(r[b.precedance]=b[b.precedance])),f=r.precedance,b.precedance===E?this._swapDimensions():this._resetDimensions(),e=this.color=this._parseColours(b),e[1]!==jb?(l=this.border=this._parseWidth(b,b[b.precedance]),p.border&&1>l&&!mb.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==B?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+"px"}),j=b.precedance===F?[s(r.x===J?l:r.x===L?k[0]-q[0]-l:(k[0]-q[0])/2),s(r.y===I?k[1]-q[1]:0)]:[s(r.x===J?k[0]-q[0]:0),s(r.y===I?l:r.y===K?k[1]-q[1]-l:(k[1]-q[1])/2)],lb?(g=o[0].getContext("2d"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,rb),i=this._calculateTip(r,this.size,rb),o.attr(G,k[0]*rb).attr(H,k[1]*rb),o.css(G,k[0]).css(H,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*rb,j[1]*rb),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h="m"+h[0]+","+h[1]+" l"+h[2]+","+h[3]+" "+h[4]+","+h[5]+" xe",j[2]=l&&/^(r|b)/i.test(b.string())?8===ab.ie?2:1:0,o.css({coordsize:k[0]+l+" "+(k[1]+l),antialias:""+(r.string().indexOf(M)>-1),left:j[0]-j[2]*Number(f===E),top:j[1]-j[2]*Number(f===F),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?"prop":"attr"]({coordsize:k[0]+l+" "+(k[1]+l),path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(sb("stroke",'weight="'+2*l+'px" color="'+e[1]+'" miterlimit="1000" joinstyle="miter"'))})),a.opera&&setTimeout(function(){m.tip.css({display:"inline-block",visibility:"visible"})},1),c!==C&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return C;var c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j=(g.tooltip.hasClass("ui-widget"),{});return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===E&&e.reverse(),d.each(e,function(d,e){var h,k,l;e===M?(h=c===F?J:I,j[h]="50%",j[fb+"-"+h]=-Math.round(b[c===F?0:1]/2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))
4
+ }),j[a[c]]-=b[c===E?0:1],h.css({margin:"",top:"",bottom:"",left:"",right:""}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===N&&j.precedance===b&&k[d]&&j[c]!==M?j.precedance=j.precedance===E?F:E:a!==N&&k[d]&&(j[b]=j[b]===M?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===M?p[fb+"-"+b]=o[a]=g[fb+"-"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=C),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(" "),m=l[0],n=l[1]||l[0],o={left:C,top:C,x:0,y:0},p={};this.corner.fixed!==B&&(e(m,E,F,J,L),e(n,F,E,I,K),(j.string()!==i.corner.string()||i.cornerTop!==k.top||i.cornerLeft!==k.left)&&this.update(j,C)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,(o.left=m===N&&!!k.left)&&f(E,J,L),(o.top=n===N&&!!k.top)&&f(F,I,K),this.element.css(p).toggle(!(o.x&&o.y||j.x===M&&o.y||j.y===M&&o.x)),d.left-=g.left.charAt?g.user:m!==N||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==N||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),eb=O.tip=function(a){return new v(a,a.options.style.tip)},eb.initialize="render",eb.sanitize=function(a){if(a.style&&"tip"in a.style){var b=a.style.tip;"object"!=typeof b&&(b=a.style.tip={corner:b}),/string|boolean/i.test(typeof b.corner)||(b.corner=B)}},z.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},d.extend(B,w.defaults,{style:{tip:{corner:B,mimic:C,width:6,height:6,border:B,offset:0}}})})}(window,document);
5
+ //# sourceMappingURL=jquery.qtip.min.js.map
external/qtip2/jquery.qtip.min.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"jquery.qtip.min.js","sources":["jquery.qtip.js"],"names":["window","document","undefined","factory","define","amd","jQuery","fn","qtip","$","QTip","target","options","id","attr","this","tooltip","NULL","elements","_id","NAMESPACE","timers","img","plugins","cache","event","disabled","FALSE","onTooltip","lastClass","rendered","destroyed","waiting","hiddenDuringWait","positioning","triggering","invalidOpt","a","type","invalidContent","c","isFunction","length","jquery","then","sanitizeOptions","opts","content","text","ajax","once","metadata","done","api","loading","deferred","extend","context","success","error","set","xhr","status","isPlainObject","title","button","position","my","at","show","TRUE","ready","hide","style","classes","each","PLUGINS","sanitize","convertNotation","notation","obj","i","option","levels","split","pop","setCallback","args","category","rule","match","checks","RegExp","exec","push","apply","createWidgetClass","cls","WIDGET","concat","join","delay","callback","duration","setTimeout","proxy","call","showMethod","hasClass","CLASS_DISABLED","clearTimeout","toggle","hideMethod","relatedTarget","ontoTooltip","closest","SELECTOR","ontoTarget","fixed","test","preventDefault","stopImmediatePropagation","e","inactiveMethod","inactive","repositionMethod","offsetWidth","reposition","delegate","selector","events","method","body","QTIP","ATTR_ID","arguments","init","elem","posOptions","config","docBody","newTarget","metadata5","name","html5","data","parseJSON","defaults","container","solo","viewport","eq","CORNER","overwrite","ATTR_HAS","suppress","removeAttr","oldtitle","camel","s","charAt","toUpperCase","slice","vendorCss","prop","cur","val","ucProp","props","cssPrefixes","cssProps","css","intCss","Math","ceil","parseFloat","Tip","_ns","offset","size","width","height","PROTOTYPE","CHECKS","trackingBound","X","Y","WIDTH","HEIGHT","TOP","LEFT","BOTTOM","RIGHT","CENTER","SHIFT","INACTIVE_EVENTS","CLASS_FIXED","CLASS_DEFAULT","CLASS_FOCUS","CLASS_HOVER","replaceSuffix","BROWSER","ie","v","createElement","innerHTML","getElementsByTagName","NaN","iOS","navigator","userAgent","replace","prototype","_when","deferreds","when","render","self","posClass","_createPosClass","class","tracking","adjust","mouse","role","aria-live","aria-atomic","aria-describedby","aria-hidden","toggleClass","appendTo","append","_createTitle","_updateTitle","_createButton","_updateContent","_setWidget","instance","initialize","_unassignEvents","_assignEvents","_trigger","destroy","immediate","process","timer","stop","find","remove","end","removeData","one","builtin","^id$","o","prev","nextid","new_id","^prerender","^content.text$","^content.attr$","^content.title$","_removeTitle","^content.button$","_updateButton","^content.title.(text|button)$","^position.(my|at)$","^position.container$","^show.ready$","^style.classes$","p","removeClass","addClass","^style.(width|height)","^style.widget|content.title","^style.def","^events.(render|show|move|hide|focus|blur)$","^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)","get","toLowerCase","result","precedance","string","rmove","rrender","value","previous","nodeType","_update","element","empty","display","visibility","html","_waitForContent","images","imagesLoaded","Deferred","resolve","promise","titlebar","widget","insertBefore","substr","abbrev","effect","pluginCalculations","adjusted","newClass","tooltipWidth","outerWidth","tooltipHeight","outerHeight","targetWidth","targetHeight","left","top","visible","isScroll","win","doc","ownerDocument","isArray","x","y","distance","origin","pageX","innerWidth","documentElement","clientWidth","pageY","scrollX","scrollLeft","scrollY","scrollTop","innerHeight","imagemap","is","svg","ownerSVGElement","adjustable","isNaN","queue","next","opacity","removeAttribute","pos","scroll","scrolled","parentOffset","overflow","quirks","compatMode","parent","getBoundingClientRect","offsetParent","C","Corner","corner","forceY","f","invert","z","center","clone","state","add","has","fix","identicalState","allow","after","contentOptions","animate","sameTarget","search","focus","bind","_storeMouse","not","Event","unbind","blur","autofocus","trigger","n","fadeTo","qtips","curIndex","parseInt","zIndex","newIndex","zindex","filter","disable","enable","isString","close","aria-label","prepend","click","on","def","_bind","targets","suffix","ns","_unbind","originalEvent","isDefaultPrevented","_bindEvents","showEvents","hideEvents","showTargets","hideTargets","similarTargets","toggleEvents","showIndex","inArray","splice","_assignInitialEvents","hoverIntent","prerender","showTarget","hideTarget","trim","onTarget","containerTarget","viewportTarget","documentTarget","windowTarget","leave","nodeName","indexOf","enabled","isAncestor","parents","inactiveEvents","limit","abs","resize","special","grep","toArray","currentTarget","newValue","command","returned","makeArray","timeStamp","keepData","elems","func","old","ui","cleanData","triggerHandler","version","move","hidden","TIP","MARGIN","BORDER","COLOR","BG_COLOR","TRANSPARENT","IMPORTANT","HASCANVAS","getContext","INVALID","PIXEL_RATIO","devicePixelRatio","BACKING_STORE_RATIO","backingStorePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","SCALE","createVML","tag","tip","prependTo","lineJoin","miterLimit","save","stopPropagation","create","_swapDimensions","_resetDimensions","_useTitle","_parseCorner","_parseWidth","side","use","_parseRadius","_invalidColour","compare","_parseColours","borderSide","colorElem","color","_calculateSize","bigHyp","ratio","isCenter","base","pow","round","smallHyp","sqrt","hyp","border","reverse","_calculateTip","scale","width2","height2","tips","br","bl","tr","tl","tc","bc","rc","lc","lt","rt","lb","rb","_drawCoords","coords","beginPath","moveTo","lineTo","closePath","update","bigCoords","translate","newSize","inner","children","curSize","mimic","lineHeight","restore","clearRect","fillStyle","fill","coordsize","antialias","Number","$this","path","fillcolor","filled","stroked","opera","calculate","corners","userOffset","b","max","margin","bottom","right","shiftflip","direction","popposite","opposite","newCorner","shiftonly","xy","shift","horizontal","vertical","cornerTop","cornerLeft","user","^position.my|style.tip.(corner|mimic|border)$","^style.tip.(height|width)$","^content.title|style.(classes|widget)$"],"mappings":";;CAaC,SAAUA,EAAQC,EAAUC,IAG5B,SAAUC,GACV,YACqB,mBAAXC,SAAyBA,OAAOC,IACzCD,QAAQ,UAAWD,GAEZG,SAAWA,OAAOC,GAAGC,MAC5BL,EAAQG,SAGT,SAASG,GACT,YAoEA,SAASC,GAAKC,EAAQC,EAASC,EAAIC,GAEnCC,KAAKF,GAAKA,EACVE,KAAKJ,OAASA,EACdI,KAAKC,QAAUC,EACfF,KAAKG,UAAaP,OAAQA,GAG1BI,KAAKI,IAAMC,EAAY,IAAMP,EAC7BE,KAAKM,QAAWC,QAChBP,KAAKH,QAAUA,EACfG,KAAKQ,WAGLR,KAAKS,OACJC,SACAd,OAAQF,IACRiB,SAAUC,EACVb,KAAMA,EACNc,UAAWD,EACXE,UAAW,IAIZd,KAAKe,SAAWf,KAAKgB,UAAYhB,KAAKW,SAAWX,KAAKiB,QACrDjB,KAAKkB,iBAAmBlB,KAAKmB,YAAcnB,KAAKoB,WAAaR,EAoL9D,QAASS,GAAWC,GACpB,MAAOA,KAAMpB,GAAsB,WAAdR,EAAE6B,KAAKD,GAG7B,QAASE,GAAeC,GACvB,QAAU/B,EAAEgC,WAAWD,IAAOA,GAAKA,EAAE1B,MAAS0B,EAAEE,QAAyB,WAAdjC,EAAE6B,KAAKE,KAAoBA,EAAEG,QAAUH,EAAEI,OAIrG,QAASC,GAAgBC,GACxB,GAAIC,GAASC,EAAMC,EAAMC,CAEzB,OAAGd,GAAWU,GAAgBnB,GAE3BS,EAAWU,EAAKK,YAClBL,EAAKK,UAAab,KAAMQ,EAAKK,WAG3B,WAAaL,KACfC,EAAUD,EAAKC,QAEZX,EAAWW,IAAYA,EAAQJ,QAAUI,EAAQK,KACnDL,EAAUD,EAAKC,SACdC,KAAOA,EAAOT,EAAeQ,GAAWpB,EAAQoB,GAG3CC,EAAOD,EAAQC,KAInB,QAAUD,KACZE,EAAOF,EAAQE,KACfC,EAAOD,GAAQA,EAAKC,OAASvB,QACtBoB,GAAQE,KAEfF,EAAQC,KAAO,SAASvB,EAAO4B,GAC9B,GAAIC,GAAUN,GAAQvC,EAAEM,MAAMD,KAAKuC,EAAIzC,QAAQmC,QAAQjC,OAAS,aAEhEyC,EAAW9C,EAAEwC,KACZxC,EAAE+C,UAAWP,GAAQQ,QAASJ,KAE9BT,KAAKK,EAAKS,QAASzC,EAAMgC,EAAKU,OAC9Bf,KAAK,SAASG,GAEd,MADGA,IAAWG,GAAQG,EAAIO,IAAI,eAAgBb,GACvCA,GAER,SAASc,EAAKC,EAAQH,GAClBN,EAAItB,WAA4B,IAAf8B,EAAIC,QACxBT,EAAIO,IAAI,eAAgBE,EAAS,KAAOH,IAGzC,OAAQT,GAAsDI,GAA9CD,EAAIO,IAAI,eAAgBN,GAAUC,KAIjD,SAAWR,KACVtC,EAAEsD,cAAchB,EAAQiB,SAC1BjB,EAAQkB,OAASlB,EAAQiB,MAAMC,OAC/BlB,EAAQiB,MAAQjB,EAAQiB,MAAMhB,MAG5BT,EAAeQ,EAAQiB,OAASrC,KAClCoB,EAAQiB,MAAQrC,KAKhB,YAAcmB,IAAQV,EAAWU,EAAKoB,YACxCpB,EAAKoB,UAAaC,GAAIrB,EAAKoB,SAAUE,GAAItB,EAAKoB,WAG5C,QAAUpB,IAAQV,EAAWU,EAAKuB,QACpCvB,EAAKuB,KAAOvB,EAAKuB,KAAK1B,QAAWhC,OAAQmC,EAAKuB,MAC7CvB,EAAKuB,OAASC,GAASC,MAAOD,IAAW7C,MAAOqB,EAAKuB,OAGpD,QAAUvB,IAAQV,EAAWU,EAAK0B,QACpC1B,EAAK0B,KAAO1B,EAAK0B,KAAK7B,QAAWhC,OAAQmC,EAAK0B,OAAW/C,MAAOqB,EAAK0B,OAGnE,SAAW1B,IAAQV,EAAWU,EAAK2B,SACrC3B,EAAK2B,OAAUC,QAAS5B,EAAK2B,QAI9BhE,EAAEkE,KAAKC,EAAS,WACf7D,KAAK8D,UAAY9D,KAAK8D,SAAS/B,KAGzBA,GAkGR,QAASgC,GAAgBlE,EAASmE,GAOjC,IANA,GAAWC,GAAPC,EAAI,EAAQC,EAAStE,EAGzBuE,EAASJ,EAASK,MAAM,KAGjBF,EAASA,EAAQC,EAAOF,OAC3BA,EAAIE,EAAOzC,SAAUsC,EAAME,EAG/B,QAAQF,GAAOpE,EAASuE,EAAOE,OAYhC,QAASC,GAAYP,EAAUQ,GAC9B,GAAIC,GAAUC,EAAMC,CAEpB,KAAIF,IAAYzE,MAAK4E,OACpB,IAAIF,IAAQ1E,MAAK4E,OAAOH,IACpBE,EAAQ,GAAKE,QAAOH,EAAM,KAAMI,KAAKd,MACvCQ,EAAKO,KAAKJ,IAEM,YAAbF,GAA0BzE,KAAKQ,QAAQiE,KACzCzE,KAAK4E,OAAOH,GAAUC,GAAMM,MAC3BhF,KAAKQ,QAAQiE,IAAazE,KAAMwE,IAkuBtC,QAASS,GAAkBC,GAC1B,MAAOC,GAAOC,OAAO,IAAIC,KAAKH,EAAM,IAAIA,EAAI,IAAM,KA2BlD,QAASI,GAAMC,EAAUC,GAEzB,MAAGA,GAAW,EACNC,WACN/F,EAAEgG,MAAMH,EAAUvF,MAAOwF,OAGrBD,GAASI,KAAK3F,MAGrB,QAAS4F,GAAWlF,GAChBV,KAAKC,QAAQ4F,SAASC,KAGzBC,aAAa/F,KAAKM,OAAOgD,MACzByC,aAAa/F,KAAKM,OAAOmD,MAGzBzD,KAAKM,OAAOgD,KAAOgC,EAAMK,KAAK3F,KAC7B,WAAaA,KAAKgG,OAAOzC,EAAM7C,IAC/BV,KAAKH,QAAQyD,KAAKgC,QAIpB,QAASW,GAAWvF,GACnB,IAAGV,KAAKC,QAAQ4F,SAASC,KAAmB9F,KAAKgB,UAAjD,CAGA,GAAIkF,GAAgBxG,EAAEgB,EAAMwF,eAC3BC,EAAcD,EAAcE,QAAQC,GAAU,KAAOrG,KAAKC,QAAQ,GAClEqG,EAAaJ,EAAc,KAAOlG,KAAKH,QAAQyD,KAAK1D,OAAO,EAQ5D,IALAmG,aAAa/F,KAAKM,OAAOgD,MACzByC,aAAa/F,KAAKM,OAAOmD,MAItBzD,OAASkG,EAAc,IACS,UAAjClG,KAAKH,QAAQsD,SAASvD,QAAsBuG,GAC5CnG,KAAKH,QAAQ4D,KAAK8C,OAClB,wBAA0BC,KAAK9F,EAAMa,QAAU4E,GAAeG,GAG/D,IACC5F,EAAM+F,iBACN/F,EAAMgG,2BACL,MAAMC,QAMT3G,MAAKM,OAAOmD,KAAO6B,EAAMK,KAAK3F,KAC7B,WAAaA,KAAKgG,OAAOpF,EAAOF,IAChCV,KAAKH,QAAQ4D,KAAK6B,MAClBtF,OAIF,QAAS4G,GAAelG,IACpBV,KAAKC,QAAQ4F,SAASC,IAAoB9F,KAAKH,QAAQ4D,KAAKoD,WAG/Dd,aAAa/F,KAAKM,OAAOuG,UAEzB7G,KAAKM,OAAOuG,SAAWvB,EAAMK,KAAK3F,KACjC,WAAYA,KAAKyD,KAAK/C,IACtBV,KAAKH,QAAQ4D,KAAKoD,WAIpB,QAASC,GAAiBpG,GACtBV,KAAKe,UAAYf,KAAKC,QAAQ,GAAG8G,YAAc,GAAK/G,KAAKgH,WAAWtG,GAyBxE,QAASuG,GAASC,EAAUC,EAAQC,GACnC1H,EAAER,EAASmI,MAAMJ,SAASC,GACxBC,EAAO9C,MAAQ8C,EAASA,EAAO9B,KAAK,IAAIhF,EAAY,MAAQ,IAAIA,EACjE,WACC,GAAIiC,GAAMgF,EAAKhF,IAAK5C,EAAEK,KAAKC,KAAMuH,GACjCjF,KAAQA,EAAI3B,UAAYyG,EAAOpC,MAAM1C,EAAKkF,aA6S7C,QAASC,GAAKC,EAAM5H,EAAIiC,GACvB,GAAIkC,GAAK0D,EAAY5H,EAAM6H,EAAQ3E,EAGnC4E,EAAUnI,EAAER,EAASmI,MAGrBS,EAAYJ,EAAK,KAAOxI,EAAW2I,EAAUH,EAG7CtF,EAAYsF,EAAa,SAAIA,EAAKtF,SAASL,EAAKK,UAAYlC,EAG5D6H,EAAmC,UAAvBhG,EAAKK,SAASb,MAAoBa,EAAWA,EAASL,EAAKK,SAAS4F,MAAQ9H,EAGxF+H,EAAQP,EAAKQ,KAAKnG,EAAKK,SAAS4F,MAAQ,WAGxC,KAAMC,EAAyB,gBAAVA,GAAqBvI,EAAEyI,UAAUF,GAASA,EAAS,MAAMtB,IAY9E,GATAiB,EAASlI,EAAE+C,OAAOc,KAAU+D,EAAKc,SAAUrG,EACzB,gBAAVkG,GAAqBnG,EAAgBmG,GAAS/H,EACrD4B,EAAgBiG,GAAa3F,IAG9BuF,EAAaC,EAAOzE,SACpByE,EAAO9H,GAAKA,EAGT,iBAAqB8H,GAAO5F,QAAQC,KAAM,CAI5C,GAHAlC,EAAO2H,EAAK3H,KAAK6H,EAAO5F,QAAQjC,MAG7B6H,EAAO5F,QAAQjC,OAASa,IAASb,EAG7B,MAAOa,EAH8BgH,GAAO5F,QAAQC,KAAOlC,EAsBnE,GAfI4H,EAAWU,UAAU1G,SAAUgG,EAAWU,UAAYR,GACvDF,EAAW/H,SAAWgB,IAAS+G,EAAW/H,OAASkI,GACnDF,EAAOtE,KAAK1D,SAAWgB,IAASgH,EAAOtE,KAAK1D,OAASkI,GACrDF,EAAOtE,KAAKgF,OAAS/E,IAAQqE,EAAOtE,KAAKgF,KAAOX,EAAWU,UAAUjC,QAAQ,SAC7EwB,EAAOnE,KAAK7D,SAAWgB,IAASgH,EAAOnE,KAAK7D,OAASkI,GACrDF,EAAOzE,SAASoF,WAAahF,IAAQqE,EAAOzE,SAASoF,SAAWZ,EAAWU,WAG9EV,EAAWU,UAAYV,EAAWU,UAAUG,GAAG,GAG/Cb,EAAWtE,GAAK,GAAIoF,GAAOd,EAAWtE,GAAIE,GAC1CoE,EAAWvE,GAAK,GAAIqF,GAAOd,EAAWvE,IAGnCsE,EAAKQ,KAAK7H,GACZ,GAAGuH,EAAOc,UACThB,EAAKjI,KAAK,WAAW,OAEjB,IAAGmI,EAAOc,YAAc9H,EAC5B,MAAOA,EAiBT,OAZA8G,GAAK3H,KAAK4I,EAAU7I,GAGjB8H,EAAOgB,WAAa3F,EAAQyE,EAAK3H,KAAK,WAExC2H,EAAKmB,WAAW,SAAS9I,KAAK+I,EAAU7F,GAAOlD,KAAK,QAAS,IAI9DkE,EAAM,GAAItE,GAAK+H,EAAME,EAAQ9H,IAAMC,GACnC2H,EAAKQ,KAAK7H,EAAW4D,GAEdA,EA0PR,QAAS8E,GAAMC,GAAK,MAAOA,GAAEC,OAAO,GAAGC,cAAgBF,EAAEG,MAAM,GAO/D,QAASC,GAAU1B,EAAM2B,GACxB,GAECC,GAAKC,EAFFC,EAASH,EAAKJ,OAAO,GAAGC,cAAgBG,EAAKF,MAAM,GACtDM,GAASJ,EAAO,IAAMK,GAAYrE,KAAKmE,EAAS,KAAOA,GAAQnF,MAAM,KAC3DH,EAAI,CAGf,IAAGyF,GAASN,GAAS,MAAO3B,GAAKkC,IAAID,GAASN,GAE9C,MAAOC,EAAMG,EAAMvF,MAClB,IAAIqF,EAAM7B,EAAKkC,IAAIN,MAAUnK,EAC5B,MAAOwK,IAASN,GAAQC,EAAKC,EAMhC,QAASM,GAAOnC,EAAM2B,GACrB,MAAOS,MAAKC,KAAKC,WAAWZ,EAAU1B,EAAM2B,KAwB7C,QAASY,GAAIxK,EAAMI,GAClBG,KAAKkK,IAAM,MACXlK,KAAKH,QAAUA,EACfG,KAAKmK,OAAStK,EAAQsK,OACtBnK,KAAKoK,MAASvK,EAAQwK,MAAOxK,EAAQyK,QAGrCtK,KAAKyH,KAAOzH,KAAKP,KAAOA,GA7/DzB,GAsBA6H,GAAMiD,EAAW9B,EAAQ+B,EAiBzBC,EAvCIlH,GAAO,EACX3C,GAAQ,EACRV,EAAO,KAGPwK,EAAI,IAAKC,EAAI,IACbC,EAAQ,QACRC,EAAS,SAGTC,EAAM,MACNC,EAAO,OACPC,EAAS,SACTC,EAAQ,QACRC,EAAS,SAKTC,EAAQ,QAIRtH,KACAxD,EAAY,OACZsI,EAAW,eACXpB,EAAU,eACVpC,GAAU,YAAa,cACvBkB,EAAW,IAAIhG,EACf+K,EAAkB,mEAAmE/G,MAAM,KAE3FgH,EAAchL,EAAU,SACxBiL,EAAgBjL,EAAY,WAC5BkL,EAAclL,EAAY,SAC1BmL,EAAcnL,EAAY,SAC1ByF,EAAiBzF,EAAU,YAE3BoL,EAAgB,kBAChB3C,EAAW,WAIX4C,IAOCC,GAAK,WACJ,IACC,GAAIC,GAAI,EAAG1H,EAAIhF,EAAS2M,cAAc,QACrC3H,EAAE4H,UAAY,iBAAmBF,EAAI,0BAA4B1H,EAAE6H,qBAAqB,KAAK,GAC9FH,GAAG,GAEJ,MAAOA,GAAI,EAAIA,EAAII,OAMpBC,IAAKjC,YACH,IAAM,yDAAyDlF,KAAKoH,UAAUC,aAAe,EAAE,KAAK,IACpGC,QAAQ,YAAa,OAAOA,QAAQ,IAAK,KAAKA,QAAQ,IAAK,MACxDxL,EA6BN2J,GAAY5K,EAAK0M,UAEjB9B,EAAU+B,MAAQ,SAASC,GAC1B,MAAO7M,GAAE8M,KAAKxH,MAAMtF,EAAG6M,IAGxBhC,EAAUkC,OAAS,SAASnJ,GAC3B,GAAGtD,KAAKe,UAAYf,KAAKgB,UAAa,MAAOhB,KAE7C,IAUCC,GAVGyM,EAAO1M,KACVH,EAAUG,KAAKH,QACfY,EAAQT,KAAKS,MACbN,EAAWH,KAAKG,SAChB8B,EAAOpC,EAAQmC,QAAQC,KACvBgB,EAAQpD,EAAQmC,QAAQiB,MACxBC,EAASrD,EAAQmC,QAAQkB,OACzByE,EAAa9H,EAAQsD,SAErBoJ,GADY,IAAIvM,KAAKI,IAAI,OAgG1B,OA3FAV,GAAEK,KAAKC,KAAKJ,OAAO,GAAI,mBAAoBI,KAAKI,KAGhDK,EAAMkM,SAAW3M,KAAK4M,iBACpB5M,KAAKmD,UAAaC,GAAIuE,EAAWvE,GAAIC,GAAIsE,EAAWtE,KAAMD,IAI5DpD,KAAKC,QAAUE,EAASF,QAAUA,EAAUP,EAAE,UAC7CI,GAAME,KAAKI,IACXyM,SAAWxM,EAAWiL,EAAezL,EAAQ6D,MAAMC,QAASlD,EAAMkM,UAAWtH,KAAK,KAClFgF,MAASxK,EAAQ6D,MAAM2G,OAAS,GAChCC,OAAUzK,EAAQ6D,MAAM4G,QAAU,GAClCwC,SAAkC,UAAtBnF,EAAW/H,QAAsB+H,EAAWoF,OAAOC,MAG/DC,KAAQ,QACRC,YAAa,SACbC,cAAevM,EACfwM,mBAAoBpN,KAAKI,IAAM,WAC/BiN,cAAe9J,IAEf+J,YAAYxH,EAAgB9F,KAAKW,UACjCZ,KAAKwH,EAASvH,KAAKF,IACnBoI,KAAK7H,EAAWL,MAChBuN,SAAS5F,EAAWU,WACpBmF,OAEArN,EAAS6B,QAAUtC,EAAE,WACpBmN,QAASxM,EAAY,WACrBP,GAAME,KAAKI,IAAM,WACjB+M,cAAe5J,KAKjBvD,KAAKe,SAAW,GAChBf,KAAKmB,YAAcoC,EAGhBN,IACFjD,KAAKyN,eAGD/N,EAAEgC,WAAWuB,IAChBsJ,EAAUxH,KAAM/E,KAAK0N,aAAazK,EAAOrC,KAKxCsC,GAAUlD,KAAK2N,gBAGdjO,EAAEgC,WAAWO,IAChBsK,EAAUxH,KAAM/E,KAAK4N,eAAe3L,EAAMrB,IAE3CZ,KAAKe,SAAWwC,EAGhBvD,KAAK6N,aAGLnO,EAAEkE,KAAKC,EAAS,SAASmE,GACxB,GAAI8F,EACmB,YAApB9N,KAAK+N,aAA4BD,EAAW9N,KAAK0M,MACnDA,EAAKlM,QAAQwH,GAAQ8F,KAKvB9N,KAAKgO,kBACLhO,KAAKiO,gBAGLjO,KAAKsM,MAAMC,GAAW1K,KAAK,WAE1B6K,EAAKwB,SAAS,UAGdxB,EAAKvL,YAAcP,EAGf8L,EAAKxL,mBAAqBrB,EAAQyD,KAAKE,QAASF,GACnDoJ,EAAK1G,OAAOzC,EAAM9C,EAAMC,MAAOE,GAEhC8L,EAAKxL,iBAAmBN,IAIzB0G,EAAKhF,IAAItC,KAAKF,IAAME,KAEbA,MAGRuK,EAAU4D,QAAU,SAASC,GAK5B,QAASC,KACR,IAAGrO,KAAKgB,UAAR,CACAhB,KAAKgB,UAAYuC,CAEjB,IAEC+K,GAFG1O,EAASI,KAAKJ,OACjBqD,EAAQrD,EAAOG,KAAK+I,EAIlB9I,MAAKe,UACPf,KAAKC,QAAQsO,KAAK,EAAE,GAAGC,KAAK,KAAKC,SAASC,MAAMD,SAIjD/O,EAAEkE,KAAK5D,KAAKQ,QAAS,WACpBR,KAAKmO,SAAWnO,KAAKmO,WAItB,KAAIG,IAAStO,MAAKM,OACjByF,aAAa/F,KAAKM,OAAOgO,GAI1B1O,GAAO+O,WAAWtO,GAChBwI,WAAWtB,GACXsB,WAAWF,GACXE,WAAW,oBAGV7I,KAAKH,QAAQ+I,UAAY3F,GAC3BrD,EAAOG,KAAK,QAASkD,GAAO4F,WAAWC,GAIxC9I,KAAKgO,kBAILhO,KAAKH,QAAUG,KAAKG,SAAWH,KAAKS,MAAQT,KAAKM,OAChDN,KAAKQ,QAAUR,KAAKgN,MAAQ9M,QAGtBoH,GAAKhF,IAAItC,KAAKF,KA7CtB,MAAGE,MAAKgB,UAAoBhB,KAAKJ,QAiD7BwO,IAAc7K,GAA4B,SAApBvD,KAAKoB,aAA0BpB,KAAKe,SAMvDsN,EAAQ1I,KAAK3F,OALnBA,KAAKC,QAAQ2O,IAAI,gBAAiBlP,EAAEgG,MAAM2I,EAASrO,QAClDA,KAAKoB,YAAcpB,KAAKyD,QAMnBzD,KAAKJ,SA+Fb4K,EAASD,EAAU3F,QAClBiK,SAECC,OAAQ,SAAS7K,EAAK8K,EAAGnD,EAAGoD,GAC3B,GAAIlP,GAAK8L,IAAMrI,EAAO+D,EAAK2H,OAASrD,EACnCsD,EAAS7O,EAAY,IAAMP,CAEzBA,KAAOc,GAASd,EAAG6B,OAAS,IAAMjC,EAAE,IAAIwP,GAAQvN,QAClD3B,KAAKI,IAAM8O,EAERlP,KAAKe,WACPf,KAAKC,QAAQ,GAAGH,GAAKE,KAAKI,IAC1BJ,KAAKG,SAAS6B,QAAQ,GAAGlC,GAAKE,KAAKI,IAAM,WACzCJ,KAAKG,SAAS8C,MAAM,GAAGnD,GAAKE,KAAKI,IAAM,WAGlC6D,EAAI8K,GAAKC,GAEjBG,aAAc,SAASlL,EAAK8K,EAAGnD,GAC9BA,IAAM5L,KAAKe,UAAYf,KAAKyM,OAAOzM,KAAKH,QAAQyD,KAAKE,QAItD4L,iBAAkB,SAASnL,EAAK8K,EAAGnD,GAClC5L,KAAK4N,eAAehC,IAErByD,iBAAkB,SAASpL,EAAK8K,EAAGnD,EAAGoD,GAClChP,KAAKH,QAAQmC,QAAQC,OAASjC,KAAKJ,OAAOG,KAAKiP,IACjDhP,KAAK4N,eAAgB5N,KAAKJ,OAAOG,KAAK6L,KAGxC0D,kBAAmB,SAASrL,EAAK8K,EAAGnD,GAEnC,MAAIA,IAGJA,IAAM5L,KAAKG,SAAS8C,OAASjD,KAAKyN,mBAClCzN,MAAK0N,aAAa9B,IAJF5L,KAAKuP,gBAMtBC,mBAAoB,SAASvL,EAAK8K,EAAGnD,GACpC5L,KAAKyP,cAAc7D,IAEpB8D,gCAAiC,SAASzL,EAAK8K,EAAGnD,GACjD5L,KAAK6C,IAAI,WAAWkM,EAAGnD,IAIxB+D,qBAAsB,SAAS1L,EAAK8K,EAAGnD,GACtC,gBAAoBA,KAAM5L,KAAKmD,SAAS4L,GAAK9K,EAAI8K,GAAK,GAAItG,GAAOmD,EAAS,OAANmD,KAErEa,uBAAwB,SAAS3L,EAAK8K,EAAGnD,GACxC5L,KAAKe,UAAYf,KAAKC,QAAQsN,SAAS3B,IAIxCiE,eAAgB,SAAS5L,EAAK8K,EAAGnD,GAChCA,KAAO5L,KAAKe,UAAYf,KAAKyM,OAAOlJ,IAASvD,KAAKgG,OAAOzC,KAI1DuM,kBAAmB,SAAS7L,EAAK8K,EAAGnD,EAAGmE,GACtC/P,KAAKe,UAAYf,KAAKC,QAAQ+P,YAAYD,GAAGE,SAASrE,IAEvDsE,wBAAyB,SAASjM,EAAK8K,EAAGnD,GACzC5L,KAAKe,UAAYf,KAAKC,QAAQ2J,IAAImF,EAAGnD,IAEtCuE,8BAA+B,WAC9BnQ,KAAKe,UAAYf,KAAK6N,cAEvBuC,aAAc,SAASnM,EAAK8K,EAAGnD,GAC9B5L,KAAKe,UAAYf,KAAKC,QAAQqN,YAAYhC,IAAiBM,IAI5DyE,8CAA+C,SAASpM,EAAK8K,EAAGnD,GAC/D5L,KAAKe,UAAYf,KAAKC,SAASP,EAAEgC,WAAWkK,GAAK,GAAK,MAAQ,QAAQ,UAAUmD,EAAGnD,IAIpF0E,qFAAsF,WACrF,GAAItQ,KAAKe,SAAT,CAGA,GAAI4G,GAAa3H,KAAKH,QAAQsD,QAC9BnD,MAAKC,QAAQF,KAAK,WAAkC,UAAtB4H,EAAW/H,QAAsB+H,EAAWoF,OAAOC,OAGjFhN,KAAKgO,kBACLhO,KAAKiO,oBAoBR1D,EAAUgG,IAAM,SAASvM,GACxB,GAAGhE,KAAKgB,UAAa,MAAOhB,KAE5B,IAAI+O,GAAIhL,EAAgB/D,KAAKH,QAASmE,EAASwM,eAC9CC,EAAS1B,EAAE,GAAIA,EAAE,GAElB,OAAO0B,GAAOC,WAAaD,EAAOE,SAAWF,EAqB9C,IAAIG,IAAQ,iFACXC,GAAU,yBAEXtG,GAAU1H,IAAM,SAASsB,EAAQ2M,GAChC,GAAG9Q,KAAKgB,UAAa,MAAOhB,KAE5B,EAAA,GAICgI,GAJGjH,EAAWf,KAAKe,SACnBiG,EAAapG,EACbf,EAAUG,KAAKH,OACNG,MAAK4E,OA2Cf,MAvCG,gBAAoBT,IACtB6D,EAAO7D,EAAQA,KAAaA,EAAO6D,GAAQ8I,GAErC3M,EAASzE,EAAE+C,UAAW0B,GAG7BzE,EAAEkE,KAAKO,EAAQ,SAASH,EAAU8M,GACjC,GAAG/P,GAAY8P,GAAQrK,KAAKxC,GACF,kBAAlBG,GAAOH,EAIf,IAA4D+M,GAAxD9M,EAAMF,EAAgBlE,EAASmE,EAASwM,cAC5CO,GAAW9M,EAAI,GAAIA,EAAI,IACvBA,EAAI,GAAIA,EAAI,IAAO6M,GAASA,EAAME,SAAWtR,EAAEoR,GAASA,EAGxD9J,EAAa4J,GAAMpK,KAAKxC,IAAagD,EAGrC7C,EAAOH,IAAaC,EAAI,GAAIA,EAAI,GAAI6M,EAAOC,KAI5CjP,EAAgBjC,GAMhBG,KAAKmB,YAAcoC,EACnB7D,EAAEkE,KAAKO,EAAQzE,EAAEgG,MAAMnB,EAAavE,OACpCA,KAAKmB,YAAcP,EAGhBZ,KAAKe,UAAYf,KAAKC,QAAQ,GAAG8G,YAAc,GAAKC,GACtDhH,KAAKgH,WAAwC,UAA5BnH,EAAQsD,SAASvD,OAAqBM,EAAOF,KAAKS,MAAMC,OAGnEV,MAEPuK,EAAU0G,QAAU,SAASjP,EAASkP,GACtC,GAAIxE,GAAO1M,KACVS,EAAQT,KAAKS,KAGd,OAAIT,MAAKe,UAAaiB,GAGnBtC,EAAEgC,WAAWM,KACfA,EAAUA,EAAQ2D,KAAK3F,KAAKG,SAASP,OAAQa,EAAMC,MAAOV,OAAS,IAIjEN,EAAEgC,WAAWM,EAAQH,OACvBpB,EAAMQ,QAAUsC,EACTvB,EAAQH,KAAK,SAASJ,GAE5B,MADAhB,GAAMQ,QAAUL,EACT8L,EAAKuE,QAAQxP,EAAGyP,IACrBhR,EAAM,SAASyG,GACjB,MAAO+F,GAAKuE,QAAQtK,EAAGuK,MAKtBlP,IAAYpB,IAAWoB,GAAuB,KAAZA,EAA0BpB,GAG5DoB,EAAQJ,QAAUI,EAAQL,OAAS,EACrCuP,EAAQC,QAAQ3D,OACfxL,EAAQ4H,KAAMwH,QAAS,QAASC,WAAY,aAKvCH,EAAQI,KAAKtP,GAGbhC,KAAKuR,gBAAgBL,GAASrP,KAAK,SAAS2P,GAC/C9E,EAAK3L,UAAY2L,EAAKzM,QAAQ,GAAG8G,YAAc,GACjD2F,EAAK1F,WAAWvG,EAAMC,OAAQ8Q,EAAO7P,YAlCCf,GAuCzC2J,EAAUgH,gBAAkB,SAASL,GACpC,GAAIzQ,GAAQT,KAAKS,KAMjB,OAHAA,GAAMQ,QAAUsC,GAGP7D,EAAEF,GAAGiS,aAAeP,EAAQO,eAAiB/R,EAAEgS,WAAWC,aACjEtP,KAAK,WAAa5B,EAAMQ,QAAUL,IAClCgR,WAGHrH,EAAUqD,eAAiB,SAAS5L,EAASgF,GAC5ChH,KAAKiR,QAAQjP,EAAShC,KAAKG,SAAS6B,QAASgF,IAG9CuD,EAAUmD,aAAe,SAAS1L,EAASgF,GACvChH,KAAKiR,QAAQjP,EAAShC,KAAKG,SAAS8C,MAAO+D,KAAgBpG,GAC7DZ,KAAKuP,aAAa3O,IAIpB2J,EAAUkD,aAAe,WAExB,GAAItN,GAAWH,KAAKG,SACnBL,EAAKE,KAAKI,IAAI,QAGZD,GAAS0R,UAAY7R,KAAKuP,eAG7BpP,EAAS0R,SAAWnS,EAAE,WACrBmN,QAASxM,EAAY,cAAgBL,KAAKH,QAAQ6D,MAAMoO,OAAS7M,EAAkB,UAAY,MAE/FuI,OACArN,EAAS8C,MAAQvD,EAAE,WAClBI,GAAMA,EACN+M,QAASxM,EAAY,SACrB8M,cAAe5J,KAGhBwO,aAAa5R,EAAS6B,SAGtBiF,SAAS,cAAe,2CAA4C,SAASvG,GAC7EhB,EAAEM,MAAMsN,YAAY,iCAA4D,SAA1B5M,EAAMa,KAAKyQ,OAAO,OAExE/K,SAAS,cAAe,qBAAsB,SAASvG,GACvDhB,EAAEM,MAAMsN,YAAY,iBAAiC,cAAf5M,EAAMa,QAI1CvB,KAAKH,QAAQmC,QAAQkB,QAAUlD,KAAK2N,iBAGxCpD,EAAUgF,aAAe,SAASvI,GAEjC,GAAI7G,GAAWH,KAAKG,QAEjBA,GAAS8C,QACX9C,EAAS0R,SAASpD,SAClBtO,EAAS0R,SAAW1R,EAAS8C,MAAQ9C,EAAS+C,OAAShD,EAGpD8G,IAAepG,GAASZ,KAAKgH,eAGjCuD,EAAUqC,gBAAkB,SAASxJ,GACrC,MAAO/C,GAAY,SAAW+C,GAAMpD,KAAKH,QAAQsD,SAASC,IAAI6O,UAG/D1H,EAAUvD,WAAa,SAAStG,EAAOwR,GACtC,IAAIlS,KAAKe,UAAYf,KAAKmB,aAAenB,KAAKgB,UAAa,MAAOhB,KAGlEA,MAAKmB,YAAcoC,CAEnB,IAqBC4O,GAAoBhI,EAAQiI,EAAUC,EArBnC5R,EAAQT,KAAKS,MAChBR,EAAUD,KAAKC,QACf0H,EAAa3H,KAAKH,QAAQsD,SAC1BvD,EAAS+H,EAAW/H,OACpBwD,EAAKuE,EAAWvE,GAChBC,EAAKsE,EAAWtE,GAChBkF,EAAWZ,EAAWY,SACtBF,EAAYV,EAAWU,UACvB0E,EAASpF,EAAWoF,OACpB3F,EAAS2F,EAAO3F,OAAO/C,MAAM,KAC7BiO,EAAerS,EAAQsS,WAAW3R,GAClC4R,EAAgBvS,EAAQwS,YAAY7R,GACpC8R,EAAc,EACdC,EAAe,EACfpR,EAAOtB,EAAQ2J,IAAI,YACnBzG,GAAayP,KAAM,EAAGC,IAAK,GAC3BC,EAAU7S,EAAQ,GAAG8G,YAAc,EACnCgM,EAAWrS,GAAwB,WAAfA,EAAMa,KAC1ByR,EAAMtT,EAAET,GACRgU,EAAM5K,EAAU,GAAG6K,cACnBlG,EAAQhN,KAAKgN,KAId,IAAGtN,EAAEyT,QAAQvT,IAA6B,IAAlBA,EAAO+B,OAE9B0B,GAAO+P,EAAGrI,EAAMsI,EAAGvI,GACnB3H,GAAayP,KAAMhT,EAAO,GAAIiT,IAAKjT,EAAO,QAItC,IAAc,UAAXA,EAEPyD,GAAO+P,EAAGrI,EAAMsI,EAAGvI,KAGdiC,EAAOC,OAAShN,KAAKH,QAAQ4D,KAAK6P,WAAa7S,EAAM8S,QAAU9S,EAAM8S,OAAOC,MAChF9S,EAASD,EAAM8S,QAIP7S,GAAUA,IAAyB,WAAfA,EAAMa,MAAoC,WAAfb,EAAMa,MAC7Db,EAAQD,EAAMC,MAIPsM,GAASA,EAAMwG,QACtB9S,EAAQsM,GAIG,WAATzL,IAAqB4B,EAAWkF,EAAU8B,UAC1C8I,EAAI5L,KAAKN,eAAiB9H,EAAOwU,YAAcR,EAAIS,gBAAgBC,eACrExJ,EAASzK,EAAER,EAASmI,MAAM8C,UAI3BhH,GACCyP,KAAMlS,EAAM8S,MAAQrQ,EAASyP,MAAQzI,GAAUA,EAAOyI,MAAQ,GAC9DC,IAAKnS,EAAMkT,MAAQzQ,EAAS0P,KAAO1I,GAAUA,EAAO0I,KAAO,IAIzD9F,EAAOC,OAAS+F,GAAY/F,IAC9B7J,EAASyP,OAAS5F,EAAM6G,SAAW,GAAKb,EAAIc,aAC5C3Q,EAAS0P,MAAQ7F,EAAM+G,SAAW,GAAKf,EAAIgB,iBAKxC,CAiBJ,GAfc,UAAXpU,EACCc,GAASA,EAAMd,QAAyB,WAAfc,EAAMa,MAAoC,WAAfb,EAAMa,KAC5Dd,EAAMb,OAASF,EAAEgB,EAAMd,QAEfc,EAAMd,SACda,EAAMb,OAASI,KAAKG,SAASP,QAGZ,UAAXA,IACPa,EAAMb,OAASF,EAAEE,EAAOgC,OAAShC,EAASI,KAAKG,SAASP,SAEzDA,EAASa,EAAMb,OAGfA,EAASF,EAAEE,GAAQ4I,GAAG,GACD,IAAlB5I,EAAO+B,OAAgB,MAAO3B,KAGzBJ,GAAO,KAAOV,GAAYU,EAAO,KAAOX,GAC/CyT,EAAchH,GAAQO,IAAMhN,EAAOwU,WAAa7T,EAAOyK,QACvDsI,EAAejH,GAAQO,IAAMhN,EAAOgV,YAAcrU,EAAO0K,SAEtD1K,EAAO,KAAOX,IAChBkE,GACC0P,KAAMtK,GAAY3I,GAAQoU,YAC1BpB,MAAOrK,GAAY3I,GAAQkU,gBAMtBjQ,EAAQqQ,UAAYtU,EAAOuU,GAAG,QACrChC,EAAqBtO,EAAQqQ,SAASlU,KAAMJ,EAAQyD,EAAIQ,EAAQ0E,SAAWnB,EAASxG,GAI7EiD,EAAQuQ,KAAOxU,GAAUA,EAAO,GAAGyU,gBAC1ClC,EAAqBtO,EAAQuQ,IAAIpU,KAAMJ,EAAQyD,EAAIQ,EAAQ0E,SAAWnB,EAASxG,IAK/E8R,EAAc9S,EAAO2S,WAAW3R,GAChC+R,EAAe/S,EAAO6S,YAAY7R,GAClCuC,EAAWvD,EAAOuK,UAIhBgI,IACFO,EAAcP,EAAmB9H,MACjCsI,EAAeR,EAAmB7H,OAClCH,EAASgI,EAAmBhI,OAC5BhH,EAAWgP,EAAmBhP,UAI/BA,EAAWnD,KAAKgH,WAAWmD,OAAOvK,EAAQuD,EAAUkF,IAGhDqD,GAAQO,IAAM,KAAOP,GAAQO,IAAM,KACrCP,GAAQO,KAAO,KAAOP,GAAQO,IAAM,OACnCP,GAAQO,KAAgB,UAAT1K,KAEjB4B,EAASyP,MAAQI,EAAIc,aACrB3Q,EAAS0P,KAAOG,EAAIgB,eAIjB7B,GAAuBA,GAAsBA,EAAmBmC,aAAe1T,KAClFuC,EAASyP,MAAQvP,EAAG+P,IAAMnI,EAAQyH,EAAcrP,EAAG+P,IAAMlI,EAASwH,EAAc,EAAI,EACpFvP,EAAS0P,KAAOxP,EAAGgQ,IAAMrI,EAAS2H,EAAetP,EAAGgQ,IAAMnI,EAASyH,EAAe,EAAI,GA+BxF,MA1BAxP,GAASyP,MAAQ7F,EAAOqG,GAAKhQ,EAAGgQ,IAAMnI,GAASqH,EAAelP,EAAGgQ,IAAMlI,GAAUoH,EAAe,EAAI,GACpGnP,EAAS0P,KAAO9F,EAAOsG,GAAKjQ,EAAGiQ,IAAMrI,GAAUwH,EAAgBpP,EAAGiQ,IAAMnI,GAAUsH,EAAgB,EAAI,GAGnG3O,EAAQ0E,UACV6J,EAAWjP,EAASiP,SAAWvO,EAAQ0E,SACtCvI,KAAMmD,EAAUwE,EAAY+K,EAAaC,EAAcL,EAAcE,GAInErI,GAAUiI,EAASQ,OAAQzP,EAASyP,MAAQzI,EAAOyI,MACnDzI,GAAUiI,EAASS,MAAQ1P,EAAS0P,KAAO1I,EAAO0I,KAGlDT,EAAShP,KAAMpD,KAAKmD,SAASC,GAAKgP,EAAShP,KAIxCD,EAASiP,UAAaQ,KAAM,EAAGC,IAAK,GAGxCpS,EAAMkM,YAAc0F,EAAWrS,KAAK4M,gBAAgB5M,KAAKmD,SAASC,MACpEnD,EAAQ+P,YAAYvP,EAAMkM,UAAUsD,SAAWxP,EAAMkM,SAAW0F,GAI7DrS,KAAKkO,SAAS,QAAS/K,EAAUoF,EAASb,MAAQa,GAAW7H,UAC1DyC,GAASiP,SAGbF,IAAWtR,IAAUkS,GAAWyB,MAAMpR,EAASyP,OAAS2B,MAAMpR,EAAS0P,MAAmB,UAAXjT,IAAuBF,EAAEgC,WAAWiG,EAAWuK,QAChIjS,EAAQ2J,IAAIzG,GAILzD,EAAEgC,WAAWiG,EAAWuK,UAC/BvK,EAAWuK,OAAOvM,KAAK1F,EAASD,KAAMN,EAAE+C,UAAWU,IACnDlD,EAAQuU,MAAM,SAASC,GAEtB/U,EAAEM,MAAM4J,KAAM8K,QAAS,GAAIpK,OAAQ,KAChCoB,GAAQC,IAAM3L,KAAK0D,MAAMiR,gBAAgB,UAE5CF,OAKFzU,KAAKmB,YAAcP,EAEZZ,MAvB2EA,MA2BnFuK,EAAUvD,WAAWmD,OAAS,SAASzC,EAAMkN,EAAKvM,GAQjD,QAASwM,GAAOlO,EAAGzC,GAClB0Q,EAAIhC,MAAQ1O,EAAIyC,EAAEmN,aAClBc,EAAI/B,KAAO3O,EAAIyC,EAAEqN,YATlB,IAAI3L,EAAU,GAAM,MAAOuM,EAE3B,IAGCE,GAAU3R,EAAU4R,EAAcC,EAH/B9B,EAAgBxT,EAAEgI,EAAK,GAAGwL,eAC7B+B,IAAWvJ,GAAQC,IAA8B,eAAxBzM,EAASgW,WAClCC,EAAS9M,EAAU,EASpB,GAC+C,YAA1ClF,EAAWzD,EAAEkK,IAAIuL,EAAQ,eACZ,UAAbhS,GACF4R,EAAeI,EAAOC,wBACtBP,EAAO3B,EAAe,MAGtB6B,EAAerV,EAAEyV,GAAQhS,WACzB4R,EAAanC,MAAS5I,WAAWtK,EAAEkK,IAAIuL,EAAQ,qBAAuB,EACtEJ,EAAalC,KAAQ7I,WAAWtK,EAAEkK,IAAIuL,EAAQ,oBAAsB,GAGrEP,EAAIhC,MAAQmC,EAAanC,MAAQ5I,WAAWtK,EAAEkK,IAAIuL,EAAQ,gBAAkB,GAC5EP,EAAI/B,KAAOkC,EAAalC,KAAO7I,WAAWtK,EAAEkK,IAAIuL,EAAQ,eAAiB,GAGrEL,GAAuD,YAA1CE,EAAWtV,EAAEkK,IAAIuL,EAAQ,cAA0C,YAAbH,IAA0BF,EAAWpV,EAAEyV,WAGzGA,EAASA,EAAOE,aAOvB,OAJGP,KAAaA,EAAS,KAAO5B,EAAc,IAAM+B,IACnDJ,EAAOC,EAAU,GAGXF,EAIR,IAAIU,KAAK7M,EAAS8B,EAAUvD,WAAWuO,OAAS,SAASC,EAAQC,GAChED,GAAU,GAAKA,GAAQpJ,QAAQ,UAAW,OAAOA,QAAQ,WAAYlB,GAAQsF,cAC7ExQ,KAAKoT,GAAKoC,EAAO7Q,MAAM,gBAAkB6Q,EAAO7Q,MAAM,YAAc,YAAY,GAAG6L,cACnFxQ,KAAKqT,GAAKmC,EAAO7Q,MAAM,wBAA0B,YAAY,GAAG6L,cAChExQ,KAAKyV,SAAWA,CAEhB,IAAIC,GAAIF,EAAOvM,OAAO,EACtBjJ,MAAK0Q,WAAoB,MAANgF,GAAmB,MAANA,EAAY/K,EAAID,IAC9C2B,SAEHiJ,IAAEK,OAAS,SAASC,EAAGC,GACtB7V,KAAK4V,GAAK5V,KAAK4V,KAAO7K,EAAOE,EAAQjL,KAAK4V,KAAO3K,EAAQF,EAAO8K,GAAU7V,KAAK4V,IAGhFN,GAAE3E,OAAS,SAAStL,GACnB,GAAI+N,GAAIpT,KAAKoT,EAAGC,EAAIrT,KAAKqT,EAErB5C,EAAS2C,IAAMC,EACX,WAAND,GAAwB,WAANC,IAAmBrT,KAAK0Q,aAAe/F,GAAK3K,KAAKyV,SAClEpC,EAAED,IAAMA,EAAEC,IAEZD,EAED,OAAO/N,MAAS,EAAQoL,EAAOpL,KAAK,KAAOoL,GAG5C6E,GAAErD,OAAS,WACV,GAAIxB,GAASzQ,KAAK2Q,QAAO,EACzB,OAAOF,GAAO,GAAGxH,OAAO,IAAMwH,EAAO,IAAMA,EAAO,GAAGxH,OAAO,IAAM,KAGnEqM,GAAEQ,MAAQ,WACT,MAAO,IAAIrN,GAAQzI,KAAK2Q,SAAU3Q,KAAKyV,SAIxClL,EAAUvE,OAAS,SAAS+P,EAAOrV,GAClC,GAAID,GAAQT,KAAKS,MAChBZ,EAAUG,KAAKH,QACfI,EAAUD,KAAKC,OAGhB,IAAGS,EAAO,CACT,GAAG,aAAe8F,KAAK9F,EAAMa,OAASd,EAAMC,OAAS,YAAc8F,KAAK/F,EAAMC,MAAMa,OACnF1B,EAAQyD,KAAK1D,OAAOoW,IAAItV,EAAMd,QAAQ+B,SAAW9B,EAAQyD,KAAK1D,OAAO+B,QACrE1B,EAAQgW,IAAIvV,EAAMwF,eAAevE,OACjC,MAAO3B,KAIRS,GAAMC,MAAQhB,EAAEgB,MAAMwV,IAAIxV,GAO3B,GAHAV,KAAKiB,UAAY8U,IAAU/V,KAAKkB,iBAAmBqC,IAG/CvD,KAAKe,SAAY,MAAOgV,GAAQ/V,KAAKyM,OAAO,GAAKzM,IAChD,IAAGA,KAAKgB,WAAahB,KAAKW,SAAY,MAAOX,KAElD,IASCmW,GAAgBC,EAAyBC,EATtC9U,EAAOwU,EAAQ,OAAS,OAC3BhU,EAAO/B,KAAKH,QAAQ0B,GAEpBoG,GADY3H,KAAKH,QAAUkW,EAAiB,OAAT,QACtB/V,KAAKH,QAAQsD,UAC1BmT,EAAiBtW,KAAKH,QAAQmC,QAC9BqI,EAAQrK,KAAKC,QAAQ2J,IAAI,SACzBkJ,EAAU9S,KAAKC,QAAQkU,GAAG,YAC1BoC,EAAUR,GAAgC,IAAvBhU,EAAKnC,OAAO+B,OAC/B6U,GAAc9V,GAASqB,EAAKnC,OAAO+B,OAAS,GAAKlB,EAAMb,OAAO,KAAOc,EAAMd,MAa5E,cATWmW,IAAOU,OAAO,oBAAqBV,GAASjD,GAGvDqD,GAAkBlW,EAAQkU,GAAG,cAAgBrB,IAAYiD,GAASS,EAGlEJ,EAASD,EAA+CjW,IAA5BF,KAAKkO,SAAS3M,GAAO,KAG9CvB,KAAKgB,UAAoBhB,MAGzBoW,IAAUxV,GAASmV,GAAS/V,KAAK0W,MAAMhW,IAGtC0V,GAASD,EAAyBnW,MAGtCN,EAAEK,KAAKE,EAAQ,GAAI,eAAkB8V,GAGlCA,GAEF/V,KAAKgN,QAAUvM,EAAM8S,OAAS7T,EAAEgB,MAAMwV,IAAIlW,KAAKgN,QAG5CtN,EAAEgC,WAAW4U,EAAerU,OAASjC,KAAK4N,eAAe0I,EAAerU,KAAMrB,GAC9ElB,EAAEgC,WAAW4U,EAAerT,QAAUjD,KAAK0N,aAAa4I,EAAerT,MAAOrC,IAG7E6J,GAAuC,UAAtB9C,EAAW/H,QAAsB+H,EAAWoF,OAAOC,QACvEtN,EAAER,GAAUyX,KAAK,aAAatW,EAAWL,KAAK4W,aAC9CnM,EAAgBlH,GAIb8G,GAASpK,EAAQ2J,IAAI,QAAS3J,EAAQsS,WAAW3R,IACrDZ,KAAKgH,WAAWtG,EAAO8G,UAAU,IAC7B6C,GAASpK,EAAQ2J,IAAI,QAAS,IAG7B7H,EAAKuG,OACa,gBAAdvG,GAAKuG,KAAoB5I,EAAEqC,EAAKuG,MAAQ5I,EAAE2G,EAAUtE,EAAKuG,OAC/DuO,IAAI5W,GAAS4W,IAAI9U,EAAKnC,QAAQH,KAAK,OAAQC,EAAEoX,MAAM,kBAKtD/Q,aAAa/F,KAAKM,OAAOgD,YAGlB7C,GAAM8S,OAGV9I,IAAkB/K,EAAE2G,EAAS,4BAA6BtE,EAAKuG,MAAMuO,IAAI5W,GAAS0B,SACpFjC,EAAER,GAAU6X,OAAO,aAAa1W,GAChCoK,EAAgB7J,GAIjBZ,KAAKgX,KAAKtW,IAIX2V,EAAQ3W,EAAEgG,MAAM,WACZqQ,GAECrK,GAAQC,IAAM1L,EAAQ,GAAGyD,MAAMiR,gBAAgB,UAGlD1U,EAAQ2J,IAAI,WAAY,IAGrB,gBAAoB7H,GAAKkV,WAC3BvX,EAAEM,KAAKH,QAAQyD,KAAK2T,UAAWhX,GAASyW,QAIzC1W,KAAKH,QAAQyD,KAAK1D,OAAOsX,QAAQ,QAAQlX,KAAKF,GAAG,cAIjDG,EAAQ2J,KACPwH,QAAS,GACTC,WAAY,GACZqD,QAAS,GACT9B,KAAM,GACNC,IAAK,KAKP7S,KAAKkO,SAAS6H,EAAQ,UAAY,WAChC/V,MAGA+B,EAAKmQ,SAAWtR,GAAS2V,IAAY3V,GACvCX,EAASsB,KACT8U,KAIO3W,EAAEgC,WAAWK,EAAKmQ,SACzBjS,EAAQsO,KAAK,EAAG,GAChBxM,EAAKmQ,OAAOvM,KAAK1F,EAASD,MAC1BC,EAAQuU,MAAM,KAAM,SAAS2C,GAC5Bd,IAASc,OAKJlX,EAAQmX,OAAO,GAAIrB,EAAQ,EAAI,EAAGM,GAGtCN,GAAShU,EAAKnC,OAAOsX,QAAQ,QAAQlX,KAAKF,GAAG,aAEzCE,QAGRuK,EAAUjH,KAAO,SAAS5C,GAAS,MAAOV,MAAKgG,OAAOzC,EAAM7C,IAE5D6J,EAAU9G,KAAO,SAAS/C,GAAS,MAAOV,MAAKgG,OAAOpF,EAAOF,IAC5D6J,EAAUmM,MAAQ,SAAShW,GAC3B,IAAIV,KAAKe,UAAYf,KAAKgB,UAAa,MAAOhB,KAE9C,IAAIqX,GAAQ3X,EAAE2G,GACbpG,EAAUD,KAAKC,QACfqX,EAAWC,SAAStX,EAAQ,GAAGyD,MAAM8T,OAAQ,IAC7CC,EAAWnQ,EAAKoQ,OAASL,EAAM1V,MAyBhC,OArBI1B,GAAQ4F,SAAS0F,IAEjBvL,KAAKkO,SAAS,SAAUuJ,GAAW/W,KAElC4W,IAAaG,IAEfJ,EAAMzT,KAAK,WACP5D,KAAK0D,MAAM8T,OAASF,IACtBtX,KAAK0D,MAAM8T,OAASxX,KAAK0D,MAAM8T,OAAS,KAK1CH,EAAMM,OAAO,IAAMpM,GAAa9L,KAAK,OAAQiB,IAI9CT,EAAQgQ,SAAS1E,GAAa,GAAG7H,MAAM8T,OAASC,GAI3CzX,MAGRuK,EAAUyM,KAAO,SAAStW,GACzB,OAAIV,KAAKe,UAAYf,KAAKgB,UAAoBhB,MAG9CA,KAAKC,QAAQ+P,YAAYzE,GAGzBvL,KAAKkO,SAAS,QAAUlO,KAAKC,QAAQ2J,IAAI,WAAalJ,GAE/CV,OAEPuK,EAAUqN,QAAU,SAAS7B,GAC7B,MAAG/V,MAAKgB,UAAoBhB,MAGf,WAAV+V,EACFA,IAAU/V,KAAKe,SAAWf,KAAKC,QAAQ4F,SAASC,GAAkB9F,KAAKW,UAIhE,iBAAqBoV,KAC5BA,EAAQxS,GAGNvD,KAAKe,UACPf,KAAKC,QAAQqN,YAAYxH,EAAgBiQ,GACvChW,KAAK,gBAAiBgW,GAGzB/V,KAAKW,WAAaoV,EAEX/V,OAGRuK,EAAUsN,OAAS,WAAa,MAAO7X,MAAK4X,QAAQhX,IACnD2J,EAAUoD,cAAgB,WAE1B,GAAIjB,GAAO1M,KACVG,EAAWH,KAAKG,SAChBF,EAAUE,EAASF,QACnBiD,EAASlD,KAAKH,QAAQmC,QAAQkB,OAC9B4U,EAA6B,gBAAX5U,GAClB6U,EAAQD,EAAW5U,EAAS,eAE1B/C,GAAS+C,QAAU/C,EAAS+C,OAAOuL,SAIrCtO,EAAS+C,OADPA,EAAOtB,OACSsB,EAGAxD,EAAE,SACnBmN,QAAS,eAAiB7M,KAAKH,QAAQ6D,MAAMoO,OAAS,GAAKzR,EAAU,SACrE4C,MAAS8U,EACTC,aAAcD,IAEdE,QACAvY,EAAE,YACDmN,QAAS,wBACTyE,KAAQ,aAMXnR,EAAS+C,OAAOqK,SAASpN,EAAS0R,UAAY5R,GAC5CF,KAAK,OAAQ,UACbmY,MAAM,SAASxX,GAEf,MADIT,GAAQ4F,SAASC,IAAmB4G,EAAKjJ,KAAK/C,GAC3CE,KAIV2J,EAAUkF,cAAgB,SAASvM,GAGlC,IAAIlD,KAAKe,SAAY,MAAOH,EAE5B,IAAI8G,GAAO1H,KAAKG,SAAS+C,MACtBA,GAAUlD,KAAK2N,gBACXjG,EAAK+G,UAQblE,EAAUsD,WAAa,WAEtB,GAAIsK,GAAKnY,KAAKH,QAAQ6D,MAAMoO,OAC3B3R,EAAWH,KAAKG,SAChBF,EAAUE,EAASF,QACnBU,EAAWV,EAAQ4F,SAASC,EAE7B7F,GAAQ+P,YAAYlK,GACpBA,EAAiBqS,EAAK,oBAAsB,gBAC5ClY,EAAQqN,YAAYxH,EAAgBnF,GAEpCV,EAAQqN,YAAY,mBAAmBrI,IAAqBkT,GAAI7K,YAAYhC,EAAetL,KAAKH,QAAQ6D,MAAM0U,MAAQD,GAEnHhY,EAAS6B,SACX7B,EAAS6B,QAAQsL,YAAarI,EAAkB,WAAYkT,GAE1DhY,EAAS0R,UACX1R,EAAS0R,SAASvE,YAAarI,EAAkB,UAAWkT,GAE1DhY,EAAS+C,QACX/C,EAAS+C,OAAOoK,YAAYjN,EAAU,SAAU8X,IAgFlD5N,EAAUqM,YAAc,SAASlW,GAEhC,OADCV,KAAKgN,MAAQtN,EAAEgB,MAAMwV,IAAIxV,IAAQa,KAAO,YAClCvB,MAIRuK,EAAU8N,MAAQ,SAASC,EAASnR,EAAQC,EAAQmR,EAAQ7V,GAC3D,GAAI4V,GAAYlR,GAAWD,EAAOxF,OAAlC,CACA,GAAI6W,GAAK,IAAMxY,KAAKI,KAAOmY,EAAS,IAAIA,EAAS,GAKjD,OAJA7Y,GAAE4Y,GAAS3B,MACTxP,EAAO9C,MAAQ8C,EAASA,EAAO9B,KAAKmT,EAAK,MAAQA,EAClD9Y,EAAEgG,MAAM0B,EAAQ1E,GAAW1C,OAErBA,OAERuK,EAAUkO,QAAU,SAASH,EAASC,GAErC,MADAD,IAAW5Y,EAAE4Y,GAASvB,OAAO,IAAM/W,KAAKI,KAAOmY,EAAS,IAAIA,EAAS,KAC9DvY,MAcRuK,EAAU2D,SAAW,SAAS3M,EAAMiD,EAAM9D,GACzC,GAAI6E,GAAW7F,EAAEoX,MAAM,UAAUvV,EAOjC,OANAgE,GAASmT,cAAiBhY,GAAShB,EAAE+C,UAAW/B,IAAWV,KAAKS,MAAMC,OAASR,EAE/EF,KAAKoB,WAAaG,EAClBvB,KAAKC,QAAQiX,QAAQ3R,GAAWvF,MAAMoF,OAAOZ,QAC7CxE,KAAKoB,WAAaR,GAEV2E,EAASoT,sBAGlBpO,EAAUqO,YAAc,SAASC,EAAYC,EAAYC,EAAaC,EAAapT,EAAYK,GAE9F,GAAIgT,GAAiBF,EAAYpB,OAAQqB,GAAchD,IAAKgD,EAAYrB,OAAOoB,IAC9EG,IAGED,GAAetX,SAGjBjC,EAAEkE,KAAKkV,EAAY,SAAS5U,EAAG3C,GAC9B,GAAI4X,GAAYzZ,EAAE0Z,QAAQ7X,EAAMsX,EAIhCM,GAAY,IAAMD,EAAanU,KAAM8T,EAAWQ,OAAQF,EAAW,GAAI,MAIrED,EAAavX,SAEf3B,KAAKqY,MAAMY,EAAgBC,EAAc,SAASxY,GACjD,GAAIqV,GAAQ/V,KAAKe,SAAWf,KAAKC,QAAQ,GAAG8G,YAAc,GAAI,GAC7DgP,EAAQ9P,EAAaL,GAAYD,KAAK3F,KAAMU,KAI9CqY,EAAcA,EAAYlC,IAAIoC,GAC9BD,EAAcA,EAAYnC,IAAIoC,KAKhCjZ,KAAKqY,MAAMU,EAAaF,EAAYjT,GACpC5F,KAAKqY,MAAMW,EAAaF,EAAY7S,IAGrCsE,EAAU+O,qBAAuB,SAAS5Y,GA+BzC,QAAS6Y,GAAY7Y,GAEpB,MAAGV,MAAKW,UAAYX,KAAKgB,UAAoBJ,GAG7CZ,KAAKS,MAAMC,MAAQA,GAAShB,EAAEgB,MAAMwV,IAAIxV,GACxCV,KAAKS,MAAMb,OAASc,GAAShB,EAAEgB,EAAMd,QAGrCmG,aAAa/F,KAAKM,OAAOgD,WACzBtD,KAAKM,OAAOgD,KAAOgC,EAAMK,KAAK3F,KAC7B,WAAaA,KAAKyM,OAAwB,gBAAV/L,IAAsBb,EAAQyD,KAAKE,QACnE3D,EAAQ2Z,UAAY,EAAI3Z,EAAQyD,KAAKgC,SA1CvC,GAAIzF,GAAUG,KAAKH,QAClB4Z,EAAa5Z,EAAQyD,KAAK1D,OAC1B8Z,EAAa7Z,EAAQ4D,KAAK7D,OAC1BiZ,EAAahZ,EAAQyD,KAAK5C,MAAQhB,EAAEia,KAAK,GAAK9Z,EAAQyD,KAAK5C,OAAO2D,MAAM,QACxEyU,EAAajZ,EAAQ4D,KAAK/C,MAAQhB,EAAEia,KAAK,GAAK9Z,EAAQ4D,KAAK/C,OAAO2D,MAAM,OAGzErE,MAAKqY,MAAMrY,KAAKG,SAASP,QAAS,SAAU,cAAe,WAC1DI,KAAKmO,SAAQ,IACX,WAMA,qBAAqB3H,KAAK3G,EAAQyD,KAAK5C,SAAW,oBAAoB8F,KAAK3G,EAAQ4D,KAAK/C,QAC1FoY,EAAW/T,KAAK,cAQjB/E,KAAKqY,MAAMoB,EAAY,YAAa,SAAS/Y,GAC5CV,KAAK4W,YAAYlW,GACjBV,KAAKS,MAAMmZ,SAAWrW,IAqBvBvD,KAAK4Y,YAAYC,EAAYC,EAAYW,EAAYC,EAAYH,EAAa,WAC7E,MAAIvZ,MAAKM,WACTyF,cAAa/F,KAAKM,OAAOgD,MADC1C,KAKxBf,EAAQyD,KAAKE,OAAS3D,EAAQ2Z,YAAaD,EAAY5T,KAAK3F,KAAMU,IAItE6J,EAAU0D,cAAgB,WACzB,GAAIvB,GAAO1M,KACVH,EAAUG,KAAKH,QACf8H,EAAa9H,EAAQsD,SAErBlD,EAAUD,KAAKC,QACfwZ,EAAa5Z,EAAQyD,KAAK1D,OAC1B8Z,EAAa7Z,EAAQ4D,KAAK7D,OAC1Bia,EAAkBlS,EAAWU,UAC7ByR,EAAiBnS,EAAWY,SAC5BwR,EAAiBra,EAAER,GAEnB8a,GAData,EAAER,EAASmI,MACT3H,EAAET,IAEjB4Z,EAAahZ,EAAQyD,KAAK5C,MAAQhB,EAAEia,KAAK,GAAK9Z,EAAQyD,KAAK5C,OAAO2D,MAAM,QACxEyU,EAAajZ,EAAQ4D,KAAK/C,MAAQhB,EAAEia,KAAK,GAAK9Z,EAAQ4D,KAAK/C,OAAO2D,MAAM,OAIzE3E,GAAEkE,KAAK/D,EAAQsH,OAAQ,SAASa,EAAMzC,GACrCmH,EAAK2L,MAAMpY,EAAkB,WAAT+H,GAAqB,cAAc,gBAAkB,UAAUA,GAAOzC,EAAU,KAAMtF,KAIxG,oBAAoBuG,KAAK3G,EAAQ4D,KAAK/C,QAAiC,WAAvBb,EAAQ4D,KAAKwW,OAC/Dja,KAAKqY,MAAM0B,GAAiB,WAAY,QAAS,SAASrZ,GACrD,gBAAgB8F,KAAK9F,EAAMd,OAAOsa,WAAcxZ,EAAMwF,eACzDlG,KAAKyD,KAAK/C,KAMVb,EAAQ4D,KAAK8C,MACfmT,EAAaA,EAAW1D,IAAK/V,EAAQgQ,SAAS5E,IAOvC,qBAAqB7E,KAAK3G,EAAQyD,KAAK5C,QAC9CV,KAAKqY,MAAMqB,EAAY,aAAc,WACpC3T,aAAa/F,KAAKM,OAAOgD,SAKvB,GAAKzD,EAAQ4D,KAAK/C,OAAOyZ,QAAQ,WAAa,IACjDna,KAAKqY,MAAMwB,EAAgBzT,QAAQ,SAAU,YAAa,cAAe,SAAS1F,GACjF,GAAIgH,GAAOhI,EAAEgB,EAAMd,QAClBwa,EAAUpa,KAAKe,WAAaf,KAAKC,QAAQ4F,SAASC,IAAmB9F,KAAKC,QAAQ,GAAG8G,YAAc,EACnGsT,EAAa3S,EAAK4S,QAAQjU,GAAUsR,OAAO3X,KAAKC,QAAQ,IAAI0B,OAAS,CAEnE+F,GAAK,KAAO1H,KAAKJ,OAAO,IAAM8H,EAAK,KAAO1H,KAAKC,QAAQ,IAAOoa,GAC/Dra,KAAKJ,OAAOqW,IAAIvO,EAAK,IAAI/F,SAAUyY,GAEpCpa,KAAKyD,KAAK/C,KAMV,gBAAoBb,GAAQ4D,KAAKoD,WAEnC7G,KAAKqY,MAAMoB,EAAY,QAAQzZ,KAAKF,GAAG,YAAa8G,EAAgB,YAGpE5G,KAAKqY,MAAMqB,EAAW1D,IAAI/V,GAAUqH,EAAKiT,eAAgB3T,IAI1D5G,KAAK4Y,YAAYC,EAAYC,EAAYW,EAAYC,EAAY9T,EAAYK,GAG7EjG,KAAKqY,MAAMoB,EAAWzD,IAAI/V,GAAU,YAAa,SAASS,GAEzD,GAAG,gBAAoBb,GAAQ4D,KAAK6P,SAAU,CAC7C,GAAIC,GAASvT,KAAKS,MAAM8S,WACvBiH,EAAQxa,KAAKH,QAAQ4D,KAAK6P,SAC1BmH,EAAM3Q,KAAK2Q,KAGTA,EAAI/Z,EAAM8S,MAAQD,EAAOC,QAAUgH,GAASC,EAAI/Z,EAAMkT,MAAQL,EAAOK,QAAU4G,IACjFxa,KAAKyD,KAAK/C,GAKZV,KAAK4W,YAAYlW,KAIO,UAAtBiH,EAAW/H,QAEV+H,EAAWoF,OAAOC,QAEjBnN,EAAQ4D,KAAK/C,OAEfV,KAAKqY,MAAMoB,GAAa,aAAc,cAAe,SAAS/Y,GAC7D,MAAIV,MAAKS,WACTT,KAAKS,MAAMmZ,SAA0B,eAAflZ,EAAMa,MADJX,IAM1BZ,KAAKqY,MAAM0B,EAAgB,YAAa,SAASrZ,GAE7CV,KAAKe,UAAYf,KAAKS,MAAMmZ,WAAa5Z,KAAKC,QAAQ4F,SAASC,IAAmB9F,KAAKC,QAAQ,GAAG8G,YAAc,GAClH/G,KAAKgH,WAAWtG,OAOjBiH,EAAWoF,OAAO2N,QAAUZ,EAAenY,SAC7C3B,KAAKqY,MAAO3Y,EAAEgB,MAAMia,QAAQD,OAASZ,EAAiBE,EAAc,SAAUlT,GAI5Ea,EAAWoF,OAAO8H,QACpB7U,KAAKqY,MAAO2B,EAAahE,IAAIrO,EAAWU,WAAY,SAAUvB,IAKhEyD,EAAUyD,gBAAkB,WAC3B,GAAInO,GAAUG,KAAKH,QAClBkZ,EAAclZ,EAAQyD,KAAK1D,OAC3BoZ,EAAcnZ,EAAQ4D,KAAK7D,OAC3B0Y,EAAU5Y,EAAEkb,MACX5a,KAAKG,SAASP,OAAO,GACrBI,KAAKe,UAAYf,KAAKC,QAAQ,GAC9BJ,EAAQsD,SAASkF,UAAU,GAC3BxI,EAAQsD,SAASoF,SAAS,GAC1B1I,EAAQsD,SAASkF,UAAUjC,QAAQ,QAAQ,GAC3CnH,EACAC,GACE,SAASgF,GACX,MAAoB,gBAANA,IAIb6U,IAAeA,EAAY8B,UAC7BvC,EAAUA,EAAQlT,OAAO2T,EAAY8B,YAEnC7B,GAAeA,EAAY6B,UAC7BvC,EAAUA,EAAQlT,OAAO4T,EAAY6B,YAItC7a,KAAKyY,QAAQH,GACXG,QAAQH,EAAS,WACjBG,QAAQH,EAAS,aAIpB5Y,EAAE,WACDuH,EAASZ,GAAW,aAAc,cAAe,SAAS3F,GACzD,GAAIqV,GAAuB,eAAfrV,EAAMa,KACjBtB,EAAUP,EAAEgB,EAAMoa,eAClBlb,EAASF,EAAEgB,EAAMwF,eAAiBxF,EAAMd,QACxCC,EAAUG,KAAKH,OAGbkW,IAEF/V,KAAK0W,MAAMhW,GAGXT,EAAQ4F,SAASwF,KAAiBpL,EAAQ4F,SAASC,IAAmBC,aAAa/F,KAAKM,OAAOmD,OAMhE,UAA5B5D,EAAQsD,SAASvD,QAAsBC,EAAQsD,SAAS4J,OAAOC,OACjEnN,EAAQ4D,KAAK/C,OAASb,EAAQyD,KAAK1D,SAAWA,EAAOwG,QAAQvG,EAAQyD,KAAK1D,OAAO,IAAI+B,QACrF3B,KAAKyD,KAAK/C,GAKZT,EAAQqN,YAAY9B,EAAauK,KAIlC9O,EAAS,IAAIM,EAAQ,IAAK6D,EAAiBxE,KAsF5CU,EAAO5H,EAAEF,GAAGC,KAAO,SAASI,EAASmE,EAAU+W,GAE9C,GAAIC,IAAW,GAAKnb,GAAS2Q,cAC5ByK,EAAW/a,EACXsE,EAAO9E,EAAEwb,UAAU1T,WAAW2B,MAAM,GACpCzI,EAAQ8D,EAAKA,EAAK7C,OAAS,GAC3BI,EAAO/B,KAAK,GAAKN,EAAEwI,KAAKlI,KAAK,GAAIK,GAAaH,CAG/C,QAAKsH,UAAU7F,QAAUI,GAAqB,QAAZiZ,EAC1BjZ,EAIA,gBAAoBlC,IAC3BG,KAAK4D,KAAK,WACT,GAAItB,GAAM5C,EAAEwI,KAAKlI,KAAMK,EACvB,KAAIiC,EAAO,MAAOiB,EAMlB,IAHG7C,GAASA,EAAMya,YAAa7Y,EAAI7B,MAAMC,MAAQA,IAG9CsD,GAAyB,WAAZgX,GAAoC,YAAZA,EAWhC1Y,EAAI0Y,IACX1Y,EAAI0Y,GAAShW,MAAM1C,EAAKkC,OAZuC,CAC/D,GAAGuW,IAAa5b,IAAaO,EAAEsD,cAAcgB,GAK5C,MADAiX,GAAW3Y,EAAIiO,IAAIvM,GACZpD,CAJP0B,GAAIO,IAAImB,EAAU+W,MAcdE,IAAa/a,EAAO+a,EAAWjb,MAI/B,gBAAoBH,IAAY2H,UAAU7F,OAA7C,QAEJI,EAAOD,EAAgBpC,EAAE+C,OAAOc,KAAU1D,IAEnCG,KAAK4D,KAAK,SAASM,GACzB,GAAI5B,GAAKxC,CAQT,OALAA,GAAKJ,EAAEyT,QAAQpR,EAAKjC,IAAMiC,EAAKjC,GAAGoE,GAAKnC,EAAKjC,GAC5CA,GAAMA,GAAMA,IAAOc,GAASd,EAAG6B,OAAS,GAAK2F,EAAKhF,IAAIxC,GAAMwH,EAAK2H,SAAWnP,EAG5EwC,EAAMmF,EAAK/H,EAAEM,MAAOF,EAAIiC,GACrBO,IAAQ1B,EAAgB2C,GACpB+D,EAAKhF,IAAIxC,GAAMwC,EAGtB5C,EAAEkE,KAAKC,EAAS,WACQ,eAApB7D,KAAK+N,YAA+B/N,KAAKsC,SAI7CA,GAAIgX,qBAAqB5Y,QAM5BhB,EAAED,KAAOE,EAGT2H,EAAKhF,OACJ5C,EAAEkE,MAEF7D,KAAM,SAASA,EAAMwJ,GACpB,GAAGvJ,KAAK2B,OAAQ,CACf,GAAI+K,GAAO1M,KAAK,GACfiD,EAAQ,QACRX,EAAM5C,EAAEwI,KAAKwE,EAAM,OAEpB,IAAG3M,IAASkD,GAASX,GAAO,gBAAoBA,IAAOA,EAAIzC,QAAQ+I,SAClE,MAAGpB,WAAU7F,OAAS,EACdjC,EAAEK,KAAK2M,EAAM5D,IAIlBxG,GAAOA,EAAIzC,QAAQmC,QAAQjC,OAASkD,GAASX,EAAI7B,MAAMV,MACzDuC,EAAIO,IAAI,eAAgB0G,GAIlBvJ,KAAKD,KAAK+I,EAAUS,IAI7B,MAAO7J,GAAEF,GAAG,OAAOiM,GAAezG,MAAMhF,KAAMwH,YAI/CsO,MAAO,SAASsF,GACf,GAGAC,IAHa3b,MAGLA,EAAEF,GAAG,QAAQiM,GAAezG,MAAMhF,KAAMwH,WAUhD,OAPI4T,IACHC,EAAM1D,OAAO,IAAI7O,EAAS,KAAK/I,KAAK,QAAS,WAC5C,MAAOL,GAAEK,KAAKC,KAAM8I,KAEpBD,WAAWC,GAGNuS,IAEN,SAASrT,EAAMsT,GACjB,IAAIA,GAAQ5b,EAAEF,GAAGwI,EAAKyD,GAAkB,MAAOlI,EAE/C,IAAIgY,GAAM7b,EAAEF,GAAGwI,EAAKyD,GAAiB/L,EAAEF,GAAGwI,EAC1CtI,GAAEF,GAAGwI,GAAQ,WACZ,MAAOsT,GAAKtW,MAAMhF,KAAMwH,YAAc+T,EAAIvW,MAAMhF,KAAMwH,cAQpD9H,EAAE8b,KACL9b,EAAE,YAAY+L,GAAiB/L,EAAE+b,UACjC/b,EAAE+b,UAAY,SAAUJ,GACvB,IAAI,GAAW3T,GAAPxD,EAAI,GAAUwD,EAAOhI,EAAG2b,EAAMnX,KAAMvC,OAAQuC,IACnD,GAAGwD,EAAK3H,KAAK4I,GACZ,IAAMjB,EAAKgU,eAAe,cAC1B,MAAO/U,IAGTjH,EAAE,YAAY+L,GAAezG,MAAMhF,KAAMwH,aAI3CF,EAAKqU,QAAU,YAGfrU,EAAK2H,OAAS,EAGd3H,EAAKiT,eAAiBnP,EAGtB9D,EAAKoQ,OAAS,KAGdpQ,EAAKc,UACJoR,UAAW5Y,EACXd,GAAIc,EACJ8H,UAAWnF,EACXqF,SAAUrF,EACVvB,SACCC,KAAMsB,EACNxD,KAAM,QACNkD,MAAOrC,EACPsC,OAAQtC,GAETuC,UACCC,GAAI,WACJC,GAAI,eACJzD,OAAQgB,EACRyH,UAAWzH,EACX2H,SAAU3H,EACVmM,QACCqG,EAAG,EAAGC,EAAG,EACTrG,MAAOzJ,EACPsR,OAAQtR,EACRmX,OAAQnX,EACR6D,OAAQ,yBAET8K,OAAQ,SAAS5P,EAAKsS,GACrBlV,EAAEM,MAAMuW,QAAQ3B,GACfpP,SAAU,IACVgP,MAAO5T,MAIV0C,MACC1D,OAAQgB,EACRF,MAAO,aACPwR,OAAQ3O,EACR+B,MAAO,GACPgD,KAAM1H,EACN4C,MAAO5C,EACPqW,UAAWrW,GAEZ6C,MACC7D,OAAQgB,EACRF,MAAO,aACPwR,OAAQ3O,EACR+B,MAAO,EACPiB,MAAO3F,EACPiG,SAAUjG,EACVqZ,MAAO,SACP3G,SAAU1S,GAEX8C,OACCC,QAAS,GACTmO,OAAQlR,EACRyJ,MAAOzJ,EACP0J,OAAQ1J,EACRwX,IAAK7U,GAEN4D,QACCsF,OAAQvM,EACR0b,KAAM1b,EACNoD,KAAMpD,EACNuD,KAAMvD,EACN8F,OAAQ9F,EACR4S,QAAS5S,EACT2b,OAAQ3b,EACRwW,MAAOxW,EACP8W,KAAM9W,GAGP,IAAI4b,IAMLC,GAAS,SACTC,GAAS,SACTC,GAAQ,QACRC,GAAW,mBACXC,GAAc,cACdC,GAAY,cAGZC,KAAcnd,EAAS2M,cAAc,UAAUyQ,WAG/CC,GAAU,8CAUN5S,MAAeD,IAAe,SAAU,IAAK,MAAO,KAuBxD,IAAI2S,GASH,GAAIG,IAAcvd,EAAOwd,kBAAoB,EAC5CC,GAAuB,WACtB,GAAIha,GAAUxD,EAAS2M,cAAc,UAAUyQ,WAAW,KAC1D,OAAO5Z,GAAQia,wBAA0Bja,EAAQka,8BAAgCla,EAAQma,2BACvFna,EAAQoa,0BAA4Bpa,EAAQqa,yBAA2B,KAE1EC,GAAQR,GAAcE,OAdvB,IAAIO,IAAY,SAASC,EAAKzT,EAAO/F,GACpC,MAAO,YAAYwZ,EAAI,4DAA4DzT,GAAO,IACzF,yCAAyC/F,GAAO,IAAK,OA0BxDhE,GAAE+C,OAAOwH,EAAIoC,WACZ5E,KAAM,SAAShI,GACd,GAAIiD,GAASya,CAGbA,GAAMnd,KAAKkR,QAAUzR,EAAKU,SAASgd,IAAMzd,EAAE,WAAamN,QAASxM,EAAU,SAAU+c,UAAU3d,EAAKQ,SAGjGoc,IAEF3Z,EAAUhD,EAAE,cAAc6N,SAASvN,KAAKkR,SAAS,GAAGoL,WAAW,MAG/D5Z,EAAQ2a,SAAW,QACnB3a,EAAQ4a,WAAa,IACrB5a,EAAQ6a,SAGR7a,EAAUua,GAAU,QAAS,oBAAqB,sBAClDjd,KAAKkR,QAAQI,KAAK5O,EAAUA,GAG5BjD,EAAK4Y,MAAO3Y,EAAE,IAAKyd,GAAKnH,IAAImH,IAAO,QAAS,aAAc,SAASzc,GAASA,EAAM8c,mBAAsBxd,KAAKkK,MAI9GzK,EAAK4Y,MAAM5Y,EAAKQ,QAAS,cAAeD,KAAKgH,WAAYhH,KAAKkK,IAAKlK,MAGnEA,KAAKyd,UAGNC,gBAAiB,WAChB1d,KAAKoK,KAAK,GAAKpK,KAAKH,QAAQyK,OAC5BtK,KAAKoK,KAAK,GAAKpK,KAAKH,QAAQwK,OAE7BsT,iBAAkB,WACjB3d,KAAKoK,KAAK,GAAKpK,KAAKH,QAAQwK,MAC5BrK,KAAKoK,KAAK,GAAKpK,KAAKH,QAAQyK,QAG7BsT,UAAW,SAASpI,GACnB,GAAI3D,GAAW7R,KAAKP,KAAKU,SAAS0R,QAClC,OAAOA,KACN2D,EAAOnC,IAAMvI,GAAQ0K,EAAOnC,IAAMnI,GAAUlL,KAAKkR,QAAQ/N,WAAW0P,IAAO7S,KAAKoK,KAAK,GAAK,EAAKpK,KAAKH,QAAQsK,OAAS0H,EAASY,YAAYlP,KAI5Isa,aAAc,SAASrI,GACtB,GAAIpS,GAAKpD,KAAKP,KAAKI,QAAQsD,SAASC,EAcpC,OAXGoS,KAAW5U,GAASwC,IAAOxC,EAC7B4U,EAAS5U,EAEF4U,IAAWjS,EAClBiS,EAAS,GAAI/M,GAAQrF,EAAGuN,UAEhB6E,EAAO7E,SACf6E,EAAS,GAAI/M,GAAO+M,GACpBA,EAAOjP,MAAQhD,GAGTiS,GAGRsI,YAAa,SAAStI,EAAQuI,EAAMC,GACnC,GAAI7d,GAAWH,KAAKP,KAAKU,SACxBkJ,EAAO2S,GAASjT,EAAMgV,GAAQ,OAE/B,QAAQC,EAAMnU,EAAOmU,EAAK3U,GACzBQ,EAAO1J,EAAS6B,QAASqH,IACzBQ,EAAO7J,KAAK4d,UAAUpI,IAAWrV,EAAS0R,UAAY1R,EAAS6B,QAASqH,IACxEQ,EAAO1J,EAASF,QAASoJ,KACpB,GAGP4U,aAAc,SAASzI,GACtB,GAAIrV,GAAWH,KAAKP,KAAKU,SACxBkJ,EAAO2S,GAASjT,EAAMyM,EAAOnC,GAAKtK,EAAMyM,EAAOpC,GAAK,QAErD,OAAO1H,IAAQC,GAAK,EAAI,EACvB9B,EAAO7J,KAAK4d,UAAUpI,IAAWrV,EAAS0R,UAAY1R,EAAS6B,QAASqH,IACxEQ,EAAO1J,EAASF,QAASoJ,IAAS,GAGpC6U,eAAgB,SAASxW,EAAM2B,EAAM8U,GACpC,GAAI5U,GAAM7B,EAAKkC,IAAIP,EACnB,QAAQE,GAAQ4U,GAAW5U,IAAQ7B,EAAKkC,IAAIuU,IAAa5B,GAAQ/V,KAAK+C,GAAO3I,EAAQ2I,GAGtF6U,cAAe,SAAS5I,GACvB,GAAIrV,GAAWH,KAAKP,KAAKU,SACxBgd,EAAMnd,KAAKkR,QAAQtH,IAAI,UAAW,IAClCyU,EAAarC,GAASjT,EAAMyM,EAAQA,EAAO9E,aAAgB3H,EAAMkT,IACjEqC,EAAYte,KAAK4d,UAAUpI,IAAWrV,EAAS0R,UAAY1R,EAAS6B,QACpE4H,EAAM5J,KAAKke,eAAgBK,IAa5B,OAVAA,GAAM,GAAK3U,EAAIuT,EAAKjB,KAAatS,EAAI0U,EAAWpC,KAAatS,EAAIzJ,EAAS6B,QAASka,KAClFtS,EAAIzJ,EAASF,QAASic,KAAaiB,EAAIvT,IAAIsS,IAG5CqC,EAAM,GAAK3U,EAAIuT,EAAKkB,EAAYpC,KAAUrS,EAAI0U,EAAWD,EAAYpC,KACpErS,EAAIzJ,EAAS6B,QAASqc,EAAYpC,KAAUrS,EAAIzJ,EAASF,QAASoe,EAAYpC,KAAU9b,EAASF,QAAQ2J,IAAIyU,GAG9G3e,EAAE,IAAKyd,GAAKnH,IAAImH,GAAKvT,IAAI,UAAWsS,GAAS,IAAIC,GAAYC,GAAU,IAAIJ,GAAO,KAAKI,GAAU,KAE1FmC,GAGRC,eAAgB,SAAShJ,GACxB,GAOCiJ,GAAQC,EAAOjO,EAPZ4C,EAAImC,EAAO9E,aAAe/F,EAC7BN,EAAQrK,KAAKH,QAAe,MAC5ByK,EAAStK,KAAKH,QAAgB,OAC9B8e,EAA+B,MAApBnJ,EAAOvD,SAClB2M,GAAQvL,EAAIhJ,EAAOC,IAAWqU,EAAW,GAAM,GAC/CE,EAAM/U,KAAK+U,IACXC,EAAQhV,KAAKgV,MAGdC,EAAWjV,KAAKkV,KAAMH,EAAID,EAAM,GAAKC,EAAIvU,EAAQ,IACjD2U,GAASjf,KAAKkf,OAASN,EAAQG,EAAW/e,KAAKkf,OAAS5U,EAAUyU,EASlE,OAPAE,GAAI,GAAKnV,KAAKkV,KAAMH,EAAII,EAAI,GAAI,GAAKJ,EAAI7e,KAAKkf,OAAQ,IACtDD,EAAI,GAAKnV,KAAKkV,KAAMH,EAAII,EAAI,GAAI,GAAKJ,EAAI7e,KAAKkf,OAAQ,IAEtDT,EAASM,EAAWE,EAAI,GAAKA,EAAI,IAAMN,EAAW,EAAIM,EAAI,IAC1DP,EAAQD,EAASM,EAEjBtO,GAAWqO,EAAMJ,EAAQrU,GAAQyU,EAAMJ,EAAQpU,IACxC+I,EAAI5C,EAASA,EAAO0O,WAI5BC,cAAe,SAAS5J,EAAQpL,EAAMiV,GACrCA,EAAQA,GAAS,EACjBjV,EAAOA,GAAQpK,KAAKoK,IAEpB,IAAIC,GAAQD,EAAK,GAAKiV,EACrB/U,EAASF,EAAK,GAAKiV,EACnBC,EAASxV,KAAKC,KAAKM,EAAQ,GAAIkV,EAAUzV,KAAKC,KAAKO,EAAS,GAG7DkV,GACCC,IAAK,EAAE,EAAIpV,EAAMC,EAAQD,EAAM,GAC/BqV,IAAK,EAAE,EAAIrV,EAAM,EAAI,EAAEC,GACvBqV,IAAK,EAAErV,EAAQD,EAAM,EAAIA,EAAMC,GAC/BsV,IAAK,EAAE,EAAI,EAAEtV,EAASD,EAAMC,GAC5BuV,IAAK,EAAEvV,EAAQgV,EAAO,EAAIjV,EAAMC,GAChCwV,IAAK,EAAE,EAAIzV,EAAM,EAAIiV,EAAOhV,GAC5ByV,IAAK,EAAE,EAAI1V,EAAMkV,EAAS,EAAEjV,GAC5B0V,IAAK3V,EAAM,EAAGA,EAAMC,EAAQ,EAAEiV,GAO/B,OAHAC,GAAKS,GAAKT,EAAKC,GAAID,EAAKU,GAAKV,EAAKE,GAClCF,EAAKW,GAAKX,EAAKG,GAAIH,EAAKY,GAAKZ,EAAKI,GAE3BJ,EAAMhK,EAAOvD,WAIrBoO,YAAa,SAAS3d,EAAS4d,GAC9B5d,EAAQ6d,YACR7d,EAAQ8d,OAAOF,EAAO,GAAIA,EAAO,IACjC5d,EAAQ+d,OAAOH,EAAO,GAAIA,EAAO,IACjC5d,EAAQ+d,OAAOH,EAAO,GAAIA,EAAO,IACjC5d,EAAQge,aAGTjD,OAAQ,WAEP,GAAIhc,GAAIzB,KAAKwV,QAAU6G,IAAa3Q,GAAQC,KAAO3L,KAAK6d,aAAa7d,KAAKH,QAAQ2V,OAclF,QAXKxV,KAAKoa,UAAYpa,KAAKwV,QAAmC,MAAzBxV,KAAKwV,OAAOvD,YAEhDjS,KAAKP,KAAKgB,MAAM+U,OAAS/T,EAAEqU,QAG3B9V,KAAK2gB,UAIN3gB,KAAKkR,QAAQlL,OAAOhG,KAAKoa,SAElBpa,KAAKwV,QAGbmL,OAAQ,SAASnL,EAAQrS,GACxB,IAAInD,KAAKoa,QAAW,MAAOpa,KAE3B,IAOCue,GAAO7N,EAAYhO,EACnB4d,EAAQM,EAAWC,EAAWC,EAAS5B,EARpC/e,EAAWH,KAAKP,KAAKU,SACxBgd,EAAMnd,KAAKkR,QACX6P,EAAQ5D,EAAI6D,WACZnhB,EAAUG,KAAKH,QACfohB,EAAUjhB,KAAKoK,KACf8W,EAAQrhB,EAAQqhB,MAChBpC,EAAQhV,KAAKgV,KAKVtJ,KAAUA,EAASxV,KAAKP,KAAKgB,MAAM+U,QAAUxV,KAAKwV,QAGnD0L,IAAUtgB,EAASsgB,EAAQ1L,GAI7B0L,EAAQ,GAAIzY,GAAOyY,GACnBA,EAAMxQ,WAAa8E,EAAO9E,WAEX,YAAZwQ,EAAM9N,EAAmB8N,EAAM9N,EAAIoC,EAAOpC,EACzB,YAAZ8N,EAAM7N,EAAmB6N,EAAM7N,EAAImC,EAAOnC,EAC1C6N,EAAM9N,IAAM8N,EAAM7N,IACzB6N,EAAO1L,EAAO9E,YAAe8E,EAAQA,EAAO9E,cAG9CA,EAAawQ,EAAMxQ,WAGhB8E,EAAO9E,aAAehG,EAAK1K,KAAK0d,kBAC5B1d,KAAK2d,mBAGZY,EAAQve,KAAKue,MAAQve,KAAKoe,cAAc5I,GAGrC+I,EAAM,KAAOpC,IAEf+C,EAASlf,KAAKkf,OAASlf,KAAK8d,YAAYtI,EAAQA,EAAOA,EAAO9E,aAG3D7Q,EAAQqf,QAAmB,EAATA,IAAe3C,GAAQ/V,KAAK+X,EAAM,MAAOA,EAAM,GAAKA,EAAM,IAG/Eve,KAAKkf,OAASA,EAASrf,EAAQqf,SAAW3b,EAAO1D,EAAQqf,OAASA,GAI5Dlf,KAAKkf,OAASA,EAAS,EAG9B4B,EAAU9gB,KAAKoK,KAAOpK,KAAKwe,eAAehJ,GAC1C2H,EAAIvT,KACHS,MAAOyW,EAAQ,GACfxW,OAAQwW,EAAQ,GAChBK,WAAYL,EAAQ,GAAG,OAKvBD,EADErL,EAAO9E,aAAe/F,GAEvBmU,EAAMoC,EAAM9N,IAAMrI,EAAOmU,EAASgC,EAAM9N,IAAMnI,EAAQ6V,EAAQ,GAAKG,EAAQ,GAAK/B,GAAU4B,EAAQ,GAAKG,EAAQ,IAAM,GACrHnC,EAAMoC,EAAM7N,IAAMvI,EAAMgW,EAAQ,GAAKG,EAAQ,GAAK,KAKlDnC,EAAMoC,EAAM9N,IAAMrI,EAAO+V,EAAQ,GAAKG,EAAQ,GAAK,GACnDnC,EAAMoC,EAAM7N,IAAMvI,EAAMoU,EAASgC,EAAM7N,IAAMrI,EAAS8V,EAAQ,GAAKG,EAAQ,GAAK/B,GAAU4B,EAAQ,GAAKG,EAAQ,IAAM,IAKpH5E,IAEF3Z,EAAUqe,EAAM,GAAGzE,WAAW,MAC9B5Z,EAAQ0e,UAAW1e,EAAQ6a,OAC3B7a,EAAQ2e,UAAU,EAAE,EAAE,IAAK,KAG3Bf,EAAStgB,KAAKof,cAAc8B,EAAOD,EAASjE,IAC5C4D,EAAY5gB,KAAKof,cAAc8B,EAAOlhB,KAAKoK,KAAM4S,IAGjD+D,EAAMhhB,KAAK6K,EAAOkW,EAAQ,GAAK9D,IAAOjd,KAAK8K,EAAQiW,EAAQ,GAAK9D,IAChE+D,EAAMnX,IAAIgB,EAAOkW,EAAQ,IAAIlX,IAAIiB,EAAQiW,EAAQ,IAGjD9gB,KAAKqgB,YAAY3d,EAASke,GAC1Ble,EAAQ4e,UAAY/C,EAAM,GAC1B7b,EAAQ6e,OAGR7e,EAAQme,UAAUA,EAAU,GAAK7D,GAAO6D,EAAU,GAAK7D,IACvDhd,KAAKqgB,YAAY3d,EAAS4d,GAC1B5d,EAAQ4e,UAAY/C,EAAM,GAC1B7b,EAAQ6e,SAMRjB,EAAStgB,KAAKof,cAAc8B,GAG5BZ,EAAS,IAAMA,EAAO,GAAK,IAAMA,EAAO,GAAK,KAAOA,EAAO,GAC1D,IAAMA,EAAO,GAAK,IAAMA,EAAO,GAAK,IAAMA,EAAO,GAAK,MAGvDO,EAAU,GAAK3B,GAAU,UAAU1Y,KAAKgP,EAAO7E,UAC/B,IAAfjF,GAAQC,GAAW,EAAI,EAAI,EAG5BoV,EAAMnX,KACL4X,UAAYV,EAAQ,GAAG5B,EAAU,KAAO4B,EAAQ,GAAG5B,GACnDuC,UAAW,IAAIP,EAAMvQ,SAASwJ,QAAQjP,GAAU,IAChD0H,KAAMiO,EAAU,GAAMA,EAAU,GAAKa,OAAOhR,IAAehG,GAC3DmI,IAAKgO,EAAU,GAAMA,EAAU,GAAKa,OAAOhR,IAAe/F,GAC1DN,MAAOyW,EAAQ,GAAK5B,EACpB5U,OAAQwW,EAAQ,GAAK5B,IAErBtb,KAAK,SAASM,GACd,GAAIyd,GAAQjiB,EAAEM,KAGd2hB,GAAOA,EAAMtY,KAAO,OAAS,SAC5BmY,UAAYV,EAAQ,GAAG5B,EAAU,KAAO4B,EAAQ,GAAG5B,GACnD0C,KAAMtB,EACNuB,UAAWtD,EAAM,GACjBuD,SAAU5d,EACV6d,SAAU7d,IAEV8B,UAAUkZ,IAAUhb,KAGpBA,GAAKyd,EAAMrQ,KAAM2L,GACjB,SAAU,WAAmB,EAAPiC,EAAU,cAAcX,EAAM,GAAG,6CAO1Dtf,EAAO+iB,OAASvc,WAAW,WAC1BtF,EAASgd,IAAIvT,KACZwH,QAAS,eACTC,WAAY,aAEX,GAGAlO,IAAavC,GAASZ,KAAKiiB,UAAUzM,EAAQsL,IAGjDmB,UAAW,SAASzM,EAAQpL,GAC3B,IAAIpK,KAAKoa,QAAW,MAAOxZ,EAE3B,IAMC8P,GAAYwR,EANTxV,EAAO1M,KACVG,EAAWH,KAAKP,KAAKU,SACrBgd,EAAMnd,KAAKkR,QACXiR,EAAaniB,KAAKH,QAAQsK,OAE1BhH,GADWhD,EAASF,QAAQ4F,SAAS,gBAsCtC,OAjCA2P,GAASA,GAAUxV,KAAKwV,OACxB9E,EAAa8E,EAAO9E,WAGpBtG,EAAOA,GAAQpK,KAAKwe,eAAehJ,GAGnC0M,GAAY1M,EAAOpC,EAAGoC,EAAOnC,GAC1B3C,IAAehG,GAAKwX,EAAQ/C,UAG/Bzf,EAAEkE,KAAKse,EAAS,SAAShe,EAAG6Z,GAC3B,GAAIqE,GAAGtC,EAAIL,CAER1B,KAAS7S,GACXkX,EAAI1R,IAAe/F,EAAII,EAAOD,EAC9B3H,EAAUif,GAAM,MAChBjf,EAAS4Y,GAAO,IAAMqG,IAAMtY,KAAKgV,MAAM1U,EAAMsG,IAAe/F,EAAI,EAAI,GAAM,GAAKwX,IAG/EC,EAAI1V,EAAKoR,YAAYtI,EAAQuI,EAAM5d,EAASF,SAC5C6f,EAAKpT,EAAKoR,YAAYtI,EAAQuI,EAAM5d,EAAS6B,SAC7Cyd,EAAK/S,EAAKuR,aAAazI,GAEvBrS,EAAU4a,GAASjU,KAAKuY,KAAK3V,EAAKwS,OAAQhb,EAAI4b,EAAMqC,GAAc1C,EAAK2C,EAAI3C,GAAM2C;GAKnFjf,EAAUqS,EAAO9E,KAAiBtG,EAAMsG,IAAehG,EAAI,EAAI,GAG/DyS,EAAIvT,KAAM0Y,OAAQ,GAAIzP,IAAK,GAAI0P,OAAQ,GAAI3P,KAAM,GAAI4P,MAAO,KAAM5Y,IAAIzG,GAC/DA,GAGR6D,WAAY,SAAStG,EAAO4B,EAAKsS,GAYhC,QAAS6N,GAAUC,EAAWhS,EAAYiS,EAAW5E,EAAM6E,GAEvDF,IAAcvX,GAAS0X,EAAUnS,aAAeA,GAAc3D,EAAOgR,IAAS8E,EAAUF,KAAezX,EACzG2X,EAAUnS,WAAamS,EAAUnS,aAAehG,EAAIC,EAAID,EAEjDgY,IAAcvX,GAAS4B,EAAOgR,KACrC8E,EAAUnS,GAAcmS,EAAUnS,KAAgBxF,EAChD6B,EAAOgR,GAAQ,EAAIA,EAAO6E,EAAaC,EAAUnS,KAAgBqN,EAAO6E,EAAW7E,GAIvF,QAAS+E,GAAUC,EAAIhF,EAAM6E,GACzBC,EAAUE,KAAQ7X,EACpBtB,EAAImS,GAAO,IAAIgC,GAAQiF,EAAMD,GAAM5Y,EAAO4R,GAAO,IAAIgC,GAAQhR,EAAOgR,IAGpEtU,EAAQU,EAAOyY,KAAczjB,GAC1B4N,EAAOgR,IAAQ5T,EAAO4T,MAAahR,EAAOgR,GAAO5T,EAAO4T,KAEtDiF,EAAMD,GAAMjZ,KAAKuY,IAAI5Y,EAAM,GAAIA,EAAM,KAAOA,EAAM,KACtDmL,EAAImJ,IAAShR,EAAOgR,GACpBiF,EAAMjF,GAAQnd,GAGfgJ,EAAKO,EAAOyY,KAAczjB,EAAYyjB,EAAW7E,GAASiF,EAAMD,IAnClE,GAAI/iB,KAAKoa,QAAT,CAEA,GAOCjQ,GAAkBV,EAPfhJ,EAAQ6B,EAAI7B,MACfoiB,EAAY7iB,KAAKwV,OAAOM,QACxB/I,EAAS6H,EAAIxC,SACbhL,EAAS9E,EAAIzC,QAAQsD,SAAS4J,OAAO3F,OAAO/C,MAAM,KAClD4e,EAAa7b,EAAO,GACpB8b,EAAW9b,EAAO,IAAMA,EAAO,GAC/B4b,GAAUpQ,KAAMhS,EAAOiS,IAAKjS,EAAOwS,EAAG,EAAGC,EAAG,GACpCzJ,IA+BN5J,MAAKwV,OAAOjP,QAAUhD,IAExBkf,EAAUQ,EAAYvY,EAAGC,EAAGI,EAAME,GAClCwX,EAAUS,EAAUvY,EAAGD,EAAGI,EAAKE,IAG5B6X,EAAUlS,WAAalQ,EAAM+U,OAAO7E,UAAYlQ,EAAM0iB,YAAcpW,EAAO8F,KAAOpS,EAAM2iB,aAAerW,EAAO6F,OAChH5S,KAAK2gB,OAAOkC,EAAWjiB,IAKzBuJ,EAASnK,KAAKiiB,UAAUY,GAGrB1Y,EAAOqY,QAAUrjB,IAAagL,EAAOyI,MAAQzI,EAAOqY,OACpDrY,EAAOoY,SAAWpjB,IAAagL,EAAO0I,KAAO1I,EAAOoY,QACvDpY,EAAOkZ,KAAOrjB,KAAKmK,QAGhB6Y,EAAMpQ,KAAQqQ,IAAe9X,KAAW4B,EAAO6F,OAASkQ,EAAUpY,EAAGK,EAAME,IAC3E+X,EAAMnQ,IAAOqQ,IAAa/X,KAAW4B,EAAO8F,MAAQiQ,EAAUnY,EAAGG,EAAKE,GAOzEhL,KAAKkR,QAAQtH,IAAIA,GAAK5D,SAClBgd,EAAM5P,GAAK4P,EAAM3P,GAAOwP,EAAUzP,IAAMlI,GAAU8X,EAAM3P,GAAOwP,EAAUxP,IAAMnI,GAAU8X,EAAM5P,IAInGwB,EAAIhC,MAAQzI,EAAOyI,KAAK3J,OAASkB,EAAOkZ,KACvCJ,IAAe9X,GAAS6X,EAAMnQ,MAAQmQ,EAAMpQ,OAASoQ,EAAMnQ,IAAM1I,EAAOyI,KAAO5S,KAAKkf,OAAS,EAC9FtK,EAAI/B,KAAO1I,EAAO0I,IAAI5J,OAASkB,EAAOkZ,KACrCH,IAAa/X,GAAS6X,EAAMpQ,OAASoQ,EAAMpQ,OAASoQ,EAAMnQ,IAAM1I,EAAO0I,IAAM7S,KAAKkf,OAAS,EAG5Fze,EAAM2iB,WAAarW,EAAO6F,KAAMnS,EAAM0iB,UAAYpW,EAAO8F,IACzDpS,EAAM+U,OAASqN,EAAU/M,UAG1B3H,QAAS,WAERnO,KAAKP,KAAKgZ,QAAQzY,KAAKP,KAAKQ,QAASD,KAAKkK,KAGvClK,KAAKP,KAAKU,SAASgd,KACrBnd,KAAKP,KAAKU,SAASgd,IAAI3O,KAAK,KAC1BC,SAASC,MAAMD,YAKpBqN,GAAMjY,EAAQsZ,IAAM,SAAS7a,GAC5B,MAAO,IAAI2H,GAAI3H,EAAKA,EAAIzC,QAAQ6D,MAAMyZ,MAIvCrB,GAAI/N,WAAa,SAGjB+N,GAAIhY,SAAW,SAASjE,GACvB,GAAGA,EAAQ6D,OAAS,OAAS7D,GAAQ6D,MAAO,CAC3C,GAAI3B,GAAOlC,EAAQ6D,MAAMyZ,GACN,iBAATpb,KAAqBA,EAAOlC,EAAQ6D,MAAMyZ,KAAQ3H,OAAQzT,IAChE,kBAAoByE,WAAYzE,GAAKyT,UAAWzT,EAAKyT,OAASjS,KAKpEiH,EAAO2S,KACNmG,gDAAiD,WAEhDtjB,KAAKyd,SAGLzd,KAAKP,KAAKuH,cAEXuc,6BAA8B,SAAStf,GAEtCjE,KAAKoK,MAASnG,EAAIoG,MAAOpG,EAAIqG,QAC7BtK,KAAK2gB,SAGL3gB,KAAKP,KAAKuH,cAEXwc,yCAA0C,WACzCxjB,KAAK2gB,WAKPjhB,EAAE+C,OAAOc,EAAM+D,EAAKc,UACnB1E,OACCyZ,KACC3H,OAAQjS,EACR2d,MAAOtgB,EACPyJ,MAAO,EACPC,OAAQ,EACR4U,OAAQ3b,EACR4G,OAAQ,SAKRlL,OAAQC"}
languages/cpac-sv_SE.mo CHANGED
Binary file
languages/cpac-sv_SE.po CHANGED
@@ -1,13 +1,13 @@
1
  #
2
  # Translators:
3
- # Fredrik Andersson <fidde.andersson@telia.com>, 2013-2014
4
  # Tobias Schutter <info@codepress.nl>, 2013
5
  msgid ""
6
  msgstr ""
7
  "Project-Id-Version: Admin Columns\n"
8
  "Report-Msgid-Bugs-To: \n"
9
  "POT-Creation-Date: 2014-12-10 17:02+0100\n"
10
- "PO-Revision-Date: 2014-12-10 17:24+0100\n"
11
  "Last-Translator: Codepress <info@codepress.nl>\n"
12
  "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/admin-columns/language/sv_SE/)\n"
13
  "MIME-Version: 1.0\n"
@@ -15,7 +15,7 @@ msgstr ""
15
  "Content-Transfer-Encoding: 8bit\n"
16
  "Language: sv_SE\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
- "X-Generator: Poedit 1.7.1\n"
19
  "X-Poedit-Basepath: .\n"
20
  "X-Poedit-KeywordsList: __;_e\n"
21
  "X-Poedit-SourceCharset: UTF-8\n"
@@ -36,11 +36,11 @@ msgstr "Visa och redigera Advanced Custom Fields fält vid inläggets överblick
36
 
37
  #: ../classes/addons.php:141
38
  msgid "WooCommerce"
39
- msgstr ""
40
 
41
  #: ../classes/addons.php:142
42
  msgid "Enhance the products, orders and coupons overviews with new columns and inline editing."
43
- msgstr ""
44
 
45
  #: ../classes/column.php:500
46
  msgid "Thumbnail"
@@ -161,7 +161,7 @@ msgstr "ACF Fält"
161
 
162
  #: ../classes/column/acf-placeholder.php:32
163
  msgid "This feature is only available in Admin Columns Pro - Business or Developer."
164
- msgstr ""
165
 
166
  #: ../classes/column/acf-placeholder.php:35
167
  #, php-format
@@ -182,19 +182,19 @@ msgstr "Åtgärder"
182
 
183
  #: ../classes/column/actions.php:87
184
  msgid "Use icons?"
185
- msgstr ""
186
 
187
  #: ../classes/column/actions.php:87
188
  msgid "Use icons instead of text for displaying the actions."
189
- msgstr ""
190
 
191
  #: ../classes/column/actions.php:91 ../classes/column/post/permalink.php:72 ../classes/column/used-by-menu.php:137
192
  msgid "Yes"
193
- msgstr ""
194
 
195
  #: ../classes/column/actions.php:95 ../classes/column/post/permalink.php:76 ../classes/column/used-by-menu.php:141
196
  msgid "No"
197
- msgstr ""
198
 
199
  #: ../classes/column/comment/actions.php:76 ../classes/column/comment/actions.php:81
200
  msgid "Unapprove"
@@ -594,7 +594,7 @@ msgstr "Förälder"
594
 
595
  #: ../classes/column/post/path.php:19
596
  msgid "Path"
597
- msgstr ""
598
 
599
  #: ../classes/column/post/permalink.php:19
600
  msgid "Permalink"
@@ -602,11 +602,11 @@ msgstr "Permalänk"
602
 
603
  #: ../classes/column/post/permalink.php:68
604
  msgid "Link to post"
605
- msgstr ""
606
 
607
  #: ../classes/column/post/permalink.php:68
608
  msgid "This will make the permalink clickable."
609
- msgstr ""
610
 
611
  #: ../classes/column/post/ping-status.php:19
612
  msgid "Ping status"
@@ -654,7 +654,7 @@ msgstr "Klistrad"
654
 
655
  #: ../classes/column/post/title-raw.php:19
656
  msgid "Title without actions"
657
- msgstr ""
658
 
659
  #: ../classes/column/taxonomy.php:20 ../classes/column/taxonomy.php:79
660
  msgid "Taxonomy"
@@ -662,15 +662,15 @@ msgstr "Taxonomi"
662
 
663
  #: ../classes/column/used-by-menu.php:20
664
  msgid "Used by Menu"
665
- msgstr ""
666
 
667
  #: ../classes/column/used-by-menu.php:133
668
  msgid "Link to menu"
669
- msgstr ""
670
 
671
  #: ../classes/column/used-by-menu.php:133
672
  msgid "This will make the title link to the menu."
673
- msgstr ""
674
 
675
  #: ../classes/column/user/comment-count.php:19
676
  msgid "Comment Count"
@@ -925,7 +925,7 @@ msgstr "Anpassa dina Admin Columns inställningar."
925
 
926
  #: ../classes/settings.php:523
927
  msgid "Show \"Edit Columns\" button on admin screens. Default is <code>on</code>."
928
- msgstr ""
929
 
930
  #: ../classes/settings.php:530 ../classes/settings.php:660
931
  msgid "Save"
@@ -1016,43 +1016,43 @@ msgstr "Kolla <a href=\"%s\">Admin Columns Pro</a> för mer information!"
1016
 
1017
  #: ../classes/settings.php:725
1018
  msgid "Are you happy with Admin Columns?"
1019
- msgstr ""
1020
 
1021
  #: ../classes/settings.php:733
1022
  msgid "What's wrong? Need help? Let us know!"
1023
- msgstr ""
1024
 
1025
  #: ../classes/settings.php:734
1026
  msgid "Check out our extensive documentation, or you can open a support topic on WordPress.org!"
1027
- msgstr ""
1028
 
1029
  #: ../classes/settings.php:742
1030
  msgid "Docs"
1031
- msgstr ""
1032
 
1033
  #: ../classes/settings.php:747
1034
  msgid "Forums"
1035
- msgstr ""
1036
 
1037
  #: ../classes/settings.php:756
1038
  msgid "Woohoo! We're glad to hear that!"
1039
- msgstr ""
1040
 
1041
  #: ../classes/settings.php:757
1042
  msgid "We would really love it if you could show your appreciation by giving us a rating on WordPress.org or tweet about Admin Columns!"
1043
- msgstr ""
1044
 
1045
  #: ../classes/settings.php:761
1046
  msgid "Rate"
1047
- msgstr ""
1048
 
1049
  #: ../classes/settings.php:772
1050
  msgid "Tweet"
1051
- msgstr ""
1052
 
1053
  #: ../classes/settings.php:782
1054
  msgid "Buy Pro"
1055
- msgstr ""
1056
 
1057
  #: ../classes/settings.php:794
1058
  msgid "Support"
@@ -1131,9 +1131,9 @@ msgstr "Användare"
1131
 
1132
  #: ../classes/upgrade.php:62
1133
  msgid ""
1134
- "<strong>Important:</strong> We&#39;ve noticed that you&#39;re using the <em>Pro add-on</em>, which is no longer supported by Admin Columns 2.2+. However, a free license of <strong>Admin Columns Pro</strong> <a href="
1135
- "\"http://www.admincolumns.com/pro-addon-information/\" target=\"_blank\">is available</a>, which features a bunch of cool new features, including Direct Inline Editing!"
1136
- msgstr ""
1137
 
1138
  #: ../classes/upgrade.php:95
1139
  msgid "Upgrade"
1
  #
2
  # Translators:
3
+ # Fredrik Andersson <fidde.andersson@telia.com>, 2013-2015
4
  # Tobias Schutter <info@codepress.nl>, 2013
5
  msgid ""
6
  msgstr ""
7
  "Project-Id-Version: Admin Columns\n"
8
  "Report-Msgid-Bugs-To: \n"
9
  "POT-Creation-Date: 2014-12-10 17:02+0100\n"
10
+ "PO-Revision-Date: 2015-01-30 16:20+0100\n"
11
  "Last-Translator: Codepress <info@codepress.nl>\n"
12
  "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/admin-columns/language/sv_SE/)\n"
13
  "MIME-Version: 1.0\n"
15
  "Content-Transfer-Encoding: 8bit\n"
16
  "Language: sv_SE\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+ "X-Generator: Poedit 1.7.3\n"
19
  "X-Poedit-Basepath: .\n"
20
  "X-Poedit-KeywordsList: __;_e\n"
21
  "X-Poedit-SourceCharset: UTF-8\n"
36
 
37
  #: ../classes/addons.php:141
38
  msgid "WooCommerce"
39
+ msgstr "WooCommerce"
40
 
41
  #: ../classes/addons.php:142
42
  msgid "Enhance the products, orders and coupons overviews with new columns and inline editing."
43
+ msgstr "Förbättra de produkter, ordrar och kupongers översikter med nya kolumner och snabbredigering."
44
 
45
  #: ../classes/column.php:500
46
  msgid "Thumbnail"
161
 
162
  #: ../classes/column/acf-placeholder.php:32
163
  msgid "This feature is only available in Admin Columns Pro - Business or Developer."
164
+ msgstr "Den här funktionen är endast tillgänglig i Admin Columns Pro - Företag eller utvecklare."
165
 
166
  #: ../classes/column/acf-placeholder.php:35
167
  #, php-format
182
 
183
  #: ../classes/column/actions.php:87
184
  msgid "Use icons?"
185
+ msgstr "Använda ikoner?"
186
 
187
  #: ../classes/column/actions.php:87
188
  msgid "Use icons instead of text for displaying the actions."
189
+ msgstr "Använda ikoner istället för text för att visa åtgärder."
190
 
191
  #: ../classes/column/actions.php:91 ../classes/column/post/permalink.php:72 ../classes/column/used-by-menu.php:137
192
  msgid "Yes"
193
+ msgstr "Ja"
194
 
195
  #: ../classes/column/actions.php:95 ../classes/column/post/permalink.php:76 ../classes/column/used-by-menu.php:141
196
  msgid "No"
197
+ msgstr "Nej"
198
 
199
  #: ../classes/column/comment/actions.php:76 ../classes/column/comment/actions.php:81
200
  msgid "Unapprove"
594
 
595
  #: ../classes/column/post/path.php:19
596
  msgid "Path"
597
+ msgstr "Sökväg"
598
 
599
  #: ../classes/column/post/permalink.php:19
600
  msgid "Permalink"
602
 
603
  #: ../classes/column/post/permalink.php:68
604
  msgid "Link to post"
605
+ msgstr "Länka till inlägg"
606
 
607
  #: ../classes/column/post/permalink.php:68
608
  msgid "This will make the permalink clickable."
609
+ msgstr "Detta gör länken klickbar."
610
 
611
  #: ../classes/column/post/ping-status.php:19
612
  msgid "Ping status"
654
 
655
  #: ../classes/column/post/title-raw.php:19
656
  msgid "Title without actions"
657
+ msgstr "Titel utan åtgärder"
658
 
659
  #: ../classes/column/taxonomy.php:20 ../classes/column/taxonomy.php:79
660
  msgid "Taxonomy"
662
 
663
  #: ../classes/column/used-by-menu.php:20
664
  msgid "Used by Menu"
665
+ msgstr "Använd av meny"
666
 
667
  #: ../classes/column/used-by-menu.php:133
668
  msgid "Link to menu"
669
+ msgstr "Länk till meny"
670
 
671
  #: ../classes/column/used-by-menu.php:133
672
  msgid "This will make the title link to the menu."
673
+ msgstr "Detta gör att titeln länkas till menyn."
674
 
675
  #: ../classes/column/user/comment-count.php:19
676
  msgid "Comment Count"
925
 
926
  #: ../classes/settings.php:523
927
  msgid "Show \"Edit Columns\" button on admin screens. Default is <code>on</code>."
928
+ msgstr "Visa \"Redigera kolumner\" knappen i adminmenyn. Standard är <code>på</code>."
929
 
930
  #: ../classes/settings.php:530 ../classes/settings.php:660
931
  msgid "Save"
1016
 
1017
  #: ../classes/settings.php:725
1018
  msgid "Are you happy with Admin Columns?"
1019
+ msgstr "Är du nöjd med Admin Columns?"
1020
 
1021
  #: ../classes/settings.php:733
1022
  msgid "What's wrong? Need help? Let us know!"
1023
+ msgstr "Vad är fel? Behöver hjälp? Låt oss veta!"
1024
 
1025
  #: ../classes/settings.php:734
1026
  msgid "Check out our extensive documentation, or you can open a support topic on WordPress.org!"
1027
+ msgstr "Kolla in vår omfattande dokumentation, eller så kan du öppna ett support tråd på WordPress.org!"
1028
 
1029
  #: ../classes/settings.php:742
1030
  msgid "Docs"
1031
+ msgstr "Dokumentation"
1032
 
1033
  #: ../classes/settings.php:747
1034
  msgid "Forums"
1035
+ msgstr "Forum"
1036
 
1037
  #: ../classes/settings.php:756
1038
  msgid "Woohoo! We're glad to hear that!"
1039
+ msgstr "Woohoo! Vi är glada att höra det!"
1040
 
1041
  #: ../classes/settings.php:757
1042
  msgid "We would really love it if you could show your appreciation by giving us a rating on WordPress.org or tweet about Admin Columns!"
1043
+ msgstr "Vi skulle verkligen älska om du kunde visa din uppskattning genom att ge oss ett omdöme på WordPress.org eller twittra om Admin Columns!"
1044
 
1045
  #: ../classes/settings.php:761
1046
  msgid "Rate"
1047
+ msgstr "Omdöme"
1048
 
1049
  #: ../classes/settings.php:772
1050
  msgid "Tweet"
1051
+ msgstr "Twittra"
1052
 
1053
  #: ../classes/settings.php:782
1054
  msgid "Buy Pro"
1055
+ msgstr "Köp Pro"
1056
 
1057
  #: ../classes/settings.php:794
1058
  msgid "Support"
1131
 
1132
  #: ../classes/upgrade.php:62
1133
  msgid ""
1134
+ "<strong>Important:</strong> We&#39;ve noticed that you&#39;re using the <em>Pro add-on</em>, which is no longer supported by Admin Columns 2.2+. However, a free license of <strong>Admin Columns Pro</strong> <a href=\"http://www.admincolumns.com/pro-addon-information/\" target=\"_blank\">is available</a>, which features a bunch of cool new features, including Direct "
1135
+ "Inline Editing!"
1136
+ msgstr "<strong>Viktigt:</strong> Vi&#39; har noterat att du använder <em>Pro tillägget</em>, vilket inte längre stöds av Admin Columns 2.2+. Dock, en fri licens av <strong>Admin Columns Pro</strong> <a href=\"http://www.admincolumns.com/pro-addon-information/\" target=\"_blank\">är tillgänglig</a>, som har en massa häftiga nya funktioner och inkluderar snabbredigering!"
1137
 
1138
  #: ../classes/upgrade.php:95
1139
  msgid "Upgrade"
languages/cpac.mo CHANGED
Binary file
languages/cpac.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Codepress Admin Columns\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2014-12-20 00:05+0100\n"
6
- "PO-Revision-Date: 2014-12-20 00:05+0100\n"
7
  "Last-Translator: Codepress <info@codepress.nl>\n"
8
  "Language-Team: Codepress <info@codepress.nl>\n"
9
  "Language: en_GB\n"
@@ -13,13 +13,13 @@ msgstr ""
13
  "X-Poedit-KeywordsList: __;_e\n"
14
  "X-Poedit-Basepath: .\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Generator: Poedit 1.7.1\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPath-1: ..\n"
20
 
21
  #: ../classes/addons.php:110
22
- msgid "Third party plugin integration"
23
  msgstr ""
24
 
25
  #: ../classes/addons.php:135
@@ -42,163 +42,167 @@ msgid ""
42
  "inline editing."
43
  msgstr ""
44
 
45
- #: ../classes/column.php:500
46
  msgid "Thumbnail"
47
  msgstr ""
48
 
49
- #: ../classes/column.php:501
50
  msgid "Medium"
51
  msgstr ""
52
 
53
- #: ../classes/column.php:502
54
  msgid "Large"
55
  msgstr ""
56
 
57
- #: ../classes/column.php:503
58
  msgid "Full"
59
  msgstr ""
60
 
61
- #: ../classes/column.php:902
62
  msgid "Date Format"
63
  msgstr ""
64
 
65
- #: ../classes/column.php:903
66
  msgid "This will determine how the date will be displayed."
67
  msgstr ""
68
 
69
- #: ../classes/column.php:909
70
  msgid "Example:"
71
  msgstr ""
72
 
73
- #: ../classes/column.php:911
74
  #, php-format
75
  msgid ""
76
  "Leave empty for WordPress date format, change your <a href=\"%s\">default "
77
  "date format here</a>."
78
  msgstr ""
79
 
80
- #: ../classes/column.php:912
81
  msgid "Documentation on date and time formatting."
82
  msgstr ""
83
 
84
- #: ../classes/column.php:926
85
  msgid "Excerpt length"
86
  msgstr ""
87
 
88
- #: ../classes/column.php:927
89
  msgid "Number of words"
90
  msgstr ""
91
 
92
- #: ../classes/column.php:945
93
  msgid "Preview size"
94
  msgstr ""
95
 
96
- #: ../classes/column.php:962 ../classes/storage_model.php:541
97
  msgid "Custom"
98
  msgstr ""
99
 
100
- #: ../classes/column.php:965
101
  msgid "width"
102
  msgstr ""
103
 
104
- #: ../classes/column.php:968
105
  msgid "height"
106
  msgstr ""
107
 
108
- #: ../classes/column.php:982
109
  msgid "Before"
110
  msgstr ""
111
 
112
- #: ../classes/column.php:982
113
  msgid "This text will appear before the custom field value."
114
  msgstr ""
115
 
116
- #: ../classes/column.php:988
117
  msgid "After"
118
  msgstr ""
119
 
120
- #: ../classes/column.php:988
121
  msgid "This text will appear after the custom field value."
122
  msgstr ""
123
 
124
- #: ../classes/column.php:1002
125
  msgid "Display Name"
126
  msgstr ""
127
 
128
- #: ../classes/column.php:1003
129
  msgid "First Name"
130
  msgstr ""
131
 
132
- #: ../classes/column.php:1004
133
  msgid "Last Name"
134
  msgstr ""
135
 
136
- #: ../classes/column.php:1005 ../classes/column/user/nickname.php:19
137
  msgid "Nickname"
138
  msgstr ""
139
 
140
- #: ../classes/column.php:1006
141
  msgid "User Login"
142
  msgstr ""
143
 
144
- #: ../classes/column.php:1007
145
  msgid "User Email"
146
  msgstr ""
147
 
148
- #: ../classes/column.php:1008 ../classes/column/user/ID.php:19
149
  msgid "User ID"
150
  msgstr ""
151
 
152
- #: ../classes/column.php:1009
153
  msgid "First and Last Name"
154
  msgstr ""
155
 
156
- #: ../classes/column.php:1014
157
  msgid "Display format"
158
  msgstr ""
159
 
160
- #: ../classes/column.php:1014
161
  msgid "This is the format of the author name."
162
  msgstr ""
163
 
164
- #: ../classes/column.php:1112 ../classes/column/comment/actions.php:99
165
- #: ../classes/column/link/actions.php:48 ../classes/column/post/actions.php:31
166
- #: ../classes/column/user/actions.php:69
 
 
167
  msgid "Edit"
168
  msgstr ""
169
 
170
- #: ../classes/column.php:1113 ../classes/column.php:1191
 
 
 
 
171
  #: ../classes/column/user/actions.php:77
172
  msgid "Remove"
173
  msgstr ""
174
 
175
- #: ../classes/column.php:1131
176
  msgid "Type"
177
  msgstr ""
178
 
179
- #: ../classes/column.php:1131
180
  msgid "Choose a column type."
181
  msgstr ""
182
 
183
- #: ../classes/column.php:1131 ../classes/column/comment/ID.php:19
184
- #: ../classes/column/link/ID.php:19 ../classes/column/media/ID.php:19
185
- #: ../classes/column/post/ID.php:19
186
- msgid "ID"
187
  msgstr ""
188
 
189
- #: ../classes/column.php:1141
190
  msgid "Label"
191
  msgstr ""
192
 
193
- #: ../classes/column.php:1141
194
  msgid "This is the name which will appear as the column header."
195
  msgstr ""
196
 
197
- #: ../classes/column.php:1148 ../classes/column/media/width.php:19
198
  msgid "Width"
199
  msgstr ""
200
 
201
- #: ../classes/column.php:1150 ../classes/column.php:1151
202
  msgid "default"
203
  msgstr ""
204
 
@@ -230,30 +234,33 @@ msgid "Find out more"
230
  msgstr ""
231
 
232
  #: ../classes/column/actions.php:29 ../classes/column/comment/actions.php:19
233
- #: ../classes/column/link/actions.php:19
234
- #: ../classes/column/media/actions.php:20
235
- #: ../classes/column/user/actions.php:19
236
  msgid "Actions"
237
  msgstr ""
238
 
239
- #: ../classes/column/actions.php:87
240
  msgid "Use icons?"
241
  msgstr ""
242
 
243
- #: ../classes/column/actions.php:87
244
  msgid "Use icons instead of text for displaying the actions."
245
  msgstr ""
246
 
247
- #: ../classes/column/actions.php:91 ../classes/column/post/permalink.php:72
248
  #: ../classes/column/used-by-menu.php:137
249
  msgid "Yes"
250
  msgstr ""
251
 
252
- #: ../classes/column/actions.php:95 ../classes/column/post/permalink.php:76
253
  #: ../classes/column/used-by-menu.php:141
254
  msgid "No"
255
  msgstr ""
256
 
 
 
 
 
 
257
  #: ../classes/column/comment/actions.php:76
258
  #: ../classes/column/comment/actions.php:81
259
  msgid "Unapprove"
@@ -265,17 +272,20 @@ msgid "Approve"
265
  msgstr ""
266
 
267
  #: ../classes/column/comment/actions.php:89
268
- #: ../classes/column/post/actions.php:39 ../classes/settings.php:665
 
269
  msgid "Restore"
270
  msgstr ""
271
 
272
  #: ../classes/column/comment/actions.php:93
273
- #: ../classes/column/post/actions.php:43
 
 
274
  msgid "Delete Permanently"
275
  msgstr ""
276
 
277
  #: ../classes/column/comment/actions.php:100
278
- #: ../classes/column/post/actions.php:34
279
  msgid "Quick&nbsp;Edit"
280
  msgstr ""
281
 
@@ -343,12 +353,12 @@ msgid "Word count"
343
  msgstr ""
344
 
345
  #: ../classes/column/custom-field.php:23
346
- #: ../classes/column/custom-field.php:378 ../classes/settings.php:305
347
  msgid "Custom Field"
348
  msgstr ""
349
 
350
  #: ../classes/column/custom-field.php:94 ../classes/settings.php:310
351
- #: ../classes/storage_model.php:542
352
  msgid "Default"
353
  msgstr ""
354
 
@@ -394,19 +404,19 @@ msgstr ""
394
  msgid "Term Name (Term ID's)"
395
  msgstr ""
396
 
397
- #: ../classes/column/custom-field.php:378
398
  msgid "Select your custom field."
399
  msgstr ""
400
 
401
- #: ../classes/column/custom-field.php:388
402
  msgid "No custom fields available."
403
  msgstr ""
404
 
405
- #: ../classes/column/custom-field.php:395
406
  msgid "Field Type"
407
  msgstr ""
408
 
409
- #: ../classes/column/custom-field.php:395
410
  msgid "This will determine how the value will be displayed."
411
  msgstr ""
412
 
@@ -447,6 +457,31 @@ msgstr ""
447
  msgid "Target"
448
  msgstr ""
449
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
450
  #: ../classes/column/media/alternate-text.php:19
451
  msgid "Alt"
452
  msgstr ""
@@ -517,9 +552,26 @@ msgid "File size"
517
  msgstr ""
518
 
519
  #: ../classes/column/media/full-path.php:19
 
520
  msgid "Full path"
521
  msgstr ""
522
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
523
  #: ../classes/column/media/height.php:19
524
  msgid "Height"
525
  msgstr ""
@@ -528,50 +580,35 @@ msgstr ""
528
  msgid "Mime type"
529
  msgstr ""
530
 
531
- #: ../classes/column/post/actions.php:31
532
  msgid "Edit this item"
533
  msgstr ""
534
 
535
- #: ../classes/column/post/actions.php:34
536
  msgid "Edit this item inline"
537
  msgstr ""
538
 
539
- #: ../classes/column/post/actions.php:39
540
  msgid "Restore this item from the Trash"
541
  msgstr ""
542
 
543
- #: ../classes/column/post/actions.php:41
544
  msgid "Move this item to the Trash"
545
  msgstr ""
546
 
547
- #: ../classes/column/post/actions.php:41
548
- #: ../classes/column/post/comment-count.php:38
549
- #: ../classes/column/post/status.php:35
550
- msgid "Trash"
551
- msgstr ""
552
-
553
- #: ../classes/column/post/actions.php:43
554
  msgid "Delete this item permanently"
555
  msgstr ""
556
 
557
- #: ../classes/column/post/actions.php:48
558
  #, php-format
559
  msgid "Preview &#8220;%s&#8221;"
560
  msgstr ""
561
 
562
- #: ../classes/column/post/actions.php:48
563
  msgid "Preview"
564
  msgstr ""
565
 
566
- #: ../classes/column/post/actions.php:50
567
- #, php-format
568
- msgid "View &#8220;%s&#8221;"
569
- msgstr ""
570
-
571
- #: ../classes/column/post/actions.php:50 ../classes/storage_model.php:753
572
- msgid "View"
573
- msgstr ""
574
-
575
  #: ../classes/column/post/attachment-count.php:19
576
  msgid "No. of Attachments"
577
  msgstr ""
@@ -613,6 +650,22 @@ msgstr ""
613
  msgid "Select which comment status you like to display."
614
  msgstr ""
615
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
616
  #: ../classes/column/post/featured-image.php:19
617
  msgid "Featured Image"
618
  msgstr ""
@@ -705,7 +758,7 @@ msgstr ""
705
  msgid "Title without actions"
706
  msgstr ""
707
 
708
- #: ../classes/column/taxonomy.php:20 ../classes/column/taxonomy.php:79
709
  msgid "Taxonomy"
710
  msgstr ""
711
 
@@ -725,6 +778,10 @@ msgstr ""
725
  msgid "Comment Count"
726
  msgstr ""
727
 
 
 
 
 
728
  #: ../classes/column/user/first-name.php:19
729
  msgid "First name"
730
  msgstr ""
@@ -745,6 +802,10 @@ msgstr ""
745
  msgid "Registered"
746
  msgstr ""
747
 
 
 
 
 
748
  #: ../classes/column/user/url.php:19
749
  msgid "Url"
750
  msgstr ""
@@ -1011,7 +1072,7 @@ msgid ""
1011
  "Show \"Edit Columns\" button on admin screens. Default is <code>on</code>."
1012
  msgstr ""
1013
 
1014
- #: ../classes/settings.php:530 ../classes/settings.php:660
1015
  msgid "Save"
1016
  msgstr ""
1017
 
@@ -1033,7 +1094,7 @@ msgid ""
1033
  "undone. \\'OK\\' to delete, \\'Cancel\\' to stop"
1034
  msgstr ""
1035
 
1036
- #: ../classes/settings.php:599 ../codepress-admin-columns.php:326
1037
  msgid "Settings"
1038
  msgstr ""
1039
 
@@ -1041,174 +1102,174 @@ msgstr ""
1041
  msgid "Add-ons"
1042
  msgstr ""
1043
 
1044
- #: ../classes/settings.php:625
1045
  msgid "Posttypes"
1046
  msgstr ""
1047
 
1048
- #: ../classes/settings.php:626
1049
  msgid "Others"
1050
  msgstr ""
1051
 
1052
- #: ../classes/settings.php:627
1053
  msgid "Taxonomies"
1054
  msgstr ""
1055
 
1056
- #: ../classes/settings.php:646
1057
  #, php-format
1058
  msgid ""
1059
  "The columns for %s are set up via PHP and can therefore not be edited in the "
1060
  "admin panel."
1061
  msgstr ""
1062
 
1063
- #: ../classes/settings.php:656
1064
  msgid "Store settings"
1065
  msgstr ""
1066
 
1067
- #: ../classes/settings.php:660
1068
  msgid "Update"
1069
  msgstr ""
1070
 
1071
- #: ../classes/settings.php:664
1072
  #, php-format
1073
  msgid ""
1074
  "Warning! The %s columns data will be deleted. This cannot be undone. \\'OK"
1075
  "\\' to delete, \\'Cancel\\' to stop"
1076
  msgstr ""
1077
 
1078
- #: ../classes/settings.php:665
1079
  msgid "columns"
1080
  msgstr ""
1081
 
1082
- #: ../classes/settings.php:684
1083
  msgid "Get Admin Columns Pro"
1084
  msgstr ""
1085
 
1086
- #: ../classes/settings.php:688
1087
  msgid "Add Sorting"
1088
  msgstr ""
1089
 
1090
- #: ../classes/settings.php:689
1091
  msgid "Add Filtering"
1092
  msgstr ""
1093
 
1094
- #: ../classes/settings.php:690
1095
  msgid "Add Import/Export"
1096
  msgstr ""
1097
 
1098
- #: ../classes/settings.php:691
1099
  msgid "Add Direct Editing"
1100
  msgstr ""
1101
 
1102
- #: ../classes/settings.php:694
1103
  #, php-format
1104
  msgid "Check out <a href=\"%s\">Admin Columns Pro</a> for more details!"
1105
  msgstr ""
1106
 
1107
- #: ../classes/settings.php:725
1108
  msgid "Are you happy with Admin Columns?"
1109
  msgstr ""
1110
 
1111
- #: ../classes/settings.php:733
1112
  msgid "What's wrong? Need help? Let us know!"
1113
  msgstr ""
1114
 
1115
- #: ../classes/settings.php:734
1116
  msgid ""
1117
  "Check out our extensive documentation, or you can open a support topic on "
1118
  "WordPress.org!"
1119
  msgstr ""
1120
 
1121
- #: ../classes/settings.php:742
1122
  msgid "Docs"
1123
  msgstr ""
1124
 
1125
- #: ../classes/settings.php:747
1126
  msgid "Forums"
1127
  msgstr ""
1128
 
1129
- #: ../classes/settings.php:756
1130
  msgid "Woohoo! We're glad to hear that!"
1131
  msgstr ""
1132
 
1133
- #: ../classes/settings.php:757
1134
  msgid ""
1135
  "We would really love it if you could show your appreciation by giving us a "
1136
  "rating on WordPress.org or tweet about Admin Columns!"
1137
  msgstr ""
1138
 
1139
- #: ../classes/settings.php:761
1140
  msgid "Rate"
1141
  msgstr ""
1142
 
1143
- #: ../classes/settings.php:772
1144
  msgid "Tweet"
1145
  msgstr ""
1146
 
1147
- #: ../classes/settings.php:782
1148
  msgid "Buy Pro"
1149
  msgstr ""
1150
 
1151
- #: ../classes/settings.php:794
1152
  msgid "Support"
1153
  msgstr ""
1154
 
1155
- #: ../classes/settings.php:797
1156
  msgid "Check the <strong>Help</strong> section in the top-right screen."
1157
  msgstr ""
1158
 
1159
- #: ../classes/settings.php:800
1160
  #, php-format
1161
  msgid ""
1162
  "For full documentation, bug reports, feature suggestions and other tips <a "
1163
  "href='%s'>visit the Admin Columns website</a>"
1164
  msgstr ""
1165
 
1166
- #: ../classes/settings.php:829
1167
  msgid "Drag and drop to reorder"
1168
  msgstr ""
1169
 
1170
- #: ../classes/settings.php:832
1171
  msgid "Add Column"
1172
  msgstr ""
1173
 
1174
- #: ../classes/settings.php:908
1175
  msgid "Active"
1176
  msgstr ""
1177
 
1178
- #: ../classes/settings.php:909
1179
  msgid "Deactivate"
1180
  msgstr ""
1181
 
1182
- #: ../classes/settings.php:916
1183
  msgid "Installed"
1184
  msgstr ""
1185
 
1186
- #: ../classes/settings.php:917
1187
  msgid "Activate"
1188
  msgstr ""
1189
 
1190
- #: ../classes/settings.php:931
1191
  msgid "Download & Install"
1192
  msgstr ""
1193
 
1194
- #: ../classes/settings.php:936
1195
  msgid "Get this add-on"
1196
  msgstr ""
1197
 
1198
- #: ../classes/storage_model.php:213
1199
  msgid "settings succesfully restored."
1200
  msgstr ""
1201
 
1202
- #: ../classes/storage_model.php:229
1203
  msgid "No columns settings available."
1204
  msgstr ""
1205
 
1206
- #: ../classes/storage_model.php:250
1207
  #, php-format
1208
  msgid "You are trying to store the same settings for %s."
1209
  msgstr ""
1210
 
1211
- #: ../classes/storage_model.php:254
1212
  #, php-format
1213
  msgid "Settings for %s updated succesfully."
1214
  msgstr ""
@@ -1289,6 +1350,6 @@ msgid ""
1289
  "on the support forum."
1290
  msgstr ""
1291
 
1292
- #: ../codepress-admin-columns.php:390
1293
  msgid "Edit columns"
1294
  msgstr ""
2
  msgstr ""
3
  "Project-Id-Version: Codepress Admin Columns\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2015-02-23 10:18+0100\n"
6
+ "PO-Revision-Date: 2015-02-23 10:18+0100\n"
7
  "Last-Translator: Codepress <info@codepress.nl>\n"
8
  "Language-Team: Codepress <info@codepress.nl>\n"
9
  "Language: en_GB\n"
13
  "X-Poedit-KeywordsList: __;_e\n"
14
  "X-Poedit-Basepath: .\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Generator: Poedit 1.7.4\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPath-1: ..\n"
20
 
21
  #: ../classes/addons.php:110
22
+ msgid "Plugins"
23
  msgstr ""
24
 
25
  #: ../classes/addons.php:135
42
  "inline editing."
43
  msgstr ""
44
 
45
+ #: ../classes/column.php:567
46
  msgid "Thumbnail"
47
  msgstr ""
48
 
49
+ #: ../classes/column.php:568
50
  msgid "Medium"
51
  msgstr ""
52
 
53
+ #: ../classes/column.php:569
54
  msgid "Large"
55
  msgstr ""
56
 
57
+ #: ../classes/column.php:570
58
  msgid "Full"
59
  msgstr ""
60
 
61
+ #: ../classes/column.php:1002
62
  msgid "Date Format"
63
  msgstr ""
64
 
65
+ #: ../classes/column.php:1003
66
  msgid "This will determine how the date will be displayed."
67
  msgstr ""
68
 
69
+ #: ../classes/column.php:1009
70
  msgid "Example:"
71
  msgstr ""
72
 
73
+ #: ../classes/column.php:1011
74
  #, php-format
75
  msgid ""
76
  "Leave empty for WordPress date format, change your <a href=\"%s\">default "
77
  "date format here</a>."
78
  msgstr ""
79
 
80
+ #: ../classes/column.php:1012
81
  msgid "Documentation on date and time formatting."
82
  msgstr ""
83
 
84
+ #: ../classes/column.php:1026
85
  msgid "Excerpt length"
86
  msgstr ""
87
 
88
+ #: ../classes/column.php:1027
89
  msgid "Number of words"
90
  msgstr ""
91
 
92
+ #: ../classes/column.php:1045
93
  msgid "Preview size"
94
  msgstr ""
95
 
96
+ #: ../classes/column.php:1062 ../classes/storage_model.php:573
97
  msgid "Custom"
98
  msgstr ""
99
 
100
+ #: ../classes/column.php:1065
101
  msgid "width"
102
  msgstr ""
103
 
104
+ #: ../classes/column.php:1068
105
  msgid "height"
106
  msgstr ""
107
 
108
+ #: ../classes/column.php:1080
109
  msgid "Before"
110
  msgstr ""
111
 
112
+ #: ../classes/column.php:1080
113
  msgid "This text will appear before the custom field value."
114
  msgstr ""
115
 
116
+ #: ../classes/column.php:1081
117
  msgid "After"
118
  msgstr ""
119
 
120
+ #: ../classes/column.php:1081
121
  msgid "This text will appear after the custom field value."
122
  msgstr ""
123
 
124
+ #: ../classes/column.php:1090
125
  msgid "Display Name"
126
  msgstr ""
127
 
128
+ #: ../classes/column.php:1091
129
  msgid "First Name"
130
  msgstr ""
131
 
132
+ #: ../classes/column.php:1092
133
  msgid "Last Name"
134
  msgstr ""
135
 
136
+ #: ../classes/column.php:1093 ../classes/column/user/nickname.php:19
137
  msgid "Nickname"
138
  msgstr ""
139
 
140
+ #: ../classes/column.php:1094
141
  msgid "User Login"
142
  msgstr ""
143
 
144
+ #: ../classes/column.php:1095
145
  msgid "User Email"
146
  msgstr ""
147
 
148
+ #: ../classes/column.php:1096 ../classes/column/user/ID.php:19
149
  msgid "User ID"
150
  msgstr ""
151
 
152
+ #: ../classes/column.php:1097
153
  msgid "First and Last Name"
154
  msgstr ""
155
 
156
+ #: ../classes/column.php:1100
157
  msgid "Display format"
158
  msgstr ""
159
 
160
+ #: ../classes/column.php:1100
161
  msgid "This is the format of the author name."
162
  msgstr ""
163
 
164
+ #: ../classes/column.php:1230 ../classes/column/comment/actions.php:99
165
+ #: ../classes/column/link/actions.php:48
166
+ #: ../classes/column/media/actions.php:25
167
+ #: ../classes/column/media/actions.php:39
168
+ #: ../classes/column/post/actions.php:32 ../classes/column/user/actions.php:69
169
  msgid "Edit"
170
  msgstr ""
171
 
172
+ #: ../classes/column.php:1232 ../classes/column.php:1313
173
+ msgid "Clone"
174
+ msgstr ""
175
+
176
+ #: ../classes/column.php:1234 ../classes/column.php:1315
177
  #: ../classes/column/user/actions.php:77
178
  msgid "Remove"
179
  msgstr ""
180
 
181
+ #: ../classes/column.php:1252
182
  msgid "Type"
183
  msgstr ""
184
 
185
+ #: ../classes/column.php:1252
186
  msgid "Choose a column type."
187
  msgstr ""
188
 
189
+ #: ../classes/column.php:1252
190
+ msgid "Name"
 
 
191
  msgstr ""
192
 
193
+ #: ../classes/column.php:1262
194
  msgid "Label"
195
  msgstr ""
196
 
197
+ #: ../classes/column.php:1262
198
  msgid "This is the name which will appear as the column header."
199
  msgstr ""
200
 
201
+ #: ../classes/column.php:1269 ../classes/column/media/width.php:19
202
  msgid "Width"
203
  msgstr ""
204
 
205
+ #: ../classes/column.php:1271 ../classes/column.php:1272
206
  msgid "default"
207
  msgstr ""
208
 
234
  msgstr ""
235
 
236
  #: ../classes/column/actions.php:29 ../classes/column/comment/actions.php:19
237
+ #: ../classes/column/link/actions.php:19 ../classes/column/user/actions.php:19
 
 
238
  msgid "Actions"
239
  msgstr ""
240
 
241
+ #: ../classes/column/actions.php:96
242
  msgid "Use icons?"
243
  msgstr ""
244
 
245
+ #: ../classes/column/actions.php:96
246
  msgid "Use icons instead of text for displaying the actions."
247
  msgstr ""
248
 
249
+ #: ../classes/column/actions.php:100 ../classes/column/post/permalink.php:72
250
  #: ../classes/column/used-by-menu.php:137
251
  msgid "Yes"
252
  msgstr ""
253
 
254
+ #: ../classes/column/actions.php:104 ../classes/column/post/permalink.php:76
255
  #: ../classes/column/used-by-menu.php:141
256
  msgid "No"
257
  msgstr ""
258
 
259
+ #: ../classes/column/comment/ID.php:19 ../classes/column/link/ID.php:19
260
+ #: ../classes/column/media/ID.php:19 ../classes/column/post/ID.php:19
261
+ msgid "ID"
262
+ msgstr ""
263
+
264
  #: ../classes/column/comment/actions.php:76
265
  #: ../classes/column/comment/actions.php:81
266
  msgid "Unapprove"
272
  msgstr ""
273
 
274
  #: ../classes/column/comment/actions.php:89
275
+ #: ../classes/column/media/actions.php:42
276
+ #: ../classes/column/post/actions.php:40 ../classes/settings.php:670
277
  msgid "Restore"
278
  msgstr ""
279
 
280
  #: ../classes/column/comment/actions.php:93
281
+ #: ../classes/column/media/actions.php:31
282
+ #: ../classes/column/media/actions.php:47
283
+ #: ../classes/column/post/actions.php:44
284
  msgid "Delete Permanently"
285
  msgstr ""
286
 
287
  #: ../classes/column/comment/actions.php:100
288
+ #: ../classes/column/post/actions.php:35
289
  msgid "Quick&nbsp;Edit"
290
  msgstr ""
291
 
353
  msgstr ""
354
 
355
  #: ../classes/column/custom-field.php:23
356
+ #: ../classes/column/custom-field.php:388 ../classes/settings.php:305
357
  msgid "Custom Field"
358
  msgstr ""
359
 
360
  #: ../classes/column/custom-field.php:94 ../classes/settings.php:310
361
+ #: ../classes/storage_model.php:574
362
  msgid "Default"
363
  msgstr ""
364
 
404
  msgid "Term Name (Term ID's)"
405
  msgstr ""
406
 
407
+ #: ../classes/column/custom-field.php:388
408
  msgid "Select your custom field."
409
  msgstr ""
410
 
411
+ #: ../classes/column/custom-field.php:398
412
  msgid "No custom fields available."
413
  msgstr ""
414
 
415
+ #: ../classes/column/custom-field.php:405
416
  msgid "Field Type"
417
  msgstr ""
418
 
419
+ #: ../classes/column/custom-field.php:405
420
  msgid "This will determine how the value will be displayed."
421
  msgstr ""
422
 
457
  msgid "Target"
458
  msgstr ""
459
 
460
+ #: ../classes/column/media/actions.php:28
461
+ #: ../classes/column/media/actions.php:44
462
+ #: ../classes/column/post/actions.php:42
463
+ #: ../classes/column/post/comment-count.php:38
464
+ #: ../classes/column/post/status.php:35
465
+ msgid "Trash"
466
+ msgstr ""
467
+
468
+ #: ../classes/column/media/actions.php:33
469
+ #: ../classes/column/media/actions.php:52
470
+ #: ../classes/column/post/actions.php:51
471
+ #, php-format
472
+ msgid "View &#8220;%s&#8221;"
473
+ msgstr ""
474
+
475
+ #: ../classes/column/media/actions.php:33
476
+ #: ../classes/column/media/actions.php:52
477
+ #: ../classes/column/post/actions.php:51 ../classes/storage_model.php:783
478
+ msgid "View"
479
+ msgstr ""
480
+
481
+ #: ../classes/column/media/actions.php:35
482
+ msgid "Attach"
483
+ msgstr ""
484
+
485
  #: ../classes/column/media/alternate-text.php:19
486
  msgid "Alt"
487
  msgstr ""
552
  msgstr ""
553
 
554
  #: ../classes/column/media/full-path.php:19
555
+ #: ../classes/column/media/full-path.php:92
556
  msgid "Full path"
557
  msgstr ""
558
 
559
+ #: ../classes/column/media/full-path.php:83
560
+ msgid "Path scope"
561
+ msgstr ""
562
+
563
+ #: ../classes/column/media/full-path.php:84
564
+ msgid "Part of the file path to display"
565
+ msgstr ""
566
+
567
+ #: ../classes/column/media/full-path.php:97
568
+ msgid "Relative to domain"
569
+ msgstr ""
570
+
571
+ #: ../classes/column/media/full-path.php:102
572
+ msgid "Relative to main uploads folder "
573
+ msgstr ""
574
+
575
  #: ../classes/column/media/height.php:19
576
  msgid "Height"
577
  msgstr ""
580
  msgid "Mime type"
581
  msgstr ""
582
 
583
+ #: ../classes/column/post/actions.php:32
584
  msgid "Edit this item"
585
  msgstr ""
586
 
587
+ #: ../classes/column/post/actions.php:35
588
  msgid "Edit this item inline"
589
  msgstr ""
590
 
591
+ #: ../classes/column/post/actions.php:40
592
  msgid "Restore this item from the Trash"
593
  msgstr ""
594
 
595
+ #: ../classes/column/post/actions.php:42
596
  msgid "Move this item to the Trash"
597
  msgstr ""
598
 
599
+ #: ../classes/column/post/actions.php:44
 
 
 
 
 
 
600
  msgid "Delete this item permanently"
601
  msgstr ""
602
 
603
+ #: ../classes/column/post/actions.php:49
604
  #, php-format
605
  msgid "Preview &#8220;%s&#8221;"
606
  msgstr ""
607
 
608
+ #: ../classes/column/post/actions.php:49
609
  msgid "Preview"
610
  msgstr ""
611
 
 
 
 
 
 
 
 
 
 
612
  #: ../classes/column/post/attachment-count.php:19
613
  msgid "No. of Attachments"
614
  msgstr ""
650
  msgid "Select which comment status you like to display."
651
  msgstr ""
652
 
653
+ #: ../classes/column/post/depth.php:19
654
+ msgid "Depth"
655
+ msgstr ""
656
+
657
+ #: ../classes/column/post/estimated-reading-time.php:19
658
+ msgid "Estimated Reading Time"
659
+ msgstr ""
660
+
661
+ #: ../classes/column/post/estimated-reading-time.php:103
662
+ msgid "Words per minute"
663
+ msgstr ""
664
+
665
+ #: ../classes/column/post/estimated-reading-time.php:104
666
+ msgid "Estimated reading time in words per minute"
667
+ msgstr ""
668
+
669
  #: ../classes/column/post/featured-image.php:19
670
  msgid "Featured Image"
671
  msgstr ""
758
  msgid "Title without actions"
759
  msgstr ""
760
 
761
+ #: ../classes/column/taxonomy.php:20 ../classes/column/taxonomy.php:87
762
  msgid "Taxonomy"
763
  msgstr ""
764
 
778
  msgid "Comment Count"
779
  msgstr ""
780
 
781
+ #: ../classes/column/user/display-name.php:19
782
+ msgid "Display name"
783
+ msgstr ""
784
+
785
  #: ../classes/column/user/first-name.php:19
786
  msgid "First name"
787
  msgstr ""
802
  msgid "Registered"
803
  msgstr ""
804
 
805
+ #: ../classes/column/user/rich-editing.php:19
806
+ msgid "Visual Editor"
807
+ msgstr ""
808
+
809
  #: ../classes/column/user/url.php:19
810
  msgid "Url"
811
  msgstr ""
1072
  "Show \"Edit Columns\" button on admin screens. Default is <code>on</code>."
1073
  msgstr ""
1074
 
1075
+ #: ../classes/settings.php:530 ../classes/settings.php:665
1076
  msgid "Save"
1077
  msgstr ""
1078
 
1094
  "undone. \\'OK\\' to delete, \\'Cancel\\' to stop"
1095
  msgstr ""
1096
 
1097
+ #: ../classes/settings.php:599 ../codepress-admin-columns.php:354
1098
  msgid "Settings"
1099
  msgstr ""
1100
 
1102
  msgid "Add-ons"
1103
  msgstr ""
1104
 
1105
+ #: ../classes/settings.php:630
1106
  msgid "Posttypes"
1107
  msgstr ""
1108
 
1109
+ #: ../classes/settings.php:631
1110
  msgid "Others"
1111
  msgstr ""
1112
 
1113
+ #: ../classes/settings.php:632
1114
  msgid "Taxonomies"
1115
  msgstr ""
1116
 
1117
+ #: ../classes/settings.php:651
1118
  #, php-format
1119
  msgid ""
1120
  "The columns for %s are set up via PHP and can therefore not be edited in the "
1121
  "admin panel."
1122
  msgstr ""
1123
 
1124
+ #: ../classes/settings.php:661
1125
  msgid "Store settings"
1126
  msgstr ""
1127
 
1128
+ #: ../classes/settings.php:665
1129
  msgid "Update"
1130
  msgstr ""
1131
 
1132
+ #: ../classes/settings.php:669
1133
  #, php-format
1134
  msgid ""
1135
  "Warning! The %s columns data will be deleted. This cannot be undone. \\'OK"
1136
  "\\' to delete, \\'Cancel\\' to stop"
1137
  msgstr ""
1138
 
1139
+ #: ../classes/settings.php:670
1140
  msgid "columns"
1141
  msgstr ""
1142
 
1143
+ #: ../classes/settings.php:689
1144
  msgid "Get Admin Columns Pro"
1145
  msgstr ""
1146
 
1147
+ #: ../classes/settings.php:693
1148
  msgid "Add Sorting"
1149
  msgstr ""
1150
 
1151
+ #: ../classes/settings.php:694
1152
  msgid "Add Filtering"
1153
  msgstr ""
1154
 
1155
+ #: ../classes/settings.php:695
1156
  msgid "Add Import/Export"
1157
  msgstr ""
1158
 
1159
+ #: ../classes/settings.php:696
1160
  msgid "Add Direct Editing"
1161
  msgstr ""
1162
 
1163
+ #: ../classes/settings.php:699
1164
  #, php-format
1165
  msgid "Check out <a href=\"%s\">Admin Columns Pro</a> for more details!"
1166
  msgstr ""
1167
 
1168
+ #: ../classes/settings.php:730
1169
  msgid "Are you happy with Admin Columns?"
1170
  msgstr ""
1171
 
1172
+ #: ../classes/settings.php:738
1173
  msgid "What's wrong? Need help? Let us know!"
1174
  msgstr ""
1175
 
1176
+ #: ../classes/settings.php:739
1177
  msgid ""
1178
  "Check out our extensive documentation, or you can open a support topic on "
1179
  "WordPress.org!"
1180
  msgstr ""
1181
 
1182
+ #: ../classes/settings.php:747
1183
  msgid "Docs"
1184
  msgstr ""
1185
 
1186
+ #: ../classes/settings.php:752
1187
  msgid "Forums"
1188
  msgstr ""
1189
 
1190
+ #: ../classes/settings.php:761
1191
  msgid "Woohoo! We're glad to hear that!"
1192
  msgstr ""
1193
 
1194
+ #: ../classes/settings.php:762
1195
  msgid ""
1196
  "We would really love it if you could show your appreciation by giving us a "
1197
  "rating on WordPress.org or tweet about Admin Columns!"
1198
  msgstr ""
1199
 
1200
+ #: ../classes/settings.php:766
1201
  msgid "Rate"
1202
  msgstr ""
1203
 
1204
+ #: ../classes/settings.php:777
1205
  msgid "Tweet"
1206
  msgstr ""
1207
 
1208
+ #: ../classes/settings.php:787
1209
  msgid "Buy Pro"
1210
  msgstr ""
1211
 
1212
+ #: ../classes/settings.php:799
1213
  msgid "Support"
1214
  msgstr ""
1215
 
1216
+ #: ../classes/settings.php:802
1217
  msgid "Check the <strong>Help</strong> section in the top-right screen."
1218
  msgstr ""
1219
 
1220
+ #: ../classes/settings.php:805
1221
  #, php-format
1222
  msgid ""
1223
  "For full documentation, bug reports, feature suggestions and other tips <a "
1224
  "href='%s'>visit the Admin Columns website</a>"
1225
  msgstr ""
1226
 
1227
+ #: ../classes/settings.php:834
1228
  msgid "Drag and drop to reorder"
1229
  msgstr ""
1230
 
1231
+ #: ../classes/settings.php:837
1232
  msgid "Add Column"
1233
  msgstr ""
1234
 
1235
+ #: ../classes/settings.php:918
1236
  msgid "Active"
1237
  msgstr ""
1238
 
1239
+ #: ../classes/settings.php:919
1240
  msgid "Deactivate"
1241
  msgstr ""
1242
 
1243
+ #: ../classes/settings.php:926
1244
  msgid "Installed"
1245
  msgstr ""
1246
 
1247
+ #: ../classes/settings.php:927
1248
  msgid "Activate"
1249
  msgstr ""
1250
 
1251
+ #: ../classes/settings.php:941
1252
  msgid "Download & Install"
1253
  msgstr ""
1254
 
1255
+ #: ../classes/settings.php:946
1256
  msgid "Get this add-on"
1257
  msgstr ""
1258
 
1259
+ #: ../classes/storage_model.php:222
1260
  msgid "settings succesfully restored."
1261
  msgstr ""
1262
 
1263
+ #: ../classes/storage_model.php:238
1264
  msgid "No columns settings available."
1265
  msgstr ""
1266
 
1267
+ #: ../classes/storage_model.php:259
1268
  #, php-format
1269
  msgid "You are trying to store the same settings for %s."
1270
  msgstr ""
1271
 
1272
+ #: ../classes/storage_model.php:263
1273
  #, php-format
1274
  msgid "Settings for %s updated succesfully."
1275
  msgstr ""
1350
  "on the support forum."
1351
  msgstr ""
1352
 
1353
+ #: ../codepress-admin-columns.php:424
1354
  msgid "Edit columns"
1355
  msgstr ""
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: codepress, tschutter, davidmosterd, engelen
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZDZRSYLQ4Z76J
4
  Tags: plugins, wordpress, admin, column, columns, custom columns, custom fields, image, dashboard, sortable, filters, posts, media, users, pages, posttypes, manage columns, wp-admin
5
  Requires at least: 3.5
6
- Tested up to: 4.1
7
- Stable tag: 2.3.3
8
 
9
  Customise columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
10
 
@@ -249,11 +249,21 @@ You can find a list of the available actions and filters (and examples on how to
249
 
250
  == Changelog ==
251
 
 
 
 
 
 
 
 
 
 
252
  = 2.3.3 =
253
  * [Added] Added user column: Visual Editor
254
  * [Added] Added post column: Estimated Reading Time
255
  * [Added] Added method CPAC_Column::get_sorting_value()
256
  * [Added] Added user column display name
 
257
  * [Fixed] Fixed media actions column
258
 
259
  = 2.3.2 =
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZDZRSYLQ4Z76J
4
  Tags: plugins, wordpress, admin, column, columns, custom columns, custom fields, image, dashboard, sortable, filters, posts, media, users, pages, posttypes, manage columns, wp-admin
5
  Requires at least: 3.5
6
+ Tested up to: 4.1.1
7
+ Stable tag: 2.3.5
8
 
9
  Customise columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
10
 
249
 
250
  == Changelog ==
251
 
252
+ = 2.3.5 =
253
+ * [Added] Added a width indicator to the column settings header
254
+
255
+ = 2.3.4 =
256
+ * [Added] A column can have it's own JS/CSS files by using the CPAC_Column::scripts() method
257
+ * [Added] Column Name can be found by hovering over the "Type" label in your column settings
258
+ * [Fixed] Fixed a quick edit issue for comments
259
+ * [Fixed] is_field() method of the custom field column works as intended
260
+
261
  = 2.3.3 =
262
  * [Added] Added user column: Visual Editor
263
  * [Added] Added post column: Estimated Reading Time
264
  * [Added] Added method CPAC_Column::get_sorting_value()
265
  * [Added] Added user column display name
266
+ * [Fixed] fixed wordcount issue with PHP 5.3 or lower
267
  * [Fixed] Fixed media actions column
268
 
269
  = 2.3.2 =