diff --git a/css/OverlayScrollbars.css b/css/OverlayScrollbars.css
index 751be40..73638da 100644
--- a/css/OverlayScrollbars.css
+++ b/css/OverlayScrollbars.css
@@ -2,13 +2,13 @@
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
- * Version: 1.5.2
+ * Version: 1.5.3
*
* Copyright KingSora.
* https://github.com/KingSora
*
* Released under the MIT license.
- * Date: 09.09.2018
+ * Date: 07.11.2018
*/
/*
diff --git a/css/OverlayScrollbars.min.css b/css/OverlayScrollbars.min.css
index c7efe86..d8b6a0f 100644
--- a/css/OverlayScrollbars.min.css
+++ b/css/OverlayScrollbars.min.css
@@ -2,12 +2,12 @@
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
- * Version: 1.5.2
+ * Version: 1.5.3
*
* Copyright KingSora.
* https://github.com/KingSora
*
* Released under the MIT license.
- * Date: 09.09.2018
+ * Date: 07.11.2018
*/
html.os-html,html.os-html>.os-host{display:block;overflow:hidden;box-sizing:border-box;height:100%!important;width:100%!important;min-width:100%!important;min-height:100%!important;margin:0!important;position:absolute!important}.os-padding,.os-viewport{top:0;left:0;right:0;margin:0;padding:0;bottom:0}html.os-html>.os-host>.os-padding{position:absolute}body.os-dragging,body.os-dragging *{cursor:default}.os-host,.os-host-textarea{position:relative;overflow:visible!important;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.os-host-flexbox{overflow:hidden!important;display:flex}.os-host-flexbox>.os-padding>.os-viewport>.os-content{display:flex}#hs-dummy-scrollbar-size{position:fixed;opacity:0;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';visibility:hidden;overflow:scroll;height:500px;width:500px}#hs-dummy-scrollbar-size,.os-viewport{-ms-overflow-style:scrollbar!important}.os-viewport-native-scrollbars-invisible#hs-dummy-scrollbar-size::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible#hs-dummy-scrollbar-size::-webkit-scrollbar-corner,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner{display:none!important;width:0!important;height:0!important;visibility:hidden!important;background:0 0!important}.os-content-glue{max-height:100%;max-width:100%;width:100%;pointer-events:none}.os-padding{direction:inherit;position:absolute;overflow:visible;width:auto!important;height:auto!important;z-index:1}.os-host-overflow>.os-padding,.os-viewport{overflow:hidden}.os-viewport{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;-webkit-overflow-scrolling:touch}.os-content-arrange{position:absolute;z-index:-1;min-height:1px;min-width:1px;pointer-events:none}.os-content{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:100%;visibility:visible}.os-content>.os-textarea{direction:inherit!important;float:none!important;margin:0!important;max-height:none!important;max-width:none!important;border:none!important;border-radius:0!important;background:0 0!important;outline:transparent 0!important;overflow:hidden!important;resize:none!important;position:absolute!important;top:0!important;left:0!important;z-index:1;padding:0}.os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea{right:0!important}.os-content>.os-textarea-cover{z-index:-1;pointer-events:none}.os-content>.os-textarea[wrap=off]{white-space:pre!important;margin:0!important}.os-text-inherit{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-align:inherit;text-shadow:inherit;text-overflow:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;unicode-bidi:inherit;direction:inherit;color:inherit;cursor:text}.os-resize-observer,.os-resize-observer-host{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.os-resize-observer-host{padding:inherit;border:solid inherit;box-sizing:border-box}.os-resize-observer-host:after{content:''}.os-resize-observer-host:after,.os-resize-observer-host>.os-resize-observer{height:200%;width:200%;padding:inherit;border:inherit;margin:0;display:block;box-sizing:content-box}.os-resize-observer.observed,object.os-resize-observer{box-sizing:border-box!important}.os-size-auto-observer{box-sizing:inherit!important;height:100%;width:inherit;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.os-size-auto-observer>.os-resize-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-resize-observer-item{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:-1;opacity:0;direction:ltr!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer-item-final{position:absolute;left:0;top:0;-webkit-transition:none!important;transition:none!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer{-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-name:hs-resize-observer-dummy-animation;animation-name:hs-resize-observer-dummy-animation}.os-host-transition>.os-scrollbar,.os-host-transition>.os-scrollbar-corner{-webkit-transition:opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s;transition:opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s}html.os-html>.os-host>.os-scrollbar{position:absolute;z-index:999999}.os-scrollbar,.os-scrollbar-corner{position:absolute;opacity:1;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';z-index:1}.os-scrollbar-corner{bottom:0;right:0}.os-scrollbar{pointer-events:none}.os-scrollbar-handle,.os-scrollbar-track{pointer-events:auto;width:100%;height:100%}.os-scrollbar-track{position:relative;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-handle-off,.os-scrollbar-track-off{pointer-events:none}.os-scrollbar.os-scrollbar-unusable,.os-scrollbar.os-scrollbar-unusable *{pointer-events:none!important}.os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-host-rtl>.os-scrollbar-horizontal{right:0}.os-host-rtl>.os-scrollbar-corner,.os-host-rtl>.os-scrollbar-vertical{right:auto;left:0}.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner,.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner,.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal,.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical,.os-padding+.os-scrollbar-corner,.os-scrollbar-auto-hidden,.os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner,.os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner,.os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner{opacity:0;visibility:hidden;pointer-events:none}.os-scrollbar-corner-resize-both{cursor:nwse-resize}.os-host-rtl>.os-scrollbar-corner-resize-both{cursor:nesw-resize}.os-scrollbar-corner-resize-horizontal{cursor:ew-resize}.os-scrollbar-corner-resize-vertical{cursor:ns-resize}.os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize{cursor:default}.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical{top:0;bottom:0}.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal,.os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal{right:0;left:0}.os-scrollbar-corner.os-scrollbar-corner-resize,.os-scrollbar:hover{opacity:1!important;visibility:visible!important}.os-scrollbar-corner.os-scrollbar-corner-resize{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB3aWR0aD0iMTAiICAgaGVpZ2h0PSIxMCIgICB2ZXJzaW9uPSIxLjEiPiAgPGcgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwNDIuMzYyMikiICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eTowLjQ5NDExNzY1O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDcuNDI0MjE4NywxMDQyLjM2MjIgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjYgLTEuMzEwMTU2MiwxLjMxMDIgMCwwLjI5OSAwLjEwNDM0MTksMC41NzEgMC4yNzI5NDkyLDAuNzkxNSAwLjIwOTEwMjQsMC4xNDEzIDAuNDY1NjIwNiwwLjIxODQgMC43MzY5NjI5LDAuMjE4NCAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NiAxLjMxMDE1NjMsLTEuMzEwMiAwLC0wLjI3MTMgLTAuMDc3MDkzLC0wLjUyNzggLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0MSwtMC4xNjg2IC0wLjQ5MjU0NDMsLTAuMjcyOSAtMC43OTE1NTI4LC0wLjI3MjkgeiBtIDAsMy4wODQzIGMgLTAuNzIzNTc5MiwwIC0xLjMxMDE1NjIsMC41ODY2IC0xLjMxMDE1NjIsMS4zMTAyIDAsMC4yOTkgMC4xMDQzNDE5LDAuNTcxIDAuMjcyOTQ5MiwwLjc5MTUgMC4yMDkxMDI0LDAuMTQxMyAwLjQ2NTYyMDYsMC4yMTg0IDAuNzM2OTYyOSwwLjIxODQgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjYgMS4zMTAxNTYzLC0xLjMxMDIgMCwtMC4yNzEzIC0wLjA3NzA5MywtMC41Mjc4IC0wLjIxODM1OTQsLTAuNzM2OSAtMC4yMjA0OTQxLC0wLjE2ODYgLTAuNDkyNTQ0MywtMC4yNzMgLTAuNzkxNTUyOCwtMC4yNzMgeiBtIC0zLjA4NDMyNjEsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NiAtMS4zMTAxNTYzLDEuMzEwMiAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MSAwLjI3Mjk0OTIsMC43OTE1IDAuMjA5MTAyNCwwLjE0MTMgMC40NjU2MjA3LDAuMjE4NCAwLjczNjk2MjksMC4yMTg0IDAuNzIzNTc5MywwIDEuMzEwMTU2MywtMC41ODY2IDEuMzEwMTU2MywtMS4zMTAyIDAsLTAuMjcxMyAtMC4wNzcwOTMsLTAuNTI3OCAtMC4yMTgzNTk0LC0wLjczNjkgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzMgLTAuNzkxNTUyNywtMC4yNzMgeiBtIC0zLjAyOTczNjQsMy4wMjk4IEMgMC41ODY1NzY5MywxMDQ4LjQ3NjMgMCwxMDQ5LjA2MjggMCwxMDQ5Ljc4NjQgYyAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyMiwwLjc5MTYgMC4yMDkxMDIyOSwwLjE0MTIgMC40NjU2MjA2NSwwLjIxODMgMC43MzY5NjI4OCwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHogbSAzLjAyOTczNjQsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NSAtMS4zMTAxNTYzLDEuMzEwMSAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyLDAuNzkxNiAwLjIwOTEwMjQsMC4xNDEyIDAuNDY1NjIwNywwLjIxODMgMC43MzY5NjI5LDAuMjE4MyAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NSAxLjMxMDE1NjMsLTEuMzEwMSAwLC0wLjI3MTQgLTAuMDc3MDkzLC0wLjUyNzkgLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzI5IC0wLjc5MTU1MjcsLTAuMjcyOSB6IG0gMy4wODQzMjYxLDAgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjUgLTEuMzEwMTU2MiwxLjMxMDEgMCwwLjI5OSAwLjEwNDM0MTksMC41NzExIDAuMjcyOTQ5MiwwLjc5MTYgMC4yMDkxMDI0LDAuMTQxMiAwLjQ2NTYyMDYsMC4yMTgzIDAuNzM2OTYyOSwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHoiLz4gIDwvZz4gIDxnICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDguMjE1NzcxNSwwLjI3Mjk0OTIyIGMgMC4xNDEyNjY3LDAuMjA5MTAyMjkgMC4yMTgzNTk0LDAuNDY1NjIwNjUgMC4yMTgzNTk0LDAuNzM2OTYyODggMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDc2IC0wLjIwNTUxNzYsLTAuNzk3Nzk2NTkgLTAuNTE4NjAzNSwtMS4wMzcyMDY5OCB6IG0gMCwzLjA4NDMyNjE4IGMgMC4xNDEyNjY3LDAuMjA5MTAyMyAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MiAtMS4zMTAxNTYzLDEuMzEwMTU2MiAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTkzIDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAtMy4wODQzMjYyLDAgYyAwLjE0MTI2NjcsMC4yMDkxMDIzIDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYyIC0xLjMxMDE1NjMsMS4zMTAxNTYyIC0wLjI3MTM0MjIsMCAtMC41Mjc4NjA1LC0wLjA3NzA5MyAtMC43MzY5NjI5LC0wLjIxODM1OTMgMC4yMzk0MTA0LDAuMzEzMDg1OSAwLjYxMjYzNjMsMC41MTg2MDM1IDEuMDM3MjA3MSwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYyLC0wLjU4NjU3NyAxLjMxMDE1NjIsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NSwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogTSAyLjEwMTcwOSw2LjM4NzAxMTcgYyAwLjE0MTI2NjcsMC4yMDkxMDI0IDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYzIC0xLjMxMDE1NjMsMS4zMTAxNTYzIC0wLjI3MTM0MjIzLDAgLTAuNTI3ODYwNTksLTAuMDc3MDkzIC0wLjczNjk2Mjg4LC0wLjIxODM1OTQgMC4yMzk0MTAzOSwwLjMxMzA4NTkgMC42MTI2MzYyMiwwLjUxODYwMzUgMS4wMzcyMDY5OCwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAzLjAyOTczNjMsMCBjIDAuMTQxMjY2NywwLjIwOTEwMjQgMC4yMTgzNTk0LDAuNDY1NjIwNiAwLjIxODM1OTQsMC43MzY5NjI5IDAsMC43MjM1NzkzIC0wLjU4NjU3NywxLjMxMDE1NjMgLTEuMzEwMTU2MywxLjMxMDE1NjMgLTAuMjcxMzQyMiwwIC0wLjUyNzg2MDUsLTAuMDc3MDkzIC0wLjczNjk2MjksLTAuMjE4MzU5NCAwLjIzOTQxMDQsMC4zMTMwODU5IDAuNjEyNjM2MywwLjUxODYwMzUgMS4wMzcyMDcxLDAuNTE4NjAzNSAwLjcyMzU3OTMsMCAxLjMxMDE1NjIsLTAuNTg2NTc3IDEuMzEwMTU2MiwtMS4zMTAxNTYzIDAsLTAuNDI0NTcwOCAtMC4yMDU1MTc1LC0wLjc5Nzc5NjYgLTAuNTE4NjAzNSwtMS4wMzcyMDcgeiBtIDMuMDg0MzI2MiwwIGMgMC4xNDEyNjY3LDAuMjA5MTAyNCAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHoiIC8+ICA8L2c+PC9zdmc+);background-repeat:no-repeat;background-position:100% 100%;pointer-events:auto!important}.os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.os-host-overflow{overflow:hidden!important}@-webkit-keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}@keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}.os-theme-none>.os-scrollbar-corner,.os-theme-none>.os-scrollbar-horizontal,.os-theme-none>.os-scrollbar-vertical{display:none!important}.os-theme-none>.os-scrollbar-corner-resize{display:block!important;min-width:10px;min-height:10px}.os-theme-dark>.os-scrollbar-horizontal,.os-theme-light>.os-scrollbar-horizontal{right:10px;height:10px}.os-theme-dark>.os-scrollbar-vertical,.os-theme-light>.os-scrollbar-vertical{bottom:10px;width:10px}.os-theme-dark.os-host-rtl>.os-scrollbar-horizontal,.os-theme-light.os-host-rtl>.os-scrollbar-horizontal{left:10px;right:0}.os-theme-dark>.os-scrollbar-corner,.os-theme-light>.os-scrollbar-corner{height:10px;width:10px;background-color:transparent}.os-theme-dark>.os-scrollbar,.os-theme-light>.os-scrollbar{padding:2px;box-sizing:border-box;background:0 0}.os-theme-dark>.os-scrollbar.os-scrollbar-unusable,.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar.os-scrollbar-unusable,.os-theme-light>.os-scrollbar>.os-scrollbar-track{background:0 0}.os-theme-dark>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle{min-width:30px}.os-theme-dark>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle{min-height:30px}.os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{-webkit-transition:background-color .3s;transition:background-color .3s}.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{border-radius:10px}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.4)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.4)}.os-theme-dark>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.55)}.os-theme-light>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.55)}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(0,0,0,.7)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(255,255,255,.7)}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before{display:none}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before{top:-6px;bottom:-2px}.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{left:-6px;right:-2px}.os-host-rtl.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-host-rtl.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{right:-6px;left:-2px}
\ No newline at end of file
diff --git a/js/OverlayScrollbars.js b/js/OverlayScrollbars.js
index 8498b9c..15da5fc 100644
--- a/js/OverlayScrollbars.js
+++ b/js/OverlayScrollbars.js
@@ -2,13 +2,13 @@
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
- * Version: 1.5.2
+ * Version: 1.5.3
*
* Copyright KingSora.
* https://github.com/KingSora
*
* Released under the MIT license.
- * Date: 09.09.2018
+ * Date: 07.11.2018
*/
(function (global, factory) {
@@ -191,21 +191,43 @@
/**
* Checks whether a item is in the given array and returns its index.
* @param item The item of which the position in the array shall be determined.
- * @param arr The array
+ * @param arr The array.
* @returns {number} The zero based index of the item or -1 if the item isn't in the array.
*/
inA : function(item, arr) {
- for (var i = 0; i < arr[LEXICON.l]; i++) {
- //Sometiems in IE a "SCRIPT70" Permission denied error occurs if HTML elemtns in a iFrame are compared
+ for (var i = 0; i < arr[LEXICON.l]; i++)
+ //Sometiems in IE a "SCRIPT70" Permission denied error occurs if HTML elements in a iFrame are compared
try {
if (arr[i] === item)
return i;
}
catch(e) { }
- }
return -1;
},
+ /**
+ * Returns true if the given value is a array.
+ * @param arr The potential array.
+ * @returns {boolean} True if the given value is a array, false otherwise.
+ */
+ isA: function(arr) {
+ var def = Array.isArray;
+ return def ? def(arr) : this.type(arr) == TYPES.a;
+ },
+
+ /**
+ * Determine the internal JavaScript [[Class]] of the given object.
+ * @param obj The object of which the type shall be determined.
+ * @returns {string} The type of the given object.
+ */
+ type: function(obj) {
+ if (obj === undefined)
+ return obj + "";
+ if (obj === null)
+ return obj + "";
+ return Object[LEXICON.p].toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase();
+ },
+
bind: function(func, thisObj) {
if (typeof func != TYPES.f) {
throw "Can't bind function!";
@@ -225,16 +247,202 @@
return fBound;
}
};
-
+
var JQUERY = window.jQuery;
- var FRAMEWORK = (function(compatibility) {
+ var EASING = (function() {
+ var _math = window.Math;
+ var _easingsMath = {
+ p : _math.PI,
+ c : _math.cos,
+ s : _math.sin,
+ w : _math.pow,
+ t : _math.sqrt,
+ n : _math.asin,
+ a : _math.abs,
+ o : 1.70158
+ };
+
+ /*
+ x : current percent (0 - 1),
+ t : current time (duration * percent),
+ b : start value (from),
+ c : end value (to),
+ d : duration
+
+ easingName : function(x, t, b, c, d) { return easedValue; }
+ */
+
+ return {
+ swing: function (x, t, b, c, d) {
+ return 0.5 - _easingsMath.c(x * _easingsMath.p) / 2;
+ },
+ linear: function(x, t, b, c, d) {
+ return x;
+ },
+ easeInQuad: function (x, t, b, c, d) {
+ return c*(t/=d)*t + b;
+ },
+ easeOutQuad: function (x, t, b, c, d) {
+ return -c *(t/=d)*(t-2) + b;
+ },
+ easeInOutQuad: function (x, t, b, c, d) {
+ return ((t/=d/2) < 1) ? c/2*t*t + b : -c/2 * ((--t)*(t-2) - 1) + b;
+ },
+ easeInCubic: function (x, t, b, c, d) {
+ return c*(t/=d)*t*t + b;
+ },
+ easeOutCubic: function (x, t, b, c, d) {
+ return c*((t=t/d-1)*t*t + 1) + b;
+ },
+ easeInOutCubic: function (x, t, b, c, d) {
+ return ((t/=d/2) < 1) ? c/2*t*t*t + b : c/2*((t-=2)*t*t + 2) + b;
+ },
+ easeInQuart: function (x, t, b, c, d) {
+ return c*(t/=d)*t*t*t + b;
+ },
+ easeOutQuart: function (x, t, b, c, d) {
+ return -c * ((t=t/d-1)*t*t*t - 1) + b;
+ },
+ easeInOutQuart: function (x, t, b, c, d) {
+ return ((t/=d/2) < 1) ? c/2*t*t*t*t + b : -c/2 * ((t-=2)*t*t*t - 2) + b;
+ },
+ easeInQuint: function (x, t, b, c, d) {
+ return c*(t/=d)*t*t*t*t + b;
+ },
+ easeOutQuint: function (x, t, b, c, d) {
+ return c*((t=t/d-1)*t*t*t*t + 1) + b;
+ },
+ easeInOutQuint: function (x, t, b, c, d) {
+ return ((t/=d/2) < 1) ? c/2*t*t*t*t*t + b : c/2*((t-=2)*t*t*t*t + 2) + b;
+ },
+ easeInSine: function (x, t, b, c, d) {
+ return -c * _easingsMath.c(t/d * (_easingsMath.p/2)) + c + b;
+ },
+ easeOutSine: function (x, t, b, c, d) {
+ return c * _easingsMath.s(t/d * (_easingsMath.p/2)) + b;
+ },
+ easeInOutSine: function (x, t, b, c, d) {
+ return -c/2 * (_easingsMath.c(_easingsMath.p*t/d) - 1) + b;
+ },
+ easeInExpo: function (x, t, b, c, d) {
+ return (t==0) ? b : c * _easingsMath.w(2, 10 * (t/d - 1)) + b;
+ },
+ easeOutExpo: function (x, t, b, c, d) {
+ return (t==d) ? b+c : c * (-_easingsMath.w(2, -10 * t/d) + 1) + b;
+ },
+ easeInOutExpo: function (x, t, b, c, d) {
+ if (t==0) return b;
+ if (t==d) return b+c;
+ if ((t/=d/2) < 1) return c/2 * _easingsMath.w(2, 10 * (t - 1)) + b;
+ return c/2 * (-_easingsMath.w(2, -10 * --t) + 2) + b;
+ },
+ easeInCirc: function (x, t, b, c, d) {
+ return -c * (_easingsMath.t(1 - (t/=d)*t) - 1) + b;
+ },
+ easeOutCirc: function (x, t, b, c, d) {
+ return c * _easingsMath.t(1 - (t=t/d-1)*t) + b;
+ },
+ easeInOutCirc: function (x, t, b, c, d) {
+ return ((t/=d/2) < 1) ? -c/2 * (_easingsMath.t(1 - t*t) - 1) + b : c/2 * (_easingsMath.t(1 - (t-=2)*t) + 1) + b;
+ },
+ easeInElastic: function (x, t, b, c, d) {
+ var s=_easingsMath.o;var p=0;var a=c;
+ if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
+ if (a < _easingsMath.a(c)) { a=c; var s=p/4; }
+ else var s = p/(2*_easingsMath.p) * _easingsMath.n (c/a);
+ return -(a*_easingsMath.w(2,10*(t-=1)) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p )) + b;
+ },
+ easeOutElastic: function (x, t, b, c, d) {
+ var s=_easingsMath.o;var p=0;var a=c;
+ if (t==0) return b;
+ if ((t/=d)==1) return b+c;
+ if (!p) p=d*.3;
+ if (a < _easingsMath.a(c)) { a=c; var s=p/4; }
+ else var s = p/(2*_easingsMath.p) * _easingsMath.n (c/a);
+ return a*_easingsMath.w(2,-10*t) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p ) + c + b;
+ },
+ easeInOutElastic: function (x, t, b, c, d) {
+ var s=_easingsMath.o;var p=0;var a=c;
+ if (t==0) return b;
+ if ((t/=d/2)==2) return b+c;
+ if (!p) p=d*(.3*1.5);
+ if (a < _easingsMath.a(c)) { a=c; var s=p/4; }
+ else var s = p/(2*_easingsMath.p) * _easingsMath.n (c/a);
+ if (t < 1) return -.5*(a*_easingsMath.w(2,10*(t-=1)) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p )) + b;
+ return a*_easingsMath.w(2,-10*(t-=1)) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p )*.5 + c + b;
+ },
+ easeInBack: function (x, t, b, c, d, s) {
+ s = s || _easingsMath.o;
+ return c*(t/=d)*t*((s+1)*t - s) + b;
+ },
+ easeOutBack: function (x, t, b, c, d, s) {
+ s = s || _easingsMath.o;
+ return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
+ },
+ easeInOutBack: function (x, t, b, c, d, s) {
+ s = s || _easingsMath.o;
+ return ((t/=d/2) < 1) ? c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b : c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
+ },
+ easeInBounce: function (x, t, b, c, d) {
+ return c - this.easeOutBounce (x, d-t, 0, c, d) + b;
+ },
+ easeOutBounce: function (x, t, b, c, d) {
+ var o = 7.5625;
+ if ((t/=d) < (1/2.75)) {
+ return c*(o*t*t) + b;
+ } else if (t < (2/2.75)) {
+ return c*(o*(t-=(1.5/2.75))*t + .75) + b;
+ } else if (t < (2.5/2.75)) {
+ return c*(o*(t-=(2.25/2.75))*t + .9375) + b;
+ } else {
+ return c*(o*(t-=(2.625/2.75))*t + .984375) + b;
+ }
+ },
+ easeInOutBounce: function (x, t, b, c, d) {
+ return (t < d/2) ? this.easeInBounce (x, t*2, 0, c, d) * .5 + b : this.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
+ }
+ };
+ /*
+ *
+ * TERMS OF USE - EASING EQUATIONS
+ *
+ * Open source under the BSD License.
+ *
+ * Copyright © 2001 Robert Penner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * Neither the name of the author nor the names of contributors may be used to endorse
+ * or promote products derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+ })();
+ var FRAMEWORK = (function() {
var _rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
- var _toStr = Object[LEXICON.p].toString;
var _strSpace = ' ';
var _strEmpty = '';
var _strScrollLeft = 'scrollLeft';
var _strScrollTop = 'scrollTop';
var _animations = [ ];
+ var _type = COMPATIBILITY.type;
var _cssNumber = {
"animationIterationCount": true,
"columnCount": true,
@@ -250,148 +458,6 @@
"zIndex": true,
"zoom": true
};
- var _easings = {
- /*
- x : current percent (0 - 1),
- t : current time (duration * percent),
- b : start value (from),
- c : end value (to),
- d : duration
-
- easingName : function(x, t, b, c, d) { return easedValue; }
- */
-
- swing: function (x, t, b, c, d) {
- return 0.5 - Math.cos(x * Math.PI) / 2;
- },
- linear: function(x, t, b, c, d) {
- return x;
- },
- easeInQuad: function (x, t, b, c, d) {
- return c*(t/=d)*t + b;
- },
- easeOutQuad: function (x, t, b, c, d) {
- return -c *(t/=d)*(t-2) + b;
- },
- easeInOutQuad: function (x, t, b, c, d) {
- if ((t/=d/2) < 1) return c/2*t*t + b;
- return -c/2 * ((--t)*(t-2) - 1) + b;
- },
- easeInCubic: function (x, t, b, c, d) {
- return c*(t/=d)*t*t + b;
- },
- easeOutCubic: function (x, t, b, c, d) {
- return c*((t=t/d-1)*t*t + 1) + b;
- },
- easeInOutCubic: function (x, t, b, c, d) {
- if ((t/=d/2) < 1) return c/2*t*t*t + b;
- return c/2*((t-=2)*t*t + 2) + b;
- },
- easeInQuart: function (x, t, b, c, d) {
- return c*(t/=d)*t*t*t + b;
- },
- easeOutQuart: function (x, t, b, c, d) {
- return -c * ((t=t/d-1)*t*t*t - 1) + b;
- },
- easeInOutQuart: function (x, t, b, c, d) {
- if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
- return -c/2 * ((t-=2)*t*t*t - 2) + b;
- },
- easeInQuint: function (x, t, b, c, d) {
- return c*(t/=d)*t*t*t*t + b;
- },
- easeOutQuint: function (x, t, b, c, d) {
- return c*((t=t/d-1)*t*t*t*t + 1) + b;
- },
- easeInOutQuint: function (x, t, b, c, d) {
- if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
- return c/2*((t-=2)*t*t*t*t + 2) + b;
- },
- easeInSine: function (x, t, b, c, d) {
- return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
- },
- easeOutSine: function (x, t, b, c, d) {
- return c * Math.sin(t/d * (Math.PI/2)) + b;
- },
- easeInOutSine: function (x, t, b, c, d) {
- return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
- },
- easeInExpo: function (x, t, b, c, d) {
- return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
- },
- easeOutExpo: function (x, t, b, c, d) {
- return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
- },
- easeInOutExpo: function (x, t, b, c, d) {
- if (t==0) return b;
- if (t==d) return b+c;
- if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
- return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
- },
- easeInCirc: function (x, t, b, c, d) {
- return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
- },
- easeOutCirc: function (x, t, b, c, d) {
- return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
- },
- easeInOutCirc: function (x, t, b, c, d) {
- if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
- return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
- },
- easeInElastic: function (x, t, b, c, d) {
- var s=1.70158;var p=0;var a=c;
- if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
- if (a < Math.abs(c)) { a=c; var s=p/4; }
- else var s = p/(2*Math.PI) * Math.asin (c/a);
- return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
- },
- easeOutElastic: function (x, t, b, c, d) {
- var s=1.70158;var p=0;var a=c;
- if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
- if (a < Math.abs(c)) { a=c; var s=p/4; }
- else var s = p/(2*Math.PI) * Math.asin (c/a);
- return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
- },
- easeInOutElastic: function (x, t, b, c, d) {
- var s=1.70158;var p=0;var a=c;
- if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
- if (a < Math.abs(c)) { a=c; var s=p/4; }
- else var s = p/(2*Math.PI) * Math.asin (c/a);
- if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
- return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
- },
- easeInBack: function (x, t, b, c, d, s) {
- if (s == undefined) s = 1.70158;
- return c*(t/=d)*t*((s+1)*t - s) + b;
- },
- easeOutBack: function (x, t, b, c, d, s) {
- if (s == undefined) s = 1.70158;
- return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
- },
- easeInOutBack: function (x, t, b, c, d, s) {
- if (s == undefined) s = 1.70158;
- if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
- return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
- },
- easeInBounce: function (x, t, b, c, d) {
- return c - this.easeOutBounce (x, d-t, 0, c, d) + b;
- },
- easeOutBounce: function (x, t, b, c, d) {
- if ((t/=d) < (1/2.75)) {
- return c*(7.5625*t*t) + b;
- } else if (t < (2/2.75)) {
- return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
- } else if (t < (2.5/2.75)) {
- return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
- } else {
- return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
- }
- },
- easeInOutBounce: function (x, t, b, c, d) {
- if (t < d/2) return this.easeInBounce (x, t*2, 0, c, d) * .5 + b;
- return this.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
- }
- };
var extend = function() {
var src, copyIsArray, copy, name, options, clone, target = arguments[0] || {},
@@ -400,7 +466,7 @@
deep = false;
// Handle a deep copy situation
- if (typeof target === "boolean") {
+ if (_type(target) == TYPES.b) {
deep = target;
target = arguments[1] || {};
// skip the boolean and the target
@@ -408,7 +474,7 @@
}
// Handle case when target is a string or something (possible in deep copy)
- if (typeof target != TYPES.o && !type(target) == TYPES.f) {
+ if (_type(target) != TYPES.o && !_type(target) == TYPES.f) {
target = {};
}
@@ -432,10 +498,10 @@
}
// Recurse if we're merging plain objects or arrays
- if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
+ if (deep && copy && (isPlainObject(copy) || (copyIsArray = COMPATIBILITY.isA(copy)))) {
if (copyIsArray) {
copyIsArray = false;
- clone = src && isArray(src) ? src : [];
+ clone = src && COMPATIBILITY.isA(src) ? src : [];
} else {
clone = src && isPlainObject(src) ? src : {};
@@ -456,20 +522,15 @@
return target;
};
- var type = function(obj) {
- if (obj === undefined)
- return obj + _strEmpty;
- if (obj === null)
- return obj + _strEmpty;
- return _toStr.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase();
- };
-
+ var inArray = function(item, arr, fromIndex) {
+ for (var i = fromIndex || 0; i < arr[LEXICON.l]; i++)
+ if (arr[i] === item)
+ return i;
+ return -1;
+ }
+
var isFunction = function(obj) {
- return type(obj) == TYPES.f;
- };
-
- var isArray = function(arr) {
- return type(arr) == TYPES.a;
+ return _type(obj) == TYPES.f;
};
var isEmptyObject = function(obj) {
@@ -479,7 +540,7 @@
};
var isPlainObject = function(obj) {
- if (!obj || type(obj) != TYPES.o)
+ if (!obj || _type(obj) != TYPES.o)
return false;
var key;
@@ -495,16 +556,9 @@
for (key in obj) { /**/ }
- return typeof key == TYPES.u || hasOwnProperty.call(obj, key);
+ return _type(key) == TYPES.u || hasOwnProperty.call(obj, key);
};
- var inArray = function(item, arr, fromIndex) {
- for (var i = fromIndex || 0; i < arr[LEXICON.l]; i++)
- if (arr[i] === item)
- return i;
- return -1;
- }
-
var each = function(obj, callback) {
var i = 0;
@@ -534,7 +588,7 @@
var elms;
var el;
- if(type(selector) == TYPES.s) {
+ if(_type(selector) == TYPES.s) {
elements = [ ];
if(selector.charAt(0) === '<') {
el = document.createElement('div');
@@ -550,7 +604,7 @@
}
if(elements) {
- if(type(elements) != TYPES.s && !isArrayLike(elements))
+ if(_type(elements) != TYPES.s && !isArrayLike(elements))
elements = [ elements ];
for(i = 0; i < elements[LEXICON.l]; i++)
@@ -564,9 +618,9 @@
function isArrayLike(obj) {
var length = !!obj && [LEXICON.l] in obj && obj[LEXICON.l];
- var t = type(obj);
+ var t = _type(obj);
//|| obj === window = self added!
- return isFunction(t) || obj === window ? false : (t == TYPES.a || length === 0 || typeof length == TYPES.n && length > 0 && (length - 1) in obj);
+ return isFunction(t) || obj === window ? false : (t == TYPES.a || length === 0 || _type(length) == TYPES.n && length > 0 && (length - 1) in obj);
}
function stripAndCollapse(value) {
@@ -586,16 +640,14 @@
}
function insertAdjacentElement(el, strategy, child) {
- if(type(child) == TYPES.a) {
+ if(_type(child) == TYPES.a) {
for(var i = 0; i < child[LEXICON.l]; i++)
insertAdjacentElement(el, strategy, child[i]);
}
- else if(type(child) == TYPES.s)
+ else if(_type(child) == TYPES.s)
el.insertAdjacentHTML(strategy, child);
- else if(child.nodeType)
- el.insertAdjacentElement(strategy, child);
else
- el.insertAdjacentElement(strategy, child[0]);
+ el.insertAdjacentElement(strategy, child.nodeType ? child : child[0]);
}
function setCSSVal(el, prop, val) {
@@ -606,7 +658,7 @@
}
function parseCSSVal(prop, val) {
- if(!_cssNumber[prop.toLowerCase()] && type(val) == TYPES.n)
+ if(!_cssNumber[prop.toLowerCase()] && _type(val) == TYPES.n)
val += 'px';
return val;
}
@@ -628,9 +680,7 @@
}
function setAnimationValue(el, prop, value) {
- if(prop === _strScrollLeft)
- el[prop] = value;
- else if(prop === _strScrollTop)
+ if(prop === _strScrollLeft || prop === _strScrollTop)
el[prop] = value;
else
setCSSVal(el, prop, value);
@@ -715,9 +765,9 @@
if(qPos === 0) {
if(duration > 0) {
- timeStart = compatibility.now();
+ timeStart = COMPATIBILITY.now();
frame = function() {
- timeNow = compatibility.now();
+ timeNow = COMPATIBILITY.now();
elapsed = (timeNow - timeStart);
end = qObj.stop || elapsed >= duration;
percent = 1 - ((Math.max(0, timeStart + duration - timeNow) / duration) || 0);
@@ -725,7 +775,7 @@
for(key in to) {
fromVal = parseFloat(from[key]);
toVal = parseFloat(to[key]);
- easedVal = (toVal - fromVal) * _easings[specialEasing[key] || easing](percent, percent * duration, 0, 1, duration) + fromVal;
+ easedVal = (toVal - fromVal) * EASING[specialEasing[key] || easing](percent, percent * duration, 0, 1, duration) + fromVal;
setAnimationValue(el, key, easedVal);
if(isFunction(step)) {
step(easedVal, {
@@ -756,9 +806,9 @@
complete();
}
else
- qObj.frame = compatibility.rAF()(frame);
+ qObj.frame = COMPATIBILITY.rAF()(frame);
};
- qObj.frame = compatibility.rAF()(frame);
+ qObj.frame = COMPATIBILITY.rAF()(frame);
}
else {
for(key in to)
@@ -782,7 +832,7 @@
if(animObj.q[LEXICON.l] > 0) {
qObj = animObj.q[0];
qObj.stop = true;
- compatibility.cAF()(qObj.frame);
+ COMPATIBILITY.cAF()(qObj.frame);
animObj.q.splice(0, 1);
if(jumpToEnd)
@@ -875,11 +925,6 @@
});
},
- hover: function(over, out) {
- return this.on('mouseenter', over).on('mouseleave', out || over);
- },
-
-
//DOM NODE INSERTING / REMOVING:
append : function(child) {
@@ -973,12 +1018,13 @@
var key;
var cptStyle;
var getCptStyle = window.getComputedStyle;
- if(type(styles) == TYPES.s) {
+ if(_type(styles) == TYPES.s) {
if(val === undefined) {
el = this[0];
cptStyle = getCptStyle ? getCptStyle(el, null) : el.currentStyle[styles];
+
//https://bugzilla.mozilla.org/show_bug.cgi?id=548397 can be null sometimes if iframe with display: none (firefox only!)
- return getCptStyle && cptStyle != null ? cptStyle.getPropertyValue(styles) : el[LEXICON.s][styles];
+ return getCptStyle ? cptStyle != null ? cptStyle.getPropertyValue(styles) : el[LEXICON.s][styles] : cptStyle;
}
else {
return this.each(function() {
@@ -1001,11 +1047,9 @@
while ((elem = this[ i++ ])) {
classList = elem.classList;
- if(classList) {
- if(classList.contains(className))
- return true;
- }
- else if (elem.nodeType === 1 && (_strSpace + stripAndCollapse(elem.className + _strEmpty) + _strSpace).indexOf(classNamePrepared) > -1 )
+ if(classList && classList.contains(className))
+ return true;
+ else if (elem.nodeType === 1 && (_strSpace + stripAndCollapse(elem.className + _strEmpty) + _strSpace).indexOf(classNamePrepared) > -1)
return true;
}
@@ -1109,8 +1153,9 @@
},
attr : function(attrName, value) {
- for(var i = 0; i < this[LEXICON.l]; i++) {
- var el = this[i];
+ var i = 0;
+ var el;
+ while (el = this[i++]) {
if(value === undefined)
return el.getAttribute(attrName);
el.setAttribute(attrName, value);
@@ -1142,8 +1187,9 @@
},
scrollLeft : function(value) {
- for(var i = 0; i < this[LEXICON.l]; i++) {
- var el = this[i];
+ var i = 0;
+ var el;
+ while (el = this[i++]) {
if(value === undefined)
return el[_strScrollLeft];
el[_strScrollLeft] = value;
@@ -1152,8 +1198,9 @@
},
scrollTop : function(value) {
- for(var i = 0; i < this[LEXICON.l]; i++) {
- var el = this[i];
+ var i = 0;
+ var el;
+ while (el = this[i++]) {
if(value === undefined)
return el[_strScrollTop];
el[_strScrollTop] = value;
@@ -1275,17 +1322,15 @@
extend(FakejQuery, {
extend : extend,
- type : type,
- isArray : isArray,
+ inArray : inArray,
isEmptyObject : isEmptyObject,
isPlainObject : isPlainObject,
- inArray : inArray,
each : each
});
return FakejQuery;
- })(COMPATIBILITY);
- var INSTANCES = (function(compatibility) {
+ })();
+ var INSTANCES = (function() {
var _targets = [ ];
var _instancePropertyString = '__overlayScrollbars__';
@@ -1312,7 +1357,7 @@
_targets.push(target);
}
else {
- var index = compatibility.inA(target, _targets);
+ var index = COMPATIBILITY.inA(target, _targets);
if (index > -1) {
if(argLen > 1) {
//unregister instance
@@ -1327,8 +1372,8 @@
}
}
}
- })(COMPATIBILITY);
- var PLUGIN = (function(framework, compatibility, instances) {
+ })();
+ var PLUGIN = (function() {
var _pluginsGlobals;
var _pluginsAutoUpdateLoop;
var _pluginsExtensions = [ ];
@@ -1407,7 +1452,7 @@
if(!obj.hasOwnProperty(key))
continue;
val = obj[key];
- valType = framework.type(val);
+ valType = COMPATIBILITY.type(val);
if(valType == TYPES.a)
obj[key] = val[template ? 1 : 0];
else if(valType == TYPES.o)
@@ -1415,7 +1460,7 @@
}
return obj;
};
- return recursive(framework.extend(true, { }, optionsDefaultsAndTemplate));
+ return recursive(FRAMEWORK.extend(true, { }, optionsDefaultsAndTemplate));
};
return {
@@ -1437,16 +1482,16 @@
*/
v : function (obj, template, writeErrors, usePreparedValues, keepForeignProps) {
var validatedOptions = { };
- var objectCopy = framework.extend(true, { }, obj);
+ var objectCopy = FRAMEWORK.extend(true, { }, obj);
var checkObjectProps = function(data, template, validatedOptions, prevPropName) {
for (var prop in template) {
if (template.hasOwnProperty(prop) && data.hasOwnProperty(prop)) {
var isValid = false;
var templateValue = template[prop];
- var templateValueType = framework.type(templateValue);
- var templateTypes = framework.type(templateValue) != TYPES.a ? [ templateValue ] : templateValue;
+ var templateValueType = COMPATIBILITY.type(templateValue);
+ var templateTypes = COMPATIBILITY.type(templateValue) != TYPES.a ? [ templateValue ] : templateValue;
var dataValue = data[prop];
- var dataValueType = framework.type(dataValue);
+ var dataValueType = COMPATIBILITY.type(dataValue);
var propPrefix = prevPropName ? prevPropName + "." : "";
var error = "The option \"" + propPrefix + prop + "\" wasn't set, because";
var errorPossibleTypes = [ ];
@@ -1464,15 +1509,15 @@
if(templateValueType == TYPES.o) {
validatedOptions[prop] = { };
checkObjectProps(dataValue, templateValue, validatedOptions[prop], propPrefix + prop);
- if(framework.isEmptyObject(dataValue))
+ if(FRAMEWORK.isEmptyObject(dataValue))
delete data[prop];
}
else {
for(i = 0; i < templateTypes.length; i++) {
currType = templateTypes[i];
- templateValueType = framework.type(currType);
+ templateValueType = COMPATIBILITY.type(currType);
//if currtype is string and starts with restrictedStringPrefix and end with restrictedStringSuffix
- isRestrictedValue = templateValueType == TYPES.s && framework.inArray(currType, possibleTemplateTypes) === -1;
+ isRestrictedValue = templateValueType == TYPES.s && FRAMEWORK.inArray(currType, possibleTemplateTypes) === -1;
if(isRestrictedValue) {
errorPossibleTypes.push(TYPES.s);
@@ -1521,8 +1566,8 @@
//add values which aren't specified in the template to the finished validated object to prevent them from being discarded
if(keepForeignProps)
- framework.extend(true, validatedOptions, objectCopy);
- else if(!framework.isEmptyObject(objectCopy) && writeErrors)
+ FRAMEWORK.extend(true, validatedOptions, objectCopy);
+ else if(!FRAMEWORK.isEmptyObject(objectCopy) && writeErrors)
console.warn("The following options are discarded due to invalidity:\r\n" + JSON.stringify(objectCopy, null, 2));
return validatedOptions;
@@ -1541,7 +1586,7 @@
}
/**
- * The global object for the hide scrollbars objects. It contains resources which every hide scrollbars object needs. This object is initialized only once: if the first hide scrollbars object gets initialized.
+ * The global object for the OverlayScrollbars objects. It contains resources which every OverlayScrollbars object needs. This object is initialized only once: if the first OverlayScrollbars object gets initialized.
* @param defaultOptions
* @constructor
*/
@@ -1550,23 +1595,24 @@
var strOverflow = 'overflow';
var strHidden = 'hidden';
var strScroll = 'scroll';
- var bodyElement = framework('body');
- var scrollbarDummyElement = framework('
');
+ var bodyElement = FRAMEWORK('body');
+ var scrollbarDummyElement = FRAMEWORK('');
var scrollbarDummyElement0 = scrollbarDummyElement[0];
- var dummyContainerChild = framework(scrollbarDummyElement.children('div').eq(0));
+ var dummyContainerChild = FRAMEWORK(scrollbarDummyElement.children('div').eq(0));
bodyElement.append(scrollbarDummyElement);
-
+ scrollbarDummyElement.hide().show(); //fix IE8 bug (incorrect measuring)
+
var nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement0);
var nativeScrollbarIsOverlaid = {
x: nativeScrollbarSize.x === 0,
y: nativeScrollbarSize.y === 0
};
- framework.extend(_base, {
+ FRAMEWORK.extend(_base, {
defaultOptions : defaultOptions,
autoUpdateLoop : false,
- autoUpdateRecommended : !compatibility.mO(),
+ autoUpdateRecommended : !COMPATIBILITY.mO(),
nativeScrollbarSize : nativeScrollbarSize,
nativeScrollbarIsOverlaid : nativeScrollbarIsOverlaid,
nativeScrollbarStyling : (function() {
@@ -1663,8 +1709,8 @@
} catch (e) { }
return supportsPassive;
})(),
- supportResizeObserver : !!compatibility.rO(),
- supportMutationObserver : !!compatibility.mO()
+ supportResizeObserver : !!COMPATIBILITY.rO(),
+ supportMutationObserver : !!COMPATIBILITY.mO()
});
scrollbarDummyElement.removeAttr(LEXICON.s).remove();
@@ -1675,13 +1721,13 @@
return;
var abs = Math.abs;
- var windowWidth = compatibility.wW();
- var windowHeight = compatibility.wH();
+ var windowWidth = COMPATIBILITY.wW();
+ var windowHeight = COMPATIBILITY.wH();
var windowDpr = getWindowDPR();
var onResize = function() {
- if(instances().length > 0) {
- var newW = compatibility.wW();
- var newH = compatibility.wH();
+ if(INSTANCES().length > 0) {
+ var newW = COMPATIBILITY.wW();
+ var newH = COMPATIBILITY.wH();
var deltaW = newW - windowWidth;
var deltaH = newH - windowHeight;
@@ -1708,9 +1754,9 @@
newScrollbarSize = _base.nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement[0]);
scrollbarDummyElement.remove();
if(oldScrollbarSize.x !== newScrollbarSize.x || oldScrollbarSize.y !== newScrollbarSize.y) {
- framework.each(instances(), function () {
- if(instances(this))
- instances(this).update('zoom');
+ FRAMEWORK.each(INSTANCES(), function () {
+ if(INSTANCES(this))
+ INSTANCES(this).update('zoom');
});
}
}
@@ -1733,7 +1779,7 @@
return window.devicePixelRatio || (dDPI / sDPI);
}
- framework(window).on('resize', onResize);
+ FRAMEWORK(window).on('resize', onResize);
})();
function detectCSSFeature(featurename) {
@@ -1769,7 +1815,7 @@
}
/**
- * The object which manages the auto update loop for all hide scrollbars objects. This object is initialized only once: if the first hide scrollbars object gets initialized.
+ * The object which manages the auto update loop for all OverlayScrollbars objects. This object is initialized only once: if the first OverlayScrollbars object gets initialized.
* @constructor
*/
function OverlayScrollbarsAutoUpdateLoop(globals) {
@@ -1783,7 +1829,7 @@
var _loopIsActive = false;
var _loopIntervalDefault = 33;
var _loopInterval = _loopIntervalDefault;
- var _loopTimeOld = compatibility.now();
+ var _loopTimeOld = COMPATIBILITY.now();
var _loopID;
/**
@@ -1791,10 +1837,10 @@
*/
var loop = function() {
if(_loopingInstances[_strLength] > 0 && _loopIsActive) {
- _loopID = compatibility.rAF()(function () {
+ _loopID = COMPATIBILITY.rAF()(function () {
loop();
});
- var timeNew = compatibility.now();
+ var timeNew = COMPATIBILITY.now();
var timeDelta = timeNew - _loopTimeOld;
if (timeDelta > _loopInterval) {
@@ -1806,7 +1852,7 @@
var instanceOptions = instance.options();
var instanceAutoUpdateAllowed = instanceOptions[_strAutoUpdate];
var instanceAutoUpdateInterval = Math.max(1, instanceOptions[_strAutoUpdateInterval]);
- var now = compatibility.now();
+ var now = COMPATIBILITY.now();
if ((instanceAutoUpdateAllowed === true || instanceAutoUpdateAllowed === null) && (now - _loopingInstancesIntervalCache[i]) > instanceAutoUpdateInterval) {
instance.update('auto');
_loopingInstancesIntervalCache[i] = new Date(now += instanceAutoUpdateInterval);
@@ -1826,9 +1872,9 @@
* @param instance The instance which shall be updated in a loop automatically.
*/
_base.add = function(instance) {
- if(framework.inArray(instance, _loopingInstances) === -1) {
+ if(FRAMEWORK.inArray(instance, _loopingInstances) === -1) {
_loopingInstances.push(instance);
- _loopingInstancesIntervalCache.push(compatibility.now());
+ _loopingInstancesIntervalCache.push(COMPATIBILITY.now());
if (_loopingInstances[_strLength] > 0 && !_loopIsActive) {
_loopIsActive = true;
globals.autoUpdateLoop = _loopIsActive;
@@ -1842,7 +1888,7 @@
* @param instance The instance which shall be updated in a loop automatically.
*/
_base.remove = function(instance) {
- var index = framework.inArray(instance, _loopingInstances);
+ var index = FRAMEWORK.inArray(instance, _loopingInstances);
if(index > -1) {
//remove from loopingInstances list
_loopingInstancesIntervalCache.splice(index, 1);
@@ -1853,7 +1899,7 @@
_loopIsActive = false;
globals.autoUpdateLoop = _loopIsActive;
if(_loopID !== undefined) {
- compatibility.cAF()(_loopID);
+ COMPATIBILITY.cAF()(_loopID);
_loopID = -1;
}
}
@@ -1877,15 +1923,15 @@
return;
//if passed element is already initialized: set passed options if there are any and return its instance
- if(instances(pluginTargetElement)) {
- var inst = instances(pluginTargetElement);
+ if(INSTANCES(pluginTargetElement)) {
+ var inst = INSTANCES(pluginTargetElement);
inst.options(options);
return inst;
}
//make correct instanceof
var _base = new window[PLUGINNAME]();
- var _frameworkProto = framework[LEXICON.p];
+ var _frameworkProto = FRAMEWORK[LEXICON.p];
//globals:
var _nativeScrollbarIsOverlaid;
@@ -2034,8 +2080,8 @@
var _documentElement;
var _htmlElement;
var _bodyElement;
- var _targetElement; //the target element of this hide scrollbars object
- var _hostElement; //the host element of this hide scrollbars object -> may be the same as targetElement
+ var _targetElement; //the target element of this OverlayScrollbars object
+ var _hostElement; //the host element of this OverlayScrollbars object -> may be the same as targetElement
var _sizeAutoObserverElement; //observes size auto changes
var _sizeObserverElement; //observes size and padding changes
var _contentGlueElement; //has always the size of the content element
@@ -2175,7 +2221,7 @@
*/
function addResizeObserver(targetElement, onElementResizedCallback) {
var constMaximum = 3333333;
- var resizeObserver = compatibility.rO();
+ var resizeObserver = COMPATIBILITY.rO();
var strAnimationStartEvent = 'animationstart mozAnimationStart webkitAnimationStart MSAnimationStart';
var strChildNodes = 'childNodes';
var callback = function () {
@@ -2203,9 +2249,9 @@
);
var observerElement = targetElement[0][strChildNodes][0][strChildNodes][0];
- var shrinkElement = framework(observerElement[strChildNodes][1]);
- var expandElement = framework(observerElement[strChildNodes][0]);
- var expandElementChild = framework(expandElement[0][strChildNodes][0]);
+ var shrinkElement = FRAMEWORK(observerElement[strChildNodes][1]);
+ var expandElement = FRAMEWORK(observerElement[strChildNodes][0]);
+ var expandElementChild = FRAMEWORK(expandElement[0][strChildNodes][0]);
var widthCache = observerElement[LEXICON.oW];
var heightCache = observerElement[LEXICON.oH];
var isDirty;
@@ -2245,16 +2291,16 @@
isDirty = currWidth != widthCache || currHeight != heightCache;
if (event && isDirty && !rAFId) {
- compatibility.cAF()(rAFId);
- rAFId = compatibility.rAF()(onResized);
+ COMPATIBILITY.cAF()(rAFId);
+ rAFId = COMPATIBILITY.rAF()(onResized);
}
else if(!event)
onResized();
reset();
if (event) {
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
}
return false;
};
@@ -2266,7 +2312,7 @@
observerElementCSS[_strBottom] = (nativeScrollbarSize.y * -factor);
observerElementCSS[_strLeft] = (-((nativeScrollbarSize.x + 1) * factor));
- framework(observerElement).css(observerElementCSS);
+ FRAMEWORK(observerElement).css(observerElementCSS);
expandElement.on(_strScroll, onScroll);
shrinkElement.on(_strScroll, onScroll);
targetElement.on(strAnimationStartEvent, function () {
@@ -2336,8 +2382,8 @@
targetElement.on(_strScroll, function (event) {
if (directionChanged())
update();
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
return false;
});
}
@@ -2568,7 +2614,7 @@
action();
_textareaUpdateIntervalID = setInterval(action, 1000 / 60);
}
- if (framework.inArray(keyCode, _textareaKeyDownKeyCodesList) === -1)
+ if (FRAMEWORK.inArray(keyCode, _textareaKeyDownKeyCodesList) === -1)
_textareaKeyDownKeyCodesList.push(keyCode);
}
@@ -2580,7 +2626,7 @@
var keyCode = event.keyCode;
if (textareaIsRestrictedKeyCode(keyCode))
return;
- var index = framework.inArray(keyCode, _textareaKeyDownKeyCodesList);
+ var index = FRAMEWORK.inArray(keyCode, _textareaKeyDownKeyCodesList);
if (index > -1)
_textareaKeyDownKeyCodesList.splice(index, 1);
if (_textareaKeyDownKeyCodesList.length === 0) {
@@ -2627,8 +2673,8 @@
function textareaOnScroll(event) {
_targetElement[_strScrollLeft](_rtlScrollBehavior.i && _normalizeRTLCache ? 9999999 : 0);
_targetElement[_strScrollTop](0);
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
return false;
}
@@ -2643,13 +2689,13 @@
var originalEvent = event.originalEvent || event;
var isTouchEvent = originalEvent.touches !== undefined;
- if (compatibility.mBtn(event) === 1 || isTouchEvent) {
+ if (COMPATIBILITY.mBtn(event) === 1 || isTouchEvent) {
if (_mutationObserverConnected) {
_resizeReconnectMutationObserver = true;
mutationObserversDisconnect();
}
- _resizeDragStartPosition = compatibility.page(event);
+ _resizeDragStartPosition = COMPATIBILITY.page(event);
_resizeDragStartSize.w = _hostElement[0][LEXICON.oW] - (!_isBorderBox ? _paddingX : 0);
_resizeDragStartSize.h = _hostElement[0][LEXICON.oH] - (!_isBorderBox ? _paddingY : 0);
@@ -2662,8 +2708,8 @@
if (_scrollbarCornerElement.setCapture)
_scrollbarCornerElement.setCapture();
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
}
}
@@ -2672,14 +2718,14 @@
* @param event The mouse move event.
*/
function scrollbarCornerOnResize(event) {
- var pageOffset = compatibility.page(event);
+ var pageOffset = COMPATIBILITY.page(event);
var hostElementCSS = { };
if (_resizeHorizontal || _resizeBoth)
hostElementCSS[_strWidth] = (_resizeDragStartSize.w + pageOffset.x - _resizeDragStartPosition.x);
if (_resizeVertical || _resizeBoth)
hostElementCSS[_strHeight] = (_resizeDragStartSize.h + pageOffset.y - _resizeDragStartPosition.y);
_hostElement.css(hostElementCSS);
- compatibility.stpP(event);
+ COMPATIBILITY.stpP(event);
}
/**
@@ -2710,7 +2756,7 @@
* @param event The select start event.
*/
function documentOnSelectStart(event) {
- compatibility.prvD(event);
+ COMPATIBILITY.prvD(event);
return false;
}
@@ -2731,8 +2777,8 @@
function bodyMinSizeChanged() {
var bodyMinSize = {};
if (_isBody && _contentArrangeElement) {
- bodyMinSize.w = parseIntToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strWidth));
- bodyMinSize.h = parseIntToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strHeight));
+ bodyMinSize.w = parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strWidth));
+ bodyMinSize.h = parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strHeight));
bodyMinSize.c = checkCacheDouble(bodyMinSize, _bodyMinSizeCache);
bodyMinSize.f = true; //flag for "measured at least once"
}
@@ -2757,7 +2803,7 @@
var currClassNames = _classNameCache !== undefined && _classNameCache !== null ? _classNameCache.split(_strSpace) : [_strEmpty];
//remove none theme from diff list to prevent update
- var idx = framework.inArray(_classNameThemeNone, diff);
+ var idx = FRAMEWORK.inArray(_classNameThemeNone, diff);
var curr = diff[i];
var i;
var v;
@@ -3048,7 +3094,7 @@
* @param preventSwallowing True if this method shall be executed event if it could be swallowed.
*/
function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) {
- var now = compatibility.now();
+ var now = COMPATIBILITY.now();
var swallow = _swallowUpdateLag > 0 && _initialized && (now - _lastUpdateTime) < _swallowUpdateLag && (!_heightAutoCache && !_widthAutoCache) && !preventSwallowing;
var displayIsHidden = _hostElement.is(':hidden');
var displayIsHiddenChanged = checkCacheSingle(displayIsHidden, _displayIsHiddenCache, force);
@@ -3248,14 +3294,14 @@
if (sizeAutoCapableChanged) {
if (sizeAutoCapable) {
if (_contentGlueElement === undefined) {
- _contentGlueElement = framework(generateDiv(_classNameContentGlueElement));
+ _contentGlueElement = FRAMEWORK(generateDiv(_classNameContentGlueElement));
_paddingElement.before(_contentGlueElement);
}
if (_sizeAutoObserverAdded) {
_sizeAutoObserverElement.show();
}
else {
- _sizeAutoObserverElement = framework(generateDiv(_classNameSizeAutoObserverElement));
+ _sizeAutoObserverElement = FRAMEWORK(generateDiv(_classNameSizeAutoObserverElement));
_contentGlueElement.before(_sizeAutoObserverElement);
var oldSize = {w: -1, h: -1};
addResizeObserver(_sizeAutoObserverElement, function () {
@@ -3304,10 +3350,10 @@
//detect padding:
var padding = {
c: force,
- t: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strTop)),
- r: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strRight)),
- b: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strBottom)),
- l: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strLeft))
+ t: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strTop)),
+ r: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strRight)),
+ b: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strBottom)),
+ l: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strLeft))
};
//width + height auto detecting var:
@@ -3360,19 +3406,19 @@
var updateBorderY = (heightAuto && _isBorderBox) || !_isBorderBox;
var border = {
c: force,
- t: updateBorderY ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strTop + strMinusWidth)) : 0,
- r: updateBorderX ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strRight + strMinusWidth)) : 0,
- b: updateBorderY ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strBottom + strMinusWidth)) : 0,
- l: updateBorderX ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strLeft + strMinusWidth)) : 0
+ t: updateBorderY ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strTop + strMinusWidth), true) : 0,
+ r: updateBorderX ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strRight + strMinusWidth), true) : 0,
+ b: updateBorderY ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strBottom + strMinusWidth), true) : 0,
+ l: updateBorderX ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strLeft + strMinusWidth), true) : 0
};
//detect margin:
var margin = {
c: force,
- t: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strTop)),
- r: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strRight)),
- b: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strBottom)),
- l: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strLeft))
+ t: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strTop)),
+ r: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strRight)),
+ b: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strBottom)),
+ l: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strLeft))
};
//detect css max width & height:
@@ -3384,7 +3430,26 @@
//vars to apply correct css
var contentElementCSS = { };
var contentGlueElementCSS = { };
-
+
+ //funcs
+ var getHostSize = function() {
+ return {
+ w: hostElement[LEXICON.cW],
+ h: hostElement[LEXICON.cH]
+ };
+ };
+ var getViewportSize = function() {
+ var brect = paddingElement.getBoundingClientRect()
+ return brect[_strWidth]
+ ? {
+ w: brect[_strWidth],
+ h: brect[_strHeight]
+ } : {
+ w: paddingElement[LEXICON.oW],
+ h: paddingElement[LEXICON.oH]
+ };
+ };
+
//set info for padding
_paddingX = padding.l + padding.r;
_paddingY = padding.t + padding.b;
@@ -3403,8 +3468,8 @@
margin.c = checkCacheTRBL(margin, _cssMarginCache);
//set info for css max value
- cssMaxValue.ih = parseIntToZeroOrNumber(cssMaxValue.h); //ih = integer height
- cssMaxValue.iw = parseIntToZeroOrNumber(cssMaxValue.w); //iw = integer width
+ cssMaxValue.ih = parseToZeroOrNumber(cssMaxValue.h); //ih = integer height
+ cssMaxValue.iw = parseToZeroOrNumber(cssMaxValue.w); //iw = integer width
cssMaxValue.ch = cssMaxValue.h.indexOf('px') > -1; //ch = correct height
cssMaxValue.cw = cssMaxValue.w.indexOf('px') > -1; //cw = correct width
cssMaxValue.c = checkCacheDouble(cssMaxValue, _cssMaxValueCache, force);
@@ -3447,10 +3512,7 @@
}
//viewport size is padding container because it never has padding, margin and a border.
- _viewportSize = {
- w: paddingElement[LEXICON.oW],
- h: paddingElement[LEXICON.oH]
- };
+ _viewportSize = getViewportSize();
//update Textarea
var textareaSize = _isTextarea ? textareaUpdate() : false;
@@ -3550,17 +3612,11 @@
viewportElementResetCSS[isRTLLeft] = wasWidthAuto ? _strEmpty : resetXTmp;
_viewportElement.css(viewportElementResetCSS);
//viewport size is padding container because it never has padding, margin and a border.
- _viewportSize = {
- w: paddingElement[LEXICON.oW],
- h: paddingElement[LEXICON.oH]
- };
+ _viewportSize = getViewportSize();
//measure and correct several sizes
//has to be clientSize because offsetSize respect borders.
- var hostSize = {
- w: hostElement[LEXICON.cW],
- h: hostElement[LEXICON.cH]
- };
+ var hostSize = getHostSize();
var contentGlueSize = {
w: Math.max(contentClientSize.w + padding.ax, hostSize.w - _paddingX) - (textareaDynWidth ? (_isTextarea && widthAuto ? _marginX + (!_isBorderBox ? _paddingX + _borderX : 0) : 0) : 0),
h: Math.max(contentClientSize.h + padding.ay, hostSize.h - _paddingY)
@@ -3595,12 +3651,12 @@
//if size is auto and host is smaller than size as min size, make content glue size -1 to make sure size changes will be detected (this is only needed if padding is 0)
if (widthAuto && (clientSize.w < _viewportSize.w || _isTextarea && !textareaAutoWrapping) && _paddingX === 0) {
if (_isTextarea)
- textareaCoverCSS[_strWidth] = parseIntToZeroOrNumber(_textareaCoverElement.css(_strWidth)) - 1;
+ textareaCoverCSS[_strWidth] = parseToZeroOrNumber(_textareaCoverElement.css(_strWidth)) - 1;
contentGlueElementCSS[_strWidth] -= 1;
}
if (heightAuto && (clientSize.h < _viewportSize.h || _isTextarea) && _paddingY === 0) {
if (_isTextarea)
- textareaCoverCSS[_strHeight] = parseIntToZeroOrNumber(_textareaCoverElement.css(_strHeight)) - 1;
+ textareaCoverCSS[_strHeight] = parseToZeroOrNumber(_textareaCoverElement.css(_strHeight)) - 1;
contentGlueElementCSS[_strHeight] -= 1;
}
@@ -3626,30 +3682,26 @@
//measure again, but this time all correct sizes:
var contentBCRect = contentMeasureElement.getBoundingClientRect();
+ var contentBCRectW = contentBCRect[_strWidth] || 0;
+ var contentBCRectH = contentBCRect[_strHeight] || 0;
var contentScrollSize = {
- w: Math.max(contentMeasureElement[LEXICON.sW], contentMeasureElementGuaranty[LEXICON.sW]),
- h: Math.max(contentMeasureElement[LEXICON.sH], contentMeasureElementGuaranty[LEXICON.sH])
+ w: Math.max(contentMeasureElement[LEXICON.sW], contentMeasureElementGuaranty[LEXICON.sW]) + parseToZeroOrNumber(contentBCRectW) - contentBCRectW,
+ h: Math.max(contentMeasureElement[LEXICON.sH], contentMeasureElementGuaranty[LEXICON.sH]) + parseToZeroOrNumber(contentBCRectH) - contentBCRectH
};
- if(hideOverflow4CorrectMeasuring)
- _contentElement.css(strOverflow, _strEmpty);
- if (contentBCRect.width) {
- var contentBCRectW = contentBCRect.width;
- var contentBCRectH = contentBCRect.height;
- var contentBCRectMargin = 0.001;
- contentScrollSize.w += parseIntToZeroOrNumber(contentBCRectW + contentBCRectMargin) - contentBCRectW;
- contentScrollSize.h += parseIntToZeroOrNumber(contentBCRectH + contentBCRectMargin) - contentBCRectH;
- }
contentScrollSize.c = contentSizeChanged = checkCacheDouble(contentScrollSize, _contentScrollSizeCache, force);
_contentScrollSizeCache = contentScrollSize;
+ if(hideOverflow4CorrectMeasuring)
+ _contentElement.css(strOverflow, _strEmpty);
+
+ //refresh viewport size after correct measuring
+ _viewportSize = getViewportSize();
+
//has to be clientSize because offsetSize respect borders.
- hostSize = {
- w: hostElement[LEXICON.cW],
- h: hostElement[LEXICON.cH]
- };
+ hostSize = getHostSize();
hostSizeChanged = checkCacheDouble(hostSize, _hostSizeCache);
_hostSizeCache = hostSize;
-
+
var overflowBehaviorIsVS = {
x: overflowBehavior.x === 'v-s',
y: overflowBehavior.y === 'v-s'
@@ -3662,21 +3714,14 @@
x: overflowBehavior.x === 's',
y: overflowBehavior.y === 's'
};
- /*
- * var overflowBehaviorIsH = {
- * x : overflowBehavior.x === 'h',
- * y : overflowBehavior.y === 'h'
- * };
- */
var overflowAmount = {
- x: Math.max(0, Math.round((contentScrollSize.w - hostSize.w + padding.ax) * 100) / 100),
- y: Math.max(0, Math.round((contentScrollSize.h - hostSize.h + padding.ay) * 100) / 100)
+ x: Math.max(0, Math.round((contentScrollSize.w - _viewportSize.w) * 100) / 100),
+ y: Math.max(0, Math.round((contentScrollSize.h - _viewportSize.h) * 100) / 100)
};
var hideOverflowForceTextarea = _isTextarea && (_viewportSize.w === 0 || _viewportSize.h === 0);
- if (hideOverflowForceTextarea) {
- overflowAmount.x = 0;
- overflowAmount.y = 0;
- }
+ var hideOverflowForceRounding = (_viewportElement[0].scrollLeftMax === 0 && overflowAmount.x > 0 && overflowAmount.x < 1) || (_viewportElement[0].scrollTopMax === 0 && overflowAmount.y > 0 && overflowAmount.y < 1);
+ if (hideOverflowForceTextarea || hideOverflowForceRounding)
+ overflowAmount.x = overflowAmount.y = 0;
var hasOverflow = {
x: overflowAmount.x > 0,
y: overflowAmount.y > 0
@@ -3749,7 +3794,7 @@
contentArrangeElementCSS[_strHeight] = hideOverflow.x ? arrangeContent.h : _strEmpty;
if (!_contentArrangeElement) {
- _contentArrangeElement = framework(generateDiv(_classNameContentArrangeElement));
+ _contentArrangeElement = FRAMEWORK(generateDiv(_classNameContentArrangeElement));
_viewportElement.prepend(_contentArrangeElement);
}
_contentArrangeElement.css(contentArrangeElementCSS);
@@ -3794,7 +3839,6 @@
resetScrollbarHidingY();
}
-
// if the scroll container is too small and if there is any overflow with not overlay scrollbar, make viewport element greater in size (Firefox hide Scrollbars fix)
// because firefox starts hiding scrollbars on too small elements
// with this behavior the overflow calculation may be incorrect or the scrollbars would appear suddenly
@@ -3883,10 +3927,10 @@
var scrollbarsVisibilityHidden = scrollbarsVisibility === 'h';
var scrollbarsVisibilityAuto = scrollbarsVisibility === 'a';
- var showScrollbarH = compatibility.bind(refreshScrollbarAppearance, 0, true, true, canScroll.x);
- var showScrollbarV = compatibility.bind(refreshScrollbarAppearance, 0, false, true, canScroll.y);
- var hideScrollbarH = compatibility.bind(refreshScrollbarAppearance, 0, true, false, canScroll.x);
- var hideScrollbarV = compatibility.bind(refreshScrollbarAppearance, 0, false, false, canScroll.y);
+ var showScrollbarH = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, true, true, canScroll.x);
+ var showScrollbarV = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, false, true, canScroll.y);
+ var hideScrollbarH = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, true, false, canScroll.x);
+ var hideScrollbarV = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, false, false, canScroll.y);
//manage class name which indicates scrollable overflow
if (hideOverflow.x || hideOverflow.y)
@@ -4148,12 +4192,12 @@
* Builds all scrollbars if they aren't already build.
*/
function buildScrollbars() {
- _scrollbarHorizontalElement = framework(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarHorizontal));
- _scrollbarHorizontalTrackElement = framework(generateDiv(_classNameScrollbarTrack));
- _scrollbarHorizontalHandleElement = framework(generateDiv(_classNameScrollbarHandle));
- _scrollbarVerticalElement = framework(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarVertical));
- _scrollbarVerticalTrackElement = framework(generateDiv(_classNameScrollbarTrack));
- _scrollbarVerticalHandleElement = framework(generateDiv(_classNameScrollbarHandle));
+ _scrollbarHorizontalElement = FRAMEWORK(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarHorizontal));
+ _scrollbarHorizontalTrackElement = FRAMEWORK(generateDiv(_classNameScrollbarTrack));
+ _scrollbarHorizontalHandleElement = FRAMEWORK(generateDiv(_classNameScrollbarHandle));
+ _scrollbarVerticalElement = FRAMEWORK(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarVertical));
+ _scrollbarVerticalTrackElement = FRAMEWORK(generateDiv(_classNameScrollbarTrack));
+ _scrollbarVerticalHandleElement = FRAMEWORK(generateDiv(_classNameScrollbarHandle));
_scrollbarHorizontalElement.append(_scrollbarHorizontalTrackElement);
_scrollbarHorizontalTrackElement.append(_scrollbarHorizontalHandleElement);
@@ -4180,7 +4224,7 @@
}
initScrollbarInteractivity(true);
initScrollbarInteractivity(false);
- _scrollbarCornerElement = framework(generateDiv(_classNameScrollbarCorner));
+ _scrollbarCornerElement = FRAMEWORK(generateDiv(_classNameScrollbarCorner));
_hostElement.append(_scrollbarCornerElement);
}
@@ -4207,17 +4251,17 @@
scrollDurationFactor = 1;
};
function documentKeyDown(event) {
- if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
+ if (FRAMEWORK.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
increaseTrackScrollAmount();
};
function documentKeyUp(event) {
- if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
+ if (FRAMEWORK.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
decreaseTrackScrollAmount();
};
function onMouseTouchDownContinue(event) {
var originalEvent = event.originalEvent || event;
var isTouchEvent = originalEvent.touches !== undefined;
- return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent;
+ return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : COMPATIBILITY.mBtn(event) === 1 || isTouchEvent;
};
function handleDragMove(event) {
if(!onMouseTouchDownContinue(event)) {
@@ -4228,7 +4272,7 @@
var trackLength = scrollbarVars.i.tl;
var handleLength = scrollbarVars.i.hl;
var scrollRange = scrollbarVars.i.ms;
- var scrollRaw = (_msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]) - mouseDownOffset; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
+ var scrollRaw = (_msieVersion && insideIFrame ? event['screen' + XY] : COMPATIBILITY.page(event)[xy]) - mouseDownOffset; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
var scrollDeltaPercent = scrollRaw / (trackLength - handleLength);
var scrollDelta = (scrollRange * scrollDeltaPercent);
scrollDelta = isFinite(scrollDelta) ? scrollDelta : 0;
@@ -4237,7 +4281,7 @@
_viewportElement[scroll](mouseDownScroll + scrollDelta);
if (!_supportPassiveEvents)
- compatibility.prvD(event);
+ COMPATIBILITY.prvD(event);
};
function documentMouseTouchUp(event) {
event = event || event.originalEvent;
@@ -4277,7 +4321,7 @@
mouseDownScroll = mouseDownScroll === undefined ? 0 : mouseDownScroll;
if (_isRTL && isHorizontal && !_rtlScrollBehavior.n || !_isRTL)
mouseDownScroll = mouseDownScroll < 0 ? 0 : mouseDownScroll;
- mouseDownOffset = _msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
+ mouseDownOffset = _msieVersion && insideIFrame ? event['screen' + XY] : COMPATIBILITY.page(event)[xy]; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
addClass(_bodyElement, _classNameDragging);
addClass(scrollbarVars.h, strActive);
@@ -4288,8 +4332,8 @@
.on(_strSelectStartEvent, documentOnSelectStart);
if(_msieVersion || !_documentMixed)
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
};
scrollbarVars.h.on(_strMouseTouchDownEvent, function(event) {
if (onMouseTouchDownContinue(event))
@@ -4355,7 +4399,7 @@
};
if (ctrlKey)
increaseTrackScrollAmount();
- mouseDownOffset = compatibility.page(event)[xy];
+ mouseDownOffset = COMPATIBILITY.page(event)[xy];
addClass(_bodyElement, _classNameDragging);
addClass(scrollbarVars.t, strActive);
@@ -4367,22 +4411,22 @@
.on(_strSelectStartEvent, documentOnSelectStart);
scrollAction();
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
}
- }).hover(function() { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll".
+ }).on(_strMouseTouchEnter, function() { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll".
if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) {
_scrollbarsAutoHideFlagScrollAndHovered = true;
refreshScrollbarsAutoHide(true);
}
- }, function() {
+ }).on(_strMouseTouchLeave, function() {
if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) {
_scrollbarsAutoHideFlagScrollAndHovered = false;
refreshScrollbarsAutoHide(false);
}
});
scrollbarVars.s.on(_strMouseTouchDownEvent, function(event) {
- compatibility.stpP(event);
+ COMPATIBILITY.stpP(event);
});
}
@@ -4502,8 +4546,8 @@
if (_supportTransform) {
transformOffset = isRTLisHorizontal ? -(trackLength - handleLength - offset) : offset; //in px
- transformOffset = (transformOffset / trackLength * 100) * (trackLength / handleLength); //in %
- translateValue = isHorizontal ? strTranslateBrace + transformOffset + '%, 0)' : strTranslateBrace + '0, ' + transformOffset + '%)';
+ //transformOffset = (transformOffset / trackLength * 100) * (trackLength / handleLength); //in %
+ translateValue = isHorizontal ? strTranslateBrace + transformOffset + 'px, 0)' : strTranslateBrace + '0, ' + transformOffset + 'px)';
handleCSS['-webkit-' + strTransform] = translateValue;
handleCSS['-moz-' + strTransform] = translateValue;
handleCSS['-ms-' + strTransform] = translateValue;
@@ -4578,7 +4622,7 @@
if(type(callback) == TYPES.f)
callback.call(_base, args);
- framework.each(_extensions, function() {
+ FRAMEWORK.each(_extensions, function() {
ext = this;
if(type(ext.on) == TYPES.f)
ext.on(extensionOnName, args);
@@ -4645,11 +4689,13 @@
/**
* Returns Zero or the number to which the value can be parsed.
* @param value The value which shall be parsed.
+ * @param toFloat Indicates whether the number shall be parsed to a float.
*/
- function parseIntToZeroOrNumber(value) {
- var num = window.parseInt(value);
+ function parseToZeroOrNumber(value, toFloat) {
+ var num = toFloat ? window.parseFloat(value) : window.parseInt(value);
return isNaN(num) ? 0 : num;
}
+
/**
* Gets several information of the textarea and returns them as a object or undefined if the browser doesn't support it.
@@ -4735,7 +4781,7 @@
(function() {
var key;
var attrs = '';
- if(framework.isPlainObject(classesOrAttrs)) {
+ if(FRAMEWORK.isPlainObject(classesOrAttrs)) {
for (key in classesOrAttrs)
attrs += (key === 'className' ? 'class' : key) + '="' + classesOrAttrs[key] + '" ';
}
@@ -4781,7 +4827,7 @@
var extendObjRoot = extendObj;
for(; i < splitsLength; i++)
extendObj = extendObj[splits[i]] = i + 1 < splitsLength ? { } : val;
- framework.extend(obj, extendObjRoot, true);
+ FRAMEWORK.extend(obj, extendObjRoot, true);
}
//==== Utils Cache ====//
@@ -4854,14 +4900,14 @@
* jQuery type method shortcut.
*/
function type(obj) {
- return framework.type(obj);
+ return COMPATIBILITY.type(obj);
}
/**
* jQuery extend method shortcut.
*/
function extend() {
- return framework.extend.apply(this, arguments);
+ return FRAMEWORK.extend.apply(this, arguments);
}
/**
@@ -4936,9 +4982,9 @@
}
if(!_isTextarea) {
_contentElement.find(imgElementSelector).each(function(i, el) {
- var index = compatibility.inA(el, _imgs);
+ var index = COMPATIBILITY.inA(el, _imgs);
if (index === -1)
- framework(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad);
+ FRAMEWORK(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad);
});
}
};
@@ -4951,7 +4997,7 @@
*/
_base.options = function (newOptions, value) {
//return current options if newOptions are undefined or empty
- if (framework.isEmptyObject(newOptions) || !framework.isPlainObject(newOptions)) {
+ if (FRAMEWORK.isEmptyObject(newOptions) || !FRAMEWORK.isPlainObject(newOptions)) {
if (type(newOptions) == TYPES.s) {
if (arguments.length >= 2) {
var option = { };
@@ -5059,10 +5105,10 @@
}
for(var i = 0; i < _imgs.length; i++)
- framework(_imgs[i]).off('load', imgOnLoad);
+ FRAMEWORK(_imgs[i]).off('load', imgOnLoad);
_imgs = undefined;
- instances(pluginTargetElement, 0);
+ INSTANCES(pluginTargetElement, 0);
callCallback("onDestroyed");
for (var property in _base)
@@ -5198,7 +5244,7 @@
var elementObjSettingsScrollValues = [strAlways, strNever, strIfNeeded];
var coordinatesIsElementObj = coordinates.hasOwnProperty('el');
var possibleElement = coordinatesIsElementObj ? coordinates.el : coordinates;
- var possibleElementIsJQuery = possibleElement instanceof framework || JQUERY ? possibleElement instanceof JQUERY : false;
+ var possibleElementIsJQuery = possibleElement instanceof FRAMEWORK || JQUERY ? possibleElement instanceof JQUERY : false;
var possibleElementIsHTMLElement = possibleElementIsJQuery ? false : isHTMLElement(possibleElement);
var checkSettingsStringValue = function (currValue, allowedValues) {
for (i = 0; i < allowedValues[strLength]; i++) {
@@ -5277,7 +5323,7 @@
rawScroll = rawScroll[strReplace](/%/g, mult + (maxScroll * (isRTLisX && _rtlScrollBehavior.n ? -1 : 1) / 100.0));
rawScroll = rawScroll[strReplace](/vw/g, mult + _viewportSize.w);
rawScroll = rawScroll[strReplace](/vh/g, mult + _viewportSize.h);
- amount = parseIntToZeroOrNumber(window.parseFloat(window.eval(rawScroll)).toFixed());
+ amount = parseToZeroOrNumber(parseToZeroOrNumber(window.eval(rawScroll), true).toFixed());
}
else {
amount = rawScroll;
@@ -5355,7 +5401,7 @@
currValue = marginTopRightBottomLeftArray[i];
currValueType = type(currValue);
if(currValueType == TYPES.b)
- result.push(currValue ? parseIntToZeroOrNumber(finalElement.css(_strMarginMinus + valueDirections[i])) : 0);
+ result.push(currValue ? parseToZeroOrNumber(finalElement.css(_strMarginMinus + valueDirections[i])) : 0);
else
result.push(currValueType == TYPES.n ? currValue : 0);
}
@@ -5371,7 +5417,7 @@
var marginDefault = [ 0, 0, 0, 0 ];
var marginType = type(margin);
var marginLength;
- finalElement = possibleElementIsJQuery ? possibleElement : framework(possibleElement);
+ finalElement = possibleElementIsJQuery ? possibleElement : FRAMEWORK(possibleElement);
if (finalElement[strLength] === 0)
return;
@@ -5559,7 +5605,7 @@
*/
_base.getState = function (stateProperty) {
var prepare = function (obj) {
- if (!framework.isPlainObject(obj))
+ if (!FRAMEWORK.isPlainObject(obj))
return obj;
var extended = extend(true, {}, obj);
var changePropertyName = function (from, to) {
@@ -5631,8 +5677,8 @@
if(!_extensions.hasOwnProperty(extName)) {
instance = registeredExtensionObj.extension.call(_base,
extend(true, { }, registeredExtensionObj.defaultOptions),
- framework,
- compatibility);
+ FRAMEWORK,
+ COMPATIBILITY);
if (instance) {
instanceContract = instance.contract;
@@ -5710,11 +5756,11 @@
_supportResizeObserver = globals.supportResizeObserver;
_supportMutationObserver = globals.supportMutationObserver;
_restrictedMeasuring = globals.restrictedMeasuring;
- _documentElement = framework(targetElement.ownerDocument);
- _windowElement = framework(_documentElement[0].defaultView || _documentElement[0].parentWindow);
+ _documentElement = FRAMEWORK(targetElement.ownerDocument);
+ _windowElement = FRAMEWORK(_documentElement[0].defaultView || _documentElement[0].parentWindow);
_htmlElement = findFirst(_documentElement, 'html');
_bodyElement = findFirst(_htmlElement, 'body');
- _targetElement = framework(targetElement);
+ _targetElement = FRAMEWORK(targetElement);
_isTextarea = _targetElement.is('textarea');
_isBody = _targetElement.is('body');
_documentMixed = _documentElement[0] !== document;
@@ -5743,7 +5789,7 @@
_contentElement = findFirst(_hostElement, _strDot + _classNameContentElement);
_viewportElement = findFirst(_hostElement, _strDot + _classNameViewportElement);
_paddingElement = findFirst(_hostElement, _strDot + _classNamePaddingElement);
- _textareaCoverElement = framework(generateDiv(_classNameTextareaCoverElement));
+ _textareaCoverElement = FRAMEWORK(generateDiv(_classNameTextareaCoverElement));
_contentElement.prepend(_textareaCoverElement);
_targetElement.on(_strScroll, textareaOnScroll)
@@ -5790,8 +5836,8 @@
//build mutation observers
if (_supportMutationObserver) {
- var mutationObserver = compatibility.mO();
- var contentLastUpdate = compatibility.now();
+ var mutationObserver = COMPATIBILITY.mO();
+ var contentLastUpdate = COMPATIBILITY.now();
var mutationTarget;
var mutationAttrName;
var contentTimeout;
@@ -5806,7 +5852,7 @@
var doUpdate = false;
//var doUpdateScrollbars = false;
var mutation;
- framework.each(mutations, function () {
+ FRAMEWORK.each(mutations, function () {
mutation = this;
mutationTarget = mutation.target;
mutationAttrName = mutation.attributeName;
@@ -5839,14 +5885,14 @@
var doUpdate = false;
var mutation;
- framework.each(mutations, function () {
+ FRAMEWORK.each(mutations, function () {
mutation = this;
doUpdate = isUnknownMutation(mutation);
return !doUpdate;
});
if (doUpdate) {
- now = compatibility.now();
+ now = COMPATIBILITY.now();
sizeAuto = (_heightAutoCache || _widthAutoCache);
action = function () {
if(!_destroyed) {
@@ -5879,7 +5925,7 @@
_viewportElement[_strScrollLeft](initBodyScroll.l);
_viewportElement[_strScrollTop](initBodyScroll.t);
}
- _sizeObserverElement = framework(generateDiv('os-resize-observer-host'));
+ _sizeObserverElement = FRAMEWORK(generateDiv('os-resize-observer-host'));
_hostElement.prepend(_sizeObserverElement);
addResizeObserver(_sizeObserverElement, hostOnResized);
@@ -5900,16 +5946,16 @@
//add extensions
if(type(extensions) == TYPES.s)
extensions = [ extensions ];
- if(framework.isArray(extensions))
- framework.each(extensions, function () {_base.addExt(this); });
- else if(framework.isPlainObject(extensions))
- framework.each(extensions, function (key, value) { _base.addExt(key, value); });
+ if(COMPATIBILITY.isA(extensions))
+ FRAMEWORK.each(extensions, function () {_base.addExt(this); });
+ else if(FRAMEWORK.isPlainObject(extensions))
+ FRAMEWORK.each(extensions, function (key, value) { _base.addExt(key, value); });
return _initialized;
}
if (construct(pluginTargetElement, options, extensions)) {
- instances(pluginTargetElement, _base);
+ INSTANCES(pluginTargetElement, _base);
return _base;
}
_base = undefined;
@@ -5931,9 +5977,9 @@
var arr = [ ];
var inst;
var result;
- if(framework.isPlainObject(options)) {
+ if(FRAMEWORK.isPlainObject(options)) {
if (pluginTargetElements && pluginTargetElements.length) {
- framework.each(pluginTargetElements, function () {
+ FRAMEWORK.each(pluginTargetElements, function () {
inst = this;
if(inst !== undefined)
arr.push(OverlayScrollbarsInstance(inst, options, extensions, _pluginsGlobals, _pluginsAutoUpdateLoop));
@@ -5945,8 +5991,8 @@
}
else if(pluginTargetElements) {
if(pluginTargetElements.length && pluginTargetElements.length > 0) {
- framework.each(pluginTargetElements, function() {
- inst = instances(this);
+ FRAMEWORK.each(pluginTargetElements, function() {
+ inst = INSTANCES(this);
if(options === '!') {
if(inst instanceof window[PLUGINNAME])
arr.push(inst);
@@ -5957,7 +6003,7 @@
result = arr.length > 1 ? arr : arr[0];
}
else
- result = instances(pluginTargetElements);
+ result = INSTANCES(pluginTargetElements);
}
return result;
};
@@ -5968,7 +6014,7 @@
*/
window[PLUGINNAME].globals = function () {
initOverlayScrollbarsStatics();
- var globals = framework.extend(true, { }, _pluginsGlobals);
+ var globals = FRAMEWORK.extend(true, { }, _pluginsGlobals);
delete globals['msie'];
return globals;
};
@@ -5981,10 +6027,10 @@
initOverlayScrollbarsStatics();
var currDefaultOptions = _pluginsGlobals.defaultOptions;
if(newDefaultOptions === undefined)
- return framework.extend(true, { }, currDefaultOptions);
+ return FRAMEWORK.extend(true, { }, currDefaultOptions);
//set the new default options
- _pluginsGlobals.defaultOptions = framework.extend(true, { }, currDefaultOptions , _pluginsOptions.v(newDefaultOptions, _pluginsOptions.t, true));
+ _pluginsGlobals.defaultOptions = FRAMEWORK.extend(true, { }, currDefaultOptions , _pluginsOptions.v(newDefaultOptions, _pluginsOptions.t, true));
};
/**
@@ -5998,15 +6044,15 @@
* @param defaultOptions The default options which shall be used for the registered extension.
*/
window[PLUGINNAME].extension = function(extensionName, extension, defaultOptions) {
- var extNameTypeString = framework.type(extensionName) == TYPES.s;
+ var extNameTypeString = COMPATIBILITY.type(extensionName) == TYPES.s;
var argLen = arguments[LEXICON.l];
var i = 0;
if(argLen < 1 || !extNameTypeString) {
//return a copy of all extension objects
- return framework.extend(true, { length : _pluginsExtensions[LEXICON.l] }, _pluginsExtensions);
+ return FRAMEWORK.extend(true, { length : _pluginsExtensions[LEXICON.l] }, _pluginsExtensions);
}
else if(extNameTypeString) {
- if(framework.type(extension) == TYPES.f) {
+ if(COMPATIBILITY.type(extension) == TYPES.f) {
//register extension
_pluginsExtensions.push({
name : extensionName,
@@ -6020,7 +6066,7 @@
if(argLen > 1)
_pluginsExtensions.splice(i, 1); //remove extension
else
- return framework.extend(true, { }, _pluginsExtensions[i]); //return extension with the given name
+ return FRAMEWORK.extend(true, { }, _pluginsExtensions[i]); //return extension with the given name
}
}
}
@@ -6028,7 +6074,7 @@
};
return window[PLUGINNAME];
- })(FRAMEWORK, COMPATIBILITY, INSTANCES);
+ })();
if(JQUERY && JQUERY.fn) {
/**
@@ -6047,7 +6093,6 @@
return PLUGIN(_elements, options);
};
}
-
return PLUGIN;
}
));
\ No newline at end of file
diff --git a/js/OverlayScrollbars.min.js b/js/OverlayScrollbars.min.js
index 328d61b..20d5bb8 100644
--- a/js/OverlayScrollbars.min.js
+++ b/js/OverlayScrollbars.min.js
@@ -2,12 +2,12 @@
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
- * Version: 1.5.2
+ * Version: 1.5.3
*
* Copyright KingSora.
* https://github.com/KingSora
*
* Released under the MIT license.
- * Date: 09.09.2018
+ * Date: 07.11.2018
*/
-!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t,t.document,undefined)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=e(t,t.document,undefined):e(t,t.document,undefined)}("undefined"!=typeof window?window:this,function(t,e,n){"use strict";var r,i,o,a="OverlayScrollbars",s={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},c={c:"class",s:"style",i:"id",l:"length",p:"prototype",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},u={wW:function(){return t.innerWidth||e.documentElement[c.cW]||e.body[c.cW]},wH:function(){return t.innerHeight||e.documentElement[c.cH]||e.body[c.cH]},mO:function(){return t.MutationObserver||t.WebKitMutationObserver||t.WebkitMutationObserver||t.MozMutationObserver||n},rO:function(){return t.ResizeObserver||t.WebKitResizeObserver||t.WebkitResizeObserver||t.MozResizeObserver||n},rAF:function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}},cAF:function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||function(e){return t.clearTimeout(e)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},prvD:function(t){t.preventDefault&&t.cancelable?t.preventDefault():t.returnValue=!1},page:function(t){var r="page",i="client",o="X",a="Y",s=((t=t.originalEvent||t).target||t.srcElement||e).ownerDocument||e,c=s.documentElement,u=s.body;if(t.touches!==n){var l=t.touches[0];return{x:l[r+o],y:l[r+a]}}return!t[r+o]&&t[i+o]&&null!=t[i+o]?{x:t[i+o]+(c&&c.scrollLeft||u&&u.scrollLeft||0)-(c&&c.clientLeft||u&&u.clientLeft||0),y:t[i+a]+(c&&c.scrollTop||u&&u.scrollTop||0)-(c&&c.clientTop||u&&u.clientTop||0)}:{x:t[r+o],y:t[r+a]}},mBtn:function(t){return t.which||t.button===n?t.which:1&t.button?1:2&t.button?3:4&t.button?2:0},inA:function(t,e){for(var n=0;n0?"\r\nValid strings are: [ "+W.join(", ").split(v).join(", ")+" ].":"")),delete t[c]}}};return u(c,e,a),o?r.extend(!0,a,c):!r.isEmptyObject(c)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(c,null,2)),a}});function A(){u||(u=new z(C.d)),f||(f=new E(u))}function z(a){var s=this,u="overflow",l="hidden",f="scroll",h=r("body"),d=r(''),v=d[0],p=r(d.children("div").eq(0));h.append(d);var y,m,x,w,b,g,O,M,S,C=E(v),A={x:0===C.x,y:0===C.y};function z(t){var r=!1,i="Webkit Moz ms O".split(" "),o=e.createElement("div"),a=null,s=0;if(t=t.toLowerCase(),o[c.s][t]!==n&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?y=S(m[w](b+5,m[x](".",b)),10):g>0?y=S(m[w](M+3,m[x](".",M)),10):O>0&&(y=S(m[w](O+5,m[x](".",O)),10)),y),cssCalc:function(){var t,n,r=e.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t0){var t=i.wW(),u=i.wH(),v=t-n,p=u-a;if(0===v&&0===p)return;var y,m=Math.round(t/(n/100)),x=Math.round(u/(a/100)),w=e(v),b=e(p),g=e(m),O=e(x),M=f(),S=w>2&&b>2,C=!l(g,O),A=S&&C&&(M!==c&&c>0),z=s.nativeScrollbarSize;A&&(h.append(d),y=s.nativeScrollbarSize=E(d[0]),d.remove(),z.x===y.x&&z.y===y.y||r.each(o(),function(){o(this)&&o(this).update("zoom")})),n=t,a=u,c=M}};r(t).on("resize",u)}function l(t,n){var r=e(t),i=e(n);return!(r===i||r+1===i||r-1===i)}function f(){var e=t.screen.deviceXDPI||0,n=t.screen.logicalXDPI||1;return t.devicePixelRatio||e/n}}()}function E(t){var e,o=this,a="autoUpdate",s=a+"Interval",u=c.l,l=[],f=[],h=!1,d=33,v=d,p=i.now(),y=function(){if(l[u]>0&&h){e=i.rAF()(function(){y()});var t=i.now(),r=t-p;if(r>v){p=t-r%v;for(var o=d,c=0;cb&&(m.update("auto"),f[c]=new Date(g+=b)),o=Math.max(1,Math.min(o,b))}}v=o}}else v=d};o.add=function(e){-1===r.inArray(e,l)&&(l.push(e),f.push(i.now()),l[u]>0&&!h&&(h=!0,t.autoUpdateLoop=h,y()))},o.remove=function(o){var a=r.inArray(o,l);a>-1&&(f.splice(a,1),l.splice(a,1),0===l[u]&&h&&(h=!1,t.autoUpdateLoop=h,e!==n&&(i.cAF()(e),e=-1)))}}function H(u,f,h,d,v){if(fi(u)){if(o(u)){var p=o(u);return p.options(f),p}var y,m,x,w,b,g,O,M,S,A,z,E,H,W,T,I,k,L,P,N,q,R,D,j,F,B,U,_,Q,V,X,Y,K,$,G,J,Z,tt,et,nt,rt,it,ot,at,st,ct,ut,lt,ft,ht,dt,vt,pt,yt,mt,xt,wt,bt,gt,Ot,Mt,St,Ct,At,zt,Et,Ht,Wt,Tt,It,kt,Lt,Pt,Nt,qt,Rt,Dt,jt,Ft,Bt,Ut,_t,Qt,Vt,Xt,Yt,Kt,$t,Gt,Jt,Zt,te,ee,ne,re,ie,oe,ae,se,ce,ue,le,fe,he,de,ve,pe,ye,me,xe,we,be,ge,Oe,Me,Se,Ce,Ae,ze,Ee,He,We=new t[a],Te=r[c.p],Ie={},ke={},Le={},Pe={},Ne={},qe=175,Re="-hidden",De="margin-",je="padding-",Fe="border-",Be="top",Ue="right",_e="bottom",Qe="left",Ve="min-",Xe="max-",Ye="width",Ke="height",$e="float",Ge="",Je="auto",Ze="scroll",tn="100%",en="x",nn="y",rn=".",on=" ",an="scrollbar",sn="-horizontal",cn="-vertical",un=Ze+"Left",ln=Ze+"Top",fn="mousedown touchstart",hn="mouseup touchend touchcancel",dn="mousemove touchmove",vn="mouseenter",pn="mouseleave",yn="keydown",mn="keyup",xn="selectstart",wn="transitionend webkitTransitionEnd oTransitionEnd",bn="__overlayScrollbarsRO__",gn="os-",On=gn+"html",Mn=gn+"host",Sn=Mn+"-textarea",Cn=Mn+"-"+an+sn+Re,An=Mn+"-"+an+cn+Re,zn=Mn+"-transition",En=Mn+"-rtl",Hn=Mn+"-resize-disabled",Wn=Mn+"-scrolling",Tn=Mn+"-overflow",In=Tn+"-x",kn=Tn+"-y",Ln=gn+"textarea",Pn=Ln+"-cover",Nn=gn+"padding",qn=gn+"viewport",Rn=qn+"-native-scrollbars-invisible",Dn=qn+"-native-scrollbars-overlaid",jn=gn+"content",Fn=gn+"content-arrange",Bn=gn+"content-glue",Un=gn+"size-auto-observer",_n=gn+"resize-observer",Qn=gn+"resize-observer-item",Vn=Qn+"-final",Xn=gn+"text-inherit",Yn=gn+an,Kn=Yn+"-track",$n=Kn+"-off",Gn=Yn+"-handle",Jn=Gn+"-off",Zn=Yn+"-unusable",tr=Yn+"-"+Je+Re,er=Yn+"-corner",nr=er+"-resize",rr=nr+"-both",ir=nr+sn,or=nr+cn,ar=Yn+sn,sr=Yn+cn,cr=gn+"dragging",ur=gn+"theme-none",lr={},fr="added removed on contract",hr={},dr=42,vr=[],pr=11,yr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],mr=[],xr={},wr={};if(We.sleep=function(){_=!0},We.update=function(t){var e,n,o=Si(t)==s.s,a="img",c="load";o?0===t.indexOf(Je)?(e=$r(),n=Kr(),(e||n)&&Zr(!1,n,!1,"+"==t.slice(-1))):"zoom"===t&&Zr(!0,!0):(t=_||t,_=!1,Zr(!1,!1,t,!0)),I||ut.find(a).each(function(t,e){-1===i.inA(e,vr)&&r(e).off(c,Qr).on(c,Qr)})},We.options=function(t,e){if(r.isEmptyObject(t)||!r.isPlainObject(t)){if(Si(t)==s.s){if(arguments.length>=2){var n={};return bi(n,t,e),ti(n),void Zr()}return wi(X,t)}return X}ti(t);var i=_||!1;_=!1,Zr(),_=i},We.destroy=function(){for(var t in T=!0,v.remove(We),zr(),Mr(it),N&&Mr(rt),lr)We.removeExt(t);Ei(it),ot!==n&&Ei(ot),ct!==n&&Ei(ct),N&&Ei(rt),z?(gr(nt,dn,Tr),gr(nt,vn,Hr),gr(nt,pn,Wr)):nt.off(dn,Tr).off(vn,Hr).off(pn,Wr),Ei(ht),Ei(pt),ft&&Ei(ft),Ae||Ur(),ut.contents().unwrap().unwrap().unwrap(),k&&zi(Z,On),I?(et.off(Ze,jr).off("drop",qr).off("focus",Rr).off("focusout",Dr),b>9||!w?et.off("input",Lr):et.off(yn,Pr).off(mn,Nr),Ei(lt),zi(et,Ln+on+Xn).unwrap().removeAttr(c.s),Ei(nt)):(zi(et,Mn),zi(nt,[Mn,Hn,En,Cn,An,zn,Wn,Tn,In,kn,ur,re].join(on)));for(var e=0;e0)e.x=t[0],e.y=t[1];else if(Si(t)==s.s||Si(t)==s.n)e.x=t,e.y=t;else if(Si(t)==s.o){for(var n in E=Si(t.n)==s.b?t.n:E,t=Ci({},t),m=0,t)t.hasOwnProperty(n)&&(m>2&&delete t[n],m++);var r=function(e){var n=e?H:W;for(m=0;m2){var y=r.substr(0,2);for(m=0;m/g,(v?"-":Ge)+tn))[p](/px/g,Ge))[p](/%/g,h+f*(d&&x.n?-1:1)/100))[p](/vw/g,h+Pe.w))[p](/vh/g,h+Pe.h),o=di(t.parseFloat(t.eval(r)).toFixed())}else o=r;if(o!==n&&!isNaN(o)&&Si(o)==s.n){var w=E&&d,b=l*(w&&x.n?-1:1),g=w&&x.i,O=w&&x.n;switch(b=g?f-b:b,i){case"+=":c=b+o;break;case"-=":c=b-o;break;case"*=":c=b*o;break;case"/=":c=b/o;break;default:c=o}c=g?f-c:c,c*=O?-1:1,c=d&&x.n?Math.min(0,Math.max(f,c)):Math.max(0,Math.min(f,c))}return c===l?n:c},Z=function(t,e,n,r){var i,o,a=[n,n],c=Si(t);if(c==e)t=[t,t];else if(c==s.a){if((i=t[F])>2||i<1)t=a;else for(1===i&&(t[1]=n),m=0;m=4?tt(nt):ct:ut==s.o?tt([nt[Be],nt[Ue],nt[_e],nt[Qe]]):ct,O=$(rt,B)?rt:"xy",M=Z(it,s.s,R,Q),S=Z(ot,s.s,P,_),C=nt;var lt={l:ke.cs,t:Le.cs},ft=at.offset(),ht=z.offset(),dt={x:M.x==D||O==nn,y:M.y==D||O==en};ht[Be]-=C[0],ht[Qe]-=C[3];var vt={x:Math.round(ht[Qe]-ft[Qe]+lt.l),y:Math.round(ht[Be]-ft[Be]+lt.t)};if(U&&(x.n||x.i||(vt.x=Math.round(ft[Qe]-ht[Qe]+lt.l)),x.n&&E&&(vt.x*=-1),x.i&&E&&(vt.x=Math.round(ft[Qe]-ht[Qe]+(ke.ms-lt.l)))),S.x!=P||S.y!=P||M.x==j||M.y==j||U){var pt=z[0],yt=A?pt.getBoundingClientRect():{width:pt[c.oW],height:pt[c.oH]},mt={w:yt[Ye]+C[3]+C[1],h:yt[Ke]+C[0]+C[2]},xt=function(t){var e=ci(t),n=e._wh,r=e.lt,i=e.xy,o=S[i]==(t&&U?P:L),a=S[i]==N,s=S[i]==q,c=M[i]==D,u=M[i]==j,l=Pe[n],f=ft[r],h=mt[n],d=ht[r],v=a?2:1,p=d+h/2,y=f+l/2,m=h<=l&&d>=f&&d+h<=f+l;c?dt[i]=!0:dt[i]||((s||u)&&(dt[i]=!!u&&m,o=hy:p0||k))if(k)st.animate(I,i);else{if(g={duration:i,complete:a},Si(o)==s.a){var wt={};wt[un]=o[0],wt[ln]=o[1],g.specialEasing=wt}else g.easing=o;st.animate(I,g)}else w&&st[un](I[un]),b&&st[ln](I[ln])},We.scrollStop=function(t,e,n){return st.stop(t,e,n),We},We.getElements=function(t){var e={target:et[0],host:nt[0],padding:at[0],viewport:st[0],content:ut[0],scrollbarHorizontal:{scrollbar:ht[0],track:dt[0],handle:vt[0]},scrollbarVertical:{scrollbar:pt[0],track:yt[0],handle:mt[0]},scrollbarCorner:ft[0]};return Si(t)==s.s?wi(e,t):e},We.getState=function(t){var e=function(t){if(!r.isPlainObject(t))return t;var e=Ci(!0,{},t),n=function(t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])};return n("w",Ye),n("h",Ke),delete e.c,e},n={sleeping:e(_)||!1,autoUpdate:e(!he),widthAuto:e(Mt),heightAuto:e(St),padding:e(zt),overflowAmount:e(Nt),hideOverflow:e(Ot),hasOverflow:e(gt),contentScrollSize:e(wt),viewportSize:e(Pe),hostSize:e(xt),documentMixed:e(L)};return Si(t)==s.s?wi(n,t):n},We.ext=function(t){var e,n=fr.split(" "),r=0;if(Si(t)==s.s){if(lr.hasOwnProperty(t))for(e=Ci(!0,{},lr[t]);r9||!w){t.prepend(xi(_n,xi({className:Qn,dir:"ltr"},xi(Qn,xi(Vn))+xi(Qn,xi({className:Vn,style:"width: 200%; height: 200%"})))));var v,p,y,m,g=t[0][l][0][l][0],O=r(g[l][1]),M=r(g[l][0]),S=r(M[0][l][0]),C=g[c.oW],A=g[c.oH],z=2,H=d.nativeScrollbarSize,W=function(){M[un](o)[ln](o),O[un](o)[ln](o)},T=function(){p=0,v&&(C=y,A=m,f())},I=function(t){return y=g[c.oW],m=g[c.oH],v=y!=C||m!=A,t&&v&&!p?(i.cAF()(p),p=i.rAF()(T)):t||T(),W(),t&&(i.prvD(t),i.stpP(t)),!1},k={},L={};L[Be]=-(H.y+1)*z,L[Ue]=H.x*-z,L[_e]=H.y*-z,L[Qe]=-(H.x+1)*z,r(g).css(L),M.on(Ze,I),O.on(Ze,I),t.on(u,function(){I(!1)}),k[Ye]=o,k[Ke]=o,S.css(k),W()}else{var P=J[0],N=P.attachEvent,q=b!==n;if(N)t.prepend(xi(_n)),Hi(t,rn+_n)[0].attachEvent("onresize",f);else{var R=P.createElement(s.o);R.setAttribute("tabindex","-1"),R.setAttribute(c.c,_n),R.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",f),t.document.documentElement.style.display="none"},R.type="text/html",q&&t.prepend(R),R.data="about:blank",q||t.prepend(R),t.on(u,f)}}if(t[0]===it[0]){var D=function(){var e=nt.css("direction"),n={},r=0,i=!1;return e!==Tt&&("ltr"===e?(n[Qe]=0,n[Ue]=Je,r=o):(n[Qe]=Je,n[Ue]=0,r=x.n?-o:x.i?0:o),it.children().eq(0).css(n),t[un](r)[ln](o),Tt=e,i=!0),i};D(),t.on(Ze,function(t){return D()&&Zr(),i.prvD(t),i.stpP(t),!1})}}function Mr(t){if(E){var e=t.contents()[0];e[bn].disconnect(),delete e[bn]}else Ei(t.children(rn+_n).eq(0))}function Sr(t){}function Cr(t){}function Ar(){de&&!he&&(le.observe(nt[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[c.i,c.c,c.s]}),fe.observe(I?et[0]:ut[0],{attributes:!0,attributeOldValue:!0,subtree:!I,childList:!I,characterData:!I,attributeFilter:I?["wrap","cols","rows"]:[c.i,c.c,c.s]}),he=!0)}function zr(){de&&he&&(le.disconnect(),fe.disconnect(),he=!1)}function Er(){if(!_){var t=it[0],e={w:t[c.sW],h:t[c.sH]};if(W){var n=Oi(e,$t);$t=e,n&&Zr(!0,!1)}else $t=e}}function Hr(){Oe&&ii(!0)}function Wr(){Oe&&!tt.hasClass(cr)&&ii(!1)}function Tr(){ge&&(ii(!0),clearTimeout(me),me=setTimeout(function(){ge&&!T&&ii(!1)},100))}function Ir(t){_||(Q!==n?clearTimeout(Q):((be||ge)&&ii(!0),yi()||Ai(nt,Wn),ui("onScrollStart",t)),ai(!0,st[un]()),ai(!1,st[ln]()),ui("onScroll",t),Q=setTimeout(function(){T||(kr(),ui("onScrollStop",t))},qe))}function kr(){clearTimeout(Q),Q=n,(be||ge)&&ii(!1),yi()||zi(nt,Wn)}function Lr(){Jr(),We.update(Je)}function Pr(t){var e=t.keyCode;if(!pi(e)){if(0===mr.length){var n=function(){Jr(),We.update(Je)};n(),ve=setInterval(n,1e3/60)}-1===r.inArray(e,mr)&&mr.push(e)}}function Nr(t){var e=t.keyCode;if(!pi(e)){var n=r.inArray(e,mr);n>-1&&mr.splice(n,1),0===mr.length&&(Jr(),We.update(Je),clearInterval(ve))}}function qr(){setTimeout(function(){T||(Jr(),We.update(Je))},50)}function Rr(){pe=!0}function Dr(){pe=!1,clearInterval(ve),mr=[],Jr(),We.update(Je)}function jr(t){return et[un](x.i&&ne?9999999:0),et[ln](0),i.prvD(t),i.stpP(t),!1}function Fr(t){if(!_){var e=(t.originalEvent||t).touches!==n;(1===i.mBtn(t)||e)&&(he&&(Ce=!0,zr()),xr=i.page(t),wr.w=nt[0][c.oW]-(P?0:q),wr.h=nt[0][c.oH]-(P?0:R),J.on(xn,_r).on(dn,Br).on(hn,Ur),Ai(tt,cr),ft.setCapture&&ft.setCapture(),i.prvD(t),i.stpP(t))}}function Br(t){var e=i.page(t),n={};(Ee||ze)&&(n[Ye]=wr.w+e.x-xr.x),(He||ze)&&(n[Ke]=wr.h+e.y-xr.y),nt.css(n),i.stpP(t)}function Ur(t){var e=t!==n;J.off(xn,_r).off(dn,Br).off(hn,Ur),zi(tt,cr),ft.releaseCapture&&ft.releaseCapture(),e&&(Ce&&Ar(),We.update(Je)),Ce=!1}function _r(t){return i.prvD(t),!1}function Qr(){Zr()}function Vr(){var t={};return k&&ct&&(t.w=di(ct.css(Ve+Ye)),t.h=di(ct.css(Ve+Ke)),t.c=Oi(t,se),t.f=!0),se=t,t.c||!1}function Xr(t,e){var i=e!==n&&null!==e?e.split(on):Ge,o=t!==n&&null!==t?t.split(on):Ge;if(i===Ge&&o===Ge)return!1;var a,s,c,u,l=hi(o,i),f=!1,h=ie!==n&&null!==ie?ie.split(on):[Ge],d=re!==n&&null!==re?re.split(on):[Ge],v=r.inArray(ur,l),p=l[a];for(v>-1&&l.splice(v,1),a=0;a0&&W&&s-K0?G:ur)),Vt&&(!0===Qt?(zr(),v.add(We)):null===Qt&&w?(zr(),v.add(We)):(v.remove(We),Ar())),Bt)if(Tt)if(ot===n&&(ot=r(xi(Bn)),at.before(ot)),N)rt.show();else{rt=r(xi(Un)),ot.before(rt);var fe={w:-1,h:-1};Or(rt,function(){var t={w:rt[0][c.oW],h:rt[0][c.oH]};Oi(t,fe)&&(W&&St&&t.h>0||Mt&&t.w>0?Zr():(W&&!St&&0===t.h||!Mt&&0===t.w)&&Zr()),fe=t}),N=!0,null!==O&&rt.css(Ke,O+"(100% + 1px)")}else N&&rt.hide();o&&(it.find("*").trigger(Ze),N&&rt.find("*").trigger(Ze));var de,ve=nt.css("direction"),ye=gi(ve,Wt,o),me=nt.css("box-sizing"),Se=gi(me,At,o),Ce={c:o,t:di(nt.css(je+Be)),r:di(nt.css(je+Ue)),b:di(nt.css(je+_e)),l:di(nt.css(je+Qe))};try{de=N?rt[0].getBoundingClientRect():null}catch(Ri){return}P="border-box"===me;var Te=(U="rtl"===ve)?Qe:Ue,ke=U?Ue:Qe,Le=nt[0],qe=at[0],Re=!1,rn=!(!N||"none"===nt.css($e))&&(0===Math.round(de.right-de.left)&&(!!vt||Le[c.cW]-q>0));if(Tt&&!rn){var an=Le[c.oW],sn=ot.css(Ye);ot.css(Ye,Je);var cn=Le[c.oW];ot.css(Ye,sn),(Re=an!==cn)||(ot.css(Ye,an+1),cn=Le[c.oW],ot.css(Ye,sn),Re=an!==cn)}var hn=(rn||Re)&&Tt&&!l,yn=gi(hn,Mt,o),mn=!hn&&Mt,xn=!(!N||l)&&0===Math.round(de.bottom-de.top),wn=gi(xn,St,o),bn=!xn&&St,gn="-"+Ye,On=hn&&P||!P,Mn=xn&&P||!P,Sn={c:o,t:Mn?di(nt.css(Fe+Be+gn)):0,r:On?di(nt.css(Fe+Ue+gn)):0,b:Mn?di(nt.css(Fe+_e+gn)):0,l:On?di(nt.css(Fe+Qe+gn)):0},Cn={c:o,t:di(nt.css(De+Be)),r:di(nt.css(De+Ue)),b:di(nt.css(De+_e)),l:di(nt.css(De+Qe))},An={h:String(nt.css(Xe+Ke)),w:String(nt.css(Xe+Ye))},zn={},Ln={};if(q=Ce.l+Ce.r,R=Ce.t+Ce.b,Ce.ax=vt?q:0,Ce.ay=vt?R:0,Ce.c=Mi(Ce,zt),D=Sn.l+Sn.r,j=Sn.t+Sn.b,Sn.c=Mi(Sn,Et),F=Cn.l+Cn.r,B=Cn.t+Cn.b,Cn.c=Mi(Cn,Ht),An.ih=di(An.h),An.iw=di(An.w),An.ch=An.h.indexOf("px")>-1,An.cw=An.w.indexOf("px")>-1,An.c=Oi(An,Ct,o),Wt=ve,At=me,Mt=hn,St=xn,zt=Ce,Et=Sn,Ht=Cn,Ct=An,ye&&N&&rt.css($e,ke),Ce.c||ye||pt||yn||wn||Se||Bt){var Pn={},Nn={};li(Ln,De,[-Ce.t,-Ce.r,-Ce.b,-Ce.l]),vt?(li(Pn,Ge,[Ce.t,Ce.r,Ce.b,Ce.l]),li(I?Nn:zn,je)):(li(Pn,Ge),li(I?Nn:zn,je,[Ce.t,Ce.r,Ce.b,Ce.l])),at.css(Pn),et.css(Nn)}Pe={w:qe[c.oW],h:qe[c.oH]};var qn=!!I&&Jr();if(xn&&(wn||pt||Se||An.c||Ce.c||Sn.c)?(An.cw&&(zn[Xe+Ke]=An.ch?An.ih-Ce.ay+(P?-j:R):Ge),zn[Ke]=Je):(wn||pt)&&(zn[Xe+Ke]=Ge,zn[Ke]=tn),hn&&(yn||pt||Se||An.c||Ce.c||Sn.c||ye)?(An.cw&&(zn[Xe+Ye]=An.cw?An.iw-Ce.ax+(P?-D:q)+(y.y?m.y:0):Ge),zn[Ye]=Je,Ln[Xe+Ye]=tn):(yn||pt)&&(zn[Xe+Ye]=Ge,zn[Ye]=tn,zn[$e]=Ge,Ln[Xe+Ye]=Ge),hn&&(An.cw||(zn[Xe+Ye]=Ge),Ln[Ye]=I&&Kt?qn.dw:Je,zn[Ye]=Je,zn[$e]=ke),xn&&(An.ch||(zn[Xe+Ke]=Ge),Ln[Ke]=I?ce?qn.dh:Je:ut[0][c.cH]),Tt&&ot.css(Ln),ut.css(zn),zn={},Ln={},t||e||ye||Se||pt||yn||hn||wn||xn||An.c||_t||Yt||mt||tt||C||$t||le||dt||o){var Rn="overflow",Dn=Rn+"-x",jn=Rn+"-y",_n="hidden",Qn="visible",Vn=H?y.x||y.y||Pe.w0&&(Ln[Ye]=Math.max(1,Ln[Ye]),Ln[Ke]=Math.max(1,Ln[Ke])),I&<.css(lr),ot.css(Ln)}hn&&(zn[Ye]=tn),!hn||P||he||(zn[$e]="none"),ut.css(zn),zn={};var fr=$n.getBoundingClientRect(),vr={w:Math.max($n[c.sW],Gn[c.sW]),h:Math.max($n[c.sH],Gn[c.sH])};if(Vn&&ut.css(Rn,Ge),fr.width){var pr=fr.width,yr=fr.height,mr=.001;vr.w+=di(pr+mr)-pr,vr.h+=di(yr+mr)-yr}vr.c=e=Oi(vr,wt,o),wt=vr,t=Oi(er={w:Le[c.cW],h:Le[c.cH]},xt),xt=er;var xr={x:"v-s"===Xt.x,y:"v-s"===Xt.y},wr={x:"v-h"===Xt.x,y:"v-h"===Xt.y},Mr={x:"s"===Xt.x,y:"s"===Xt.y},Er={x:Math.max(0,Math.round(100*(vr.w-er.w+Ce.ax))/100),y:Math.max(0,Math.round(100*(vr.h-er.h+Ce.ay))/100)},Ir=I&&(0===Pe.w||0===Pe.h);Ir&&(Er.x=0,Er.y=0);var kr={x:Er.x>0,y:Er.y>0},Lr={x:kr.x,y:kr.y};(xr.x||wr.x)&&(Lr.x=kr.y&&!xr.y&&!wr.y),(xr.y||wr.y)&&(Lr.y=kr.x&&!xr.x&&!wr.x),Lr.xs=!!Lr.x&&(Mr.x||xr.x),Lr.ys=!!Lr.y&&(Mr.y||xr.y);var Pr={x:kr.x&&Lr.xs,y:kr.y&&Lr.ys},Nr=Nt;if(Er.c=Oi(Er,Nt,en,nn,o),Nt=Er,kr.c=Oi(kr,gt,en,nn,o),gt=kr,Lr.c=Oi(Lr,Ot,en,nn,o),Ot=Lr,y.x||y.y){var qr="px solid transparent",Rr={},Dr={},jr=o;(kr.x||kr.y)&&(Dr.w=y.y&&kr.y?vr.w+m.y:Ge,Dr.h=y.x&&kr.x?vr.h+m.x:Ge,jr=gi(Dr,bt,o),bt=Dr),(kr.c||Lr.c||vr.c||ye||yn||wn||hn||xn||_t)&&(zn[De+ke]=zn[Fe+ke]=Ge,y.x&&kr.x&&Lr.xs?(zn[De+_e]=xn?Ut?Ge:m.x:Ge,zn[Fe+_e]=xn||Ut?Ge:m.x+qr):(Dr.h=zn[De+_e]=zn[Fe+_e]=Ge,jr=!0),y.y&&kr.y&&Lr.ys?(zn[De+Te]=hn?Ut?Ge:m.y:Ge,zn[Fe+Te]=Ut?Ge:m.y+qr):(Dr.w=zn[De+Te]=zn[Fe+Te]=Ge,jr=!0)),Ut&&(Dr.w=Dr.h=Ge,jr=!0),jr&&(Rr[Ye]=Lr.y?Dr.w:Ge,Rr[Ke]=Lr.x?Dr.h:Ge,ct||(ct=r(xi(Fn)),st.prepend(ct)),ct.css(Rr)),ut.css(zn)}var Br={};Pn={};if(t||kr.c||Lr.c||vr.c||Yt||Se||_t||ye||mt||wn){Br[ke]=Ge;var Ur=function(){Br[_e]=Ge,Ie.h=0},_r=function(){Br[Te]=Ge,Ie.w=0};if(kr.x&&Lr.xs?(Br[Dn]=Ze,Ut?Ur():(Br[_e]=-(y.x?m.x:M.x),Ie.h=y.x?m.y:0)):(Br[Dn]=Ge,Ur()),kr.y&&Lr.ys?(Br[jn]=Ze,Ut?_r():(Br[Te]=-(y.y?m.y:M.y),Ie.w=y.y?m.x:0)):(Br[jn]=Ge,_r()),(Pe.h-1,qi=Pi.y>-1;(Ni||qi)&&(qi&&st[ln](Pi.y),Ni&&(U&&ne&&x.i?st[un](0):st[un](Pi.x)))}Ft=bi}else I||(U&&x.i&&y.y&&kr.x&&ne&&(h.l+=Ie.w||0),st[un](h.l),st[ln](h.t));ye&&ui("onDirectionChanged",{isRTL:U,dir:ve}),t&&ui("onHostSizeChanged",{width:xt.w,height:xt.h}),e&&ui("onContentSizeChanged",{width:wt.w,height:wt.h}),(kr.c||Lr.c)&&ui("onOverflowChanged",{x:kr.x,y:kr.y,xScrollable:Lr.xs,yScrollable:Lr.ys,clipped:Lr.x||Lr.y}),Er.c&&ui("onOverflowAmountChanged",{x:Er.x,y:Er.y})}k&&(gt.c||se.c)&&(se.f||Vr(),y.y&>.x&&ut.css(Ve+Ye,se.w+m.y),y.x&>.y&&ut.css(Ve+Ke,se.h+m.x),se.c=!1),Cr(it),Cr(rt),ui("onUpdated",{forced:o})}}function ti(t){X=Ci(!0,{},X,C.v(t,C.t,!0)),Y=Ci(!0,{},Y,C.v(t,C.t,!1,!0))}function ei(){ht=r(xi(Yn+on+ar)),dt=r(xi(Kn)),vt=r(xi(Gn)),pt=r(xi(Yn+on+sr)),yt=r(xi(Kn)),mt=r(xi(Gn)),ht.append(dt),dt.append(vt),pt.append(yt),yt.append(mt),at.after(pt),at.after(ht),S&&(ht.on(wn,function(t){t.target===ht[0]&&(oi(!0),ai(!0,st[un]()))}),pt.on(wn,function(t){t.target===pt[0]&&(oi(!1),ai(!1,st[ln]()))})),ni(!0),ni(!1),ft=r(xi(er)),nt.append(ft)}function ni(t){var e,o,a,s=ci(t),c=G.top!==G,u=s.xy,l=s.XY,f=Ze+s.LT,h="active",d=1,v=[16,17];function p(){d=.5}function y(){d=1}function m(t){r.inArray(t.keyCode,v)>-1&&p()}function w(t){r.inArray(t.keyCode,v)>-1&&y()}function g(t){var e=(t.originalEvent||t).touches!==n;return!(_||yi()||!te||e&&!Me)&&(1===i.mBtn(t)||e)}function O(n){if(g(n)){var r=s.i.tl,a=s.i.hl,h=s.i.ms*(((b&&c?n["screen"+l]:i.page(n)[u])-o)/(r-a));h=isFinite(h)?h:0,U&&t&&!x.i&&(h*=-1),st[f](e+h),z||i.prvD(n)}else M(n)}function M(t){t=t||t.originalEvent,zi(tt,cr),zi(s.h,h),zi(s.t,h),zi(s.s,h),J.off(dn,O).off(hn,M).off(yn,m).off(mn,w).off(xn,_r),y(),e=n,o=n,a!==n&&(We.scrollStop(),clearTimeout(a),a=n);var r=nt[0].getBoundingClientRect();t.clientX>=r.left&&t.clientX<=r.right&&t.clientY>=r.top&&t.clientY<=r.bottom||Wr(),(be||ge)&&ii(!1)}function S(r){e=(e=st[f]())===n?0:e,(U&&t&&!x.n||!U)&&(e=e<0?0:e),o=b&&c?r["screen"+l]:i.page(r)[u],Ai(tt,cr),Ai(s.h,h),Ai(s.s,h),J.on(dn,O).on(hn,M).on(xn,_r),!b&&L||i.prvD(r),i.stpP(r)}s.h.on(fn,function(t){g(t)&&S(t)}),s.t.on(fn,function(e){if(g(e)){var r,c,l=Pe[s._wh],v=s.t.offset()[s.lt],y=e.ctrlKey,b=e.shiftKey,O=b&&y,C=!0,A="linear",z=function(){if(!T){var i=o-v,h=s.i.tl,p=s.i.ho,y=s.i.hl,m=s.i.ms,w=270*d,g=C?Math.max(400,w):w,M=m*((i-y/2)/(h-y)),E=U&&t&&(!x.i&&!x.n||ne),H=E?pi,W={};b?(M=isFinite(M)?M:0,U&&t&&!x.i&&(M=m-M),O?(W.n=!1,W[u]=M,We.scroll(W,130,A,function(){S(e)})):(st[f](M),S(e))):(r=C?H:r,c=E?r?p+y>=i:p<=i:r?p<=i:p+y>=i,W[u]=r?"-="+l:"+="+l,We.scrollStop(),We.scroll(W,w,A),c?(clearTimeout(a),We.scrollStop(),a=n):a=setTimeout(z,g),C=!1)}};y&&p(),o=i.page(e)[u],Ai(tt,cr),Ai(s.t,h),Ai(s.s,h),J.on(hn,M).on(yn,m).on(mn,w).on(xn,_r),z(),i.prvD(e),i.stpP(e)}}).hover(function(){(be||ge)&&(Se=!0,ii(!0))},function(){(be||ge)&&(Se=!1,ii(!1))}),s.s.on(fn,function(t){i.stpP(t)})}function ri(t,e,n){var r=t?Cn:An,i=t?ht:pt;e?zi(nt,r):Ai(nt,r),n?zi(i,Zn):Ai(i,Zn)}function ii(t,e){if(clearTimeout(ye),t)zi(ht,tr),zi(pt,tr);else{var n="active",r=function(){if(!Se&&!T){var t=vt.hasClass(n)||mt.hasClass(n);!t&&(be||ge||Oe)&&Ai(ht,tr),!t&&(be||ge||Oe)&&Ai(pt,tr)}};xe>0&&!0!==e?ye=setTimeout(r,xe):r()}}function oi(t){var e={},n=ci(t),r=1e6,i=Math.min(1,(xt[n._wh]-(It?t?q:R:0))/wt[n._wh]);e[n.wh]=Math.floor(100*i*r)/r+"%",yi()||n.h.css(e),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function ai(t,e){var n,r,i,o=U&&t,a={},s=ci(t),c="translate(",u="transform",l=st[0][Ze+s.WH]-st[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;x.n&&o&&(l*=-1),i=e/l,i=isNaN(i)?0:Math.min(1,i),s.i.ms=l,s.i.cs=e,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!x.i&&(d=h-f-d),d=Math.max(0,d),A?(r=(r=o?-(h-f-d):d)/h*100*(h/f),n=t?c+r+"%, 0)":c+"0, "+r+"%)",a["-webkit-"+u]=n,a["-moz-"+u]=n,a["-ms-"+u]=n,a["-o-"+u]=n,a[u]=n):a[s.lt]=d,yi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function si(t,e){var n=e?"removeClass":"addClass",r=t?yt:mt,i=t?$n:Jn;(t?dt:vt)[n](i),r[n](i)}function ci(t){return{wh:t?Ye:Ke,WH:t?"Width":"Height",lt:t?Qe:Be,LT:t?"Left":"Top",xy:t?en:nn,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?dt:yt,h:t?vt:mt,s:t?ht:pt,i:t?ke:Le}}function ui(t,e){if(W){var n,i=Y.callbacks[t],o=t;"on"===o.substr(0,2)&&(o=o.substr(2,1).toLowerCase()+o.substr(3)),Si(i)==s.f&&i.call(We,e),r.each(lr,function(){Si((n=this).on)==s.f&&n.on(o,e)})}}function li(t,e,r){r===n&&(r=[Ge,Ge,Ge,Ge]),t[e+Be]=r[0],t[e+Ue]=r[1],t[e+_e]=r[2],t[e+Qe]=r[3]}function fi(e){var n="ownerDocument",r="HTMLElement",i=e&&e[n]&&e[n].parentWindow||t;return typeof i[r]==s.o?e instanceof i[r]:e&&typeof e==s.o&&null!==e&&1===e.nodeType&&typeof e.nodeName==s.s}function hi(t,e){var n,r,i=[],o=[];for(n=0;nf&&(l=r+1,f=e);return{cR:h,cC:d,r:c,c:f,w:l,p:t,m:a}}}function pi(t){for(var e=0;e"+(e||Ge)+""}function wi(t,e){for(var n,r=e.split(rn),i=0;i9||!w?et.on("input",Lr):et.on(yn,Pr).on(mn,Nr)}else Ai(et,Mn),(nt=et).wrapInner(xi(jn)).wrapInner(xi(qn)).wrapInner(xi(Nn)),ut=Hi(nt,rn+jn),st=Hi(nt,rn+qn),at=Hi(nt,rn+Nn),ut.on(wn,function(t){!0!==Rt&&Gr((t=t.originalEvent||t).propertyName)&&Zr(Je)});if(ei(),z?br(st,Ze,Ir):st.on(Ze,Ir),g&&Ai(st,y.x&&y.y?Dn:Rn),de){var l,f,h,v,p,C,P=i.mO(),N=i.now();le=new P(function(t){if(W&&!_){var e,n=!1;r.each(t,function(){if(l=(e=this).target,f=e.attributeName,n=f===c.c?Xr(e.oldValue,l.className):f!==c.s||e.oldValue!==l[c.s].cssText)return!1}),n&&We.update(Je)}}),fe=new P(function(t){if(W&&!_){var e=!1;r.each(t,function(){return!(e=Yr(this))}),e&&(v=i.now(),p=St||Mt,C=function(){T||(N=v,I&&Jr(),p?Zr():We.update(Je))},clearTimeout(h),pr<=0||v-N>pr||!p?C():h=setTimeout(C,pr))}})}return k&&(Ai(Z,On),st[un](a.l),st[ln](a.t)),it=r(xi("os-resize-observer-host")),nt.prepend(it),Or(it,Er),Er(),We.update(Je),setTimeout(function(){S&&!T&&Ai(nt,zn)},333),W=!0,ui("onInitialized"),Si(o)==s.s&&(o=[o]),r.isArray(o)?r.each(o,function(){We.addExt(this)}):r.isPlainObject(o)&&r.each(o,function(t,e){We.addExt(t,e)}),W}}return t[a]=function(e,i,s){if(0===arguments.length)return this;A();var c,l,h=[];return r.isPlainObject(i)?e&&e.length?(r.each(e,function(){(c=this)!==n&&h.push(H(c,i,s,u,f))}),l=h.length>1?h:h[0]):l=H(e,i,s,u,f):e&&(e.length&&e.length>0?(r.each(e,function(){c=o(this),"!"===i?c instanceof t[a]&&h.push(c):h.push(c)}),l=h.length>1?h:h[0]):l=o(e)),l},t[a].globals=function(){A();var t=r.extend(!0,{},u);return delete t.msie,t},t[a].defaultOptions=function(t){A();var e=u.defaultOptions;if(t===n)return r.extend(!0,{},e);u.defaultOptions=r.extend(!0,{},e,C.v(t,C.t,!0))},t[a].extension=function(t,e,n){var i=r.type(t)==s.s,o=arguments[c.l],a=0;if(o<1||!i)return r.extend(!0,{length:S[c.l]},S);if(i)if(r.type(e)==s.f)S.push({name:t,extension:e,defaultOptions:n});else for(;a1))return r.extend(!0,{},S[a]);S.splice(a,1)}},t[a]}(function(r){var i=/[^\x20\t\r\n\f]+/g,o=Object[c.p].toString,a=" ",u="",l="scrollLeft",f="scrollTop",h=[],d={animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},v={swing:function(t,e,n,r,i){return.5-Math.cos(t*Math.PI)/2},linear:function(t,e,n,r,i){return t},easeInQuad:function(t,e,n,r,i){return r*(e/=i)*e+n},easeOutQuad:function(t,e,n,r,i){return-r*(e/=i)*(e-2)+n},easeInOutQuad:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e+n:-r/2*(--e*(e-2)-1)+n},easeInCubic:function(t,e,n,r,i){return r*(e/=i)*e*e+n},easeOutCubic:function(t,e,n,r,i){return r*((e=e/i-1)*e*e+1)+n},easeInOutCubic:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e+n:r/2*((e-=2)*e*e+2)+n},easeInQuart:function(t,e,n,r,i){return r*(e/=i)*e*e*e+n},easeOutQuart:function(t,e,n,r,i){return-r*((e=e/i-1)*e*e*e-1)+n},easeInOutQuart:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e*e+n:-r/2*((e-=2)*e*e*e-2)+n},easeInQuint:function(t,e,n,r,i){return r*(e/=i)*e*e*e*e+n},easeOutQuint:function(t,e,n,r,i){return r*((e=e/i-1)*e*e*e*e+1)+n},easeInOutQuint:function(t,e,n,r,i){return(e/=i/2)<1?r/2*e*e*e*e*e+n:r/2*((e-=2)*e*e*e*e+2)+n},easeInSine:function(t,e,n,r,i){return-r*Math.cos(e/i*(Math.PI/2))+r+n},easeOutSine:function(t,e,n,r,i){return r*Math.sin(e/i*(Math.PI/2))+n},easeInOutSine:function(t,e,n,r,i){return-r/2*(Math.cos(Math.PI*e/i)-1)+n},easeInExpo:function(t,e,n,r,i){return 0==e?n:r*Math.pow(2,10*(e/i-1))+n},easeOutExpo:function(t,e,n,r,i){return e==i?n+r:r*(1-Math.pow(2,-10*e/i))+n},easeInOutExpo:function(t,e,n,r,i){return 0==e?n:e==i?n+r:(e/=i/2)<1?r/2*Math.pow(2,10*(e-1))+n:r/2*(2-Math.pow(2,-10*--e))+n},easeInCirc:function(t,e,n,r,i){return-r*(Math.sqrt(1-(e/=i)*e)-1)+n},easeOutCirc:function(t,e,n,r,i){return r*Math.sqrt(1-(e=e/i-1)*e)+n},easeInOutCirc:function(t,e,n,r,i){return(e/=i/2)<1?-r/2*(Math.sqrt(1-e*e)-1)+n:r/2*(Math.sqrt(1-(e-=2)*e)+1)+n},easeInElastic:function(t,e,n,r,i){var o=1.70158,a=0,s=r;if(0==e)return n;if(1==(e/=i))return n+r;if(a||(a=.3*i),s0&&n-1 in e)}function C(t){return(t.match(i)||[]).join(a)}function A(t,n){for(var r=(t.parentNode||e).querySelectorAll(n)||[],i=r[c.l];i--;)if(r[i]==t)return!0;return!1}function z(t,e,n){if(y(n)==s.a)for(var r=0;r0?(r=t.q[0],I(t.el,r.props,r.duration,r.easing,r.complete,!0)):(n=g(t,h))>-1&&h.splice(n,1)}function T(t,e,n){e===l?t[e]=n:e===f?t[e]=n:E(t,e,n)}function I(t,e,i,o,a,s){var u,d,p,y,x,O,S=b(i),C={},A={},z=0;for(S?(o=i.easing,i.start,p=i.progress,y=i.step,x=i.specialEasing,a=i.complete,O=i.duration):O=i,x=x||{},O=O||400,o=o||"swing",s=s||!1;z0)N=r.now(),q=function(){for(u in E=r.now(),R=E-N,H=j.stop||R>=O,I=1-(Math.max(0,N+O-E)/O||0),A)k=parseFloat(C[u]),L=parseFloat(A[u]),P=(L-k)*v[x[u]||o](I,I*O,0,1,O)+k,T(t,u,P),m(y)&&y(P,{elem:t,prop:u,start:k,now:P,end:L,pos:I,options:{easing:o,speacialEasing:x,duration:O,complete:a,step:y},startTime:N});m(p)&&p({},I,Math.max(0,O-R)),H?(W(d),m(a)&&a()):j.frame=r.rAF()(q)},j.frame=r.rAF()(q);else{for(u in A)T(t,u,A[u]);W(d)}}}function k(t,e,n){for(var i,o,a,s=0;s0){if((o=i.q[0]).stop=!0,r.cAF()(o.frame),i.q.splice(0,1),n)for(a in o.props)T(t,a,o.props[a]);e?i.q=[]:W(i,!1)}break}}return M[c.p]={on:function(t,e){var n,r=(t=(t||u).match(i)||[u])[c.l],o=0;return this.each(function(){n=this;try{if(n.addEventListener)for(;o0;)i=i.childNodes[0];for(e=0;n[c.l]-e;i.firstChild===n[0]&&e++)i.appendChild(n[e]);var s=a?a.nextSibling:o.firstChild;return o.insertBefore(r,s),this},wrapInner:function(t){return this.each(function(){var e=M(this),n=e.contents();n[c.l]?n.wrapAll(t):e.append(t)})},wrap:function(t){return this.each(function(){M(this).wrapAll(t)})},css:function(e,r){var i,o,a,u=t.getComputedStyle;return y(e)==s.s?r===n?(i=this[0],a=u?u(i,null):i.currentStyle[e],u&&null!=a?a.getPropertyValue(e):i[c.s][e]):this.each(function(){E(this,e,r)}):this.each(function(){for(o in e)E(this,o,e[o])})},hasClass:function(t){for(var e,n,r=0,i=a+t+a;e=this[r++];)if(n=e.classList){if(n.contains(t))return!0}else if(1===e.nodeType&&(a+C(e.className+u)+a).indexOf(i)>-1)return!0;return!1},addClass:function(t){var e,r,o,s,c,l,f,h,d=0,v=0;if(t)for(e=t.match(i)||[];r=this[d++];)if(h=r.classList,f===n&&(f=h!==n),f)for(;c=e[v++];)h.add(c);else if(s=r.className+u,o=1===r.nodeType&&a+C(s)+a){for(;c=e[v++];)o.indexOf(a+c+a)<0&&(o+=c+a);s!==(l=C(o))&&(r.className=l)}return this},removeClass:function(t){var e,r,o,s,c,l,f,h,d=0,v=0;if(t)for(e=t.match(i)||[];r=this[d++];)if(h=r.classList,f===n&&(f=h!==n),f)for(;c=e[v++];)h.remove(c);else if(s=r.className+u,o=1===r.nodeType&&a+C(s)+a){for(;c=e[v++];)for(;o.indexOf(a+c+a)>-1;)o=o.replace(a+c+a,a);s!==(l=C(o))&&(r.className=l)}return this},hide:function(){return this.each(function(){this[c.s].display="none"})},show:function(){return this.each(function(){this[c.s].display="block"})},attr:function(t,e){for(var r=0;r=0?t:this[c.l]+t])},find:function(t){var e,n=[];return this.each(function(){var r=this.querySelectorAll(t);for(e=0;e-1){if(!(n>1))return i[a][o];delete t[o],i.splice(a,1)}}}));return l&&l.fn&&(l.fn.overlayScrollbars=function(t,e){var n=this;return l.isPlainObject(t)?(l.each(n,function(){f(this,t,e)}),n):f(n,t)}),f});
\ No newline at end of file
+!function(t,n){"function"==typeof define&&define.amd?define(function(){return n(t,t.document,undefined)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=n(t,t.document,undefined):n(t,t.document,undefined)}("undefined"!=typeof window?window:this,function(t,n,e){"use strict";var r,i,o,a,s="OverlayScrollbars",c={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},u={c:"class",s:"style",i:"id",l:"length",p:"prototype",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},l={wW:function(){return t.innerWidth||n.documentElement[u.cW]||n.body[u.cW]},wH:function(){return t.innerHeight||n.documentElement[u.cH]||n.body[u.cH]},mO:function(){return t.MutationObserver||t.WebKitMutationObserver||t.WebkitMutationObserver||t.MozMutationObserver||e},rO:function(){return t.ResizeObserver||t.WebKitResizeObserver||t.WebkitResizeObserver||t.MozResizeObserver||e},rAF:function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(n){return t.setTimeout(n,1e3/60)}},cAF:function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||t.msCancelAnimationFrame||function(n){return t.clearTimeout(n)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},prvD:function(t){t.preventDefault&&t.cancelable?t.preventDefault():t.returnValue=!1},page:function(t){var r="page",i="client",o="X",a="Y",s=((t=t.originalEvent||t).target||t.srcElement||n).ownerDocument||n,c=s.documentElement,u=s.body;if(t.touches!==e){var l=t.touches[0];return{x:l[r+o],y:l[r+a]}}return!t[r+o]&&t[i+o]&&null!=t[i+o]?{x:t[i+o]+(c&&c.scrollLeft||u&&u.scrollLeft||0)-(c&&c.clientLeft||u&&u.clientLeft||0),y:t[i+a]+(c&&c.scrollTop||u&&u.scrollTop||0)-(c&&c.clientTop||u&&u.clientTop||0)}:{x:t[r+o],y:t[r+a]}},mBtn:function(t){return t.which||t.button===e?t.which:1&t.button?1:2&t.button?3:4&t.button?2:0},inA:function(t,n){for(var e=0;e0&&e-1 in n)}function S(t){return(t.match(r)||[]).join(i)}function A(t,e){for(var r=(t.parentNode||n).querySelectorAll(e)||[],i=r[u.l];i--;)if(r[i]==t)return!0;return!1}function C(t,n,e){if(d(e)==c.a)for(var r=0;r0?(r=t.q[0],T(t.el,r.props,r.duration,r.easing,r.complete,!0)):(e=y(t,f))>-1&&f.splice(e,1)}function H(t,n,e){n===a||n===s?t[n]=e:z(t,n,e)}function T(t,n,r,i,o,c){var d,p,v,b,O,S,A=w(r),C={},z={},E=0;for(A?(i=r.easing,r.start,v=r.progress,b=r.step,O=r.specialEasing,o=r.complete,S=r.duration):S=r,O=O||{},S=S||400,i=i||"swing",c=c||!1;E0)P=l.now(),R=function(){for(d in T=l.now(),D=T-P,W=q.stop||D>=S,k=1-(Math.max(0,P+S-T)/S||0),z)L=parseFloat(C[d]),I=parseFloat(z[d]),N=(I-L)*h[O[d]||i](k,k*S,0,1,S)+L,H(t,d,N),m(b)&&b(N,{elem:t,prop:d,start:L,now:N,end:I,pos:k,options:{easing:i,speacialEasing:O,duration:S,complete:o,step:b},startTime:P});m(v)&&v({},k,Math.max(0,S-D)),W?(M(p),m(o)&&o()):q.frame=l.rAF()(R)},q.frame=l.rAF()(R);else{for(d in z)H(t,d,z[d]);M(p)}}}function W(t,n,e){for(var r,i,o,a=0;a0){if((i=r.q[0]).stop=!0,l.cAF()(i.frame),r.q.splice(0,1),e)for(o in i.props)H(t,o,i.props[o]);n?r.q=[]:M(r,!1)}break}}return g[u.p]={on:function(t,n){var e,i=(t=(t||o).match(r)||[o])[u.l],a=0;return this.each(function(){e=this;try{if(e.addEventListener)for(;a0;)i=i.childNodes[0];for(n=0;e[u.l]-n;i.firstChild===e[0]&&n++)i.appendChild(e[n]);var s=a?a.nextSibling:o.firstChild;return o.insertBefore(r,s),this},wrapInner:function(t){return this.each(function(){var n=g(this),e=n.contents();e[u.l]?e.wrapAll(t):n.append(t)})},wrap:function(t){return this.each(function(){g(this).wrapAll(t)})},css:function(n,r){var i,o,a,s=t.getComputedStyle;return d(n)==c.s?r===e?(i=this[0],a=s?s(i,null):i.currentStyle[n],s?null!=a?a.getPropertyValue(n):i[u.s][n]:a):this.each(function(){z(this,n,r)}):this.each(function(){for(o in n)z(this,o,n[o])})},hasClass:function(t){for(var n,e,r=0,a=i+t+i;n=this[r++];){if((e=n.classList)&&e.contains(t))return!0;if(1===n.nodeType&&(i+S(n.className+o)+i).indexOf(a)>-1)return!0}return!1},addClass:function(t){var n,a,s,c,u,l,f,h,d=0,p=0;if(t)for(n=t.match(r)||[];a=this[d++];)if(h=a.classList,f===e&&(f=h!==e),f)for(;u=n[p++];)h.add(u);else if(c=a.className+o,s=1===a.nodeType&&i+S(c)+i){for(;u=n[p++];)s.indexOf(i+u+i)<0&&(s+=u+i);c!==(l=S(s))&&(a.className=l)}return this},removeClass:function(t){var n,a,s,c,u,l,f,h,d=0,p=0;if(t)for(n=t.match(r)||[];a=this[d++];)if(h=a.classList,f===e&&(f=h!==e),f)for(;u=n[p++];)h.remove(u);else if(c=a.className+o,s=1===a.nodeType&&i+S(c)+i){for(;u=n[p++];)for(;s.indexOf(i+u+i)>-1;)s=s.replace(i+u+i,i);c!==(l=S(s))&&(a.className=l)}return this},hide:function(){return this.each(function(){this[u.s].display="none"})},show:function(){return this.each(function(){this[u.s].display="block"})},attr:function(t,n){for(var r,i=0;r=this[i++];){if(n===e)return r.getAttribute(t);r.setAttribute(t,n)}return this},removeAttr:function(t){return this.each(function(){this.removeAttribute(t)})},offset:function(){var e=this[0].getBoundingClientRect(),r=t.pageXOffset||n.documentElement[a],i=t.pageYOffset||n.documentElement[s];return{top:e.top+i,left:e.left+r}},position:function(){var t=this[0];return{top:t.offsetTop,left:t.offsetLeft}},scrollLeft:function(t){for(var n,r=0;n=this[r++];){if(t===e)return n[a];n[a]=t}return this},scrollTop:function(t){for(var n,r=0;n=this[r++];){if(t===e)return n[s];n[s]=t}return this},val:function(t){var n=this[0];return t?(n.value=t,this):n.value},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){return g(this[t>=0?t:this[u.l]+t])},find:function(t){var n,e=[];return this.each(function(){var r=this.querySelectorAll(t);for(n=0;n-1){if(!(e>1))return o[r][a];delete t[a],o.splice(r,1)}}}),v=function(){var r,i,o,a,h,v,y,m,x,w,b,g,O,S,A=[],C=(o=[c.b,c.n,c.s,c.a,c.o,c.f,c.z],a=" ",h=":",v=[c.z,c.s],y=c.n,m=[c.z,c.b],x=[!0,c.b],w=[!1,c.b],b=[null,[c.z,c.f]],O={className:["os-theme-dark",v],resize:["none","n:none b:both h:horizontal v:vertical"],sizeAutoCapable:x,clipAlways:x,normalizeRTL:x,paddingAbsolute:w,autoUpdate:[null,m],autoUpdateInterval:[33,y],nativeScrollbarsOverlaid:{showNativeScrollbars:w,initialize:x},overflowBehavior:{x:["scroll",g="v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden"],y:["scroll",g]},scrollbars:{visibility:["auto","v:visible h:hidden a:auto"],autoHide:["never","n:never s:scroll l:leave m:move"],autoHideDelay:[800,y],dragScrolling:x,clickScrolling:w,touchSupport:x},textarea:{dynWidth:w,dynHeight:w},callbacks:{onInitialized:b,onInitializationWithdrawn:b,onDestroyed:b,onScrollStart:b,onScroll:b,onScrollStop:b,onOverflowChanged:b,onOverflowAmountChanged:b,onDirectionChanged:b,onContentSizeChanged:b,onHostSizeChanged:b,onUpdated:b}},{d:(S=function(t){var n=function(e){var r,i,o;for(r in e)e.hasOwnProperty(r)&&(i=e[r],(o=l.type(i))==c.a?e[r]=i[t?1:0]:o==c.o&&(e[r]=n(i)));return e};return n(d.extend(!0,{},O))})(),t:S(!0),v:function(t,n,e,r,i){var s={},u=d.extend(!0,{},t),f=function(t,n,i,s){for(var u in n)if(n.hasOwnProperty(u)&&t.hasOwnProperty(u)){var p,v,y,m,x,w,b,g,O=!1,S=n[u],A=l.type(S),C=l.type(S)!=c.a?[S]:S,z=t[u],E=l.type(z),M=s?s+".":"",H='The option "'+M+u+"\" wasn't set, because",T=[],W=[];if(A==c.o)i[u]={},f(z,S,i[u],M+u),d.isEmptyObject(z)&&delete t[u];else{for(w=0;w0?"\r\nValid strings are: [ "+W.join(", ").split(h).join(", ")+" ].":"")),delete t[u]}}};return f(u,n,s),i?d.extend(!0,s,u):!d.isEmptyObject(u)&&e&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(u,null,2)),s}});function z(){r||(r=new E(C.d)),i||(i=new M(r))}function E(r){var i=this,o="overflow",a="hidden",s="scroll",c=d("body"),f=d(''),h=f[0],v=d(f.children("div").eq(0));c.append(f),f.hide().show();var y,m,x,w,b,g,O,S,A,C=M(h),z={x:0===C.x,y:0===C.y};function E(t){var r=!1,i="Webkit Moz ms O".split(" "),o=n.createElement("div"),a=null,s=0;if(t=t.toLowerCase(),o[u.s][t]!==e&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?y=A(m[w](b+5,m[x](".",b)),10):g>0?y=A(m[w](S+3,m[x](".",S)),10):O>0&&(y=A(m[w](O+5,m[x](".",O)),10)),y),cssCalc:function(){var t,e,r=n.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t0){var t=l.wW(),a=l.wH(),h=t-e,v=a-r;if(0===h&&0===v)return;var y,m=Math.round(t/(e/100)),x=Math.round(a/(r/100)),w=n(h),b=n(v),g=n(m),O=n(x),S=u(),A=w>2&&b>2,C=!s(g,O),z=A&&C&&(S!==o&&o>0),E=i.nativeScrollbarSize;z&&(c.append(f),y=i.nativeScrollbarSize=M(f[0]),f.remove(),E.x===y.x&&E.y===y.y||d.each(p(),function(){p(this)&&p(this).update("zoom")})),e=t,r=a,o=S}};d(t).on("resize",a)}function s(t,e){var r=n(t),i=n(e);return!(r===i||r+1===i||r-1===i)}function u(){var n=t.screen.deviceXDPI||0,e=t.screen.logicalXDPI||1;return t.devicePixelRatio||n/e}}()}function M(t){var n,r=this,i="autoUpdate",o=i+"Interval",a=u.l,s=[],c=[],f=!1,h=33,p=h,v=l.now(),y=function(){if(s[a]>0&&f){n=l.rAF()(function(){y()});var t=l.now(),r=t-v;if(r>p){v=t-r%p;for(var u=h,d=0;db&&(m.update("auto"),c[d]=new Date(g+=b)),u=Math.max(1,Math.min(u,b))}}p=u}}else p=h};r.add=function(n){-1===d.inArray(n,s)&&(s.push(n),c.push(l.now()),s[a]>0&&!f&&(f=!0,t.autoUpdateLoop=f,y()))},r.remove=function(r){var i=d.inArray(r,s);i>-1&&(c.splice(i,1),s.splice(i,1),0===s[a]&&f&&(f=!1,t.autoUpdateLoop=f,n!==e&&(l.cAF()(n),n=-1)))}}function H(r,i,o,a,h){if(fi(r)){if(p(r)){var v=p(r);return v.options(i),v}var y,m,x,w,b,g,O,S,A,z,E,M,H,T,W,k,L,I,N,P,R,D,j,q,F,B,U,_,Q,V,X,Y,K,$,G,J,Z,tt,nt,et,rt,it,ot,at,st,ct,ut,lt,ft,ht,dt,pt,vt,yt,mt,xt,wt,bt,gt,Ot,St,At,Ct,zt,Et,Mt,Ht,Tt,Wt,kt,Lt,It,Nt,Pt,Rt,Dt,jt,qt,Ft,Bt,Ut,_t,Qt,Vt,Xt,Yt,Kt,$t,Gt,Jt,Zt,tn,nn,en,rn,on,an,sn,cn,un,ln,fn,hn,dn,pn,vn,yn,mn,xn,wn,bn,gn,On,Sn,An,Cn,zn,En,Mn,Hn,Tn,Wn=new t[s],kn=d[u.p],Ln={},In={},Nn={},Pn={},Rn={},Dn=175,jn="-hidden",qn="margin-",Fn="padding-",Bn="border-",Un="top",_n="right",Qn="bottom",Vn="left",Xn="min-",Yn="max-",Kn="width",$n="height",Gn="float",Jn="",Zn="auto",te="scroll",ne="100%",ee="x",re="y",ie=".",oe=" ",ae="scrollbar",se="-horizontal",ce="-vertical",ue=te+"Left",le=te+"Top",fe="mousedown touchstart",he="mouseup touchend touchcancel",de="mousemove touchmove",pe="mouseenter",ve="mouseleave",ye="keydown",me="keyup",xe="selectstart",we="transitionend webkitTransitionEnd oTransitionEnd",be="__overlayScrollbarsRO__",ge="os-",Oe=ge+"html",Se=ge+"host",Ae=Se+"-textarea",Ce=Se+"-"+ae+se+jn,ze=Se+"-"+ae+ce+jn,Ee=Se+"-transition",Me=Se+"-rtl",He=Se+"-resize-disabled",Te=Se+"-scrolling",We=Se+"-overflow",ke=We+"-x",Le=We+"-y",Ie=ge+"textarea",Ne=Ie+"-cover",Pe=ge+"padding",Re=ge+"viewport",De=Re+"-native-scrollbars-invisible",je=Re+"-native-scrollbars-overlaid",qe=ge+"content",Fe=ge+"content-arrange",Be=ge+"content-glue",Ue=ge+"size-auto-observer",_e=ge+"resize-observer",Qe=ge+"resize-observer-item",Ve=Qe+"-final",Xe=ge+"text-inherit",Ye=ge+ae,Ke=Ye+"-track",$e=Ke+"-off",Ge=Ye+"-handle",Je=Ge+"-off",Ze=Ye+"-unusable",tr=Ye+"-"+Zn+jn,nr=Ye+"-corner",er=nr+"-resize",rr=er+"-both",ir=er+se,or=er+ce,ar=Ye+se,sr=Ye+ce,cr=ge+"dragging",ur=ge+"theme-none",lr={},fr="added removed on contract",hr={},dr=42,pr=[],vr=11,yr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],mr=[],xr={},wr={};if(Wn.sleep=function(){_=!0},Wn.update=function(t){var n,e,r=Ai(t)==c.s,i="img",o="load";r?0===t.indexOf(Zn)?(n=$r(),e=Kr(),(n||e)&&Zr(!1,e,!1,"+"==t.slice(-1))):"zoom"===t&&Zr(!0,!0):(t=_||t,_=!1,Zr(!1,!1,t,!0)),k||ut.find(i).each(function(t,n){-1===l.inA(n,pr)&&d(n).off(o,Qr).on(o,Qr)})},Wn.options=function(t,n){if(d.isEmptyObject(t)||!d.isPlainObject(t)){if(Ai(t)==c.s){if(arguments.length>=2){var e={};return bi(e,t,n),ti(e),void Zr()}return wi(X,t)}return X}ti(t);var r=_||!1;_=!1,Zr(),_=r},Wn.destroy=function(){for(var t in W=!0,h.remove(Wn),Er(),Sr(it),P&&Sr(rt),lr)Wn.removeExt(t);Mi(it),ot!==e&&Mi(ot),ct!==e&&Mi(ct),P&&Mi(rt),E?(gr(et,de,Wr),gr(et,pe,Hr),gr(et,ve,Tr)):et.off(de,Wr).off(pe,Hr).off(ve,Tr),Mi(ht),Mi(vt),ft&&Mi(ft),En||Ur(),ut.contents().unwrap().unwrap().unwrap(),L&&Ei(Z,Oe),k?(nt.off(te,qr).off("drop",Rr).off("focus",Dr).off("focusout",jr),b>9||!w?nt.off("input",Ir):nt.off(ye,Nr).off(me,Pr),Mi(lt),Ei(nt,Ie+oe+Xe).unwrap().removeAttr(u.s),Mi(et)):(Ei(nt,Se),Ei(et,[Se,He,Me,Ce,ze,Ee,Te,We,ke,Le,ur,rn].join(oe)));for(var n=0;n0)n.x=t[0],n.y=t[1];else if(Ai(t)==c.s||Ai(t)==c.n)n.x=t,n.y=t;else if(Ai(t)==c.o){for(var e in M=Ai(t.n)==c.b?t.n:M,t=Ci({},t),m=0,t)t.hasOwnProperty(e)&&(m>2&&delete t[e],m++);var r=function(n){var e=n?H:T;for(m=0;m2){var y=r.substr(0,2);for(m=0;m/g,(p?"-":Jn)+ne))[v](/px/g,Jn))[v](/%/g,h+f*(d&&x.n?-1:1)/100))[v](/vw/g,h+Pn.w))[v](/vh/g,h+Pn.h),o=di(di(t.eval(r),!0).toFixed())}else o=r;if(o!==e&&!isNaN(o)&&Ai(o)==c.n){var w=M&&d,b=l*(w&&x.n?-1:1),g=w&&x.i,O=w&&x.n;switch(b=g?f-b:b,i){case"+=":s=b+o;break;case"-=":s=b-o;break;case"*=":s=b*o;break;case"/=":s=b/o;break;default:s=o}s=g?f-s:s,s*=O?-1:1,s=d&&x.n?Math.min(0,Math.max(f,s)):Math.max(0,Math.min(f,s))}return s===l?e:s},Z=function(t,n,e,r){var i,o,a=[e,e],s=Ai(t);if(s==n)t=[t,t];else if(s==c.a){if((i=t[F])>2||i<1)t=a;else for(1===i&&(t[1]=e),m=0;m=4?tt(et):ct:ut==c.o?tt([et[Un],et[_n],et[Qn],et[Vn]]):ct,O=$(rt,B)?rt:"xy",S=Z(it,c.s,D,Q),A=Z(ot,c.s,N,_),C=et;var lt={l:In.cs,t:Nn.cs},ft=at.offset(),ht=E.offset(),dt={x:S.x==j||O==re,y:S.y==j||O==ee};ht[Un]-=C[0],ht[Vn]-=C[3];var pt={x:Math.round(ht[Vn]-ft[Vn]+lt.l),y:Math.round(ht[Un]-ft[Un]+lt.t)};if(U&&(x.n||x.i||(pt.x=Math.round(ft[Vn]-ht[Vn]+lt.l)),x.n&&M&&(pt.x*=-1),x.i&&M&&(pt.x=Math.round(ft[Vn]-ht[Vn]+(In.ms-lt.l)))),A.x!=N||A.y!=N||S.x==q||S.y==q||U){var vt=E[0],yt=z?vt.getBoundingClientRect():{width:vt[u.oW],height:vt[u.oH]},mt={w:yt[Kn]+C[3]+C[1],h:yt[$n]+C[0]+C[2]},xt=function(t){var n=ci(t),e=n._wh,r=n.lt,i=n.xy,o=A[i]==(t&&U?N:I),a=A[i]==P,s=A[i]==R,c=S[i]==j,u=S[i]==q,l=Pn[e],f=ft[r],h=mt[e],d=ht[r],p=a?2:1,v=d+h/2,y=f+l/2,m=h<=l&&d>=f&&d+h<=f+l;c?dt[i]=!0:dt[i]||((s||u)&&(dt[i]=!!u&&m,o=hy:v0||L))if(L)st.animate(k,r);else{if(g={duration:r,complete:o},Ai(i)==c.a){var wt={};wt[ue]=i[0],wt[le]=i[1],g.specialEasing=wt}else g.easing=i;st.animate(k,g)}else w&&st[ue](k[ue]),b&&st[le](k[le])},Wn.scrollStop=function(t,n,e){return st.stop(t,n,e),Wn},Wn.getElements=function(t){var n={target:nt[0],host:et[0],padding:at[0],viewport:st[0],content:ut[0],scrollbarHorizontal:{scrollbar:ht[0],track:dt[0],handle:pt[0]},scrollbarVertical:{scrollbar:vt[0],track:yt[0],handle:mt[0]},scrollbarCorner:ft[0]};return Ai(t)==c.s?wi(n,t):n},Wn.getState=function(t){var n=function(t){if(!d.isPlainObject(t))return t;var n=Ci(!0,{},t),e=function(t,e){n.hasOwnProperty(t)&&(n[e]=n[t],delete n[t])};return e("w",Kn),e("h",$n),delete n.c,n},e={sleeping:n(_)||!1,autoUpdate:n(!dn),widthAuto:n(St),heightAuto:n(At),padding:n(Et),overflowAmount:n(Pt),hideOverflow:n(Ot),hasOverflow:n(gt),contentScrollSize:n(wt),viewportSize:n(Pn),hostSize:n(xt),documentMixed:n(I)};return Ai(t)==c.s?wi(e,t):e},Wn.ext=function(t){var n,e=fr.split(" "),r=0;if(Ai(t)==c.s){if(lr.hasOwnProperty(t))for(n=Ci(!0,{},lr[t]);r9||!w){t.prepend(xi(_e,xi({className:Qe,dir:"ltr"},xi(Qe,xi(Ve))+xi(Qe,xi({className:Ve,style:"width: 200%; height: 200%"})))));var p,v,y,m,g=t[0][s][0][s][0],O=d(g[s][1]),S=d(g[s][0]),A=d(S[0][s][0]),C=g[u.oW],z=g[u.oH],E=2,H=a.nativeScrollbarSize,T=function(){S[ue](r)[le](r),O[ue](r)[le](r)},W=function(){v=0,p&&(C=y,z=m,f())},k=function(t){return y=g[u.oW],m=g[u.oH],p=y!=C||m!=z,t&&p&&!v?(l.cAF()(v),v=l.rAF()(W)):t||W(),T(),t&&(l.prvD(t),l.stpP(t)),!1},L={},I={};I[Un]=-(H.y+1)*E,I[_n]=H.x*-E,I[Qn]=H.y*-E,I[Vn]=-(H.x+1)*E,d(g).css(I),S.on(te,k),O.on(te,k),t.on(o,function(){k(!1)}),L[Kn]=r,L[$n]=r,A.css(L),T()}else{var N=J[0],P=N.attachEvent,R=b!==e;if(P)t.prepend(xi(_e)),Hi(t,ie+_e)[0].attachEvent("onresize",f);else{var D=N.createElement(c.o);D.setAttribute("tabindex","-1"),D.setAttribute(u.c,_e),D.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",f),t.document.documentElement.style.display="none"},D.type="text/html",R&&t.prepend(D),D.data="about:blank",R||t.prepend(D),t.on(o,f)}}if(t[0]===it[0]){var j=function(){var n=et.css("direction"),e={},i=0,o=!1;return n!==Wt&&("ltr"===n?(e[Vn]=0,e[_n]=Zn,i=r):(e[Vn]=Zn,e[_n]=0,i=x.n?-r:x.i?0:r),it.children().eq(0).css(e),t[ue](i)[le](r),Wt=n,o=!0),o};j(),t.on(te,function(t){return j()&&Zr(),l.prvD(t),l.stpP(t),!1})}}function Sr(t){if(M){var n=t.contents()[0];n[be].disconnect(),delete n[be]}else Mi(t.children(ie+_e).eq(0))}function Ar(t){}function Cr(t){}function zr(){pn&&!dn&&(fn.observe(et[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[u.i,u.c,u.s]}),hn.observe(k?nt[0]:ut[0],{attributes:!0,attributeOldValue:!0,subtree:!k,childList:!k,characterData:!k,attributeFilter:k?["wrap","cols","rows"]:[u.i,u.c,u.s]}),dn=!0)}function Er(){pn&&dn&&(fn.disconnect(),hn.disconnect(),dn=!1)}function Mr(){if(!_){var t=it[0],n={w:t[u.sW],h:t[u.sH]};if(T){var e=Oi(n,$t);$t=n,e&&Zr(!0,!1)}else $t=n}}function Hr(){Sn&&ii(!0)}function Tr(){Sn&&!tt.hasClass(cr)&&ii(!1)}function Wr(){On&&(ii(!0),clearTimeout(xn),xn=setTimeout(function(){On&&!W&&ii(!1)},100))}function kr(t){_||(Q!==e?clearTimeout(Q):((gn||On)&&ii(!0),yi()||zi(et,Te),ui("onScrollStart",t)),ai(!0,st[ue]()),ai(!1,st[le]()),ui("onScroll",t),Q=setTimeout(function(){W||(Lr(),ui("onScrollStop",t))},Dn))}function Lr(){clearTimeout(Q),Q=e,(gn||On)&&ii(!1),yi()||Ei(et,Te)}function Ir(){Jr(),Wn.update(Zn)}function Nr(t){var n=t.keyCode;if(!vi(n)){if(0===mr.length){var e=function(){Jr(),Wn.update(Zn)};e(),vn=setInterval(e,1e3/60)}-1===d.inArray(n,mr)&&mr.push(n)}}function Pr(t){var n=t.keyCode;if(!vi(n)){var e=d.inArray(n,mr);e>-1&&mr.splice(e,1),0===mr.length&&(Jr(),Wn.update(Zn),clearInterval(vn))}}function Rr(){setTimeout(function(){W||(Jr(),Wn.update(Zn))},50)}function Dr(){yn=!0}function jr(){yn=!1,clearInterval(vn),mr=[],Jr(),Wn.update(Zn)}function qr(t){return nt[ue](x.i&&en?9999999:0),nt[le](0),l.prvD(t),l.stpP(t),!1}function Fr(t){if(!_){var n=(t.originalEvent||t).touches!==e;(1===l.mBtn(t)||n)&&(dn&&(zn=!0,Er()),xr=l.page(t),wr.w=et[0][u.oW]-(N?0:R),wr.h=et[0][u.oH]-(N?0:D),J.on(xe,_r).on(de,Br).on(he,Ur),zi(tt,cr),ft.setCapture&&ft.setCapture(),l.prvD(t),l.stpP(t))}}function Br(t){var n=l.page(t),e={};(Hn||Mn)&&(e[Kn]=wr.w+n.x-xr.x),(Tn||Mn)&&(e[$n]=wr.h+n.y-xr.y),et.css(e),l.stpP(t)}function Ur(t){var n=t!==e;J.off(xe,_r).off(de,Br).off(he,Ur),Ei(tt,cr),ft.releaseCapture&&ft.releaseCapture(),n&&(zn&&zr(),Wn.update(Zn)),zn=!1}function _r(t){return l.prvD(t),!1}function Qr(){Zr()}function Vr(){var t={};return L&&ct&&(t.w=di(ct.css(Xn+Kn)),t.h=di(ct.css(Xn+$n)),t.c=Oi(t,cn),t.f=!0),cn=t,t.c||!1}function Xr(t,n){var r=n!==e&&null!==n?n.split(oe):Jn,i=t!==e&&null!==t?t.split(oe):Jn;if(r===Jn&&i===Jn)return!1;var o,a,s,c,u=hi(i,r),l=!1,f=on!==e&&null!==on?on.split(oe):[Jn],h=rn!==e&&null!==rn?rn.split(oe):[Jn],p=d.inArray(ur,u),v=u[o];for(p>-1&&u.splice(p,1),o=0;o0&&T&&o-K0?G:ur)),Vt&&(!0===Qt?(Er(),h.add(Wn)):null===Qt&&w?(Er(),h.add(Wn)):(h.remove(Wn),zr())),Bt)if(Wt)if(ot===e&&(ot=d(xi(Be)),at.before(ot)),P)rt.show();else{rt=d(xi(Ue)),ot.before(rt);var hn={w:-1,h:-1};Or(rt,function(){var t={w:rt[0][u.oW],h:rt[0][u.oH]};Oi(t,hn)&&(T&&At&&t.h>0||St&&t.w>0?Zr():(T&&!At&&0===t.h||!St&&0===t.w)&&Zr()),hn=t}),P=!0,null!==O&&rt.css($n,O+"(100% + 1px)")}else P&&rt.hide();r&&(it.find("*").trigger(te),P&&rt.find("*").trigger(te));var pn,vn=et.css("direction"),mn=gi(vn,Tt,r),xn=et.css("box-sizing"),Cn=gi(xn,zt,r),zn={c:r,t:di(et.css(Fn+Un)),r:di(et.css(Fn+_n)),b:di(et.css(Fn+Qn)),l:di(et.css(Fn+Vn))};try{pn=P?rt[0].getBoundingClientRect():null}catch(qi){return}N="border-box"===xn;var kn=(U="rtl"===vn)?Vn:_n,In=U?_n:Vn,Nn=et[0],Dn=at[0],jn=!1,ie=!(!P||"none"===et.css(Gn))&&(0===Math.round(pn.right-pn.left)&&(!!pt||Nn[u.cW]-R>0));if(Wt&&!ie){var ae=Nn[u.oW],se=ot.css(Kn);ot.css(Kn,Zn);var ce=Nn[u.oW];ot.css(Kn,se),(jn=ae!==ce)||(ot.css(Kn,ae+1),ce=Nn[u.oW],ot.css(Kn,se),jn=ae!==ce)}var he=(ie||jn)&&Wt&&!c,ye=gi(he,St,r),me=!he&&St,xe=!(!P||c)&&0===Math.round(pn.bottom-pn.top),we=gi(xe,At,r),be=!xe&&At,ge="-"+Kn,Oe=he&&N||!N,Se=xe&&N||!N,Ae={c:r,t:Se?di(et.css(Bn+Un+ge),!0):0,r:Oe?di(et.css(Bn+_n+ge),!0):0,b:Se?di(et.css(Bn+Qn+ge),!0):0,l:Oe?di(et.css(Bn+Vn+ge),!0):0},Ce={c:r,t:di(et.css(qn+Un)),r:di(et.css(qn+_n)),b:di(et.css(qn+Qn)),l:di(et.css(qn+Vn))},ze={h:String(et.css(Yn+$n)),w:String(et.css(Yn+Kn))},Ee={},Ie={},Ne=function(){return{w:Nn[u.cW],h:Nn[u.cH]}},Pe=function(){var t=Dn.getBoundingClientRect();return t[Kn]?{w:t[Kn],h:t[$n]}:{w:Dn[u.oW],h:Dn[u.oH]}};if(R=zn.l+zn.r,D=zn.t+zn.b,zn.ax=pt?R:0,zn.ay=pt?D:0,zn.c=Si(zn,Et),j=Ae.l+Ae.r,q=Ae.t+Ae.b,Ae.c=Si(Ae,Mt),F=Ce.l+Ce.r,B=Ce.t+Ce.b,Ce.c=Si(Ce,Ht),ze.ih=di(ze.h),ze.iw=di(ze.w),ze.ch=ze.h.indexOf("px")>-1,ze.cw=ze.w.indexOf("px")>-1,ze.c=Oi(ze,Ct,r),Tt=vn,zt=xn,St=he,At=xe,Et=zn,Mt=Ae,Ht=Ce,Ct=ze,mn&&P&&rt.css(Gn,In),zn.c||mn||vt||ye||we||Cn||Bt){var Re={},De={};li(Ie,qn,[-zn.t,-zn.r,-zn.b,-zn.l]),pt?(li(Re,Jn,[zn.t,zn.r,zn.b,zn.l]),li(k?De:Ee,Fn)):(li(Re,Jn),li(k?De:Ee,Fn,[zn.t,zn.r,zn.b,zn.l])),at.css(Re),nt.css(De)}Pn=Pe();var je=!!k&&Jr();if(xe&&(we||vt||Cn||ze.c||zn.c||Ae.c)?(ze.cw&&(Ee[Yn+$n]=ze.ch?ze.ih-zn.ay+(N?-q:D):Jn),Ee[$n]=Zn):(we||vt)&&(Ee[Yn+$n]=Jn,Ee[$n]=ne),he&&(ye||vt||Cn||ze.c||zn.c||Ae.c||mn)?(ze.cw&&(Ee[Yn+Kn]=ze.cw?ze.iw-zn.ax+(N?-j:R)+(y.y?m.y:0):Jn),Ee[Kn]=Zn,Ie[Yn+Kn]=ne):(ye||vt)&&(Ee[Yn+Kn]=Jn,Ee[Kn]=ne,Ee[Gn]=Jn,Ie[Yn+Kn]=Jn),he&&(ze.cw||(Ee[Yn+Kn]=Jn),Ie[Kn]=k&&Kt?je.dw:Zn,Ee[Kn]=Zn,Ee[Gn]=In),xe&&(ze.ch||(Ee[Yn+$n]=Jn),Ie[$n]=k?un?je.dh:Zn:ut[0][u.cH]),Wt&&ot.css(Ie),ut.css(Ee),Ee={},Ie={},t||n||mn||Cn||vt||ye||he||we||xe||ze.c||_t||Yt||mt||tt||C||$t||fn||dt||r){var qe="overflow",_e=qe+"-x",Qe=qe+"-y",Ve="hidden",Xe="visible",Ye=H?y.x||y.y||Pn.w0&&(Ie[Kn]=Math.max(1,Ie[Kn]),Ie[$n]=Math.max(1,Ie[$n])),k&<.css(pr),ot.css(Ie)}he&&(Ee[Kn]=ne),!he||N||dn||(Ee[Gn]="none"),ut.css(Ee),Ee={};var vr=Je.getBoundingClientRect(),yr=vr[Kn]||0,mr=vr[$n]||0,xr={w:Math.max(Je[u.sW],Ze[u.sW])+di(yr)-yr,h:Math.max(Je[u.sH],Ze[u.sH])+di(mr)-mr};xr.c=n=Oi(xr,wt,r),wt=xr,Ye&&ut.css(qe,Jn),Pn=Pe(),t=Oi(sr=Ne(),xt),xt=sr;var wr={x:"v-s"===Xt.x,y:"v-s"===Xt.y},Sr={x:"v-h"===Xt.x,y:"v-h"===Xt.y},Mr={x:"s"===Xt.x,y:"s"===Xt.y},kr={x:Math.max(0,Math.round(100*(xr.w-Pn.w))/100),y:Math.max(0,Math.round(100*(xr.h-Pn.h))/100)},Lr=k&&(0===Pn.w||0===Pn.h),Ir=0===st[0].scrollLeftMax&&kr.x>0&&kr.x<1||0===st[0].scrollTopMax&&kr.y>0&&kr.y<1;(Lr||Ir)&&(kr.x=kr.y=0);var Nr={x:kr.x>0,y:kr.y>0},Pr={x:Nr.x,y:Nr.y};(wr.x||Sr.x)&&(Pr.x=Nr.y&&!wr.y&&!Sr.y),(wr.y||Sr.y)&&(Pr.y=Nr.x&&!wr.x&&!Sr.x),Pr.xs=!!Pr.x&&(Mr.x||wr.x),Pr.ys=!!Pr.y&&(Mr.y||wr.y);var Rr={x:Nr.x&&Pr.xs,y:Nr.y&&Pr.ys},Dr=Pt;if(kr.c=Oi(kr,Pt,ee,re,r),Pt=kr,Nr.c=Oi(Nr,gt,ee,re,r),gt=Nr,Pr.c=Oi(Pr,Ot,ee,re,r),Ot=Pr,y.x||y.y){var jr="px solid transparent",qr={},Br={},Ur=r;(Nr.x||Nr.y)&&(Br.w=y.y&&Nr.y?xr.w+m.y:Jn,Br.h=y.x&&Nr.x?xr.h+m.x:Jn,Ur=gi(Br,bt,r),bt=Br),(Nr.c||Pr.c||xr.c||mn||ye||we||he||xe||_t)&&(Ee[qn+In]=Ee[Bn+In]=Jn,y.x&&Nr.x&&Pr.xs?(Ee[qn+Qn]=xe?Ut?Jn:m.x:Jn,Ee[Bn+Qn]=xe||Ut?Jn:m.x+jr):(Br.h=Ee[qn+Qn]=Ee[Bn+Qn]=Jn,Ur=!0),y.y&&Nr.y&&Pr.ys?(Ee[qn+kn]=he?Ut?Jn:m.y:Jn,Ee[Bn+kn]=Ut?Jn:m.y+jr):(Br.w=Ee[qn+kn]=Ee[Bn+kn]=Jn,Ur=!0)),Ut&&(Br.w=Br.h=Jn,Ur=!0),Ur&&(qr[Kn]=Pr.y?Br.w:Jn,qr[$n]=Pr.x?Br.h:Jn,ct||(ct=d(xi(Fe)),st.prepend(ct)),ct.css(qr)),ut.css(Ee)}var _r={};Re={};if(t||Nr.c||Pr.c||xr.c||Yt||Cn||_t||mn||mt||we){_r[In]=Jn;var Qr=function(){_r[Qn]=Jn,Ln.h=0},Xr=function(){_r[kn]=Jn,Ln.w=0};if(Nr.x&&Pr.xs?(_r[_e]=te,Ut?Qr():(_r[Qn]=-(y.x?m.x:S.x),Ln.h=y.x?m.y:0)):(_r[_e]=Jn,Qr()),Nr.y&&Pr.ys?(_r[Qe]=te,Ut?Xr():(_r[kn]=-(y.y?m.y:S.y),Ln.w=y.y?m.x:0)):(_r[Qe]=Jn,Xr()),(Pn.h-1,ji=Ri.y>-1;(Di||ji)&&(ji&&st[le](Ri.y),Di&&(U&&en&&x.i?st[ue](0):st[ue](Ri.x)))}Ft=Mi}else k||(U&&x.i&&y.y&&Nr.x&&en&&(p.l+=Ln.w||0),st[ue](p.l),st[le](p.t));mn&&ui("onDirectionChanged",{isRTL:U,dir:vn}),t&&ui("onHostSizeChanged",{width:xt.w,height:xt.h}),n&&ui("onContentSizeChanged",{width:wt.w,height:wt.h}),(Nr.c||Pr.c)&&ui("onOverflowChanged",{x:Nr.x,y:Nr.y,xScrollable:Pr.xs,yScrollable:Pr.ys,clipped:Pr.x||Pr.y}),kr.c&&ui("onOverflowAmountChanged",{x:kr.x,y:kr.y})}L&&(gt.c||cn.c)&&(cn.f||Vr(),y.y&>.x&&ut.css(Xn+Kn,cn.w+m.y),y.x&>.y&&ut.css(Xn+$n,cn.h+m.x),cn.c=!1),Cr(it),Cr(rt),ui("onUpdated",{forced:r})}}function ti(t){X=Ci(!0,{},X,C.v(t,C.t,!0)),Y=Ci(!0,{},Y,C.v(t,C.t,!1,!0))}function ni(){ht=d(xi(Ye+oe+ar)),dt=d(xi(Ke)),pt=d(xi(Ge)),vt=d(xi(Ye+oe+sr)),yt=d(xi(Ke)),mt=d(xi(Ge)),ht.append(dt),dt.append(pt),vt.append(yt),yt.append(mt),at.after(vt),at.after(ht),A&&(ht.on(we,function(t){t.target===ht[0]&&(oi(!0),ai(!0,st[ue]()))}),vt.on(we,function(t){t.target===vt[0]&&(oi(!1),ai(!1,st[le]()))})),ei(!0),ei(!1),ft=d(xi(nr)),et.append(ft)}function ei(t){var n,r,i,o=ci(t),a=G.top!==G,s=o.xy,c=o.XY,u=te+o.LT,f="active",h=1,p=[16,17];function v(){h=.5}function y(){h=1}function m(t){d.inArray(t.keyCode,p)>-1&&v()}function w(t){d.inArray(t.keyCode,p)>-1&&y()}function g(t){var n=(t.originalEvent||t).touches!==e;return!(_||yi()||!tn||n&&!An)&&(1===l.mBtn(t)||n)}function O(e){if(g(e)){var i=o.i.tl,f=o.i.hl,h=o.i.ms*(((b&&a?e["screen"+c]:l.page(e)[s])-r)/(i-f));h=isFinite(h)?h:0,U&&t&&!x.i&&(h*=-1),st[u](n+h),E||l.prvD(e)}else S(e)}function S(t){t=t||t.originalEvent,Ei(tt,cr),Ei(o.h,f),Ei(o.t,f),Ei(o.s,f),J.off(de,O).off(he,S).off(ye,m).off(me,w).off(xe,_r),y(),n=e,r=e,i!==e&&(Wn.scrollStop(),clearTimeout(i),i=e);var a=et[0].getBoundingClientRect();t.clientX>=a.left&&t.clientX<=a.right&&t.clientY>=a.top&&t.clientY<=a.bottom||Tr(),(gn||On)&&ii(!1)}function A(i){n=(n=st[u]())===e?0:n,(U&&t&&!x.n||!U)&&(n=n<0?0:n),r=b&&a?i["screen"+c]:l.page(i)[s],zi(tt,cr),zi(o.h,f),zi(o.s,f),J.on(de,O).on(he,S).on(xe,_r),!b&&I||l.prvD(i),l.stpP(i)}o.h.on(fe,function(t){g(t)&&A(t)}),o.t.on(fe,function(n){if(g(n)){var a,c,d=Pn[o._wh],p=o.t.offset()[o.lt],y=n.ctrlKey,b=n.shiftKey,O=b&&y,C=!0,z="linear",E=function(){if(!W){var l=r-p,f=o.i.tl,v=o.i.ho,y=o.i.hl,m=o.i.ms,w=270*h,g=C?Math.max(400,w):w,S=m*((l-y/2)/(f-y)),M=U&&t&&(!x.i&&!x.n||en),H=M?vl,T={};b?(S=isFinite(S)?S:0,U&&t&&!x.i&&(S=m-S),O?(T.n=!1,T[s]=S,Wn.scroll(T,130,z,function(){A(n)})):(st[u](S),A(n))):(a=C?H:a,c=M?a?v+y>=l:v<=l:a?v<=l:v+y>=l,T[s]=a?"-="+d:"+="+d,Wn.scrollStop(),Wn.scroll(T,w,z),c?(clearTimeout(i),Wn.scrollStop(),i=e):i=setTimeout(E,g),C=!1)}};y&&v(),r=l.page(n)[s],zi(tt,cr),zi(o.t,f),zi(o.s,f),J.on(he,S).on(ye,m).on(me,w).on(xe,_r),E(),l.prvD(n),l.stpP(n)}}).on(pe,function(){(gn||On)&&(Cn=!0,ii(!0))}).on(ve,function(){(gn||On)&&(Cn=!1,ii(!1))}),o.s.on(fe,function(t){l.stpP(t)})}function ri(t,n,e){var r=t?Ce:ze,i=t?ht:vt;n?Ei(et,r):zi(et,r),e?Ei(i,Ze):zi(i,Ze)}function ii(t,n){if(clearTimeout(mn),t)Ei(ht,tr),Ei(vt,tr);else{var e="active",r=function(){if(!Cn&&!W){var t=pt.hasClass(e)||mt.hasClass(e);!t&&(gn||On||Sn)&&zi(ht,tr),!t&&(gn||On||Sn)&&zi(vt,tr)}};wn>0&&!0!==n?mn=setTimeout(r,wn):r()}}function oi(t){var n={},e=ci(t),r=1e6,i=Math.min(1,(xt[e._wh]-(kt?t?R:D:0))/wt[e._wh]);n[e.wh]=Math.floor(100*i*r)/r+"%",yi()||e.h.css(n),e.i.hl=e.h[0]["offset"+e.WH],e.i.hlr=i}function ai(t,n){var e,r,i,o=U&&t,a={},s=ci(t),c="translate(",u="transform",l=st[0][te+s.WH]-st[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;x.n&&o&&(l*=-1),i=n/l,i=isNaN(i)?0:Math.min(1,i),s.i.ms=l,s.i.cs=n,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!x.i&&(d=h-f-d),d=Math.max(0,d),z?(r=o?-(h-f-d):d,e=t?c+r+"px, 0)":c+"0, "+r+"px)",a["-webkit-"+u]=e,a["-moz-"+u]=e,a["-ms-"+u]=e,a["-o-"+u]=e,a[u]=e):a[s.lt]=d,yi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function si(t,n){var e=n?"removeClass":"addClass",r=t?yt:mt,i=t?$e:Je;(t?dt:pt)[e](i),r[e](i)}function ci(t){return{wh:t?Kn:$n,WH:t?"Width":"Height",lt:t?Vn:Un,LT:t?"Left":"Top",xy:t?ee:re,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?dt:yt,h:t?pt:mt,s:t?ht:vt,i:t?In:Nn}}function ui(t,n){if(T){var e,r=Y.callbacks[t],i=t;"on"===i.substr(0,2)&&(i=i.substr(2,1).toLowerCase()+i.substr(3)),Ai(r)==c.f&&r.call(Wn,n),d.each(lr,function(){Ai((e=this).on)==c.f&&e.on(i,n)})}}function li(t,n,r){r===e&&(r=[Jn,Jn,Jn,Jn]),t[n+Un]=r[0],t[n+_n]=r[1],t[n+Qn]=r[2],t[n+Vn]=r[3]}function fi(n){var e="ownerDocument",r="HTMLElement",i=n&&n[e]&&n[e].parentWindow||t;return typeof i[r]==c.o?n instanceof i[r]:n&&typeof n==c.o&&null!==n&&1===n.nodeType&&typeof n.nodeName==c.s}function hi(t,n){var e,r,i=[],o=[];for(e=0;ef&&(l=r+1,f=n);return{cR:h,cC:d,r:c,c:f,w:l,p:t,m:a}}}function vi(t){for(var n=0;n"+(n||Jn)+""}function wi(t,n){for(var e,r=n.split(ie),i=0;i9||!w?nt.on("input",Ir):nt.on(ye,Nr).on(me,Pr)}else zi(nt,Se),(et=nt).wrapInner(xi(qe)).wrapInner(xi(Re)).wrapInner(xi(Pe)),ut=Hi(et,ie+qe),st=Hi(et,ie+Re),at=Hi(et,ie+Pe),ut.on(we,function(t){!0!==Dt&&Gr((t=t.originalEvent||t).propertyName)&&Zr(Zn)});if(ni(),E?br(st,te,kr):st.on(te,kr),g&&zi(st,y.x&&y.y?je:De),pn){var s,f,h,p,v,C,N=l.mO(),P=l.now();fn=new N(function(t){if(T&&!_){var n,e=!1;d.each(t,function(){if(s=(n=this).target,f=n.attributeName,e=f===u.c?Xr(n.oldValue,s.className):f!==u.s||n.oldValue!==s[u.s].cssText)return!1}),e&&Wn.update(Zn)}}),hn=new N(function(t){if(T&&!_){var n=!1;d.each(t,function(){return!(n=Yr(this))}),n&&(p=l.now(),v=At||St,C=function(){W||(P=p,k&&Jr(),v?Zr():Wn.update(Zn))},clearTimeout(h),vr<=0||p-P>vr||!v?C():h=setTimeout(C,vr))}})}return L&&(zi(Z,Oe),st[ue](i.l),st[le](i.t)),it=d(xi("os-resize-observer-host")),et.prepend(it),Or(it,Mr),Mr(),Wn.update(Zn),setTimeout(function(){A&&!W&&zi(et,Ee)},333),T=!0,ui("onInitialized"),Ai(r)==c.s&&(r=[r]),l.isA(r)?d.each(r,function(){Wn.addExt(this)}):d.isPlainObject(r)&&d.each(r,function(t,n){Wn.addExt(t,n)}),T}}return t[s]=function(n,o,a){if(0===arguments.length)return this;z();var c,u,l=[];return d.isPlainObject(o)?n&&n.length?(d.each(n,function(){(c=this)!==e&&l.push(H(c,o,a,r,i))}),u=l.length>1?l:l[0]):u=H(n,o,a,r,i):n&&(n.length&&n.length>0?(d.each(n,function(){c=p(this),"!"===o?c instanceof t[s]&&l.push(c):l.push(c)}),u=l.length>1?l:l[0]):u=p(n)),u},t[s].globals=function(){z();var t=d.extend(!0,{},r);return delete t.msie,t},t[s].defaultOptions=function(t){z();var n=r.defaultOptions;if(t===e)return d.extend(!0,{},n);r.defaultOptions=d.extend(!0,{},n,C.v(t,C.t,!0))},t[s].extension=function(t,n,e){var r=l.type(t)==c.s,i=arguments[u.l],o=0;if(i<1||!r)return d.extend(!0,{length:A[u.l]},A);if(r)if(l.type(n)==c.f)A.push({name:t,extension:n,defaultOptions:e});else for(;o1))return d.extend(!0,{},A[o]);A.splice(o,1)}},t[s]}();return f&&f.fn&&(f.fn.overlayScrollbars=function(t,n){var e=this;return f.isPlainObject(t)?(f.each(e,function(){v(this,t,n)}),e):v(e,t)}),v});
\ No newline at end of file
diff --git a/js/jquery.overlayScrollbars.js b/js/jquery.overlayScrollbars.js
index 4d8c607..c094a14 100644
--- a/js/jquery.overlayScrollbars.js
+++ b/js/jquery.overlayScrollbars.js
@@ -2,13 +2,13 @@
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
- * Version: 1.5.2
+ * Version: 1.5.3
*
* Copyright KingSora.
* https://github.com/KingSora
*
* Released under the MIT license.
- * Date: 09.09.2018
+ * Date: 07.11.2018
*/
(function (global, factory) {
@@ -191,21 +191,43 @@
/**
* Checks whether a item is in the given array and returns its index.
* @param item The item of which the position in the array shall be determined.
- * @param arr The array
+ * @param arr The array.
* @returns {number} The zero based index of the item or -1 if the item isn't in the array.
*/
inA : function(item, arr) {
- for (var i = 0; i < arr[LEXICON.l]; i++) {
- //Sometiems in IE a "SCRIPT70" Permission denied error occurs if HTML elemtns in a iFrame are compared
+ for (var i = 0; i < arr[LEXICON.l]; i++)
+ //Sometiems in IE a "SCRIPT70" Permission denied error occurs if HTML elements in a iFrame are compared
try {
if (arr[i] === item)
return i;
}
catch(e) { }
- }
return -1;
},
+ /**
+ * Returns true if the given value is a array.
+ * @param arr The potential array.
+ * @returns {boolean} True if the given value is a array, false otherwise.
+ */
+ isA: function(arr) {
+ var def = Array.isArray;
+ return def ? def(arr) : this.type(arr) == TYPES.a;
+ },
+
+ /**
+ * Determine the internal JavaScript [[Class]] of the given object.
+ * @param obj The object of which the type shall be determined.
+ * @returns {string} The type of the given object.
+ */
+ type: function(obj) {
+ if (obj === undefined)
+ return obj + "";
+ if (obj === null)
+ return obj + "";
+ return Object[LEXICON.p].toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase();
+ },
+
bind: function(func, thisObj) {
if (typeof func != TYPES.f) {
throw "Can't bind function!";
@@ -225,10 +247,11 @@
return fBound;
}
};
-
+
var JQUERY = framework;
+ var EASING = framework.easing;
var FRAMEWORK = framework;
- var INSTANCES = (function(compatibility) {
+ var INSTANCES = (function() {
var _targets = [ ];
var _instancePropertyString = '__overlayScrollbars__';
@@ -255,7 +278,7 @@
_targets.push(target);
}
else {
- var index = compatibility.inA(target, _targets);
+ var index = COMPATIBILITY.inA(target, _targets);
if (index > -1) {
if(argLen > 1) {
//unregister instance
@@ -270,8 +293,8 @@
}
}
}
- })(COMPATIBILITY);
- var PLUGIN = (function(framework, compatibility, instances) {
+ })();
+ var PLUGIN = (function() {
var _pluginsGlobals;
var _pluginsAutoUpdateLoop;
var _pluginsExtensions = [ ];
@@ -350,7 +373,7 @@
if(!obj.hasOwnProperty(key))
continue;
val = obj[key];
- valType = framework.type(val);
+ valType = COMPATIBILITY.type(val);
if(valType == TYPES.a)
obj[key] = val[template ? 1 : 0];
else if(valType == TYPES.o)
@@ -358,7 +381,7 @@
}
return obj;
};
- return recursive(framework.extend(true, { }, optionsDefaultsAndTemplate));
+ return recursive(FRAMEWORK.extend(true, { }, optionsDefaultsAndTemplate));
};
return {
@@ -380,16 +403,16 @@
*/
v : function (obj, template, writeErrors, usePreparedValues, keepForeignProps) {
var validatedOptions = { };
- var objectCopy = framework.extend(true, { }, obj);
+ var objectCopy = FRAMEWORK.extend(true, { }, obj);
var checkObjectProps = function(data, template, validatedOptions, prevPropName) {
for (var prop in template) {
if (template.hasOwnProperty(prop) && data.hasOwnProperty(prop)) {
var isValid = false;
var templateValue = template[prop];
- var templateValueType = framework.type(templateValue);
- var templateTypes = framework.type(templateValue) != TYPES.a ? [ templateValue ] : templateValue;
+ var templateValueType = COMPATIBILITY.type(templateValue);
+ var templateTypes = COMPATIBILITY.type(templateValue) != TYPES.a ? [ templateValue ] : templateValue;
var dataValue = data[prop];
- var dataValueType = framework.type(dataValue);
+ var dataValueType = COMPATIBILITY.type(dataValue);
var propPrefix = prevPropName ? prevPropName + "." : "";
var error = "The option \"" + propPrefix + prop + "\" wasn't set, because";
var errorPossibleTypes = [ ];
@@ -407,15 +430,15 @@
if(templateValueType == TYPES.o) {
validatedOptions[prop] = { };
checkObjectProps(dataValue, templateValue, validatedOptions[prop], propPrefix + prop);
- if(framework.isEmptyObject(dataValue))
+ if(FRAMEWORK.isEmptyObject(dataValue))
delete data[prop];
}
else {
for(i = 0; i < templateTypes.length; i++) {
currType = templateTypes[i];
- templateValueType = framework.type(currType);
+ templateValueType = COMPATIBILITY.type(currType);
//if currtype is string and starts with restrictedStringPrefix and end with restrictedStringSuffix
- isRestrictedValue = templateValueType == TYPES.s && framework.inArray(currType, possibleTemplateTypes) === -1;
+ isRestrictedValue = templateValueType == TYPES.s && FRAMEWORK.inArray(currType, possibleTemplateTypes) === -1;
if(isRestrictedValue) {
errorPossibleTypes.push(TYPES.s);
@@ -464,8 +487,8 @@
//add values which aren't specified in the template to the finished validated object to prevent them from being discarded
if(keepForeignProps)
- framework.extend(true, validatedOptions, objectCopy);
- else if(!framework.isEmptyObject(objectCopy) && writeErrors)
+ FRAMEWORK.extend(true, validatedOptions, objectCopy);
+ else if(!FRAMEWORK.isEmptyObject(objectCopy) && writeErrors)
console.warn("The following options are discarded due to invalidity:\r\n" + JSON.stringify(objectCopy, null, 2));
return validatedOptions;
@@ -484,7 +507,7 @@
}
/**
- * The global object for the hide scrollbars objects. It contains resources which every hide scrollbars object needs. This object is initialized only once: if the first hide scrollbars object gets initialized.
+ * The global object for the OverlayScrollbars objects. It contains resources which every OverlayScrollbars object needs. This object is initialized only once: if the first OverlayScrollbars object gets initialized.
* @param defaultOptions
* @constructor
*/
@@ -493,23 +516,24 @@
var strOverflow = 'overflow';
var strHidden = 'hidden';
var strScroll = 'scroll';
- var bodyElement = framework('body');
- var scrollbarDummyElement = framework('');
+ var bodyElement = FRAMEWORK('body');
+ var scrollbarDummyElement = FRAMEWORK('');
var scrollbarDummyElement0 = scrollbarDummyElement[0];
- var dummyContainerChild = framework(scrollbarDummyElement.children('div').eq(0));
+ var dummyContainerChild = FRAMEWORK(scrollbarDummyElement.children('div').eq(0));
bodyElement.append(scrollbarDummyElement);
-
+ scrollbarDummyElement.hide().show(); //fix IE8 bug (incorrect measuring)
+
var nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement0);
var nativeScrollbarIsOverlaid = {
x: nativeScrollbarSize.x === 0,
y: nativeScrollbarSize.y === 0
};
- framework.extend(_base, {
+ FRAMEWORK.extend(_base, {
defaultOptions : defaultOptions,
autoUpdateLoop : false,
- autoUpdateRecommended : !compatibility.mO(),
+ autoUpdateRecommended : !COMPATIBILITY.mO(),
nativeScrollbarSize : nativeScrollbarSize,
nativeScrollbarIsOverlaid : nativeScrollbarIsOverlaid,
nativeScrollbarStyling : (function() {
@@ -606,8 +630,8 @@
} catch (e) { }
return supportsPassive;
})(),
- supportResizeObserver : !!compatibility.rO(),
- supportMutationObserver : !!compatibility.mO()
+ supportResizeObserver : !!COMPATIBILITY.rO(),
+ supportMutationObserver : !!COMPATIBILITY.mO()
});
scrollbarDummyElement.removeAttr(LEXICON.s).remove();
@@ -618,13 +642,13 @@
return;
var abs = Math.abs;
- var windowWidth = compatibility.wW();
- var windowHeight = compatibility.wH();
+ var windowWidth = COMPATIBILITY.wW();
+ var windowHeight = COMPATIBILITY.wH();
var windowDpr = getWindowDPR();
var onResize = function() {
- if(instances().length > 0) {
- var newW = compatibility.wW();
- var newH = compatibility.wH();
+ if(INSTANCES().length > 0) {
+ var newW = COMPATIBILITY.wW();
+ var newH = COMPATIBILITY.wH();
var deltaW = newW - windowWidth;
var deltaH = newH - windowHeight;
@@ -651,9 +675,9 @@
newScrollbarSize = _base.nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement[0]);
scrollbarDummyElement.remove();
if(oldScrollbarSize.x !== newScrollbarSize.x || oldScrollbarSize.y !== newScrollbarSize.y) {
- framework.each(instances(), function () {
- if(instances(this))
- instances(this).update('zoom');
+ FRAMEWORK.each(INSTANCES(), function () {
+ if(INSTANCES(this))
+ INSTANCES(this).update('zoom');
});
}
}
@@ -676,7 +700,7 @@
return window.devicePixelRatio || (dDPI / sDPI);
}
- framework(window).on('resize', onResize);
+ FRAMEWORK(window).on('resize', onResize);
})();
function detectCSSFeature(featurename) {
@@ -712,7 +736,7 @@
}
/**
- * The object which manages the auto update loop for all hide scrollbars objects. This object is initialized only once: if the first hide scrollbars object gets initialized.
+ * The object which manages the auto update loop for all OverlayScrollbars objects. This object is initialized only once: if the first OverlayScrollbars object gets initialized.
* @constructor
*/
function OverlayScrollbarsAutoUpdateLoop(globals) {
@@ -726,7 +750,7 @@
var _loopIsActive = false;
var _loopIntervalDefault = 33;
var _loopInterval = _loopIntervalDefault;
- var _loopTimeOld = compatibility.now();
+ var _loopTimeOld = COMPATIBILITY.now();
var _loopID;
/**
@@ -734,10 +758,10 @@
*/
var loop = function() {
if(_loopingInstances[_strLength] > 0 && _loopIsActive) {
- _loopID = compatibility.rAF()(function () {
+ _loopID = COMPATIBILITY.rAF()(function () {
loop();
});
- var timeNew = compatibility.now();
+ var timeNew = COMPATIBILITY.now();
var timeDelta = timeNew - _loopTimeOld;
if (timeDelta > _loopInterval) {
@@ -749,7 +773,7 @@
var instanceOptions = instance.options();
var instanceAutoUpdateAllowed = instanceOptions[_strAutoUpdate];
var instanceAutoUpdateInterval = Math.max(1, instanceOptions[_strAutoUpdateInterval]);
- var now = compatibility.now();
+ var now = COMPATIBILITY.now();
if ((instanceAutoUpdateAllowed === true || instanceAutoUpdateAllowed === null) && (now - _loopingInstancesIntervalCache[i]) > instanceAutoUpdateInterval) {
instance.update('auto');
_loopingInstancesIntervalCache[i] = new Date(now += instanceAutoUpdateInterval);
@@ -769,9 +793,9 @@
* @param instance The instance which shall be updated in a loop automatically.
*/
_base.add = function(instance) {
- if(framework.inArray(instance, _loopingInstances) === -1) {
+ if(FRAMEWORK.inArray(instance, _loopingInstances) === -1) {
_loopingInstances.push(instance);
- _loopingInstancesIntervalCache.push(compatibility.now());
+ _loopingInstancesIntervalCache.push(COMPATIBILITY.now());
if (_loopingInstances[_strLength] > 0 && !_loopIsActive) {
_loopIsActive = true;
globals.autoUpdateLoop = _loopIsActive;
@@ -785,7 +809,7 @@
* @param instance The instance which shall be updated in a loop automatically.
*/
_base.remove = function(instance) {
- var index = framework.inArray(instance, _loopingInstances);
+ var index = FRAMEWORK.inArray(instance, _loopingInstances);
if(index > -1) {
//remove from loopingInstances list
_loopingInstancesIntervalCache.splice(index, 1);
@@ -796,7 +820,7 @@
_loopIsActive = false;
globals.autoUpdateLoop = _loopIsActive;
if(_loopID !== undefined) {
- compatibility.cAF()(_loopID);
+ COMPATIBILITY.cAF()(_loopID);
_loopID = -1;
}
}
@@ -820,15 +844,15 @@
return;
//if passed element is already initialized: set passed options if there are any and return its instance
- if(instances(pluginTargetElement)) {
- var inst = instances(pluginTargetElement);
+ if(INSTANCES(pluginTargetElement)) {
+ var inst = INSTANCES(pluginTargetElement);
inst.options(options);
return inst;
}
//make correct instanceof
var _base = new window[PLUGINNAME]();
- var _frameworkProto = framework[LEXICON.p];
+ var _frameworkProto = FRAMEWORK[LEXICON.p];
//globals:
var _nativeScrollbarIsOverlaid;
@@ -977,8 +1001,8 @@
var _documentElement;
var _htmlElement;
var _bodyElement;
- var _targetElement; //the target element of this hide scrollbars object
- var _hostElement; //the host element of this hide scrollbars object -> may be the same as targetElement
+ var _targetElement; //the target element of this OverlayScrollbars object
+ var _hostElement; //the host element of this OverlayScrollbars object -> may be the same as targetElement
var _sizeAutoObserverElement; //observes size auto changes
var _sizeObserverElement; //observes size and padding changes
var _contentGlueElement; //has always the size of the content element
@@ -1118,7 +1142,7 @@
*/
function addResizeObserver(targetElement, onElementResizedCallback) {
var constMaximum = 3333333;
- var resizeObserver = compatibility.rO();
+ var resizeObserver = COMPATIBILITY.rO();
var strAnimationStartEvent = 'animationstart mozAnimationStart webkitAnimationStart MSAnimationStart';
var strChildNodes = 'childNodes';
var callback = function () {
@@ -1146,9 +1170,9 @@
);
var observerElement = targetElement[0][strChildNodes][0][strChildNodes][0];
- var shrinkElement = framework(observerElement[strChildNodes][1]);
- var expandElement = framework(observerElement[strChildNodes][0]);
- var expandElementChild = framework(expandElement[0][strChildNodes][0]);
+ var shrinkElement = FRAMEWORK(observerElement[strChildNodes][1]);
+ var expandElement = FRAMEWORK(observerElement[strChildNodes][0]);
+ var expandElementChild = FRAMEWORK(expandElement[0][strChildNodes][0]);
var widthCache = observerElement[LEXICON.oW];
var heightCache = observerElement[LEXICON.oH];
var isDirty;
@@ -1188,16 +1212,16 @@
isDirty = currWidth != widthCache || currHeight != heightCache;
if (event && isDirty && !rAFId) {
- compatibility.cAF()(rAFId);
- rAFId = compatibility.rAF()(onResized);
+ COMPATIBILITY.cAF()(rAFId);
+ rAFId = COMPATIBILITY.rAF()(onResized);
}
else if(!event)
onResized();
reset();
if (event) {
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
}
return false;
};
@@ -1209,7 +1233,7 @@
observerElementCSS[_strBottom] = (nativeScrollbarSize.y * -factor);
observerElementCSS[_strLeft] = (-((nativeScrollbarSize.x + 1) * factor));
- framework(observerElement).css(observerElementCSS);
+ FRAMEWORK(observerElement).css(observerElementCSS);
expandElement.on(_strScroll, onScroll);
shrinkElement.on(_strScroll, onScroll);
targetElement.on(strAnimationStartEvent, function () {
@@ -1279,8 +1303,8 @@
targetElement.on(_strScroll, function (event) {
if (directionChanged())
update();
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
return false;
});
}
@@ -1511,7 +1535,7 @@
action();
_textareaUpdateIntervalID = setInterval(action, 1000 / 60);
}
- if (framework.inArray(keyCode, _textareaKeyDownKeyCodesList) === -1)
+ if (FRAMEWORK.inArray(keyCode, _textareaKeyDownKeyCodesList) === -1)
_textareaKeyDownKeyCodesList.push(keyCode);
}
@@ -1523,7 +1547,7 @@
var keyCode = event.keyCode;
if (textareaIsRestrictedKeyCode(keyCode))
return;
- var index = framework.inArray(keyCode, _textareaKeyDownKeyCodesList);
+ var index = FRAMEWORK.inArray(keyCode, _textareaKeyDownKeyCodesList);
if (index > -1)
_textareaKeyDownKeyCodesList.splice(index, 1);
if (_textareaKeyDownKeyCodesList.length === 0) {
@@ -1570,8 +1594,8 @@
function textareaOnScroll(event) {
_targetElement[_strScrollLeft](_rtlScrollBehavior.i && _normalizeRTLCache ? 9999999 : 0);
_targetElement[_strScrollTop](0);
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
return false;
}
@@ -1586,13 +1610,13 @@
var originalEvent = event.originalEvent || event;
var isTouchEvent = originalEvent.touches !== undefined;
- if (compatibility.mBtn(event) === 1 || isTouchEvent) {
+ if (COMPATIBILITY.mBtn(event) === 1 || isTouchEvent) {
if (_mutationObserverConnected) {
_resizeReconnectMutationObserver = true;
mutationObserversDisconnect();
}
- _resizeDragStartPosition = compatibility.page(event);
+ _resizeDragStartPosition = COMPATIBILITY.page(event);
_resizeDragStartSize.w = _hostElement[0][LEXICON.oW] - (!_isBorderBox ? _paddingX : 0);
_resizeDragStartSize.h = _hostElement[0][LEXICON.oH] - (!_isBorderBox ? _paddingY : 0);
@@ -1605,8 +1629,8 @@
if (_scrollbarCornerElement.setCapture)
_scrollbarCornerElement.setCapture();
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
}
}
@@ -1615,14 +1639,14 @@
* @param event The mouse move event.
*/
function scrollbarCornerOnResize(event) {
- var pageOffset = compatibility.page(event);
+ var pageOffset = COMPATIBILITY.page(event);
var hostElementCSS = { };
if (_resizeHorizontal || _resizeBoth)
hostElementCSS[_strWidth] = (_resizeDragStartSize.w + pageOffset.x - _resizeDragStartPosition.x);
if (_resizeVertical || _resizeBoth)
hostElementCSS[_strHeight] = (_resizeDragStartSize.h + pageOffset.y - _resizeDragStartPosition.y);
_hostElement.css(hostElementCSS);
- compatibility.stpP(event);
+ COMPATIBILITY.stpP(event);
}
/**
@@ -1653,7 +1677,7 @@
* @param event The select start event.
*/
function documentOnSelectStart(event) {
- compatibility.prvD(event);
+ COMPATIBILITY.prvD(event);
return false;
}
@@ -1674,8 +1698,8 @@
function bodyMinSizeChanged() {
var bodyMinSize = {};
if (_isBody && _contentArrangeElement) {
- bodyMinSize.w = parseIntToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strWidth));
- bodyMinSize.h = parseIntToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strHeight));
+ bodyMinSize.w = parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strWidth));
+ bodyMinSize.h = parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strHeight));
bodyMinSize.c = checkCacheDouble(bodyMinSize, _bodyMinSizeCache);
bodyMinSize.f = true; //flag for "measured at least once"
}
@@ -1700,7 +1724,7 @@
var currClassNames = _classNameCache !== undefined && _classNameCache !== null ? _classNameCache.split(_strSpace) : [_strEmpty];
//remove none theme from diff list to prevent update
- var idx = framework.inArray(_classNameThemeNone, diff);
+ var idx = FRAMEWORK.inArray(_classNameThemeNone, diff);
var curr = diff[i];
var i;
var v;
@@ -1991,7 +2015,7 @@
* @param preventSwallowing True if this method shall be executed event if it could be swallowed.
*/
function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) {
- var now = compatibility.now();
+ var now = COMPATIBILITY.now();
var swallow = _swallowUpdateLag > 0 && _initialized && (now - _lastUpdateTime) < _swallowUpdateLag && (!_heightAutoCache && !_widthAutoCache) && !preventSwallowing;
var displayIsHidden = _hostElement.is(':hidden');
var displayIsHiddenChanged = checkCacheSingle(displayIsHidden, _displayIsHiddenCache, force);
@@ -2191,14 +2215,14 @@
if (sizeAutoCapableChanged) {
if (sizeAutoCapable) {
if (_contentGlueElement === undefined) {
- _contentGlueElement = framework(generateDiv(_classNameContentGlueElement));
+ _contentGlueElement = FRAMEWORK(generateDiv(_classNameContentGlueElement));
_paddingElement.before(_contentGlueElement);
}
if (_sizeAutoObserverAdded) {
_sizeAutoObserverElement.show();
}
else {
- _sizeAutoObserverElement = framework(generateDiv(_classNameSizeAutoObserverElement));
+ _sizeAutoObserverElement = FRAMEWORK(generateDiv(_classNameSizeAutoObserverElement));
_contentGlueElement.before(_sizeAutoObserverElement);
var oldSize = {w: -1, h: -1};
addResizeObserver(_sizeAutoObserverElement, function () {
@@ -2247,10 +2271,10 @@
//detect padding:
var padding = {
c: force,
- t: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strTop)),
- r: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strRight)),
- b: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strBottom)),
- l: parseIntToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strLeft))
+ t: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strTop)),
+ r: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strRight)),
+ b: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strBottom)),
+ l: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strLeft))
};
//width + height auto detecting var:
@@ -2303,19 +2327,19 @@
var updateBorderY = (heightAuto && _isBorderBox) || !_isBorderBox;
var border = {
c: force,
- t: updateBorderY ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strTop + strMinusWidth)) : 0,
- r: updateBorderX ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strRight + strMinusWidth)) : 0,
- b: updateBorderY ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strBottom + strMinusWidth)) : 0,
- l: updateBorderX ? parseIntToZeroOrNumber(_hostElement.css(_strBorderMinus + _strLeft + strMinusWidth)) : 0
+ t: updateBorderY ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strTop + strMinusWidth), true) : 0,
+ r: updateBorderX ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strRight + strMinusWidth), true) : 0,
+ b: updateBorderY ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strBottom + strMinusWidth), true) : 0,
+ l: updateBorderX ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strLeft + strMinusWidth), true) : 0
};
//detect margin:
var margin = {
c: force,
- t: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strTop)),
- r: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strRight)),
- b: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strBottom)),
- l: parseIntToZeroOrNumber(_hostElement.css(_strMarginMinus + _strLeft))
+ t: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strTop)),
+ r: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strRight)),
+ b: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strBottom)),
+ l: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strLeft))
};
//detect css max width & height:
@@ -2327,7 +2351,26 @@
//vars to apply correct css
var contentElementCSS = { };
var contentGlueElementCSS = { };
-
+
+ //funcs
+ var getHostSize = function() {
+ return {
+ w: hostElement[LEXICON.cW],
+ h: hostElement[LEXICON.cH]
+ };
+ };
+ var getViewportSize = function() {
+ var brect = paddingElement.getBoundingClientRect()
+ return brect[_strWidth]
+ ? {
+ w: brect[_strWidth],
+ h: brect[_strHeight]
+ } : {
+ w: paddingElement[LEXICON.oW],
+ h: paddingElement[LEXICON.oH]
+ };
+ };
+
//set info for padding
_paddingX = padding.l + padding.r;
_paddingY = padding.t + padding.b;
@@ -2346,8 +2389,8 @@
margin.c = checkCacheTRBL(margin, _cssMarginCache);
//set info for css max value
- cssMaxValue.ih = parseIntToZeroOrNumber(cssMaxValue.h); //ih = integer height
- cssMaxValue.iw = parseIntToZeroOrNumber(cssMaxValue.w); //iw = integer width
+ cssMaxValue.ih = parseToZeroOrNumber(cssMaxValue.h); //ih = integer height
+ cssMaxValue.iw = parseToZeroOrNumber(cssMaxValue.w); //iw = integer width
cssMaxValue.ch = cssMaxValue.h.indexOf('px') > -1; //ch = correct height
cssMaxValue.cw = cssMaxValue.w.indexOf('px') > -1; //cw = correct width
cssMaxValue.c = checkCacheDouble(cssMaxValue, _cssMaxValueCache, force);
@@ -2390,10 +2433,7 @@
}
//viewport size is padding container because it never has padding, margin and a border.
- _viewportSize = {
- w: paddingElement[LEXICON.oW],
- h: paddingElement[LEXICON.oH]
- };
+ _viewportSize = getViewportSize();
//update Textarea
var textareaSize = _isTextarea ? textareaUpdate() : false;
@@ -2493,17 +2533,11 @@
viewportElementResetCSS[isRTLLeft] = wasWidthAuto ? _strEmpty : resetXTmp;
_viewportElement.css(viewportElementResetCSS);
//viewport size is padding container because it never has padding, margin and a border.
- _viewportSize = {
- w: paddingElement[LEXICON.oW],
- h: paddingElement[LEXICON.oH]
- };
+ _viewportSize = getViewportSize();
//measure and correct several sizes
//has to be clientSize because offsetSize respect borders.
- var hostSize = {
- w: hostElement[LEXICON.cW],
- h: hostElement[LEXICON.cH]
- };
+ var hostSize = getHostSize();
var contentGlueSize = {
w: Math.max(contentClientSize.w + padding.ax, hostSize.w - _paddingX) - (textareaDynWidth ? (_isTextarea && widthAuto ? _marginX + (!_isBorderBox ? _paddingX + _borderX : 0) : 0) : 0),
h: Math.max(contentClientSize.h + padding.ay, hostSize.h - _paddingY)
@@ -2538,12 +2572,12 @@
//if size is auto and host is smaller than size as min size, make content glue size -1 to make sure size changes will be detected (this is only needed if padding is 0)
if (widthAuto && (clientSize.w < _viewportSize.w || _isTextarea && !textareaAutoWrapping) && _paddingX === 0) {
if (_isTextarea)
- textareaCoverCSS[_strWidth] = parseIntToZeroOrNumber(_textareaCoverElement.css(_strWidth)) - 1;
+ textareaCoverCSS[_strWidth] = parseToZeroOrNumber(_textareaCoverElement.css(_strWidth)) - 1;
contentGlueElementCSS[_strWidth] -= 1;
}
if (heightAuto && (clientSize.h < _viewportSize.h || _isTextarea) && _paddingY === 0) {
if (_isTextarea)
- textareaCoverCSS[_strHeight] = parseIntToZeroOrNumber(_textareaCoverElement.css(_strHeight)) - 1;
+ textareaCoverCSS[_strHeight] = parseToZeroOrNumber(_textareaCoverElement.css(_strHeight)) - 1;
contentGlueElementCSS[_strHeight] -= 1;
}
@@ -2569,30 +2603,26 @@
//measure again, but this time all correct sizes:
var contentBCRect = contentMeasureElement.getBoundingClientRect();
+ var contentBCRectW = contentBCRect[_strWidth] || 0;
+ var contentBCRectH = contentBCRect[_strHeight] || 0;
var contentScrollSize = {
- w: Math.max(contentMeasureElement[LEXICON.sW], contentMeasureElementGuaranty[LEXICON.sW]),
- h: Math.max(contentMeasureElement[LEXICON.sH], contentMeasureElementGuaranty[LEXICON.sH])
+ w: Math.max(contentMeasureElement[LEXICON.sW], contentMeasureElementGuaranty[LEXICON.sW]) + parseToZeroOrNumber(contentBCRectW) - contentBCRectW,
+ h: Math.max(contentMeasureElement[LEXICON.sH], contentMeasureElementGuaranty[LEXICON.sH]) + parseToZeroOrNumber(contentBCRectH) - contentBCRectH
};
- if(hideOverflow4CorrectMeasuring)
- _contentElement.css(strOverflow, _strEmpty);
- if (contentBCRect.width) {
- var contentBCRectW = contentBCRect.width;
- var contentBCRectH = contentBCRect.height;
- var contentBCRectMargin = 0.001;
- contentScrollSize.w += parseIntToZeroOrNumber(contentBCRectW + contentBCRectMargin) - contentBCRectW;
- contentScrollSize.h += parseIntToZeroOrNumber(contentBCRectH + contentBCRectMargin) - contentBCRectH;
- }
contentScrollSize.c = contentSizeChanged = checkCacheDouble(contentScrollSize, _contentScrollSizeCache, force);
_contentScrollSizeCache = contentScrollSize;
+ if(hideOverflow4CorrectMeasuring)
+ _contentElement.css(strOverflow, _strEmpty);
+
+ //refresh viewport size after correct measuring
+ _viewportSize = getViewportSize();
+
//has to be clientSize because offsetSize respect borders.
- hostSize = {
- w: hostElement[LEXICON.cW],
- h: hostElement[LEXICON.cH]
- };
+ hostSize = getHostSize();
hostSizeChanged = checkCacheDouble(hostSize, _hostSizeCache);
_hostSizeCache = hostSize;
-
+
var overflowBehaviorIsVS = {
x: overflowBehavior.x === 'v-s',
y: overflowBehavior.y === 'v-s'
@@ -2605,21 +2635,14 @@
x: overflowBehavior.x === 's',
y: overflowBehavior.y === 's'
};
- /*
- * var overflowBehaviorIsH = {
- * x : overflowBehavior.x === 'h',
- * y : overflowBehavior.y === 'h'
- * };
- */
var overflowAmount = {
- x: Math.max(0, Math.round((contentScrollSize.w - hostSize.w + padding.ax) * 100) / 100),
- y: Math.max(0, Math.round((contentScrollSize.h - hostSize.h + padding.ay) * 100) / 100)
+ x: Math.max(0, Math.round((contentScrollSize.w - _viewportSize.w) * 100) / 100),
+ y: Math.max(0, Math.round((contentScrollSize.h - _viewportSize.h) * 100) / 100)
};
var hideOverflowForceTextarea = _isTextarea && (_viewportSize.w === 0 || _viewportSize.h === 0);
- if (hideOverflowForceTextarea) {
- overflowAmount.x = 0;
- overflowAmount.y = 0;
- }
+ var hideOverflowForceRounding = (_viewportElement[0].scrollLeftMax === 0 && overflowAmount.x > 0 && overflowAmount.x < 1) || (_viewportElement[0].scrollTopMax === 0 && overflowAmount.y > 0 && overflowAmount.y < 1);
+ if (hideOverflowForceTextarea || hideOverflowForceRounding)
+ overflowAmount.x = overflowAmount.y = 0;
var hasOverflow = {
x: overflowAmount.x > 0,
y: overflowAmount.y > 0
@@ -2692,7 +2715,7 @@
contentArrangeElementCSS[_strHeight] = hideOverflow.x ? arrangeContent.h : _strEmpty;
if (!_contentArrangeElement) {
- _contentArrangeElement = framework(generateDiv(_classNameContentArrangeElement));
+ _contentArrangeElement = FRAMEWORK(generateDiv(_classNameContentArrangeElement));
_viewportElement.prepend(_contentArrangeElement);
}
_contentArrangeElement.css(contentArrangeElementCSS);
@@ -2737,7 +2760,6 @@
resetScrollbarHidingY();
}
-
// if the scroll container is too small and if there is any overflow with not overlay scrollbar, make viewport element greater in size (Firefox hide Scrollbars fix)
// because firefox starts hiding scrollbars on too small elements
// with this behavior the overflow calculation may be incorrect or the scrollbars would appear suddenly
@@ -2826,10 +2848,10 @@
var scrollbarsVisibilityHidden = scrollbarsVisibility === 'h';
var scrollbarsVisibilityAuto = scrollbarsVisibility === 'a';
- var showScrollbarH = compatibility.bind(refreshScrollbarAppearance, 0, true, true, canScroll.x);
- var showScrollbarV = compatibility.bind(refreshScrollbarAppearance, 0, false, true, canScroll.y);
- var hideScrollbarH = compatibility.bind(refreshScrollbarAppearance, 0, true, false, canScroll.x);
- var hideScrollbarV = compatibility.bind(refreshScrollbarAppearance, 0, false, false, canScroll.y);
+ var showScrollbarH = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, true, true, canScroll.x);
+ var showScrollbarV = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, false, true, canScroll.y);
+ var hideScrollbarH = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, true, false, canScroll.x);
+ var hideScrollbarV = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, false, false, canScroll.y);
//manage class name which indicates scrollable overflow
if (hideOverflow.x || hideOverflow.y)
@@ -3091,12 +3113,12 @@
* Builds all scrollbars if they aren't already build.
*/
function buildScrollbars() {
- _scrollbarHorizontalElement = framework(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarHorizontal));
- _scrollbarHorizontalTrackElement = framework(generateDiv(_classNameScrollbarTrack));
- _scrollbarHorizontalHandleElement = framework(generateDiv(_classNameScrollbarHandle));
- _scrollbarVerticalElement = framework(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarVertical));
- _scrollbarVerticalTrackElement = framework(generateDiv(_classNameScrollbarTrack));
- _scrollbarVerticalHandleElement = framework(generateDiv(_classNameScrollbarHandle));
+ _scrollbarHorizontalElement = FRAMEWORK(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarHorizontal));
+ _scrollbarHorizontalTrackElement = FRAMEWORK(generateDiv(_classNameScrollbarTrack));
+ _scrollbarHorizontalHandleElement = FRAMEWORK(generateDiv(_classNameScrollbarHandle));
+ _scrollbarVerticalElement = FRAMEWORK(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarVertical));
+ _scrollbarVerticalTrackElement = FRAMEWORK(generateDiv(_classNameScrollbarTrack));
+ _scrollbarVerticalHandleElement = FRAMEWORK(generateDiv(_classNameScrollbarHandle));
_scrollbarHorizontalElement.append(_scrollbarHorizontalTrackElement);
_scrollbarHorizontalTrackElement.append(_scrollbarHorizontalHandleElement);
@@ -3123,7 +3145,7 @@
}
initScrollbarInteractivity(true);
initScrollbarInteractivity(false);
- _scrollbarCornerElement = framework(generateDiv(_classNameScrollbarCorner));
+ _scrollbarCornerElement = FRAMEWORK(generateDiv(_classNameScrollbarCorner));
_hostElement.append(_scrollbarCornerElement);
}
@@ -3150,17 +3172,17 @@
scrollDurationFactor = 1;
};
function documentKeyDown(event) {
- if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
+ if (FRAMEWORK.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
increaseTrackScrollAmount();
};
function documentKeyUp(event) {
- if (framework.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
+ if (FRAMEWORK.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1)
decreaseTrackScrollAmount();
};
function onMouseTouchDownContinue(event) {
var originalEvent = event.originalEvent || event;
var isTouchEvent = originalEvent.touches !== undefined;
- return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : compatibility.mBtn(event) === 1 || isTouchEvent;
+ return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : COMPATIBILITY.mBtn(event) === 1 || isTouchEvent;
};
function handleDragMove(event) {
if(!onMouseTouchDownContinue(event)) {
@@ -3171,7 +3193,7 @@
var trackLength = scrollbarVars.i.tl;
var handleLength = scrollbarVars.i.hl;
var scrollRange = scrollbarVars.i.ms;
- var scrollRaw = (_msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]) - mouseDownOffset; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
+ var scrollRaw = (_msieVersion && insideIFrame ? event['screen' + XY] : COMPATIBILITY.page(event)[xy]) - mouseDownOffset; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
var scrollDeltaPercent = scrollRaw / (trackLength - handleLength);
var scrollDelta = (scrollRange * scrollDeltaPercent);
scrollDelta = isFinite(scrollDelta) ? scrollDelta : 0;
@@ -3180,7 +3202,7 @@
_viewportElement[scroll](mouseDownScroll + scrollDelta);
if (!_supportPassiveEvents)
- compatibility.prvD(event);
+ COMPATIBILITY.prvD(event);
};
function documentMouseTouchUp(event) {
event = event || event.originalEvent;
@@ -3220,7 +3242,7 @@
mouseDownScroll = mouseDownScroll === undefined ? 0 : mouseDownScroll;
if (_isRTL && isHorizontal && !_rtlScrollBehavior.n || !_isRTL)
mouseDownScroll = mouseDownScroll < 0 ? 0 : mouseDownScroll;
- mouseDownOffset = _msieVersion && insideIFrame ? event['screen' + XY] : compatibility.page(event)[xy]; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
+ mouseDownOffset = _msieVersion && insideIFrame ? event['screen' + XY] : COMPATIBILITY.page(event)[xy]; //use screen coordinates in EDGE & IE because the page values are incorrect in frames.
addClass(_bodyElement, _classNameDragging);
addClass(scrollbarVars.h, strActive);
@@ -3231,8 +3253,8 @@
.on(_strSelectStartEvent, documentOnSelectStart);
if(_msieVersion || !_documentMixed)
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
};
scrollbarVars.h.on(_strMouseTouchDownEvent, function(event) {
if (onMouseTouchDownContinue(event))
@@ -3298,7 +3320,7 @@
};
if (ctrlKey)
increaseTrackScrollAmount();
- mouseDownOffset = compatibility.page(event)[xy];
+ mouseDownOffset = COMPATIBILITY.page(event)[xy];
addClass(_bodyElement, _classNameDragging);
addClass(scrollbarVars.t, strActive);
@@ -3310,22 +3332,22 @@
.on(_strSelectStartEvent, documentOnSelectStart);
scrollAction();
- compatibility.prvD(event);
- compatibility.stpP(event);
+ COMPATIBILITY.prvD(event);
+ COMPATIBILITY.stpP(event);
}
- }).on('mouseenter', function() { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll".
+ }).on(_strMouseTouchEnter, function() { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll".
if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) {
_scrollbarsAutoHideFlagScrollAndHovered = true;
refreshScrollbarsAutoHide(true);
}
- }).on('mouseleave', function() {
+ }).on(_strMouseTouchLeave, function() {
if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) {
_scrollbarsAutoHideFlagScrollAndHovered = false;
refreshScrollbarsAutoHide(false);
}
});
scrollbarVars.s.on(_strMouseTouchDownEvent, function(event) {
- compatibility.stpP(event);
+ COMPATIBILITY.stpP(event);
});
}
@@ -3445,8 +3467,8 @@
if (_supportTransform) {
transformOffset = isRTLisHorizontal ? -(trackLength - handleLength - offset) : offset; //in px
- transformOffset = (transformOffset / trackLength * 100) * (trackLength / handleLength); //in %
- translateValue = isHorizontal ? strTranslateBrace + transformOffset + '%, 0)' : strTranslateBrace + '0, ' + transformOffset + '%)';
+ //transformOffset = (transformOffset / trackLength * 100) * (trackLength / handleLength); //in %
+ translateValue = isHorizontal ? strTranslateBrace + transformOffset + 'px, 0)' : strTranslateBrace + '0, ' + transformOffset + 'px)';
handleCSS['-webkit-' + strTransform] = translateValue;
handleCSS['-moz-' + strTransform] = translateValue;
handleCSS['-ms-' + strTransform] = translateValue;
@@ -3521,7 +3543,7 @@
if(type(callback) == TYPES.f)
callback.call(_base, args);
- framework.each(_extensions, function() {
+ FRAMEWORK.each(_extensions, function() {
ext = this;
if(type(ext.on) == TYPES.f)
ext.on(extensionOnName, args);
@@ -3588,11 +3610,13 @@
/**
* Returns Zero or the number to which the value can be parsed.
* @param value The value which shall be parsed.
+ * @param toFloat Indicates whether the number shall be parsed to a float.
*/
- function parseIntToZeroOrNumber(value) {
- var num = window.parseInt(value);
+ function parseToZeroOrNumber(value, toFloat) {
+ var num = toFloat ? window.parseFloat(value) : window.parseInt(value);
return isNaN(num) ? 0 : num;
}
+
/**
* Gets several information of the textarea and returns them as a object or undefined if the browser doesn't support it.
@@ -3678,7 +3702,7 @@
(function() {
var key;
var attrs = '';
- if(framework.isPlainObject(classesOrAttrs)) {
+ if(FRAMEWORK.isPlainObject(classesOrAttrs)) {
for (key in classesOrAttrs)
attrs += (key === 'className' ? 'class' : key) + '="' + classesOrAttrs[key] + '" ';
}
@@ -3724,7 +3748,7 @@
var extendObjRoot = extendObj;
for(; i < splitsLength; i++)
extendObj = extendObj[splits[i]] = i + 1 < splitsLength ? { } : val;
- framework.extend(obj, extendObjRoot, true);
+ FRAMEWORK.extend(obj, extendObjRoot, true);
}
//==== Utils Cache ====//
@@ -3797,14 +3821,14 @@
* jQuery type method shortcut.
*/
function type(obj) {
- return framework.type(obj);
+ return COMPATIBILITY.type(obj);
}
/**
* jQuery extend method shortcut.
*/
function extend() {
- return framework.extend.apply(this, arguments);
+ return FRAMEWORK.extend.apply(this, arguments);
}
/**
@@ -3879,9 +3903,9 @@
}
if(!_isTextarea) {
_contentElement.find(imgElementSelector).each(function(i, el) {
- var index = compatibility.inA(el, _imgs);
+ var index = COMPATIBILITY.inA(el, _imgs);
if (index === -1)
- framework(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad);
+ FRAMEWORK(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad);
});
}
};
@@ -3894,7 +3918,7 @@
*/
_base.options = function (newOptions, value) {
//return current options if newOptions are undefined or empty
- if (framework.isEmptyObject(newOptions) || !framework.isPlainObject(newOptions)) {
+ if (FRAMEWORK.isEmptyObject(newOptions) || !FRAMEWORK.isPlainObject(newOptions)) {
if (type(newOptions) == TYPES.s) {
if (arguments.length >= 2) {
var option = { };
@@ -4002,10 +4026,10 @@
}
for(var i = 0; i < _imgs.length; i++)
- framework(_imgs[i]).off('load', imgOnLoad);
+ FRAMEWORK(_imgs[i]).off('load', imgOnLoad);
_imgs = undefined;
- instances(pluginTargetElement, 0);
+ INSTANCES(pluginTargetElement, 0);
callCallback("onDestroyed");
for (var property in _base)
@@ -4141,7 +4165,7 @@
var elementObjSettingsScrollValues = [strAlways, strNever, strIfNeeded];
var coordinatesIsElementObj = coordinates.hasOwnProperty('el');
var possibleElement = coordinatesIsElementObj ? coordinates.el : coordinates;
- var possibleElementIsJQuery = possibleElement instanceof framework || JQUERY ? possibleElement instanceof JQUERY : false;
+ var possibleElementIsJQuery = possibleElement instanceof FRAMEWORK || JQUERY ? possibleElement instanceof JQUERY : false;
var possibleElementIsHTMLElement = possibleElementIsJQuery ? false : isHTMLElement(possibleElement);
var checkSettingsStringValue = function (currValue, allowedValues) {
for (i = 0; i < allowedValues[strLength]; i++) {
@@ -4220,7 +4244,7 @@
rawScroll = rawScroll[strReplace](/%/g, mult + (maxScroll * (isRTLisX && _rtlScrollBehavior.n ? -1 : 1) / 100.0));
rawScroll = rawScroll[strReplace](/vw/g, mult + _viewportSize.w);
rawScroll = rawScroll[strReplace](/vh/g, mult + _viewportSize.h);
- amount = parseIntToZeroOrNumber(window.parseFloat(window.eval(rawScroll)).toFixed());
+ amount = parseToZeroOrNumber(parseToZeroOrNumber(window.eval(rawScroll), true).toFixed());
}
else {
amount = rawScroll;
@@ -4298,7 +4322,7 @@
currValue = marginTopRightBottomLeftArray[i];
currValueType = type(currValue);
if(currValueType == TYPES.b)
- result.push(currValue ? parseIntToZeroOrNumber(finalElement.css(_strMarginMinus + valueDirections[i])) : 0);
+ result.push(currValue ? parseToZeroOrNumber(finalElement.css(_strMarginMinus + valueDirections[i])) : 0);
else
result.push(currValueType == TYPES.n ? currValue : 0);
}
@@ -4314,7 +4338,7 @@
var marginDefault = [ 0, 0, 0, 0 ];
var marginType = type(margin);
var marginLength;
- finalElement = possibleElementIsJQuery ? possibleElement : framework(possibleElement);
+ finalElement = possibleElementIsJQuery ? possibleElement : FRAMEWORK(possibleElement);
if (finalElement[strLength] === 0)
return;
@@ -4502,7 +4526,7 @@
*/
_base.getState = function (stateProperty) {
var prepare = function (obj) {
- if (!framework.isPlainObject(obj))
+ if (!FRAMEWORK.isPlainObject(obj))
return obj;
var extended = extend(true, {}, obj);
var changePropertyName = function (from, to) {
@@ -4574,8 +4598,8 @@
if(!_extensions.hasOwnProperty(extName)) {
instance = registeredExtensionObj.extension.call(_base,
extend(true, { }, registeredExtensionObj.defaultOptions),
- framework,
- compatibility);
+ FRAMEWORK,
+ COMPATIBILITY);
if (instance) {
instanceContract = instance.contract;
@@ -4653,11 +4677,11 @@
_supportResizeObserver = globals.supportResizeObserver;
_supportMutationObserver = globals.supportMutationObserver;
_restrictedMeasuring = globals.restrictedMeasuring;
- _documentElement = framework(targetElement.ownerDocument);
- _windowElement = framework(_documentElement[0].defaultView || _documentElement[0].parentWindow);
+ _documentElement = FRAMEWORK(targetElement.ownerDocument);
+ _windowElement = FRAMEWORK(_documentElement[0].defaultView || _documentElement[0].parentWindow);
_htmlElement = findFirst(_documentElement, 'html');
_bodyElement = findFirst(_htmlElement, 'body');
- _targetElement = framework(targetElement);
+ _targetElement = FRAMEWORK(targetElement);
_isTextarea = _targetElement.is('textarea');
_isBody = _targetElement.is('body');
_documentMixed = _documentElement[0] !== document;
@@ -4686,7 +4710,7 @@
_contentElement = findFirst(_hostElement, _strDot + _classNameContentElement);
_viewportElement = findFirst(_hostElement, _strDot + _classNameViewportElement);
_paddingElement = findFirst(_hostElement, _strDot + _classNamePaddingElement);
- _textareaCoverElement = framework(generateDiv(_classNameTextareaCoverElement));
+ _textareaCoverElement = FRAMEWORK(generateDiv(_classNameTextareaCoverElement));
_contentElement.prepend(_textareaCoverElement);
_targetElement.on(_strScroll, textareaOnScroll)
@@ -4733,8 +4757,8 @@
//build mutation observers
if (_supportMutationObserver) {
- var mutationObserver = compatibility.mO();
- var contentLastUpdate = compatibility.now();
+ var mutationObserver = COMPATIBILITY.mO();
+ var contentLastUpdate = COMPATIBILITY.now();
var mutationTarget;
var mutationAttrName;
var contentTimeout;
@@ -4749,7 +4773,7 @@
var doUpdate = false;
//var doUpdateScrollbars = false;
var mutation;
- framework.each(mutations, function () {
+ FRAMEWORK.each(mutations, function () {
mutation = this;
mutationTarget = mutation.target;
mutationAttrName = mutation.attributeName;
@@ -4782,14 +4806,14 @@
var doUpdate = false;
var mutation;
- framework.each(mutations, function () {
+ FRAMEWORK.each(mutations, function () {
mutation = this;
doUpdate = isUnknownMutation(mutation);
return !doUpdate;
});
if (doUpdate) {
- now = compatibility.now();
+ now = COMPATIBILITY.now();
sizeAuto = (_heightAutoCache || _widthAutoCache);
action = function () {
if(!_destroyed) {
@@ -4822,7 +4846,7 @@
_viewportElement[_strScrollLeft](initBodyScroll.l);
_viewportElement[_strScrollTop](initBodyScroll.t);
}
- _sizeObserverElement = framework(generateDiv('os-resize-observer-host'));
+ _sizeObserverElement = FRAMEWORK(generateDiv('os-resize-observer-host'));
_hostElement.prepend(_sizeObserverElement);
addResizeObserver(_sizeObserverElement, hostOnResized);
@@ -4843,16 +4867,16 @@
//add extensions
if(type(extensions) == TYPES.s)
extensions = [ extensions ];
- if(framework.isArray(extensions))
- framework.each(extensions, function () {_base.addExt(this); });
- else if(framework.isPlainObject(extensions))
- framework.each(extensions, function (key, value) { _base.addExt(key, value); });
+ if(COMPATIBILITY.isA(extensions))
+ FRAMEWORK.each(extensions, function () {_base.addExt(this); });
+ else if(FRAMEWORK.isPlainObject(extensions))
+ FRAMEWORK.each(extensions, function (key, value) { _base.addExt(key, value); });
return _initialized;
}
if (construct(pluginTargetElement, options, extensions)) {
- instances(pluginTargetElement, _base);
+ INSTANCES(pluginTargetElement, _base);
return _base;
}
_base = undefined;
@@ -4874,9 +4898,9 @@
var arr = [ ];
var inst;
var result;
- if(framework.isPlainObject(options)) {
+ if(FRAMEWORK.isPlainObject(options)) {
if (pluginTargetElements && pluginTargetElements.length) {
- framework.each(pluginTargetElements, function () {
+ FRAMEWORK.each(pluginTargetElements, function () {
inst = this;
if(inst !== undefined)
arr.push(OverlayScrollbarsInstance(inst, options, extensions, _pluginsGlobals, _pluginsAutoUpdateLoop));
@@ -4888,8 +4912,8 @@
}
else if(pluginTargetElements) {
if(pluginTargetElements.length && pluginTargetElements.length > 0) {
- framework.each(pluginTargetElements, function() {
- inst = instances(this);
+ FRAMEWORK.each(pluginTargetElements, function() {
+ inst = INSTANCES(this);
if(options === '!') {
if(inst instanceof window[PLUGINNAME])
arr.push(inst);
@@ -4900,7 +4924,7 @@
result = arr.length > 1 ? arr : arr[0];
}
else
- result = instances(pluginTargetElements);
+ result = INSTANCES(pluginTargetElements);
}
return result;
};
@@ -4911,7 +4935,7 @@
*/
window[PLUGINNAME].globals = function () {
initOverlayScrollbarsStatics();
- var globals = framework.extend(true, { }, _pluginsGlobals);
+ var globals = FRAMEWORK.extend(true, { }, _pluginsGlobals);
delete globals['msie'];
return globals;
};
@@ -4924,10 +4948,10 @@
initOverlayScrollbarsStatics();
var currDefaultOptions = _pluginsGlobals.defaultOptions;
if(newDefaultOptions === undefined)
- return framework.extend(true, { }, currDefaultOptions);
+ return FRAMEWORK.extend(true, { }, currDefaultOptions);
//set the new default options
- _pluginsGlobals.defaultOptions = framework.extend(true, { }, currDefaultOptions , _pluginsOptions.v(newDefaultOptions, _pluginsOptions.t, true));
+ _pluginsGlobals.defaultOptions = FRAMEWORK.extend(true, { }, currDefaultOptions , _pluginsOptions.v(newDefaultOptions, _pluginsOptions.t, true));
};
/**
@@ -4941,15 +4965,15 @@
* @param defaultOptions The default options which shall be used for the registered extension.
*/
window[PLUGINNAME].extension = function(extensionName, extension, defaultOptions) {
- var extNameTypeString = framework.type(extensionName) == TYPES.s;
+ var extNameTypeString = COMPATIBILITY.type(extensionName) == TYPES.s;
var argLen = arguments[LEXICON.l];
var i = 0;
if(argLen < 1 || !extNameTypeString) {
//return a copy of all extension objects
- return framework.extend(true, { length : _pluginsExtensions[LEXICON.l] }, _pluginsExtensions);
+ return FRAMEWORK.extend(true, { length : _pluginsExtensions[LEXICON.l] }, _pluginsExtensions);
}
else if(extNameTypeString) {
- if(framework.type(extension) == TYPES.f) {
+ if(COMPATIBILITY.type(extension) == TYPES.f) {
//register extension
_pluginsExtensions.push({
name : extensionName,
@@ -4963,7 +4987,7 @@
if(argLen > 1)
_pluginsExtensions.splice(i, 1); //remove extension
else
- return framework.extend(true, { }, _pluginsExtensions[i]); //return extension with the given name
+ return FRAMEWORK.extend(true, { }, _pluginsExtensions[i]); //return extension with the given name
}
}
}
@@ -4971,7 +4995,7 @@
};
return window[PLUGINNAME];
- })(FRAMEWORK, COMPATIBILITY, INSTANCES);
+ })();
if(JQUERY && JQUERY.fn) {
/**
@@ -4990,7 +5014,6 @@
return PLUGIN(_elements, options);
};
}
-
return PLUGIN;
}
));
\ No newline at end of file
diff --git a/js/jquery.overlayScrollbars.min.js b/js/jquery.overlayScrollbars.min.js
index 8bc6a2b..5b62652 100644
--- a/js/jquery.overlayScrollbars.min.js
+++ b/js/jquery.overlayScrollbars.min.js
@@ -2,12 +2,12 @@
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
- * Version: 1.5.2
+ * Version: 1.5.3
*
* Copyright KingSora.
* https://github.com/KingSora
*
* Released under the MIT license.
- * Date: 09.09.2018
+ * Date: 07.11.2018
*/
-!function(e,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(e,e.document,undefined,n)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,e.document,undefined,require("jquery")):t(e,e.document,undefined,e.jQuery)}("undefined"!=typeof window?window:this,function(e,t,n,r){"use strict";var i,o,a,s="OverlayScrollbars",c={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},l={c:"class",s:"style",i:"id",l:"length",p:"prototype",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},u={wW:function(){return e.innerWidth||t.documentElement[l.cW]||t.body[l.cW]},wH:function(){return e.innerHeight||t.documentElement[l.cH]||t.body[l.cH]},mO:function(){return e.MutationObserver||e.WebKitMutationObserver||e.WebkitMutationObserver||e.MozMutationObserver||n},rO:function(){return e.ResizeObserver||e.WebKitResizeObserver||e.WebkitResizeObserver||e.MozResizeObserver||n},rAF:function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t){return e.setTimeout(t,1e3/60)}},cAF:function(){return e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.oCancelAnimationFrame||e.msCancelAnimationFrame||function(t){return e.clearTimeout(t)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},prvD:function(e){e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1},page:function(e){var r="page",i="client",o="X",a="Y",s=((e=e.originalEvent||e).target||e.srcElement||t).ownerDocument||t,c=s.documentElement,l=s.body;if(e.touches!==n){var u=e.touches[0];return{x:u[r+o],y:u[r+a]}}return!e[r+o]&&e[i+o]&&null!=e[i+o]?{x:e[i+o]+(c&&c.scrollLeft||l&&l.scrollLeft||0)-(c&&c.clientLeft||l&&l.clientLeft||0),y:e[i+a]+(c&&c.scrollTop||l&&l.scrollTop||0)-(c&&c.clientTop||l&&l.clientTop||0)}:{x:e[r+o],y:e[r+a]}},mBtn:function(e){return e.which||e.button===n?e.which:1&e.button?1:2&e.button?3:4&e.button?2:0},inA:function(e,t){for(var n=0;n0?"\r\nValid strings are: [ "+T.join(", ").split(v).join(", ")+" ].":"")),delete e[s]}}};return l(s,t,a),o?r.extend(!0,a,s):!r.isEmptyObject(s)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(s,null,2)),a}});function H(){a||(a=new M(W.d)),u||(u=new A(a))}function M(a){var s=this,c="overflow",u="hidden",f="scroll",h=r("body"),d=r(''),v=d[0],p=r(d.children("div").eq(0));h.append(d);var y,x,m,w,b,g,S,O,z,W=A(v),H={x:0===W.x,y:0===W.y};function M(e){var r=!1,i="Webkit Moz ms O".split(" "),o=t.createElement("div"),a=null,s=0;if(e=e.toLowerCase(),o[l.s][e]!==n&&(r=!0),!r)for(a=e.charAt(0).toUpperCase()+e.substr(1);s0?y=z(x[w](b+5,x[m](".",b)),10):g>0?y=z(x[w](O+3,x[m](".",O)),10):S>0&&(y=z(x[w](S+5,x[m](".",S)),10)),y),cssCalc:function(){var e,n,r=t.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(e=0;e0){var e=i.wW(),l=i.wH(),v=e-n,p=l-a;if(0===v&&0===p)return;var y,x=Math.round(e/(n/100)),m=Math.round(l/(a/100)),w=t(v),b=t(p),g=t(x),S=t(m),O=f(),z=w>2&&b>2,W=!u(g,S),H=z&&W&&(O!==c&&c>0),M=s.nativeScrollbarSize;H&&(h.append(d),y=s.nativeScrollbarSize=A(d[0]),d.remove(),M.x===y.x&&M.y===y.y||r.each(o(),function(){o(this)&&o(this).update("zoom")})),n=e,a=l,c=O}};r(e).on("resize",l)}function u(e,n){var r=t(e),i=t(n);return!(r===i||r+1===i||r-1===i)}function f(){var t=e.screen.deviceXDPI||0,n=e.screen.logicalXDPI||1;return e.devicePixelRatio||t/n}}()}function A(e){var t,o=this,a="autoUpdate",s=a+"Interval",c=l.l,u=[],f=[],h=!1,d=33,v=d,p=i.now(),y=function(){if(u[c]>0&&h){t=i.rAF()(function(){y()});var e=i.now(),r=e-p;if(r>v){p=e-r%v;for(var o=d,l=0;lb&&(x.update("auto"),f[l]=new Date(g+=b)),o=Math.max(1,Math.min(o,b))}}v=o}}else v=d};o.add=function(t){-1===r.inArray(t,u)&&(u.push(t),f.push(i.now()),u[c]>0&&!h&&(h=!0,e.autoUpdateLoop=h,y()))},o.remove=function(o){var a=r.inArray(o,u);a>-1&&(f.splice(a,1),u.splice(a,1),0===u[c]&&h&&(h=!1,e.autoUpdateLoop=h,t!==n&&(i.cAF()(t),t=-1)))}}function C(a,u,h,d,v){if(fi(a)){if(o(a)){var p=o(a);return p.options(u),p}var y,x,m,w,b,g,S,O,z,H,M,A,C,T,k,E,L,P,D,R,N,F,I,j,U,_,q,B,V,X,Y,K,J,Q,G,Z,$,ee,te,ne,re,ie,oe,ae,se,ce,le,ue,fe,he,de,ve,pe,ye,xe,me,we,be,ge,Se,Oe,ze,We,He,Me,Ae,Ce,Te,ke,Ee,Le,Pe,De,Re,Ne,Fe,Ie,je,Ue,_e,qe,Be,Ve,Xe,Ye,Ke,Je,Qe,Ge,Ze,$e,et,tt,nt,rt,it,ot,at,st,ct,lt,ut,ft,ht,dt,vt,pt,yt,xt,mt,wt,bt,gt,St,Ot,zt,Wt,Ht,Mt,At,Ct,Tt=new e[s],kt=r[l.p],Et={},Lt={},Pt={},Dt={},Rt={},Nt=175,Ft="-hidden",It="margin-",jt="padding-",Ut="border-",_t="top",qt="right",Bt="bottom",Vt="left",Xt="min-",Yt="max-",Kt="width",Jt="height",Qt="float",Gt="",Zt="auto",$t="scroll",en="100%",tn="x",nn="y",rn=".",on=" ",an="scrollbar",sn="-horizontal",cn="-vertical",ln=$t+"Left",un=$t+"Top",fn="mousedown touchstart",hn="mouseup touchend touchcancel",dn="mousemove touchmove",vn="mouseenter",pn="mouseleave",yn="keydown",xn="keyup",mn="selectstart",wn="transitionend webkitTransitionEnd oTransitionEnd",bn="__overlayScrollbarsRO__",gn="os-",Sn=gn+"html",On=gn+"host",zn=On+"-textarea",Wn=On+"-"+an+sn+Ft,Hn=On+"-"+an+cn+Ft,Mn=On+"-transition",An=On+"-rtl",Cn=On+"-resize-disabled",Tn=On+"-scrolling",kn=On+"-overflow",En=kn+"-x",Ln=kn+"-y",Pn=gn+"textarea",Dn=Pn+"-cover",Rn=gn+"padding",Nn=gn+"viewport",Fn=Nn+"-native-scrollbars-invisible",In=Nn+"-native-scrollbars-overlaid",jn=gn+"content",Un=gn+"content-arrange",_n=gn+"content-glue",qn=gn+"size-auto-observer",Bn=gn+"resize-observer",Vn=gn+"resize-observer-item",Xn=Vn+"-final",Yn=gn+"text-inherit",Kn=gn+an,Jn=Kn+"-track",Qn=Jn+"-off",Gn=Kn+"-handle",Zn=Gn+"-off",$n=Kn+"-unusable",er=Kn+"-"+Zt+Ft,tr=Kn+"-corner",nr=tr+"-resize",rr=nr+"-both",ir=nr+sn,or=nr+cn,ar=Kn+sn,sr=Kn+cn,cr=gn+"dragging",lr=gn+"theme-none",ur={},fr="added removed on contract",hr={},dr=42,vr=[],pr=11,yr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],xr=[],mr={},wr={};if(Tt.sleep=function(){B=!0},Tt.update=function(e){var t,n,o=zi(e)==c.s,a="img",s="load";o?0===e.indexOf(Zt)?(t=Qr(),n=Jr(),(t||n)&&$r(!1,n,!1,"+"==e.slice(-1))):"zoom"===e&&$r(!0,!0):(e=B||e,B=!1,$r(!1,!1,e,!0)),E||le.find(a).each(function(e,t){-1===i.inA(t,vr)&&r(t).off(s,Vr).on(s,Vr)})},Tt.options=function(e,t){if(r.isEmptyObject(e)||!r.isPlainObject(e)){if(zi(e)==c.s){if(arguments.length>=2){var n={};return bi(n,e,t),ei(n),void $r()}return wi(Y,e)}return Y}ei(e);var i=B||!1;B=!1,$r(),B=i},Tt.destroy=function(){for(var e in k=!0,v.remove(Tt),Mr(),Or(ie),R&&Or(re),ur)Tt.removeExt(e);Ai(ie),oe!==n&&Ai(oe),ce!==n&&Ai(ce),R&&Ai(re),M?(gr(ne,dn,kr),gr(ne,vn,Cr),gr(ne,pn,Tr)):ne.off(dn,kr).off(vn,Cr).off(pn,Tr),Ai(he),Ai(pe),fe&&Ai(fe),Ht||qr(),le.contents().unwrap().unwrap().unwrap(),L&&Mi($,Sn),E?(te.off($t,jr).off("drop",Nr).off("focus",Fr).off("focusout",Ir),b>9||!w?te.off("input",Pr):te.off(yn,Dr).off(xn,Rr),Ai(ue),Mi(te,Pn+on+Yn).unwrap().removeAttr(l.s),Ai(ne)):(Mi(te,On),Mi(ne,[On,Cn,An,Wn,Hn,Mn,Tn,kn,En,Ln,lr,rt].join(on)));for(var t=0;t0)t.x=e[0],t.y=e[1];else if(zi(e)==c.s||zi(e)==c.n)t.x=e,t.y=e;else if(zi(e)==c.o){for(var n in A=zi(e.n)==c.b?e.n:A,e=Wi({},e),x=0,e)e.hasOwnProperty(n)&&(x>2&&delete e[n],x++);var r=function(t){var n=t?C:T;for(x=0;x2){var y=r.substr(0,2);for(x=0;x/g,(v?"-":Gt)+en))[p](/px/g,Gt))[p](/%/g,h+f*(d&&m.n?-1:1)/100))[p](/vw/g,h+Dt.w))[p](/vh/g,h+Dt.h),o=di(e.parseFloat(e.eval(r)).toFixed())}else o=r;if(o!==n&&!isNaN(o)&&zi(o)==c.n){var w=A&&d,b=u*(w&&m.n?-1:1),g=w&&m.i,S=w&&m.n;switch(b=g?f-b:b,i){case"+=":s=b+o;break;case"-=":s=b-o;break;case"*=":s=b*o;break;case"/=":s=b/o;break;default:s=o}s=g?f-s:s,s*=S?-1:1,s=d&&m.n?Math.min(0,Math.max(f,s)):Math.max(0,Math.min(f,s))}return s===u?n:s},$=function(e,t,n,r){var i,o,a=[n,n],s=zi(e);if(s==t)e=[e,e];else if(s==c.a){if((i=e[U])>2||i<1)e=a;else for(1===i&&(e[1]=n),x=0;x=4?ee(ne):ce:le==c.o?ee([ne[_t],ne[qt],ne[Bt],ne[Vt]]):ce,S=Q(re,_)?re:"xy",O=$(ie,c.s,F,V),z=$(oe,c.s,D,B),W=ne;var ue={l:Lt.cs,t:Pt.cs},fe=ae.offset(),he=M.offset(),de={x:O.x==I||S==nn,y:O.y==I||S==tn};he[_t]-=W[0],he[Vt]-=W[3];var ve={x:Math.round(he[Vt]-fe[Vt]+ue.l),y:Math.round(he[_t]-fe[_t]+ue.t)};if(q&&(m.n||m.i||(ve.x=Math.round(fe[Vt]-he[Vt]+ue.l)),m.n&&A&&(ve.x*=-1),m.i&&A&&(ve.x=Math.round(fe[Vt]-he[Vt]+(Lt.ms-ue.l)))),z.x!=D||z.y!=D||O.x==j||O.y==j||q){var pe=M[0],ye=H?pe.getBoundingClientRect():{width:pe[l.oW],height:pe[l.oH]},xe={w:ye[Kt]+W[3]+W[1],h:ye[Jt]+W[0]+W[2]},me=function(e){var t=ci(e),n=t._wh,r=t.lt,i=t.xy,o=z[i]==(e&&q?D:P),a=z[i]==R,s=z[i]==N,c=O[i]==I,l=O[i]==j,u=Dt[n],f=fe[r],h=xe[n],d=he[r],v=a?2:1,p=d+h/2,y=f+u/2,x=h<=u&&d>=f&&d+h<=f+u;c?de[i]=!0:de[i]||((s||l)&&(de[i]=!!l&&x,o=hy:p0||L))if(L)se.animate(E,i);else{if(g={duration:i,complete:a},zi(o)==c.a){var we={};we[ln]=o[0],we[un]=o[1],g.specialEasing=we}else g.easing=o;se.animate(E,g)}else w&&se[ln](E[ln]),b&&se[un](E[un])},Tt.scrollStop=function(e,t,n){return se.stop(e,t,n),Tt},Tt.getElements=function(e){var t={target:te[0],host:ne[0],padding:ae[0],viewport:se[0],content:le[0],scrollbarHorizontal:{scrollbar:he[0],track:de[0],handle:ve[0]},scrollbarVertical:{scrollbar:pe[0],track:ye[0],handle:xe[0]},scrollbarCorner:fe[0]};return zi(e)==c.s?wi(t,e):t},Tt.getState=function(e){var t=function(e){if(!r.isPlainObject(e))return e;var t=Wi(!0,{},e),n=function(e,n){t.hasOwnProperty(e)&&(t[n]=t[e],delete t[e])};return n("w",Kt),n("h",Jt),delete t.c,t},n={sleeping:t(B)||!1,autoUpdate:t(!ht),widthAuto:t(Oe),heightAuto:t(ze),padding:t(Me),overflowAmount:t(Re),hideOverflow:t(Se),hasOverflow:t(ge),contentScrollSize:t(we),viewportSize:t(Dt),hostSize:t(me),documentMixed:t(P)};return zi(e)==c.s?wi(n,e):n},Tt.ext=function(e){var t,n=fr.split(" "),r=0;if(zi(e)==c.s){if(ur.hasOwnProperty(e))for(t=Wi(!0,{},ur[e]);r9||!w){e.prepend(mi(Bn,mi({className:Vn,dir:"ltr"},mi(Vn,mi(Xn))+mi(Vn,mi({className:Xn,style:"width: 200%; height: 200%"})))));var v,p,y,x,g=e[0][u][0][u][0],S=r(g[u][1]),O=r(g[u][0]),z=r(O[0][u][0]),W=g[l.oW],H=g[l.oH],M=2,C=d.nativeScrollbarSize,T=function(){O[ln](o)[un](o),S[ln](o)[un](o)},k=function(){p=0,v&&(W=y,H=x,f())},E=function(e){return y=g[l.oW],x=g[l.oH],v=y!=W||x!=H,e&&v&&!p?(i.cAF()(p),p=i.rAF()(k)):e||k(),T(),e&&(i.prvD(e),i.stpP(e)),!1},L={},P={};P[_t]=-(C.y+1)*M,P[qt]=C.x*-M,P[Bt]=C.y*-M,P[Vt]=-(C.x+1)*M,r(g).css(P),O.on($t,E),S.on($t,E),e.on(s,function(){E(!1)}),L[Kt]=o,L[Jt]=o,z.css(L),T()}else{var D=Z[0],R=D.attachEvent,N=b!==n;if(R)e.prepend(mi(Bn)),Ci(e,rn+Bn)[0].attachEvent("onresize",f);else{var F=D.createElement(c.o);F.setAttribute("tabindex","-1"),F.setAttribute(l.c,Bn),F.onload=function(){var e=this.contentDocument.defaultView;e.addEventListener("resize",f),e.document.documentElement.style.display="none"},F.type="text/html",N&&e.prepend(F),F.data="about:blank",N||e.prepend(F),e.on(s,f)}}if(e[0]===ie[0]){var I=function(){var t=ne.css("direction"),n={},r=0,i=!1;return t!==ke&&("ltr"===t?(n[Vt]=0,n[qt]=Zt,r=o):(n[Vt]=Zt,n[qt]=0,r=m.n?-o:m.i?0:o),ie.children().eq(0).css(n),e[ln](r)[un](o),ke=t,i=!0),i};I(),e.on($t,function(e){return I()&&$r(),i.prvD(e),i.stpP(e),!1})}}function Or(e){if(A){var t=e.contents()[0];t[bn].disconnect(),delete t[bn]}else Ai(e.children(rn+Bn).eq(0))}function zr(e){}function Wr(e){}function Hr(){dt&&!ht&&(ut.observe(ne[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[l.i,l.c,l.s]}),ft.observe(E?te[0]:le[0],{attributes:!0,attributeOldValue:!0,subtree:!E,childList:!E,characterData:!E,attributeFilter:E?["wrap","cols","rows"]:[l.i,l.c,l.s]}),ht=!0)}function Mr(){dt&&ht&&(ut.disconnect(),ft.disconnect(),ht=!1)}function Ar(){if(!B){var e=ie[0],t={w:e[l.sW],h:e[l.sH]};if(T){var n=Si(t,Qe);Qe=t,n&&$r(!0,!1)}else Qe=t}}function Cr(){St&&ii(!0)}function Tr(){St&&!ee.hasClass(cr)&&ii(!1)}function kr(){gt&&(ii(!0),clearTimeout(xt),xt=setTimeout(function(){gt&&!k&&ii(!1)},100))}function Er(e){B||(V!==n?clearTimeout(V):((bt||gt)&&ii(!0),yi()||Hi(ne,Tn),li("onScrollStart",e)),ai(!0,se[ln]()),ai(!1,se[un]()),li("onScroll",e),V=setTimeout(function(){k||(Lr(),li("onScrollStop",e))},Nt))}function Lr(){clearTimeout(V),V=n,(bt||gt)&&ii(!1),yi()||Mi(ne,Tn)}function Pr(){Zr(),Tt.update(Zt)}function Dr(e){var t=e.keyCode;if(!pi(t)){if(0===xr.length){var n=function(){Zr(),Tt.update(Zt)};n(),vt=setInterval(n,1e3/60)}-1===r.inArray(t,xr)&&xr.push(t)}}function Rr(e){var t=e.keyCode;if(!pi(t)){var n=r.inArray(t,xr);n>-1&&xr.splice(n,1),0===xr.length&&(Zr(),Tt.update(Zt),clearInterval(vt))}}function Nr(){setTimeout(function(){k||(Zr(),Tt.update(Zt))},50)}function Fr(){pt=!0}function Ir(){pt=!1,clearInterval(vt),xr=[],Zr(),Tt.update(Zt)}function jr(e){return te[ln](m.i&&nt?9999999:0),te[un](0),i.prvD(e),i.stpP(e),!1}function Ur(e){if(!B){var t=(e.originalEvent||e).touches!==n;(1===i.mBtn(e)||t)&&(ht&&(Wt=!0,Mr()),mr=i.page(e),wr.w=ne[0][l.oW]-(D?0:N),wr.h=ne[0][l.oH]-(D?0:F),Z.on(mn,Br).on(dn,_r).on(hn,qr),Hi(ee,cr),fe.setCapture&&fe.setCapture(),i.prvD(e),i.stpP(e))}}function _r(e){var t=i.page(e),n={};(At||Mt)&&(n[Kt]=wr.w+t.x-mr.x),(Ct||Mt)&&(n[Jt]=wr.h+t.y-mr.y),ne.css(n),i.stpP(e)}function qr(e){var t=e!==n;Z.off(mn,Br).off(dn,_r).off(hn,qr),Mi(ee,cr),fe.releaseCapture&&fe.releaseCapture(),t&&(Wt&&Hr(),Tt.update(Zt)),Wt=!1}function Br(e){return i.prvD(e),!1}function Vr(){$r()}function Xr(){var e={};return L&&ce&&(e.w=di(ce.css(Xt+Kt)),e.h=di(ce.css(Xt+Jt)),e.c=Si(e,st),e.f=!0),st=e,e.c||!1}function Yr(e,t){var i=t!==n&&null!==t?t.split(on):Gt,o=e!==n&&null!==e?e.split(on):Gt;if(i===Gt&&o===Gt)return!1;var a,s,c,l,u=hi(o,i),f=!1,h=it!==n&&null!==it?it.split(on):[Gt],d=rt!==n&&null!==rt?rt.split(on):[Gt],v=r.inArray(lr,u),p=u[a];for(v>-1&&u.splice(v,1),a=0;a0&&T&&s-J0?G:lr)),Xe&&(!0===Ve?(Mr(),v.add(Tt)):null===Ve&&w?(Mr(),v.add(Tt)):(v.remove(Tt),Hr())),_e)if(ke)if(oe===n&&(oe=r(mi(_n)),ae.before(oe)),R)re.show();else{re=r(mi(qn)),oe.before(re);var ft={w:-1,h:-1};Sr(re,function(){var e={w:re[0][l.oW],h:re[0][l.oH]};Si(e,ft)&&(T&&ze&&e.h>0||Oe&&e.w>0?$r():(T&&!ze&&0===e.h||!Oe&&0===e.w)&&$r()),ft=e}),R=!0,null!==S&&re.css(Jt,S+"(100% + 1px)")}else R&&re.hide();o&&(ie.find("*").trigger($t),R&&re.find("*").trigger($t));var dt,vt=ne.css("direction"),yt=gi(vt,Te,o),xt=ne.css("box-sizing"),zt=gi(xt,He,o),Wt={c:o,t:di(ne.css(jt+_t)),r:di(ne.css(jt+qt)),b:di(ne.css(jt+Bt)),l:di(ne.css(jt+Vt))};try{dt=R?re[0].getBoundingClientRect():null}catch(Fi){return}D="border-box"===xt;var kt=(q="rtl"===vt)?Vt:qt,Lt=q?qt:Vt,Pt=ne[0],Nt=ae[0],Ft=!1,rn=!(!R||"none"===ne.css(Qt))&&(0===Math.round(dt.right-dt.left)&&(!!ve||Pt[l.cW]-N>0));if(ke&&!rn){var an=Pt[l.oW],sn=oe.css(Kt);oe.css(Kt,Zt);var cn=Pt[l.oW];oe.css(Kt,sn),(Ft=an!==cn)||(oe.css(Kt,an+1),cn=Pt[l.oW],oe.css(Kt,sn),Ft=an!==cn)}var hn=(rn||Ft)&&ke&&!u,yn=gi(hn,Oe,o),xn=!hn&&Oe,mn=!(!R||u)&&0===Math.round(dt.bottom-dt.top),wn=gi(mn,ze,o),bn=!mn&&ze,gn="-"+Kt,Sn=hn&&D||!D,On=mn&&D||!D,zn={c:o,t:On?di(ne.css(Ut+_t+gn)):0,r:Sn?di(ne.css(Ut+qt+gn)):0,b:On?di(ne.css(Ut+Bt+gn)):0,l:Sn?di(ne.css(Ut+Vt+gn)):0},Wn={c:o,t:di(ne.css(It+_t)),r:di(ne.css(It+qt)),b:di(ne.css(It+Bt)),l:di(ne.css(It+Vt))},Hn={h:String(ne.css(Yt+Jt)),w:String(ne.css(Yt+Kt))},Mn={},Pn={};if(N=Wt.l+Wt.r,F=Wt.t+Wt.b,Wt.ax=ve?N:0,Wt.ay=ve?F:0,Wt.c=Oi(Wt,Me),I=zn.l+zn.r,j=zn.t+zn.b,zn.c=Oi(zn,Ae),U=Wn.l+Wn.r,_=Wn.t+Wn.b,Wn.c=Oi(Wn,Ce),Hn.ih=di(Hn.h),Hn.iw=di(Hn.w),Hn.ch=Hn.h.indexOf("px")>-1,Hn.cw=Hn.w.indexOf("px")>-1,Hn.c=Si(Hn,We,o),Te=vt,He=xt,Oe=hn,ze=mn,Me=Wt,Ae=zn,Ce=Wn,We=Hn,yt&&R&&re.css(Qt,Lt),Wt.c||yt||pe||yn||wn||zt||_e){var Dn={},Rn={};ui(Pn,It,[-Wt.t,-Wt.r,-Wt.b,-Wt.l]),ve?(ui(Dn,Gt,[Wt.t,Wt.r,Wt.b,Wt.l]),ui(E?Rn:Mn,jt)):(ui(Dn,Gt),ui(E?Rn:Mn,jt,[Wt.t,Wt.r,Wt.b,Wt.l])),ae.css(Dn),te.css(Rn)}Dt={w:Nt[l.oW],h:Nt[l.oH]};var Nn=!!E&&Zr();if(mn&&(wn||pe||zt||Hn.c||Wt.c||zn.c)?(Hn.cw&&(Mn[Yt+Jt]=Hn.ch?Hn.ih-Wt.ay+(D?-j:F):Gt),Mn[Jt]=Zt):(wn||pe)&&(Mn[Yt+Jt]=Gt,Mn[Jt]=en),hn&&(yn||pe||zt||Hn.c||Wt.c||zn.c||yt)?(Hn.cw&&(Mn[Yt+Kt]=Hn.cw?Hn.iw-Wt.ax+(D?-I:N)+(y.y?x.y:0):Gt),Mn[Kt]=Zt,Pn[Yt+Kt]=en):(yn||pe)&&(Mn[Yt+Kt]=Gt,Mn[Kt]=en,Mn[Qt]=Gt,Pn[Yt+Kt]=Gt),hn&&(Hn.cw||(Mn[Yt+Kt]=Gt),Pn[Kt]=E&&Je?Nn.dw:Zt,Mn[Kt]=Zt,Mn[Qt]=Lt),mn&&(Hn.ch||(Mn[Yt+Jt]=Gt),Pn[Jt]=E?ct?Nn.dh:Zt:le[0][l.cH]),ke&&oe.css(Pn),le.css(Mn),Mn={},Pn={},e||t||yt||zt||pe||yn||hn||wn||mn||Hn.c||Be||Ke||xe||ee||W||Qe||ut||de||o){var Fn="overflow",In=Fn+"-x",jn=Fn+"-y",Bn="hidden",Vn="visible",Xn=C?y.x||y.y||Dt.w0&&(Pn[Kt]=Math.max(1,Pn[Kt]),Pn[Jt]=Math.max(1,Pn[Jt])),E&&ue.css(ur),oe.css(Pn)}hn&&(Mn[Kt]=en),!hn||D||ht||(Mn[Qt]="none"),le.css(Mn),Mn={};var fr=Qn.getBoundingClientRect(),vr={w:Math.max(Qn[l.sW],Gn[l.sW]),h:Math.max(Qn[l.sH],Gn[l.sH])};if(Xn&&le.css(Fn,Gt),fr.width){var pr=fr.width,yr=fr.height,xr=.001;vr.w+=di(pr+xr)-pr,vr.h+=di(yr+xr)-yr}vr.c=t=Si(vr,we,o),we=vr,e=Si(tr={w:Pt[l.cW],h:Pt[l.cH]},me),me=tr;var mr={x:"v-s"===Ye.x,y:"v-s"===Ye.y},wr={x:"v-h"===Ye.x,y:"v-h"===Ye.y},Or={x:"s"===Ye.x,y:"s"===Ye.y},Ar={x:Math.max(0,Math.round(100*(vr.w-tr.w+Wt.ax))/100),y:Math.max(0,Math.round(100*(vr.h-tr.h+Wt.ay))/100)},Er=E&&(0===Dt.w||0===Dt.h);Er&&(Ar.x=0,Ar.y=0);var Lr={x:Ar.x>0,y:Ar.y>0},Pr={x:Lr.x,y:Lr.y};(mr.x||wr.x)&&(Pr.x=Lr.y&&!mr.y&&!wr.y),(mr.y||wr.y)&&(Pr.y=Lr.x&&!mr.x&&!wr.x),Pr.xs=!!Pr.x&&(Or.x||mr.x),Pr.ys=!!Pr.y&&(Or.y||mr.y);var Dr={x:Lr.x&&Pr.xs,y:Lr.y&&Pr.ys},Rr=Re;if(Ar.c=Si(Ar,Re,tn,nn,o),Re=Ar,Lr.c=Si(Lr,ge,tn,nn,o),ge=Lr,Pr.c=Si(Pr,Se,tn,nn,o),Se=Pr,y.x||y.y){var Nr="px solid transparent",Fr={},Ir={},jr=o;(Lr.x||Lr.y)&&(Ir.w=y.y&&Lr.y?vr.w+x.y:Gt,Ir.h=y.x&&Lr.x?vr.h+x.x:Gt,jr=gi(Ir,be,o),be=Ir),(Lr.c||Pr.c||vr.c||yt||yn||wn||hn||mn||Be)&&(Mn[It+Lt]=Mn[Ut+Lt]=Gt,y.x&&Lr.x&&Pr.xs?(Mn[It+Bt]=mn?qe?Gt:x.x:Gt,Mn[Ut+Bt]=mn||qe?Gt:x.x+Nr):(Ir.h=Mn[It+Bt]=Mn[Ut+Bt]=Gt,jr=!0),y.y&&Lr.y&&Pr.ys?(Mn[It+kt]=hn?qe?Gt:x.y:Gt,Mn[Ut+kt]=qe?Gt:x.y+Nr):(Ir.w=Mn[It+kt]=Mn[Ut+kt]=Gt,jr=!0)),qe&&(Ir.w=Ir.h=Gt,jr=!0),jr&&(Fr[Kt]=Pr.y?Ir.w:Gt,Fr[Jt]=Pr.x?Ir.h:Gt,ce||(ce=r(mi(Un)),se.prepend(ce)),ce.css(Fr)),le.css(Mn)}var _r={};Dn={};if(e||Lr.c||Pr.c||vr.c||Ke||zt||Be||yt||xe||wn){_r[Lt]=Gt;var qr=function(){_r[Bt]=Gt,Et.h=0},Br=function(){_r[kt]=Gt,Et.w=0};if(Lr.x&&Pr.xs?(_r[In]=$t,qe?qr():(_r[Bt]=-(y.x?x.x:O.x),Et.h=y.x?x.y:0)):(_r[In]=Gt,qr()),Lr.y&&Pr.ys?(_r[jn]=$t,qe?Br():(_r[kt]=-(y.y?x.y:O.y),Et.w=y.y?x.x:0)):(_r[jn]=Gt,Br()),(Dt.h-1,Ni=Di.y>-1;(Ri||Ni)&&(Ni&&se[un](Di.y),Ri&&(q&&nt&&m.i?se[ln](0):se[ln](Di.x)))}Ue=bi}else E||(q&&m.i&&y.y&&Lr.x&&nt&&(h.l+=Et.w||0),se[ln](h.l),se[un](h.t));yt&&li("onDirectionChanged",{isRTL:q,dir:vt}),e&&li("onHostSizeChanged",{width:me.w,height:me.h}),t&&li("onContentSizeChanged",{width:we.w,height:we.h}),(Lr.c||Pr.c)&&li("onOverflowChanged",{x:Lr.x,y:Lr.y,xScrollable:Pr.xs,yScrollable:Pr.ys,clipped:Pr.x||Pr.y}),Ar.c&&li("onOverflowAmountChanged",{x:Ar.x,y:Ar.y})}L&&(ge.c||st.c)&&(st.f||Xr(),y.y&&ge.x&&le.css(Xt+Kt,st.w+x.y),y.x&&ge.y&&le.css(Xt+Jt,st.h+x.x),st.c=!1),Wr(ie),Wr(re),li("onUpdated",{forced:o})}}function ei(e){Y=Wi(!0,{},Y,W.v(e,W.t,!0)),K=Wi(!0,{},K,W.v(e,W.t,!1,!0))}function ti(){he=r(mi(Kn+on+ar)),de=r(mi(Jn)),ve=r(mi(Gn)),pe=r(mi(Kn+on+sr)),ye=r(mi(Jn)),xe=r(mi(Gn)),he.append(de),de.append(ve),pe.append(ye),ye.append(xe),ae.after(pe),ae.after(he),z&&(he.on(wn,function(e){e.target===he[0]&&(oi(!0),ai(!0,se[ln]()))}),pe.on(wn,function(e){e.target===pe[0]&&(oi(!1),ai(!1,se[un]()))})),ni(!0),ni(!1),fe=r(mi(tr)),ne.append(fe)}function ni(e){var t,o,a,s=ci(e),c=G.top!==G,l=s.xy,u=s.XY,f=$t+s.LT,h="active",d=1,v=[16,17];function p(){d=.5}function y(){d=1}function x(e){r.inArray(e.keyCode,v)>-1&&p()}function w(e){r.inArray(e.keyCode,v)>-1&&y()}function g(e){var t=(e.originalEvent||e).touches!==n;return!(B||yi()||!et||t&&!Ot)&&(1===i.mBtn(e)||t)}function S(n){if(g(n)){var r=s.i.tl,a=s.i.hl,h=s.i.ms*(((b&&c?n["screen"+u]:i.page(n)[l])-o)/(r-a));h=isFinite(h)?h:0,q&&e&&!m.i&&(h*=-1),se[f](t+h),M||i.prvD(n)}else O(n)}function O(e){e=e||e.originalEvent,Mi(ee,cr),Mi(s.h,h),Mi(s.t,h),Mi(s.s,h),Z.off(dn,S).off(hn,O).off(yn,x).off(xn,w).off(mn,Br),y(),t=n,o=n,a!==n&&(Tt.scrollStop(),clearTimeout(a),a=n);var r=ne[0].getBoundingClientRect();e.clientX>=r.left&&e.clientX<=r.right&&e.clientY>=r.top&&e.clientY<=r.bottom||Tr(),(bt||gt)&&ii(!1)}function z(r){t=(t=se[f]())===n?0:t,(q&&e&&!m.n||!q)&&(t=t<0?0:t),o=b&&c?r["screen"+u]:i.page(r)[l],Hi(ee,cr),Hi(s.h,h),Hi(s.s,h),Z.on(dn,S).on(hn,O).on(mn,Br),!b&&P||i.prvD(r),i.stpP(r)}s.h.on(fn,function(e){g(e)&&z(e)}),s.t.on(fn,function(t){if(g(t)){var r,c,u=Dt[s._wh],v=s.t.offset()[s.lt],y=t.ctrlKey,b=t.shiftKey,S=b&&y,W=!0,H="linear",M=function(){if(!k){var i=o-v,h=s.i.tl,p=s.i.ho,y=s.i.hl,x=s.i.ms,w=270*d,g=W?Math.max(400,w):w,O=x*((i-y/2)/(h-y)),A=q&&e&&(!m.i&&!m.n||nt),C=A?pi,T={};b?(O=isFinite(O)?O:0,q&&e&&!m.i&&(O=x-O),S?(T.n=!1,T[l]=O,Tt.scroll(T,130,H,function(){z(t)})):(se[f](O),z(t))):(r=W?C:r,c=A?r?p+y>=i:p<=i:r?p<=i:p+y>=i,T[l]=r?"-="+u:"+="+u,Tt.scrollStop(),Tt.scroll(T,w,H),c?(clearTimeout(a),Tt.scrollStop(),a=n):a=setTimeout(M,g),W=!1)}};y&&p(),o=i.page(t)[l],Hi(ee,cr),Hi(s.t,h),Hi(s.s,h),Z.on(hn,O).on(yn,x).on(xn,w).on(mn,Br),M(),i.prvD(t),i.stpP(t)}}).hover(function(){(bt||gt)&&(zt=!0,ii(!0))},function(){(bt||gt)&&(zt=!1,ii(!1))}),s.s.on(fn,function(e){i.stpP(e)})}function ri(e,t,n){var r=e?Wn:Hn,i=e?he:pe;t?Mi(ne,r):Hi(ne,r),n?Mi(i,$n):Hi(i,$n)}function ii(e,t){if(clearTimeout(yt),e)Mi(he,er),Mi(pe,er);else{var n="active",r=function(){if(!zt&&!k){var e=ve.hasClass(n)||xe.hasClass(n);!e&&(bt||gt||St)&&Hi(he,er),!e&&(bt||gt||St)&&Hi(pe,er)}};mt>0&&!0!==t?yt=setTimeout(r,mt):r()}}function oi(e){var t={},n=ci(e),r=1e6,i=Math.min(1,(me[n._wh]-(Ee?e?N:F:0))/we[n._wh]);t[n.wh]=Math.floor(100*i*r)/r+"%",yi()||n.h.css(t),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function ai(e,t){var n,r,i,o=q&&e,a={},s=ci(e),c="translate(",l="transform",u=se[0][$t+s.WH]-se[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;m.n&&o&&(u*=-1),i=t/u,i=isNaN(i)?0:Math.min(1,i),s.i.ms=u,s.i.cs=t,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!m.i&&(d=h-f-d),d=Math.max(0,d),H?(r=(r=o?-(h-f-d):d)/h*100*(h/f),n=e?c+r+"%, 0)":c+"0, "+r+"%)",a["-webkit-"+l]=n,a["-moz-"+l]=n,a["-ms-"+l]=n,a["-o-"+l]=n,a[l]=n):a[s.lt]=d,yi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function si(e,t){var n=t?"removeClass":"addClass",r=e?ye:xe,i=e?Qn:Zn;(e?de:ve)[n](i),r[n](i)}function ci(e){return{wh:e?Kt:Jt,WH:e?"Width":"Height",lt:e?Vt:_t,LT:e?"Left":"Top",xy:e?tn:nn,XY:e?"X":"Y",_wh:e?"w":"h",_lt:e?"l":"t",t:e?de:ye,h:e?ve:xe,s:e?he:pe,i:e?Lt:Pt}}function li(e,t){if(T){var n,i=K.callbacks[e],o=e;"on"===o.substr(0,2)&&(o=o.substr(2,1).toLowerCase()+o.substr(3)),zi(i)==c.f&&i.call(Tt,t),r.each(ur,function(){zi((n=this).on)==c.f&&n.on(o,t)})}}function ui(e,t,r){r===n&&(r=[Gt,Gt,Gt,Gt]),e[t+_t]=r[0],e[t+qt]=r[1],e[t+Bt]=r[2],e[t+Vt]=r[3]}function fi(t){var n="ownerDocument",r="HTMLElement",i=t&&t[n]&&t[n].parentWindow||e;return typeof i[r]==c.o?t instanceof i[r]:t&&typeof t==c.o&&null!==t&&1===t.nodeType&&typeof t.nodeName==c.s}function hi(e,t){var n,r,i=[],o=[];for(n=0;nf&&(u=r+1,f=t);return{cR:h,cC:d,r:c,c:f,w:u,p:e,m:a}}}function pi(e){for(var t=0;t"+(t||Gt)+""}function wi(e,t){for(var n,r=t.split(rn),i=0;i9||!w?te.on("input",Pr):te.on(yn,Dr).on(xn,Rr)}else Hi(te,On),(ne=te).wrapInner(mi(jn)).wrapInner(mi(Nn)).wrapInner(mi(Rn)),le=Ci(ne,rn+jn),se=Ci(ne,rn+Nn),ae=Ci(ne,rn+Rn),le.on(wn,function(e){!0!==Fe&&Gr((e=e.originalEvent||e).propertyName)&&$r(Zt)});if(ti(),M?br(se,$t,Er):se.on($t,Er),g&&Hi(se,y.x&&y.y?In:Fn),dt){var u,f,h,v,p,W,D=i.mO(),R=i.now();ut=new D(function(e){if(T&&!B){var t,n=!1;r.each(e,function(){if(u=(t=this).target,f=t.attributeName,n=f===l.c?Yr(t.oldValue,u.className):f!==l.s||t.oldValue!==u[l.s].cssText)return!1}),n&&Tt.update(Zt)}}),ft=new D(function(e){if(T&&!B){var t=!1;r.each(e,function(){return!(t=Kr(this))}),t&&(v=i.now(),p=ze||Oe,W=function(){k||(R=v,E&&Zr(),p?$r():Tt.update(Zt))},clearTimeout(h),pr<=0||v-R>pr||!p?W():h=setTimeout(W,pr))}})}return L&&(Hi($,Sn),se[ln](a.l),se[un](a.t)),ie=r(mi("os-resize-observer-host")),ne.prepend(ie),Sr(ie,Ar),Ar(),Tt.update(Zt),setTimeout(function(){z&&!k&&Hi(ne,Mn)},333),T=!0,li("onInitialized"),zi(o)==c.s&&(o=[o]),r.isArray(o)?r.each(o,function(){Tt.addExt(this)}):r.isPlainObject(o)&&r.each(o,function(e,t){Tt.addExt(e,t)}),T}}return e[s]=function(t,i,c){if(0===arguments.length)return this;H();var l,f,h=[];return r.isPlainObject(i)?t&&t.length?(r.each(t,function(){(l=this)!==n&&h.push(C(l,i,c,a,u))}),f=h.length>1?h:h[0]):f=C(t,i,c,a,u):t&&(t.length&&t.length>0?(r.each(t,function(){l=o(this),"!"===i?l instanceof e[s]&&h.push(l):h.push(l)}),f=h.length>1?h:h[0]):f=o(t)),f},e[s].globals=function(){H();var e=r.extend(!0,{},a);return delete e.msie,e},e[s].defaultOptions=function(e){H();var t=a.defaultOptions;if(e===n)return r.extend(!0,{},t);a.defaultOptions=r.extend(!0,{},t,W.v(e,W.t,!0))},e[s].extension=function(e,t,n){var i=r.type(e)==c.s,o=arguments[l.l],a=0;if(o<1||!i)return r.extend(!0,{length:z[l.l]},z);if(i)if(r.type(t)==c.f)z.push({name:e,extension:t,defaultOptions:n});else for(;a1))return r.extend(!0,{},z[a]);z.splice(a,1)}},e[s]}(r,u,(i=u,o=[],a="__overlayScrollbars__",function(e,t){var n=arguments[l.l];if(n<1)return o;if(t)e[a]=t,o.push(e);else{var r=i.inA(e,o);if(r>-1){if(!(n>1))return o[r][a];delete e[a],o.splice(r,1)}}}));return f&&f.fn&&(f.fn.overlayScrollbars=function(e,t){var n=this;return f.isPlainObject(e)?(f.each(n,function(){h(this,e,t)}),n):h(n,e)}),h});
\ No newline at end of file
+!function(e,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(e,e.document,undefined,n)}):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,e.document,undefined,require("jquery")):t(e,e.document,undefined,e.jQuery)}("undefined"!=typeof window?window:this,function(e,t,n,r){"use strict";var i,o,a="OverlayScrollbars",s={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},c={c:"class",s:"style",i:"id",l:"length",p:"prototype",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},l={wW:function(){return e.innerWidth||t.documentElement[c.cW]||t.body[c.cW]},wH:function(){return e.innerHeight||t.documentElement[c.cH]||t.body[c.cH]},mO:function(){return e.MutationObserver||e.WebKitMutationObserver||e.WebkitMutationObserver||e.MozMutationObserver||n},rO:function(){return e.ResizeObserver||e.WebKitResizeObserver||e.WebkitResizeObserver||e.MozResizeObserver||n},rAF:function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t){return e.setTimeout(t,1e3/60)}},cAF:function(){return e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.oCancelAnimationFrame||e.msCancelAnimationFrame||function(t){return e.clearTimeout(t)}},now:function(){return Date.now()||(new Date).getTime()},stpP:function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},prvD:function(e){e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1},page:function(e){var r="page",i="client",o="X",a="Y",s=((e=e.originalEvent||e).target||e.srcElement||t).ownerDocument||t,c=s.documentElement,l=s.body;if(e.touches!==n){var u=e.touches[0];return{x:u[r+o],y:u[r+a]}}return!e[r+o]&&e[i+o]&&null!=e[i+o]?{x:e[i+o]+(c&&c.scrollLeft||l&&l.scrollLeft||0)-(c&&c.clientLeft||l&&l.clientLeft||0),y:e[i+a]+(c&&c.scrollTop||l&&l.scrollTop||0)-(c&&c.clientTop||l&&l.clientTop||0)}:{x:e[r+o],y:e[r+a]}},mBtn:function(e){return e.which||e.button===n?e.which:1&e.button?1:2&e.button?3:4&e.button?2:0},inA:function(e,t){for(var n=0;n-1){if(!(n>1))return i[r][o];delete e[o],i.splice(r,1)}}}),d=function(){var r,i,o,d,v,p,y,x,m,w,b,g,S,O,z=[],A=(o=[s.b,s.n,s.s,s.a,s.o,s.f,s.z],d=" ",v=":",p=[s.z,s.s],y=s.n,x=[s.z,s.b],m=[!0,s.b],w=[!1,s.b],b=[null,[s.z,s.f]],S={className:["os-theme-dark",p],resize:["none","n:none b:both h:horizontal v:vertical"],sizeAutoCapable:m,clipAlways:m,normalizeRTL:m,paddingAbsolute:w,autoUpdate:[null,x],autoUpdateInterval:[33,y],nativeScrollbarsOverlaid:{showNativeScrollbars:w,initialize:m},overflowBehavior:{x:["scroll",g="v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden"],y:["scroll",g]},scrollbars:{visibility:["auto","v:visible h:hidden a:auto"],autoHide:["never","n:never s:scroll l:leave m:move"],autoHideDelay:[800,y],dragScrolling:m,clickScrolling:w,touchSupport:m},textarea:{dynWidth:w,dynHeight:w},callbacks:{onInitialized:b,onInitializationWithdrawn:b,onDestroyed:b,onScrollStart:b,onScroll:b,onScrollStop:b,onOverflowChanged:b,onOverflowAmountChanged:b,onDirectionChanged:b,onContentSizeChanged:b,onHostSizeChanged:b,onUpdated:b}},{d:(O=function(e){var t=function(n){var r,i,o;for(r in n)n.hasOwnProperty(r)&&(i=n[r],(o=l.type(i))==s.a?n[r]=i[e?1:0]:o==s.o&&(n[r]=t(i)));return n};return t(f.extend(!0,{},S))})(),t:O(!0),v:function(e,t,n,r,i){var a={},c=f.extend(!0,{},e),u=function(e,t,i,a){for(var c in t)if(t.hasOwnProperty(c)&&e.hasOwnProperty(c)){var h,p,y,x,m,w,b,g,S=!1,O=t[c],z=l.type(O),A=l.type(O)!=s.a?[O]:O,M=e[c],W=l.type(M),H=a?a+".":"",C='The option "'+H+c+"\" wasn't set, because",T=[],k=[];if(z==s.o)i[c]={},u(M,O,i[c],H+c),f.isEmptyObject(M)&&delete e[c];else{for(w=0;w0?"\r\nValid strings are: [ "+k.join(", ").split(v).join(", ")+" ].":"")),delete e[c]}}};return u(c,t,a),i?f.extend(!0,a,c):!f.isEmptyObject(c)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(c,null,2)),a}});function M(){r||(r=new W(A.d)),i||(i=new H(r))}function W(r){var i=this,o="overflow",a="hidden",s="scroll",u=f("body"),d=f(''),v=d[0],p=f(d.children("div").eq(0));u.append(d),d.hide().show();var y,x,m,w,b,g,S,O,z,A=H(v),M={x:0===A.x,y:0===A.y};function W(e){var r=!1,i="Webkit Moz ms O".split(" "),o=t.createElement("div"),a=null,s=0;if(e=e.toLowerCase(),o[c.s][e]!==n&&(r=!0),!r)for(a=e.charAt(0).toUpperCase()+e.substr(1);s0?y=z(x[w](b+5,x[m](".",b)),10):g>0?y=z(x[w](O+3,x[m](".",O)),10):S>0&&(y=z(x[w](S+5,x[m](".",S)),10)),y),cssCalc:function(){var e,n,r=t.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(e=0;e0){var e=l.wW(),a=l.wH(),v=e-n,p=a-r;if(0===v&&0===p)return;var y,x=Math.round(e/(n/100)),m=Math.round(a/(r/100)),w=t(v),b=t(p),g=t(x),S=t(m),O=c(),z=w>2&&b>2,A=!s(g,S),M=z&&A&&(O!==o&&o>0),W=i.nativeScrollbarSize;M&&(u.append(d),y=i.nativeScrollbarSize=H(d[0]),d.remove(),W.x===y.x&&W.y===y.y||f.each(h(),function(){h(this)&&h(this).update("zoom")})),n=e,r=a,o=O}};f(e).on("resize",a)}function s(e,n){var r=t(e),i=t(n);return!(r===i||r+1===i||r-1===i)}function c(){var t=e.screen.deviceXDPI||0,n=e.screen.logicalXDPI||1;return e.devicePixelRatio||t/n}}()}function H(e){var t,r=this,i="autoUpdate",o=i+"Interval",a=c.l,s=[],u=[],h=!1,d=33,v=d,p=l.now(),y=function(){if(s[a]>0&&h){t=l.rAF()(function(){y()});var e=l.now(),r=e-p;if(r>v){p=e-r%v;for(var c=d,f=0;fb&&(x.update("auto"),u[f]=new Date(g+=b)),c=Math.max(1,Math.min(c,b))}}v=c}}else v=d};r.add=function(t){-1===f.inArray(t,s)&&(s.push(t),u.push(l.now()),s[a]>0&&!h&&(h=!0,e.autoUpdateLoop=h,y()))},r.remove=function(r){var i=f.inArray(r,s);i>-1&&(u.splice(i,1),s.splice(i,1),0===s[a]&&h&&(h=!1,e.autoUpdateLoop=h,t!==n&&(l.cAF()(t),t=-1)))}}function C(r,i,o,d,v){if(fi(r)){if(h(r)){var p=h(r);return p.options(i),p}var y,x,m,w,b,g,S,O,z,M,W,H,C,T,k,E,L,P,D,R,j,N,F,I,U,_,B,q,V,X,Y,K,$,J,Q,G,Z,ee,te,ne,re,ie,oe,ae,se,ce,le,ue,fe,he,de,ve,pe,ye,xe,me,we,be,ge,Se,Oe,ze,Ae,Me,We,He,Ce,Te,ke,Ee,Le,Pe,De,Re,je,Ne,Fe,Ie,Ue,_e,Be,qe,Ve,Xe,Ye,Ke,$e,Je,Qe,Ge,Ze,et,tt,nt,rt,it,ot,at,st,ct,lt,ut,ft,ht,dt,vt,pt,yt,xt,mt,wt,bt,gt,St,Ot,zt,At,Mt,Wt,Ht,Ct,Tt=new e[a],kt=f[c.p],Et={},Lt={},Pt={},Dt={},Rt={},jt=175,Nt="-hidden",Ft="margin-",It="padding-",Ut="border-",_t="top",Bt="right",qt="bottom",Vt="left",Xt="min-",Yt="max-",Kt="width",$t="height",Jt="float",Qt="",Gt="auto",Zt="scroll",en="100%",tn="x",nn="y",rn=".",on=" ",an="scrollbar",sn="-horizontal",cn="-vertical",ln=Zt+"Left",un=Zt+"Top",fn="mousedown touchstart",hn="mouseup touchend touchcancel",dn="mousemove touchmove",vn="mouseenter",pn="mouseleave",yn="keydown",xn="keyup",mn="selectstart",wn="transitionend webkitTransitionEnd oTransitionEnd",bn="__overlayScrollbarsRO__",gn="os-",Sn=gn+"html",On=gn+"host",zn=On+"-textarea",An=On+"-"+an+sn+Nt,Mn=On+"-"+an+cn+Nt,Wn=On+"-transition",Hn=On+"-rtl",Cn=On+"-resize-disabled",Tn=On+"-scrolling",kn=On+"-overflow",En=kn+"-x",Ln=kn+"-y",Pn=gn+"textarea",Dn=Pn+"-cover",Rn=gn+"padding",jn=gn+"viewport",Nn=jn+"-native-scrollbars-invisible",Fn=jn+"-native-scrollbars-overlaid",In=gn+"content",Un=gn+"content-arrange",_n=gn+"content-glue",Bn=gn+"size-auto-observer",qn=gn+"resize-observer",Vn=gn+"resize-observer-item",Xn=Vn+"-final",Yn=gn+"text-inherit",Kn=gn+an,$n=Kn+"-track",Jn=$n+"-off",Qn=Kn+"-handle",Gn=Qn+"-off",Zn=Kn+"-unusable",er=Kn+"-"+Gt+Nt,tr=Kn+"-corner",nr=tr+"-resize",rr=nr+"-both",ir=nr+sn,or=nr+cn,ar=Kn+sn,sr=Kn+cn,cr=gn+"dragging",lr=gn+"theme-none",ur={},fr="added removed on contract",hr={},dr=42,vr=[],pr=11,yr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],xr=[],mr={},wr={};if(Tt.sleep=function(){q=!0},Tt.update=function(e){var t,n,r=zi(e)==s.s,i="img",o="load";r?0===e.indexOf(Gt)?(t=Jr(),n=$r(),(t||n)&&Zr(!1,n,!1,"+"==e.slice(-1))):"zoom"===e&&Zr(!0,!0):(e=q||e,q=!1,Zr(!1,!1,e,!0)),E||le.find(i).each(function(e,t){-1===l.inA(t,vr)&&f(t).off(o,Vr).on(o,Vr)})},Tt.options=function(e,t){if(f.isEmptyObject(e)||!f.isPlainObject(e)){if(zi(e)==s.s){if(arguments.length>=2){var n={};return bi(n,e,t),ei(n),void Zr()}return wi(Y,e)}return Y}ei(e);var r=q||!1;q=!1,Zr(),q=r},Tt.destroy=function(){for(var e in k=!0,v.remove(Tt),Wr(),Or(ie),R&&Or(re),ur)Tt.removeExt(e);Hi(ie),oe!==n&&Hi(oe),ce!==n&&Hi(ce),R&&Hi(re),W?(gr(ne,dn,kr),gr(ne,vn,Cr),gr(ne,pn,Tr)):ne.off(dn,kr).off(vn,Cr).off(pn,Tr),Hi(he),Hi(pe),fe&&Hi(fe),Mt||Br(),le.contents().unwrap().unwrap().unwrap(),L&&Wi(Z,Sn),E?(te.off(Zt,Ir).off("drop",jr).off("focus",Nr).off("focusout",Fr),b>9||!w?te.off("input",Pr):te.off(yn,Dr).off(xn,Rr),Hi(ue),Wi(te,Pn+on+Yn).unwrap().removeAttr(c.s),Hi(ne)):(Wi(te,On),Wi(ne,[On,Cn,Hn,An,Mn,Wn,Tn,kn,En,Ln,lr,rt].join(on)));for(var t=0;t0)t.x=e[0],t.y=e[1];else if(zi(e)==s.s||zi(e)==s.n)t.x=e,t.y=e;else if(zi(e)==s.o){for(var n in H=zi(e.n)==s.b?e.n:H,e=Ai({},e),x=0,e)e.hasOwnProperty(n)&&(x>2&&delete e[n],x++);var r=function(t){var n=t?C:T;for(x=0;x2){var y=r.substr(0,2);for(x=0;x/g,(v?"-":Qt)+en))[p](/px/g,Qt))[p](/%/g,h+f*(d&&m.n?-1:1)/100))[p](/vw/g,h+Dt.w))[p](/vh/g,h+Dt.h),o=di(di(e.eval(r),!0).toFixed())}else o=r;if(o!==n&&!isNaN(o)&&zi(o)==s.n){var w=H&&d,b=u*(w&&m.n?-1:1),g=w&&m.i,S=w&&m.n;switch(b=g?f-b:b,i){case"+=":c=b+o;break;case"-=":c=b-o;break;case"*=":c=b*o;break;case"/=":c=b/o;break;default:c=o}c=g?f-c:c,c*=S?-1:1,c=d&&m.n?Math.min(0,Math.max(f,c)):Math.max(0,Math.min(f,c))}return c===u?n:c},Z=function(e,t,n,r){var i,o,a=[n,n],c=zi(e);if(c==t)e=[e,e];else if(c==s.a){if((i=e[U])>2||i<1)e=a;else for(1===i&&(e[1]=n),x=0;x=4?ee(ne):ce:le==s.o?ee([ne[_t],ne[Bt],ne[qt],ne[Vt]]):ce,S=J(re,_)?re:"xy",O=Z(ie,s.s,N,V),z=Z(oe,s.s,D,q),A=ne;var ue={l:Lt.cs,t:Pt.cs},fe=ae.offset(),he=W.offset(),de={x:O.x==F||S==nn,y:O.y==F||S==tn};he[_t]-=A[0],he[Vt]-=A[3];var ve={x:Math.round(he[Vt]-fe[Vt]+ue.l),y:Math.round(he[_t]-fe[_t]+ue.t)};if(B&&(m.n||m.i||(ve.x=Math.round(fe[Vt]-he[Vt]+ue.l)),m.n&&H&&(ve.x*=-1),m.i&&H&&(ve.x=Math.round(fe[Vt]-he[Vt]+(Lt.ms-ue.l)))),z.x!=D||z.y!=D||O.x==I||O.y==I||B){var pe=W[0],ye=M?pe.getBoundingClientRect():{width:pe[c.oW],height:pe[c.oH]},xe={w:ye[Kt]+A[3]+A[1],h:ye[$t]+A[0]+A[2]},me=function(e){var t=ci(e),n=t._wh,r=t.lt,i=t.xy,o=z[i]==(e&&B?D:P),a=z[i]==R,s=z[i]==j,c=O[i]==F,l=O[i]==I,u=Dt[n],f=fe[r],h=xe[n],d=he[r],v=a?2:1,p=d+h/2,y=f+u/2,x=h<=u&&d>=f&&d+h<=f+u;c?de[i]=!0:de[i]||((s||l)&&(de[i]=!!l&&x,o=hy:p0||L))if(L)se.animate(E,r);else{if(g={duration:r,complete:o},zi(i)==s.a){var we={};we[ln]=i[0],we[un]=i[1],g.specialEasing=we}else g.easing=i;se.animate(E,g)}else w&&se[ln](E[ln]),b&&se[un](E[un])},Tt.scrollStop=function(e,t,n){return se.stop(e,t,n),Tt},Tt.getElements=function(e){var t={target:te[0],host:ne[0],padding:ae[0],viewport:se[0],content:le[0],scrollbarHorizontal:{scrollbar:he[0],track:de[0],handle:ve[0]},scrollbarVertical:{scrollbar:pe[0],track:ye[0],handle:xe[0]},scrollbarCorner:fe[0]};return zi(e)==s.s?wi(t,e):t},Tt.getState=function(e){var t=function(e){if(!f.isPlainObject(e))return e;var t=Ai(!0,{},e),n=function(e,n){t.hasOwnProperty(e)&&(t[n]=t[e],delete t[e])};return n("w",Kt),n("h",$t),delete t.c,t},n={sleeping:t(q)||!1,autoUpdate:t(!ht),widthAuto:t(Oe),heightAuto:t(ze),padding:t(We),overflowAmount:t(Re),hideOverflow:t(Se),hasOverflow:t(ge),contentScrollSize:t(we),viewportSize:t(Dt),hostSize:t(me),documentMixed:t(P)};return zi(e)==s.s?wi(n,e):n},Tt.ext=function(e){var t,n=fr.split(" "),r=0;if(zi(e)==s.s){if(ur.hasOwnProperty(e))for(t=Ai(!0,{},ur[e]);r9||!w){e.prepend(mi(qn,mi({className:Vn,dir:"ltr"},mi(Vn,mi(Xn))+mi(Vn,mi({className:Xn,style:"width: 200%; height: 200%"})))));var v,p,y,x,g=e[0][a][0][a][0],S=f(g[a][1]),O=f(g[a][0]),z=f(O[0][a][0]),A=g[c.oW],M=g[c.oH],W=2,C=d.nativeScrollbarSize,T=function(){O[ln](r)[un](r),S[ln](r)[un](r)},k=function(){p=0,v&&(A=y,M=x,u())},E=function(e){return y=g[c.oW],x=g[c.oH],v=y!=A||x!=M,e&&v&&!p?(l.cAF()(p),p=l.rAF()(k)):e||k(),T(),e&&(l.prvD(e),l.stpP(e)),!1},L={},P={};P[_t]=-(C.y+1)*W,P[Bt]=C.x*-W,P[qt]=C.y*-W,P[Vt]=-(C.x+1)*W,f(g).css(P),O.on(Zt,E),S.on(Zt,E),e.on(o,function(){E(!1)}),L[Kt]=r,L[$t]=r,z.css(L),T()}else{var D=G[0],R=D.attachEvent,j=b!==n;if(R)e.prepend(mi(qn)),Ci(e,rn+qn)[0].attachEvent("onresize",u);else{var N=D.createElement(s.o);N.setAttribute("tabindex","-1"),N.setAttribute(c.c,qn),N.onload=function(){var e=this.contentDocument.defaultView;e.addEventListener("resize",u),e.document.documentElement.style.display="none"},N.type="text/html",j&&e.prepend(N),N.data="about:blank",j||e.prepend(N),e.on(o,u)}}if(e[0]===ie[0]){var F=function(){var t=ne.css("direction"),n={},i=0,o=!1;return t!==ke&&("ltr"===t?(n[Vt]=0,n[Bt]=Gt,i=r):(n[Vt]=Gt,n[Bt]=0,i=m.n?-r:m.i?0:r),ie.children().eq(0).css(n),e[ln](i)[un](r),ke=t,o=!0),o};F(),e.on(Zt,function(e){return F()&&Zr(),l.prvD(e),l.stpP(e),!1})}}function Or(e){if(H){var t=e.contents()[0];t[bn].disconnect(),delete t[bn]}else Hi(e.children(rn+qn).eq(0))}function zr(e){}function Ar(e){}function Mr(){dt&&!ht&&(ut.observe(ne[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[c.i,c.c,c.s]}),ft.observe(E?te[0]:le[0],{attributes:!0,attributeOldValue:!0,subtree:!E,childList:!E,characterData:!E,attributeFilter:E?["wrap","cols","rows"]:[c.i,c.c,c.s]}),ht=!0)}function Wr(){dt&&ht&&(ut.disconnect(),ft.disconnect(),ht=!1)}function Hr(){if(!q){var e=ie[0],t={w:e[c.sW],h:e[c.sH]};if(T){var n=Si(t,Je);Je=t,n&&Zr(!0,!1)}else Je=t}}function Cr(){St&&ii(!0)}function Tr(){St&&!ee.hasClass(cr)&&ii(!1)}function kr(){gt&&(ii(!0),clearTimeout(xt),xt=setTimeout(function(){gt&&!k&&ii(!1)},100))}function Er(e){q||(V!==n?clearTimeout(V):((bt||gt)&&ii(!0),yi()||Mi(ne,Tn),li("onScrollStart",e)),ai(!0,se[ln]()),ai(!1,se[un]()),li("onScroll",e),V=setTimeout(function(){k||(Lr(),li("onScrollStop",e))},jt))}function Lr(){clearTimeout(V),V=n,(bt||gt)&&ii(!1),yi()||Wi(ne,Tn)}function Pr(){Gr(),Tt.update(Gt)}function Dr(e){var t=e.keyCode;if(!pi(t)){if(0===xr.length){var n=function(){Gr(),Tt.update(Gt)};n(),vt=setInterval(n,1e3/60)}-1===f.inArray(t,xr)&&xr.push(t)}}function Rr(e){var t=e.keyCode;if(!pi(t)){var n=f.inArray(t,xr);n>-1&&xr.splice(n,1),0===xr.length&&(Gr(),Tt.update(Gt),clearInterval(vt))}}function jr(){setTimeout(function(){k||(Gr(),Tt.update(Gt))},50)}function Nr(){pt=!0}function Fr(){pt=!1,clearInterval(vt),xr=[],Gr(),Tt.update(Gt)}function Ir(e){return te[ln](m.i&&nt?9999999:0),te[un](0),l.prvD(e),l.stpP(e),!1}function Ur(e){if(!q){var t=(e.originalEvent||e).touches!==n;(1===l.mBtn(e)||t)&&(ht&&(At=!0,Wr()),mr=l.page(e),wr.w=ne[0][c.oW]-(D?0:j),wr.h=ne[0][c.oH]-(D?0:N),G.on(mn,qr).on(dn,_r).on(hn,Br),Mi(ee,cr),fe.setCapture&&fe.setCapture(),l.prvD(e),l.stpP(e))}}function _r(e){var t=l.page(e),n={};(Ht||Wt)&&(n[Kt]=wr.w+t.x-mr.x),(Ct||Wt)&&(n[$t]=wr.h+t.y-mr.y),ne.css(n),l.stpP(e)}function Br(e){var t=e!==n;G.off(mn,qr).off(dn,_r).off(hn,Br),Wi(ee,cr),fe.releaseCapture&&fe.releaseCapture(),t&&(At&&Mr(),Tt.update(Gt)),At=!1}function qr(e){return l.prvD(e),!1}function Vr(){Zr()}function Xr(){var e={};return L&&ce&&(e.w=di(ce.css(Xt+Kt)),e.h=di(ce.css(Xt+$t)),e.c=Si(e,st),e.f=!0),st=e,e.c||!1}function Yr(e,t){var r=t!==n&&null!==t?t.split(on):Qt,i=e!==n&&null!==e?e.split(on):Qt;if(r===Qt&&i===Qt)return!1;var o,a,s,c,l=hi(i,r),u=!1,h=it!==n&&null!==it?it.split(on):[Qt],d=rt!==n&&null!==rt?rt.split(on):[Qt],v=f.inArray(lr,l),p=l[o];for(v>-1&&l.splice(v,1),o=0;o0&&T&&o-$0?Q:lr)),Xe&&(!0===Ve?(Wr(),v.add(Tt)):null===Ve&&w?(Wr(),v.add(Tt)):(v.remove(Tt),Mr())),_e)if(ke)if(oe===n&&(oe=f(mi(_n)),ae.before(oe)),R)re.show();else{re=f(mi(Bn)),oe.before(re);var ft={w:-1,h:-1};Sr(re,function(){var e={w:re[0][c.oW],h:re[0][c.oH]};Si(e,ft)&&(T&&ze&&e.h>0||Oe&&e.w>0?Zr():(T&&!ze&&0===e.h||!Oe&&0===e.w)&&Zr()),ft=e}),R=!0,null!==S&&re.css($t,S+"(100% + 1px)")}else R&&re.hide();r&&(ie.find("*").trigger(Zt),R&&re.find("*").trigger(Zt));var dt,vt=ne.css("direction"),yt=gi(vt,Te,r),xt=ne.css("box-sizing"),zt=gi(xt,Me,r),At={c:r,t:di(ne.css(It+_t)),r:di(ne.css(It+Bt)),b:di(ne.css(It+qt)),l:di(ne.css(It+Vt))};try{dt=R?re[0].getBoundingClientRect():null}catch(Ii){return}D="border-box"===xt;var kt=(B="rtl"===vt)?Vt:Bt,Lt=B?Bt:Vt,Pt=ne[0],jt=ae[0],Nt=!1,rn=!(!R||"none"===ne.css(Jt))&&(0===Math.round(dt.right-dt.left)&&(!!ve||Pt[c.cW]-j>0));if(ke&&!rn){var an=Pt[c.oW],sn=oe.css(Kt);oe.css(Kt,Gt);var cn=Pt[c.oW];oe.css(Kt,sn),(Nt=an!==cn)||(oe.css(Kt,an+1),cn=Pt[c.oW],oe.css(Kt,sn),Nt=an!==cn)}var hn=(rn||Nt)&&ke&&!s,yn=gi(hn,Oe,r),xn=!hn&&Oe,mn=!(!R||s)&&0===Math.round(dt.bottom-dt.top),wn=gi(mn,ze,r),bn=!mn&&ze,gn="-"+Kt,Sn=hn&&D||!D,On=mn&&D||!D,zn={c:r,t:On?di(ne.css(Ut+_t+gn),!0):0,r:Sn?di(ne.css(Ut+Bt+gn),!0):0,b:On?di(ne.css(Ut+qt+gn),!0):0,l:Sn?di(ne.css(Ut+Vt+gn),!0):0},An={c:r,t:di(ne.css(Ft+_t)),r:di(ne.css(Ft+Bt)),b:di(ne.css(Ft+qt)),l:di(ne.css(Ft+Vt))},Mn={h:String(ne.css(Yt+$t)),w:String(ne.css(Yt+Kt))},Wn={},Pn={},Dn=function(){return{w:Pt[c.cW],h:Pt[c.cH]}},Rn=function(){var e=jt.getBoundingClientRect();return e[Kt]?{w:e[Kt],h:e[$t]}:{w:jt[c.oW],h:jt[c.oH]}};if(j=At.l+At.r,N=At.t+At.b,At.ax=ve?j:0,At.ay=ve?N:0,At.c=Oi(At,We),F=zn.l+zn.r,I=zn.t+zn.b,zn.c=Oi(zn,He),U=An.l+An.r,_=An.t+An.b,An.c=Oi(An,Ce),Mn.ih=di(Mn.h),Mn.iw=di(Mn.w),Mn.ch=Mn.h.indexOf("px")>-1,Mn.cw=Mn.w.indexOf("px")>-1,Mn.c=Si(Mn,Ae,r),Te=vt,Me=xt,Oe=hn,ze=mn,We=At,He=zn,Ce=An,Ae=Mn,yt&&R&&re.css(Jt,Lt),At.c||yt||pe||yn||wn||zt||_e){var jn={},Nn={};ui(Pn,Ft,[-At.t,-At.r,-At.b,-At.l]),ve?(ui(jn,Qt,[At.t,At.r,At.b,At.l]),ui(E?Nn:Wn,It)):(ui(jn,Qt),ui(E?Nn:Wn,It,[At.t,At.r,At.b,At.l])),ae.css(jn),te.css(Nn)}Dt=Rn();var Fn=!!E&&Gr();if(mn&&(wn||pe||zt||Mn.c||At.c||zn.c)?(Mn.cw&&(Wn[Yt+$t]=Mn.ch?Mn.ih-At.ay+(D?-I:N):Qt),Wn[$t]=Gt):(wn||pe)&&(Wn[Yt+$t]=Qt,Wn[$t]=en),hn&&(yn||pe||zt||Mn.c||At.c||zn.c||yt)?(Mn.cw&&(Wn[Yt+Kt]=Mn.cw?Mn.iw-At.ax+(D?-F:j)+(y.y?x.y:0):Qt),Wn[Kt]=Gt,Pn[Yt+Kt]=en):(yn||pe)&&(Wn[Yt+Kt]=Qt,Wn[Kt]=en,Wn[Jt]=Qt,Pn[Yt+Kt]=Qt),hn&&(Mn.cw||(Wn[Yt+Kt]=Qt),Pn[Kt]=E&&$e?Fn.dw:Gt,Wn[Kt]=Gt,Wn[Jt]=Lt),mn&&(Mn.ch||(Wn[Yt+$t]=Qt),Pn[$t]=E?ct?Fn.dh:Gt:le[0][c.cH]),ke&&oe.css(Pn),le.css(Wn),Wn={},Pn={},e||t||yt||zt||pe||yn||hn||wn||mn||Mn.c||qe||Ke||xe||ee||A||Je||ut||de||r){var In="overflow",qn=In+"-x",Vn=In+"-y",Xn="hidden",Yn="visible",Kn=C?y.x||y.y||Dt.w0&&(Pn[Kt]=Math.max(1,Pn[Kt]),Pn[$t]=Math.max(1,Pn[$t])),E&&ue.css(vr),oe.css(Pn)}hn&&(Wn[Kt]=en),!hn||D||ht||(Wn[Jt]="none"),le.css(Wn),Wn={};var pr=Gn.getBoundingClientRect(),yr=pr[Kt]||0,xr=pr[$t]||0,mr={w:Math.max(Gn[c.sW],Zn[c.sW])+di(yr)-yr,h:Math.max(Gn[c.sH],Zn[c.sH])+di(xr)-xr};mr.c=t=Si(mr,we,r),we=mr,Kn&&le.css(In,Qt),Dt=Rn(),e=Si(sr=Dn(),me),me=sr;var wr={x:"v-s"===Ye.x,y:"v-s"===Ye.y},Or={x:"v-h"===Ye.x,y:"v-h"===Ye.y},Hr={x:"s"===Ye.x,y:"s"===Ye.y},Er={x:Math.max(0,Math.round(100*(mr.w-Dt.w))/100),y:Math.max(0,Math.round(100*(mr.h-Dt.h))/100)},Lr=E&&(0===Dt.w||0===Dt.h),Pr=0===se[0].scrollLeftMax&&Er.x>0&&Er.x<1||0===se[0].scrollTopMax&&Er.y>0&&Er.y<1;(Lr||Pr)&&(Er.x=Er.y=0);var Dr={x:Er.x>0,y:Er.y>0},Rr={x:Dr.x,y:Dr.y};(wr.x||Or.x)&&(Rr.x=Dr.y&&!wr.y&&!Or.y),(wr.y||Or.y)&&(Rr.y=Dr.x&&!wr.x&&!Or.x),Rr.xs=!!Rr.x&&(Hr.x||wr.x),Rr.ys=!!Rr.y&&(Hr.y||wr.y);var jr={x:Dr.x&&Rr.xs,y:Dr.y&&Rr.ys},Nr=Re;if(Er.c=Si(Er,Re,tn,nn,r),Re=Er,Dr.c=Si(Dr,ge,tn,nn,r),ge=Dr,Rr.c=Si(Rr,Se,tn,nn,r),Se=Rr,y.x||y.y){var Fr="px solid transparent",Ir={},_r={},Br=r;(Dr.x||Dr.y)&&(_r.w=y.y&&Dr.y?mr.w+x.y:Qt,_r.h=y.x&&Dr.x?mr.h+x.x:Qt,Br=gi(_r,be,r),be=_r),(Dr.c||Rr.c||mr.c||yt||yn||wn||hn||mn||qe)&&(Wn[Ft+Lt]=Wn[Ut+Lt]=Qt,y.x&&Dr.x&&Rr.xs?(Wn[Ft+qt]=mn?Be?Qt:x.x:Qt,Wn[Ut+qt]=mn||Be?Qt:x.x+Fr):(_r.h=Wn[Ft+qt]=Wn[Ut+qt]=Qt,Br=!0),y.y&&Dr.y&&Rr.ys?(Wn[Ft+kt]=hn?Be?Qt:x.y:Qt,Wn[Ut+kt]=Be?Qt:x.y+Fr):(_r.w=Wn[Ft+kt]=Wn[Ut+kt]=Qt,Br=!0)),Be&&(_r.w=_r.h=Qt,Br=!0),Br&&(Ir[Kt]=Rr.y?_r.w:Qt,Ir[$t]=Rr.x?_r.h:Qt,ce||(ce=f(mi(Un)),se.prepend(ce)),ce.css(Ir)),le.css(Wn)}var qr={};jn={};if(e||Dr.c||Rr.c||mr.c||Ke||zt||qe||yt||xe||wn){qr[Lt]=Qt;var Vr=function(){qr[qt]=Qt,Et.h=0},Yr=function(){qr[kt]=Qt,Et.w=0};if(Dr.x&&Rr.xs?(qr[qn]=Zt,Be?Vr():(qr[qt]=-(y.x?x.x:O.x),Et.h=y.x?x.y:0)):(qr[qn]=Qt,Vr()),Dr.y&&Rr.ys?(qr[Vn]=Zt,Be?Yr():(qr[kt]=-(y.y?x.y:O.y),Et.w=y.y?x.x:0)):(qr[Vn]=Qt,Yr()),(Dt.h-1,Fi=ji.y>-1;(Ni||Fi)&&(Fi&&se[un](ji.y),Ni&&(B&&nt&&m.i?se[ln](0):se[ln](ji.x)))}Ue=Hi}else E||(B&&m.i&&y.y&&Dr.x&&nt&&(h.l+=Et.w||0),se[ln](h.l),se[un](h.t));yt&&li("onDirectionChanged",{isRTL:B,dir:vt}),e&&li("onHostSizeChanged",{width:me.w,height:me.h}),t&&li("onContentSizeChanged",{width:we.w,height:we.h}),(Dr.c||Rr.c)&&li("onOverflowChanged",{x:Dr.x,y:Dr.y,xScrollable:Rr.xs,yScrollable:Rr.ys,clipped:Rr.x||Rr.y}),Er.c&&li("onOverflowAmountChanged",{x:Er.x,y:Er.y})}L&&(ge.c||st.c)&&(st.f||Xr(),y.y&&ge.x&&le.css(Xt+Kt,st.w+x.y),y.x&&ge.y&&le.css(Xt+$t,st.h+x.x),st.c=!1),Ar(ie),Ar(re),li("onUpdated",{forced:r})}}function ei(e){Y=Ai(!0,{},Y,A.v(e,A.t,!0)),K=Ai(!0,{},K,A.v(e,A.t,!1,!0))}function ti(){he=f(mi(Kn+on+ar)),de=f(mi($n)),ve=f(mi(Qn)),pe=f(mi(Kn+on+sr)),ye=f(mi($n)),xe=f(mi(Qn)),he.append(de),de.append(ve),pe.append(ye),ye.append(xe),ae.after(pe),ae.after(he),z&&(he.on(wn,function(e){e.target===he[0]&&(oi(!0),ai(!0,se[ln]()))}),pe.on(wn,function(e){e.target===pe[0]&&(oi(!1),ai(!1,se[un]()))})),ni(!0),ni(!1),fe=f(mi(tr)),ne.append(fe)}function ni(e){var t,r,i,o=ci(e),a=Q.top!==Q,s=o.xy,c=o.XY,u=Zt+o.LT,h="active",d=1,v=[16,17];function p(){d=.5}function y(){d=1}function x(e){f.inArray(e.keyCode,v)>-1&&p()}function w(e){f.inArray(e.keyCode,v)>-1&&y()}function g(e){var t=(e.originalEvent||e).touches!==n;return!(q||yi()||!et||t&&!Ot)&&(1===l.mBtn(e)||t)}function S(n){if(g(n)){var i=o.i.tl,f=o.i.hl,h=o.i.ms*(((b&&a?n["screen"+c]:l.page(n)[s])-r)/(i-f));h=isFinite(h)?h:0,B&&e&&!m.i&&(h*=-1),se[u](t+h),W||l.prvD(n)}else O(n)}function O(e){e=e||e.originalEvent,Wi(ee,cr),Wi(o.h,h),Wi(o.t,h),Wi(o.s,h),G.off(dn,S).off(hn,O).off(yn,x).off(xn,w).off(mn,qr),y(),t=n,r=n,i!==n&&(Tt.scrollStop(),clearTimeout(i),i=n);var a=ne[0].getBoundingClientRect();e.clientX>=a.left&&e.clientX<=a.right&&e.clientY>=a.top&&e.clientY<=a.bottom||Tr(),(bt||gt)&&ii(!1)}function z(i){t=(t=se[u]())===n?0:t,(B&&e&&!m.n||!B)&&(t=t<0?0:t),r=b&&a?i["screen"+c]:l.page(i)[s],Mi(ee,cr),Mi(o.h,h),Mi(o.s,h),G.on(dn,S).on(hn,O).on(mn,qr),!b&&P||l.prvD(i),l.stpP(i)}o.h.on(fn,function(e){g(e)&&z(e)}),o.t.on(fn,function(t){if(g(t)){var a,c,f=Dt[o._wh],v=o.t.offset()[o.lt],y=t.ctrlKey,b=t.shiftKey,S=b&&y,A=!0,M="linear",W=function(){if(!k){var l=r-v,h=o.i.tl,p=o.i.ho,y=o.i.hl,x=o.i.ms,w=270*d,g=A?Math.max(400,w):w,O=x*((l-y/2)/(h-y)),H=B&&e&&(!m.i&&!m.n||nt),C=H?pl,T={};b?(O=isFinite(O)?O:0,B&&e&&!m.i&&(O=x-O),S?(T.n=!1,T[s]=O,Tt.scroll(T,130,M,function(){z(t)})):(se[u](O),z(t))):(a=A?C:a,c=H?a?p+y>=l:p<=l:a?p<=l:p+y>=l,T[s]=a?"-="+f:"+="+f,Tt.scrollStop(),Tt.scroll(T,w,M),c?(clearTimeout(i),Tt.scrollStop(),i=n):i=setTimeout(W,g),A=!1)}};y&&p(),r=l.page(t)[s],Mi(ee,cr),Mi(o.t,h),Mi(o.s,h),G.on(hn,O).on(yn,x).on(xn,w).on(mn,qr),W(),l.prvD(t),l.stpP(t)}}).on(vn,function(){(bt||gt)&&(zt=!0,ii(!0))}).on(pn,function(){(bt||gt)&&(zt=!1,ii(!1))}),o.s.on(fn,function(e){l.stpP(e)})}function ri(e,t,n){var r=e?An:Mn,i=e?he:pe;t?Wi(ne,r):Mi(ne,r),n?Wi(i,Zn):Mi(i,Zn)}function ii(e,t){if(clearTimeout(yt),e)Wi(he,er),Wi(pe,er);else{var n="active",r=function(){if(!zt&&!k){var e=ve.hasClass(n)||xe.hasClass(n);!e&&(bt||gt||St)&&Mi(he,er),!e&&(bt||gt||St)&&Mi(pe,er)}};mt>0&&!0!==t?yt=setTimeout(r,mt):r()}}function oi(e){var t={},n=ci(e),r=1e6,i=Math.min(1,(me[n._wh]-(Ee?e?j:N:0))/we[n._wh]);t[n.wh]=Math.floor(100*i*r)/r+"%",yi()||n.h.css(t),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function ai(e,t){var n,r,i,o=B&&e,a={},s=ci(e),c="translate(",l="transform",u=se[0][Zt+s.WH]-se[0]["client"+s.WH],f=s.i.hl,h=s.t[0]["offset"+s.WH],d=h-f;m.n&&o&&(u*=-1),i=t/u,i=isNaN(i)?0:Math.min(1,i),s.i.ms=u,s.i.cs=t,s.i.csr=i,d*=i,d=isNaN(d)?0:d,o&&!m.i&&(d=h-f-d),d=Math.max(0,d),M?(r=o?-(h-f-d):d,n=e?c+r+"px, 0)":c+"0, "+r+"px)",a["-webkit-"+l]=n,a["-moz-"+l]=n,a["-ms-"+l]=n,a["-o-"+l]=n,a[l]=n):a[s.lt]=d,yi()||s.h.css(a),s.i.ho=d,s.i.tl=h}function si(e,t){var n=t?"removeClass":"addClass",r=e?ye:xe,i=e?Jn:Gn;(e?de:ve)[n](i),r[n](i)}function ci(e){return{wh:e?Kt:$t,WH:e?"Width":"Height",lt:e?Vt:_t,LT:e?"Left":"Top",xy:e?tn:nn,XY:e?"X":"Y",_wh:e?"w":"h",_lt:e?"l":"t",t:e?de:ye,h:e?ve:xe,s:e?he:pe,i:e?Lt:Pt}}function li(e,t){if(T){var n,r=K.callbacks[e],i=e;"on"===i.substr(0,2)&&(i=i.substr(2,1).toLowerCase()+i.substr(3)),zi(r)==s.f&&r.call(Tt,t),f.each(ur,function(){zi((n=this).on)==s.f&&n.on(i,t)})}}function ui(e,t,r){r===n&&(r=[Qt,Qt,Qt,Qt]),e[t+_t]=r[0],e[t+Bt]=r[1],e[t+qt]=r[2],e[t+Vt]=r[3]}function fi(t){var n="ownerDocument",r="HTMLElement",i=t&&t[n]&&t[n].parentWindow||e;return typeof i[r]==s.o?t instanceof i[r]:t&&typeof t==s.o&&null!==t&&1===t.nodeType&&typeof t.nodeName==s.s}function hi(e,t){var n,r,i=[],o=[];for(n=0;nf&&(u=r+1,f=t);return{cR:h,cC:d,r:c,c:f,w:u,p:e,m:a}}}function pi(e){for(var t=0;t"+(t||Qt)+""}function wi(e,t){for(var n,r=t.split(rn),i=0;i9||!w?te.on("input",Pr):te.on(yn,Dr).on(xn,Rr)}else Mi(te,On),(ne=te).wrapInner(mi(In)).wrapInner(mi(jn)).wrapInner(mi(Rn)),le=Ci(ne,rn+In),se=Ci(ne,rn+jn),ae=Ci(ne,rn+Rn),le.on(wn,function(e){!0!==Ne&&Qr((e=e.originalEvent||e).propertyName)&&Zr(Gt)});if(ti(),W?br(se,Zt,Er):se.on(Zt,Er),g&&Mi(se,y.x&&y.y?Fn:Nn),dt){var a,u,h,v,p,A,D=l.mO(),R=l.now();ut=new D(function(e){if(T&&!q){var t,n=!1;f.each(e,function(){if(a=(t=this).target,u=t.attributeName,n=u===c.c?Yr(t.oldValue,a.className):u!==c.s||t.oldValue!==a[c.s].cssText)return!1}),n&&Tt.update(Gt)}}),ft=new D(function(e){if(T&&!q){var t=!1;f.each(e,function(){return!(t=Kr(this))}),t&&(v=l.now(),p=ze||Oe,A=function(){k||(R=v,E&&Gr(),p?Zr():Tt.update(Gt))},clearTimeout(h),pr<=0||v-R>pr||!p?A():h=setTimeout(A,pr))}})}return L&&(Mi(Z,Sn),se[ln](i.l),se[un](i.t)),ie=f(mi("os-resize-observer-host")),ne.prepend(ie),Sr(ie,Hr),Hr(),Tt.update(Gt),setTimeout(function(){z&&!k&&Mi(ne,Wn)},333),T=!0,li("onInitialized"),zi(r)==s.s&&(r=[r]),l.isA(r)?f.each(r,function(){Tt.addExt(this)}):f.isPlainObject(r)&&f.each(r,function(e,t){Tt.addExt(e,t)}),T}}return e[a]=function(t,o,s){if(0===arguments.length)return this;M();var c,l,u=[];return f.isPlainObject(o)?t&&t.length?(f.each(t,function(){(c=this)!==n&&u.push(C(c,o,s,r,i))}),l=u.length>1?u:u[0]):l=C(t,o,s,r,i):t&&(t.length&&t.length>0?(f.each(t,function(){c=h(this),"!"===o?c instanceof e[a]&&u.push(c):u.push(c)}),l=u.length>1?u:u[0]):l=h(t)),l},e[a].globals=function(){M();var e=f.extend(!0,{},r);return delete e.msie,e},e[a].defaultOptions=function(e){M();var t=r.defaultOptions;if(e===n)return f.extend(!0,{},t);r.defaultOptions=f.extend(!0,{},t,A.v(e,A.t,!0))},e[a].extension=function(e,t,n){var r=l.type(e)==s.s,i=arguments[c.l],o=0;if(i<1||!r)return f.extend(!0,{length:z[c.l]},z);if(r)if(l.type(t)==s.f)z.push({name:e,extension:t,defaultOptions:n});else for(;o1))return f.extend(!0,{},z[o]);z.splice(o,1)}},e[a]}();return u&&u.fn&&(u.fn.overlayScrollbars=function(e,t){var n=this;return u.isPlainObject(e)?(u.each(n,function(){d(this,e,t)}),n):d(n,e)}),d});
\ No newline at end of file
diff --git a/package.json b/package.json
index 76b2666..0002621 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "overlayscrollbars",
- "version": "1.5.2",
+ "version": "1.5.3",
"description": "A javascript scrollbar plugin which hides the native scrollbars and provides custom styleable overlay scrollbars, but keeps the native functionality and feeling.",
"keywords" : [
"overlayscrollbars",